replaywebpage 2.0.0-beta.2 → 2.0.0-beta.3
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/README.md +33 -21
- package/adblock/adblock.gz +0 -0
- package/dist/electron.js +1 -1
- package/dist/types/appmain.d.ts.map +1 -1
- package/dist/types/embed.d.ts +2 -0
- package/dist/types/embed.d.ts.map +1 -1
- package/dist/types/item.d.ts +1 -0
- package/dist/types/item.d.ts.map +1 -1
- package/package.json +5 -4
- package/src/appmain.ts +5 -0
- package/src/electron-main.ts +1 -1
- package/src/embed.ts +10 -0
- package/src/item.ts +1 -0
- package/sw.js +7 -7
- package/ui.js +4 -4
package/sw.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
/*! sw.js (wabac.js 2.17.3) is part of Webrecorder project. Copyright (C) 2020-2024, Webrecorder Software. Licensed under the Affero General Public License v3. */(()=>{var t={9742:(t,e)=>{"use strict";e.byteLength=function(t){var e=c(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){var e,r,s=c(t),o=s[0],a=s[1],l=new n(function(t,e,r){return 3*(e+r)/4-r}(0,o,a)),h=0,u=a>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===a&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[h++]=255&e),1===a&&(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,c=i-n;a<c;a+=o)s.push(l(t,a,a+o>c?c: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,a=s.length;o<a;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function c(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 l(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]),m=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 w(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 y(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 _(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 v(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),m=32,w=0,y=[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&&m>0;++f){var b,A=d[f],_=0;i.fillBitWindow(),_+=i.val_>>>i.bit_pos_&15,i.bit_pos_+=y[_].bits,b=y[_].value,g[A]=b,0!==b&&(m-=32>>b,++w)}if(1!==w&&0!==m)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,m,w=d-14,y=0;if(16===d&&(y=s),l!==y&&(o=0,l=y),g=o,o>0&&(o-=2,o<<=w),n+(m=(o+=i.readBits(w)+3)-g)>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var b=0;b<m;b++)r[n+b]=l;n+=m,0!==l&&(h-=m<<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=_(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 T(t,e){for(var r=t[e],i=e;i;--i)t[i]=t[i-1];t[0]=r}function x(t,e){this.alphabet_size=t,this.num_htrees=e,this.codes=new Array(e+e*m[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=y(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(v(o+s,r,0,e),i=0;i<t;){var l;if(e.readMoreInput(),0===(l=_(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&&T(i,n)}}(c,t),n}function I(t,e,r,i,n,s,o){var a,c=2*r,l=r,h=_(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 w(r),A(r).meta_block_length}function O(t,e){var r,i,n,c,d,f,g,m,b,T,N=0,O=0,B=0,P=[16,15,11,4],L=0,D=0,U=0,M=[new x(0,0),new x(0,0),new x(0,0)],F=128+s.READ_SIZE;n=(1<<(i=w(T=new s(t))))-16,d=(c=1<<i)-1,f=new Uint8Array(c+F+o.maxDictionaryWordLength),g=c,m=[],b=[];for(var H=0;H<3240;H++)m[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;T.readMoreInput();var ut=A(T);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(T);Z>0;--Z)T.readMoreInput(),T.readBits(8);else if(0!==Z)if(W)T.bit_pos_=T.bit_pos_+7&-8,R(e,Z,N,f,d,T),N+=Z;else{for(r=0;r<3;++r)et[r]=y(T)+1,et[r]>=2&&(v(et[r]+2,m,r*p,T),v(26,b,r*p,T),$[r]=E(b,r*p,T),it[r]=1);for(T.readMoreInput(),G=(1<<(j=T.readBits(2)))-1,z=(V=16+(T.readBits(4)<<j))+(48<<j),nt=new Uint8Array(et[0]),r=0;r<et[0];++r)T.readMoreInput(),nt[r]=T.readBits(2)<<1;var dt=C(et[0]<<6,T);Q=dt.num_htrees,q=dt.context_map;var ft=C(et[2]<<2,T);for(Y=ft.num_htrees,K=ft.context_map,M[0]=new x(256,Q),M[1]=new x(704,et[1]),M[2]=new x(z,Y),r=0;r<3;++r)M[r].decode(T);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,mt,wt,yt,bt,At,_t,vt,Et,St,Tt,xt;for(T.readMoreInput(),0===$[1]&&(I(et[1],m,1,tt,rt,it,T),$[1]=E(b,p,T),X=M[1].htrees[tt[1]]),--$[1],(mt=(gt=_(M[1].codes,X,T))>>6)>=2?(mt-=2,_t=-1):_t=0,wt=h.kInsertRangeLut[mt]+(gt>>3&7),yt=h.kCopyRangeLut[mt]+(7>),bt=h.kInsertLengthPrefixCode[wt].offset+T.readBits(h.kInsertLengthPrefixCode[wt].nbits),At=h.kCopyLengthPrefixCode[yt].offset+T.readBits(h.kCopyLengthPrefixCode[yt].nbits),D=f[N-1&d],U=f[N-2&d],Et=0;Et<bt;++Et)T.readMoreInput(),0===$[0]&&(I(et[0],m,0,tt,rt,it,T),$[0]=E(b,0,T),st=tt[0]<<6,J=nt[tt[0]],lt=l.lookupOffsets[J],ht=l.lookupOffsets[J+1]),ot=q[st+(l.lookup[lt+D]|l.lookup[ht+U])],--$[0],U=D,D=_(M[0].codes,M[0].htrees[ot],T),f[N&d]=D,(N&d)===d&&e.write(f,c),++N;if((Z-=bt)<=0)break;if(_t<0&&(T.readMoreInput(),0===$[2]&&(I(et[2],m,2,tt,rt,it,T),$[2]=E(b,2160,T),at=tt[2]<<2),--$[2],ct=K[at+(255&(At>4?3:At-2))],(_t=_(M[2].codes,M[2].htrees[ct],T))>=V&&(xt=(_t-=V)&G,_t=V+((Ct=(2+(1&(_t>>=j))<<(Tt=1+(_t>>1)))-4)+T.readBits(Tt)<<j)+xt)),(vt=S(_t,P,L))<0)throw new Error("[BrotliDecompress] invalid distance");if(St=N&d,vt>(B=N<n&&B!==n?N:n)){if(!(At>=o.minDictionaryWordLength&&At<=o.maxDictionaryWordLength))throw new Error("Invalid backward reference. pos: "+N+" distance: "+vt+" len: "+At+" bytes left: "+Z);var Ct=o.offsetsByLength[At],It=vt-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: "+vt+" 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(_t>0&&(P[3&L]=vt,++L),At>Z)throw new Error("Invalid backward reference. pos: "+N+" distance: "+vt+" len: "+At+" bytes left: "+Z);for(Et=0;Et<At;++Et)f[N&d]=f[N-vt&d],(N&d)===d&&e.write(f,c),++N,--Z}D=f[N-1&d],U=f[N-2&d]}N&=1073741823}}e.write(f,N&d)}x.prototype.decode=function(t){var e,r=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=r,r+=v(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,m,w,y,b=e,A=new Int32Array(16),_=new Int32Array(16);for(y=new Int32Array(c),h=0;h<c;h++)A[a[h]]++;for(_[1]=0,l=1;l<15;l++)_[l+1]=_[l]+A[l];for(h=0;h<c;h++)0!==a[h]&&(y[_[a[h]]++]=h);if(w=m=1<<(g=o),1===_[15]){for(u=0;u<w;++u)t[e+u]=new r(0,65535&y[0]);return w}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,m,new r(255&l,65535&y[h++])),u=i(u,l);for(f=w-1,d=-1,l=o+1,p=2;l<=15;++l,p<<=1)for(;A[l]>0;--A[l])(u&f)!==d&&(e+=m,w+=m=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,m,new r(l-o&255,65535&y[h++])),u=i(u,l);return w}},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,m=e;f>o&&(f=o);for(var w=0;w<u.length;)t[e++]=u[w++];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 y=c(t,h);h+=y,o-=y}for(var b=0;b<p.length;)t[e++]=p[b++];return e-m}},7709:(t,e,r)=>{t.exports=r(6450).BrotliDecompressBuffer},4789:(t,e)=>{"use strict";e.byteLength=function(t){var e=c(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){for(var e,r=c(t),s=r[0],o=r[1],a=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)],a[l++]=e>>16&255,a[l++]=e>>8&255,a[l++]=255&e;return 2===o&&(e=i[t.charCodeAt(u)]<<2|i[t.charCodeAt(u+1)]>>4,a[l++]=255&e),1===o&&(e=i[t.charCodeAt(u)]<<10|i[t.charCodeAt(u+1)]<<4|i[t.charCodeAt(u+2)]>>2,a[l++]=e>>8&255,a[l++]=255&e),a},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,c=i-n;a<c;a+=o)s.push(l(t,a,a+o>c?c: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,a=s.length;o<a;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function c(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 l(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)=>{"use strict";
|
|
1
|
+
/*! sw.js (wabac.js 2.18.0) is part of Webrecorder project. Copyright (C) 2020-2024, Webrecorder Software. Licensed under the Affero General Public License v3. */(()=>{var t={9742:(t,e)=>{"use strict";e.byteLength=function(t){var e=c(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){var e,r,s=c(t),o=s[0],a=s[1],l=new n(function(t,e,r){return 3*(e+r)/4-r}(0,o,a)),h=0,u=a>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===a&&(e=i[t.charCodeAt(r)]<<2|i[t.charCodeAt(r+1)]>>4,l[h++]=255&e),1===a&&(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,c=i-n;a<c;a+=o)s.push(l(t,a,a+o>c?c: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,a=s.length;o<a;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function c(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 l(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]),m=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 w(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 y(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 _(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 v(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),m=32,w=0,y=[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&&m>0;++f){var b,A=d[f],_=0;i.fillBitWindow(),_+=i.val_>>>i.bit_pos_&15,i.bit_pos_+=y[_].bits,b=y[_].value,g[A]=b,0!==b&&(m-=32>>b,++w)}if(1!==w&&0!==m)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,m,w=d-14,y=0;if(16===d&&(y=s),l!==y&&(o=0,l=y),g=o,o>0&&(o-=2,o<<=w),n+(m=(o+=i.readBits(w)+3)-g)>e)throw new Error("[ReadHuffmanCodeLengths] symbol + repeat_delta > num_symbols");for(var b=0;b<m;b++)r[n+b]=l;n+=m,0!==l&&(h-=m<<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=_(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 T(t,e){for(var r=t[e],i=e;i;--i)t[i]=t[i-1];t[0]=r}function x(t,e){this.alphabet_size=t,this.num_htrees=e,this.codes=new Array(e+e*m[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=y(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(v(o+s,r,0,e),i=0;i<t;){var l;if(e.readMoreInput(),0===(l=_(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&&T(i,n)}}(c,t),n}function I(t,e,r,i,n,s,o){var a,c=2*r,l=r,h=_(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 w(r),A(r).meta_block_length}function O(t,e){var r,i,n,c,d,f,g,m,b,T,N=0,O=0,B=0,P=[16,15,11,4],L=0,D=0,U=0,M=[new x(0,0),new x(0,0),new x(0,0)],F=128+s.READ_SIZE;n=(1<<(i=w(T=new s(t))))-16,d=(c=1<<i)-1,f=new Uint8Array(c+F+o.maxDictionaryWordLength),g=c,m=[],b=[];for(var H=0;H<3240;H++)m[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;T.readMoreInput();var ut=A(T);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(T);Z>0;--Z)T.readMoreInput(),T.readBits(8);else if(0!==Z)if(W)T.bit_pos_=T.bit_pos_+7&-8,R(e,Z,N,f,d,T),N+=Z;else{for(r=0;r<3;++r)et[r]=y(T)+1,et[r]>=2&&(v(et[r]+2,m,r*p,T),v(26,b,r*p,T),$[r]=E(b,r*p,T),it[r]=1);for(T.readMoreInput(),G=(1<<(j=T.readBits(2)))-1,z=(V=16+(T.readBits(4)<<j))+(48<<j),nt=new Uint8Array(et[0]),r=0;r<et[0];++r)T.readMoreInput(),nt[r]=T.readBits(2)<<1;var dt=C(et[0]<<6,T);Q=dt.num_htrees,q=dt.context_map;var ft=C(et[2]<<2,T);for(Y=ft.num_htrees,K=ft.context_map,M[0]=new x(256,Q),M[1]=new x(704,et[1]),M[2]=new x(z,Y),r=0;r<3;++r)M[r].decode(T);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,mt,wt,yt,bt,At,_t,vt,Et,St,Tt,xt;for(T.readMoreInput(),0===$[1]&&(I(et[1],m,1,tt,rt,it,T),$[1]=E(b,p,T),X=M[1].htrees[tt[1]]),--$[1],(mt=(gt=_(M[1].codes,X,T))>>6)>=2?(mt-=2,_t=-1):_t=0,wt=h.kInsertRangeLut[mt]+(gt>>3&7),yt=h.kCopyRangeLut[mt]+(7>),bt=h.kInsertLengthPrefixCode[wt].offset+T.readBits(h.kInsertLengthPrefixCode[wt].nbits),At=h.kCopyLengthPrefixCode[yt].offset+T.readBits(h.kCopyLengthPrefixCode[yt].nbits),D=f[N-1&d],U=f[N-2&d],Et=0;Et<bt;++Et)T.readMoreInput(),0===$[0]&&(I(et[0],m,0,tt,rt,it,T),$[0]=E(b,0,T),st=tt[0]<<6,J=nt[tt[0]],lt=l.lookupOffsets[J],ht=l.lookupOffsets[J+1]),ot=q[st+(l.lookup[lt+D]|l.lookup[ht+U])],--$[0],U=D,D=_(M[0].codes,M[0].htrees[ot],T),f[N&d]=D,(N&d)===d&&e.write(f,c),++N;if((Z-=bt)<=0)break;if(_t<0&&(T.readMoreInput(),0===$[2]&&(I(et[2],m,2,tt,rt,it,T),$[2]=E(b,2160,T),at=tt[2]<<2),--$[2],ct=K[at+(255&(At>4?3:At-2))],(_t=_(M[2].codes,M[2].htrees[ct],T))>=V&&(xt=(_t-=V)&G,_t=V+((Ct=(2+(1&(_t>>=j))<<(Tt=1+(_t>>1)))-4)+T.readBits(Tt)<<j)+xt)),(vt=S(_t,P,L))<0)throw new Error("[BrotliDecompress] invalid distance");if(St=N&d,vt>(B=N<n&&B!==n?N:n)){if(!(At>=o.minDictionaryWordLength&&At<=o.maxDictionaryWordLength))throw new Error("Invalid backward reference. pos: "+N+" distance: "+vt+" len: "+At+" bytes left: "+Z);var Ct=o.offsetsByLength[At],It=vt-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: "+vt+" 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(_t>0&&(P[3&L]=vt,++L),At>Z)throw new Error("Invalid backward reference. pos: "+N+" distance: "+vt+" len: "+At+" bytes left: "+Z);for(Et=0;Et<At;++Et)f[N&d]=f[N-vt&d],(N&d)===d&&e.write(f,c),++N,--Z}D=f[N-1&d],U=f[N-2&d]}N&=1073741823}}e.write(f,N&d)}x.prototype.decode=function(t){var e,r=0;for(e=0;e<this.num_htrees;++e)this.htrees[e]=r,r+=v(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="W5/fcQLn5gKf2XUbAiQ1XULX+TZz6ADToDsgqk6qVfeC0e4m6OO2wcQ1J76ZBVRV1fRkEsdu//62zQsFEZWSTCnMhcsQKlS2qOhuVYYMGCkV0fXWEoMFbESXrKEZ9wdUEsyw9g4bJlEt1Y6oVMxMRTEVbCIwZzJzboK5j8m4YH02qgXYhv1V+PM435sLVxyHJihaJREEhZGqL03txGFQLm76caGO/ovxKvzCby/3vMTtX/459f0igi7WutnKiMQ6wODSoRh/8Lx1V3Q99MvKtwB6bHdERYRY0hStJoMjNeTsNX7bn+Y7e4EQ3bf8xBc7L0BsyfFPK43dGSXpL6clYC/I328h54/VYrQ5i0648FgbGtl837svJ35L3Mot/+nPlNpWgKx1gGXQYqX6n+bbZ7wuyCHKcUok12Xjqub7NXZGzqBx0SD+uziNf87t7ve42jxSKQoW3nyxVrWIGlFShhCKxjpZZ5MeGna0+lBkk+kaN8F9qFBAFgEogyMBdcX/T1W/WnMOi/7ycWUQloEBKGeC48MkiwqJkJO+12eQiOFHMmck6q/IjWW3RZlany23TBm+cNr/84/oi5GGmGBZWrZ6j+zykVozz5fT/QH/Da6WTbZYYPynVNO7kxzuNN2kxKKWche5WveitPKAecB8YcAHz/+zXLjcLzkdDSktNIDwZE9J9X+tto43oJy65wApM3mDzYtCwX9lM+N5VR3kXYo0Z3t0TtXfgBFg7gU8oN0Dgl7fZlUbhNll+0uuohRVKjrEd8egrSndy5/Tgd2gqjA4CAVuC7ESUmL3DZoGnfhQV8uwnpi8EGvAVVsowNRxPudck7+oqAUDkwZopWqFnW1riss0t1z6iCISVKreYGNvQcXv+1L9+jbP8cd/dPUiqBso2q+7ZyFBvENCkkVr44iyPbtOoOoCecWsiuqMSML5lv+vN5MzUr+Dnh73G7Q1YnRYJVYXHRJaNAOByiaK6CusgFdBPE40r0rvqXV7tksKO2DrHYXBTv8P5ysqxEx8VDXUDDqkPH6NNOV/a2WH8zlkXRELSa8P+heNyJBBP7PgsG1EtWtNef6/i+lcayzQwQCsduidpbKfhWUDgAEmyhGu/zVTacI6RS0zTABrOYueemnVa19u9fT23N/Ta6RvTpof5DWygqreCqrDAgM4LID1+1T/taU6yTFVLqXOv+/MuQOFnaF8vLMKD7tKWDoBdALgxF33zQccCcdHx8fKIVdW69O7qHtXpeGr9jbbpFA+qRMWr5hp0s67FPc7HAiLV0g0/peZlW7hJPYEhZyhpSwahnf93/tZgfqZWXFdmdXBzqxGHLrQKxoAY6fRoBhgCRPmmGueYZ5JexTVDKUIXzkG/fqp/0U3hAgQdJ9zumutK6nqWbaqvm1pgu03IYR+G+8s0jDBBz8cApZFSBeuWasyqo2OMDKAZCozS+GWSvL/HsE9rHxooe17U3s/lTE+VZAk4j3dp6uIGaC0JMiqR5CUsabPyM0dOYDR7Ea7ip4USZlya38YfPtvrX/tBlhHilj55nZ1nfN24AOAi9BVtz/Mbn8AEDJCqJgsVUa6nQnSxv2Fs7l/NlCzpfYEjmPrNyib/+t0ei2eEMjvNhLkHCZlci4WhBe7ePZTmzYqlY9+1pxtS4GB+5lM1BHT9tS270EWUDYFq1I0yY/fNiAk4bk9yBgmef/f2k6AlYQZHsNFnW8wBQxCd68iWv7/35bXfz3JZmfGligWAKRjIs3IpzxQ27vAglHSiOzCYzJ9L9A1CdiyFvyR66ucA4jKifu5ehwER26yV7HjKqn5Mfozo7Coxxt8LWWPT47BeMxX8p0Pjb7hZn+6bw7z3Lw+7653j5sI8CLu5kThpMlj1m4c2ch3jGcP1FsT13vuK3qjecKTZk2kHcOZY40UX+qdaxstZqsqQqgXz+QGF99ZJLqr3VYu4aecl1Ab5GmqS8k/GV5b95zxQ5d4EfXUJ6kTS/CXF/aiqKDOT1T7Jz5z0PwDUcwr9clLN1OJGCiKfqvah+h3XzrBOiLOW8wvn8gW6qE8vPxi+Efv+UH55T7PQFVMh6cZ1pZQlzJpKZ7P7uWvwPGJ6DTlR6wbyj3Iv2HyefnRo/dv7dNx+qaa0N38iBsR++Uil7Wd4afwDNsrzDAK4fXZwvEY/jdKuIKXlfrQd2C39dW7ntnRbIp9OtGy9pPBn/V2ASoi/2UJZfS+xuGLH8bnLuPlzdTNS6zdyk8Dt/h6sfOW5myxh1f+zf3zZ3MX/mO9cQPp5pOx967ZA6/pqHvclNfnUFF+rq+Vd7alKr6KWPcIDhpn6v2K6NlUu6LrKo8b/pYpU/Gazfvtwhn7tEOUuXht5rUJdSf6sLjYf0VTYDgwJ81yaqKTUYej/tbHckSRb/HZicwGJqh1mAHB/IuNs9dc9yuvF3D5Xocm3elWFdq5oEy70dYFit79yaLiNjPj5UUcVmZUVhQEhW5V2Z6Cm4HVH/R8qlamRYwBileuh07CbEce3TXa2JmXWBf+ozt319psboobeZhVnwhMZzOeQJzhpTDbP71Tv8HuZxxUI/+ma3XW6DFDDs4+qmpERwHGBd2edxwUKlODRdUWZ/g0GOezrbzOZauFMai4QU6GVHV6aPNBiBndHSsV4IzpvUiiYyg6OyyrL4Dj5q/Lw3N5kAwftEVl9rNd7Jk5PDij2hTH6wIXnsyXkKePxbmHYgC8A6an5Fob/KH5GtC0l4eFso+VpxedtJHdHpNm+Bvy4C79yVOkrZsLrQ3OHCeB0Ra+kBIRldUGlDCEmq2RwXnfyh6Dz+alk6eftI2n6sastRrGwbwszBeDRS/Fa/KwRJkCzTsLr/JCs5hOPE/MPLYdZ1F1fv7D+VmysX6NpOC8aU9F4Qs6HvDyUy9PvFGDKZ/P5101TYHFl8pjj6wm/qyS75etZhhfg0UEL4OYmHk6m6dO192AzoIyPSV9QedDA4Ml23rRbqxMPMxf7FJnDc5FTElVS/PyqgePzmwVZ26NWhRDQ+oaT7ly7ell4s3DypS1s0g+tOr7XHrrkZj9+x/mJBttrLx98lFIaRZzHz4aC7r52/JQ4VjHahY2/YVXZn/QC2ztQb/sY3uRlyc5vQS8nLPGT/n27495i8HPA152z7Fh5aFpyn1GPJKHuPL8Iw94DuW3KjkURAWZXn4EQy89xiKEHN1mk/tkM4gYDBxwNoYvRfE6LFqsxWJtPrDGbsnLMap3Ka3MUoytW0cvieozOmdERmhcqzG+3HmZv2yZeiIeQTKGdRT4HHNxekm1tY+/n06rGmFleqLscSERzctTKM6G9P0Pc1RmVvrascIxaO1CQCiYPE15bD7c3xSeW7gXxYjgxcrUlcbIvO0r+Yplhx0kTt3qafDOmFyMjgGxXu73rddMHpV1wMubyAGcf/v5dLr5P72Ta9lBF+fzMJrMycwv+9vnU3ANIl1cH9tfW7af8u0/HG0vV47jNFXzFTtaha1xvze/s8KMtCYucXc1nzfd/MQydUXn/b72RBt5wO/3jRcMH9BdhC/yctKBIveRYPrNpDWqBsO8VMmP+WvRaOcA4zRMR1PvSoO92rS7pYEv+fZfEfTMzEdM+6X5tLlyxExhqLRkms5EuLovLfx66de5fL2/yX02H52FPVwahrPqmN/E0oVXnsCKhbi/yRxX83nRbUKWhzYceXOntfuXn51NszJ6MO73pQf5Pl4in3ec4JU8hF7ppV34+mm9r1LY0ee/i1O1wpd8+zfLztE0cqBxggiBi5Bu95v9l3r9r/U5hweLn+TbfxowrWDqdJauKd8+q/dH8sbPkc9ttuyO94f7/XK/nHX46MPFLEb5qQlNPvhJ50/59t9ft3LXu7uVaWaO2bDrDCnRSzZyWvFKxO1+vT8MwwunR3bX0CkfPjqb4K9O19tn5X50PvmYpEwHtiW9WtzuV/s76B1zvLLNkViNd8ySxIl/3orfqP90TyTGaf7/rx8jQzeHJXdmh/N6YDvbvmTBwCdxfEQ1NcL6wNMdSIXNq7b1EUzRy1/Axsyk5p22GMG1b+GxFgbHErZh92wuvco0AuOLXct9hvw2nw/LqIcDRRmJmmZzcgUa7JpM/WV/S9IUfbF56TL2orzqwebdRD8nIYNJ41D/hz37Fo11p2Y21wzPcn713qVGhqtevStYfGH4n69OEJtPvbbLYWvscDqc3Hgnu166+tAyLnxrX0Y5zoYjV++1sI7t5kMr02KT/+uwtkc+rZLOf/qn/s3nYCf13Dg8/sB2diJgjGqjQ+TLhxbzyue2Ob7X6/9lUwW7a+lbznHzOYy8LKW1C/uRPbQY3KW/0gO9LXunHLvPL97afba9bFtc9hmz7GAttjVYlCvQAiOwAk/gC5+hkLEs6tr3AZKxLJtOEwk2dLxTYWsIB/j/ToWtIWzo906FrSG8iaqqqqqqiIiIiAgzMzMzNz+AyK+01/zi8n8S+Y1MjoRaQ80WU/G8MBlO+53VPXANrWm4wzGUVZUjjBJZVdhpcfkjsmcWaO+UEldXi1e+zq+HOsCpknYshuh8pOLISJun7TN0EIGW2xTnlOImeecnoGW4raxe2G1T3HEvfYUYMhG+gAFOAwh5nK8mZhwJMmN7r224QVsNFvZ87Z0qatvknklyPDK3Hy45PgVKXji52Wen4d4PlFVVYGnNap+fSpFbK90rYnhUc6n91Q3AY9E0tJOFrcfZtm/491XbcG/jsViUPPX76qmeuiz+qY1Hk7/1VPM405zWVuoheLUimpWYdVzCmUdKHebMdzgrYrb8mL2eeLSnRWHdonfZa8RsOU9F37w+591l5FLYHiOqWeHtE/lWrBHcRKp3uhtr8yXm8LU/5ms+NM6ZKsqu90cFZ4o58+k4rdrtB97NADFbwmEG7lXqvirhOTOqU14xuUF2myIjURcPHrPOQ4lmM3PeMg7bUuk0nnZi67bXsU6H8lhqIo8TaOrEafCO1ARK9PjC0QOoq2BxmMdgYB9G/lIb9++fqNJ2s7BHGFyBNmZAR8J3KCo012ikaSP8BCrf6VI0X5xdnbhHIO+B5rbOyB54zXkzfObyJ4ecwxfqBJMLFc7m59rNcw7hoHnFZ0b00zee+gTqvjm61Pb4xn0kcDX4jvHM0rBXZypG3DCKnD/Waa/ZtHmtFPgO5eETx+k7RrVg3aSwm2YoNXnCs3XPQDhNn+Fia6IlOOuIG6VJH7TP6ava26ehKHQa2T4N0tcZ9dPCGo3ZdnNltsHQbeYt5vPnJezV/cAeNypdml1vCHI8M81nSRP5Qi2+mI8v/sxiZru9187nRtp3f/42NemcONa+4eVC3PCZzc88aZh851CqSsshe70uPxeN/dmYwlwb3trwMrN1Gq8jbnApcVDx/yDPeYs5/7r62tsQ6lLg+DiFXTEhzR9dHqv0iT4tgj825W+H3XiRUNUZT2kR9Ri0+lp+UM3iQtS8uOE23Ly4KYtvqH13jghUntJRAewuzNLDXp8RxdcaA3cMY6TO2IeSFRXezeWIjCqyhsUdMYuCgYTZSKpBype1zRfq8FshvfBPc6BAQWl7/QxIDp3VGo1J3vn42OEs3qznws+YLRXbymyB19a9XBx6n/owcyxlEYyFWCi+kG9F+EyD/4yn80+agaZ9P7ay2Dny99aK2o91FkfEOY8hBwyfi5uwx2y5SaHmG+oq/zl1FX/8irOf8Y3vAcX/6uLP6A6nvMO24edSGPjQc827Rw2atX+z2bKq0CmW9mOtYnr5/AfDa1ZfPaXnKtlWborup7QYx+Or2uWb+N3N//2+yDcXMqIJdf55xl7/vsj4WoPPlxLxtVrkJ4w/tTe3mLdATOOYwxcq52w5Wxz5MbPdVs5O8/lhfE7dPj0bIiPQ3QV0iqm4m3YX8hRfc6jQ3fWepevMqUDJd86Z4vwM40CWHnn+WphsGHfieF02D3tmZvpWD+kBpNCFcLnZhcmmrhpGzzbdA+sQ1ar18OJD87IOKOFoRNznaHPNHUfUNhvY1iU+uhvEvpKHaUn3qK3exVVyX4joipp3um7FmYJWmA+WbIDshRpbVRx5/nqstCgy87FGbfVB8yDGCqS+2qCsnRwnSAN6zgzxfdB2nBT/vZ4/6uxb6oH8b4VBRxiIB93wLa47hG3w2SL/2Z27yOXJFwZpSJaBYyvajA7vRRYNKqljXKpt/CFD/tSMr18DKKbwB0xggBePatl1nki0yvqW5zchlyZmJ0OTxJ3D+fsYJs/mxYN5+Le5oagtcl+YsVvy8kSjI2YGvGjvmpkRS9W2dtXqWnVuxUhURm1lKtou/hdEq19VBp9OjGvHEQSmrpuf2R24mXGheil8KeiANY8fW1VERUfBImb64j12caBZmRViZHbeVMjCrPDg9A90IXrtnsYCuZtRQ0PyrKDjBNOsPfKsg1pA02gHlVr0OXiFhtp6nJqXVzcbfM0KnzC3ggOENPE9VBdmHKN6LYaijb4wXxJn5A0FSDF5j+h1ooZx885Jt3ZKzO5n7Z5WfNEOtyyPqQEnn7WLv5Fis3PdgMshjF1FRydbNyeBbyKI1oN1TRVrVK7kgsb/zjX4NDPIRMctVeaxVB38Vh1x5KbeJbU138AM5KzmZu3uny0ErygxiJF7GVXUrPzFxrlx1uFdAaZFDN9cvIb74qD9tzBMo7L7WIEYK+sla1DVMHpF0F7b3+Y6S+zjvLeDMCpapmJo1weBWuxKF3rOocih1gun4BoJh1kWnV/Jmiq6uOhK3VfKxEHEkafjLgK3oujaPzY6SXg8phhL4TNR1xvJd1Wa0aYFfPUMLrNBDCh4AuGRTbtKMc6Z1Udj8evY/ZpCuMAUefdo69DZUngoqE1P9A3PJfOf7WixCEj+Y6t7fYeHbbxUAoFV3M89cCKfma3fc1+jKRe7MFWEbQqEfyzO2x/wrO2VYH7iYdQ9BkPyI8/3kXBpLaCpU7eC0Yv/am/tEDu7HZpqg0EvHo0nf/R/gRzUWy33/HXMJQeu1GylKmOkXzlCfGFruAcPPhaGqZOtu19zsJ1SO2Jz4Ztth5cBX6mRQwWmDwryG9FUMlZzNckMdK+IoMJv1rOWnBamS2w2KHiaPMPLC15hCZm4KTpoZyj4E2TqC/P6r7/EhnDMhKicZZ1ZwxuC7DPzDGs53q8gXaI9kFTK+2LTq7bhwsTbrMV8Rsfua5lMS0FwbTitUVnVa1yTb5IX51mmYnUcP9wPr8Ji1tiYJeJV9GZTrQhF7vvdU2OTU42ogJ9FDwhmycI2LIg++03C6scYhUyUuMV5tkw6kGUoL+mjNC38+wMdWNljn6tGPpRES7veqrSn5TRuv+dh6JVL/iDHU1db4c9WK3++OrH3PqziF916UMUKn8G67nN60GfWiHrXYhUG3yVWmyYak59NHj8t1smG4UDiWz2rPHNrKnN4Zo1LBbr2/eF9YZ0n0blx2nG4X+EKFxvS3W28JESD+FWk61VCD3z/URGHiJl++7TdBwkCj6tGOH3qDb0QqcOF9Kzpj0HUb/KyFW3Yhj2VMKJqGZleFBH7vqvf7WqLC3XMuHV8q8a4sTFuxUtkD/6JIBvKaVjv96ndgruKZ1k/BHzqf2K9fLk7HGXANyLDd1vxkK/i055pnzl+zw6zLnwXlVYVtfmacJgEpRP1hbGgrYPVN6v2lG+idQNGmwcKXu/8xEj/P6qe/sB2WmwNp6pp8jaISMkwdleFXYK55NHWLTTbutSUqjBfDGWo/Yg918qQ+8BRZSAHZbfuNZz2O0sov1Ue4CWlVg3rFhM3Kljj9ksGd/NUhk4nH+a5UN2+1i8+NM3vRNp7uQ6sqexSCukEVlVZriHNqFi5rLm9TMWa4qm3idJqppQACol2l4VSuvWLfta4JcXy3bROPNbXOgdOhG47LC0CwW/dMlSx4Jf17aEU3yA1x9p+Yc0jupXgcMuYNku64iYOkGToVDuJvlbEKlJqsmiHbvNrIVZEH+yFdF8DbleZ6iNiWwMqvtMp/mSpwx5KxRrT9p3MAPTHGtMbfvdFhyj9vhaKcn3At8Lc16Ai+vBcSp1ztXi7rCJZx/ql7TXcclq6Q76UeKWDy9boS0WHIjUuWhPG8LBmW5y2rhuTpM5vsLt+HOLh1Yf0DqXa9tsfC+kaKt2htA0ai/L2i7RKoNjEwztkmRU0GfgW1TxUvPFhg0V7DdfWJk5gfrccpYv+MA9M0dkGTLECeYwUixRzjRFdmjG7zdZIl3XKB9YliNKI31lfa7i2JG5C8Ss+rHe0D7Z696/V3DEAOWHnQ9yNahMUl5kENWS6pHKKp2D1BaSrrHdE1w2qNxIztpXgUIrF0bm15YML4b6V1k+GpNysTahKMVrrS85lTVo9OGJ96I47eAy5rYWpRf/mIzeoYU1DKaQCTUVwrhHeyNoDqHel+lLxr9WKzhSYw7vrR6+V5q0pfi2k3L1zqkubY6rrd9ZLvSuWNf0uqnkY+FpTvFzSW9Fp0b9l8JA7THV9eCi/PY/SCZIUYx3BU2alj7Cm3VV6eYpios4b6WuNOJdYXUK3zTqj5CVG2FqYM4Z7CuIU0qO05XR0d71FHM0YhZmJmTRfLlXEumN82BGtzdX0S19t1e+bUieK8zRmqpa4Qc5TSjifmaQsY2ETLjhI36gMR1+7qpjdXXHiceUekfBaucHShAOiFXmv3sNmGQyU5iVgnoocuonQXEPTFwslHtS8R+A47StI9wj0iSrtbi5rMysczFiImsQ+bdFClnFjjpXXwMy6O7qfjOr8Fb0a7ODItisjnn3EQO16+ypd1cwyaAW5Yzxz5QknfMO7643fXW/I9y3U2xH27Oapqr56Z/tEzglj6IbT6HEHjopiXqeRbe5mQQvxtcbDOVverN0ZgMdzqRYRjaXtMRd56Q4cZSmdPvZJdSrhJ1D9zNXPqAEqPIavPdfubt5oke2kmv0dztIszSv2VYuoyf1UuopbsYb+uX9h6WpwjpgtZ6fNNawNJ4q8O3CFoSbioAaOSZMx2GYaPYB+rEb6qjQiNRFQ76TvwNFVKD+BhH9VhcKGsXzmMI7BptU/CNWolM7YzROvpFAntsiWJp6eR2d3GarcYShVYSUqhmYOWj5E96NK2WvmYNTeY7Zs4RUEdv9h9QT4EseKt6LzLrqEOs3hxAY1MaNWpSa6zZx8F3YOVeCYMS88W+CYHDuWe4yoc6YK+djDuEOrBR5lvh0r+Q9uM88lrjx9x9AtgpQVNE8r+3O6Gvw59D+kBF/UMXyhliYUtPjmvXGY6Dk3x+kEOW+GtdMVC4EZTqoS/jmR0P0LS75DOc/w2vnri97M4SdbZ8qeU7gg8DVbERkU5geaMQO3mYrSYyAngeUQqrN0C0/vsFmcgWNXNeidsTAj7/4MncJR0caaBUpbLK1yBCBNRjEv6KvuVSdpPnEMJdsRRtqJ+U8tN1gXA4ePHc6ZT0eviI73UOJF0fEZ8YaneAQqQdGphNvwM4nIqPnXxV0xA0fnCT+oAhJuyw/q8jO0y8CjSteZExwBpIN6SvNp6A5G/abi6egeND/1GTguhuNjaUbbnSbGd4L8937Ezm34Eyi6n1maeOBxh3PI0jzJDf5mh/BsLD7F2GOKvlA/5gtvxI3/eV4sLfKW5Wy+oio+es/u6T8UU+nsofy57Icb/JlZHPFtCgd/x+bwt3ZT+xXTtTtTrGAb4QehC6X9G+8YT+ozcLxDsdCjsuOqwPFnrdLYaFc92Ui0m4fr39lYmlCaqTit7G6O/3kWDkgtXjNH4BiEm/+jegQnihOtfffn33WxsFjhfMd48HT+f6o6X65j7XR8WLSHMFkxbvOYsrRsF1bowDuSQ18Mkxk4qz2zoGPL5fu9h2Hqmt1asl3Q3Yu3szOc+spiCmX4AETBM3pLoTYSp3sVxahyhL8eC4mPN9k2x3o0xkiixIzM3CZFzf5oR4mecQ5+ax2wCah3/crmnHoqR0+KMaOPxRif1oEFRFOO/kTPPmtww+NfMXxEK6gn6iU32U6fFruIz8Q4WgljtnaCVTBgWx7diUdshC9ZEa5yKpRBBeW12r/iNc/+EgNqmhswNB8SBoihHXeDF7rrWDLcmt3V8GYYN7pXRy4DZjj4DJuUBL5iC3DQAaoo4vkftqVTYRGLS3mHZ7gdmdTTqbgNN/PTdTCOTgXolc88MhXAEUMdX0iy1JMuk5wLsgeu0QUYlz2S4skTWwJz6pOm/8ihrmgGfFgri+ZWUK2gAPHgbWa8jaocdSuM4FJYoKicYX/ZSENkg9Q1ZzJfwScfVnR2DegOGwCvmogaWJCLQepv9WNlU6QgsmOwICquU28Mlk3d9W5E81lU/5Ez0LcX6lwKMWDNluNKfBDUy/phJgBcMnfkh9iRxrdOzgs08JdPB85Lwo+GUSb4t3nC+0byqMZtO2fQJ4U2zGIr49t/28qmmGv2RanDD7a3FEcdtutkW8twwwlUSpb8QalodddbBfNHKDQ828BdE7OBgFdiKYohLawFYqpybQoxATZrheLhdI7+0Zlu9Q1myRcd15r9UIm8K2LGJxqTegntqNVMKnf1a8zQiyUR1rxoqjiFxeHxqFcYUTHfDu7rhbWng6qOxOsI+5A1p9mRyEPdVkTlE24vY54W7bWc6jMgZvNXdfC9/9q7408KDsbdL7Utz7QFSDetz2picArzrdpL8OaCHC9V26RroemtDZ5yNM/KGkWMyTmfnInEvwtSD23UcFcjhaE3VKzkoaEMKGBft4XbIO6forTY1lmGQwVmKicBCiArDzE+1oIxE08fWeviIOD5TznqH+OoHadvoOP20drMPe5Irg3XBQziW2XDuHYzjqQQ4wySssjXUs5H+t3FWYMHppUnBHMx/nYIT5d7OmjDbgD9F6na3m4l7KdkeSO3kTEPXafiWinogag7b52taiZhL1TSvBFmEZafFq2H8khQaZXuitCewT5FBgVtPK0j4xUHPfUz3Q28eac1Z139DAP23dgki94EC8vbDPTQC97HPPSWjUNG5tWKMsaxAEMKC0665Xvo1Ntd07wCLNf8Q56mrEPVpCxlIMVlQlWRxM3oAfpgIc+8KC3rEXUog5g06vt7zgXY8grH7hhwVSaeuvC06YYRAwpbyk/Unzj9hLEZNs2oxPQB9yc+GnL6zTgq7rI++KDJwX2SP8Sd6YzTuw5lV/kU6eQxRD12omfQAW6caTR4LikYkBB1CMOrvgRr/VY75+NSB40Cni6bADAtaK+vyxVWpf9NeKJxN2KYQ8Q2xPB3K1s7fuhvWbr2XpgW044VD6DRs0qXoqKf1NFsaGvKJc47leUV3pppP/5VTKFhaGuol4Esfjf5zyCyUHmHthChcYh4hYLQF+AFWsuq4t0wJyWgdwQVOZiV0efRHPoK5+E1vjz9wTJmVkITC9oEstAsyZSgE/dbicwKr89YUxKZI+owD205Tm5lnnmDRuP/JnzxX3gMtlrcX0UesZdxyQqYQuEW4R51vmQ5xOZteUd8SJruMlTUzhtVw/Nq7eUBcqN2/HVotgfngif60yKEtoUx3WYOZlVJuJOh8u59fzSDPFYtQgqDUAGyGhQOAvKroXMcOYY0qjnStJR/G3aP+Jt1sLVlGV8POwr/6OGsqetnyF3TmTqZjENfnXh51oxe9qVUw2M78EzAJ+IM8lZ1MBPQ9ZWSVc4J3mWSrLKrMHReA5qdGoz0ODRsaA+vwxXA2cAM4qlfzBJA6581m4hzxItQw5dxrrBL3Y6kCbUcFxo1S8jyV44q//+7ASNNudZ6xeaNOSIUffqMn4A9lIjFctYn2gpEPAb3f7p3iIBN8H14FUGQ9ct2hPsL+cEsTgUrR47uJVN4n4wt/wgfwwHuOnLd4yobkofy8JvxSQTA7rMpDIc608SlZFJfZYcmbT0tAHpPE8MrtQ42siTUNWxqvWZOmvu9f0JPoQmg+6l7sZWwyfi6PXkxJnwBraUG0MYG4zYHQz3igy/XsFkx5tNQxw43qvI9dU3f0DdhOUlHKjmi1VAr2Kiy0HZwD8VeEbhh0OiDdMYspolQsYdSwjCcjeowIXNZVUPmL2wwIkYhmXKhGozdCJ4lRKbsf4NBh/XnQoS92NJEWOVOFs2YhN8c5QZFeK0pRdAG40hqvLbmoSA8xQmzOOEc7wLcme9JOsjPCEgpCwUs9E2DohMHRhUeyGIN6TFvrbny8nDuilsDpzrH5mS76APoIEJmItS67sQJ+nfwddzmjPxcBEBBCw0kWDwd0EZCkNeOD7NNQhtBm7KHL9mRxj6U1yWU2puzlIDtpYxdH4ZPeXBJkTGAJfUr/oTCz/iypY6uXaR2V1doPxJYlrw2ghH0D5gbrhFcIxzYwi4a/4hqVdf2DdxBp6vGYDjavxMAAoy+1+3aiO6S3W/QAKNVXagDtvsNtx7Ks+HKgo6U21B+QSZgIogV5Bt+BnXisdVfy9VyXV+2P5fMuvdpAjM1o/K9Z+XnE4EOCrue+kcdYHqAQ0/Y/OmNlQ6OI33jH/uD1RalPaHpJAm2av0/xtpqdXVKNDrc9F2izo23Wu7firgbURFDNX9eGGeYBhiypyXZft2j3hTvzE6PMWKsod//rEILDkzBXfi7xh0eFkfb3/1zzPK/PI5Nk3FbZyTl4mq5BfBoVoqiPHO4Q4QKZAlrQ3MdNfi3oxIjvsM3kAFv3fdufurqYR3PSwX/mpGy/GFI/B2MNPiNdOppWVbs/gjF3YH+QA9jMhlAbhvasAHstB0IJew09iAkmXHl1/TEj+jvHOpOGrPRQXbPADM+Ig2/OEcUcpgPTItMtW4DdqgfYVI/+4hAFWYjUGpOP/UwNuB7+BbKOcALbjobdgzeBQfjgNSp2GOpxzGLj70Vvq5cw2AoYENwKLUtJUX8sGRox4dVa/TN4xKwaKcl9XawQR/uNus700Hf17pyNnezrUgaY9e4MADhEDBpsJT6y1gDJs1q6wlwGhuUzGR7C8kgpjPyHWwsvrf3yn1zJEIRa5eSxoLAZOCR9xbuztxFRJW9ZmMYfCFJ0evm9F2fVnuje92Rc4Pl6A8bluN8MZyyJGZ0+sNSb//DvAFxC2BqlEsFwccWeAl6CyBcQV1bx4mQMBP1Jxqk1EUADNLeieS2dUFbQ/c/kvwItbZ7tx0st16viqd53WsRmPTKv2AD8CUnhtPWg5aUegNpsYgasaw2+EVooeNKmrW3MFtj76bYHJm5K9gpAXZXsE5U8DM8XmVOSJ1F1WnLy6nQup+jx52bAb+rCq6y9WXl2B2oZDhfDkW7H3oYfT/4xx5VncBuxMXP2lNfhUVQjSSzSRbuZFE4vFawlzveXxaYKVs8LpvAb8IRYF3ZHiRnm0ADeNPWocwxSzNseG7NrSEVZoHdKWqaGEBz1N8Pt7kFbqh3LYmAbm9i1IChIpLpM5AS6mr6OAPHMwwznVy61YpBYX8xZDN/a+lt7n+x5j4bNOVteZ8lj3hpAHSx1VR8vZHec4AHO9XFCdjZ9eRkSV65ljMmZVzaej2qFn/qt1lvWzNZEfHxK3qOJrHL6crr0CRzMox5f2e8ALBB4UGFZKA3tN6F6IXd32GTJXGQ7DTi9j/dNcLF9jCbDcWGKxoKTYblIwbLDReL00LRcDPMcQuXLMh5YzgtfjkFK1DP1iDzzYYVZz5M/kWYRlRpig1htVRjVCknm+h1M5LiEDXOyHREhvzCGpFZjHS0RsK27o2avgdilrJkalWqPW3D9gmwV37HKmfM3F8YZj2ar+vHFvf3B8CRoH4kDHIK9mrAg+owiEwNjjd9V+FsQKYR8czJrUkf7Qoi2YaW6EVDZp5zYlqiYtuXOTHk4fAcZ7qBbdLDiJq0WNV1l2+Hntk1mMWvxrYmc8kIx8G3rW36J6Ra4lLrTOCgiOihmow+YnzUT19jbV2B3RWqSHyxkhmgsBqMYWvOcUom1jDQ436+fcbu3xf2bbeqU/ca+C4DOKE+e3qvmeMqW3AxejfzBRFVcwVYPq4L0APSWWoJu+5UYX4qg5U6YTioqQGPG9XrnuZ/BkxuYpe6Li87+18EskyQW/uA+uk2rpHpr6hut2TlVbKgWkFpx+AZffweiw2+VittkEyf/ifinS/0ItRL2Jq3tQOcxPaWO2xrG68GdFoUpZgFXaP2wYVtRc6xYCfI1CaBqyWpg4bx8OHBQwsV4XWMibZZ0LYjWEy2IxQ1mZrf1/UNbYCJplWu3nZ4WpodIGVA05d+RWSS+ET9tH3RfGGmNI1cIY7evZZq7o+a0bjjygpmR3mVfalkT/SZGT27Q8QGalwGlDOS9VHCyFAIL0a1Q7JiW3saz9gqY8lqKynFrPCzxkU4SIfLc9VfCI5edgRhDXs0edO992nhTKHriREP1NJC6SROMgQ0xO5kNNZOhMOIT99AUElbxqeZF8A3xrfDJsWtDnUenAHdYWSwAbYjFqQZ+D5gi3hNK8CSxU9i6f6ClL9IGlj1OPMQAsr84YG6ijsJpCaGWj75c3yOZKBB9mNpQNPUKkK0D6wgLH8MGoyRxTX6Y05Q4AnYNXMZwXM4eij/9WpsM/9CoRnFQXGR6MEaY+FXvXEO3RO0JaStk6OXuHVATHJE+1W+TU3bSZ2ksMtqjO0zfSJCdBv7y2d8DMx6TfVme3q0ZpTKMMu4YL/t7ciTNtdDkwPogh3Cnjx7qk08SHwf+dksZ7M2vCOlfsF0hQ6J4ehPCaHTNrM/zBSOqD83dBEBCW/F/LEmeh0nOHd7oVl3/Qo/9GUDkkbj7yz+9cvvu+dDAtx8NzCDTP4iKdZvk9MWiizvtILLepysflSvTLFBZ37RLwiriqyRxYv/zrgFd/9XVHh/OmzBvDX4mitMR/lUavs2Vx6cR94lzAkplm3IRNy4TFfu47tuYs9EQPIPVta4P64tV+sZ7n3ued3cgEx2YK+QL5+xms6osk8qQbTyuKVGdaX9FQqk6qfDnT5ykxk0VK7KZ62b6DNDUfQlqGHxSMKv1P0XN5BqMeKG1P4Wp5QfZDUCEldppoX0U6ss2jIko2XpURKCIhfaOqLPfShdtS37ZrT+jFRSH2xYVV1rmT/MBtRQhxiO4MQ3iAGlaZi+9PWBEIXOVnu9jN1f921lWLZky9bqbM3J2MAAI9jmuAx3gyoEUa6P2ivs0EeNv/OR+AX6q5SW6l5HaoFuS6jr6yg9limu+P0KYKzfMXWcQSfTXzpOzKEKpwI3YGXZpSSy2LTlMgfmFA3CF6R5c9xWEtRuCg2ZPUQ2Nb6dRFTNd4TfGHrnEWSKHPuRyiJSDAZ+KX0VxmSHjGPbQTLVpqixia2uyhQ394gBMt7C3ZAmxn/DJS+l1fBsAo2Eir/C0jG9csd4+/tp12pPc/BVJGaK9mfvr7M/CeztrmCO5qY06Edi4xAGtiEhnWAbzLy2VEyazE1J5nPmgU4RpW4Sa0TnOT6w5lgt3/tMpROigHHmexBGAMY0mdcDbDxWIz41NgdD6oxgHsJRgr5RnT6wZAkTOcStU4NMOQNemSO7gxGahdEsC+NRVGxMUhQmmM0llWRbbmFGHzEqLM4Iw0H7577Kyo+Zf+2cUFIOw93gEY171vQaM0HLwpjpdRR6Jz7V0ckE7XzYJ0TmY9znLdzkva0vNrAGGT5SUZ5uaHDkcGvI0ySpwkasEgZPMseYcu85w8HPdSNi+4T6A83iAwDbxgeFcB1ZM2iGXzFcEOUlYVrEckaOyodfvaYSQ7GuB4ISE0nYJc15X/1ciDTPbPCgYJK55VkEor4LvzL9S2WDy4xj+6FOqVyTAC2ZNowheeeSI5hA/02l8UYkv4nk9iaVn+kCVEUstgk5Hyq+gJm6R9vG3rhuM904he/hFmNQaUIATB1y3vw+OmxP4X5Yi6A5I5jJufHCjF9+AGNwnEllZjUco6XhsO5T5+R3yxz5yLVOnAn0zuS+6zdj0nTJbEZCbXJdtpfYZfCeCOqJHoE2vPPFS6eRLjIJlG69X93nfR0mxSFXzp1Zc0lt/VafDaImhUMtbnqWVb9M4nGNQLN68BHP7AR8Il9dkcxzmBv8PCZlw9guY0lurbBsmNYlwJZsA/B15/HfkbjbwPddaVecls/elmDHNW2r4crAx43feNkfRwsaNq/yyJ0d/p5hZ6AZajz7DBfUok0ZU62gCzz7x8eVfJTKA8IWn45vINLSM1q+HF9CV9qF3zP6Ml21kPPL3CXzkuYUlnSqT+Ij4tI/od5KwIs+tDajDs64owN7tOAd6eucGz+KfO26iNcBFpbWA5732bBNWO4kHNpr9D955L61bvHCF/mwSrz6eQaDjfDEANqGMkFc+NGxpKZzCD2sj/JrHd+zlPQ8Iz7Q+2JVIiVCuCKoK/hlAEHzvk/Piq3mRL1rT/fEh9hoT5GJmeYswg1otiKydizJ/fS2SeKHVu6Z3JEHjiW8NaTQgP5xdBli8nC57XiN9hrquBu99hn9zqwo92+PM2JXtpeVZS0PdqR5mDyDreMMtEws+CpwaRyyzoYtfcvt9PJIW0fJVNNi/FFyRsea7peLvJrL+5b4GOXJ8tAr+ATk9f8KmiIsRhqRy0vFzwRV3Z5dZ3QqIU8JQ/uQpkJbjMUMFj2F9sCFeaBjI4+fL/oN3+LQgjI4zuAfQ+3IPIPFQBccf0clJpsfpnBxD84atwtupkGqKvrH7cGNl/QcWcSi6wcVDML6ljOgYbo+2BOAWNNjlUBPiyitUAwbnhFvLbnqw42kR3Yp2kv2dMeDdcGOX5kT4S6M44KHEB/SpCfl7xgsUvs+JNY9G3O2X/6FEt9FyAn57lrbiu+tl83sCymSvq9eZbe9mchL7MTf/Ta78e80zSf0hYY5eUU7+ff14jv7Xy8qjzfzzzvaJnrIdvFb5BLWKcWGy5/w7+vV2cvIfwHqdTB+RuJK5oj9mbt0Hy94AmjMjjwYNZlNS6uiyxNnwNyt3gdreLb64p/3+08nXkb92LTkkRgFOwk1oGEVllcOj5lv1hfAZywDows0944U8vUFw+A/nuVq/UCygsrmWIBnHyU01d0XJPwriEOvx/ISK6Pk4y2w0gmojZs7lU8TtakBAdne4v/aNxmMpK4VcGMp7si0yqsiolXRuOi1Z1P7SqD3Zmp0CWcyK4Ubmp2SXiXuI5nGLCieFHKHNRIlcY3Pys2dwMTYCaqlyWSITwr2oGXvyU3h1Pf8eQ3w1bnD7ilocVjYDkcXR3Oo1BXgMLTUjNw2xMVwjtp99NhSVc5aIWrDQT5DHPKtCtheBP4zHcw4dz2eRdTMamhlHhtfgqJJHI7NGDUw1XL8vsSeSHyKqDtqoAmrQqsYwvwi7HW3ojWyhIa5oz5xJTaq14NAzFLjVLR12rRNUQ6xohDnrWFb5bG9yf8aCD8d5phoackcNJp+Dw3Due3RM+5Rid7EuIgsnwgpX0rUWh/nqPtByMhMZZ69NpgvRTKZ62ViZ+Q7Dp5r4K0d7EfJuiy06KuIYauRh5Ecrhdt2QpTS1k1AscEHvapNbU3HL1F2TFyR33Wxb5MvH5iZsrn3SDcsxlnnshO8PLwmdGN+paWnQuORtZGX37uhFT64SeuPsx8UOokY6ON85WdQ1dki5zErsJGazcBOddWJEKqNPiJpsMD1GrVLrVY+AOdPWQneTyyP1hRX/lMM4ZogGGOhYuAdr7F/DOiAoc++cn5vlf0zkMUJ40Z1rlgv9BelPqVOpxKeOpzKdF8maK+1Vv23MO9k/8+qpLoxrIGH2EDQlnGmH8CD31G8QqlyQIcpmR5bwmSVw9/Ns6IHgulCRehvZ/+VrM60Cu/r3AontFfrljew74skYe2uyn7JKQtFQBQRJ9ryGic/zQOsbS4scUBctA8cPToQ3x6ZBQu6DPu5m1bnCtP8TllLYA0UTQNVqza5nfew3Mopy1GPUwG5jsl0OVXniPmAcmLqO5HG8Hv3nSLecE9oOjPDXcsTxoCBxYyzBdj4wmnyEV4kvFDunipS8SSkvdaMnTBN9brHUR8xdmmEAp/Pdqk9uextp1t+JrtXwpN/MG2w/qhRMpSNxQ1uhg/kKO30eQ/FyHUDkWHT8V6gGRU4DhDMxZu7xXij9Ui6jlpWmQCqJg3FkOTq3WKneCRYZxBXMNAVLQgHXSCGSqNdjebY94oyIpVjMYehAiFx/tqzBXFHZaL5PeeD74rW5OysFoUXY8sebUZleFTUa/+zBKVTFDopTReXNuZq47QjkWnxjirCommO4L/GrFtVV21EpMyw8wyThL5Y59d88xtlx1g1ttSICDwnof6lt/6zliPzgVUL8jWBjC0o2D6Kg+jNuThkAlaDJsq/AG2aKA//A76avw2KNqtv223P+Wq3StRDDNKFFgtsFukYt1GFDWooFVXitaNhb3RCyJi4cMeNjROiPEDb4k+G3+hD8tsg+5hhmSc/8t2JTSwYoCzAI75doq8QTHe+E/Tw0RQSUDlU+6uBeNN3h6jJGX/mH8oj0i3caCNsjvTnoh73BtyZpsflHLq6AfwJNCDX4S98h4+pCOhGKDhV3rtkKHMa3EG4J9y8zFWI4UsfNzC/Rl5midNn7gwoN9j23HGCQQ+OAZpTTPMdiVow740gIyuEtd0qVxMyNXhHcnuXRKdw5wDUSL358ktjMXmAkvIB73BLa1vfF9BAUZInPYJiwxqFWQQBVk7gQH4ojfUQ/KEjn+A/WR6EEe4CtbpoLe1mzHkajgTIoE0SLDHVauKhrq12zrAXBGbPPWKCt4DGedq3JyGRbmPFW32bE7T20+73BatV/qQhhBWfWBFHfhYWXjALts38FemnoT+9bn1jDBMcUMmYgSc0e7GQjv2MUBwLU8ionCpgV+Qrhg7iUIfUY6JFxR0Y+ZTCPM+rVuq0GNLyJXX6nrUTt8HzFBRY1E/FIm2EeVA9NcXrj7S6YYIChVQCWr/m2fYUjC4j0XLkzZ8GCSLfmkW3PB/xq+nlXsKVBOj7vTvqKCOMq7Ztqr3cQ+N8gBnPaAps+oGwWOkbuxnRYj/x/WjiDclVrs22xMK4qArE1Ztk1456kiJriw6abkNeRHogaPRBgbgF9Z8i/tbzWELN4CvbqtrqV9TtGSnmPS2F9kqOIBaazHYaJ9bi3AoDBvlZasMluxt0BDXfhp02Jn411aVt6S4TUB8ZgFDkI6TP6gwPY85w+oUQSsjIeXVminrwIdK2ZAawb8Se6XOJbOaliQxHSrnAeONDLuCnFejIbp4YDtBcQCwMsYiRZfHefuEJqJcwKTTJ8sx5hjHmJI1sPFHOr6W9AhZ2NAod38mnLQk1gOz2LCAohoQbgMbUK9RMEA3LkiF7Sr9tLZp6lkciIGhE2V546w3Mam53VtVkGbB9w0Yk2XiRnCmbpxmHr2k4eSC0RuNbjNsUfDIfc8DZvRvgUDe1IlKdZTzcT4ZGEb53dp8VtsoZlyXzLHOdAbsp1LPTVaHvLA0GYDFMbAW/WUBfUAdHwqLFAV+3uHvYWrCfhUOR2i89qvCBoOb48usAGdcF2M4aKn79k/43WzBZ+xR1L0uZfia70XP9soQReeuhZiUnXFDG1T8/OXNmssTSnYO+3kVLAgeiY719uDwL9FQycgLPessNihMZbAKG7qwPZyG11G1+ZA3jAX2yddpYfmaKBlmfcK/V0mwIRUDC0nJSOPUl2KB8h13F4dlVZiRhdGY5farwN+f9hEb1cRi41ZcGDn6Xe9MMSTOY81ULJyXIHSWFIQHstVYLiJEiUjktlHiGjntN5/btB8Fu+vp28zl2fZXN+dJDyN6EXhS+0yzqpl/LSJNEUVxmu7BsNdjAY0jVsAhkNuuY0E1G48ej25mSt+00yPbQ4SRCVkIwb6ISvYtmJRPz9Zt5dk76blf+lJwAPH5KDF+vHAmACLoCdG2Adii6dOHnNJnTmZtoOGO8Q1jy1veMw6gbLFToQmfJa7nT7Al89mRbRkZZQxJTKgK5Kc9INzmTJFp0tpAPzNmyL/F08bX3nhCumM/cR/2RPn9emZ3VljokttZD1zVWXlUIqEU7SLk5I0lFRU0AcENXBYazNaVzsVHA/sD3o9hm42wbHIRb/BBQTKzAi8s3+bMtpOOZgLdQzCYPfX3UUxKd1WYVkGH7lh/RBBgMZZwXzU9+GYxdBqlGs0LP+DZ5g2BWNh6FAcR944B+K/JTWI3t9YyVyRhlP4CCoUk/mmF7+r2pilVBjxXBHFaBfBtr9hbVn2zDuI0kEOG3kBx8CGdPOjX1ph1POOZJUO1JEGG0jzUy2tK4X0CgVNYhmkqqQysRNtKuPdCJqK3WW57kaV17vXgiyPrl4KEEWgiGF1euI4QkSFHFf0TDroQiLNKJiLbdhH0YBhriRNCHPxSqJmNNoketaioohqMglh6wLtEGWSM1EZbQg72h0UJAIPVFCAJOThpQGGdKfFovcwEeiBuZHN2Ob4uVM7+gwZLz1D9E7ta4RmMZ24OBBAg7Eh6dLXGofZ4U2TFOCQMKjwhVckjrydRS+YaqCw1kYt6UexuzbNEDyYLTZnrY1PzsHZJT4U+awO2xlqTSYu6n/U29O2wPXgGOEKDMSq+zTUtyc8+6iLp0ivav4FKx+xxVy4FxhIF/pucVDqpsVe2jFOfdZhTzLz2QjtzvsTCvDPU7bzDH2eXVKUV9TZ+qFtaSSxnYgYdXKwVreIgvWhT9eGDB2OvnWyPLfIIIfNnfIxU8nW7MbcH05nhlsYtaW9EZRsxWcKdEqInq1DiZPKCz7iGmAU9/ccnnQud2pNgIGFYOTAWjhIrd63aPDgfj8/sdlD4l+UTlcxTI9jbaMqqN0gQxSHs60IAcW3cH4p3V1aSciTKB29L1tz2eUQhRiTgTvmqc+sGtBNh4ky0mQJGsdycBREP+fAaSs1EREDVo5gvgi5+aCN7NECw30owbCc1mSpjiahyNVwJd1jiGgzSwfTpzf2c5XJvG/g1n0fH88KHNnf+u7ZiRMlXueSIsloJBUtW9ezvsx9grfsX/FNxnbxU1Lvg0hLxixypHKGFAaPu0xCD8oDTeFSyfRT6s8109GMUZL8m2xXp8X2dpPCWWdX84iga4BrTlOfqox4shqEgh/Ht4qRst52cA1xOIUuOxgfUivp6v5f8IVyaryEdpVk72ERAwdT4aoY1usBgmP+0m06Q216H/nubtNYxHaOIYjcach3A8Ez/zc0KcShhel0HCYjFsA0FjYqyJ5ZUH1aZw3+zWC0hLpM6GDfcAdn9fq2orPmZbW6XXrf+Krc9RtvII5jeD3dFoT1KwZJwxfUMvc5KLfn8rROW23Jw89sJ2a5dpB3qWDUBWF2iX8OCuKprHosJ2mflBR+Wqs86VvgI/XMnsqb97+VlKdPVysczPj8Jhzf+WCvGBHijAqYlavbF60soMWlHbvKT+ScvhprgeTln51xX0sF+Eadc/l2s2a5BgkVbHYyz0E85p0LstqH+gEGiR84nBRRFIn8hLSZrGwqjZ3E29cuGi+5Z5bp7EM8MWFa9ssS/vy4VrDfECSv7DSU84DaP0sXI3Ap4lWznQ65nQoTKRWU30gd7Nn8ZowUvGIx4aqyXGwmA/PB4qN8msJUODezUHEl0VP9uo+cZ8vPFodSIB4C7lQYjEFj8yu49C2KIV3qxMFYTevG8KqAr0TPlkbzHHnTpDpvpzziAiNFh8xiT7C/TiyH0EguUw4vxAgpnE27WIypV+uFN2zW7xniF/n75trs9IJ5amB1zXXZ1LFkJ6GbS/dFokzl4cc2mamVwhL4XU0Av5gDWAl+aEWhAP7t2VIwU+EpvfOPDcLASX7H7lZpXA2XQfbSlD4qU18NffNPoAKMNSccBfO9YVVgmlW4RydBqfHAV7+hrZ84WJGho6bNT0YMhxxLdOx/dwGj0oyak9aAkNJ8lRJzUuA8sR+fPyiyTgUHio5+Pp+YaKlHrhR41jY5NESPS3x+zTMe0S2HnLOKCOQPpdxKyviBvdHrCDRqO+l96HhhNBLXWv4yEMuEUYo8kXnYJM8oIgVM4XJ+xXOev4YbWeqsvgq0lmw4/PiYr9sYLt+W5EAuYSFnJEan8CwJwbtASBfLBBpJZiRPor/aCJBZsM+MhvS7ZepyHvU8m5WSmaZnxuLts8ojl6KkS8oSAHkq5GWlCB/NgJ5W3rO2Cj1MK7ahxsCrbTT3a0V/QQH+sErxV4XUWDHx0kkFy25bPmBMBQ6BU3HoHhhYcJB9JhP6NXUWKxnE0raXHB6U9KHpWdQCQI72qevp5fMzcm+AvC85rsynVQhruDA9fp9COe7N56cg1UKGSas89vrN+WlGLYTwi5W+0xYdKEGtGCeNJwXKDU0XqU5uQYnWsMwTENLGtbQMvoGjIFIEMzCRal4rnBAg7D/CSn8MsCvS+FDJJAzoiioJEhZJgAp9n2+1Yznr7H+6eT4YkJ9Mpj60ImcW4i4iHDLn9RydB8dx3QYm3rsX6n4VRrZDsYK6DCGwkwd5n3/INFEpk16fYpP6JtMQpqEMzcOfQGAHXBTEGzuLJ03GYQL9bmV2/7ExDlRf+Uvf1sM2frRtCWmal12pMgtonvSCtR4n1CLUZRdTHDHP1Otwqd+rcdlavnKjUB/OYXQHUJzpNyFoKpQK+2OgrEKpGyIgIBgn2y9QHnTJihZOpEvOKIoHAMGAXHmj21Lym39Mbiow4IF+77xNuewziNVBxr6KD5e+9HzZSBIlUa/AmsDFJFXeyrQakR3FwowTGcADJHcEfhGkXYNGSYo4dh4bxwLM+28xjiqkdn0/3R4UEkvcBrBfn/SzBc1XhKM2VPlJgKSorjDac96V2UnQYXl1/yZPT4DVelgO+soMjexXwYO58VLl5xInQUZI8jc3H2CPnCNb9X05nOxIy4MlecasTqGK6s2az4RjpF2cQP2G28R+7wDPsZDZC/kWtjdoHC7SpdPmqQrUAhMwKVuxCmYTiD9q/O7GHtZvPSN0CAUQN/rymXZNniYLlJDE70bsk6Xxsh4kDOdxe7A2wo7P9F5YvqqRDI6brf79yPCSp4I0jVoO4YnLYtX5nzspR5WB4AKOYtR1ujXbOQpPyYDvfRE3FN5zw0i7reehdi7yV0YDRKRllGCGRk5Yz+Uv1fYl2ZwrnGsqsjgAVo0xEUba8ohjaNMJNwTwZA/wBDWFSCpg1eUH8MYL2zdioxRTqgGQrDZxQyNzyBJPXZF0+oxITJAbj7oNC5JwgDMUJaM5GqlGCWc//KCIrI+aclEe4IA0uzv7cuj6GCdaJONpi13O544vbtIHBF+A+JeDFUQNy61Gki3rtyQ4aUywn6ru314/dkGiP8Iwjo0J/2Txs49ZkwEl4mx+iYUUO55I6pJzU4P+7RRs+DXZkyKUYZqVWrPF4I94m4Wx1tXeE74o9GuX977yvJ/jkdak8+AmoHVjI15V+WwBdARFV2IPirJgVMdsg1Pez2VNHqa7EHWdTkl3XTcyjG9BiueWFvQfXI8aWSkuuRmqi/HUuzqyvLJfNfs0txMqldYYflWB1BS31WkuPJGGwXUCpjiQSktkuBMWwHjSkQxeehqw1Kgz0Trzm7QbtgxiEPDVmWCNCAeCfROTphd1ZNOhzLy6XfJyG6Xgd5MCAZw4xie0Sj5AnY1/akDgNS9YFl3Y06vd6FAsg2gVQJtzG7LVq1OH2frbXNHWH/NY89NNZ4QUSJqL2yEcGADbT38X0bGdukqYlSoliKOcsSTuqhcaemUeYLLoI8+MZor2RxXTRThF1LrHfqf/5LcLAjdl4EERgUysYS2geE+yFdasU91UgUDsc2cSQ1ZoT9+uLOwdgAmifwQqF028INc2IQEDfTmUw3eZxvz7Ud1z3xc1PQfeCvfKsB9jOhRj7rFyb9XcDWLcYj0bByosychMezMLVkFiYcdBBQtvI6K0KRuOZQH2kBsYHJaXTkup8F0eIhO1/GcIwWKpr2mouB7g5TUDJNvORXPXa/mU8bh27TAZYBe2sKx4NSv5OjnHIWD2RuysCzBlUfeNXhDd2jxnHoUlheJ3jBApzURy0fwm2FwwsSU0caQGl0Kv8hopRQE211NnvtLRsmCNrhhpEDoNiZEzD2QdJWKbRRWnaFedXHAELSN0t0bfsCsMf0ktfBoXBoNA+nZN9+pSlmuzspFevmsqqcMllzzvkyXrzoA+Ryo1ePXpdGOoJvhyru+EBRsmOp7MXZ0vNUMUqHLUoKglg1p73sWeZmPc+KAw0pE2zIsFFE5H4192KwDvDxdxEYoDBDNZjbg2bmADTeUKK57IPD4fTYF4c6EnXx/teYMORBDtIhPJneiZny7Nv/zG+YmekIKCoxr6kauE2bZtBLufetNG0BtBY7f+/ImUypMBvdWu/Q7vTMRzw5aQGZWuc1V0HEsItFYMIBnoKGZ0xcarba/TYZq50kCaflFysYjA4EDKHqGdpYWdKYmm+a7TADmW35yfnOYpZYrkpVEtiqF0EujI00aeplNs2k+qyFZNeE3CDPL9P6b4PQ/kataHkVpLSEVGK7EX6rAa7IVNrvZtFvOA6okKvBgMtFDAGZOx88MeBcJ8AR3AgUUeIznAN6tjCUipGDZONm1FjWJp4A3QIzSaIOmZ7DvF/ysYYbM/fFDOV0jntAjRdapxJxL0eThpEhKOjCDDq2ks+3GrwxqIFKLe1WdOzII8XIOPGnwy6LKXVfpSDOTEfaRsGujhpS4hBIsMOqHbl16PJxc4EkaVu9wpEYlF/84NSv5Zum4drMfp9yXbzzAOJqqS4YkI4cBrFrC7bMPiCfgI3nNZAqkk3QOZqR+yyqx+nDQKBBBZ7QKrfGMCL+XpqFaBJU0wpkBdAhbR4hJsmT5aynlvkouoxm/NjD5oe6BzVIO9uktM+/5dEC5P7vZvarmuO/lKXz4sBabVPIATuKTrwbJP8XUkdM6uEctHKXICUJGjaZIWRbZp8czquQYfY6ynBUCfIU+gG6wqSIBmYIm9pZpXdaL121V7q0VjDjmQnXvMe7ysoEZnZL15B0SpxS1jjd83uNIOKZwu5MPzg2NhOx3xMOPYwEn2CUzbSrwAs5OAtrz3GAaUkJOU74XwjaYUmGJdZBS1NJVkGYrToINLKDjxcuIlyfVsKQSG/G4DyiO2SlQvJ0d0Ot1uOG5IFSAkq+PRVMgVMDvOIJMdqjeCFKUGRWBW9wigYvcbU7CQL/7meF2KZAaWl+4y9uhowAX7elogAvItAAxo2+SFxGRsHGEW9BnhlTuWigYxRcnVUBRQHV41LV+Fr5CJYV7sHfeywswx4XMtUx6EkBhR+q8AXXUA8uPJ73Pb49i9KG9fOljvXeyFj9ixgbo6CcbAJ7WHWqKHy/h+YjBwp6VcN7M89FGzQ04qbrQtgrOFybg3gQRTYG5xn73ArkfQWjCJROwy3J38Dx/D7jOa6BBNsitEw1wGq780EEioOeD+ZGp2J66ADiVGMayiHYucMk8nTK2zzT9CnEraAk95kQjy4k0GRElLL5YAKLQErJ5rp1eay9O4Fb6yJGm9U4FaMwPGxtKD6odIIHKoWnhKo1U8KIpFC+MVn59ZXmc7ZTBZfsg6FQ8W10YfTr4u0nYrpHZbZ1jXiLmooF0cOm0+mPnJBXQtepc7n0BqOipNCqI6yyloTeRShNKH04FIo0gcMk0H/xThyN4pPAWjDDkEp3lNNPRNVfpMI44CWRlRgViP64eK0JSRp0WUvCWYumlW/c58Vcz/yMwVcW5oYb9+26TEhwvbxiNg48hl1VI1UXTU//Eta+BMKnGUivctfL5wINDD0giQL1ipt6U7C9cd4+lgqY2lMUZ02Uv6Prs+ZEZer7ZfWBXVghlfOOrClwsoOFKzWEfz6RZu1eCs+K8fLvkts5+BX0gyrFYve0C3qHrn5U/Oh6D/CihmWIrY7HUZRhJaxde+tldu6adYJ+LeXupQw0XExC36RETdNFxcq9glMu4cNQSX9cqR/GQYp+IxUkIcNGWVU7ZtGa6P3XAyodRt0XeS3Tp01AnCh0ZbUh4VrSZeV9RWfSoWyxnY3hzcZ30G/InDq4wxRrEejreBxnhIQbkxenxkaxl+k7eLUQkUR6vKJ2iDFNGX3WmVA1yaOH+mvhBd+sE6vacQzFobwY5BqEAFmejwW5ne7HtVNolOUgJc8CsUxmc/LBi8N5mu9VsIA5HyErnS6zeCz7VLI9+n/hbT6hTokMXTVyXJRKSG2hd2labXTbtmK4fNH3IZBPreSA4FMeVouVN3zG5x9CiGpLw/3pceo4qGqp+rVp+z+7yQ98oEf+nyH4F3+J9IheDBa94Wi63zJbLBCIZm7P0asHGpIJt3PzE3m0S4YIWyXBCVXGikj8MudDPB/6Nm2v4IxJ5gU0ii0guy5SUHqGUYzTP0jIJU5E82RHUXtX4lDdrihBLdP1YaG1AGUC12rQKuIaGvCpMjZC9bWSCYnjDlvpWbkdXMTNeBHLKiuoozMGIvkczmP0aRJSJ8PYnLCVNhKHXBNckH79e8Z8Kc2wUej4sQZoH8qDRGkg86maW/ZQWGNnLcXmq3FlXM6ssR/3P6E/bHMvm6HLrv1yRixit25JsH3/IOr2UV4BWJhxXW5BJ6Xdr07n9kF3ZNAk6/Xpc5MSFmYJ2R7bdL8Kk7q1OU9Elg/tCxJ8giT27wSTySF0GOxg4PbYJdi/Nyia9Nn89CGDulfJemm1aiEr/eleGSN+5MRrVJ4K6lgyTTIW3i9cQ0dAi6FHt0YMbH3wDSAtGLSAccezzxHitt1QdhW36CQgPcA8vIIBh3/JNjf/Obmc2yzpk8edSlS4lVdwgW5vzbYEyFoF4GCBBby1keVNueHAH+evi+H7oOVfS3XuPQSNTXOONAbzJeSb5stwdQHl1ZjrGoE49I8+A9j3t+ahhQj74FCSWpZrj7wRSFJJnnwi1T9HL5qrCFW/JZq6P62XkMWTb+u4lGpKfmmwiJWx178GOG7KbrZGqyWwmuyKWPkNswkZ1q8uptUlviIi+AXh2bOOTOLsrtNkfqbQJeh24reebkINLkjut5r4d9GR/r8CBa9SU0UQhsnZp5cP+RqWCixRm7i4YRFbtZ4EAkhtNa6jHb6gPYQv7MKqkPLRmX3dFsK8XsRLVZ6IEVrCbmNDc8o5mqsogjAQfoC9Bc7R6gfw03m+lQpv6kTfhxscDIX6s0w+fBxtkhjXAXr10UouWCx3C/p/FYwJRS/AXRKkjOb5CLmK4XRe0+xeDDwVkJPZau52bzLEDHCqV0f44pPgKOkYKgTZJ33fmk3Tu8SdxJ02SHM8Fem5SMsWqRyi2F1ynfRJszcFKykdWlNqgDA/L9lKYBmc7Zu/q9ii1FPF47VJkqhirUob53zoiJtVVRVwMR34gV9iqcBaHbRu9kkvqk3yMpfRFG49pKKjIiq7h/VpRwPGTHoY4cg05X5028iHsLvUW/uz+kjPyIEhhcKUwCkJAwbR9pIEGOn8z6svAO8i89sJ3dL5qDWFYbS+HGPRMxYwJItFQN86YESeJQhn2urGiLRffQeLptDl8dAgb+Tp47UQPxWOw17OeChLN1WnzlkPL1T5O+O3Menpn4C3IY5LEepHpnPeZHbvuWfeVtPlkH4LZjPbBrkJT3NoRJzBt86CO0Xq59oQ+8dsm0ymRcmQyn8w71mhmcuEI5byuF+C88VPYly2sEzjlzAQ3vdn/1+Hzguw6qFNNbqenhZGbdiG6RwZaTG7jTA2X9RdXjDN9yj1uQpyO4Lx8KRAcZcbZMafp4wPOd5MdXoFY52V1A8M9hi3sso93+uprE0qYNMjkE22CvK4HuUxqN7oIz5pWuETq1lQAjqlSlqdD2Rnr/ggp/TVkQYjn9lMfYelk2sH5HPdopYo7MHwlV1or9Bxf+QCyLzm92vzG2wjiIjC/ZHEJzeroJl6bdFPTpZho5MV2U86fLQqxNlGIMqCGy+9WYhJ8ob1r0+Whxde9L2PdysETv97O+xVw+VNN1TZSQN5I6l9m5Ip6pLIqLm4a1B1ffH6gHyqT9p82NOjntRWGIofO3bJz5GhkvSWbsXueTAMaJDou99kGLqDlhwBZNEQ4mKPuDvVwSK4WmLluHyhA97pZiVe8g+JxmnJF8IkV/tCs4Jq/HgOoAEGR9tCDsDbDmi3OviUQpG5D8XmKcSAUaFLRXb2lmJTNYdhtYyfjBYZQmN5qT5CNuaD3BVnlkCk7bsMW3AtXkNMMTuW4HjUERSJnVQ0vsBGa1wo3Qh7115XGeTF3NTz8w0440AgU7c3bSXO/KMINaIWXd0oLpoq/0/QJxCQSJ9XnYy1W7TYLBJpHsVWD1ahsA7FjNvRd6mxCiHsm8g6Z0pnzqIpF1dHUtP2ITU5Z1hZHbu+L3BEEStBbL9XYvGfEakv1bmf+bOZGnoiuHEdlBnaChxYKNzB23b8sw8YyT7Ajxfk49eJIAvdbVkdFCe2J0gMefhQ0bIZxhx3fzMIysQNiN8PgOUKxOMur10LduigREDRMZyP4oGWrP1GFY4t6groASsZ421os48wAdnrbovNhLt7ScNULkwZ5AIZJTrbaKYTLjA1oJ3sIuN/aYocm/9uoQHEIlacF1s/TM1fLcPTL38O9fOsjMEIwoPKfvt7opuI9G2Hf/PR4aCLDQ7wNmIdEuXJ/QNL72k5q4NejAldPfe3UVVqzkys8YZ/jYOGOp6c+YzRCrCuq0M11y7TiN6qk7YXRMn/gukxrEimbMQjr3jwRM6dKVZ4RUfWQr8noPXLJq6yh5R3EH1IVOHESst/LItbG2D2vRsZRkAObzvQAAD3mb3/G4NzopI0FAiHfbpq0X72adg6SRj+8OHMShtFxxLZlf/nLgRLbClwl5WmaYSs+yEjkq48tY7Z2bE0N91mJwt+ua0NlRJIDh0HikF4UvSVorFj2YVu9YeS5tfvlVjPSoNu/Zu6dEUfBOT555hahBdN3Sa5Xuj2Rvau1lQNIaC944y0RWj9UiNDskAK1WoL+EfXcC6IbBXFRyVfX/WKXxPAwUyIAGW8ggZ08hcijKTt1YKnUO6QPvcrmDVAb0FCLIXn5id4fD/Jx4tw/gbXs7WF9b2RgXtPhLBG9vF5FEkdHAKrQHZAJC/HWvk7nvzzDzIXZlfFTJoC3JpGgLPBY7SQTjGlUvG577yNutZ1hTfs9/1nkSXK9zzKLRZ3VODeKUovJe0WCq1zVMYxCJMenmNzPIU2S8TA4E7wWmbNkxq9rI2dd6v0VpcAPVMxnDsvWTWFayyqvKZO7Z08a62i/oH2/jxf8rpmfO64in3FLiL1GX8IGtVE9M23yGsIqJbxDTy+LtaMWDaPqkymb5VrQdzOvqldeU0SUi6IirG8UZ3jcpRbwHa1C0Dww9G/SFX3gPvTJQE+kyz+g1BeMILKKO+olcHzctOWgzxYHnOD7dpCRtuZEXACjgqesZMasoPgnuDC4nUviAAxDc5pngjoAITIkvhKwg5d608pdrZcA+qn5TMT6Uo/QzBaOxBCLTJX3Mgk85rMfsnWx86oLxf7p2PX5ONqieTa/qM3tPw4ZXvlAp83NSD8F7+ZgctK1TpoYwtiU2h02HCGioH5tkVCqNVTMH5p00sRy2JU1qyDBP2CII/Dg4WDsIl+zgeX7589srx6YORRQMBfKbodbB743Tl4WLKOEnwWUVBsm94SOlCracU72MSyj068wdpYjyz1FwC2bjQnxnB6Mp/pZ+yyZXtguEaYB+kqhjQ6UUmwSFazOb+rhYjLaoiM+aN9/8KKn0zaCTFpN9eKwWy7/u4EHzO46TdFSNjMfn2iPSJwDPCFHc0I1+vjdAZw5ZjqR/uzi9Zn20oAa5JnLEk/EA3VRWE7J/XrupfFJPtCUuqHPpnlL7ISJtRpSVcB8qsZCm2QEkWoROtCKKxUh3yEcMbWYJwk6DlEBG0bZP6eg06FL3v6RPb7odGuwm7FN8fG4woqtB8e7M5klPpo97GoObNwt+ludTAmxyC5hmcFx+dIvEZKI6igFKHqLH01iY1o7903VzG9QGetyVx5RNmBYUU+zIuSva/yIcECUi4pRmE3VkF2avqulQEUY4yZ/wmNboBzPmAPey3+dSYtBZUjeWWT0pPwCz4Vozxp9xeClIU60qvEFMQCaPvPaA70WlOP9f/ey39macvpGCVa+zfa8gO44wbxpJUlC8GN/pRMTQtzY8Z8/hiNrU+Zq64ZfFGIkdj7m7abcK1EBtws1X4J/hnqvasPvvDSDYWN+QcQVGMqXalkDtTad5rYY0TIR1Eqox3czwPMjKPvF5sFv17Thujr1IZ1Ytl4VX1J0vjXKmLY4lmXipRAro0qVGEcXxEVMMEl54jQMd4J7RjgomU0j1ptjyxY+cLiSyXPfiEcIS2lWDK3ISAy6UZ3Hb5vnPncA94411jcy75ay6B6DSTzK6UTCZR9uDANtPBrvIDgjsfarMiwoax2OlLxaSoYn4iRgkpEGqEkwox5tyI8aKkLlfZ12lO11TxsqRMY89j5JaO55XfPJPDL1LGSnC88Re9Ai+Nu5bZjtwRrvFITUFHPR4ZmxGslQMecgbZO7nHk32qHxYkdvWpup07ojcMCaVrpFAyFZJJbNvBpZfdf39Hdo2kPtT7v0/f8R/B5Nz4f1t9/3zNM/7n6SUHfcWk5dfQFJvcJMgPolGCpOFb/WC0FGWU2asuQyT+rm88ZKZ78Cei/CAh939CH0JYbpZIPtxc2ufXqjS3pHH9lnWK4iJ7OjR/EESpCo2R3MYKyE7rHfhTvWho4cL1QdN4jFTyR6syMwFm124TVDDRXMNveI1Dp/ntwdz8k8kxw7iFSx6+Yx6O+1LzMVrN0BBzziZi9kneZSzgollBnVwBh6oSOPHXrglrOj+QmR/AESrhDpKrWT+8/AiMDxS/5wwRNuGQPLlJ9ovomhJWn8sMLVItQ8N/7IXvtD8kdOoHaw+vBSbFImQsv/OCAIui99E+YSIOMlMvBXkAt+NAZK8wB9Jf8CPtB+TOUOR+z71d/AFXpPBT6+A5FLjxMjLIEoJzrQfquvxEIi+WoUzGR1IzQFNvbYOnxb2PyQ0kGdyXKzW2axQL8lNAXPk6NEjqrRD1oZtKLlFoofrXw0dCNWASHzy+7PSzOUJ3XtaPZsxLDjr+o41fKuKWNmjiZtfkOzItvlV2MDGSheGF0ma04qE3TUEfqJMrXFm7DpK+27DSvCUVf7rbNoljPhha5W7KBqVq0ShUSTbRmuqPtQreVWH4JET5yMhuqMoSd4r/N8sDmeQiQQvi1tcZv7Moc7dT5X5AtCD6kNEGZOzVcNYlpX4AbTsLgSYYliiPyVoniuYYySxsBy5cgb3pD+EK0Gpb0wJg031dPgaL8JZt6sIvzNPEHfVPOjXmaXj4bd4voXzpZ5GApMhILgMbCEWZ2zwgdeQgjNHLbPIt+KqxRwWPLTN6HwZ0Ouijj4UF+Sg0Au8XuIKW0WxlexdrFrDcZJ8Shauat3X0XmHygqgL1nAu2hrJFb4wZXkcS+i36KMyU1yFvYv23bQUJi/3yQpqr/naUOoiEWOxckyq/gq43dFou1DVDaYMZK9tho7+IXXokBCs5GRfOcBK7g3A+jXQ39K4YA8PBRW4m5+yR0ZAxWJncjRVbITvIAPHYRt1EJ3YLiUbqIvoKHtzHKtUy1ddRUQ0AUO41vonZDUOW+mrszw+SW/6Q/IUgNpcXFjkM7F4CSSQ2ExZg85otsMs7kqsQD4OxYeBNDcSpifjMoLb7GEbGWTwasVObmB/bfPcUlq0wYhXCYEDWRW02TP5bBrYsKTGWjnWDDJ1F7zWai0zW/2XsCuvBQjPFcTYaQX3tSXRSm8hsAoDdjArK/OFp6vcWYOE7lizP0Yc+8p16i7/NiXIiiQTp7c7Xus925VEtlKAjUdFhyaiLT7VxDagprMFwix4wZ05u0qj7cDWFd0W9OYHIu3JbJKMXRJ1aYNovugg+QqRN7fNHSi26VSgBpn+JfMuPo3aeqPWik/wI5Rz3BWarPQX4i5+dM0npwVOsX+KsOhC7vDg+OJsz4Q5zlnIeflUWL6QYMbf9WDfLmosLF4Qev3mJiOuHjoor/dMeBpA9iKDkMjYBNbRo414HCxjsHrB4EXNbHzNMDHCLuNBG6Sf+J4MZ/ElVsDSLxjIiGsTPhw8BPjxbfQtskj+dyNMKOOcUYIRBEIqbazz3lmjlRQhplxq673VklMMY6597vu+d89ec/zq7Mi4gQvh87ehYbpOuZEXj5g/Q7S7BFDAAB9DzG35SC853xtWVcnZQoH54jeOqYLR9NDuwxsVthTV7V99n/B7HSbAytbEyVTz/5NhJ8gGIjG0E5j3griULUd5Rg7tQR+90hJgNQKQH2btbSfPcaTOfIexc1db1BxUOhM1vWCpLaYuKr3FdNTt/T3PWCpEUWDKEtzYrjpzlL/wri3MITKsFvtF8QVV/NhVo97aKIBgdliNc10dWdXVDpVtsNn+2UIolrgqdWA4EY8so0YvB4a+aLzMXiMAuOHQrXY0tr+CL10JbvZzgjJJuB1cRkdT7DUqTvnswVUp5kkUSFVtIIFYK05+tQxT6992HHNWVhWxUsD1PkceIrlXuUVRogwmfdhyrf6zzaL8+c0L7GXMZOteAhAVQVwdJh+7nrX7x4LaIIfz2F2v7Dg/uDfz2Fa+4gFm2zHAor8UqimJG3VTJtZEoFXhnDYXvxMJFc6ku2bhbCxzij2z5UNuK0jmp1mnvkVNUfR+SEmj1Lr94Lym75PO7Fs0MIr3GdsWXRXSfgLTVY0FLqba97u1In8NAcY7IC6TjWLigwKEIm43NxTdaVTv9mcKkzuzBkKd8x/xt1p/9BbP7Wyb4bpo1K1gnOpbLvKz58pWl3B55RJ/Z5mRDLPtNQg14jdOEs9+h/V5UVpwrAI8kGbX8KPVPDIMfIqKDjJD9UyDOPhjZ3vFAyecwyq4akUE9mDOtJEK1hpDyi6Ae87sWAClXGTiwPwN7PXWwjxaR79ArHRIPeYKTunVW24sPr/3HPz2IwH8oKH4OlWEmt4BLM6W5g4kMcYbLwj2usodD1088stZA7VOsUSpEVl4w7NMb1EUHMRxAxLF0CIV+0L3iZb+ekB1vSDSFjAZ3hfLJf7gFaXrOKn+mhR+rWw/eTXIcAgl4HvFuBg1LOmOAwJH3eoVEjjwheKA4icbrQCmvAtpQ0mXG0agYp5mj4Rb6mdQ+RV4QBPbxMqh9C7o8nP0Wko2ocnCHeRGhN1XVyT2b9ACsL+6ylUy+yC3QEnaKRIJK91YtaoSrcWZMMwxuM0E9J68Z+YyjA0g8p1PfHAAIROy6Sa04VXOuT6A351FOWhKfTGsFJ3RTJGWYPoLk5FVK4OaYR9hkJvezwF9vQN1126r6isMGXWTqFW+3HL3I/jurlIdDWIVvYY+s6yq7lrFSPAGRdnU7PVwY/SvWbZGpXzy3BQ2LmAJlrONUsZs4oGkly0V267xbD5KMY8woNNsmWG1VVgLCra8aQBBcI4DP2BlNwxhiCtHlaz6OWFoCW0vMR3ErrG7JyMjTSCnvRcsEHgmPnwA6iNpJ2DrFb4gLlhKJyZGaWkA97H6FFdwEcLT6DRQQL++fOkVC4cYGW1TG/3iK5dShRSuiBulmihqgjR45Vi03o2RbQbP3sxt90VxQ6vzdlGfkXmmKmjOi080JSHkLntjvsBJnv7gKscOaTOkEaRQqAnCA4HWtB4XnMtOhpRmH2FH8tTXrIjAGNWEmudQLCkcVlGTQ965Kh0H6ixXbgImQP6b42B49sO5C8pc7iRlgyvSYvcnH9FgQ3azLbQG2cUW96SDojTQStxkOJyOuDGTHAnnWkz29aEwN9FT8EJ4yhXOg+jLTrCPKeEoJ9a7lDXOjEr8AgX4BmnMQ668oW0zYPyQiVMPxKRHtpfnEEyaKhdzNVThlxxDQNdrHeZiUFb6NoY2KwvSb7BnRcpJy+/g/zAYx3fYSN5QEaVD2Y1VsNWxB0BSO12MRsRY8JLfAezRMz5lURuLUnG1ToKk6Q30FughqWN6gBNcFxP/nY/iv+iaUQOa+2Nuym46wtI/DvSfzSp1jEi4SdYBE7YhTiVV5cX9gwboVDMVgZp5YBQlHOQvaDNfcCoCJuYhf5kz5kwiIKPjzgpcRJHPbOhJajeoeRL53cuMahhV8Z7IRr6M4hW0JzT7mzaMUzQpm866zwM7Cs07fJYXuWvjAMkbe5O6V4bu71sOG6JQ4oL8zIeXHheFVavzxmlIyBkgc9IZlEDplMPr8xlcyss4pVUdwK1e7CK2kTsSdq7g5SHRAl3pYUB9Ko4fsh4qleOyJv1z3KFSTSvwEcRO/Ew8ozEDYZSqpfoVW9uhJfYrNAXR0Z3VmeoAD+rVWtwP/13sE/3ICX3HhDG3CMc476dEEC0K3umSAD4j+ZQLVdFOsWL2C1TH5+4KiSWH+lMibo+B55hR3Gq40G1n25sGcN0mEcoU2wN9FCVyQLBhYOu9aHVLWjEKx2JIUZi5ySoHUAI9b8hGzaLMxCZDMLhv8MkcpTqEwz9KFDpCpqQhVmsGQN8m24wyB82FAKNmjgfKRsXRmsSESovAwXjBIoMKSG51p6Um8b3i7GISs7kjTq/PZoioCfJzfKdJTN0Q45kQEQuh9H88M3yEs3DbtRTKALraM0YC8laiMiOOe6ADmTcCiREeAWZelBaEXRaSuj2lx0xHaRYqF65O0Lo5OCFU18A8cMDE4MLYm9w2QSr9NgQAIcRxZsNpA7UJR0e71JL+VU+ISWFk5I97lra8uGg7GlQYhGd4Gc6rxsLFRiIeGO4abP4S4ekQ1fiqDCy87GZHd52fn5aaDGuvOmIofrzpVwMvtbreZ/855OaXTRcNiNE0wzGZSxbjg26v8ko8L537v/XCCWP2MFaArJpvnkep0pA+O86MWjRAZPQRfznZiSIaTppy6m3p6HrNSsY7fDtz7Cl4V/DJAjQDoyiL2uwf1UHVd2AIrzBUSlJaTj4k6NL97a/GqhWKU9RUmjnYKpm2r+JYUcrkCuZKvcYvrg8pDoUKQywY9GDWg03DUFSirlUXBS5SWn/KAntnf0IdHGL/7mwXqDG+LZYjbEdQmqUqq4y54TNmWUP7IgcAw5816YBzwiNIJiE9M4lPCzeI/FGBeYy3p6IAmH4AjXXmvQ4Iy0Y82NTobcAggT2Cdqz6Mx4TdGoq9fn2etrWKUNFyatAHydQTVUQ2S5OWVUlugcNvoUrlA8cJJz9MqOa/W3iVno4zDHfE7zhoY5f5lRTVZDhrQbR8LS4eRLz8iPMyBL6o4PiLlp89FjdokQLaSBmKHUwWp0na5fE3v9zny2YcDXG/jfI9sctulHRbdkI5a4GOPJx4oAJQzVZ/yYAado8KNZUdEFs9ZPiBsausotXMNebEgr0dyopuqfScFJ3ODNPHgclACPdccwv0YJGQdsN2lhoV4HVGBxcEUeUX/alr4nqpcc1CCR3vR7g40zteQg/JvWmFlUE4mAiTpHlYGrB7w+U2KdSwQz2QJKBe/5eiixWipmfP15AFWrK8Sh1GBBYLgzki1wTMhGQmagXqJ2+FuqJ8f0XzXCVJFHQdMAw8xco11HhM347alrAu+wmX3pDFABOvkC+WPX0Uhg1Z5MVHKNROxaR84YV3s12UcM+70cJ460SzEaKLyh472vOMD3XnaK7zxZcXlWqenEvcjmgGNR2OKbI1s8U+iwiW+HotHalp3e1MGDy6BMVIvajnAzkFHbeVsgjmJUkrP9OAwnEHYXVBqYx3q7LvXjoVR0mY8h+ZaOnh053pdsGkmbqhyryN01eVHySr+CkDYkSMeZ1xjPNVM+gVLTDKu2VGsMUJqWO4TwPDP0VOg2/8ITbAUaMGb4LjL7L+Pi11lEVMXTYIlAZ/QHmTENjyx3kDkBdfcvvQt6tKk6jYFM4EG5UXDTaF5+1ZjRz6W7MdJPC+wTkbDUim4p5QQH3b9kGk2Bkilyeur8Bc20wm5uJSBO95GfYDI1EZipoRaH7uVveneqz43tlTZGRQ4a7CNmMHgXyOQQOL6WQkgMUTQDT8vh21aSdz7ERiZT1jK9F+v6wgFvuEmGngSvIUR2CJkc5tx1QygfZnAruONobB1idCLB1FCfO7N1ZdRocT8/Wye+EnDiO9pzqIpnLDl4bkaRKW+ekBVwHn46Shw1X0tclt/0ROijuUB4kIInrVJU4buWf4YITJtjOJ6iKdr1u+flgQeFH70GxKjhdgt/MrwfB4K/sXczQ+9zYcrD4dhY6qZhZ010rrxggWA8JaZyg2pYij8ieYEg1aZJkZK9O1Re7sB0iouf60rK0Gd+AYlp7soqCBCDGwfKeUQhCBn0E0o0GS6PdmjLi0TtCYZeqazqwN+yNINIA8Lk3iPDnWUiIPLGNcHmZDxfeK0iAdxm/T7LnN+gemRL61hHIc0NCAZaiYJR+OHnLWSe8sLrK905B5eEJHNlWq4RmEXIaFTmo49f8w61+NwfEUyuJAwVqZCLFcyHBKAcIVj3sNzfEOXzVKIndxHw+AR93owhbCxUZf6Gs8cz6/1VdrFEPrv330+9s6BtMVPJ3zl/Uf9rUi0Z/opexfdL3ykF76e999GPfVv8fJv/Y/+/5hEMon1tqNFyVRevV9y9/uIvsG3dbB8GRRrgaEXfhx+2xeOFt+cEn3RZanNxdEe2+B6MHpNbrRE53PlDifPvFcp4kO78ILR0T4xyW/WGPyBsqGdoA7zJJCu1TKbGfhnqgnRbxbB2B3UZoeQ2bz2sTVnUwokTcTU21RxN1PYPS3Sar7T0eRIsyCNowr9amwoMU/od9s2APtiKNL6ENOlyKADstAEWKA+sdKDhrJ6BOhRJmZ+QJbAaZ3/5Fq0/lumCgEzGEbu3yi0Y4I4EgVAjqxh4HbuQn0GrRhOWyAfsglQJAVL1y/6yezS2k8RE2MstJLh92NOB3GCYgFXznF4d25qiP4ZCyI4RYGesut6FXK6GwPpKK8WHEkhYui0AyEmr5Ml3uBFtPFdnioI8RiCooa7Z1G1WuyIi3nSNglutc+xY8BkeW3JJXPK6jd2VIMpaSxpVtFq+R+ySK9J6WG5Qvt+C+QH1hyYUOVK7857nFmyDBYgZ/o+AnibzNVqyYCJQvyDXDTK+iXdkA71bY7TL3bvuLxLBQ8kbTvTEY9aqkQ3+MiLWbEgjLzOH+lXgco1ERgzd80rDCymlpaRQbOYnKG/ODoFl46lzT0cjM5FYVvv0qLUbD5lyJtMUaC1pFlTkNONx6lliaX9o0i/1vws5bNKn5OuENQEKmLlcP4o2ZmJjD4zzd3Fk32uQ4uRWkPSUqb4LBe3EXHdORNB2BWsws5daRnMfNVX7isPSb1hMQdAJi1/qmDMfRUlCU74pmnzjbXfL8PVG8NsW6IQM2Ne23iCPIpryJjYbVnm5hCvKpMa7HLViNiNc+xTfDIaKm3jctViD8A1M9YPJNk003VVr4Zo2MuGW8vil8SLaGpPXqG7I4DLdtl8a4Rbx1Lt4w5Huqaa1XzZBtj208EJVGcmKYEuaeN27zT9EE6a09JerXdEbpaNgNqYJdhP1NdqiPKsbDRUi86XvvNC7rME5mrSQtrzAZVndtSjCMqd8BmaeGR4l4YFULGRBeXIV9Y4yxLFdyoUNpiy2IhePSWzBofYPP0eIa2q5JP4j9G8at/AqoSsLAUuRXtvgsqX/zYwsE+of6oSDbUOo4RMJw+DOUTJq+hnqwKim9Yy/napyZNTc2rCq6V9jHtJbxGPDwlzWj/Sk3zF/BHOlT/fSjSq7FqlPI1q6J+ru8Aku008SFINXZfOfnZNOvGPMtEmn2gLPt+H4QLA+/SYe4j398auzhKIp2Pok3mPC5q1IN1HgR+mnEfc4NeeHYwd2/kpszR3cBn7ni9NbIqhtSWFW8xbUJuUPVOeeXu3j0IGZmFNiwaNZ6rH4/zQ2ODz6tFxRLsUYZu1bfd1uIvfQDt4YD/efKYv8VF8bHGDgK22w2Wqwpi43vNCOXFJZCGMqWiPbL8mil6tsmOTXAWCyMCw73e2rADZj2IK6rqksM3EXF2cbLb4vjB14wa/yXK5vwU+05MzERJ5nXsXsW21o7M+gO0js2OyKciP5uF2iXyb2DiptwQeHeqygkrNsqVCSlldxBMpwHi1vfc8RKpP/4L3Lmpq6DZcvhDDfxTCE3splacTcOtXdK2g303dIWBVe2wD/Gvja1cClFQ67gw0t1ZUttsUgQ1Veky8oOpS6ksYEc4bqseCbZy766SvL3FodmnahlWJRgVCNjPxhL/fk2wyvlKhITH/VQCipOI0dNcRa5B1M5HmOBjTLeZQJy237e2mobwmDyJNHePhdDmiknvLKaDbShL+Is1XTCJuLQd2wmdJL7+mKvs294whXQD+vtd88KKk0DXP8B1Xu9J+xo69VOuFgexgTrcvI6SyltuLix9OPuE6/iRJYoBMEXxU4shQMf4Fjqwf1PtnJ/wWSZd29rhZjRmTGgiGTAUQqRz+nCdjeMfYhsBD5Lv60KILWEvNEHfmsDs2L0A252351eUoYxAysVaCJVLdH9QFWAmqJDCODUcdoo12+gd6bW2boY0pBVHWL6LQDK5bYWh1V8vFvi0cRpfwv7cJiMX3AZNJuTddHehTIdU0YQ/sQ1dLoF2xQPcCuHKiuCWOY30DHe1OwcClLAhqAKyqlnIbH/8u9ScJpcS4kgp6HKDUdiOgRaRGSiUCRBjzI5gSksMZKqy7Sd51aeg0tgJ+x0TH9YH2Mgsap9N7ENZdEB0bey2DMTrBA1hn56SErNHf3tKtqyL9b6yXEP97/rc+jgD2N1LNUH6RM9AzP3kSipr06RkKOolR7HO768jjWiH1X92jA7dkg7gcNcjqsZCgfqWw0tPXdLg20cF6vnQypg7gLtkazrHAodyYfENPQZsdfnjMZiNu4nJO97D1/sQE+3vNFzrSDOKw+keLECYf7RJwVHeP/j79833oZ0egonYB2FlFE5qj02B/LVOMJQlsB8uNg3Leg4qtZwntsOSNidR0abbZmAK4sCzvt8Yiuz2yrNCJoH5O8XvX/vLeR/BBYTWj0sOPYM/jyxRd5+/JziKAABaPcw/34UA3aj/gLZxZgRCWN6m4m3demanNgsx0P237/Q+Ew5VYnJPkyCY0cIVHoFn2Ay/e7U4P19APbPFXEHX94N6KhEMPG7iwB3+I+O1jd5n6VSgHegxgaSawO6iQCYFgDsPSMsNOcUj4q3sF6KzGaH/0u5PQoAj/8zq6Uc9MoNrGqhYeb2jQo0WlGlXjxtanZLS24/OIN5Gx/2g684BPDQpwlqnkFcxpmP/osnOXrFuu4PqifouQH0eF5qCkvITQbJw/Zvy5mAHWC9oU+cTiYhJmSfKsCyt1cGVxisKu+NymEQIAyaCgud/V09qT3nk/9s/SWsYtha7yNpzBIMM40rCSGaJ9u6lEkl00vXBiEt7p9P5IBCiavynEOv7FgLqPdeqxRiCwuFVMolSIUBcoyfUC2e2FJSAUgYdVGFf0b0Kn2EZlK97yyxrT2MVgvtRikfdaAW8RwEEfN+B7/eK8bBdp7URpbqn1xcrC6d2UjdsKbzCjBFqkKkoZt7Mrhg6YagE7spkqj0jOrWM+UGQ0MUlG2evP1uE1p2xSv4dMK0dna6ENcNUF+xkaJ7B764NdxLCpuvhblltVRAf7vK5qPttJ/9RYFUUSGcLdibnz6mf7WkPO3MkUUhR2mAOuGv8IWw5XG1ZvoVMnjSAZe6T7WYA99GENxoHkMiKxHlCuK5Gd0INrISImHQrQmv6F4mqU/TTQ8nHMDzCRivKySQ8dqkpQgnUMnwIkaAuc6/FGq1hw3b2Sba398BhUwUZSAIO8XZvnuLdY2n6hOXws+gq9BHUKcKFA6kz6FDnpxLPICa3qGhnc97bo1FT/XJk48LrkHJ2CAtBv0RtN97N21plfpXHvZ8gMJb7Zc4cfI6MbPwsW7AilCSXMFIEUEmir8XLEklA0ztYbGpTTGqttp5hpFTTIqUyaAIqvMT9A/x+Ji5ejA4Bhxb/cl1pUdOD6epd3yilIdO6j297xInoiBPuEDW2/UfslDyhGkQs7Wy253bVnlT+SWg89zYIK/9KXFl5fe+jow2rd5FXv8zDPrmfMXiUPt9QBO/iK4QGbX5j/7Rx1c1vzsY8ONbP3lVIaPrhL4+1QrECTN3nyKavGG0gBBtHvTKhGoBHgMXHStFowN+HKrPriYu+OZ05Frn8okQrPaaxoKP1ULCS/cmKFN3gcH7HQlVjraCeQmtjg1pSQxeuqXiSKgLpxc/1OiZsU4+n4lz4hpahGyWBURLi4642n1gn9qz9bIsaCeEPJ0uJmenMWp2tJmIwLQ6VSgDYErOeBCfSj9P4G/vI7oIF+l/n5fp956QgxGvur77ynawAu3G9MdFbJbu49NZnWnnFcQHjxRuhUYvg1U/e84N4JTecciDAKb/KYIFXzloyuE1eYXf54MmhjTq7B/yBToDzzpx3tJCTo3HCmVPYfmtBRe3mPYEE/6RlTIxbf4fSOcaKFGk4gbaUWe44hVk9SZzhW80yfW5QWBHxmtUzvMhfVQli4gZTktIOZd9mjJ5hsbmzttaHQB29Am3dZkmx3g/qvYocyhZ2PXAWsNQiIaf+Q8W/MWPIK7/TjvCx5q2XRp4lVWydMc2wIQkhadDB0xsnw/kSEyGjLKjI4coVIwtubTF3E7MJ6LS6UOsJKj82XVAVPJJcepfewbzE91ivXZvOvYfsmMevwtPpfMzGmC7WJlyW2j0jh7AF1JLmwEJSKYwIvu6DHc3YnyLH9ZdIBnQ+nOVDRiP+REpqv++typYHIvoJyICGA40d8bR7HR2k7do6UQTHF4oriYeIQbxKe4Th6+/l1BjUtS9hqORh3MbgvYrStXTfSwaBOmAVQZzpYNqsAmQyjY56MUqty3c/xH6GuhNvNaG9vGbG6cPtBM8UA3e8r51D0AR9kozKuGGSMgLz3nAHxDNnc7GTwpLj7/6HeWp1iksDeTjwCLpxejuMtpMnGJgsiku1sOACwQ9ukzESiDRN77YNESxR5LphOlcASXA5uIts1LnBIcn1J7BLWs49DMALSnuz95gdOrTZr0u1SeYHinno/pE58xYoXbVO/S+FEMMs5qyWkMnp8Q3ClyTlZP52Y9nq7b8fITPuVXUk9ohG5EFHw4gAEcjFxfKb3xuAsEjx2z1wxNbSZMcgS9GKyW3R6KwJONgtA64LTyxWm8Bvudp0M1FdJPEGopM4Fvg7G/hsptkhCfHFegv4ENwxPeXmYhxwZy7js+BeM27t9ODBMynVCLJ7RWcBMteZJtvjOYHb5lOnCLYWNEMKC59BA7covu1cANa2PXL05iGdufOzkgFqqHBOrgQVUmLEc+Mkz4Rq8O6WkNr7atNkH4M8d+SD1t/tSzt3oFql+neVs+AwEI5JaBJaxARtY2Z4mKoUqxds4UpZ0sv3zIbNoo0J4fihldQTX3XNcuNcZmcrB5LTWMdzeRuAtBk3cZHYQF6gTi3PNuDJ0nmR+4LPLoHvxQIxRgJ9iNNXqf2SYJhcvCtJiVWo85TsyFOuq7EyBPJrAdhEgE0cTq16FQXhYPJFqSfiVn0IQnPOy0LbU4BeG94QjdYNB0CiQ3QaxQqD2ebSMiNjaVaw8WaM4Z5WnzcVDsr4eGweSLa2DE3BWViaxhZFIcSTjgxNCAfelg+hznVOYoe5VqTYs1g7WtfTm3e4/WduC6p+qqAM8H4ZyrJCGpewThTDPe6H7CzX/zQ8Tm+r65HeZn+MsmxUciEWPlAVaK/VBaQBWfoG/aRL/jSZIQfep/89GjasWmbaWzeEZ2R1FOjvyJT37O9B8046SRSKVEnXWlBqbkb5XCS3qFeuE9xb9+frEknxWB5h1D/hruz2iVDEAS7+qkEz5Ot5agHJc7WCdY94Ws61sURcX5nG8UELGBAHZ3i+3VulAyT0nKNNz4K2LBHBWJcTBX1wzf+//u/j/9+//v87+9/l9Lbh/L/uyNYiTsWV2LwsjaA6MxTuzFMqmxW8Jw/+IppdX8t/Clgi1rI1SN0UC/r6tX/4lUc2VV1OQReSeCsjUpKZchw4XUcjHfw6ryCV3R8s6VXm67vp4n+lcPV9gJwmbKQEsmrJi9c2vkwrm8HFbVYNTaRGq8D91t9n5+U+aD/hNtN3HjC/nC/vUoGFSCkXP+NlRcmLUqLbiUBl4LYf1U/CCvwtd3ryCH8gUmGITAxiH1O5rnGTz7y1LuFjmnFGQ1UWuM7HwfXtWl2fPFKklYwNUpF2IL/TmaRETjQiM5SJacI+3Gv5MBU8lP5Io6gWkawpyzNEVGqOdx4YlO1dCvjbWFZWbCmeiFKPSlMKtKcMFLs/KQxtgAHi7NZNCQ32bBAW2mbHflVZ8wXKi1JKVHkW20bnYnl3dKWJeWJOiX3oKPBD6Zbi0ZvSIuWktUHB8qDR8DMMh1ZfkBL9FS9x5r0hBGLJ8pUCJv3NYH+Ae8p40mZWd5m5fhobFjQeQvqTT4VKWIYfRL0tfaXKiVl75hHReuTJEcqVlug+eOIIc4bdIydtn2K0iNZPsYWQvQio2qbO3OqAlPHDDOB7DfjGEfVF51FqqNacd6QmgFKJpMfLp5DHTv4wXlONKVXF9zTJpDV4m1sYZqJPhotcsliZM8yksKkCkzpiXt+EcRQvSQqmBS9WdWkxMTJXPSw94jqI3varCjQxTazjlMH8jTS8ilaW8014/vwA/LNa+YiFoyyx3s/KswP3O8QW1jtq45yTM/DX9a8M4voTVaO2ebvw1EooDw/yg6Y1faY+WwrdVs5Yt0hQ5EwRfYXSFxray1YvSM+kYmlpLG2/9mm1MfmbKHXr44Ih8nVKb1M537ZANUkCtdsPZ80JVKVKabVHCadaLXg+IV8i5GSwpZti0h6diTaKs9sdpUKEpd7jDUpYmHtiX33SKiO3tuydkaxA7pEc9XIQEOfWJlszj5YpL5bKeQyT7aZSBOamvSHl8xsWvgo26IP/bqk+0EJUz+gkkcvlUlyPp2kdKFtt7y5aCdks9ZJJcFp5ZWeaWKgtnXMN3ORwGLBE0PtkEIek5FY2aVssUZHtsWIvnljMVJtuVIjpZup/5VL1yPOHWWHkOMc6YySWMckczD5jUj2mlLVquFaMU8leGVaqeXis+aRRL8zm4WuBk6cyWfGMxgtr8useQEx7k/PvRoZyd9nde1GUCV84gMX8Ogu/BWezYPSR27llzQnA97oo0pYyxobYUJfsj+ysTm9zJ+S4pk0TGo9VTG0KjqYhTmALfoDZVKla2b5yhv241PxFaLJs3i05K0AAIdcGxCJZmT3ZdT7CliR7q+kur7WdQjygYtOWRL9B8E4s4LI8KpAj7bE0dg7DLOaX+MGeAi0hMMSSWZEz+RudXbZCsGYS0QqiXjH9XQbd8sCB+nIVTq7/T/FDS+zWY9q7Z2fdq1tdLb6v3hKKVDAw5gjj6o9r1wHFROdHc18MJp4SJ2Ucvu+iQ9EgkekW8VCM+psM6y+/2SBy8tNN4a3L1MzP+OLsyvESo5gS7IQOnIqMmviJBVc6zbVG1n8eXiA3j46kmvvtJlewwNDrxk4SbJOtP/TV/lIVK9ueShNbbMHfwnLTLLhbZuO79ec5XvfgRwLFK+w1r5ZWW15rVFZrE+wKqNRv5KqsLNfpGgnoUU6Y71NxEmN7MyqwqAQqoIULOw/LbuUB2+uE75gJt+kq1qY4LoxV+qR/zalupea3D5+WMeaRIn0sAI6DDWDh158fqUb4YhAxhREbUN0qyyJYkBU4V2KARXDT65gW3gRsiv7xSPYEKLwzgriWcWgPr0sbZnv7m1XHNFW6xPdGNZUdxFiUYlmXNjDVWuu7LCkX/nVkrXaJhiYktBISC2xgBXQnNEP+cptWl1eG62a7CPXrnrkTQ5BQASbEqUZWMDiZUisKyHDeLFOaJILUo5f6iDt4ZO8MlqaKLto0AmTHVVbkGuyPa1R/ywZsWRoRDoRdNMMHwYTsklMVnlAd2S0282bgMI8fiJpDh69OSL6K3qbo20KfpNMurnYGQSr/stFqZ7hYsxKlLnKAKhsmB8AIpEQ4bd/NrTLTXefsE6ChRmKWjXKVgpGoPs8GAicgKVw4K0qgDgy1A6hFq1WRat3fHF+FkU+b6H4NWpOU3KXTxrIb2qSHAb+qhm8hiSROi/9ofapjxhyKxxntPpge6KL5Z4+WBMYkAcE6+0Hd3Yh2zBsK2MV3iW0Y6cvOCroXlRb2MMJtdWx+3dkFzGh2Pe3DZ9QpSqpaR/rE1ImOrHqYYyccpiLC22amJIjRWVAherTfpQLmo6/K2pna85GrDuQPlH1Tsar8isAJbXLafSwOof4gg9RkAGm/oYpBQQiPUoyDk2BCQ1k+KILq48ErFo4WSRhHLq/y7mgw3+L85PpP6xWr6cgp9sOjYjKagOrxF148uhuaWtjet953fh1IQiEzgC+d2IgBCcUZqgTAICm2bR8oCjDLBsmg+ThyhfD+zBalsKBY1Ce54Y/t9cwfbLu9SFwEgphfopNA3yNxgyDafUM3mYTovZNgPGdd4ZFFOj1vtfFW3u7N+iHEN1HkeesDMXKPyoCDCGVMo4GCCD6PBhQ3dRZIHy0Y/3MaE5zU9mTCrwwnZojtE+qNpMSkJSpmGe0EzLyFelMJqhfFQ7a50uXxZ8pCc2wxtAKWgHoeamR2O7R+bq7IbPYItO0esdRgoTaY38hZLJ5y02oIVwoPokGIzxAMDuanQ1vn2WDQ00Rh6o5QOaCRu99fwDbQcN0XAuqkFpxT/cfz3slGRVokrNU0iqiMAJFEbKScZdmSkTUznC0U+MfwFOGdLgsewRyPKwBZYSmy6U325iUhBQNxbAC3FLKDV9VSOuQpOOukJ/GAmu/tyEbX9DgEp6dv1zoU0IqzpG6gssSjIYRVPGgU1QAQYRgIT8gEV0EXr1sqeh2I6rXjtmoCYyEDCe/PkFEi/Q48FuT29p557iN+LCwk5CK/CZ2WdAdfQZh2Z9QGrzPLSNRj5igUWzl9Vi0rCqH8G1Kp4QMLkuwMCAypdviDXyOIk0AHTM8HBYKh3b0/F+DxoNj4ZdoZfCpQVdnZarqoMaHWnMLNVcyevytGsrXQEoIbubqWYNo7NRHzdc0zvT21fWVirj7g36iy6pxogfvgHp1xH1Turbz8QyyHnXeBJicpYUctbzApwzZ1HT+FPEXMAgUZetgeGMwt4G+DHiDT2Lu+PT21fjJCAfV16a/Wu1PqOkUHSTKYhWW6PhhHUlNtWzFnA7MbY+r64vkwdpfNB2JfWgWXAvkzd42K4lN9x7Wrg4kIKgXCb4mcW595MCPJ/cTfPAMQMFWwnqwde4w8HZYJFpQwcSMhjVz4B8p6ncSCN1X4klxoIH4BN2J6taBMj6lHkAOs8JJAmXq5xsQtrPIPIIp/HG6i21xMGcFgqDXSRF0xQg14d2uy6HgKE13LSvQe52oShF5Jx1R6avyL4thhXQZHfC94oZzuPUBKFYf1VvDaxIrtV6dNGSx7DO0i1p6CzBkuAmEqyWceQY7F9+U0ObYDzoa1iKao/cOD/v6Q9gHrrr1uCeOk8fST9MG23Ul0KmM3r+Wn6Hi6WAcL7gEeaykicvgjzkjSwFsAXIR81Zx4QJ6oosVyJkCcT+4xAldCcihqvTf94HHUPXYp3REIaR4dhpQF6+FK1H0i9i7Pvh8owu3lO4PT1iuqu+DkL2Bj9+kdfGAg2TXw03iNHyobxofLE2ibjsYDPgeEQlRMR7afXbSGQcnPjI2D+sdtmuQ771dbASUsDndU7t58jrrNGRzISvwioAlHs5FA+cBE5Ccznkd8NMV6BR6ksnKLPZnMUawRDU1MZ/ib3xCdkTblHKu4blNiylH5n213yM0zubEie0o4JhzcfAy3H5qh2l17uLooBNLaO+gzonTH2uF8PQu9EyH+pjGsACTMy4cHzsPdymUSXYJOMP3yTkXqvO/lpvt0cX5ekDEu9PUfBeZODkFuAjXCaGdi6ew4qxJ8PmFfwmPpkgQjQlWqomFY6UkjmcnAtJG75EVR+NpzGpP1Ef5qUUbfowrC3zcSLX3BxgWEgEx/v9cP8H8u1Mvt9/rMDYf6sjwU1xSOPBgzFEeJLMRVFtKo5QHsUYT8ZRLCah27599EuqoC9PYjYO6aoAMHB8X1OHwEAYouHfHB3nyb2B+SnZxM/vw/bCtORjLMSy5aZoEpvgdGvlJfNPFUu/p7Z4VVK1hiI0/UTuB3ZPq4ohEbm7Mntgc1evEtknaosgZSwnDC2BdMmibpeg48X8Ixl+/8+xXdbshQXUPPvx8jT3fkELivHSmqbhblfNFShWAyQnJ3WBU6SMYSIpTDmHjdLVAdlADdz9gCplZw6mTiHqDwIsxbm9ErGusiVpg2w8Q3khKV/R9Oj8PFeF43hmW/nSd99nZzhyjCX3QOZkkB6BsH4H866WGyv9E0hVAzPYah2tkRfQZMmP2rinfOeQalge0ovhduBjJs9a1GBwReerceify49ctOh5/65ATYuMsAkVltmvTLBk4oHpdl6i+p8DoNj4Fb2vhdFYer2JSEilEwPd5n5zNoGBXEjreg/wh2NFnNRaIUHSOXa4eJRwygZoX6vnWnqVdCRT1ARxeFrNBJ+tsdooMwqnYhE7zIxnD8pZH+P0Nu1wWxCPTADfNWmqx626IBJJq6NeapcGeOmbtXvl0TeWG0Y7OGGV4+EHTtNBIT5Wd0Bujl7inXgZgfXTM5efD3qDTJ54O9v3Bkv+tdIRlq1kXcVD0BEMirmFxglNPt5pedb1AnxuCYMChUykwsTIWqT23XDpvTiKEru1cTcEMeniB+HQDehxPXNmkotFdwUPnilB/u4Nx5Xc6l8J9jH1EgKZUUt8t8cyoZleDBEt8oibDmJRAoMKJ5Oe9CSWS5ZMEJvacsGVdXDWjp/Ype5x0p9PXB2PAwt2LRD3d+ftNgpuyvxlP8pB84oB1i73vAVpwyrmXW72hfW6Dzn9Jkj4++0VQ4d0KSx1AsDA4OtXXDo63/w+GD+zC7w5SJaxsmnlYRQ4dgdjA7tTl2KNLnpJ+mvkoDxtt1a4oPaX3EVqj96o9sRKBQqU7ZOiupeAIyLMD+Y3YwHx30XWHB5CQiw7q3mj1EDlP2eBsZbz79ayUMbyHQ7s8gu4Lgip1LiGJj7NQj905/+rgUYKAA5qdrlHKIknWmqfuR+PB8RdBkDg/NgnlT89G72h2NvySnj7UyBwD+mi/IWs1xWbxuVwUIVXun5cMqBtFbrccI+DILjsVQg6eeq0itiRfedn89CvyFtpkxaauEvSANuZmB1p8FGPbU94J9medwsZ9HkUYjmI7OH5HuxendLbxTaYrPuIfE2ffXFKhoNBUp33HsFAXmCV/Vxpq5AYgFoRr5Ay93ZLRlgaIPjhZjXZZChT+aE5iWAXMX0oSFQEtwjiuhQQItTQX5IYrKfKB+queTNplR1Hoflo5/I6aPPmACwQCE2jTOYo5Dz1cs7Sod0KTG/3kEDGk3kUaUCON19xSJCab3kNpWZhSWkO8l+SpW70Wn3g0ciOIJO5JXma6dbos6jyisuxXwUUhj2+1uGhcvuliKtWwsUTw4gi1c/diEEpZHoKoxTBeMDmhPhKTx7TXWRakV8imJR355DcIHkR9IREHxohP4TbyR5LtFU24umRPRmEYHbpe1LghyxPx7YgUHjNbbQFRQhh4KeU1EabXx8FS3JAxp2rwRDoeWkJgWRUSKw6gGP5U2PuO9V4ZuiKXGGzFQuRuf+tkSSsbBtRJKhCi3ENuLlXhPbjTKD4djXVnfXFds6Zb+1XiUrRfyayGxJq1+SYBEfbKlgjiSmk0orgTqzSS+DZ5rTqsJbttiNtp+KMqGE2AHGFw6jQqM5vD6vMptmXV9OAjq49Uf/Lx9Opam+Hn5O9p8qoBBAQixzQZ4eNVkO9sPzJAMyR1y4/RCQQ1s0pV5KAU5sKLw3tkcFbI/JqrjCsK4Mw+W8aod4lioYuawUiCyVWBE/qPaFi5bnkgpfu/ae47174rI1fqQoTbW0HrU6FAejq7ByM0V4zkZTg02/YJK2N7hUQRCeZ4BIgSEqgD8XsjzG6LIsSbuHoIdz/LhFzbNn1clci1NHWJ0/6/O8HJMdIpEZbqi1RrrFfoo/rI/7ufm2MPG5lUI0IYJ4MAiHRTSOFJ2oTverFHYXThkYFIoyFx6rMYFgaOKM4xNWdlOnIcKb/suptptgTOTdVIf4YgdaAjJnIAm4qNNHNQqqAzvi53GkyRCEoseUBrHohZsjUbkR8gfKtc/+Oa72lwxJ8Mq6HDfDATbfbJhzeIuFQJSiw1uZprHlzUf90WgqG76zO0eCB1WdPv1IT6sNxxh91GEL2YpgC97ikFHyoaH92ndwduqZ6IYjkg20DX33MWdoZk7QkcKUCgisIYslOaaLyvIIqRKWQj16jE1DlQWJJaPopWTJjXfixEjRJJo8g4++wuQjbq+WVYjsqCuNIQW3YjnxKe2M5ZKEqq+cX7ZVgnkbsU3RWIyXA1rxv4kGersYJjD//auldXGmcEbcfTeF16Y1708FB1HIfmWv6dSFi6oD4E+RIjCsEZ+kY7dKnwReJJw3xCjKvi3kGN42rvyhUlIz0Bp+fNSV5xwFiuBzG296e5s/oHoFtUyUplmPulIPl+e1CQIQVtjlzLzzzbV+D/OVQtYzo5ixtMi5BmHuG4N/uKfJk5UIREp7+12oZlKtPBomXSzAY0KgtbPzzZoHQxujnREUgBU+O/jKKhgxVhRPtbqyHiUaRwRpHv7pgRPyUrnE7fYkVblGmfTY28tFCvlILC04Tz3ivkNWVazA+OsYrxvRM/hiNn8Fc4bQBeUZABGx5S/xFf9Lbbmk298X7iFg2yeimvsQqqJ+hYbt6uq+Zf9jC+Jcwiccd61NKQtFvGWrgJiHB5lwi6fR8KzYS7EaEHf/ka9EC7H8D+WEa3TEACHBkNSj/cXxFeq4RllC+fUFm2xtstYLL2nos1DfzsC9vqDDdRVcPA3Ho95aEQHvExVThXPqym65llkKlfRXbPTRiDepdylHjmV9YTWAEjlD9DdQnCem7Aj/ml58On366392214B5zrmQz/9ySG2mFqEwjq5sFl5tYJPw5hNz8lyZPUTsr5E0F2C9VMPnZckWP7+mbwp/BiN7f4kf7vtGnZF2JGvjK/sDX1RtcFY5oPQnE4lIAYV49U3C9SP0LCY/9i/WIFK9ORjzM9kG/KGrAuwFmgdEpdLaiqQNpCTGZVuAO65afkY1h33hrqyLjZy92JK3/twdj9pafFcwfXONmPQWldPlMe7jlP24Js0v9m8bIJ9TgS2IuRvE9ZVRaCwSJYOtAfL5H/YS4FfzKWKbek+GFulheyKtDNlBtrdmr+KU+ibHTdalzFUmMfxw3f36x+3cQbJLItSilW9cuvZEMjKw987jykZRlsH/UI+HlKfo2tLwemBEeBFtmxF2xmItA/dAIfQ+rXnm88dqvXa+GapOYVt/2waFimXFx3TC2MUiOi5/Ml+3rj/YU6Ihx2hXgiDXFsUeQkRAD6wF3SCPi2flk7XwKAA4zboqynuELD312EJ88lmDEVOMa1W/K/a8tGylZRMrMoILyoMQzzbDJHNZrhH77L9qSC42HVmKiZ5S0016UTp83gOhCwz9XItK9fgXfK3F5d7nZCBUekoLxrutQaPHa16Rjsa0gTrzyjqTnmcIcrxg6X6dkKiucudc0DD5W4pJPf0vuDW8r5/uw24YfMuxFRpD2ovT2mFX79xH6Jf+MVdv2TYqR6/955QgVPe3JCD/WjAYcLA9tpXgFiEjge2J5ljeI/iUzg91KQuHkII4mmHZxC3XQORLAC6G7uFn5LOmlnXkjFdoO976moNTxElS8HdxWoPAkjjocDR136m2l+f5t6xaaNgdodOvTu0rievnhNAB79WNrVs6EsPgkgfahF9gSFzzAd+rJSraw5Mllit7vUP5YxA843lUpu6/5jAR0RvH4rRXkSg3nE+O5GFyfe+L0s5r3k05FyghSFnKo4TTgs07qj4nTLqOYj6qaW9knJTDkF5OFMYbmCP+8H16Ty482OjvERV6OFyw043L9w3hoJi408sR+SGo1WviXUu8d7qS+ehKjpKwxeCthsm2LBFSFeetx0x4AaKPxtp3CxdWqCsLrB1s/j5TAhc1jNZsXWl6tjo/WDoewxzg8T8NnhZ1niUwL/nhfygLanCnRwaFGDyLw+sfZhyZ1UtYTp8TYB6dE7R3VsKKH95CUxJ8u8N+9u2/9HUNKHW3x3w5GQrfOPafk2w5qZq8MaHT0ebeY3wIsp3rN9lrpIsW9c1ws3VNV+JwNz0Lo9+V7zZr6GD56We6gWVIvtmam5GPPkVAbr74r6SwhuL+TRXtW/0pgyX16VNl4/EAD50TnUPuwrW6OcUO2VlWXS0inq872kk7GUlW6o/ozFKq+Sip6LcTtSDfDrPTcCHhx75H8BeRon+KG2wRwzfDgWhALmiWOMO6h3pm1UCZEPEjScyk7tdLx6WrdA2N1QTPENvNnhCQjW6kl057/qv7IwRryHrZBCwVSbLLnFRiHdTwk8mlYixFt1slEcPD7FVht13HyqVeyD55HOXrh2ElAxJyinGeoFzwKA91zfrdLvDxJSjzmImfvTisreI25EDcVfGsmxLVbfU8PGe/7NmWWKjXcdTJ11jAlVIY/Bv/mcxg/Q10vCHwKG1GW/XbJq5nxDhyLqiorn7Wd7VEVL8UgVzpHMjQ+Z8DUgSukiVwWAKkeTlVVeZ7t1DGnCgJVIdBPZAEK5f8CDyDNo7tK4/5DBjdD5MPV86TaEhGsLVFPQSI68KlBYy84FievdU9gWh6XZrugvtCZmi9vfd6db6V7FmoEcRHnG36VZH8N4aZaldq9zZawt1uBFgxYYx+Gs/qW1jwANeFy+LCoymyM6zgG7j8bGzUyLhvrbJkTYAEdICEb4kMKusKT9V3eIwMLsjdUdgijMc+7iKrr+TxrVWG0U+W95SGrxnxGrE4eaJFfgvAjUM4SAy8UaRwE9j6ZQH5qYAWGtXByvDiLSDfOD0yFA3UCMKSyQ30fyy1mIRg4ZcgZHLNHWl+c9SeijOvbOJxoQy7lTN2r3Y8p6ovxvUY74aOYbuVezryqXA6U+fcp6wSV9X5/OZKP18tB56Ua0gMyxJI7XyNT7IrqN8GsB9rL/kP5KMrjXxgqKLDa+V5OCH6a5hmOWemMUsea9vQl9t5Oce76PrTyTv50ExOqngE3PHPfSL//AItPdB7kGnyTRhVUUFNdJJ2z7RtktZwgmQzhBG/G7QsjZmJfCE7k75EmdIKH7xlnmDrNM/XbTT6FzldcH/rcRGxlPrv4qDScqE7JSmQABJWqRT/TUcJSwoQM+1jvDigvrjjH8oeK2in1S+/yO1j8xAws/T5u0VnIvAPqaE1atNuN0cuRliLcH2j0nTL4JpcR7w9Qya0JoaHgsOiALLCCzRkl1UUESz+ze/gIXHGtDwgYrK6pCFKJ1webSDog4zTlPkgXZqxlQDiYMjhDpwTtBW2WxthWbov9dt2X9XFLFmcF+eEc1UaQ74gqZiZsdj63pH1qcv3Vy8JYciogIVKsJ8Yy3J9w/GhjWVSQAmrS0BPOWK+RKV+0lWqXgYMnIFwpcZVD7zPSp547i9HlflB8gVnSTGmmq1ClO081OW/UH11pEQMfkEdDFzjLC1Cdo/BdL3s7cXb8J++Hzz1rhOUVZFIPehRiZ8VYu6+7Er7j5PSZu9g/GBdmNzJmyCD9wiswj9BZw+T3iBrg81re36ihMLjoVLoWc+62a1U/7qVX5CpvTVF7rocSAKwv4cBVqZm7lLDS/qoXs4fMs/VQi6BtVbNA3uSzKpQfjH1o3x4LrvkOn40zhm6hjduDglzJUwA0POabgdXIndp9fzhOo23Pe+Rk9GSLX0d71Poqry8NQDTzNlsa+JTNG9+UrEf+ngxCjGEsDCc0bz+udVRyHQI1jmEO3S+IOQycEq7XwB6z3wfMfa73m8PVRp+iOgtZfeSBl01xn03vMaQJkyj7vnhGCklsCWVRUl4y+5oNUzQ63B2dbjDF3vikd/3RUMifPYnX5Glfuk2FsV/7RqjI9yKTbE8wJY+74p7qXO8+dIYgjtLD/N8TJtRh04N9tXJA4H59IkMmLElgvr0Q5OCeVfdAt+5hkh4pQgfRMHpL74XatLQpPiOyHRs/OdmHtBf8nOZcxVKzdGclIN16lE7kJ+pVMjspOI+5+TqLRO6m0ZpNXJoZRv9MPDRcAfJUtNZHyig/s2wwReakFgPPJwCQmu1I30/tcBbji+Na53i1W1N+BqoY7Zxo+U/M9XyJ4Ok2SSkBtoOrwuhAY3a03Eu6l8wFdIG1cN+e8hopTkiKF093KuH/BcB39rMiGDLn6XVhGKEaaT/vqb/lufuAdpGExevF1+J9itkFhCfymWr9vGb3BTK4j598zRH7+e+MU9maruZqb0pkGxRDRE1CD4Z8LV4vhgPidk5w2Bq816g3nHw1//j3JStz7NR9HIWELO8TMn3QrP/zZp//+Dv9p429/ogv+GATR+n/UdF+ns9xNkXZQJXY4t9jMkJNUFygAtzndXwjss+yWH9HAnLQQfhAskdZS2l01HLWv7L7us5uTH409pqitvfSOQg/c+Zt7k879P3K9+WV68n7+3cZfuRd/dDPP/03rn+d+/nBvWfgDlt8+LzjqJ/vx3CnNOwiXhho778C96iD+1TBvRZYeP+EH81LE0vVwOOrmCLB3iKzI1x+vJEsrPH4uF0UB4TJ4X3uDfOCo3PYpYe0MF4bouh0DQ/l43fxUF7Y+dpWuvTSffB0yO2UQUETI/LwCZE3BvnevJ7c9zUlY3H58xzke6DNFDQG8n0WtDN4LAYN4nogKav1ezOfK/z+t6tsCTp+dhx4ymjWuCJk1dEUifDP+HyS4iP/Vg9B2jTo9L4NbiBuDS4nuuHW6H+JDQn2JtqRKGkEQPEYE7uzazXIkcxIAqUq1esasZBETlEZY7y7Jo+RoV/IsjY9eIMkUvr42Hc0xqtsavZvhz1OLwSxMOTuqzlhb0WbdOwBH9EYiyBjatz40bUxTHbiWxqJ0uma19qhPruvcWJlbiSSH48OLDDpaHPszvyct41ZfTu10+vjox6kOqK6v0K/gEPphEvMl/vwSv+A4Hhm36JSP9IXTyCZDm4kKsqD5ay8b1Sad/vaiyO5N/sDfEV6Z4q95E+yfjxpqBoBETW2C7xl4pIO2bDODDFurUPwE7EWC2Uplq+AHmBHvir2PSgkR12/Ry65O0aZtQPeXi9mTlF/Wj5GQ+vFkYyhXsLTjrBSP9hwk4GPqDP5rBn5/l8b0mLRAvRSzXHc293bs3s8EsdE3m2exxidWVB4joHR+S+dz5/W+v00K3TqN14CDBth8eWcsTbiwXPsygHdGid0PEdy6HHm2v/IUuV5RVapYmzGsX90mpnIdNGcOOq64Dbc5GUbYpD9M7S+6cLY//QmjxFLP5cuTFRm3vA5rkFZroFnO3bjHF35uU3s8mvL7Tp9nyTc4mymTJ5sLIp7umSnGkO23faehtz3mmTS7fbVx5rP7x3HXIjRNeq/A3xCs9JNB08c9S9BF2O3bOur0ItslFxXgRPdaapBIi4dRpKGxVz7ir69t/bc9qTxjvtOyGOfiLGDhR4fYywHv1WdOplxIV87TpLBy3Wc0QP0P9s4G7FBNOdITS/tep3o3h1TEa5XDDii7fWtqRzUEReP2fbxz7bHWWJdbIOxOUJZtItNZpTFRfj6vm9sYjRxQVO+WTdiOhdPeTJ+8YirPvoeL88l5iLYOHd3b/Imkq+1ZN1El3UikhftuteEYxf1Wujof8Pr4ICTu5ezZyZ4tHQMxlzUHLYO2VMOoNMGL/20S5i2o2obfk+8qqdR7xzbRDbgU0lnuIgz4LelQ5XS7xbLuSQtNS95v3ZUOdaUx/Qd8qxCt6xf2E62yb/HukLO6RyorV8KgYl5YNc75y+KvefrxY+lc/64y9kvWP0a0bDz/rojq+RWjO06WeruWqNFU7r3HPIcLWRql8ICZsz2Ls/qOm/CLn6++X+Qf7mGspYCrZod/lpl6Rw4xN/yuq8gqV4B6aHk1hVE1SfILxWu5gvXqbfARYQpspcxKp1F/c8XOPzkZvmoSw+vEqBLdrq1fr3wAPv5NnM9i8F+jdAuxkP5Z71c6uhK3enlnGymr7UsWZKC12qgUiG8XXGQ9mxnqz4GSIlybF9eXmbqj2sHX+a1jf0gRoONHRdRSrIq03Ty89eQ1GbV/Bk+du4+V15zls+vvERvZ4E7ZbnxWTVjDjb4o/k8jlw44pTIrUGxxuJvBeO+heuhOjpFsO6lVJ/aXnJDa/bM0Ql1cLbXE/Pbv3EZ3vj3iVrB5irjupZTzlnv677NrI9UNYNqbPgp/HZXS+lJmk87wec+7YOxTDo2aw2l3NfDr34VNlvqWJBknuK7oSlZ6/T10zuOoPZOeoIk81N+sL843WJ2Q4Z0fZ3scsqC/JV2fuhWi1jGURSKZV637lf53Xnnx16/vKEXY89aVJ0fv91jGdfG+G4+sniwHes4hS+udOr4RfhFhG/F5gUG35QaU+McuLmclb5ZWmR+sG5V6nf+PxYzlrnFGxpZaK8eqqVo0NfmAWoGfXDiT/FnUbWvzGDOTr8aktOZWg4BYvz5YH12ZbfCcGtNk+dDAZNGWvHov+PIOnY9Prjg8h/wLRrT69suaMVZ5bNuK00lSVpnqSX1NON/81FoP92rYndionwgOiA8WMf4vc8l15KqEEG4yAm2+WAN5Brfu1sq9suWYqgoajgOYt/JCk1gC8wPkK+XKCtRX6TAtgvrnuBgNRmn6I8lVDipOVB9kX6Oxkp4ZKyd1M6Gj8/v2U7k+YQBL95Kb9PQENucJb0JlW3b5tObN7m/Z1j1ev388d7o15zgXsI9CikAGAViR6lkJv7nb4Ak40M2G8TJ447kN+pvfHiOFjSUSP6PM+QfbAywKJCBaxSVxpizHseZUyUBhq59vFwrkyGoRiHbo0apweEZeSLuNiQ+HAekOnarFg00dZNXaPeoHPTRR0FmEyqYExOVaaaO8c0uFUh7U4e/UxdBmthlBDgg257Q33j1hA7HTxSeTTSuVnPZbgW1nodwmG16aKBDKxEetv7D9OjO0JhrbJTnoe+kcGoDJazFSO8/fUN9Jy/g4XK5PUkw2dgPDGpJqBfhe7GA+cjzfE/EGsMM+FV9nj9IAhrSfT/J3QE5TEIYyk5UjsI6ZZcCPr6A8FZUF4g9nnpVmjX90MLSQysIPD0nFzqwCcSJmIb5mYv2Cmk+C1MDFkZQyCBq4c/Yai9LJ6xYkGS/x2s5/frIW2vmG2Wrv0APpCdgCA9snFvfpe8uc0OwdRs4G9973PGEBnQB5qKrCQ6m6X/H7NInZ7y/1674/ZXOVp7OeuCRk8JFS516VHrnH1HkIUIlTIljjHaQtEtkJtosYul77cVwjk3gW1Ajaa6zWeyHGLlpk3VHE2VFzT2yI/EvlGUSz2H9zYE1s4nsKMtMqNyKNtL/59CpFJki5Fou6VXGm8vWATEPwrUVOLvoA8jLuwOzVBCgHB2Cr5V6OwEWtJEKokJkfc87h+sNHTvMb0KVTp5284QTPupoWvQVUwUeogZR3kBMESYo0mfukewRVPKh5+rzLQb7HKjFFIgWhj1w3yN/qCNoPI8XFiUgBNT1hCHBsAz8L7Oyt8wQWUFj92ONn/APyJFg8hzueqoJdNj57ROrFbffuS/XxrSXLTRgj5uxZjpgQYceeMc2wJrahReSKpm3QjHfqExTLAB2ipVumE8pqcZv8LYXQiPHHsgb5BMW8zM5pvQit+mQx8XGaVDcfVbLyMTlY8xcfmm/RSAT/H09UQol5gIz7rESDmnrQ4bURIB4iRXMDQwxgex1GgtDxKp2HayIkR+E/aDmCttNm2C6lytWdfOVzD6X2SpDWjQDlMRvAp1symWv4my1bPCD+E1EmGnMGWhNwmycJnDV2WrQNxO45ukEb08AAffizYKVULp15I4vbNK5DzWwCSUADfmKhfGSUqii1L2UsE8rB7mLuHuUJZOx4+WiizHBJ/hwboaBzhpNOVvgFTf5cJsHef7L1HCI9dOUUbb+YxUJWn6dYOLz+THi91kzY5dtO5c+grX7v0jEbsuoOGnoIreDIg/sFMyG+TyCLIcAWd1IZ1UNFxE8Uie13ucm40U2fcxC0u3WLvLOxwu+F7MWUsHsdtFQZ7W+nlfCASiAKyh8rnP3EyDByvtJb6Kax6/HkLzT9SyEyTMVM1zPtM0MJY14DmsWh4MgD15Ea9Hd00AdkTZ0EiG5NAGuIBzQJJ0JR0na+OB7lQA6UKxMfihIQ7GCCnVz694QvykWXTxpS2soDu+smru1UdIxSvAszBFD1c8c6ZOobA8bJiJIvuycgIXBQIXWwhyTgZDQxJTRXgEwRNAawGSXO0a1DKjdihLVNp/taE/xYhsgwe+VpKEEB4LlraQyE84gEihxCnbfoyOuJIEXy2FIYw+JjRusybKlU2g/vhTSGTydvCvXhYBdtAXtS2v7LkHtmXh/8fly1do8FI/D0f8UbzVb5h+KRhMGSAmR2mhi0YG/uj7wgxcfzCrMvdjitUIpXDX8ae2JcF/36qUWIMwN6JsjaRGNj+jEteGDcFyTUb8X/NHSucKMJp7pduxtD6KuxVlyxxwaeiC1FbGBESO84lbyrAugYxdl+2N8/6AgWpo/IeoAOcsG35IA/b3AuSyoa55L7llBLlaWlEWvuCFd8f8NfcTUgzJv6CbB+6ohWwodlk9nGWFpBAOaz5uEW5xBvmjnHFeDsb0mXwayj3mdYq5gxxNf3H3/tnCgHwjSrpSgVxLmiTtuszdRUFIsn6LiMPjL808vL1uQhDbM7aA43mISXReqjSskynIRcHCJ9qeFopJfx9tqyUoGbSwJex/0aDE3plBPGtNBYgWbdLom3+Q/bjdizR2/AS/c/dH/d3G7pyl1qDXgtOFtEqidwLqxPYtrNEveasWq3vPUUtqTeu8gpov4bdOQRI2kneFvRNMrShyVeEupK1PoLDPMSfWMIJcs267mGB8X9CehQCF0gIyhpP10mbyM7lwW1e6TGvHBV1sg/UyTghHPGRqMyaebC6pbB1WKNCQtlai1GGvmq9zUKaUzLaXsXEBYtHxmFbEZ2kJhR164LhWW2Tlp1dhsGE7ZgIWRBOx3Zcu2DxgH+G83WTPceKG0TgQKKiiNNOlWgvqNEbnrk6fVD+AqRam2OguZb0YWSTX88N+i/ELSxbaUUpPx4vJUzYg/WonSeA8xUK6u7DPHgpqWpEe6D4cXg5uK9FIYVba47V/nb+wyOtk+zG8RrS4EA0ouwa04iByRLSvoJA2FzaobbZtXnq8GdbfqEp5I2dpfpj59TCVif6+E75p665faiX8gS213RqBxTZqfHP46nF6NSenOneuT+vgbLUbdTH2/t0REFXZJOEB6DHvx6N6g9956CYrY/AYcm9gELJXYkrSi+0F0geKDZgOCIYkLU/+GOW5aGj8mvLFgtFH5+XC8hvAE3CvHRfl4ofM/Qwk4x2A+R+nyc9gNu/9Tem7XW4XRnyRymf52z09cTOdr+PG6+P/Vb4QiXlwauc5WB1z3o+IJjlbxI8MyWtSzT+k4sKVbhF3xa+vDts3NxXa87iiu+xRH9cAprnOL2h6vV54iQRXuOAj1s8nLFK8gZ70ThIQcWdF19/2xaJmT0efrkNDkWbpAQPdo92Z8+Hn/aLjbOzB9AI/k12fPs9HhUNDJ1u6ax2VxD3R6PywN7BrLJ26z6s3QoMp76qzzwetrDABKSGkfW5PwS1GvYNUbK6uRqxfyVGNyFB0E+OugMM8kKwmJmupuRWO8XkXXXQECyRVw9UyIrtCtcc4oNqXqr7AURBmKn6Khz3eBN96LwIJrAGP9mr/59uTOSx631suyT+QujDd4beUFpZ0kJEEnjlP+X/Kr2kCKhnENTg4BsMTOmMqlj2WMFLRUlVG0fzdCBgUta9odrJfpVdFomTi6ak0tFjXTcdqqvWBAzjY6hVrH9sbt3Z9gn+AVDpTcQImefbB4edirjzrsNievve4ZT4EUZWV3TxEsIW+9MT/RJoKfZZYSRGfC1CwPG/9rdMOM8qR/LUYvw5f/emUSoD7YSFuOoqchdUg2UePd1eCtFSKgxLSZ764oy4lvRCIH6bowPxZWwxNFctksLeil47pfevcBipkkBIc4ngZG+kxGZ71a72KQ7VaZ6MZOZkQJZXM6kb/Ac0/XkJx8dvyfJcWbI3zONEaEPIW8GbkYjsZcwy+eMoKrYjDmvEEixHzkCSCRPRzhOfJZuLdcbx19EL23MA8rnjTZZ787FGMnkqnpuzB5/90w1gtUSRaWcb0eta8198VEeZMUSfIhyuc4/nywFQ9uqn7jdqXh+5wwv+RK9XouNPbYdoEelNGo34KyySwigsrfCe0v/PlWPvQvQg8R0KgHO18mTVThhQrlbEQ0Kp/JxPdjHyR7E1QPw/ut0r+HDDG7BwZFm9IqEUZRpv2WpzlMkOemeLcAt5CsrzskLGaVOAxyySzZV/D2EY7ydNZMf8e8VhHcKGHAWNszf1EOq8fNstijMY4JXyATwTdncFFqcNDfDo+mWFvxJJpc4sEZtjXyBdoFcxbUmniCoKq5jydUHNjYJxMqN1KzYV62MugcELVhS3Bnd+TLLOh7dws/zSXWzxEb4Nj4aFun5x4kDWLK5TUF/yCXB/cZYvI9kPgVsG2jShtXkxfgT+xzjJofXqPEnIXIQ1lnIdmVzBOM90EXvJUW6a0nZ/7XjJGl8ToO3H/fdxnxmTNKBZxnkpXLVgLXCZywGT3YyS75w/PAH5I/jMuRspej8xZObU9kREbRA+kqjmKRFaKGWAmFQspC+QLbKPf0RaK3OXvBSWqo46p70ws/eZpu6jCtZUgQy6r4tHMPUdAgWGGUYNbuv/1a6K+MVFsd3T183+T8capSo6m0+Sh57fEeG/95dykGJBQMj09DSW2bY0mUonDy9a8trLnnL5B5LW3Nl8rJZNysO8Zb+80zXxqUGFpud3Qzwb7bf+8mq6x0TAnJU9pDQR9YQmZhlna2xuxJt0aCO/f1SU8gblOrbIyMsxTlVUW69VJPzYU2HlRXcqE2lLLxnObZuz2tT9CivfTAUYfmzJlt/lOPgsR6VN64/xQd4Jlk/RV7UKVv2Gx/AWsmTAuCWKhdwC+4HmKEKYZh2Xis4KsUR1BeObs1c13wqFRnocdmuheaTV30gvVXZcouzHKK5zwrN52jXJEuX6dGx3BCpV/++4f3hyaW/cQJLFKqasjsMuO3B3WlMq2gyYfdK1e7L2pO/tRye2mwzwZPfdUMrl5wdLqdd2Kv/wVtnpyWYhd49L6rsOV+8HXPrWH2Kup89l2tz6bf80iYSd+V4LROSOHeamvexR524q4r43rTmtFzQvArpvWfLYFZrbFspBsXNUqqenjxNNsFXatZvlIhk7teUPfK+YL32F8McTnjv0BZNppb+vshoCrtLXjIWq3EJXpVXIlG6ZNL0dh6qEm2WMwDjD3LfOfkGh1/czYc/0qhiD2ozNnH4882MVVt3JbVFkbwowNCO3KL5IoYW5wlVeGCViOuv1svZx7FbzxKzA4zGqBlRRaRWCobXaVq4yYCWbZf8eiJwt3OY+MFiSJengcFP2t0JMfzOiJ7cECvpx7neg1Rc5x+7myPJOXt2FohVRyXtD+/rDoTOyGYInJelZMjolecVHUhUNqvdZWg2J2t0jPmiLFeRD/8fOT4o+NGILb+TufCo9ceBBm3JLVn+MO2675n7qiEX/6W+188cYg3Zn5NSTjgOKfWFSAANa6raCxSoVU851oJLY11WIoYK0du0ec5E4tCnAPoKh71riTsjVIp3gKvBbEYQiNYrmH22oLQWA2AdwMnID6PX9b58dR2QKo4qag1D1Z+L/FwEKTR7osOZPWECPJIHQqPUsM5i/CH5YupVPfFA5pHUBcsesh8eO5YhyWnaVRPZn/BmdXVumZWPxMP5e28zm2uqHgFoT9CymHYNNrzrrjlXZM06HnzDxYNlI5b/QosxLmmrqDFqmogQdqk0WLkUceoAvQxHgkIyvWU69BPFr24VB6+lx75Rna6dGtrmOxDnvBojvi1/4dHjVeg8owofPe1cOnxU1ioh016s/Vudv9mhV9f35At+Sh28h1bpp8xhr09+vf47Elx3Ms6hyp6QvB3t0vnLbOhwo660cp7K0vvepabK7YJfxEWWfrC2YzJfYOjygPwfwd/1amTqa0hZ5ueebhWYVMubRTwIjj+0Oq0ohU3zfRfuL8gt59XsHdwKtxTQQ4Y2qz6gisxnm2UdlmpEkgOsZz7iEk6QOt8BuPwr+NR01LTqXmJo1C76o1N274twJvl+I069TiLpenK/miRxhyY8jvYV6W1WuSwhH9q7kuwnJMtm7IWcqs7HsnyHSqWXLSpYtZGaR1V3t0gauninFPZGtWskF65rtti48UV9uV9KM8kfDYs0pgB00S+TlzTXV6P8mxq15b9En8sz3jWSszcifZa/NuufPNnNTb031pptt0+sRSH/7UG8pzbsgtt3OG3ut7B9JzDMt2mTZuyRNIV8D54TuTrpNcHtgmMlYJeiY9XS83NYJicjRjtJSf9BZLsQv629QdDsKQhTK5CnXhpk7vMNkHzPhm0ExW/VCGApHfPyBagtZQTQmPHx7g5IXXsrQDPzIVhv2LB6Ih138iSDww1JNHrDvzUxvp73MsQBVhW8EbrReaVUcLB1R3PUXyaYG4HpJUcLVxMgDxcPkVRQpL7VTAGabDzbKcvg12t5P8TSGQkrj/gOrpnbiDHwluA73xbXts/L7u468cRWSWRtgTwlQnA47EKg0OiZDgFxAKQQUcsbGomITgeXUAAyKe03eA7Mp4gnyKQmm0LXJtEk6ddksMJCuxDmmHzmVhO+XaN2A54MIh3niw5CF7PwiXFZrnA8wOdeHLvvhdoqIDG9PDI7UnWWHq526T8y6ixJPhkuVKZnoUruOpUgOOp3iIKBjk+yi1vHo5cItHXb1PIKzGaZlRS0g5d3MV2pD8FQdGYLZ73aae/eEIUePMc4NFz8pIUfLCrrF4jVWH5gQneN3S8vANBmUXrEcKGn6hIUN95y1vpsvLwbGpzV9L0ZKTan6TDXM05236uLJcIEMKVAxKNT0K8WljuwNny3BNQRfzovA85beI9zr1AGNYnYCVkR1aGngWURUrgqR+gRrQhxW81l3CHevjvGEPzPMTxdsIfB9dfGRbZU0cg/1mcubtECX4tvaedmNAvTxCJtc2QaoUalGfENCGK7IS/O8CRpdOVca8EWCRwv2sSWE8CJPW5PCugjCXPd3h6U60cPD+bdhtXZuYB6stcoveE7Sm5MM2yvfUHXFSW7KzLmi7/EeEWL0wqcOH9MOSKjhCHHmw+JGLcYE/7SBZQCRggox0ZZTAxrlzNNXYXL5fNIjkdT4YMqVUz6p8YDt049v4OXGdg3qTrtLBUXOZf7ahPlZAY/O+7Sp0bvGSHdyQ8B1LOsplqMb9Se8VAE7gIdSZvxbRSrfl+Lk5Qaqi5QJceqjitdErcHXg/3MryljPSIAMaaloFm1cVwBJ8DNmkDqoGROSHFetrgjQ5CahuKkdH5pRPigMrgTtlFI8ufJPJSUlGgTjbBSvpRc0zypiUn6U5KZqcRoyrtzhmJ7/caeZkmVRwJQeLOG8LY6vP5ChpKhc8Js0El+n6FXqbx9ItdtLtYP92kKfaTLtCi8StLZdENJa9Ex1nOoz1kQ7qxoiZFKRyLf4O4CHRT0T/0W9F8epNKVoeyxUXhy3sQMMsJjQJEyMOjmOhMFgOmmlscV4eFi1CldU92yjwleirEKPW3bPAuEhRZV7JsKV3Lr5cETAiFuX5Nw5UlF7d2HZ96Bh0sgFIL5KGaKSoVYVlvdKpZJVP5+NZ7xDEkQhmDgsDKciazJCXJ6ZN2B3FY2f6VZyGl/t4aunGIAk/BHaS+i+SpdRfnB/OktOvyjinWNfM9Ksr6WwtCa1hCmeRI6icpFM4o8quCLsikU0tMoZI/9EqXRMpKGaWzofl4nQuVQm17d5fU5qXCQeCDqVaL9XJ9qJ08n3G3EFZS28SHEb3cdRBdtO0YcTzil3QknNKEe/smQ1fTb0XbpyNB5xAeuIlf+5KWlEY0DqJbsnzJlQxJPOVyHiKMx5Xu9FcEv1Fbg6Fhm4t+Jyy5JC1W3YO8dYLsO0PXPbxodBgttTbH3rt9Cp1lJIk2r3O1Zqu94eRbnIz2f50lWolYzuKsj4PMok4abHLO8NAC884hiXx5Fy5pWKO0bWL7uEGXaJCtznhP67SlQ4xjWIfgq6EpZ28QMtuZK7JC0RGbl9nA4XtFLug/NLMoH1pGt9IonAJqcEDLyH6TDROcbsmGPaGIxMo41IUAnQVPMPGByp4mOmh9ZQMkBAcksUK55LsZj7E5z5XuZoyWCKu6nHmDq22xI/9Z8YdxJy4kWpD16jLVrpwGLWfyOD0Wd+cBzFBxVaGv7S5k9qwh/5t/LQEXsRqI3Q9Rm3QIoaZW9GlsDaKOUyykyWuhNOprSEi0s1G4rgoiX1V743EELti+pJu5og6X0g6oTynUqlhH9k6ezyRi05NGZHz0nvp3HOJr7ebrAUFrDjbkFBObEvdQWkkUbL0pEvMU46X58vF9j9F3j6kpyetNUBItrEubW9ZvMPM4qNqLlsSBJqOH3XbNwv/cXDXNxN8iFLzUhteisYY+RlHYOuP29/Cb+L+xv+35Rv7xudnZ6ohK4cMPfCG8KI7dNmjNk/H4e84pOxn/sZHK9psfvj8ncA8qJz7O8xqbxESDivGJOZzF7o5PJLQ7g34qAWoyuA+x3btU98LT6ZyGyceIXjrqob2CAVql4VOTQPUQYvHV/g4zAuCZGvYQBtf0wmd5lilrvuEn1BXLny01B4h4SMDlYsnNpm9d7m9h578ufpef9Z4WplqWQvqo52fyUA7J24eZD5av6SyGIV9kpmHNqyvdfzcpEMw97BvknV2fq+MFHun9BT3Lsf8pbzvisWiIQvYkng+8Vxk1V+dli1u56kY50LRjaPdotvT5BwqtwyF+emo/z9J3yVUVGfKrxQtJMOAQWoQii/4dp9wgybSa5mkucmRLtEQZ/pz0tL/NVcgWAd95nEQ3Tg6tNbuyn3Iepz65L3huMUUBntllWuu4DbtOFSMSbpILV4fy6wlM0SOvi6CpLh81c1LreIvKd61uEWBcDw1lUBUW1I0Z+m/PaRlX+PQ/oxg0Ye6KUiIiTF4ADNk59Ydpt5/rkxmq9tV5Kcp/eQLUVVmBzQNVuytQCP6Ezd0G8eLxWyHpmZWJ3bAzkWTtg4lZlw42SQezEmiUPaJUuR/qklVA/87S4ArFCpALdY3QRdUw3G3XbWUp6aq9z0zUizcPa7351p9JXOZyfdZBFnqt90VzQndXB/mwf8LC9STj5kenVpNuqOQQP3mIRJj7eV21FxG8VAxKrEn3c+XfmZ800EPb9/5lIlijscUbB6da0RQaMook0zug1G0tKi/JBC4rw7/D3m4ARzAkzMcVrDcT2SyFtUdWAsFlsPDFqV3N+EjyXaoEePwroaZCiLqEzb8MW+PNE9TmTC01EzWli51PzZvUqkmyuROU+V6ik+Le/9qT6nwzUzf9tP68tYei0YaDGx6kAd7jn1cKqOCuYbiELH9zYqcc4MnRJjkeGiqaGwLImhyeKs+xKJMBlOJ05ow9gGCKZ1VpnMKoSCTbMS+X+23y042zOb5MtcY/6oBeAo1Vy89OTyhpavFP78jXCcFH0t7Gx24hMEOm2gsEfGabVpQgvFqbQKMsknFRRmuPHcZu0Su/WMFphZvB2r/EGbG72rpGGho3h+Msz0uGzJ7hNK2uqQiE1qmn0zgacKYYZBCqsxV+sjbpoVdSilW/b94n2xNb648VmNIoizqEWhBnsen+d0kbCPmRItfWqSBeOd9Wne3c6bcd6uvXOJ6WdiSsuXq0ndhqrQ4QoWUjCjYtZ0EAhnSOP1m44xkf0O7jXghrzSJWxP4a/t72jU29Vu2rvu4n7HfHkkmQOMGSS+NPeLGO5I73mC2B7+lMiBQQZRM9/9liLIfowupUFAbPBbR+lxDM6M8Ptgh1paJq5Rvs7yEuLQv/7d1oU2woFSb3FMPWQOKMuCuJ7pDDjpIclus5TeEoMBy2YdVB4fxmesaCeMNsEgTHKS5WDSGyNUOoEpcC2OFWtIRf0w27ck34/DjxRTVIcc9+kqZE6iMSiVDsiKdP/Xz5XfEhm/sBhO50p1rvJDlkyyxuJ9SPgs7YeUJBjXdeAkE+P9OQJm6SZnn1svcduI78dYmbkE2mtziPrcjVisXG78spLvbZaSFx/Rks9zP4LKn0Cdz/3JsetkT06A8f/yCgMO6Mb1Hme0JJ7b2wZz1qleqTuKBGokhPVUZ0dVu+tnQYNEY1fmkZSz6+EGZ5EzL7657mreZGR3jUfaEk458PDniBzsSmBKhDRzfXameryJv9/D5m6HIqZ0R+ouCE54Dzp4IJuuD1e4Dc5i+PpSORJfG23uVgqixAMDvchMR0nZdH5brclYwRoJRWv/rlxGRI5ffD5NPGmIDt7vDE1434pYdVZIFh89Bs94HGGJbTwrN8T6lh1HZFTOB4lWzWj6EVqxSMvC0/ljWBQ3F2kc/mO2b6tWonT2JEqEwFts8rz2h+oWNds9ceR2cb7zZvJTDppHaEhK5avWqsseWa2Dt5BBhabdWSktS80oMQrL4TvAM9b5HMmyDnO+OkkbMXfUJG7eXqTIG6lqSOEbqVR+qYdP7uWb57WEJqzyh411GAVsDinPs7KvUeXItlcMdOUWzXBH6zscymV1LLVCtc8IePojzXHF9m5b5zGwBRdzcyUJkiu938ApmAayRdJrX1PmVguWUvt2ThQ62czItTyWJMW2An/hdDfMK7SiFQlGIdAbltHz3ycoh7j9V7GxNWBpbtcSdqm4XxRwTawc3cbZ+xfSv9qQfEkDKfZTwCkqWGI/ur250ItXlMlh6vUNWEYIg9A3GzbgmbqvTN8js2YMo87CU5y6nZ4dbJLDQJj9fc7yM7tZzJDZFtqOcU8+mZjYlq4VmifI23iHb1ZoT9E+kT2dolnP1AfiOkt7PQCSykBiXy5mv637IegWSKj9IKrYZf4Lu9+I7ub+mkRdlvYzehh/jaJ9n7HUH5b2IbgeNdkY7wx1yVzxS7pbvky6+nmVUtRllEFfweUQ0/nG017WoUYSxs+j2B4FV/F62EtHlMWZXYrjGHpthnNb1x66LKZ0Qe92INWHdfR/vqp02wMS8r1G4dJqHok8KmQ7947G13a4YXbsGgHcBvRuVu1eAi4/A5+ZixmdSXM73LupB/LH7O9yxLTVXJTyBbI1S49TIROrfVCOb/czZ9pM4JsZx8kUz8dQGv7gUWKxXvTH7QM/3J2OuXXgciUhqY+cgtaOliQQVOYthBLV3xpESZT3rmfEYNZxmpBbb24CRao86prn+i9TNOh8VxRJGXJfXHATJHs1T5txgc/opYrY8XjlGQQbRcoxIBcnVsMjmU1ymmIUL4dviJXndMAJ0Yet+c7O52/p98ytlmAsGBaTAmMhimAnvp1TWNGM9BpuitGj+t810CU2UhorrjPKGtThVC8WaXw04WFnT5fTjqmPyrQ0tN3CkLsctVy2xr0ZWgiWVZ1OrlFjjxJYsOiZv2cAoOvE+7sY0I/TwWcZqMoyIKNOftwP7w++Rfg67ljfovKYa50if3fzE/8aPYVey/Nq35+nH2sLPh/fP5TsylSKGOZ4k69d2PnH43+kq++sRXHQqGArWdwhx+hpwQC6JgT2uxehYU4Zbw7oNb6/HLikPyJROGK2ouyr+vzseESp9G50T4AyFrSqOQ0rroCYP4sMDFBrHn342EyZTMlSyk47rHSq89Y9/nI3zG5lX16Z5lxphguLOcZUndL8wNcrkyjH82jqg8Bo8OYkynrxZvbFno5lUS3OPr8Ko3mX9NoRPdYOKKjD07bvgFgpZ/RF+YzkWvJ/Hs/tUbfeGzGWLxNAjfDzHHMVSDwB5SabQLsIZHiBp43FjGkaienYoDd18hu2BGwOK7U3o70K/WY/kuuKdmdrykIBUdG2mvE91L1JtTbh20mOLbk1vCAamu7utlXeGU2ooVikbU/actcgmsC1FKk2qmj3GWeIWbj4tGIxE7BLcBWUvvcnd/lYxsMV4F917fWeFB/XbINN3qGvIyTpCalz1lVewdIGqeAS/gB8Mi+sA+BqDiX3VGD2eUunTRbSY+AuDy4E3Qx3hAhwnSXX+B0zuj3eQ1miS8Vux2z/l6/BkWtjKGU72aJkOCWhGcSf3+kFkkB15vGOsQrSdFr6qTj0gBYiOlnBO41170gOWHSUoBVRU2JjwppYdhIFDfu7tIRHccSNM5KZOFDPz0TGMAjzzEpeLwTWp+kn201kU6NjbiMQJx83+LX1e1tZ10kuChJZ/XBUQ1dwaBHjTDJDqOympEk8X2M3VtVw21JksChA8w1tTefO3RJ1FMbqZ01bHHkudDB/OhLfe7P5GOHaI28ZXKTMuqo0hLWQ4HabBsGG7NbP1RiXtETz074er6w/OerJWEqjmkq2y51q1BVI+JUudnVa3ogBpzdhFE7fC7kybrAt2Z6RqDjATAUEYeYK45WMupBKQRtQlU+uNsjnzj6ZmGrezA+ASrWxQ6LMkHRXqXwNq7ftv28dUx/ZSJciDXP2SWJsWaN0FjPX9Yko6LobZ7aYW/IdUktI9apTLyHS8DyWPyuoZyxN1TK/vtfxk3HwWh6JczZC8Ftn0bIJay2g+n5wd7lm9rEsKO+svqVmi+c1j88hSCxbzrg4+HEP0Nt1/B6YW1XVm09T1CpAKjc9n18hjqsaFGdfyva1ZG0Xu3ip6N6JGpyTSqY5h4BOlpLPaOnyw45PdXTN+DtAKg7DLrLFTnWusoSBHk3s0d7YouJHq85/R09Tfc37ENXZF48eAYLnq9GLioNcwDZrC6FW6godB8JnqYUPvn0pWLfQz0lM0Yy8Mybgn84Ds3Q9bDP10bLyOV+qzxa4Rd9Dhu7cju8mMaONXK3UqmBQ9qIg7etIwEqM/kECk/Dzja4Bs1xR+Q/tCbc8IKrSGsTdJJ0vge7IG20W687uVmK6icWQ6cD3lwFzgNMGtFvO5qyJeKflGLAAcQZOrkxVwy3cWvqlGpvjmf9Qe6Ap20MPbV92DPV0OhFM4kz8Yr0ffC2zLWSQ1kqY6QdQrttR3kh1YLtQd1kCEv5hVoPIRWl5ERcUTttBIrWp6Xs5Ehh5OUUwI5aEBvuiDmUoENmnVw1FohCrbRp1A1E+XSlWVOTi7ADW+5Ohb9z1vK4qx5R5lPdGCPBJZ00mC+Ssp8VUbgpGAvXWMuWQQRbCqI6Rr2jtxZxtfP7W/8onz+yz0Gs76LaT5HX9ecyiZCB/ZR/gFtMxPsDwohoeCRtiuLxE1GM1vUEUgBv86+eehL58/P56QFGQ/MqOe/vC76L63jzmeax4exd/OKTUvkXg+fOJUHych9xt/9goJMrapSgvXrj8+8vk/N80f22Sewj6cyGqt1B6mztoeklVHHraouhvHJaG/OuBz6DHKMpFmQULU1bRWlyYE0RPXYYkUycIemN7TLtgNCJX6BqdyxDKkegO7nJK5xQ7OVYDZTMf9bVHidtk6DQX9Et+V9M7esgbsYBdEeUpsB0Xvw2kd9+rI7V+m47u+O/tq7mw7262HU1WlS9uFzsV6JxIHNmUCy0QS9e077JGRFbG65z3/dOKB/Zk+yDdKpUmdXjn/aS3N5nv4fK7bMHHmPlHd4E2+iTbV5rpzScRnxk6KARuDTJ8Q1LpK2mP8gj1EbuJ9RIyY+EWK4hCiIDBAS1Tm2IEXAFfgKPgdL9O6mAa06wjCcUAL6EsxPQWO9VNegBPm/0GgkZbDxCynxujX/92vmGcjZRMAY45puak2sFLCLSwXpEsyy5fnF0jGJBhm+fNSHKKUUfy+276A7/feLOFxxUuHRNJI2Osenxyvf8DAGObT60pfTTlhEg9u/KKkhJqm5U1/+BEcSkpFDA5XeCqxwXmPac1jcuZ3JWQ+p0NdWzb/5v1ZvF8GtMTFFEdQjpLO0bwPb0BHNWnip3liDXI2fXf05jjvfJ0NpjLCUgfTh9CMFYVFKEd4Z/OG/2C+N435mnK+9t1gvCiVcaaH7rK4+PjCvpVNiz+t2QyqH1O8x3JKZVl6Q+Lp/XK8wMjVMslOq9FdSw5FtUs/CptXH9PW+wbWHgrV17R5jTVOtGtKFu3nb80T+E0tv9QkzW3J2dbaw/8ddAKZ0pxIaEqLjlPrji3VgJ3GvdFvlqD8075woxh4fVt0JZE0KVFsAvqhe0dqN9b35jtSpnYMXkU+vZq+IAHad3IHc2s/LYrnD1anfG46IFiMIr9oNbZDWvwthqYNqOigaKd/XlLU4XHfk/PXIjPsLy/9/kAtQ+/wKH+hI/IROWj5FPvTZAT9f7j4ZXQyG4M0TujMAFXYkKvEHv1xhySekgXGGqNxWeWKlf8dDAlLuB1cb/qOD+rk7cmwt+1yKpk9cudqBanTi6zTbXRtV8qylNtjyOVKy1HTz0GW9rjt6sSjAZcT5R+KdtyYb0zyqG9pSLuCw5WBwAn7fjBjKLLoxLXMI+52L9cLwIR2B6OllJZLHJ8vDxmWdtF+QJnmt1rsHPIWY20lftk8fYePkAIg6Hgn532QoIpegMxiWgAOfe5/U44APR8Ac0NeZrVh3gEhs12W+tVSiWiUQekf/YBECUy5fdYbA08dd7VzPAP9aiVcIB9k6tY7WdJ1wNV+bHeydNtmC6G5ICtFC1ZwmJU/j8hf0I8TRVKSiz5oYIa93EpUI78X8GYIAZabx47/n8LDAAJ0nNtP1rpROprqKMBRecShca6qXuTSI3jZBLOB3Vp381B5rCGhjSvh/NSVkYp2qIdP/Bg="},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,m,w,y,b=e,A=new Int32Array(16),_=new Int32Array(16);for(y=new Int32Array(c),h=0;h<c;h++)A[a[h]]++;for(_[1]=0,l=1;l<15;l++)_[l+1]=_[l]+A[l];for(h=0;h<c;h++)0!==a[h]&&(y[_[a[h]]++]=h);if(w=m=1<<(g=o),1===_[15]){for(u=0;u<w;++u)t[e+u]=new r(0,65535&y[0]);return w}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,m,new r(255&l,65535&y[h++])),u=i(u,l);for(f=w-1,d=-1,l=o+1,p=2;l<=15;++l,p<<=1)for(;A[l]>0;--A[l])(u&f)!==d&&(e+=m,w+=m=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,m,new r(l-o&255,65535&y[h++])),u=i(u,l);return w}},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,m=e;f>o&&(f=o);for(var w=0;w<u.length;)t[e++]=u[w++];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 y=c(t,h);h+=y,o-=y}for(var b=0;b<p.length;)t[e++]=p[b++];return e-m}},7709:(t,e,r)=>{t.exports=r(6450).BrotliDecompressBuffer},4789:(t,e)=>{"use strict";e.byteLength=function(t){var e=c(t),r=e[0],i=e[1];return 3*(r+i)/4-i},e.toByteArray=function(t){for(var e,r=c(t),s=r[0],o=r[1],a=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)],a[l++]=e>>16&255,a[l++]=e>>8&255,a[l++]=255&e;return 2===o&&(e=i[t.charCodeAt(u)]<<2|i[t.charCodeAt(u+1)]>>4,a[l++]=255&e),1===o&&(e=i[t.charCodeAt(u)]<<10|i[t.charCodeAt(u+1)]<<4|i[t.charCodeAt(u+2)]>>2,a[l++]=e>>8&255,a[l++]=255&e),a},e.fromByteArray=function(t){for(var e,i=t.length,n=i%3,s=[],o=16383,a=0,c=i-n;a<c;a+=o)s.push(l(t,a,a+o>c?c: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,a=s.length;o<a;++o)r[o]=s[o],i[s.charCodeAt(o)]=o;function c(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 l(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)=>{"use strict";
|
|
2
2
|
/*!
|
|
3
3
|
* The buffer module from node.js, for the browser.
|
|
4
4
|
*
|
|
@@ -22,7 +22,7 @@ See the Apache Version 2.0 License for specific language governing permissions
|
|
|
22
22
|
and limitations under the License.
|
|
23
23
|
***************************************************************************** */!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=l.create(),r=i();return function(){function t(){this._key=i()}return t.prototype.has=function(t){var e=n(t,!1);return void 0!==e&&l.has(e,this._key)},t.prototype.get=function(t){var e=n(t,!1);return void 0!==e?l.get(e,this._key):void 0},t.prototype.set=function(t,e){return n(t,!0)[this._key]=e,this},t.prototype.delete=function(t){var e=n(t,!1);return void 0!==e&&delete e[this._key]},t.prototype.clear=function(){this._key=i()},t}();function i(){var e;do{e="@@WeakMap@@"+o()}while(l.has(t,e));return t[e]=!0,e}function n(t,i){if(!e.call(t,r)){if(!i)return;Object.defineProperty(t,r,{value:l.create()})}return t[r]}function s(t,e){for(var r=0;r<e;++r)t[r]=255*Math.random()|0;return t}function o(){var t=function(t){return"function"==typeof Uint8Array?"undefined"!=typeof crypto?crypto.getRandomValues(new Uint8Array(t)):"undefined"!=typeof msCrypto?msCrypto.getRandomValues(new Uint8Array(t)):s(new Uint8Array(t),t):s(new Array(t),t)}(16);t[6]=79&t[6]|64,t[8]=191&t[8]|128;for(var e="",r=0;r<16;++r){var i=t[r];4!==r&&6!==r&&8!==r||(e+="-"),i<16&&(e+="0"),e+=i.toString(16).toLowerCase()}return e}}():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 m(t,e,r){if(w(t,e,r))return!0;var i=U(e);return!T(i)&&m(t,i,r)}function w(t,e,r){var i=g(e,r,!1);return!S(i)&&function(t){return!!t}(i.has(t))}function y(t,e,r){if(w(t,e,r))return b(t,e,r);var i=U(e);return T(i)?void 0:y(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 _(t,e){var r=v(t,e),i=U(t);if(null===i)return r;var n=_(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 v(t,e){var r=[],i=g(t,e,!1);if(S(i))return r;for(var n=B(i.keys()),s=0;;){var o=L(n);if(!o)return r.length=s,r;var a=P(o);try{r[s]=a}catch(t){try{D(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 T(t){return null===t}function x(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(x(s))throw new TypeError;return s}return function(t,e){if("string"===e){var r=t.toString;if(k(r)&&!x(n=r.call(t)))return n;if(k(i=t.valueOf)&&!x(n=i.call(t)))return n}else{var i;if(k(i=t.valueOf)&&!x(n=i.call(t)))return n;var n,s=t.toString;if(k(s)&&!x(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(!x(r))throw new TypeError;return r}function P(t){return t.value}function L(t){var e=t.next();return!e.done&&e}function D(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)&&!T(i)){if(!N(i))throw new TypeError;e=i}}return e}(t,e)}if(!R(t))throw new TypeError;if(!x(e))throw new TypeError;if(!x(i)&&!S(i)&&!T(i))throw new TypeError;return T(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)&&!T(s)){if(!x(s))throw new TypeError;i=s}}return i}(t,e,r=I(r),i)})),t("metadata",(function(t,e){return function(r,i){if(!x(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(!x(r))throw new TypeError;return S(i)||(i=I(i)),A(t,e,r,i)})),t("hasMetadata",(function(t,e,r){if(!x(e))throw new TypeError;return S(r)||(r=I(r)),m(t,e,r)})),t("hasOwnMetadata",(function(t,e,r){if(!x(e))throw new TypeError;return S(r)||(r=I(r)),w(t,e,r)})),t("getMetadata",(function(t,e,r){if(!x(e))throw new TypeError;return S(r)||(r=I(r)),y(t,e,r)})),t("getOwnMetadata",(function(t,e,r){if(!x(e))throw new TypeError;return S(r)||(r=I(r)),b(t,e,r)})),t("getMetadataKeys",(function(t,e){if(!x(t))throw new TypeError;return S(e)||(e=I(e)),_(t,e)})),t("getOwnMetadataKeys",(function(t,e){if(!x(t))throw new TypeError;return S(e)||(e=I(e)),v(t,e)})),t("deleteMetadata",(function(t,e,r){if(!x(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)=>{
|
|
24
24
|
/*! safe-buffer. MIT License. Feross Aboukhadijeh <https://feross.org/opensource> */
|
|
25
|
-
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)=>{"use strict";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)=>{"use strict";!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.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})},(()=>{"use strict";var t={};r.r(t),r.d(t,{Any:()=>fh,BaseBlock:()=>kc,BaseStringBlock:()=>Oc,BitString:()=>Il,BmpString:()=>Yl,Boolean:()=>Sl,CharacterString:()=>oh,Choice:()=>gh,Constructed:()=>bl,DATE:()=>lh,DateTime:()=>uh,Duration:()=>ph,EndOfContent:()=>_l,Enumerated:()=>Pl,GeneralString:()=>sh,GeneralizedTime:()=>ch,GraphicString:()=>ih,HexBlock:()=>Sc,IA5String:()=>rh,Integer:()=>Bl,Null:()=>vl,NumericString:()=>Zl,ObjectIdentifier:()=>Ul,OctetString:()=>xl,Primitive:()=>gl,PrintableString:()=>$l,RawData:()=>wh,RelativeObjectIdentifier:()=>Hl,Repeated:()=>mh,Sequence:()=>Wl,Set:()=>jl,TIME:()=>dh,TeletexString:()=>th,TimeOfDay:()=>hh,UTCTime:()=>ah,UniversalString:()=>Xl,Utf8String:()=>Ql,ValueBlock:()=>xc,VideotexString:()=>eh,ViewWriter:()=>dc,VisibleString:()=>nh,compareSchema:()=>yh,fromBER:()=>wl,verifySchema:()=>bh});var e=r(2475),i={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 n=25e6,s=262144,o=/Expires=\w{3},\s\d[^;,]+(?:;\s*)?/gi;function a(t,e){for(const r of e)if(t.startsWith(r))return!0;return!1}function c(t){return t.replace(/[-:T]/g,"").slice(0,14)}function l(t){if(!t)return new Date;t.length<17&&(t+="00000101000000000".substr(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 h(t){return Array.from(new Uint8Array(t)).map((t=>t.toString(16).padStart(2,"0"))).join("")}async function u(t,e,r=null){const i="string"==typeof t?(new TextEncoder).encode(t):t,n=await crypto.subtle.digest(e,i);return""===r?h(n):(r||e)+":"+h(n)}function p(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e}function d(t){const e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=255&t.charCodeAt(r);return e}function f(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}function g(t){try{return new Headers(t)}catch(e){for(let e of Object.keys(t)){const r=t[e],i=r.replace(/[\r\n]+/g,", ");r!=i&&(t[e]=i)}return new Headers(t)}}const m=[101,204,205,304];function w(t){return m.includes(t)}function y(t){try{return function(t){var e=i[t.toString()];if(!e)throw new Error("Status code does not exist: "+t);return e}(t)}catch(t){return"Unknown Status"}}function b(t){return"XMLHttpRequest"===t.headers.get("X-Pywb-Requested-With")||"cors"===t.mode&&("script"!==t.destination||"esm_"!==t.mod)}async function A(t,e){if(t instanceof S){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&&t.info.fileHandle});return!0}return!1}function _(t,e,r=404){let i,n;e||(e="Sorry, this url was not found in the archive."),"script"===t.destination||t.headers.get("x-pywb-requested-with")?(i=JSON.stringify(e),n="application/json"):(i=e,n="text/html");const s={status:r,statusText:y(r),headers:{"Content-Type":n}};return new Response(i,s)}function v(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 E{constructor(t={}){this.info=t}toString(){return JSON.stringify(this.info)}}class S extends E{}class T extends E{}class x{}function C(t){return new Promise((e=>setTimeout(e,t)))}var I,R=r(7709),k=r(8843),N=r(9591),O=r(2043);
|
|
25
|
+
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)=>{"use strict";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)=>{"use strict";!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.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})},(()=>{"use strict";var t={};r.r(t),r.d(t,{Any:()=>mh,BaseBlock:()=>Oc,BaseStringBlock:()=>Pc,BitString:()=>kl,BmpString:()=>Xl,Boolean:()=>xl,CharacterString:()=>ch,Choice:()=>wh,Constructed:()=>_l,DATE:()=>uh,DateTime:()=>dh,Duration:()=>fh,EndOfContent:()=>El,Enumerated:()=>Dl,GeneralString:()=>ah,GeneralizedTime:()=>hh,GraphicString:()=>sh,HexBlock:()=>xc,IA5String:()=>nh,Integer:()=>Ll,Null:()=>Sl,NumericString:()=>th,ObjectIdentifier:()=>Fl,OctetString:()=>Il,Primitive:()=>wl,PrintableString:()=>eh,RawData:()=>bh,RelativeObjectIdentifier:()=>jl,Repeated:()=>yh,Sequence:()=>Vl,Set:()=>Gl,TIME:()=>gh,TeletexString:()=>rh,TimeOfDay:()=>ph,UTCTime:()=>lh,UniversalString:()=>$l,Utf8String:()=>Yl,ValueBlock:()=>Ic,VideotexString:()=>ih,ViewWriter:()=>gc,VisibleString:()=>oh,compareSchema:()=>Ah,fromBER:()=>bl,verifySchema:()=>_h});var e=r(2475),i={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 n=25e6,s=262144,o=/Expires=\w{3},\s\d[^;,]+(?:;\s*)?/gi;function a(t,e){for(const r of e)if(t.startsWith(r))return!0;return!1}function c(t){return t.replace(/[-:T]/g,"").slice(0,14)}function l(t){if(!t)return new Date;t.length<17&&(t+="00000101000000000".substr(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 h(t){return Array.from(new Uint8Array(t)).map((t=>t.toString(16).padStart(2,"0"))).join("")}async function u(t,e,r=null){const i="string"==typeof t?(new TextEncoder).encode(t):t,n=await crypto.subtle.digest(e,i);return""===r?h(n):(r||e)+":"+h(n)}function p(t){let e="";for(let r=0;r<t.length;r++)e+=String.fromCharCode(t[r]);return e}function d(t){const e=new Uint8Array(t.length);for(let r=0;r<t.length;r++)e[r]=255&t.charCodeAt(r);return e}function f(){return Math.random().toString(36).substring(2,15)+Math.random().toString(36).substring(2,15)}function g(t){try{return new Headers(t)}catch(e){for(let e of Object.keys(t)){const r=t[e],i=r.replace(/[\r\n]+/g,", ");r!=i&&(t[e]=i)}return new Headers(t)}}const m=[101,204,205,304];function w(t){return m.includes(t)}function y(t){try{return function(t){var e=i[t.toString()];if(!e)throw new Error("Status code does not exist: "+t);return e}(t)}catch(t){return"Unknown Status"}}function b(t){return"XMLHttpRequest"===t.headers.get("X-Pywb-Requested-With")||"cors"===t.mode&&("script"!==t.destination||"esm_"!==t.mod)}async function A(t,e){if(t instanceof S){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&&t.info.fileHandle});return!0}return!1}function _(t,e,r=404){let i,n;e||(e="Sorry, this url was not found in the archive."),"script"===t.destination||t.headers.get("x-pywb-requested-with")?(i=JSON.stringify(e),n="application/json"):(i=e,n="text/html");const s={status:r,statusText:y(r),headers:{"Content-Type":n}};return new Response(i,s)}function v(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 E{constructor(t={}){this.info=t}toString(){return JSON.stringify(this.info)}}class S extends E{}class T extends E{}class x{}function C(t){return new Promise((e=>setTimeout(e,t)))}var I,R=r(7709),k=r(8843),N=r(9591),O=r(2043);
|
|
26
26
|
/*!
|
|
27
27
|
* hash-wasm (https://www.npmjs.com/package/hash-wasm)
|
|
28
28
|
* (c) Dani Biro
|
|
@@ -41,8 +41,8 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
|
41
41
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
42
42
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
43
43
|
PERFORMANCE OF THIS SOFTWARE.
|
|
44
|
-
***************************************************************************** */function B(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 P{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 B(this,void 0,void 0,(function*(){const e=yield this.lock();try{return yield Promise.resolve(t())}finally{e()}}))}}const L="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:r.g,D=null!==(I=L.Buffer)&&void 0!==I?I:null,U=L.TextEncoder?new L.TextEncoder:null;function M(t,e){return(15&t)+(t>>6|t>>3&8)<<4|(15&e)+(e>>6|e>>3&8)}const F="a".charCodeAt(0)-10,H="0".charCodeAt(0);function W(t,e,r){let i=0;for(let n=0;n<r;n++){let r=e[n]>>>4;t[i++]=r>9?r+F:r+H,r=15&e[n],t[i++]=r>9?r+F:r+H}return String.fromCharCode.apply(null,t)}const j=null!==D?t=>{if("string"==typeof t){const e=D.from(t,"utf8");return new Uint8Array(e.buffer,e.byteOffset,e.length)}if(D.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 U.encode(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Invalid data type!")},V="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",G=new Uint8Array(256);for(let t=0;t<V.length;t++)G[V.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=G[t.charCodeAt(e)],s=G[t.charCodeAt(e+1)],o=G[t.charCodeAt(e+2)],a=G[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 q=16384,Q=new P,K=new Map;function Y(t,e){return B(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=Q.dispatch((()=>B(this,void 0,void 0,(function*(){if(!K.has(t.name)){const e=z(t.data),r=WebAssembly.compile(e);K.set(t.name,r)}const e=yield K.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+q);e+=n.length,i.set(n),r.exports.Hash_Update(n.length)}})(j(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):W(l,i,e)},u=t=>"string"==typeof t?t.length<4096:t.byteLength<q;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(()=>B(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,q)})))(),{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]=M(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]!==M(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=j(t);return i.set(o),r.exports.Hash_Calculate(o.length,n,s),W(l,i,e)},hashLength:e}}))}new P,new P,new DataView(new ArrayBuffer(4)),new P,new P,new P,new P,new P,new P,new P,new P,new P;var J={name:"sha256",data:"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",hash:"817d957e"};function X(t){let e;e="string"==typeof t?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 Z(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $(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){r.searchParams.sort(),i+=r.search;for(let[t,n]of r.searchParams.entries())if(!n){let r=new RegExp(`(?<=[&?])${Z(t)}=(?=&|$)`);r.exec(e)||(i=i.replace(r,t))}}return i}catch{return t}}function tt(t){let{method:e,headers:r,postData:i}=t;if("GET"===e)return!1;function n(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let s="";switch((r.get("content-type")||"").split(";")[0]){case"application/x-www-form-urlencoded":s=n(i);break;case"application/json":s=it(n(i));break;case"text/plain":try{s=it(n(i),!1)}catch{s=X(i)}break;case"multipart/form-data":{let t=r.get("content-type");if(!t)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],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()}(n(i),t);break}default:s=X(i)}return null!==s&&(t.url=et(t.url,s,t.method),t.method="GET",t.requestBody=s,!0)}function et(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}function rt(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={};try{JSON.stringify(t,((t,e)=>(["object","function"].includes(typeof e)||r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(t),e),e)))}catch(t){if(!e)throw t}return r}function it(t,e=!0){return rt(t,e).toString()}function nt(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 st(t,e){return[t.slice(0,e),t.slice(e)]}new P,new P,new P,new P,new P,new P,new ArrayBuffer(8),new P,new ArrayBuffer(8),new P,new ArrayBuffer(8),new P,new P,new P;var ot=new TextDecoder("utf-8"),at=class extends N.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)}},ct=class t{static async readFully(t){let e=[],r=0;for await(let i of t)e.push(i),r+=i.byteLength;return nt(e,r)}getReadableStream(){let t=this[Symbol.asyncIterator]();return new ReadableStream({pull: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?ot.decode(e):""}async*iterLines(t=0){let e=null;for(;e=await this.readline(t);)yield e}},lt=class t extends ct{constructor(e,r="gzip",i=!1){let n;if(super(),this.compressed=r,this.opts={raw:"deflateRaw"===r},this.inflator=r?new at(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(ot.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 at(this.opts,this)),this.inflator.push(t),this.inflator.err&&this.inflator.ended&&"deflate"===this.compressed&&!1===this.opts.raw&&0===this.numChunks&&(this.opts.raw=!0,this.compressed="deflateRaw",this.inflator=new at(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]=st(n,i+1);e.push(t),r+=t.byteLength,this.unread(s)}else if(!e.length)return null;return nt(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]=st(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,nt(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}}}},ht=class extends ct{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]=st(t,this.skip);t=e,this.skip=0}}if(t.length>this.limit){let[e,r]=st(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}},ut=new Uint8Array([13,10]),pt=(new Uint8Array([13,10,13,10]),new TextDecoder("utf-8")),dt=class{constructor({statusline:t,headers:e}){this.statusline=t,this.headers=e}toString(){let t=[this.statusline];for(let[e,r]of this.headers)t.push(`${e}: ${r}`);return t.join("\r\n")+"\r\n"}async*iterSerialize(t){yield t.encode(this.statusline),yield ut;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 ft(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 gt=new TextDecoder("utf-8"),mt=new TextEncoder,wt="WARC/1.0",yt={warcinfo:"application/warc-fields",response:"application/http; msgtype=response",revisit:"application/http; msgtype=response",request:"application/http; msgtype=request",metadata:"application/warc-fields"},bt=class t extends ct{constructor({warcHeaders:t,reader:e}){super(),this._offset=0,this._length=0,this.method="",this.requestBody="",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=wt,keepHeadersCase:l=!0,refersToUrl:h,refersToDate:u}={},p){function d(t){let e=t;return c===wt&&"Z"!=(t=t.split(".")[0]).charAt(e.length-1)&&(t+="Z"),t}r=d(r||(new Date).toISOString()),n={...n},"warcinfo"===i?s&&(n["WARC-Filename"]=s):e&&(n["WARC-Target-URI"]=e),n["WARC-Date"]=r,i&&(n["WARC-Type"]=i),"revisit"===i&&(n["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&&(n["WARC-Refers-To-Target-URI"]=h,n["WARC-Refers-To-Date"]=d(u||(new Date).toISOString())));let f=new dt({statusline:c,headers:new Map(Object.entries(n))});f.headers.get("WARC-Record-ID")||f.headers.set("WARC-Record-ID",`<urn:uuid:${O()}>`),f.headers.get("Content-Type")||f.headers.set("Content-Type",i&&yt[i]||"application/octet-stream"),p||(p=At());let g=new t({warcHeaders:f,reader:p}),m=null,w=[];switch(i){case"response":case"request":case"revisit":w=Object.entries(o),m=l?new Map(w):new Headers(o),(w.length>0||"revisit"!==i)&&(g.httpHeaders=new dt({statusline:a,headers:m}))}return g}static createWARCInfo(e={},r){return e.type="warcinfo",t.create(e,async function*(){for(let[t,e]of Object.entries(r))yield mt.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 ct.readFully(this._reader),this.consumed="raw")),this.payload}get reader(){if(this.payload&&!this.payload.length)return At();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 lt(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 ct)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 gt.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 ht){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"))}};async function*At(){}var _t=new TextDecoder,vt=new Uint8Array([]),Et=class t{static 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?Map:Headers,this._parseHttp=r,this._reader=t instanceof lt?t:new lt(t),this._record=null}async readToNextRecord(){if(!this._reader||!this._record)return vt;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&&_t.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=vt;if(this._reader.compressed)await this._reader.skipSize(2),t=vt;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 ht(this._reader,Number(t.headers.get("Content-Length")||0))}async parse(){let t=await this.readToNextRecord(),e=t?_t.decode(t):"",r=new class{async parse(t,{headersClass:e,firstLine:r}={headersClass:Map}){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=l instanceof Headers,u=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 ft(t,s),i>=0){n=t;break}e.push(t),r+=t.byteLength}if(n){let[s,o]=st(n,i+1);e.push(s),r+=s.byteLength,t.unread(o)}else if(!e.length)return"";return pt.decode(nt(e,r))}(t),p=0,d="";for(;p<u.length;){if(a=u.indexOf("\n",p),!c||" "!==u[p]&&"\t"!==u[p]){if(c){try{h&&"set-cookie"===d.toLowerCase()?l.append(d,c):l.set(d,c)}catch{}c=null}s=u.indexOf(":",p),o=s<0?p:s+1,s>=0&&s<a?(d=u.slice(p,s).trimStart(),c=u.slice(o,a<0?void 0:a).trim()):c=null}else c+=u.slice(p,a<0?void 0:a).trimEnd();if(a<0)break;p=a+1}if(c)try{h&&"set-cookie"===d.toLowerCase()?l.append(d,c):l.set(d,c)}catch{}return new dt({statusline:n,headers:l})}},i=await r.parse(this._reader,{firstLine:e,headersClass:this._headersClass});if(!i)return null;this._warcHeadersLength=this._reader.getReadOffset();let n=new bt({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 ht&&t.reader.setLimitSkip(t.warcContentLength-i)}},St=(new TextEncoder,Symbol.asyncIterator,["offset","warc-type","warc-target-uri"]),Tt="urlkey,timestamp,url,mime,status,digest,length,offset,filename".split(","),xt="urlkey,timestamp,url,mime,status,digest,redirect,meta,length,offset,filename".split(",");async function Ct(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 s=e;for(;t[s]>=48&&t[s]<=57||t[s]>=65&&t[s]<=70||t[s]>=97&&t[s]<=102;)s++;if(0===s)return t;if(13!=t[s]||10!=t[s+1])return t;s+=2;var n=parseInt(i.decode(t.subarray(e,s)),16);if(0==n)break;t.set(t.subarray(s,s+n),r),s+=n,r+=n,13==t[s]&&10==t[s+1]&&(s+=2),e=s}return t.subarray(0,r)}(t))}catch(t){console.log("Chunk-Encoding Ignored: "+t)}try{if("br"===e)0===(t=R(t)).length&&(t=i);else if("gzip"===e||"gzip"===r){const e=new k.Inflate;e.push(t,!0),e.result&&!e.err&&(t=e.result)}}catch(t){console.log("Content-Encoding Ignored: "+t)}return t}var It=r(8764);const Rt=new TextEncoder,kt=new TextDecoder;class Nt{static fromResponse({url:t,response:e,date:r,noRW:i,isLive:n,archivePrefix:s}){const o=e.body?new lt(e.body.getReader(),!1):null,a=Number(e.headers.get("x-redirect-status")||e.status),c=e.headers.get("x-redirect-statusText")||e.statusText;let h=new Headers(e.headers),u=h.get("x-orig-location");if(u){if(u.startsWith(self.location.origin)&&(u=u.slice(self.location.origin.length)),s&&u.startsWith(s)){const t=u.indexOf("/http");t>0&&(u=u.slice(t+1))}h.set("location",u),h.delete("x-orig-location"),h.delete("x-redirect-status"),h.delete("x-redirect-statusText")}let p=null;const d=h.get("x-orig-ts");d&&(r=l(d),h.delete("x-orig-ts"),d&&u&&(p=d));const f=h.get("memento-datetime");f&&(r=new Date(f));const g=h.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)})),h.delete("x-proxy-set-cookie"),t.length&&h.set("x-wabac-preset-cookie",t.join(";"))}return new Nt({payload:o,status:a,statusText:c,headers:h,url:t,date:r,noRW:i,isLive:n,updateTS:p})}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[Symbol.asyncIterator]||t instanceof ct)?this.reader=t:this.buffer=t,this.status=e,this.statusText=r,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){let e=await this.getBuffer();return"string"==typeof e?e:239===e[0]&&187===e[1]&&191===e[2]?kt.decode(e.slice(3)):254===e[0]&&255===e[1]?It.Buffer.from(e.slice(2)).swap16().toString("utf16le"):255===e[0]&&254===e[1]?It.Buffer.from(e.slice(2)).toString("utf16le"):t?kt.decode(e):p(e)}setText(t,e=!1){this.setBuffer(e?Rt.encode(t):d(t))}async getBuffer(){return this.buffer||(this.buffer=await this.reader.readFully()),this.buffer}setBuffer(t){this.buffer=t,this.reader=null}setReader(t){t instanceof ct?(this.reader=t,this.buffer=null):t.getReader&&(this.reader=new lt(t.getReader()),this.buffer=null)}expectedLength(){return this.buffer?this.buffer.length:this.reader&&this.reader.reader?this.reader.reader.length:void 0}createIter(){const t=this.buffer,e=this.reader;return async function*(){if(t)for(let e=0;e<t.length;e+=s)yield t.slice(e,e+s);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;if(this.buffer)this.buffer=this.buffer.slice(i,n+1);else if(this.reader){if(!this.reader.setLimitSkip)return!1;0!==i||n!==r-1?this.reader.setLimitSkip(n-i+1,i):this.reader.setRangeAll&&this.reader.setRangeAll(r)}return this.headers.set("Content-Range",`bytes ${i}-${n}/${r}`),this.headers.set("Content-Length",n-i+1),this.status=206,this.statusText="Partial Content",!0}makeResponse(t=!1,e=!1){let r=null;w(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}}var Ot=r(6932);function Bt(t={}){let e,r;const i=t&&t.response&&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&&t.response&&!t.response.isLive?{maxRes:921600,maxBand:2e6}:{maxRes:412800,maxBand:1e6},t&&t.save&&(t.save.maxRes=n.maxRes,t.save.maxBand=n.maxBand),n}function Pt(t,e){const r=/#EXT-X-STREAM-INF:(?:.*[,])?BANDWIDTH=([\d]+)/,i=/RESOLUTION=([\d]+)x([\d]+)/,{maxRes:n,maxBand:s}=Bt(e);let o=[],a=0,c=null,l=0,h=0,u=t.trimEnd().split("\n");for(const t of u){const p=t.match(r);if(!p){e&&e.rewriteUrl&&!t.startsWith("#")&&(u[a]=e.rewriteUrl(t)),a+=1;continue}o.push(a);const d=Number(p[1]),f=t.match(i),g=f?Number(f[1])*Number(f[2]):0;g&&n?g<=n&&g>h&&(h=g,l=d,c=a):d<=s&&d>l&&(h=g,l=d,c=a),a+=1}o.reverse();for(const t of o)t!==c&&u.splice(t,2);return u.join("\n")}const Lt={ignoreAttributes:!1,removeNSPrefix:!1,format:!1,suppressEmptyNode:!0};function Dt(t,e,r){try{return function(t,e,r){const i=new Ot.XMLParser(Lt).parse(t),{maxRes:n,maxBand:s}=Bt(e);let o=null,a=0,c=0,l=null;l=Array.isArray(i.MPD.Period.AdaptationSet)?i.MPD.Period.AdaptationSet:[i.MPD.Period.AdaptationSet];for(const t of l){o=null,a=0,c=0;let e=null;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>a&&(a=e,c=r,o=t):r<=s&&r>c&&(a=e,c=r,o=t)}o&&Array.isArray(r)&&r.push(o["@_id"]),o&&(t.Representation=[o])}return"<?xml version='1.0' encoding='UTF-8'?>\n"+new Ot.XMLBuilder(Lt).build(i).trim()}(t,e,r)}catch(e){return console.log(e),t}}const Ut=[{contains:["youtube.com","youtube-nocookie.com"],rxRules:[[/ytplayer.load\(\);/,Mt('ytplayer.config.args.dash = "0"; ytplayer.config.args.dashmpd = ""; {0}')],[/yt\.setConfig.*PLAYER_CONFIG.*args":\s*{/,Mt('{0} "dash": "0", dashmpd: "", ')],[/(?:"player":|ytplayer\.config).*"args":\s*{/,Mt('{0}"dash":"0","dashmpd":"",')],[/yt\.setConfig.*PLAYER_VARS.*?{/,Mt('{0}"dash":"0","dashmpd":"",')],[/ytplayer.config={args:\s*{/,Mt('{0}"dash":"0","dashmpd":"",')],[/"0"\s*?==\s*?\w+\.dash&&/m,Mt("1&&")]]},{contains:["player.vimeo.com/video/"],rxRules:[[/^\{.+\}$/,function(t){let e;try{e=JSON.parse(t)}catch(e){return t}if(e&&e.request&&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=Ft(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=0,n=null;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/"],rxRules:[[/"dash_/,Mt('"__nodash__')],[/_dash"/,Mt('__nodash__"')],[/_dash_/,Mt("__nodash__")],[/"debugNoBatching\s?":(?:false|0)/,Mt('"debugNoBatching":true')]]},{contains:["instagram.com/"],rxRules:[[/"is_dash_eligible":(?:true|1)/,Mt('"is_dash_eligible":false')],[/"debugNoBatching\s?":(?:false|0)/,Mt('"debugNoBatching":true')]]},{contains:["api.twitter.com/2/","twitter.com/i/api/2/","twitter.com/i/api/graphql/"],rxRules:[[/"video_info":.*?}]}/,Ht('"video_info":')]]},{contains:["cdn.syndication.twimg.com/tweet-result"],rxRules:[[/"video":.*?viewCount":\d+}/,Ht('"video":')]]},{contains:["/vqlweb.js"],rxRules:[[/\b\w+\.updatePortSize\(\);this\.updateApplicationSize\(\)(?![*])/gim,Mt("/*{0}*/")]]}];function Mt(t){return e=>t.replace("{0}",e)}function Ft(t){let e=5e6;const r=t.response&&t.response.extraOpts;return t.save?t.save.maxBitrate=e:r&&r.maxBitrate&&(e=r.maxBitrate),e}function Ht(t){return(e,r)=>{if(!r)return e;const i=e;try{const i=/([\d]+)x([\d]+)/,n=Ft(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 Wt{constructor(t,e){this.rwRules=e||Ut,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}getRewriter(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 this.defaultRewriter}}class jt{constructor(t){this.rules=t||null,this.rules?this.compileRules():this.rx=null}compileRules(){let t="";for(let e of this.rules)t&&(t+="|"),t+=`(${e[0].source})`;const e=`(?:${t})`;this.rx=new RegExp(e,"gm")}doReplace(t,e){const r=t[t.length-2],i=t[t.length-1];for(let n=0;n<this.rules.length;n++){const s=t[n];if(!s)continue;const o=this.rules[n][1].call(this,s,e,r,i);if(o)return o}}rewrite(t,e){return this.rx?t.replace(this.rx,((t,...r)=>this.doReplace(r,e))):t}}var Vt=[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],Gt=[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],zt="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",qt={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"},Qt="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",Kt={5:Qt,"5module":Qt+" export import",6:Qt+" const class extends export import super"},Yt=/^in(stanceof)?$/,Jt=new RegExp("["+zt+"]"),Xt=new RegExp("["+zt+"·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_]");function Zt(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 $t(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&Jt.test(String.fromCharCode(t)):!1!==e&&Zt(t,Gt)))}function te(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&Xt.test(String.fromCharCode(t)):!1!==e&&(Zt(t,Gt)||Zt(t,Vt)))))}var ee=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 re(t,e){return new ee(t,{beforeExpr:!0,binop:e})}var ie={beforeExpr:!0},ne={startsExpr:!0},se={};function oe(t,e){return void 0===e&&(e={}),e.keyword=t,se[t]=new ee(t,e)}var ae={num:new ee("num",ne),regexp:new ee("regexp",ne),string:new ee("string",ne),name:new ee("name",ne),privateId:new ee("privateId",ne),eof:new ee("eof"),bracketL:new ee("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new ee("]"),braceL:new ee("{",{beforeExpr:!0,startsExpr:!0}),braceR:new ee("}"),parenL:new ee("(",{beforeExpr:!0,startsExpr:!0}),parenR:new ee(")"),comma:new ee(",",ie),semi:new ee(";",ie),colon:new ee(":",ie),dot:new ee("."),question:new ee("?",ie),questionDot:new ee("?."),arrow:new ee("=>",ie),template:new ee("template"),invalidTemplate:new ee("invalidTemplate"),ellipsis:new ee("...",ie),backQuote:new ee("`",ne),dollarBraceL:new ee("${",{beforeExpr:!0,startsExpr:!0}),eq:new ee("=",{beforeExpr:!0,isAssign:!0}),assign:new ee("_=",{beforeExpr:!0,isAssign:!0}),incDec:new ee("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new ee("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:re("||",1),logicalAND:re("&&",2),bitwiseOR:re("|",3),bitwiseXOR:re("^",4),bitwiseAND:re("&",5),equality:re("==/!=/===/!==",6),relational:re("</>/<=/>=",7),bitShift:re("<</>>/>>>",8),plusMin:new ee("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:re("%",10),star:re("*",10),slash:re("/",10),starstar:new ee("**",{beforeExpr:!0}),coalesce:re("??",1),_break:oe("break"),_case:oe("case",ie),_catch:oe("catch"),_continue:oe("continue"),_debugger:oe("debugger"),_default:oe("default",ie),_do:oe("do",{isLoop:!0,beforeExpr:!0}),_else:oe("else",ie),_finally:oe("finally"),_for:oe("for",{isLoop:!0}),_function:oe("function",ne),_if:oe("if"),_return:oe("return",ie),_switch:oe("switch"),_throw:oe("throw",ie),_try:oe("try"),_var:oe("var"),_const:oe("const"),_while:oe("while",{isLoop:!0}),_with:oe("with"),_new:oe("new",{beforeExpr:!0,startsExpr:!0}),_this:oe("this",ne),_super:oe("super",ne),_class:oe("class",ne),_extends:oe("extends",ie),_export:oe("export"),_import:oe("import",ne),_null:oe("null",ne),_true:oe("true",ne),_false:oe("false",ne),_in:oe("in",{beforeExpr:!0,binop:7}),_instanceof:oe("instanceof",{beforeExpr:!0,binop:7}),_typeof:oe("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:oe("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:oe("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},ce=/\r\n?|\n|\u2028|\u2029/,le=new RegExp(ce.source,"g");function he(t){return 10===t||13===t||8232===t||8233===t}function ue(t,e,r){void 0===r&&(r=t.length);for(var i=e;i<r;i++){var n=t.charCodeAt(i);if(he(n))return i<r-1&&13===n&&10===t.charCodeAt(i+1)?i+2:i+1}return-1}var pe=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,de=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,fe=Object.prototype,ge=fe.hasOwnProperty,me=fe.toString,we=Object.hasOwn||function(t,e){return ge.call(t,e)},ye=Array.isArray||function(t){return"[object Array]"===me.call(t)};function be(t){return new RegExp("^(?:"+t.replace(/ /g,"|")+")$")}function Ae(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}var _e=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,ve=function(t,e){this.line=t,this.column=e};ve.prototype.offset=function(t){return new ve(this.line,this.column+t)};var Ee=function(t,e,r){this.start=e,this.end=r,null!==t.sourceFile&&(this.source=t.sourceFile)};function Se(t,e){for(var r=1,i=0;;){var n=ue(t,i,e);if(n<0)return new ve(r,e-i);++r,i=n}}var Te={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},xe=!1;function Ce(t,e){return 2|(t?4:0)|(e?8:0)}var Ie=function(t,e,r){this.options=t=function(t){var e={};for(var r in Te)e[r]=t&&we(t,r)?t[r]:Te[r];if("latest"===e.ecmaVersion?e.ecmaVersion=1e8:null==e.ecmaVersion?(!xe&&"object"==typeof console&&console.warn&&(xe=!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),ye(e.onToken)){var i=e.onToken;e.onToken=function(t){return i.push(t)}}return ye(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 Ee(this,o,a)),t.ranges&&(c.range=[n,s]),e.push(c)}}(e,e.onComment)),e}(t),this.sourceFile=t.sourceFile,this.keywords=be(Kt[t.ecmaVersion>=6?6:"module"===t.sourceType?"5module":5]);var i="";!0!==t.allowReserved&&(i=qt[t.ecmaVersion>=6?6:5===t.ecmaVersion?5:3],"module"===t.sourceType&&(i+=" await")),this.reservedWords=be(i);var n=(i?i+" ":"")+qt.strict;this.reservedWordsStrict=be(n),this.reservedWordsStrictBind=be(n+" "+qt.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(ce).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=ae.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=[]},Re={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}};Ie.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},Re.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},Re.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0&&!this.currentVarScope().inClassFieldInit},Re.inAsync.get=function(){return(4&this.currentVarScope().flags)>0&&!this.currentVarScope().inClassFieldInit},Re.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},Re.allowSuper.get=function(){var t=this.currentThisScope(),e=t.flags,r=t.inClassFieldInit;return(64&e)>0||r||this.options.allowSuperOutsideMethod},Re.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},Re.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},Re.allowNewDotTarget.get=function(){var t=this.currentThisScope(),e=t.flags,r=t.inClassFieldInit;return(258&e)>0||r},Re.inClassStaticBlock.get=function(){return(256&this.currentVarScope().flags)>0},Ie.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},Ie.parse=function(t,e){return new this(e,t).parse()},Ie.parseExpressionAt=function(t,e,r){var i=new this(r,t,e);return i.nextToken(),i.parseExpression()},Ie.tokenizer=function(t,e){return new this(e,t)},Object.defineProperties(Ie.prototype,Re);var ke=Ie.prototype,Ne=/^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/;ke.strictDirective=function(t){if(this.options.ecmaVersion<5)return!1;for(;;){de.lastIndex=t,t+=de.exec(this.input)[0].length;var e=Ne.exec(this.input.slice(t));if(!e)return!1;if("use strict"===(e[1]||e[2])){de.lastIndex=t+e[0].length;var r=de.exec(this.input),i=r.index+r[0].length,n=this.input.charAt(i);return";"===n||"}"===n||ce.test(r[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(n)||"!"===n&&"="===this.input.charAt(i+1))}t+=e[0].length,de.lastIndex=t,t+=de.exec(this.input)[0].length,";"===this.input[t]&&t++}},ke.eat=function(t){return this.type===t&&(this.next(),!0)},ke.isContextual=function(t){return this.type===ae.name&&this.value===t&&!this.containsEsc},ke.eatContextual=function(t){return!!this.isContextual(t)&&(this.next(),!0)},ke.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},ke.canInsertSemicolon=function(){return this.type===ae.eof||this.type===ae.braceR||ce.test(this.input.slice(this.lastTokEnd,this.start))},ke.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},ke.semicolon=function(){this.eat(ae.semi)||this.insertSemicolon()||this.unexpected()},ke.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},ke.expect=function(t){this.eat(t)||this.unexpected()},ke.unexpected=function(t){this.raise(null!=t?t:this.start,"Unexpected token")};var Oe=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};ke.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")}},ke.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")},ke.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")},ke.isSimpleAssignTarget=function(t){return"ParenthesizedExpression"===t.type?this.isSimpleAssignTarget(t.expression):"Identifier"===t.type||"MemberExpression"===t.type};var Be=Ie.prototype;Be.parseTopLevel=function(t){var e=Object.create(null);for(t.body||(t.body=[]);this.type!==ae.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 Pe={kind:"loop"},Le={kind:"switch"};Be.isLet=function(t){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;de.lastIndex=this.pos;var e=de.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($t(i,!0)){for(var n=r+1;te(i=this.input.charCodeAt(n),!0);)++n;if(92===i||i>55295&&i<56320)return!0;var s=this.input.slice(r,n);if(!Yt.test(s))return!0}return!1},Be.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;de.lastIndex=this.pos;var t,e=de.exec(this.input),r=this.pos+e[0].length;return!(ce.test(this.input.slice(this.pos,r))||"function"!==this.input.slice(r,r+8)||r+8!==this.input.length&&(te(t=this.input.charCodeAt(r+8))||t>55295&&t<56320))},Be.parseStatement=function(t,e,r){var i,n=this.type,s=this.startNode();switch(this.isLet(t)&&(n=ae._var,i="let"),n){case ae._break:case ae._continue:return this.parseBreakContinueStatement(s,n.keyword);case ae._debugger:return this.parseDebuggerStatement(s);case ae._do:return this.parseDoStatement(s);case ae._for:return this.parseForStatement(s);case ae._function:return t&&(this.strict||"if"!==t&&"label"!==t)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(s,!1,!t);case ae._class:return t&&this.unexpected(),this.parseClass(s,!0);case ae._if:return this.parseIfStatement(s);case ae._return:return this.parseReturnStatement(s);case ae._switch:return this.parseSwitchStatement(s);case ae._throw:return this.parseThrowStatement(s);case ae._try:return this.parseTryStatement(s);case ae._const:case ae._var:return i=i||this.value,t&&"var"!==i&&this.unexpected(),this.parseVarStatement(s,i);case ae._while:return this.parseWhileStatement(s);case ae._with:return this.parseWithStatement(s);case ae.braceL:return this.parseBlock(!0,s);case ae.semi:return this.parseEmptyStatement(s);case ae._export:case ae._import:if(this.options.ecmaVersion>10&&n===ae._import){de.lastIndex=this.pos;var o=de.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===ae._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===ae.name&&"Identifier"===h.type&&this.eat(ae.colon)?this.parseLabeledStatement(s,l,h,t):this.parseExpressionStatement(s,h)}},Be.parseBreakContinueStatement=function(t,e){var r="break"===e;this.next(),this.eat(ae.semi)||this.insertSemicolon()?t.label=null:this.type!==ae.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")},Be.parseDebuggerStatement=function(t){return this.next(),this.semicolon(),this.finishNode(t,"DebuggerStatement")},Be.parseDoStatement=function(t){return this.next(),this.labels.push(Pe),t.body=this.parseStatement("do"),this.labels.pop(),this.expect(ae._while),t.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(ae.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},Be.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(Pe),this.enterScope(0),this.expect(ae.parenL),this.type===ae.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var r=this.isLet();if(this.type===ae._var||this.type===ae._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===ae._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===i.declarations.length?(this.options.ecmaVersion>=9&&(this.type===ae._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 Oe,c=this.parseExpression(!(e>-1)||"await",a);return this.type===ae._in||(o=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===ae._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))},Be.parseFunctionStatement=function(t,e,r){return this.next(),this.parseFunction(t,Ue|(r?0:Me),!1,e)},Be.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(ae._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")},Be.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(ae.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},Be.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(ae.braceL),this.labels.push(Le),this.enterScope(0);for(var r=!1;this.type!==ae.braceR;)if(this.type===ae._case||this.type===ae._default){var i=this.type===ae._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(ae.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")},Be.parseThrowStatement=function(t){return this.next(),ce.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 De=[];Be.parseCatchClauseParam=function(){var t=this.parseBindingAtom(),e="Identifier"===t.type;return this.enterScope(e?32:0),this.checkLValPattern(t,e?4:2),this.expect(ae.parenR),t},Be.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===ae._catch){var e=this.startNode();this.next(),this.eat(ae.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(ae._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},Be.parseVarStatement=function(t,e,r){return this.next(),this.parseVar(t,!1,e,r),this.semicolon(),this.finishNode(t,"VariableDeclaration")},Be.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(Pe),t.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(t,"WhileStatement")},Be.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")},Be.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},Be.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===ae._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")},Be.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},Be.parseBlock=function(t,e,r){for(void 0===t&&(t=!0),void 0===e&&(e=this.startNode()),e.body=[],this.expect(ae.braceL),t&&this.enterScope(0);this.type!==ae.braceR;){var i=this.parseStatement(null);e.body.push(i)}return r&&(this.strict=!1),this.next(),t&&this.exitScope(),this.finishNode(e,"BlockStatement")},Be.parseFor=function(t,e){return t.init=e,this.expect(ae.semi),t.test=this.type===ae.semi?null:this.parseExpression(),this.expect(ae.semi),t.update=this.type===ae.parenR?null:this.parseExpression(),this.expect(ae.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,"ForStatement")},Be.parseForIn=function(t,e){var r=this.type===ae._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(ae.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,r?"ForInStatement":"ForOfStatement")},Be.parseVar=function(t,e,r,i){for(t.declarations=[],t.kind=r;;){var n=this.startNode();if(this.parseVarId(n,r),this.eat(ae.eq)?n.init=this.parseMaybeAssign(e):i||"const"!==r||this.type===ae._in||this.options.ecmaVersion>=6&&this.isContextual("of")?i||"Identifier"===n.id.type||e&&(this.type===ae._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(ae.comma))break}return t},Be.parseVarId=function(t,e){t.id=this.parseBindingAtom(),this.checkLValPattern(t.id,"var"===e?1:2,!1)};var Ue=1,Me=2;function Fe(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 He(t,e){var r=t.computed,i=t.key;return!r&&("Identifier"===i.type&&i.name===e||"Literal"===i.type&&i.value===e)}Be.parseFunction=function(t,e,r,i,n){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===ae.star&&e&Me&&this.unexpected(),t.generator=this.eat(ae.star)),this.options.ecmaVersion>=8&&(t.async=!!i),e&Ue&&(t.id=4&e&&this.type!==ae.name?null:this.parseIdent(),!t.id||e&Me||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(Ce(t.async,t.generator)),e&Ue||(t.id=this.type===ae.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&Ue?"FunctionDeclaration":"FunctionExpression")},Be.parseFunctionParams=function(t){this.expect(ae.parenL),t.params=this.parseBindingList(ae.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},Be.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(ae.braceL);this.type!==ae.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&&Fe(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")},Be.parseClassElement=function(t){if(this.eat(ae.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(ae.braceL))return this.parseClassStaticBlock(r),r;this.isClassElementNameStart()||this.type===ae.star?a=!0:i="static"}if(r.static=a,!i&&e>=8&&this.eatContextual("async")&&(!this.isClassElementNameStart()&&this.type!==ae.star||this.canInsertSemicolon()?i="async":s=!0),!i&&(e>=9||!s)&&this.eat(ae.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===ae.parenL||"method"!==o||n||s){var l=!r.static&&He(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},Be.isClassElementNameStart=function(){return this.type===ae.name||this.type===ae.privateId||this.type===ae.num||this.type===ae.string||this.type===ae.bracketL||this.type.keyword},Be.parseClassElementName=function(t){this.type===ae.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)},Be.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&&He(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")},Be.parseClassField=function(t){if(He(t,"constructor")?this.raise(t.key.start,"Classes can't have a field named 'constructor'"):t.static&&He(t,"prototype")&&this.raise(t.key.start,"Classes can't have a static field named 'prototype'"),this.eat(ae.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")},Be.parseClassStaticBlock=function(t){t.body=[];var e=this.labels;for(this.labels=[],this.enterScope(320);this.type!==ae.braceR;){var r=this.parseStatement(null);t.body.push(r)}return this.next(),this.exitScope(),this.labels=e,this.finishNode(t,"StaticBlock")},Be.parseClassId=function(t,e){this.type===ae.name?(t.id=this.parseIdent(),e&&this.checkLValSimple(t.id,2,!1)):(!0===e&&this.unexpected(),t.id=null)},Be.parseClassSuper=function(t){t.superClass=this.eat(ae._extends)?this.parseExprSubscripts(null,!1):null},Be.enterClassBody=function(){var t={declared:Object.create(null),used:[]};return this.privateNameStack.push(t),t.declared},Be.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];we(e,o.name)||(n?n.used.push(o):this.raiseRecoverable(o.start,"Private field '#"+o.name+"' must be declared in an enclosing class"))}},Be.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!==ae.string&&this.unexpected(),t.source=this.parseExprAtom(),this.semicolon(),this.finishNode(t,"ExportAllDeclaration")},Be.parseExport=function(t,e){if(this.next(),this.eat(ae.star))return this.parseExportAllDeclaration(t,e);if(this.eat(ae._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!==ae.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")},Be.parseExportDeclaration=function(t){return this.parseStatement(null)},Be.parseExportDefaultDeclaration=function(){var t;if(this.type===ae._function||(t=this.isAsyncFunction())){var e=this.startNode();return this.next(),t&&this.next(),this.parseFunction(e,4|Ue,!1,t)}if(this.type===ae._class){var r=this.startNode();return this.parseClass(r,"nullableID")}var i=this.parseMaybeAssign();return this.semicolon(),i},Be.checkExport=function(t,e,r){t&&("string"!=typeof e&&(e="Identifier"===e.type?e.name:e.value),we(t,e)&&this.raiseRecoverable(r,"Duplicate export '"+e+"'"),t[e]=!0)},Be.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)},Be.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)}},Be.shouldParseExportStatement=function(){return"var"===this.type.keyword||"const"===this.type.keyword||"class"===this.type.keyword||"function"===this.type.keyword||this.isLet()||this.isAsyncFunction()},Be.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")},Be.parseExportSpecifiers=function(t){var e=[],r=!0;for(this.expect(ae.braceL);!this.eat(ae.braceR);){if(r)r=!1;else if(this.expect(ae.comma),this.afterTrailingComma(ae.braceR))break;e.push(this.parseExportSpecifier(t))}return e},Be.parseImport=function(t){return this.next(),this.type===ae.string?(t.specifiers=De,t.source=this.parseExprAtom()):(t.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),t.source=this.type===ae.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(t,"ImportDeclaration")},Be.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")},Be.parseImportDefaultSpecifier=function(){var t=this.startNode();return t.local=this.parseIdent(),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportDefaultSpecifier")},Be.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")},Be.parseImportSpecifiers=function(){var t=[],e=!0;if(this.type===ae.name&&(t.push(this.parseImportDefaultSpecifier()),!this.eat(ae.comma)))return t;if(this.type===ae.star)return t.push(this.parseImportNamespaceSpecifier()),t;for(this.expect(ae.braceL);!this.eat(ae.braceR);){if(e)e=!1;else if(this.expect(ae.comma),this.afterTrailingComma(ae.braceR))break;t.push(this.parseImportSpecifier())}return t},Be.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===ae.string){var t=this.parseLiteral(this.value);return _e.test(t.value)&&this.raise(t.start,"An export name cannot include a lone surrogate."),t}return this.parseIdent(!0)},Be.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)},Be.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 We=Ie.prototype;We.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},We.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},We.parseSpread=function(t){var e=this.startNode();return this.next(),e.argument=this.parseMaybeAssign(!1,t),this.finishNode(e,"SpreadElement")},We.parseRestBinding=function(){var t=this.startNode();return this.next(),6===this.options.ecmaVersion&&this.type!==ae.name&&this.unexpected(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")},We.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case ae.bracketL:var t=this.startNode();return this.next(),t.elements=this.parseBindingList(ae.bracketR,!0,!0),this.finishNode(t,"ArrayPattern");case ae.braceL:return this.parseObj(!0)}return this.parseIdent()},We.parseBindingList=function(t,e,r,i){for(var n=[],s=!0;!this.eat(t);)if(s?s=!1:this.expect(ae.comma),e&&this.type===ae.comma)n.push(null);else{if(r&&this.afterTrailingComma(t))break;if(this.type===ae.ellipsis){var o=this.parseRestBinding();this.parseBindingListItem(o),n.push(o),this.type===ae.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.expect(t);break}n.push(this.parseAssignableListItem(i))}return n},We.parseAssignableListItem=function(t){var e=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(e),e},We.parseBindingListItem=function(t){return t},We.parseMaybeDefault=function(t,e,r){if(r=r||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(ae.eq))return r;var i=this.startNodeAt(t,e);return i.left=r,i.right=this.parseMaybeAssign(),this.finishNode(i,"AssignmentPattern")},We.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&&(we(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")}},We.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)}},We.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 je=function(t,e,r,i,n){this.token=t,this.isExpr=!!e,this.preserveSpace=!!r,this.override=i,this.generator=!!n},Ve={b_stat:new je("{",!1),b_expr:new je("{",!0),b_tmpl:new je("${",!1),p_stat:new je("(",!1),p_expr:new je("(",!0),q_tmpl:new je("`",!0,!0,(function(t){return t.tryReadTemplateToken()})),f_stat:new je("function",!1),f_expr:new je("function",!0),f_expr_gen:new je("function",!0,!1,null,!0),f_gen:new je("function",!1,!1,null,!0)},Ge=Ie.prototype;Ge.initialContext=function(){return[Ve.b_stat]},Ge.curContext=function(){return this.context[this.context.length-1]},Ge.braceIsBlock=function(t){var e=this.curContext();return e===Ve.f_expr||e===Ve.f_stat||(t!==ae.colon||e!==Ve.b_stat&&e!==Ve.b_expr?t===ae._return||t===ae.name&&this.exprAllowed?ce.test(this.input.slice(this.lastTokEnd,this.start)):t===ae._else||t===ae.semi||t===ae.eof||t===ae.parenR||t===ae.arrow||(t===ae.braceL?e===Ve.b_stat:t!==ae._var&&t!==ae._const&&t!==ae.name&&!this.exprAllowed):!e.isExpr)},Ge.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},Ge.updateContext=function(t){var e,r=this.type;r.keyword&&t===ae.dot?this.exprAllowed=!1:(e=r.updateContext)?e.call(this,t):this.exprAllowed=r.beforeExpr},Ge.overrideContext=function(t){this.curContext()!==t&&(this.context[this.context.length-1]=t)},ae.parenR.updateContext=ae.braceR.updateContext=function(){if(1!==this.context.length){var t=this.context.pop();t===Ve.b_stat&&"function"===this.curContext().token&&(t=this.context.pop()),this.exprAllowed=!t.isExpr}else this.exprAllowed=!0},ae.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?Ve.b_stat:Ve.b_expr),this.exprAllowed=!0},ae.dollarBraceL.updateContext=function(){this.context.push(Ve.b_tmpl),this.exprAllowed=!0},ae.parenL.updateContext=function(t){var e=t===ae._if||t===ae._for||t===ae._with||t===ae._while;this.context.push(e?Ve.p_stat:Ve.p_expr),this.exprAllowed=!0},ae.incDec.updateContext=function(){},ae._function.updateContext=ae._class.updateContext=function(t){!t.beforeExpr||t===ae._else||t===ae.semi&&this.curContext()!==Ve.p_stat||t===ae._return&&ce.test(this.input.slice(this.lastTokEnd,this.start))||(t===ae.colon||t===ae.braceL)&&this.curContext()===Ve.b_stat?this.context.push(Ve.f_stat):this.context.push(Ve.f_expr),this.exprAllowed=!1},ae.backQuote.updateContext=function(){this.curContext()===Ve.q_tmpl?this.context.pop():this.context.push(Ve.q_tmpl),this.exprAllowed=!1},ae.star.updateContext=function(t){if(t===ae._function){var e=this.context.length-1;this.context[e]===Ve.f_expr?this.context[e]=Ve.f_expr_gen:this.context[e]=Ve.f_gen}this.exprAllowed=!0},ae.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==ae.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var ze=Ie.prototype;function qe(t){return"MemberExpression"===t.type&&"PrivateIdentifier"===t.property.type||"ChainExpression"===t.type&&qe(t.expression)}ze.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}}},ze.parseExpression=function(t,e){var r=this.start,i=this.startLoc,n=this.parseMaybeAssign(t,e);if(this.type===ae.comma){var s=this.startNodeAt(r,i);for(s.expressions=[n];this.eat(ae.comma);)s.expressions.push(this.parseMaybeAssign(t,e));return this.finishNode(s,"SequenceExpression")}return n},ze.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 Oe,i=!0);var a=this.start,c=this.startLoc;this.type!==ae.parenL&&this.type!==ae.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===ae.eq&&(l=this.toAssignable(l,!1,e)),i||(e.parenthesizedAssign=e.trailingComma=e.doubleProto=-1),e.shorthandAssign>=l.start&&(e.shorthandAssign=-1),this.type===ae.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},ze.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(ae.question)){var s=this.startNodeAt(r,i);return s.test=n,s.consequent=this.parseMaybeAssign(),this.expect(ae.colon),s.alternate=this.parseMaybeAssign(t),this.finishNode(s,"ConditionalExpression")}return n},ze.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)},ze.parseExprOp=function(t,e,r,i,n){var s=this.type.binop;if(null!=s&&(!n||this.type!==ae._in)&&s>i){var o=this.type===ae.logicalOR||this.type===ae.logicalAND,a=this.type===ae.coalesce;a&&(s=ae.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===ae.coalesce||a&&(this.type===ae.logicalOR||this.type===ae.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},ze.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")},ze.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===ae.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&&qe(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!==ae.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!==ae._in&&this.unexpected();return r||!this.eat(ae.starstar)?n:e?void this.unexpected(this.lastTokStart):this.buildBinary(s,o,n,this.parseMaybeUnary(null,!1,!1,i),"**",!1)},ze.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},ze.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}},ze.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(ae.arrow)},ze.parseSubscriptAsyncArrow=function(t,e,r,i){return this.parseArrowExpression(this.startNodeAt(t,e),r,!0,i)},ze.parseSubscript=function(t,e,r,i,n,s,o){var a=this.options.ecmaVersion>=11,c=a&&this.eat(ae.questionDot);i&&c&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var l=this.eat(ae.bracketL);if(l||c&&this.type!==ae.parenL&&this.type!==ae.backQuote||this.eat(ae.dot)){var h=this.startNodeAt(e,r);h.object=t,l?(h.property=this.parseExpression(),this.expect(ae.bracketR)):this.type===ae.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(ae.parenL)){var u=new Oe,p=this.yieldPos,d=this.awaitPos,f=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var g=this.parseExprList(ae.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 m=this.startNodeAt(e,r);m.callee=t,m.arguments=g,a&&(m.optional=c),t=this.finishNode(m,"CallExpression")}else if(this.type===ae.backQuote){(c||s)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var w=this.startNodeAt(e,r);w.tag=t,w.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(w,"TaggedTemplateExpression")}return t},ze.parseExprAtom=function(t,e,r){this.type===ae.slash&&this.readRegexp();var i,n=this.potentialArrowAt===this.start;switch(this.type){case ae._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),i=this.startNode(),this.next(),this.type!==ae.parenL||this.allowDirectSuper||this.raise(i.start,"super() call outside constructor of a subclass"),this.type!==ae.dot&&this.type!==ae.bracketL&&this.type!==ae.parenL&&this.unexpected(),this.finishNode(i,"Super");case ae._this:return i=this.startNode(),this.next(),this.finishNode(i,"ThisExpression");case ae.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(ae._function))return this.overrideContext(Ve.f_expr),this.parseFunction(this.startNodeAt(s,o),0,!1,!0,e);if(n&&!this.canInsertSemicolon()){if(this.eat(ae.arrow))return this.parseArrowExpression(this.startNodeAt(s,o),[c],!1,e);if(this.options.ecmaVersion>=8&&"async"===c.name&&this.type===ae.name&&!a&&(!this.potentialArrowInForAwait||"of"!==this.value||this.containsEsc))return c=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(ae.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(s,o),[c],!0,e)}return c;case ae.regexp:var l=this.value;return(i=this.parseLiteral(l.value)).regex={pattern:l.pattern,flags:l.flags},i;case ae.num:case ae.string:return this.parseLiteral(this.value);case ae._null:case ae._true:case ae._false:return(i=this.startNode()).value=this.type===ae._null?null:this.type===ae._true,i.raw=this.type.keyword,this.next(),this.finishNode(i,"Literal");case ae.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 ae.bracketL:return i=this.startNode(),this.next(),i.elements=this.parseExprList(ae.bracketR,!0,!0,t),this.finishNode(i,"ArrayExpression");case ae.braceL:return this.overrideContext(Ve.b_expr),this.parseObj(!1,t);case ae._function:return i=this.startNode(),this.next(),this.parseFunction(i,0);case ae._class:return this.parseClass(this.startNode(),!1);case ae._new:return this.parseNew();case ae.backQuote:return this.parseTemplate();case ae._import:return this.options.ecmaVersion>=11?this.parseExprImport(r):this.unexpected();default:return this.parseExprAtomDefault()}},ze.parseExprAtomDefault=function(){this.unexpected()},ze.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!==ae.parenL||t?this.type===ae.dot?(e.meta=r,this.parseImportMeta(e)):void this.unexpected():this.parseDynamicImport(e)},ze.parseDynamicImport=function(t){if(this.next(),t.source=this.parseMaybeAssign(),!this.eat(ae.parenR)){var e=this.start;this.eat(ae.comma)&&this.eat(ae.parenR)?this.raiseRecoverable(e,"Trailing comma is not allowed in import()"):this.unexpected(e)}return this.finishNode(t,"ImportExpression")},ze.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")},ze.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")},ze.parseParenExpression=function(){this.expect(ae.parenL);var t=this.parseExpression();return this.expect(ae.parenR),t},ze.shouldParseArrow=function(t){return!this.canInsertSemicolon()},ze.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 Oe,d=this.yieldPos,f=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==ae.parenR;){if(h?h=!1:this.expect(ae.comma),s&&this.afterTrailingComma(ae.parenR,!0)){u=!0;break}if(this.type===ae.ellipsis){o=this.start,l.push(this.parseParenItem(this.parseRestBinding())),this.type===ae.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,m=this.lastTokEndLoc;if(this.expect(ae.parenR),t&&this.shouldParseArrow(l)&&this.eat(ae.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,m)):r=l[0]}else r=this.parseParenExpression();if(this.options.preserveParens){var w=this.startNodeAt(i,n);return w.expression=r,this.finishNode(w,"ParenthesizedExpression")}return r},ze.parseParenItem=function(t){return t},ze.parseParenArrowList=function(t,e,r,i){return this.parseArrowExpression(this.startNodeAt(t,e),r,!1,i)};var Qe=[];ze.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(ae.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(ae.parenL)?t.arguments=this.parseExprList(ae.parenR,this.options.ecmaVersion>=8,!1):t.arguments=Qe,this.finishNode(t,"NewExpression")},ze.parseTemplateElement=function(t){var e=t.isTagged,r=this.startNode();return this.type===ae.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===ae.backQuote,this.finishNode(r,"TemplateElement")},ze.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===ae.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(ae.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(ae.braceR),r.quasis.push(i=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(r,"TemplateLiteral")},ze.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===ae.name||this.type===ae.num||this.type===ae.string||this.type===ae.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===ae.star)&&!ce.test(this.input.slice(this.lastTokEnd,this.start))},ze.parseObj=function(t,e){var r=this.startNode(),i=!0,n={};for(r.properties=[],this.next();!this.eat(ae.braceR);){if(i)i=!1;else if(this.expect(ae.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(ae.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")},ze.parseProperty=function(t,e){var r,i,n,s,o=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(ae.ellipsis))return t?(o.argument=this.parseIdent(!1),this.type===ae.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===ae.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(ae.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(ae.star),this.parsePropertyName(o)):i=!1,this.parsePropertyValue(o,t,r,i,n,s,e,a),this.finishNode(o,"Property")},ze.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")},ze.parsePropertyValue=function(t,e,r,i,n,s,o,a){(r||i)&&this.type===ae.colon&&this.unexpected(),this.eat(ae.colon)?(t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),t.kind="init"):this.options.ecmaVersion>=6&&this.type===ae.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===ae.comma||this.type===ae.braceR||this.type===ae.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===ae.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))},ze.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(ae.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(ae.bracketR),t.key;t.computed=!1}return t.key=this.type===ae.num||this.type===ae.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},ze.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},ze.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|Ce(e,i.generator)|(r?128:0)),this.expect(ae.parenL),i.params=this.parseBindingList(ae.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")},ze.parseArrowExpression=function(t,e,r,i){var n=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;return this.enterScope(16|Ce(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")},ze.parseFunctionBody=function(t,e,r,i){var n=e&&this.type!==ae.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()},ze.isSimpleParamList=function(t){for(var e=0,r=t;e<r.length;e+=1)if("Identifier"!==r[e].type)return!1;return!0},ze.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)}},ze.parseExprList=function(t,e,r,i){for(var n=[],s=!0;!this.eat(t);){if(s)s=!1;else if(this.expect(ae.comma),e&&this.afterTrailingComma(t))break;var o=void 0;r&&this.type===ae.comma?o=null:this.type===ae.ellipsis?(o=this.parseSpread(i),i&&this.type===ae.comma&&i.trailingComma<0&&(i.trailingComma=this.start)):o=this.parseMaybeAssign(!1,i),n.push(o)}return n},ze.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"))},ze.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},ze.parseIdentNode=function(){var t=this.startNode();return this.type===ae.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},ze.parsePrivateIdent=function(){var t=this.startNode();return this.type===ae.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},ze.parseYield=function(t){this.yieldPos||(this.yieldPos=this.start);var e=this.startNode();return this.next(),this.type===ae.semi||this.canInsertSemicolon()||this.type!==ae.star&&!this.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(ae.star),e.argument=this.parseMaybeAssign(t)),this.finishNode(e,"YieldExpression")},ze.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 Ke=Ie.prototype;Ke.raise=function(t,e){var r=Se(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},Ke.raiseRecoverable=Ke.raise,Ke.curPosition=function(){if(this.options.locations)return new ve(this.curLine,this.pos-this.lineStart)};var Ye=Ie.prototype,Je=function(t){this.flags=t,this.var=[],this.lexical=[],this.functions=[],this.inClassFieldInit=!1};Ye.enterScope=function(t){this.scopeStack.push(new Je(t))},Ye.exitScope=function(){this.scopeStack.pop()},Ye.treatFunctionsAsVarInScope=function(t){return 2&t.flags||!this.inModule&&1&t.flags},Ye.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")},Ye.checkLocalExport=function(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&(this.undefinedExports[t.name]=t)},Ye.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Ye.currentVarScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(259&e.flags)return e}},Ye.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 Xe=function(t,e,r){this.type="",this.start=e,this.end=0,t.options.locations&&(this.loc=new Ee(t,r)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[e,0])},Ze=Ie.prototype;function $e(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}Ze.startNode=function(){return new Xe(this,this.start,this.startLoc)},Ze.startNodeAt=function(t,e){return new Xe(this,t,e)},Ze.finishNode=function(t,e){return $e.call(this,t,e,this.lastTokEnd,this.lastTokEndLoc)},Ze.finishNodeAt=function(t,e,r,i){return $e.call(this,t,e,r,i)},Ze.copyNode=function(t){var e=new Xe(this,t.start,this.startLoc);for(var r in t)e[r]=t[r];return e};var tr="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",er=tr+" Extended_Pictographic",rr=er+" EBase EComp EMod EPres ExtPict",ir={9:tr,10:er,11:er,12:rr,13:rr,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"},nr={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"},sr="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",or="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",ar=or+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",cr=ar+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",lr=cr+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",hr={9:or,10:ar,11:cr,12:lr,13:"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",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"},ur={};function pr(t){var e=ur[t]={binary:be(ir[t]+" "+sr),binaryOfStrings:be(nr[t]),nonBinary:{General_Category:be(sr),Script:be(hr[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 dr=0,fr=[9,10,11,12,13,14];dr<fr.length;dr+=1)pr(fr[dr]);var gr=Ie.prototype,mr=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=ur[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 wr(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function yr(t){return t>=65&&t<=90||t>=97&&t<=122}function br(t){return yr(t)||95===t}function Ar(t){return br(t)||_r(t)}function _r(t){return t>=48&&t<=57}function vr(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function Er(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function Sr(t){return t>=48&&t<=55}mr.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)},mr.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},mr.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},mr.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},mr.prototype.current=function(t){return void 0===t&&(t=!1),this.at(this.pos,t)},mr.prototype.lookahead=function(t){return void 0===t&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},mr.prototype.advance=function(t){void 0===t&&(t=!1),this.pos=this.nextIndex(this.pos,t)},mr.prototype.eat=function(t,e){return void 0===e&&(e=!1),this.current(e)===t&&(this.advance(e),!0)},mr.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},gr.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")},gr.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&t.groupNames.length>0&&(t.switchN=!0,this.regexp_pattern(t))},gr.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")}},gr.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")},gr.regexp_alternative=function(t){for(;t.pos<t.source.length&&this.regexp_eatTerm(t););},gr.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)},gr.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},gr.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},gr.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},gr.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},gr.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)},gr.regexp_eatReverseSolidusAtomEscape=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatAtomEscape(t))return!0;t.pos=e}return!1},gr.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},gr.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},gr.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)},gr.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},gr.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!wr(e)&&(t.lastIntValue=e,t.advance(),!0)},gr.regexp_eatPatternCharacters=function(t){for(var e=t.pos,r=0;-1!==(r=t.current())&&!wr(r);)t.advance();return t.pos!==e},gr.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))},gr.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")}},gr.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},gr.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=Ae(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=Ae(t.lastIntValue);return!0}return!1},gr.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 $t(t,!0)||36===t||95===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},gr.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 te(t,!0)||36===t||95===t||8204===t||8205===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},gr.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)},gr.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},gr.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},gr.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)},gr.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},gr.regexp_eatZero=function(t){return 48===t.current()&&!_r(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},gr.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)},gr.regexp_eatControlLetter=function(t){var e=t.current();return!!yr(e)&&(t.lastIntValue=e%32,t.advance(),!0)},gr.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},gr.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))},gr.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},gr.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},gr.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},gr.regexp_validateUnicodePropertyNameAndValue=function(t,e,r){we(t.unicodeProperties.nonBinary,e)||t.raise("Invalid property name"),t.unicodeProperties.nonBinary[e].test(r)||t.raise("Invalid property value")},gr.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")},gr.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";br(e=t.current());)t.lastStringValue+=Ae(e),t.advance();return""!==t.lastStringValue},gr.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";Ar(e=t.current());)t.lastStringValue+=Ae(e),t.advance();return""!==t.lastStringValue},gr.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},gr.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},gr.regexp_classContents=function(t){return 93===t.current()?1:t.switchV?this.regexp_classSetExpression(t):(this.regexp_nonEmptyClassRanges(t),1)},gr.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")}}},gr.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||Sr(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)},gr.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)},gr.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)}},gr.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},gr.regexp_eatClassSetOperand=function(t){return this.regexp_eatClassSetCharacter(t)?1:this.regexp_eatClassStringDisjunction(t)||this.regexp_eatNestedClass(t)},gr.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},gr.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},gr.regexp_classStringDisjunctionContents=function(t){for(var e=this.regexp_classString(t);t.eat(124);)2===this.regexp_classString(t)&&(e=2);return e},gr.regexp_classString=function(t){for(var e=0;this.regexp_eatClassSetCharacter(t);)e++;return 1===e?1:2},gr.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))},gr.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)},gr.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!_r(e)&&95!==e||(t.lastIntValue=e%32,t.advance(),0))},gr.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},gr.regexp_eatDecimalDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;_r(r=t.current());)t.lastIntValue=10*t.lastIntValue+(r-48),t.advance();return t.pos!==e},gr.regexp_eatHexDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;vr(r=t.current());)t.lastIntValue=16*t.lastIntValue+Er(r),t.advance();return t.pos!==e},gr.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},gr.regexp_eatOctalDigit=function(t){var e=t.current();return Sr(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},gr.regexp_eatFixedHexDigits=function(t,e){var r=t.pos;t.lastIntValue=0;for(var i=0;i<e;++i){var n=t.current();if(!vr(n))return t.pos=r,!1;t.lastIntValue=16*t.lastIntValue+Er(n),t.advance()}return!0};var Tr=function(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,t.options.locations&&(this.loc=new Ee(t,t.startLoc,t.endLoc)),t.options.ranges&&(this.range=[t.start,t.end])},xr=Ie.prototype;function Cr(t){return"function"!=typeof BigInt?null:BigInt(t.replace(/_/g,""))}xr.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 Tr(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},xr.getToken=function(){return this.next(),new Tr(this)},"undefined"!=typeof Symbol&&(xr[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===ae.eof,value:e}}}}),xr.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(ae.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},xr.readToken=function(t){return $t(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},xr.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},xr.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=ue(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())},xr.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&&!he(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())},xr.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&&pe.test(String.fromCharCode(t))))break t;++this.pos}}},xr.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)},xr.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(ae.ellipsis)):(++this.pos,this.finishToken(ae.dot))},xr.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(ae.assign,2):this.finishOp(ae.slash,1)},xr.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),r=1,i=42===t?ae.star:ae.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++r,i=ae.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(ae.assign,r+1):this.finishOp(i,r)},xr.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(ae.assign,3):this.finishOp(124===t?ae.logicalOR:ae.logicalAND,2):61===e?this.finishOp(ae.assign,2):this.finishOp(124===t?ae.bitwiseOR:ae.bitwiseAND,1)},xr.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(ae.assign,2):this.finishOp(ae.bitwiseXOR,1)},xr.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&&!ce.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(ae.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(ae.assign,2):this.finishOp(ae.plusMin,1)},xr.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(ae.assign,r+1):this.finishOp(ae.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(ae.relational,r)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},xr.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(ae.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(ae.arrow)):this.finishOp(61===t?ae.eq:ae.prefix,1)},xr.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(ae.questionDot,2)}if(63===e)return t>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(ae.assign,3):this.finishOp(ae.coalesce,2)}return this.finishOp(ae.question,1)},xr.readToken_numberSign=function(){var t=35;if(this.options.ecmaVersion>=13&&(++this.pos,$t(t=this.fullCharCodeAtPos(),!0)||92===t))return this.finishToken(ae.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+Ae(t)+"'")},xr.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(ae.parenL);case 41:return++this.pos,this.finishToken(ae.parenR);case 59:return++this.pos,this.finishToken(ae.semi);case 44:return++this.pos,this.finishToken(ae.comma);case 91:return++this.pos,this.finishToken(ae.bracketL);case 93:return++this.pos,this.finishToken(ae.bracketR);case 123:return++this.pos,this.finishToken(ae.braceL);case 125:return++this.pos,this.finishToken(ae.braceR);case 58:return++this.pos,this.finishToken(ae.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(ae.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(ae.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+Ae(t)+"'")},xr.finishOp=function(t,e){var r=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,r)},xr.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(ce.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 mr(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(ae.regexp,{pattern:n,flags:o,value:c})},xr.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},xr.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=Cr(this.input.slice(e,this.pos)),++this.pos):$t(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(ae.num,r)},xr.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=Cr(this.input.slice(e,this.pos));return++this.pos,$t(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(ae.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")),$t(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(ae.num,s)},xr.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},xr.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)):(he(i)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(r,this.pos++),this.finishToken(ae.string,e)};var Ir={};xr.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==Ir)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},xr.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Ir;this.raise(t,e)},xr.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!==ae.template&&this.type!==ae.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(ae.template,t)):36===r?(this.pos+=2,this.finishToken(ae.dollarBraceL)):(++this.pos,this.finishToken(ae.backQuote));if(92===r)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(he(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}},xr.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(ae.invalidTemplate,this.input.slice(this.start,this.pos))}this.raise(this.start,"Unterminated template")},xr.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 Ae(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 he(e)?"":String.fromCharCode(e)}},xr.readHexChar=function(t){var e=this.pos,r=this.readInt(16,t);return null===r&&this.invalidStringToken(e,"Bad character escape sequence"),r},xr.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(te(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?$t:te)(o,i)||this.invalidStringToken(s,"Invalid Unicode escape"),t+=Ae(o),r=this.pos}e=!1}return t+this.input.slice(r,this.pos)},xr.readWord=function(){var t=this.readWord1(),e=ae.name;return this.keywords.test(t)&&(e=se[t]),this.finishToken(e,t)},Ie.acorn={Parser:Ie,version:"8.10.0",defaultOptions:Te,Position:ve,SourceLocation:Ee,getLineInfo:Se,Node:Xe,TokenType:ee,tokTypes:ae,keywordTypes:se,TokContext:je,tokContexts:Ve,isIdentifierChar:te,isIdentifierStart:$t,Token:Tr,isNewLine:he,lineBreak:ce,lineBreakG:le,nonASCIIwhitespace:pe};const Rr=/^\s*?import\s*?[{"'*]/,kr=/^\s*?export\s*?({([\s\w,$\n]+?)}[\s;]*|default|class)\s+/m,Nr=/^\s*?import(?:['"\s]*(?:[\w*${}\s,]+from\s*)?['"\s]?['"\s])(?:.*?)['"\s]/,Or=/(import(?:['"\s]*(?:[\w*${}\s,]+from\s*)?['"\s]?['"\s]))((?:https?|[./]).*?)(['"\s])/,Br=["window","globalThis","self","document","location","top","parent","frames","opener"],Pr=Br.map((t=>`(?:^|[^$.])\\b${t}\\b(?:$|[^$])`)).join("|"),Lr=new RegExp(`(${Pr})`),Dr=(()=>{const t="_____WB$wombat$check$this$function_____(this)";function e(){return e=>e.replace("this",t)}function r(t,e){return r=>r.replace(t,e)}return[[/(?:^|\s)\beval\s*\(/,(i="WB_wombat_runEval2((_______eval_arg, isGlobal) => { var ge = eval; return isGlobal ? ge(_______eval_arg) : eval(_______eval_arg); }).eval(this, (function() { return arguments })(),","eval",t=>{const e=t.indexOf("eval");return 0===e?i:t.slice(0,e)+i})],[/[=]\s*\beval\b(?![(:.$])/,r("eval","self.eval")],[/var\s+self/,r("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.$])/,e()],[new RegExp(`[^$.]\\s?\\bthis\\b(?=(?:\\.(?:${Br.join("|")})\\b))`),(e,r,i,n)=>{const s=i>0?n[i-1]:"";return"\n"===s?e.replace("this",";"+t):"."!==s&&"$"!==s?e.replace("this",t):e}],[/[=,]\s*\bthis\b\s*(?![\s\w:.$])/,e()],[/\}(?:\s*\))?\s*\(this\)/,e()],[/[^|&][|&]{2}\s*this\b\s*(?)/,e()],[/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 i})(),Ur=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]),Mr="�";var Fr;!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"}(Fr=Fr||(Fr={}));const Hr="[CDATA[",Wr="doctype",jr="script";function Vr(t){return t>=55296&&t<=57343}function Gr(t){return 32!==t&&10!==t&&13!==t&&9!==t&&12!==t&&t>=1&&t<=31||t>=127&&t<=159}function zr(t){return t>=64976&&t<=65007||Ur.has(t)}var qr,Qr;!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"}(qr=qr||(qr={}));class Kr{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,Fr.EOF;return this._err(qr.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,Fr.EOF;const r=this.html.charCodeAt(e);return r===Fr.CARRIAGE_RETURN?Fr.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,Fr.EOF;let t=this.html.charCodeAt(this.pos);return t===Fr.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,Fr.LINE_FEED):t===Fr.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,Vr(t)&&(t=this._processSurrogate(t)),null===this.handler.onParseError||t>31&&t<127||t===Fr.LINE_FEED||t===Fr.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){Gr(t)?this._err(qr.controlCharacterInInputStream):zr(t)&&this._err(qr.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"}(Qr=Qr||(Qr={}));const Yr=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୕ୖ୪௫ఄ಄ದൡඅ櫬Āoungruent;扢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;怳Ādpuct;戏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ǣጓ\0y;䐎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Ā;tbrk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯᝳ;䎲;愶een;扬r;쀀𝔟gcostuvwឍឝឳេ៕៛ƀ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Ā;elƀ;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\0aĀ;t䀬;䁀ƀ;fl戁îᅠeĀmxent»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ↄⅪ←ٖ↛ǰ↉\0proø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;䅓Ācrir;榿;쀀𝔬ͯ\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\0m;櫳;櫽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)))),Jr=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((t=>t.charCodeAt(0))));var Xr;const Zr=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]]),$r=null!==(Xr=String.fromCodePoint)&&void 0!==Xr?Xr: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 ti(t){return $r(function(t){var e;return t>=55296&&t<=57343||t>1114111?65533:null!==(e=Zr.get(t))&&void 0!==e?e:t}(t))}var ei,ri,ii,ni,si,oi,ai;function ci(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)===ei.NUM){let t=s+1,o=10,a=e.charCodeAt(t);(a|ei.To_LOWER_BIT)===ei.LOWER_X&&(o=16,s+=1,t+=1);do{a=e.charCodeAt(++s)}while(a>=ei.ZERO&&a<=ei.NINE||16===o&&(a|ei.To_LOWER_BIT)>=ei.LOWER_A&&(a|ei.To_LOWER_BIT)<=ei.LOWER_F);if(t!==s){const a=e.substring(t,s),c=parseInt(a,o);if(e.charCodeAt(s)===ei.SEMI)s+=1;else if(r)continue;i+=ti(c),n=s}continue}let o=0,a=1,c=0,l=t[c];for(;s<e.length&&(c=li(t,l,c+1,e.charCodeAt(s)),!(c<0));s++,a++){l=t[c];const i=l&ri.VALUE_LENGTH;if(i){r&&e.charCodeAt(s)!==ei.SEMI||(o=c,a=0);const t=(i>>14)-1;if(0===t)break;c+=t}}if(0!==o){const e=(t[o]&ri.VALUE_LENGTH)>>14;i+=1===e?String.fromCharCode(t[o]&~ri.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 li(t,e,r,i){const n=(e&ri.BRANCH_LENGTH)>>7,s=e&ri.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"}(ei||(ei={})),function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"}(ri||(ri={})),ci(Yr),ci(Jr),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/"}(ii=ii||(ii={})),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"}(ni=ni||(ni={})),function(t){t.NO_QUIRKS="no-quirks",t.QUIRKS="quirks",t.LIMITED_QUIRKS="limited-quirks"}(si=si||(si={})),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"}(oi=oi||(oi={})),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"}(ai=ai||(ai={}));const hi=new Map([[oi.A,ai.A],[oi.ADDRESS,ai.ADDRESS],[oi.ANNOTATION_XML,ai.ANNOTATION_XML],[oi.APPLET,ai.APPLET],[oi.AREA,ai.AREA],[oi.ARTICLE,ai.ARTICLE],[oi.ASIDE,ai.ASIDE],[oi.B,ai.B],[oi.BASE,ai.BASE],[oi.BASEFONT,ai.BASEFONT],[oi.BGSOUND,ai.BGSOUND],[oi.BIG,ai.BIG],[oi.BLOCKQUOTE,ai.BLOCKQUOTE],[oi.BODY,ai.BODY],[oi.BR,ai.BR],[oi.BUTTON,ai.BUTTON],[oi.CAPTION,ai.CAPTION],[oi.CENTER,ai.CENTER],[oi.CODE,ai.CODE],[oi.COL,ai.COL],[oi.COLGROUP,ai.COLGROUP],[oi.DD,ai.DD],[oi.DESC,ai.DESC],[oi.DETAILS,ai.DETAILS],[oi.DIALOG,ai.DIALOG],[oi.DIR,ai.DIR],[oi.DIV,ai.DIV],[oi.DL,ai.DL],[oi.DT,ai.DT],[oi.EM,ai.EM],[oi.EMBED,ai.EMBED],[oi.FIELDSET,ai.FIELDSET],[oi.FIGCAPTION,ai.FIGCAPTION],[oi.FIGURE,ai.FIGURE],[oi.FONT,ai.FONT],[oi.FOOTER,ai.FOOTER],[oi.FOREIGN_OBJECT,ai.FOREIGN_OBJECT],[oi.FORM,ai.FORM],[oi.FRAME,ai.FRAME],[oi.FRAMESET,ai.FRAMESET],[oi.H1,ai.H1],[oi.H2,ai.H2],[oi.H3,ai.H3],[oi.H4,ai.H4],[oi.H5,ai.H5],[oi.H6,ai.H6],[oi.HEAD,ai.HEAD],[oi.HEADER,ai.HEADER],[oi.HGROUP,ai.HGROUP],[oi.HR,ai.HR],[oi.HTML,ai.HTML],[oi.I,ai.I],[oi.IMG,ai.IMG],[oi.IMAGE,ai.IMAGE],[oi.INPUT,ai.INPUT],[oi.IFRAME,ai.IFRAME],[oi.KEYGEN,ai.KEYGEN],[oi.LABEL,ai.LABEL],[oi.LI,ai.LI],[oi.LINK,ai.LINK],[oi.LISTING,ai.LISTING],[oi.MAIN,ai.MAIN],[oi.MALIGNMARK,ai.MALIGNMARK],[oi.MARQUEE,ai.MARQUEE],[oi.MATH,ai.MATH],[oi.MENU,ai.MENU],[oi.META,ai.META],[oi.MGLYPH,ai.MGLYPH],[oi.MI,ai.MI],[oi.MO,ai.MO],[oi.MN,ai.MN],[oi.MS,ai.MS],[oi.MTEXT,ai.MTEXT],[oi.NAV,ai.NAV],[oi.NOBR,ai.NOBR],[oi.NOFRAMES,ai.NOFRAMES],[oi.NOEMBED,ai.NOEMBED],[oi.NOSCRIPT,ai.NOSCRIPT],[oi.OBJECT,ai.OBJECT],[oi.OL,ai.OL],[oi.OPTGROUP,ai.OPTGROUP],[oi.OPTION,ai.OPTION],[oi.P,ai.P],[oi.PARAM,ai.PARAM],[oi.PLAINTEXT,ai.PLAINTEXT],[oi.PRE,ai.PRE],[oi.RB,ai.RB],[oi.RP,ai.RP],[oi.RT,ai.RT],[oi.RTC,ai.RTC],[oi.RUBY,ai.RUBY],[oi.S,ai.S],[oi.SCRIPT,ai.SCRIPT],[oi.SECTION,ai.SECTION],[oi.SELECT,ai.SELECT],[oi.SOURCE,ai.SOURCE],[oi.SMALL,ai.SMALL],[oi.SPAN,ai.SPAN],[oi.STRIKE,ai.STRIKE],[oi.STRONG,ai.STRONG],[oi.STYLE,ai.STYLE],[oi.SUB,ai.SUB],[oi.SUMMARY,ai.SUMMARY],[oi.SUP,ai.SUP],[oi.TABLE,ai.TABLE],[oi.TBODY,ai.TBODY],[oi.TEMPLATE,ai.TEMPLATE],[oi.TEXTAREA,ai.TEXTAREA],[oi.TFOOT,ai.TFOOT],[oi.TD,ai.TD],[oi.TH,ai.TH],[oi.THEAD,ai.THEAD],[oi.TITLE,ai.TITLE],[oi.TR,ai.TR],[oi.TRACK,ai.TRACK],[oi.TT,ai.TT],[oi.U,ai.U],[oi.UL,ai.UL],[oi.SVG,ai.SVG],[oi.VAR,ai.VAR],[oi.WBR,ai.WBR],[oi.XMP,ai.XMP]]);function ui(t){var e;return null!==(e=hi.get(t))&&void 0!==e?e:ai.UNKNOWN}const pi=ai;ii.HTML,new Set([pi.ADDRESS,pi.APPLET,pi.AREA,pi.ARTICLE,pi.ASIDE,pi.BASE,pi.BASEFONT,pi.BGSOUND,pi.BLOCKQUOTE,pi.BODY,pi.BR,pi.BUTTON,pi.CAPTION,pi.CENTER,pi.COL,pi.COLGROUP,pi.DD,pi.DETAILS,pi.DIR,pi.DIV,pi.DL,pi.DT,pi.EMBED,pi.FIELDSET,pi.FIGCAPTION,pi.FIGURE,pi.FOOTER,pi.FORM,pi.FRAME,pi.FRAMESET,pi.H1,pi.H2,pi.H3,pi.H4,pi.H5,pi.H6,pi.HEAD,pi.HEADER,pi.HGROUP,pi.HR,pi.HTML,pi.IFRAME,pi.IMG,pi.INPUT,pi.LI,pi.LINK,pi.LISTING,pi.MAIN,pi.MARQUEE,pi.MENU,pi.META,pi.NAV,pi.NOEMBED,pi.NOFRAMES,pi.NOSCRIPT,pi.OBJECT,pi.OL,pi.P,pi.PARAM,pi.PLAINTEXT,pi.PRE,pi.SCRIPT,pi.SECTION,pi.SELECT,pi.SOURCE,pi.STYLE,pi.SUMMARY,pi.TABLE,pi.TBODY,pi.TD,pi.TEMPLATE,pi.TEXTAREA,pi.TFOOT,pi.TH,pi.THEAD,pi.TITLE,pi.TR,pi.TRACK,pi.UL,pi.WBR,pi.XMP]),ii.MATHML,new Set([pi.MI,pi.MO,pi.MN,pi.MS,pi.MTEXT,pi.ANNOTATION_XML]),ii.SVG,new Set([pi.TITLE,pi.FOREIGN_OBJECT,pi.DESC]),ii.XLINK,new Set,ii.XML,new Set,ii.XMLNS,new Set;const di=new Set([oi.STYLE,oi.SCRIPT,oi.XMP,oi.IFRAME,oi.NOEMBED,oi.NOFRAMES,oi.PLAINTEXT]),fi=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 gi;!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"}(gi||(gi={}));const mi={DATA:gi.DATA,RCDATA:gi.RCDATA,RAWTEXT:gi.RAWTEXT,SCRIPT_DATA:gi.SCRIPT_DATA,PLAINTEXT:gi.PLAINTEXT,CDATA_SECTION:gi.CDATA_SECTION};function wi(t){return t>=Fr.DIGIT_0&&t<=Fr.DIGIT_9}function yi(t){return t>=Fr.LATIN_CAPITAL_A&&t<=Fr.LATIN_CAPITAL_Z}function bi(t){return function(t){return t>=Fr.LATIN_SMALL_A&&t<=Fr.LATIN_SMALL_Z}(t)||yi(t)}function Ai(t){return bi(t)||wi(t)}function _i(t){return t>=Fr.LATIN_CAPITAL_A&&t<=Fr.LATIN_CAPITAL_F}function vi(t){return t>=Fr.LATIN_SMALL_A&&t<=Fr.LATIN_SMALL_F}function Ei(t){return t+32}function Si(t){return t===Fr.SPACE||t===Fr.LINE_FEED||t===Fr.TABULATION||t===Fr.FORM_FEED}function Ti(t){return Si(t)||t===Fr.SOLIDUS||t===Fr.GREATER_THAN_SIGN}class xi{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=gi.DATA,this.returnState=gi.DATA,this.charRefCode=-1,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new Kr(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:Qr.START_TAG,tagName:"",tagID:ai.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(1)}}_createEndTagToken(){this.currentToken={type:Qr.END_TAG,tagName:"",tagID:ai.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(2)}}_createCommentToken(t){this.currentToken={type:Qr.COMMENT,data:"",location:this.getCurrentLocation(t)}}_createDoctypeToken(t){this.currentToken={type:Qr.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(qr.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=ui(t.tagName),t.type===Qr.START_TAG?(this.lastStartTagName=t.tagName,this.handler.onStartTag(t)):(t.attrs.length>0&&this._err(qr.endTagWithAttributes),t.selfClosing&&this._err(qr.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 Qr.CHARACTER:this.handler.onCharacter(this.currentCharacterToken);break;case Qr.NULL_CHARACTER:this.handler.onNullCharacter(this.currentCharacterToken);break;case Qr.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:Qr.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=Si(t)?Qr.WHITESPACE_CHARACTER:t===Fr.NULL?Qr.NULL_CHARACTER:Qr.CHARACTER;this._appendCharToCurrentCharacterToken(e,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(Qr.CHARACTER,t)}_matchNamedCharacterReference(t){let e=null,r=0,i=!1;for(let s=0,o=Yr[0];s>=0&&(s=li(Yr,o,s+1,t),!(s<0));t=this._consume()){r+=1,o=Yr[s];const a=o&ri.VALUE_LENGTH;if(a){const o=(a>>14)-1;if(t!==Fr.SEMICOLON&&this._isCharacterReferenceInAttribute()&&((n=this.preprocessor.peek(1))===Fr.EQUALS_SIGN||Ai(n))?(e=[Fr.AMPERSAND],s+=o):(e=0===o?[Yr[s]&~ri.VALUE_LENGTH]:1===o?[Yr[++s]]:[Yr[++s],Yr[++s]],r=0,i=t!==Fr.SEMICOLON),0===o){this._consume();break}}}var n;return this._unconsume(r),i&&!this.preprocessor.endOfChunkHit&&this._err(qr.missingSemicolonAfterCharacterReference),this._unconsume(1),e}_isCharacterReferenceInAttribute(){return this.returnState===gi.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===gi.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===gi.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case gi.DATA:this._stateData(t);break;case gi.RCDATA:this._stateRcdata(t);break;case gi.RAWTEXT:this._stateRawtext(t);break;case gi.SCRIPT_DATA:this._stateScriptData(t);break;case gi.PLAINTEXT:this._statePlaintext(t);break;case gi.TAG_OPEN:this._stateTagOpen(t);break;case gi.END_TAG_OPEN:this._stateEndTagOpen(t);break;case gi.TAG_NAME:this._stateTagName(t);break;case gi.RCDATA_LESS_THAN_SIGN:this._stateRcdataLessThanSign(t);break;case gi.RCDATA_END_TAG_OPEN:this._stateRcdataEndTagOpen(t);break;case gi.RCDATA_END_TAG_NAME:this._stateRcdataEndTagName(t);break;case gi.RAWTEXT_LESS_THAN_SIGN:this._stateRawtextLessThanSign(t);break;case gi.RAWTEXT_END_TAG_OPEN:this._stateRawtextEndTagOpen(t);break;case gi.RAWTEXT_END_TAG_NAME:this._stateRawtextEndTagName(t);break;case gi.SCRIPT_DATA_LESS_THAN_SIGN:this._stateScriptDataLessThanSign(t);break;case gi.SCRIPT_DATA_END_TAG_OPEN:this._stateScriptDataEndTagOpen(t);break;case gi.SCRIPT_DATA_END_TAG_NAME:this._stateScriptDataEndTagName(t);break;case gi.SCRIPT_DATA_ESCAPE_START:this._stateScriptDataEscapeStart(t);break;case gi.SCRIPT_DATA_ESCAPE_START_DASH:this._stateScriptDataEscapeStartDash(t);break;case gi.SCRIPT_DATA_ESCAPED:this._stateScriptDataEscaped(t);break;case gi.SCRIPT_DATA_ESCAPED_DASH:this._stateScriptDataEscapedDash(t);break;case gi.SCRIPT_DATA_ESCAPED_DASH_DASH:this._stateScriptDataEscapedDashDash(t);break;case gi.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataEscapedLessThanSign(t);break;case gi.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:this._stateScriptDataEscapedEndTagOpen(t);break;case gi.SCRIPT_DATA_ESCAPED_END_TAG_NAME:this._stateScriptDataEscapedEndTagName(t);break;case gi.SCRIPT_DATA_DOUBLE_ESCAPE_START:this._stateScriptDataDoubleEscapeStart(t);break;case gi.SCRIPT_DATA_DOUBLE_ESCAPED:this._stateScriptDataDoubleEscaped(t);break;case gi.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:this._stateScriptDataDoubleEscapedDash(t);break;case gi.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:this._stateScriptDataDoubleEscapedDashDash(t);break;case gi.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataDoubleEscapedLessThanSign(t);break;case gi.SCRIPT_DATA_DOUBLE_ESCAPE_END:this._stateScriptDataDoubleEscapeEnd(t);break;case gi.BEFORE_ATTRIBUTE_NAME:this._stateBeforeAttributeName(t);break;case gi.ATTRIBUTE_NAME:this._stateAttributeName(t);break;case gi.AFTER_ATTRIBUTE_NAME:this._stateAfterAttributeName(t);break;case gi.BEFORE_ATTRIBUTE_VALUE:this._stateBeforeAttributeValue(t);break;case gi.ATTRIBUTE_VALUE_DOUBLE_QUOTED:this._stateAttributeValueDoubleQuoted(t);break;case gi.ATTRIBUTE_VALUE_SINGLE_QUOTED:this._stateAttributeValueSingleQuoted(t);break;case gi.ATTRIBUTE_VALUE_UNQUOTED:this._stateAttributeValueUnquoted(t);break;case gi.AFTER_ATTRIBUTE_VALUE_QUOTED:this._stateAfterAttributeValueQuoted(t);break;case gi.SELF_CLOSING_START_TAG:this._stateSelfClosingStartTag(t);break;case gi.BOGUS_COMMENT:this._stateBogusComment(t);break;case gi.MARKUP_DECLARATION_OPEN:this._stateMarkupDeclarationOpen(t);break;case gi.COMMENT_START:this._stateCommentStart(t);break;case gi.COMMENT_START_DASH:this._stateCommentStartDash(t);break;case gi.COMMENT:this._stateComment(t);break;case gi.COMMENT_LESS_THAN_SIGN:this._stateCommentLessThanSign(t);break;case gi.COMMENT_LESS_THAN_SIGN_BANG:this._stateCommentLessThanSignBang(t);break;case gi.COMMENT_LESS_THAN_SIGN_BANG_DASH:this._stateCommentLessThanSignBangDash(t);break;case gi.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:this._stateCommentLessThanSignBangDashDash(t);break;case gi.COMMENT_END_DASH:this._stateCommentEndDash(t);break;case gi.COMMENT_END:this._stateCommentEnd(t);break;case gi.COMMENT_END_BANG:this._stateCommentEndBang(t);break;case gi.DOCTYPE:this._stateDoctype(t);break;case gi.BEFORE_DOCTYPE_NAME:this._stateBeforeDoctypeName(t);break;case gi.DOCTYPE_NAME:this._stateDoctypeName(t);break;case gi.AFTER_DOCTYPE_NAME:this._stateAfterDoctypeName(t);break;case gi.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._stateAfterDoctypePublicKeyword(t);break;case gi.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:this._stateBeforeDoctypePublicIdentifier(t);break;case gi.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypePublicIdentifierDoubleQuoted(t);break;case gi.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypePublicIdentifierSingleQuoted(t);break;case gi.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:this._stateAfterDoctypePublicIdentifier(t);break;case gi.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break;case gi.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._stateAfterDoctypeSystemKeyword(t);break;case gi.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:this._stateBeforeDoctypeSystemIdentifier(t);break;case gi.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypeSystemIdentifierDoubleQuoted(t);break;case gi.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypeSystemIdentifierSingleQuoted(t);break;case gi.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:this._stateAfterDoctypeSystemIdentifier(t);break;case gi.BOGUS_DOCTYPE:this._stateBogusDoctype(t);break;case gi.CDATA_SECTION:this._stateCdataSection(t);break;case gi.CDATA_SECTION_BRACKET:this._stateCdataSectionBracket(t);break;case gi.CDATA_SECTION_END:this._stateCdataSectionEnd(t);break;case gi.CHARACTER_REFERENCE:this._stateCharacterReference(t);break;case gi.NAMED_CHARACTER_REFERENCE:this._stateNamedCharacterReference(t);break;case gi.AMBIGUOUS_AMPERSAND:this._stateAmbiguousAmpersand(t);break;case gi.NUMERIC_CHARACTER_REFERENCE:this._stateNumericCharacterReference(t);break;case gi.HEXADEMICAL_CHARACTER_REFERENCE_START:this._stateHexademicalCharacterReferenceStart(t);break;case gi.HEXADEMICAL_CHARACTER_REFERENCE:this._stateHexademicalCharacterReference(t);break;case gi.DECIMAL_CHARACTER_REFERENCE:this._stateDecimalCharacterReference(t);break;case gi.NUMERIC_CHARACTER_REFERENCE_END:this._stateNumericCharacterReferenceEnd(t);break;default:throw new Error("Unknown state")}}_stateData(t){switch(t){case Fr.LESS_THAN_SIGN:this.state=gi.TAG_OPEN;break;case Fr.AMPERSAND:this.returnState=gi.DATA,this.state=gi.CHARACTER_REFERENCE;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._emitCodePoint(t);break;case Fr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case Fr.AMPERSAND:this.returnState=gi.RCDATA,this.state=gi.CHARACTER_REFERENCE;break;case Fr.LESS_THAN_SIGN:this.state=gi.RCDATA_LESS_THAN_SIGN;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._emitChars(Mr);break;case Fr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case Fr.LESS_THAN_SIGN:this.state=gi.RAWTEXT_LESS_THAN_SIGN;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._emitChars(Mr);break;case Fr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case Fr.LESS_THAN_SIGN:this.state=gi.SCRIPT_DATA_LESS_THAN_SIGN;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._emitChars(Mr);break;case Fr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._emitChars(Mr);break;case Fr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateTagOpen(t){if(bi(t))this._createStartTagToken(),this.state=gi.TAG_NAME,this._stateTagName(t);else switch(t){case Fr.EXCLAMATION_MARK:this.state=gi.MARKUP_DECLARATION_OPEN;break;case Fr.SOLIDUS:this.state=gi.END_TAG_OPEN;break;case Fr.QUESTION_MARK:this._err(qr.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=gi.BOGUS_COMMENT,this._stateBogusComment(t);break;case Fr.EOF:this._err(qr.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break;default:this._err(qr.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=gi.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(bi(t))this._createEndTagToken(),this.state=gi.TAG_NAME,this._stateTagName(t);else switch(t){case Fr.GREATER_THAN_SIGN:this._err(qr.missingEndTagName),this.state=gi.DATA;break;case Fr.EOF:this._err(qr.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken();break;default:this._err(qr.invalidFirstCharacterOfTagName),this._createCommentToken(2),this.state=gi.BOGUS_COMMENT,this._stateBogusComment(t)}}_stateTagName(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this.state=gi.BEFORE_ATTRIBUTE_NAME;break;case Fr.SOLIDUS:this.state=gi.SELF_CLOSING_START_TAG;break;case Fr.GREATER_THAN_SIGN:this.state=gi.DATA,this.emitCurrentTagToken();break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.tagName+=Mr;break;case Fr.EOF:this._err(qr.eofInTag),this._emitEOFToken();break;default:e.tagName+=String.fromCodePoint(yi(t)?Ei(t):t)}}_stateRcdataLessThanSign(t){t===Fr.SOLIDUS?this.state=gi.RCDATA_END_TAG_OPEN:(this._emitChars("<"),this.state=gi.RCDATA,this._stateRcdata(t))}_stateRcdataEndTagOpen(t){bi(t)?(this.state=gi.RCDATA_END_TAG_NAME,this._stateRcdataEndTagName(t)):(this._emitChars("</"),this.state=gi.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 Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:return this._advanceBy(this.lastStartTagName.length),this.state=gi.BEFORE_ATTRIBUTE_NAME,!1;case Fr.SOLIDUS:return this._advanceBy(this.lastStartTagName.length),this.state=gi.SELF_CLOSING_START_TAG,!1;case Fr.GREATER_THAN_SIGN:return this._advanceBy(this.lastStartTagName.length),this.emitCurrentTagToken(),this.state=gi.DATA,!1;default:return!this._ensureHibernation()}}_stateRcdataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=gi.RCDATA,this._stateRcdata(t))}_stateRawtextLessThanSign(t){t===Fr.SOLIDUS?this.state=gi.RAWTEXT_END_TAG_OPEN:(this._emitChars("<"),this.state=gi.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagOpen(t){bi(t)?(this.state=gi.RAWTEXT_END_TAG_NAME,this._stateRawtextEndTagName(t)):(this._emitChars("</"),this.state=gi.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=gi.RAWTEXT,this._stateRawtext(t))}_stateScriptDataLessThanSign(t){switch(t){case Fr.SOLIDUS:this.state=gi.SCRIPT_DATA_END_TAG_OPEN;break;case Fr.EXCLAMATION_MARK:this.state=gi.SCRIPT_DATA_ESCAPE_START,this._emitChars("<!");break;default:this._emitChars("<"),this.state=gi.SCRIPT_DATA,this._stateScriptData(t)}}_stateScriptDataEndTagOpen(t){bi(t)?(this.state=gi.SCRIPT_DATA_END_TAG_NAME,this._stateScriptDataEndTagName(t)):(this._emitChars("</"),this.state=gi.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=gi.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStart(t){t===Fr.HYPHEN_MINUS?(this.state=gi.SCRIPT_DATA_ESCAPE_START_DASH,this._emitChars("-")):(this.state=gi.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStartDash(t){t===Fr.HYPHEN_MINUS?(this.state=gi.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-")):(this.state=gi.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscaped(t){switch(t){case Fr.HYPHEN_MINUS:this.state=gi.SCRIPT_DATA_ESCAPED_DASH,this._emitChars("-");break;case Fr.LESS_THAN_SIGN:this.state=gi.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._emitChars(Mr);break;case Fr.EOF:this._err(qr.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataEscapedDash(t){switch(t){case Fr.HYPHEN_MINUS:this.state=gi.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-");break;case Fr.LESS_THAN_SIGN:this.state=gi.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.state=gi.SCRIPT_DATA_ESCAPED,this._emitChars(Mr);break;case Fr.EOF:this._err(qr.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=gi.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedDashDash(t){switch(t){case Fr.HYPHEN_MINUS:this._emitChars("-");break;case Fr.LESS_THAN_SIGN:this.state=gi.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Fr.GREATER_THAN_SIGN:this.state=gi.SCRIPT_DATA,this._emitChars(">");break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.state=gi.SCRIPT_DATA_ESCAPED,this._emitChars(Mr);break;case Fr.EOF:this._err(qr.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=gi.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===Fr.SOLIDUS?this.state=gi.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:bi(t)?(this._emitChars("<"),this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=gi.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){bi(t)?(this.state=gi.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("</"),this.state=gi.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=gi.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscapeStart(t){if(this.preprocessor.startsWith(jr,!1)&&Ti(this.preprocessor.peek(jr.length))){this._emitCodePoint(t);for(let t=0;t<jr.length;t++)this._emitCodePoint(this._consume());this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED}else this._ensureHibernation()||(this.state=gi.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscaped(t){switch(t){case Fr.HYPHEN_MINUS:this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED_DASH,this._emitChars("-");break;case Fr.LESS_THAN_SIGN:this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._emitChars(Mr);break;case Fr.EOF:this._err(qr.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDash(t){switch(t){case Fr.HYPHEN_MINUS:this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH,this._emitChars("-");break;case Fr.LESS_THAN_SIGN:this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Mr);break;case Fr.EOF:this._err(qr.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDashDash(t){switch(t){case Fr.HYPHEN_MINUS:this._emitChars("-");break;case Fr.LESS_THAN_SIGN:this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Fr.GREATER_THAN_SIGN:this.state=gi.SCRIPT_DATA,this._emitChars(">");break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Mr);break;case Fr.EOF:this._err(qr.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===Fr.SOLIDUS?(this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(jr,!1)&&Ti(this.preprocessor.peek(jr.length))){this._emitCodePoint(t);for(let t=0;t<jr.length;t++)this._emitCodePoint(this._consume());this.state=gi.SCRIPT_DATA_ESCAPED}else this._ensureHibernation()||(this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateBeforeAttributeName(t){switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.SOLIDUS:case Fr.GREATER_THAN_SIGN:case Fr.EOF:this.state=gi.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case Fr.EQUALS_SIGN:this._err(qr.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=gi.ATTRIBUTE_NAME;break;default:this._createAttr(""),this.state=gi.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateAttributeName(t){switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:case Fr.SOLIDUS:case Fr.GREATER_THAN_SIGN:case Fr.EOF:this._leaveAttrName(),this.state=gi.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case Fr.EQUALS_SIGN:this._leaveAttrName(),this.state=gi.BEFORE_ATTRIBUTE_VALUE;break;case Fr.QUOTATION_MARK:case Fr.APOSTROPHE:case Fr.LESS_THAN_SIGN:this._err(qr.unexpectedCharacterInAttributeName),this.currentAttr.name+=String.fromCodePoint(t);break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.currentAttr.name+=Mr;break;default:this.currentAttr.name+=String.fromCodePoint(yi(t)?Ei(t):t)}}_stateAfterAttributeName(t){switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.SOLIDUS:this.state=gi.SELF_CLOSING_START_TAG;break;case Fr.EQUALS_SIGN:this.state=gi.BEFORE_ATTRIBUTE_VALUE;break;case Fr.GREATER_THAN_SIGN:this.state=gi.DATA,this.emitCurrentTagToken();break;case Fr.EOF:this._err(qr.eofInTag),this._emitEOFToken();break;default:this._createAttr(""),this.state=gi.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateBeforeAttributeValue(t){switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.QUOTATION_MARK:this.state=gi.ATTRIBUTE_VALUE_DOUBLE_QUOTED;break;case Fr.APOSTROPHE:this.state=gi.ATTRIBUTE_VALUE_SINGLE_QUOTED;break;case Fr.GREATER_THAN_SIGN:this._err(qr.missingAttributeValue),this.state=gi.DATA,this.emitCurrentTagToken();break;default:this.state=gi.ATTRIBUTE_VALUE_UNQUOTED,this._stateAttributeValueUnquoted(t)}}_stateAttributeValueDoubleQuoted(t){switch(t){case Fr.QUOTATION_MARK:this.state=gi.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case Fr.AMPERSAND:this.returnState=gi.ATTRIBUTE_VALUE_DOUBLE_QUOTED,this.state=gi.CHARACTER_REFERENCE;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.currentAttr.value+=Mr;break;case Fr.EOF:this._err(qr.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueSingleQuoted(t){switch(t){case Fr.APOSTROPHE:this.state=gi.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case Fr.AMPERSAND:this.returnState=gi.ATTRIBUTE_VALUE_SINGLE_QUOTED,this.state=gi.CHARACTER_REFERENCE;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.currentAttr.value+=Mr;break;case Fr.EOF:this._err(qr.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueUnquoted(t){switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this._leaveAttrValue(),this.state=gi.BEFORE_ATTRIBUTE_NAME;break;case Fr.AMPERSAND:this.returnState=gi.ATTRIBUTE_VALUE_UNQUOTED,this.state=gi.CHARACTER_REFERENCE;break;case Fr.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=gi.DATA,this.emitCurrentTagToken();break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.currentAttr.value+=Mr;break;case Fr.QUOTATION_MARK:case Fr.APOSTROPHE:case Fr.LESS_THAN_SIGN:case Fr.EQUALS_SIGN:case Fr.GRAVE_ACCENT:this._err(qr.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=String.fromCodePoint(t);break;case Fr.EOF:this._err(qr.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAfterAttributeValueQuoted(t){switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this._leaveAttrValue(),this.state=gi.BEFORE_ATTRIBUTE_NAME;break;case Fr.SOLIDUS:this._leaveAttrValue(),this.state=gi.SELF_CLOSING_START_TAG;break;case Fr.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=gi.DATA,this.emitCurrentTagToken();break;case Fr.EOF:this._err(qr.eofInTag),this._emitEOFToken();break;default:this._err(qr.missingWhitespaceBetweenAttributes),this.state=gi.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateSelfClosingStartTag(t){switch(t){case Fr.GREATER_THAN_SIGN:this.currentToken.selfClosing=!0,this.state=gi.DATA,this.emitCurrentTagToken();break;case Fr.EOF:this._err(qr.eofInTag),this._emitEOFToken();break;default:this._err(qr.unexpectedSolidusInTag),this.state=gi.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateBogusComment(t){const e=this.currentToken;switch(t){case Fr.GREATER_THAN_SIGN:this.state=gi.DATA,this.emitCurrentComment(e);break;case Fr.EOF:this.emitCurrentComment(e),this._emitEOFToken();break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.data+=Mr;break;default:e.data+=String.fromCodePoint(t)}}_stateMarkupDeclarationOpen(t){this._consumeSequenceIfMatch("--",!0)?(this._createCommentToken("--".length+1),this.state=gi.COMMENT_START):this._consumeSequenceIfMatch(Wr,!1)?(this.currentLocation=this.getCurrentLocation(Wr.length+1),this.state=gi.DOCTYPE):this._consumeSequenceIfMatch(Hr,!0)?this.inForeignNode?this.state=gi.CDATA_SECTION:(this._err(qr.cdataInHtmlContent),this._createCommentToken(Hr.length+1),this.currentToken.data="[CDATA[",this.state=gi.BOGUS_COMMENT):this._ensureHibernation()||(this._err(qr.incorrectlyOpenedComment),this._createCommentToken(2),this.state=gi.BOGUS_COMMENT,this._stateBogusComment(t))}_stateCommentStart(t){switch(t){case Fr.HYPHEN_MINUS:this.state=gi.COMMENT_START_DASH;break;case Fr.GREATER_THAN_SIGN:{this._err(qr.abruptClosingOfEmptyComment),this.state=gi.DATA;const t=this.currentToken;this.emitCurrentComment(t);break}default:this.state=gi.COMMENT,this._stateComment(t)}}_stateCommentStartDash(t){const e=this.currentToken;switch(t){case Fr.HYPHEN_MINUS:this.state=gi.COMMENT_END;break;case Fr.GREATER_THAN_SIGN:this._err(qr.abruptClosingOfEmptyComment),this.state=gi.DATA,this.emitCurrentComment(e);break;case Fr.EOF:this._err(qr.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=gi.COMMENT,this._stateComment(t)}}_stateComment(t){const e=this.currentToken;switch(t){case Fr.HYPHEN_MINUS:this.state=gi.COMMENT_END_DASH;break;case Fr.LESS_THAN_SIGN:e.data+="<",this.state=gi.COMMENT_LESS_THAN_SIGN;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.data+=Mr;break;case Fr.EOF:this._err(qr.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+=String.fromCodePoint(t)}}_stateCommentLessThanSign(t){const e=this.currentToken;switch(t){case Fr.EXCLAMATION_MARK:e.data+="!",this.state=gi.COMMENT_LESS_THAN_SIGN_BANG;break;case Fr.LESS_THAN_SIGN:e.data+="<";break;default:this.state=gi.COMMENT,this._stateComment(t)}}_stateCommentLessThanSignBang(t){t===Fr.HYPHEN_MINUS?this.state=gi.COMMENT_LESS_THAN_SIGN_BANG_DASH:(this.state=gi.COMMENT,this._stateComment(t))}_stateCommentLessThanSignBangDash(t){t===Fr.HYPHEN_MINUS?this.state=gi.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:(this.state=gi.COMMENT_END_DASH,this._stateCommentEndDash(t))}_stateCommentLessThanSignBangDashDash(t){t!==Fr.GREATER_THAN_SIGN&&t!==Fr.EOF&&this._err(qr.nestedComment),this.state=gi.COMMENT_END,this._stateCommentEnd(t)}_stateCommentEndDash(t){const e=this.currentToken;switch(t){case Fr.HYPHEN_MINUS:this.state=gi.COMMENT_END;break;case Fr.EOF:this._err(qr.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=gi.COMMENT,this._stateComment(t)}}_stateCommentEnd(t){const e=this.currentToken;switch(t){case Fr.GREATER_THAN_SIGN:this.state=gi.DATA,this.emitCurrentComment(e);break;case Fr.EXCLAMATION_MARK:this.state=gi.COMMENT_END_BANG;break;case Fr.HYPHEN_MINUS:e.data+="-";break;case Fr.EOF:this._err(qr.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--",this.state=gi.COMMENT,this._stateComment(t)}}_stateCommentEndBang(t){const e=this.currentToken;switch(t){case Fr.HYPHEN_MINUS:e.data+="--!",this.state=gi.COMMENT_END_DASH;break;case Fr.GREATER_THAN_SIGN:this._err(qr.incorrectlyClosedComment),this.state=gi.DATA,this.emitCurrentComment(e);break;case Fr.EOF:this._err(qr.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--!",this.state=gi.COMMENT,this._stateComment(t)}}_stateDoctype(t){switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this.state=gi.BEFORE_DOCTYPE_NAME;break;case Fr.GREATER_THAN_SIGN:this.state=gi.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t);break;case Fr.EOF:{this._err(qr.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(qr.missingWhitespaceBeforeDoctypeName),this.state=gi.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t)}}_stateBeforeDoctypeName(t){if(yi(t))this._createDoctypeToken(String.fromCharCode(Ei(t))),this.state=gi.DOCTYPE_NAME;else switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._createDoctypeToken(Mr),this.state=gi.DOCTYPE_NAME;break;case Fr.GREATER_THAN_SIGN:{this._err(qr.missingDoctypeName),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=gi.DATA;break}case Fr.EOF:{this._err(qr.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=gi.DOCTYPE_NAME}}_stateDoctypeName(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this.state=gi.AFTER_DOCTYPE_NAME;break;case Fr.GREATER_THAN_SIGN:this.state=gi.DATA,this.emitCurrentDoctype(e);break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.name+=Mr;break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.name+=String.fromCodePoint(yi(t)?Ei(t):t)}}_stateAfterDoctypeName(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.GREATER_THAN_SIGN:this.state=gi.DATA,this.emitCurrentDoctype(e);break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._consumeSequenceIfMatch("public",!1)?this.state=gi.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._consumeSequenceIfMatch("system",!1)?this.state=gi.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._ensureHibernation()||(this._err(qr.invalidCharacterSequenceAfterDoctypeName),e.forceQuirks=!0,this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t))}}_stateAfterDoctypePublicKeyword(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this.state=gi.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;break;case Fr.QUOTATION_MARK:this._err(qr.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=gi.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case Fr.APOSTROPHE:this._err(qr.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=gi.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case Fr.GREATER_THAN_SIGN:this._err(qr.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=gi.DATA,this.emitCurrentDoctype(e);break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(qr.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypePublicIdentifier(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.QUOTATION_MARK:e.publicId="",this.state=gi.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case Fr.APOSTROPHE:e.publicId="",this.state=gi.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case Fr.GREATER_THAN_SIGN:this._err(qr.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=gi.DATA,this.emitCurrentDoctype(e);break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(qr.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypePublicIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case Fr.QUOTATION_MARK:this.state=gi.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.publicId+=Mr;break;case Fr.GREATER_THAN_SIGN:this._err(qr.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=gi.DATA;break;case Fr.EOF:this._err(qr.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 Fr.APOSTROPHE:this.state=gi.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.publicId+=Mr;break;case Fr.GREATER_THAN_SIGN:this._err(qr.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=gi.DATA;break;case Fr.EOF:this._err(qr.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 Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this.state=gi.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;break;case Fr.GREATER_THAN_SIGN:this.state=gi.DATA,this.emitCurrentDoctype(e);break;case Fr.QUOTATION_MARK:this._err(qr.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Fr.APOSTROPHE:this._err(qr.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(qr.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBetweenDoctypePublicAndSystemIdentifiers(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=gi.DATA;break;case Fr.QUOTATION_MARK:e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Fr.APOSTROPHE:e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(qr.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateAfterDoctypeSystemKeyword(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this.state=gi.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;break;case Fr.QUOTATION_MARK:this._err(qr.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Fr.APOSTROPHE:this._err(qr.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Fr.GREATER_THAN_SIGN:this._err(qr.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=gi.DATA,this.emitCurrentDoctype(e);break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(qr.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypeSystemIdentifier(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.QUOTATION_MARK:e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Fr.APOSTROPHE:e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Fr.GREATER_THAN_SIGN:this._err(qr.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=gi.DATA,this.emitCurrentDoctype(e);break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(qr.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypeSystemIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case Fr.QUOTATION_MARK:this.state=gi.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.systemId+=Mr;break;case Fr.GREATER_THAN_SIGN:this._err(qr.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=gi.DATA;break;case Fr.EOF:this._err(qr.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 Fr.APOSTROPHE:this.state=gi.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.systemId+=Mr;break;case Fr.GREATER_THAN_SIGN:this._err(qr.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=gi.DATA;break;case Fr.EOF:this._err(qr.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 Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=gi.DATA;break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(qr.unexpectedCharacterAfterDoctypeSystemIdentifier),this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBogusDoctype(t){const e=this.currentToken;switch(t){case Fr.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=gi.DATA;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter);break;case Fr.EOF:this.emitCurrentDoctype(e),this._emitEOFToken()}}_stateCdataSection(t){switch(t){case Fr.RIGHT_SQUARE_BRACKET:this.state=gi.CDATA_SECTION_BRACKET;break;case Fr.EOF:this._err(qr.eofInCdata),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateCdataSectionBracket(t){t===Fr.RIGHT_SQUARE_BRACKET?this.state=gi.CDATA_SECTION_END:(this._emitChars("]"),this.state=gi.CDATA_SECTION,this._stateCdataSection(t))}_stateCdataSectionEnd(t){switch(t){case Fr.GREATER_THAN_SIGN:this.state=gi.DATA;break;case Fr.RIGHT_SQUARE_BRACKET:this._emitChars("]");break;default:this._emitChars("]]"),this.state=gi.CDATA_SECTION,this._stateCdataSection(t)}}_stateCharacterReference(t){t===Fr.NUMBER_SIGN?this.state=gi.NUMERIC_CHARACTER_REFERENCE:Ai(t)?(this.state=gi.NAMED_CHARACTER_REFERENCE,this._stateNamedCharacterReference(t)):(this._flushCodePointConsumedAsCharacterReference(Fr.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(Fr.AMPERSAND),this.state=gi.AMBIGUOUS_AMPERSAND}_stateAmbiguousAmpersand(t){Ai(t)?this._flushCodePointConsumedAsCharacterReference(t):(t===Fr.SEMICOLON&&this._err(qr.unknownNamedCharacterReference),this._reconsumeInState(this.returnState,t))}_stateNumericCharacterReference(t){this.charRefCode=0,t===Fr.LATIN_SMALL_X||t===Fr.LATIN_CAPITAL_X?this.state=gi.HEXADEMICAL_CHARACTER_REFERENCE_START:wi(t)?(this.state=gi.DECIMAL_CHARACTER_REFERENCE,this._stateDecimalCharacterReference(t)):(this._err(qr.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(Fr.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(Fr.NUMBER_SIGN),this._reconsumeInState(this.returnState,t))}_stateHexademicalCharacterReferenceStart(t){!function(t){return wi(t)||_i(t)||vi(t)}(t)?(this._err(qr.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(Fr.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(Fr.NUMBER_SIGN),this._unconsume(2),this.state=this.returnState):(this.state=gi.HEXADEMICAL_CHARACTER_REFERENCE,this._stateHexademicalCharacterReference(t))}_stateHexademicalCharacterReference(t){_i(t)?this.charRefCode=16*this.charRefCode+t-55:vi(t)?this.charRefCode=16*this.charRefCode+t-87:wi(t)?this.charRefCode=16*this.charRefCode+t-48:t===Fr.SEMICOLON?this.state=gi.NUMERIC_CHARACTER_REFERENCE_END:(this._err(qr.missingSemicolonAfterCharacterReference),this.state=gi.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(t))}_stateDecimalCharacterReference(t){wi(t)?this.charRefCode=10*this.charRefCode+t-48:t===Fr.SEMICOLON?this.state=gi.NUMERIC_CHARACTER_REFERENCE_END:(this._err(qr.missingSemicolonAfterCharacterReference),this.state=gi.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(t))}_stateNumericCharacterReferenceEnd(t){if(this.charRefCode===Fr.NULL)this._err(qr.nullCharacterReference),this.charRefCode=Fr.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(qr.characterReferenceOutsideUnicodeRange),this.charRefCode=Fr.REPLACEMENT_CHARACTER;else if(Vr(this.charRefCode))this._err(qr.surrogateCharacterReference),this.charRefCode=Fr.REPLACEMENT_CHARACTER;else if(zr(this.charRefCode))this._err(qr.noncharacterCharacterReference);else if(Gr(this.charRefCode)||this.charRefCode===Fr.CARRIAGE_RETURN){this._err(qr.controlCharacterReference);const t=fi.get(this.charRefCode);void 0!==t&&(this.charRefCode=t)}this._flushCodePointConsumedAsCharacterReference(this.charRefCode),this._reconsumeInState(this.returnState,t)}}const Ci=new Set([ai.DD,ai.DT,ai.LI,ai.OPTGROUP,ai.OPTION,ai.P,ai.RB,ai.RP,ai.RT,ai.RTC]);var Ii;new Set([...Ci,ai.CAPTION,ai.COLGROUP,ai.TBODY,ai.TD,ai.TFOOT,ai.TH,ai.THEAD,ai.TR]),new Map([[ai.APPLET,ii.HTML],[ai.CAPTION,ii.HTML],[ai.HTML,ii.HTML],[ai.MARQUEE,ii.HTML],[ai.OBJECT,ii.HTML],[ai.TABLE,ii.HTML],[ai.TD,ii.HTML],[ai.TEMPLATE,ii.HTML],[ai.TH,ii.HTML],[ai.ANNOTATION_XML,ii.MATHML],[ai.MI,ii.MATHML],[ai.MN,ii.MATHML],[ai.MO,ii.MATHML],[ai.MS,ii.MATHML],[ai.MTEXT,ii.MATHML],[ai.DESC,ii.SVG],[ai.FOREIGN_OBJECT,ii.SVG],[ai.TITLE,ii.SVG]]),ai.H1,ai.H2,ai.H3,ai.H4,ai.H5,ai.H6,ai.TR,ai.TEMPLATE,ai.HTML,ai.TBODY,ai.TFOOT,ai.THEAD,ai.TEMPLATE,ai.HTML,ai.TABLE,ai.TEMPLATE,ai.HTML,ai.TD,ai.TH,function(t){t[t.Marker=0]="Marker",t[t.Element=1]="Element"}(Ii=Ii||(Ii={})),Ii.Marker;new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]);const Ri=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]))),ki=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:ii.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:ii.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:ii.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:ii.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:ii.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:ii.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:ii.XLINK}],["xml:base",{prefix:"xml",name:"base",namespace:ii.XML}],["xml:lang",{prefix:"xml",name:"lang",namespace:ii.XML}],["xml:space",{prefix:"xml",name:"space",namespace:ii.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:ii.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:ii.XMLNS}]]),Ni=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]))),Oi=new Set([ai.B,ai.BIG,ai.BLOCKQUOTE,ai.BODY,ai.BR,ai.CENTER,ai.CODE,ai.DD,ai.DIV,ai.DL,ai.DT,ai.EM,ai.EMBED,ai.H1,ai.H2,ai.H3,ai.H4,ai.H5,ai.H6,ai.HEAD,ai.HR,ai.I,ai.IMG,ai.LI,ai.LISTING,ai.MENU,ai.META,ai.NOBR,ai.OL,ai.P,ai.PRE,ai.RUBY,ai.S,ai.SMALL,ai.SPAN,ai.STRONG,ai.STRIKE,ai.SUB,ai.SUP,ai.TABLE,ai.TT,ai.U,ai.UL,ai.VAR]);function Bi(t){const e=Ni.get(t.tagName);null!=e&&(t.tagName=e,t.tagID=ui(t.tagName))}function Pi(t,e,r,i){return(!i||i===ii.HTML)&&function(t,e,r){if(e===ii.MATHML&&t===ai.ANNOTATION_XML)for(let t=0;t<r.length;t++)if(r[t].name===ni.ENCODING){const e=r[t].value.toLowerCase();return"text/html"===e||"application/xhtml+xml"===e}return e===ii.SVG&&(t===ai.FOREIGN_OBJECT||t===ai.DESC||t===ai.TITLE)}(t,e,r)||(!i||i===ii.MATHML)&&function(t,e){return e===ii.MATHML&&(t===ai.MI||t===ai.MO||t===ai.MN||t===ai.MS||t===ai.MTEXT)}(t,e)}var Li;!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"}(Li||(Li={})),new Set([ai.TABLE,ai.TBODY,ai.TFOOT,ai.THEAD,ai.TR]),new Set([ai.CAPTION,ai.COL,ai.COLGROUP,ai.TBODY,ai.TD,ai.TFOOT,ai.TH,ai.THEAD,ai.TR]);const Di=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);function Ui(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,Ui(/[&<>'"]/g,Di);const Mi=Ui(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),Fi=Ui(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]));new Set([oi.AREA,oi.BASE,oi.BASEFONT,oi.BGSOUND,oi.BR,oi.COL,oi.EMBED,oi.FRAME,oi.HR,oi.IMG,oi.INPUT,oi.KEYGEN,oi.LINK,oi.META,oi.PARAM,oi.SOURCE,oi.TRACK,oi.WBR]);var Hi=r(2830);class Wi extends Hi.Writable{_write(t,e,r){r()}}const ji=ai;class Vi{constructor(t,e){this.handler=e,this.namespaceStack=[],this.inForeignContent=!1,this.skipNextNewLine=!1,this.tokenizer=new xi(t,this),this._enterNamespace(ii.HTML)}onNullCharacter(t){this.skipNextNewLine=!1,this.inForeignContent?this.handler.onCharacter({type:Qr.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!==ii.HTML,this.tokenizer.inForeignNode=this.inForeignContent}_leaveCurrentNamespace(){this.namespaceStack.shift(),this.inForeignContent=this.namespaceStack[0]!==ii.HTML,this.tokenizer.inForeignNode=this.inForeignContent}_ensureTokenizerMode(t){switch(t){case ji.TEXTAREA:case ji.TITLE:this.tokenizer.state=mi.RCDATA;break;case ji.PLAINTEXT:this.tokenizer.state=mi.PLAINTEXT;break;case ji.SCRIPT:this.tokenizer.state=mi.SCRIPT_DATA;break;case ji.STYLE:case ji.IFRAME:case ji.XMP:case ji.NOEMBED:case ji.NOFRAMES:case ji.NOSCRIPT:this.tokenizer.state=mi.RAWTEXT}}onStartTag(t){let e=t.tagID;switch(e){case ji.SVG:this._enterNamespace(ii.SVG);break;case ji.MATH:this._enterNamespace(ii.MATHML)}if(this.inForeignContent)if(function(t){const e=t.tagID;return e===ai.FONT&&t.attrs.some((({name:t})=>t===ni.COLOR||t===ni.SIZE||t===ni.FACE))||Oi.has(e)}(t))this._leaveCurrentNamespace();else{const r=this.namespaceStack[0];r===ii.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===ii.SVG&&(Bi(t),function(t){for(let e=0;e<t.attrs.length;e++){const r=Ri.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=ki.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&&Pi(e,r,t.attrs)&&this._enterNamespace(ii.HTML)}else{switch(e){case ji.PRE:case ji.TEXTAREA:case ji.LISTING:this.skipNextNewLine=!0;break;case ji.IMAGE:t.tagName=oi.IMG,t.tagID=ji.IMG}this._ensureTokenizerMode(e)}this.handler.onStartTag(t)}onEndTag(t){let e=t.tagID;if(this.inForeignContent)(e===ji.SVG&&this.namespaceStack[0]===ii.SVG||e===ji.MATH&&this.namespaceStack[0]===ii.MATHML)&&this._leaveCurrentNamespace();else{const r=this.namespaceStack[1];if(r===ii.SVG){const r=Ni.get(t.tagName);r&&(e=ui(r))}Pi(e,r,t.attrs)&&this._leaveCurrentNamespace()}this.namespaceStack[0]===ii.SVG&&Bi(t),this.handler.onEndTag(t)}}class Gi extends Hi.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 Vi(this.options,this),this.tokenizer=this.parserFeedbackSimulator.tokenizer,this.pipe(new Wi)}_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 zi extends Gi{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}="${Mi(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,di.has(e)||e===oi.NOSCRIPT)?t:Fi(t))}emitComment(t){this.push(`\x3c!--${t.text}--\x3e`)}emitRaw(t){this.push(t)}}const qi=new TextEncoder,Qi=new TextDecoder,Ki=/([\d.]+\s*;\s*url\s*=\s*)(.+)(\s*)/im,Yi=["http://","https://","//"],Ji="mp_",Xi={a:{href:Ji},applet:{codebase:"oe_",archive:"oe_"},area:{href:Ji},audio:{src:"oe_"},base:{href:Ji},blockquote:{cite:Ji},body:{background:"im_"},button:{formaction:Ji},command:{icon:"im_"},del:{cite:Ji},embed:{src:"oe_"},iframe:{src:"if_"},image:{src:"im_","xlink:href":"im_",href:"im_"},img:{src:"im_",srcset:"im_"},ins:{cite:Ji},input:{src:"im_",formaction:Ji},form:{action:Ji},frame:{src:"fr_"},link:{href:"oe_"},meta:{content:Ji},object:{codebase:"oe_",data:"oe_"},param:{value:"oe_"},q:{cite:Ji},ref:{href:"oe_"},script:{src:"js_","xlink:href":"js_"},source:{src:"oe_",srcset:"oe_"},video:{src:"oe_",poster:"im_"}},Zi=[{match:/youtube.com\/v\/([^&]+)[&]/,replace:"youtube.com/embed/$1?"}],$i=[{urlMatch:/[?&]:loadOrderID=([\d]+)/,match:/(loadOrderID&(quot;&)?#x[^;]+?;)([\d]+)/gi,replace:"$1$U1"}];class tn{constructor(t,e=!1){this.rewriter=t,this.rule=null;for(const t of $i){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(Ki,((t,e,i,n)=>e+this.rewriteUrl(r,i)+n));if("referrer"===this.getAttr(t,"name"))return"no-referrer-when-downgrade";if(a(e.value,Yi))return this.rewriteUrl(r,e.value)}return e.value}rewriteSrcSet(t,e){const r=/\s*(\S*\s+[\d.]+[wx]),|(?:\s*,(?:\s+|(?=https?:)))/;let i=[];for(let 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=>a(t,Yi),n=t.tagName;for(let s of t.attrs){const o=s.name||"",a=s.value||"";if(a.startsWith("javascript:"))s.value="javascript:"+r.rewriteJS(a.slice("javascript:".length),{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("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_":null,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||"image/svg+xml"===e)s.name="src",t.tagName="iframe";else if("application/x-shockwave-flash"===e)for(const e of Zi){const i=s.value.replace(e.match,e.replace);if(i!==s.value){s.name="src",s.value=this.rewriteUrl(r,i),t.tagName="iframe";break}}}else if("target"===o){const t=s.value;"_blank"!==t&&"_parent"!==t&&"_top"!==t&&"new"!==t||(s.value="___wb_replay_top_frame")}else("href"===o||"src"===o||e[s.name])&&(s.value=this.rewriteUrl(r,s.value))}}getAttr(t,e){for(let 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":""}async rewrite(t){if(!t.buffer&&!t.reader)return t;if(t.expectedLength()>5e6)return console.warn("Skipping rewriting, HTML file too big: "+t.expectedLength()),t;const e=this.rewriter,r=new zi;r.tokenizer.preprocessor.bufferWaterline=1/0;let i=!1,n=!1,o=!0,a="",c="",l=null;const h=()=>{if(!i&&e.headInsertFunc){const t=e.headInsertFunc(e.url);t&&r.emitRaw(t),i=!0}};r.on("startTag",(t=>{const s=Xi[t.tagName],u=t.tagName;switch(this.rewriteTagAndAttrs(t,s||{},e),i||["head","html"].includes(t.tagName)||h(),r.emitStartTag(t),t.tagName){case"script":if(t.selfClosing)break;a=t.tagName,o=!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=null),a){case"head":n=!0;break;case"script":n&&!o&&"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 o=o&&0===t.text.trim().length,"js"===c||i?e.rewriteJS(t.text,{isModule:i,prefix:r}):"json"===c?e.rewriteJSON(t.text,{prefix:r}):t.text}return"style"===a?e.rewriteCSS(t.text):this.rewriteHTMLText(i)})();for(let t=0;t<n.length;t+=s)r.emitRaw(n.slice(t,t+s))}));const u=t.createIter();let f=!1;const g=this.isCharsetUTF8;return t.setReader(new ReadableStream({async start(t){r.on("data",(e=>{t.enqueue(g?qi.encode(e):d(e))})),r.on("end",(()=>{t.close()}));for await(const t of u)g?r.write(Qi.decode(t),"utf8"):r.write(p(t),"latin1"),f=!0;f&&h(),r.end()}})),t}rewriteUrl(t,e,r=!1,i=null){this.isCharsetUTF8||(e=Qi.decode(d(e)));const n=t.rewriteUrl(e,r);return i?n.replace("mp_/",i+"/"):n}rewriteHTMLText(t){if(this.rule){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(",")}}const en=/(url\s*\(\s*[\\"']*)([^)'"]+)([\\"']*\s*\))/gi,rn=/(@import\s*[\\"']*)([^)'";]+)([\\"']*\s*;?)/gi,nn=/WB_wombat_/g,sn=/^(?:\s*(?:(?:\/\*[^*]*\*\/)|(?:\/\/[^\n]+[\n])))*\s*([\w.]+)\([{[]/,on=/[?].*(?:callback|jsonp)=([^&]+)/i,an=new Wt(class extends jt{constructor(t){super(),this.extraRules=t,this.firstBuff=this.initLocalDecl(Br),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(let 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(Rr))||!!(t.indexOf("export")>=0&&t.match(kr))}parseGlobals(t){const e=Ie.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;Br.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=Br.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,e));let r=Dr;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(Br,e.prefix)+i;const n=Lr.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[Nr,(t,e)=>{const r=e.prefix.replace("mp_/","esm_/");return t.replace(Or,((t,i,n,s)=>{try{n=new URL(n,e.baseUrl).href,n=r+n}catch(t){}return i+n+s}))}]}}),cn=new Wt(jt);class ln{constructor({baseUrl:t,prefix:e,responseUrl:r,workerInsertFunc:i,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?an:cn,this.decode=a,this.prefix=e||"",this.prefix&&s){const t=new URL(this.prefix);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,this.isCharsetUTF8=!1,this._jsonpCallback=null}getRewriteMode(t,e,r="",i=null){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(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";default:return this.getScriptRewriteMode(i,r,null)}}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=b(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 lt(t.reader)),t;const n=new Uint8Array(await t.getBuffer()),s=await Ct(n,e,r);return n!==s&&t.setBuffer(s),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":l=this.workerInsertFunc;break;case"jsonp":l=this.rewriteJSONP;break;case"hls":l=Pt;break;case"dash":l=Dt}if(n&&(c.rewriteUrl=t=>this.rewriteUrl(t)),l){let e=await t.getText(this.isCharsetUTF8);e=l.call(this,e,c),t.setText(e,this.isCharsetUTF8)}return t}updateBaseUrl(t){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("https:".length))}return this.rewriteUrl(t)}isRewritableUrl(t){const e=["#","javascript:","data:","mailto:","about:","file:","blob:","{"];for(let r of e)if(t.startsWith(r))return!1;return!0}rewriteUrl(t,e=!1){if(!this.urlRewrite)return t;var r=t;return!(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+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}rewriteHtml(t){return new tn(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(en,r).replace(rn,r).replace(nn,"")}rewriteJS(t,e){const r=e&&!e.rewriteUrl&&void 0===e.isModule&&!e.inline,i=r?cn: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=cn.getRewriter(this.baseUrl);return r!==cn.defaultRewriter?r.rewrite(t,e):t}parseJSONPCallback(t){const e=t.match(on);return e&&"?"!==e[1]?(this._jsonpCallback=e[1],!0):(this._jsonpCallback=!1,!1)}rewriteJSONP(t){const e=t.match(sn);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","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"},s="X-Archive-Orig-";let o=new Headers;for(let a of t.entries())switch(n[a[0]]){case"keep":o.append(a[0],a[1]);break;case"url-rewrite":if(e){if("location"===a[0]&&this.url!==this.responseUrl){const t="http:"===this.scheme?"https:":"http:",e=t+this.responseUrl.slice(this.scheme.length);a[1]===e&&(a[1]=t+this.url.slice(this.url.indexOf("//")))}o.append(a[0],this.rewriteUrl(a[1]))}else o.append(a[0],a[1]);break;case"prefix-if-content-rewrite":r?o.append(s+a[0],a[1]):o.append(a[0],a[1]);break;case"prefix-if-url-rewrite":e?o.append(s+a[0],a[1]):o.append(a[0],a[1]);break;case"content-length":if("0"==a[1]){o.append(a[0],a[1]);continue}if(r)try{if(parseInt(a[1])>=0){o.append(a[0],a[1]);continue}}catch(t){}o.append(a[0],a[1]);break;case"transfer-encoding":case"prefix":o.append(s+a[0],a[1]);break;case"cookie":o.append(a[0],a[1]);break;case"link":e&&!i?o.append(a[0],this.rewriteLinkHeader(a[1])):o.append(a[0],a[1]);break;default:o.append(a[0],a[1])}return o}rewriteLinkHeader(t){try{const r=e.parse(t);for(const t of r.refs)t.uri&&(t.uri=this.rewriteUrl(t.uri));return r.toString()}catch(e){return console.warn("Error parsing link header: "+t),t}}}class hn{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||"default-src 'unsafe-eval' 'unsafe-inline' 'self' data: blob: mediastream: ws: wss: ; form-action 'self'",this.injectRelCanon=o.injectRelCanon||!1,this.baseFramePrefix=o.baseUrlSourcePrefix,this.baseFrameUrl=o.baseUrl,this.baseFrameHashReplay=o.baseUrlHashReplay||!1,this.liveRedirectOnNotFound=o.liveRedirectOnNotFound||!1,this.rootPrefix=e.root||e.main,this.prefix=e.main,this.config.root?this.isRoot=!0:(this.prefix+=this.name+"/",this.isRoot=!1),this.staticPrefix=e.static}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("srcdoc:".length));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(r):(n=await this.getReplayResponse(t,e),r=t.url,n&&n.updateTS&&(i=n.updateTS))}catch(e){if(await A(e,this.config))return _(t,'<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){}const e=`\n <html>\n <body style="font-family: sans-serif">\n <h2>Archived Page Not Found</h2>\n <p>Sorry, this page was not found in this archive:</p>\n <p><code style="word-break: break-all; font-size: larger">${r}</code></p>\n ${this.liveRedirectOnNotFound&&"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 = "${r}";\n <\/script>\n `:"\n "}\n <p>\n <a target="_blank" href="${r}">Click Here</a> to try to load the live page in a new tab (or to download the URL as a file).</p>\n </body>\n </html>\n `;return _(t,e)}if(n instanceof Response)return n;if(!n.noRW){const e=this.prefix+(t.pageId?`:${t.pageId}/`:""),o=e+i,a=r=>{let s=n.headers.get("x-wabac-preset-cookie")||"";const a=n.headers.get("Set-Cookie"),c=o+(i?"/":"")+r;return this.makeHeadInsert(r,i,n.date,c,e,s,a,n.isLive,t.referrer,n.extraOpts)},c=t=>`\n (function() { self.importScripts('${this.staticPrefix}wombatWorkers.js'); new WBWombat({'prefix': '${o}/', 'prefixMod': '${o}wkrf_/', 'originalURL': '${r}'}); })();`+t,l=t.mod,h="id_"===l||"wkrf_"===l,u=o+l+"/",p={baseUrl:s,responseUrl:n.url,prefix:u,headInsertFunc:a,workerInsertFunc:c,urlRewrite:!h,contentRewrite:!h,decode:this.config.decode},d=new ln(p);n=await d.rewrite(n,t),"id_"!==l&&n.headers.append("Content-Security-Policy",this.csp)}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)}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)):"<!DOCTYPE html><html><head></head><body></body></html>",i=(new TextEncoder).encode(r),n=new Headers({"Content-Type":"text/html"}),s=new Date;return new Nt({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 Nt({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};r=await this.store.getResource(t,this.prefix,e,i);const{request:n,url:s}=t;if(("video"===n.destination||"audio"===n.destination)&&"navigate"!==n.mode)for(;r&&r.status>=301&&r.status<400;){const n=new URL(r.headers.get("location"),s);t.url=n.href,console.log(`resolve redirect ${s} -> ${t.url}`),r=await this.store.getResource(t,this.prefix,e,i)}return r}async makeTopFrame(t,e){let r=null;if(this.baseFrameUrl&&!this.baseFramePrefix?r=this.baseFrameUrl:!this.isRoot&&this.config.sourceUrl&&(r=this.baseFramePrefix||"./",r+=`?source=${this.config.sourceUrl}`),r)return this.baseFrameHashReplay?r+=`#${e}/${t}`:r+="#"+new URLSearchParams({url:t,ts:e,view:"replay"}).toString(),Response.redirect(r);let i=null;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`;let 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,a,l,h,u){const p=this.name,d=function(t){if(!t)return"";try{return""+parseInt(t.getTime()/1e3)}catch(t){return""}}(r),f=c(r.toISOString()),g=new URL(t);let m;m="https:"!==g.protocol&&"http:"!==g.protocol?h&&h.indexOf("/http://")>0?"http":"https":g.protocol.slice(0,-1),a&&(s=function(t,e){t=t.replace(o,"");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(";")}(a,m)+";"+s);const w=u&&Number(u.pixelRatio)?u.pixelRatio:1,y=u&&u.storage?btoa(u.storage):"",b=s?JSON.stringify(s):'""';return`\n\x3c!-- WB Insert --\x3e\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 = "${i}";\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 = "${f}";\n wbinfo.request_ts = "${e}";\n wbinfo.prefix = decodeURI("${n}");\n wbinfo.mod = "mp_";\n wbinfo.is_framed = true;\n wbinfo.is_live = ${l?"true":"false"};\n wbinfo.coll = "${p}";\n wbinfo.proxy_magic = "";\n wbinfo.static_prefix = "${this.staticPrefix}";\n wbinfo.enable_auto_fetch = true;\n wbinfo.presetCookie = ${b};\n wbinfo.storage = "${y}";\n wbinfo.isSW = true;\n wbinfo.injectDocClose = true;\n wbinfo.pixel_ratio = ${w};\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 = "${l?f:e}";\n wbinfo.wombat_sec = "${d}";\n wbinfo.wombat_scheme = "${m}";\n wbinfo.wombat_host = "${g.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<\/script>\n${this.injectScripts.map((t=>`<script src='${t}'> <\/script>`)).join("")}\n `}}const un=(t,e)=>e.some((e=>t instanceof e));let pn,dn;const fn=new WeakMap,gn=new WeakMap,mn=new WeakMap,wn=new WeakMap,yn=new WeakMap;let bn={get(t,e,r){if(t instanceof IDBTransaction){if("done"===e)return gn.get(t);if("objectStoreNames"===e)return t.objectStoreNames||mn.get(t);if("store"===e)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return vn(t[e])},set:(t,e,r)=>(t[e]=r,!0),has:(t,e)=>t instanceof IDBTransaction&&("done"===e||"store"===e)||e in t};function An(t){bn=t(bn)}function _n(t){return"function"==typeof t?function(t){return t!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(dn||(dn=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(En(this),e),vn(fn.get(this))}:function(...e){return vn(t.apply(En(this),e))}:function(e,...r){const i=t.call(En(this),e,...r);return mn.set(i,e.sort?e.sort():[e]),vn(i)}}(t):(t instanceof IDBTransaction&&function(t){if(gn.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)}));gn.set(t,e)}(t),un(t,pn||(pn=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(t,bn):t)}function vn(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(vn(t.result)),i()},s=()=>{r(t.error),i()};t.addEventListener("success",n),t.addEventListener("error",s)}));return e.then((e=>{e instanceof IDBCursor&&fn.set(e,t)})).catch((()=>{})),yn.set(e,t),e}(t);if(wn.has(t))return wn.get(t);const e=_n(t);return e!==t&&(wn.set(t,e),yn.set(e,t)),e}const En=t=>yn.get(t);function Sn(t,e,{blocked:r,upgrade:i,blocking:n,terminated:s}={}){const o=indexedDB.open(t,e),a=vn(o);return i&&o.addEventListener("upgradeneeded",(t=>{i(vn(o.result),t.oldVersion,t.newVersion,vn(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 Tn(t,{blocked:e}={}){const r=indexedDB.deleteDatabase(t);return e&&r.addEventListener("blocked",(t=>e(t.oldVersion,t))),vn(r).then((()=>{}))}const xn=["get","getKey","getAll","getAllKeys","count"],Cn=["put","add","delete","clear"],In=new Map;function Rn(t,e){if(!(t instanceof IDBDatabase)||e in t||"string"!=typeof e)return;if(In.get(e))return In.get(e);const r=e.replace(/FromIndex$/,""),i=e!==r,n=Cn.includes(r);if(!(r in(i?IDBIndex:IDBObjectStore).prototype)||!n&&!xn.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 In.set(e,s),s}An((t=>({...t,get:(e,r,i)=>Rn(e,r)||t.get(e,r,i),has:(e,r)=>!!Rn(e,r)||t.has(e,r)})));const kn=["continue","continuePrimaryKey","advance"],Nn={},On=new WeakMap,Bn=new WeakMap,Pn={get(t,e){if(!kn.includes(e))return t[e];let r=Nn[e];return r||(r=Nn[e]=function(...t){On.set(this,Bn.get(this)[e](...t))}),r}};async function*Ln(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;e=e;const r=new Proxy(e,Pn);for(Bn.set(r,e),yn.set(r,En(e));e;)yield r,e=await(On.get(r)||e.continue()),On.delete(r)}function Dn(t,e){return e===Symbol.asyncIterator&&un(t,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===e&&un(t,[IDBIndex,IDBObjectStore])}An((t=>({...t,get:(e,r,i)=>Dn(e,r)?Ln:t.get(e,r,i),has:(e,r)=>Dn(e,r)||t.has(e,r)})));var Un=r(9991);const Mn=1024,Fn=/\[\d]+/,Hn=[{match:/\/\/.*(?:gcs-vimeo|vod|vod-progressive)\.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.com\/[^/]+\/status\/[^?]+)(\?.*)/,fuzzyCanonReplace:"$1"},{match:/(twitter.com\/i\/api\/graphql\/.*)/,args:[["cursor"]],fuzzyArgs:!0},{match:/facebook\.com\/ajax\//i,fuzzySet:!0},{match:(Wn=["(callback=jsonp)[^&]+(?=&|$)","((?:\\w+)=jquery)[\\d]+_[\\d]+","utm_[^=]+=[^&]+(?=&|$)","(_|cb|_ga|\\w*cache\\w*)=[\\d.-]+(?=$|&)"],new RegExp("[?&]"+Wn.map((t=>"("+t+")")).join("|"),"gi")),replace:""},{match:/(\.(?:js|webm|mp4|gif|jpg|png|css|json|m3u8))\?.*/i,replace:"$1",maxResults:2}];var Wn;const jn=new class{constructor(t){this.rules=t||Hn}getRuleFor(t){let e;const r=-1===t.indexOf("?")?t+"?":t;for(const t of this.rules)if(r.match(t.match)){e=t;break}let i=t;e&&e.fuzzyCanonReplace&&(i=t.replace(e.match,e.fuzzyCanonReplace));const n=e&&e.split||"?",s=e&&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&&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||!e.length)return null;if(r&&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=("string"==typeof t?t: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){try{t=new URL(t)}catch(t){return 0}const i=r&&r.args&&!r.fuzzyArgs?new Set(r.args[0]):null;let n=0,s=null;const o=new URLSearchParams(t.search);for(const a of e){if(204===a.status||304===a.status)continue;let e="string"==typeof a?a:a.fuzzyMatchUrl||a.url;try{e=new URL(e)}catch(t){continue}const c=new URLSearchParams(e.search);let l=this.getMatch(o,c,i,r&&r.fuzzySet);l+=this.getMatch(c,o,i),l/=2,a.status>200&&(l*=10**(1e-4*(200-a.status))),l>n&&(n=l,s=a)}return s}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[0]?.1:10,null!==l&&(n+=.5*t,l.length>Mn&&(l=l.slice(0,Mn))),c&&c.length>Mn&&(c=c.slice(0,Mn));const h=Number(c),u=Number(l);if(s+=t,i&&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=rt(c),r=rt(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[0]||"/"!==i[0])return;const n=e.split(Fn);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=Un(t,e);return i<r?r-i:0}},Vn=new Date("9999-01-01").getTime(),Gn="warc/revisit";class zn{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=this.allowRepeats?new qn:null,this.fuzzyPrefixSearch=!0,this.initing=this.init()}async init(){let t=0;this.db=await Sn(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){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",unique:!0}),t.createObjectStore("digestRef",{keyPath:"digest",unique:!0})}}async clearAll(){const t=["pages","resources","payload","digestRef"];for(const e of t)await this.db.clear(e)}close(){this.db&&(this.db.close(),this.db=null)}async delete(){this.close(),await Tn(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=l(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",t.toString())}}async createPageList(t){const e={};return e.title=t.title,e.desc=t.desc||t.description,e.slug=t.id||t.slug,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||!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 f()}async getAllPages(){return await this.db.getAll("pages")}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,Vn]),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(){}async addVerifyDataList(){}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=new Set,s=this.db.transaction(["digestRef","payload"],"readwrite");for(const o of t){let t=1;const a=o.mime===Gn?e:r;a.push(o);const c=this.getFuzzyUrl(o);c&&(a.push(c),t=2),this.useRefCounts&&o.digest&&(i[o.digest]?(i[o.digest].count+=t,n.add(o.digest)):i[o.digest]=await this.dedupResource(o.digest,o.payload,s,t),delete o.payload)}if(this.useRefCounts){const t=s.objectStore("digestRef");for(const e of n)t.put(i[e])}try{await s.done}catch(t){console.error("Payload and Ref Count Bulk Add Failed: ",t)}const o=this.db.transaction("resources","readwrite");for(const t of e)o.store.put(t);for(const t of r)o.store.put(t);try{await o.done}catch(t){console.error("Resources Bulk Add Failed",t)}}getFuzzyUrl(t){if(t.status>=200&&t.status<400&&304!==t.status&&204!==t.status){const{fuzzyCanonUrl:e}=jn.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 u(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!==Gn){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===Gn?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=l(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(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&&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 h=o.status,u=o.statusText||y(h);let p=null;if(!w()&&(p=await this.loadPayload(o,i),!p))return null;const d=g(o.respHeaders),f=new Date(o.ts),m=o.extraOpts||null;return s=o.url,s!==t.url&&d.set("Content-Location",s),new Nt({url:s,payload:p,status:h,statusText:u,headers:d,date:f,extraOpts:m})}async loadPayload(t){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}isSelfRedirect(t,e){try{if(e&&e.respHeaders&&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,Vn]);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===Gn||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||Vn]);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===Gn||this.isSelfRedirect(t,i)))return i}return null}async lookupQueryPrefix(t,e){const{rule:r,prefix:i,fuzzyCanonUrl:n}=jn.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 jn.fuzzyCompareUrls(t,s,r)}resJson(t){const e=new Date(t.ts).toISOString();return{url:t.url,date:e,ts:c(e),mime:t.mime,status:t.status}}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?null:r,a=await this.db.getAll("resources",this.getLookupRange(t,i?"prefix":"exact",n,s),o);e=e.split(",");const c=[];for(const t of a)for(const i of e)if(!i||t.mime&&t.mime.startsWith(i)){if(c.push(this.resJson(t)),c.length===r)return c;break}return c}async resourcesByMime(t,e=100,r="",i="",n=0){const s=[];(t=t.split(",")).sort();let o=[];r&&o.push([r,n,i]);for(const e of t)(!r||!e||e>r)&&o.push([e,0,""]);for await(const t of this.matchAny("resources","mimeStatusUrl",o,0,!0))if(s.push(this.resJson(t)),s.length===e)break;return s}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&&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 qn{constructor(){this.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 Qn=["script","style","header","footer","banner-div","noscript"];class Kn{constructor(t=1e3){this.batchSize=t,this.promises=[],this.batch=[],this.count=0,this.dupeSet=new Set}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 Yn extends Kn{constructor(t,e=null,r=null,i=null){super(),this.reader=t,this.abort=e,this.loadId=r,this.anyPages=!1,this.detectPages=!1,this._lastRecord=null,this.metadata={},this.pageMap={},this.pages=[],this.lists=[],this.source=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("json-metadata:".length));if("collection"===t.type&&(this.metadata.desc=t.desc,this.metadata.title=t.title),t.pages&&t.pages.length){this.pages=this.pages.concat(t.pages);for(const e of t.pages)e.ts=l(e.timestamp).getTime(),this.pageMap[e.ts+"/"+e.url]={page:e};this.anyPages=!0}t.lists&&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){const e=t.warcTargetURI;return!(!e||!e.startsWith("metadata://"))}parseRevisitRecord(t,e){const r=t.warcTargetURI.split("#")[0],i=t.warcDate,n=new Date(i).getTime();let s;if(t.httpHeaders){const i=this.parseResponseHttpHeaders(t,r,e);s=i&&Object.fromEntries(i.headers.entries())}const o=t.warcRefersToTargetURI,a=new Date(t.warcRefersToDate).getTime();return o===r&&a===n?null:{url:r,ts:n,origURL:o,origTS:a,digest:t.warcPayloadDigest,pageId:null,respHeaders:s}}parseResponseHttpHeaders(t,e,r){let i=200,n=null,s="";const o=r&&r.httpHeaders.method;if(t.httpHeaders){if(i=Number(t.httpHeaders.statusCode)||200,"OPTIONS"===o||"HEAD"===o)return null;if(n=g(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",t.warcContentLength),s=t.warcContentType;return{status:i,method:o,headers:n,mime:s}}indexReqResponse(t,e){const r=this.parseRecords(t,e);r&&this.addResource(r)}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&&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")}catch(e){t=new Headers,console.warn(e)}if(h=Object.fromEntries(t.entries()),"GET"!==o){const i={headers:t,method:o,url:r,postData:e.payload};tt(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=new Date(i).getTime(),f=Object.fromEntries(a.entries()),g=t.warcPayloadDigest,m=t.payload,w={url:r,ts:d,status:s,mime:c,respHeaders:f,reqHeaders:h,digest:g,payload:m,reader:m?null:t.reader,referrer:u};this.pageMap[d+"/"+r]&&m&&c.startsWith("text/")&&(this.pageMap[d+"/"+r].textPromise=async function(t,e,r,i){const n=new Gi,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&&Qn.includes(t.tagName)&&(o=t.tagName)})),n.on("endTag",(t=>{t.tagName===o&&(o=null)})),(r||i)&&(e=await Ct(e,r,i)),n.end((new TextDecoder).decode(e));const a=new Promise((t=>{n.on("end",(()=>{t(s.join(" "))}))}));return await a}(0,m,a.get("content-encoding"),a.get("transfer-encoding")));const y=t.warcHeader("WARC-JSON-Metadata");if(y)try{w.extraOpts=JSON.parse(y)}catch(t){}const b=t.warcHeader("WARC-Page-ID");return b&&(w.pageId=b),this.sourceExtra&&(w.source=this.sourceExtra),"GET"!==o&&l&&(w.requestUrl=l,w.method=o,w.requestBody=p||""),w}isFullRangeRequest(t){const e=t.get("content-range"),r=parseInt(t.get("content-length")||0);return e&&e===`bytes 0-${r-1}/${r}`}filterRecord(){return null}async load(t,e,r){this.db=t;const i=new Et(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}if(self.interruptLoads&&this.loadId&&self.interruptLoads[this.loadId])throw e(Math.round(i.offset/r*95),"Loading Canceled",i.offset,r),self.interruptLoads[this.loadId](),this.abort&&this.abort.abort(),new x;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 c=this.filterRecord(a);if("done"===c){this.abort&&this.abort.abort();break}if("skip"!==c&&("skipContent"===c?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 x)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 Jn extends Yn{constructor(t){super(t),this.detectPages=!1}addPage(){}async load(){const t=await new Et(this.reader).parse();if(!t)return null;const e=this.parseRecords(t,null);return e&&"revisit"!==t.warcType||await t.readFully(),e}}const Xn="https://w3s.link/";function Zn(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 $n(t){return ss(t)?t:os(t)?rs(t):t}async function ts(t){return new Response(t).blob()}async function*es(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 rs(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 is(t){if(!t.ok){const e=await t.text(),r=t.status;throw new Error(`HTTP Error ${r}: ${e}`)}}async function ns({url:t,file:e,fileName:r="",parameterName:i="file",fetch:n=globalThis.fetch,signal:s}){const o=new FormData,a=new Headers;as(t,a);const c=await async function(t){if(ss(t))return await ts(t);if(os(t)){const e=rs(t);return await ts(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 is(l),l}function ss(t){return"function"==typeof t.getReader}function os(t){return t[Symbol.asyncIterator]}function as(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 cs({url:t,fetch:e=globalThis.fetch,signal:r}){const i=await e(t,{method:"HEAD",signal:r});await is(i);const n=i.headers.get("x-ipfs-datasize")||i.headers.get("Content-Length");return parseInt(n,10)}async function*ls({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 is(c),yield*es(c.body)}function hs(){if(!globalThis.location)return Xn;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(".")}/`:Xn}const us=[5001,45001,45002,45003,45004,45005],ps="https://api.web3.storage/",ds="https://api.estuary.tech/",fs="http://localhost:5001/",gs="agregore",ms="daemon",ws="web3.storage",ys="estuary",bs="readonly",As=[gs,ms,ws,ys,bs];class _s{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 vs({chooseOrder:t=As,...e}={}){const r=function(t,e=As){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=ps,estuaryToken:i,estuaryURL:n=ds,publicGatewayURL:s=hs(),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!1}}(c).then((t=>t&&l.push({type:gs,fetch:c})))),h.push(async function(){const t=us.map((t=>`http://localhost:${t}`));try{const r=await Promise.any(t.map((t=>ks(t).then((e=>{if(e)return t;throw new Error("Not found")})))));return!!r&&(Rs&&!Is&&(e=r,Is=!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:ms,url:t,fetch:c})))),t&&h.push(ks(t,a,c).then((e=>e&&l.push({type:ms,url:t,fetch:c})))),i){const t=n,e=i;l.push({type:ys,url:t,authorization:e,fetch:c,publicGatewayURL:s})}if(e){const t=r,i=e;l.push({type:ws,url:t,authorization:i,fetch:c,publicGatewayURL:s})}return o&&s&&l.push({type:bs,fetch:c,publicGatewayURL:s}),await Promise.allSettled(h),l}(e),t);return async function(t){const{type:e}=t;let r=null;if(e===gs)r=new Ts(t.fetch||globalThis.fetch);else if(e===ms)r=new Cs(t.url);else if(e===ws)r=new xs(t.authorization,t.url,t.publicGatewayURL);else if(e===ys)r=new Ss(t.authorization,t.url,t.publicGatewayURL);else{if(e!==bs)throw new TypeError(`Unknown API type: ${e}.`);r=new Es(t.publicGatewayURL)}return r}(r)}class Es extends _s{constructor(t=hs()){super(),this.gatewayURL=t}get type(){return bs}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=hs()}){const o=function(t,e=hs()){const{cid:r,path:i,type:n}=Zn(t);return new URL(`/${n}/${r}${i}`,e)}(t,s);yield*ls({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}=Zn(t);return cs({url:new URL(`/${n}/${r}${i}`,this.gatewayURL),signal:e})}}class Ss extends Es{constructor(t,e=ds,r=hs()){super(r),this.authorization=t,this.url=e}get type(){return ys}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 ns({url:i,file:t,fileName:e,parameterName:"data",signal:r}),{cid:s}=await n.json();return`ipfs://${s}/`}}class Ts extends _s{constructor(t=globalThis.fetch){super(),this.fetch=t}get type(){return gs}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){const{fetch:s}=this;yield*ls({url:t,start:e,end:r,format:n,fetch:s,signal:i})}async getSize(t,e=null){const{fetch:r}=this;return cs({url:t,fetch:r,signal:e})}async uploadCAR(t,e=null){const r=await $n(t),{fetch:i}=this,n=await i("ipfs://localhost",{method:"POST",headers:{"Content-Type":"application/vnd.ipld.car"},signal:e,body:r});return await is(n),(await n.text()).split("\n")}async uploadFile(t,e=null){const r=await $n(t),{fetch:i}=this,n=await i("ipfs://localhost",{method:"POST",headers:{"Content-Type":"application/octet-stream"},signal:e,body:r});return await is(n),n.headers.get("Location")}}class xs extends Es{constructor(t,e=ps,r=hs()){super(r),this.authorization=t,this.url=e}get type(){return ws}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"),as(t,i);const n=await $n(e),s=await fetch(t,{method:"POST",signal:r,body:n,headers:i,duplex:"half"});return await is(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 ns({url:i,file:t,fileName:e,signal:r}),{cid:s}=await n.json();return`ipfs://${s}/`}}class Cs extends _s{constructor(t=fs){super(),this.url=t}get type(){return ms}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){const{cid:s,path:o,type:a}=Zn(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 is(l),yield*es(l.body)}async getSize(t,e=null){try{const{cid:r,path:i,type:n}=Zn(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 is(a);const{Objects:c}=await a.json(),[{Size:l}]=Object.values(c);return l}catch(r){return this._getSizeWithDag(t,e)}}async _getSizeWithDag(t,e=null){const{cid:r,path:i,type:n}=Zn(t),s=new URL(`/api/v0/dag/stat?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await is(o);const{Size:a}=await o.json();return parseInt(a,10)}async _pin(t,e=null){const{cid:r,path:i,type:n}=Zn(t),s=new URL(`/api/v0/pin/add?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await is(o)}async _unpin(t,e=null){const{cid:r,path:i,type:n}=Zn(t),s=new URL(`/api/v0/pin/rm?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await is(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 ns({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 ns({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 Is=!1;const Rs=!!(globalThis&&globalThis.chrome&&globalThis.chrome.webRequest&&globalThis.chrome.webRequest.onBeforeSendHeaders&&globalThis.chrome.webRequest.onBeforeSendHeaders.addListener);async function ks(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!1}}let Ns=null;async function Os(t){return Ns||(Ns=await vs(t)),Ns}const Bs="https://helper-proxy.webrecorder.workers.dev";async function Ps(t){const{url:e}=t;if(t.extra&&t.extra.arrayBuffer)return new Us(t.extra.arrayBuffer);const r=e.split(":",1)[0];switch(r){case"blob":return new Ms(t);case"http":case"https":return new Ls(t);case"file":return new Fs(t);case"googledrive":return new Ds(t);case"ipfs":return new Hs(t)}try{if(self.location&&r===self.location.protocol.split(":")[0])return new Ls(t)}catch(t){}try{return await fetch(`${r}://localhost`,{method:"HEAD"}),new Ls(t)}catch(t){}throw new Error("Invalid URL: "+e)}class Ls{constructor({url:t,headers:e,length:r=null,canLoadOnDemand:i=!1}){this.url=t,this.headers=e||{},this.length=r,this.canLoadOnDemand=i,this.isValid=!1,this.ipfsAPI=null,this.loadingIPFS=null}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&&(this.length=Number(n.headers.get("Content-Length")),!this.length&&206===n.status)){let t=n.headers.get("Content-Range");t&&(t=t.split("/"),2===t.length&&(this.length=t[1]))}if(null===this.length)try{const t=await fetch(`${Bs}/c/${this.url}`),e=await t.json();e.size&&(this.length=e.size)}catch(t){console.log("Error fetching from helper: "+t.toString())}return this.length=Number(this.length||0),{response:n,abort:i}}async getLength(){if(null===this.length){const{abort:t}=await this.doInitialFetch(!0);t&&t.abort()}return this.length}async getRange(t,e,r=!1,i=null){const n=new Headers(this.headers);n.set("Range",`bytes=${t}-${t+e-1}`);const s={signal:i,headers:n,cache:"no-store"};let o=null;try{o=await this.retryFetch(this.url,s)}catch(t){throw console.log(t),new E(this.url)}if(206!=o.status){const t={url:this.url,status:o.status,resp:o};throw 401===o.status?new S(t):403==o.status?new T(t):new E(t)}return r?o.body:new Uint8Array(await o.arrayBuffer())}async retryFetch(t,e){let r=null,i=1e3;for(let n=0;n<20&&(r=await fetch(t,e),429===r.status);n++)await C(i),i+=2e3;return r}}class Ds{constructor({url:t,headers:e,size:r,extra:i}){this.fileId=t.slice("googledrive://".length),this.apiUrl=`https://www.googleapis.com/drive/v3/files/${this.fileId}?alt=media`,this.canLoadOnDemand=!0,this.headers=e,i&&i.publicUrl?this.publicUrl=i.publicUrl:this.publicUrl=null,this.length=r,this.isValid=!1}async getLength(){return this.length}async doInitialFetch(t){let e=null,r=null;if(this.publicUrl){e=new Ls({url:this.publicUrl,length:this.length});try{r=await e.doInitialFetch(t)}catch(t){}if(!e.isValid&&(r&&r.abort&&r.abort.abort(),await this.refreshPublicUrl())){e=new Ls({url:this.publicUrl,length:this.length});try{r=await e.doInitialFetch(t)}catch(t){}!e.isValid&&r&&r.abort&&r.abort.abort()}}return e&&e.isValid||(this.publicUrl=null,e=new Ls({url:this.apiUrl,headers:this.headers,length:this.length}),r=await e.doInitialFetch(t)),this.isValid=e.isValid,this.length||(this.length=e.length),r}async getRange(t,e,r=!1,i){let n=null;if(this.publicUrl){n=new Ls({url:this.publicUrl,length:this.length});try{return await n.getRange(t,e,r,i)}catch(s){if(await this.refreshPublicUrl()){n=new Ls({url:this.publicUrl,length:this.length});try{return await n.getRange(t,e,r,i)}catch(t){}}}this.publicUrl=null}n=new Ls({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 T&&t.info&&t.info.resp&&t.info.resp.headers.get("content-type").startsWith("application/json")){const e=await t.info.resp.json();if(e.error&&e.error.errors&&"userRateLimitExceeded"===e.error.errors[0].reason){console.log(`Exponential backoff, waiting for: ${s}`),await C(s),s*=2;continue}}throw t}}async refreshPublicUrl(){try{const t=await fetch(`${Bs}/g/${this.fileId}`),e=await t.json();if(e.url)return this.publicUrl=e.url,!0}catch(t){}return!1}}class Us{constructor(t){this.arrayBuffer=t,this.size=t.length,this.canLoadOnDemand=!0}get length(){return this.size}get isValid(){return!!this.arrayBuffer}async getLength(){return this.size}async doInitialFetch(t=!1){const e=t?null:js(this.arrayBuffer);return{response:new Response(e)}}async getRange(t,e,r=!1){const i=this.arrayBuffer.slice(t,t+e);return r?js(i):i}}class Ms{constructor({url:t,blob:e=null,size:r=null}){this.url=t,this.blob=e,this.size=this.blob?this.blob.size:r,this.canLoadOnDemand=!0}get length(){return this.size}get isValid(){return!!this.blob}async getLength(){if(!this.blob||!this.blob.size){let t=await fetch(this.url);this.blob=await t.blob(),this.size=this.blob.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}catch(t){throw console.warn(t),t}this.arrayBuffer=this.blob.arrayBuffer?await this.blob.arrayBuffer():await this._getArrayBuffer(),this.arrayBuffer=new Uint8Array(this.arrayBuffer);const e=t?null:js(this.arrayBuffer);return{response:new Response(e)}}async getRange(t,e,r=!1){this.arrayBuffer||await this.doInitialFetch(!0);const i=this.arrayBuffer.slice(t,t+e);return r?js(i):i}_getArrayBuffer(){return new Promise((t=>{const e=new FileReader;e.onloadend=()=>{t(e.result)},e.readAsArrayBuffer(this.blob)}))}}class Fs{constructor({blob:t,size:e,extra:r,url:i}){this.url=i,this.file=t,this.size=this.blob?this.blob.size:e,this.fileHandle=r.fileHandle,this.canLoadOnDemand=!0}get length(){return this.size}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 S({fileHandle:this.fileHandle});this.file=await this.fileHandle.getFile(),this.size=this.file.size}async doInitialFetch(t=!1){this.file||await this.initFileObject();const e=t?null:this.file.stream();return{response:new Response(e)}}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 Hs{constructor({url:t,headers:e,...r}){this.url=t,this.opts=r;let i=t.lastIndexOf("#");i<0&&(i=void 0),this.headers=e,this.length=null,this.canLoadOnDemand=!0}async getLength(){return null===this.length&&await this.doInitialFetch(!0),this.length}async doInitialFetch(t){const e=await Os(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([]):Ws(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 Os(this.opts)).get(this.url,{start:t,end:t+e-1,signal:i});if(r)return Ws(n);{const t=[];let e=0;for await(const r of n)t.push(r),e+=r.byteLength;return nt(t,e)}}}function Ws(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 js(t){return new ReadableStream({start(e){e.enqueue(t),e.close()}})}class Vs extends zn{constructor(t,e=!1){super(t),this.noCache=e,this.useRefCounts=!e,this.streamMap=new Map}async loadRecordFromSource(t){const e=await this.loadSource(t.source),r=new Jn(e);return{remote:await r.load()}}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 qs(i);const{remote:n,hasher:s}=await this.loadRecordFromSource(t);if(!n)return console.log(`No WARC Record Loaded for: ${t.url}`),null;if(!(n.url===t.url||t.method&&t.url.startsWith(n.url)))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,{...e,noRevisits:!0});if(!i)return null;const s=e&&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?(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||r[Symbol.asyncIterator]||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 Ks(this,n.reader,o,t.url,this.streamMap,s,t.recordDigest,t.source)),a&&console.log("Not cacheing, too big: "+t.url),r=n.payload,!r&&!n.reader)return null;try{!r||this.noCache||a||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}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 Gs extends Vs{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 zs extends Vs{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),new URL(t.path,this.remoteUrlPrefix).href),n=await Ps(i);return await n.getRange(e,r,!0)}}class qs extends ct{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}getReadableStream(){console.log(`Offset: ${this.offset}, Size: ${this.size}`);const t=this.chunkstore.getChunkIter();return new ht(t,this.size,this.offset).getReadableStream()}}class Qs{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,nt(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 Ks extends ct{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 Qs(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(lt.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(),t.close()}})}}class Ys extends Kn{constructor(t){super(),this.har=t,this.pageRefs={}}async load(t){return this.db=t,"string"==typeof this.har&&(this.har=JSON.parse(this.har)),this.parseEntries(this.har),this.parsePages(this.har),await this.finishIndexing(),{}}parsePages(t){for(const e of t.log.pages){if(!e.pageTimings||!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&&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 Js="req.http:cookie";class Xs extends Yn{constructor(t,e,r,i={},n="sha256:"){super(t,e,r),this.cdxindexer=null,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=new Date(t.warcDate).getTime();if(this.pageMap[r+"/"+e])return t._isPage=!0,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 class extends class extends class{constructor(t={}){this.opts=t,this.fields=t&&t.fields?t.fields.split(","):St,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 Et(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("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;return r instanceof Map&&(r=new Headers(Object.fromEntries(r))),r.get(t.slice(5))}return null}return e.warcHeaders.headers.get(t)||null}}{constructor(t){super(t);for(let t of this.fields)if(t.startsWith("http:")){this.parseHttp=!0;break}}}{constructor(t){switch(super(t),this.includeAll=!!t?.all,this.overrideIndexForAll=!!t?.all,this.fields=Tt,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&&e.httpHeaders&&"GET"!==e.httpHeaders.method){let r={url:o,method:e.httpHeaders.method,headers:e.httpHeaders.headers,postData:e.payload};n=r.method,tt(r)&&(s=r.requestBody,t.method=n,t.requestBody=s,o=r.url)}t._urlkey=o;let a=super.indexRecord(t,r,i);return a&&(t&&void 0!==t._offset&&(a.offset=t._offset,a.length=t._length),n&&(a.method=n),s&&(a.requestBody=s)),a}serializeCDXJ(t){let{urlkey:e,timestamp:r}=t;return delete t.urlkey,delete t.timestamp,`${e} ${r} ${JSON.stringify(t)}\n`}serializeCDX11(t){let e=[];for(let r of xt)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:$(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:t="content-type"}return r=super.getField(t,e),r?r.toString().split(";",1)[0]?.trim():null;case"status":return super.getField("http:status",e);case"digest":return r=e.warcPayloadDigest,r?r.split(":",2)[1]:null;default:return null}}}({noSurt:!0},null));const i=this.cdxindexer.indexRecordPair(t,e,r,"");if(i&&(206!==i.status||this.isFullRangeRequest(t.httpHeaders.headers))){if(e&&e.httpHeaders){let t=e.httpHeaders.headers.get("cookie");t&&(i[Js]=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=l(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[Js]&&(c[Js]=t[Js]),t.method&&"GET"!==t.method&&(c.url=et(t.url,t.requestBody||"",t.method)),this.addResource(c)}}class Zs extends Xs{async load(t,e,r){this.db=t;let i=this.reader;i.iterLines||(i=new lt(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&&this.isBatchFull()&&e(Math.round(n/r*100),null,n,r),this.addCdx(i)}await this.finishIndexing(),e&&e(100,null,r,r)}}const $s=4294967295,to=65535;class eo{constructor(t,e){this.start=t,this.length=e}}class ro extends lt{constructor(t,e="gzip",r=!1){super(t,e,r)}async initHasher(){this.hasher=await Y(J,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}))}async _loadNext(){const t=await super._loadNext();return t&&this.hasher.update(t),t}getHash(){return"sha256:"+this.hasher.digest("hex")}}class io{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=await this.loader.getLength(),r=Math.min(65558,e),i=e-r,n=await this.loader.getRange(i,r);try{this.entries=this._loadEntries(n,i)}catch(t){if(t instanceof eo){const e=nt([await this.loader.getRange(t.start,t.length),n],t.length+r);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-to);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===$s||a===to){if(117853008!==i.getUint32(l-20,!0))return void console.warn("invalid zip64 EOCD locator");const t=this.getUint64(i,l-12,!0)-e;if(101075792!==i.getUint32(t,!0))return void console.warn("invalid zip64 EOCD record");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 eo(c,e-c);if(c>=r||c<0)for(c=-1,a=to;++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===$s||a===$s||d===$s){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===$s&&n>=8&&(a=this.getUint64(i,t,!0),t+=8,n-=8),r===$s&&n>=8&&(r=this.getUint64(i,t,!0),t+=8,n-=8),d===$s&&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=null}={}){null===this.entries&&await this.load();const o=this.entries[t];if(!o)return{reader:null};if(void 0===o.offset){const t=await this.loader.getRange(o.localEntryOffset,30),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;let a=(await this.loader.getRange(e,r,!0,i)).getReader(),c=null;const l=t=>s&&this.enableHashing?(c=new ro(t),c):t;return n?o.deflate?(a=new lt(new lt(a,"deflate")),a=l(a)):(a=l(a),a=new lt(a)):(a=new lt(a,o.deflate?"deflate":null),a=l(a)),c&&await c.initHasher(),{reader:a,hasher:c}}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 no{constructor(t,e){this.zipreader=t,this.filename=e,this.size=null}async doInitialFetch(t=!1){await this.zipreader.load(),this.size=this.zipreader.getCompressedSize(this.filename);let e=null;if(!t){const{reader:t}=await this.zipreader.loadFile(this.filename,{unzip:!0});e=Ws(t)}return{response:new Response(e)}}async getLength(){return null===this.size&&await this.doInitialFetch(!0),this.size}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?Ws(n):await n.readFully()}}class so extends class{getLoadPath(){}getName(){}async createLoader(){}}{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}={}){super(),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}markAsMultiWACZ(){this.fileType="multi-wacz"}async init(t){t&&(this.path=t);const e=this.loader?this.loader:await this.parent.createLoader({url:this.path});return await this.initFromLoader(e)}async initFromLoader(t){return this.zipreader=new io(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[t]}getSizeOf(t){return this.zipreader?this.zipreader.getCompressedSize(t):0}serialize(){return{waczname:this.waczname,hash:this.hash,path:this.path,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 no(this.zipreader,e.slice(r+3))}}
|
|
45
|
-
/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function oo(t){return null==t}var ao={isNothing:oo,isObject:function(t){return"object"==typeof t&&null!==t},toArray:function(t){return Array.isArray(t)?t:oo(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 co(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 lo(t,e){Error.call(this),this.name="YAMLException",this.reason=t,this.mark=e,this.message=co(this,!1),Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack||""}lo.prototype=Object.create(Error.prototype),lo.prototype.constructor=lo,lo.prototype.toString=function(t){return this.name+": "+co(this,t)};var ho=lo;function uo(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 po(t,e){return ao.repeat(" ",e-t.length)+t}var fo=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],go=["scalar","sequence","mapping"],mo=function(t,e){if(e=e||{},Object.keys(e).forEach((function(e){if(-1===fo.indexOf(e))throw new ho('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 ho('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')};function wo(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 yo(t){return this.extend(t)}yo.prototype.extend=function(t){var e=[],r=[];if(t instanceof mo)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 ho("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 mo))throw new ho("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new ho("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 ho("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 mo))throw new ho("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var i=Object.create(yo.prototype);return i.implicit=(this.implicit||[]).concat(e),i.explicit=(this.explicit||[]).concat(r),i.compiledImplicit=wo(i,"implicit"),i.compiledExplicit=wo(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 bo=yo,Ao=new mo("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}}),_o=new mo("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}}),vo=new mo("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}}),Eo=new bo({explicit:[Ao,_o,vo]}),So=new mo("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"}),To=new mo("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 xo(t){return 48<=t&&t<=55}function Co(t){return 48<=t&&t<=57}var Io=new mo("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(!xo(t.charCodeAt(n)))return!1;s=!0}return s&&"_"!==e}}if("_"===e)return!1;for(;n<i;n++)if("_"!==(e=t[n])){if(!Co(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&&!ao.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"]}}),Ro=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),ko=/^[-+]?[0-9]+e/,No=new mo("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!Ro.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||ao.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(ao.isNegativeZero(t))return"-0.0";return r=t.toString(10),ko.test(r)?r.replace("e",".e"):r},defaultStyle:"lowercase"}),Oo=Eo.extend({implicit:[So,To,Io,No]}),Bo=Oo,Po=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Lo=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]))?))?$"),Do=new mo("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==Po.exec(t)||null!==Lo.exec(t))},construct:function(t){var e,r,i,n,s,o,a,c,l=0,h=null;if(null===(e=Po.exec(t))&&(e=Lo.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()}}),Uo=new mo("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}}),Mo="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",Fo=new mo("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,r,i=0,n=t.length,s=Mo;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=Mo,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=Mo;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}}),Ho=Object.prototype.hasOwnProperty,Wo=Object.prototype.toString,jo=new mo("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]"!==Wo.call(i))return!1;for(n in i)if(Ho.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:[]}}),Vo=Object.prototype.toString,Go=new mo("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]"!==Vo.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}}),zo=Object.prototype.hasOwnProperty,qo=new mo("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(t){if(null===t)return!0;var e,r=t;for(e in r)if(zo.call(r,e)&&null!==r[e])return!1;return!0},construct:function(t){return null!==t?t:{}}}),Qo=Bo.extend({implicit:[Do,Uo],explicit:[Fo,jo,Go,qo]}),Ko=Object.prototype.hasOwnProperty,Yo=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Jo=/[\x85\u2028\u2029]/,Xo=/[,\[\]\{\}]/,Zo=/^(?:!|!!|![a-z\-]+!)$/i,$o=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function ta(t){return Object.prototype.toString.call(t)}function ea(t){return 10===t||13===t}function ra(t){return 9===t||32===t}function ia(t){return 9===t||32===t||10===t||13===t}function na(t){return 44===t||91===t||93===t||123===t||125===t}function sa(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function oa(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 aa(t){return t<=65535?String.fromCharCode(t):String.fromCharCode(55296+(t-65536>>10),56320+(t-65536&1023))}for(var ca=new Array(256),la=new Array(256),ha=0;ha<256;ha++)ca[ha]=oa(ha)?1:0,la[ha]=oa(ha);function ua(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Qo,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 pa(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=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=uo(t.buffer,n[o-a],s[o-a],t.position-(n[o]-n[o-a]),u),l=ao.repeat(" ",e.indent)+po((t.line-a+1).toString(),h)+" | "+c.str+"\n"+l;for(c=uo(t.buffer,n[o],s[o],t.position,u),l+=ao.repeat(" ",e.indent)+po((t.line+1).toString(),h)+" | "+c.str+"\n",l+=ao.repeat("-",e.indent+h+3+c.pos)+"^\n",a=1;a<=e.linesAfter&&!(o+a>=s.length);a++)c=uo(t.buffer,n[o+a],s[o+a],t.position-(n[o]-n[o+a]),u),l+=ao.repeat(" ",e.indent)+po((t.line+a+1).toString(),h)+" | "+c.str+"\n";return l.replace(/\n$/,"")}(r),new ho(e,r)}function da(t,e){throw pa(t,e)}function fa(t,e){t.onWarning&&t.onWarning.call(null,pa(t,e))}var ga={YAML:function(t,e,r){var i,n,s;null!==t.version&&da(t,"duplication of %YAML directive"),1!==r.length&&da(t,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&da(t,"ill-formed argument of the YAML directive"),n=parseInt(i[1],10),s=parseInt(i[2],10),1!==n&&da(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=s<2,1!==s&&2!==s&&fa(t,"unsupported YAML version of the document")},TAG:function(t,e,r){var i,n;2!==r.length&&da(t,"TAG directive accepts exactly two arguments"),i=r[0],n=r[1],Zo.test(i)||da(t,"ill-formed tag handle (first argument) of the TAG directive"),Ko.call(t.tagMap,i)&&da(t,'there is a previously declared suffix for "'+i+'" tag handle'),$o.test(n)||da(t,"ill-formed tag prefix (second argument) of the TAG directive");try{n=decodeURIComponent(n)}catch(e){da(t,"tag prefix is malformed: "+n)}t.tagMap[i]=n}};function ma(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||da(t,"expected valid JSON character");else Yo.test(a)&&da(t,"the stream contains non-printable characters");t.result+=a}}function wa(t,e,r,i){var n,s,o,a;for(ao.isObject(r)||da(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],Ko.call(e,s)||(e[s]=r[s],i[s]=!0)}function ya(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])&&da(t,"nested arrays are not supported inside keys"),"object"==typeof n&&"[object Object]"===ta(n[l])&&(n[l]="[object Object]");if("object"==typeof n&&"[object Object]"===ta(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)wa(t,e,s[l],r);else wa(t,e,s,r);else t.json||Ko.call(r,n)||!Ko.call(e,n)||(t.line=o||t.line,t.lineStart=a||t.lineStart,t.position=c||t.position,da(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 ba(t){var e;10===(e=t.input.charCodeAt(t.position))?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):da(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function Aa(t,e,r){for(var i=0,n=t.input.charCodeAt(t.position);0!==n;){for(;ra(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(!ea(n))break;for(ba(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&&fa(t,"deficient indentation"),i}function _a(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))&&!ia(e)))}function va(t,e){1===e?t.result+=" ":e>1&&(t.result+=ao.repeat("\n",e-1))}function Ea(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,da(t,"tab characters must not be used in indentation")),45===i)&&ia(t.input.charCodeAt(t.position+1));)if(a=!0,t.position++,Aa(t,!0,-1)&&t.lineIndent<=e)o.push(null),i=t.input.charCodeAt(t.position);else if(r=t.line,xa(t,e,3,!1,!0),o.push(t.result),Aa(t,!0,-1),i=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&0!==i)da(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 Sa(t){var e,r,i,n,s=!1,o=!1;if(33!==(n=t.input.charCodeAt(t.position)))return!1;if(null!==t.tag&&da(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)):da(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==n&&!ia(n);)33===n&&(o?da(t,"tag suffix cannot contain exclamation marks"):(r=t.input.slice(e-1,t.position+1),Zo.test(r)||da(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),Xo.test(i)&&da(t,"tag suffix cannot contain flow indicator characters")}i&&!$o.test(i)&&da(t,"tag name cannot contain such characters: "+i);try{i=decodeURIComponent(i)}catch(e){da(t,"tag name is malformed: "+i)}return s?t.tag=i:Ko.call(t.tagMap,r)?t.tag=t.tagMap[r]+i:"!"===r?t.tag="!"+i:"!!"===r?t.tag="tag:yaml.org,2002:"+i:da(t,'undeclared tag handle "'+r+'"'),!0}function Ta(t){var e,r;if(38!==(r=t.input.charCodeAt(t.position)))return!1;for(null!==t.anchor&&da(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!ia(r)&&!na(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&da(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function xa(t,e,r,i,n){var s,o,a,c,l,h,u,p,d,f=1,g=!1,m=!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&&Aa(t,!0,-1)&&(g=!0,t.lineIndent>e?f=1:t.lineIndent===e?f=0:t.lineIndent<e&&(f=-1)),1===f)for(;Sa(t)||Ta(t);)Aa(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&&(Ea(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,m=null,w=!1,y=!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(w||-1===t.firstTabInLine||(t.position=t.firstTabInLine,da(t,"tab characters must not be used in indentation")),i=t.input.charCodeAt(t.position+1),s=t.line,63!==l&&58!==l||!ia(i)){if(o=t.line,a=t.lineStart,c=t.position,!xa(t,r,2,!1,!0))break;if(t.line===s){for(l=t.input.charCodeAt(t.position);ra(l);)l=t.input.charCodeAt(++t.position);if(58===l)ia(l=t.input.charCodeAt(++t.position))||da(t,"a whitespace character is expected after the key-value separator within a block mapping"),w&&(ya(t,p,d,f,g,null,o,a,c),f=g=m=null),y=!0,w=!1,n=!1,f=t.tag,g=t.result;else{if(!y)return t.tag=h,t.anchor=u,!0;da(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!y)return t.tag=h,t.anchor=u,!0;da(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===l?(w&&(ya(t,p,d,f,g,null,o,a,c),f=g=m=null),y=!0,w=!0,n=!0):w?(w=!1,n=!0):da(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)&&(w&&(o=t.line,a=t.lineStart,c=t.position),xa(t,e,4,!0,n)&&(w?g=t.result:m=t.result),w||(ya(t,p,d,f,g,m,o,a,c),f=g=m=null),Aa(t,!0,-1),l=t.input.charCodeAt(t.position)),(t.line===s||t.lineIndent>e)&&0!==l)da(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return w&&ya(t,p,d,f,g,null,o,a,c),y&&(t.tag=h,t.anchor=u,t.kind="mapping",t.result=p),y}(t,d,p))||function(t,e){var r,i,n,s,o,a,c,l,h,u,p,d,f=!0,g=t.tag,m=t.anchor,w=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(Aa(t,!0,e),(d=t.input.charCodeAt(t.position))===o)return t.position++,t.tag=g,t.anchor=m,t.kind=l?"mapping":"sequence",t.result=s,!0;f?44===d&&da(t,"expected the node content, but found ','"):da(t,"missed comma between flow collection entries"),p=null,a=c=!1,63===d&&ia(t.input.charCodeAt(t.position+1))&&(a=c=!0,t.position++,Aa(t,!0,e)),r=t.line,i=t.lineStart,n=t.position,xa(t,e,1,!1,!0),u=t.tag,h=t.result,Aa(t,!0,e),d=t.input.charCodeAt(t.position),!c&&t.line!==r||58!==d||(a=!0,d=t.input.charCodeAt(++t.position),Aa(t,!0,e),xa(t,e,1,!1,!0),p=t.result),l?ya(t,s,w,u,h,p,r,i,n):a?s.push(ya(t,null,w,u,h,p,r,i,n)):s.push(h),Aa(t,!0,e),44===(d=t.input.charCodeAt(t.position))?(f=!0,d=t.input.charCodeAt(++t.position)):f=!1}da(t,"unexpected end of the stream within a flow collection")}(t,p)?m=!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:da(t,"repeat of a chomping mode identifier");else{if(!((n=48<=(o=s)&&o<=57?o-48:-1)>=0))break;0===n?da(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?da(t,"repeat of an indentation width identifier"):(h=e+n-1,l=!0)}if(ra(s)){do{s=t.input.charCodeAt(++t.position)}while(ra(s));if(35===s)do{s=t.input.charCodeAt(++t.position)}while(!ea(s)&&0!==s)}for(;0!==s;){for(ba(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),ea(s))u++;else{if(t.lineIndent<h){3===a?t.result+=ao.repeat("\n",c?1+u:u):1===a&&c&&(t.result+="\n");break}for(i?ra(s)?(p=!0,t.result+=ao.repeat("\n",c?1+u:u)):p?(p=!1,t.result+=ao.repeat("\n",u+1)):0===u?c&&(t.result+=" "):t.result+=ao.repeat("\n",u):t.result+=ao.repeat("\n",c?1+u:u),c=!0,l=!0,u=0,r=t.position;!ea(s)&&0!==s;)s=t.input.charCodeAt(++t.position);ma(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(ma(t,i,t.position,!0),39!==(r=t.input.charCodeAt(++t.position)))return!0;i=t.position,t.position++,n=t.position}else ea(r)?(ma(t,i,n,!0),va(t,Aa(t,!1,e)),i=n=t.position):t.position===t.lineStart&&_a(t)?da(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);da(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 ma(t,r,t.position,!0),t.position++,!0;if(92===a){if(ma(t,r,t.position,!0),ea(a=t.input.charCodeAt(++t.position)))Aa(t,!1,e);else if(a<256&&ca[a])t.result+=la[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=sa(a=t.input.charCodeAt(++t.position)))>=0?s=(s<<4)+o:da(t,"expected hexadecimal character");t.result+=aa(s),t.position++}else da(t,"unknown escape sequence");r=i=t.position}else ea(a)?(ma(t,r,i,!0),va(t,Aa(t,!1,e)),r=i=t.position):t.position===t.lineStart&&_a(t)?da(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}da(t,"unexpected end of the stream within a double quoted scalar")}(t,p)?m=!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&&!ia(i)&&!na(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&da(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),Ko.call(t.anchorMap,r)||da(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],Aa(t,!0,-1),!0}(t)?(m=!0,null===t.tag&&null===t.anchor||da(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(ia(h=t.input.charCodeAt(t.position))||na(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)&&(ia(i=t.input.charCodeAt(t.position+1))||r&&na(i)))return!1;for(t.kind="scalar",t.result="",n=s=t.position,o=!1;0!==h;){if(58===h){if(ia(i=t.input.charCodeAt(t.position+1))||r&&na(i))break}else if(35===h){if(ia(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&_a(t)||r&&na(h))break;if(ea(h)){if(a=t.line,c=t.lineStart,l=t.lineIndent,Aa(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&&(ma(t,n,s,!1),va(t,t.line-a),n=s=t.position,o=!1),ra(h)||(s=t.position+1),h=t.input.charCodeAt(++t.position)}return ma(t,n,s,!1),!!t.result||(t.kind=u,t.result=p,!1)}(t,p,1===r)&&(m=!0,null===t.tag&&(t.tag="?")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===f&&(m=a&&Ea(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&&da(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(Ko.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||da(t,"unknown tag !<"+t.tag+">"),null!==t.result&&u.kind!==t.kind&&da(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)):da(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||m}function Ca(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))&&(Aa(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&&!ia(n);)n=t.input.charCodeAt(++t.position);for(i=[],(r=t.input.slice(e,t.position)).length<1&&da(t,"directive name must not be less than one character in length");0!==n;){for(;ra(n);)n=t.input.charCodeAt(++t.position);if(35===n){do{n=t.input.charCodeAt(++t.position)}while(0!==n&&!ea(n));break}if(ea(n))break;for(e=t.position;0!==n&&!ia(n);)n=t.input.charCodeAt(++t.position);i.push(t.input.slice(e,t.position))}0!==n&&ba(t),Ko.call(ga,r)?ga[r](t,r,i):fa(t,'unknown document directive "'+r+'"')}Aa(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,Aa(t,!0,-1)):o&&da(t,"directives end mark is expected"),xa(t,t.lineIndent-1,4,!1,!0),Aa(t,!0,-1),t.checkLineBreaks&&Jo.test(t.input.slice(s,t.position))&&fa(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&_a(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,Aa(t,!0,-1)):t.position<t.length-1&&da(t,"end of the stream or a document separator is expected")}function Ia(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 ua(t,e),i=t.indexOf("\0");for(-1!==i&&(r.position=i,da(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;)Ca(r);return r.documents}var Ra={loadAll:function(t,e,r){null!==e&&"object"==typeof e&&void 0===r&&(r=e,e=null);var i=Ia(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=Ia(t,e);if(0!==r.length){if(1===r.length)return r[0];throw new ho("expected a single document in the stream, but found more")}}},ka=Object.prototype.toString,Na=Object.prototype.hasOwnProperty,Oa=65279,Ba={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"},Pa=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],La=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function Da(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 ho("code point within a string may not be greater than 0xFFFFFFFF");r="U",i=8}return"\\"+r+ao.repeat("0",i-e.length)+e}function Ua(t){this.schema=t.schema||Qo,this.indent=Math.max(1,t.indent||2),this.noArrayIndent=t.noArrayIndent||!1,this.skipInvalid=t.skipInvalid||!1,this.flowLevel=ao.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])&&Na.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 Ma(t,e){for(var r,i=ao.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 Fa(t,e){return"\n"+ao.repeat(" ",t.indent*e)}function Ha(t){return 32===t||9===t}function Wa(t){return 32<=t&&t<=126||161<=t&&t<=55295&&8232!==t&&8233!==t||57344<=t&&t<=65533&&t!==Oa||65536<=t&&t<=1114111}function ja(t){return Wa(t)&&t!==Oa&&13!==t&&10!==t}function Va(t,e,r){var i=ja(t),n=i&&!Ha(t);return(r?i:i&&44!==t&&91!==t&&93!==t&&123!==t&&125!==t)&&35!==t&&!(58===e&&!n)||ja(e)&&!Ha(e)&&35===t||58===e&&n}function Ga(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 za(t){return/^\n* /.test(t)}function qa(t,e,r,i,n){t.dump=function(){if(0===e.length)return 2===t.quotingType?'""':"''";if(!t.noCompatMode&&(-1!==Pa.indexOf(e)||La.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,m=Wa(l=Ga(t,0))&&l!==Oa&&!Ha(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!Ha(t)&&58!==t}(Ga(t,t.length-1));if(e||o)for(c=0;c<t.length;h>=65536?c+=2:c++){if(!Wa(h=Ga(t,c)))return 5;m=m&&Va(h,u,a),u=h}else{for(c=0;c<t.length;h>=65536?c+=2:c++){if(10===(h=Ga(t,c)))p=!0,f&&(d=d||c-g-1>i&&" "!==t[g+1],g=c);else if(!Wa(h))return 5;m=m&&Va(h,u,a),u=h}d=d||f&&c-g-1>i&&" "!==t[g+1]}return p||d?r>9&&za(t)?5:o?2===s?5:2:d?4:3:!m||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"|"+Qa(e,t.indent)+Ka(Ma(e,s));case 4:return">"+Qa(e,t.indent)+Ka(Ma(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,Ya(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")+Ya(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=Ga(t,n),!(e=Ba[i])&&Wa(i)?(r+=t[n],i>=65536&&(r+=t[n+1])):r+=e||Da(i);return r}(e)+'"';default:throw new ho("impossible error: invalid scalar style")}}()}function Qa(t,e){var r=za(t)?String(e):"",i="\n"===t[t.length-1];return r+(!i||"\n"!==t[t.length-2]&&"\n"!==t?i?"":"-":"+")+"\n"}function Ka(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function Ya(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 Ja(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)),(Za(t,e+1,o,!0,!0,!1,!0)||void 0===o&&Za(t,e+1,null,!0,!0,!1,!0))&&(i&&""===a||(a+=Fa(t,e)),t.dump&&10===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=c,t.dump=a||"[]"}function Xa(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]"===ka.call(a.represent))i=a.represent(e,c);else{if(!Na.call(a.represent,c))throw new ho("!<"+a.tag+'> tag resolver accepts not "'+c+'" style');i=a.represent[c](e,c)}t.dump=i}return!0}return!1}function Za(t,e,r,i,n,s,o){t.tag=null,t.dump=r,Xa(t,r,!1)||Xa(t,r,!0);var a,c=ka.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 ho("sortKeys must be a boolean or a function");for(n=0,s=p.length;n<s;n+=1)l="",i&&""===h||(l+=Fa(t,e)),a=r[o=p[n]],t.replacer&&(a=t.replacer.call(r,o,a)),Za(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+=Fa(t,e)),Za(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)),Za(t,e,s,!1,!1)&&(t.dump.length>1024&&(a+="? "),a+=t.dump+(t.condenseFlow?'"':"")+":"+(t.condenseFlow?"":" "),Za(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?Ja(t,e-1,t.dump,n):Ja(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)),(Za(t,e,s,!1,!1)||void 0===s&&Za(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 ho("unacceptable kind of an object to dump "+c)}"?"!==t.tag&&qa(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 $a(t,e){var r,i,n=[],s=[];for(tc(t,n,s),r=0,i=s.length;r<i;r+=1)e.duplicates.push(n[s[r]]);e.usedDuplicates=new Array(i)}function tc(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)tc(t[n],e,r);else for(n=0,s=(i=Object.keys(t)).length;n<s;n+=1)tc(t[i[n]],e,r)}function ec(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 rc={Type:mo,Schema:bo,FAILSAFE_SCHEMA:Eo,JSON_SCHEMA:Oo,CORE_SCHEMA:Bo,DEFAULT_SCHEMA:Qo,load:Ra.load,loadAll:Ra.loadAll,dump:function(t,e){var r=new Ua(e=e||{});r.noRefs||$a(t,r);var i=t;return r.replacer&&(i=r.replacer.call({"":i},"",i)),Za(r,0,i,!0,!0)?r.dump+"\n":""},YAMLException:ho,types:{binary:Fo,float:No,map:vo,null:So,pairs:Go,set:qo,timestamp:Do,bool:To,int:Io,merge:Uo,omap:jo,seq:_o,str:Ao},safeLoad:ec("safeLoad","load"),safeLoadAll:ec("safeLoadAll","loadAll"),safeDump:ec("safeDump","dump")};var ic=r(9742),nc=(r(8660),r(4585));function sc(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 oc(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 ac(...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 cc(){const t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const e=255===t[0]&&128&t[1],r=0===t[0]&&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=sc(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,sc(s,8)-i}function lc(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)}
|
|
44
|
+
***************************************************************************** */function B(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 P{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 B(this,void 0,void 0,(function*(){const e=yield this.lock();try{return yield Promise.resolve(t())}finally{e()}}))}}const L="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:r.g,D=null!==(I=L.Buffer)&&void 0!==I?I:null,U=L.TextEncoder?new L.TextEncoder:null;function M(t,e){return(15&t)+(t>>6|t>>3&8)<<4|(15&e)+(e>>6|e>>3&8)}const F="a".charCodeAt(0)-10,H="0".charCodeAt(0);function W(t,e,r){let i=0;for(let n=0;n<r;n++){let r=e[n]>>>4;t[i++]=r>9?r+F:r+H,r=15&e[n],t[i++]=r>9?r+F:r+H}return String.fromCharCode.apply(null,t)}const j=null!==D?t=>{if("string"==typeof t){const e=D.from(t,"utf8");return new Uint8Array(e.buffer,e.byteOffset,e.length)}if(D.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 U.encode(t);if(ArrayBuffer.isView(t))return new Uint8Array(t.buffer,t.byteOffset,t.byteLength);throw new Error("Invalid data type!")},V="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",G=new Uint8Array(256);for(let t=0;t<V.length;t++)G[V.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=G[t.charCodeAt(e)],s=G[t.charCodeAt(e+1)],o=G[t.charCodeAt(e+2)],a=G[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 q=16384,Q=new P,K=new Map;function Y(t,e){return B(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=Q.dispatch((()=>B(this,void 0,void 0,(function*(){if(!K.has(t.name)){const e=z(t.data),r=WebAssembly.compile(e);K.set(t.name,r)}const e=yield K.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+q);e+=n.length,i.set(n),r.exports.Hash_Update(n.length)}})(j(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):W(l,i,e)},u=t=>"string"==typeof t?t.length<4096:t.byteLength<q;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(()=>B(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,q)})))(),{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]=M(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]!==M(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=j(t);return i.set(o),r.exports.Hash_Calculate(o.length,n,s),W(l,i,e)},hashLength:e}}))}new P,new P,new DataView(new ArrayBuffer(4)),new P,new P,new P,new P,new P,new P,new P,new P,new P;var J={name:"sha256",data:"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",hash:"817d957e"};function X(t){let e;e="string"==typeof t?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 Z(t){return t.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")}function $(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){r.searchParams.sort(),i+=r.search;for(let[t,n]of r.searchParams.entries())if(!n){let r=new RegExp(`(?<=[&?])${Z(t)}=(?=&|$)`);r.exec(e)||(i=i.replace(r,t))}}return i}catch{return t}}function tt(t){let{method:e,headers:r,postData:i}=t;if("GET"===e)return!1;function n(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let s="";switch((r.get("content-type")||"").split(";")[0]){case"application/x-www-form-urlencoded":s=n(i);break;case"application/json":s=it(n(i));break;case"text/plain":try{s=it(n(i),!1)}catch{s=X(i)}break;case"multipart/form-data":{let t=r.get("content-type");if(!t)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],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()}(n(i),t);break}default:s=X(i)}return null!==s&&(t.url=et(t.url,s,t.method),t.method="GET",t.requestBody=s,!0)}function et(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}function rt(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={};try{JSON.stringify(t,((t,e)=>(["object","function"].includes(typeof e)||r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(t),e),e)))}catch(t){if(!e)throw t}return r}function it(t,e=!0){return rt(t,e).toString()}function nt(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 st(t,e){return[t.slice(0,e),t.slice(e)]}new P,new P,new P,new P,new P,new P,new ArrayBuffer(8),new P,new ArrayBuffer(8),new P,new ArrayBuffer(8),new P,new P,new P;var ot=new TextDecoder("utf-8"),at=class extends N.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)}},ct=class t{static async readFully(t){let e=[],r=0;for await(let i of t)e.push(i),r+=i.byteLength;return nt(e,r)}getReadableStream(){let t=this[Symbol.asyncIterator]();return new ReadableStream({pull: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?ot.decode(e):""}async*iterLines(t=0){let e=null;for(;e=await this.readline(t);)yield e}},lt=class t extends ct{constructor(e,r="gzip",i=!1){let n;if(super(),this.compressed=r,this.opts={raw:"deflateRaw"===r},this.inflator=r?new at(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(ot.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 at(this.opts,this)),this.inflator.push(t),this.inflator.err&&this.inflator.ended&&"deflate"===this.compressed&&!1===this.opts.raw&&0===this.numChunks&&(this.opts.raw=!0,this.compressed="deflateRaw",this.inflator=new at(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]=st(n,i+1);e.push(t),r+=t.byteLength,this.unread(s)}else if(!e.length)return null;return nt(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]=st(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,nt(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}}}},ht=class extends ct{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]=st(t,this.skip);t=e,this.skip=0}}if(t.length>this.limit){let[e,r]=st(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}},ut=new Uint8Array([13,10]),pt=(new Uint8Array([13,10,13,10]),new TextDecoder("utf-8")),dt=class{constructor({statusline:t,headers:e}){this.statusline=t,this.headers=e}toString(){let t=[this.statusline];for(let[e,r]of this.headers)t.push(`${e}: ${r}`);return t.join("\r\n")+"\r\n"}async*iterSerialize(t){yield t.encode(this.statusline),yield ut;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 ft(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 gt=new TextDecoder("utf-8"),mt=new TextEncoder,wt="WARC/1.0",yt={warcinfo:"application/warc-fields",response:"application/http; msgtype=response",revisit:"application/http; msgtype=response",request:"application/http; msgtype=request",metadata:"application/warc-fields"},bt=class t extends ct{constructor({warcHeaders:t,reader:e}){super(),this._offset=0,this._length=0,this.method="",this.requestBody="",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=wt,keepHeadersCase:l=!0,refersToUrl:h,refersToDate:u}={},p){function d(t){let e=t;return c===wt&&"Z"!=(t=t.split(".")[0]).charAt(e.length-1)&&(t+="Z"),t}r=d(r||(new Date).toISOString()),n={...n},"warcinfo"===i?s&&(n["WARC-Filename"]=s):e&&(n["WARC-Target-URI"]=e),n["WARC-Date"]=r,i&&(n["WARC-Type"]=i),"revisit"===i&&(n["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&&(n["WARC-Refers-To-Target-URI"]=h,n["WARC-Refers-To-Date"]=d(u||(new Date).toISOString())));let f=new dt({statusline:c,headers:new Map(Object.entries(n))});f.headers.get("WARC-Record-ID")||f.headers.set("WARC-Record-ID",`<urn:uuid:${O()}>`),f.headers.get("Content-Type")||f.headers.set("Content-Type",i&&yt[i]||"application/octet-stream"),p||(p=At());let g=new t({warcHeaders:f,reader:p}),m=null,w=[];switch(i){case"response":case"request":case"revisit":w=Object.entries(o),m=l?new Map(w):new Headers(o),(w.length>0||"revisit"!==i)&&(g.httpHeaders=new dt({statusline:a,headers:m}))}return g}static createWARCInfo(e={},r){return e.type="warcinfo",t.create(e,async function*(){for(let[t,e]of Object.entries(r))yield mt.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 ct.readFully(this._reader),this.consumed="raw")),this.payload}get reader(){if(this.payload&&!this.payload.length)return At();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 lt(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 ct)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 gt.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 ht){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"))}};async function*At(){}var _t=new TextDecoder,vt=new Uint8Array([]),Et=class t{static 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?Map:Headers,this._parseHttp=r,this._reader=t instanceof lt?t:new lt(t),this._record=null}async readToNextRecord(){if(!this._reader||!this._record)return vt;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&&_t.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=vt;if(this._reader.compressed)await this._reader.skipSize(2),t=vt;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 ht(this._reader,Number(t.headers.get("Content-Length")||0))}async parse(){let t=await this.readToNextRecord(),e=t?_t.decode(t):"",r=new class{async parse(t,{headersClass:e,firstLine:r}={headersClass:Map}){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=l instanceof Headers,u=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 ft(t,s),i>=0){n=t;break}e.push(t),r+=t.byteLength}if(n){let[s,o]=st(n,i+1);e.push(s),r+=s.byteLength,t.unread(o)}else if(!e.length)return"";return pt.decode(nt(e,r))}(t),p=0,d="";for(;p<u.length;){if(a=u.indexOf("\n",p),!c||" "!==u[p]&&"\t"!==u[p]){if(c){try{h&&"set-cookie"===d.toLowerCase()?l.append(d,c):l.set(d,c)}catch{}c=null}s=u.indexOf(":",p),o=s<0?p:s+1,s>=0&&s<a?(d=u.slice(p,s).trimStart(),c=u.slice(o,a<0?void 0:a).trim()):c=null}else c+=u.slice(p,a<0?void 0:a).trimEnd();if(a<0)break;p=a+1}if(c)try{h&&"set-cookie"===d.toLowerCase()?l.append(d,c):l.set(d,c)}catch{}return new dt({statusline:n,headers:l})}},i=await r.parse(this._reader,{firstLine:e,headersClass:this._headersClass});if(!i)return null;this._warcHeadersLength=this._reader.getReadOffset();let n=new bt({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 ht&&t.reader.setLimitSkip(t.warcContentLength-i)}},St=(new TextEncoder,Symbol.asyncIterator,["offset","warc-type","warc-target-uri"]),Tt="urlkey,timestamp,url,mime,status,digest,length,offset,filename".split(","),xt="urlkey,timestamp,url,mime,status,digest,redirect,meta,length,offset,filename".split(",");async function Ct(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 s=e;for(;t[s]>=48&&t[s]<=57||t[s]>=65&&t[s]<=70||t[s]>=97&&t[s]<=102;)s++;if(0===s)return t;if(13!=t[s]||10!=t[s+1])return t;s+=2;var n=parseInt(i.decode(t.subarray(e,s)),16);if(0==n)break;t.set(t.subarray(s,s+n),r),s+=n,r+=n,13==t[s]&&10==t[s+1]&&(s+=2),e=s}return t.subarray(0,r)}(t))}catch(t){console.log("Chunk-Encoding Ignored: "+t)}try{if("br"===e)0===(t=R(t)).length&&(t=i);else if("gzip"===e||"gzip"===r){const e=new k.Inflate;e.push(t,!0),e.result&&!e.err&&(t=e.result)}}catch(t){console.log("Content-Encoding Ignored: "+t)}return t}var It=r(8764);const Rt=new TextEncoder,kt=new TextDecoder;class Nt{static fromResponse({url:t,response:e,date:r,noRW:i,isLive:n,archivePrefix:s}){const o=e.body?new lt(e.body.getReader(),!1):null,a=Number(e.headers.get("x-redirect-status")||e.status),c=e.headers.get("x-redirect-statusText")||e.statusText;let h=new Headers(e.headers),u=h.get("x-orig-location");if(u){if(u.startsWith(self.location.origin)&&(u=u.slice(self.location.origin.length)),s&&u.startsWith(s)){const t=u.indexOf("/http");t>0&&(u=u.slice(t+1))}h.set("location",u),h.delete("x-orig-location"),h.delete("x-redirect-status"),h.delete("x-redirect-statusText")}let p=null;const d=h.get("x-orig-ts");d&&(r=l(d),h.delete("x-orig-ts"),d&&u&&(p=d));const f=h.get("memento-datetime");f&&(r=new Date(f));const g=h.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)})),h.delete("x-proxy-set-cookie"),t.length&&h.set("x-wabac-preset-cookie",t.join(";"))}return new Nt({payload:o,status:a,statusText:c,headers:h,url:t,date:r,noRW:i,isLive:n,updateTS:p})}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[Symbol.asyncIterator]||t instanceof ct)?this.reader=t:this.buffer=t,this.status=e,this.statusText=r,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){let e=await this.getBuffer();return"string"==typeof e?e:239===e[0]&&187===e[1]&&191===e[2]?kt.decode(e.slice(3)):254===e[0]&&255===e[1]?It.Buffer.from(e.slice(2)).swap16().toString("utf16le"):255===e[0]&&254===e[1]?It.Buffer.from(e.slice(2)).toString("utf16le"):t?kt.decode(e):p(e)}setText(t,e=!1){this.setBuffer(e?Rt.encode(t):d(t))}async getBuffer(){return this.buffer||(this.buffer=await this.reader.readFully()),this.buffer}setBuffer(t){this.buffer=t,this.reader=null}setReader(t){t instanceof ct?(this.reader=t,this.buffer=null):t.getReader&&(this.reader=new lt(t.getReader()),this.buffer=null)}expectedLength(){return this.buffer?this.buffer.length:this.reader&&this.reader.reader?this.reader.reader.length:void 0}createIter(){const t=this.buffer,e=this.reader;return async function*(){if(t)for(let e=0;e<t.length;e+=s)yield t.slice(e,e+s);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;if(this.buffer)this.buffer=this.buffer.slice(i,n+1);else if(this.reader){if(!this.reader.setLimitSkip)return!1;0!==i||n!==r-1?this.reader.setLimitSkip(n-i+1,i):this.reader.setRangeAll&&this.reader.setRangeAll(r)}return this.headers.set("Content-Range",`bytes ${i}-${n}/${r}`),this.headers.set("Content-Length",n-i+1),this.status=206,this.statusText="Partial Content",!0}makeResponse(t=!1,e=!1){let r=null;w(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}}var Ot=r(6932);function Bt(t={}){let e,r;const i=t&&t.response&&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&&t.response&&!t.response.isLive?{maxRes:921600,maxBand:2e6}:{maxRes:412800,maxBand:1e6},t&&t.save&&(t.save.maxRes=n.maxRes,t.save.maxBand=n.maxBand),n}function Pt(t,e){const r=/#EXT-X-STREAM-INF:(?:.*[,])?BANDWIDTH=([\d]+)/,i=/RESOLUTION=([\d]+)x([\d]+)/,{maxRes:n,maxBand:s}=Bt(e);let o=[],a=0,c=null,l=0,h=0,u=t.trimEnd().split("\n");for(const t of u){const p=t.match(r);if(!p){e&&e.rewriteUrl&&!t.startsWith("#")&&(u[a]=e.rewriteUrl(t)),a+=1;continue}o.push(a);const d=Number(p[1]),f=t.match(i),g=f?Number(f[1])*Number(f[2]):0;g&&n?g<=n&&g>h&&(h=g,l=d,c=a):d<=s&&d>l&&(h=g,l=d,c=a),a+=1}o.reverse();for(const t of o)t!==c&&u.splice(t,2);return u.join("\n")}const Lt={ignoreAttributes:!1,removeNSPrefix:!1,format:!1,suppressEmptyNode:!0};function Dt(t,e,r){try{return function(t,e,r){const i=new Ot.XMLParser(Lt).parse(t),{maxRes:n,maxBand:s}=Bt(e);let o=null,a=0,c=0,l=null;l=Array.isArray(i.MPD.Period.AdaptationSet)?i.MPD.Period.AdaptationSet:[i.MPD.Period.AdaptationSet];for(const t of l){o=null,a=0,c=0;let e=null;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>a&&(a=e,c=r,o=t):r<=s&&r>c&&(a=e,c=r,o=t)}o&&Array.isArray(r)&&r.push(o["@_id"]),o&&(t.Representation=[o])}return"<?xml version='1.0' encoding='UTF-8'?>\n"+new Ot.XMLBuilder(Lt).build(i).trim()}(t,e,r)}catch(e){return console.log(e),t}}const Ut=[{contains:["youtube.com","youtube-nocookie.com"],rxRules:[[/ytplayer.load\(\);/,Mt('ytplayer.config.args.dash = "0"; ytplayer.config.args.dashmpd = ""; {0}')],[/yt\.setConfig.*PLAYER_CONFIG.*args":\s*{/,Mt('{0} "dash": "0", dashmpd: "", ')],[/(?:"player":|ytplayer\.config).*"args":\s*{/,Mt('{0}"dash":"0","dashmpd":"",')],[/yt\.setConfig.*PLAYER_VARS.*?{/,Mt('{0}"dash":"0","dashmpd":"",')],[/ytplayer.config={args:\s*{/,Mt('{0}"dash":"0","dashmpd":"",')],[/"0"\s*?==\s*?\w+\.dash&&/m,Mt("1&&")]]},{contains:["player.vimeo.com/video/"],rxRules:[[/^\{.+\}$/,function(t){let e;try{e=JSON.parse(t)}catch(e){return t}if(e&&e.request&&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=Ft(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=0,n=null;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/"],rxRules:[[/"dash_/,Mt('"__nodash__')],[/_dash"/,Mt('__nodash__"')],[/_dash_/,Mt("__nodash__")],[/"debugNoBatching\s?":(?:false|0)/,Mt('"debugNoBatching":true')]]},{contains:["instagram.com/"],rxRules:[[/"is_dash_eligible":(?:true|1)/,Mt('"is_dash_eligible":false')],[/"debugNoBatching\s?":(?:false|0)/,Mt('"debugNoBatching":true')]]},{contains:["api.twitter.com/2/","twitter.com/i/api/2/","twitter.com/i/api/graphql/"],rxRules:[[/"video_info":.*?}]}/,Ht('"video_info":')]]},{contains:["cdn.syndication.twimg.com/tweet-result"],rxRules:[[/"video":.*?viewCount":\d+}/,Ht('"video":')]]},{contains:["/vqlweb.js"],rxRules:[[/\b\w+\.updatePortSize\(\);this\.updateApplicationSize\(\)(?![*])/gim,Mt("/*{0}*/")]]}];function Mt(t){return e=>t.replace("{0}",e)}function Ft(t){let e=5e6;const r=t.response&&t.response.extraOpts;return t.save?t.save.maxBitrate=e:r&&r.maxBitrate&&(e=r.maxBitrate),e}function Ht(t){return(e,r)=>{if(!r)return e;const i=e;try{const i=/([\d]+)x([\d]+)/,n=Ft(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 Wt{constructor(t,e){this.rwRules=e||Ut,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}getRewriter(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 this.defaultRewriter}}class jt{constructor(t){this.rules=t||null,this.rules?this.compileRules():this.rx=null}compileRules(){let t="";for(let e of this.rules)t&&(t+="|"),t+=`(${e[0].source})`;const e=`(?:${t})`;this.rx=new RegExp(e,"gm")}doReplace(t,e){const r=t[t.length-2],i=t[t.length-1];for(let n=0;n<this.rules.length;n++){const s=t[n];if(!s)continue;const o=this.rules[n][1].call(this,s,e,r,i);if(o)return o}}rewrite(t,e){return this.rx?t.replace(this.rx,((t,...r)=>this.doReplace(r,e))):t}}var Vt=[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],Gt=[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],zt="ªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-ᲈᲐ-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꟊꟐꟑꟓꟕ-ꟙꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",qt={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"},Qt="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",Kt={5:Qt,"5module":Qt+" export import",6:Qt+" const class extends export import super"},Yt=/^in(stanceof)?$/,Jt=new RegExp("["+zt+"]"),Xt=new RegExp("["+zt+"·̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛࢘-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_]");function Zt(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 $t(t,e){return t<65?36===t:t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&Jt.test(String.fromCharCode(t)):!1!==e&&Zt(t,Gt)))}function te(t,e){return t<48?36===t:t<58||!(t<65)&&(t<91||(t<97?95===t:t<123||(t<=65535?t>=170&&Xt.test(String.fromCharCode(t)):!1!==e&&(Zt(t,Gt)||Zt(t,Vt)))))}var ee=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 re(t,e){return new ee(t,{beforeExpr:!0,binop:e})}var ie={beforeExpr:!0},ne={startsExpr:!0},se={};function oe(t,e){return void 0===e&&(e={}),e.keyword=t,se[t]=new ee(t,e)}var ae={num:new ee("num",ne),regexp:new ee("regexp",ne),string:new ee("string",ne),name:new ee("name",ne),privateId:new ee("privateId",ne),eof:new ee("eof"),bracketL:new ee("[",{beforeExpr:!0,startsExpr:!0}),bracketR:new ee("]"),braceL:new ee("{",{beforeExpr:!0,startsExpr:!0}),braceR:new ee("}"),parenL:new ee("(",{beforeExpr:!0,startsExpr:!0}),parenR:new ee(")"),comma:new ee(",",ie),semi:new ee(";",ie),colon:new ee(":",ie),dot:new ee("."),question:new ee("?",ie),questionDot:new ee("?."),arrow:new ee("=>",ie),template:new ee("template"),invalidTemplate:new ee("invalidTemplate"),ellipsis:new ee("...",ie),backQuote:new ee("`",ne),dollarBraceL:new ee("${",{beforeExpr:!0,startsExpr:!0}),eq:new ee("=",{beforeExpr:!0,isAssign:!0}),assign:new ee("_=",{beforeExpr:!0,isAssign:!0}),incDec:new ee("++/--",{prefix:!0,postfix:!0,startsExpr:!0}),prefix:new ee("!/~",{beforeExpr:!0,prefix:!0,startsExpr:!0}),logicalOR:re("||",1),logicalAND:re("&&",2),bitwiseOR:re("|",3),bitwiseXOR:re("^",4),bitwiseAND:re("&",5),equality:re("==/!=/===/!==",6),relational:re("</>/<=/>=",7),bitShift:re("<</>>/>>>",8),plusMin:new ee("+/-",{beforeExpr:!0,binop:9,prefix:!0,startsExpr:!0}),modulo:re("%",10),star:re("*",10),slash:re("/",10),starstar:new ee("**",{beforeExpr:!0}),coalesce:re("??",1),_break:oe("break"),_case:oe("case",ie),_catch:oe("catch"),_continue:oe("continue"),_debugger:oe("debugger"),_default:oe("default",ie),_do:oe("do",{isLoop:!0,beforeExpr:!0}),_else:oe("else",ie),_finally:oe("finally"),_for:oe("for",{isLoop:!0}),_function:oe("function",ne),_if:oe("if"),_return:oe("return",ie),_switch:oe("switch"),_throw:oe("throw",ie),_try:oe("try"),_var:oe("var"),_const:oe("const"),_while:oe("while",{isLoop:!0}),_with:oe("with"),_new:oe("new",{beforeExpr:!0,startsExpr:!0}),_this:oe("this",ne),_super:oe("super",ne),_class:oe("class",ne),_extends:oe("extends",ie),_export:oe("export"),_import:oe("import",ne),_null:oe("null",ne),_true:oe("true",ne),_false:oe("false",ne),_in:oe("in",{beforeExpr:!0,binop:7}),_instanceof:oe("instanceof",{beforeExpr:!0,binop:7}),_typeof:oe("typeof",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_void:oe("void",{beforeExpr:!0,prefix:!0,startsExpr:!0}),_delete:oe("delete",{beforeExpr:!0,prefix:!0,startsExpr:!0})},ce=/\r\n?|\n|\u2028|\u2029/,le=new RegExp(ce.source,"g");function he(t){return 10===t||13===t||8232===t||8233===t}function ue(t,e,r){void 0===r&&(r=t.length);for(var i=e;i<r;i++){var n=t.charCodeAt(i);if(he(n))return i<r-1&&13===n&&10===t.charCodeAt(i+1)?i+2:i+1}return-1}var pe=/[\u1680\u2000-\u200a\u202f\u205f\u3000\ufeff]/,de=/(?:\s|\/\/.*|\/\*[^]*?\*\/)*/g,fe=Object.prototype,ge=fe.hasOwnProperty,me=fe.toString,we=Object.hasOwn||function(t,e){return ge.call(t,e)},ye=Array.isArray||function(t){return"[object Array]"===me.call(t)};function be(t){return new RegExp("^(?:"+t.replace(/ /g,"|")+")$")}function Ae(t){return t<=65535?String.fromCharCode(t):(t-=65536,String.fromCharCode(55296+(t>>10),56320+(1023&t)))}var _e=/(?:[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF])/,ve=function(t,e){this.line=t,this.column=e};ve.prototype.offset=function(t){return new ve(this.line,this.column+t)};var Ee=function(t,e,r){this.start=e,this.end=r,null!==t.sourceFile&&(this.source=t.sourceFile)};function Se(t,e){for(var r=1,i=0;;){var n=ue(t,i,e);if(n<0)return new ve(r,e-i);++r,i=n}}var Te={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},xe=!1;function Ce(t,e){return 2|(t?4:0)|(e?8:0)}var Ie=function(t,e,r){this.options=t=function(t){var e={};for(var r in Te)e[r]=t&&we(t,r)?t[r]:Te[r];if("latest"===e.ecmaVersion?e.ecmaVersion=1e8:null==e.ecmaVersion?(!xe&&"object"==typeof console&&console.warn&&(xe=!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),ye(e.onToken)){var i=e.onToken;e.onToken=function(t){return i.push(t)}}return ye(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 Ee(this,o,a)),t.ranges&&(c.range=[n,s]),e.push(c)}}(e,e.onComment)),e}(t),this.sourceFile=t.sourceFile,this.keywords=be(Kt[t.ecmaVersion>=6?6:"module"===t.sourceType?"5module":5]);var i="";!0!==t.allowReserved&&(i=qt[t.ecmaVersion>=6?6:5===t.ecmaVersion?5:3],"module"===t.sourceType&&(i+=" await")),this.reservedWords=be(i);var n=(i?i+" ":"")+qt.strict;this.reservedWordsStrict=be(n),this.reservedWordsStrictBind=be(n+" "+qt.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(ce).length):(this.pos=this.lineStart=0,this.curLine=1),this.type=ae.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=[]},Re={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}};Ie.prototype.parse=function(){var t=this.options.program||this.startNode();return this.nextToken(),this.parseTopLevel(t)},Re.inFunction.get=function(){return(2&this.currentVarScope().flags)>0},Re.inGenerator.get=function(){return(8&this.currentVarScope().flags)>0&&!this.currentVarScope().inClassFieldInit},Re.inAsync.get=function(){return(4&this.currentVarScope().flags)>0&&!this.currentVarScope().inClassFieldInit},Re.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},Re.allowSuper.get=function(){var t=this.currentThisScope(),e=t.flags,r=t.inClassFieldInit;return(64&e)>0||r||this.options.allowSuperOutsideMethod},Re.allowDirectSuper.get=function(){return(128&this.currentThisScope().flags)>0},Re.treatFunctionsAsVar.get=function(){return this.treatFunctionsAsVarInScope(this.currentScope())},Re.allowNewDotTarget.get=function(){var t=this.currentThisScope(),e=t.flags,r=t.inClassFieldInit;return(258&e)>0||r},Re.inClassStaticBlock.get=function(){return(256&this.currentVarScope().flags)>0},Ie.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},Ie.parse=function(t,e){return new this(e,t).parse()},Ie.parseExpressionAt=function(t,e,r){var i=new this(r,t,e);return i.nextToken(),i.parseExpression()},Ie.tokenizer=function(t,e){return new this(e,t)},Object.defineProperties(Ie.prototype,Re);var ke=Ie.prototype,Ne=/^(?:'((?:\\.|[^'\\])*?)'|"((?:\\.|[^"\\])*?)")/;ke.strictDirective=function(t){if(this.options.ecmaVersion<5)return!1;for(;;){de.lastIndex=t,t+=de.exec(this.input)[0].length;var e=Ne.exec(this.input.slice(t));if(!e)return!1;if("use strict"===(e[1]||e[2])){de.lastIndex=t+e[0].length;var r=de.exec(this.input),i=r.index+r[0].length,n=this.input.charAt(i);return";"===n||"}"===n||ce.test(r[0])&&!(/[(`.[+\-/*%<>=,?^&]/.test(n)||"!"===n&&"="===this.input.charAt(i+1))}t+=e[0].length,de.lastIndex=t,t+=de.exec(this.input)[0].length,";"===this.input[t]&&t++}},ke.eat=function(t){return this.type===t&&(this.next(),!0)},ke.isContextual=function(t){return this.type===ae.name&&this.value===t&&!this.containsEsc},ke.eatContextual=function(t){return!!this.isContextual(t)&&(this.next(),!0)},ke.expectContextual=function(t){this.eatContextual(t)||this.unexpected()},ke.canInsertSemicolon=function(){return this.type===ae.eof||this.type===ae.braceR||ce.test(this.input.slice(this.lastTokEnd,this.start))},ke.insertSemicolon=function(){if(this.canInsertSemicolon())return this.options.onInsertedSemicolon&&this.options.onInsertedSemicolon(this.lastTokEnd,this.lastTokEndLoc),!0},ke.semicolon=function(){this.eat(ae.semi)||this.insertSemicolon()||this.unexpected()},ke.afterTrailingComma=function(t,e){if(this.type===t)return this.options.onTrailingComma&&this.options.onTrailingComma(this.lastTokStart,this.lastTokStartLoc),e||this.next(),!0},ke.expect=function(t){this.eat(t)||this.unexpected()},ke.unexpected=function(t){this.raise(null!=t?t:this.start,"Unexpected token")};var Oe=function(){this.shorthandAssign=this.trailingComma=this.parenthesizedAssign=this.parenthesizedBind=this.doubleProto=-1};ke.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")}},ke.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")},ke.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")},ke.isSimpleAssignTarget=function(t){return"ParenthesizedExpression"===t.type?this.isSimpleAssignTarget(t.expression):"Identifier"===t.type||"MemberExpression"===t.type};var Be=Ie.prototype;Be.parseTopLevel=function(t){var e=Object.create(null);for(t.body||(t.body=[]);this.type!==ae.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 Pe={kind:"loop"},Le={kind:"switch"};Be.isLet=function(t){if(this.options.ecmaVersion<6||!this.isContextual("let"))return!1;de.lastIndex=this.pos;var e=de.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($t(i,!0)){for(var n=r+1;te(i=this.input.charCodeAt(n),!0);)++n;if(92===i||i>55295&&i<56320)return!0;var s=this.input.slice(r,n);if(!Yt.test(s))return!0}return!1},Be.isAsyncFunction=function(){if(this.options.ecmaVersion<8||!this.isContextual("async"))return!1;de.lastIndex=this.pos;var t,e=de.exec(this.input),r=this.pos+e[0].length;return!(ce.test(this.input.slice(this.pos,r))||"function"!==this.input.slice(r,r+8)||r+8!==this.input.length&&(te(t=this.input.charCodeAt(r+8))||t>55295&&t<56320))},Be.parseStatement=function(t,e,r){var i,n=this.type,s=this.startNode();switch(this.isLet(t)&&(n=ae._var,i="let"),n){case ae._break:case ae._continue:return this.parseBreakContinueStatement(s,n.keyword);case ae._debugger:return this.parseDebuggerStatement(s);case ae._do:return this.parseDoStatement(s);case ae._for:return this.parseForStatement(s);case ae._function:return t&&(this.strict||"if"!==t&&"label"!==t)&&this.options.ecmaVersion>=6&&this.unexpected(),this.parseFunctionStatement(s,!1,!t);case ae._class:return t&&this.unexpected(),this.parseClass(s,!0);case ae._if:return this.parseIfStatement(s);case ae._return:return this.parseReturnStatement(s);case ae._switch:return this.parseSwitchStatement(s);case ae._throw:return this.parseThrowStatement(s);case ae._try:return this.parseTryStatement(s);case ae._const:case ae._var:return i=i||this.value,t&&"var"!==i&&this.unexpected(),this.parseVarStatement(s,i);case ae._while:return this.parseWhileStatement(s);case ae._with:return this.parseWithStatement(s);case ae.braceL:return this.parseBlock(!0,s);case ae.semi:return this.parseEmptyStatement(s);case ae._export:case ae._import:if(this.options.ecmaVersion>10&&n===ae._import){de.lastIndex=this.pos;var o=de.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===ae._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===ae.name&&"Identifier"===h.type&&this.eat(ae.colon)?this.parseLabeledStatement(s,l,h,t):this.parseExpressionStatement(s,h)}},Be.parseBreakContinueStatement=function(t,e){var r="break"===e;this.next(),this.eat(ae.semi)||this.insertSemicolon()?t.label=null:this.type!==ae.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")},Be.parseDebuggerStatement=function(t){return this.next(),this.semicolon(),this.finishNode(t,"DebuggerStatement")},Be.parseDoStatement=function(t){return this.next(),this.labels.push(Pe),t.body=this.parseStatement("do"),this.labels.pop(),this.expect(ae._while),t.test=this.parseParenExpression(),this.options.ecmaVersion>=6?this.eat(ae.semi):this.semicolon(),this.finishNode(t,"DoWhileStatement")},Be.parseForStatement=function(t){this.next();var e=this.options.ecmaVersion>=9&&this.canAwait&&this.eatContextual("await")?this.lastTokStart:-1;if(this.labels.push(Pe),this.enterScope(0),this.expect(ae.parenL),this.type===ae.semi)return e>-1&&this.unexpected(e),this.parseFor(t,null);var r=this.isLet();if(this.type===ae._var||this.type===ae._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===ae._in||this.options.ecmaVersion>=6&&this.isContextual("of"))&&1===i.declarations.length?(this.options.ecmaVersion>=9&&(this.type===ae._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 Oe,c=this.parseExpression(!(e>-1)||"await",a);return this.type===ae._in||(o=this.options.ecmaVersion>=6&&this.isContextual("of"))?(this.options.ecmaVersion>=9&&(this.type===ae._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))},Be.parseFunctionStatement=function(t,e,r){return this.next(),this.parseFunction(t,Ue|(r?0:Me),!1,e)},Be.parseIfStatement=function(t){return this.next(),t.test=this.parseParenExpression(),t.consequent=this.parseStatement("if"),t.alternate=this.eat(ae._else)?this.parseStatement("if"):null,this.finishNode(t,"IfStatement")},Be.parseReturnStatement=function(t){return this.inFunction||this.options.allowReturnOutsideFunction||this.raise(this.start,"'return' outside of function"),this.next(),this.eat(ae.semi)||this.insertSemicolon()?t.argument=null:(t.argument=this.parseExpression(),this.semicolon()),this.finishNode(t,"ReturnStatement")},Be.parseSwitchStatement=function(t){var e;this.next(),t.discriminant=this.parseParenExpression(),t.cases=[],this.expect(ae.braceL),this.labels.push(Le),this.enterScope(0);for(var r=!1;this.type!==ae.braceR;)if(this.type===ae._case||this.type===ae._default){var i=this.type===ae._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(ae.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")},Be.parseThrowStatement=function(t){return this.next(),ce.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 De=[];Be.parseCatchClauseParam=function(){var t=this.parseBindingAtom(),e="Identifier"===t.type;return this.enterScope(e?32:0),this.checkLValPattern(t,e?4:2),this.expect(ae.parenR),t},Be.parseTryStatement=function(t){if(this.next(),t.block=this.parseBlock(),t.handler=null,this.type===ae._catch){var e=this.startNode();this.next(),this.eat(ae.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(ae._finally)?this.parseBlock():null,t.handler||t.finalizer||this.raise(t.start,"Missing catch or finally clause"),this.finishNode(t,"TryStatement")},Be.parseVarStatement=function(t,e,r){return this.next(),this.parseVar(t,!1,e,r),this.semicolon(),this.finishNode(t,"VariableDeclaration")},Be.parseWhileStatement=function(t){return this.next(),t.test=this.parseParenExpression(),this.labels.push(Pe),t.body=this.parseStatement("while"),this.labels.pop(),this.finishNode(t,"WhileStatement")},Be.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")},Be.parseEmptyStatement=function(t){return this.next(),this.finishNode(t,"EmptyStatement")},Be.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===ae._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")},Be.parseExpressionStatement=function(t,e){return t.expression=e,this.semicolon(),this.finishNode(t,"ExpressionStatement")},Be.parseBlock=function(t,e,r){for(void 0===t&&(t=!0),void 0===e&&(e=this.startNode()),e.body=[],this.expect(ae.braceL),t&&this.enterScope(0);this.type!==ae.braceR;){var i=this.parseStatement(null);e.body.push(i)}return r&&(this.strict=!1),this.next(),t&&this.exitScope(),this.finishNode(e,"BlockStatement")},Be.parseFor=function(t,e){return t.init=e,this.expect(ae.semi),t.test=this.type===ae.semi?null:this.parseExpression(),this.expect(ae.semi),t.update=this.type===ae.parenR?null:this.parseExpression(),this.expect(ae.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,"ForStatement")},Be.parseForIn=function(t,e){var r=this.type===ae._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(ae.parenR),t.body=this.parseStatement("for"),this.exitScope(),this.labels.pop(),this.finishNode(t,r?"ForInStatement":"ForOfStatement")},Be.parseVar=function(t,e,r,i){for(t.declarations=[],t.kind=r;;){var n=this.startNode();if(this.parseVarId(n,r),this.eat(ae.eq)?n.init=this.parseMaybeAssign(e):i||"const"!==r||this.type===ae._in||this.options.ecmaVersion>=6&&this.isContextual("of")?i||"Identifier"===n.id.type||e&&(this.type===ae._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(ae.comma))break}return t},Be.parseVarId=function(t,e){t.id=this.parseBindingAtom(),this.checkLValPattern(t.id,"var"===e?1:2,!1)};var Ue=1,Me=2;function Fe(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 He(t,e){var r=t.computed,i=t.key;return!r&&("Identifier"===i.type&&i.name===e||"Literal"===i.type&&i.value===e)}Be.parseFunction=function(t,e,r,i,n){this.initFunction(t),(this.options.ecmaVersion>=9||this.options.ecmaVersion>=6&&!i)&&(this.type===ae.star&&e&Me&&this.unexpected(),t.generator=this.eat(ae.star)),this.options.ecmaVersion>=8&&(t.async=!!i),e&Ue&&(t.id=4&e&&this.type!==ae.name?null:this.parseIdent(),!t.id||e&Me||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(Ce(t.async,t.generator)),e&Ue||(t.id=this.type===ae.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&Ue?"FunctionDeclaration":"FunctionExpression")},Be.parseFunctionParams=function(t){this.expect(ae.parenL),t.params=this.parseBindingList(ae.parenR,!1,this.options.ecmaVersion>=8),this.checkYieldAwaitInDefaultParams()},Be.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(ae.braceL);this.type!==ae.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&&Fe(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")},Be.parseClassElement=function(t){if(this.eat(ae.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(ae.braceL))return this.parseClassStaticBlock(r),r;this.isClassElementNameStart()||this.type===ae.star?a=!0:i="static"}if(r.static=a,!i&&e>=8&&this.eatContextual("async")&&(!this.isClassElementNameStart()&&this.type!==ae.star||this.canInsertSemicolon()?i="async":s=!0),!i&&(e>=9||!s)&&this.eat(ae.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===ae.parenL||"method"!==o||n||s){var l=!r.static&&He(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},Be.isClassElementNameStart=function(){return this.type===ae.name||this.type===ae.privateId||this.type===ae.num||this.type===ae.string||this.type===ae.bracketL||this.type.keyword},Be.parseClassElementName=function(t){this.type===ae.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)},Be.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&&He(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")},Be.parseClassField=function(t){if(He(t,"constructor")?this.raise(t.key.start,"Classes can't have a field named 'constructor'"):t.static&&He(t,"prototype")&&this.raise(t.key.start,"Classes can't have a static field named 'prototype'"),this.eat(ae.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")},Be.parseClassStaticBlock=function(t){t.body=[];var e=this.labels;for(this.labels=[],this.enterScope(320);this.type!==ae.braceR;){var r=this.parseStatement(null);t.body.push(r)}return this.next(),this.exitScope(),this.labels=e,this.finishNode(t,"StaticBlock")},Be.parseClassId=function(t,e){this.type===ae.name?(t.id=this.parseIdent(),e&&this.checkLValSimple(t.id,2,!1)):(!0===e&&this.unexpected(),t.id=null)},Be.parseClassSuper=function(t){t.superClass=this.eat(ae._extends)?this.parseExprSubscripts(null,!1):null},Be.enterClassBody=function(){var t={declared:Object.create(null),used:[]};return this.privateNameStack.push(t),t.declared},Be.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];we(e,o.name)||(n?n.used.push(o):this.raiseRecoverable(o.start,"Private field '#"+o.name+"' must be declared in an enclosing class"))}},Be.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!==ae.string&&this.unexpected(),t.source=this.parseExprAtom(),this.semicolon(),this.finishNode(t,"ExportAllDeclaration")},Be.parseExport=function(t,e){if(this.next(),this.eat(ae.star))return this.parseExportAllDeclaration(t,e);if(this.eat(ae._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!==ae.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")},Be.parseExportDeclaration=function(t){return this.parseStatement(null)},Be.parseExportDefaultDeclaration=function(){var t;if(this.type===ae._function||(t=this.isAsyncFunction())){var e=this.startNode();return this.next(),t&&this.next(),this.parseFunction(e,4|Ue,!1,t)}if(this.type===ae._class){var r=this.startNode();return this.parseClass(r,"nullableID")}var i=this.parseMaybeAssign();return this.semicolon(),i},Be.checkExport=function(t,e,r){t&&("string"!=typeof e&&(e="Identifier"===e.type?e.name:e.value),we(t,e)&&this.raiseRecoverable(r,"Duplicate export '"+e+"'"),t[e]=!0)},Be.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)},Be.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)}},Be.shouldParseExportStatement=function(){return"var"===this.type.keyword||"const"===this.type.keyword||"class"===this.type.keyword||"function"===this.type.keyword||this.isLet()||this.isAsyncFunction()},Be.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")},Be.parseExportSpecifiers=function(t){var e=[],r=!0;for(this.expect(ae.braceL);!this.eat(ae.braceR);){if(r)r=!1;else if(this.expect(ae.comma),this.afterTrailingComma(ae.braceR))break;e.push(this.parseExportSpecifier(t))}return e},Be.parseImport=function(t){return this.next(),this.type===ae.string?(t.specifiers=De,t.source=this.parseExprAtom()):(t.specifiers=this.parseImportSpecifiers(),this.expectContextual("from"),t.source=this.type===ae.string?this.parseExprAtom():this.unexpected()),this.semicolon(),this.finishNode(t,"ImportDeclaration")},Be.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")},Be.parseImportDefaultSpecifier=function(){var t=this.startNode();return t.local=this.parseIdent(),this.checkLValSimple(t.local,2),this.finishNode(t,"ImportDefaultSpecifier")},Be.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")},Be.parseImportSpecifiers=function(){var t=[],e=!0;if(this.type===ae.name&&(t.push(this.parseImportDefaultSpecifier()),!this.eat(ae.comma)))return t;if(this.type===ae.star)return t.push(this.parseImportNamespaceSpecifier()),t;for(this.expect(ae.braceL);!this.eat(ae.braceR);){if(e)e=!1;else if(this.expect(ae.comma),this.afterTrailingComma(ae.braceR))break;t.push(this.parseImportSpecifier())}return t},Be.parseModuleExportName=function(){if(this.options.ecmaVersion>=13&&this.type===ae.string){var t=this.parseLiteral(this.value);return _e.test(t.value)&&this.raise(t.start,"An export name cannot include a lone surrogate."),t}return this.parseIdent(!0)},Be.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)},Be.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 We=Ie.prototype;We.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},We.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},We.parseSpread=function(t){var e=this.startNode();return this.next(),e.argument=this.parseMaybeAssign(!1,t),this.finishNode(e,"SpreadElement")},We.parseRestBinding=function(){var t=this.startNode();return this.next(),6===this.options.ecmaVersion&&this.type!==ae.name&&this.unexpected(),t.argument=this.parseBindingAtom(),this.finishNode(t,"RestElement")},We.parseBindingAtom=function(){if(this.options.ecmaVersion>=6)switch(this.type){case ae.bracketL:var t=this.startNode();return this.next(),t.elements=this.parseBindingList(ae.bracketR,!0,!0),this.finishNode(t,"ArrayPattern");case ae.braceL:return this.parseObj(!0)}return this.parseIdent()},We.parseBindingList=function(t,e,r,i){for(var n=[],s=!0;!this.eat(t);)if(s?s=!1:this.expect(ae.comma),e&&this.type===ae.comma)n.push(null);else{if(r&&this.afterTrailingComma(t))break;if(this.type===ae.ellipsis){var o=this.parseRestBinding();this.parseBindingListItem(o),n.push(o),this.type===ae.comma&&this.raiseRecoverable(this.start,"Comma is not permitted after the rest element"),this.expect(t);break}n.push(this.parseAssignableListItem(i))}return n},We.parseAssignableListItem=function(t){var e=this.parseMaybeDefault(this.start,this.startLoc);return this.parseBindingListItem(e),e},We.parseBindingListItem=function(t){return t},We.parseMaybeDefault=function(t,e,r){if(r=r||this.parseBindingAtom(),this.options.ecmaVersion<6||!this.eat(ae.eq))return r;var i=this.startNodeAt(t,e);return i.left=r,i.right=this.parseMaybeAssign(),this.finishNode(i,"AssignmentPattern")},We.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&&(we(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")}},We.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)}},We.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 je=function(t,e,r,i,n){this.token=t,this.isExpr=!!e,this.preserveSpace=!!r,this.override=i,this.generator=!!n},Ve={b_stat:new je("{",!1),b_expr:new je("{",!0),b_tmpl:new je("${",!1),p_stat:new je("(",!1),p_expr:new je("(",!0),q_tmpl:new je("`",!0,!0,(function(t){return t.tryReadTemplateToken()})),f_stat:new je("function",!1),f_expr:new je("function",!0),f_expr_gen:new je("function",!0,!1,null,!0),f_gen:new je("function",!1,!1,null,!0)},Ge=Ie.prototype;Ge.initialContext=function(){return[Ve.b_stat]},Ge.curContext=function(){return this.context[this.context.length-1]},Ge.braceIsBlock=function(t){var e=this.curContext();return e===Ve.f_expr||e===Ve.f_stat||(t!==ae.colon||e!==Ve.b_stat&&e!==Ve.b_expr?t===ae._return||t===ae.name&&this.exprAllowed?ce.test(this.input.slice(this.lastTokEnd,this.start)):t===ae._else||t===ae.semi||t===ae.eof||t===ae.parenR||t===ae.arrow||(t===ae.braceL?e===Ve.b_stat:t!==ae._var&&t!==ae._const&&t!==ae.name&&!this.exprAllowed):!e.isExpr)},Ge.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},Ge.updateContext=function(t){var e,r=this.type;r.keyword&&t===ae.dot?this.exprAllowed=!1:(e=r.updateContext)?e.call(this,t):this.exprAllowed=r.beforeExpr},Ge.overrideContext=function(t){this.curContext()!==t&&(this.context[this.context.length-1]=t)},ae.parenR.updateContext=ae.braceR.updateContext=function(){if(1!==this.context.length){var t=this.context.pop();t===Ve.b_stat&&"function"===this.curContext().token&&(t=this.context.pop()),this.exprAllowed=!t.isExpr}else this.exprAllowed=!0},ae.braceL.updateContext=function(t){this.context.push(this.braceIsBlock(t)?Ve.b_stat:Ve.b_expr),this.exprAllowed=!0},ae.dollarBraceL.updateContext=function(){this.context.push(Ve.b_tmpl),this.exprAllowed=!0},ae.parenL.updateContext=function(t){var e=t===ae._if||t===ae._for||t===ae._with||t===ae._while;this.context.push(e?Ve.p_stat:Ve.p_expr),this.exprAllowed=!0},ae.incDec.updateContext=function(){},ae._function.updateContext=ae._class.updateContext=function(t){!t.beforeExpr||t===ae._else||t===ae.semi&&this.curContext()!==Ve.p_stat||t===ae._return&&ce.test(this.input.slice(this.lastTokEnd,this.start))||(t===ae.colon||t===ae.braceL)&&this.curContext()===Ve.b_stat?this.context.push(Ve.f_stat):this.context.push(Ve.f_expr),this.exprAllowed=!1},ae.backQuote.updateContext=function(){this.curContext()===Ve.q_tmpl?this.context.pop():this.context.push(Ve.q_tmpl),this.exprAllowed=!1},ae.star.updateContext=function(t){if(t===ae._function){var e=this.context.length-1;this.context[e]===Ve.f_expr?this.context[e]=Ve.f_expr_gen:this.context[e]=Ve.f_gen}this.exprAllowed=!0},ae.name.updateContext=function(t){var e=!1;this.options.ecmaVersion>=6&&t!==ae.dot&&("of"===this.value&&!this.exprAllowed||"yield"===this.value&&this.inGeneratorContext())&&(e=!0),this.exprAllowed=e};var ze=Ie.prototype;function qe(t){return"MemberExpression"===t.type&&"PrivateIdentifier"===t.property.type||"ChainExpression"===t.type&&qe(t.expression)}ze.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}}},ze.parseExpression=function(t,e){var r=this.start,i=this.startLoc,n=this.parseMaybeAssign(t,e);if(this.type===ae.comma){var s=this.startNodeAt(r,i);for(s.expressions=[n];this.eat(ae.comma);)s.expressions.push(this.parseMaybeAssign(t,e));return this.finishNode(s,"SequenceExpression")}return n},ze.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 Oe,i=!0);var a=this.start,c=this.startLoc;this.type!==ae.parenL&&this.type!==ae.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===ae.eq&&(l=this.toAssignable(l,!1,e)),i||(e.parenthesizedAssign=e.trailingComma=e.doubleProto=-1),e.shorthandAssign>=l.start&&(e.shorthandAssign=-1),this.type===ae.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},ze.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(ae.question)){var s=this.startNodeAt(r,i);return s.test=n,s.consequent=this.parseMaybeAssign(),this.expect(ae.colon),s.alternate=this.parseMaybeAssign(t),this.finishNode(s,"ConditionalExpression")}return n},ze.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)},ze.parseExprOp=function(t,e,r,i,n){var s=this.type.binop;if(null!=s&&(!n||this.type!==ae._in)&&s>i){var o=this.type===ae.logicalOR||this.type===ae.logicalAND,a=this.type===ae.coalesce;a&&(s=ae.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===ae.coalesce||a&&(this.type===ae.logicalOR||this.type===ae.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},ze.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")},ze.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===ae.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&&qe(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!==ae.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!==ae._in&&this.unexpected();return r||!this.eat(ae.starstar)?n:e?void this.unexpected(this.lastTokStart):this.buildBinary(s,o,n,this.parseMaybeUnary(null,!1,!1,i),"**",!1)},ze.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},ze.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}},ze.shouldParseAsyncArrow=function(){return!this.canInsertSemicolon()&&this.eat(ae.arrow)},ze.parseSubscriptAsyncArrow=function(t,e,r,i){return this.parseArrowExpression(this.startNodeAt(t,e),r,!0,i)},ze.parseSubscript=function(t,e,r,i,n,s,o){var a=this.options.ecmaVersion>=11,c=a&&this.eat(ae.questionDot);i&&c&&this.raise(this.lastTokStart,"Optional chaining cannot appear in the callee of new expressions");var l=this.eat(ae.bracketL);if(l||c&&this.type!==ae.parenL&&this.type!==ae.backQuote||this.eat(ae.dot)){var h=this.startNodeAt(e,r);h.object=t,l?(h.property=this.parseExpression(),this.expect(ae.bracketR)):this.type===ae.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(ae.parenL)){var u=new Oe,p=this.yieldPos,d=this.awaitPos,f=this.awaitIdentPos;this.yieldPos=0,this.awaitPos=0,this.awaitIdentPos=0;var g=this.parseExprList(ae.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 m=this.startNodeAt(e,r);m.callee=t,m.arguments=g,a&&(m.optional=c),t=this.finishNode(m,"CallExpression")}else if(this.type===ae.backQuote){(c||s)&&this.raise(this.start,"Optional chaining cannot appear in the tag of tagged template expressions");var w=this.startNodeAt(e,r);w.tag=t,w.quasi=this.parseTemplate({isTagged:!0}),t=this.finishNode(w,"TaggedTemplateExpression")}return t},ze.parseExprAtom=function(t,e,r){this.type===ae.slash&&this.readRegexp();var i,n=this.potentialArrowAt===this.start;switch(this.type){case ae._super:return this.allowSuper||this.raise(this.start,"'super' keyword outside a method"),i=this.startNode(),this.next(),this.type!==ae.parenL||this.allowDirectSuper||this.raise(i.start,"super() call outside constructor of a subclass"),this.type!==ae.dot&&this.type!==ae.bracketL&&this.type!==ae.parenL&&this.unexpected(),this.finishNode(i,"Super");case ae._this:return i=this.startNode(),this.next(),this.finishNode(i,"ThisExpression");case ae.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(ae._function))return this.overrideContext(Ve.f_expr),this.parseFunction(this.startNodeAt(s,o),0,!1,!0,e);if(n&&!this.canInsertSemicolon()){if(this.eat(ae.arrow))return this.parseArrowExpression(this.startNodeAt(s,o),[c],!1,e);if(this.options.ecmaVersion>=8&&"async"===c.name&&this.type===ae.name&&!a&&(!this.potentialArrowInForAwait||"of"!==this.value||this.containsEsc))return c=this.parseIdent(!1),!this.canInsertSemicolon()&&this.eat(ae.arrow)||this.unexpected(),this.parseArrowExpression(this.startNodeAt(s,o),[c],!0,e)}return c;case ae.regexp:var l=this.value;return(i=this.parseLiteral(l.value)).regex={pattern:l.pattern,flags:l.flags},i;case ae.num:case ae.string:return this.parseLiteral(this.value);case ae._null:case ae._true:case ae._false:return(i=this.startNode()).value=this.type===ae._null?null:this.type===ae._true,i.raw=this.type.keyword,this.next(),this.finishNode(i,"Literal");case ae.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 ae.bracketL:return i=this.startNode(),this.next(),i.elements=this.parseExprList(ae.bracketR,!0,!0,t),this.finishNode(i,"ArrayExpression");case ae.braceL:return this.overrideContext(Ve.b_expr),this.parseObj(!1,t);case ae._function:return i=this.startNode(),this.next(),this.parseFunction(i,0);case ae._class:return this.parseClass(this.startNode(),!1);case ae._new:return this.parseNew();case ae.backQuote:return this.parseTemplate();case ae._import:return this.options.ecmaVersion>=11?this.parseExprImport(r):this.unexpected();default:return this.parseExprAtomDefault()}},ze.parseExprAtomDefault=function(){this.unexpected()},ze.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!==ae.parenL||t?this.type===ae.dot?(e.meta=r,this.parseImportMeta(e)):void this.unexpected():this.parseDynamicImport(e)},ze.parseDynamicImport=function(t){if(this.next(),t.source=this.parseMaybeAssign(),!this.eat(ae.parenR)){var e=this.start;this.eat(ae.comma)&&this.eat(ae.parenR)?this.raiseRecoverable(e,"Trailing comma is not allowed in import()"):this.unexpected(e)}return this.finishNode(t,"ImportExpression")},ze.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")},ze.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")},ze.parseParenExpression=function(){this.expect(ae.parenL);var t=this.parseExpression();return this.expect(ae.parenR),t},ze.shouldParseArrow=function(t){return!this.canInsertSemicolon()},ze.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 Oe,d=this.yieldPos,f=this.awaitPos;for(this.yieldPos=0,this.awaitPos=0;this.type!==ae.parenR;){if(h?h=!1:this.expect(ae.comma),s&&this.afterTrailingComma(ae.parenR,!0)){u=!0;break}if(this.type===ae.ellipsis){o=this.start,l.push(this.parseParenItem(this.parseRestBinding())),this.type===ae.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,m=this.lastTokEndLoc;if(this.expect(ae.parenR),t&&this.shouldParseArrow(l)&&this.eat(ae.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,m)):r=l[0]}else r=this.parseParenExpression();if(this.options.preserveParens){var w=this.startNodeAt(i,n);return w.expression=r,this.finishNode(w,"ParenthesizedExpression")}return r},ze.parseParenItem=function(t){return t},ze.parseParenArrowList=function(t,e,r,i){return this.parseArrowExpression(this.startNodeAt(t,e),r,!1,i)};var Qe=[];ze.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(ae.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(ae.parenL)?t.arguments=this.parseExprList(ae.parenR,this.options.ecmaVersion>=8,!1):t.arguments=Qe,this.finishNode(t,"NewExpression")},ze.parseTemplateElement=function(t){var e=t.isTagged,r=this.startNode();return this.type===ae.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===ae.backQuote,this.finishNode(r,"TemplateElement")},ze.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===ae.eof&&this.raise(this.pos,"Unterminated template literal"),this.expect(ae.dollarBraceL),r.expressions.push(this.parseExpression()),this.expect(ae.braceR),r.quasis.push(i=this.parseTemplateElement({isTagged:e}));return this.next(),this.finishNode(r,"TemplateLiteral")},ze.isAsyncProp=function(t){return!t.computed&&"Identifier"===t.key.type&&"async"===t.key.name&&(this.type===ae.name||this.type===ae.num||this.type===ae.string||this.type===ae.bracketL||this.type.keyword||this.options.ecmaVersion>=9&&this.type===ae.star)&&!ce.test(this.input.slice(this.lastTokEnd,this.start))},ze.parseObj=function(t,e){var r=this.startNode(),i=!0,n={};for(r.properties=[],this.next();!this.eat(ae.braceR);){if(i)i=!1;else if(this.expect(ae.comma),this.options.ecmaVersion>=5&&this.afterTrailingComma(ae.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")},ze.parseProperty=function(t,e){var r,i,n,s,o=this.startNode();if(this.options.ecmaVersion>=9&&this.eat(ae.ellipsis))return t?(o.argument=this.parseIdent(!1),this.type===ae.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===ae.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(ae.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(ae.star),this.parsePropertyName(o)):i=!1,this.parsePropertyValue(o,t,r,i,n,s,e,a),this.finishNode(o,"Property")},ze.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")},ze.parsePropertyValue=function(t,e,r,i,n,s,o,a){(r||i)&&this.type===ae.colon&&this.unexpected(),this.eat(ae.colon)?(t.value=e?this.parseMaybeDefault(this.start,this.startLoc):this.parseMaybeAssign(!1,o),t.kind="init"):this.options.ecmaVersion>=6&&this.type===ae.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===ae.comma||this.type===ae.braceR||this.type===ae.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===ae.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))},ze.parsePropertyName=function(t){if(this.options.ecmaVersion>=6){if(this.eat(ae.bracketL))return t.computed=!0,t.key=this.parseMaybeAssign(),this.expect(ae.bracketR),t.key;t.computed=!1}return t.key=this.type===ae.num||this.type===ae.string?this.parseExprAtom():this.parseIdent("never"!==this.options.allowReserved)},ze.initFunction=function(t){t.id=null,this.options.ecmaVersion>=6&&(t.generator=t.expression=!1),this.options.ecmaVersion>=8&&(t.async=!1)},ze.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|Ce(e,i.generator)|(r?128:0)),this.expect(ae.parenL),i.params=this.parseBindingList(ae.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")},ze.parseArrowExpression=function(t,e,r,i){var n=this.yieldPos,s=this.awaitPos,o=this.awaitIdentPos;return this.enterScope(16|Ce(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")},ze.parseFunctionBody=function(t,e,r,i){var n=e&&this.type!==ae.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()},ze.isSimpleParamList=function(t){for(var e=0,r=t;e<r.length;e+=1)if("Identifier"!==r[e].type)return!1;return!0},ze.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)}},ze.parseExprList=function(t,e,r,i){for(var n=[],s=!0;!this.eat(t);){if(s)s=!1;else if(this.expect(ae.comma),e&&this.afterTrailingComma(t))break;var o=void 0;r&&this.type===ae.comma?o=null:this.type===ae.ellipsis?(o=this.parseSpread(i),i&&this.type===ae.comma&&i.trailingComma<0&&(i.trailingComma=this.start)):o=this.parseMaybeAssign(!1,i),n.push(o)}return n},ze.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"))},ze.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},ze.parseIdentNode=function(){var t=this.startNode();return this.type===ae.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},ze.parsePrivateIdent=function(){var t=this.startNode();return this.type===ae.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},ze.parseYield=function(t){this.yieldPos||(this.yieldPos=this.start);var e=this.startNode();return this.next(),this.type===ae.semi||this.canInsertSemicolon()||this.type!==ae.star&&!this.type.startsExpr?(e.delegate=!1,e.argument=null):(e.delegate=this.eat(ae.star),e.argument=this.parseMaybeAssign(t)),this.finishNode(e,"YieldExpression")},ze.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 Ke=Ie.prototype;Ke.raise=function(t,e){var r=Se(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},Ke.raiseRecoverable=Ke.raise,Ke.curPosition=function(){if(this.options.locations)return new ve(this.curLine,this.pos-this.lineStart)};var Ye=Ie.prototype,Je=function(t){this.flags=t,this.var=[],this.lexical=[],this.functions=[],this.inClassFieldInit=!1};Ye.enterScope=function(t){this.scopeStack.push(new Je(t))},Ye.exitScope=function(){this.scopeStack.pop()},Ye.treatFunctionsAsVarInScope=function(t){return 2&t.flags||!this.inModule&&1&t.flags},Ye.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")},Ye.checkLocalExport=function(t){-1===this.scopeStack[0].lexical.indexOf(t.name)&&-1===this.scopeStack[0].var.indexOf(t.name)&&(this.undefinedExports[t.name]=t)},Ye.currentScope=function(){return this.scopeStack[this.scopeStack.length-1]},Ye.currentVarScope=function(){for(var t=this.scopeStack.length-1;;t--){var e=this.scopeStack[t];if(259&e.flags)return e}},Ye.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 Xe=function(t,e,r){this.type="",this.start=e,this.end=0,t.options.locations&&(this.loc=new Ee(t,r)),t.options.directSourceFile&&(this.sourceFile=t.options.directSourceFile),t.options.ranges&&(this.range=[e,0])},Ze=Ie.prototype;function $e(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}Ze.startNode=function(){return new Xe(this,this.start,this.startLoc)},Ze.startNodeAt=function(t,e){return new Xe(this,t,e)},Ze.finishNode=function(t,e){return $e.call(this,t,e,this.lastTokEnd,this.lastTokEndLoc)},Ze.finishNodeAt=function(t,e,r,i){return $e.call(this,t,e,r,i)},Ze.copyNode=function(t){var e=new Xe(this,t.start,this.startLoc);for(var r in t)e[r]=t[r];return e};var tr="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",er=tr+" Extended_Pictographic",rr=er+" EBase EComp EMod EPres ExtPict",ir={9:tr,10:er,11:er,12:rr,13:rr,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"},nr={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"},sr="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",or="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",ar=or+" Dogra Dogr Gunjala_Gondi Gong Hanifi_Rohingya Rohg Makasar Maka Medefaidrin Medf Old_Sogdian Sogo Sogdian Sogd",cr=ar+" Elymaic Elym Nandinagari Nand Nyiakeng_Puachue_Hmong Hmnp Wancho Wcho",lr=cr+" Chorasmian Chrs Diak Dives_Akuru Khitan_Small_Script Kits Yezi Yezidi",hr={9:or,10:ar,11:cr,12:lr,13:"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",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"},ur={};function pr(t){var e=ur[t]={binary:be(ir[t]+" "+sr),binaryOfStrings:be(nr[t]),nonBinary:{General_Category:be(sr),Script:be(hr[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 dr=0,fr=[9,10,11,12,13,14];dr<fr.length;dr+=1)pr(fr[dr]);var gr=Ie.prototype,mr=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=ur[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 wr(t){return 36===t||t>=40&&t<=43||46===t||63===t||t>=91&&t<=94||t>=123&&t<=125}function yr(t){return t>=65&&t<=90||t>=97&&t<=122}function br(t){return yr(t)||95===t}function Ar(t){return br(t)||_r(t)}function _r(t){return t>=48&&t<=57}function vr(t){return t>=48&&t<=57||t>=65&&t<=70||t>=97&&t<=102}function Er(t){return t>=65&&t<=70?t-65+10:t>=97&&t<=102?t-97+10:t-48}function Sr(t){return t>=48&&t<=55}mr.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)},mr.prototype.raise=function(t){this.parser.raiseRecoverable(this.start,"Invalid regular expression: /"+this.source+"/: "+t)},mr.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},mr.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},mr.prototype.current=function(t){return void 0===t&&(t=!1),this.at(this.pos,t)},mr.prototype.lookahead=function(t){return void 0===t&&(t=!1),this.at(this.nextIndex(this.pos,t),t)},mr.prototype.advance=function(t){void 0===t&&(t=!1),this.pos=this.nextIndex(this.pos,t)},mr.prototype.eat=function(t,e){return void 0===e&&(e=!1),this.current(e)===t&&(this.advance(e),!0)},mr.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},gr.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")},gr.validateRegExpPattern=function(t){this.regexp_pattern(t),!t.switchN&&this.options.ecmaVersion>=9&&t.groupNames.length>0&&(t.switchN=!0,this.regexp_pattern(t))},gr.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")}},gr.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")},gr.regexp_alternative=function(t){for(;t.pos<t.source.length&&this.regexp_eatTerm(t););},gr.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)},gr.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},gr.regexp_eatQuantifier=function(t,e){return void 0===e&&(e=!1),!!this.regexp_eatQuantifierPrefix(t,e)&&(t.eat(63),!0)},gr.regexp_eatQuantifierPrefix=function(t,e){return t.eat(42)||t.eat(43)||t.eat(63)||this.regexp_eatBracedQuantifier(t,e)},gr.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},gr.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)},gr.regexp_eatReverseSolidusAtomEscape=function(t){var e=t.pos;if(t.eat(92)){if(this.regexp_eatAtomEscape(t))return!0;t.pos=e}return!1},gr.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},gr.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},gr.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)},gr.regexp_eatInvalidBracedQuantifier=function(t){return this.regexp_eatBracedQuantifier(t,!0)&&t.raise("Nothing to repeat"),!1},gr.regexp_eatSyntaxCharacter=function(t){var e=t.current();return!!wr(e)&&(t.lastIntValue=e,t.advance(),!0)},gr.regexp_eatPatternCharacters=function(t){for(var e=t.pos,r=0;-1!==(r=t.current())&&!wr(r);)t.advance();return t.pos!==e},gr.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))},gr.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")}},gr.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},gr.regexp_eatRegExpIdentifierName=function(t){if(t.lastStringValue="",this.regexp_eatRegExpIdentifierStart(t)){for(t.lastStringValue+=Ae(t.lastIntValue);this.regexp_eatRegExpIdentifierPart(t);)t.lastStringValue+=Ae(t.lastIntValue);return!0}return!1},gr.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 $t(t,!0)||36===t||95===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},gr.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 te(t,!0)||36===t||95===t||8204===t||8205===t}(i)?(t.lastIntValue=i,!0):(t.pos=e,!1)},gr.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)},gr.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},gr.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},gr.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)},gr.regexp_eatCControlLetter=function(t){var e=t.pos;if(t.eat(99)){if(this.regexp_eatControlLetter(t))return!0;t.pos=e}return!1},gr.regexp_eatZero=function(t){return 48===t.current()&&!_r(t.lookahead())&&(t.lastIntValue=0,t.advance(),!0)},gr.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)},gr.regexp_eatControlLetter=function(t){var e=t.current();return!!yr(e)&&(t.lastIntValue=e%32,t.advance(),!0)},gr.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},gr.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))},gr.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},gr.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},gr.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},gr.regexp_validateUnicodePropertyNameAndValue=function(t,e,r){we(t.unicodeProperties.nonBinary,e)||t.raise("Invalid property name"),t.unicodeProperties.nonBinary[e].test(r)||t.raise("Invalid property value")},gr.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")},gr.regexp_eatUnicodePropertyName=function(t){var e=0;for(t.lastStringValue="";br(e=t.current());)t.lastStringValue+=Ae(e),t.advance();return""!==t.lastStringValue},gr.regexp_eatUnicodePropertyValue=function(t){var e=0;for(t.lastStringValue="";Ar(e=t.current());)t.lastStringValue+=Ae(e),t.advance();return""!==t.lastStringValue},gr.regexp_eatLoneUnicodePropertyNameOrValue=function(t){return this.regexp_eatUnicodePropertyValue(t)},gr.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},gr.regexp_classContents=function(t){return 93===t.current()?1:t.switchV?this.regexp_classSetExpression(t):(this.regexp_nonEmptyClassRanges(t),1)},gr.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")}}},gr.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||Sr(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)},gr.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)},gr.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)}},gr.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},gr.regexp_eatClassSetOperand=function(t){return this.regexp_eatClassSetCharacter(t)?1:this.regexp_eatClassStringDisjunction(t)||this.regexp_eatNestedClass(t)},gr.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},gr.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},gr.regexp_classStringDisjunctionContents=function(t){for(var e=this.regexp_classString(t);t.eat(124);)2===this.regexp_classString(t)&&(e=2);return e},gr.regexp_classString=function(t){for(var e=0;this.regexp_eatClassSetCharacter(t);)e++;return 1===e?1:2},gr.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))},gr.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)},gr.regexp_eatClassControlLetter=function(t){var e=t.current();return!(!_r(e)&&95!==e||(t.lastIntValue=e%32,t.advance(),0))},gr.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},gr.regexp_eatDecimalDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;_r(r=t.current());)t.lastIntValue=10*t.lastIntValue+(r-48),t.advance();return t.pos!==e},gr.regexp_eatHexDigits=function(t){var e=t.pos,r=0;for(t.lastIntValue=0;vr(r=t.current());)t.lastIntValue=16*t.lastIntValue+Er(r),t.advance();return t.pos!==e},gr.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},gr.regexp_eatOctalDigit=function(t){var e=t.current();return Sr(e)?(t.lastIntValue=e-48,t.advance(),!0):(t.lastIntValue=0,!1)},gr.regexp_eatFixedHexDigits=function(t,e){var r=t.pos;t.lastIntValue=0;for(var i=0;i<e;++i){var n=t.current();if(!vr(n))return t.pos=r,!1;t.lastIntValue=16*t.lastIntValue+Er(n),t.advance()}return!0};var Tr=function(t){this.type=t.type,this.value=t.value,this.start=t.start,this.end=t.end,t.options.locations&&(this.loc=new Ee(t,t.startLoc,t.endLoc)),t.options.ranges&&(this.range=[t.start,t.end])},xr=Ie.prototype;function Cr(t){return"function"!=typeof BigInt?null:BigInt(t.replace(/_/g,""))}xr.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 Tr(this)),this.lastTokEnd=this.end,this.lastTokStart=this.start,this.lastTokEndLoc=this.endLoc,this.lastTokStartLoc=this.startLoc,this.nextToken()},xr.getToken=function(){return this.next(),new Tr(this)},"undefined"!=typeof Symbol&&(xr[Symbol.iterator]=function(){var t=this;return{next:function(){var e=t.getToken();return{done:e.type===ae.eof,value:e}}}}),xr.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(ae.eof):t.override?t.override(this):void this.readToken(this.fullCharCodeAtPos())},xr.readToken=function(t){return $t(t,this.options.ecmaVersion>=6)||92===t?this.readWord():this.getTokenFromCode(t)},xr.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},xr.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=ue(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())},xr.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&&!he(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())},xr.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&&pe.test(String.fromCharCode(t))))break t;++this.pos}}},xr.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)},xr.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(ae.ellipsis)):(++this.pos,this.finishToken(ae.dot))},xr.readToken_slash=function(){var t=this.input.charCodeAt(this.pos+1);return this.exprAllowed?(++this.pos,this.readRegexp()):61===t?this.finishOp(ae.assign,2):this.finishOp(ae.slash,1)},xr.readToken_mult_modulo_exp=function(t){var e=this.input.charCodeAt(this.pos+1),r=1,i=42===t?ae.star:ae.modulo;return this.options.ecmaVersion>=7&&42===t&&42===e&&(++r,i=ae.starstar,e=this.input.charCodeAt(this.pos+2)),61===e?this.finishOp(ae.assign,r+1):this.finishOp(i,r)},xr.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(ae.assign,3):this.finishOp(124===t?ae.logicalOR:ae.logicalAND,2):61===e?this.finishOp(ae.assign,2):this.finishOp(124===t?ae.bitwiseOR:ae.bitwiseAND,1)},xr.readToken_caret=function(){return 61===this.input.charCodeAt(this.pos+1)?this.finishOp(ae.assign,2):this.finishOp(ae.bitwiseXOR,1)},xr.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&&!ce.test(this.input.slice(this.lastTokEnd,this.pos))?this.finishOp(ae.incDec,2):(this.skipLineComment(3),this.skipSpace(),this.nextToken()):61===e?this.finishOp(ae.assign,2):this.finishOp(ae.plusMin,1)},xr.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(ae.assign,r+1):this.finishOp(ae.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(ae.relational,r)):(this.skipLineComment(4),this.skipSpace(),this.nextToken())},xr.readToken_eq_excl=function(t){var e=this.input.charCodeAt(this.pos+1);return 61===e?this.finishOp(ae.equality,61===this.input.charCodeAt(this.pos+2)?3:2):61===t&&62===e&&this.options.ecmaVersion>=6?(this.pos+=2,this.finishToken(ae.arrow)):this.finishOp(61===t?ae.eq:ae.prefix,1)},xr.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(ae.questionDot,2)}if(63===e)return t>=12&&61===this.input.charCodeAt(this.pos+2)?this.finishOp(ae.assign,3):this.finishOp(ae.coalesce,2)}return this.finishOp(ae.question,1)},xr.readToken_numberSign=function(){var t=35;if(this.options.ecmaVersion>=13&&(++this.pos,$t(t=this.fullCharCodeAtPos(),!0)||92===t))return this.finishToken(ae.privateId,this.readWord1());this.raise(this.pos,"Unexpected character '"+Ae(t)+"'")},xr.getTokenFromCode=function(t){switch(t){case 46:return this.readToken_dot();case 40:return++this.pos,this.finishToken(ae.parenL);case 41:return++this.pos,this.finishToken(ae.parenR);case 59:return++this.pos,this.finishToken(ae.semi);case 44:return++this.pos,this.finishToken(ae.comma);case 91:return++this.pos,this.finishToken(ae.bracketL);case 93:return++this.pos,this.finishToken(ae.bracketR);case 123:return++this.pos,this.finishToken(ae.braceL);case 125:return++this.pos,this.finishToken(ae.braceR);case 58:return++this.pos,this.finishToken(ae.colon);case 96:if(this.options.ecmaVersion<6)break;return++this.pos,this.finishToken(ae.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(ae.prefix,1);case 35:return this.readToken_numberSign()}this.raise(this.pos,"Unexpected character '"+Ae(t)+"'")},xr.finishOp=function(t,e){var r=this.input.slice(this.pos,this.pos+e);return this.pos+=e,this.finishToken(t,r)},xr.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(ce.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 mr(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(ae.regexp,{pattern:n,flags:o,value:c})},xr.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},xr.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=Cr(this.input.slice(e,this.pos)),++this.pos):$t(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(ae.num,r)},xr.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=Cr(this.input.slice(e,this.pos));return++this.pos,$t(this.fullCharCodeAtPos())&&this.raise(this.pos,"Identifier directly after number"),this.finishToken(ae.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")),$t(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(ae.num,s)},xr.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},xr.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)):(he(i)&&this.raise(this.start,"Unterminated string constant"),++this.pos)}return e+=this.input.slice(r,this.pos++),this.finishToken(ae.string,e)};var Ir={};xr.tryReadTemplateToken=function(){this.inTemplateElement=!0;try{this.readTmplToken()}catch(t){if(t!==Ir)throw t;this.readInvalidTemplateToken()}this.inTemplateElement=!1},xr.invalidStringToken=function(t,e){if(this.inTemplateElement&&this.options.ecmaVersion>=9)throw Ir;this.raise(t,e)},xr.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!==ae.template&&this.type!==ae.invalidTemplate?(t+=this.input.slice(e,this.pos),this.finishToken(ae.template,t)):36===r?(this.pos+=2,this.finishToken(ae.dollarBraceL)):(++this.pos,this.finishToken(ae.backQuote));if(92===r)t+=this.input.slice(e,this.pos),t+=this.readEscapedChar(!0),e=this.pos;else if(he(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}},xr.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(ae.invalidTemplate,this.input.slice(this.start,this.pos))}this.raise(this.start,"Unterminated template")},xr.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 Ae(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 he(e)?"":String.fromCharCode(e)}},xr.readHexChar=function(t){var e=this.pos,r=this.readInt(16,t);return null===r&&this.invalidStringToken(e,"Bad character escape sequence"),r},xr.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(te(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?$t:te)(o,i)||this.invalidStringToken(s,"Invalid Unicode escape"),t+=Ae(o),r=this.pos}e=!1}return t+this.input.slice(r,this.pos)},xr.readWord=function(){var t=this.readWord1(),e=ae.name;return this.keywords.test(t)&&(e=se[t]),this.finishToken(e,t)},Ie.acorn={Parser:Ie,version:"8.10.0",defaultOptions:Te,Position:ve,SourceLocation:Ee,getLineInfo:Se,Node:Xe,TokenType:ee,tokTypes:ae,keywordTypes:se,TokContext:je,tokContexts:Ve,isIdentifierChar:te,isIdentifierStart:$t,Token:Tr,isNewLine:he,lineBreak:ce,lineBreakG:le,nonASCIIwhitespace:pe};const Rr=/^\s*?import\s*?[{"'*]/,kr=/^\s*?export\s*?({([\s\w,$\n]+?)}[\s;]*|default|class)\s+/m,Nr=/^\s*?import(?:['"\s]*(?:[\w*${}\s,]+from\s*)?['"\s]?['"\s])(?:.*?)['"\s]/,Or=/(import(?:['"\s]*(?:[\w*${}\s,]+from\s*)?['"\s]?['"\s]))((?:https?|[./]).*?)(['"\s])/,Br=["window","globalThis","self","document","location","top","parent","frames","opener"],Pr=Br.map((t=>`(?:^|[^$.])\\b${t}\\b(?:$|[^$])`)).join("|"),Lr=new RegExp(`(${Pr})`),Dr=(()=>{const t="_____WB$wombat$check$this$function_____(this)";function e(){return e=>e.replace("this",t)}function r(t,e){return r=>r.replace(t,e)}return[[/(?:^|\s)\beval\s*\(/,(i="WB_wombat_runEval2((_______eval_arg, isGlobal) => { var ge = eval; return isGlobal ? ge(_______eval_arg) : eval(_______eval_arg); }).eval(this, (function() { return arguments })(),","eval",t=>{const e=t.indexOf("eval");return 0===e?i:t.slice(0,e)+i})],[/[=]\s*\beval\b(?![(:.$])/,r("eval","self.eval")],[/var\s+self/,r("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.$])/,e()],[new RegExp(`[^$.]\\s?\\bthis\\b(?=(?:\\.(?:${Br.join("|")})\\b))`),(e,r,i,n)=>{const s=i>0?n[i-1]:"";return"\n"===s?e.replace("this",";"+t):"."!==s&&"$"!==s?e.replace("this",t):e}],[/[=,]\s*\bthis\b\s*(?![\s\w:.$])/,e()],[/\}(?:\s*\))?\s*\(this\)/,e()],[/[^|&][|&]{2}\s*this\b\s*(?)/,e()],[/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 i})(),Ur=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]),Mr="�";var Fr;!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"}(Fr=Fr||(Fr={}));const Hr="[CDATA[",Wr="doctype",jr="script";function Vr(t){return t>=55296&&t<=57343}function Gr(t){return 32!==t&&10!==t&&13!==t&&9!==t&&12!==t&&t>=1&&t<=31||t>=127&&t<=159}function zr(t){return t>=64976&&t<=65007||Ur.has(t)}var qr,Qr;!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"}(qr=qr||(qr={}));class Kr{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,Fr.EOF;return this._err(qr.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,Fr.EOF;const r=this.html.charCodeAt(e);return r===Fr.CARRIAGE_RETURN?Fr.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,Fr.EOF;let t=this.html.charCodeAt(this.pos);return t===Fr.CARRIAGE_RETURN?(this.isEol=!0,this.skipNextNewLine=!0,Fr.LINE_FEED):t===Fr.LINE_FEED&&(this.isEol=!0,this.skipNextNewLine)?(this.line--,this.skipNextNewLine=!1,this._addGap(),this.advance()):(this.skipNextNewLine=!1,Vr(t)&&(t=this._processSurrogate(t)),null===this.handler.onParseError||t>31&&t<127||t===Fr.LINE_FEED||t===Fr.CARRIAGE_RETURN||t>159&&t<64976||this._checkForProblematicCharacters(t),t)}_checkForProblematicCharacters(t){Gr(t)?this._err(qr.controlCharacterInInputStream):zr(t)&&this._err(qr.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"}(Qr=Qr||(Qr={}));const Yr=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୕ୖ୪௫ఄ಄ದൡඅ櫬Āoungruent;扢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;怳Ādpuct;戏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ǣጓ\0y;䐎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Ā;tbrk;掶Āoyᜁᝁ;䐱quo;怞ʀcmprtᝓᝡᝤᝨausĀ;eĊĉptyv;榰séᜌnoõēƀahwᝯᝳ;䎲;愶een;扬r;쀀𝔟gcostuvwឍឝឳេ៕៛ƀ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Ā;elƀ;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\0aĀ;t䀬;䁀ƀ;fl戁îᅠeĀmxent»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ↄⅪ←ٖ↛ǰ↉\0proø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;䅓Ācrir;榿;쀀𝔬ͯ\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\0m;櫳;櫽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)))),Jr=new Uint16Array("Ȁaglq\tɭ\0\0p;䀦os;䀧t;䀾t;䀼uot;䀢".split("").map((t=>t.charCodeAt(0))));var Xr;const Zr=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]]),$r=null!==(Xr=String.fromCodePoint)&&void 0!==Xr?Xr: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 ti(t){return $r(function(t){var e;return t>=55296&&t<=57343||t>1114111?65533:null!==(e=Zr.get(t))&&void 0!==e?e:t}(t))}var ei,ri,ii,ni,si,oi,ai;function ci(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)===ei.NUM){let t=s+1,o=10,a=e.charCodeAt(t);(a|ei.To_LOWER_BIT)===ei.LOWER_X&&(o=16,s+=1,t+=1);do{a=e.charCodeAt(++s)}while(a>=ei.ZERO&&a<=ei.NINE||16===o&&(a|ei.To_LOWER_BIT)>=ei.LOWER_A&&(a|ei.To_LOWER_BIT)<=ei.LOWER_F);if(t!==s){const a=e.substring(t,s),c=parseInt(a,o);if(e.charCodeAt(s)===ei.SEMI)s+=1;else if(r)continue;i+=ti(c),n=s}continue}let o=0,a=1,c=0,l=t[c];for(;s<e.length&&(c=li(t,l,c+1,e.charCodeAt(s)),!(c<0));s++,a++){l=t[c];const i=l&ri.VALUE_LENGTH;if(i){r&&e.charCodeAt(s)!==ei.SEMI||(o=c,a=0);const t=(i>>14)-1;if(0===t)break;c+=t}}if(0!==o){const e=(t[o]&ri.VALUE_LENGTH)>>14;i+=1===e?String.fromCharCode(t[o]&~ri.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 li(t,e,r,i){const n=(e&ri.BRANCH_LENGTH)>>7,s=e&ri.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"}(ei||(ei={})),function(t){t[t.VALUE_LENGTH=49152]="VALUE_LENGTH",t[t.BRANCH_LENGTH=16256]="BRANCH_LENGTH",t[t.JUMP_TABLE=127]="JUMP_TABLE"}(ri||(ri={})),ci(Yr),ci(Jr),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/"}(ii=ii||(ii={})),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"}(ni=ni||(ni={})),function(t){t.NO_QUIRKS="no-quirks",t.QUIRKS="quirks",t.LIMITED_QUIRKS="limited-quirks"}(si=si||(si={})),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"}(oi=oi||(oi={})),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"}(ai=ai||(ai={}));const hi=new Map([[oi.A,ai.A],[oi.ADDRESS,ai.ADDRESS],[oi.ANNOTATION_XML,ai.ANNOTATION_XML],[oi.APPLET,ai.APPLET],[oi.AREA,ai.AREA],[oi.ARTICLE,ai.ARTICLE],[oi.ASIDE,ai.ASIDE],[oi.B,ai.B],[oi.BASE,ai.BASE],[oi.BASEFONT,ai.BASEFONT],[oi.BGSOUND,ai.BGSOUND],[oi.BIG,ai.BIG],[oi.BLOCKQUOTE,ai.BLOCKQUOTE],[oi.BODY,ai.BODY],[oi.BR,ai.BR],[oi.BUTTON,ai.BUTTON],[oi.CAPTION,ai.CAPTION],[oi.CENTER,ai.CENTER],[oi.CODE,ai.CODE],[oi.COL,ai.COL],[oi.COLGROUP,ai.COLGROUP],[oi.DD,ai.DD],[oi.DESC,ai.DESC],[oi.DETAILS,ai.DETAILS],[oi.DIALOG,ai.DIALOG],[oi.DIR,ai.DIR],[oi.DIV,ai.DIV],[oi.DL,ai.DL],[oi.DT,ai.DT],[oi.EM,ai.EM],[oi.EMBED,ai.EMBED],[oi.FIELDSET,ai.FIELDSET],[oi.FIGCAPTION,ai.FIGCAPTION],[oi.FIGURE,ai.FIGURE],[oi.FONT,ai.FONT],[oi.FOOTER,ai.FOOTER],[oi.FOREIGN_OBJECT,ai.FOREIGN_OBJECT],[oi.FORM,ai.FORM],[oi.FRAME,ai.FRAME],[oi.FRAMESET,ai.FRAMESET],[oi.H1,ai.H1],[oi.H2,ai.H2],[oi.H3,ai.H3],[oi.H4,ai.H4],[oi.H5,ai.H5],[oi.H6,ai.H6],[oi.HEAD,ai.HEAD],[oi.HEADER,ai.HEADER],[oi.HGROUP,ai.HGROUP],[oi.HR,ai.HR],[oi.HTML,ai.HTML],[oi.I,ai.I],[oi.IMG,ai.IMG],[oi.IMAGE,ai.IMAGE],[oi.INPUT,ai.INPUT],[oi.IFRAME,ai.IFRAME],[oi.KEYGEN,ai.KEYGEN],[oi.LABEL,ai.LABEL],[oi.LI,ai.LI],[oi.LINK,ai.LINK],[oi.LISTING,ai.LISTING],[oi.MAIN,ai.MAIN],[oi.MALIGNMARK,ai.MALIGNMARK],[oi.MARQUEE,ai.MARQUEE],[oi.MATH,ai.MATH],[oi.MENU,ai.MENU],[oi.META,ai.META],[oi.MGLYPH,ai.MGLYPH],[oi.MI,ai.MI],[oi.MO,ai.MO],[oi.MN,ai.MN],[oi.MS,ai.MS],[oi.MTEXT,ai.MTEXT],[oi.NAV,ai.NAV],[oi.NOBR,ai.NOBR],[oi.NOFRAMES,ai.NOFRAMES],[oi.NOEMBED,ai.NOEMBED],[oi.NOSCRIPT,ai.NOSCRIPT],[oi.OBJECT,ai.OBJECT],[oi.OL,ai.OL],[oi.OPTGROUP,ai.OPTGROUP],[oi.OPTION,ai.OPTION],[oi.P,ai.P],[oi.PARAM,ai.PARAM],[oi.PLAINTEXT,ai.PLAINTEXT],[oi.PRE,ai.PRE],[oi.RB,ai.RB],[oi.RP,ai.RP],[oi.RT,ai.RT],[oi.RTC,ai.RTC],[oi.RUBY,ai.RUBY],[oi.S,ai.S],[oi.SCRIPT,ai.SCRIPT],[oi.SECTION,ai.SECTION],[oi.SELECT,ai.SELECT],[oi.SOURCE,ai.SOURCE],[oi.SMALL,ai.SMALL],[oi.SPAN,ai.SPAN],[oi.STRIKE,ai.STRIKE],[oi.STRONG,ai.STRONG],[oi.STYLE,ai.STYLE],[oi.SUB,ai.SUB],[oi.SUMMARY,ai.SUMMARY],[oi.SUP,ai.SUP],[oi.TABLE,ai.TABLE],[oi.TBODY,ai.TBODY],[oi.TEMPLATE,ai.TEMPLATE],[oi.TEXTAREA,ai.TEXTAREA],[oi.TFOOT,ai.TFOOT],[oi.TD,ai.TD],[oi.TH,ai.TH],[oi.THEAD,ai.THEAD],[oi.TITLE,ai.TITLE],[oi.TR,ai.TR],[oi.TRACK,ai.TRACK],[oi.TT,ai.TT],[oi.U,ai.U],[oi.UL,ai.UL],[oi.SVG,ai.SVG],[oi.VAR,ai.VAR],[oi.WBR,ai.WBR],[oi.XMP,ai.XMP]]);function ui(t){var e;return null!==(e=hi.get(t))&&void 0!==e?e:ai.UNKNOWN}const pi=ai;ii.HTML,new Set([pi.ADDRESS,pi.APPLET,pi.AREA,pi.ARTICLE,pi.ASIDE,pi.BASE,pi.BASEFONT,pi.BGSOUND,pi.BLOCKQUOTE,pi.BODY,pi.BR,pi.BUTTON,pi.CAPTION,pi.CENTER,pi.COL,pi.COLGROUP,pi.DD,pi.DETAILS,pi.DIR,pi.DIV,pi.DL,pi.DT,pi.EMBED,pi.FIELDSET,pi.FIGCAPTION,pi.FIGURE,pi.FOOTER,pi.FORM,pi.FRAME,pi.FRAMESET,pi.H1,pi.H2,pi.H3,pi.H4,pi.H5,pi.H6,pi.HEAD,pi.HEADER,pi.HGROUP,pi.HR,pi.HTML,pi.IFRAME,pi.IMG,pi.INPUT,pi.LI,pi.LINK,pi.LISTING,pi.MAIN,pi.MARQUEE,pi.MENU,pi.META,pi.NAV,pi.NOEMBED,pi.NOFRAMES,pi.NOSCRIPT,pi.OBJECT,pi.OL,pi.P,pi.PARAM,pi.PLAINTEXT,pi.PRE,pi.SCRIPT,pi.SECTION,pi.SELECT,pi.SOURCE,pi.STYLE,pi.SUMMARY,pi.TABLE,pi.TBODY,pi.TD,pi.TEMPLATE,pi.TEXTAREA,pi.TFOOT,pi.TH,pi.THEAD,pi.TITLE,pi.TR,pi.TRACK,pi.UL,pi.WBR,pi.XMP]),ii.MATHML,new Set([pi.MI,pi.MO,pi.MN,pi.MS,pi.MTEXT,pi.ANNOTATION_XML]),ii.SVG,new Set([pi.TITLE,pi.FOREIGN_OBJECT,pi.DESC]),ii.XLINK,new Set,ii.XML,new Set,ii.XMLNS,new Set;const di=new Set([oi.STYLE,oi.SCRIPT,oi.XMP,oi.IFRAME,oi.NOEMBED,oi.NOFRAMES,oi.PLAINTEXT]),fi=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 gi;!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"}(gi||(gi={}));const mi={DATA:gi.DATA,RCDATA:gi.RCDATA,RAWTEXT:gi.RAWTEXT,SCRIPT_DATA:gi.SCRIPT_DATA,PLAINTEXT:gi.PLAINTEXT,CDATA_SECTION:gi.CDATA_SECTION};function wi(t){return t>=Fr.DIGIT_0&&t<=Fr.DIGIT_9}function yi(t){return t>=Fr.LATIN_CAPITAL_A&&t<=Fr.LATIN_CAPITAL_Z}function bi(t){return function(t){return t>=Fr.LATIN_SMALL_A&&t<=Fr.LATIN_SMALL_Z}(t)||yi(t)}function Ai(t){return bi(t)||wi(t)}function _i(t){return t>=Fr.LATIN_CAPITAL_A&&t<=Fr.LATIN_CAPITAL_F}function vi(t){return t>=Fr.LATIN_SMALL_A&&t<=Fr.LATIN_SMALL_F}function Ei(t){return t+32}function Si(t){return t===Fr.SPACE||t===Fr.LINE_FEED||t===Fr.TABULATION||t===Fr.FORM_FEED}function Ti(t){return Si(t)||t===Fr.SOLIDUS||t===Fr.GREATER_THAN_SIGN}class xi{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=gi.DATA,this.returnState=gi.DATA,this.charRefCode=-1,this.consumedAfterSnapshot=-1,this.currentCharacterToken=null,this.currentToken=null,this.currentAttr={name:"",value:""},this.preprocessor=new Kr(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:Qr.START_TAG,tagName:"",tagID:ai.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(1)}}_createEndTagToken(){this.currentToken={type:Qr.END_TAG,tagName:"",tagID:ai.UNKNOWN,selfClosing:!1,ackSelfClosing:!1,attrs:[],location:this.getCurrentLocation(2)}}_createCommentToken(t){this.currentToken={type:Qr.COMMENT,data:"",location:this.getCurrentLocation(t)}}_createDoctypeToken(t){this.currentToken={type:Qr.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(qr.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=ui(t.tagName),t.type===Qr.START_TAG?(this.lastStartTagName=t.tagName,this.handler.onStartTag(t)):(t.attrs.length>0&&this._err(qr.endTagWithAttributes),t.selfClosing&&this._err(qr.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 Qr.CHARACTER:this.handler.onCharacter(this.currentCharacterToken);break;case Qr.NULL_CHARACTER:this.handler.onNullCharacter(this.currentCharacterToken);break;case Qr.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:Qr.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=Si(t)?Qr.WHITESPACE_CHARACTER:t===Fr.NULL?Qr.NULL_CHARACTER:Qr.CHARACTER;this._appendCharToCurrentCharacterToken(e,String.fromCodePoint(t))}_emitChars(t){this._appendCharToCurrentCharacterToken(Qr.CHARACTER,t)}_matchNamedCharacterReference(t){let e=null,r=0,i=!1;for(let s=0,o=Yr[0];s>=0&&(s=li(Yr,o,s+1,t),!(s<0));t=this._consume()){r+=1,o=Yr[s];const a=o&ri.VALUE_LENGTH;if(a){const o=(a>>14)-1;if(t!==Fr.SEMICOLON&&this._isCharacterReferenceInAttribute()&&((n=this.preprocessor.peek(1))===Fr.EQUALS_SIGN||Ai(n))?(e=[Fr.AMPERSAND],s+=o):(e=0===o?[Yr[s]&~ri.VALUE_LENGTH]:1===o?[Yr[++s]]:[Yr[++s],Yr[++s]],r=0,i=t!==Fr.SEMICOLON),0===o){this._consume();break}}}var n;return this._unconsume(r),i&&!this.preprocessor.endOfChunkHit&&this._err(qr.missingSemicolonAfterCharacterReference),this._unconsume(1),e}_isCharacterReferenceInAttribute(){return this.returnState===gi.ATTRIBUTE_VALUE_DOUBLE_QUOTED||this.returnState===gi.ATTRIBUTE_VALUE_SINGLE_QUOTED||this.returnState===gi.ATTRIBUTE_VALUE_UNQUOTED}_flushCodePointConsumedAsCharacterReference(t){this._isCharacterReferenceInAttribute()?this.currentAttr.value+=String.fromCodePoint(t):this._emitCodePoint(t)}_callState(t){switch(this.state){case gi.DATA:this._stateData(t);break;case gi.RCDATA:this._stateRcdata(t);break;case gi.RAWTEXT:this._stateRawtext(t);break;case gi.SCRIPT_DATA:this._stateScriptData(t);break;case gi.PLAINTEXT:this._statePlaintext(t);break;case gi.TAG_OPEN:this._stateTagOpen(t);break;case gi.END_TAG_OPEN:this._stateEndTagOpen(t);break;case gi.TAG_NAME:this._stateTagName(t);break;case gi.RCDATA_LESS_THAN_SIGN:this._stateRcdataLessThanSign(t);break;case gi.RCDATA_END_TAG_OPEN:this._stateRcdataEndTagOpen(t);break;case gi.RCDATA_END_TAG_NAME:this._stateRcdataEndTagName(t);break;case gi.RAWTEXT_LESS_THAN_SIGN:this._stateRawtextLessThanSign(t);break;case gi.RAWTEXT_END_TAG_OPEN:this._stateRawtextEndTagOpen(t);break;case gi.RAWTEXT_END_TAG_NAME:this._stateRawtextEndTagName(t);break;case gi.SCRIPT_DATA_LESS_THAN_SIGN:this._stateScriptDataLessThanSign(t);break;case gi.SCRIPT_DATA_END_TAG_OPEN:this._stateScriptDataEndTagOpen(t);break;case gi.SCRIPT_DATA_END_TAG_NAME:this._stateScriptDataEndTagName(t);break;case gi.SCRIPT_DATA_ESCAPE_START:this._stateScriptDataEscapeStart(t);break;case gi.SCRIPT_DATA_ESCAPE_START_DASH:this._stateScriptDataEscapeStartDash(t);break;case gi.SCRIPT_DATA_ESCAPED:this._stateScriptDataEscaped(t);break;case gi.SCRIPT_DATA_ESCAPED_DASH:this._stateScriptDataEscapedDash(t);break;case gi.SCRIPT_DATA_ESCAPED_DASH_DASH:this._stateScriptDataEscapedDashDash(t);break;case gi.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataEscapedLessThanSign(t);break;case gi.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:this._stateScriptDataEscapedEndTagOpen(t);break;case gi.SCRIPT_DATA_ESCAPED_END_TAG_NAME:this._stateScriptDataEscapedEndTagName(t);break;case gi.SCRIPT_DATA_DOUBLE_ESCAPE_START:this._stateScriptDataDoubleEscapeStart(t);break;case gi.SCRIPT_DATA_DOUBLE_ESCAPED:this._stateScriptDataDoubleEscaped(t);break;case gi.SCRIPT_DATA_DOUBLE_ESCAPED_DASH:this._stateScriptDataDoubleEscapedDash(t);break;case gi.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH:this._stateScriptDataDoubleEscapedDashDash(t);break;case gi.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN:this._stateScriptDataDoubleEscapedLessThanSign(t);break;case gi.SCRIPT_DATA_DOUBLE_ESCAPE_END:this._stateScriptDataDoubleEscapeEnd(t);break;case gi.BEFORE_ATTRIBUTE_NAME:this._stateBeforeAttributeName(t);break;case gi.ATTRIBUTE_NAME:this._stateAttributeName(t);break;case gi.AFTER_ATTRIBUTE_NAME:this._stateAfterAttributeName(t);break;case gi.BEFORE_ATTRIBUTE_VALUE:this._stateBeforeAttributeValue(t);break;case gi.ATTRIBUTE_VALUE_DOUBLE_QUOTED:this._stateAttributeValueDoubleQuoted(t);break;case gi.ATTRIBUTE_VALUE_SINGLE_QUOTED:this._stateAttributeValueSingleQuoted(t);break;case gi.ATTRIBUTE_VALUE_UNQUOTED:this._stateAttributeValueUnquoted(t);break;case gi.AFTER_ATTRIBUTE_VALUE_QUOTED:this._stateAfterAttributeValueQuoted(t);break;case gi.SELF_CLOSING_START_TAG:this._stateSelfClosingStartTag(t);break;case gi.BOGUS_COMMENT:this._stateBogusComment(t);break;case gi.MARKUP_DECLARATION_OPEN:this._stateMarkupDeclarationOpen(t);break;case gi.COMMENT_START:this._stateCommentStart(t);break;case gi.COMMENT_START_DASH:this._stateCommentStartDash(t);break;case gi.COMMENT:this._stateComment(t);break;case gi.COMMENT_LESS_THAN_SIGN:this._stateCommentLessThanSign(t);break;case gi.COMMENT_LESS_THAN_SIGN_BANG:this._stateCommentLessThanSignBang(t);break;case gi.COMMENT_LESS_THAN_SIGN_BANG_DASH:this._stateCommentLessThanSignBangDash(t);break;case gi.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:this._stateCommentLessThanSignBangDashDash(t);break;case gi.COMMENT_END_DASH:this._stateCommentEndDash(t);break;case gi.COMMENT_END:this._stateCommentEnd(t);break;case gi.COMMENT_END_BANG:this._stateCommentEndBang(t);break;case gi.DOCTYPE:this._stateDoctype(t);break;case gi.BEFORE_DOCTYPE_NAME:this._stateBeforeDoctypeName(t);break;case gi.DOCTYPE_NAME:this._stateDoctypeName(t);break;case gi.AFTER_DOCTYPE_NAME:this._stateAfterDoctypeName(t);break;case gi.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._stateAfterDoctypePublicKeyword(t);break;case gi.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER:this._stateBeforeDoctypePublicIdentifier(t);break;case gi.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypePublicIdentifierDoubleQuoted(t);break;case gi.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypePublicIdentifierSingleQuoted(t);break;case gi.AFTER_DOCTYPE_PUBLIC_IDENTIFIER:this._stateAfterDoctypePublicIdentifier(t);break;case gi.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS:this._stateBetweenDoctypePublicAndSystemIdentifiers(t);break;case gi.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._stateAfterDoctypeSystemKeyword(t);break;case gi.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER:this._stateBeforeDoctypeSystemIdentifier(t);break;case gi.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED:this._stateDoctypeSystemIdentifierDoubleQuoted(t);break;case gi.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED:this._stateDoctypeSystemIdentifierSingleQuoted(t);break;case gi.AFTER_DOCTYPE_SYSTEM_IDENTIFIER:this._stateAfterDoctypeSystemIdentifier(t);break;case gi.BOGUS_DOCTYPE:this._stateBogusDoctype(t);break;case gi.CDATA_SECTION:this._stateCdataSection(t);break;case gi.CDATA_SECTION_BRACKET:this._stateCdataSectionBracket(t);break;case gi.CDATA_SECTION_END:this._stateCdataSectionEnd(t);break;case gi.CHARACTER_REFERENCE:this._stateCharacterReference(t);break;case gi.NAMED_CHARACTER_REFERENCE:this._stateNamedCharacterReference(t);break;case gi.AMBIGUOUS_AMPERSAND:this._stateAmbiguousAmpersand(t);break;case gi.NUMERIC_CHARACTER_REFERENCE:this._stateNumericCharacterReference(t);break;case gi.HEXADEMICAL_CHARACTER_REFERENCE_START:this._stateHexademicalCharacterReferenceStart(t);break;case gi.HEXADEMICAL_CHARACTER_REFERENCE:this._stateHexademicalCharacterReference(t);break;case gi.DECIMAL_CHARACTER_REFERENCE:this._stateDecimalCharacterReference(t);break;case gi.NUMERIC_CHARACTER_REFERENCE_END:this._stateNumericCharacterReferenceEnd(t);break;default:throw new Error("Unknown state")}}_stateData(t){switch(t){case Fr.LESS_THAN_SIGN:this.state=gi.TAG_OPEN;break;case Fr.AMPERSAND:this.returnState=gi.DATA,this.state=gi.CHARACTER_REFERENCE;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._emitCodePoint(t);break;case Fr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRcdata(t){switch(t){case Fr.AMPERSAND:this.returnState=gi.RCDATA,this.state=gi.CHARACTER_REFERENCE;break;case Fr.LESS_THAN_SIGN:this.state=gi.RCDATA_LESS_THAN_SIGN;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._emitChars(Mr);break;case Fr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateRawtext(t){switch(t){case Fr.LESS_THAN_SIGN:this.state=gi.RAWTEXT_LESS_THAN_SIGN;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._emitChars(Mr);break;case Fr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptData(t){switch(t){case Fr.LESS_THAN_SIGN:this.state=gi.SCRIPT_DATA_LESS_THAN_SIGN;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._emitChars(Mr);break;case Fr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_statePlaintext(t){switch(t){case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._emitChars(Mr);break;case Fr.EOF:this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateTagOpen(t){if(bi(t))this._createStartTagToken(),this.state=gi.TAG_NAME,this._stateTagName(t);else switch(t){case Fr.EXCLAMATION_MARK:this.state=gi.MARKUP_DECLARATION_OPEN;break;case Fr.SOLIDUS:this.state=gi.END_TAG_OPEN;break;case Fr.QUESTION_MARK:this._err(qr.unexpectedQuestionMarkInsteadOfTagName),this._createCommentToken(1),this.state=gi.BOGUS_COMMENT,this._stateBogusComment(t);break;case Fr.EOF:this._err(qr.eofBeforeTagName),this._emitChars("<"),this._emitEOFToken();break;default:this._err(qr.invalidFirstCharacterOfTagName),this._emitChars("<"),this.state=gi.DATA,this._stateData(t)}}_stateEndTagOpen(t){if(bi(t))this._createEndTagToken(),this.state=gi.TAG_NAME,this._stateTagName(t);else switch(t){case Fr.GREATER_THAN_SIGN:this._err(qr.missingEndTagName),this.state=gi.DATA;break;case Fr.EOF:this._err(qr.eofBeforeTagName),this._emitChars("</"),this._emitEOFToken();break;default:this._err(qr.invalidFirstCharacterOfTagName),this._createCommentToken(2),this.state=gi.BOGUS_COMMENT,this._stateBogusComment(t)}}_stateTagName(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this.state=gi.BEFORE_ATTRIBUTE_NAME;break;case Fr.SOLIDUS:this.state=gi.SELF_CLOSING_START_TAG;break;case Fr.GREATER_THAN_SIGN:this.state=gi.DATA,this.emitCurrentTagToken();break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.tagName+=Mr;break;case Fr.EOF:this._err(qr.eofInTag),this._emitEOFToken();break;default:e.tagName+=String.fromCodePoint(yi(t)?Ei(t):t)}}_stateRcdataLessThanSign(t){t===Fr.SOLIDUS?this.state=gi.RCDATA_END_TAG_OPEN:(this._emitChars("<"),this.state=gi.RCDATA,this._stateRcdata(t))}_stateRcdataEndTagOpen(t){bi(t)?(this.state=gi.RCDATA_END_TAG_NAME,this._stateRcdataEndTagName(t)):(this._emitChars("</"),this.state=gi.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 Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:return this._advanceBy(this.lastStartTagName.length),this.state=gi.BEFORE_ATTRIBUTE_NAME,!1;case Fr.SOLIDUS:return this._advanceBy(this.lastStartTagName.length),this.state=gi.SELF_CLOSING_START_TAG,!1;case Fr.GREATER_THAN_SIGN:return this._advanceBy(this.lastStartTagName.length),this.emitCurrentTagToken(),this.state=gi.DATA,!1;default:return!this._ensureHibernation()}}_stateRcdataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=gi.RCDATA,this._stateRcdata(t))}_stateRawtextLessThanSign(t){t===Fr.SOLIDUS?this.state=gi.RAWTEXT_END_TAG_OPEN:(this._emitChars("<"),this.state=gi.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagOpen(t){bi(t)?(this.state=gi.RAWTEXT_END_TAG_NAME,this._stateRawtextEndTagName(t)):(this._emitChars("</"),this.state=gi.RAWTEXT,this._stateRawtext(t))}_stateRawtextEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=gi.RAWTEXT,this._stateRawtext(t))}_stateScriptDataLessThanSign(t){switch(t){case Fr.SOLIDUS:this.state=gi.SCRIPT_DATA_END_TAG_OPEN;break;case Fr.EXCLAMATION_MARK:this.state=gi.SCRIPT_DATA_ESCAPE_START,this._emitChars("<!");break;default:this._emitChars("<"),this.state=gi.SCRIPT_DATA,this._stateScriptData(t)}}_stateScriptDataEndTagOpen(t){bi(t)?(this.state=gi.SCRIPT_DATA_END_TAG_NAME,this._stateScriptDataEndTagName(t)):(this._emitChars("</"),this.state=gi.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=gi.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStart(t){t===Fr.HYPHEN_MINUS?(this.state=gi.SCRIPT_DATA_ESCAPE_START_DASH,this._emitChars("-")):(this.state=gi.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscapeStartDash(t){t===Fr.HYPHEN_MINUS?(this.state=gi.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-")):(this.state=gi.SCRIPT_DATA,this._stateScriptData(t))}_stateScriptDataEscaped(t){switch(t){case Fr.HYPHEN_MINUS:this.state=gi.SCRIPT_DATA_ESCAPED_DASH,this._emitChars("-");break;case Fr.LESS_THAN_SIGN:this.state=gi.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._emitChars(Mr);break;case Fr.EOF:this._err(qr.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataEscapedDash(t){switch(t){case Fr.HYPHEN_MINUS:this.state=gi.SCRIPT_DATA_ESCAPED_DASH_DASH,this._emitChars("-");break;case Fr.LESS_THAN_SIGN:this.state=gi.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.state=gi.SCRIPT_DATA_ESCAPED,this._emitChars(Mr);break;case Fr.EOF:this._err(qr.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=gi.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedDashDash(t){switch(t){case Fr.HYPHEN_MINUS:this._emitChars("-");break;case Fr.LESS_THAN_SIGN:this.state=gi.SCRIPT_DATA_ESCAPED_LESS_THAN_SIGN;break;case Fr.GREATER_THAN_SIGN:this.state=gi.SCRIPT_DATA,this._emitChars(">");break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.state=gi.SCRIPT_DATA_ESCAPED,this._emitChars(Mr);break;case Fr.EOF:this._err(qr.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=gi.SCRIPT_DATA_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataEscapedLessThanSign(t){t===Fr.SOLIDUS?this.state=gi.SCRIPT_DATA_ESCAPED_END_TAG_OPEN:bi(t)?(this._emitChars("<"),this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPE_START,this._stateScriptDataDoubleEscapeStart(t)):(this._emitChars("<"),this.state=gi.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagOpen(t){bi(t)?(this.state=gi.SCRIPT_DATA_ESCAPED_END_TAG_NAME,this._stateScriptDataEscapedEndTagName(t)):(this._emitChars("</"),this.state=gi.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataEscapedEndTagName(t){this.handleSpecialEndTag(t)&&(this._emitChars("</"),this.state=gi.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscapeStart(t){if(this.preprocessor.startsWith(jr,!1)&&Ti(this.preprocessor.peek(jr.length))){this._emitCodePoint(t);for(let t=0;t<jr.length;t++)this._emitCodePoint(this._consume());this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED}else this._ensureHibernation()||(this.state=gi.SCRIPT_DATA_ESCAPED,this._stateScriptDataEscaped(t))}_stateScriptDataDoubleEscaped(t){switch(t){case Fr.HYPHEN_MINUS:this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED_DASH,this._emitChars("-");break;case Fr.LESS_THAN_SIGN:this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._emitChars(Mr);break;case Fr.EOF:this._err(qr.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDash(t){switch(t){case Fr.HYPHEN_MINUS:this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED_DASH_DASH,this._emitChars("-");break;case Fr.LESS_THAN_SIGN:this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Mr);break;case Fr.EOF:this._err(qr.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedDashDash(t){switch(t){case Fr.HYPHEN_MINUS:this._emitChars("-");break;case Fr.LESS_THAN_SIGN:this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED_LESS_THAN_SIGN,this._emitChars("<");break;case Fr.GREATER_THAN_SIGN:this.state=gi.SCRIPT_DATA,this._emitChars(">");break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitChars(Mr);break;case Fr.EOF:this._err(qr.eofInScriptHtmlCommentLikeText),this._emitEOFToken();break;default:this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED,this._emitCodePoint(t)}}_stateScriptDataDoubleEscapedLessThanSign(t){t===Fr.SOLIDUS?(this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPE_END,this._emitChars("/")):(this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateScriptDataDoubleEscapeEnd(t){if(this.preprocessor.startsWith(jr,!1)&&Ti(this.preprocessor.peek(jr.length))){this._emitCodePoint(t);for(let t=0;t<jr.length;t++)this._emitCodePoint(this._consume());this.state=gi.SCRIPT_DATA_ESCAPED}else this._ensureHibernation()||(this.state=gi.SCRIPT_DATA_DOUBLE_ESCAPED,this._stateScriptDataDoubleEscaped(t))}_stateBeforeAttributeName(t){switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.SOLIDUS:case Fr.GREATER_THAN_SIGN:case Fr.EOF:this.state=gi.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case Fr.EQUALS_SIGN:this._err(qr.unexpectedEqualsSignBeforeAttributeName),this._createAttr("="),this.state=gi.ATTRIBUTE_NAME;break;default:this._createAttr(""),this.state=gi.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateAttributeName(t){switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:case Fr.SOLIDUS:case Fr.GREATER_THAN_SIGN:case Fr.EOF:this._leaveAttrName(),this.state=gi.AFTER_ATTRIBUTE_NAME,this._stateAfterAttributeName(t);break;case Fr.EQUALS_SIGN:this._leaveAttrName(),this.state=gi.BEFORE_ATTRIBUTE_VALUE;break;case Fr.QUOTATION_MARK:case Fr.APOSTROPHE:case Fr.LESS_THAN_SIGN:this._err(qr.unexpectedCharacterInAttributeName),this.currentAttr.name+=String.fromCodePoint(t);break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.currentAttr.name+=Mr;break;default:this.currentAttr.name+=String.fromCodePoint(yi(t)?Ei(t):t)}}_stateAfterAttributeName(t){switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.SOLIDUS:this.state=gi.SELF_CLOSING_START_TAG;break;case Fr.EQUALS_SIGN:this.state=gi.BEFORE_ATTRIBUTE_VALUE;break;case Fr.GREATER_THAN_SIGN:this.state=gi.DATA,this.emitCurrentTagToken();break;case Fr.EOF:this._err(qr.eofInTag),this._emitEOFToken();break;default:this._createAttr(""),this.state=gi.ATTRIBUTE_NAME,this._stateAttributeName(t)}}_stateBeforeAttributeValue(t){switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.QUOTATION_MARK:this.state=gi.ATTRIBUTE_VALUE_DOUBLE_QUOTED;break;case Fr.APOSTROPHE:this.state=gi.ATTRIBUTE_VALUE_SINGLE_QUOTED;break;case Fr.GREATER_THAN_SIGN:this._err(qr.missingAttributeValue),this.state=gi.DATA,this.emitCurrentTagToken();break;default:this.state=gi.ATTRIBUTE_VALUE_UNQUOTED,this._stateAttributeValueUnquoted(t)}}_stateAttributeValueDoubleQuoted(t){switch(t){case Fr.QUOTATION_MARK:this.state=gi.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case Fr.AMPERSAND:this.returnState=gi.ATTRIBUTE_VALUE_DOUBLE_QUOTED,this.state=gi.CHARACTER_REFERENCE;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.currentAttr.value+=Mr;break;case Fr.EOF:this._err(qr.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueSingleQuoted(t){switch(t){case Fr.APOSTROPHE:this.state=gi.AFTER_ATTRIBUTE_VALUE_QUOTED;break;case Fr.AMPERSAND:this.returnState=gi.ATTRIBUTE_VALUE_SINGLE_QUOTED,this.state=gi.CHARACTER_REFERENCE;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.currentAttr.value+=Mr;break;case Fr.EOF:this._err(qr.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAttributeValueUnquoted(t){switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this._leaveAttrValue(),this.state=gi.BEFORE_ATTRIBUTE_NAME;break;case Fr.AMPERSAND:this.returnState=gi.ATTRIBUTE_VALUE_UNQUOTED,this.state=gi.CHARACTER_REFERENCE;break;case Fr.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=gi.DATA,this.emitCurrentTagToken();break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this.currentAttr.value+=Mr;break;case Fr.QUOTATION_MARK:case Fr.APOSTROPHE:case Fr.LESS_THAN_SIGN:case Fr.EQUALS_SIGN:case Fr.GRAVE_ACCENT:this._err(qr.unexpectedCharacterInUnquotedAttributeValue),this.currentAttr.value+=String.fromCodePoint(t);break;case Fr.EOF:this._err(qr.eofInTag),this._emitEOFToken();break;default:this.currentAttr.value+=String.fromCodePoint(t)}}_stateAfterAttributeValueQuoted(t){switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this._leaveAttrValue(),this.state=gi.BEFORE_ATTRIBUTE_NAME;break;case Fr.SOLIDUS:this._leaveAttrValue(),this.state=gi.SELF_CLOSING_START_TAG;break;case Fr.GREATER_THAN_SIGN:this._leaveAttrValue(),this.state=gi.DATA,this.emitCurrentTagToken();break;case Fr.EOF:this._err(qr.eofInTag),this._emitEOFToken();break;default:this._err(qr.missingWhitespaceBetweenAttributes),this.state=gi.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateSelfClosingStartTag(t){switch(t){case Fr.GREATER_THAN_SIGN:this.currentToken.selfClosing=!0,this.state=gi.DATA,this.emitCurrentTagToken();break;case Fr.EOF:this._err(qr.eofInTag),this._emitEOFToken();break;default:this._err(qr.unexpectedSolidusInTag),this.state=gi.BEFORE_ATTRIBUTE_NAME,this._stateBeforeAttributeName(t)}}_stateBogusComment(t){const e=this.currentToken;switch(t){case Fr.GREATER_THAN_SIGN:this.state=gi.DATA,this.emitCurrentComment(e);break;case Fr.EOF:this.emitCurrentComment(e),this._emitEOFToken();break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.data+=Mr;break;default:e.data+=String.fromCodePoint(t)}}_stateMarkupDeclarationOpen(t){this._consumeSequenceIfMatch("--",!0)?(this._createCommentToken("--".length+1),this.state=gi.COMMENT_START):this._consumeSequenceIfMatch(Wr,!1)?(this.currentLocation=this.getCurrentLocation(Wr.length+1),this.state=gi.DOCTYPE):this._consumeSequenceIfMatch(Hr,!0)?this.inForeignNode?this.state=gi.CDATA_SECTION:(this._err(qr.cdataInHtmlContent),this._createCommentToken(Hr.length+1),this.currentToken.data="[CDATA[",this.state=gi.BOGUS_COMMENT):this._ensureHibernation()||(this._err(qr.incorrectlyOpenedComment),this._createCommentToken(2),this.state=gi.BOGUS_COMMENT,this._stateBogusComment(t))}_stateCommentStart(t){switch(t){case Fr.HYPHEN_MINUS:this.state=gi.COMMENT_START_DASH;break;case Fr.GREATER_THAN_SIGN:{this._err(qr.abruptClosingOfEmptyComment),this.state=gi.DATA;const t=this.currentToken;this.emitCurrentComment(t);break}default:this.state=gi.COMMENT,this._stateComment(t)}}_stateCommentStartDash(t){const e=this.currentToken;switch(t){case Fr.HYPHEN_MINUS:this.state=gi.COMMENT_END;break;case Fr.GREATER_THAN_SIGN:this._err(qr.abruptClosingOfEmptyComment),this.state=gi.DATA,this.emitCurrentComment(e);break;case Fr.EOF:this._err(qr.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=gi.COMMENT,this._stateComment(t)}}_stateComment(t){const e=this.currentToken;switch(t){case Fr.HYPHEN_MINUS:this.state=gi.COMMENT_END_DASH;break;case Fr.LESS_THAN_SIGN:e.data+="<",this.state=gi.COMMENT_LESS_THAN_SIGN;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.data+=Mr;break;case Fr.EOF:this._err(qr.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+=String.fromCodePoint(t)}}_stateCommentLessThanSign(t){const e=this.currentToken;switch(t){case Fr.EXCLAMATION_MARK:e.data+="!",this.state=gi.COMMENT_LESS_THAN_SIGN_BANG;break;case Fr.LESS_THAN_SIGN:e.data+="<";break;default:this.state=gi.COMMENT,this._stateComment(t)}}_stateCommentLessThanSignBang(t){t===Fr.HYPHEN_MINUS?this.state=gi.COMMENT_LESS_THAN_SIGN_BANG_DASH:(this.state=gi.COMMENT,this._stateComment(t))}_stateCommentLessThanSignBangDash(t){t===Fr.HYPHEN_MINUS?this.state=gi.COMMENT_LESS_THAN_SIGN_BANG_DASH_DASH:(this.state=gi.COMMENT_END_DASH,this._stateCommentEndDash(t))}_stateCommentLessThanSignBangDashDash(t){t!==Fr.GREATER_THAN_SIGN&&t!==Fr.EOF&&this._err(qr.nestedComment),this.state=gi.COMMENT_END,this._stateCommentEnd(t)}_stateCommentEndDash(t){const e=this.currentToken;switch(t){case Fr.HYPHEN_MINUS:this.state=gi.COMMENT_END;break;case Fr.EOF:this._err(qr.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="-",this.state=gi.COMMENT,this._stateComment(t)}}_stateCommentEnd(t){const e=this.currentToken;switch(t){case Fr.GREATER_THAN_SIGN:this.state=gi.DATA,this.emitCurrentComment(e);break;case Fr.EXCLAMATION_MARK:this.state=gi.COMMENT_END_BANG;break;case Fr.HYPHEN_MINUS:e.data+="-";break;case Fr.EOF:this._err(qr.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--",this.state=gi.COMMENT,this._stateComment(t)}}_stateCommentEndBang(t){const e=this.currentToken;switch(t){case Fr.HYPHEN_MINUS:e.data+="--!",this.state=gi.COMMENT_END_DASH;break;case Fr.GREATER_THAN_SIGN:this._err(qr.incorrectlyClosedComment),this.state=gi.DATA,this.emitCurrentComment(e);break;case Fr.EOF:this._err(qr.eofInComment),this.emitCurrentComment(e),this._emitEOFToken();break;default:e.data+="--!",this.state=gi.COMMENT,this._stateComment(t)}}_stateDoctype(t){switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this.state=gi.BEFORE_DOCTYPE_NAME;break;case Fr.GREATER_THAN_SIGN:this.state=gi.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t);break;case Fr.EOF:{this._err(qr.eofInDoctype),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this._emitEOFToken();break}default:this._err(qr.missingWhitespaceBeforeDoctypeName),this.state=gi.BEFORE_DOCTYPE_NAME,this._stateBeforeDoctypeName(t)}}_stateBeforeDoctypeName(t){if(yi(t))this._createDoctypeToken(String.fromCharCode(Ei(t))),this.state=gi.DOCTYPE_NAME;else switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),this._createDoctypeToken(Mr),this.state=gi.DOCTYPE_NAME;break;case Fr.GREATER_THAN_SIGN:{this._err(qr.missingDoctypeName),this._createDoctypeToken(null);const t=this.currentToken;t.forceQuirks=!0,this.emitCurrentDoctype(t),this.state=gi.DATA;break}case Fr.EOF:{this._err(qr.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=gi.DOCTYPE_NAME}}_stateDoctypeName(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this.state=gi.AFTER_DOCTYPE_NAME;break;case Fr.GREATER_THAN_SIGN:this.state=gi.DATA,this.emitCurrentDoctype(e);break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.name+=Mr;break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:e.name+=String.fromCodePoint(yi(t)?Ei(t):t)}}_stateAfterDoctypeName(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.GREATER_THAN_SIGN:this.state=gi.DATA,this.emitCurrentDoctype(e);break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._consumeSequenceIfMatch("public",!1)?this.state=gi.AFTER_DOCTYPE_PUBLIC_KEYWORD:this._consumeSequenceIfMatch("system",!1)?this.state=gi.AFTER_DOCTYPE_SYSTEM_KEYWORD:this._ensureHibernation()||(this._err(qr.invalidCharacterSequenceAfterDoctypeName),e.forceQuirks=!0,this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t))}}_stateAfterDoctypePublicKeyword(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this.state=gi.BEFORE_DOCTYPE_PUBLIC_IDENTIFIER;break;case Fr.QUOTATION_MARK:this._err(qr.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=gi.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case Fr.APOSTROPHE:this._err(qr.missingWhitespaceAfterDoctypePublicKeyword),e.publicId="",this.state=gi.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case Fr.GREATER_THAN_SIGN:this._err(qr.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=gi.DATA,this.emitCurrentDoctype(e);break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(qr.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypePublicIdentifier(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.QUOTATION_MARK:e.publicId="",this.state=gi.DOCTYPE_PUBLIC_IDENTIFIER_DOUBLE_QUOTED;break;case Fr.APOSTROPHE:e.publicId="",this.state=gi.DOCTYPE_PUBLIC_IDENTIFIER_SINGLE_QUOTED;break;case Fr.GREATER_THAN_SIGN:this._err(qr.missingDoctypePublicIdentifier),e.forceQuirks=!0,this.state=gi.DATA,this.emitCurrentDoctype(e);break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(qr.missingQuoteBeforeDoctypePublicIdentifier),e.forceQuirks=!0,this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypePublicIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case Fr.QUOTATION_MARK:this.state=gi.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.publicId+=Mr;break;case Fr.GREATER_THAN_SIGN:this._err(qr.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=gi.DATA;break;case Fr.EOF:this._err(qr.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 Fr.APOSTROPHE:this.state=gi.AFTER_DOCTYPE_PUBLIC_IDENTIFIER;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.publicId+=Mr;break;case Fr.GREATER_THAN_SIGN:this._err(qr.abruptDoctypePublicIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=gi.DATA;break;case Fr.EOF:this._err(qr.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 Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this.state=gi.BETWEEN_DOCTYPE_PUBLIC_AND_SYSTEM_IDENTIFIERS;break;case Fr.GREATER_THAN_SIGN:this.state=gi.DATA,this.emitCurrentDoctype(e);break;case Fr.QUOTATION_MARK:this._err(qr.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Fr.APOSTROPHE:this._err(qr.missingWhitespaceBetweenDoctypePublicAndSystemIdentifiers),e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(qr.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBetweenDoctypePublicAndSystemIdentifiers(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=gi.DATA;break;case Fr.QUOTATION_MARK:e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Fr.APOSTROPHE:e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(qr.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateAfterDoctypeSystemKeyword(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:this.state=gi.BEFORE_DOCTYPE_SYSTEM_IDENTIFIER;break;case Fr.QUOTATION_MARK:this._err(qr.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Fr.APOSTROPHE:this._err(qr.missingWhitespaceAfterDoctypeSystemKeyword),e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Fr.GREATER_THAN_SIGN:this._err(qr.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=gi.DATA,this.emitCurrentDoctype(e);break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(qr.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBeforeDoctypeSystemIdentifier(t){const e=this.currentToken;switch(t){case Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.QUOTATION_MARK:e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_DOUBLE_QUOTED;break;case Fr.APOSTROPHE:e.systemId="",this.state=gi.DOCTYPE_SYSTEM_IDENTIFIER_SINGLE_QUOTED;break;case Fr.GREATER_THAN_SIGN:this._err(qr.missingDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=gi.DATA,this.emitCurrentDoctype(e);break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(qr.missingQuoteBeforeDoctypeSystemIdentifier),e.forceQuirks=!0,this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateDoctypeSystemIdentifierDoubleQuoted(t){const e=this.currentToken;switch(t){case Fr.QUOTATION_MARK:this.state=gi.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.systemId+=Mr;break;case Fr.GREATER_THAN_SIGN:this._err(qr.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=gi.DATA;break;case Fr.EOF:this._err(qr.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 Fr.APOSTROPHE:this.state=gi.AFTER_DOCTYPE_SYSTEM_IDENTIFIER;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter),e.systemId+=Mr;break;case Fr.GREATER_THAN_SIGN:this._err(qr.abruptDoctypeSystemIdentifier),e.forceQuirks=!0,this.emitCurrentDoctype(e),this.state=gi.DATA;break;case Fr.EOF:this._err(qr.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 Fr.SPACE:case Fr.LINE_FEED:case Fr.TABULATION:case Fr.FORM_FEED:break;case Fr.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=gi.DATA;break;case Fr.EOF:this._err(qr.eofInDoctype),e.forceQuirks=!0,this.emitCurrentDoctype(e),this._emitEOFToken();break;default:this._err(qr.unexpectedCharacterAfterDoctypeSystemIdentifier),this.state=gi.BOGUS_DOCTYPE,this._stateBogusDoctype(t)}}_stateBogusDoctype(t){const e=this.currentToken;switch(t){case Fr.GREATER_THAN_SIGN:this.emitCurrentDoctype(e),this.state=gi.DATA;break;case Fr.NULL:this._err(qr.unexpectedNullCharacter);break;case Fr.EOF:this.emitCurrentDoctype(e),this._emitEOFToken()}}_stateCdataSection(t){switch(t){case Fr.RIGHT_SQUARE_BRACKET:this.state=gi.CDATA_SECTION_BRACKET;break;case Fr.EOF:this._err(qr.eofInCdata),this._emitEOFToken();break;default:this._emitCodePoint(t)}}_stateCdataSectionBracket(t){t===Fr.RIGHT_SQUARE_BRACKET?this.state=gi.CDATA_SECTION_END:(this._emitChars("]"),this.state=gi.CDATA_SECTION,this._stateCdataSection(t))}_stateCdataSectionEnd(t){switch(t){case Fr.GREATER_THAN_SIGN:this.state=gi.DATA;break;case Fr.RIGHT_SQUARE_BRACKET:this._emitChars("]");break;default:this._emitChars("]]"),this.state=gi.CDATA_SECTION,this._stateCdataSection(t)}}_stateCharacterReference(t){t===Fr.NUMBER_SIGN?this.state=gi.NUMERIC_CHARACTER_REFERENCE:Ai(t)?(this.state=gi.NAMED_CHARACTER_REFERENCE,this._stateNamedCharacterReference(t)):(this._flushCodePointConsumedAsCharacterReference(Fr.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(Fr.AMPERSAND),this.state=gi.AMBIGUOUS_AMPERSAND}_stateAmbiguousAmpersand(t){Ai(t)?this._flushCodePointConsumedAsCharacterReference(t):(t===Fr.SEMICOLON&&this._err(qr.unknownNamedCharacterReference),this._reconsumeInState(this.returnState,t))}_stateNumericCharacterReference(t){this.charRefCode=0,t===Fr.LATIN_SMALL_X||t===Fr.LATIN_CAPITAL_X?this.state=gi.HEXADEMICAL_CHARACTER_REFERENCE_START:wi(t)?(this.state=gi.DECIMAL_CHARACTER_REFERENCE,this._stateDecimalCharacterReference(t)):(this._err(qr.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(Fr.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(Fr.NUMBER_SIGN),this._reconsumeInState(this.returnState,t))}_stateHexademicalCharacterReferenceStart(t){!function(t){return wi(t)||_i(t)||vi(t)}(t)?(this._err(qr.absenceOfDigitsInNumericCharacterReference),this._flushCodePointConsumedAsCharacterReference(Fr.AMPERSAND),this._flushCodePointConsumedAsCharacterReference(Fr.NUMBER_SIGN),this._unconsume(2),this.state=this.returnState):(this.state=gi.HEXADEMICAL_CHARACTER_REFERENCE,this._stateHexademicalCharacterReference(t))}_stateHexademicalCharacterReference(t){_i(t)?this.charRefCode=16*this.charRefCode+t-55:vi(t)?this.charRefCode=16*this.charRefCode+t-87:wi(t)?this.charRefCode=16*this.charRefCode+t-48:t===Fr.SEMICOLON?this.state=gi.NUMERIC_CHARACTER_REFERENCE_END:(this._err(qr.missingSemicolonAfterCharacterReference),this.state=gi.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(t))}_stateDecimalCharacterReference(t){wi(t)?this.charRefCode=10*this.charRefCode+t-48:t===Fr.SEMICOLON?this.state=gi.NUMERIC_CHARACTER_REFERENCE_END:(this._err(qr.missingSemicolonAfterCharacterReference),this.state=gi.NUMERIC_CHARACTER_REFERENCE_END,this._stateNumericCharacterReferenceEnd(t))}_stateNumericCharacterReferenceEnd(t){if(this.charRefCode===Fr.NULL)this._err(qr.nullCharacterReference),this.charRefCode=Fr.REPLACEMENT_CHARACTER;else if(this.charRefCode>1114111)this._err(qr.characterReferenceOutsideUnicodeRange),this.charRefCode=Fr.REPLACEMENT_CHARACTER;else if(Vr(this.charRefCode))this._err(qr.surrogateCharacterReference),this.charRefCode=Fr.REPLACEMENT_CHARACTER;else if(zr(this.charRefCode))this._err(qr.noncharacterCharacterReference);else if(Gr(this.charRefCode)||this.charRefCode===Fr.CARRIAGE_RETURN){this._err(qr.controlCharacterReference);const t=fi.get(this.charRefCode);void 0!==t&&(this.charRefCode=t)}this._flushCodePointConsumedAsCharacterReference(this.charRefCode),this._reconsumeInState(this.returnState,t)}}const Ci=new Set([ai.DD,ai.DT,ai.LI,ai.OPTGROUP,ai.OPTION,ai.P,ai.RB,ai.RP,ai.RT,ai.RTC]);var Ii;new Set([...Ci,ai.CAPTION,ai.COLGROUP,ai.TBODY,ai.TD,ai.TFOOT,ai.TH,ai.THEAD,ai.TR]),new Map([[ai.APPLET,ii.HTML],[ai.CAPTION,ii.HTML],[ai.HTML,ii.HTML],[ai.MARQUEE,ii.HTML],[ai.OBJECT,ii.HTML],[ai.TABLE,ii.HTML],[ai.TD,ii.HTML],[ai.TEMPLATE,ii.HTML],[ai.TH,ii.HTML],[ai.ANNOTATION_XML,ii.MATHML],[ai.MI,ii.MATHML],[ai.MN,ii.MATHML],[ai.MO,ii.MATHML],[ai.MS,ii.MATHML],[ai.MTEXT,ii.MATHML],[ai.DESC,ii.SVG],[ai.FOREIGN_OBJECT,ii.SVG],[ai.TITLE,ii.SVG]]),ai.H1,ai.H2,ai.H3,ai.H4,ai.H5,ai.H6,ai.TR,ai.TEMPLATE,ai.HTML,ai.TBODY,ai.TFOOT,ai.THEAD,ai.TEMPLATE,ai.HTML,ai.TABLE,ai.TEMPLATE,ai.HTML,ai.TD,ai.TH,function(t){t[t.Marker=0]="Marker",t[t.Element=1]="Element"}(Ii=Ii||(Ii={})),Ii.Marker;new Set(["-//w3o//dtd w3 html strict 3.0//en//","-/w3c/dtd html 4.0 transitional/en","html"]);const Ri=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]))),ki=new Map([["xlink:actuate",{prefix:"xlink",name:"actuate",namespace:ii.XLINK}],["xlink:arcrole",{prefix:"xlink",name:"arcrole",namespace:ii.XLINK}],["xlink:href",{prefix:"xlink",name:"href",namespace:ii.XLINK}],["xlink:role",{prefix:"xlink",name:"role",namespace:ii.XLINK}],["xlink:show",{prefix:"xlink",name:"show",namespace:ii.XLINK}],["xlink:title",{prefix:"xlink",name:"title",namespace:ii.XLINK}],["xlink:type",{prefix:"xlink",name:"type",namespace:ii.XLINK}],["xml:base",{prefix:"xml",name:"base",namespace:ii.XML}],["xml:lang",{prefix:"xml",name:"lang",namespace:ii.XML}],["xml:space",{prefix:"xml",name:"space",namespace:ii.XML}],["xmlns",{prefix:"",name:"xmlns",namespace:ii.XMLNS}],["xmlns:xlink",{prefix:"xmlns",name:"xlink",namespace:ii.XMLNS}]]),Ni=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]))),Oi=new Set([ai.B,ai.BIG,ai.BLOCKQUOTE,ai.BODY,ai.BR,ai.CENTER,ai.CODE,ai.DD,ai.DIV,ai.DL,ai.DT,ai.EM,ai.EMBED,ai.H1,ai.H2,ai.H3,ai.H4,ai.H5,ai.H6,ai.HEAD,ai.HR,ai.I,ai.IMG,ai.LI,ai.LISTING,ai.MENU,ai.META,ai.NOBR,ai.OL,ai.P,ai.PRE,ai.RUBY,ai.S,ai.SMALL,ai.SPAN,ai.STRONG,ai.STRIKE,ai.SUB,ai.SUP,ai.TABLE,ai.TT,ai.U,ai.UL,ai.VAR]);function Bi(t){const e=Ni.get(t.tagName);null!=e&&(t.tagName=e,t.tagID=ui(t.tagName))}function Pi(t,e,r,i){return(!i||i===ii.HTML)&&function(t,e,r){if(e===ii.MATHML&&t===ai.ANNOTATION_XML)for(let t=0;t<r.length;t++)if(r[t].name===ni.ENCODING){const e=r[t].value.toLowerCase();return"text/html"===e||"application/xhtml+xml"===e}return e===ii.SVG&&(t===ai.FOREIGN_OBJECT||t===ai.DESC||t===ai.TITLE)}(t,e,r)||(!i||i===ii.MATHML)&&function(t,e){return e===ii.MATHML&&(t===ai.MI||t===ai.MO||t===ai.MN||t===ai.MS||t===ai.MTEXT)}(t,e)}var Li;!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"}(Li||(Li={})),new Set([ai.TABLE,ai.TBODY,ai.TFOOT,ai.THEAD,ai.TR]),new Set([ai.CAPTION,ai.COL,ai.COLGROUP,ai.TBODY,ai.TD,ai.TFOOT,ai.TH,ai.THEAD,ai.TR]);const Di=new Map([[34,"""],[38,"&"],[39,"'"],[60,"<"],[62,">"]]);function Ui(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,Ui(/[&<>'"]/g,Di);const Mi=Ui(/["&\u00A0]/g,new Map([[34,"""],[38,"&"],[160," "]])),Fi=Ui(/[&<>\u00A0]/g,new Map([[38,"&"],[60,"<"],[62,">"],[160," "]]));new Set([oi.AREA,oi.BASE,oi.BASEFONT,oi.BGSOUND,oi.BR,oi.COL,oi.EMBED,oi.FRAME,oi.HR,oi.IMG,oi.INPUT,oi.KEYGEN,oi.LINK,oi.META,oi.PARAM,oi.SOURCE,oi.TRACK,oi.WBR]);var Hi=r(2830);class Wi extends Hi.Writable{_write(t,e,r){r()}}const ji=ai;class Vi{constructor(t,e){this.handler=e,this.namespaceStack=[],this.inForeignContent=!1,this.skipNextNewLine=!1,this.tokenizer=new xi(t,this),this._enterNamespace(ii.HTML)}onNullCharacter(t){this.skipNextNewLine=!1,this.inForeignContent?this.handler.onCharacter({type:Qr.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!==ii.HTML,this.tokenizer.inForeignNode=this.inForeignContent}_leaveCurrentNamespace(){this.namespaceStack.shift(),this.inForeignContent=this.namespaceStack[0]!==ii.HTML,this.tokenizer.inForeignNode=this.inForeignContent}_ensureTokenizerMode(t){switch(t){case ji.TEXTAREA:case ji.TITLE:this.tokenizer.state=mi.RCDATA;break;case ji.PLAINTEXT:this.tokenizer.state=mi.PLAINTEXT;break;case ji.SCRIPT:this.tokenizer.state=mi.SCRIPT_DATA;break;case ji.STYLE:case ji.IFRAME:case ji.XMP:case ji.NOEMBED:case ji.NOFRAMES:case ji.NOSCRIPT:this.tokenizer.state=mi.RAWTEXT}}onStartTag(t){let e=t.tagID;switch(e){case ji.SVG:this._enterNamespace(ii.SVG);break;case ji.MATH:this._enterNamespace(ii.MATHML)}if(this.inForeignContent)if(function(t){const e=t.tagID;return e===ai.FONT&&t.attrs.some((({name:t})=>t===ni.COLOR||t===ni.SIZE||t===ni.FACE))||Oi.has(e)}(t))this._leaveCurrentNamespace();else{const r=this.namespaceStack[0];r===ii.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===ii.SVG&&(Bi(t),function(t){for(let e=0;e<t.attrs.length;e++){const r=Ri.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=ki.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&&Pi(e,r,t.attrs)&&this._enterNamespace(ii.HTML)}else{switch(e){case ji.PRE:case ji.TEXTAREA:case ji.LISTING:this.skipNextNewLine=!0;break;case ji.IMAGE:t.tagName=oi.IMG,t.tagID=ji.IMG}this._ensureTokenizerMode(e)}this.handler.onStartTag(t)}onEndTag(t){let e=t.tagID;if(this.inForeignContent)(e===ji.SVG&&this.namespaceStack[0]===ii.SVG||e===ji.MATH&&this.namespaceStack[0]===ii.MATHML)&&this._leaveCurrentNamespace();else{const r=this.namespaceStack[1];if(r===ii.SVG){const r=Ni.get(t.tagName);r&&(e=ui(r))}Pi(e,r,t.attrs)&&this._leaveCurrentNamespace()}this.namespaceStack[0]===ii.SVG&&Bi(t),this.handler.onEndTag(t)}}class Gi extends Hi.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 Vi(this.options,this),this.tokenizer=this.parserFeedbackSimulator.tokenizer,this.pipe(new Wi)}_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 zi extends Gi{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}="${Mi(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,di.has(e)||e===oi.NOSCRIPT)?t:Fi(t))}emitComment(t){this.push(`\x3c!--${t.text}--\x3e`)}emitRaw(t){this.push(t)}}const qi=new TextEncoder,Qi=new TextDecoder,Ki=/([\d.]+\s*;\s*url\s*=\s*)(.+)(\s*)/im,Yi=["http://","https://","//"],Ji="mp_",Xi={a:{href:Ji},applet:{codebase:"oe_",archive:"oe_"},area:{href:Ji},audio:{src:"oe_"},base:{href:Ji},blockquote:{cite:Ji},body:{background:"im_"},button:{formaction:Ji},command:{icon:"im_"},del:{cite:Ji},embed:{src:"oe_"},iframe:{src:"if_"},image:{src:"im_","xlink:href":"im_",href:"im_"},img:{src:"im_",srcset:"im_"},ins:{cite:Ji},input:{src:"im_",formaction:Ji},form:{action:Ji},frame:{src:"fr_"},link:{href:"oe_"},meta:{content:Ji},object:{codebase:"oe_",data:"oe_"},param:{value:"oe_"},q:{cite:Ji},ref:{href:"oe_"},script:{src:"js_","xlink:href":"js_"},source:{src:"oe_",srcset:"oe_"},video:{src:"oe_",poster:"im_"}},Zi=[{match:/youtube.com\/v\/([^&]+)[&]/,replace:"youtube.com/embed/$1?"}],$i=[{urlMatch:/[?&]:loadOrderID=([\d]+)/,match:/(loadOrderID&(quot;&)?#x[^;]+?;)([\d]+)/gi,replace:"$1$U1"}];class tn{constructor(t,e=!1){this.rewriter=t,this.rule=null;for(const t of $i){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(Ki,((t,e,i,n)=>e+this.rewriteUrl(r,i)+n));if("referrer"===this.getAttr(t,"name"))return"no-referrer-when-downgrade";if(a(e.value,Yi))return this.rewriteUrl(r,e.value)}return e.value}rewriteSrcSet(t,e){const r=/\s*(\S*\s+[\d.]+[wx]),|(?:\s*,(?:\s+|(?=https?:)))/;let i=[];for(let 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=>a(t,Yi),n=t.tagName;for(let s of t.attrs){const o=s.name||"",a=s.value||"";if(a.startsWith("javascript:"))s.value="javascript:"+r.rewriteJS(a.slice("javascript:".length),{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("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_":null,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||"image/svg+xml"===e)s.name="src",t.tagName="iframe";else if("application/x-shockwave-flash"===e)for(const e of Zi){const i=s.value.replace(e.match,e.replace);if(i!==s.value){s.name="src",s.value=this.rewriteUrl(r,i),t.tagName="iframe";break}}}else if("target"===o){const t=s.value;"_blank"!==t&&"_parent"!==t&&"_top"!==t&&"new"!==t||(s.value="___wb_replay_top_frame")}else("href"===o||"src"===o||e[s.name])&&(s.value=this.rewriteUrl(r,s.value))}}getAttr(t,e){for(let 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":""}async rewrite(t){if(!t.buffer&&!t.reader)return t;if(t.expectedLength()>5e6)return console.warn("Skipping rewriting, HTML file too big: "+t.expectedLength()),t;const e=this.rewriter,r=new zi;r.tokenizer.preprocessor.bufferWaterline=1/0;let i=!1,n=!1,o=!0,a="",c="",l=null;const h=()=>{if(!i&&e.headInsertFunc){const t=e.headInsertFunc(e.url);t&&r.emitRaw(t),i=!0}};r.on("startTag",(t=>{const s=Xi[t.tagName],u=t.tagName;switch(this.rewriteTagAndAttrs(t,s||{},e),i||["head","html"].includes(t.tagName)||h(),r.emitStartTag(t),t.tagName){case"script":if(t.selfClosing)break;a=t.tagName,o=!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=null),a){case"head":n=!0;break;case"script":n&&!o&&"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 o=o&&0===t.text.trim().length,"js"===c||i?e.rewriteJS(t.text,{isModule:i,prefix:r}):"json"===c?e.rewriteJSON(t.text,{prefix:r}):t.text}return"style"===a?e.rewriteCSS(t.text):this.rewriteHTMLText(i)})();for(let t=0;t<n.length;t+=s)r.emitRaw(n.slice(t,t+s))}));const u=t.createIter();let f=!1;const g=this.isCharsetUTF8;return t.setReader(new ReadableStream({async start(t){r.on("data",(e=>{t.enqueue(g?qi.encode(e):d(e))})),r.on("end",(()=>{t.close()}));for await(const t of u)g?r.write(Qi.decode(t),"utf8"):r.write(p(t),"latin1"),f=!0;f&&h(),r.end()}})),t}rewriteUrl(t,e,r=!1,i=null){this.isCharsetUTF8||(e=Qi.decode(d(e)));const n=t.rewriteUrl(e,r);return i?n.replace("mp_/",i+"/"):n}rewriteHTMLText(t){if(this.rule){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(",")}}const en=/(url\s*\(\s*[\\"']*)([^)'"]+)([\\"']*\s*\))/gi,rn=/(@import\s*[\\"']*)([^)'";]+)([\\"']*\s*;?)/gi,nn=/WB_wombat_/g,sn=/^(?:\s*(?:(?:\/\*[^*]*\*\/)|(?:\/\/[^\n]+[\n])))*\s*([\w.]+)\([{[]/,on=/[?].*(?:callback|jsonp)=([^&]+)/i,an=new Wt(class extends jt{constructor(t){super(),this.extraRules=t,this.firstBuff=this.initLocalDecl(Br),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(let 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(Rr))||!!(t.indexOf("export")>=0&&t.match(kr))}parseGlobals(t){const e=Ie.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;Br.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=Br.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,e));let r=Dr;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(Br,e.prefix)+i;const n=Lr.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[Nr,(t,e)=>{const r=e.prefix.replace("mp_/","esm_/");return t.replace(Or,((t,i,n,s)=>{try{n=new URL(n,e.baseUrl).href,n=r+n}catch(t){}return i+n+s}))}]}}),cn=new Wt(jt);class ln{constructor({baseUrl:t,prefix:e,responseUrl:r,workerInsertFunc:i,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?an:cn,this.decode=a,this.prefix=e||"",this.prefix&&s){const t=new URL(this.prefix);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,this.isCharsetUTF8=!1,this._jsonpCallback=null}getRewriteMode(t,e,r="",i=null){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(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";default:return this.getScriptRewriteMode(i,r,null)}}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=b(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 lt(t.reader)),t;const n=new Uint8Array(await t.getBuffer()),s=await Ct(n,e,r);return n!==s&&t.setBuffer(s),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":l=this.workerInsertFunc;break;case"jsonp":l=this.rewriteJSONP;break;case"hls":l=Pt;break;case"dash":l=Dt}if(n&&(c.rewriteUrl=t=>this.rewriteUrl(t)),l){let e=await t.getText(this.isCharsetUTF8);e=l.call(this,e,c),t.setText(e,this.isCharsetUTF8)}return t}updateBaseUrl(t){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("https:".length))}return this.rewriteUrl(t)}isRewritableUrl(t){const e=["#","javascript:","data:","mailto:","about:","file:","blob:","{"];for(let r of e)if(t.startsWith(r))return!1;return!0}rewriteUrl(t,e=!1){if(!this.urlRewrite)return t;var r=t;return!(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+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}rewriteHtml(t){return new tn(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(en,r).replace(rn,r).replace(nn,"")}rewriteJS(t,e){const r=e&&!e.rewriteUrl&&void 0===e.isModule&&!e.inline,i=r?cn: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=cn.getRewriter(this.baseUrl);return r!==cn.defaultRewriter?r.rewrite(t,e):t}parseJSONPCallback(t){const e=t.match(on);return e&&"?"!==e[1]?(this._jsonpCallback=e[1],!0):(this._jsonpCallback=!1,!1)}rewriteJSONP(t){const e=t.match(sn);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","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"},s="X-Archive-Orig-";let o=new Headers;for(let a of t.entries())switch(n[a[0]]){case"keep":o.append(a[0],a[1]);break;case"url-rewrite":if(e){if("location"===a[0]&&this.url!==this.responseUrl){const t="http:"===this.scheme?"https:":"http:",e=t+this.responseUrl.slice(this.scheme.length);a[1]===e&&(a[1]=t+this.url.slice(this.url.indexOf("//")))}o.append(a[0],this.rewriteUrl(a[1]))}else o.append(a[0],a[1]);break;case"prefix-if-content-rewrite":r?o.append(s+a[0],a[1]):o.append(a[0],a[1]);break;case"prefix-if-url-rewrite":e?o.append(s+a[0],a[1]):o.append(a[0],a[1]);break;case"content-length":if("0"==a[1]){o.append(a[0],a[1]);continue}if(r)try{if(parseInt(a[1])>=0){o.append(a[0],a[1]);continue}}catch(t){}o.append(a[0],a[1]);break;case"transfer-encoding":case"prefix":o.append(s+a[0],a[1]);break;case"cookie":o.append(a[0],a[1]);break;case"link":e&&!i?o.append(a[0],this.rewriteLinkHeader(a[1])):o.append(a[0],a[1]);break;default:o.append(a[0],a[1])}return o}rewriteLinkHeader(t){try{const r=e.parse(t);for(const t of r.refs)t.uri&&(t.uri=this.rewriteUrl(t.uri));return r.toString()}catch(e){return console.warn("Error parsing link header: "+t),t}}}class hn{constructor(){this._buffer=[],this._lastChunkEndedWithCR=!1,this.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&&"\n"==r[0]&&i.shift(),n.length>0&&(n[n.length-1]+=i[0],i.shift()),this._lastChunkEndedWithCR="\r"==r[r.length-1];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 un extends TransformStream{constructor(){super(new hn)}}class pn{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||"default-src 'unsafe-eval' 'unsafe-inline' 'self' data: blob: mediastream: ws: wss: ; form-action 'self'",this.injectRelCanon=o.injectRelCanon||!1,this.baseFramePrefix=o.baseUrlSourcePrefix,this.baseFrameUrl=o.baseUrl,this.baseFrameHashReplay=o.baseUrlHashReplay||!1,this.liveRedirectOnNotFound=o.liveRedirectOnNotFound||!1,this.rootPrefix=e.root||e.main,this.adblockUrl=o.adblockUrl,this.prefix=e.main,this.config.root?this.isRoot=!0:(this.prefix+=this.name+"/",this.isRoot=!1),this.staticPrefix=e.static}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("srcdoc:".length));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(r):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;e.endsWith(".gz")&&(s=s.pipeThrough(new self.DecompressionStream("gzip")));const o=s.pipeThrough(new un),a=new TextEncoder,c=async function*(){for await(const t of async function*(t){try{for await(const e of lt.fromReadable(t.getReader()))if(n&&e.indexOf(n)>=0){const t=e.split("##");if(t.length<2)continue;if(t[0].endsWith("#@"))continue;const r=t[0].split(",");for(const e of i)if(r.includes(e)){yield t[1];break}}else!n&&e.startsWith("##")&&(yield e.slice(2))}catch(t){console.warn(t)}}(o))yield a.encode(`${t} {\n display: none !important;\n}\n\n`)}(),l=new ReadableStream({pull:t=>c.next().then((e=>{e.done||!e.value?t.close():t.enqueue(e.value)}))}),h=new Headers({"Content-Type":"text/css"});return new Response(l,{status:200,statusText:"OK",headers:h})}(r.slice("adblock:".length),this.adblockUrl):(n=await this.getReplayResponse(t,e),r=t.url,n&&n.updateTS&&(i=n.updateTS))}catch(e){if(await A(e,this.config))return _(t,'<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){}const e=`\n <html>\n <body style="font-family: sans-serif">\n <h2>Archived Page Not Found</h2>\n <p>Sorry, this page was not found in this archive:</p>\n <p><code style="word-break: break-all; font-size: larger">${r}</code></p>\n ${this.liveRedirectOnNotFound&&"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 = "${r}";\n <\/script>\n `:"\n "}\n <p>\n <a target="_blank" href="${r}">Click Here</a> to try to load the live page in a new tab (or to download the URL as a file).</p>\n </body>\n </html>\n `;return _(t,e)}if(n instanceof Response)return n;if(!n.noRW){const e=this.prefix+(t.pageId?`:${t.pageId}/`:""),o=e+i,a=r=>{let s=n.headers.get("x-wabac-preset-cookie")||"";const a=n.headers.get("Set-Cookie"),c=o+(i?"/":"")+r;return this.makeHeadInsert(r,i,n.date,c,e,s,a,n.isLive,t.referrer,n.extraOpts)},c=t=>`\n (function() { self.importScripts('${this.staticPrefix}wombatWorkers.js'); new WBWombat({'prefix': '${o}/', 'prefixMod': '${o}wkrf_/', 'originalURL': '${r}'}); })();`+t,l=t.mod,h="id_"===l||"wkrf_"===l,u=o+l+"/",p={baseUrl:s,responseUrl:n.url,prefix:u,headInsertFunc:a,workerInsertFunc:c,urlRewrite:!h,contentRewrite:!h,decode:this.config.decode},d=new ln(p);n=await d.rewrite(n,t),"id_"!==l&&n.headers.append("Content-Security-Policy",this.csp)}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)}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)):"<!DOCTYPE html><html><head></head><body></body></html>",i=(new TextEncoder).encode(r),n=new Headers({"Content-Type":"text/html"}),s=new Date;return new Nt({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 Nt({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};r=await this.store.getResource(t,this.prefix,e,i);const{request:n,url:s}=t;if(("video"===n.destination||"audio"===n.destination)&&"navigate"!==n.mode)for(;r&&r.status>=301&&r.status<400;){const n=new URL(r.headers.get("location"),s);t.url=n.href,console.log(`resolve redirect ${s} -> ${t.url}`),r=await this.store.getResource(t,this.prefix,e,i)}return r}async makeTopFrame(t,e){let r=null;if(this.baseFrameUrl&&!this.baseFramePrefix?r=this.baseFrameUrl:!this.isRoot&&this.config.sourceUrl&&(r=this.baseFramePrefix||"./",r+=`?source=${this.config.sourceUrl}`),r)return this.baseFrameHashReplay?r+=`#${e}/${t}`:r+="#"+new URLSearchParams({url:t,ts:e,view:"replay"}).toString(),Response.redirect(r);let i=null;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`;let 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,a,l,h,u){const p=this.name,d=function(t){if(!t)return"";try{return""+parseInt(t.getTime()/1e3)}catch(t){return""}}(r),f=c(r.toISOString()),g=new URL(t);let m;m="https:"!==g.protocol&&"http:"!==g.protocol?h&&h.indexOf("/http://")>0?"http":"https":g.protocol.slice(0,-1),a&&(s=function(t,e){t=t.replace(o,"");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(";")}(a,m)+";"+s);const w=u&&Number(u.pixelRatio)?u.pixelRatio:1,y=u&&u.storage?btoa(u.storage):"",b=s?JSON.stringify(s):'""';return`\n\x3c!-- WB Insert --\x3e\n${this.adblockUrl?`\n<link rel='stylesheet' href="${n}mp_/adblock:${g.hostname}"/>\n<link rel='stylesheet' href="${n}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 = "${i}";\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 = "${f}";\n wbinfo.request_ts = "${e}";\n wbinfo.prefix = decodeURI("${n}");\n wbinfo.mod = "mp_";\n wbinfo.is_framed = true;\n wbinfo.is_live = ${l?"true":"false"};\n wbinfo.coll = "${p}";\n wbinfo.proxy_magic = "";\n wbinfo.static_prefix = "${this.staticPrefix}";\n wbinfo.enable_auto_fetch = true;\n wbinfo.presetCookie = ${b};\n wbinfo.storage = "${y}";\n wbinfo.isSW = true;\n wbinfo.injectDocClose = true;\n wbinfo.pixel_ratio = ${w};\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 = "${l?f:e}";\n wbinfo.wombat_sec = "${d}";\n wbinfo.wombat_scheme = "${m}";\n wbinfo.wombat_host = "${g.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<\/script>\n${this.injectScripts.map((t=>`<script src='${t}'> <\/script>`)).join("")}\n `}}const dn=(t,e)=>e.some((e=>t instanceof e));let fn,gn;const mn=new WeakMap,wn=new WeakMap,yn=new WeakMap,bn=new WeakMap,An=new WeakMap;let _n={get(t,e,r){if(t instanceof IDBTransaction){if("done"===e)return wn.get(t);if("objectStoreNames"===e)return t.objectStoreNames||yn.get(t);if("store"===e)return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Sn(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){_n=t(_n)}function En(t){return"function"==typeof t?function(t){return t!==IDBDatabase.prototype.transaction||"objectStoreNames"in IDBTransaction.prototype?(gn||(gn=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])).includes(t)?function(...e){return t.apply(Tn(this),e),Sn(mn.get(this))}:function(...e){return Sn(t.apply(Tn(this),e))}:function(e,...r){const i=t.call(Tn(this),e,...r);return yn.set(i,e.sort?e.sort():[e]),Sn(i)}}(t):(t instanceof IDBTransaction&&function(t){if(wn.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)}));wn.set(t,e)}(t),dn(t,fn||(fn=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction]))?new Proxy(t,_n):t)}function Sn(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(Sn(t.result)),i()},s=()=>{r(t.error),i()};t.addEventListener("success",n),t.addEventListener("error",s)}));return e.then((e=>{e instanceof IDBCursor&&mn.set(e,t)})).catch((()=>{})),An.set(e,t),e}(t);if(bn.has(t))return bn.get(t);const e=En(t);return e!==t&&(bn.set(t,e),An.set(e,t)),e}const Tn=t=>An.get(t);function xn(t,e,{blocked:r,upgrade:i,blocking:n,terminated:s}={}){const o=indexedDB.open(t,e),a=Sn(o);return i&&o.addEventListener("upgradeneeded",(t=>{i(Sn(o.result),t.oldVersion,t.newVersion,Sn(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 Cn(t,{blocked:e}={}){const r=indexedDB.deleteDatabase(t);return e&&r.addEventListener("blocked",(t=>e(t.oldVersion,t))),Sn(r).then((()=>{}))}const In=["get","getKey","getAll","getAllKeys","count"],Rn=["put","add","delete","clear"],kn=new Map;function Nn(t,e){if(!(t instanceof IDBDatabase)||e in t||"string"!=typeof e)return;if(kn.get(e))return kn.get(e);const r=e.replace(/FromIndex$/,""),i=e!==r,n=Rn.includes(r);if(!(r in(i?IDBIndex:IDBObjectStore).prototype)||!n&&!In.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 kn.set(e,s),s}vn((t=>({...t,get:(e,r,i)=>Nn(e,r)||t.get(e,r,i),has:(e,r)=>!!Nn(e,r)||t.has(e,r)})));const On=["continue","continuePrimaryKey","advance"],Bn={},Pn=new WeakMap,Ln=new WeakMap,Dn={get(t,e){if(!On.includes(e))return t[e];let r=Bn[e];return r||(r=Bn[e]=function(...t){Pn.set(this,Ln.get(this)[e](...t))}),r}};async function*Un(...t){let e=this;if(e instanceof IDBCursor||(e=await e.openCursor(...t)),!e)return;e=e;const r=new Proxy(e,Dn);for(Ln.set(r,e),An.set(r,Tn(e));e;)yield r,e=await(Pn.get(r)||e.continue()),Pn.delete(r)}function Mn(t,e){return e===Symbol.asyncIterator&&dn(t,[IDBIndex,IDBObjectStore,IDBCursor])||"iterate"===e&&dn(t,[IDBIndex,IDBObjectStore])}vn((t=>({...t,get:(e,r,i)=>Mn(e,r)?Un:t.get(e,r,i),has:(e,r)=>Mn(e,r)||t.has(e,r)})));var Fn=r(9991);const Hn=1024,Wn=/\[\d]+/,jn=[{match:/\/\/.*(?:gcs-vimeo|vod|vod-progressive)\.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.com\/[^/]+\/status\/[^?]+)(\?.*)/,fuzzyCanonReplace:"$1"},{match:/(twitter.com\/i\/api\/graphql\/.*)/,args:[["cursor"]],fuzzyArgs:!0},{match:/facebook\.com\/ajax\//i,fuzzySet:!0},{match:(Vn=["(callback=jsonp)[^&]+(?=&|$)","((?:\\w+)=jquery)[\\d]+_[\\d]+","utm_[^=]+=[^&]+(?=&|$)","(_|cb|_ga|\\w*cache\\w*)=[\\d.-]+(?=$|&)"],new RegExp("[?&]"+Vn.map((t=>"("+t+")")).join("|"),"gi")),replace:""},{match:/(\.(?:js|webm|mp4|gif|jpg|png|css|json|m3u8))\?.*/i,replace:"$1",maxResults:2}];var Vn;const Gn=new class{constructor(t){this.rules=t||jn}getRuleFor(t){let e;const r=-1===t.indexOf("?")?t+"?":t;for(const t of this.rules)if(r.match(t.match)){e=t;break}let i=t;e&&e.fuzzyCanonReplace&&(i=t.replace(e.match,e.fuzzyCanonReplace));const n=e&&e.split||"?",s=e&&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&&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||!e.length)return null;if(r&&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=("string"==typeof t?t: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){try{t=new URL(t)}catch(t){return 0}const i=r&&r.args&&!r.fuzzyArgs?new Set(r.args[0]):null;let n=0,s=null;const o=new URLSearchParams(t.search);for(const a of e){if(204===a.status||304===a.status)continue;let e="string"==typeof a?a:a.fuzzyMatchUrl||a.url;try{e=new URL(e)}catch(t){continue}const c=new URLSearchParams(e.search);let l=this.getMatch(o,c,i,r&&r.fuzzySet);l+=this.getMatch(c,o,i),l/=2,a.status>200&&(l*=10**(1e-4*(200-a.status))),l>n&&(n=l,s=a)}return s}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[0]?.1:10,null!==l&&(n+=.5*t,l.length>Hn&&(l=l.slice(0,Hn))),c&&c.length>Hn&&(c=c.slice(0,Hn));const h=Number(c),u=Number(l);if(s+=t,i&&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=rt(c),r=rt(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[0]||"/"!==i[0])return;const n=e.split(Wn);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=Fn(t,e);return i<r?r-i:0}},zn=new Date("9999-01-01").getTime(),qn="warc/revisit";class Qn{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=this.allowRepeats?new Kn:null,this.fuzzyPrefixSearch=!0,this.initing=this.init()}async init(){let t=0;this.db=await xn(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){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",unique:!0}),t.createObjectStore("digestRef",{keyPath:"digest",unique:!0})}}async clearAll(){const t=["pages","resources","payload","digestRef"];for(const e of t)await this.db.clear(e)}close(){this.db&&(this.db.close(),this.db=null)}async delete(){this.close(),await Cn(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=l(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",t.toString())}}async createPageList(t){const e={};return e.title=t.title,e.desc=t.desc||t.description,e.slug=t.id||t.slug,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||!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 f()}async getAllPages(){return await this.db.getAll("pages")}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,zn]),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(){}async addVerifyDataList(){}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=new Set,s=this.db.transaction(["digestRef","payload"],"readwrite");for(const o of t){let t=1;const a=o.mime===qn?e:r;a.push(o);const c=this.getFuzzyUrl(o);c&&(a.push(c),t=2),this.useRefCounts&&o.digest&&(i[o.digest]?(i[o.digest].count+=t,n.add(o.digest)):i[o.digest]=await this.dedupResource(o.digest,o.payload,s,t),delete o.payload)}if(this.useRefCounts){const t=s.objectStore("digestRef");for(const e of n)t.put(i[e])}try{await s.done}catch(t){console.error("Payload and Ref Count Bulk Add Failed: ",t)}const o=this.db.transaction("resources","readwrite");for(const t of e)o.store.put(t);for(const t of r)o.store.put(t);try{await o.done}catch(t){console.error("Resources Bulk Add Failed",t)}}getFuzzyUrl(t){if(t.status>=200&&t.status<400&&304!==t.status&&204!==t.status){const{fuzzyCanonUrl:e}=Gn.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 u(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!==qn){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===qn?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=l(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(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&&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 h=o.status,u=o.statusText||y(h);let p=null;if(!w()&&(p=await this.loadPayload(o,i),!p))return null;const d=g(o.respHeaders),f=new Date(o.ts),m=o.extraOpts||null;return s=o.url,s!==t.url&&d.set("Content-Location",s),new Nt({url:s,payload:p,status:h,statusText:u,headers:d,date:f,extraOpts:m})}async loadPayload(t){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}isSelfRedirect(t,e){try{if(e&&e.respHeaders&&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,zn]);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===qn||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||zn]);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===qn||this.isSelfRedirect(t,i)))return i}return null}async lookupQueryPrefix(t,e){const{rule:r,prefix:i,fuzzyCanonUrl:n}=Gn.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 Gn.fuzzyCompareUrls(t,s,r)}resJson(t){const e=new Date(t.ts).toISOString();return{url:t.url,date:e,ts:c(e),mime:t.mime,status:t.status}}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?null:r,a=await this.db.getAll("resources",this.getLookupRange(t,i?"prefix":"exact",n,s),o);e=e.split(",");const c=[];for(const t of a)for(const i of e)if(!i||t.mime&&t.mime.startsWith(i)){if(c.push(this.resJson(t)),c.length===r)return c;break}return c}async resourcesByMime(t,e=100,r="",i="",n=0){const s=[];(t=t.split(",")).sort();let o=[];r&&o.push([r,n,i]);for(const e of t)(!r||!e||e>r)&&o.push([e,0,""]);for await(const t of this.matchAny("resources","mimeStatusUrl",o,0,!0))if(s.push(this.resJson(t)),s.length===e)break;return s}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&&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 Kn{constructor(){this.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 Yn=["script","style","header","footer","banner-div","noscript"];class Jn{constructor(t=1e3){this.batchSize=t,this.promises=[],this.batch=[],this.count=0,this.dupeSet=new Set}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 Xn extends Jn{constructor(t,e=null,r=null,i=null){super(),this.reader=t,this.abort=e,this.loadId=r,this.anyPages=!1,this.detectPages=!1,this._lastRecord=null,this.metadata={},this.pageMap={},this.pages=[],this.lists=[],this.source=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("json-metadata:".length));if("collection"===t.type&&(this.metadata.desc=t.desc,this.metadata.title=t.title),t.pages&&t.pages.length){this.pages=this.pages.concat(t.pages);for(const e of t.pages)e.ts=l(e.timestamp).getTime(),this.pageMap[e.ts+"/"+e.url]={page:e};this.anyPages=!0}t.lists&&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){const e=t.warcTargetURI;return!(!e||!e.startsWith("metadata://"))}parseRevisitRecord(t,e){const r=t.warcTargetURI.split("#")[0],i=t.warcDate,n=new Date(i).getTime();let s;if(t.httpHeaders){const i=this.parseResponseHttpHeaders(t,r,e);s=i&&Object.fromEntries(i.headers.entries())}const o=t.warcRefersToTargetURI,a=new Date(t.warcRefersToDate).getTime();return o===r&&a===n?null:{url:r,ts:n,origURL:o,origTS:a,digest:t.warcPayloadDigest,pageId:null,respHeaders:s}}parseResponseHttpHeaders(t,e,r){let i=200,n=null,s="";const o=r&&r.httpHeaders.method;if(t.httpHeaders){if(i=Number(t.httpHeaders.statusCode)||200,"OPTIONS"===o||"HEAD"===o)return null;if(n=g(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",t.warcContentLength),s=t.warcContentType;return{status:i,method:o,headers:n,mime:s}}indexReqResponse(t,e){const r=this.parseRecords(t,e);r&&this.addResource(r)}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&&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")}catch(e){t=new Headers,console.warn(e)}if(h=Object.fromEntries(t.entries()),"GET"!==o){const i={headers:t,method:o,url:r,postData:e.payload};tt(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=new Date(i).getTime(),f=Object.fromEntries(a.entries()),g=t.warcPayloadDigest,m=t.payload,w={url:r,ts:d,status:s,mime:c,respHeaders:f,reqHeaders:h,digest:g,payload:m,reader:m?null:t.reader,referrer:u};this.pageMap[d+"/"+r]&&m&&c.startsWith("text/")&&(this.pageMap[d+"/"+r].textPromise=async function(t,e,r,i){const n=new Gi,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&&Yn.includes(t.tagName)&&(o=t.tagName)})),n.on("endTag",(t=>{t.tagName===o&&(o=null)})),(r||i)&&(e=await Ct(e,r,i)),n.end((new TextDecoder).decode(e));const a=new Promise((t=>{n.on("end",(()=>{t(s.join(" "))}))}));return await a}(0,m,a.get("content-encoding"),a.get("transfer-encoding")));const y=t.warcHeader("WARC-JSON-Metadata");if(y)try{w.extraOpts=JSON.parse(y)}catch(t){}const b=t.warcHeader("WARC-Page-ID");return b&&(w.pageId=b),this.sourceExtra&&(w.source=this.sourceExtra),"GET"!==o&&l&&(w.requestUrl=l,w.method=o,w.requestBody=p||""),w}isFullRangeRequest(t){const e=t.get("content-range"),r=parseInt(t.get("content-length")||0);return e&&e===`bytes 0-${r-1}/${r}`}filterRecord(){return null}async load(t,e,r){this.db=t;const i=new Et(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}if(self.interruptLoads&&this.loadId&&self.interruptLoads[this.loadId])throw e(Math.round(i.offset/r*95),"Loading Canceled",i.offset,r),self.interruptLoads[this.loadId](),this.abort&&this.abort.abort(),new x;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 c=this.filterRecord(a);if("done"===c){this.abort&&this.abort.abort();break}if("skip"!==c&&("skipContent"===c?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 x)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 Zn extends Xn{constructor(t){super(t),this.detectPages=!1}addPage(){}async load(){const t=await new Et(this.reader).parse();if(!t)return null;const e=this.parseRecords(t,null);return e&&"revisit"!==t.warcType||await t.readFully(),e}}const $n="https://w3s.link/";function ts(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 as(t)?t:cs(t)?ns(t):t}async function rs(t){return new Response(t).blob()}async function*is(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 ns(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 ss(t){if(!t.ok){const e=await t.text(),r=t.status;throw new Error(`HTTP Error ${r}: ${e}`)}}async function os({url:t,file:e,fileName:r="",parameterName:i="file",fetch:n=globalThis.fetch,signal:s}){const o=new FormData,a=new Headers;ls(t,a);const c=await async function(t){if(as(t))return await rs(t);if(cs(t)){const e=ns(t);return await rs(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 ss(l),l}function as(t){return"function"==typeof t.getReader}function cs(t){return t[Symbol.asyncIterator]}function ls(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 hs({url:t,fetch:e=globalThis.fetch,signal:r}){const i=await e(t,{method:"HEAD",signal:r});await ss(i);const n=i.headers.get("x-ipfs-datasize")||i.headers.get("Content-Length");return parseInt(n,10)}async function*us({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 ss(c),yield*is(c.body)}function ps(){if(!globalThis.location)return $n;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(".")}/`:$n}const ds=[5001,45001,45002,45003,45004,45005],fs="https://api.web3.storage/",gs="https://api.estuary.tech/",ms="http://localhost:5001/",ws="agregore",ys="daemon",bs="web3.storage",As="estuary",_s="readonly",vs=[ws,ys,bs,As,_s];class Es{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 Ss({chooseOrder:t=vs,...e}={}){const r=function(t,e=vs){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=fs,estuaryToken:i,estuaryURL:n=gs,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!1}}(c).then((t=>t&&l.push({type:ws,fetch:c})))),h.push(async function(){const t=ds.map((t=>`http://localhost:${t}`));try{const r=await Promise.any(t.map((t=>Os(t).then((e=>{if(e)return t;throw new Error("Not found")})))));return!!r&&(Ns&&!ks&&(e=r,ks=!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:ys,url:t,fetch:c})))),t&&h.push(Os(t,a,c).then((e=>e&&l.push({type:ys,url:t,fetch:c})))),i){const t=n,e=i;l.push({type:As,url:t,authorization:e,fetch:c,publicGatewayURL:s})}if(e){const t=r,i=e;l.push({type:bs,url:t,authorization:i,fetch:c,publicGatewayURL:s})}return o&&s&&l.push({type:_s,fetch:c,publicGatewayURL:s}),await Promise.allSettled(h),l}(e),t);return async function(t){const{type:e}=t;let r=null;if(e===ws)r=new Cs(t.fetch||globalThis.fetch);else if(e===ys)r=new Rs(t.url);else if(e===bs)r=new Is(t.authorization,t.url,t.publicGatewayURL);else if(e===As)r=new xs(t.authorization,t.url,t.publicGatewayURL);else{if(e!==_s)throw new TypeError(`Unknown API type: ${e}.`);r=new Ts(t.publicGatewayURL)}return r}(r)}class Ts extends Es{constructor(t=ps()){super(),this.gatewayURL=t}get type(){return _s}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}=ts(t);return new URL(`/${n}/${r}${i}`,e)}(t,s);yield*us({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}=ts(t);return hs({url:new URL(`/${n}/${r}${i}`,this.gatewayURL),signal:e})}}class xs extends Ts{constructor(t,e=gs,r=ps()){super(r),this.authorization=t,this.url=e}get type(){return As}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 os({url:i,file:t,fileName:e,parameterName:"data",signal:r}),{cid:s}=await n.json();return`ipfs://${s}/`}}class Cs extends Es{constructor(t=globalThis.fetch){super(),this.fetch=t}get type(){return ws}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){const{fetch:s}=this;yield*us({url:t,start:e,end:r,format:n,fetch:s,signal:i})}async getSize(t,e=null){const{fetch:r}=this;return hs({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 ss(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 ss(n),n.headers.get("Location")}}class Is extends Ts{constructor(t,e=fs,r=ps()){super(r),this.authorization=t,this.url=e}get type(){return bs}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"),ls(t,i);const n=await es(e),s=await fetch(t,{method:"POST",signal:r,body:n,headers:i,duplex:"half"});return await ss(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 os({url:i,file:t,fileName:e,signal:r}),{cid:s}=await n.json();return`ipfs://${s}/`}}class Rs extends Es{constructor(t=ms){super(),this.url=t}get type(){return ys}async*get(t,{start:e,end:r,signal:i=null,format:n=null}={}){const{cid:s,path:o,type:a}=ts(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 ss(l),yield*is(l.body)}async getSize(t,e=null){try{const{cid:r,path:i,type:n}=ts(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 ss(a);const{Objects:c}=await a.json(),[{Size:l}]=Object.values(c);return l}catch(r){return this._getSizeWithDag(t,e)}}async _getSizeWithDag(t,e=null){const{cid:r,path:i,type:n}=ts(t),s=new URL(`/api/v0/dag/stat?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await ss(o);const{Size:a}=await o.json();return parseInt(a,10)}async _pin(t,e=null){const{cid:r,path:i,type:n}=ts(t),s=new URL(`/api/v0/pin/add?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await ss(o)}async _unpin(t,e=null){const{cid:r,path:i,type:n}=ts(t),s=new URL(`/api/v0/pin/rm?arg=/${n}/${r}${i}`,this.url),o=await fetch(s,{method:"POST",signal:e});await ss(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 os({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 os({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 ks=!1;const Ns=!!(globalThis&&globalThis.chrome&&globalThis.chrome.webRequest&&globalThis.chrome.webRequest.onBeforeSendHeaders&&globalThis.chrome.webRequest.onBeforeSendHeaders.addListener);async function Os(t=ms,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!1}}let Bs=null;async function Ps(t){return Bs||(Bs=await Ss(t)),Bs}const Ls="https://helper-proxy.webrecorder.workers.dev";async function Ds(t){const{url:e}=t;if(t.extra&&t.extra.arrayBuffer)return new Fs(t.extra.arrayBuffer);const r=e.split(":",1)[0];switch(r){case"blob":return new Hs(t);case"http":case"https":return new Us(t);case"file":return new Ws(t);case"googledrive":return new Ms(t);case"ipfs":return new js(t)}try{if(self.location&&r===self.location.protocol.split(":")[0])return new Us(t)}catch(t){}try{return await fetch(`${r}://localhost`,{method:"HEAD"}),new Us(t)}catch(t){}throw new Error("Invalid URL: "+e)}class Us{constructor({url:t,headers:e,length:r=null,canLoadOnDemand:i=!1}){this.url=t,this.headers=e||{},this.length=r,this.canLoadOnDemand=i,this.isValid=!1,this.ipfsAPI=null,this.loadingIPFS=null}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&&(this.length=Number(n.headers.get("Content-Length")),!this.length&&206===n.status)){let t=n.headers.get("Content-Range");t&&(t=t.split("/"),2===t.length&&(this.length=t[1]))}if(null===this.length)try{const t=await fetch(`${Ls}/c/${this.url}`),e=await t.json();e.size&&(this.length=e.size)}catch(t){console.log("Error fetching from helper: "+t.toString())}return this.length=Number(this.length||0),{response:n,abort:i}}async getLength(){if(null===this.length){const{abort:t}=await this.doInitialFetch(!0);t&&t.abort()}return this.length}async getRange(t,e,r=!1,i=null){const n=new Headers(this.headers);n.set("Range",`bytes=${t}-${t+e-1}`);const s={signal:i,headers:n,cache:"no-store"};let o=null;try{o=await this.retryFetch(this.url,s)}catch(t){throw console.log(t),new E(this.url)}if(206!=o.status){const t={url:this.url,status:o.status,resp:o};throw 401===o.status?new S(t):403==o.status?new T(t):new E(t)}return r?o.body:new Uint8Array(await o.arrayBuffer())}async retryFetch(t,e){let r=null,i=1e3;for(let n=0;n<20&&(r=await fetch(t,e),429===r.status);n++)await C(i),i+=2e3;return r}}class Ms{constructor({url:t,headers:e,size:r,extra:i}){this.fileId=t.slice("googledrive://".length),this.apiUrl=`https://www.googleapis.com/drive/v3/files/${this.fileId}?alt=media`,this.canLoadOnDemand=!0,this.headers=e,i&&i.publicUrl?this.publicUrl=i.publicUrl:this.publicUrl=null,this.length=r,this.isValid=!1}async getLength(){return this.length}async doInitialFetch(t){let e=null,r=null;if(this.publicUrl){e=new Us({url:this.publicUrl,length:this.length});try{r=await e.doInitialFetch(t)}catch(t){}if(!e.isValid&&(r&&r.abort&&r.abort.abort(),await this.refreshPublicUrl())){e=new Us({url:this.publicUrl,length:this.length});try{r=await e.doInitialFetch(t)}catch(t){}!e.isValid&&r&&r.abort&&r.abort.abort()}}return e&&e.isValid||(this.publicUrl=null,e=new Us({url:this.apiUrl,headers:this.headers,length:this.length}),r=await e.doInitialFetch(t)),this.isValid=e.isValid,this.length||(this.length=e.length),r}async getRange(t,e,r=!1,i){let n=null;if(this.publicUrl){n=new Us({url:this.publicUrl,length:this.length});try{return await n.getRange(t,e,r,i)}catch(s){if(await this.refreshPublicUrl()){n=new Us({url:this.publicUrl,length:this.length});try{return await n.getRange(t,e,r,i)}catch(t){}}}this.publicUrl=null}n=new Us({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 T&&t.info&&t.info.resp&&t.info.resp.headers.get("content-type").startsWith("application/json")){const e=await t.info.resp.json();if(e.error&&e.error.errors&&"userRateLimitExceeded"===e.error.errors[0].reason){console.log(`Exponential backoff, waiting for: ${s}`),await C(s),s*=2;continue}}throw t}}async refreshPublicUrl(){try{const t=await fetch(`${Ls}/g/${this.fileId}`),e=await t.json();if(e.url)return this.publicUrl=e.url,!0}catch(t){}return!1}}class Fs{constructor(t){this.arrayBuffer=t,this.size=t.length,this.canLoadOnDemand=!0}get length(){return this.size}get isValid(){return!!this.arrayBuffer}async getLength(){return this.size}async doInitialFetch(t=!1){const e=t?null:Gs(this.arrayBuffer);return{response:new Response(e)}}async getRange(t,e,r=!1){const i=this.arrayBuffer.slice(t,t+e);return r?Gs(i):i}}class Hs{constructor({url:t,blob:e=null,size:r=null}){this.url=t,this.blob=e,this.size=this.blob?this.blob.size:r,this.canLoadOnDemand=!0}get length(){return this.size}get isValid(){return!!this.blob}async getLength(){if(!this.blob||!this.blob.size){let t=await fetch(this.url);this.blob=await t.blob(),this.size=this.blob.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}catch(t){throw console.warn(t),t}this.arrayBuffer=this.blob.arrayBuffer?await this.blob.arrayBuffer():await this._getArrayBuffer(),this.arrayBuffer=new Uint8Array(this.arrayBuffer);const e=t?null:Gs(this.arrayBuffer);return{response:new Response(e)}}async getRange(t,e,r=!1){this.arrayBuffer||await this.doInitialFetch(!0);const i=this.arrayBuffer.slice(t,t+e);return r?Gs(i):i}_getArrayBuffer(){return new Promise((t=>{const e=new FileReader;e.onloadend=()=>{t(e.result)},e.readAsArrayBuffer(this.blob)}))}}class Ws{constructor({blob:t,size:e,extra:r,url:i}){this.url=i,this.file=t,this.size=this.blob?this.blob.size:e,this.fileHandle=r.fileHandle,this.canLoadOnDemand=!0}get length(){return this.size}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 S({fileHandle:this.fileHandle});this.file=await this.fileHandle.getFile(),this.size=this.file.size}async doInitialFetch(t=!1){this.file||await this.initFileObject();const e=t?null:this.file.stream();return{response:new Response(e)}}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 js{constructor({url:t,headers:e,...r}){this.url=t,this.opts=r;let i=t.lastIndexOf("#");i<0&&(i=void 0),this.headers=e,this.length=null,this.canLoadOnDemand=!0}async getLength(){return null===this.length&&await this.doInitialFetch(!0),this.length}async doInitialFetch(t){const e=await Ps(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([]):Vs(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 Ps(this.opts)).get(this.url,{start:t,end:t+e-1,signal:i});if(r)return Vs(n);{const t=[];let e=0;for await(const r of n)t.push(r),e+=r.byteLength;return nt(t,e)}}}function Vs(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 Gs(t){return new ReadableStream({start(e){e.enqueue(t),e.close()}})}class zs extends Qn{constructor(t,e=!1){super(t),this.noCache=e,this.useRefCounts=!e,this.streamMap=new Map}async loadRecordFromSource(t){const e=await this.loadSource(t.source),r=new Zn(e);return{remote:await r.load()}}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 Ks(i);const{remote:n,hasher:s}=await this.loadRecordFromSource(t);if(!n)return console.log(`No WARC Record Loaded for: ${t.url}`),null;if(!(n.url===t.url||t.method&&t.url.startsWith(n.url)))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,{...e,noRevisits:!0});if(!i)return null;const s=e&&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?(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||r[Symbol.asyncIterator]||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 Js(this,n.reader,o,t.url,this.streamMap,s,t.recordDigest,t.source)),a&&console.log("Not cacheing, too big: "+t.url),r=n.payload,!r&&!n.reader)return null;try{!r||this.noCache||a||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}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 qs extends zs{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 Qs extends zs{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),new URL(t.path,this.remoteUrlPrefix).href),n=await Ds(i);return await n.getRange(e,r,!0)}}class Ks extends ct{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}getReadableStream(){console.log(`Offset: ${this.offset}, Size: ${this.size}`);const t=this.chunkstore.getChunkIter();return new ht(t,this.size,this.offset).getReadableStream()}}class Ys{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,nt(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 Js extends ct{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 Ys(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(lt.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(),t.close()}})}}class Xs extends Jn{constructor(t){super(),this.har=t,this.pageRefs={}}async load(t){return this.db=t,"string"==typeof this.har&&(this.har=JSON.parse(this.har)),this.parseEntries(this.har),this.parsePages(this.har),await this.finishIndexing(),{}}parsePages(t){for(const e of t.log.pages){if(!e.pageTimings||!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&&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 Zs="req.http:cookie";class $s extends Xn{constructor(t,e,r,i={},n="sha256:"){super(t,e,r),this.cdxindexer=null,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=new Date(t.warcDate).getTime();if(this.pageMap[r+"/"+e])return t._isPage=!0,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 class extends class extends class{constructor(t={}){this.opts=t,this.fields=t&&t.fields?t.fields.split(","):St,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 Et(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("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;return r instanceof Map&&(r=new Headers(Object.fromEntries(r))),r.get(t.slice(5))}return null}return e.warcHeaders.headers.get(t)||null}}{constructor(t){super(t);for(let t of this.fields)if(t.startsWith("http:")){this.parseHttp=!0;break}}}{constructor(t){switch(super(t),this.includeAll=!!t?.all,this.overrideIndexForAll=!!t?.all,this.fields=Tt,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&&e.httpHeaders&&"GET"!==e.httpHeaders.method){let r={url:o,method:e.httpHeaders.method,headers:e.httpHeaders.headers,postData:e.payload};n=r.method,tt(r)&&(s=r.requestBody,t.method=n,t.requestBody=s,o=r.url)}t._urlkey=o;let a=super.indexRecord(t,r,i);return a&&(t&&void 0!==t._offset&&(a.offset=t._offset,a.length=t._length),n&&(a.method=n),s&&(a.requestBody=s)),a}serializeCDXJ(t){let{urlkey:e,timestamp:r}=t;return delete t.urlkey,delete t.timestamp,`${e} ${r} ${JSON.stringify(t)}\n`}serializeCDX11(t){let e=[];for(let r of xt)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:$(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:t="content-type"}return r=super.getField(t,e),r?r.toString().split(";",1)[0]?.trim():null;case"status":return super.getField("http:status",e);case"digest":return r=e.warcPayloadDigest,r?r.split(":",2)[1]:null;default:return null}}}({noSurt:!0},null));const i=this.cdxindexer.indexRecordPair(t,e,r,"");if(i&&(206!==i.status||this.isFullRangeRequest(t.httpHeaders.headers))){if(e&&e.httpHeaders){let t=e.httpHeaders.headers.get("cookie");t&&(i[Zs]=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=l(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[Zs]&&(c[Zs]=t[Zs]),t.method&&"GET"!==t.method&&(c.url=et(t.url,t.requestBody||"",t.method)),this.addResource(c)}}class to extends $s{async load(t,e,r){this.db=t;let i=this.reader;i.iterLines||(i=new lt(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&&this.isBatchFull()&&e(Math.round(n/r*100),null,n,r),this.addCdx(i)}await this.finishIndexing(),e&&e(100,null,r,r)}}const eo=4294967295,ro=65535;class io{constructor(t,e){this.start=t,this.length=e}}class no extends lt{constructor(t,e="gzip",r=!1){super(t,e,r)}async initHasher(){this.hasher=await Y(J,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}))}async _loadNext(){const t=await super._loadNext();return t&&this.hasher.update(t),t}getHash(){return"sha256:"+this.hasher.digest("hex")}}class so{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=await this.loader.getLength(),r=Math.min(65558,e),i=e-r,n=await this.loader.getRange(i,r);try{this.entries=this._loadEntries(n,i)}catch(t){if(t instanceof io){const e=nt([await this.loader.getRange(t.start,t.length),n],t.length+r);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-ro);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===eo||a===ro){if(117853008!==i.getUint32(l-20,!0))return void console.warn("invalid zip64 EOCD locator");const t=this.getUint64(i,l-12,!0)-e;if(101075792!==i.getUint32(t,!0))return void console.warn("invalid zip64 EOCD record");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 io(c,e-c);if(c>=r||c<0)for(c=-1,a=ro;++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===eo||a===eo||d===eo){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===eo&&n>=8&&(a=this.getUint64(i,t,!0),t+=8,n-=8),r===eo&&n>=8&&(r=this.getUint64(i,t,!0),t+=8,n-=8),d===eo&&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=null}={}){null===this.entries&&await this.load();const o=this.entries[t];if(!o)return{reader:null};if(void 0===o.offset){const t=await this.loader.getRange(o.localEntryOffset,30),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;let a=(await this.loader.getRange(e,r,!0,i)).getReader(),c=null;const l=t=>s&&this.enableHashing?(c=new no(t),c):t;return n?o.deflate?(a=new lt(new lt(a,"deflate")),a=l(a)):(a=l(a),a=new lt(a)):(a=new lt(a,o.deflate?"deflate":null),a=l(a)),c&&await c.initHasher(),{reader:a,hasher:c}}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{constructor(t,e){this.zipreader=t,this.filename=e,this.size=null}async doInitialFetch(t=!1){await this.zipreader.load(),this.size=this.zipreader.getCompressedSize(this.filename);let e=null;if(!t){const{reader:t}=await this.zipreader.loadFile(this.filename,{unzip:!0});e=Vs(t)}return{response:new Response(e)}}async getLength(){return null===this.size&&await this.doInitialFetch(!0),this.size}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?Vs(n):await n.readFully()}}class ao extends class{getLoadPath(){}getName(){}async createLoader(){}}{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}={}){super(),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}markAsMultiWACZ(){this.fileType="multi-wacz"}async init(t){t&&(this.path=t);const e=this.loader?this.loader:await this.parent.createLoader({url:this.path});return await this.initFromLoader(e)}async initFromLoader(t){return this.zipreader=new so(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[t]}getSizeOf(t){return this.zipreader?this.zipreader.getCompressedSize(t):0}serialize(){return{waczname:this.waczname,hash:this.hash,path:this.path,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))}}
|
|
45
|
+
/*! js-yaml 4.1.0 https://github.com/nodeca/js-yaml @license MIT */function co(t){return null==t}var lo={isNothing:co,isObject:function(t){return"object"==typeof t&&null!==t},toArray:function(t){return Array.isArray(t)?t:co(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 ho(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=ho(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+": "+ho(this,t)};var po=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 go(t,e){return lo.repeat(" ",e-t.length)+t}var mo=["kind","multi","resolve","construct","instanceOf","predicate","represent","representName","defaultStyle","styleAliases"],wo=["scalar","sequence","mapping"],yo=function(t,e){if(e=e||{},Object.keys(e).forEach((function(e){if(-1===mo.indexOf(e))throw new po('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===wo.indexOf(this.kind))throw new po('Unknown kind "'+this.kind+'" is specified for "'+t+'" YAML type.')};function bo(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 Ao(t){return this.extend(t)}Ao.prototype.extend=function(t){var e=[],r=[];if(t instanceof yo)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 po("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 yo))throw new po("Specified list of YAML types (or a single Type object) contains a non-Type object.");if(t.loadKind&&"scalar"!==t.loadKind)throw new po("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 po("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 yo))throw new po("Specified list of YAML types (or a single Type object) contains a non-Type object.")}));var i=Object.create(Ao.prototype);return i.implicit=(this.implicit||[]).concat(e),i.explicit=(this.explicit||[]).concat(r),i.compiledImplicit=bo(i,"implicit"),i.compiledExplicit=bo(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 _o=Ao,vo=new yo("tag:yaml.org,2002:str",{kind:"scalar",construct:function(t){return null!==t?t:""}}),Eo=new yo("tag:yaml.org,2002:seq",{kind:"sequence",construct:function(t){return null!==t?t:[]}}),So=new yo("tag:yaml.org,2002:map",{kind:"mapping",construct:function(t){return null!==t?t:{}}}),To=new _o({explicit:[vo,Eo,So]}),xo=new yo("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"}),Co=new yo("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 Io(t){return 48<=t&&t<=55}function Ro(t){return 48<=t&&t<=57}var ko=new yo("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(!Io(t.charCodeAt(n)))return!1;s=!0}return s&&"_"!==e}}if("_"===e)return!1;for(;n<i;n++)if("_"!==(e=t[n])){if(!Ro(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"]}}),No=new RegExp("^(?:[-+]?(?:[0-9][0-9_]*)(?:\\.[0-9_]*)?(?:[eE][-+]?[0-9]+)?|\\.[0-9_]+(?:[eE][-+]?[0-9]+)?|[-+]?\\.(?:inf|Inf|INF)|\\.(?:nan|NaN|NAN))$"),Oo=/^[-+]?[0-9]+e/,Bo=new yo("tag:yaml.org,2002:float",{kind:"scalar",resolve:function(t){return null!==t&&!(!No.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),Oo.test(r)?r.replace("e",".e"):r},defaultStyle:"lowercase"}),Po=To.extend({implicit:[xo,Co,ko,Bo]}),Lo=Po,Do=new RegExp("^([0-9][0-9][0-9][0-9])-([0-9][0-9])-([0-9][0-9])$"),Uo=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]))?))?$"),Mo=new yo("tag:yaml.org,2002:timestamp",{kind:"scalar",resolve:function(t){return null!==t&&(null!==Do.exec(t)||null!==Uo.exec(t))},construct:function(t){var e,r,i,n,s,o,a,c,l=0,h=null;if(null===(e=Do.exec(t))&&(e=Uo.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()}}),Fo=new yo("tag:yaml.org,2002:merge",{kind:"scalar",resolve:function(t){return"<<"===t||null===t}}),Ho="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=\n\r",Wo=new yo("tag:yaml.org,2002:binary",{kind:"scalar",resolve:function(t){if(null===t)return!1;var e,r,i=0,n=t.length,s=Ho;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=Ho,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=Ho;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}}),jo=Object.prototype.hasOwnProperty,Vo=Object.prototype.toString,Go=new yo("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]"!==Vo.call(i))return!1;for(n in i)if(jo.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:[]}}),zo=Object.prototype.toString,qo=new yo("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]"!==zo.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}}),Qo=Object.prototype.hasOwnProperty,Ko=new yo("tag:yaml.org,2002:set",{kind:"mapping",resolve:function(t){if(null===t)return!0;var e,r=t;for(e in r)if(Qo.call(r,e)&&null!==r[e])return!1;return!0},construct:function(t){return null!==t?t:{}}}),Yo=Lo.extend({implicit:[Mo,Fo],explicit:[Wo,Go,qo,Ko]}),Jo=Object.prototype.hasOwnProperty,Xo=/[\x00-\x08\x0B\x0C\x0E-\x1F\x7F-\x84\x86-\x9F\uFFFE\uFFFF]|[\uD800-\uDBFF](?![\uDC00-\uDFFF])|(?:[^\uD800-\uDBFF]|^)[\uDC00-\uDFFF]/,Zo=/[\x85\u2028\u2029]/,$o=/[,\[\]\{\}]/,ta=/^(?:!|!!|![a-z\-]+!)$/i,ea=/^(?:!|[^,\[\]\{\}])(?:%[0-9a-f]{2}|[0-9a-z\-#;\/\?:@&=\+\$,_\.!~\*'\(\)\[\]])*$/i;function ra(t){return Object.prototype.toString.call(t)}function ia(t){return 10===t||13===t}function na(t){return 9===t||32===t}function sa(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 aa(t){var e;return 48<=t&&t<=57?t-48:97<=(e=32|t)&&e<=102?e-97+10:-1}function ca(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 ha=new Array(256),ua=new Array(256),pa=0;pa<256;pa++)ha[pa]=ca(pa)?1:0,ua[pa]=ca(pa);function da(t,e){this.input=t,this.filename=e.filename||null,this.schema=e.schema||Yo,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 fa(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=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=lo.repeat(" ",e.indent)+go((t.line-a+1).toString(),h)+" | "+c.str+"\n"+l;for(c=fo(t.buffer,n[o],s[o],t.position,u),l+=lo.repeat(" ",e.indent)+go((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=fo(t.buffer,n[o+a],s[o+a],t.position-(n[o]-n[o+a]),u),l+=lo.repeat(" ",e.indent)+go((t.line+a+1).toString(),h)+" | "+c.str+"\n";return l.replace(/\n$/,"")}(r),new po(e,r)}function ga(t,e){throw fa(t,e)}function ma(t,e){t.onWarning&&t.onWarning.call(null,fa(t,e))}var wa={YAML:function(t,e,r){var i,n,s;null!==t.version&&ga(t,"duplication of %YAML directive"),1!==r.length&&ga(t,"YAML directive accepts exactly one argument"),null===(i=/^([0-9]+)\.([0-9]+)$/.exec(r[0]))&&ga(t,"ill-formed argument of the YAML directive"),n=parseInt(i[1],10),s=parseInt(i[2],10),1!==n&&ga(t,"unacceptable YAML version of the document"),t.version=r[0],t.checkLineBreaks=s<2,1!==s&&2!==s&&ma(t,"unsupported YAML version of the document")},TAG:function(t,e,r){var i,n;2!==r.length&&ga(t,"TAG directive accepts exactly two arguments"),i=r[0],n=r[1],ta.test(i)||ga(t,"ill-formed tag handle (first argument) of the TAG directive"),Jo.call(t.tagMap,i)&&ga(t,'there is a previously declared suffix for "'+i+'" tag handle'),ea.test(n)||ga(t,"ill-formed tag prefix (second argument) of the TAG directive");try{n=decodeURIComponent(n)}catch(e){ga(t,"tag prefix is malformed: "+n)}t.tagMap[i]=n}};function ya(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||ga(t,"expected valid JSON character");else Xo.test(a)&&ga(t,"the stream contains non-printable characters");t.result+=a}}function ba(t,e,r,i){var n,s,o,a;for(lo.isObject(r)||ga(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],Jo.call(e,s)||(e[s]=r[s],i[s]=!0)}function Aa(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])&&ga(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)ba(t,e,s[l],r);else ba(t,e,s,r);else t.json||Jo.call(r,n)||!Jo.call(e,n)||(t.line=o||t.line,t.lineStart=a||t.lineStart,t.position=c||t.position,ga(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 _a(t){var e;10===(e=t.input.charCodeAt(t.position))?t.position++:13===e?(t.position++,10===t.input.charCodeAt(t.position)&&t.position++):ga(t,"a line break is expected"),t.line+=1,t.lineStart=t.position,t.firstTabInLine=-1}function va(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(!ia(n))break;for(_a(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&&ma(t,"deficient indentation"),i}function Ea(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))&&!sa(e)))}function Sa(t,e){1===e?t.result+=" ":e>1&&(t.result+=lo.repeat("\n",e-1))}function Ta(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,ga(t,"tab characters must not be used in indentation")),45===i)&&sa(t.input.charCodeAt(t.position+1));)if(a=!0,t.position++,va(t,!0,-1)&&t.lineIndent<=e)o.push(null),i=t.input.charCodeAt(t.position);else if(r=t.line,Ia(t,e,3,!1,!0),o.push(t.result),va(t,!0,-1),i=t.input.charCodeAt(t.position),(t.line===r||t.lineIndent>e)&&0!==i)ga(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 xa(t){var e,r,i,n,s=!1,o=!1;if(33!==(n=t.input.charCodeAt(t.position)))return!1;if(null!==t.tag&&ga(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)):ga(t,"unexpected end of the stream within a verbatim tag")}else{for(;0!==n&&!sa(n);)33===n&&(o?ga(t,"tag suffix cannot contain exclamation marks"):(r=t.input.slice(e-1,t.position+1),ta.test(r)||ga(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),$o.test(i)&&ga(t,"tag suffix cannot contain flow indicator characters")}i&&!ea.test(i)&&ga(t,"tag name cannot contain such characters: "+i);try{i=decodeURIComponent(i)}catch(e){ga(t,"tag name is malformed: "+i)}return s?t.tag=i:Jo.call(t.tagMap,r)?t.tag=t.tagMap[r]+i:"!"===r?t.tag="!"+i:"!!"===r?t.tag="tag:yaml.org,2002:"+i:ga(t,'undeclared tag handle "'+r+'"'),!0}function Ca(t){var e,r;if(38!==(r=t.input.charCodeAt(t.position)))return!1;for(null!==t.anchor&&ga(t,"duplication of an anchor property"),r=t.input.charCodeAt(++t.position),e=t.position;0!==r&&!sa(r)&&!oa(r);)r=t.input.charCodeAt(++t.position);return t.position===e&&ga(t,"name of an anchor node must contain at least one character"),t.anchor=t.input.slice(e,t.position),!0}function Ia(t,e,r,i,n){var s,o,a,c,l,h,u,p,d,f=1,g=!1,m=!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&&va(t,!0,-1)&&(g=!0,t.lineIndent>e?f=1:t.lineIndent===e?f=0:t.lineIndent<e&&(f=-1)),1===f)for(;xa(t)||Ca(t);)va(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&&(Ta(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,m=null,w=!1,y=!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(w||-1===t.firstTabInLine||(t.position=t.firstTabInLine,ga(t,"tab characters must not be used in indentation")),i=t.input.charCodeAt(t.position+1),s=t.line,63!==l&&58!==l||!sa(i)){if(o=t.line,a=t.lineStart,c=t.position,!Ia(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)sa(l=t.input.charCodeAt(++t.position))||ga(t,"a whitespace character is expected after the key-value separator within a block mapping"),w&&(Aa(t,p,d,f,g,null,o,a,c),f=g=m=null),y=!0,w=!1,n=!1,f=t.tag,g=t.result;else{if(!y)return t.tag=h,t.anchor=u,!0;ga(t,"can not read an implicit mapping pair; a colon is missed")}}else{if(!y)return t.tag=h,t.anchor=u,!0;ga(t,"can not read a block mapping entry; a multiline key may not be an implicit key")}}else 63===l?(w&&(Aa(t,p,d,f,g,null,o,a,c),f=g=m=null),y=!0,w=!0,n=!0):w?(w=!1,n=!0):ga(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)&&(w&&(o=t.line,a=t.lineStart,c=t.position),Ia(t,e,4,!0,n)&&(w?g=t.result:m=t.result),w||(Aa(t,p,d,f,g,m,o,a,c),f=g=m=null),va(t,!0,-1),l=t.input.charCodeAt(t.position)),(t.line===s||t.lineIndent>e)&&0!==l)ga(t,"bad indentation of a mapping entry");else if(t.lineIndent<e)break}return w&&Aa(t,p,d,f,g,null,o,a,c),y&&(t.tag=h,t.anchor=u,t.kind="mapping",t.result=p),y}(t,d,p))||function(t,e){var r,i,n,s,o,a,c,l,h,u,p,d,f=!0,g=t.tag,m=t.anchor,w=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(va(t,!0,e),(d=t.input.charCodeAt(t.position))===o)return t.position++,t.tag=g,t.anchor=m,t.kind=l?"mapping":"sequence",t.result=s,!0;f?44===d&&ga(t,"expected the node content, but found ','"):ga(t,"missed comma between flow collection entries"),p=null,a=c=!1,63===d&&sa(t.input.charCodeAt(t.position+1))&&(a=c=!0,t.position++,va(t,!0,e)),r=t.line,i=t.lineStart,n=t.position,Ia(t,e,1,!1,!0),u=t.tag,h=t.result,va(t,!0,e),d=t.input.charCodeAt(t.position),!c&&t.line!==r||58!==d||(a=!0,d=t.input.charCodeAt(++t.position),va(t,!0,e),Ia(t,e,1,!1,!0),p=t.result),l?Aa(t,s,w,u,h,p,r,i,n):a?s.push(Aa(t,null,w,u,h,p,r,i,n)):s.push(h),va(t,!0,e),44===(d=t.input.charCodeAt(t.position))?(f=!0,d=t.input.charCodeAt(++t.position)):f=!1}ga(t,"unexpected end of the stream within a flow collection")}(t,p)?m=!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:ga(t,"repeat of a chomping mode identifier");else{if(!((n=48<=(o=s)&&o<=57?o-48:-1)>=0))break;0===n?ga(t,"bad explicit indentation width of a block scalar; it cannot be less than one"):l?ga(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(!ia(s)&&0!==s)}for(;0!==s;){for(_a(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),ia(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;!ia(s)&&0!==s;)s=t.input.charCodeAt(++t.position);ya(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(ya(t,i,t.position,!0),39!==(r=t.input.charCodeAt(++t.position)))return!0;i=t.position,t.position++,n=t.position}else ia(r)?(ya(t,i,n,!0),Sa(t,va(t,!1,e)),i=n=t.position):t.position===t.lineStart&&Ea(t)?ga(t,"unexpected end of the document within a single quoted scalar"):(t.position++,n=t.position);ga(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 ya(t,r,t.position,!0),t.position++,!0;if(92===a){if(ya(t,r,t.position,!0),ia(a=t.input.charCodeAt(++t.position)))va(t,!1,e);else if(a<256&&ha[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=aa(a=t.input.charCodeAt(++t.position)))>=0?s=(s<<4)+o:ga(t,"expected hexadecimal character");t.result+=la(s),t.position++}else ga(t,"unknown escape sequence");r=i=t.position}else ia(a)?(ya(t,r,i,!0),Sa(t,va(t,!1,e)),r=i=t.position):t.position===t.lineStart&&Ea(t)?ga(t,"unexpected end of the document within a double quoted scalar"):(t.position++,i=t.position)}ga(t,"unexpected end of the stream within a double quoted scalar")}(t,p)?m=!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&&!sa(i)&&!oa(i);)i=t.input.charCodeAt(++t.position);return t.position===e&&ga(t,"name of an alias node must contain at least one character"),r=t.input.slice(e,t.position),Jo.call(t.anchorMap,r)||ga(t,'unidentified alias "'+r+'"'),t.result=t.anchorMap[r],va(t,!0,-1),!0}(t)?(m=!0,null===t.tag&&null===t.anchor||ga(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(sa(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)&&(sa(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(sa(i=t.input.charCodeAt(t.position+1))||r&&oa(i))break}else if(35===h){if(sa(t.input.charCodeAt(t.position-1)))break}else{if(t.position===t.lineStart&&Ea(t)||r&&oa(h))break;if(ia(h)){if(a=t.line,c=t.lineStart,l=t.lineIndent,va(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&&(ya(t,n,s,!1),Sa(t,t.line-a),n=s=t.position,o=!1),na(h)||(s=t.position+1),h=t.input.charCodeAt(++t.position)}return ya(t,n,s,!1),!!t.result||(t.kind=u,t.result=p,!1)}(t,p,1===r)&&(m=!0,null===t.tag&&(t.tag="?")),null!==t.anchor&&(t.anchorMap[t.anchor]=t.result)):0===f&&(m=a&&Ta(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&&ga(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(Jo.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||ga(t,"unknown tag !<"+t.tag+">"),null!==t.result&&u.kind!==t.kind&&ga(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)):ga(t,"cannot resolve a node with !<"+t.tag+"> explicit tag")}return null!==t.listener&&t.listener("close",t),null!==t.tag||null!==t.anchor||m}function Ra(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))&&(va(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&&!sa(n);)n=t.input.charCodeAt(++t.position);for(i=[],(r=t.input.slice(e,t.position)).length<1&&ga(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&&!ia(n));break}if(ia(n))break;for(e=t.position;0!==n&&!sa(n);)n=t.input.charCodeAt(++t.position);i.push(t.input.slice(e,t.position))}0!==n&&_a(t),Jo.call(wa,r)?wa[r](t,r,i):ma(t,'unknown document directive "'+r+'"')}va(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,va(t,!0,-1)):o&&ga(t,"directives end mark is expected"),Ia(t,t.lineIndent-1,4,!1,!0),va(t,!0,-1),t.checkLineBreaks&&Zo.test(t.input.slice(s,t.position))&&ma(t,"non-ASCII line breaks are interpreted as content"),t.documents.push(t.result),t.position===t.lineStart&&Ea(t)?46===t.input.charCodeAt(t.position)&&(t.position+=3,va(t,!0,-1)):t.position<t.length-1&&ga(t,"end of the stream or a document separator is expected")}function ka(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 da(t,e),i=t.indexOf("\0");for(-1!==i&&(r.position=i,ga(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;)Ra(r);return r.documents}var Na={loadAll:function(t,e,r){null!==e&&"object"==typeof e&&void 0===r&&(r=e,e=null);var i=ka(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=ka(t,e);if(0!==r.length){if(1===r.length)return r[0];throw new po("expected a single document in the stream, but found more")}}},Oa=Object.prototype.toString,Ba=Object.prototype.hasOwnProperty,Pa=65279,La={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"},Da=["y","Y","yes","Yes","YES","on","On","ON","n","N","no","No","NO","off","Off","OFF"],Ua=/^[-+]?[0-9_]+(?::[0-9_]+)+(?:\.[0-9_]*)?$/;function Ma(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 po("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 Fa(t){this.schema=t.schema||Yo,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])&&Ba.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 Ha(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 Wa(t,e){return"\n"+lo.repeat(" ",t.indent*e)}function ja(t){return 32===t||9===t}function Va(t){return 32<=t&&t<=126||161<=t&&t<=55295&&8232!==t&&8233!==t||57344<=t&&t<=65533&&t!==Pa||65536<=t&&t<=1114111}function Ga(t){return Va(t)&&t!==Pa&&13!==t&&10!==t}function za(t,e,r){var i=Ga(t),n=i&&!ja(t);return(r?i:i&&44!==t&&91!==t&&93!==t&&123!==t&&125!==t)&&35!==t&&!(58===e&&!n)||Ga(e)&&!ja(e)&&35===t||58===e&&n}function qa(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 Qa(t){return/^\n* /.test(t)}function Ka(t,e,r,i,n){t.dump=function(){if(0===e.length)return 2===t.quotingType?'""':"''";if(!t.noCompatMode&&(-1!==Da.indexOf(e)||Ua.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,m=Va(l=qa(t,0))&&l!==Pa&&!ja(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!ja(t)&&58!==t}(qa(t,t.length-1));if(e||o)for(c=0;c<t.length;h>=65536?c+=2:c++){if(!Va(h=qa(t,c)))return 5;m=m&&za(h,u,a),u=h}else{for(c=0;c<t.length;h>=65536?c+=2:c++){if(10===(h=qa(t,c)))p=!0,f&&(d=d||c-g-1>i&&" "!==t[g+1],g=c);else if(!Va(h))return 5;m=m&&za(h,u,a),u=h}d=d||f&&c-g-1>i&&" "!==t[g+1]}return p||d?r>9&&Qa(t)?5:o?2===s?5:2:d?4:3:!m||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"|"+Ya(e,t.indent)+Ja(Ha(e,s));case 4:return">"+Ya(e,t.indent)+Ja(Ha(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,Xa(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")+Xa(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=qa(t,n),!(e=La[i])&&Va(i)?(r+=t[n],i>=65536&&(r+=t[n+1])):r+=e||Ma(i);return r}(e)+'"';default:throw new po("impossible error: invalid scalar style")}}()}function Ya(t,e){var r=Qa(t)?String(e):"",i="\n"===t[t.length-1];return r+(!i||"\n"!==t[t.length-2]&&"\n"!==t?i?"":"-":"+")+"\n"}function Ja(t){return"\n"===t[t.length-1]?t.slice(0,-1):t}function Xa(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 Za(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+=Wa(t,e)),t.dump&&10===t.dump.charCodeAt(0)?a+="-":a+="- ",a+=t.dump);t.tag=c,t.dump=a||"[]"}function $a(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]"===Oa.call(a.represent))i=a.represent(e,c);else{if(!Ba.call(a.represent,c))throw new po("!<"+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,$a(t,r,!1)||$a(t,r,!0);var a,c=Oa.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 po("sortKeys must be a boolean or a function");for(n=0,s=p.length;n<s;n+=1)l="",i&&""===h||(l+=Wa(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+=Wa(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?Za(t,e-1,t.dump,n):Za(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 po("unacceptable kind of an object to dump "+c)}"?"!==t.tag&&Ka(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 ec(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 ic(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:yo,Schema:_o,FAILSAFE_SCHEMA:To,JSON_SCHEMA:Po,CORE_SCHEMA:Lo,DEFAULT_SCHEMA:Yo,load:Na.load,loadAll:Na.loadAll,dump:function(t,e){var r=new Fa(e=e||{});r.noRefs||ec(t,r);var i=t;return r.replacer&&(i=r.replacer.call({"":i},"",i)),tc(r,0,i,!0,!0)?r.dump+"\n":""},YAMLException:po,types:{binary:Wo,float:Bo,map:So,null:xo,pairs:qo,set:Ko,timestamp:Mo,bool:Co,int:ko,merge:Fo,omap:Go,seq:Eo,str:vo},safeLoad:ic("safeLoad","load"),safeLoadAll:ic("safeLoadAll","loadAll"),safeDump:ic("safeDump","dump")};var sc=r(9742),oc=(r(8660),r(4585));function ac(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 cc(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 hc(){const t=new Uint8Array(this.valueHex);if(this.valueHex.byteLength>=2){const e=255===t[0]&&128&t[1],r=0===t[0]&&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=ac(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,ac(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)}
|
|
46
46
|
/*!
|
|
47
47
|
* Copyright (c) 2014, GMO GlobalSign
|
|
48
48
|
* Copyright (c) 2015-2022, Peculiar Ventures
|
|
@@ -76,7 +76,7 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
76
76
|
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
|
77
77
|
*
|
|
78
78
|
*/
|
|
79
|
-
function hc(){if("undefined"==typeof BigInt)throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function uc(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 pc(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 dc{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return uc(this.items)}}const fc=[new Uint8Array([1])],gc="0123456789",mc="name",wc="valueHexView",yc="",bc=new ArrayBuffer(0),Ac=new Uint8Array(0),_c="EndOfContent",vc="OCTET STRING",Ec="BIT STRING";function Sc(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?nc.vJ.toUint8Array(r.valueHex):Ac}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(!pc(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",bc)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:nc.ep.ToHex(this.valueHexView)}}}).NAME="hexBlock",e}class Tc{constructor({blockLength:t=0,error:e="",warnings:r=[],valueBeforeDecode:i=Ac}={}){this.blockLength=t,this.error=e,this.warnings=r,this.valueBeforeDecodeView=nc.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:nc.ep.ToHex(this.valueBeforeDecodeView)}}}Tc.NAME="baseBlock";class xc extends Tc{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'")}}xc.NAME="valueBlock";class Cc extends(Sc(Tc)){constructor({idBlock:t={}}={}){var e,r,i,n;super(),t?(this.isHexOnly=null!==(e=t.isHexOnly)&&void 0!==e&&e,this.valueHexView=t.valueHex?nc.vJ.toUint8Array(t.valueHex):Ac,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",bc}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=oc(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=nc.vJ.toUint8Array(t);if(!pc(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==(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=sc(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}}}Cc.NAME="identificationBlock";class Ic extends Tc{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=nc.vJ.toUint8Array(t);if(!pc(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=sc(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=oc(this.length,8);if(i.byteLength>127)return this.error="Too big length",bc;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}}}Ic.NAME="lengthBlock";const Rc={};class kc extends Tc{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 Cc(i),this.lenBlock=new Ic(i),this.valueBlock=n?new n(i):new xc(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 dc;e||Nc(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?bc: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():nc.ep.ToHex(this.toBER())}onAsciiEncoding(){return`${this.constructor.NAME} : ${nc.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 Nc(t){if(t instanceof Rc.Constructed)for(const e of t.valueBlock.value)Nc(e)&&(t.lenBlock.isIndefiniteForm=!0);return!!t.lenBlock.isIndefiniteForm}kc.NAME="BaseBlock";class Oc extends kc{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}'`}}Oc.NAME="BaseStringBlock";class Bc extends(Sc(xc)){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}}var Pc,Lc,Dc,Uc,Mc,Fc,Hc,Wc,jc,Vc,Gc,zc,qc,Qc,Kc,Yc,Jc,Xc,Zc,$c,tl,el,rl,il,nl,sl,ol,al,cl,ll,hl,ul,pl,dl,fl;Bc.NAME="PrimitiveValueBlock";class gl extends kc{constructor(t={}){super(t,Bc),this.idBlock.isConstructed=!1}}function ml(t,e=0,r=t.length){const i=e;let n=new kc({},xc);const s=new Tc;if(!pc(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=kc;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=Rc.EndOfContent;break;case 1:a=Rc.Boolean;break;case 2:a=Rc.Integer;break;case 3:a=Rc.BitString;break;case 4:a=Rc.OctetString;break;case 5:a=Rc.Null;break;case 6:a=Rc.ObjectIdentifier;break;case 10:a=Rc.Enumerated;break;case 12:a=Rc.Utf8String;break;case 13:a=Rc.RelativeObjectIdentifier;break;case 14:a=Rc.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:a=Rc.Sequence;break;case 17:a=Rc.Set;break;case 18:a=Rc.NumericString;break;case 19:a=Rc.PrintableString;break;case 20:a=Rc.TeletexString;break;case 21:a=Rc.VideotexString;break;case 22:a=Rc.IA5String;break;case 23:a=Rc.UTCTime;break;case 24:a=Rc.GeneralizedTime;break;case 25:a=Rc.GraphicString;break;case 26:a=Rc.VisibleString;break;case 27:a=Rc.GeneralString;break;case 28:a=Rc.UniversalString;break;case 29:a=Rc.CharacterString;break;case 30:a=Rc.BmpString;break;case 31:a=Rc.DATE;break;case 32:a=Rc.TimeOfDay;break;case 33:a=Rc.DateTime;break;case 34:a=Rc.Duration;break;default:{const t=n.idBlock.isConstructed?new Rc.Constructed:new Rc.Primitive;t.idBlock=n.idBlock,t.lenBlock=n.lenBlock,t.warnings=n.warnings,n=t}}}else a=n.idBlock.isConstructed?Rc.Constructed:Rc.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 wl(t){if(!t.byteLength){const t=new kc({},xc);return t.error="Input buffer has zero length",{offset:-1,result:t}}return ml(nc.vJ.toUint8Array(t).slice(),0,t.byteLength)}Pc=gl,Rc.Primitive=Pc,gl.NAME="PRIMITIVE";class yl extends xc{constructor({value:t=[],isIndefiniteForm:e=!1,...r}={}){super(r),this.value=t,this.isIndefiniteForm=e}fromBER(t,e,r){const i=nc.vJ.toUint8Array(t);if(!pc(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(;(this.isIndefiniteForm?1:r)>0;){const t=ml(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===_c)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===_c?this.value.pop():this.warnings.push("No EndOfContent block encoded")),n}toBER(t,e){const r=e||new dc;for(let e=0;e<this.value.length;e++)this.value[e].toBER(t,r);return e?bc:r.final()}toJSON(){const t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const e of this.value)t.value.push(e.toJSON());return t}}yl.NAME="ConstructedValueBlock";class bl extends kc{constructor(t={}){super(t,yl),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} :`}}Lc=bl,Rc.Constructed=Lc,bl.NAME="CONSTRUCTED";class Al extends xc{fromBER(t,e,r){return e}toBER(t){return bc}}Al.override="EndOfContentValueBlock";class _l extends kc{constructor(t={}){super(t,Al),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}Dc=_l,Rc.EndOfContent=Dc,_l.NAME=_c;class vl extends kc{constructor(t={}){super(t,xc),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}`}}Uc=vl,Rc.Null=Uc,vl.NAME="NULL";class El extends(Sc(xc)){constructor({value:t,...e}={}){super(e),e.valueHex?this.valueHexView=nc.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=nc.vJ.toUint8Array(t);return pc(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,cc.call(this),this.blockLength=r,e+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}El.NAME="BooleanValueBlock";class Sl extends kc{constructor(t={}){super(t,El),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}`}}Mc=Sl,Rc.Boolean=Mc,Sl.NAME="BOOLEAN";class Tl extends(Sc(yl)){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=yl.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===_c){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(e!==vc)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?yl.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}Tl.NAME="OctetStringValueBlock";class xl extends kc{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},Tl),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=ml(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?bl.prototype.onAsciiEncoding.call(this):`${this.constructor.NAME} : ${nc.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 xl&&t.push(e.valueBlock.valueHexView);return nc.vJ.concat(t)}}Fc=xl,Rc.OctetString=Fc,xl.NAME=vc;class Cl extends(Sc(yl)){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=yl.prototype.fromBER.call(this,t,e,r),-1===i)return i;for(const t of this.value){const e=t.constructor.NAME;if(e===_c){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(e!==Ec)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=nc.vJ.toUint8Array(t);if(!pc(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=ml(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 yl.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return bc;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}}}Cl.NAME="BitStringValueBlock";class Il extends kc{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},Cl),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 bl.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 Rl(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=ac(new Uint8Array([l%10]),s):s[o-h]=l%10;return r[0]>0&&(s=ac(r,s)),s}function kl(t){if(t>=fc.length)for(let e=fc.length;e<=t;e++){const t=new Uint8Array([0]);let r=fc[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=ac(t,r)),fc.push(r)}return fc[t]}function Nl(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()}Hc=Il,Rc.BitString=Hc,Il.NAME=Ec;class Ol extends(Sc(xc)){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=cc.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=oc(r-e,8,i);return new Uint8Array(t)[0]|=128,t}let n=oc(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]&&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 0!=(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]&&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==(1&e)&&(i===t?(r=Nl(kl(i),r),s="-"):r=Rl(r,kl(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}}Wc=Ol,Ol.NAME="IntegerValueBlock",Object.defineProperty(Wc.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});class Bl extends kc{constructor(t={}){super(t,Ol),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return hc(),BigInt(this.valueBlock.toString())}static fromBigInt(t){hc();const e=BigInt(t),r=new dc,i=e.toString(16).replace(/^-/,""),n=new Uint8Array(nc.ep.FromHex(i));if(e<0){const t=new Uint8Array(n.length+(128&n[0]?1:0));t[0]|=128;const i=BigInt(`0x${nc.ep.ToHex(t)}`)+e,s=nc.vJ.toUint8Array(nc.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 Bl({valueHex:r.final()})}convertToDER(){const t=new Bl({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new Bl({valueHex:0===this.valueBlock.valueHexView[0]?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}jc=Bl,Rc.Integer=jc,Bl.NAME="INTEGER";class Pl extends Bl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}Vc=Pl,Rc.Enumerated=Vc,Pl.NAME="ENUMERATED";class Ll extends(Sc(xc)){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=nc.vJ.toUint8Array(t);if(!pc(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++,0!=(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,0!=(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=sc(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){hc();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=oc(this.valueDec,7);if(0===e.byteLength)return this.error="Error during encoding SID value",bc;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=nc.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}}}Ll.NAME="sidBlock";class Dl extends xc{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 Ll;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,bc;e.push(i)}return uc(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 Ll;if(i>Number.MAX_SAFE_INTEGER){hc();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}}Dl.NAME="ObjectIdentifierValueBlock";class Ul extends kc{constructor(t={}){super(t,Dl),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()}}}Gc=Ul,Rc.ObjectIdentifier=Gc,Ul.NAME="OBJECT IDENTIFIER";class Ml extends(Sc(Tc)){constructor({valueDec:t=0,...e}={}){super(e),this.valueDec=t}fromBER(t,e,r){if(0===r)return e;const i=nc.vJ.toUint8Array(t);if(!pc(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++,0!=(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,0!=(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=sc(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=oc(this.valueDec,7);if(0===e.byteLength)return this.error="Error during encoding SID value",bc;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?nc.ep.ToHex(this.valueHexView):this.valueDec.toString(),t}toJSON(){return{...super.toJSON(),valueDec:this.valueDec}}}Ml.NAME="relativeSidBlock";class Fl extends xc{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 Ml;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,bc;r.push(i)}return uc(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 Ml;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}}Fl.NAME="RelativeObjectIdentifierValueBlock";class Hl extends kc{constructor(t={}){super(t,Fl),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()}}}zc=Hl,Rc.RelativeObjectIdentifier=zc,Hl.NAME="RelativeObjectIdentifier";class Wl extends bl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}qc=Wl,Rc.Sequence=qc,Wl.NAME="SEQUENCE";class jl extends bl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}}Qc=jl,Rc.Set=Qc,jl.NAME="SET";class Vl extends(Sc(xc)){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=yc}toJSON(){return{...super.toJSON(),value:this.value}}}Vl.NAME="StringValueBlock";class Gl extends Vl{}Gl.NAME="SimpleStringValueBlock";class zl extends Oc{constructor({...t}={}){super(t,Gl)}fromBuffer(t){this.valueBlock.value=String.fromCharCode.apply(null,nc.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}}zl.NAME="SIMPLE STRING";class ql extends zl{fromBuffer(t){this.valueBlock.valueHexView=nc.vJ.toUint8Array(t);try{this.valueBlock.value=nc.ep.ToUtf8String(t)}catch(e){this.warnings.push(`Error during "decodeURIComponent": ${e}, using raw string`),this.valueBlock.value=nc.ep.ToBinary(t)}}fromString(t){this.valueBlock.valueHexView=new Uint8Array(nc.ep.FromUtf8String(t)),this.valueBlock.value=t}}ql.NAME="Utf8StringValueBlock";class Ql extends ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}Kc=Ql,Rc.Utf8String=Kc,Ql.NAME="UTF8String";class Kl extends zl{fromBuffer(t){this.valueBlock.value=nc.ep.ToUtf16String(t),this.valueBlock.valueHexView=nc.vJ.toUint8Array(t)}fromString(t){this.valueBlock.value=t,this.valueBlock.valueHexView=new Uint8Array(nc.ep.FromUtf16String(t))}}Kl.NAME="BmpStringValueBlock";class Yl extends Kl{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}Yc=Yl,Rc.BmpString=Yc,Yl.NAME="BMPString";class Jl extends zl{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=oc(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}}Jl.NAME="UniversalStringValueBlock";class Xl extends Jl{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}Jc=Xl,Rc.UniversalString=Jc,Xl.NAME="UniversalString";class Zl extends zl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}Xc=Zl,Rc.NumericString=Xc,Zl.NAME="NumericString";class $l extends zl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}Zc=$l,Rc.PrintableString=Zc,$l.NAME="PrintableString";class th extends zl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}$c=th,Rc.TeletexString=$c,th.NAME="TeletexString";class eh extends zl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}tl=eh,Rc.VideotexString=tl,eh.NAME="VideotexString";class rh extends zl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}el=rh,Rc.IA5String=el,rh.NAME="IA5String";class ih extends zl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}rl=ih,Rc.GraphicString=rl,ih.NAME="GraphicString";class nh extends zl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}il=nh,Rc.VisibleString=il,nh.NAME="VisibleString";class sh extends zl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}nl=sh,Rc.GeneralString=nl,sh.NAME="GeneralString";class oh extends zl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}sl=oh,Rc.CharacterString=sl,oh.NAME="CharacterString";class ah extends nh{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,nc.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]=lc(this.year<2e3?this.year-1900:this.year-2e3,2),t[1]=lc(this.month,2),t[2]=lc(this.day,2),t[3]=lc(this.hour,2),t[4]=lc(this.minute,2),t[5]=lc(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}}}ol=ah,Rc.UTCTime=ol,ah.NAME="UTCTime";class ch extends ah{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(lc(this.year,4)),t.push(lc(this.month,2)),t.push(lc(this.day,2)),t.push(lc(this.hour,2)),t.push(lc(this.minute,2)),t.push(lc(this.second,2)),0!==this.millisecond&&(t.push("."),t.push(lc(this.millisecond,3))),t.push("Z"),t.join("")}return super.toString(t)}toJSON(){return{...super.toJSON(),millisecond:this.millisecond}}}al=ch,Rc.GeneralizedTime=al,ch.NAME="GeneralizedTime";class lh extends Ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}cl=lh,Rc.DATE=cl,lh.NAME="DATE";class hh extends Ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}ll=hh,Rc.TimeOfDay=ll,hh.NAME="TimeOfDay";class uh extends Ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}hl=uh,Rc.DateTime=hl,uh.NAME="DateTime";class ph extends Ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}ul=ph,Rc.Duration=ul,ph.NAME="Duration";class dh extends Ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}pl=dh,Rc.TIME=pl,dh.NAME="TIME";class fh{constructor({name:t="",optional:e=!1}={}){this.name=t,this.optional=e}}class gh extends fh{constructor({value:t=[],...e}={}){super(e),this.value=t}}class mh extends fh{constructor({value:t=new fh,local:e=!1,...r}={}){super(r),this.value=t,this.local=e}}class wh{constructor({data:t=Ac}={}){this.dataView=nc.vJ.toUint8Array(t)}get data(){return this.dataView.slice().buffer}set data(t){this.dataView=nc.vJ.toUint8Array(t)}fromBER(t,e,r){const i=e+r;return this.dataView=nc.vJ.toUint8Array(t).subarray(e,i),i}toBER(t){return this.dataView.slice().buffer}}function yh(t,e,r){if(r instanceof gh){for(let i=0;i<r.value.length;i++)if(yh(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(mc)&&(t.name=r.name),t}}if(r instanceof fh)return r.hasOwnProperty(mc)&&(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(wc 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,yc),r.name&&(t[r.name]=e)),r instanceof Rc.Constructed){let i=0,n={verified:!1,result:{error:"Unknown error"}},s=r.valueBlock.value.length;if(s>0&&r.valueBlock.value[0]instanceof mh&&(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,yc),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,yc),r.name&&(delete t[r.name],e.name=r.name)),e}}else if(r.valueBlock.value[0]instanceof mh){if(n=yh(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,yc),r.name&&delete t[r.name]),n;i++}if(mc 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=yh(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,yc),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,yc),r.name&&(delete t[r.name],e.name=r.name)),e}return{verified:!0,result:t}}if(r.primitiveSchema&&wc in e.valueBlock){const i=ml(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,yc),r.name&&(delete t[r.name],e.name=r.name)),e}return yh(t,i.result,r.primitiveSchema)}return{verified:!0,result:t}}function bh(t,e){if(e instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const r=ml(nc.vJ.toUint8Array(t));return-1===r.offset?{verified:!1,result:r.result}:yh(r.result,r.result,e)}!function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"}(dl||(dl={})),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"}(fl||(fl={}));class Ah{constructor(t,e=0){if(this.unusedBits=0,this.value=new ArrayBuffer(0),t)if("number"==typeof t)this.fromNumber(t);else{if(!nc.vJ.isBufferSource(t))throw TypeError("Unsupported type of 'params' argument for BitString");this.unusedBits=e,this.value=nc.vJ.toArrayBuffer(t)}}fromASN(t){if(!(t instanceof Il))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 Il({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(t){return new Il({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 _h{constructor(t){"number"==typeof t?this.buffer=new ArrayBuffer(t):nc.vJ.isBufferSource(t)?this.buffer=nc.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 xl))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=t.valueBlock.valueHex,this}toASN(){return new xl({valueHex:this.buffer})}toSchema(t){return new xl({name:t})}}const vh={fromASN:t=>t instanceof vl?null:t.valueBeforeDecodeView,toASN:t=>{if(null===t)return new vl;const e=wl(t);if(e.result.error)throw new Error(e.result.error);return e.result}},Eh={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new Bl({value:+t})},Sh={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new Pl({value:t})},Th={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new Bl({valueHex:t})},xh={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new Il({valueHex:t})},Ch={fromASN:t=>t.valueBlock.toString(),toASN:t=>new Ul({value:t})},Ih={fromASN:t=>t.valueBlock.value,toASN:t=>new Sl({value:t})},Rh={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new xl({valueHex:t})},kh={fromASN:t=>new _h(t.getValue()),toASN:t=>t.toASN()};function Nh(t){return{fromASN:t=>t.valueBlock.value,toASN:e=>new t({value:e})}}const Oh=Nh(Ql),Bh=Nh(Yl),Ph=Nh(Xl),Lh=Nh(Zl),Dh=Nh($l),Uh=Nh(th),Mh=Nh(eh),Fh=Nh(rh),Hh=Nh(ih),Wh=Nh(nh),jh=Nh(sh),Vh=Nh(oh),Gh={fromASN:t=>t.toDate(),toASN:t=>new ah({valueDate:t})},zh={fromASN:t=>t.toDate(),toASN:t=>new ch({valueDate:t})},qh={fromASN:()=>null,toASN:()=>new vl};function Qh(t){switch(t){case fl.Any:return vh;case fl.BitString:return xh;case fl.BmpString:return Bh;case fl.Boolean:return Ih;case fl.CharacterString:return Vh;case fl.Enumerated:return Sh;case fl.GeneralString:return jh;case fl.GeneralizedTime:return zh;case fl.GraphicString:return Hh;case fl.IA5String:return Fh;case fl.Integer:return Eh;case fl.Null:return qh;case fl.NumericString:return Lh;case fl.ObjectIdentifier:return Ch;case fl.OctetString:return Rh;case fl.PrintableString:return Dh;case fl.TeletexString:return Uh;case fl.UTCTime:return Gh;case fl.UniversalString:return Ph;case fl.Utf8String:return Oh;case fl.VideotexString:return Mh;case fl.VisibleString:return Wh;default:return null}}function Kh(t){return"function"==typeof t&&t.prototype?!(!t.prototype.toASN||!t.prototype.fromASN)||Kh(t.prototype):!!(t&&"object"==typeof t&&"toASN"in t&&"fromASN"in t)}function Yh(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||Yh(r)}return!1}function Jh(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 Xh=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:dl.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=fl[s.type],r=t[e];if(!r)throw new Error(`Cannot get ASN1 class by name '${e}'`);a=new r({name:o})}else Kh(s.type)?a=(new s.type).toSchema(o):s.optional?this.get(s.type).type===dl.Choice?a=new fh({name:o}):(a=this.create(s.type,!1),a.name=o):a=new fh({name:o});const c=!!s.optional||void 0!==s.defaultValue;if(s.repeated&&(a.name="",a=new("set"===s.repeated?jl:Wl)({name:"",value:[new mh({name:o,value:a})]})),null!==s.context&&void 0!==s.context)if(s.implicit)if("number"==typeof s.type||Kh(s.type)){const t=s.repeated?bl: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 bl({name:t?"":o,optional:c,idBlock:{tagClass:3,tagNumber:s.context},value:e}))}else n.push(new bl({optional:c,idBlock:{tagClass:3,tagNumber:s.context},value:[a]}));else a.optional=c,n.push(a)}switch(i.type){case dl.Sequence:return new Wl({value:n,name:""});case dl.Set:return new jl({value:n,name:""});case dl.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}},Zh=t=>e=>{let r;Xh.has(e)?r=Xh.get(e):(r=Xh.createDefault(e),Xh.set(e,r)),Object.assign(r,t)},$h=t=>(e,r)=>{let i;Xh.has(e.constructor)?i=Xh.get(e.constructor):(i=Xh.createDefault(e.constructor),Xh.set(e.constructor,i));const n=Object.assign({},t);if("number"==typeof n.type&&!n.converter){const i=Qh(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 tu extends Error{constructor(){super(...arguments),this.schemas=[]}}class eu{static parse(t,e){const r=wl(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(Kh(r))return(new r).fromASN(e);const n=Xh.get(r);Xh.cache(r);let s=n.schema;if(e.constructor===bl&&n.type!==dl.Choice){s=new bl({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:n.schema.valueBlock.value});for(const t in n.items)delete e[t]}const o=yh({},e,s);if(!o.verified)throw new tu(`Data does not match to ${r.name} ASN1 schema. ${o.result.error}`);const a=new r;if(Yh(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=Qh(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||Kh(c)){const n=null!==(i=s.converter)&&void 0!==i?i:Kh(c)?new c:null;if(!n)throw new Error("Converter is empty");if(s.repeated)if(s.implicit){const t=new("sequence"===s.repeated?Wl:jl);t.valueBlock=r.valueBlock;const i=wl(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(Kh(c))e=(new c).toSchema("");else{const r=fl[c],i=t[r];if(!i)throw new Error(`Cannot get '${r}' class from asn1js module`);e=new i}e.valueBlock=i.valueBlock,i=wl(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 tu&&t.schemas.push(r.name),t}}}class ru{static serialize(t){return t instanceof kc?t.toBER(!1):this.toASN(t).toBER(!1)}static toASN(t){if(t&&"object"==typeof t&&Kh(t))return t.toASN();if(!t||"object"!=typeof t)throw new TypeError("Parameter 1 should be type of Object.");const e=t.constructor,r=Xh.get(e);Xh.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=Qh(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&&Jh(this.serialize(s.defaultValue),this.serialize(o)))continue;const a=ru.toAsnItem(s,i,e,o);if("number"==typeof s.context)if(s.implicit)if(s.repeated||"number"!=typeof s.type&&!Kh(s.type))n.push(new bl({optional:s.optional,idBlock:{tagClass:3,tagNumber:s.context},value:a.valueBlock.value}));else{const t={};t.valueHex=a instanceof vl?a.valueBeforeDecodeView:a.valueBlock.toBER(),n.push(new gl({optional:s.optional,idBlock:{tagClass:3,tagNumber:s.context},...t}))}else n.push(new bl({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 dl.Sequence:i=new Wl({value:n});break;case dl.Set:i=new jl({value:n});break;case dl.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 ${fl[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?Wl:jl)({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?Wl:jl)({value:e})}else n=this.toASN(i);return n}}class iu extends Array{constructor(t=[]){if("number"==typeof t)super(t);else{super();for(const e of t)this.push(e)}}}class nu{static serialize(t){return ru.serialize(t)}static parse(t,e){return eu.parse(t,e)}static toString(t){const e=wl(nc.vJ.isBufferSource(t)?nc.vJ.toArrayBuffer(t):nu.serialize(t));if(-1===e.offset)throw new Error(`Cannot decode ASN.1 data. ${e.result.error}`);return e.result.toString()}}function su(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 ou,au,cu,lu=r(6512);class hu{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 lu.fromByteArray(Array.from(e)).toString()}return this.decodeIP(nc.ep.ToHex(t))}static fromString(t){const e=lu.parse(t);return new Uint8Array(e.toByteArray()).buffer}}let uu=class{constructor(t={}){Object.assign(this,t)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};su([$h({type:fl.TeletexString})],uu.prototype,"teletexString",void 0),su([$h({type:fl.PrintableString})],uu.prototype,"printableString",void 0),su([$h({type:fl.UniversalString})],uu.prototype,"universalString",void 0),su([$h({type:fl.Utf8String})],uu.prototype,"utf8String",void 0),su([$h({type:fl.BmpString})],uu.prototype,"bmpString",void 0),uu=su([Zh({type:dl.Choice})],uu);let pu=class extends uu{constructor(t={}){super(t),Object.assign(this,t)}toString(){return this.ia5String||(this.anyValue?nc.ep.ToHex(this.anyValue):super.toString())}};su([$h({type:fl.IA5String})],pu.prototype,"ia5String",void 0),su([$h({type:fl.Any})],pu.prototype,"anyValue",void 0),pu=su([Zh({type:dl.Choice})],pu);class du{constructor(t={}){this.type="",this.value=new pu,Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],du.prototype,"type",void 0),su([$h({type:pu})],du.prototype,"value",void 0);let fu=ou=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,ou.prototype)}};fu=ou=su([Zh({type:dl.Set,itemType:du})],fu);let gu=au=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,au.prototype)}};gu=au=su([Zh({type:dl.Sequence,itemType:fu})],gu);let mu=cu=class extends gu{constructor(t){super(t),Object.setPrototypeOf(this,cu.prototype)}};mu=cu=su([Zh({type:dl.Sequence})],mu);const wu={fromASN:t=>hu.toString(Rh.fromASN(t)),toASN:t=>Rh.toASN(hu.fromString(t))};class yu{constructor(t={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],yu.prototype,"typeId",void 0),su([$h({type:fl.Any,context:0})],yu.prototype,"value",void 0);class bu{constructor(t={}){this.partyName=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:uu,optional:!0,context:0,implicit:!0})],bu.prototype,"nameAssigner",void 0),su([$h({type:uu,context:1,implicit:!0})],bu.prototype,"partyName",void 0);let Au=class{constructor(t={}){Object.assign(this,t)}};su([$h({type:yu,context:0,implicit:!0})],Au.prototype,"otherName",void 0),su([$h({type:fl.IA5String,context:1,implicit:!0})],Au.prototype,"rfc822Name",void 0),su([$h({type:fl.IA5String,context:2,implicit:!0})],Au.prototype,"dNSName",void 0),su([$h({type:fl.Any,context:3,implicit:!0})],Au.prototype,"x400Address",void 0),su([$h({type:mu,context:4,implicit:!1})],Au.prototype,"directoryName",void 0),su([$h({type:bu,context:5})],Au.prototype,"ediPartyName",void 0),su([$h({type:fl.IA5String,context:6,implicit:!0})],Au.prototype,"uniformResourceIdentifier",void 0),su([$h({type:fl.OctetString,context:7,implicit:!0,converter:wu})],Au.prototype,"iPAddress",void 0),su([$h({type:fl.ObjectIdentifier,context:8,implicit:!0})],Au.prototype,"registeredID",void 0),Au=su([Zh({type:dl.Choice})],Au);const _u="1.3.6.1.5.5.7.3";var vu;class Eu{constructor(t={}){this.accessMethod="",this.accessLocation=new Au,Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],Eu.prototype,"accessMethod",void 0),su([$h({type:Au})],Eu.prototype,"accessLocation",void 0);let Su=vu=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,vu.prototype)}};Su=vu=su([Zh({type:dl.Sequence,itemType:Eu})],Su);const Tu="2.5.29.35";class xu extends _h{}class Cu{constructor(t={}){t&&Object.assign(this,t)}}su([$h({type:xu,context:0,optional:!0,implicit:!0})],Cu.prototype,"keyIdentifier",void 0),su([$h({type:Au,context:1,optional:!0,implicit:!0,repeated:"sequence"})],Cu.prototype,"authorityCertIssuer",void 0),su([$h({type:fl.Integer,context:2,optional:!0,implicit:!0,converter:Th})],Cu.prototype,"authorityCertSerialNumber",void 0);const Iu="2.5.29.19";class Ru{constructor(t={}){this.cA=!1,Object.assign(this,t)}}var ku;su([$h({type:fl.Boolean,defaultValue:!1})],Ru.prototype,"cA",void 0),su([$h({type:fl.Integer,optional:!0})],Ru.prototype,"pathLenConstraint",void 0);let Nu=ku=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,ku.prototype)}};var Ou;Nu=ku=su([Zh({type:dl.Sequence,itemType:Au})],Nu);let Bu=Ou=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,Ou.prototype)}};var Pu;Bu=Ou=su([Zh({type:dl.Sequence})],Bu);const Lu="2.5.29.32";let Du=class{constructor(t={}){Object.assign(this,t)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};su([$h({type:fl.IA5String})],Du.prototype,"ia5String",void 0),su([$h({type:fl.VisibleString})],Du.prototype,"visibleString",void 0),su([$h({type:fl.BmpString})],Du.prototype,"bmpString",void 0),su([$h({type:fl.Utf8String})],Du.prototype,"utf8String",void 0),Du=su([Zh({type:dl.Choice})],Du);class Uu{constructor(t={}){this.organization=new Du,this.noticeNumbers=[],Object.assign(this,t)}}su([$h({type:Du})],Uu.prototype,"organization",void 0),su([$h({type:fl.Integer,repeated:"sequence"})],Uu.prototype,"noticeNumbers",void 0);class Mu{constructor(t={}){Object.assign(this,t)}}su([$h({type:Uu,optional:!0})],Mu.prototype,"noticeRef",void 0),su([$h({type:Du,optional:!0})],Mu.prototype,"explicitText",void 0);let Fu=class{constructor(t={}){Object.assign(this,t)}};su([$h({type:fl.IA5String})],Fu.prototype,"cPSuri",void 0),su([$h({type:Mu})],Fu.prototype,"userNotice",void 0),Fu=su([Zh({type:dl.Choice})],Fu);class Hu{constructor(t={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],Hu.prototype,"policyQualifierId",void 0),su([$h({type:fl.Any})],Hu.prototype,"qualifier",void 0);class Wu{constructor(t={}){this.policyIdentifier="",Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],Wu.prototype,"policyIdentifier",void 0),su([$h({type:Hu,repeated:"sequence",optional:!0})],Wu.prototype,"policyQualifiers",void 0);let ju=Pu=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,Pu.prototype)}};ju=Pu=su([Zh({type:dl.Sequence,itemType:Wu})],ju);let Vu=class{constructor(t=0){this.value=t}};su([$h({type:fl.Integer})],Vu.prototype,"value",void 0),Vu=su([Zh({type:dl.Choice})],Vu);let Gu=class extends Vu{};var zu,qu;Gu=su([Zh({type:dl.Choice})],Gu),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"}(qu||(qu={}));class Qu extends Ah{toJSON(){const t=[],e=this.toNumber();return e&qu.aACompromise&&t.push("aACompromise"),e&qu.affiliationChanged&&t.push("affiliationChanged"),e&qu.cACompromise&&t.push("cACompromise"),e&qu.certificateHold&&t.push("certificateHold"),e&qu.cessationOfOperation&&t.push("cessationOfOperation"),e&qu.keyCompromise&&t.push("keyCompromise"),e&qu.privilegeWithdrawn&&t.push("privilegeWithdrawn"),e&qu.superseded&&t.push("superseded"),e&qu.unused&&t.push("unused"),t}toString(){return`[${this.toJSON().join(", ")}]`}}let Ku=class{constructor(t={}){Object.assign(this,t)}};su([$h({type:Au,context:0,repeated:"sequence",implicit:!0})],Ku.prototype,"fullName",void 0),su([$h({type:fu,context:1,implicit:!0})],Ku.prototype,"nameRelativeToCRLIssuer",void 0),Ku=su([Zh({type:dl.Choice})],Ku);class Yu{constructor(t={}){Object.assign(this,t)}}su([$h({type:Ku,context:0,optional:!0})],Yu.prototype,"distributionPoint",void 0),su([$h({type:Qu,context:1,optional:!0,implicit:!0})],Yu.prototype,"reasons",void 0),su([$h({type:Au,context:2,optional:!0,repeated:"sequence",implicit:!0})],Yu.prototype,"cRLIssuer",void 0);let Ju=zu=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,zu.prototype)}};var Xu;Ju=zu=su([Zh({type:dl.Sequence,itemType:Yu})],Ju);let Zu=Xu=class extends Ju{constructor(t){super(t),Object.setPrototypeOf(this,Xu.prototype)}};Zu=Xu=su([Zh({type:dl.Sequence,itemType:Yu})],Zu);class $u{constructor(t={}){this.onlyContainsUserCerts=$u.ONLY,this.onlyContainsCACerts=$u.ONLY,this.indirectCRL=$u.ONLY,this.onlyContainsAttributeCerts=$u.ONLY,Object.assign(this,t)}}var tp;$u.ONLY=!1,su([$h({type:Ku,context:0,optional:!0})],$u.prototype,"distributionPoint",void 0),su([$h({type:fl.Boolean,context:1,defaultValue:$u.ONLY,implicit:!0})],$u.prototype,"onlyContainsUserCerts",void 0),su([$h({type:fl.Boolean,context:2,defaultValue:$u.ONLY,implicit:!0})],$u.prototype,"onlyContainsCACerts",void 0),su([$h({type:Qu,context:3,optional:!0,implicit:!0})],$u.prototype,"onlySomeReasons",void 0),su([$h({type:fl.Boolean,context:4,defaultValue:$u.ONLY,implicit:!0})],$u.prototype,"indirectCRL",void 0),su([$h({type:fl.Boolean,context:5,defaultValue:$u.ONLY,implicit:!0})],$u.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"}(tp||(tp={}));let ep=class{constructor(t=tp.unspecified){this.reason=tp.unspecified,this.reason=t}toJSON(){return tp[this.reason]}toString(){return this.toJSON()}};var rp;su([$h({type:fl.Enumerated})],ep.prototype,"reason",void 0),ep=su([Zh({type:dl.Choice})],ep);const ip="2.5.29.37";let np=rp=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,rp.prototype)}};np=rp=su([Zh({type:dl.Sequence,itemType:fl.ObjectIdentifier})],np);const sp=`${_u}.1`,op=`${_u}.2`,ap=`${_u}.3`,cp=`${_u}.4`,lp=`${_u}.8`,hp=`${_u}.9`;let up=class{constructor(t=new ArrayBuffer(0)){this.value=t}};su([$h({type:fl.Integer,converter:Th})],up.prototype,"value",void 0),up=su([Zh({type:dl.Choice})],up);let pp=class{constructor(t){this.value=new Date,t&&(this.value=t)}};var dp;su([$h({type:fl.GeneralizedTime})],pp.prototype,"value",void 0),pp=su([Zh({type:dl.Choice})],pp);let fp=dp=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,dp.prototype)}};fp=dp=su([Zh({type:dl.Sequence})],fp);const gp="2.5.29.15";var mp,wp;!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"}(mp||(mp={}));class yp extends Ah{toJSON(){const t=this.toNumber(),e=[];return t&mp.cRLSign&&e.push("crlSign"),t&mp.dataEncipherment&&e.push("dataEncipherment"),t&mp.decipherOnly&&e.push("decipherOnly"),t&mp.digitalSignature&&e.push("digitalSignature"),t&mp.encipherOnly&&e.push("encipherOnly"),t&mp.keyAgreement&&e.push("keyAgreement"),t&mp.keyCertSign&&e.push("keyCertSign"),t&mp.keyEncipherment&&e.push("keyEncipherment"),t&mp.nonRepudiation&&e.push("nonRepudiation"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class bp{constructor(t={}){this.base=new Au,this.minimum=0,Object.assign(this,t)}}su([$h({type:Au})],bp.prototype,"base",void 0),su([$h({type:fl.Integer,context:0,defaultValue:0,implicit:!0})],bp.prototype,"minimum",void 0),su([$h({type:fl.Integer,context:1,optional:!0,implicit:!0})],bp.prototype,"maximum",void 0);let Ap=wp=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,wp.prototype)}};Ap=wp=su([Zh({type:dl.Sequence,itemType:bp})],Ap);class _p{constructor(t={}){Object.assign(this,t)}}su([$h({type:Ap,context:0,optional:!0,implicit:!0})],_p.prototype,"permittedSubtrees",void 0),su([$h({type:Ap,context:1,optional:!0,implicit:!0})],_p.prototype,"excludedSubtrees",void 0);class vp{constructor(t={}){Object.assign(this,t)}}var Ep;su([$h({type:fl.Integer,context:0,implicit:!0,optional:!0,converter:Th})],vp.prototype,"requireExplicitPolicy",void 0),su([$h({type:fl.Integer,context:1,implicit:!0,optional:!0,converter:Th})],vp.prototype,"inhibitPolicyMapping",void 0);class Sp{constructor(t={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],Sp.prototype,"issuerDomainPolicy",void 0),su([$h({type:fl.ObjectIdentifier})],Sp.prototype,"subjectDomainPolicy",void 0);let Tp=Ep=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,Ep.prototype)}};var xp;Tp=Ep=su([Zh({type:dl.Sequence,itemType:Sp})],Tp);const Cp="2.5.29.17";let Ip=xp=class extends Nu{constructor(t){super(t),Object.setPrototypeOf(this,xp.prototype)}};Ip=xp=su([Zh({type:dl.Sequence})],Ip);class Rp{constructor(t={}){this.type="",this.values=[],Object.assign(this,t)}}var kp;su([$h({type:fl.ObjectIdentifier})],Rp.prototype,"type",void 0),su([$h({type:fl.Any,repeated:"set"})],Rp.prototype,"values",void 0);let Np=kp=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,kp.prototype)}};Np=kp=su([Zh({type:dl.Sequence,itemType:Rp})],Np);const Op="2.5.29.14";class Bp extends xu{}class Pp{constructor(t={}){Object.assign(this,t)}}var Lp,Dp;su([$h({type:fl.GeneralizedTime,context:0,implicit:!0,optional:!0})],Pp.prototype,"notBefore",void 0),su([$h({type:fl.GeneralizedTime,context:1,implicit:!0,optional:!0})],Pp.prototype,"notAfter",void 0),function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"}(Lp||(Lp={}));class Up extends Ah{toJSON(){const t=[],e=this.toNumber();return e&Lp.pKIXCertificate&&t.push("pKIXCertificate"),e&Lp.newExtensions&&t.push("newExtensions"),e&Lp.keyUpdateAllowed&&t.push("keyUpdateAllowed"),t}toString(){return`[${this.toJSON().join(", ")}]`}}class Mp{constructor(t={}){this.entrustVers="",this.entrustInfoFlags=new Up,Object.assign(this,t)}}su([$h({type:fl.GeneralString})],Mp.prototype,"entrustVers",void 0),su([$h({type:Up})],Mp.prototype,"entrustInfoFlags",void 0);let Fp=Dp=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,Dp.prototype)}};Fp=Dp=su([Zh({type:dl.Sequence,itemType:Eu})],Fp);class Hp{constructor(t={}){this.algorithm="",Object.assign(this,t)}isEqual(t){return t instanceof Hp&&t.algorithm==this.algorithm&&(t.parameters&&this.parameters&&nc.Xy(t.parameters,this.parameters)||t.parameters===this.parameters)}}su([$h({type:fl.ObjectIdentifier})],Hp.prototype,"algorithm",void 0),su([$h({type:fl.Any,optional:!0})],Hp.prototype,"parameters",void 0);class Wp{constructor(t={}){this.algorithm=new Hp,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:Hp})],Wp.prototype,"algorithm",void 0),su([$h({type:fl.BitString})],Wp.prototype,"subjectPublicKey",void 0);let jp=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}};su([$h({type:fl.UTCTime})],jp.prototype,"utcTime",void 0),su([$h({type:fl.GeneralizedTime})],jp.prototype,"generalTime",void 0),jp=su([Zh({type:dl.Choice})],jp);class Vp{constructor(t){this.notBefore=new jp(new Date),this.notAfter=new jp(new Date),t&&(this.notBefore=new jp(t.notBefore),this.notAfter=new jp(t.notAfter))}}var Gp;su([$h({type:jp})],Vp.prototype,"notBefore",void 0),su([$h({type:jp})],Vp.prototype,"notAfter",void 0);class zp{constructor(t={}){this.extnID="",this.critical=zp.CRITICAL,this.extnValue=new _h,Object.assign(this,t)}}zp.CRITICAL=!1,su([$h({type:fl.ObjectIdentifier})],zp.prototype,"extnID",void 0),su([$h({type:fl.Boolean,defaultValue:zp.CRITICAL})],zp.prototype,"critical",void 0),su([$h({type:_h})],zp.prototype,"extnValue",void 0);let qp=Gp=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,Gp.prototype)}};var Qp,Kp;qp=Gp=su([Zh({type:dl.Sequence,itemType:zp})],qp),function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"}(Qp||(Qp={}));class Yp{constructor(t={}){this.version=Qp.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new Hp,this.issuer=new mu,this.validity=new Vp,this.subject=new mu,this.subjectPublicKeyInfo=new Wp,Object.assign(this,t)}}su([$h({type:fl.Integer,context:0,defaultValue:Qp.v1})],Yp.prototype,"version",void 0),su([$h({type:fl.Integer,converter:Th})],Yp.prototype,"serialNumber",void 0),su([$h({type:Hp})],Yp.prototype,"signature",void 0),su([$h({type:mu})],Yp.prototype,"issuer",void 0),su([$h({type:Vp})],Yp.prototype,"validity",void 0),su([$h({type:mu})],Yp.prototype,"subject",void 0),su([$h({type:Wp})],Yp.prototype,"subjectPublicKeyInfo",void 0),su([$h({type:fl.BitString,context:1,implicit:!0,optional:!0})],Yp.prototype,"issuerUniqueID",void 0),su([$h({type:fl.BitString,context:2,implicit:!0,optional:!0})],Yp.prototype,"subjectUniqueID",void 0),su([$h({type:qp,context:3,optional:!0})],Yp.prototype,"extensions",void 0);class Jp{constructor(t={}){this.tbsCertificate=new Yp,this.signatureAlgorithm=new Hp,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:Yp})],Jp.prototype,"tbsCertificate",void 0),su([$h({type:Hp})],Jp.prototype,"signatureAlgorithm",void 0),su([$h({type:fl.BitString})],Jp.prototype,"signatureValue",void 0);class Xp{constructor(t={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new jp,Object.assign(this,t)}}su([$h({type:fl.Integer,converter:Th})],Xp.prototype,"userCertificate",void 0),su([$h({type:jp})],Xp.prototype,"revocationDate",void 0),su([$h({type:zp,optional:!0,repeated:"sequence"})],Xp.prototype,"crlEntryExtensions",void 0);class Zp{constructor(t={}){this.signature=new Hp,this.issuer=new mu,this.thisUpdate=new jp,Object.assign(this,t)}}su([$h({type:fl.Integer,optional:!0})],Zp.prototype,"version",void 0),su([$h({type:Hp})],Zp.prototype,"signature",void 0),su([$h({type:mu})],Zp.prototype,"issuer",void 0),su([$h({type:jp})],Zp.prototype,"thisUpdate",void 0),su([$h({type:jp,optional:!0})],Zp.prototype,"nextUpdate",void 0),su([$h({type:Xp,repeated:"sequence",optional:!0})],Zp.prototype,"revokedCertificates",void 0),su([$h({type:zp,optional:!0,context:0,repeated:"sequence"})],Zp.prototype,"crlExtensions",void 0);class $p{constructor(t={}){this.tbsCertList=new Zp,this.signatureAlgorithm=new Hp,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:Zp})],$p.prototype,"tbsCertList",void 0),su([$h({type:Hp})],$p.prototype,"signatureAlgorithm",void 0),su([$h({type:fl.BitString})],$p.prototype,"signature",void 0);class td{constructor(t={}){this.attrType="",this.attrValues=[],Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],td.prototype,"attrType",void 0),su([$h({type:fl.Any,repeated:"set"})],td.prototype,"attrValues",void 0);class ed{constructor(t={}){this.acIssuer=new Au,this.acSerial=0,this.attrs=[],Object.assign(this,t)}}su([$h({type:Au})],ed.prototype,"acIssuer",void 0),su([$h({type:fl.Integer})],ed.prototype,"acSerial",void 0),su([$h({type:Rp,repeated:"sequence"})],ed.prototype,"attrs",void 0);let rd=Kp=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,Kp.prototype)}};rd=Kp=su([Zh({type:dl.Sequence,itemType:fl.ObjectIdentifier})],rd);class id{constructor(t={}){this.permitUnSpecified=!0,Object.assign(this,t)}}su([$h({type:fl.Integer,optional:!0})],id.prototype,"pathLenConstraint",void 0),su([$h({type:rd,implicit:!0,context:0,optional:!0})],id.prototype,"permittedAttrs",void 0),su([$h({type:rd,implicit:!0,context:1,optional:!0})],id.prototype,"excludedAttrs",void 0),su([$h({type:fl.Boolean,defaultValue:!0})],id.prototype,"permitUnSpecified",void 0);class nd{constructor(t={}){this.issuer=new Nu,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,t)}}var sd;su([$h({type:Nu})],nd.prototype,"issuer",void 0),su([$h({type:fl.Integer,converter:Th})],nd.prototype,"serial",void 0),su([$h({type:fl.BitString,optional:!0})],nd.prototype,"issuerUID",void 0),function(t){t[t.publicKey=0]="publicKey",t[t.publicKeyCert=1]="publicKeyCert",t[t.otherObjectTypes=2]="otherObjectTypes"}(sd||(sd={}));class od{constructor(t={}){this.digestedObjectType=sd.publicKey,this.digestAlgorithm=new Hp,this.objectDigest=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fl.Enumerated})],od.prototype,"digestedObjectType",void 0),su([$h({type:fl.ObjectIdentifier,optional:!0})],od.prototype,"otherObjectTypeID",void 0),su([$h({type:Hp})],od.prototype,"digestAlgorithm",void 0),su([$h({type:fl.BitString})],od.prototype,"objectDigest",void 0);class ad{constructor(t={}){Object.assign(this,t)}}su([$h({type:Nu,optional:!0})],ad.prototype,"issuerName",void 0),su([$h({type:nd,context:0,implicit:!0,optional:!0})],ad.prototype,"baseCertificateID",void 0),su([$h({type:od,context:1,implicit:!0,optional:!0})],ad.prototype,"objectDigestInfo",void 0);let cd=class{constructor(t={}){Object.assign(this,t)}};su([$h({type:Au,repeated:"sequence"})],cd.prototype,"v1Form",void 0),su([$h({type:ad,context:0,implicit:!0})],cd.prototype,"v2Form",void 0),cd=su([Zh({type:dl.Choice})],cd);class ld{constructor(t={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,t)}}su([$h({type:fl.GeneralizedTime})],ld.prototype,"notBeforeTime",void 0),su([$h({type:fl.GeneralizedTime})],ld.prototype,"notAfterTime",void 0);class hd{constructor(t={}){Object.assign(this,t)}}var ud,pd,dd;su([$h({type:nd,implicit:!0,context:0,optional:!0})],hd.prototype,"baseCertificateID",void 0),su([$h({type:Nu,implicit:!0,context:1,optional:!0})],hd.prototype,"entityName",void 0),su([$h({type:od,implicit:!0,context:2,optional:!0})],hd.prototype,"objectDigestInfo",void 0),function(t){t[t.v2=1]="v2"}(ud||(ud={}));class fd{constructor(t={}){this.version=ud.v2,this.holder=new hd,this.issuer=new cd,this.signature=new Hp,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new ld,this.attributes=[],Object.assign(this,t)}}su([$h({type:fl.Integer})],fd.prototype,"version",void 0),su([$h({type:hd})],fd.prototype,"holder",void 0),su([$h({type:cd})],fd.prototype,"issuer",void 0),su([$h({type:Hp})],fd.prototype,"signature",void 0),su([$h({type:fl.Integer,converter:Th})],fd.prototype,"serialNumber",void 0),su([$h({type:ld})],fd.prototype,"attrCertValidityPeriod",void 0),su([$h({type:Rp,repeated:"sequence"})],fd.prototype,"attributes",void 0),su([$h({type:fl.BitString,optional:!0})],fd.prototype,"issuerUniqueID",void 0),su([$h({type:qp,optional:!0})],fd.prototype,"extensions",void 0);class gd{constructor(t={}){this.acinfo=new fd,this.signatureAlgorithm=new Hp,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fd})],gd.prototype,"acinfo",void 0),su([$h({type:Hp})],gd.prototype,"signatureAlgorithm",void 0),su([$h({type:fl.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"}(pd||(pd={}));class md extends Ah{}class wd{constructor(t={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier,implicit:!0,context:0})],wd.prototype,"type",void 0),su([$h({type:fl.Any,implicit:!0,context:1})],wd.prototype,"value",void 0);class yd{constructor(t={}){this.policyId="",this.classList=new md(pd.unclassified),Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],yd.prototype,"policyId",void 0),su([$h({type:md,defaultValue:new md(pd.unclassified)})],yd.prototype,"classList",void 0),su([$h({type:wd,repeated:"set"})],yd.prototype,"securityCategories",void 0);class bd{constructor(t={}){Object.assign(this,t)}}su([$h({type:_h})],bd.prototype,"cotets",void 0),su([$h({type:fl.ObjectIdentifier})],bd.prototype,"oid",void 0),su([$h({type:fl.Utf8String})],bd.prototype,"string",void 0);class Ad{constructor(t={}){this.values=[],Object.assign(this,t)}}su([$h({type:Nu,implicit:!0,context:0,optional:!0})],Ad.prototype,"policyAuthority",void 0),su([$h({type:bd,repeated:"sequence"})],Ad.prototype,"values",void 0);class _d{constructor(t={}){this.targetCertificate=new nd,Object.assign(this,t)}}su([$h({type:nd})],_d.prototype,"targetCertificate",void 0),su([$h({type:Au,optional:!0})],_d.prototype,"targetName",void 0),su([$h({type:od,optional:!0})],_d.prototype,"certDigestInfo",void 0);let vd=class{constructor(t={}){Object.assign(this,t)}};su([$h({type:Au,context:0,implicit:!0})],vd.prototype,"targetName",void 0),su([$h({type:Au,context:1,implicit:!0})],vd.prototype,"targetGroup",void 0),su([$h({type:_d,context:2,implicit:!0})],vd.prototype,"targetCert",void 0),vd=su([Zh({type:dl.Choice})],vd);let Ed=dd=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,dd.prototype)}};var Sd;Ed=dd=su([Zh({type:dl.Sequence,itemType:vd})],Ed);let Td=Sd=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,Sd.prototype)}};Td=Sd=su([Zh({type:dl.Sequence,itemType:Ed})],Td);class xd{constructor(t={}){Object.assign(this,t)}}su([$h({type:Nu,implicit:!0,context:0,optional:!0})],xd.prototype,"roleAuthority",void 0),su([$h({type:Au,implicit:!0,context:1})],xd.prototype,"roleName",void 0);class Cd{constructor(t={}){this.service=new Au,this.ident=new Au,Object.assign(this,t)}}var Id;su([$h({type:Au})],Cd.prototype,"service",void 0),su([$h({type:Au})],Cd.prototype,"ident",void 0),su([$h({type:_h,optional:!0})],Cd.prototype,"authInfo",void 0);class Rd{constructor(t={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],Rd.prototype,"otherCertFormat",void 0),su([$h({type:fl.Any})],Rd.prototype,"otherCert",void 0);let kd=class{constructor(t={}){Object.assign(this,t)}};su([$h({type:Jp})],kd.prototype,"certificate",void 0),su([$h({type:gd,context:2,implicit:!0})],kd.prototype,"v2AttrCert",void 0),su([$h({type:Rd,context:3,implicit:!0})],kd.prototype,"other",void 0),kd=su([Zh({type:dl.Choice})],kd);let Nd=Id=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,Id.prototype)}};Nd=Id=su([Zh({type:dl.Set,itemType:kd})],Nd);class Od{constructor(t={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],Od.prototype,"contentType",void 0),su([$h({type:fl.Any,context:0})],Od.prototype,"content",void 0);let Bd=class{constructor(t={}){Object.assign(this,t)}};su([$h({type:_h})],Bd.prototype,"single",void 0),su([$h({type:fl.Any})],Bd.prototype,"any",void 0),Bd=su([Zh({type:dl.Choice})],Bd);class Pd{constructor(t={}){this.eContentType="",Object.assign(this,t)}}var Ld;su([$h({type:fl.ObjectIdentifier})],Pd.prototype,"eContentType",void 0),su([$h({type:Bd,context:0,optional:!0})],Pd.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"}(Ld||(Ld={}));let Dd=class extends Hp{};Dd=su([Zh({type:dl.Sequence})],Dd);let Ud=class extends Hp{};Ud=su([Zh({type:dl.Sequence})],Ud);let Md=class extends Hp{};Md=su([Zh({type:dl.Sequence})],Md);let Fd=class extends Hp{};Fd=su([Zh({type:dl.Sequence})],Fd);let Hd=class extends Hp{};Hd=su([Zh({type:dl.Sequence})],Hd);let Wd=class extends Hp{};Wd=su([Zh({type:dl.Sequence})],Wd);let jd=class{constructor(t={}){Object.assign(this,t)}};su([$h({type:_h,context:0,implicit:!0,optional:!0})],jd.prototype,"value",void 0),su([$h({type:_h,converter:kh,context:0,implicit:!0,optional:!0,repeated:"sequence"})],jd.prototype,"constructedValue",void 0),jd=su([Zh({type:dl.Choice})],jd);class Vd{constructor(t={}){this.contentType="",this.contentEncryptionAlgorithm=new Fd,Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],Vd.prototype,"contentType",void 0),su([$h({type:Fd})],Vd.prototype,"contentEncryptionAlgorithm",void 0),su([$h({type:jd,optional:!0})],Vd.prototype,"encryptedContent",void 0);class Gd{constructor(t={}){this.issuer=new mu,this.serialNumber=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:mu})],Gd.prototype,"issuer",void 0),su([$h({type:fl.Integer,converter:Th})],Gd.prototype,"serialNumber",void 0);class zd{constructor(t={}){this.keyAttrId="",Object.assign(this,t)}}var qd;su([$h({type:fl.ObjectIdentifier})],zd.prototype,"keyAttrId",void 0),su([$h({type:fl.Any,optional:!0})],zd.prototype,"keyAttr",void 0);class Qd{constructor(t={}){this.subjectKeyIdentifier=new Bp,Object.assign(this,t)}}su([$h({type:Bp})],Qd.prototype,"subjectKeyIdentifier",void 0),su([$h({type:fl.GeneralizedTime,optional:!0})],Qd.prototype,"date",void 0),su([$h({type:zd,optional:!0})],Qd.prototype,"other",void 0);let Kd=class{constructor(t={}){Object.assign(this,t)}};su([$h({type:Qd,context:0,implicit:!0,optional:!0})],Kd.prototype,"rKeyId",void 0),su([$h({type:Gd,optional:!0})],Kd.prototype,"issuerAndSerialNumber",void 0),Kd=su([Zh({type:dl.Choice})],Kd);class Yd{constructor(t={}){this.rid=new Kd,this.encryptedKey=new _h,Object.assign(this,t)}}su([$h({type:Kd})],Yd.prototype,"rid",void 0),su([$h({type:_h})],Yd.prototype,"encryptedKey",void 0);let Jd=qd=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,qd.prototype)}};Jd=qd=su([Zh({type:dl.Sequence,itemType:Yd})],Jd);class Xd{constructor(t={}){this.algorithm=new Hp,this.publicKey=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:Hp})],Xd.prototype,"algorithm",void 0),su([$h({type:fl.BitString})],Xd.prototype,"publicKey",void 0);let Zd=class{constructor(t={}){Object.assign(this,t)}};su([$h({type:Bp,context:0,implicit:!0,optional:!0})],Zd.prototype,"subjectKeyIdentifier",void 0),su([$h({type:Xd,context:1,implicit:!0,optional:!0})],Zd.prototype,"originatorKey",void 0),su([$h({type:Gd,optional:!0})],Zd.prototype,"issuerAndSerialNumber",void 0),Zd=su([Zh({type:dl.Choice})],Zd);class $d{constructor(t={}){this.version=Ld.v3,this.originator=new Zd,this.keyEncryptionAlgorithm=new Md,this.recipientEncryptedKeys=new Jd,Object.assign(this,t)}}su([$h({type:fl.Integer})],$d.prototype,"version",void 0),su([$h({type:Zd,context:0})],$d.prototype,"originator",void 0),su([$h({type:_h,context:1,optional:!0})],$d.prototype,"ukm",void 0),su([$h({type:Md})],$d.prototype,"keyEncryptionAlgorithm",void 0),su([$h({type:Jd})],$d.prototype,"recipientEncryptedKeys",void 0);let tf=class{constructor(t={}){Object.assign(this,t)}};su([$h({type:Bp,context:0,implicit:!0})],tf.prototype,"subjectKeyIdentifier",void 0),su([$h({type:Gd})],tf.prototype,"issuerAndSerialNumber",void 0),tf=su([Zh({type:dl.Choice})],tf);class ef{constructor(t={}){this.version=Ld.v0,this.rid=new tf,this.keyEncryptionAlgorithm=new Md,this.encryptedKey=new _h,Object.assign(this,t)}}su([$h({type:fl.Integer})],ef.prototype,"version",void 0),su([$h({type:tf})],ef.prototype,"rid",void 0),su([$h({type:Md})],ef.prototype,"keyEncryptionAlgorithm",void 0),su([$h({type:_h})],ef.prototype,"encryptedKey",void 0);class rf{constructor(t={}){this.keyIdentifier=new _h,Object.assign(this,t)}}su([$h({type:_h})],rf.prototype,"keyIdentifier",void 0),su([$h({type:fl.GeneralizedTime,optional:!0})],rf.prototype,"date",void 0),su([$h({type:zd,optional:!0})],rf.prototype,"other",void 0);class nf{constructor(t={}){this.version=Ld.v4,this.kekid=new rf,this.keyEncryptionAlgorithm=new Md,this.encryptedKey=new _h,Object.assign(this,t)}}su([$h({type:fl.Integer})],nf.prototype,"version",void 0),su([$h({type:rf})],nf.prototype,"kekid",void 0),su([$h({type:Md})],nf.prototype,"keyEncryptionAlgorithm",void 0),su([$h({type:_h})],nf.prototype,"encryptedKey",void 0);class sf{constructor(t={}){this.version=Ld.v0,this.keyEncryptionAlgorithm=new Md,this.encryptedKey=new _h,Object.assign(this,t)}}su([$h({type:fl.Integer})],sf.prototype,"version",void 0),su([$h({type:Wd,context:0,optional:!0})],sf.prototype,"keyDerivationAlgorithm",void 0),su([$h({type:Md})],sf.prototype,"keyEncryptionAlgorithm",void 0),su([$h({type:_h})],sf.prototype,"encryptedKey",void 0);class of{constructor(t={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],of.prototype,"oriType",void 0),su([$h({type:fl.Any})],of.prototype,"oriValue",void 0);let af=class{constructor(t={}){Object.assign(this,t)}};var cf;su([$h({type:ef,optional:!0})],af.prototype,"ktri",void 0),su([$h({type:$d,context:1,implicit:!0,optional:!0})],af.prototype,"kari",void 0),su([$h({type:nf,context:2,implicit:!0,optional:!0})],af.prototype,"kekri",void 0),su([$h({type:sf,context:3,implicit:!0,optional:!0})],af.prototype,"pwri",void 0),su([$h({type:of,context:4,implicit:!0,optional:!0})],af.prototype,"ori",void 0),af=su([Zh({type:dl.Choice})],af);let lf=cf=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,cf.prototype)}};var hf;lf=cf=su([Zh({type:dl.Set,itemType:af})],lf);class uf{constructor(t={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],uf.prototype,"otherRevInfoFormat",void 0),su([$h({type:fl.Any})],uf.prototype,"otherRevInfo",void 0);let pf=class{constructor(t={}){this.other=new uf,Object.assign(this,t)}};su([$h({type:uf,context:1,implicit:!0})],pf.prototype,"other",void 0),pf=su([Zh({type:dl.Choice})],pf);let df=hf=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,hf.prototype)}};df=hf=su([Zh({type:dl.Set,itemType:pf})],df);class ff{constructor(t={}){Object.assign(this,t)}}var gf;su([$h({type:Nd,context:0,implicit:!0,optional:!0})],ff.prototype,"certs",void 0),su([$h({type:df,context:1,implicit:!0,optional:!0})],ff.prototype,"crls",void 0);let mf=gf=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,gf.prototype)}};mf=gf=su([Zh({type:dl.Set,itemType:td})],mf);class wf{constructor(t={}){this.version=Ld.v0,this.recipientInfos=new lf,this.encryptedContentInfo=new Vd,Object.assign(this,t)}}su([$h({type:fl.Integer})],wf.prototype,"version",void 0),su([$h({type:ff,context:0,implicit:!0,optional:!0})],wf.prototype,"originatorInfo",void 0),su([$h({type:lf})],wf.prototype,"recipientInfos",void 0),su([$h({type:Vd})],wf.prototype,"encryptedContentInfo",void 0),su([$h({type:mf,context:1,implicit:!0,optional:!0})],wf.prototype,"unprotectedAttrs",void 0);let yf=class{constructor(t={}){Object.assign(this,t)}};var bf;su([$h({type:Bp,context:0,implicit:!0})],yf.prototype,"subjectKeyIdentifier",void 0),su([$h({type:Gd})],yf.prototype,"issuerAndSerialNumber",void 0),yf=su([Zh({type:dl.Choice})],yf);class Af{constructor(t={}){this.version=Ld.v0,this.sid=new yf,this.digestAlgorithm=new Dd,this.signatureAlgorithm=new Ud,this.signature=new _h,Object.assign(this,t)}}su([$h({type:fl.Integer})],Af.prototype,"version",void 0),su([$h({type:yf})],Af.prototype,"sid",void 0),su([$h({type:Dd})],Af.prototype,"digestAlgorithm",void 0),su([$h({type:td,repeated:"set",context:0,implicit:!0,optional:!0})],Af.prototype,"signedAttrs",void 0),su([$h({type:Ud})],Af.prototype,"signatureAlgorithm",void 0),su([$h({type:_h})],Af.prototype,"signature",void 0),su([$h({type:td,repeated:"set",context:1,implicit:!0,optional:!0})],Af.prototype,"unsignedAttrs",void 0);let _f=bf=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,bf.prototype)}};var vf;_f=bf=su([Zh({type:dl.Set,itemType:Af})],_f);let Ef=vf=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,vf.prototype)}};Ef=vf=su([Zh({type:dl.Set,itemType:Dd})],Ef);class Sf{constructor(t={}){this.version=Ld.v0,this.digestAlgorithms=new Ef,this.encapContentInfo=new Pd,this.signerInfos=new _f,Object.assign(this,t)}}su([$h({type:fl.Integer})],Sf.prototype,"version",void 0),su([$h({type:Ef})],Sf.prototype,"digestAlgorithms",void 0),su([$h({type:Pd})],Sf.prototype,"encapContentInfo",void 0),su([$h({type:Nd,context:0,implicit:!0,optional:!0})],Sf.prototype,"certificates",void 0),su([$h({type:pf,context:1,implicit:!0,optional:!0})],Sf.prototype,"crls",void 0),su([$h({type:_f})],Sf.prototype,"signerInfos",void 0);const Tf="1.2.840.10045.2.1",xf="1.2.840.10045.4.1",Cf="1.2.840.10045.4.3.1",If="1.2.840.10045.4.3.2",Rf="1.2.840.10045.4.3.3",kf="1.2.840.10045.4.3.4",Nf="1.2.840.10045.3.1.7",Of="1.3.132.0.34",Bf="1.3.132.0.35";function Pf(t){return new Hp({algorithm:t})}const Lf=Pf(xf),Df=(Pf(Cf),Pf(If)),Uf=Pf(Rf),Mf=Pf(kf);let Ff=class{constructor(t={}){Object.assign(this,t)}};su([$h({type:fl.ObjectIdentifier})],Ff.prototype,"namedCurve",void 0),Ff=su([Zh({type:dl.Choice})],Ff);class Hf{constructor(t={}){this.version=1,this.privateKey=new _h,Object.assign(this,t)}}su([$h({type:fl.Integer})],Hf.prototype,"version",void 0),su([$h({type:_h})],Hf.prototype,"privateKey",void 0),su([$h({type:Ff,context:0,optional:!0})],Hf.prototype,"parameters",void 0),su([$h({type:fl.BitString,context:1,optional:!0})],Hf.prototype,"publicKey",void 0);class Wf{constructor(t={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fl.Integer,converter:Th})],Wf.prototype,"r",void 0),su([$h({type:fl.Integer,converter:Th})],Wf.prototype,"s",void 0);const jf="1.2.840.113549.1.1",Vf=`${jf}.1`,Gf=`${jf}.7`,zf=`${jf}.9`,qf=`${jf}.10`,Qf=`${jf}.2`,Kf=`${jf}.4`,Yf=`${jf}.5`,Jf=`${jf}.14`,Xf=`${jf}.11`,Zf=`${jf}.12`,$f=`${jf}.13`,tg=`${jf}.15`,eg=`${jf}.16`,rg="1.3.14.3.2.26",ig="2.16.840.1.101.3.4.2.4",ng="2.16.840.1.101.3.4.2.1",sg="2.16.840.1.101.3.4.2.2",og="2.16.840.1.101.3.4.2.3",ag=`${jf}.8`;function cg(t){return new Hp({algorithm:t,parameters:null})}cg("1.2.840.113549.2.2"),cg("1.2.840.113549.2.5");const lg=cg(rg),hg=(cg(ig),cg(ng),cg(sg),cg(og),cg("2.16.840.1.101.3.4.2.5"),cg("2.16.840.1.101.3.4.2.6"),new Hp({algorithm:ag,parameters:nu.serialize(lg)})),ug=new Hp({algorithm:zf,parameters:nu.serialize(Rh.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});cg(Vf),cg(Qf),cg(Kf),cg(Yf),cg(tg),cg(eg),cg(Zf),cg($f),cg(tg),cg(eg);class pg{constructor(t={}){this.hashAlgorithm=new Hp(lg),this.maskGenAlgorithm=new Hp({algorithm:ag,parameters:nu.serialize(lg)}),this.pSourceAlgorithm=new Hp(ug),Object.assign(this,t)}}su([$h({type:Hp,context:0,defaultValue:lg})],pg.prototype,"hashAlgorithm",void 0),su([$h({type:Hp,context:1,defaultValue:hg})],pg.prototype,"maskGenAlgorithm",void 0),su([$h({type:Hp,context:2,defaultValue:ug})],pg.prototype,"pSourceAlgorithm",void 0),new Hp({algorithm:Gf,parameters:nu.serialize(new pg)});class dg{constructor(t={}){this.hashAlgorithm=new Hp(lg),this.maskGenAlgorithm=new Hp({algorithm:ag,parameters:nu.serialize(lg)}),this.saltLength=20,this.trailerField=1,Object.assign(this,t)}}su([$h({type:Hp,context:0,defaultValue:lg})],dg.prototype,"hashAlgorithm",void 0),su([$h({type:Hp,context:1,defaultValue:hg})],dg.prototype,"maskGenAlgorithm",void 0),su([$h({type:fl.Integer,context:2,defaultValue:20})],dg.prototype,"saltLength",void 0),su([$h({type:fl.Integer,context:3,defaultValue:1})],dg.prototype,"trailerField",void 0),new Hp({algorithm:qf,parameters:nu.serialize(new dg)});class fg{constructor(t={}){this.digestAlgorithm=new Hp,this.digest=new _h,Object.assign(this,t)}}var gg;su([$h({type:Hp})],fg.prototype,"digestAlgorithm",void 0),su([$h({type:_h})],fg.prototype,"digest",void 0);class mg{constructor(t={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fl.Integer,converter:Th})],mg.prototype,"prime",void 0),su([$h({type:fl.Integer,converter:Th})],mg.prototype,"exponent",void 0),su([$h({type:fl.Integer,converter:Th})],mg.prototype,"coefficient",void 0);let wg=gg=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,gg.prototype)}};wg=gg=su([Zh({type:dl.Sequence,itemType:mg})],wg);class yg{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)}}su([$h({type:fl.Integer})],yg.prototype,"version",void 0),su([$h({type:fl.Integer,converter:Th})],yg.prototype,"modulus",void 0),su([$h({type:fl.Integer,converter:Th})],yg.prototype,"publicExponent",void 0),su([$h({type:fl.Integer,converter:Th})],yg.prototype,"privateExponent",void 0),su([$h({type:fl.Integer,converter:Th})],yg.prototype,"prime1",void 0),su([$h({type:fl.Integer,converter:Th})],yg.prototype,"prime2",void 0),su([$h({type:fl.Integer,converter:Th})],yg.prototype,"exponent1",void 0),su([$h({type:fl.Integer,converter:Th})],yg.prototype,"exponent2",void 0),su([$h({type:fl.Integer,converter:Th})],yg.prototype,"coefficient",void 0),su([$h({type:wg,optional:!0})],yg.prototype,"otherPrimeInfos",void 0);class bg{constructor(t={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,t)}}function Ag(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 _g;su([$h({type:fl.Integer,converter:Th})],bg.prototype,"modulus",void 0),su([$h({type:fl.Integer,converter:Th})],bg.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"}(_g||(_g={}));const vg=_g;
|
|
79
|
+
function pc(){if("undefined"==typeof BigInt)throw new Error("BigInt is not defined. Your environment doesn't implement BigInt.")}function dc(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 fc(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 gc{constructor(){this.items=[]}write(t){this.items.push(t)}final(){return dc(this.items)}}const mc=[new Uint8Array([1])],wc="0123456789",yc="name",bc="valueHexView",Ac="",_c=new ArrayBuffer(0),vc=new Uint8Array(0),Ec="EndOfContent",Sc="OCTET STRING",Tc="BIT STRING";function xc(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):vc}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(!fc(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",_c)}toJSON(){return{...super.toJSON(),isHexOnly:this.isHexOnly,valueHex:oc.ep.ToHex(this.valueHexView)}}}).NAME="hexBlock",e}class Cc{constructor({blockLength:t=0,error:e="",warnings:r=[],valueBeforeDecode:i=vc}={}){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)}}}Cc.NAME="baseBlock";class Ic extends Cc{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'")}}Ic.NAME="valueBlock";class Rc extends(xc(Cc)){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):vc,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",_c}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=cc(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(!fc(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==(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=ac(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}}}Rc.NAME="identificationBlock";class kc extends Cc{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(!fc(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=ac(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=cc(this.length,8);if(i.byteLength>127)return this.error="Too big length",_c;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}}}kc.NAME="lengthBlock";const Nc={};class Oc extends Cc{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 Rc(i),this.lenBlock=new kc(i),this.valueBlock=n?new n(i):new Ic(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 gc;e||Bc(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?_c: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 Bc(t){if(t instanceof Nc.Constructed)for(const e of t.valueBlock.value)Bc(e)&&(t.lenBlock.isIndefiniteForm=!0);return!!t.lenBlock.isIndefiniteForm}Oc.NAME="BaseBlock";class Pc extends Oc{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}'`}}Pc.NAME="BaseStringBlock";class Lc extends(xc(Ic)){constructor({isHexOnly:t=!0,...e}={}){super(e),this.isHexOnly=t}}var Dc,Uc,Mc,Fc,Hc,Wc,jc,Vc,Gc,zc,qc,Qc,Kc,Yc,Jc,Xc,Zc,$c,tl,el,rl,il,nl,sl,ol,al,cl,ll,hl,ul,pl,dl,fl,gl,ml;Lc.NAME="PrimitiveValueBlock";class wl extends Oc{constructor(t={}){super(t,Lc),this.idBlock.isConstructed=!1}}function yl(t,e=0,r=t.length){const i=e;let n=new Oc({},Ic);const s=new Cc;if(!fc(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=Oc;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=Nc.EndOfContent;break;case 1:a=Nc.Boolean;break;case 2:a=Nc.Integer;break;case 3:a=Nc.BitString;break;case 4:a=Nc.OctetString;break;case 5:a=Nc.Null;break;case 6:a=Nc.ObjectIdentifier;break;case 10:a=Nc.Enumerated;break;case 12:a=Nc.Utf8String;break;case 13:a=Nc.RelativeObjectIdentifier;break;case 14:a=Nc.TIME;break;case 15:return n.error="[UNIVERSAL 15] is reserved by ASN.1 standard",{offset:-1,result:n};case 16:a=Nc.Sequence;break;case 17:a=Nc.Set;break;case 18:a=Nc.NumericString;break;case 19:a=Nc.PrintableString;break;case 20:a=Nc.TeletexString;break;case 21:a=Nc.VideotexString;break;case 22:a=Nc.IA5String;break;case 23:a=Nc.UTCTime;break;case 24:a=Nc.GeneralizedTime;break;case 25:a=Nc.GraphicString;break;case 26:a=Nc.VisibleString;break;case 27:a=Nc.GeneralString;break;case 28:a=Nc.UniversalString;break;case 29:a=Nc.CharacterString;break;case 30:a=Nc.BmpString;break;case 31:a=Nc.DATE;break;case 32:a=Nc.TimeOfDay;break;case 33:a=Nc.DateTime;break;case 34:a=Nc.Duration;break;default:{const t=n.idBlock.isConstructed?new Nc.Constructed:new Nc.Primitive;t.idBlock=n.idBlock,t.lenBlock=n.lenBlock,t.warnings=n.warnings,n=t}}}else a=n.idBlock.isConstructed?Nc.Constructed:Nc.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 bl(t){if(!t.byteLength){const t=new Oc({},Ic);return t.error="Input buffer has zero length",{offset:-1,result:t}}return yl(oc.vJ.toUint8Array(t).slice(),0,t.byteLength)}Dc=wl,Nc.Primitive=Dc,wl.NAME="PRIMITIVE";class Al extends Ic{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(!fc(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(;(this.isIndefiniteForm?1:r)>0;){const t=yl(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===Ec)break}return this.isIndefiniteForm&&(this.value[this.value.length-1].constructor.NAME===Ec?this.value.pop():this.warnings.push("No EndOfContent block encoded")),n}toBER(t,e){const r=e||new gc;for(let e=0;e<this.value.length;e++)this.value[e].toBER(t,r);return e?_c:r.final()}toJSON(){const t={...super.toJSON(),isIndefiniteForm:this.isIndefiniteForm,value:[]};for(const e of this.value)t.value.push(e.toJSON());return t}}Al.NAME="ConstructedValueBlock";class _l extends Oc{constructor(t={}){super(t,Al),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} :`}}Uc=_l,Nc.Constructed=Uc,_l.NAME="CONSTRUCTED";class vl extends Ic{fromBER(t,e,r){return e}toBER(t){return _c}}vl.override="EndOfContentValueBlock";class El extends Oc{constructor(t={}){super(t,vl),this.idBlock.tagClass=1,this.idBlock.tagNumber=0}}Mc=El,Nc.EndOfContent=Mc,El.NAME=Ec;class Sl extends Oc{constructor(t={}){super(t,Ic),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}`}}Fc=Sl,Nc.Null=Fc,Sl.NAME="NULL";class Tl extends(xc(Ic)){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 fc(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,hc.call(this),this.blockLength=r,e+r):-1}toBER(){return this.valueHexView.slice()}toJSON(){return{...super.toJSON(),value:this.value}}}Tl.NAME="BooleanValueBlock";class xl extends Oc{constructor(t={}){super(t,Tl),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}`}}Hc=xl,Nc.Boolean=Hc,xl.NAME="BOOLEAN";class Cl extends(xc(Al)){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=Al.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===Ec){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, OCTET STRING may consists of OCTET STRINGs only",-1}if(e!==Sc)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?Al.prototype.toBER.call(this,t,e):t?new ArrayBuffer(this.valueHexView.byteLength):this.valueHexView.slice().buffer}toJSON(){return{...super.toJSON(),isConstructed:this.isConstructed}}}Cl.NAME="OctetStringValueBlock";class Il extends Oc{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},Cl),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=yl(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?_l.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 Il&&t.push(e.valueBlock.valueHexView);return oc.vJ.concat(t)}}Wc=Il,Nc.OctetString=Wc,Il.NAME=Sc;class Rl extends(xc(Al)){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=Al.prototype.fromBER.call(this,t,e,r),-1===i)return i;for(const t of this.value){const e=t.constructor.NAME;if(e===Ec){if(this.isIndefiniteForm)break;return this.error="EndOfContent is unexpected, BIT STRING may consists of BIT STRINGs only",-1}if(e!==Tc)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(!fc(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=yl(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 Al.prototype.toBER.call(this,t,e);if(t)return new ArrayBuffer(this.valueHexView.byteLength+1);if(!this.valueHexView.byteLength)return _c;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}}}Rl.NAME="BitStringValueBlock";class kl extends Oc{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},Rl),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 _l.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 Nl(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 Ol(t){if(t>=mc.length)for(let e=mc.length;e<=t;e++){const t=new Uint8Array([0]);let r=mc[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)),mc.push(r)}return mc[t]}function Bl(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()}jc=kl,Nc.BitString=jc,kl.NAME=Tc;class Pl extends(xc(Ic)){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=hc.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=cc(r-e,8,i);return new Uint8Array(t)[0]|=128,t}let n=cc(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]&&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 0!=(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]&&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==(1&e)&&(i===t?(r=Bl(Ol(i),r),s="-"):r=Nl(r,Ol(i))),i++,e>>=1}for(let t=0;t<r.length;t++)r[t]&&(o=!0),o&&(s+=wc.charAt(r[t]));return!1===o&&(s+=wc.charAt(0)),s}}Vc=Pl,Pl.NAME="IntegerValueBlock",Object.defineProperty(Vc.prototype,"valueHex",{set:function(t){this.valueHexView=new Uint8Array(t),this.setValueHex()},get:function(){return this.valueHexView.slice().buffer}});class Ll extends Oc{constructor(t={}){super(t,Pl),this.idBlock.tagClass=1,this.idBlock.tagNumber=2}toBigInt(){return pc(),BigInt(this.valueBlock.toString())}static fromBigInt(t){pc();const e=BigInt(t),r=new gc,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 Ll({valueHex:r.final()})}convertToDER(){const t=new Ll({valueHex:this.valueBlock.valueHexView});return t.valueBlock.toDER(),t}convertFromDER(){return new Ll({valueHex:0===this.valueBlock.valueHexView[0]?this.valueBlock.valueHexView.subarray(1):this.valueBlock.valueHexView})}onAsciiEncoding(){return`${this.constructor.NAME} : ${this.valueBlock.toString()}`}}Gc=Ll,Nc.Integer=Gc,Ll.NAME="INTEGER";class Dl extends Ll{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=10}}zc=Dl,Nc.Enumerated=zc,Dl.NAME="ENUMERATED";class Ul extends(xc(Ic)){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(!fc(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++,0!=(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,0!=(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=ac(this.valueHexView,7):(this.isHexOnly=!0,this.warnings.push("Too big SID for decoding, hex only")),e+this.blockLength)}set valueBigInt(t){pc();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=cc(this.valueDec,7);if(0===e.byteLength)return this.error="Error during encoding SID value",_c;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}}}Ul.NAME="sidBlock";class Ml extends Ic{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 Ul;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,_c;e.push(i)}return dc(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 Ul;if(i>Number.MAX_SAFE_INTEGER){pc();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}}Ml.NAME="ObjectIdentifierValueBlock";class Fl extends Oc{constructor(t={}){super(t,Ml),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()}}}qc=Fl,Nc.ObjectIdentifier=qc,Fl.NAME="OBJECT IDENTIFIER";class Hl extends(xc(Cc)){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(!fc(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++,0!=(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,0!=(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=ac(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=cc(this.valueDec,7);if(0===e.byteLength)return this.error="Error during encoding SID value",_c;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}}}Hl.NAME="relativeSidBlock";class Wl extends Ic{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 Hl;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,_c;r.push(i)}return dc(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 Hl;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}}Wl.NAME="RelativeObjectIdentifierValueBlock";class jl extends Oc{constructor(t={}){super(t,Wl),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()}}}Qc=jl,Nc.RelativeObjectIdentifier=Qc,jl.NAME="RelativeObjectIdentifier";class Vl extends _l{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=16}}Kc=Vl,Nc.Sequence=Kc,Vl.NAME="SEQUENCE";class Gl extends _l{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=17}}Yc=Gl,Nc.Set=Yc,Gl.NAME="SET";class zl extends(xc(Ic)){constructor({...t}={}){super(t),this.isHexOnly=!0,this.value=Ac}toJSON(){return{...super.toJSON(),value:this.value}}}zl.NAME="StringValueBlock";class ql extends zl{}ql.NAME="SimpleStringValueBlock";class Ql extends Pc{constructor({...t}={}){super(t,ql)}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}}Ql.NAME="SIMPLE STRING";class Kl extends Ql{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}}Kl.NAME="Utf8StringValueBlock";class Yl extends Kl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=12}}Jc=Yl,Nc.Utf8String=Jc,Yl.NAME="UTF8String";class Jl extends Ql{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))}}Jl.NAME="BmpStringValueBlock";class Xl extends Jl{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=30}}Xc=Xl,Nc.BmpString=Xc,Xl.NAME="BMPString";class Zl extends Ql{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=cc(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}}Zl.NAME="UniversalStringValueBlock";class $l extends Zl{constructor({...t}={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=28}}Zc=$l,Nc.UniversalString=Zc,$l.NAME="UniversalString";class th extends Ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=18}}$c=th,Nc.NumericString=$c,th.NAME="NumericString";class eh extends Ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=19}}tl=eh,Nc.PrintableString=tl,eh.NAME="PrintableString";class rh extends Ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=20}}el=rh,Nc.TeletexString=el,rh.NAME="TeletexString";class ih extends Ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=21}}rl=ih,Nc.VideotexString=rl,ih.NAME="VideotexString";class nh extends Ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=22}}il=nh,Nc.IA5String=il,nh.NAME="IA5String";class sh extends Ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=25}}nl=sh,Nc.GraphicString=nl,sh.NAME="GraphicString";class oh extends Ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=26}}sl=oh,Nc.VisibleString=sl,oh.NAME="VisibleString";class ah extends Ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=27}}ol=ah,Nc.GeneralString=ol,ah.NAME="GeneralString";class ch extends Ql{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=29}}al=ch,Nc.CharacterString=al,ch.NAME="CharacterString";class lh extends oh{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}}}cl=lh,Nc.UTCTime=cl,lh.NAME="UTCTime";class hh 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}}}ll=hh,Nc.GeneralizedTime=ll,hh.NAME="GeneralizedTime";class uh extends Yl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=31}}hl=uh,Nc.DATE=hl,uh.NAME="DATE";class ph extends Yl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=32}}ul=ph,Nc.TimeOfDay=ul,ph.NAME="TimeOfDay";class dh extends Yl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=33}}pl=dh,Nc.DateTime=pl,dh.NAME="DateTime";class fh extends Yl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=34}}dl=fh,Nc.Duration=dl,fh.NAME="Duration";class gh extends Yl{constructor(t={}){super(t),this.idBlock.tagClass=1,this.idBlock.tagNumber=14}}fl=gh,Nc.TIME=fl,gh.NAME="TIME";class mh{constructor({name:t="",optional:e=!1}={}){this.name=t,this.optional=e}}class wh extends mh{constructor({value:t=[],...e}={}){super(e),this.value=t}}class yh extends mh{constructor({value:t=new mh,local:e=!1,...r}={}){super(r),this.value=t,this.local=e}}class bh{constructor({data:t=vc}={}){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 Ah(t,e,r){if(r instanceof wh){for(let i=0;i<r.value.length;i++)if(Ah(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(yc)&&(t.name=r.name),t}}if(r instanceof mh)return r.hasOwnProperty(yc)&&(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(bc 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,Ac),r.name&&(t[r.name]=e)),r instanceof Nc.Constructed){let i=0,n={verified:!1,result:{error:"Unknown error"}},s=r.valueBlock.value.length;if(s>0&&r.valueBlock.value[0]instanceof yh&&(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,Ac),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,Ac),r.name&&(delete t[r.name],e.name=r.name)),e}}else if(r.valueBlock.value[0]instanceof yh){if(n=Ah(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,Ac),r.name&&delete t[r.name]),n;i++}if(yc 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=Ah(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,Ac),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,Ac),r.name&&(delete t[r.name],e.name=r.name)),e}return{verified:!0,result:t}}if(r.primitiveSchema&&bc in e.valueBlock){const i=yl(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,Ac),r.name&&(delete t[r.name],e.name=r.name)),e}return Ah(t,i.result,r.primitiveSchema)}return{verified:!0,result:t}}function _h(t,e){if(e instanceof Object==0)return{verified:!1,result:{error:"Wrong ASN.1 schema type"}};const r=yl(oc.vJ.toUint8Array(t));return-1===r.offset?{verified:!1,result:r.result}:Ah(r.result,r.result,e)}!function(t){t[t.Sequence=0]="Sequence",t[t.Set=1]="Set",t[t.Choice=2]="Choice"}(gl||(gl={})),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"}(ml||(ml={}));class vh{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 kl))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 kl({unusedBits:this.unusedBits,valueHex:this.value})}toSchema(t){return new kl({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 Eh{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 Il))throw new TypeError("Argument 'asn' is not instance of ASN.1 OctetString");return this.buffer=t.valueBlock.valueHex,this}toASN(){return new Il({valueHex:this.buffer})}toSchema(t){return new Il({name:t})}}const Sh={fromASN:t=>t instanceof Sl?null:t.valueBeforeDecodeView,toASN:t=>{if(null===t)return new Sl;const e=bl(t);if(e.result.error)throw new Error(e.result.error);return e.result}},Th={fromASN:t=>t.valueBlock.valueHexView.byteLength>=4?t.valueBlock.toString():t.valueBlock.valueDec,toASN:t=>new Ll({value:+t})},xh={fromASN:t=>t.valueBlock.valueDec,toASN:t=>new Dl({value:t})},Ch={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new Ll({valueHex:t})},Ih={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new kl({valueHex:t})},Rh={fromASN:t=>t.valueBlock.toString(),toASN:t=>new Fl({value:t})},kh={fromASN:t=>t.valueBlock.value,toASN:t=>new xl({value:t})},Nh={fromASN:t=>t.valueBlock.valueHexView,toASN:t=>new Il({valueHex:t})},Oh={fromASN:t=>new Eh(t.getValue()),toASN:t=>t.toASN()};function Bh(t){return{fromASN:t=>t.valueBlock.value,toASN:e=>new t({value:e})}}const Ph=Bh(Yl),Lh=Bh(Xl),Dh=Bh($l),Uh=Bh(th),Mh=Bh(eh),Fh=Bh(rh),Hh=Bh(ih),Wh=Bh(nh),jh=Bh(sh),Vh=Bh(oh),Gh=Bh(ah),zh=Bh(ch),qh={fromASN:t=>t.toDate(),toASN:t=>new lh({valueDate:t})},Qh={fromASN:t=>t.toDate(),toASN:t=>new hh({valueDate:t})},Kh={fromASN:()=>null,toASN:()=>new Sl};function Yh(t){switch(t){case ml.Any:return Sh;case ml.BitString:return Ih;case ml.BmpString:return Lh;case ml.Boolean:return kh;case ml.CharacterString:return zh;case ml.Enumerated:return xh;case ml.GeneralString:return Gh;case ml.GeneralizedTime:return Qh;case ml.GraphicString:return jh;case ml.IA5String:return Wh;case ml.Integer:return Th;case ml.Null:return Kh;case ml.NumericString:return Uh;case ml.ObjectIdentifier:return Rh;case ml.OctetString:return Nh;case ml.PrintableString:return Mh;case ml.TeletexString:return Fh;case ml.UTCTime:return qh;case ml.UniversalString:return Dh;case ml.Utf8String:return Ph;case ml.VideotexString:return Hh;case ml.VisibleString:return Vh;default:return null}}function Jh(t){return"function"==typeof t&&t.prototype?!(!t.prototype.toASN||!t.prototype.fromASN)||Jh(t.prototype):!!(t&&"object"==typeof t&&"toASN"in t&&"fromASN"in t)}function Xh(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||Xh(r)}return!1}function Zh(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 $h=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:gl.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=ml[s.type],r=t[e];if(!r)throw new Error(`Cannot get ASN1 class by name '${e}'`);a=new r({name:o})}else Jh(s.type)?a=(new s.type).toSchema(o):s.optional?this.get(s.type).type===gl.Choice?a=new mh({name:o}):(a=this.create(s.type,!1),a.name=o):a=new mh({name:o});const c=!!s.optional||void 0!==s.defaultValue;if(s.repeated&&(a.name="",a=new("set"===s.repeated?Gl:Vl)({name:"",value:[new yh({name:o,value:a})]})),null!==s.context&&void 0!==s.context)if(s.implicit)if("number"==typeof s.type||Jh(s.type)){const t=s.repeated?_l:wl;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 _l({name:t?"":o,optional:c,idBlock:{tagClass:3,tagNumber:s.context},value:e}))}else n.push(new _l({optional:c,idBlock:{tagClass:3,tagNumber:s.context},value:[a]}));else a.optional=c,n.push(a)}switch(i.type){case gl.Sequence:return new Vl({value:n,name:""});case gl.Set:return new Gl({value:n,name:""});case gl.Choice:return new wh({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}},tu=t=>e=>{let r;$h.has(e)?r=$h.get(e):(r=$h.createDefault(e),$h.set(e,r)),Object.assign(r,t)},eu=t=>(e,r)=>{let i;$h.has(e.constructor)?i=$h.get(e.constructor):(i=$h.createDefault(e.constructor),$h.set(e.constructor,i));const n=Object.assign({},t);if("number"==typeof n.type&&!n.converter){const i=Yh(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 iu{static parse(t,e){const r=bl(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(Jh(r))return(new r).fromASN(e);const n=$h.get(r);$h.cache(r);let s=n.schema;if(e.constructor===_l&&n.type!==gl.Choice){s=new _l({idBlock:{tagClass:3,tagNumber:e.idBlock.tagNumber},value:n.schema.valueBlock.value});for(const t in n.items)delete e[t]}const o=Ah({},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(Xh(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=Yh(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||Jh(c)){const n=null!==(i=s.converter)&&void 0!==i?i:Jh(c)?new c:null;if(!n)throw new Error("Converter is empty");if(s.repeated)if(s.implicit){const t=new("sequence"===s.repeated?Vl:Gl);t.valueBlock=r.valueBlock;const i=bl(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(Jh(c))e=(new c).toSchema("");else{const r=ml[c],i=t[r];if(!i)throw new Error(`Cannot get '${r}' class from asn1js module`);e=new i}e.valueBlock=i.valueBlock,i=bl(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}}}class nu{static serialize(t){return t instanceof Oc?t.toBER(!1):this.toASN(t).toBER(!1)}static toASN(t){if(t&&"object"==typeof t&&Jh(t))return t.toASN();if(!t||"object"!=typeof t)throw new TypeError("Parameter 1 should be type of Object.");const e=t.constructor,r=$h.get(e);$h.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=Yh(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&&Zh(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&&!Jh(s.type))n.push(new _l({optional:s.optional,idBlock:{tagClass:3,tagNumber:s.context},value:a.valueBlock.value}));else{const t={};t.valueHex=a instanceof Sl?a.valueBeforeDecodeView:a.valueBlock.toBER(),n.push(new wl({optional:s.optional,idBlock:{tagClass:3,tagNumber:s.context},...t}))}else n.push(new _l({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 gl.Sequence:i=new Vl({value:n});break;case gl.Set:i=new Gl({value:n});break;case gl.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 ${ml[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?Vl:Gl)({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?Vl:Gl)({value:e})}else n=this.toASN(i);return n}}class su 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 nu.serialize(t)}static parse(t,e){return iu.parse(t,e)}static toString(t){const e=bl(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 au(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 cu,lu,hu,uu=r(6512);class pu{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 du=class{constructor(t={}){Object.assign(this,t)}toString(){return this.bmpString||this.printableString||this.teletexString||this.universalString||this.utf8String||""}};au([eu({type:ml.TeletexString})],du.prototype,"teletexString",void 0),au([eu({type:ml.PrintableString})],du.prototype,"printableString",void 0),au([eu({type:ml.UniversalString})],du.prototype,"universalString",void 0),au([eu({type:ml.Utf8String})],du.prototype,"utf8String",void 0),au([eu({type:ml.BmpString})],du.prototype,"bmpString",void 0),du=au([tu({type:gl.Choice})],du);let fu=class extends du{constructor(t={}){super(t),Object.assign(this,t)}toString(){return this.ia5String||(this.anyValue?oc.ep.ToHex(this.anyValue):super.toString())}};au([eu({type:ml.IA5String})],fu.prototype,"ia5String",void 0),au([eu({type:ml.Any})],fu.prototype,"anyValue",void 0),fu=au([tu({type:gl.Choice})],fu);class gu{constructor(t={}){this.type="",this.value=new fu,Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],gu.prototype,"type",void 0),au([eu({type:fu})],gu.prototype,"value",void 0);let mu=cu=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,cu.prototype)}};mu=cu=au([tu({type:gl.Set,itemType:gu})],mu);let wu=lu=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,lu.prototype)}};wu=lu=au([tu({type:gl.Sequence,itemType:mu})],wu);let yu=hu=class extends wu{constructor(t){super(t),Object.setPrototypeOf(this,hu.prototype)}};yu=hu=au([tu({type:gl.Sequence})],yu);const bu={fromASN:t=>pu.toString(Nh.fromASN(t)),toASN:t=>Nh.toASN(pu.fromString(t))};class Au{constructor(t={}){this.typeId="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],Au.prototype,"typeId",void 0),au([eu({type:ml.Any,context:0})],Au.prototype,"value",void 0);class _u{constructor(t={}){this.partyName=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:du,optional:!0,context:0,implicit:!0})],_u.prototype,"nameAssigner",void 0),au([eu({type:du,context:1,implicit:!0})],_u.prototype,"partyName",void 0);let vu=class{constructor(t={}){Object.assign(this,t)}};au([eu({type:Au,context:0,implicit:!0})],vu.prototype,"otherName",void 0),au([eu({type:ml.IA5String,context:1,implicit:!0})],vu.prototype,"rfc822Name",void 0),au([eu({type:ml.IA5String,context:2,implicit:!0})],vu.prototype,"dNSName",void 0),au([eu({type:ml.Any,context:3,implicit:!0})],vu.prototype,"x400Address",void 0),au([eu({type:yu,context:4,implicit:!1})],vu.prototype,"directoryName",void 0),au([eu({type:_u,context:5})],vu.prototype,"ediPartyName",void 0),au([eu({type:ml.IA5String,context:6,implicit:!0})],vu.prototype,"uniformResourceIdentifier",void 0),au([eu({type:ml.OctetString,context:7,implicit:!0,converter:bu})],vu.prototype,"iPAddress",void 0),au([eu({type:ml.ObjectIdentifier,context:8,implicit:!0})],vu.prototype,"registeredID",void 0),vu=au([tu({type:gl.Choice})],vu);const Eu="1.3.6.1.5.5.7.3";var Su;class Tu{constructor(t={}){this.accessMethod="",this.accessLocation=new vu,Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],Tu.prototype,"accessMethod",void 0),au([eu({type:vu})],Tu.prototype,"accessLocation",void 0);let xu=Su=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,Su.prototype)}};xu=Su=au([tu({type:gl.Sequence,itemType:Tu})],xu);const Cu="2.5.29.35";class Iu extends Eh{}class Ru{constructor(t={}){t&&Object.assign(this,t)}}au([eu({type:Iu,context:0,optional:!0,implicit:!0})],Ru.prototype,"keyIdentifier",void 0),au([eu({type:vu,context:1,optional:!0,implicit:!0,repeated:"sequence"})],Ru.prototype,"authorityCertIssuer",void 0),au([eu({type:ml.Integer,context:2,optional:!0,implicit:!0,converter:Ch})],Ru.prototype,"authorityCertSerialNumber",void 0);const ku="2.5.29.19";class Nu{constructor(t={}){this.cA=!1,Object.assign(this,t)}}var Ou;au([eu({type:ml.Boolean,defaultValue:!1})],Nu.prototype,"cA",void 0),au([eu({type:ml.Integer,optional:!0})],Nu.prototype,"pathLenConstraint",void 0);let Bu=Ou=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,Ou.prototype)}};var Pu;Bu=Ou=au([tu({type:gl.Sequence,itemType:vu})],Bu);let Lu=Pu=class extends Bu{constructor(t){super(t),Object.setPrototypeOf(this,Pu.prototype)}};var Du;Lu=Pu=au([tu({type:gl.Sequence})],Lu);const Uu="2.5.29.32";let Mu=class{constructor(t={}){Object.assign(this,t)}toString(){return this.ia5String||this.visibleString||this.bmpString||this.utf8String||""}};au([eu({type:ml.IA5String})],Mu.prototype,"ia5String",void 0),au([eu({type:ml.VisibleString})],Mu.prototype,"visibleString",void 0),au([eu({type:ml.BmpString})],Mu.prototype,"bmpString",void 0),au([eu({type:ml.Utf8String})],Mu.prototype,"utf8String",void 0),Mu=au([tu({type:gl.Choice})],Mu);class Fu{constructor(t={}){this.organization=new Mu,this.noticeNumbers=[],Object.assign(this,t)}}au([eu({type:Mu})],Fu.prototype,"organization",void 0),au([eu({type:ml.Integer,repeated:"sequence"})],Fu.prototype,"noticeNumbers",void 0);class Hu{constructor(t={}){Object.assign(this,t)}}au([eu({type:Fu,optional:!0})],Hu.prototype,"noticeRef",void 0),au([eu({type:Mu,optional:!0})],Hu.prototype,"explicitText",void 0);let Wu=class{constructor(t={}){Object.assign(this,t)}};au([eu({type:ml.IA5String})],Wu.prototype,"cPSuri",void 0),au([eu({type:Hu})],Wu.prototype,"userNotice",void 0),Wu=au([tu({type:gl.Choice})],Wu);class ju{constructor(t={}){this.policyQualifierId="",this.qualifier=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],ju.prototype,"policyQualifierId",void 0),au([eu({type:ml.Any})],ju.prototype,"qualifier",void 0);class Vu{constructor(t={}){this.policyIdentifier="",Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],Vu.prototype,"policyIdentifier",void 0),au([eu({type:ju,repeated:"sequence",optional:!0})],Vu.prototype,"policyQualifiers",void 0);let Gu=Du=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,Du.prototype)}};Gu=Du=au([tu({type:gl.Sequence,itemType:Vu})],Gu);let zu=class{constructor(t=0){this.value=t}};au([eu({type:ml.Integer})],zu.prototype,"value",void 0),zu=au([tu({type:gl.Choice})],zu);let qu=class extends zu{};var Qu,Ku;qu=au([tu({type:gl.Choice})],qu),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"}(Ku||(Ku={}));class Yu extends vh{toJSON(){const t=[],e=this.toNumber();return e&Ku.aACompromise&&t.push("aACompromise"),e&Ku.affiliationChanged&&t.push("affiliationChanged"),e&Ku.cACompromise&&t.push("cACompromise"),e&Ku.certificateHold&&t.push("certificateHold"),e&Ku.cessationOfOperation&&t.push("cessationOfOperation"),e&Ku.keyCompromise&&t.push("keyCompromise"),e&Ku.privilegeWithdrawn&&t.push("privilegeWithdrawn"),e&Ku.superseded&&t.push("superseded"),e&Ku.unused&&t.push("unused"),t}toString(){return`[${this.toJSON().join(", ")}]`}}let Ju=class{constructor(t={}){Object.assign(this,t)}};au([eu({type:vu,context:0,repeated:"sequence",implicit:!0})],Ju.prototype,"fullName",void 0),au([eu({type:mu,context:1,implicit:!0})],Ju.prototype,"nameRelativeToCRLIssuer",void 0),Ju=au([tu({type:gl.Choice})],Ju);class Xu{constructor(t={}){Object.assign(this,t)}}au([eu({type:Ju,context:0,optional:!0})],Xu.prototype,"distributionPoint",void 0),au([eu({type:Yu,context:1,optional:!0,implicit:!0})],Xu.prototype,"reasons",void 0),au([eu({type:vu,context:2,optional:!0,repeated:"sequence",implicit:!0})],Xu.prototype,"cRLIssuer",void 0);let Zu=Qu=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,Qu.prototype)}};var $u;Zu=Qu=au([tu({type:gl.Sequence,itemType:Xu})],Zu);let tp=$u=class extends Zu{constructor(t){super(t),Object.setPrototypeOf(this,$u.prototype)}};tp=$u=au([tu({type:gl.Sequence,itemType:Xu})],tp);class ep{constructor(t={}){this.onlyContainsUserCerts=ep.ONLY,this.onlyContainsCACerts=ep.ONLY,this.indirectCRL=ep.ONLY,this.onlyContainsAttributeCerts=ep.ONLY,Object.assign(this,t)}}var rp;ep.ONLY=!1,au([eu({type:Ju,context:0,optional:!0})],ep.prototype,"distributionPoint",void 0),au([eu({type:ml.Boolean,context:1,defaultValue:ep.ONLY,implicit:!0})],ep.prototype,"onlyContainsUserCerts",void 0),au([eu({type:ml.Boolean,context:2,defaultValue:ep.ONLY,implicit:!0})],ep.prototype,"onlyContainsCACerts",void 0),au([eu({type:Yu,context:3,optional:!0,implicit:!0})],ep.prototype,"onlySomeReasons",void 0),au([eu({type:ml.Boolean,context:4,defaultValue:ep.ONLY,implicit:!0})],ep.prototype,"indirectCRL",void 0),au([eu({type:ml.Boolean,context:5,defaultValue:ep.ONLY,implicit:!0})],ep.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 ip=class{constructor(t=rp.unspecified){this.reason=rp.unspecified,this.reason=t}toJSON(){return rp[this.reason]}toString(){return this.toJSON()}};var np;au([eu({type:ml.Enumerated})],ip.prototype,"reason",void 0),ip=au([tu({type:gl.Choice})],ip);const sp="2.5.29.37";let op=np=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,np.prototype)}};op=np=au([tu({type:gl.Sequence,itemType:ml.ObjectIdentifier})],op);const ap=`${Eu}.1`,cp=`${Eu}.2`,lp=`${Eu}.3`,hp=`${Eu}.4`,up=`${Eu}.8`,pp=`${Eu}.9`;let dp=class{constructor(t=new ArrayBuffer(0)){this.value=t}};au([eu({type:ml.Integer,converter:Ch})],dp.prototype,"value",void 0),dp=au([tu({type:gl.Choice})],dp);let fp=class{constructor(t){this.value=new Date,t&&(this.value=t)}};var gp;au([eu({type:ml.GeneralizedTime})],fp.prototype,"value",void 0),fp=au([tu({type:gl.Choice})],fp);let mp=gp=class extends Bu{constructor(t){super(t),Object.setPrototypeOf(this,gp.prototype)}};mp=gp=au([tu({type:gl.Sequence})],mp);const wp="2.5.29.15";var yp,bp;!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"}(yp||(yp={}));class Ap extends vh{toJSON(){const t=this.toNumber(),e=[];return t&yp.cRLSign&&e.push("crlSign"),t&yp.dataEncipherment&&e.push("dataEncipherment"),t&yp.decipherOnly&&e.push("decipherOnly"),t&yp.digitalSignature&&e.push("digitalSignature"),t&yp.encipherOnly&&e.push("encipherOnly"),t&yp.keyAgreement&&e.push("keyAgreement"),t&yp.keyCertSign&&e.push("keyCertSign"),t&yp.keyEncipherment&&e.push("keyEncipherment"),t&yp.nonRepudiation&&e.push("nonRepudiation"),e}toString(){return`[${this.toJSON().join(", ")}]`}}class _p{constructor(t={}){this.base=new vu,this.minimum=0,Object.assign(this,t)}}au([eu({type:vu})],_p.prototype,"base",void 0),au([eu({type:ml.Integer,context:0,defaultValue:0,implicit:!0})],_p.prototype,"minimum",void 0),au([eu({type:ml.Integer,context:1,optional:!0,implicit:!0})],_p.prototype,"maximum",void 0);let vp=bp=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,bp.prototype)}};vp=bp=au([tu({type:gl.Sequence,itemType:_p})],vp);class Ep{constructor(t={}){Object.assign(this,t)}}au([eu({type:vp,context:0,optional:!0,implicit:!0})],Ep.prototype,"permittedSubtrees",void 0),au([eu({type:vp,context:1,optional:!0,implicit:!0})],Ep.prototype,"excludedSubtrees",void 0);class Sp{constructor(t={}){Object.assign(this,t)}}var Tp;au([eu({type:ml.Integer,context:0,implicit:!0,optional:!0,converter:Ch})],Sp.prototype,"requireExplicitPolicy",void 0),au([eu({type:ml.Integer,context:1,implicit:!0,optional:!0,converter:Ch})],Sp.prototype,"inhibitPolicyMapping",void 0);class xp{constructor(t={}){this.issuerDomainPolicy="",this.subjectDomainPolicy="",Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],xp.prototype,"issuerDomainPolicy",void 0),au([eu({type:ml.ObjectIdentifier})],xp.prototype,"subjectDomainPolicy",void 0);let Cp=Tp=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,Tp.prototype)}};var Ip;Cp=Tp=au([tu({type:gl.Sequence,itemType:xp})],Cp);const Rp="2.5.29.17";let kp=Ip=class extends Bu{constructor(t){super(t),Object.setPrototypeOf(this,Ip.prototype)}};kp=Ip=au([tu({type:gl.Sequence})],kp);class Np{constructor(t={}){this.type="",this.values=[],Object.assign(this,t)}}var Op;au([eu({type:ml.ObjectIdentifier})],Np.prototype,"type",void 0),au([eu({type:ml.Any,repeated:"set"})],Np.prototype,"values",void 0);let Bp=Op=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,Op.prototype)}};Bp=Op=au([tu({type:gl.Sequence,itemType:Np})],Bp);const Pp="2.5.29.14";class Lp extends Iu{}class Dp{constructor(t={}){Object.assign(this,t)}}var Up,Mp;au([eu({type:ml.GeneralizedTime,context:0,implicit:!0,optional:!0})],Dp.prototype,"notBefore",void 0),au([eu({type:ml.GeneralizedTime,context:1,implicit:!0,optional:!0})],Dp.prototype,"notAfter",void 0),function(t){t[t.keyUpdateAllowed=1]="keyUpdateAllowed",t[t.newExtensions=2]="newExtensions",t[t.pKIXCertificate=4]="pKIXCertificate"}(Up||(Up={}));class Fp extends vh{toJSON(){const t=[],e=this.toNumber();return e&Up.pKIXCertificate&&t.push("pKIXCertificate"),e&Up.newExtensions&&t.push("newExtensions"),e&Up.keyUpdateAllowed&&t.push("keyUpdateAllowed"),t}toString(){return`[${this.toJSON().join(", ")}]`}}class Hp{constructor(t={}){this.entrustVers="",this.entrustInfoFlags=new Fp,Object.assign(this,t)}}au([eu({type:ml.GeneralString})],Hp.prototype,"entrustVers",void 0),au([eu({type:Fp})],Hp.prototype,"entrustInfoFlags",void 0);let Wp=Mp=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,Mp.prototype)}};Wp=Mp=au([tu({type:gl.Sequence,itemType:Tu})],Wp);class jp{constructor(t={}){this.algorithm="",Object.assign(this,t)}isEqual(t){return t instanceof jp&&t.algorithm==this.algorithm&&(t.parameters&&this.parameters&&oc.Xy(t.parameters,this.parameters)||t.parameters===this.parameters)}}au([eu({type:ml.ObjectIdentifier})],jp.prototype,"algorithm",void 0),au([eu({type:ml.Any,optional:!0})],jp.prototype,"parameters",void 0);class Vp{constructor(t={}){this.algorithm=new jp,this.subjectPublicKey=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:jp})],Vp.prototype,"algorithm",void 0),au([eu({type:ml.BitString})],Vp.prototype,"subjectPublicKey",void 0);let Gp=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}};au([eu({type:ml.UTCTime})],Gp.prototype,"utcTime",void 0),au([eu({type:ml.GeneralizedTime})],Gp.prototype,"generalTime",void 0),Gp=au([tu({type:gl.Choice})],Gp);class zp{constructor(t){this.notBefore=new Gp(new Date),this.notAfter=new Gp(new Date),t&&(this.notBefore=new Gp(t.notBefore),this.notAfter=new Gp(t.notAfter))}}var qp;au([eu({type:Gp})],zp.prototype,"notBefore",void 0),au([eu({type:Gp})],zp.prototype,"notAfter",void 0);class Qp{constructor(t={}){this.extnID="",this.critical=Qp.CRITICAL,this.extnValue=new Eh,Object.assign(this,t)}}Qp.CRITICAL=!1,au([eu({type:ml.ObjectIdentifier})],Qp.prototype,"extnID",void 0),au([eu({type:ml.Boolean,defaultValue:Qp.CRITICAL})],Qp.prototype,"critical",void 0),au([eu({type:Eh})],Qp.prototype,"extnValue",void 0);let Kp=qp=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,qp.prototype)}};var Yp,Jp;Kp=qp=au([tu({type:gl.Sequence,itemType:Qp})],Kp),function(t){t[t.v1=0]="v1",t[t.v2=1]="v2",t[t.v3=2]="v3"}(Yp||(Yp={}));class Xp{constructor(t={}){this.version=Yp.v1,this.serialNumber=new ArrayBuffer(0),this.signature=new jp,this.issuer=new yu,this.validity=new zp,this.subject=new yu,this.subjectPublicKeyInfo=new Vp,Object.assign(this,t)}}au([eu({type:ml.Integer,context:0,defaultValue:Yp.v1})],Xp.prototype,"version",void 0),au([eu({type:ml.Integer,converter:Ch})],Xp.prototype,"serialNumber",void 0),au([eu({type:jp})],Xp.prototype,"signature",void 0),au([eu({type:yu})],Xp.prototype,"issuer",void 0),au([eu({type:zp})],Xp.prototype,"validity",void 0),au([eu({type:yu})],Xp.prototype,"subject",void 0),au([eu({type:Vp})],Xp.prototype,"subjectPublicKeyInfo",void 0),au([eu({type:ml.BitString,context:1,implicit:!0,optional:!0})],Xp.prototype,"issuerUniqueID",void 0),au([eu({type:ml.BitString,context:2,implicit:!0,optional:!0})],Xp.prototype,"subjectUniqueID",void 0),au([eu({type:Kp,context:3,optional:!0})],Xp.prototype,"extensions",void 0);class Zp{constructor(t={}){this.tbsCertificate=new Xp,this.signatureAlgorithm=new jp,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:Xp})],Zp.prototype,"tbsCertificate",void 0),au([eu({type:jp})],Zp.prototype,"signatureAlgorithm",void 0),au([eu({type:ml.BitString})],Zp.prototype,"signatureValue",void 0);class $p{constructor(t={}){this.userCertificate=new ArrayBuffer(0),this.revocationDate=new Gp,Object.assign(this,t)}}au([eu({type:ml.Integer,converter:Ch})],$p.prototype,"userCertificate",void 0),au([eu({type:Gp})],$p.prototype,"revocationDate",void 0),au([eu({type:Qp,optional:!0,repeated:"sequence"})],$p.prototype,"crlEntryExtensions",void 0);class td{constructor(t={}){this.signature=new jp,this.issuer=new yu,this.thisUpdate=new Gp,Object.assign(this,t)}}au([eu({type:ml.Integer,optional:!0})],td.prototype,"version",void 0),au([eu({type:jp})],td.prototype,"signature",void 0),au([eu({type:yu})],td.prototype,"issuer",void 0),au([eu({type:Gp})],td.prototype,"thisUpdate",void 0),au([eu({type:Gp,optional:!0})],td.prototype,"nextUpdate",void 0),au([eu({type:$p,repeated:"sequence",optional:!0})],td.prototype,"revokedCertificates",void 0),au([eu({type:Qp,optional:!0,context:0,repeated:"sequence"})],td.prototype,"crlExtensions",void 0);class ed{constructor(t={}){this.tbsCertList=new td,this.signatureAlgorithm=new jp,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:td})],ed.prototype,"tbsCertList",void 0),au([eu({type:jp})],ed.prototype,"signatureAlgorithm",void 0),au([eu({type:ml.BitString})],ed.prototype,"signature",void 0);class rd{constructor(t={}){this.attrType="",this.attrValues=[],Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],rd.prototype,"attrType",void 0),au([eu({type:ml.Any,repeated:"set"})],rd.prototype,"attrValues",void 0);class id{constructor(t={}){this.acIssuer=new vu,this.acSerial=0,this.attrs=[],Object.assign(this,t)}}au([eu({type:vu})],id.prototype,"acIssuer",void 0),au([eu({type:ml.Integer})],id.prototype,"acSerial",void 0),au([eu({type:Np,repeated:"sequence"})],id.prototype,"attrs",void 0);let nd=Jp=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,Jp.prototype)}};nd=Jp=au([tu({type:gl.Sequence,itemType:ml.ObjectIdentifier})],nd);class sd{constructor(t={}){this.permitUnSpecified=!0,Object.assign(this,t)}}au([eu({type:ml.Integer,optional:!0})],sd.prototype,"pathLenConstraint",void 0),au([eu({type:nd,implicit:!0,context:0,optional:!0})],sd.prototype,"permittedAttrs",void 0),au([eu({type:nd,implicit:!0,context:1,optional:!0})],sd.prototype,"excludedAttrs",void 0),au([eu({type:ml.Boolean,defaultValue:!0})],sd.prototype,"permitUnSpecified",void 0);class od{constructor(t={}){this.issuer=new Bu,this.serial=new ArrayBuffer(0),this.issuerUID=new ArrayBuffer(0),Object.assign(this,t)}}var ad;au([eu({type:Bu})],od.prototype,"issuer",void 0),au([eu({type:ml.Integer,converter:Ch})],od.prototype,"serial",void 0),au([eu({type:ml.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"}(ad||(ad={}));class cd{constructor(t={}){this.digestedObjectType=ad.publicKey,this.digestAlgorithm=new jp,this.objectDigest=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:ml.Enumerated})],cd.prototype,"digestedObjectType",void 0),au([eu({type:ml.ObjectIdentifier,optional:!0})],cd.prototype,"otherObjectTypeID",void 0),au([eu({type:jp})],cd.prototype,"digestAlgorithm",void 0),au([eu({type:ml.BitString})],cd.prototype,"objectDigest",void 0);class ld{constructor(t={}){Object.assign(this,t)}}au([eu({type:Bu,optional:!0})],ld.prototype,"issuerName",void 0),au([eu({type:od,context:0,implicit:!0,optional:!0})],ld.prototype,"baseCertificateID",void 0),au([eu({type:cd,context:1,implicit:!0,optional:!0})],ld.prototype,"objectDigestInfo",void 0);let hd=class{constructor(t={}){Object.assign(this,t)}};au([eu({type:vu,repeated:"sequence"})],hd.prototype,"v1Form",void 0),au([eu({type:ld,context:0,implicit:!0})],hd.prototype,"v2Form",void 0),hd=au([tu({type:gl.Choice})],hd);class ud{constructor(t={}){this.notBeforeTime=new Date,this.notAfterTime=new Date,Object.assign(this,t)}}au([eu({type:ml.GeneralizedTime})],ud.prototype,"notBeforeTime",void 0),au([eu({type:ml.GeneralizedTime})],ud.prototype,"notAfterTime",void 0);class pd{constructor(t={}){Object.assign(this,t)}}var dd,fd,gd;au([eu({type:od,implicit:!0,context:0,optional:!0})],pd.prototype,"baseCertificateID",void 0),au([eu({type:Bu,implicit:!0,context:1,optional:!0})],pd.prototype,"entityName",void 0),au([eu({type:cd,implicit:!0,context:2,optional:!0})],pd.prototype,"objectDigestInfo",void 0),function(t){t[t.v2=1]="v2"}(dd||(dd={}));class md{constructor(t={}){this.version=dd.v2,this.holder=new pd,this.issuer=new hd,this.signature=new jp,this.serialNumber=new ArrayBuffer(0),this.attrCertValidityPeriod=new ud,this.attributes=[],Object.assign(this,t)}}au([eu({type:ml.Integer})],md.prototype,"version",void 0),au([eu({type:pd})],md.prototype,"holder",void 0),au([eu({type:hd})],md.prototype,"issuer",void 0),au([eu({type:jp})],md.prototype,"signature",void 0),au([eu({type:ml.Integer,converter:Ch})],md.prototype,"serialNumber",void 0),au([eu({type:ud})],md.prototype,"attrCertValidityPeriod",void 0),au([eu({type:Np,repeated:"sequence"})],md.prototype,"attributes",void 0),au([eu({type:ml.BitString,optional:!0})],md.prototype,"issuerUniqueID",void 0),au([eu({type:Kp,optional:!0})],md.prototype,"extensions",void 0);class wd{constructor(t={}){this.acinfo=new md,this.signatureAlgorithm=new jp,this.signatureValue=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:md})],wd.prototype,"acinfo",void 0),au([eu({type:jp})],wd.prototype,"signatureAlgorithm",void 0),au([eu({type:ml.BitString})],wd.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"}(fd||(fd={}));class yd extends vh{}class bd{constructor(t={}){this.type="",this.value=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier,implicit:!0,context:0})],bd.prototype,"type",void 0),au([eu({type:ml.Any,implicit:!0,context:1})],bd.prototype,"value",void 0);class Ad{constructor(t={}){this.policyId="",this.classList=new yd(fd.unclassified),Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],Ad.prototype,"policyId",void 0),au([eu({type:yd,defaultValue:new yd(fd.unclassified)})],Ad.prototype,"classList",void 0),au([eu({type:bd,repeated:"set"})],Ad.prototype,"securityCategories",void 0);class _d{constructor(t={}){Object.assign(this,t)}}au([eu({type:Eh})],_d.prototype,"cotets",void 0),au([eu({type:ml.ObjectIdentifier})],_d.prototype,"oid",void 0),au([eu({type:ml.Utf8String})],_d.prototype,"string",void 0);class vd{constructor(t={}){this.values=[],Object.assign(this,t)}}au([eu({type:Bu,implicit:!0,context:0,optional:!0})],vd.prototype,"policyAuthority",void 0),au([eu({type:_d,repeated:"sequence"})],vd.prototype,"values",void 0);class Ed{constructor(t={}){this.targetCertificate=new od,Object.assign(this,t)}}au([eu({type:od})],Ed.prototype,"targetCertificate",void 0),au([eu({type:vu,optional:!0})],Ed.prototype,"targetName",void 0),au([eu({type:cd,optional:!0})],Ed.prototype,"certDigestInfo",void 0);let Sd=class{constructor(t={}){Object.assign(this,t)}};au([eu({type:vu,context:0,implicit:!0})],Sd.prototype,"targetName",void 0),au([eu({type:vu,context:1,implicit:!0})],Sd.prototype,"targetGroup",void 0),au([eu({type:Ed,context:2,implicit:!0})],Sd.prototype,"targetCert",void 0),Sd=au([tu({type:gl.Choice})],Sd);let Td=gd=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,gd.prototype)}};var xd;Td=gd=au([tu({type:gl.Sequence,itemType:Sd})],Td);let Cd=xd=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,xd.prototype)}};Cd=xd=au([tu({type:gl.Sequence,itemType:Td})],Cd);class Id{constructor(t={}){Object.assign(this,t)}}au([eu({type:Bu,implicit:!0,context:0,optional:!0})],Id.prototype,"roleAuthority",void 0),au([eu({type:vu,implicit:!0,context:1})],Id.prototype,"roleName",void 0);class Rd{constructor(t={}){this.service=new vu,this.ident=new vu,Object.assign(this,t)}}var kd;au([eu({type:vu})],Rd.prototype,"service",void 0),au([eu({type:vu})],Rd.prototype,"ident",void 0),au([eu({type:Eh,optional:!0})],Rd.prototype,"authInfo",void 0);class Nd{constructor(t={}){this.otherCertFormat="",this.otherCert=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],Nd.prototype,"otherCertFormat",void 0),au([eu({type:ml.Any})],Nd.prototype,"otherCert",void 0);let Od=class{constructor(t={}){Object.assign(this,t)}};au([eu({type:Zp})],Od.prototype,"certificate",void 0),au([eu({type:wd,context:2,implicit:!0})],Od.prototype,"v2AttrCert",void 0),au([eu({type:Nd,context:3,implicit:!0})],Od.prototype,"other",void 0),Od=au([tu({type:gl.Choice})],Od);let Bd=kd=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,kd.prototype)}};Bd=kd=au([tu({type:gl.Set,itemType:Od})],Bd);class Pd{constructor(t={}){this.contentType="",this.content=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],Pd.prototype,"contentType",void 0),au([eu({type:ml.Any,context:0})],Pd.prototype,"content",void 0);let Ld=class{constructor(t={}){Object.assign(this,t)}};au([eu({type:Eh})],Ld.prototype,"single",void 0),au([eu({type:ml.Any})],Ld.prototype,"any",void 0),Ld=au([tu({type:gl.Choice})],Ld);class Dd{constructor(t={}){this.eContentType="",Object.assign(this,t)}}var Ud;au([eu({type:ml.ObjectIdentifier})],Dd.prototype,"eContentType",void 0),au([eu({type:Ld,context:0,optional:!0})],Dd.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"}(Ud||(Ud={}));let Md=class extends jp{};Md=au([tu({type:gl.Sequence})],Md);let Fd=class extends jp{};Fd=au([tu({type:gl.Sequence})],Fd);let Hd=class extends jp{};Hd=au([tu({type:gl.Sequence})],Hd);let Wd=class extends jp{};Wd=au([tu({type:gl.Sequence})],Wd);let jd=class extends jp{};jd=au([tu({type:gl.Sequence})],jd);let Vd=class extends jp{};Vd=au([tu({type:gl.Sequence})],Vd);let Gd=class{constructor(t={}){Object.assign(this,t)}};au([eu({type:Eh,context:0,implicit:!0,optional:!0})],Gd.prototype,"value",void 0),au([eu({type:Eh,converter:Oh,context:0,implicit:!0,optional:!0,repeated:"sequence"})],Gd.prototype,"constructedValue",void 0),Gd=au([tu({type:gl.Choice})],Gd);class zd{constructor(t={}){this.contentType="",this.contentEncryptionAlgorithm=new Wd,Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],zd.prototype,"contentType",void 0),au([eu({type:Wd})],zd.prototype,"contentEncryptionAlgorithm",void 0),au([eu({type:Gd,optional:!0})],zd.prototype,"encryptedContent",void 0);class qd{constructor(t={}){this.issuer=new yu,this.serialNumber=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:yu})],qd.prototype,"issuer",void 0),au([eu({type:ml.Integer,converter:Ch})],qd.prototype,"serialNumber",void 0);class Qd{constructor(t={}){this.keyAttrId="",Object.assign(this,t)}}var Kd;au([eu({type:ml.ObjectIdentifier})],Qd.prototype,"keyAttrId",void 0),au([eu({type:ml.Any,optional:!0})],Qd.prototype,"keyAttr",void 0);class Yd{constructor(t={}){this.subjectKeyIdentifier=new Lp,Object.assign(this,t)}}au([eu({type:Lp})],Yd.prototype,"subjectKeyIdentifier",void 0),au([eu({type:ml.GeneralizedTime,optional:!0})],Yd.prototype,"date",void 0),au([eu({type:Qd,optional:!0})],Yd.prototype,"other",void 0);let Jd=class{constructor(t={}){Object.assign(this,t)}};au([eu({type:Yd,context:0,implicit:!0,optional:!0})],Jd.prototype,"rKeyId",void 0),au([eu({type:qd,optional:!0})],Jd.prototype,"issuerAndSerialNumber",void 0),Jd=au([tu({type:gl.Choice})],Jd);class Xd{constructor(t={}){this.rid=new Jd,this.encryptedKey=new Eh,Object.assign(this,t)}}au([eu({type:Jd})],Xd.prototype,"rid",void 0),au([eu({type:Eh})],Xd.prototype,"encryptedKey",void 0);let Zd=Kd=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,Kd.prototype)}};Zd=Kd=au([tu({type:gl.Sequence,itemType:Xd})],Zd);class $d{constructor(t={}){this.algorithm=new jp,this.publicKey=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:jp})],$d.prototype,"algorithm",void 0),au([eu({type:ml.BitString})],$d.prototype,"publicKey",void 0);let tf=class{constructor(t={}){Object.assign(this,t)}};au([eu({type:Lp,context:0,implicit:!0,optional:!0})],tf.prototype,"subjectKeyIdentifier",void 0),au([eu({type:$d,context:1,implicit:!0,optional:!0})],tf.prototype,"originatorKey",void 0),au([eu({type:qd,optional:!0})],tf.prototype,"issuerAndSerialNumber",void 0),tf=au([tu({type:gl.Choice})],tf);class ef{constructor(t={}){this.version=Ud.v3,this.originator=new tf,this.keyEncryptionAlgorithm=new Hd,this.recipientEncryptedKeys=new Zd,Object.assign(this,t)}}au([eu({type:ml.Integer})],ef.prototype,"version",void 0),au([eu({type:tf,context:0})],ef.prototype,"originator",void 0),au([eu({type:Eh,context:1,optional:!0})],ef.prototype,"ukm",void 0),au([eu({type:Hd})],ef.prototype,"keyEncryptionAlgorithm",void 0),au([eu({type:Zd})],ef.prototype,"recipientEncryptedKeys",void 0);let rf=class{constructor(t={}){Object.assign(this,t)}};au([eu({type:Lp,context:0,implicit:!0})],rf.prototype,"subjectKeyIdentifier",void 0),au([eu({type:qd})],rf.prototype,"issuerAndSerialNumber",void 0),rf=au([tu({type:gl.Choice})],rf);class nf{constructor(t={}){this.version=Ud.v0,this.rid=new rf,this.keyEncryptionAlgorithm=new Hd,this.encryptedKey=new Eh,Object.assign(this,t)}}au([eu({type:ml.Integer})],nf.prototype,"version",void 0),au([eu({type:rf})],nf.prototype,"rid",void 0),au([eu({type:Hd})],nf.prototype,"keyEncryptionAlgorithm",void 0),au([eu({type:Eh})],nf.prototype,"encryptedKey",void 0);class sf{constructor(t={}){this.keyIdentifier=new Eh,Object.assign(this,t)}}au([eu({type:Eh})],sf.prototype,"keyIdentifier",void 0),au([eu({type:ml.GeneralizedTime,optional:!0})],sf.prototype,"date",void 0),au([eu({type:Qd,optional:!0})],sf.prototype,"other",void 0);class of{constructor(t={}){this.version=Ud.v4,this.kekid=new sf,this.keyEncryptionAlgorithm=new Hd,this.encryptedKey=new Eh,Object.assign(this,t)}}au([eu({type:ml.Integer})],of.prototype,"version",void 0),au([eu({type:sf})],of.prototype,"kekid",void 0),au([eu({type:Hd})],of.prototype,"keyEncryptionAlgorithm",void 0),au([eu({type:Eh})],of.prototype,"encryptedKey",void 0);class af{constructor(t={}){this.version=Ud.v0,this.keyEncryptionAlgorithm=new Hd,this.encryptedKey=new Eh,Object.assign(this,t)}}au([eu({type:ml.Integer})],af.prototype,"version",void 0),au([eu({type:Vd,context:0,optional:!0})],af.prototype,"keyDerivationAlgorithm",void 0),au([eu({type:Hd})],af.prototype,"keyEncryptionAlgorithm",void 0),au([eu({type:Eh})],af.prototype,"encryptedKey",void 0);class cf{constructor(t={}){this.oriType="",this.oriValue=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],cf.prototype,"oriType",void 0),au([eu({type:ml.Any})],cf.prototype,"oriValue",void 0);let lf=class{constructor(t={}){Object.assign(this,t)}};var hf;au([eu({type:nf,optional:!0})],lf.prototype,"ktri",void 0),au([eu({type:ef,context:1,implicit:!0,optional:!0})],lf.prototype,"kari",void 0),au([eu({type:of,context:2,implicit:!0,optional:!0})],lf.prototype,"kekri",void 0),au([eu({type:af,context:3,implicit:!0,optional:!0})],lf.prototype,"pwri",void 0),au([eu({type:cf,context:4,implicit:!0,optional:!0})],lf.prototype,"ori",void 0),lf=au([tu({type:gl.Choice})],lf);let uf=hf=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,hf.prototype)}};var pf;uf=hf=au([tu({type:gl.Set,itemType:lf})],uf);class df{constructor(t={}){this.otherRevInfoFormat="",this.otherRevInfo=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],df.prototype,"otherRevInfoFormat",void 0),au([eu({type:ml.Any})],df.prototype,"otherRevInfo",void 0);let ff=class{constructor(t={}){this.other=new df,Object.assign(this,t)}};au([eu({type:df,context:1,implicit:!0})],ff.prototype,"other",void 0),ff=au([tu({type:gl.Choice})],ff);let gf=pf=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,pf.prototype)}};gf=pf=au([tu({type:gl.Set,itemType:ff})],gf);class mf{constructor(t={}){Object.assign(this,t)}}var wf;au([eu({type:Bd,context:0,implicit:!0,optional:!0})],mf.prototype,"certs",void 0),au([eu({type:gf,context:1,implicit:!0,optional:!0})],mf.prototype,"crls",void 0);let yf=wf=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,wf.prototype)}};yf=wf=au([tu({type:gl.Set,itemType:rd})],yf);class bf{constructor(t={}){this.version=Ud.v0,this.recipientInfos=new uf,this.encryptedContentInfo=new zd,Object.assign(this,t)}}au([eu({type:ml.Integer})],bf.prototype,"version",void 0),au([eu({type:mf,context:0,implicit:!0,optional:!0})],bf.prototype,"originatorInfo",void 0),au([eu({type:uf})],bf.prototype,"recipientInfos",void 0),au([eu({type:zd})],bf.prototype,"encryptedContentInfo",void 0),au([eu({type:yf,context:1,implicit:!0,optional:!0})],bf.prototype,"unprotectedAttrs",void 0);let Af=class{constructor(t={}){Object.assign(this,t)}};var _f;au([eu({type:Lp,context:0,implicit:!0})],Af.prototype,"subjectKeyIdentifier",void 0),au([eu({type:qd})],Af.prototype,"issuerAndSerialNumber",void 0),Af=au([tu({type:gl.Choice})],Af);class vf{constructor(t={}){this.version=Ud.v0,this.sid=new Af,this.digestAlgorithm=new Md,this.signatureAlgorithm=new Fd,this.signature=new Eh,Object.assign(this,t)}}au([eu({type:ml.Integer})],vf.prototype,"version",void 0),au([eu({type:Af})],vf.prototype,"sid",void 0),au([eu({type:Md})],vf.prototype,"digestAlgorithm",void 0),au([eu({type:rd,repeated:"set",context:0,implicit:!0,optional:!0})],vf.prototype,"signedAttrs",void 0),au([eu({type:Fd})],vf.prototype,"signatureAlgorithm",void 0),au([eu({type:Eh})],vf.prototype,"signature",void 0),au([eu({type:rd,repeated:"set",context:1,implicit:!0,optional:!0})],vf.prototype,"unsignedAttrs",void 0);let Ef=_f=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,_f.prototype)}};var Sf;Ef=_f=au([tu({type:gl.Set,itemType:vf})],Ef);let Tf=Sf=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,Sf.prototype)}};Tf=Sf=au([tu({type:gl.Set,itemType:Md})],Tf);class xf{constructor(t={}){this.version=Ud.v0,this.digestAlgorithms=new Tf,this.encapContentInfo=new Dd,this.signerInfos=new Ef,Object.assign(this,t)}}au([eu({type:ml.Integer})],xf.prototype,"version",void 0),au([eu({type:Tf})],xf.prototype,"digestAlgorithms",void 0),au([eu({type:Dd})],xf.prototype,"encapContentInfo",void 0),au([eu({type:Bd,context:0,implicit:!0,optional:!0})],xf.prototype,"certificates",void 0),au([eu({type:ff,context:1,implicit:!0,optional:!0})],xf.prototype,"crls",void 0),au([eu({type:Ef})],xf.prototype,"signerInfos",void 0);const Cf="1.2.840.10045.2.1",If="1.2.840.10045.4.1",Rf="1.2.840.10045.4.3.1",kf="1.2.840.10045.4.3.2",Nf="1.2.840.10045.4.3.3",Of="1.2.840.10045.4.3.4",Bf="1.2.840.10045.3.1.7",Pf="1.3.132.0.34",Lf="1.3.132.0.35";function Df(t){return new jp({algorithm:t})}const Uf=Df(If),Mf=(Df(Rf),Df(kf)),Ff=Df(Nf),Hf=Df(Of);let Wf=class{constructor(t={}){Object.assign(this,t)}};au([eu({type:ml.ObjectIdentifier})],Wf.prototype,"namedCurve",void 0),Wf=au([tu({type:gl.Choice})],Wf);class jf{constructor(t={}){this.version=1,this.privateKey=new Eh,Object.assign(this,t)}}au([eu({type:ml.Integer})],jf.prototype,"version",void 0),au([eu({type:Eh})],jf.prototype,"privateKey",void 0),au([eu({type:Wf,context:0,optional:!0})],jf.prototype,"parameters",void 0),au([eu({type:ml.BitString,context:1,optional:!0})],jf.prototype,"publicKey",void 0);class Vf{constructor(t={}){this.r=new ArrayBuffer(0),this.s=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:ml.Integer,converter:Ch})],Vf.prototype,"r",void 0),au([eu({type:ml.Integer,converter:Ch})],Vf.prototype,"s",void 0);const Gf="1.2.840.113549.1.1",zf=`${Gf}.1`,qf=`${Gf}.7`,Qf=`${Gf}.9`,Kf=`${Gf}.10`,Yf=`${Gf}.2`,Jf=`${Gf}.4`,Xf=`${Gf}.5`,Zf=`${Gf}.14`,$f=`${Gf}.11`,tg=`${Gf}.12`,eg=`${Gf}.13`,rg=`${Gf}.15`,ig=`${Gf}.16`,ng="1.3.14.3.2.26",sg="2.16.840.1.101.3.4.2.4",og="2.16.840.1.101.3.4.2.1",ag="2.16.840.1.101.3.4.2.2",cg="2.16.840.1.101.3.4.2.3",lg=`${Gf}.8`;function hg(t){return new jp({algorithm:t,parameters:null})}hg("1.2.840.113549.2.2"),hg("1.2.840.113549.2.5");const ug=hg(ng),pg=(hg(sg),hg(og),hg(ag),hg(cg),hg("2.16.840.1.101.3.4.2.5"),hg("2.16.840.1.101.3.4.2.6"),new jp({algorithm:lg,parameters:ou.serialize(ug)})),dg=new jp({algorithm:Qf,parameters:ou.serialize(Nh.toASN(new Uint8Array([218,57,163,238,94,107,75,13,50,85,191,239,149,96,24,144,175,216,7,9]).buffer))});hg(zf),hg(Yf),hg(Jf),hg(Xf),hg(rg),hg(ig),hg(tg),hg(eg),hg(rg),hg(ig);class fg{constructor(t={}){this.hashAlgorithm=new jp(ug),this.maskGenAlgorithm=new jp({algorithm:lg,parameters:ou.serialize(ug)}),this.pSourceAlgorithm=new jp(dg),Object.assign(this,t)}}au([eu({type:jp,context:0,defaultValue:ug})],fg.prototype,"hashAlgorithm",void 0),au([eu({type:jp,context:1,defaultValue:pg})],fg.prototype,"maskGenAlgorithm",void 0),au([eu({type:jp,context:2,defaultValue:dg})],fg.prototype,"pSourceAlgorithm",void 0),new jp({algorithm:qf,parameters:ou.serialize(new fg)});class gg{constructor(t={}){this.hashAlgorithm=new jp(ug),this.maskGenAlgorithm=new jp({algorithm:lg,parameters:ou.serialize(ug)}),this.saltLength=20,this.trailerField=1,Object.assign(this,t)}}au([eu({type:jp,context:0,defaultValue:ug})],gg.prototype,"hashAlgorithm",void 0),au([eu({type:jp,context:1,defaultValue:pg})],gg.prototype,"maskGenAlgorithm",void 0),au([eu({type:ml.Integer,context:2,defaultValue:20})],gg.prototype,"saltLength",void 0),au([eu({type:ml.Integer,context:3,defaultValue:1})],gg.prototype,"trailerField",void 0),new jp({algorithm:Kf,parameters:ou.serialize(new gg)});class mg{constructor(t={}){this.digestAlgorithm=new jp,this.digest=new Eh,Object.assign(this,t)}}var wg;au([eu({type:jp})],mg.prototype,"digestAlgorithm",void 0),au([eu({type:Eh})],mg.prototype,"digest",void 0);class yg{constructor(t={}){this.prime=new ArrayBuffer(0),this.exponent=new ArrayBuffer(0),this.coefficient=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:ml.Integer,converter:Ch})],yg.prototype,"prime",void 0),au([eu({type:ml.Integer,converter:Ch})],yg.prototype,"exponent",void 0),au([eu({type:ml.Integer,converter:Ch})],yg.prototype,"coefficient",void 0);let bg=wg=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,wg.prototype)}};bg=wg=au([tu({type:gl.Sequence,itemType:yg})],bg);class Ag{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)}}au([eu({type:ml.Integer})],Ag.prototype,"version",void 0),au([eu({type:ml.Integer,converter:Ch})],Ag.prototype,"modulus",void 0),au([eu({type:ml.Integer,converter:Ch})],Ag.prototype,"publicExponent",void 0),au([eu({type:ml.Integer,converter:Ch})],Ag.prototype,"privateExponent",void 0),au([eu({type:ml.Integer,converter:Ch})],Ag.prototype,"prime1",void 0),au([eu({type:ml.Integer,converter:Ch})],Ag.prototype,"prime2",void 0),au([eu({type:ml.Integer,converter:Ch})],Ag.prototype,"exponent1",void 0),au([eu({type:ml.Integer,converter:Ch})],Ag.prototype,"exponent2",void 0),au([eu({type:ml.Integer,converter:Ch})],Ag.prototype,"coefficient",void 0),au([eu({type:bg,optional:!0})],Ag.prototype,"otherPrimeInfos",void 0);class _g{constructor(t={}){this.modulus=new ArrayBuffer(0),this.publicExponent=new ArrayBuffer(0),Object.assign(this,t)}}function vg(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 Eg;au([eu({type:ml.Integer,converter:Ch})],_g.prototype,"modulus",void 0),au([eu({type:ml.Integer,converter:Ch})],_g.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"}(Eg||(Eg={}));const Sg=Eg;
|
|
80
80
|
/*! *****************************************************************************
|
|
81
81
|
Copyright (c) Microsoft Corporation.
|
|
82
82
|
|
|
@@ -90,7 +90,7 @@ INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
|
|
90
90
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
91
91
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
|
92
92
|
PERFORMANCE OF THIS SOFTWARE.
|
|
93
|
-
***************************************************************************** */var Eg=function(t,e){return Eg=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])},Eg(t,e)};function Sg(t,e){function r(){this.constructor=t}Eg(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function Tg(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 xg(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 Cg(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(xg(arguments[e]));return t}function Ig(t){return!!t.useClass}function Rg(t){return!!t.useFactory}var kg=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];e[0]=t();var n=Reflect[r];return n.apply(void 0,Cg(e))}})),e},t}();function Ng(t){return"string"==typeof t||"symbol"==typeof t}function Og(t){return"object"==typeof t&&"token"in t&&"transform"in t}function Bg(t){return!!t.useToken}function Pg(t){return null!=t.useValue}const Lg=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}(),Dg=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Sg(e,t),e}(Lg),Ug=function(){this.scopedResolutions=new Map};var Mg=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Sg(e,t),e}(Lg),Fg=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return Sg(e,t),e}(Lg);const Hg=function(){this.preResolution=new Mg,this.postResolution=new Fg};var Wg=new Map,jg=function(){function t(t){this.parent=t,this._registry=new Dg,this.interceptors=new Hg,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(t,e,r){var i;if(void 0===r&&(r={lifecycle:vg.Transient}),this.ensureNotDisposed(),i=function(t){return Ig(t)||Pg(t)||Bg(t)||Rg(t)}(e)?e:{useClass:e},Bg(i))for(var n=[t],s=i;null!=s;){var o=s.useToken;if(n.includes(o))throw new Error("Token registration cycle detected! "+Cg(n,[o]).join(" -> "));n.push(o);var a=this._registry.get(o);s=a&&Bg(a.provider)?a.provider:null}if((r.lifecycle===vg.Singleton||r.lifecycle==vg.ContainerScoped||r.lifecycle==vg.ResolutionScoped)&&(Pg(i)||Rg(i)))throw new Error('Cannot use lifecycle "'+vg[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(),Ng(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(),Ng(t)){if(Ng(e))return this.register(t,{useToken:e},{lifecycle:vg.Singleton});if(e)return this.register(t,{useClass:e},{lifecycle:vg.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var r=t;return e&&!Ng(e)&&(r=e),this.register(t,{useClass:r},{lifecycle:vg.Singleton})},t.prototype.resolve=function(t,e){void 0===e&&(e=new Ug),this.ensureNotDisposed();var r=this.getRegistration(t);if(!r&&Ng(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 kg}(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=Tg(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=Tg(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===vg.ResolutionScoped&&e.scopedResolutions.has(t))return e.scopedResolutions.get(t);var r,i=t.options.lifecycle===vg.Singleton,n=t.options.lifecycle===vg.ContainerScoped,s=i||n;return r=Pg(t.provider)?t.provider.useValue:Bg(t.provider)?s?t.instance||(t.instance=this.resolve(t.provider.useToken,e)):this.resolve(t.provider.useToken,e):Ig(t.provider)?s?t.instance||(t.instance=this.construct(t.provider.useClass,e)):this.construct(t.provider.useClass,e):Rg(t.provider)?t.provider.useFactory(this):this.construct(t.provider,e),t.options.lifecycle===vg.ResolutionScoped&&e.scopedResolutions.set(t,r),r},t.prototype.resolveAll=function(t,e){var r=this;void 0===e&&(e=new Ug),this.ensureNotDisposed();var i=this.getAllRegistrations(t);if(!i&&Ng(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=Tg(this._registry.entries()),i=r.next();!i.done;i=r.next()){var n=xg(i.value,2),s=n[0],o=n[1];this._registry.setAll(s,o.filter((function(t){return!Pg(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=Tg(this._registry.entries()),s=n.next();!s.done;s=n.next()){var o=xg(s.value,2),a=o[0],c=o[1];c.some((function(t){return t.options.lifecycle===vg.ContainerScoped}))&&i._registry.setAll(a,c.map((function(t){return t.options.lifecycle===vg.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 kg)return t.createProxy((function(t){return r.resolve(t,e)}));var i,n=function(){var i=Wg.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,Cg([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?Og(i)?i.multiple?(s=r.resolve(i.transform)).transform.apply(s,Cg([r.resolveAll(i.token)],i.transformArgs)):(o=r.resolve(i.transform)).transform.apply(o,Cg([r.resolve(i.token,t)],i.transformArgs)):i.multiple?r.resolveAll(i.token):r.resolve(i.token,t):Og(i)?(a=r.resolve(i.transform,t)).transform.apply(a,Cg([r.resolve(i.token,t)],i.transformArgs)):r.resolve(i,t)}catch(t){throw new Error(function(t,e,r){var i,n,s=xg(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=" "),Cg([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}(),Vg=new jg;const Gg=function(){return function(t){Wg.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 zg;class qg{constructor(t={}){this.attrId="",this.attrValues=[],Object.assign(t)}}su([$h({type:fl.ObjectIdentifier})],qg.prototype,"attrId",void 0),su([$h({type:fl.Any,repeated:"set"})],qg.prototype,"attrValues",void 0);let Qg=zg=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,zg.prototype)}};var Kg;Qg=zg=su([Zh({type:dl.Sequence,itemType:qg})],Qg);let Yg=Kg=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,Kg.prototype)}};Yg=Kg=su([Zh({type:dl.Sequence,itemType:Od})],Yg);class Jg{constructor(t={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],Jg.prototype,"certId",void 0),su([$h({type:fl.Any,context:0})],Jg.prototype,"certValue",void 0);class Xg{constructor(t={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],Xg.prototype,"crlId",void 0),su([$h({type:fl.Any,context:0})],Xg.prototype,"crltValue",void 0);class Zg extends _h{}class $g{constructor(t={}){this.encryptionAlgorithm=new Hp,this.encryptedData=new Zg,Object.assign(this,t)}}var tm,em;su([$h({type:Hp})],$g.prototype,"encryptionAlgorithm",void 0),su([$h({type:Zg})],$g.prototype,"encryptedData",void 0),function(t){t[t.v1=0]="v1"}(em||(em={}));class rm extends _h{}let im=tm=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,tm.prototype)}};im=tm=su([Zh({type:dl.Sequence,itemType:Rp})],im);class nm{constructor(t={}){this.version=em.v1,this.privateKeyAlgorithm=new Hp,this.privateKey=new rm,Object.assign(this,t)}}su([$h({type:fl.Integer})],nm.prototype,"version",void 0),su([$h({type:Hp})],nm.prototype,"privateKeyAlgorithm",void 0),su([$h({type:rm})],nm.prototype,"privateKey",void 0),su([$h({type:im,implicit:!0,context:0,optional:!0})],nm.prototype,"attributes",void 0);let sm=class extends nm{};sm=su([Zh({type:dl.Sequence})],sm);let om=class extends $g{};om=su([Zh({type:dl.Sequence})],om);class am{constructor(t={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],am.prototype,"secretTypeId",void 0),su([$h({type:fl.Any,context:0})],am.prototype,"secretValue",void 0);class cm{constructor(t={}){this.mac=new fg,this.macSalt=new _h,this.iterations=1,Object.assign(this,t)}}su([$h({type:fg})],cm.prototype,"mac",void 0),su([$h({type:_h})],cm.prototype,"macSalt",void 0),su([$h({type:fl.Integer,defaultValue:1})],cm.prototype,"iterations",void 0);class lm{constructor(t={}){this.version=3,this.authSafe=new Od,this.macData=new cm,Object.assign(this,t)}}var hm;su([$h({type:fl.Integer})],lm.prototype,"version",void 0),su([$h({type:Od})],lm.prototype,"authSafe",void 0),su([$h({type:cm,optional:!0})],lm.prototype,"macData",void 0);class um{constructor(t={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:fl.ObjectIdentifier})],um.prototype,"bagId",void 0),su([$h({type:fl.Any,context:0})],um.prototype,"bagValue",void 0),su([$h({type:qg,repeated:"set",optional:!0})],um.prototype,"bagAttributes",void 0);let pm=hm=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,hm.prototype)}};var dm,fm,gm;pm=hm=su([Zh({type:dl.Sequence,itemType:um})],pm);const mm="1.2.840.113549.1.9",wm=`${mm}.7`,ym=`${mm}.14`;let bm=class extends uu{constructor(t={}){super(t)}toString(){return{}.toString(),this.ia5String||super.toString()}};su([$h({type:fl.IA5String})],bm.prototype,"ia5String",void 0),bm=su([Zh({type:dl.Choice})],bm);let Am=class extends Od{};Am=su([Zh({type:dl.Sequence})],Am);let _m=class extends lm{};_m=su([Zh({type:dl.Sequence})],_m);let vm=class extends $g{};vm=su([Zh({type:dl.Sequence})],vm);let Em=class{constructor(t=""){this.value=t}toString(){return this.value}};su([$h({type:fl.IA5String})],Em.prototype,"value",void 0),Em=su([Zh({type:dl.Choice})],Em);let Sm=class extends bm{};Sm=su([Zh({type:dl.Choice})],Sm);let Tm=class extends uu{};Tm=su([Zh({type:dl.Choice})],Tm);let xm=class{constructor(t=new Date){this.value=t}};su([$h({type:fl.GeneralizedTime})],xm.prototype,"value",void 0),xm=su([Zh({type:dl.Choice})],xm);let Cm=class extends uu{};Cm=su([Zh({type:dl.Choice})],Cm);let Im=class{constructor(t="M"){this.value=t}toString(){return this.value}};su([$h({type:fl.PrintableString})],Im.prototype,"value",void 0),Im=su([Zh({type:dl.Choice})],Im);let Rm=class{constructor(t=""){this.value=t}toString(){return this.value}};su([$h({type:fl.PrintableString})],Rm.prototype,"value",void 0),Rm=su([Zh({type:dl.Choice})],Rm);let km=class extends Rm{};km=su([Zh({type:dl.Choice})],km);let Nm=class extends uu{};Nm=su([Zh({type:dl.Choice})],Nm);let Om=class{constructor(t=""){this.value=t}toString(){return this.value}};su([$h({type:fl.ObjectIdentifier})],Om.prototype,"value",void 0),Om=su([Zh({type:dl.Choice})],Om);let Bm=class extends jp{};Bm=su([Zh({type:dl.Choice})],Bm);let Pm=class{constructor(t=0){this.value=t}toString(){return this.value.toString()}};su([$h({type:fl.Integer})],Pm.prototype,"value",void 0),Pm=su([Zh({type:dl.Choice})],Pm);let Lm=class extends Af{};Lm=su([Zh({type:dl.Sequence})],Lm);let Dm=class extends uu{};Dm=su([Zh({type:dl.Choice})],Dm);let Um=dm=class extends qp{constructor(t){super(t),Object.setPrototypeOf(this,dm.prototype)}};Um=dm=su([Zh({type:dl.Sequence})],Um);let Mm=fm=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,fm.prototype)}};Mm=fm=su([Zh({type:dl.Set,itemType:td})],Mm);let Fm=class{constructor(t=""){this.value=t}toString(){return this.value}};su([$h({type:fl.BmpString})],Fm.prototype,"value",void 0),Fm=su([Zh({type:dl.Choice})],Fm);let Hm=class extends Hp{};Hm=su([Zh({type:dl.Sequence})],Hm);let Wm=gm=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,gm.prototype)}};var jm;Wm=gm=su([Zh({type:dl.Sequence,itemType:Hm})],Wm);let Vm=jm=class extends iu{constructor(t){super(t),Object.setPrototypeOf(this,jm.prototype)}};Vm=jm=su([Zh({type:dl.Sequence,itemType:Rp})],Vm);class Gm{constructor(t={}){this.version=0,this.subject=new mu,this.subjectPKInfo=new Wp,this.attributes=new Vm,Object.assign(this,t)}}su([$h({type:fl.Integer})],Gm.prototype,"version",void 0),su([$h({type:mu})],Gm.prototype,"subject",void 0),su([$h({type:Wp})],Gm.prototype,"subjectPKInfo",void 0),su([$h({type:Vm,implicit:!0,context:0})],Gm.prototype,"attributes",void 0);class zm{constructor(t={}){this.certificationRequestInfo=new Gm,this.signatureAlgorithm=new Hp,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}su([$h({type:Gm})],zm.prototype,"certificationRequestInfo",void 0),su([$h({type:Hp})],zm.prototype,"signatureAlgorithm",void 0),su([$h({type:fl.BitString})],zm.prototype,"signature",void 0);
|
|
93
|
+
***************************************************************************** */var Tg=function(t,e){return Tg=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])},Tg(t,e)};function xg(t,e){function r(){this.constructor=t}Tg(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function Cg(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 Ig(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 Rg(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(Ig(arguments[e]));return t}function kg(t){return!!t.useClass}function Ng(t){return!!t.useFactory}var Og=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];e[0]=t();var n=Reflect[r];return n.apply(void 0,Rg(e))}})),e},t}();function Bg(t){return"string"==typeof t||"symbol"==typeof t}function Pg(t){return"object"==typeof t&&"token"in t&&"transform"in t}function Lg(t){return!!t.useToken}function Dg(t){return null!=t.useValue}const Ug=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}(),Mg=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return xg(e,t),e}(Ug),Fg=function(){this.scopedResolutions=new Map};var Hg=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return xg(e,t),e}(Ug),Wg=function(t){function e(){return null!==t&&t.apply(this,arguments)||this}return xg(e,t),e}(Ug);const jg=function(){this.preResolution=new Hg,this.postResolution=new Wg};var Vg=new Map,Gg=function(){function t(t){this.parent=t,this._registry=new Mg,this.interceptors=new jg,this.disposed=!1,this.disposables=new Set}return t.prototype.register=function(t,e,r){var i;if(void 0===r&&(r={lifecycle:Sg.Transient}),this.ensureNotDisposed(),i=function(t){return kg(t)||Dg(t)||Lg(t)||Ng(t)}(e)?e:{useClass:e},Lg(i))for(var n=[t],s=i;null!=s;){var o=s.useToken;if(n.includes(o))throw new Error("Token registration cycle detected! "+Rg(n,[o]).join(" -> "));n.push(o);var a=this._registry.get(o);s=a&&Lg(a.provider)?a.provider:null}if((r.lifecycle===Sg.Singleton||r.lifecycle==Sg.ContainerScoped||r.lifecycle==Sg.ResolutionScoped)&&(Dg(i)||Ng(i)))throw new Error('Cannot use lifecycle "'+Sg[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(),Bg(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(),Bg(t)){if(Bg(e))return this.register(t,{useToken:e},{lifecycle:Sg.Singleton});if(e)return this.register(t,{useClass:e},{lifecycle:Sg.Singleton});throw new Error('Cannot register a type name as a singleton without a "to" token')}var r=t;return e&&!Bg(e)&&(r=e),this.register(t,{useClass:r},{lifecycle:Sg.Singleton})},t.prototype.resolve=function(t,e){void 0===e&&(e=new Fg),this.ensureNotDisposed();var r=this.getRegistration(t);if(!r&&Bg(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 Og}(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=Cg(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=Cg(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===Sg.ResolutionScoped&&e.scopedResolutions.has(t))return e.scopedResolutions.get(t);var r,i=t.options.lifecycle===Sg.Singleton,n=t.options.lifecycle===Sg.ContainerScoped,s=i||n;return r=Dg(t.provider)?t.provider.useValue:Lg(t.provider)?s?t.instance||(t.instance=this.resolve(t.provider.useToken,e)):this.resolve(t.provider.useToken,e):kg(t.provider)?s?t.instance||(t.instance=this.construct(t.provider.useClass,e)):this.construct(t.provider.useClass,e):Ng(t.provider)?t.provider.useFactory(this):this.construct(t.provider,e),t.options.lifecycle===Sg.ResolutionScoped&&e.scopedResolutions.set(t,r),r},t.prototype.resolveAll=function(t,e){var r=this;void 0===e&&(e=new Fg),this.ensureNotDisposed();var i=this.getAllRegistrations(t);if(!i&&Bg(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=Cg(this._registry.entries()),i=r.next();!i.done;i=r.next()){var n=Ig(i.value,2),s=n[0],o=n[1];this._registry.setAll(s,o.filter((function(t){return!Dg(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=Cg(this._registry.entries()),s=n.next();!s.done;s=n.next()){var o=Ig(s.value,2),a=o[0],c=o[1];c.some((function(t){return t.options.lifecycle===Sg.ContainerScoped}))&&i._registry.setAll(a,c.map((function(t){return t.options.lifecycle===Sg.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 Og)return t.createProxy((function(t){return r.resolve(t,e)}));var i,n=function(){var i=Vg.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,Rg([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?Pg(i)?i.multiple?(s=r.resolve(i.transform)).transform.apply(s,Rg([r.resolveAll(i.token)],i.transformArgs)):(o=r.resolve(i.transform)).transform.apply(o,Rg([r.resolve(i.token,t)],i.transformArgs)):i.multiple?r.resolveAll(i.token):r.resolve(i.token,t):Pg(i)?(a=r.resolve(i.transform,t)).transform.apply(a,Rg([r.resolve(i.token,t)],i.transformArgs)):r.resolve(i,t)}catch(t){throw new Error(function(t,e,r){var i,n,s=Ig(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=" "),Rg([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}(),zg=new Gg;const qg=function(){return function(t){Vg.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 Qg;class Kg{constructor(t={}){this.attrId="",this.attrValues=[],Object.assign(t)}}au([eu({type:ml.ObjectIdentifier})],Kg.prototype,"attrId",void 0),au([eu({type:ml.Any,repeated:"set"})],Kg.prototype,"attrValues",void 0);let Yg=Qg=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,Qg.prototype)}};var Jg;Yg=Qg=au([tu({type:gl.Sequence,itemType:Kg})],Yg);let Xg=Jg=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,Jg.prototype)}};Xg=Jg=au([tu({type:gl.Sequence,itemType:Pd})],Xg);class Zg{constructor(t={}){this.certId="",this.certValue=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],Zg.prototype,"certId",void 0),au([eu({type:ml.Any,context:0})],Zg.prototype,"certValue",void 0);class $g{constructor(t={}){this.crlId="",this.crltValue=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],$g.prototype,"crlId",void 0),au([eu({type:ml.Any,context:0})],$g.prototype,"crltValue",void 0);class tm extends Eh{}class em{constructor(t={}){this.encryptionAlgorithm=new jp,this.encryptedData=new tm,Object.assign(this,t)}}var rm,im;au([eu({type:jp})],em.prototype,"encryptionAlgorithm",void 0),au([eu({type:tm})],em.prototype,"encryptedData",void 0),function(t){t[t.v1=0]="v1"}(im||(im={}));class nm extends Eh{}let sm=rm=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,rm.prototype)}};sm=rm=au([tu({type:gl.Sequence,itemType:Np})],sm);class om{constructor(t={}){this.version=im.v1,this.privateKeyAlgorithm=new jp,this.privateKey=new nm,Object.assign(this,t)}}au([eu({type:ml.Integer})],om.prototype,"version",void 0),au([eu({type:jp})],om.prototype,"privateKeyAlgorithm",void 0),au([eu({type:nm})],om.prototype,"privateKey",void 0),au([eu({type:sm,implicit:!0,context:0,optional:!0})],om.prototype,"attributes",void 0);let am=class extends om{};am=au([tu({type:gl.Sequence})],am);let cm=class extends em{};cm=au([tu({type:gl.Sequence})],cm);class lm{constructor(t={}){this.secretTypeId="",this.secretValue=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],lm.prototype,"secretTypeId",void 0),au([eu({type:ml.Any,context:0})],lm.prototype,"secretValue",void 0);class hm{constructor(t={}){this.mac=new mg,this.macSalt=new Eh,this.iterations=1,Object.assign(this,t)}}au([eu({type:mg})],hm.prototype,"mac",void 0),au([eu({type:Eh})],hm.prototype,"macSalt",void 0),au([eu({type:ml.Integer,defaultValue:1})],hm.prototype,"iterations",void 0);class um{constructor(t={}){this.version=3,this.authSafe=new Pd,this.macData=new hm,Object.assign(this,t)}}var pm;au([eu({type:ml.Integer})],um.prototype,"version",void 0),au([eu({type:Pd})],um.prototype,"authSafe",void 0),au([eu({type:hm,optional:!0})],um.prototype,"macData",void 0);class dm{constructor(t={}){this.bagId="",this.bagValue=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:ml.ObjectIdentifier})],dm.prototype,"bagId",void 0),au([eu({type:ml.Any,context:0})],dm.prototype,"bagValue",void 0),au([eu({type:Kg,repeated:"set",optional:!0})],dm.prototype,"bagAttributes",void 0);let fm=pm=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,pm.prototype)}};var gm,mm,wm;fm=pm=au([tu({type:gl.Sequence,itemType:dm})],fm);const ym="1.2.840.113549.1.9",bm=`${ym}.7`,Am=`${ym}.14`;let _m=class extends du{constructor(t={}){super(t)}toString(){return{}.toString(),this.ia5String||super.toString()}};au([eu({type:ml.IA5String})],_m.prototype,"ia5String",void 0),_m=au([tu({type:gl.Choice})],_m);let vm=class extends Pd{};vm=au([tu({type:gl.Sequence})],vm);let Em=class extends um{};Em=au([tu({type:gl.Sequence})],Em);let Sm=class extends em{};Sm=au([tu({type:gl.Sequence})],Sm);let Tm=class{constructor(t=""){this.value=t}toString(){return this.value}};au([eu({type:ml.IA5String})],Tm.prototype,"value",void 0),Tm=au([tu({type:gl.Choice})],Tm);let xm=class extends _m{};xm=au([tu({type:gl.Choice})],xm);let Cm=class extends du{};Cm=au([tu({type:gl.Choice})],Cm);let Im=class{constructor(t=new Date){this.value=t}};au([eu({type:ml.GeneralizedTime})],Im.prototype,"value",void 0),Im=au([tu({type:gl.Choice})],Im);let Rm=class extends du{};Rm=au([tu({type:gl.Choice})],Rm);let km=class{constructor(t="M"){this.value=t}toString(){return this.value}};au([eu({type:ml.PrintableString})],km.prototype,"value",void 0),km=au([tu({type:gl.Choice})],km);let Nm=class{constructor(t=""){this.value=t}toString(){return this.value}};au([eu({type:ml.PrintableString})],Nm.prototype,"value",void 0),Nm=au([tu({type:gl.Choice})],Nm);let Om=class extends Nm{};Om=au([tu({type:gl.Choice})],Om);let Bm=class extends du{};Bm=au([tu({type:gl.Choice})],Bm);let Pm=class{constructor(t=""){this.value=t}toString(){return this.value}};au([eu({type:ml.ObjectIdentifier})],Pm.prototype,"value",void 0),Pm=au([tu({type:gl.Choice})],Pm);let Lm=class extends Gp{};Lm=au([tu({type:gl.Choice})],Lm);let Dm=class{constructor(t=0){this.value=t}toString(){return this.value.toString()}};au([eu({type:ml.Integer})],Dm.prototype,"value",void 0),Dm=au([tu({type:gl.Choice})],Dm);let Um=class extends vf{};Um=au([tu({type:gl.Sequence})],Um);let Mm=class extends du{};Mm=au([tu({type:gl.Choice})],Mm);let Fm=gm=class extends Kp{constructor(t){super(t),Object.setPrototypeOf(this,gm.prototype)}};Fm=gm=au([tu({type:gl.Sequence})],Fm);let Hm=mm=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,mm.prototype)}};Hm=mm=au([tu({type:gl.Set,itemType:rd})],Hm);let Wm=class{constructor(t=""){this.value=t}toString(){return this.value}};au([eu({type:ml.BmpString})],Wm.prototype,"value",void 0),Wm=au([tu({type:gl.Choice})],Wm);let jm=class extends jp{};jm=au([tu({type:gl.Sequence})],jm);let Vm=wm=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,wm.prototype)}};var Gm;Vm=wm=au([tu({type:gl.Sequence,itemType:jm})],Vm);let zm=Gm=class extends su{constructor(t){super(t),Object.setPrototypeOf(this,Gm.prototype)}};zm=Gm=au([tu({type:gl.Sequence,itemType:Np})],zm);class qm{constructor(t={}){this.version=0,this.subject=new yu,this.subjectPKInfo=new Vp,this.attributes=new zm,Object.assign(this,t)}}au([eu({type:ml.Integer})],qm.prototype,"version",void 0),au([eu({type:yu})],qm.prototype,"subject",void 0),au([eu({type:Vp})],qm.prototype,"subjectPKInfo",void 0),au([eu({type:zm,implicit:!0,context:0})],qm.prototype,"attributes",void 0);class Qm{constructor(t={}){this.certificationRequestInfo=new qm,this.signatureAlgorithm=new jp,this.signature=new ArrayBuffer(0),Object.assign(this,t)}}au([eu({type:qm})],Qm.prototype,"certificationRequestInfo",void 0),au([eu({type:jp})],Qm.prototype,"signatureAlgorithm",void 0),au([eu({type:ml.BitString})],Qm.prototype,"signature",void 0);
|
|
94
94
|
/*!
|
|
95
95
|
* MIT License
|
|
96
96
|
*
|
|
@@ -115,4 +115,4 @@ PERFORMANCE OF THIS SOFTWARE.
|
|
|
115
115
|
* SOFTWARE.
|
|
116
116
|
*
|
|
117
117
|
*/
|
|
118
|
-
const qm="crypto.algorithm",Qm="crypto.algorithmProvider";var Km;Vg.registerSingleton(Qm,class{getAlgorithms(){return Vg.resolveAll(qm)}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 Hp({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 Ym="1.3.36.3.3.2.8.1.1",Jm=`${Ym}.1`,Xm=`${Ym}.2`,Zm=`${Ym}.3`,$m=`${Ym}.4`,tw=`${Ym}.5`,ew=`${Ym}.6`,rw=`${Ym}.7`,iw=`${Ym}.8`,nw=`${Ym}.9`,sw=`${Ym}.10`,ow=`${Ym}.11`,aw=`${Ym}.12`,cw=`${Ym}.13`,lw=`${Ym}.14`,hw="brainpoolP160r1",uw="brainpoolP160t1",pw="brainpoolP192r1",dw="brainpoolP192t1",fw="brainpoolP224r1",gw="brainpoolP224t1",mw="brainpoolP256r1",ww="brainpoolP256t1",yw="brainpoolP320r1",bw="brainpoolP320t1",Aw="brainpoolP384r1",_w="brainpoolP384t1",vw="brainpoolP512r1",Ew="brainpoolP512t1",Sw="ECDSA";let Tw=Km=class{toAsnAlgorithm(t){if(t.name.toLowerCase()===Sw.toLowerCase())if("hash"in t)switch(("string"==typeof t.hash?t.hash:t.hash.name).toLowerCase()){case"sha-1":return Lf;case"sha-256":return Df;case"sha-384":return Uf;case"sha-512":return Mf}else if("namedCurve"in t){let e="";switch(t.namedCurve){case"P-256":e=Nf;break;case"K-256":e=Km.SECP256K1;break;case"P-384":e=Of;break;case"P-521":e=Bf;break;case hw:e=Jm;break;case uw:e=Xm;break;case pw:e=Zm;break;case dw:e=$m;break;case fw:e=tw;break;case gw:e=ew;break;case mw:e=rw;break;case ww:e=iw;break;case yw:e=nw;break;case bw:e=sw;break;case Aw:e=ow;break;case _w:e=aw;break;case vw:e=cw;break;case Ew:e=lw}if(e)return new Hp({algorithm:Tf,parameters:nu.serialize(new Ff({namedCurve:e}))})}return null}toWebAlgorithm(t){switch(t.algorithm){case xf:return{name:Sw,hash:{name:"SHA-1"}};case If:return{name:Sw,hash:{name:"SHA-256"}};case Rf:return{name:Sw,hash:{name:"SHA-384"}};case kf:return{name:Sw,hash:{name:"SHA-512"}};case Tf:if(!t.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(nu.parse(t.parameters,Ff).namedCurve){case Nf:return{name:Sw,namedCurve:"P-256"};case Km.SECP256K1:return{name:Sw,namedCurve:"K-256"};case Of:return{name:Sw,namedCurve:"P-384"};case Bf:return{name:Sw,namedCurve:"P-521"};case Jm:return{name:Sw,namedCurve:hw};case Xm:return{name:Sw,namedCurve:uw};case Zm:return{name:Sw,namedCurve:pw};case $m:return{name:Sw,namedCurve:dw};case tw:return{name:Sw,namedCurve:fw};case ew:return{name:Sw,namedCurve:gw};case rw:return{name:Sw,namedCurve:mw};case iw:return{name:Sw,namedCurve:ww};case nw:return{name:Sw,namedCurve:yw};case sw:return{name:Sw,namedCurve:bw};case ow:return{name:Sw,namedCurve:Aw};case aw:return{name:Sw,namedCurve:_w};case cw:return{name:Sw,namedCurve:vw};case lw:return{name:Sw,namedCurve:Ew}}}return null}};Tw.SECP256K1="1.3.132.0.10",Tw=Km=Ag([Gg()],Tw),Vg.registerSingleton(qm,Tw);const xw=Symbol("name"),Cw=Symbol("value");class Iw{constructor(t,e={},r=""){this[xw]=t,this[Cw]=r;for(const t in e)this[t]=e[t]}}Iw.NAME=xw,Iw.VALUE=Cw;class Rw{static toString(t){return this.items[t]||t}}Rw.items={[rg]:"sha1",[ig]:"sha224",[ng]:"sha256",[sg]:"sha384",[og]:"sha512",[Vf]:"rsaEncryption",[Yf]:"sha1WithRSAEncryption",[Jf]:"sha224WithRSAEncryption",[Xf]:"sha256WithRSAEncryption",[Zf]:"sha384WithRSAEncryption",[$f]:"sha512WithRSAEncryption",[Tf]:"ecPublicKey",[xf]:"ecdsaWithSHA1",[Cf]:"ecdsaWithSHA224",[If]:"ecdsaWithSHA256",[Rf]:"ecdsaWithSHA384",[kf]:"ecdsaWithSHA512",[sp]:"TLS WWW server authentication",[op]:"TLS WWW client authentication",[ap]:"Code Signing",[cp]:"E-mail Protection",[lp]:"Time Stamping",[hp]:"OCSP Signing","1.2.840.113549.1.7.2":"Signed Data"};class kw{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(nc.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=nc.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)}}kw.oidSerializer=Rw,kw.algorithmSerializer=class{static toTextObject(t){const e=new Iw("Algorithm Identifier",{},Rw.toString(t.algorithm));if(t.parameters)switch(t.algorithm){case Tf:{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 Nw{constructor(...t){if(1===t.length){const e=t[0];this.rawData=nu.serialize(e),this.onInit(e)}else{const e=nu.parse(t[0],t[1]);this.rawData=nc.vJ.toArrayBuffer(t[0]),this.onInit(e)}}equal(t){return t instanceof Nw&&(0,nc.Xy)(t.rawData,this.rawData)}toString(t="text"){switch(t){case"asn":return nu.toString(this.rawData);case"text":return kw.serialize(this.toTextObject());case"hex":return nc.ep.ToHex(this.rawData);case"base64":return nc.ep.ToBase64(this.rawData);case"base64url":return nc.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)}}Nw.NAME="ASN";class Ow extends Nw{constructor(...t){let e;e=nc.vJ.isBufferSource(t[0])?nc.vJ.toArrayBuffer(t[0]):nu.serialize(new zp({extnID:t[0],critical:t[1],extnValue:new _h(nc.vJ.toArrayBuffer(t[2]))})),super(e,zp)}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]===Ow.NAME&&(t[Iw.NAME]=Rw.toString(this.type)),t}}var Bw;class Pw{constructor(){this.items=new Map,this[Bw]="CryptoProvider","undefined"!=typeof self&&"undefined"!=typeof crypto&&this.set(Pw.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=Pw.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(Pw.DEFAULT,t);return this}}Bw=Symbol.toStringTag,Pw.DEFAULT="default";const Lw=new Pw,Dw=/^[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(Dw).test(e)?t:this.get(t);var e}register(t,e){this.items[t]=e,this.items[e]=t}}const Mw=new Uw;function Fw(t,e){return`\\${nc.ep.ToHex(nc.ep.FromUtf8String(e)).toUpperCase()}`}Mw.register("CN","2.5.4.3"),Mw.register("L","2.5.4.7"),Mw.register("ST","2.5.4.8"),Mw.register("O","2.5.4.10"),Mw.register("OU","2.5.4.11"),Mw.register("C","2.5.4.6"),Mw.register("DC","0.9.2342.19200300.100.1.25"),Mw.register("E","1.2.840.113549.1.9.1"),Mw.register("G","2.5.4.42"),Mw.register("I","2.5.4.43"),Mw.register("SN","2.5.4.4"),Mw.register("T","2.5.4.12");class Hw{constructor(t,e={}){this.extraNames=new Uw,this.asn=new mu;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 mu?this.asn=t:nc.vJ.isBufferSource(t)?this.asn=nu.parse(t,mu):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)||Mw.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)||Mw.get(t)}toString(){return this.asn.map((t=>t.map((t=>`${this.getName(t.type)||t.type}=${t.value.anyValue?`#${nc.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?`#${nc.ep.ToHex(e.value.anyValue)}`:e.value.toString())}e.push(i)}return e}fromString(t){const e=new mu,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 du({type:t});if("#"===r.charAt(0))a.value.anyValue=nc.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:Hw.isASCII(r)?a.value.printableString=r:a.value.utf8String=r}"+"===n?e[e.length-1].push(a):e.push(new fu([a])),n=o}return e}fromJSON(t){const e=new mu;for(const r of t){const t=new fu;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 du({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=nc.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 nu.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 Ww="Cannot initialize GeneralName from ASN.1 data.",jw=`${Ww} Unsupported string format in use.`,Vw=`${Ww} Value doesn't match to GUID regular expression.`,Gw=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,zw="1.3.6.1.4.1.311.25.1",qw="1.3.6.1.4.1.311.20.2.3",Qw="dns",Kw="dn",Yw="email",Jw="ip",Xw="url",Zw="guid",$w="upn",ty="id";class ey extends Nw{constructor(...t){let e;if(2===t.length)switch(t[0]){case Kw:{const r=new Hw(t[1]).toArrayBuffer(),i=nu.parse(r,mu);e=new Au({directoryName:i});break}case Qw:e=new Au({dNSName:t[1]});break;case Yw:e=new Au({rfc822Name:t[1]});break;case Zw:{const r=new RegExp(Gw,"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?nc.ep.ToHex(new Uint8Array(nc.ep.FromHex(t)).reverse()):t)).join("");e=new Au({otherName:new yu({typeId:zw,value:nu.serialize(new _h(nc.ep.FromHex(i)))})});break}case Jw:e=new Au({iPAddress:t[1]});break;case ty:e=new Au({registeredID:t[1]});break;case $w:e=new Au({otherName:new yu({typeId:qw,value:nu.serialize(Oh.toASN(t[1]))})});break;case Xw:e=new Au({uniformResourceIdentifier:t[1]});break;default:throw new Error("Cannot create GeneralName. Unsupported type of the name")}else e=nc.vJ.isBufferSource(t[0])?nu.parse(t[0],Au):t[0];super(e)}onInit(t){if(null!=t.dNSName)this.type=Qw,this.value=t.dNSName;else if(null!=t.rfc822Name)this.type=Yw,this.value=t.rfc822Name;else if(null!=t.iPAddress)this.type=Jw,this.value=t.iPAddress;else if(null!=t.uniformResourceIdentifier)this.type=Xw,this.value=t.uniformResourceIdentifier;else if(null!=t.registeredID)this.type=ty,this.value=t.registeredID;else if(null!=t.directoryName)this.type=Kw,this.value=new Hw(t.directoryName).toString();else{if(null==t.otherName)throw new Error(jw);if(t.otherName.typeId===zw){this.type=Zw;const e=nu.parse(t.otherName.value,_h),r=new RegExp(Gw,"i").exec(nc.ep.ToHex(e));if(!r)throw new Error(Vw);this.value=r.slice(1).map(((t,e)=>e<3?nc.ep.ToHex(new Uint8Array(nc.ep.FromHex(t)).reverse()):t)).join("-")}else{if(t.otherName.typeId!==qw)throw new Error(jw);this.type=$w,this.value=nu.parse(t.otherName.value,uu).toString()}}}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let t;switch(this.type){case Kw:case Qw:case Zw:case Jw:case ty:case $w:case Xw:t=this.type.toUpperCase();break;case Yw:t="Email";break;default:throw new Error("Unsupported GeneralName type")}let e=this.value;return this.type===ty&&(e=Rw.toString(e)),new Iw(t,void 0,e)}}class ry extends Nw{constructor(t){let e;if(t instanceof Nu)e=t;else if(Array.isArray(t)){const r=[];for(const e of t)if(e instanceof Au)r.push(e);else{const t=nu.parse(new ey(e.type,e.value).rawData,Au);r.push(t)}e=new Nu(r)}else{if(!nc.vJ.isBufferSource(t))throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");e=nu.parse(t,Nu)}super(e)}onInit(t){const e=[];for(const r of t){let t=null;try{t=new ey(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}}ry.NAME="GeneralNames";const iy="-{5}BEGIN ([^\\n]+(?=-{5}))-{5}\\n(?:((?:[^:\\n]+: (?:[^\\n]+\\n(?: +[^\\n]+\\n)*))+))?\\n?((?:[a-zA-Z0-9=+/]+\\n)+)-{5}END \\1-{5}";class ny{static isPem(t){return"string"==typeof t&&new RegExp(iy,"g").test(t)}static decodeWithHeaders(t){t=t.replace(/\r/g,"");const e=new RegExp(iy,"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:nc.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(!nc.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:nc.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:nc.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=nc.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")}}ny.CertificateTag="CERTIFICATE",ny.CrlTag="CRL",ny.CertificateRequestTag="CERTIFICATE REQUEST",ny.PublicKeyTag="PUBLIC KEY",ny.PrivateKeyTag="PRIVATE KEY";class sy extends Nw{static isAsnEncoded(t){return nc.vJ.isBufferSource(t)||"string"==typeof t}static toArrayBuffer(t){if("string"==typeof t){if(ny.isPem(t))return ny.decode(t)[0];if(nc.ep.isHex(t))return nc.ep.FromHex(t);if(nc.ep.isBase64(t))return nc.ep.FromBase64(t);if(nc.ep.isBase64Url(t))return nc.ep.FromBase64Url(t);throw new TypeError("Unsupported format of 'raw' argument. Must be one of DER, PEM, HEX, Base64, or Base4Url")}{const e=nc.ep.ToBinary(t);return ny.isPem(e)?ny.decode(e)[0]:nc.ep.isHex(e)?nc.ep.FromHex(e):nc.ep.isBase64(e)?nc.ep.FromBase64(e):nc.ep.isBase64Url(e)?nc.ep.FromBase64Url(e):nc.vJ.toArrayBuffer(t)}}constructor(...t){sy.isAsnEncoded(t[0])?super(sy.toArrayBuffer(t[0]),t[1]):super(t[0])}toString(t="pem"){return"pem"===t?ny.encode(this.rawData,this.tag):super.toString(t)}}class oy extends sy{constructor(t){sy.isAsnEncoded(t)?super(t,Wp):super(t),this.tag=ny.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=Vg.resolve(Qm),r=this.algorithm=e.toWebAlgorithm(t.algorithm);switch(t.algorithm.algorithm){case Vf:{const e=nu.parse(t.subjectPublicKey,bg),i=nc.vJ.toUint8Array(e.modulus);r.publicExponent=nc.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=nu.parse(this.rawData,Wp);return await t.subtle.digest("SHA-1",e.subjectPublicKey)}toTextObject(){const t=this.toTextObjectEmpty(),e=nu.parse(this.rawData,Wp);return t.Algorithm=kw.serializeAlgorithm(e.algorithm),e.algorithm.algorithm===Tf?t["EC Point"]=e.subjectPublicKey:t["Raw Data"]=e.subjectPublicKey,t}}class ay{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}}ay.items=new Map;const cy="crypto.signatureFormatter";class ly extends sy{constructor(t){sy.isAsnEncoded(t)?super(t,Jp):super(t),this.tag=ny.CertificateTag}onInit(t){const e=t.tbsCertificate;this.tbs=nu.serialize(e),this.serialNumber=nc.ep.ToHex(e.serialNumber),this.subjectName=new Hw(e.subject),this.subject=new Hw(e.subject).toString(),this.issuerName=new Hw(e.issuer),this.issuer=this.issuerName.toString();const r=Vg.resolve(Qm);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=>ay.create(nu.serialize(t))))),this.publicKey=new oy(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 oy)r={...n.algorithm,...this.signatureAlgorithm},i=await n.export(r,["verify"]);else if(nc.vJ.isBufferSource(n)){const t=new oy(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=Vg.resolveAll(cy).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=nu.parse(this.rawData,Jp),r=e.tbsCertificate,i=new Iw("",{Version:`${Qp[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":kw.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:kw.serializeAlgorithm(e.signatureAlgorithm),"":e.signatureValue}),t}}ly.NAME="Certificate";class hy extends Ow{constructor(...t){if(nc.vJ.isBufferSource(t[0]))super(t[0]);else if("string"==typeof t[0]){const e=new Cu({keyIdentifier:new xu(nc.ep.FromHex(t[0]))});super(Tu,t[1],nu.serialize(e))}else{const e=t[0],r=e.name instanceof ry?nu.parse(e.name.rawData,Nu):e.name,i=new Cu({authorityCertIssuer:r,authorityCertSerialNumber:nc.ep.FromHex(e.serialNumber)});super(Tu,t[1],nu.serialize(i))}}static async create(t,e=!1,r=Lw.get()){if(t instanceof ly||Pw.isCryptoKey(t)){const i=t instanceof ly?await t.publicKey.export(r):t,n=await r.subtle.exportKey("spki",i),s=new oy(n),o=await s.getKeyIdentifier(r);return new hy(nc.ep.ToHex(o),e)}return new hy(t,e)}onInit(t){super.onInit(t);const e=nu.parse(t.extnValue,Cu);e.keyIdentifier&&(this.keyId=nc.ep.ToHex(e.keyIdentifier)),e.authorityCertIssuer&&e.authorityCertSerialNumber&&(this.certId={name:e.authorityCertIssuer,serialNumber:nc.ep.ToHex(e.authorityCertSerialNumber)})}toTextObject(){const t=this.toTextObjectWithoutValue(),e=nu.parse(this.value,Cu);return e.authorityCertIssuer&&(t["Authority Issuer"]=new ry(e.authorityCertIssuer).toTextObject()),e.authorityCertSerialNumber&&(t["Authority Serial Number"]=e.authorityCertSerialNumber),e.keyIdentifier&&(t[""]=e.keyIdentifier),t}}hy.NAME="Authority Key Identifier";class uy extends Ow{constructor(...t){if(nc.vJ.isBufferSource(t[0])){super(t[0]);const e=nu.parse(this.value,Ru);this.ca=e.cA,this.pathLength=e.pathLenConstraint}else{const e=new Ru({cA:t[0],pathLenConstraint:t[1]});super(Iu,t[2],nu.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 py,dy;uy.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"}(py||(py={}));class fy extends Ow{constructor(...t){if(nc.vJ.isBufferSource(t[0])){super(t[0]);const e=nu.parse(this.value,np);this.usages=e.map((t=>t))}else{const e=new np(t[0]);super(ip,t[1],nu.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.usages.map((t=>Rw.toString(t))).join(", "),t}}fy.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"}(dy||(dy={}));class gy extends Ow{constructor(...t){if(nc.vJ.isBufferSource(t[0])){super(t[0]);const e=nu.parse(this.value,yp);this.usages=e.toNumber()}else{const e=new yp(t[0]);super(gp,t[1],nu.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=nu.parse(this.value,yp);return t[""]=e.toJSON().join(", "),t}}gy.NAME="Key Usages";class my extends Ow{constructor(...t){if(nc.vJ.isBufferSource(t[0])){super(t[0]);const e=nu.parse(this.value,Bp);this.keyId=nc.ep.ToHex(e)}else{const e="string"==typeof t[0]?nc.ep.FromHex(t[0]):t[0],r=new Bp(e);super(Op,t[1],nu.serialize(r)),this.keyId=nc.ep.ToHex(e)}}static async create(t,e=!1,r=Lw.get()){let i;i=t instanceof oy?t.rawData:"publicKey"in t?t.publicKey.rawData:nc.vJ.isBufferSource(t)?t:await r.subtle.exportKey("spki",t);const n=new oy(i),s=await n.getKeyIdentifier(r);return new my(nc.ep.ToHex(s),e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=nu.parse(this.value,Bp);return t[""]=e,t}}my.NAME="Subject Key Identifier";class wy extends Ow{constructor(...t){nc.vJ.isBufferSource(t[0])?super(t[0]):super(Cp,t[1],new ry(t[0]||[]).rawData)}onInit(t){super.onInit(t);const e=nu.parse(t.extnValue,Ip);this.names=new ry(e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.names.toTextObject();for(const r in e)t[r]=e[r];return t}}wy.NAME="Subject Alternative Name";class yy extends Ow{constructor(...t){var e;if(nc.vJ.isBufferSource(t[0])){super(t[0]);const e=nu.parse(this.value,ju);this.policies=e.map((t=>t.policyIdentifier))}else{const r=t[0],i=null!==(e=t[1])&&void 0!==e&&e,n=new ju(r.map((t=>new Wu({policyIdentifier:t}))));super(Lu,i,nu.serialize(n)),this.policies=r}}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Policy=this.policies.map((t=>new Iw("",{},Rw.toString(t)))),t}}yy.NAME="Certificate Policies",ay.register(Lu,yy);class by extends Nw{constructor(...t){let e;if(nc.vJ.isBufferSource(t[0]))e=nc.vJ.toArrayBuffer(t[0]);else{const r=t[0],i=Array.isArray(t[1])?t[1].map((t=>nc.vJ.toArrayBuffer(t))):[];e=nu.serialize(new Rp({type:r,values:i}))}super(e,Rp)}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]===by.NAME&&(t[Iw.NAME]=Rw.toString(this.type)),t}}by.NAME="Attribute";class Ay extends by{constructor(...t){var e;if(nc.vJ.isBufferSource(t[0]))super(t[0]);else{const e=new Dm({printableString:t[0]});super(wm,[nu.serialize(e)])}null!==(e=this.password)&&void 0!==e||(this.password="")}onInit(t){if(super.onInit(t),this.values[0]){const t=nu.parse(this.values[0],Dm);this.password=t.toString()}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[Iw.VALUE]=this.password,t}}Ay.NAME="Challenge Password";class _y extends by{constructor(...t){var e;if(nc.vJ.isBufferSource(t[0]))super(t[0]);else{const e=t[0],r=new qp;for(const t of e)r.push(nu.parse(t.rawData,zp));super(ym,[nu.serialize(r)])}null!==(e=this.items)&&void 0!==e||(this.items=[])}onInit(t){if(super.onInit(t),this.values[0]){const t=nu.parse(this.values[0],qp);this.items=t.map((t=>ay.create(nu.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}}_y.NAME="Extensions";class vy{static register(t,e){this.items.set(t,e)}static create(t){const e=new by(t),r=this.items.get(e.type);return r?new r(t):e}}vy.items=new Map;let Ey=class{toAsnAlgorithm(t){if("rsassa-pkcs1-v1_5"===t.name.toLowerCase()){if(!t.hash)return new Hp({algorithm:Vf,parameters:null});switch(t.hash.name.toLowerCase()){case"sha-1":return new Hp({algorithm:Yf,parameters:null});case"sha-256":return new Hp({algorithm:Xf,parameters:null});case"sha-384":return new Hp({algorithm:Zf,parameters:null});case"sha-512":return new Hp({algorithm:$f,parameters:null})}}return null}toWebAlgorithm(t){switch(t.algorithm){case Vf:return{name:"RSASSA-PKCS1-v1_5"};case Yf:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case Xf:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case Zf:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case $f:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}}}return null}};Ey=Ag([Gg()],Ey),Vg.registerSingleton(qm,Ey);class Sy{addPadding(t,e){const r=nc.vJ.toUint8Array(e),i=new Uint8Array(t);return i.set(r,t-r.length),i}removePadding(t,e=!1){let r=nc.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=Sy.namedCurveSize.get(r)||Sy.defaultNamedCurveSize,n=new Wf,s=nc.vJ.toUint8Array(e);return n.r=this.removePadding(s.slice(0,i),!0),n.s=this.removePadding(s.slice(i,i+i),!0),nu.serialize(n)}return null}toWebSignature(t,e){if("ECDSA"===t.name){const r=nu.parse(e,Wf),i=t.namedCurve,n=Sy.namedCurveSize.get(i)||Sy.defaultNamedCurveSize,s=this.addPadding(n,this.removePadding(r.r)),o=this.addPadding(n,this.removePadding(r.s));return(0,nc.$e)(s,o)}return null}}Sy.namedCurveSize=new Map,Sy.defaultNamedCurveSize=32;const Ty="1.3.101.110",xy="1.3.101.111",Cy="1.3.101.112",Iy="1.3.101.113";let Ry=class{toAsnAlgorithm(t){let e=null;switch(t.name.toLowerCase()){case"eddsa":switch(t.namedCurve.toLowerCase()){case"ed25519":e=Cy;break;case"ed448":e=Iy}break;case"ecdh-es":switch(t.namedCurve.toLowerCase()){case"x25519":e=Ty;break;case"x448":e=xy}}return e?new Hp({algorithm:e}):null}toWebAlgorithm(t){switch(t.algorithm){case Cy:return{name:"EdDSA",namedCurve:"Ed25519"};case Iy:return{name:"EdDSA",namedCurve:"Ed448"};case Ty:return{name:"ECDH-ES",namedCurve:"X25519"};case xy:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Ry=Ag([Gg()],Ry),Vg.registerSingleton(qm,Ry);var ky;(class extends sy{constructor(t){sy.isAsnEncoded(t)?super(t,zm):super(t),this.tag=ny.CertificateRequestTag}onInit(t){this.tbs=nu.serialize(t.certificationRequestInfo),this.publicKey=new oy(t.certificationRequestInfo.subjectPKInfo);const e=Vg.resolve(Qm);this.signatureAlgorithm=e.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signature,this.attributes=t.certificationRequestInfo.attributes.map((t=>vy.create(nu.serialize(t))));const r=this.getAttribute(ym);this.extensions=[],r instanceof _y&&(this.extensions=r.items),this.subjectName=new Hw(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=Vg.resolveAll(cy).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=nu.parse(this.rawData,zm),r=e.certificationRequestInfo,i=new Iw("",{Version:`${Qp[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:kw.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"}(ky||(ky={})),ay.register(Iu,uy),ay.register(ip,fy),ay.register(gp,gy),ay.register(Op,my),ay.register(Tu,hy),ay.register(Cp,wy),vy.register(wm,Ay),vy.register(ym,_y),Vg.registerSingleton(cy,class{toAsnSignature(t,e){return nc.vJ.toArrayBuffer(e)}toWebSignature(t,e){return nc.vJ.toArrayBuffer(e)}}),Vg.registerSingleton(cy,Sy),Sy.namedCurveSize.set("P-256",32),Sy.namedCurveSize.set("K-256",32),Sy.namedCurveSize.set("P-384",48),Sy.namedCurveSize.set("P-521",66);const Ny=/-{5}(BEGIN|END) .*-{5}/gm;const Oy="pages/pages.jsonl",By="pages/extraPages.jsonl",Py="datapackage.json",Ly="datapackage-digest.json",Dy="webarchive.yaml";class Uy{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(Ly)&&(e=await this.loadDigestData(Ly)),this.file.containsFile(Py)?t=await this.loadPackage(Py,e):this.file.containsFile(Dy)&&(t=await this.loadOldPackageYAML(Dy)),t||{}}async loadTextFileFromWACZ(t,e=!1){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{computeHash:!!e}),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===Py&&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=[];if(e=(0,ic.toByteArray)(e),n&&i&&!r){const t=n.split("\n\n"),i=(0,ic.toByteArray)(t[0].replace(Ny,"").replace(/\s/gm,"")),s=h(await crypto.subtle.digest("SHA-256",i));c.push({id:"certFingerprint",expected:s,matched:null});const o=new ly(i);r=await o.publicKey.export();const l=(0,ic.fromByteArray)(new Uint8Array(o.publicKey.rawData));c.push({id:"publicKey",expected:l,matched:null}),o.subject&&o.subject.startsWith("CN=")&&(a=o.subject.split(3)),e=function(t){try{const e=eu.parse(t,Wf),r=0===e.r[0]?e.r.slice(1):e.r,i=0===e.s[0]?e.s.slice(1):e.s;t=nt([r,i],r.length+i.length)}catch(t){console.log(t)}return t}(e)}else{const t={name:"ECDSA",namedCurve:"P-384"};c.push({id:"publicKey",expected:r,matched:null}),r=await crypto.subtle.importKey("spki",(0,ic.toByteArray)(r),t,!0,["verify"])}const l=new TextEncoder,u=await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},r,e,l.encode(t));return c.push({id:"signature",expected:!0,matched:u}),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),t}async loadLeafWACZPackage(t){const e=t.metadata||{};let r=null;for(const e of t.resources)e.path===Oy?(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(Oy)&&(await this.loadPages(Oy,r)).hasText&&(this.store.textIndex=e.textIndex=Oy),this.file.containsFile(By)&&(this.store.textIndex=e.textIndex=By),e}async loadOldPackageYAML(t){const e=await this.loadTextFileFromWACZ(t),r=rc.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&&n.length&&await this.store.addPages(n);const s=r.pageLists||[];return s&&s.length&&await this.store.addCuratedPageLists(s,"pages","show"),i}async loadPages(t=Oy,e=null){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{unzip:!0,computeHash:!0});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 My{constructor(t,e,r=null){this.loader=t,this.loadId=r,this.loadUrl=e.loadUrl}async load(t){t.fullConfig&&this.loader.arrayBuffer&&this.loader.arrayBuffer.byteLength<=n&&(t.fullConfig.extra||(t.fullConfig.extra={}),t.fullConfig.extra.arrayBuffer=this.loader.arrayBuffer);const e=this.loadUrl,r=this.loader;return await t.addNewWACZ({name:"default",path:e,loader:r})}}class Fy{constructor(t,e,r=null){this.config=e,this.loadId=r,this.loader=t}async load(t,e=null,r=0){const i=new so({loader:this.loader});await i.init();const n=i.zipreader,s=new Uy(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}),o=new Yn(s,null,r);return o.detectPages=!1,await o.load(t,i,n)}}class Hy{constructor(t){this.response=t}async load(t){return await t.loadFromJSON(this.response)}}class Wy{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.cloneResponse=e,this.allowBody=r||this.isLive,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+"id_/"+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;!this.allowBody||"POST"!==t.method&&"PUT"!==t.method||(o=await t.getBody());const a=await fetch(s,{method:t.method,body:o,headers:r,credentials:i,mode:"cors",redirect:"follow"});let c=null;this.cloneResponse&&(c=a.clone());const l=Nt.fromResponse({url:n,response:a,date:new Date,noRW:!1,isLive:this.isLive,archivePrefix:this.archivePrefix});return c&&(l.clonedResponse=c),l}}const jy=/^([\w-]+,)*[\w-]+(:\d+)?,?\)\//;class Vy extends Vs{constructor(t,e,r="wacz"){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&&t.metadata&&t.metadata.textIndex||By,t.extraConfig&&this.initConfig(t.extraConfig)}initConfig(t){if(void 0!==t.decodeResponses&&(this.config.decode=t.decodeResponses),t.hostProxy&&(this.externalSource=new Wy(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)}_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.computeHash(n),a=new so({waczname:n,hash:o,url:n,entries:i,indexType:s});e.objectStore("waczfiles").put(a.serialize()),await e.done}catch(t){console.warn(t)}}addWACZFile(t){return this.waczfiles[t.waczname]=new so(t),this.waczNameForHash[t.hash]=t.waczname,this.waczfiles[t.waczname]}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)}await this.checkUpdates()}async close(){super.close(),caches.delete("cache:"+this.name.slice("db:".length))}async clearZipData(){const t=["waczfiles","ziplines"];for(const e of t)await this.db.clear(e)}async addVerifyData(t="",e,r,i,n=!1){let s=null;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,i={};const 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){const e=await this.db.get("verification",t);return e&&e.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 Jn(a,c);await this.waczfiles[o].save(this.db);const h=await l.load();return t[Js]&&(h.respHeaders["x-wabac-preset-cookie"]=t[Js]),{remote:h,hasher:c}}async loadIndex(t){if(!this.waczfiles[t])throw new Error("unknown waczfile: "+t);if(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 Zs(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});let o=[],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){let[r,i,s,o]=t.split("\t");s=Number(s),o=Number(o),n={waczname:e,prefix:r,filename:i,offset:s,length: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&&!jy.test(i),l=l||a,n={waczname:e,prefix:i,filename:l,offset:s,length:o,digest:h,loaded:!1}}r&&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:$(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 h=[];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(l(i).getTime()-r),o=Math.abs(l(n).getTime()-r);return s===o?0:s<o?-1:1}));let u=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),h.push(i),++u>3)break}return h.length&&await Promise.allSettled(h),await this.waczfiles[t].save(this.db),h.length>0}async doCDXLoad(t,e,r){try{const i="indexes/"+e.filename,n={offset:e.offset,length:e.length,unzip:!0,computeHash:!!e.digest},{reader:s,hasher:o}=await this.loadFileFromNamedWACZ(r,i,n),a=new Zs(s,null,null,{wacz:r});if(await a.load(this),o){const t=o.getHash(),n=`${i}:${e.offset}-${e.length}`;await this.addVerifyData(r,n,e.digest,t)}e.loaded=!0,await this.db.put("ziplines",e)}catch(t){await A(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{let i=await super.lookupUrl(t,e,r);if(i&&(!r.noRevisits||"warc/revisit"!==i.mime))return i;const{waczname:n}=r;return n&&"local"!==n&&(i=await this.lookupUrlForWACZ(n,t,e,r)),i}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){try{return await t.loadFile(e,r)}catch(i){if(await this.retryLoad(i))return await t.loadFile(e,r);throw i}}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 addNewWACZ({name:t,hash:e,path:r,parent:i=null,loader:n=null}={}){const s=t||r;e?e.indexOf(":")>0&&(e=e.split(":")[1]):e=await u(s,"sha-256","");const o=this.addWACZFile({waczname:s,hash:e,path:r,parent:i,loader:n},!0);await o.init(),await o.save(this.db,!0);const a=new Uy(this,o,!i);return await a.load()}async loadWACZFiles(t,e=this){const r=[],i=async(t,e)=>{await this.waczfiles[t].init(e),await this.waczfiles[t].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}}));for(const{name:t,hash:s,path:o}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}));r.length&&await Promise.allSettled(r)}async getTextIndex(){const t={"Content-Type":"application/ndjson"},e=Object.keys(this.waczfiles);if(!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;if(!n)return new Response("",{headers:t});const 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}={}){if(await this.initing,this.externalSource){const i=await this.externalSource.getResource(t,e,r);if(i)return i}let n=i,s=null,o=null;if(n){if(s=this.waczNameForHash[n],!s)return null;if(o=await super.getResource(t,e,r,{waczname:s}),o)return o}let a=null;for(const[i,c]of Object.entries(this.waczfiles))if("wacz"===c.fileType&&c.hash!==n&&(o=await super.getResource(t,e,r,{waczname:i,noFuzzyCheck:!0}),o)){s=i,a=c.hash;break}if(s)return Response.redirect(`${e}:${a}/${t.timestamp}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){return"json"===this.rootSourceType&&(t instanceof T?(this.updating||(this.updating=this.checkUpdates()),await this.updating,this.updating=null,!0):await A(t,this.config))}async checkUpdates(){"json"===this.rootSourceType&&await this.loadFromJSON()}async loadFromJSON(t=null){if(t||(t=(await this.sourceLoader.doInitialFetch(!1)).response),206!==t.status&&200!==t.status)return console.warn("WACZ update failed from: "+this.config.loadUrl),{};const e=await t.json();return 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 Ps(t)}}class Gy{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 jn.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");n={Range:t}}let h=null,u=null;return l&&(u=await fetch(this.sourceUrl+"A/"+s,{headers:n}),u.body&&(h=new lt(u.body.getReader(),!1)),206===u.status&&(a=206,c="Partial Content",i.set("Content-Length",u.headers.get("Content-Length")),i.set("Content-Range",u.headers.get("Content-Range")),i.set("Accept-Ranges","bytes"))),h||(h=new Uint8Array([])),o||(o=new Date),i||(i=new Headers),new Nt({payload:h,status:a,statusText:c,headers:i,url:r,date:o,noRW:!1,isLive:!1})}}async resolveHeaders(t){const e=t.slice(t.indexOf("//")+2);let r=encodeURI(e);r=encodeURIComponent(e);let i=await fetch(this.sourceUrl+"H/"+r);if(200!==i.status)return null;let n=null,s=null,o=null,a=null,c=!1;try{const e=await Et.parse(i.body);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 zy=Ky([80,75,3,4]),qy=Ky([31,139,8]),Qy=Ky([87,65,82,67]);function Ky(t){return e=>{for(const[r,i]of t.entries())if(i!==e[r])return!1;return!0}}globalThis.self||(globalThis.self=globalThis),self.interruptLoads={};class Yy extends class{constructor(){this.colldb=null,this.root=null,this.checkIpfs=!0,this._init_db=this._initDB()}async _initDB(){this.colldb=await Sn("collDB",1,{upgrade:t=>{t.createObjectStore("colls",{keyPath:"name"}).createIndex("type","type")}})}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},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()).map((t=>this._initColl(t)));await Promise.all(t)}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 Tn(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 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=f(),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){const e=await this._initStore(t.type,t.config),r=t.name,i=t.config;return t.config.root&&!this.root&&(this.root=r),this._createCollection({name:r,store:e,config:i})}async _initStore(t,e){let r=null,i=null;switch(t){case"archive":i=new zn(e.dbname);break;case"remotesource":r=await Ps({url:e.loadUrl,headers:e.headers,size:e.size,extra:e.extra}),i=new Gs(e.dbname,r,e.noCache);break;case"remoteprefix":i=new zs(e.dbname,e.remotePrefix,e.headers,e.noCache);break;case"wacz":case"remotezip":case"multiwacz":r=await Ps({url:e.loadUrl||e.sourceUrl,headers:e.headers,extra:e.extra}),i=new Vy(e,r,"multiwacz"===t?"json":"wacz");break;case"remotewarcproxy":i=new Gy(e);break;case"live":i=new Wy(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 Tn("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 S)return console.warn(t),void i(0,"permission_needed",null,null,t.info&&t.info.fileHandle);if("ConstraintError"!==t.name)return console.warn(t),void i(0,"An unexpected error occured: "+t.toString());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=>self.interruptLoads[e]=t));await r,await this.deleteColl(e),delete self.interruptLoads[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=null,s={root:t.root||!1},o=null,a=null;const c=t.file;if(!c||!c.sourceUrl)return e(0,"Invalid Load Request"),!1;if(s.dbname="db:"+r,c.sourceUrl.startsWith("proxy:"))s.sourceUrl=c.sourceUrl.slice("proxy:".length),s.extraConfig=t.extraConfig,s.extraConfig.prefix||(s.extraConfig.prefix=s.sourceUrl),s.topTemplateUrl=t.topTemplateUrl,s.metadata={},i=t.type||s.extraConfig.type||"remotewarcproxy",o=await this._initStore(i,s);else{let l=null;if(c.newFullImport&&(r=f(),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 void e(0,"Invalid Existing Collection: "+c.importCollId);s.dbname=t.config.dbname,a=t.config,a.decode=!0}let h=c.loadUrl||c.sourceUrl;h.match(/[\w]+:\/\//)||(h=new URL(h,self.location.href).href),s.decode=!0,s.onDemand=!1,s.loadUrl=h,s.sourceUrl=c.sourceUrl,s.sourceName=c.name||c.sourceUrl;try{if(s.sourceName.match(/https?:\/\//)){const t=new URL(s.sourceName);s.sourceName=t.pathname+t.hash}}catch(t){}if(s.sourceName=s.sourceName.slice(s.sourceName.lastIndexOf("/")+1),s.size="number"==typeof c.size?c.size:null,s.extra=c.extra,s.loadUrl.startsWith("file://")&&!c.blob&&!s.extra){if(!this._fileHandles||!this._fileHandles[s.sourceUrl])return void e(0,"missing_local_file");s.extra={fileHandle:this._fileHandles[s.sourceUrl]}}s.extraConfig=t.extraConfig,s.headers=c.headers||s.extraConfig&&s.extraConfig.headers,s.noCache=c.noCache;let u=await Ps({url:h,headers:s.headers,size:c.size,extra:s.extra,blob:c.blob});if(c.loadEager){const{response:t}=await u.doInitialFetch(!1,!0),e={arrayBuffer:new Uint8Array(await t.arrayBuffer())};c.newFullImport=!0,u=await Ps({url:h,headers:s.headers,size:c.size,extra:e})}let p=function(t){const e=[".warc",".warc.gz",".cdx",".cdxj",".har",".json",".wacz",".zip"];for(const r of e)if(t.endsWith(r))return r;return""}(s.sourceName),{abort:d,response:g}=await u.doInitialFetch(".wacz"===p);p||(p=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=zy(s)?".wacz":Qy(s)?".warc":qy(s)?".warc.gz":void 0,r||(r=function(t){try{const e=(new TextDecoder).decode(t).split("\n");if(e>1&&e.indexOf(" {"))return".cdxj"}catch(t){return""}}(i))),n||e.cancel(),r}(await g.clone()));const m=g.body;if(s.onDemand=u.canLoadOnDemand&&!c.newFullImport,!u.isValid){const t=u.length<=1e3?await g.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: ${g.status} ${g.statusText}\nError Details:\n${t}`),d&&d.abort(),!1}if(!u.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."),d&&d.abort(),!1;const w=u.length;if(".wacz"===p)if(s.onDemand)l=new My(u,s,r),o=new Vy(s,u,"wacz"),i="wacz";else{if(!u.canLoadOnDemand||!c.newFullImport)return e(0,"Sorry, can't load this WACZ file due to lack of range request support on the server"),d&&d.abort(),!1;l=new Fy(u,s,r),o=null,delete s.extra}else".warc"===p||".warc.gz"===p?s.noCache||!(w<n)&&s.onDemand?(l=new Xs(m,d,r),i="remotesource",o=new Gs(s.dbname,u,s.noCache)):l=new Yn(m,d,r):".cdx"===p||".cdxj"===p?(s.remotePrefix=t.remotePrefix||h.slice(0,h.lastIndexOf("/")+1),l=new Zs(m,d,r),i="remoteprefix",o=new zs(s.dbname,s.remotePrefix,s.headers,s.noCache)):".har"===p?(l=new Ys(await g.json()),s.decode=!1):".json"===p&&(o=new Vy(s,u,"json"),l=new Hy(g),i="multiwacz");if(!l)return e(0,`The ${s.sourceName} is not a known archive format that could be loaded.`),d&&d.abort(),!1;o||(o=new zn(s.dbname)),await o.initing;try{s.metadata=await l.load(o,e,w)}catch(t){return t instanceof x||(e(0,`Unexpected Loading Error: ${t.toString()}`),console.warn(t)),!1}if(a)return await this.updateSize(c.importCollId,w,w,a.decode),{config:a};s.metadata.size||(s.metadata.size=w),s.metadata.title||(s.metadata.title=s.sourceName)}s.ctime=(new Date).getTime(),this._fileHandles&&s.extra&&s.extra.fileHandle&&delete this._fileHandles[s.sourceUrl];const l={name:r,type:i,config:s};return await this.colldb.add("colls",l),l.store=o,l}}class Jy{constructor(){this.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=null;void 0===this.timeRanges[n]?(s={count:0,children:[]},this.timeRanges[n]=s,r.referrer.indexOf("mp_/")>0&&self.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(let i of r)if(i.url===e){this.timeRanges[i.id]?this.timeRanges[i.id].children[t]=1:this.timeRanges[i.id]={count:0,children:{id:1}};break}}async getStats(t){const e=new URL(t.request.url);let r=0;const i=new URLSearchParams(e.search).get("url"),n=await self.clients.matchAll({type:"window"}),s={};for(let 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]&&Object.keys(this.timeRanges[r].children)||[];for(let t of c){const e=this.timeRanges[t];e&&((!a.min||e.min<a.min)&&(a.min=e.min),(!a.max||e.max>a.max)&&(a.max=e.max),a.count+=e.count)}for(let t of Object.keys(this.timeRanges))s[t]||delete this.timeRanges[t];return new Response(JSON.stringify(a),{headers:{"Content-Type":"application/json"}})}}var Xy=function(){return Xy=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},Xy.apply(this,arguments)},Zy=function(t){return void 0===t&&(t={}),{arrayFormat:t.arrayFormat||"none",booleanFormat:t.booleanFormat||"none",nullFormat:t.nullFormat||"default"}},$y=function(t){return encodeURIComponent(t)},tb=function(t){return decodeURIComponent(t)},eb=function(t,e){var r=Zy(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("✓"===tb(t))return!0;if("✗"===tb(t))return!1}return"string"===e.nullFormat&&"null"===t?null:tb(t)}(s,r);return t[c]=void 0===l?a?[h]:h:(Array.isArray(l)?l:[l]).concat(h),t}),{})},rb=/[^!$'()*+,;|:]/g,ib=function(t){return t.replace(rb,(function(t){return encodeURIComponent(t)}))},nb={default:ib,uri:encodeURI,uriComponent:encodeURIComponent,none:function(t){return t},legacy:encodeURI},sb={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:function(t){return t},legacy:decodeURIComponent},ob=function(t,e,r){var i=nb[e]||ib;return r?String(t).split("/").map(i).join("/"):i(String(t))},ab=function(t){return"("+(t?t.replace(/(^<|>$)/g,""):"[a-zA-Z0-9-_.~%':|=+\\*@$]+")+")"},cb=[{name:"url-parameter",pattern:/^:([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(ab(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]+"="+ab(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])}}],lb=function t(e,r){if(void 0===r&&(r=[]),!cb.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},ub={urlParamsEncoding:"default"},pb=function(){function t(t,e){if(!t)throw new Error("Missing path in Path constructor");this.path=t,this.options=Xy(Xy({},ub),e),this.tokens=lb(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=Xy(Xy({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=eb(t,i.queryParams);return 0===Object.keys(o).filter((function(t){return!r.isQueryParam(t)})).length?(Object.keys(o).forEach((function(t){return s[t]=o[t]})),s):null},t.prototype.partialTest=function(t,e){var r=this,i=Xy(Xy({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=eb(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=Xy(Xy({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 ob(t,i.urlParamsEncoding,o)})):e[n]=ob(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("^"+ab(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=function(t,e){var r=Zy(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)+"="+$y(e)})).join("&")}(t,e,r):t+"="+$y(e)}(e,t[e],r)})).filter(Boolean).join("&")}(this.queryParams.filter((function(e){return-1!==Object.keys(t).indexOf(e)})).reduce((function(e,r){return e[r]=t[r],e}),{}),i.queryParams);return a?o+"?"+a: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]]=(sb[i]||decodeURIComponent)(e),t}),{}):{}:null},t}();class db{constructor(t){this.routes={};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 pb(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 fb{constructor(t){this.router=new db(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){switch(e._route){case"index":return await this.listAll(e._query.get("filter"));case"createColl":{const e=await t.json();return v(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=v(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")):(r.pages=[],r.lists=[],r.curatedPages=[]),r.verify=await t.store.getVerifyInfo()):(r.numLists=await t.store.db.count("pageLists"),r.numPages=await t.store.db.count("pages")),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);return t?{pages:await t.store.getAllPages()}:{error:"collection_not_found"}}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{curated:await t.store.db.getAllFromIndex("curatedPages","listPages",IDBKeyRange.bound([r],[r+1]))}}case"deletePage":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const{pageSize:r,deleteSize:i}=t.store.deletePage(e.page);return this.collections.updateSize(e.coll,r,i),{pageSize:r,deleteSize: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&&0!==e.type.indexOf(t)||r.push(v(e)))})),{colls:r}}makeResponse(t,e=200){return new Response(JSON.stringify(t),{status:e,headers:{"Content-Type":"application/json"}})}}var gb=r(24);const mb=/^(?::([\w-]+)\/)?(\d*)([a-z]+_|[$][a-z0-9:.-]+)?(?:\/|\||%7C|%7c)(.+)/;class wb{constructor(t,e,{isRoot:r=!1,mod:i="",ts:n="",proxyOrigin:s=null,localOrigin:o=null}={}){const a=mb.exec(t);if(this.url="",this.timestamp=n,this.mod=i,this.pageId="",this.hash="",!a&&(t.startsWith("https:")||t.startsWith("http:")||t.startsWith("blob:")))this.url=t;else if(!a&&r)this.url="https://"+t;else{if(!a)return void(this.url=null);this.pageId=a[1]||"",this.timestamp=a[2],this.mod=a[3],this.url=a[4]}if(s&&o){const t=new URL(this.url);t.origin===o&&(this.url=s+t.pathname+(t.search?t.search:""))}const c=this.url.indexOf("#");c>0&&(this.hash=this.url.slice(c),this.url=this.url.substring(0,c)),this.request=e,this.method=e.method,this.mode=e.mode,this._postToGetConverted=!1}get headers(){return this.request.headers}get destination(){return this.request.destination}get referrer(){return 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 tt(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("//"))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())}}const yb="x-wabac-is-ajax-req";class bb extends Yy{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 hn(t,this.prefixes,this.defaultConfig)}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.colls[r.name]=this._createCollection(r)),r}async deleteColl(t,e=!1){return this.colls[t]&&(this.colls[t].store&&this.colls[t].store.delete&&await this.colls[t].store.delete(),e&&this.colls[t].config&&this.colls[t].config.extra&&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){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{constructor({staticData:t=null,ApiClass:e=fb,defaultConfig:r={},CollectionsClass:i=bb}={}){this.prefix=self.registration?self.registration.scope:"",this.replayPrefix=this.prefix;const n=new URLSearchParams(self.location.search);let s="w";n.has("replayPrefix")&&(s=n.get("replayPrefix")),s&&(this.replayPrefix+=s+"/"),this.staticPrefix=this.prefix+"static/",this.distPrefix=this.prefix+"dist/";const o={static:this.staticPrefix,root:this.prefix,main:this.replayPrefix};if(this.staticData=t||new Map,this.staticData.set(this.staticPrefix+"wombat.js",{type:"application/javascript",content:'/*! wombat.js (wabac.js 2.17.2) is part of Webrecorder project. Copyright (C) 2020-2024, Webrecorder Software. Licensed under the Affero General Public License v3. */(()=>{"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&&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 _(t){let{method:e,headers:r,postData:i}=t;if("GET"===e)return!1;function o(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let n="";switch((r.get("content-type")||"").split(";")[0]){case"application/x-www-form-urlencoded":n=o(i);break;case"application/json":n=d(o(i));break;case"text/plain":try{n=d(o(i),!1)}catch{n=l(i)}break;case"multipart/form-data":{let t=r.get("content-type");if(!t)throw new Error("utils cannot call postToGetURL when missing content-type header");n=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()}(o(i),t);break}default:n=l(i)}return null!==n&&(t.url=function(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}(t.url,n,t.method),t.method="GET",t.requestBody=n,!0)}function u(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={};try{JSON.stringify(t,((t,e)=>(["object","function"].includes(typeof e)||r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(t),e),e)))}catch(t){if(!e)throw t}return r}function d(t,e=!0){return u(t,e).toString()}function f(e,i){if(!(this instanceof f))return new f(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.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.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|!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)}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)}))},f.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()},f.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))},f.prototype._addEventListener=function(t,e,r){if(this.utilFns.addEventListener)return this.utilFns.addEventListener.call(t,e,r);t.addEventListener(e,r)},f.prototype._removeEventListener=function(t,e,r){if(this.utilFns.removeEventListener)return this.utilFns.removeEventListener.call(t,e,r);t.removeEventListener(e,r)},f.prototype.getPageUnderModifier=function(){try{var t=this.extractPageUnderModifierRE.exec(location.pathname);if(t&&t[1])return t[1].trim()||"mp_"}catch(t){}return"mp_"},f.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__))},f.prototype.isString=function(t){return null!=t&&Object.getPrototypeOf(t)===String.prototype},f.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},f.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}},f.prototype.isSavedDataSrcSrcset=function(t){return!(!t.dataset||null==t.dataset.srcset)&&this.isSavedSrcSrcset(t)},f.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},f.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}},f.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},f.prototype.startsWith=function(t,e){if(t)return 0===t.indexOf(e)?e:void 0},f.prototype.startsWithOneOf=function(t,e){if(t)for(var r=0;r<e.length;r++)if(0===t.indexOf(e[r]))return e[r]},f.prototype.endsWith=function(t,e){if(t)return-1!==t.indexOf(e,t.length-e.length)?e:void 0},f.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)},f.prototype.skipWrapScriptBasedOnType=function(t){return!!t&&(!(t.indexOf("javascript")>=0||t.indexOf("ecmascript")>=0)&&(t.indexOf("json")>=0||t.indexOf("text/")>=0))},f.prototype.skipWrapScriptTextBasedOnText=function(t){if(!t||t.indexOf(this.WB_ASSIGN_FUNC)>=0||0===t.indexOf("<"))return!0;for(var e=["window","self","document","location","top","parent","frames","opener"],r=0;r<e.length;r++)if(t.indexOf(e[r])>=0)return!1;return!0},f.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},f.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{var n=this.tagToMod[t.tagName];null!=n&&(r=n[e])}return r}},f.prototype.removeWBOSRC=function(t){"SCRIPT"!==t.tagName||t.__$removedWBOSRC$__||(t.hasAttribute("__wb_orig_src")&&t.removeAttribute("__wb_orig_src"),t.__$removedWBOSRC$__=!0)},f.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},f.prototype.wrapScriptTextJsProxy=function(t){return\'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{\\nlet window = _____WB$wombat$assign$function_____("window");\\nlet globalThis = _____WB$wombat$assign$function_____("globalThis");\\nlet self = _____WB$wombat$assign$function_____("self");\\nlet document = _____WB$wombat$assign$function_____("document");\\nlet location = _____WB$wombat$assign$function_____("location");\\nlet top = _____WB$wombat$assign$function_____("top");\\nlet parent = _____WB$wombat$assign$function_____("parent");\\nlet frames = _____WB$wombat$assign$function_____("frames");\\nlet opener = _____WB$wombat$assign$function_____("opener");\\n{\\n\'+t.replace(this.DotPostMessageRe,".__WB_pmw(self.window)$1")+"\\n\\n}}"},f.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})},f.prototype.reconstructDocType=function(t){return null==t?"":"<!doctype "+t.name+(t.publicId?\' PUBLIC "\'+t.publicId+\'"\':"")+(!t.publicId&&t.systemId?" SYSTEM":"")+(t.systemId?\' "\'+t.systemId+\'"\':"")+">"},f.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},f.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},f.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},f.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)},f.prototype._makeURLParser=function(t,e){try{return new this.$wbwindow.URL(t,e.baseURI)}catch(t){}var r=e.createElement("a");return r._no_rewrite=!0,r.href=t,r},f.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}},f.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}},f.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},f.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},f.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},f.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)},f.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)},f.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}}},f.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)},f.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},f.prototype.proxyToObj=function(t){if(t)try{var e=t.__WBProxyRealObj__;if(e)return e}catch(t){}return t},f.prototype.objToProxy=function(t){if(t)try{var e=t._WB_wombat_obj_proxy;if(e)return e}catch(t){}return t},f.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=t[e],n=typeof o;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 s=i[e];return s&&s.original===o||(s={original:o,boundFn:o.bind(t)},i[e]=s),s.boundFn}return"object"===n&&o&&o._WB_wombat_obj_proxy?(o instanceof this.WBWindow&&this.initNewWindowWombat(o),o._WB_wombat_obj_proxy):o},f.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)},f.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])}},f.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))}}},f.prototype.styleReplacer=function(t,e,r,i,o,n){return e+this.rewriteUrl(r)+i},f.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)},f.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},f.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_","")},f.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}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+"//",_=o.substring(c.length),u=!1;return _.indexOf(this.wb_rel_prefix)<0&&o.indexOf("/static/")<0&&(_=this.getFinalUrl(!0,r,WB_wombat_location.origin+"/"+_),u=!0),w!==l&&w!==this.REL_PREFIX&&(u=!0),u&&(o=e?"":l+h,_&&"/"!==_[0]&&(o+="/"),o+=_),o}return this.getFinalUrl(e,r,o)}return(w=this.startsWithOneOf(o,this.BAD_PREFIXES))?this.getFinalUrl(e,r,this.extractOriginalURL(o)):o},f.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},f.prototype.performAttributeRewrite=function(t,e,r,i){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(i&&!this.startsWithOneOf(r,this.VALID_PREFIXES))return r;var o=this.rwModForElement(t,e);return this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedDataSrcSrcset(t)&&this.WBAutoFetchWorker.preserveDataSrcset(t),this.rewriteUrl(r,!1,o,t.ownerDocument)},f.prototype.rewriteAttr=function(t,e,r){var i=!1;if(!t||!t.getAttribute||t._no_rewrite||t["_"+e])return i;var o=this.wb_getAttribute.call(t,e);if(!o||this.startsWith(o,"javascript:"))return i;var n=this.performAttributeRewrite(t,e,o,r);return n!==o&&(this.removeWBOSRC(t),this.wb_setAttribute.call(t,e,n),i=!0),i},f.prototype.noExceptRewriteStyle=function(t){try{return this.rewriteStyle(t)}catch(e){return t}},f.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},f.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(", ")},f.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)},f.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();return!this.skipWrapScriptTextBasedOnText(e)&&(t.textContent=this.wrapScriptTextJsProxy(e),this.wb_info.injectDocClose&&t.textContent.trim().length&&(t.textContent+=";document.close();"),!0)},f.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},f.prototype.rewriteElem=function(t){var e=!1;if(!t)return e;if(t instanceof SVGElement)e=this.rewriteSVGElem(t);else switch(t.tagName){case"META":var r=this.wb_getAttribute.call(t,"http-equiv");r&&"content-security-policy"===r.toLowerCase()&&(this.wb_setAttribute.call(t,"http-equiv","_"+r),e=!0);break;case"STYLE":var i=this.rewriteStyle(t.textContent);t.textContent!==i&&(t.textContent=i,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":if(this.wb_info.isSW&&t.parentElement&&"application/pdf"===t.getAttribute("type")){for(var o=this.$wbwindow.document.createElement("IFRAME"),n=0;n<t.attributes.length;n++){var s=t.attributes[n],a=s.name;"data"===a&&(a="src"),this.wb_setAttribute.call(o,a,s.value)}t.parentElement.replaceChild(o,t),e=!0;break}e=this.rewriteAttr(t,"data",!0),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 w=t.getAttribute("srcdoc");if(t.hasAttribute("srcdoc")&&t.removeAttribute("srcdoc"),w)this.blobUrlForIframe(t,w);else{var h=t.getAttribute("src");h&&"about:blank"!==h||(h||(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,t.hasAttribute("target")){var p=this.rewriteAttrTarget(t.target);p!==t.target&&(t.target=p,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},f.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},f.prototype.rewriteElemComplete=function(t){if(!t)return!1;var e=this.rewriteElem(t),r=this.recurseRewriteElem(t);return e||r},f.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},f.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=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},f.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},f.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)},f.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(",|",",")},f.prototype.rewriteWorker=function(t){if(!t)return t;var e=0===(t=t.toString()).indexOf("blob:"),r=0===t.indexOf("javascript:");if(!e&&!r){if(!this.startsWithOneOf(t,this.VALID_PREFIXES)&&!this.startsWith(t,"/")&&!this.startsWithOneOf(t,this.BAD_PREFIXES)){var i=this.resolveRelUrl(t,this.$wbwindow.document);return this.rewriteUrl(i,!1,"wkr_",this.$wbwindow.document)}return this.rewriteUrl(t,!1,"wkr_",this.$wbwindow.document)}var o=r?t.replace("javascript:",""):null;if(e){var n=new XMLHttpRequest;this.utilFns.XHRopen.call(n,"GET",t,!1),this.utilFns.XHRsend.call(n),o=n.responseText.replace(this.workerBlobRe,"").replace(this.rmCheckThisInjectRe,"this")}if(this.wb_info.static_prefix||this.wb_info.ww_rw_script){var s=this.$wbwindow.document.baseURI;o="(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\': \'"+s+"\'}); })();"+o}var a=new Blob([o],{type:"application/javascript"});return this.URL.createObjectURL(a)},f.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)},f.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)},f.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))},f.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)},f.prototype.rewriteHTMLAssign=function(t,e,r){var i=r,o=t.tagName;t._no_rewrite||t instanceof this.$wbwindow.HTMLTemplateElement||("STYLE"===o?i=this.rewriteStyle(r):"SCRIPT"===o?(r&&this.IsTagRegex.test(r)&&(i=this.rewriteHtml(r)),i===r&&(this.skipWrapScriptBasedOnType(t.type)||this.skipWrapScriptTextBasedOnText(r)||(i=this.wrapScriptTextJsProxy(i)))):i=this.rewriteHtml(r)),e.call(t,i),this.wbUseAFWorker&&this.WBAutoFetchWorker&&"STYLE"===o&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet)},f.prototype.rewriteEvalArg=function(t,e,r){return t(this.isString(e)&&!this.skipWrapScriptTextBasedOnText(e)?this.wrapScriptTextJsProxy(e):this.otherEvalRewrite(e),r)},f.prototype.otherEvalRewrite=function(t){return"string"!=typeof t?t:t.replace(this.IMPORT_JS_REGEX,this.styleReplacer)},f.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)}))},f.prototype.isAttrObjRewrite=function(t){if(!t)return!1;var e=t.ownerElement&&t.ownerElement.tagName;return this.shouldRewriteAttr(e,t.nodeName)},f.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,!1)),o.call(e,i)}),(function(){var t=r.proxyToObj(this),e=i.call(t);return r.isAttrObjRewrite(t)?r.extractOriginalURL(e):e}))},f.prototype.overrideAttrProps=function(){var t=this.$wbwindow.Attr.prototype;this.newAttrObjGetSet(t,"value"),this.newAttrObjGetSet(t,"nodeValue"),this.newAttrObjGetSet(t,"textContent")},f.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);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}))},f.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 i.extractOriginalURL(e)}))}},f.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)}))}},f.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))}))}},f.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}}},f.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)},f.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)}},f.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}}},f.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)}}},f.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}))},f.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}})}))},f.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])}})}))},f.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}}},f.prototype.overrideFramesAccess=function(t){if(!t.Proxy||t!==t.frames){t.__wb_frames=t.frames;var e=this,r=function(){for(var t=0;t<this.__wb_frames.length;t++)try{e.initNewWindowWombat(this.__wb_frames[t])}catch(t){}return this.__wb_frames};this.defGetterProp(t,"frames",r),this.defGetterProp(t.Window.prototype,"frames",r)}},f.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}))}},f.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)}}}},f.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)}}}},f.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}},f.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=this.__WB_orig_bind.apply(this,arguments);return i.__WB_is_native_func__=e,i}}},f.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)}))},f.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)}))},f.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}))},f.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}},f.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)},f.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)}}},f.prototype.overrideShadowDom=function(){this.$wbwindow.ShadowRoot&&this.$wbwindow.ShadowRoot.prototype&&(this.overrideHtmlAssign(this.$wbwindow.ShadowRoot,"innerHTML",!0),this.overrideParentNodeAppendPrepend(this.$wbwindow.ShadowRoot))},f.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)}}}},f.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")}},f.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")},f.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)}}},f.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")}},f.prototype.initBadPrefixes=function(t){this.BAD_PREFIXES=["http:"+t,"https:"+t,"http:/"+t,"https:/"+t]},f.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}},f.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})}},f.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}},f.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})},f.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"))},f.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)},f.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")}},f.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){}},f.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()},f.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}},f.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)}))},f.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)},f.prototype.initHTTPOverrides=function(){var t,r,i=this;if(this.overridePropExtract(this.$wbwindow.XMLHttpRequest.prototype,"responseURL"),this.wb_info.isSW){var o=this.$wbwindow.XMLHttpRequest.prototype.open,n=this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader,s=this.$wbwindow.XMLHttpRequest.prototype.send;this.utilFns.XHRopen=o,this.utilFns.XHRsend=s,this.$wbwindow.XMLHttpRequest.prototype.open=function(){this.__WB_xhr_open_arguments=arguments,this.__WB_xhr_headers=new Headers},this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader=function(t,e){this.__WB_xhr_headers.set(t,e)};i=this;var a=!!this.wb_info.convert_post_to_get;this.$wbwindow.XMLHttpRequest.prototype.send=async function(t){if(a&&("POST"===this.__WB_xhr_open_arguments[0]||"PUT"===this.__WB_xhr_open_arguments[0])){var e={url:this.__WB_xhr_open_arguments[1],method:this.__WB_xhr_open_arguments[0],headers:this.__WB_xhr_headers,postData:t};_(e)&&(this.__WB_xhr_open_arguments[1]=e.url,this.__WB_xhr_open_arguments[0]="GET",t=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]=i.rewriteUrl(this.__WB_xhr_open_arguments[1])),o.apply(this,this.__WB_xhr_open_arguments),!i.startsWith(this.__WB_xhr_open_arguments[1],"data:")){for(const[t,e]of this.__WB_xhr_headers.entries())n.call(this,t,e);n.call(this,"X-Pywb-Requested-With","XMLHttpRequest")}return s.call(this,t)}}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(t,e,r,o,n){var s=this._no_rewrite?e:i.rewriteUrl(e),a=!0;null==r||r||(a=!1),w.call(this,t,s,a,o,n),i.startsWith(s,"data:")||this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(this.$wbwindow.fetch){var h=this.$wbwindow.fetch;this.$wbwindow.fetch=function(t,e){var r=t,o=typeof t;if("string"===o)r=i.rewriteUrl(t);else if("object"===o&&t.url){var n=i.rewriteUrl(t.url);n!==t.url&&(r=new Request(n,e))}else"object"===o&&t.href&&(r=i.rewriteUrl(t.href));if(e||(e={}),void 0===e.credentials)try{e.credentials="include"}catch(t){}return h.call(i.proxyToObj(this),r,e)}}if(this.$wbwindow.Request&&this.$wbwindow.Request.prototype){var p=this.$wbwindow.Request;this.$wbwindow.Request=(t=this.$wbwindow.Request,function(e,r){i.domConstructorErrorChecker(this,"Request",arguments);var o=r||{},n=e,s=typeof e;switch(s){case"string":n=i.rewriteUrl(e);break;case"object":if(n=e,e.url){var a=i.rewriteUrl(e.url);a!==e.url&&(n=new t(a,e))}else e.href&&(n=i.rewriteUrl(e.toString(),!0))}return o.credentials="include",o.referrer&&(o.referrer=i.rewriteUrl(o.referrer)),new t(n,o)}),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(t,e){var r=i.rewriteUrl(t,!0,null,i.$wbwindow.document);return c.call(this,r,e)},this.overridePropExtract(this.$wbwindow.Response.prototype,"url")}if(this.$wbwindow.EventSource&&this.$wbwindow.EventSource.prototype){var l=this.$wbwindow.EventSource;this.$wbwindow.EventSource=(r=this.$wbwindow.EventSource,function(t,e){i.domConstructorErrorChecker(this,"EventSource",arguments);var o=t;return null!=t&&(o=i.rewriteUrl(t)),new r(o,e)}),this.$wbwindow.EventSource.prototype=l.prototype,Object.defineProperty(this.$wbwindow.EventSource.prototype,"constructor",{value:this.$wbwindow.EventSource}),e(this.$wbwindow.EventSource,"EventSource")}},f.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}}}},f.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)}}},f.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}},f.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)}}}},f.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")}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)},f.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}))}},f.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,u(arguments))};e.write=o,t.write=o;var n=e.writeln,s=function(){return d(this,n,u(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),_()?r._writeBuff="":r.initNewWindowWombat(e.defaultView);return t};e.open=w,t.open=w;var h=e.close,p=function(){if(r._writeBuff)return _()?r.blobUrlForIframe(r.$wbwindow.frameElement,r._writeBuff):"loading"===document.readyState&&i.call(e,r.rewriteHtml(r._writeBuff,!0)),void(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)};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 _(){return r.wb_info.isSW&&r.$wbwindow.frameElement}function u(t){return 0===t.length?"":1===t.length?t[0]:Array.prototype.join.call(t,"")}function d(t,e,i){r.$wbwindow;if(!(_()||"loading"===document.readyState&&r.wb_info.injectDocClose)){i=r.rewriteHtml(i,!0);var o=r.proxyToObj(t),n=e.call(o,i);return r.initNewWindowWombat(o.defaultView),n}r._writeBuff+=i}},f.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)},f.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 f(t,o);t._wb_wombat=n.wombatInit()}else this.initProtoPmOrigin(t),this.initPostMessageOverride(t),this.initMessageEventOverride(t),this.initCheckThisFunc(t),this.initImportWrapperFunc(t)}},f.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}},f.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)}),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)}),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}},f.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)}},f.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)}},f.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{}}}},f.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){return t&&t._WB_wombat_obj_proxy?t._WB_wombat_obj_proxy:t}})}catch(t){}},f.prototype.initImportWrapperFunc=function(t){var e=this;t.____wb_rewrite_import__=function(t,r){return t&&(r=new e.URL(r,t).href),import(e.rewriteUrl(r,!1,"esm_"))}},f.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)}},f.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)}))}},f.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=r.proxyToObj(this);if(h||((h=t).__WB_source=t),h.__WB_source&&h.__WB_source.WB_wombat_location){var p=h.__WB_source;if(a=p.WB_wombat_location.origin,h.__WB_win_id||(h.__WB_win_id={},h.__WB_counter=0),!p.__WB_id){var c=h.__WB_counter;p.__WB_id=c+p.WB_wombat_location.href,h.__WB_counter+=1}h.__WB_win_id[p.__WB_id]=p,w=p.__WB_id,h.__WB_source=void 0}else a=window.WB_wombat_location.origin;var l=o;l===h.location.origin&&(l=a);var _={from:a,to_origin:l,src_id:w,message:i,from_top:s};if("*"!==o){if("null"===h.location.origin||""===h.location.origin)return;o=h.location.origin}return e.call(h,_,o,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)})):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)}},f.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)},f.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")},f.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)}},f.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},f.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))}))},f.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))}}},f.prototype.initBeaconOverride=function(){if(this.$wbwindow.navigator.sendBeacon){var t=this.$wbwindow.navigator.sendBeacon,e=this;this.$wbwindow.navigator.sendBeacon=function(r,i){try{return t.call(this,e.rewriteUrl(r),i)}catch(t){return!0}}}},f.prototype.initMiscNavigatorOverrides=function(){this.$wbwindow.navigator.mediaDevices&&(this.$wbwindow.navigator.mediaDevices.setCaptureHandleConfig=function(){})},f.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},f.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)},f.prototype.initStorageOverride=function(){this.addEventOverride("storageArea",this.$wbwindow.StorageEvent.prototype),i.yes=!1;var t={};if(this.wb_info.storage)try{t=JSON.parse(atob(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},f.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)}))}))}}},f.prototype.initCachesOverride=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())}))}}},f.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 void 0===o.value&&void 0===o.get&&(o.value=t[r]),Reflect.defineProperty(t,r,o),Reflect.defineProperty(e,r,o)}});return t._WB_wombat_obj_proxy=o,o}},f.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:e[r]=i,!0}});return t._WB_wombat_obj_proxy=o,o}},f.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)}}},f.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)},f.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)}},f.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){}},f.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}))}},f.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}))},f.prototype.wombatInit=function(){this._internalInit(),this.initCookiePreset(),this.initHistoryOverrides(),this.overrideFunctionApply(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.initTimeoutIntervalOverrides(),this.overrideFramesAccess(this.$wbwindow),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.initBeaconOverride(),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.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 b=f;window._WBWombat=b,window._WBWombatInit=function(t){if(this._wb_wombat)this._wb_wombat.init_paths(t);else{var e=new b(this,t);this._wb_wombat=e.wombatInit()}}})();'}),this.staticData.set(this.staticPrefix+"wombatWorkers.js",{type:"application/javascript",content:gb.Z}),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&&(r.injectScripts=r.injectScripts.map((t=>this.staticPrefix+"proxy/"+t))),this.collections=new i(o,n.get("root"),r),this.collections.loadAll(n.get("dbColl")),this.proxyOriginMode=!!n.get("proxyOriginMode"),this.api=new e(this.collections),this.apiPrefix=this.replayPrefix+"api/",this.allowRewrittenCache=!!n.get("allowCache"),this.stats=n.get("stats")?new Jy: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>`}handleFetch(t){const e=t.request.url;if(this.proxyOriginMode)return this.getResponseFor(t.request,t);if(!e.startsWith(this.prefix))return"chrome-extension://invalid/"===e?_(t.request,"Invalid URL"):this.defaultFetch(t.request);if(this.collections.root&&e.slice(this.prefix.length).indexOf("/")<0)return this.defaultFetch(t.request);if(e.startsWith(this.staticPrefix+"proxy/"))return this.staticPathProxy(e,t.request);if(e.startsWith(this.replayPrefix)&&!e.startsWith(this.staticPrefix))return this.getResponseFor(t.request,t);const r=new URL(e);r.search="",r.hash="";const i=r.href;for(const t of this.staticData.keys())if(t===i){const{content:e,type:r}=this.staticData.get(t);return new Response(e,{headers:{"Content-Type":r}})}return("http:"==r.protocol||"https:"==r.protocol)&&r.pathname.indexOf("/",1)<0?this.handleOffline(t.request):this.defaultFetch(t.request)}staticPathProxy(t,e){return t=t.slice((this.staticPrefix+"proxy/").length),t=new URL(t,self.location.href).href,e=new Request(t),this.defaultFetch(e)}defaultFetch(t){const e={};return"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(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=_(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(!this.proxyOriginMode&&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=b(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&&!t.url.startsWith(s.prefix))return _(t);const o=this.proxyOriginMode?t.url:t.url.substring(s.prefix.length),a={isRoot:!!this.collections.root};this.proxyOriginMode&&(a.mod="id_",a.proxyOrigin=s.config.extraConfig.proxyOrigin,a.localOrigin=self.location.origin);const c=new wb(o,t,a);if(!c.url)return _(t,`Replay URL ${o} not found`);const l=await s.handleRequest(c,e);if(l){if(this.stats&&this.stats.updateStats(l.date,l.status,t,e),this.allowRewrittenCache&&200===l.status)try{const e=await self.caches.open("wabac-"+s.name);r&&l.headers.set(yb,"true");const i=l.clone();await e.put(t,i)}catch(t){console.warn(t)}return l}return i&&console.log("Not Found Range!: "+i),_(t)}},console.log("sw init")):self.postMessage&&(new Yy(self),console.log("ww init"))})()})();
|
|
118
|
+
const Km="crypto.algorithm",Ym="crypto.algorithmProvider";var Jm;zg.registerSingleton(Ym,class{getAlgorithms(){return zg.resolveAll(Km)}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 jp({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 Xm="1.3.36.3.3.2.8.1.1",Zm=`${Xm}.1`,$m=`${Xm}.2`,tw=`${Xm}.3`,ew=`${Xm}.4`,rw=`${Xm}.5`,iw=`${Xm}.6`,nw=`${Xm}.7`,sw=`${Xm}.8`,ow=`${Xm}.9`,aw=`${Xm}.10`,cw=`${Xm}.11`,lw=`${Xm}.12`,hw=`${Xm}.13`,uw=`${Xm}.14`,pw="brainpoolP160r1",dw="brainpoolP160t1",fw="brainpoolP192r1",gw="brainpoolP192t1",mw="brainpoolP224r1",ww="brainpoolP224t1",yw="brainpoolP256r1",bw="brainpoolP256t1",Aw="brainpoolP320r1",_w="brainpoolP320t1",vw="brainpoolP384r1",Ew="brainpoolP384t1",Sw="brainpoolP512r1",Tw="brainpoolP512t1",xw="ECDSA";let Cw=Jm=class{toAsnAlgorithm(t){if(t.name.toLowerCase()===xw.toLowerCase())if("hash"in t)switch(("string"==typeof t.hash?t.hash:t.hash.name).toLowerCase()){case"sha-1":return Uf;case"sha-256":return Mf;case"sha-384":return Ff;case"sha-512":return Hf}else if("namedCurve"in t){let e="";switch(t.namedCurve){case"P-256":e=Bf;break;case"K-256":e=Jm.SECP256K1;break;case"P-384":e=Pf;break;case"P-521":e=Lf;break;case pw:e=Zm;break;case dw:e=$m;break;case fw:e=tw;break;case gw:e=ew;break;case mw:e=rw;break;case ww:e=iw;break;case yw:e=nw;break;case bw:e=sw;break;case Aw:e=ow;break;case _w:e=aw;break;case vw:e=cw;break;case Ew:e=lw;break;case Sw:e=hw;break;case Tw:e=uw}if(e)return new jp({algorithm:Cf,parameters:ou.serialize(new Wf({namedCurve:e}))})}return null}toWebAlgorithm(t){switch(t.algorithm){case If:return{name:xw,hash:{name:"SHA-1"}};case kf:return{name:xw,hash:{name:"SHA-256"}};case Nf:return{name:xw,hash:{name:"SHA-384"}};case Of:return{name:xw,hash:{name:"SHA-512"}};case Cf:if(!t.parameters)throw new TypeError("Cannot get required parameters from EC algorithm");switch(ou.parse(t.parameters,Wf).namedCurve){case Bf:return{name:xw,namedCurve:"P-256"};case Jm.SECP256K1:return{name:xw,namedCurve:"K-256"};case Pf:return{name:xw,namedCurve:"P-384"};case Lf:return{name:xw,namedCurve:"P-521"};case Zm:return{name:xw,namedCurve:pw};case $m:return{name:xw,namedCurve:dw};case tw:return{name:xw,namedCurve:fw};case ew:return{name:xw,namedCurve:gw};case rw:return{name:xw,namedCurve:mw};case iw:return{name:xw,namedCurve:ww};case nw:return{name:xw,namedCurve:yw};case sw:return{name:xw,namedCurve:bw};case ow:return{name:xw,namedCurve:Aw};case aw:return{name:xw,namedCurve:_w};case cw:return{name:xw,namedCurve:vw};case lw:return{name:xw,namedCurve:Ew};case hw:return{name:xw,namedCurve:Sw};case uw:return{name:xw,namedCurve:Tw}}}return null}};Cw.SECP256K1="1.3.132.0.10",Cw=Jm=vg([qg()],Cw),zg.registerSingleton(Km,Cw);const Iw=Symbol("name"),Rw=Symbol("value");class kw{constructor(t,e={},r=""){this[Iw]=t,this[Rw]=r;for(const t in e)this[t]=e[t]}}kw.NAME=Iw,kw.VALUE=Rw;class Nw{static toString(t){return this.items[t]||t}}Nw.items={[ng]:"sha1",[sg]:"sha224",[og]:"sha256",[ag]:"sha384",[cg]:"sha512",[zf]:"rsaEncryption",[Xf]:"sha1WithRSAEncryption",[Zf]:"sha224WithRSAEncryption",[$f]:"sha256WithRSAEncryption",[tg]:"sha384WithRSAEncryption",[eg]:"sha512WithRSAEncryption",[Cf]:"ecPublicKey",[If]:"ecdsaWithSHA1",[Rf]:"ecdsaWithSHA224",[kf]:"ecdsaWithSHA256",[Nf]:"ecdsaWithSHA384",[Of]:"ecdsaWithSHA512",[ap]:"TLS WWW server authentication",[cp]:"TLS WWW client authentication",[lp]:"Code Signing",[hp]:"E-mail Protection",[up]:"Time Stamping",[pp]:"OCSP Signing","1.2.840.113549.1.7.2":"Signed Data"};class Ow{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[kw.VALUE];s&&(n=` ${s}`),r.push(`${i}${t[kw.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[kw.NAME]=n,r.push(...this.serializeObj(t,e));else if(s instanceof kw)s[kw.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[kw.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)}}Ow.oidSerializer=Nw,Ow.algorithmSerializer=class{static toTextObject(t){const e=new kw("Algorithm Identifier",{},Nw.toString(t.algorithm));if(t.parameters)switch(t.algorithm){case Cf:{const r=(new Cw).toWebAlgorithm(t);r&&"namedCurve"in r?e["Named Curve"]=r.namedCurve:e.Parameters=t.parameters;break}default:e.Parameters=t.parameters}return e}};class Bw{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 Bw&&(0,oc.Xy)(t.rawData,this.rawData)}toString(t="text"){switch(t){case"asn":return ou.toString(this.rawData);case"text":return Ow.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 kw(this.getTextName(),{},t)}}Bw.NAME="ASN";class Pw extends Bw{constructor(...t){let e;e=oc.vJ.isBufferSource(t[0])?oc.vJ.toArrayBuffer(t[0]):ou.serialize(new Qp({extnID:t[0],critical:t[1],extnValue:new Eh(oc.vJ.toArrayBuffer(t[2]))})),super(e,Qp)}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[kw.NAME]===Pw.NAME&&(t[kw.NAME]=Nw.toString(this.type)),t}}var Lw;class Dw{constructor(){this.items=new Map,this[Lw]="CryptoProvider","undefined"!=typeof self&&"undefined"!=typeof crypto&&this.set(Dw.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=Dw.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(Dw.DEFAULT,t);return this}}Lw=Symbol.toStringTag,Dw.DEFAULT="default";const Uw=new Dw,Mw=/^[0-2](?:\.[1-9][0-9]*)+$/;class Fw{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(Mw).test(e)?t:this.get(t);var e}register(t,e){this.items[t]=e,this.items[e]=t}}const Hw=new Fw;function Ww(t,e){return`\\${oc.ep.ToHex(oc.ep.FromUtf8String(e)).toUpperCase()}`}Hw.register("CN","2.5.4.3"),Hw.register("L","2.5.4.7"),Hw.register("ST","2.5.4.8"),Hw.register("O","2.5.4.10"),Hw.register("OU","2.5.4.11"),Hw.register("C","2.5.4.6"),Hw.register("DC","0.9.2342.19200300.100.1.25"),Hw.register("E","1.2.840.113549.1.9.1"),Hw.register("G","2.5.4.42"),Hw.register("I","2.5.4.43"),Hw.register("SN","2.5.4.4"),Hw.register("T","2.5.4.12");class jw{constructor(t,e={}){this.extraNames=new Fw,this.asn=new yu;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 yu?this.asn=t:oc.vJ.isBufferSource(t)?this.asn=ou.parse(t,yu):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)||Hw.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)||Hw.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])/,Ww)}(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 yu,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 gu({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:jw.isASCII(r)?a.value.printableString=r:a.value.utf8String=r}"+"===n?e[e.length-1].push(a):e.push(new mu([a])),n=o}return e}fromJSON(t){const e=new yu;for(const r of t){const t=new mu;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 gu({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]||Uw.get()):r=t[0]||Uw.get(),await r.subtle.digest(i,this.toArrayBuffer())}}const Vw="Cannot initialize GeneralName from ASN.1 data.",Gw=`${Vw} Unsupported string format in use.`,zw=`${Vw} Value doesn't match to GUID regular expression.`,qw=/^([0-9a-f]{8})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{4})-?([0-9a-f]{12})$/i,Qw="1.3.6.1.4.1.311.25.1",Kw="1.3.6.1.4.1.311.20.2.3",Yw="dns",Jw="dn",Xw="email",Zw="ip",$w="url",ty="guid",ey="upn",ry="id";class iy extends Bw{constructor(...t){let e;if(2===t.length)switch(t[0]){case Jw:{const r=new jw(t[1]).toArrayBuffer(),i=ou.parse(r,yu);e=new vu({directoryName:i});break}case Yw:e=new vu({dNSName:t[1]});break;case Xw:e=new vu({rfc822Name:t[1]});break;case ty:{const r=new RegExp(qw,"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 vu({otherName:new Au({typeId:Qw,value:ou.serialize(new Eh(oc.ep.FromHex(i)))})});break}case Zw:e=new vu({iPAddress:t[1]});break;case ry:e=new vu({registeredID:t[1]});break;case ey:e=new vu({otherName:new Au({typeId:Kw,value:ou.serialize(Ph.toASN(t[1]))})});break;case $w:e=new vu({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],vu):t[0];super(e)}onInit(t){if(null!=t.dNSName)this.type=Yw,this.value=t.dNSName;else if(null!=t.rfc822Name)this.type=Xw,this.value=t.rfc822Name;else if(null!=t.iPAddress)this.type=Zw,this.value=t.iPAddress;else if(null!=t.uniformResourceIdentifier)this.type=$w,this.value=t.uniformResourceIdentifier;else if(null!=t.registeredID)this.type=ry,this.value=t.registeredID;else if(null!=t.directoryName)this.type=Jw,this.value=new jw(t.directoryName).toString();else{if(null==t.otherName)throw new Error(Gw);if(t.otherName.typeId===Qw){this.type=ty;const e=ou.parse(t.otherName.value,Eh),r=new RegExp(qw,"i").exec(oc.ep.ToHex(e));if(!r)throw new Error(zw);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!==Kw)throw new Error(Gw);this.type=ey,this.value=ou.parse(t.otherName.value,du).toString()}}}toJSON(){return{type:this.type,value:this.value}}toTextObject(){let t;switch(this.type){case Jw:case Yw:case ty:case Zw:case ry:case ey:case $w:t=this.type.toUpperCase();break;case Xw:t="Email";break;default:throw new Error("Unsupported GeneralName type")}let e=this.value;return this.type===ry&&(e=Nw.toString(e)),new kw(t,void 0,e)}}class ny extends Bw{constructor(t){let e;if(t instanceof Bu)e=t;else if(Array.isArray(t)){const r=[];for(const e of t)if(e instanceof vu)r.push(e);else{const t=ou.parse(new iy(e.type,e.value).rawData,vu);r.push(t)}e=new Bu(r)}else{if(!oc.vJ.isBufferSource(t))throw new Error("Cannot initialize GeneralNames. Incorrect incoming arguments");e=ou.parse(t,Bu)}super(e)}onInit(t){const e=[];for(const r of t){let t=null;try{t=new iy(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[kw.NAME]];Array.isArray(i)||(i=[],t[r[kw.NAME]]=i),i.push(r)}return t}}ny.NAME="GeneralNames";const sy="-{5}BEGIN ([^\\n]+(?=-{5}))-{5}\\n(?:((?:[^:\\n]+: (?:[^\\n]+\\n(?: +[^\\n]+\\n)*))+))?\\n?((?:[a-zA-Z0-9=+/]+\\n)+)-{5}END \\1-{5}";class oy{static isPem(t){return"string"==typeof t&&new RegExp(sy,"g").test(t)}static decodeWithHeaders(t){t=t.replace(/\r/g,"");const e=new RegExp(sy,"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")}}oy.CertificateTag="CERTIFICATE",oy.CrlTag="CRL",oy.CertificateRequestTag="CERTIFICATE REQUEST",oy.PublicKeyTag="PUBLIC KEY",oy.PrivateKeyTag="PRIVATE KEY";class ay extends Bw{static isAsnEncoded(t){return oc.vJ.isBufferSource(t)||"string"==typeof t}static toArrayBuffer(t){if("string"==typeof t){if(oy.isPem(t))return oy.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 oy.isPem(e)?oy.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){ay.isAsnEncoded(t[0])?super(ay.toArrayBuffer(t[0]),t[1]):super(t[0])}toString(t="pem"){return"pem"===t?oy.encode(this.rawData,this.tag):super.toString(t)}}class cy extends ay{constructor(t){ay.isAsnEncoded(t)?super(t,Vp):super(t),this.tag=oy.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]||Uw.get()):e=t[0]||Uw.get(),e.subtle.importKey("spki",this.rawData,i,!0,r)}onInit(t){const e=zg.resolve(Ym),r=this.algorithm=e.toWebAlgorithm(t.algorithm);switch(t.algorithm.algorithm){case zf:{const e=ou.parse(t.subjectPublicKey,_g),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]||Uw.get()):r=t[0]||Uw.get(),await r.subtle.digest(i,this.rawData)}async getKeyIdentifier(t){t||(t=Uw.get());const e=ou.parse(this.rawData,Vp);return await t.subtle.digest("SHA-1",e.subjectPublicKey)}toTextObject(){const t=this.toTextObjectEmpty(),e=ou.parse(this.rawData,Vp);return t.Algorithm=Ow.serializeAlgorithm(e.algorithm),e.algorithm.algorithm===Cf?t["EC Point"]=e.subjectPublicKey:t["Raw Data"]=e.subjectPublicKey,t}}class ly{static register(t,e){this.items.set(t,e)}static create(t){const e=new Pw(t),r=this.items.get(e.type);return r?new r(t):e}}ly.items=new Map;const hy="crypto.signatureFormatter";class uy extends ay{constructor(t){ay.isAsnEncoded(t)?super(t,Zp):super(t),this.tag=oy.CertificateTag}onInit(t){const e=t.tbsCertificate;this.tbs=ou.serialize(e),this.serialNumber=oc.ep.ToHex(e.serialNumber),this.subjectName=new jw(e.subject),this.subject=new jw(e.subject).toString(),this.issuerName=new jw(e.issuer),this.issuer=this.issuerName.toString();const r=zg.resolve(Ym);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=>ly.create(ou.serialize(t))))),this.publicKey=new cy(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=Uw.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 cy)r={...n.algorithm,...this.signatureAlgorithm},i=await n.export(r,["verify"]);else if(oc.vJ.isBufferSource(n)){const t=new cy(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=zg.resolveAll(hy).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=Uw.get()),await e.subtle.digest(r,this.rawData)}async isSelfSigned(t=Uw.get()){return this.subject===this.issuer&&await this.verify({signatureOnly:!0},t)}toTextObject(){const t=this.toTextObjectEmpty(),e=ou.parse(this.rawData,Zp),r=e.tbsCertificate,i=new kw("",{Version:`${Yp[r.version]} (${r.version})`,"Serial Number":r.serialNumber,"Signature Algorithm":Ow.serializeAlgorithm(r.signature),Issuer:this.issuer,Validity:new kw("",{"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 kw("");for(const e of this.extensions){const r=e.toTextObject();t[r[kw.NAME]]=r}i.Extensions=t}return t.Data=i,t.Signature=new kw("",{Algorithm:Ow.serializeAlgorithm(e.signatureAlgorithm),"":e.signatureValue}),t}}uy.NAME="Certificate";class py extends Pw{constructor(...t){if(oc.vJ.isBufferSource(t[0]))super(t[0]);else if("string"==typeof t[0]){const e=new Ru({keyIdentifier:new Iu(oc.ep.FromHex(t[0]))});super(Cu,t[1],ou.serialize(e))}else{const e=t[0],r=e.name instanceof ny?ou.parse(e.name.rawData,Bu):e.name,i=new Ru({authorityCertIssuer:r,authorityCertSerialNumber:oc.ep.FromHex(e.serialNumber)});super(Cu,t[1],ou.serialize(i))}}static async create(t,e=!1,r=Uw.get()){if(t instanceof uy||Dw.isCryptoKey(t)){const i=t instanceof uy?await t.publicKey.export(r):t,n=await r.subtle.exportKey("spki",i),s=new cy(n),o=await s.getKeyIdentifier(r);return new py(oc.ep.ToHex(o),e)}return new py(t,e)}onInit(t){super.onInit(t);const e=ou.parse(t.extnValue,Ru);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,Ru);return e.authorityCertIssuer&&(t["Authority Issuer"]=new ny(e.authorityCertIssuer).toTextObject()),e.authorityCertSerialNumber&&(t["Authority Serial Number"]=e.authorityCertSerialNumber),e.keyIdentifier&&(t[""]=e.keyIdentifier),t}}py.NAME="Authority Key Identifier";class dy extends Pw{constructor(...t){if(oc.vJ.isBufferSource(t[0])){super(t[0]);const e=ou.parse(this.value,Nu);this.ca=e.cA,this.pathLength=e.pathLenConstraint}else{const e=new Nu({cA:t[0],pathLenConstraint:t[1]});super(ku,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 fy,gy;dy.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"}(fy||(fy={}));class my extends Pw{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(sp,t[1],ou.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[""]=this.usages.map((t=>Nw.toString(t))).join(", "),t}}my.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"}(gy||(gy={}));class wy extends Pw{constructor(...t){if(oc.vJ.isBufferSource(t[0])){super(t[0]);const e=ou.parse(this.value,Ap);this.usages=e.toNumber()}else{const e=new Ap(t[0]);super(wp,t[1],ou.serialize(e)),this.usages=t[0]}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=ou.parse(this.value,Ap);return t[""]=e.toJSON().join(", "),t}}wy.NAME="Key Usages";class yy extends Pw{constructor(...t){if(oc.vJ.isBufferSource(t[0])){super(t[0]);const e=ou.parse(this.value,Lp);this.keyId=oc.ep.ToHex(e)}else{const e="string"==typeof t[0]?oc.ep.FromHex(t[0]):t[0],r=new Lp(e);super(Pp,t[1],ou.serialize(r)),this.keyId=oc.ep.ToHex(e)}}static async create(t,e=!1,r=Uw.get()){let i;i=t instanceof cy?t.rawData:"publicKey"in t?t.publicKey.rawData:oc.vJ.isBufferSource(t)?t:await r.subtle.exportKey("spki",t);const n=new cy(i),s=await n.getKeyIdentifier(r);return new yy(oc.ep.ToHex(s),e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=ou.parse(this.value,Lp);return t[""]=e,t}}yy.NAME="Subject Key Identifier";class by extends Pw{constructor(...t){oc.vJ.isBufferSource(t[0])?super(t[0]):super(Rp,t[1],new ny(t[0]||[]).rawData)}onInit(t){super.onInit(t);const e=ou.parse(t.extnValue,kp);this.names=new ny(e)}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.names.toTextObject();for(const r in e)t[r]=e[r];return t}}by.NAME="Subject Alternative Name";class Ay extends Pw{constructor(...t){var e;if(oc.vJ.isBufferSource(t[0])){super(t[0]);const e=ou.parse(this.value,Gu);this.policies=e.map((t=>t.policyIdentifier))}else{const r=t[0],i=null!==(e=t[1])&&void 0!==e&&e,n=new Gu(r.map((t=>new Vu({policyIdentifier:t}))));super(Uu,i,ou.serialize(n)),this.policies=r}}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Policy=this.policies.map((t=>new kw("",{},Nw.toString(t)))),t}}Ay.NAME="Certificate Policies",ly.register(Uu,Ay);class _y extends Bw{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 Np({type:r,values:i}))}super(e,Np)}onInit(t){this.type=t.type,this.values=t.values}toTextObject(){const t=this.toTextObjectWithoutValue();return t.Value=this.values.map((t=>new kw("",{"":t}))),t}toTextObjectWithoutValue(){const t=this.toTextObjectEmpty();return t[kw.NAME]===_y.NAME&&(t[kw.NAME]=Nw.toString(this.type)),t}}_y.NAME="Attribute";class vy extends _y{constructor(...t){var e;if(oc.vJ.isBufferSource(t[0]))super(t[0]);else{const e=new Mm({printableString:t[0]});super(bm,[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],Mm);this.password=t.toString()}}toTextObject(){const t=this.toTextObjectWithoutValue();return t[kw.VALUE]=this.password,t}}vy.NAME="Challenge Password";class Ey extends _y{constructor(...t){var e;if(oc.vJ.isBufferSource(t[0]))super(t[0]);else{const e=t[0],r=new Kp;for(const t of e)r.push(ou.parse(t.rawData,Qp));super(Am,[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],Kp);this.items=t.map((t=>ly.create(ou.serialize(t))))}}toTextObject(){const t=this.toTextObjectWithoutValue(),e=this.items.map((t=>t.toTextObject()));for(const r of e)t[r[kw.NAME]]=r;return t}}Ey.NAME="Extensions";class Sy{static register(t,e){this.items.set(t,e)}static create(t){const e=new _y(t),r=this.items.get(e.type);return r?new r(t):e}}Sy.items=new Map;let Ty=class{toAsnAlgorithm(t){if("rsassa-pkcs1-v1_5"===t.name.toLowerCase()){if(!t.hash)return new jp({algorithm:zf,parameters:null});switch(t.hash.name.toLowerCase()){case"sha-1":return new jp({algorithm:Xf,parameters:null});case"sha-256":return new jp({algorithm:$f,parameters:null});case"sha-384":return new jp({algorithm:tg,parameters:null});case"sha-512":return new jp({algorithm:eg,parameters:null})}}return null}toWebAlgorithm(t){switch(t.algorithm){case zf:return{name:"RSASSA-PKCS1-v1_5"};case Xf:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-1"}};case $f:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-256"}};case tg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-384"}};case eg:return{name:"RSASSA-PKCS1-v1_5",hash:{name:"SHA-512"}}}return null}};Ty=vg([qg()],Ty),zg.registerSingleton(Km,Ty);class xy{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=xy.namedCurveSize.get(r)||xy.defaultNamedCurveSize,n=new Vf,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,Vf),i=t.namedCurve,n=xy.namedCurveSize.get(i)||xy.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}}xy.namedCurveSize=new Map,xy.defaultNamedCurveSize=32;const Cy="1.3.101.110",Iy="1.3.101.111",Ry="1.3.101.112",ky="1.3.101.113";let Ny=class{toAsnAlgorithm(t){let e=null;switch(t.name.toLowerCase()){case"eddsa":switch(t.namedCurve.toLowerCase()){case"ed25519":e=Ry;break;case"ed448":e=ky}break;case"ecdh-es":switch(t.namedCurve.toLowerCase()){case"x25519":e=Cy;break;case"x448":e=Iy}}return e?new jp({algorithm:e}):null}toWebAlgorithm(t){switch(t.algorithm){case Ry:return{name:"EdDSA",namedCurve:"Ed25519"};case ky:return{name:"EdDSA",namedCurve:"Ed448"};case Cy:return{name:"ECDH-ES",namedCurve:"X25519"};case Iy:return{name:"ECDH-ES",namedCurve:"X448"}}return null}};Ny=vg([qg()],Ny),zg.registerSingleton(Km,Ny);var Oy;(class extends ay{constructor(t){ay.isAsnEncoded(t)?super(t,Qm):super(t),this.tag=oy.CertificateRequestTag}onInit(t){this.tbs=ou.serialize(t.certificationRequestInfo),this.publicKey=new cy(t.certificationRequestInfo.subjectPKInfo);const e=zg.resolve(Ym);this.signatureAlgorithm=e.toWebAlgorithm(t.signatureAlgorithm),this.signature=t.signature,this.attributes=t.certificationRequestInfo.attributes.map((t=>Sy.create(ou.serialize(t))));const r=this.getAttribute(Am);this.extensions=[],r instanceof Ey&&(this.extensions=r.items),this.subjectName=new jw(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=Uw.get()){const e={...this.publicKey.algorithm,...this.signatureAlgorithm},r=await this.publicKey.export(e,["verify"],t),i=zg.resolveAll(hy).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,Qm),r=e.certificationRequestInfo,i=new kw("",{Version:`${Yp[r.version]} (${r.version})`,Subject:this.subject,"Subject Public Key Info":this.publicKey});if(this.attributes.length){const t=new kw("");for(const e of this.attributes){const r=e.toTextObject();t[r[kw.NAME]]=r}i.Attributes=t}return t.Data=i,t.Signature=new kw("",{Algorithm:Ow.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"}(Oy||(Oy={})),ly.register(ku,dy),ly.register(sp,my),ly.register(wp,wy),ly.register(Pp,yy),ly.register(Cu,py),ly.register(Rp,by),Sy.register(bm,vy),Sy.register(Am,Ey),zg.registerSingleton(hy,class{toAsnSignature(t,e){return oc.vJ.toArrayBuffer(e)}toWebSignature(t,e){return oc.vJ.toArrayBuffer(e)}}),zg.registerSingleton(hy,xy),xy.namedCurveSize.set("P-256",32),xy.namedCurveSize.set("K-256",32),xy.namedCurveSize.set("P-384",48),xy.namedCurveSize.set("P-521",66);const By=/-{5}(BEGIN|END) .*-{5}/gm;const Py="pages/pages.jsonl",Ly="pages/extraPages.jsonl",Dy="datapackage.json",Uy="datapackage-digest.json",My="webarchive.yaml";class Fy{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(Uy)&&(e=await this.loadDigestData(Uy)),this.file.containsFile(Dy)?t=await this.loadPackage(Dy,e):this.file.containsFile(My)&&(t=await this.loadOldPackageYAML(My)),t||{}}async loadTextFileFromWACZ(t,e=!1){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{computeHash:!!e}),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===Dy&&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=[];if(e=(0,sc.toByteArray)(e),n&&i&&!r){const t=n.split("\n\n"),i=(0,sc.toByteArray)(t[0].replace(By,"").replace(/\s/gm,"")),s=h(await crypto.subtle.digest("SHA-256",i));c.push({id:"certFingerprint",expected:s,matched:null});const o=new uy(i);r=await o.publicKey.export();const l=(0,sc.fromByteArray)(new Uint8Array(o.publicKey.rawData));c.push({id:"publicKey",expected:l,matched:null}),o.subject&&o.subject.startsWith("CN=")&&(a=o.subject.split(3)),e=function(t){try{const e=iu.parse(t,Vf),r=0===e.r[0]?e.r.slice(1):e.r,i=0===e.s[0]?e.s.slice(1):e.s;t=nt([r,i],r.length+i.length)}catch(t){console.log(t)}return t}(e)}else{const t={name:"ECDSA",namedCurve:"P-384"};c.push({id:"publicKey",expected:r,matched:null}),r=await crypto.subtle.importKey("spki",(0,sc.toByteArray)(r),t,!0,["verify"])}const l=new TextEncoder,u=await crypto.subtle.verify({name:"ECDSA",hash:"SHA-256"},r,e,l.encode(t));return c.push({id:"signature",expected:!0,matched:u}),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),t}async loadLeafWACZPackage(t){const e=t.metadata||{};let r=null;for(const e of t.resources)e.path===Py?(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(Py)&&(await this.loadPages(Py,r)).hasText&&(this.store.textIndex=e.textIndex=Py),this.file.containsFile(Ly)&&(this.store.textIndex=e.textIndex=Ly),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&&n.length&&await this.store.addPages(n);const s=r.pageLists||[];return s&&s.length&&await this.store.addCuratedPageLists(s,"pages","show"),i}async loadPages(t=Py,e=null){const{reader:r,hasher:i}=await this.loadFileFromWACZ(t,{unzip:!0,computeHash:!0});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 Hy{constructor(t,e,r=null){this.loader=t,this.loadId=r,this.loadUrl=e.loadUrl}async load(t){t.fullConfig&&this.loader.arrayBuffer&&this.loader.arrayBuffer.byteLength<=n&&(t.fullConfig.extra||(t.fullConfig.extra={}),t.fullConfig.extra.arrayBuffer=this.loader.arrayBuffer);const e=this.loadUrl,r=this.loader;return await t.addNewWACZ({name:"default",path:e,loader:r})}}class Wy{constructor(t,e,r=null){this.config=e,this.loadId=r,this.loader=t}async load(t,e=null,r=0){const i=new ao({loader:this.loader});await i.init();const n=i.zipreader,s=new Fy(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}),o=new Xn(s,null,r);return o.detectPages=!1,await o.load(t,i,n)}}class jy{constructor(t){this.response=t}async load(t){return await t.loadFromJSON(this.response)}}class Vy{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.cloneResponse=e,this.allowBody=r||this.isLive,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+"id_/"+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;!this.allowBody||"POST"!==t.method&&"PUT"!==t.method||(o=await t.getBody());const a=await fetch(s,{method:t.method,body:o,headers:r,credentials:i,mode:"cors",redirect:"follow"});let c=null;this.cloneResponse&&(c=a.clone());const l=Nt.fromResponse({url:n,response:a,date:new Date,noRW:!1,isLive:this.isLive,archivePrefix:this.archivePrefix});return c&&(l.clonedResponse=c),l}}const Gy=/^([\w-]+,)*[\w-]+(:\d+)?,?\)\//;class zy extends zs{constructor(t,e,r="wacz"){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&&t.metadata&&t.metadata.textIndex||Ly,t.extraConfig&&this.initConfig(t.extraConfig)}initConfig(t){if(void 0!==t.decodeResponses&&(this.config.decode=t.decodeResponses),t.hostProxy&&(this.externalSource=new Vy(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)}_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.computeHash(n),a=new ao({waczname:n,hash:o,url:n,entries:i,indexType:s});e.objectStore("waczfiles").put(a.serialize()),await e.done}catch(t){console.warn(t)}}addWACZFile(t){return this.waczfiles[t.waczname]=new ao(t),this.waczNameForHash[t.hash]=t.waczname,this.waczfiles[t.waczname]}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)}await this.checkUpdates()}async close(){super.close(),caches.delete("cache:"+this.name.slice("db:".length))}async clearZipData(){const t=["waczfiles","ziplines"];for(const e of t)await this.db.clear(e)}async addVerifyData(t="",e,r,i,n=!1){let s=null;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,i={};const 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){const e=await this.db.get("verification",t);return e&&e.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 Zn(a,c);await this.waczfiles[o].save(this.db);const h=await l.load();return t[Zs]&&(h.respHeaders["x-wabac-preset-cookie"]=t[Zs]),{remote:h,hasher:c}}async loadIndex(t){if(!this.waczfiles[t])throw new Error("unknown waczfile: "+t);if(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});let o=[],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){let[r,i,s,o]=t.split("\t");s=Number(s),o=Number(o),n={waczname:e,prefix:r,filename:i,offset:s,length: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&&!Gy.test(i),l=l||a,n={waczname:e,prefix:i,filename:l,offset:s,length:o,digest:h,loaded:!1}}r&&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:$(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 h=[];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(l(i).getTime()-r),o=Math.abs(l(n).getTime()-r);return s===o?0:s<o?-1:1}));let u=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),h.push(i),++u>3)break}return h.length&&await Promise.allSettled(h),await this.waczfiles[t].save(this.db),h.length>0}async doCDXLoad(t,e,r){try{const i="indexes/"+e.filename,n={offset:e.offset,length:e.length,unzip:!0,computeHash:!!e.digest},{reader:s,hasher:o}=await this.loadFileFromNamedWACZ(r,i,n),a=new to(s,null,null,{wacz:r});if(await a.load(this),o){const t=o.getHash(),n=`${i}:${e.offset}-${e.length}`;await this.addVerifyData(r,n,e.digest,t)}e.loaded=!0,await this.db.put("ziplines",e)}catch(t){await A(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{let i=await super.lookupUrl(t,e,r);if(i&&(!r.noRevisits||"warc/revisit"!==i.mime))return i;const{waczname:n}=r;return n&&"local"!==n&&(i=await this.lookupUrlForWACZ(n,t,e,r)),i}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){try{return await t.loadFile(e,r)}catch(i){if(await this.retryLoad(i))return await t.loadFile(e,r);throw i}}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 addNewWACZ({name:t,hash:e,path:r,parent:i=null,loader:n=null}={}){const s=t||r;e?e.indexOf(":")>0&&(e=e.split(":")[1]):e=await u(s,"sha-256","");const o=this.addWACZFile({waczname:s,hash:e,path:r,parent:i,loader:n},!0);await o.init(),await o.save(this.db,!0);const a=new Fy(this,o,!i);return await a.load()}async loadWACZFiles(t,e=this){const r=[],i=async(t,e)=>{await this.waczfiles[t].init(e),await this.waczfiles[t].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}}));for(const{name:t,hash:s,path:o}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}));r.length&&await Promise.allSettled(r)}async getTextIndex(){const t={"Content-Type":"application/ndjson"},e=Object.keys(this.waczfiles);if(!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;if(!n)return new Response("",{headers:t});const 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}={}){if(await this.initing,this.externalSource){const i=await this.externalSource.getResource(t,e,r);if(i)return i}let n=i,s=null,o=null;if(n){if(s=this.waczNameForHash[n],!s)return null;if(o=await super.getResource(t,e,r,{waczname:s}),o)return o}let a=null;for(const[i,c]of Object.entries(this.waczfiles))if("wacz"===c.fileType&&c.hash!==n&&(o=await super.getResource(t,e,r,{waczname:i,noFuzzyCheck:!0}),o)){s=i,a=c.hash;break}if(s)return Response.redirect(`${e}:${a}/${t.timestamp}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){return"json"===this.rootSourceType&&(t instanceof T?(this.updating||(this.updating=this.checkUpdates()),await this.updating,this.updating=null,!0):await A(t,this.config))}async checkUpdates(){"json"===this.rootSourceType&&await this.loadFromJSON()}async loadFromJSON(t=null){if(t||(t=(await this.sourceLoader.doInitialFetch(!1)).response),206!==t.status&&200!==t.status)return console.warn("WACZ update failed from: "+this.config.loadUrl),{};const e=await t.json();return 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 Ds(t)}}class qy{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 Gn.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");n={Range:t}}let h=null,u=null;return l&&(u=await fetch(this.sourceUrl+"A/"+s,{headers:n}),u.body&&(h=new lt(u.body.getReader(),!1)),206===u.status&&(a=206,c="Partial Content",i.set("Content-Length",u.headers.get("Content-Length")),i.set("Content-Range",u.headers.get("Content-Range")),i.set("Accept-Ranges","bytes"))),h||(h=new Uint8Array([])),o||(o=new Date),i||(i=new Headers),new Nt({payload:h,status:a,statusText:c,headers:i,url:r,date:o,noRW:!1,isLive:!1})}}async resolveHeaders(t){const e=t.slice(t.indexOf("//")+2);let r=encodeURI(e);r=encodeURIComponent(e);let i=await fetch(this.sourceUrl+"H/"+r);if(200!==i.status)return null;let n=null,s=null,o=null,a=null,c=!1;try{const e=await Et.parse(i.body);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 Qy=Jy([80,75,3,4]),Ky=Jy([31,139,8]),Yy=Jy([87,65,82,67]);function Jy(t){return e=>{for(const[r,i]of t.entries())if(i!==e[r])return!1;return!0}}globalThis.self||(globalThis.self=globalThis),self.interruptLoads={};class Xy extends class{constructor(){this.colldb=null,this.root=null,this.checkIpfs=!0,this._init_db=this._initDB()}async _initDB(){this.colldb=await xn("collDB",1,{upgrade:t=>{t.createObjectStore("colls",{keyPath:"name"}).createIndex("type","type")}})}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},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()).map((t=>this._initColl(t)));await Promise.all(t)}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 Cn(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 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=f(),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){const e=await this._initStore(t.type,t.config),r=t.name,i=t.config;return t.config.root&&!this.root&&(this.root=r),this._createCollection({name:r,store:e,config:i})}async _initStore(t,e){let r=null,i=null;switch(t){case"archive":i=new Qn(e.dbname);break;case"remotesource":r=await Ds({url:e.loadUrl,headers:e.headers,size:e.size,extra:e.extra}),i=new qs(e.dbname,r,e.noCache);break;case"remoteprefix":i=new Qs(e.dbname,e.remotePrefix,e.headers,e.noCache);break;case"wacz":case"remotezip":case"multiwacz":r=await Ds({url:e.loadUrl||e.sourceUrl,headers:e.headers,extra:e.extra}),i=new zy(e,r,"multiwacz"===t?"json":"wacz");break;case"remotewarcproxy":i=new qy(e);break;case"live":i=new Vy(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 Cn("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 S)return console.warn(t),void i(0,"permission_needed",null,null,t.info&&t.info.fileHandle);if("ConstraintError"!==t.name)return console.warn(t),void i(0,"An unexpected error occured: "+t.toString());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=>self.interruptLoads[e]=t));await r,await this.deleteColl(e),delete self.interruptLoads[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=null,s={root:t.root||!1},o=null,a=null;const c=t.file;if(!c||!c.sourceUrl)return e(0,"Invalid Load Request"),!1;if(s.dbname="db:"+r,c.sourceUrl.startsWith("proxy:"))s.sourceUrl=c.sourceUrl.slice("proxy:".length),s.extraConfig=t.extraConfig,s.extraConfig.prefix||(s.extraConfig.prefix=s.sourceUrl),s.topTemplateUrl=t.topTemplateUrl,s.metadata={},i=t.type||s.extraConfig.type||"remotewarcproxy",o=await this._initStore(i,s);else{let l=null;if(c.newFullImport&&(r=f(),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 void e(0,"Invalid Existing Collection: "+c.importCollId);s.dbname=t.config.dbname,a=t.config,a.decode=!0}let h=c.loadUrl||c.sourceUrl;h.match(/[\w]+:\/\//)||(h=new URL(h,self.location.href).href),s.decode=!0,s.onDemand=!1,s.loadUrl=h,s.sourceUrl=c.sourceUrl,s.sourceName=c.name||c.sourceUrl;try{if(s.sourceName.match(/https?:\/\//)){const t=new URL(s.sourceName);s.sourceName=t.pathname+t.hash}}catch(t){}if(s.sourceName=s.sourceName.slice(s.sourceName.lastIndexOf("/")+1),s.size="number"==typeof c.size?c.size:null,s.extra=c.extra,s.loadUrl.startsWith("file://")&&!c.blob&&!s.extra){if(!this._fileHandles||!this._fileHandles[s.sourceUrl])return void e(0,"missing_local_file");s.extra={fileHandle:this._fileHandles[s.sourceUrl]}}s.extraConfig=t.extraConfig,s.headers=c.headers||s.extraConfig&&s.extraConfig.headers,s.noCache=c.noCache;let u=await Ds({url:h,headers:s.headers,size:c.size,extra:s.extra,blob:c.blob});if(c.loadEager){const{response:t}=await u.doInitialFetch(!1,!0),e={arrayBuffer:new Uint8Array(await t.arrayBuffer())};c.newFullImport=!0,u=await Ds({url:h,headers:s.headers,size:c.size,extra:e})}let p=function(t){const e=[".warc",".warc.gz",".cdx",".cdxj",".har",".json",".wacz",".zip"];for(const r of e)if(t.endsWith(r))return r;return""}(s.sourceName),{abort:d,response:g}=await u.doInitialFetch(".wacz"===p);p||(p=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=Qy(s)?".wacz":Yy(s)?".warc":Ky(s)?".warc.gz":void 0,r||(r=function(t){try{const e=(new TextDecoder).decode(t).split("\n");if(e>1&&e.indexOf(" {"))return".cdxj"}catch(t){return""}}(i))),n||e.cancel(),r}(await g.clone()));const m=g.body;if(s.onDemand=u.canLoadOnDemand&&!c.newFullImport,!u.isValid){const t=u.length<=1e3?await g.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: ${g.status} ${g.statusText}\nError Details:\n${t}`),d&&d.abort(),!1}if(!u.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."),d&&d.abort(),!1;const w=u.length;if(".wacz"===p)if(s.onDemand)l=new Hy(u,s,r),o=new zy(s,u,"wacz"),i="wacz";else{if(!u.canLoadOnDemand||!c.newFullImport)return e(0,"Sorry, can't load this WACZ file due to lack of range request support on the server"),d&&d.abort(),!1;l=new Wy(u,s,r),o=null,delete s.extra}else".warc"===p||".warc.gz"===p?s.noCache||!(w<n)&&s.onDemand?(l=new $s(m,d,r),i="remotesource",o=new qs(s.dbname,u,s.noCache)):l=new Xn(m,d,r):".cdx"===p||".cdxj"===p?(s.remotePrefix=t.remotePrefix||h.slice(0,h.lastIndexOf("/")+1),l=new to(m,d,r),i="remoteprefix",o=new Qs(s.dbname,s.remotePrefix,s.headers,s.noCache)):".har"===p?(l=new Xs(await g.json()),s.decode=!1):".json"===p&&(o=new zy(s,u,"json"),l=new jy(g),i="multiwacz");if(!l)return e(0,`The ${s.sourceName} is not a known archive format that could be loaded.`),d&&d.abort(),!1;o||(o=new Qn(s.dbname)),await o.initing;try{s.metadata=await l.load(o,e,w)}catch(t){return t instanceof x||(e(0,`Unexpected Loading Error: ${t.toString()}`),console.warn(t)),!1}if(a)return await this.updateSize(c.importCollId,w,w,a.decode),{config:a};s.metadata.size||(s.metadata.size=w),s.metadata.title||(s.metadata.title=s.sourceName)}s.ctime=(new Date).getTime(),this._fileHandles&&s.extra&&s.extra.fileHandle&&delete this._fileHandles[s.sourceUrl];const l={name:r,type:i,config:s};return await this.colldb.add("colls",l),l.store=o,l}}class Zy{constructor(){this.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=null;void 0===this.timeRanges[n]?(s={count:0,children:[]},this.timeRanges[n]=s,r.referrer.indexOf("mp_/")>0&&self.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(let i of r)if(i.url===e){this.timeRanges[i.id]?this.timeRanges[i.id].children[t]=1:this.timeRanges[i.id]={count:0,children:{id:1}};break}}async getStats(t){const e=new URL(t.request.url);let r=0;const i=new URLSearchParams(e.search).get("url"),n=await self.clients.matchAll({type:"window"}),s={};for(let 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]&&Object.keys(this.timeRanges[r].children)||[];for(let t of c){const e=this.timeRanges[t];e&&((!a.min||e.min<a.min)&&(a.min=e.min),(!a.max||e.max>a.max)&&(a.max=e.max),a.count+=e.count)}for(let t of Object.keys(this.timeRanges))s[t]||delete this.timeRanges[t];return new Response(JSON.stringify(a),{headers:{"Content-Type":"application/json"}})}}var $y=function(){return $y=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},$y.apply(this,arguments)},tb=function(t){return void 0===t&&(t={}),{arrayFormat:t.arrayFormat||"none",booleanFormat:t.booleanFormat||"none",nullFormat:t.nullFormat||"default"}},eb=function(t){return encodeURIComponent(t)},rb=function(t){return decodeURIComponent(t)},ib=function(t,e){var r=tb(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("✓"===rb(t))return!0;if("✗"===rb(t))return!1}return"string"===e.nullFormat&&"null"===t?null:rb(t)}(s,r);return t[c]=void 0===l?a?[h]:h:(Array.isArray(l)?l:[l]).concat(h),t}),{})},nb=/[^!$'()*+,;|:]/g,sb=function(t){return t.replace(nb,(function(t){return encodeURIComponent(t)}))},ob={default:sb,uri:encodeURI,uriComponent:encodeURIComponent,none:function(t){return t},legacy:encodeURI},ab={default:decodeURIComponent,uri:decodeURI,uriComponent:decodeURIComponent,none:function(t){return t},legacy:decodeURIComponent},cb=function(t,e,r){var i=ob[e]||sb;return r?String(t).split("/").map(i).join("/"):i(String(t))},lb=function(t){return"("+(t?t.replace(/(^<|>$)/g,""):"[a-zA-Z0-9-_.~%':|=+\\*@$]+")+")"},hb=[{name:"url-parameter",pattern:/^:([a-zA-Z0-9-_]*[a-zA-Z0-9]{1})(<(.+?)>)?/,regex:function(t){return new RegExp(lb(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]+"="+lb(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])}}],ub=function t(e,r){if(void 0===r&&(r=[]),!hb.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},pb=function(t){return null!=t},db={urlParamsEncoding:"default"},fb=function(){function t(t,e){if(!t)throw new Error("Missing path in Path constructor");this.path=t,this.options=$y($y({},db),e),this.tokens=ub(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=$y($y({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=ib(t,i.queryParams);return 0===Object.keys(o).filter((function(t){return!r.isQueryParam(t)})).length?(Object.keys(o).forEach((function(t){return s[t]=o[t]})),s):null},t.prototype.partialTest=function(t,e){var r=this,i=$y($y({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=ib(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=$y($y({ignoreConstraints:!1,ignoreSearch:!1,queryParams:{}},this.options),e),n=Object.keys(t).filter((function(t){return!r.isQueryParam(t)})).reduce((function(e,n){if(!pb(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 cb(t,i.urlParamsEncoding,o)})):e[n]=cb(s,i.urlParamsEncoding,o),e}),{});if(this.urlParams.some((function(e){return!pb(t[e])}))){var s=this.urlParams.filter((function(e){return!pb(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("^"+lb(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=function(t,e){var r=tb(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)+"="+eb(e)})).join("&")}(t,e,r):t+"="+eb(e)}(e,t[e],r)})).filter(Boolean).join("&")}(this.queryParams.filter((function(e){return-1!==Object.keys(t).indexOf(e)})).reduce((function(e,r){return e[r]=t[r],e}),{}),i.queryParams);return a?o+"?"+a: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]]=(ab[i]||decodeURIComponent)(e),t}),{}):{}:null},t}();class gb{constructor(t){this.routes={};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 fb(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 mb{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){switch(e._route){case"index":return await this.listAll(e._query.get("filter"));case"createColl":{const e=await t.json();return v(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=v(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")):(r.pages=[],r.lists=[],r.curatedPages=[]),r.verify=await t.store.getVerifyInfo()):(r.numLists=await t.store.db.count("pageLists"),r.numPages=await t.store.db.count("pages")),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);return t?{pages:await t.store.getAllPages()}:{error:"collection_not_found"}}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{curated:await t.store.db.getAllFromIndex("curatedPages","listPages",IDBKeyRange.bound([r],[r+1]))}}case"deletePage":{const t=await this.collections.getColl(e.coll);if(!t)return{error:"collection_not_found"};const{pageSize:r,deleteSize:i}=t.store.deletePage(e.page);return this.collections.updateSize(e.coll,r,i),{pageSize:r,deleteSize: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&&0!==e.type.indexOf(t)||r.push(v(e)))})),{colls:r}}makeResponse(t,e=200){return new Response(JSON.stringify(t),{status:e,headers:{"Content-Type":"application/json"}})}}var wb=r(24);const yb=/^(?::([\w-]+)\/)?(\d*)([a-z]+_|[$][a-z0-9:.-]+)?(?:\/|\||%7C|%7c)(.+)/;class bb{constructor(t,e,{isRoot:r=!1,mod:i="",ts:n="",proxyOrigin:s=null,localOrigin:o=null}={}){const a=yb.exec(t);if(this.url="",this.timestamp=n,this.mod=i,this.pageId="",this.hash="",!a&&(t.startsWith("https:")||t.startsWith("http:")||t.startsWith("blob:")))this.url=t;else if(!a&&r)this.url="https://"+t;else{if(!a)return void(this.url=null);this.pageId=a[1]||"",this.timestamp=a[2],this.mod=a[3],this.url=a[4]}if(s&&o){const t=new URL(this.url);t.origin===o&&(this.url=s+t.pathname+(t.search?t.search:""))}const c=this.url.indexOf("#");c>0&&(this.hash=this.url.slice(c),this.url=this.url.substring(0,c)),this.request=e,this.method=e.method,this.mode=e.mode,this._postToGetConverted=!1}get headers(){return this.request.headers}get destination(){return this.request.destination}get referrer(){return 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 tt(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("//"))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())}}const Ab="x-wabac-is-ajax-req";class _b extends Xy{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 pn(t,this.prefixes,this.defaultConfig)}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.colls[r.name]=this._createCollection(r)),r}async deleteColl(t,e=!1){return this.colls[t]&&(this.colls[t].store&&this.colls[t].store.delete&&await this.colls[t].store.delete(),e&&this.colls[t].config&&this.colls[t].config.extra&&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){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{constructor({staticData:t=null,ApiClass:e=mb,defaultConfig:r={},CollectionsClass:i=_b}={}){this.prefix=self.registration?self.registration.scope:"",this.replayPrefix=this.prefix;const n=new URLSearchParams(self.location.search);let s="w";n.has("replayPrefix")&&(s=n.get("replayPrefix")),s&&(this.replayPrefix+=s+"/"),this.staticPrefix=this.prefix+"static/",this.distPrefix=this.prefix+"dist/";const o={static:this.staticPrefix,root:this.prefix,main:this.replayPrefix};if(this.staticData=t||new Map,this.staticData.set(this.staticPrefix+"wombat.js",{type:"application/javascript",content:'/*! wombat.js (wabac.js 2.18.0) is part of Webrecorder project. Copyright (C) 2020-2024, Webrecorder Software. Licensed under the Affero General Public License v3. */(()=>{"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&&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 _(t){let{method:e,headers:r,postData:i}=t;if("GET"===e)return!1;function o(t){return t instanceof Uint8Array&&(t=(new TextDecoder).decode(t)),t}let n="";switch((r.get("content-type")||"").split(";")[0]){case"application/x-www-form-urlencoded":n=o(i);break;case"application/json":n=d(o(i));break;case"text/plain":try{n=d(o(i),!1)}catch{n=l(i)}break;case"multipart/form-data":{let t=r.get("content-type");if(!t)throw new Error("utils cannot call postToGetURL when missing content-type header");n=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()}(o(i),t);break}default:n=l(i)}return null!==n&&(t.url=function(t,e,r){if(!r)return t;let i=t.indexOf("?")>0?"&":"?";return`${t}${i}__wb_method=${r}&${e}`}(t.url,n,t.method),t.method="GET",t.requestBody=n,!0)}function u(t,e=!0){if("string"==typeof t)try{t=JSON.parse(t)}catch{t={}}let r=new URLSearchParams,i={};try{JSON.stringify(t,((t,e)=>(["object","function"].includes(typeof e)||r.set((t=>r.has(t)?(t in i||(i[t]=1),t+"."+ ++i[t]+"_"):t)(t),e),e)))}catch(t){if(!e)throw t}return r}function d(t,e=!0){return u(t,e).toString()}function f(e,i){if(!(this instanceof f))return new f(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.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.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|!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)}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)}))},f.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()},f.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))},f.prototype._addEventListener=function(t,e,r){if(this.utilFns.addEventListener)return this.utilFns.addEventListener.call(t,e,r);t.addEventListener(e,r)},f.prototype._removeEventListener=function(t,e,r){if(this.utilFns.removeEventListener)return this.utilFns.removeEventListener.call(t,e,r);t.removeEventListener(e,r)},f.prototype.getPageUnderModifier=function(){try{var t=this.extractPageUnderModifierRE.exec(location.pathname);if(t&&t[1])return t[1].trim()||"mp_"}catch(t){}return"mp_"},f.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__))},f.prototype.isString=function(t){return null!=t&&Object.getPrototypeOf(t)===String.prototype},f.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},f.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}},f.prototype.isSavedDataSrcSrcset=function(t){return!(!t.dataset||null==t.dataset.srcset)&&this.isSavedSrcSrcset(t)},f.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},f.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}},f.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},f.prototype.startsWith=function(t,e){if(t)return 0===t.indexOf(e)?e:void 0},f.prototype.startsWithOneOf=function(t,e){if(t)for(var r=0;r<e.length;r++)if(0===t.indexOf(e[r]))return e[r]},f.prototype.endsWith=function(t,e){if(t)return-1!==t.indexOf(e,t.length-e.length)?e:void 0},f.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)},f.prototype.skipWrapScriptBasedOnType=function(t){return!!t&&(!(t.indexOf("javascript")>=0||t.indexOf("ecmascript")>=0)&&(t.indexOf("json")>=0||t.indexOf("text/")>=0))},f.prototype.skipWrapScriptTextBasedOnText=function(t){if(!t||t.indexOf(this.WB_ASSIGN_FUNC)>=0||0===t.indexOf("<"))return!0;for(var e=["window","self","document","location","top","parent","frames","opener"],r=0;r<e.length;r++)if(t.indexOf(e[r])>=0)return!1;return!0},f.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},f.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{var n=this.tagToMod[t.tagName];null!=n&&(r=n[e])}return r}},f.prototype.removeWBOSRC=function(t){"SCRIPT"!==t.tagName||t.__$removedWBOSRC$__||(t.hasAttribute("__wb_orig_src")&&t.removeAttribute("__wb_orig_src"),t.__$removedWBOSRC$__=!0)},f.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},f.prototype.wrapScriptTextJsProxy=function(t){return\'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{\\nlet window = _____WB$wombat$assign$function_____("window");\\nlet globalThis = _____WB$wombat$assign$function_____("globalThis");\\nlet self = _____WB$wombat$assign$function_____("self");\\nlet document = _____WB$wombat$assign$function_____("document");\\nlet location = _____WB$wombat$assign$function_____("location");\\nlet top = _____WB$wombat$assign$function_____("top");\\nlet parent = _____WB$wombat$assign$function_____("parent");\\nlet frames = _____WB$wombat$assign$function_____("frames");\\nlet opener = _____WB$wombat$assign$function_____("opener");\\n{\\n\'+t.replace(this.DotPostMessageRe,".__WB_pmw(self.window)$1")+"\\n\\n}}"},f.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})},f.prototype.reconstructDocType=function(t){return null==t?"":"<!doctype "+t.name+(t.publicId?\' PUBLIC "\'+t.publicId+\'"\':"")+(!t.publicId&&t.systemId?" SYSTEM":"")+(t.systemId?\' "\'+t.systemId+\'"\':"")+">"},f.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},f.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},f.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},f.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)},f.prototype._makeURLParser=function(t,e){try{return new this.$wbwindow.URL(t,e.baseURI)}catch(t){}var r=e.createElement("a");return r._no_rewrite=!0,r.href=t,r},f.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}},f.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}},f.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},f.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},f.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},f.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)},f.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)},f.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}}},f.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)},f.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},f.prototype.proxyToObj=function(t){if(t)try{var e=t.__WBProxyRealObj__;if(e)return e}catch(t){}return t},f.prototype.objToProxy=function(t){if(t)try{var e=t._WB_wombat_obj_proxy;if(e)return e}catch(t){}return t},f.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=t[e],n=typeof o;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 s=i[e];return s&&s.original===o||(s={original:o,boundFn:o.bind(t)},i[e]=s),s.boundFn}return"object"===n&&o&&o._WB_wombat_obj_proxy?(o instanceof this.WBWindow&&this.initNewWindowWombat(o),o._WB_wombat_obj_proxy):o},f.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)},f.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])}},f.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))}}},f.prototype.styleReplacer=function(t,e,r,i,o,n){return e+this.rewriteUrl(r)+i},f.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)},f.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},f.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_","")},f.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}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+"//",_=o.substring(c.length),u=!1;return _.indexOf(this.wb_rel_prefix)<0&&o.indexOf("/static/")<0&&(_=this.getFinalUrl(!0,r,WB_wombat_location.origin+"/"+_),u=!0),w!==l&&w!==this.REL_PREFIX&&(u=!0),u&&(o=e?"":l+h,_&&"/"!==_[0]&&(o+="/"),o+=_),o}return this.getFinalUrl(e,r,o)}return(w=this.startsWithOneOf(o,this.BAD_PREFIXES))?this.getFinalUrl(e,r,this.extractOriginalURL(o)):o},f.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},f.prototype.performAttributeRewrite=function(t,e,r,i){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(i&&!this.startsWithOneOf(r,this.VALID_PREFIXES))return r;var o=this.rwModForElement(t,e);return this.wbUseAFWorker&&this.WBAutoFetchWorker&&this.isSavedDataSrcSrcset(t)&&this.WBAutoFetchWorker.preserveDataSrcset(t),this.rewriteUrl(r,!1,o,t.ownerDocument)},f.prototype.rewriteAttr=function(t,e,r){var i=!1;if(!t||!t.getAttribute||t._no_rewrite||t["_"+e])return i;var o=this.wb_getAttribute.call(t,e);if(!o||this.startsWith(o,"javascript:"))return i;var n=this.performAttributeRewrite(t,e,o,r);return n!==o&&(this.removeWBOSRC(t),this.wb_setAttribute.call(t,e,n),i=!0),i},f.prototype.noExceptRewriteStyle=function(t){try{return this.rewriteStyle(t)}catch(e){return t}},f.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},f.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(", ")},f.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)},f.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();return!this.skipWrapScriptTextBasedOnText(e)&&(t.textContent=this.wrapScriptTextJsProxy(e),this.wb_info.injectDocClose&&t.textContent.trim().length&&(t.textContent+=";document.close();"),!0)},f.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},f.prototype.rewriteElem=function(t){var e=!1;if(!t)return e;if(t instanceof SVGElement)e=this.rewriteSVGElem(t);else switch(t.tagName){case"META":var r=this.wb_getAttribute.call(t,"http-equiv");r&&"content-security-policy"===r.toLowerCase()&&(this.wb_setAttribute.call(t,"http-equiv","_"+r),e=!0);break;case"STYLE":var i=this.rewriteStyle(t.textContent);t.textContent!==i&&(t.textContent=i,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":if(this.wb_info.isSW&&t.parentElement&&"application/pdf"===t.getAttribute("type")){for(var o=this.$wbwindow.document.createElement("IFRAME"),n=0;n<t.attributes.length;n++){var s=t.attributes[n],a=s.name;"data"===a&&(a="src"),this.wb_setAttribute.call(o,a,s.value)}t.parentElement.replaceChild(o,t),e=!0;break}e=this.rewriteAttr(t,"data",!0),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 w=t.getAttribute("srcdoc");if(t.hasAttribute("srcdoc")&&t.removeAttribute("srcdoc"),w)this.blobUrlForIframe(t,w);else{var h=t.getAttribute("src");h&&"about:blank"!==h||(h||(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,t.hasAttribute("target")){var p=this.rewriteAttrTarget(t.target);p!==t.target&&(t.target=p,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},f.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},f.prototype.rewriteElemComplete=function(t){if(!t)return!1;var e=this.rewriteElem(t),r=this.recurseRewriteElem(t);return e||r},f.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},f.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=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},f.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},f.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)},f.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(",|",",")},f.prototype.rewriteWorker=function(t){if(!t)return t;var e=0===(t=t.toString()).indexOf("blob:"),r=0===t.indexOf("javascript:");if(!e&&!r){if(!this.startsWithOneOf(t,this.VALID_PREFIXES)&&!this.startsWith(t,"/")&&!this.startsWithOneOf(t,this.BAD_PREFIXES)){var i=this.resolveRelUrl(t,this.$wbwindow.document);return this.rewriteUrl(i,!1,"wkr_",this.$wbwindow.document)}return this.rewriteUrl(t,!1,"wkr_",this.$wbwindow.document)}var o=r?t.replace("javascript:",""):null;if(e){var n=new XMLHttpRequest;this.utilFns.XHRopen.call(n,"GET",t,!1),this.utilFns.XHRsend.call(n),o=n.responseText.replace(this.workerBlobRe,"").replace(this.rmCheckThisInjectRe,"this")}if(this.wb_info.static_prefix||this.wb_info.ww_rw_script){var s=this.$wbwindow.document.baseURI;o="(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\': \'"+s+"\'}); })();"+o}var a=new Blob([o],{type:"application/javascript"});return this.URL.createObjectURL(a)},f.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)},f.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)},f.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))},f.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)},f.prototype.rewriteHTMLAssign=function(t,e,r){var i=r,o=t.tagName;t._no_rewrite||t instanceof this.$wbwindow.HTMLTemplateElement||("STYLE"===o?i=this.rewriteStyle(r):"SCRIPT"===o?(r&&this.IsTagRegex.test(r)&&(i=this.rewriteHtml(r)),i===r&&(this.skipWrapScriptBasedOnType(t.type)||this.skipWrapScriptTextBasedOnText(r)||(i=this.wrapScriptTextJsProxy(i)))):i=this.rewriteHtml(r)),e.call(t,i),this.wbUseAFWorker&&this.WBAutoFetchWorker&&"STYLE"===o&&null!=t.sheet&&this.WBAutoFetchWorker.deferredSheetExtraction(t.sheet)},f.prototype.rewriteEvalArg=function(t,e,r){return t(this.isString(e)&&!this.skipWrapScriptTextBasedOnText(e)?this.wrapScriptTextJsProxy(e):this.otherEvalRewrite(e),r)},f.prototype.otherEvalRewrite=function(t){return"string"!=typeof t?t:t.replace(this.IMPORT_JS_REGEX,this.styleReplacer)},f.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)}))},f.prototype.isAttrObjRewrite=function(t){if(!t)return!1;var e=t.ownerElement&&t.ownerElement.tagName;return this.shouldRewriteAttr(e,t.nodeName)},f.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,!1)),o.call(e,i)}),(function(){var t=r.proxyToObj(this),e=i.call(t);return r.isAttrObjRewrite(t)?r.extractOriginalURL(e):e}))},f.prototype.overrideAttrProps=function(){var t=this.$wbwindow.Attr.prototype;this.newAttrObjGetSet(t,"value"),this.newAttrObjGetSet(t,"nodeValue"),this.newAttrObjGetSet(t,"textContent")},f.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);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}))},f.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 i.extractOriginalURL(e)}))}},f.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)}))}},f.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))}))}},f.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}}},f.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)},f.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)}},f.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}}},f.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)}}},f.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}))},f.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}})}))},f.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])}})}))},f.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}}},f.prototype.overrideFramesAccess=function(t){if(!t.Proxy||t!==t.frames){t.__wb_frames=t.frames;var e=this,r=function(){for(var t=0;t<this.__wb_frames.length;t++)try{e.initNewWindowWombat(this.__wb_frames[t])}catch(t){}return this.__wb_frames};this.defGetterProp(t,"frames",r),this.defGetterProp(t.Window.prototype,"frames",r)}},f.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}))}},f.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)}}}},f.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)}}}},f.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}},f.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=this.__WB_orig_bind.apply(this,arguments);return i.__WB_is_native_func__=e,i}}},f.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)}))},f.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)}))},f.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}))},f.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}},f.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)},f.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)}}},f.prototype.overrideShadowDom=function(){this.$wbwindow.ShadowRoot&&this.$wbwindow.ShadowRoot.prototype&&(this.overrideHtmlAssign(this.$wbwindow.ShadowRoot,"innerHTML",!0),this.overrideParentNodeAppendPrepend(this.$wbwindow.ShadowRoot))},f.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)}}}},f.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")}},f.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")},f.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)}}},f.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")}},f.prototype.initBadPrefixes=function(t){this.BAD_PREFIXES=["http:"+t,"https:"+t,"http:/"+t,"https:/"+t]},f.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}},f.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})}},f.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}},f.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})},f.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"))},f.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)},f.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")}},f.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){}},f.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()},f.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}},f.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)}))},f.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)},f.prototype.initHTTPOverrides=function(){var t,r,i=this;if(this.overridePropExtract(this.$wbwindow.XMLHttpRequest.prototype,"responseURL"),this.wb_info.isSW){var o=this.$wbwindow.XMLHttpRequest.prototype.open,n=this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader,s=this.$wbwindow.XMLHttpRequest.prototype.send;this.utilFns.XHRopen=o,this.utilFns.XHRsend=s,this.$wbwindow.XMLHttpRequest.prototype.open=function(){this.__WB_xhr_open_arguments=arguments,this.__WB_xhr_headers=new Headers},this.$wbwindow.XMLHttpRequest.prototype.setRequestHeader=function(t,e){this.__WB_xhr_headers.set(t,e)};i=this;var a=!!this.wb_info.convert_post_to_get;this.$wbwindow.XMLHttpRequest.prototype.send=async function(t){if(a&&("POST"===this.__WB_xhr_open_arguments[0]||"PUT"===this.__WB_xhr_open_arguments[0])){var e={url:this.__WB_xhr_open_arguments[1],method:this.__WB_xhr_open_arguments[0],headers:this.__WB_xhr_headers,postData:t};_(e)&&(this.__WB_xhr_open_arguments[1]=e.url,this.__WB_xhr_open_arguments[0]="GET",t=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]=i.rewriteUrl(this.__WB_xhr_open_arguments[1])),o.apply(this,this.__WB_xhr_open_arguments),!i.startsWith(this.__WB_xhr_open_arguments[1],"data:")){for(const[t,e]of this.__WB_xhr_headers.entries())n.call(this,t,e);n.call(this,"X-Pywb-Requested-With","XMLHttpRequest")}return s.call(this,t)}}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(t,e,r,o,n){var s=this._no_rewrite?e:i.rewriteUrl(e),a=!0;null==r||r||(a=!1),w.call(this,t,s,a,o,n),i.startsWith(s,"data:")||this.setRequestHeader("X-Pywb-Requested-With","XMLHttpRequest")}}if(this.$wbwindow.fetch){var h=this.$wbwindow.fetch;this.$wbwindow.fetch=function(t,e){var r=t,o=typeof t;if("string"===o)r=i.rewriteUrl(t);else if("object"===o&&t.url){var n=i.rewriteUrl(t.url);n!==t.url&&(r=new Request(n,e))}else"object"===o&&t.href&&(r=i.rewriteUrl(t.href));if(e||(e={}),void 0===e.credentials)try{e.credentials="include"}catch(t){}return h.call(i.proxyToObj(this),r,e)}}if(this.$wbwindow.Request&&this.$wbwindow.Request.prototype){var p=this.$wbwindow.Request;this.$wbwindow.Request=(t=this.$wbwindow.Request,function(e,r){i.domConstructorErrorChecker(this,"Request",arguments);var o=r||{},n=e,s=typeof e;switch(s){case"string":n=i.rewriteUrl(e);break;case"object":if(n=e,e.url){var a=i.rewriteUrl(e.url);a!==e.url&&(n=new t(a,e))}else e.href&&(n=i.rewriteUrl(e.toString(),!0))}return o.credentials="include",o.referrer&&(o.referrer=i.rewriteUrl(o.referrer)),new t(n,o)}),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(t,e){var r=i.rewriteUrl(t,!0,null,i.$wbwindow.document);return c.call(this,r,e)},this.overridePropExtract(this.$wbwindow.Response.prototype,"url")}if(this.$wbwindow.EventSource&&this.$wbwindow.EventSource.prototype){var l=this.$wbwindow.EventSource;this.$wbwindow.EventSource=(r=this.$wbwindow.EventSource,function(t,e){i.domConstructorErrorChecker(this,"EventSource",arguments);var o=t;return null!=t&&(o=i.rewriteUrl(t)),new r(o,e)}),this.$wbwindow.EventSource.prototype=l.prototype,Object.defineProperty(this.$wbwindow.EventSource.prototype,"constructor",{value:this.$wbwindow.EventSource}),e(this.$wbwindow.EventSource,"EventSource")}},f.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}}}},f.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)}}},f.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}},f.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)}}}},f.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")}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)},f.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}))}},f.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,u(arguments))};e.write=o,t.write=o;var n=e.writeln,s=function(){return d(this,n,u(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),_()?r._writeBuff="":r.initNewWindowWombat(e.defaultView);return t};e.open=w,t.open=w;var h=e.close,p=function(){if(r._writeBuff)return _()?r.blobUrlForIframe(r.$wbwindow.frameElement,r._writeBuff):"loading"===document.readyState&&i.call(e,r.rewriteHtml(r._writeBuff,!0)),void(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)};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 _(){return r.wb_info.isSW&&r.$wbwindow.frameElement}function u(t){return 0===t.length?"":1===t.length?t[0]:Array.prototype.join.call(t,"")}function d(t,e,i){r.$wbwindow;if(!(_()||"loading"===document.readyState&&r.wb_info.injectDocClose)){i=r.rewriteHtml(i,!0);var o=r.proxyToObj(t),n=e.call(o,i);return r.initNewWindowWombat(o.defaultView),n}r._writeBuff+=i}},f.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)},f.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 f(t,o);t._wb_wombat=n.wombatInit()}else this.initProtoPmOrigin(t),this.initPostMessageOverride(t),this.initMessageEventOverride(t),this.initCheckThisFunc(t),this.initImportWrapperFunc(t)}},f.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}},f.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)}),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)}),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}},f.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)}},f.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)}},f.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{}}}},f.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){return t&&t._WB_wombat_obj_proxy?t._WB_wombat_obj_proxy:t}})}catch(t){}},f.prototype.initImportWrapperFunc=function(t){var e=this;t.____wb_rewrite_import__=function(t,r){return t&&(r=new e.URL(r,t).href),import(e.rewriteUrl(r,!1,"esm_"))}},f.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)}},f.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)}))}},f.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=r.proxyToObj(this);if(h||((h=t).__WB_source=t),h.__WB_source&&h.__WB_source.WB_wombat_location){var p=h.__WB_source;if(a=p.WB_wombat_location.origin,h.__WB_win_id||(h.__WB_win_id={},h.__WB_counter=0),!p.__WB_id){var c=h.__WB_counter;p.__WB_id=c+p.WB_wombat_location.href,h.__WB_counter+=1}h.__WB_win_id[p.__WB_id]=p,w=p.__WB_id,h.__WB_source=void 0}else a=window.WB_wombat_location.origin;var l=o;l===h.location.origin&&(l=a);var _={from:a,to_origin:l,src_id:w,message:i,from_top:s};if("*"!==o){if("null"===h.location.origin||""===h.location.origin)return;o=h.location.origin}return e.call(h,_,o,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)})):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)}},f.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)},f.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")},f.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)}},f.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},f.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))}))},f.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))}}},f.prototype.initBeaconOverride=function(){if(this.$wbwindow.navigator.sendBeacon){var t=this.$wbwindow.navigator.sendBeacon,e=this;this.$wbwindow.navigator.sendBeacon=function(r,i){try{return t.call(this,e.rewriteUrl(r),i)}catch(t){return!0}}}},f.prototype.initMiscNavigatorOverrides=function(){this.$wbwindow.navigator.mediaDevices&&(this.$wbwindow.navigator.mediaDevices.setCaptureHandleConfig=function(){})},f.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},f.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)},f.prototype.initStorageOverride=function(){this.addEventOverride("storageArea",this.$wbwindow.StorageEvent.prototype),i.yes=!1;var t={};if(this.wb_info.storage)try{t=JSON.parse(atob(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},f.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)}))}))}}},f.prototype.initCachesOverride=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())}))}}},f.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 void 0===o.value&&void 0===o.get&&(o.value=t[r]),Reflect.defineProperty(t,r,o),Reflect.defineProperty(e,r,o)}});return t._WB_wombat_obj_proxy=o,o}},f.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:e[r]=i,!0}});return t._WB_wombat_obj_proxy=o,o}},f.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)}}},f.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)},f.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)}},f.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){}},f.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}))}},f.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}))},f.prototype.wombatInit=function(){this._internalInit(),this.initCookiePreset(),this.initHistoryOverrides(),this.overrideFunctionApply(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.initTimeoutIntervalOverrides(),this.overrideFramesAccess(this.$wbwindow),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.initBeaconOverride(),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.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 b=f;window._WBWombat=b,window._WBWombatInit=function(t){if(this._wb_wombat)this._wb_wombat.init_paths(t);else{var e=new b(this,t);this._wb_wombat=e.wombatInit()}}})();'}),this.staticData.set(this.staticPrefix+"wombatWorkers.js",{type:"application/javascript",content:wb.Z}),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&&(r.injectScripts=r.injectScripts.map((t=>this.staticPrefix+"proxy/"+t))),n.has("adblockUrl")&&(r.adblockUrl=n.get("adblockUrl")),this.collections=new i(o,n.get("root"),r),this.collections.loadAll(n.get("dbColl")),this.proxyOriginMode=!!n.get("proxyOriginMode"),this.api=new e(this.collections),this.apiPrefix=this.replayPrefix+"api/",this.allowRewrittenCache=!!n.get("allowCache"),this.stats=n.get("stats")?new Zy: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>`}handleFetch(t){const e=t.request.url;if(this.proxyOriginMode)return this.getResponseFor(t.request,t);if(!e.startsWith(this.prefix))return"chrome-extension://invalid/"===e?_(t.request,"Invalid URL"):this.defaultFetch(t.request);if(this.collections.root&&e.slice(this.prefix.length).indexOf("/")<0)return this.defaultFetch(t.request);if(e.startsWith(this.staticPrefix+"proxy/"))return this.staticPathProxy(e,t.request);if(e.startsWith(this.replayPrefix)&&!e.startsWith(this.staticPrefix))return this.getResponseFor(t.request,t);const r=new URL(e);r.search="",r.hash="";const i=r.href;for(const t of this.staticData.keys())if(t===i){const{content:e,type:r}=this.staticData.get(t);return new Response(e,{headers:{"Content-Type":r}})}return("http:"==r.protocol||"https:"==r.protocol)&&r.pathname.indexOf("/",1)<0?this.handleOffline(t.request):this.defaultFetch(t.request)}staticPathProxy(t,e){return t=t.slice((this.staticPrefix+"proxy/").length),t=new URL(t,self.location.href).href,e=new Request(t),this.defaultFetch(e)}defaultFetch(t){const e={};return"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(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=_(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(!this.proxyOriginMode&&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=b(t),i=t.headers.get("range");try{if(this.allowRewrittenCache&&!i){const e=await self.caches.match(t);if(e&&!!e.headers.get(Ab)===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&&!t.url.startsWith(s.prefix))return _(t);const o=this.proxyOriginMode?t.url:t.url.substring(s.prefix.length),a={isRoot:!!this.collections.root};this.proxyOriginMode&&(a.mod="id_",a.proxyOrigin=s.config.extraConfig.proxyOrigin,a.localOrigin=self.location.origin);const c=new bb(o,t,a);if(!c.url)return _(t,`Replay URL ${o} not found`);const l=await s.handleRequest(c,e);if(l){if(this.stats&&this.stats.updateStats(l.date,l.status,t,e),this.allowRewrittenCache&&200===l.status)try{const e=await self.caches.open("wabac-"+s.name);r&&l.headers.set(Ab,"true");const i=l.clone();await e.put(t,i)}catch(t){console.warn(t)}return l}return i&&console.log("Not Found Range!: "+i),_(t)}},console.log("sw init")):self.postMessage&&(new Xy(self),console.log("ww init"))})()})();
|