single-file-cli 1.1.53 → 2.0.2
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/{.eslintrc.js → .eslintrc.json} +5 -6
- package/Dockerfile +2 -1
- package/README.MD +56 -60
- package/args.js +252 -334
- package/back-ends/chromium-back-end.js +223 -0
- package/back-ends/chromium-browser.js +89 -0
- package/back-ends/chromium-constants.js +157 -0
- package/back-ends/{common/scripts.js → single-file-script.js} +21 -49
- package/build-lib-dev.sh +84 -0
- package/build-lib.sh +80 -3
- package/compile.sh +13 -0
- package/deno-polyfill.js +223 -0
- package/deno.json +13 -0
- package/deno.lock +49 -0
- package/lib/single-file-bundle.js +1 -0
- package/package.json +9 -33
- package/single-file +39 -14
- package/single-file-cli-api.js +32 -44
- package/back-ends/extensions/bypass-csp/index.js +0 -36
- package/back-ends/extensions/bypass-csp/manifest.json +0 -20
- package/back-ends/extensions/disable-web-security/index.js +0 -54
- package/back-ends/extensions/disable-web-security/manifest.json +0 -20
- package/back-ends/extensions/network-idle/bg.js +0 -61
- package/back-ends/extensions/network-idle/content.js +0 -29
- package/back-ends/extensions/network-idle/manifest.json +0 -31
- package/back-ends/extensions/signed/bypass_csp-0.0.3-an+fx.xpi +0 -0
- package/back-ends/extensions/signed/disable_web_security-0.0.3-an+fx.xpi +0 -0
- package/back-ends/extensions/signed/network_idle-0.0.2-an+fx.xpi +0 -0
- package/back-ends/jsdom.js +0 -159
- package/back-ends/playwright-chromium.js +0 -126
- package/back-ends/playwright-firefox.js +0 -115
- package/back-ends/playwright-webkit.js +0 -126
- package/back-ends/puppeteer-firefox.js +0 -172
- package/back-ends/puppeteer.js +0 -201
- package/back-ends/webdriver-chromium.js +0 -172
- package/back-ends/webdriver-gecko.js +0 -190
- package/lib/single-file-bootstrap.js +0 -1
- package/lib/single-file-frames.js +0 -1
- package/lib/single-file-hooks-frames.js +0 -1
- package/lib/single-file-zip.min.js +0 -1
- package/lib/single-file.js +0 -1
- package/rollup.config.dev.js +0 -57
- package/rollup.config.js +0 -58
|
@@ -0,0 +1 @@
|
|
|
1
|
+
const script = "var singlefile=(()=>{var Gn=Object.defineProperty;var Ww=Object.getOwnPropertyDescriptor;var Kw=Object.getOwnPropertyNames;var Xw=Object.prototype.hasOwnProperty;var oe=(e,t)=>{for(var a in t)Gn(e,a,{get:t[a],enumerable:!0})},Yw=(e,t,a,o)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of Kw(t))!Xw.call(e,i)&&i!==a&&Gn(e,i,{get:()=>t[i],enumerable:!(o=Ww(t,i))||o.enumerable});return e};var Jw=e=>Yw(Gn({},\"__esModule\",{value:!0}),e);var b1={};oe(b1,{SingleFile:()=>Bn,getPageData:()=>f1,helper:()=>Hi,init:()=>Nw,modules:()=>_n,processors:()=>xs,vendor:()=>Cn});var xs={};oe(xs,{compression:()=>Lo,frameTree:()=>Bo,hooksFrames:()=>Ro,lazy:()=>ia});var Lo={};oe(Lo,{process:()=>Sa});var Jr={};oe(Jr,{BlobReader:()=>$t,BlobWriter:()=>yo,Data64URIReader:()=>gr,Data64URIWriter:()=>wr,ERR_BAD_FORMAT:()=>gi,ERR_CENTRAL_DIRECTORY_NOT_FOUND:()=>om,ERR_DUPLICATED_NAME:()=>dm,ERR_ENCRYPTED:()=>rm,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:()=>am,ERR_EOCDR_NOT_FOUND:()=>em,ERR_EOCDR_ZIP64_NOT_FOUND:()=>tm,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:()=>nm,ERR_HTTP_RANGE:()=>To,ERR_INVALID_COMMENT:()=>mm,ERR_INVALID_ENCRYPTION_STRENGTH:()=>pm,ERR_INVALID_ENTRY_COMMENT:()=>hm,ERR_INVALID_ENTRY_NAME:()=>um,ERR_INVALID_EXTRAFIELD_DATA:()=>wm,ERR_INVALID_EXTRAFIELD_TYPE:()=>gm,ERR_INVALID_PASSWORD:()=>Or,ERR_INVALID_SIGNATURE:()=>Fr,ERR_INVALID_VERSION:()=>zr,ERR_ITERATOR_COMPLETED_TOO_SOON:()=>Pd,ERR_LOCAL_FILE_HEADER_NOT_FOUND:()=>im,ERR_SPLIT_ZIP_FILE:()=>Tr,ERR_UNSUPPORTED_COMPRESSION:()=>Cr,ERR_UNSUPPORTED_ENCRYPTION:()=>sm,ERR_UNSUPPORTED_FORMAT:()=>Ai,HttpRangeReader:()=>Sr,HttpReader:()=>vi,Reader:()=>ft,SplitDataReader:()=>So,SplitDataWriter:()=>Qt,SplitZipReader:()=>Yf,SplitZipWriter:()=>Jf,TextReader:()=>ko,TextWriter:()=>fr,Uint8ArrayReader:()=>Er,Uint8ArrayWriter:()=>vo,Writer:()=>bo,ZipReader:()=>Lr,ZipWriter:()=>Eo,configure:()=>xo,getMimeType:()=>sf,initReader:()=>Wr,initShimAsyncCodec:()=>lf,initStream:()=>Ct,initWriter:()=>Kr,readUint8Array:()=>xe,terminateWorkers:()=>Ff});var Sb={},{Array:Ot,Object:N,String:vc,Number:jo,BigInt:Ce,Math:ie,Date:va,Map:Ir,Set:Sc,Response:Zc,URL:_r,Error:B,Uint8Array:P,Uint16Array:Ec,Uint32Array:Mr,DataView:ea,Blob:$c,Promise:Ge,TextEncoder:jc,TextDecoder:Qc,crypto:po,btoa:Ac,TransformStream:Oe,ReadableStream:ed,WritableStream:Ao,CompressionStream:xc,DecompressionStream:Cc,navigator:qn,Worker:ui}=globalThis,de=4294967295,se=65535,Jn=8,td=0,ad=99,od=67324752,Pr=134695760,Zw=Pr,Zn=33639248,id=101010256,$n=101075792,nd=117853008,xt=22,mo=20,ho=56,$w=xt+mo+ho,rd=1,sd=39169,ld=10,cd=1,Dr=21589,Qw=28789,ef=25461,dd=6534,Qn=1,tf=6,er=8,tr=2048,ar=16,af=20,Tc=45,Lc=51,pi=\"/\",Rc=new va(2107,11,31),zc=new va(1980,0,1),we=void 0,fi=\"undefined\",md=\"function\",bi=class{constructor(t){return class extends Oe{constructor(a,o){let i=new t(o);super({transform(n,s){s.enqueue(i.append(n))},flush(n){let s=i.flush();s&&n.enqueue(s)}})}}}},of=64,hd=2;try{typeof qn!=fi&&qn.hardwareConcurrency&&(hd=qn.hardwareConcurrency)}catch{}var nf={chunkSize:512*1024,maxWorkers:hd,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:we,CompressionStreamNative:typeof xc!=fi&&xc,DecompressionStreamNative:typeof Cc!=fi&&Cc},Nt=N.assign({},nf);function Nr(){return Nt}function ud(e){return ie.max(e.chunkSize,of)}function xo(e){let{baseURL:t,chunkSize:a,maxWorkers:o,terminateWorkerTimeout:i,useCompressionStream:n,useWebWorkers:s,Deflate:r,Inflate:l,CompressionStream:c,DecompressionStream:d,workerScripts:m}=e;if(Mt(\"baseURL\",t),Mt(\"chunkSize\",a),Mt(\"maxWorkers\",o),Mt(\"terminateWorkerTimeout\",i),Mt(\"useCompressionStream\",n),Mt(\"useWebWorkers\",s),r&&(Nt.CompressionStream=new bi(r)),l&&(Nt.DecompressionStream=new bi(l)),Mt(\"CompressionStream\",c),Mt(\"DecompressionStream\",d),m!==we){let{deflate:h,inflate:u}=m;if((h||u)&&(Nt.workerScripts||(Nt.workerScripts={})),h){if(!Ot.isArray(h))throw new B(\"workerScripts.deflate must be an array\");Nt.workerScripts.deflate=h}if(u){if(!Ot.isArray(u))throw new B(\"workerScripts.inflate must be an array\");Nt.workerScripts.inflate=u}}}function Mt(e,t){t!==we&&(Nt[e]=t)}function rf(e){let t=()=>_r.createObjectURL(new $c([`const{Array:e,Object:t,Number:n,Math:r,Error:s,Uint8Array:a,Uint16Array:i,Uint32Array:o,Int32Array:l,Map:c,DataView:h,Promise:f,TextEncoder:u,crypto:p,postMessage:d,TransformStream:g,ReadableStream:w,WritableStream:v,CompressionStream:y,DecompressionStream:b}=self;class m{constructor(e){return class extends g{constructor(t,n){const r=new e(n);super({transform(e,t){t.enqueue(r.append(e))},flush(e){const t=r.flush();t&&e.enqueue(t)}})}}}}const _=[];for(let e=0;256>e;e++){let t=e;for(let e=0;8>e;e++)1&t?t=t>>>1^3988292384:t>>>=1;_[e]=t}class k{constructor(e){this.crc=e||-1}append(e){let t=0|this.crc;for(let n=0,r=0|e.length;r>n;n++)t=t>>>8^_[255&(t^e[n])];this.crc=t}get(){return~this.crc}}class S extends g{constructor(){let e;const t=new k;super({transform(e,n){t.append(e),n.enqueue(e)},flush(){const n=new a(4);new h(n.buffer).setUint32(0,t.get()),e.value=n}}),e=this}}const z={concat(e,t){if(0===e.length||0===t.length)return e.concat(t);const n=e[e.length-1],r=z.getPartial(n);return 32===r?e.concat(t):z._shiftRight(t,r,0|n,e.slice(0,e.length-1))},bitLength(e){const t=e.length;if(0===t)return 0;const n=e[t-1];return 32*(t-1)+z.getPartial(n)},clamp(e,t){if(32*e.length<t)return e;const n=(e=e.slice(0,r.ceil(t/32))).length;return t&=31,n>0&&t&&(e[n-1]=z.partial(t,e[n-1]&2147483648>>t-1,1)),e},partial:(e,t,n)=>32===e?t:(n?0|t:t<<32-e)+1099511627776*e,getPartial:e=>r.round(e/1099511627776)||32,_shiftRight(e,t,n,r){for(void 0===r&&(r=[]);t>=32;t-=32)r.push(n),n=0;if(0===t)return r.concat(e);for(let s=0;s<e.length;s++)r.push(n|e[s]>>>t),n=e[s]<<32-t;const s=e.length?e[e.length-1]:0,a=z.getPartial(s);return r.push(z.partial(t+a&31,t+a>32?n:r.pop(),1)),r}},D={bytes:{fromBits(e){const t=z.bitLength(e)/8,n=new a(t);let r;for(let s=0;t>s;s++)0==(3&s)&&(r=e[s/4]),n[s]=r>>>24,r<<=8;return n},toBits(e){const t=[];let n,r=0;for(n=0;n<e.length;n++)r=r<<8|e[n],3==(3&n)&&(t.push(r),r=0);return 3&n&&t.push(z.partial(8*(3&n),r)),t}}},C=class{constructor(e){const t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){const e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){const t=this;\"string\"==typeof e&&(e=D.utf8String.toBits(e));const n=t._buffer=z.concat(t._buffer,e),r=t._length,a=t._length=r+z.bitLength(e);if(a>9007199254740991)throw new s(\"Cannot hash more than 2^53 - 1 bits\");const i=new o(n);let l=0;for(let e=t.blockSize+r-(t.blockSize+r&t.blockSize-1);a>=e;e+=t.blockSize)t._block(i.subarray(16*l,16*(l+1))),l+=1;return n.splice(0,16*l),t}finalize(){const e=this;let t=e._buffer;const n=e._h;t=z.concat(t,[z.partial(1,1)]);for(let e=t.length+2;15&e;e++)t.push(0);for(t.push(r.floor(e._length/4294967296)),t.push(0|e._length);t.length;)e._block(t.splice(0,16));return e.reset(),n}_f(e,t,n,r){return e>19?e>39?e>59?e>79?void 0:t^n^r:t&n|t&r|n&r:t^n^r:t&n|~t&r}_S(e,t){return t<<e|t>>>32-e}_block(t){const n=this,s=n._h,a=e(80);for(let e=0;16>e;e++)a[e]=t[e];let i=s[0],o=s[1],l=s[2],c=s[3],h=s[4];for(let e=0;79>=e;e++){16>e||(a[e]=n._S(1,a[e-3]^a[e-8]^a[e-14]^a[e-16]));const t=n._S(5,i)+n._f(e,o,l,c)+h+a[e]+n._key[r.floor(e/20)]|0;h=c,c=l,l=n._S(30,o),o=i,i=t}s[0]=s[0]+i|0,s[1]=s[1]+o|0,s[2]=s[2]+l|0,s[3]=s[3]+c|0,s[4]=s[4]+h|0}},I={getRandomValues(e){const t=new o(e.buffer),n=e=>{let t=987654321;const n=4294967295;return()=>(t=36969*(65535&t)+(t>>16)&n,(((t<<16)+(e=18e3*(65535&e)+(e>>16)&n)&n)/4294967296+.5)*(r.random()>.5?1:-1))};for(let s,a=0;a<e.length;a+=4){const e=n(4294967296*(s||r.random()));s=987654071*e(),t[a/4]=4294967296*e()|0}return e}},x={importKey:e=>new x.hmacSha1(D.bytes.toBits(e)),pbkdf2(e,t,n,r){if(n=n||1e4,0>r||0>n)throw new s(\"invalid params to pbkdf2\");const a=1+(r>>5)<<2;let i,o,l,c,f;const u=new ArrayBuffer(a),p=new h(u);let d=0;const g=z;for(t=D.bytes.toBits(t),f=1;(a||1)>d;f++){for(i=o=e.encrypt(g.concat(t,[f])),l=1;n>l;l++)for(o=e.encrypt(o),c=0;c<o.length;c++)i[c]^=o[c];for(l=0;(a||1)>d&&l<i.length;l++)p.setInt32(d,i[l]),d+=4}return u.slice(0,r/8)},hmacSha1:class{constructor(e){const t=this,n=t._hash=C,r=[[],[]];t._baseHash=[new n,new n];const s=t._baseHash[0].blockSize/32;e.length>s&&(e=(new n).update(e).finalize());for(let t=0;s>t;t++)r[0][t]=909522486^e[t],r[1][t]=1549556828^e[t];t._baseHash[0].update(r[0]),t._baseHash[1].update(r[1]),t._resultHash=new n(t._baseHash[0])}reset(){const e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){this._updated=!0,this._resultHash.update(e)}digest(){const e=this,t=e._resultHash.finalize(),n=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),n}encrypt(e){if(this._updated)throw new s(\"encrypt on already updated hmac called!\");return this.update(e),this.digest(e)}}},A=void 0!==p&&\"function\"==typeof p.getRandomValues,T=\"Invalid password\",R=\"Invalid signature\",H=\"zipjs-abort-check-password\";function q(e){return A?p.getRandomValues(e):I.getRandomValues(e)}const B=16,K={name:\"PBKDF2\"},V=t.assign({hash:{name:\"HMAC\"}},K),P=t.assign({iterations:1e3,hash:{name:\"SHA-1\"}},K),E=[\"deriveBits\"],U=[8,12,16],W=[16,24,32],M=10,N=[0,0,0,0],O=\"undefined\",F=\"function\",L=typeof p!=O,j=L&&p.subtle,G=L&&typeof j!=O,X=D.bytes,J=class{constructor(e){const t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();const n=t._tables[0][4],r=t._tables[1],a=e.length;let i,o,l,c=1;if(4!==a&&6!==a&&8!==a)throw new s(\"invalid aes key size\");for(t._key=[o=e.slice(0),l=[]],i=a;4*a+28>i;i++){let e=o[i-1];(i%a==0||8===a&&i%a==4)&&(e=n[e>>>24]<<24^n[e>>16&255]<<16^n[e>>8&255]<<8^n[255&e],i%a==0&&(e=e<<8^e>>>24^c<<24,c=c<<1^283*(c>>7))),o[i]=o[i-a]^e}for(let e=0;i;e++,i--){const t=o[3&e?i:i-4];l[e]=4>=i||4>e?t:r[0][n[t>>>24]]^r[1][n[t>>16&255]]^r[2][n[t>>8&255]]^r[3][n[255&t]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){const e=this._tables[0],t=this._tables[1],n=e[4],r=t[4],s=[],a=[];let i,o,l,c;for(let e=0;256>e;e++)a[(s[e]=e<<1^283*(e>>7))^e]=e;for(let h=i=0;!n[h];h^=o||1,i=a[i]||1){let a=i^i<<1^i<<2^i<<3^i<<4;a=a>>8^255&a^99,n[h]=a,r[a]=h,c=s[l=s[o=s[h]]];let f=16843009*c^65537*l^257*o^16843008*h,u=257*s[a]^16843008*a;for(let n=0;4>n;n++)e[n][h]=u=u<<24^u>>>8,t[n][a]=f=f<<24^f>>>8}for(let n=0;5>n;n++)e[n]=e[n].slice(0),t[n]=t[n].slice(0)}_crypt(e,t){if(4!==e.length)throw new s(\"invalid aes block size\");const n=this._key[t],r=n.length/4-2,a=[0,0,0,0],i=this._tables[t],o=i[0],l=i[1],c=i[2],h=i[3],f=i[4];let u,p,d,g=e[0]^n[0],w=e[t?3:1]^n[1],v=e[2]^n[2],y=e[t?1:3]^n[3],b=4;for(let e=0;r>e;e++)u=o[g>>>24]^l[w>>16&255]^c[v>>8&255]^h[255&y]^n[b],p=o[w>>>24]^l[v>>16&255]^c[y>>8&255]^h[255&g]^n[b+1],d=o[v>>>24]^l[y>>16&255]^c[g>>8&255]^h[255&w]^n[b+2],y=o[y>>>24]^l[g>>16&255]^c[w>>8&255]^h[255&v]^n[b+3],b+=4,g=u,w=p,v=d;for(let e=0;4>e;e++)a[t?3&-e:e]=f[g>>>24]<<24^f[w>>16&255]<<16^f[v>>8&255]<<8^f[255&y]^n[b++],u=g,g=w,w=v,v=y,y=u;return a}},Q=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if(255==(e>>24&255)){let t=e>>16&255,n=e>>8&255,r=255&e;255===t?(t=0,255===n?(n=0,255===r?r=0:++r):++n):++t,e=0,e+=t<<16,e+=n<<8,e+=r}else e+=1<<24;return e}incCounter(e){0===(e[0]=this.incWord(e[0]))&&(e[1]=this.incWord(e[1]))}calculate(e,t,n){let r;if(!(r=t.length))return[];const s=z.bitLength(t);for(let s=0;r>s;s+=4){this.incCounter(n);const r=e.encrypt(n);t[s]^=r[0],t[s+1]^=r[1],t[s+2]^=r[2],t[s+3]^=r[3]}return z.clamp(t,s)}},Y=x.hmacSha1;let Z=L&&G&&typeof j.importKey==F,$=L&&G&&typeof j.deriveBits==F;class ee extends g{constructor({password:e,signed:n,encryptionStrength:r,checkPasswordOnly:i}){super({start(){t.assign(this,{ready:new f((e=>this.resolveReady=e)),password:e,signed:n,strength:r-1,pending:new a})},async transform(e,t){const n=this,{password:r,strength:o,resolveReady:l,ready:c}=n;r?(await(async(e,t,n,r)=>{const a=await re(e,t,n,ae(r,0,U[t])),i=ae(r,U[t]);if(a[0]!=i[0]||a[1]!=i[1])throw new s(T)})(n,o,r,ae(e,0,U[o]+2)),e=ae(e,U[o]+2),i?t.error(new s(H)):l()):await c;const h=new a(e.length-M-(e.length-M)%B);t.enqueue(ne(n,e,h,0,M,!0))},async flush(e){const{signed:t,ctr:n,hmac:r,pending:i,ready:o}=this;if(r&&n){await o;const l=ae(i,0,i.length-M),c=ae(i,i.length-M);let h=new a;if(l.length){const e=oe(X,l);r.update(e);const t=n.update(e);h=ie(X,t)}if(t){const e=ae(ie(X,r.digest()),0,M);for(let t=0;M>t;t++)if(e[t]!=c[t])throw new s(R)}e.enqueue(h)}}})}}class te extends g{constructor({password:e,encryptionStrength:n}){let r;super({start(){t.assign(this,{ready:new f((e=>this.resolveReady=e)),password:e,strength:n-1,pending:new a})},async transform(e,t){const n=this,{password:r,strength:s,resolveReady:i,ready:o}=n;let l=new a;r?(l=await(async(e,t,n)=>{const r=q(new a(U[t]));return se(r,await re(e,t,n,r))})(n,s,r),i()):await o;const c=new a(l.length+e.length-e.length%B);c.set(l,0),t.enqueue(ne(n,e,c,l.length,0))},async flush(e){const{ctr:t,hmac:n,pending:s,ready:i}=this;if(n&&t){await i;let o=new a;if(s.length){const e=t.update(oe(X,s));n.update(e),o=ie(X,e)}r.signature=ie(X,n.digest()).slice(0,M),e.enqueue(se(o,r.signature))}}}),r=this}}function ne(e,t,n,r,s,i){const{ctr:o,hmac:l,pending:c}=e,h=t.length-s;let f;for(c.length&&(t=se(c,t),n=((e,t)=>{if(t&&t>e.length){const n=e;(e=new a(t)).set(n,0)}return e})(n,h-h%B)),f=0;h-B>=f;f+=B){const e=oe(X,ae(t,f,f+B));i&&l.update(e);const s=o.update(e);i||l.update(s),n.set(ie(X,s),f+r)}return e.pending=ae(t,f),n}async function re(n,r,s,i){n.password=null;const o=(e=>{if(void 0===u){const t=new a((e=unescape(encodeURIComponent(e))).length);for(let n=0;n<t.length;n++)t[n]=e.charCodeAt(n);return t}return(new u).encode(e)})(s),l=await(async(e,t,n,r,s)=>{if(!Z)return x.importKey(t);try{return await j.importKey(\"raw\",t,n,!1,s)}catch(e){return Z=!1,x.importKey(t)}})(0,o,V,0,E),c=await(async(e,t,n)=>{if(!$)return x.pbkdf2(t,e.salt,P.iterations,n);try{return await j.deriveBits(e,t,n)}catch(r){return $=!1,x.pbkdf2(t,e.salt,P.iterations,n)}})(t.assign({salt:i},P),l,8*(2*W[r]+2)),h=new a(c),f=oe(X,ae(h,0,W[r])),p=oe(X,ae(h,W[r],2*W[r])),d=ae(h,2*W[r]);return t.assign(n,{keys:{key:f,authentication:p,passwordVerification:d},ctr:new Q(new J(f),e.from(N)),hmac:new Y(p)}),d}function se(e,t){let n=e;return e.length+t.length&&(n=new a(e.length+t.length),n.set(e,0),n.set(t,e.length)),n}function ae(e,t,n){return e.subarray(t,n)}function ie(e,t){return e.fromBits(t)}function oe(e,t){return e.toBits(t)}class le extends g{constructor({password:e,passwordVerification:n,checkPasswordOnly:r}){super({start(){t.assign(this,{password:e,passwordVerification:n}),ue(this,e)},transform(e,t){const n=this;if(n.password){const t=he(n,e.subarray(0,12));if(n.password=null,t[11]!=n.passwordVerification)throw new s(T);e=e.subarray(12)}r?t.error(new s(H)):t.enqueue(he(n,e))}})}}class ce extends g{constructor({password:e,passwordVerification:n}){super({start(){t.assign(this,{password:e,passwordVerification:n}),ue(this,e)},transform(e,t){const n=this;let r,s;if(n.password){n.password=null;const t=q(new a(12));t[11]=n.passwordVerification,r=new a(e.length+t.length),r.set(fe(n,t),0),s=12}else r=new a(e.length),s=0;r.set(fe(n,e),s),t.enqueue(r)}})}}function he(e,t){const n=new a(t.length);for(let r=0;r<t.length;r++)n[r]=de(e)^t[r],pe(e,n[r]);return n}function fe(e,t){const n=new a(t.length);for(let r=0;r<t.length;r++)n[r]=de(e)^t[r],pe(e,t[r]);return n}function ue(e,n){const r=[305419896,591751049,878082192];t.assign(e,{keys:r,crcKey0:new k(r[0]),crcKey2:new k(r[2])});for(let t=0;t<n.length;t++)pe(e,n.charCodeAt(t))}function pe(e,t){let[n,s,a]=e.keys;e.crcKey0.append([t]),n=~e.crcKey0.get(),s=we(r.imul(we(s+ge(n)),134775813)+1),e.crcKey2.append([s>>>24]),a=~e.crcKey2.get(),e.keys=[n,s,a]}function de(e){const t=2|e.keys[2];return ge(r.imul(t,1^t)>>>8)}function ge(e){return 255&e}function we(e){return 4294967295&e}const ve=\"deflate-raw\";class ye extends g{constructor(e,{chunkSize:t,CompressionStream:n,CompressionStreamNative:r}){super({});const{compressed:s,encrypted:a,useCompressionStream:i,zipCrypto:o,signed:l,level:c}=e,f=this;let u,p,d=me(super.readable);a&&!o||!l||(u=new S,d=Se(d,u)),s&&(d=ke(d,i,{level:c,chunkSize:t},r,n)),a&&(o?d=Se(d,new ce(e)):(p=new te(e),d=Se(d,p))),_e(f,d,(()=>{let e;a&&!o&&(e=p.signature),a&&!o||!l||(e=new h(u.value.buffer).getUint32(0)),f.signature=e}))}}class be extends g{constructor(e,{chunkSize:t,DecompressionStream:n,DecompressionStreamNative:r}){super({});const{zipCrypto:a,encrypted:i,signed:o,signature:l,compressed:c,useCompressionStream:f}=e;let u,p,d=me(super.readable);i&&(a?d=Se(d,new le(e)):(p=new ee(e),d=Se(d,p))),c&&(d=ke(d,f,{chunkSize:t},r,n)),i&&!a||!o||(u=new S,d=Se(d,u)),_e(this,d,(()=>{if((!i||a)&&o){const e=new h(u.value.buffer);if(l!=e.getUint32(0,!1))throw new s(R)}}))}}function me(e){return Se(e,new g({transform(e,t){e&&e.length&&t.enqueue(e)}}))}function _e(e,n,r){n=Se(n,new g({flush:r})),t.defineProperty(e,\"readable\",{get:()=>n})}function ke(e,t,n,r,s){try{e=Se(e,new(t&&r?r:s)(ve,n))}catch(r){if(!t)throw r;e=Se(e,new s(ve,n))}return e}function Se(e,t){return e.pipeThrough(t)}const ze=\"data\";class De extends g{constructor(e,n){super({});const r=this,{codecType:s}=e;let a;s.startsWith(\"deflate\")?a=ye:s.startsWith(\"inflate\")&&(a=be);let i=0;const o=new a(e,n),l=super.readable,c=new g({transform(e,t){e&&e.length&&(i+=e.length,t.enqueue(e))},flush(){const{signature:e}=o;t.assign(r,{signature:e,size:i})}});t.defineProperty(r,\"readable\",{get:()=>l.pipeThrough(o).pipeThrough(c)})}}const Ce=new c,Ie=new c;let xe=0;async function Ae(e){try{const{options:t,scripts:r,config:s}=e;r&&r.length&&importScripts.apply(void 0,r),self.initCodec&&self.initCodec(),s.CompressionStreamNative=self.CompressionStream,s.DecompressionStreamNative=self.DecompressionStream,self.Deflate&&(s.CompressionStream=new m(self.Deflate)),self.Inflate&&(s.DecompressionStream=new m(self.Inflate));const a={highWaterMark:1,size:()=>s.chunkSize},i=e.readable||new w({async pull(e){const t=new f((e=>Ce.set(xe,e)));Te({type:\"pull\",messageId:xe}),xe=(xe+1)%n.MAX_SAFE_INTEGER;const{value:r,done:s}=await t;e.enqueue(r),s&&e.close()}},a),o=e.writable||new v({async write(e){let t;const r=new f((e=>t=e));Ie.set(xe,t),Te({type:ze,value:e,messageId:xe}),xe=(xe+1)%n.MAX_SAFE_INTEGER,await r}},a),l=new De(t,s);await i.pipeThrough(l).pipeTo(o,{preventClose:!0,preventAbort:!0});try{await o.getWriter().close()}catch(e){}const{signature:c,size:h}=l;Te({type:\"close\",result:{signature:c,size:h}})}catch(e){Re(e)}}function Te(e){let{value:t}=e;if(t)if(t.length)try{t=new a(t),e.value=t.buffer,d(e,[e.value])}catch(t){d(e)}else d(e);else d(e)}function Re(e=new s(\"Unknown error\")){const{message:t,stack:n,code:r,name:a}=e;d({error:{message:t,stack:n,code:r,name:a}})}addEventListener(\"message\",(({data:e})=>{const{type:t,messageId:n,value:r,done:s}=e;try{if(\"start\"==t&&Ae(e),t==ze){const e=Ce.get(n);Ce.delete(n),e({value:new a(r),done:s})}if(\"ack\"==t){const e=Ie.get(n);Ie.delete(n),e()}}catch(e){Re(e)}}));var He=a,qe=i,Be=l,Ke=new He([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Ve=new He([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),Pe=new He([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Ee=(e,t)=>{for(var n=new qe(31),r=0;31>r;++r)n[r]=t+=1<<e[r-1];var s=new Be(n[30]);for(r=1;30>r;++r)for(var a=n[r];a<n[r+1];++a)s[a]=a-n[r]<<5|r;return{b:n,r:s}},Ue=Ee(Ke,2),We=Ue.b,Me=Ue.r;We[28]=258,Me[258]=28;for(var Ne=Ee(Ve,0),Oe=Ne.b,Fe=Ne.r,Le=new qe(32768),je=0;32768>je;++je){var Ge=(43690&je)>>1|(21845&je)<<1;Ge=(61680&(Ge=(52428&Ge)>>2|(13107&Ge)<<2))>>4|(3855&Ge)<<4,Le[je]=((65280&Ge)>>8|(255&Ge)<<8)>>1}var Xe=(e,t,n)=>{for(var r=e.length,s=0,a=new qe(t);r>s;++s)e[s]&&++a[e[s]-1];var i,o=new qe(t);for(s=1;t>s;++s)o[s]=o[s-1]+a[s-1]<<1;if(n){i=new qe(1<<t);var l=15-t;for(s=0;r>s;++s)if(e[s])for(var c=s<<4|e[s],h=t-e[s],f=o[e[s]-1]++<<h,u=f|(1<<h)-1;u>=f;++f)i[Le[f]>>l]=c}else for(i=new qe(r),s=0;r>s;++s)e[s]&&(i[s]=Le[o[e[s]-1]++]>>15-e[s]);return i},Je=new He(288);for(je=0;144>je;++je)Je[je]=8;for(je=144;256>je;++je)Je[je]=9;for(je=256;280>je;++je)Je[je]=7;for(je=280;288>je;++je)Je[je]=8;var Qe=new He(32);for(je=0;32>je;++je)Qe[je]=5;var Ye=Xe(Je,9,0),Ze=Xe(Je,9,1),$e=Xe(Qe,5,0),et=Xe(Qe,5,1),tt=e=>{for(var t=e[0],n=1;n<e.length;++n)e[n]>t&&(t=e[n]);return t},nt=(e,t,n)=>{var r=t/8|0;return(e[r]|e[r+1]<<8)>>(7&t)&n},rt=(e,t)=>{var n=t/8|0;return(e[n]|e[n+1]<<8|e[n+2]<<16)>>(7&t)},st=e=>(e+7)/8|0,at=(e,t,n)=>((null==t||0>t)&&(t=0),(null==n||n>e.length)&&(n=e.length),new He(e.subarray(t,n))),it=[\"unexpected EOF\",\"invalid block type\",\"invalid length/literal\",\"invalid distance\",\"stream finished\",\"no stream handler\",,\"no callback\",\"invalid UTF-8 data\",\"extra field too long\",\"date not in range 1980-2099\",\"filename too long\",\"stream finishing\",\"invalid zip data\"],ot=(e,t,n)=>{var r=new s(t||it[e]);if(r.code=e,s.captureStackTrace&&s.captureStackTrace(r,ot),!n)throw r;return r},lt=(e,t,n)=>{n<<=7&t;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8},ct=(e,t,n)=>{n<<=7&t;var r=t/8|0;e[r]|=n,e[r+1]|=n>>8,e[r+2]|=n>>16},ht=(e,t)=>{for(var n=[],r=0;r<e.length;++r)e[r]&&n.push({s:r,f:e[r]});var s=n.length,a=n.slice();if(!s)return{t:vt,l:0};if(1==s){var i=new He(n[0].s+1);return i[n[0].s]=1,{t:i,l:1}}n.sort(((e,t)=>e.f-t.f)),n.push({s:-1,f:25001});var o=n[0],l=n[1],c=0,h=1,f=2;for(n[0]={s:-1,f:o.f+l.f,l:o,r:l};h!=s-1;)o=n[n[c].f<n[f].f?c++:f++],l=n[c!=h&&n[c].f<n[f].f?c++:f++],n[h++]={s:-1,f:o.f+l.f,l:o,r:l};var u=a[0].s;for(r=1;s>r;++r)a[r].s>u&&(u=a[r].s);var p=new qe(u+1),d=ft(n[h-1],p,0);if(d>t){r=0;var g=0,w=d-t,v=1<<w;for(a.sort(((e,t)=>p[t.s]-p[e.s]||e.f-t.f));s>r;++r){var y=a[r].s;if(p[y]<=t)break;g+=v-(1<<d-p[y]),p[y]=t}for(g>>=w;g>0;){var b=a[r].s;p[b]<t?g-=1<<t-p[b]++-1:++r}for(;r>=0&&g;--r){var m=a[r].s;p[m]==t&&(--p[m],++g)}d=t}return{t:new He(p),l:d}},ft=(e,t,n)=>-1==e.s?r.max(ft(e.l,t,n+1),ft(e.r,t,n+1)):t[e.s]=n,ut=e=>{for(var t=e.length;t&&!e[--t];);for(var n=new qe(++t),r=0,s=e[0],a=1,i=e=>{n[r++]=e},o=1;t>=o;++o)if(e[o]==s&&o!=t)++a;else{if(!s&&a>2){for(;a>138;a-=138)i(32754);a>2&&(i(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(i(s),--a;a>6;a-=6)i(8304);a>2&&(i(a-3<<5|8208),a=0)}for(;a--;)i(s);a=1,s=e[o]}return{c:n.subarray(0,r),n:t}},pt=(e,t)=>{for(var n=0,r=0;r<t.length;++r)n+=e[r]*t[r];return n},dt=(e,t,n)=>{var r=n.length,s=st(t+2);e[s]=255&r,e[s+1]=r>>8,e[s+2]=255^e[s],e[s+3]=255^e[s+1];for(var a=0;r>a;++a)e[s+a+4]=n[a];return 8*(s+4+r)},gt=(e,t,n,r,s,a,i,o,l,c,h)=>{lt(t,h++,n),++s[256];for(var f=ht(s,15),u=f.t,p=f.l,d=ht(a,15),g=d.t,w=d.l,v=ut(u),y=v.c,b=v.n,m=ut(g),_=m.c,k=m.n,S=new qe(19),z=0;z<y.length;++z)++S[31&y[z]];for(z=0;z<_.length;++z)++S[31&_[z]];for(var D=ht(S,7),C=D.t,I=D.l,x=19;x>4&&!C[Pe[x-1]];--x);var A,T,R,H,q=c+5<<3,B=pt(s,Je)+pt(a,Qe)+i,K=pt(s,u)+pt(a,g)+i+14+3*x+pt(S,C)+2*S[16]+3*S[17]+7*S[18];if(l>=0&&B>=q&&K>=q)return dt(t,h,e.subarray(l,l+c));if(lt(t,h,1+(B>K)),h+=2,B>K){A=Xe(u,p,0),T=u,R=Xe(g,w,0),H=g;var V=Xe(C,I,0);for(lt(t,h,b-257),lt(t,h+5,k-1),lt(t,h+10,x-4),h+=14,z=0;x>z;++z)lt(t,h+3*z,C[Pe[z]]);h+=3*x;for(var P=[y,_],E=0;2>E;++E){var U=P[E];for(z=0;z<U.length;++z){var W=31&U[z];lt(t,h,V[W]),h+=C[W],W>15&&(lt(t,h,U[z]>>5&127),h+=U[z]>>12)}}}else A=Ye,T=Je,R=$e,H=Qe;for(z=0;o>z;++z){var M=r[z];if(M>255){ct(t,h,A[257+(W=M>>18&31)]),h+=T[W+257],W>7&&(lt(t,h,M>>23&31),h+=Ke[W]);var N=31&M;ct(t,h,R[N]),h+=H[N],N>3&&(ct(t,h,M>>5&8191),h+=Ve[N])}else ct(t,h,A[M]),h+=T[M]}return ct(t,h,A[256]),h+T[256]},wt=new Be([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),vt=new He(0),yt=function(){function e(e,t){if(\"function\"==typeof e&&(t=e,e={}),this.ondata=t,this.o=e||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new He(98304),this.o.dictionary){var n=this.o.dictionary.subarray(-32768);this.b.set(n,32768-n.length),this.s.i=32768-n.length}}return e.prototype.p=function(e,t){this.ondata(((e,t,n,s,a)=>{if(!a&&(a={l:1},t.dictionary)){var i=t.dictionary.subarray(-32768),o=new He(i.length+e.length);o.set(i),o.set(e,i.length),e=o,a.w=i.length}return((e,t,n,s,a,i)=>{var o=i.z||e.length,l=new He(0+o+5*(1+r.ceil(o/7e3))+0),c=l.subarray(0,l.length-0),h=i.l,f=7&(i.r||0);if(t){f&&(c[0]=i.r>>3);for(var u=wt[t-1],p=u>>13,d=8191&u,g=(1<<n)-1,w=i.p||new qe(32768),v=i.h||new qe(g+1),y=r.ceil(n/3),b=2*y,m=t=>(e[t]^e[t+1]<<y^e[t+2]<<b)&g,_=new Be(25e3),k=new qe(288),S=new qe(32),z=0,D=0,C=i.i||0,I=0,x=i.w||0,A=0;o>C+2;++C){var T=m(C),R=32767&C,H=v[T];if(w[R]=H,v[T]=R,C>=x){var q=o-C;if((z>7e3||I>24576)&&(q>423||!h)){f=gt(e,c,0,_,k,S,D,I,A,C-A,f),I=z=D=0,A=C;for(var B=0;286>B;++B)k[B]=0;for(B=0;30>B;++B)S[B]=0}var K=2,V=0,P=d,E=R-H&32767;if(q>2&&T==m(C-E))for(var U=r.min(p,q)-1,W=r.min(32767,C),M=r.min(258,q);W>=E&&--P&&R!=H;){if(e[C+K]==e[C+K-E]){for(var N=0;M>N&&e[C+N]==e[C+N-E];++N);if(N>K){if(K=N,V=E,N>U)break;var O=r.min(E,N-2),F=0;for(B=0;O>B;++B){var L=C-E+B&32767,j=L-w[L]&32767;j>F&&(F=j,H=L)}}}E+=(R=H)-(H=w[R])&32767}if(V){_[I++]=268435456|Me[K]<<18|Fe[V];var G=31&Me[K],X=31&Fe[V];D+=Ke[G]+Ve[X],++k[257+G],++S[X],x=C+K,++z}else _[I++]=e[C],++k[e[C]]}}for(C=r.max(C,x);o>C;++C)_[I++]=e[C],++k[e[C]];f=gt(e,c,h,_,k,S,D,I,A,C-A,f),h||(i.r=7&f|c[f/8|0]<<3,f-=7,i.h=v,i.p=w,i.i=C,i.w=x)}else{for(C=i.w||0;o+h>C;C+=65535){var J=C+65535;o>J||(c[f/8|0]=h,J=o),f=dt(c,f+1,e.subarray(C,J))}i.i=o}return at(l,0,0+st(f)+0)})(e,null==t.level?6:t.level,null==t.mem?r.ceil(1.5*r.max(8,r.min(13,r.log(e.length)))):12+t.mem,0,0,a)})(e,this.o,0,0,this.s),t)},e.prototype.push=function(e,t){this.ondata||ot(5),this.s.l&&ot(4);var n=e.length+this.s.z;if(n>this.b.length){if(n>2*this.b.length-32768){var r=new He(-32768&n);r.set(this.b.subarray(0,this.s.z)),this.b=r}var s=this.b.length-this.s.z;s&&(this.b.set(e.subarray(0,s),this.s.z),this.s.z=this.b.length,this.p(this.b,!1)),this.b.set(this.b.subarray(-32768)),this.b.set(e.subarray(s),32768),this.s.z=e.length-s+32768,this.s.i=32766,this.s.w=32768}else this.b.set(e,this.s.z),this.s.z+=e.length;this.s.l=1&t,(this.s.z>this.s.w+8191||t)&&(this.p(this.b,t||!1),this.s.w=this.s.i,this.s.i-=2)},e}(),bt=function(){function e(e,t){\"function\"==typeof e&&(t=e,e={}),this.ondata=t;var n=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:n?n.length:0},this.o=new He(32768),this.p=new He(0),n&&this.o.set(n)}return e.prototype.e=function(e){if(this.ondata||ot(5),this.d&&ot(4),this.p.length){if(e.length){var t=new He(this.p.length+e.length);t.set(this.p),t.set(e,this.p.length),this.p=t}}else this.p=e},e.prototype.c=function(e){this.s.i=+(this.d=e||!1);var t=this.s.b,n=((e,t,n)=>{var s=e.length;if(!s||t.f&&!t.l)return n||new He(0);var a=!n,i=a||2!=t.i,o=t.i;a&&(n=new He(3*s));var l=e=>{var t=n.length;if(e>t){var s=new He(r.max(2*t,e));s.set(n),n=s}},c=t.f||0,h=t.p||0,f=t.b||0,u=t.l,p=t.d,d=t.m,g=t.n,w=8*s;do{if(!u){c=nt(e,h,1);var v=nt(e,h+1,3);if(h+=3,!v){var y=e[(A=st(h)+4)-4]|e[A-3]<<8,b=A+y;if(b>s){o&&ot(0);break}i&&l(f+y),n.set(e.subarray(A,b),f),t.b=f+=y,t.p=h=8*b,t.f=c;continue}if(1==v)u=Ze,p=et,d=9,g=5;else if(2==v){var m=nt(e,h,31)+257,_=nt(e,h+10,15)+4,k=m+nt(e,h+5,31)+1;h+=14;for(var S=new He(k),z=new He(19),D=0;_>D;++D)z[Pe[D]]=nt(e,h+3*D,7);h+=3*_;var C=tt(z),I=(1<<C)-1,x=Xe(z,C,1);for(D=0;k>D;){var A,T=x[nt(e,h,I)];if(h+=15&T,16>(A=T>>4))S[D++]=A;else{var R=0,H=0;for(16==A?(H=3+nt(e,h,3),h+=2,R=S[D-1]):17==A?(H=3+nt(e,h,7),h+=3):18==A&&(H=11+nt(e,h,127),h+=7);H--;)S[D++]=R}}var q=S.subarray(0,m),B=S.subarray(m);d=tt(q),g=tt(B),u=Xe(q,d,1),p=Xe(B,g,1)}else ot(1);if(h>w){o&&ot(0);break}}i&&l(f+131072);for(var K=(1<<d)-1,V=(1<<g)-1,P=h;;P=h){var E=(R=u[rt(e,h)&K])>>4;if((h+=15&R)>w){o&&ot(0);break}if(R||ot(2),256>E)n[f++]=E;else{if(256==E){P=h,u=null;break}var U=E-254;if(E>264){var W=Ke[D=E-257];U=nt(e,h,(1<<W)-1)+We[D],h+=W}var M=p[rt(e,h)&V],N=M>>4;if(M||ot(3),h+=15&M,B=Oe[N],N>3&&(W=Ve[N],B+=rt(e,h)&(1<<W)-1,h+=W),h>w){o&&ot(0);break}i&&l(f+131072);var O=f+U;if(B>f){var F=0-B,L=r.min(B,O);for(0>F+f&&ot(3);L>f;++f)n[f]=undefined[F+f]}for(;O>f;++f)n[f]=n[f-B]}}t.l=u,t.p=P,t.b=f,t.f=c,u&&(c=1,t.m=d,t.d=p,t.n=g)}while(!c);return f!=n.length&&a?at(n,0,f):n.subarray(0,f)})(this.p,this.s,this.o);this.ondata(at(n,t,this.s.b),this.d),this.o=at(n,this.s.b-32768),this.s.b=this.o.length,this.p=at(this.p,this.s.p/8|0),this.s.p&=7},e.prototype.push=function(e,t){this.e(e),this.c(t)},e}(),mt=\"undefined\"!=typeof TextDecoder&&new TextDecoder;try{mt.decode(vt,{stream:!0})}catch(e){}function _t(e,n,r){return class{constructor(s){const i=this;var o,l;o=s,l=\"level\",(\"function\"==typeof t.hasOwn?t.hasOwn(o,l):o.hasOwnProperty(l))&&void 0===s.level&&delete s.level,i.codec=new e(t.assign({},n,s)),r(i.codec,(e=>{if(i.pendingData){const t=i.pendingData;i.pendingData=new a(t.length+e.length);const{pendingData:n}=i;n.set(t,0),n.set(e,t.length)}else i.pendingData=new a(e)}))}append(e){return this.codec.push(e),s(this)}flush(){return this.codec.push(new a,!0),s(this)}};function s(e){if(e.pendingData){const t=e.pendingData;return e.pendingData=null,t}return new a}}const{Deflate:kt,Inflate:St}=((e,t={},n)=>({Deflate:_t(e.Deflate,t.deflate,n),Inflate:_t(e.Inflate,t.inflate,n)}))({Deflate:yt,Inflate:bt},void 0,((e,t)=>e.ondata=t));self.initCodec=()=>{self.Deflate=kt,self.Inflate=St};\n`],{type:\"text/javascript\"}));e({workerScripts:{inflate:[t],deflate:[t]}})}function sf(){return\"application/octet-stream\"}function lf(e,t={},a){return{Deflate:Ic(e.Deflate,t.deflate,a),Inflate:Ic(e.Inflate,t.inflate,a)}}function cf(e,t){return typeof N.hasOwn==\"function\"?N.hasOwn(e,t):e.hasOwnProperty(t)}function Ic(e,t,a){return class{constructor(i){let n=this,s=r=>{if(n.pendingData){let l=n.pendingData;n.pendingData=new P(l.length+r.length);let{pendingData:c}=n;c.set(l,0),c.set(r,l.length)}else n.pendingData=new P(r)};cf(i,\"level\")&&i.level===void 0&&delete i.level,n.codec=new e(N.assign({},t,i)),a(n.codec,s)}append(i){return this.codec.push(i),o(this)}flush(){return this.codec.push(new P,!0),o(this)}};function o(i){if(i.pendingData){let n=i.pendingData;return i.pendingData=null,n}else return new P}}var pd=[];for(let e=0;e<256;e++){let t=e;for(let a=0;a<8;a++)t&1?t=t>>>1^3988292384:t=t>>>1;pd[e]=t}var ba=class{constructor(t){this.crc=t||-1}append(t){let a=this.crc|0;for(let o=0,i=t.length|0;o<i;o++)a=a>>>8^pd[(a^t[o])&255];this.crc=a}get(){return~this.crc}},yi=class extends Oe{constructor(){let t,a=new ba;super({transform(o,i){a.append(o),i.enqueue(o)},flush(){let o=new P(4);new ea(o.buffer).setUint32(0,a.get()),t.value=o}}),t=this}};function or(e){if(typeof jc>\"u\"){e=unescape(encodeURIComponent(e));let t=new P(e.length);for(let a=0;a<t.length;a++)t[a]=e.charCodeAt(a);return t}else return new jc().encode(e)}var _e={concat(e,t){if(e.length===0||t.length===0)return e.concat(t);let a=e[e.length-1],o=_e.getPartial(a);return o===32?e.concat(t):_e._shiftRight(t,o,a|0,e.slice(0,e.length-1))},bitLength(e){let t=e.length;if(t===0)return 0;let a=e[t-1];return(t-1)*32+_e.getPartial(a)},clamp(e,t){if(e.length*32<t)return e;e=e.slice(0,ie.ceil(t/32));let a=e.length;return t=t&31,a>0&&t&&(e[a-1]=_e.partial(t,e[a-1]&2147483648>>t-1,1)),e},partial(e,t,a){return e===32?t:(a?t|0:t<<32-e)+e*1099511627776},getPartial(e){return ie.round(e/1099511627776)||32},_shiftRight(e,t,a,o){for(o===void 0&&(o=[]);t>=32;t-=32)o.push(a),a=0;if(t===0)return o.concat(e);for(let s=0;s<e.length;s++)o.push(a|e[s]>>>t),a=e[s]<<32-t;let i=e.length?e[e.length-1]:0,n=_e.getPartial(i);return o.push(_e.partial(t+n&31,t+n>32?a:o.pop(),1)),o}},ki={bytes:{fromBits(e){let a=_e.bitLength(e)/8,o=new P(a),i;for(let n=0;n<a;n++)n&3||(i=e[n/4]),o[n]=i>>>24,i<<=8;return o},toBits(e){let t=[],a,o=0;for(a=0;a<e.length;a++)o=o<<8|e[a],(a&3)===3&&(t.push(o),o=0);return a&3&&t.push(_e.partial(8*(a&3),o)),t}}},gd={};gd.sha1=class{constructor(e){let t=this;t.blockSize=512,t._init=[1732584193,4023233417,2562383102,271733878,3285377520],t._key=[1518500249,1859775393,2400959708,3395469782],e?(t._h=e._h.slice(0),t._buffer=e._buffer.slice(0),t._length=e._length):t.reset()}reset(){let e=this;return e._h=e._init.slice(0),e._buffer=[],e._length=0,e}update(e){let t=this;typeof e==\"string\"&&(e=ki.utf8String.toBits(e));let a=t._buffer=_e.concat(t._buffer,e),o=t._length,i=t._length=o+_e.bitLength(e);if(i>9007199254740991)throw new B(\"Cannot hash more than 2^53 - 1 bits\");let n=new Mr(a),s=0;for(let r=t.blockSize+o-(t.blockSize+o&t.blockSize-1);r<=i;r+=t.blockSize)t._block(n.subarray(16*s,16*(s+1))),s+=1;return a.splice(0,16*s),t}finalize(){let e=this,t=e._buffer,a=e._h;t=_e.concat(t,[_e.partial(1,1)]);for(let o=t.length+2;o&15;o++)t.push(0);for(t.push(ie.floor(e._length/4294967296)),t.push(e._length|0);t.length;)e._block(t.splice(0,16));return e.reset(),a}_f(e,t,a,o){if(e<=19)return t&a|~t&o;if(e<=39)return t^a^o;if(e<=59)return t&a|t&o|a&o;if(e<=79)return t^a^o}_S(e,t){return t<<e|t>>>32-e}_block(e){let t=this,a=t._h,o=Ot(80);for(let c=0;c<16;c++)o[c]=e[c];let i=a[0],n=a[1],s=a[2],r=a[3],l=a[4];for(let c=0;c<=79;c++){c>=16&&(o[c]=t._S(1,o[c-3]^o[c-8]^o[c-14]^o[c-16]));let d=t._S(5,i)+t._f(c,n,s,r)+l+o[c]+t._key[ie.floor(c/20)]|0;l=r,r=s,s=t._S(30,n),n=i,i=d}a[0]=a[0]+i|0,a[1]=a[1]+n|0,a[2]=a[2]+s|0,a[3]=a[3]+r|0,a[4]=a[4]+l|0}};var wd={};wd.aes=class{constructor(e){let t=this;t._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],t._tables[0][0][0]||t._precompute();let a=t._tables[0][4],o=t._tables[1],i=e.length,n,s,r,l=1;if(i!==4&&i!==6&&i!==8)throw new B(\"invalid aes key size\");for(t._key=[s=e.slice(0),r=[]],n=i;n<4*i+28;n++){let c=s[n-1];(n%i===0||i===8&&n%i===4)&&(c=a[c>>>24]<<24^a[c>>16&255]<<16^a[c>>8&255]<<8^a[c&255],n%i===0&&(c=c<<8^c>>>24^l<<24,l=l<<1^(l>>7)*283)),s[n]=s[n-i]^c}for(let c=0;n;c++,n--){let d=s[c&3?n:n-4];n<=4||c<4?r[c]=d:r[c]=o[0][a[d>>>24]]^o[1][a[d>>16&255]]^o[2][a[d>>8&255]]^o[3][a[d&255]]}}encrypt(e){return this._crypt(e,0)}decrypt(e){return this._crypt(e,1)}_precompute(){let e=this._tables[0],t=this._tables[1],a=e[4],o=t[4],i=[],n=[],s,r,l,c;for(let d=0;d<256;d++)n[(i[d]=d<<1^(d>>7)*283)^d]=d;for(let d=s=0;!a[d];d^=r||1,s=n[s]||1){let m=s^s<<1^s<<2^s<<3^s<<4;m=m>>8^m&255^99,a[d]=m,o[m]=d,c=i[l=i[r=i[d]]];let h=c*16843009^l*65537^r*257^d*16843008,u=i[m]*257^m*16843008;for(let p=0;p<4;p++)e[p][d]=u=u<<24^u>>>8,t[p][m]=h=h<<24^h>>>8}for(let d=0;d<5;d++)e[d]=e[d].slice(0),t[d]=t[d].slice(0)}_crypt(e,t){if(e.length!==4)throw new B(\"invalid aes block size\");let a=this._key[t],o=a.length/4-2,i=[0,0,0,0],n=this._tables[t],s=n[0],r=n[1],l=n[2],c=n[3],d=n[4],m=e[0]^a[0],h=e[t?3:1]^a[1],u=e[2]^a[2],p=e[t?1:3]^a[3],w=4,b,E,S;for(let y=0;y<o;y++)b=s[m>>>24]^r[h>>16&255]^l[u>>8&255]^c[p&255]^a[w],E=s[h>>>24]^r[u>>16&255]^l[p>>8&255]^c[m&255]^a[w+1],S=s[u>>>24]^r[p>>16&255]^l[m>>8&255]^c[h&255]^a[w+2],p=s[p>>>24]^r[m>>16&255]^l[h>>8&255]^c[u&255]^a[w+3],w+=4,m=b,h=E,u=S;for(let y=0;y<4;y++)i[t?3&-y:y]=d[m>>>24]<<24^d[h>>16&255]<<16^d[u>>8&255]<<8^d[p&255]^a[w++],b=m,m=h,h=u,u=p,p=b;return i}};var df={getRandomValues(e){let t=new Mr(e.buffer),a=o=>{let i=987654321,n=4294967295;return function(){return i=36969*(i&65535)+(i>>16)&n,o=18e3*(o&65535)+(o>>16)&n,(((i<<16)+o&n)/4294967296+.5)*(ie.random()>.5?1:-1)}};for(let o=0,i;o<e.length;o+=4){let n=a((i||ie.random())*4294967296);i=n()*987654071,t[o/4]=n()*4294967296|0}return e}},fd={};fd.ctrGladman=class{constructor(e,t){this._prf=e,this._initIv=t,this._iv=t}reset(){this._iv=this._initIv}update(e){return this.calculate(this._prf,e,this._iv)}incWord(e){if((e>>24&255)===255){let t=e>>16&255,a=e>>8&255,o=e&255;t===255?(t=0,a===255?(a=0,o===255?o=0:++o):++a):++t,e=0,e+=t<<16,e+=a<<8,e+=o}else e+=1<<24;return e}incCounter(e){(e[0]=this.incWord(e[0]))===0&&(e[1]=this.incWord(e[1]))}calculate(e,t,a){let o;if(!(o=t.length))return[];let i=_e.bitLength(t);for(let n=0;n<o;n+=4){this.incCounter(a);let s=e.encrypt(a);t[n]^=s[0],t[n+1]^=s[1],t[n+2]^=s[2],t[n+3]^=s[3]}return _e.clamp(t,i)}};var Zt={importKey(e){return new Zt.hmacSha1(ki.bytes.toBits(e))},pbkdf2(e,t,a,o){if(a=a||1e4,o<0||a<0)throw new B(\"invalid params to pbkdf2\");let i=(o>>5)+1<<2,n,s,r,l,c,d=new ArrayBuffer(i),m=new ea(d),h=0,u=_e;for(t=ki.bytes.toBits(t),c=1;h<(i||1);c++){for(n=s=e.encrypt(u.concat(t,[c])),r=1;r<a;r++)for(s=e.encrypt(s),l=0;l<s.length;l++)n[l]^=s[l];for(r=0;h<(i||1)&&r<n.length;r++)m.setInt32(h,n[r]),h+=4}return d.slice(0,o/8)}};Zt.hmacSha1=class{constructor(e){let t=this,a=t._hash=gd.sha1,o=[[],[]];t._baseHash=[new a,new a];let i=t._baseHash[0].blockSize/32;e.length>i&&(e=new a().update(e).finalize());for(let n=0;n<i;n++)o[0][n]=e[n]^909522486,o[1][n]=e[n]^1549556828;t._baseHash[0].update(o[0]),t._baseHash[1].update(o[1]),t._resultHash=new a(t._baseHash[0])}reset(){let e=this;e._resultHash=new e._hash(e._baseHash[0]),e._updated=!1}update(e){let t=this;t._updated=!0,t._resultHash.update(e)}digest(){let e=this,t=e._resultHash.finalize(),a=new e._hash(e._baseHash[1]).update(t).finalize();return e.reset(),a}encrypt(e){if(this._updated)throw new B(\"encrypt on already updated hmac called!\");return this.update(e),this.digest(e)}};var mf=typeof po<\"u\"&&typeof po.getRandomValues==\"function\",Or=\"Invalid password\",Fr=\"Invalid signature\",Br=\"zipjs-abort-check-password\";function bd(e){return mf?po.getRandomValues(e):df.getRandomValues(e)}var ga=16,hf=\"raw\",yd={name:\"PBKDF2\"},uf={name:\"HMAC\"},pf=\"SHA-1\",gf=N.assign({hash:uf},yd),ir=N.assign({iterations:1e3,hash:{name:pf}},yd),wf=[\"deriveBits\"],go=[8,12,16],co=[16,24,32],Pt=10,ff=[0,0,0,0],kd=\"undefined\",vd=\"function\",ji=typeof po!=kd,Co=ji&&po.subtle,Sd=ji&&typeof Co!=kd,gt=ki.bytes,bf=wd.aes,yf=fd.ctrGladman,kf=Zt.hmacSha1,_c=ji&&Sd&&typeof Co.importKey==vd,Mc=ji&&Sd&&typeof Co.deriveBits==vd,nr=class extends Oe{constructor({password:t,signed:a,encryptionStrength:o,checkPasswordOnly:i}){super({start(){N.assign(this,{ready:new Ge(n=>this.resolveReady=n),password:t,signed:a,strength:o-1,pending:new P})},async transform(n,s){let r=this,{password:l,strength:c,resolveReady:d,ready:m}=r;l?(await vf(r,c,l,$e(n,0,go[c]+2)),n=$e(n,go[c]+2),i?s.error(new B(Br)):d()):await m;let h=new P(n.length-Pt-(n.length-Pt)%ga);s.enqueue(Ed(r,n,h,0,Pt,!0))},async flush(n){let{signed:s,ctr:r,hmac:l,pending:c,ready:d}=this;if(l&&r){await d;let m=$e(c,0,c.length-Pt),h=$e(c,c.length-Pt),u=new P;if(m.length){let p=fo(gt,m);l.update(p);let w=r.update(p);u=wo(gt,w)}if(s){let p=$e(wo(gt,l.digest()),0,Pt);for(let w=0;w<Pt;w++)if(p[w]!=h[w])throw new B(Fr)}n.enqueue(u)}}})}},rr=class extends Oe{constructor({password:t,encryptionStrength:a}){let o;super({start(){N.assign(this,{ready:new Ge(i=>this.resolveReady=i),password:t,strength:a-1,pending:new P})},async transform(i,n){let s=this,{password:r,strength:l,resolveReady:c,ready:d}=s,m=new P;r?(m=await Sf(s,l,r),c()):await d;let h=new P(m.length+i.length-i.length%ga);h.set(m,0),n.enqueue(Ed(s,i,h,m.length,0))},async flush(i){let{ctr:n,hmac:s,pending:r,ready:l}=this;if(s&&n){await l;let c=new P;if(r.length){let d=n.update(fo(gt,r));s.update(d),c=wo(gt,d)}o.signature=wo(gt,s.digest()).slice(0,Pt),i.enqueue(Ur(c,o.signature))}}}),o=this}};function Ed(e,t,a,o,i,n){let{ctr:s,hmac:r,pending:l}=e,c=t.length-i;l.length&&(t=Ur(l,t),a=Af(a,c-c%ga));let d;for(d=0;d<=c-ga;d+=ga){let m=fo(gt,$e(t,d,d+ga));n&&r.update(m);let h=s.update(m);n||r.update(h),a.set(wo(gt,h),d+o)}return e.pending=$e(t,d),a}async function vf(e,t,a,o){let i=await jd(e,t,a,$e(o,0,go[t])),n=$e(o,go[t]);if(i[0]!=n[0]||i[1]!=n[1])throw new B(Or)}async function Sf(e,t,a){let o=bd(new P(go[t])),i=await jd(e,t,a,o);return Ur(o,i)}async function jd(e,t,a,o){e.password=null;let i=or(a),n=await Ef(hf,i,gf,!1,wf),s=await jf(N.assign({salt:o},ir),n,8*(co[t]*2+2)),r=new P(s),l=fo(gt,$e(r,0,co[t])),c=fo(gt,$e(r,co[t],co[t]*2)),d=$e(r,co[t]*2);return N.assign(e,{keys:{key:l,authentication:c,passwordVerification:d},ctr:new yf(new bf(l),Ot.from(ff)),hmac:new kf(c)}),d}async function Ef(e,t,a,o,i){if(_c)try{return await Co.importKey(e,t,a,o,i)}catch{return _c=!1,Zt.importKey(t)}else return Zt.importKey(t)}async function jf(e,t,a){if(Mc)try{return await Co.deriveBits(e,t,a)}catch{return Mc=!1,Zt.pbkdf2(t,e.salt,ir.iterations,a)}else return Zt.pbkdf2(t,e.salt,ir.iterations,a)}function Ur(e,t){let a=e;return e.length+t.length&&(a=new P(e.length+t.length),a.set(e,0),a.set(t,e.length)),a}function Af(e,t){if(t&&t>e.length){let a=e;e=new P(t),e.set(a,0)}return e}function $e(e,t,a){return e.subarray(t,a)}function wo(e,t){return e.fromBits(t)}function fo(e,t){return e.toBits(t)}var wa=12,sr=class extends Oe{constructor({password:t,passwordVerification:a,checkPasswordOnly:o}){super({start(){N.assign(this,{password:t,passwordVerification:a}),Ad(this,t)},transform(i,n){let s=this;if(s.password){let r=Pc(s,i.subarray(0,wa));if(s.password=null,r[wa-1]!=s.passwordVerification)throw new B(Or);i=i.subarray(wa)}o?n.error(new B(Br)):n.enqueue(Pc(s,i))}})}},lr=class extends Oe{constructor({password:t,passwordVerification:a}){super({start(){N.assign(this,{password:t,passwordVerification:a}),Ad(this,t)},transform(o,i){let n=this,s,r;if(n.password){n.password=null;let l=bd(new P(wa));l[wa-1]=n.passwordVerification,s=new P(o.length+l.length),s.set(Dc(n,l),0),r=wa}else s=new P(o.length),r=0;s.set(Dc(n,o),r),i.enqueue(s)}})}};function Pc(e,t){let a=new P(t.length);for(let o=0;o<t.length;o++)a[o]=xd(e)^t[o],Hr(e,a[o]);return a}function Dc(e,t){let a=new P(t.length);for(let o=0;o<t.length;o++)a[o]=xd(e)^t[o],Hr(e,t[o]);return a}function Ad(e,t){let a=[305419896,591751049,878082192];N.assign(e,{keys:a,crcKey0:new ba(a[0]),crcKey2:new ba(a[2])});for(let o=0;o<t.length;o++)Hr(e,t.charCodeAt(o))}function Hr(e,t){let[a,o,i]=e.keys;e.crcKey0.append([t]),a=~e.crcKey0.get(),o=Nc(ie.imul(Nc(o+Cd(a)),134775813)+1),e.crcKey2.append([o>>>24]),i=~e.crcKey2.get(),e.keys=[a,o,i]}function xd(e){let t=e.keys[2]|2;return Cd(ie.imul(t,t^1)>>>8)}function Cd(e){return e&255}function Nc(e){return e&4294967295}var Oc=\"deflate-raw\",cr=class extends Oe{constructor(t,{chunkSize:a,CompressionStream:o,CompressionStreamNative:i}){super({});let{compressed:n,encrypted:s,useCompressionStream:r,zipCrypto:l,signed:c,level:d}=t,m=this,h,u,p=Td(super.readable);(!s||l)&&c&&(h=new yi,p=wt(p,h)),n&&(p=Rd(p,r,{level:d,chunkSize:a},i,o)),s&&(l?p=wt(p,new lr(t)):(u=new rr(t),p=wt(p,u))),Ld(m,p,()=>{let w;s&&!l&&(w=u.signature),(!s||l)&&c&&(w=new ea(h.value.buffer).getUint32(0)),m.signature=w})}},dr=class extends Oe{constructor(t,{chunkSize:a,DecompressionStream:o,DecompressionStreamNative:i}){super({});let{zipCrypto:n,encrypted:s,signed:r,signature:l,compressed:c,useCompressionStream:d}=t,m,h,u=Td(super.readable);s&&(n?u=wt(u,new sr(t)):(h=new nr(t),u=wt(u,h))),c&&(u=Rd(u,d,{chunkSize:a},i,o)),(!s||n)&&r&&(m=new yi,u=wt(u,m)),Ld(this,u,()=>{if((!s||n)&&r){let p=new ea(m.value.buffer);if(l!=p.getUint32(0,!1))throw new B(Fr)}})}};function Td(e){return wt(e,new Oe({transform(t,a){t&&t.length&&a.enqueue(t)}}))}function Ld(e,t,a){t=wt(t,new Oe({flush:a})),N.defineProperty(e,\"readable\",{get(){return t}})}function Rd(e,t,a,o,i){try{let n=t&&o?o:i;e=wt(e,new n(Oc,a))}catch(n){if(t)e=wt(e,new i(Oc,a));else throw n}return e}function wt(e,t){return e.pipeThrough(t)}var xf=\"message\",Cf=\"start\",Tf=\"pull\",Fc=\"data\",Lf=\"ack\",Rf=\"close\",zd=\"deflate\",Id=\"inflate\",mr=class extends Oe{constructor(t,a){super({});let o=this,{codecType:i}=t,n;i.startsWith(zd)?n=cr:i.startsWith(Id)&&(n=dr);let s=0,r=new n(t,a),l=super.readable,c=new Oe({transform(d,m){d&&d.length&&(s+=d.length,m.enqueue(d))},flush(){let{signature:d}=r;N.assign(o,{signature:d,size:s})}});N.defineProperty(o,\"readable\",{get(){return l.pipeThrough(r).pipeThrough(c)}})}},zf=typeof ui!=fi,uo=class{constructor(t,{readable:a,writable:o},{options:i,config:n,streamOptions:s,useWebWorkers:r,transferStreams:l,scripts:c},d){let{signal:m}=s;return N.assign(t,{busy:!0,readable:a.pipeThrough(new hr(a,s,n),{signal:m}),writable:o,options:N.assign({},i),scripts:c,transferStreams:l,terminate(){let{worker:h,busy:u}=t;h&&!u&&(h.terminate(),t.interface=null)},onTaskFinished(){t.busy=!1,d(t)}}),(r&&zf?_f:If)(t,n)}},hr=class extends Oe{constructor(t,{onstart:a,onprogress:o,size:i,onend:n},{chunkSize:s}){let r=0;super({start(){a&&Vn(a,i)},async transform(l,c){r+=l.length,o&&await Vn(o,r,i),c.enqueue(l)},flush(){t.size=r,n&&Vn(n,r)}},{highWaterMark:1,size:()=>s})}};async function Vn(e,...t){try{await e(...t)}catch{}}function If(e,t){return{run:()=>Mf(e,t)}}function _f(e,{baseURL:t,chunkSize:a}){return e.interface||N.assign(e,{worker:Nf(e.scripts[0],t,e),interface:{run:()=>Pf(e,{chunkSize:a})}}),e.interface}async function Mf({options:e,readable:t,writable:a,onTaskFinished:o},i){let n=new mr(e,i);try{await t.pipeThrough(n).pipeTo(a,{preventClose:!0,preventAbort:!0});let{signature:s,size:r}=n;return{signature:s,size:r}}finally{o()}}async function Pf(e,t){let a,o,i=new Ge((h,u)=>{a=h,o=u});N.assign(e,{reader:null,writer:null,resolveResult:a,rejectResult:o,result:i});let{readable:n,options:s,scripts:r}=e,{writable:l,closed:c}=Df(e.writable);ur({type:Cf,scripts:r.slice(1),options:s,config:t,readable:n,writable:l},e)||N.assign(e,{reader:n.getReader(),writer:l.getWriter()});let m=await i;try{await l.getWriter().close()}catch{}return await c,m}function Df(e){let t=e.getWriter(),a,o=new Ge(n=>a=n);return{writable:new Ao({async write(n){await t.ready,await t.write(n)},close(){t.releaseLock(),a()},abort(n){return t.abort(n)}}),closed:o}}var Bc=!0,Uc=!0;function Nf(e,t,a){let o={type:\"module\"},i,n;typeof e==md&&(e=e());try{i=new _r(e,t)}catch{i=e}if(Bc)try{n=new ui(i)}catch{Bc=!1,n=new ui(i,o)}else n=new ui(i,o);return n.addEventListener(xf,s=>Of(s,a)),n}function ur(e,{worker:t,writer:a,onTaskFinished:o,transferStreams:i}){try{let{value:n,readable:s,writable:r}=e,l=[];if(n&&(e.value=n.buffer,l.push(e.value)),i&&Uc?(s&&l.push(s),r&&l.push(r)):e.readable=e.writable=null,l.length)try{return t.postMessage(e,l),!0}catch{Uc=!1,e.readable=e.writable=null,t.postMessage(e)}else t.postMessage(e)}catch(n){throw a&&a.releaseLock(),o(),n}}async function Of({data:e},t){let{type:a,value:o,messageId:i,result:n,error:s}=e,{reader:r,writer:l,resolveResult:c,rejectResult:d,onTaskFinished:m}=t;try{if(s){let{message:u,stack:p,code:w,name:b}=s,E=new B(u);N.assign(E,{stack:p,code:w,name:b}),h(E)}else{if(a==Tf){let{value:u,done:p}=await r.read();ur({type:Fc,value:u,done:p,messageId:i},t)}a==Fc&&(await l.ready,await l.write(new P(o)),ur({type:Lf,messageId:i},t)),a==Rf&&h(null,n)}}catch(u){h(u)}function h(u,p){u?d(u):c(p),l&&l.releaseLock(),m()}}var Dt=[],Wn=[],Hc=0;async function _d(e,t){let{options:a,config:o}=t,{transferStreams:i,useWebWorkers:n,useCompressionStream:s,codecType:r,compressed:l,signed:c,encrypted:d}=a,{workerScripts:m,maxWorkers:h,terminateWorkerTimeout:u}=o;t.transferStreams=i||i===we;let p=!l&&!c&&!d&&!t.transferStreams;t.useWebWorkers=!p&&(n||n===we&&o.useWebWorkers),t.scripts=t.useWebWorkers&&m?m[r]:[],a.useCompressionStream=s||s===we&&o.useCompressionStream;let w,b=Dt.find(S=>!S.busy);if(b)pr(b),w=new uo(b,e,t,E);else if(Dt.length<h){let S={indexWorker:Hc};Hc++,Dt.push(S),w=new uo(S,e,t,E)}else w=await new Ge(S=>Wn.push({resolve:S,stream:e,workerOptions:t}));return w.run();function E(S){if(Wn.length){let[{resolve:y,stream:g,workerOptions:j}]=Wn.splice(0,1);y(new uo(S,g,j,E))}else S.worker?(pr(S),jo.isFinite(u)&&u>=0&&(S.terminateTimeout=setTimeout(()=>{Dt=Dt.filter(y=>y!=S),S.terminate()},u))):Dt=Dt.filter(y=>y!=S)}}function pr(e){let{terminateTimeout:t}=e;t&&(clearTimeout(t),e.terminateTimeout=null)}function Ff(){Dt.forEach(e=>{pr(e),e.terminate()})}var Md=\"HTTP error \",To=\"HTTP Range not supported\",Pd=\"Writer iterator completed too soon\",Bf=\"text/plain\",Uf=\"Content-Length\",Hf=\"Content-Range\",Gf=\"Accept-Ranges\",qf=\"Range\",Vf=\"Content-Type\",Wf=\"HEAD\",Gr=\"GET\",Dd=\"bytes\",Kf=64*1024,qr=\"writable\",ya=class{constructor(){this.size=0}init(){this.initialized=!0}},ft=class extends ya{get readable(){let t=this,{chunkSize:a=Kf}=t,o=new ed({start(){this.chunkOffset=0},async pull(i){let{offset:n=0,size:s,diskNumberStart:r}=o,{chunkOffset:l}=this;i.enqueue(await xe(t,n+l,ie.min(a,s-l),r)),l+a>s?i.close():this.chunkOffset+=a}});return o}},bo=class extends ya{constructor(){super();let t=this,a=new Ao({write(o){return t.writeUint8Array(o)}});N.defineProperty(t,qr,{get(){return a}})}writeUint8Array(){}},gr=class extends ft{constructor(t){super();let a=t.length;for(;t.charAt(a-1)==\"=\";)a--;let o=t.indexOf(\",\")+1;N.assign(this,{dataURI:t,dataStart:o,size:ie.floor((a-o)*.75)})}readUint8Array(t,a){let{dataStart:o,dataURI:i}=this,n=new P(a),s=ie.floor(t/3)*4,r=atob(i.substring(s+o,ie.ceil((t+a)/3)*4+o)),l=t-ie.floor(s/4)*3;for(let c=l;c<l+a;c++)n[c-l]=r.charCodeAt(c);return n}},wr=class extends bo{constructor(t){super(),N.assign(this,{data:\"data:\"+(t||\"\")+\";base64,\",pending:[]})}writeUint8Array(t){let a=this,o=0,i=a.pending,n=a.pending.length;for(a.pending=\"\",o=0;o<ie.floor((n+t.length)/3)*3-n;o++)i+=vc.fromCharCode(t[o]);for(;o<t.length;o++)a.pending+=vc.fromCharCode(t[o]);i.length>2?a.data+=Ac(i):a.pending=i}getData(){return this.data+Ac(this.pending)}},$t=class extends ft{constructor(t){super(),N.assign(this,{blob:t,size:t.size})}async readUint8Array(t,a){let o=this,i=t+a,s=await(t||i<o.size?o.blob.slice(t,i):o.blob).arrayBuffer();return s.byteLength>a&&(s=s.slice(t,i)),new P(s)}},yo=class extends ya{constructor(t){super();let a=this,o=new Oe,i=[];t&&i.push([Vf,t]),N.defineProperty(a,qr,{get(){return o.writable}}),a.blob=new Zc(o.readable,{headers:i}).blob()}getData(){return this.blob}},ko=class extends $t{constructor(t){super(new $c([t],{type:Bf}))}},fr=class extends yo{constructor(t){super(t),N.assign(this,{encoding:t,utf8:!t||t.toLowerCase()==\"utf-8\"})}async getData(){let{encoding:t,utf8:a}=this,o=await super.getData();if(o.text&&a)return o.text();{let i=new FileReader;return new Ge((n,s)=>{N.assign(i,{onload:({target:r})=>n(r.result),onerror:()=>s(i.error)}),i.readAsText(o,t)})}}},br=class extends ft{constructor(t,a){super(),Nd(this,t,a)}async init(){await Od(this,kr,Gc),super.init()}readUint8Array(t,a){return Fd(this,t,a,kr,Gc)}},yr=class extends ft{constructor(t,a){super(),Nd(this,t,a)}async init(){await Od(this,vr,qc),super.init()}readUint8Array(t,a){return Fd(this,t,a,vr,qc)}};function Nd(e,t,a){let{preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:n}=a;a=N.assign({},a),delete a.preventHeadRequest,delete a.useRangeHeader,delete a.forceRangeRequests,delete a.useXHR,N.assign(e,{url:t,options:a,preventHeadRequest:o,useRangeHeader:i,forceRangeRequests:n})}async function Od(e,t,a){let{url:o,useRangeHeader:i,forceRangeRequests:n}=e;if(Xf(o)&&(i||n)){let{headers:s}=await t(Gr,e,Bd(e));if(!n&&s.get(Gf)!=Dd)throw new B(To);{let r,l=s.get(Hf);if(l){let c=l.trim().split(/\\s*\\/\\s*/);if(c.length){let d=c[1];d&&d!=\"*\"&&(r=jo(d))}}r===we?await Vc(e,t,a):e.size=r}}else await Vc(e,t,a)}async function Fd(e,t,a,o,i){let{useRangeHeader:n,forceRangeRequests:s,options:r}=e;if(n||s){let l=await o(Gr,e,Bd(e,t,a));if(l.status!=206)throw new B(To);return new P(await l.arrayBuffer())}else{let{data:l}=e;return l||await i(e,r),new P(e.data.subarray(t,t+a))}}function Bd(e,t=0,a=1){return N.assign({},Vr(e),{[qf]:Dd+\"=\"+t+\"-\"+(t+a-1)})}function Vr({options:e}){let{headers:t}=e;if(t)return Symbol.iterator in t?N.fromEntries(t):t}async function Gc(e){await Ud(e,kr)}async function qc(e){await Ud(e,vr)}async function Ud(e,t){let a=await t(Gr,e,Vr(e));e.data=new P(await a.arrayBuffer()),e.size||(e.size=e.data.length)}async function Vc(e,t,a){if(e.preventHeadRequest)await a(e,e.options);else{let i=(await t(Wf,e,Vr(e))).headers.get(Uf);i?e.size=jo(i):await a(e,e.options)}}async function kr(e,{options:t,url:a},o){let i=await fetch(a,N.assign({},t,{method:e,headers:o}));if(i.status<400)return i;throw i.status==416?new B(To):new B(Md+(i.statusText||i.status))}function vr(e,{url:t},a){return new Ge((o,i)=>{let n=new XMLHttpRequest;if(n.addEventListener(\"load\",()=>{if(n.status<400){let s=[];n.getAllResponseHeaders().trim().split(/[\\r\\n]+/).forEach(r=>{let l=r.trim().split(/\\s*:\\s*/);l[0]=l[0].trim().replace(/^[a-z]|-[a-z]/g,c=>c.toUpperCase()),s.push(l)}),o({status:n.status,arrayBuffer:()=>n.response,headers:new Ir(s)})}else i(n.status==416?new B(To):new B(Md+(n.statusText||n.status)))},!1),n.addEventListener(\"error\",s=>i(s.detail?s.detail.error:new B(\"Network error\")),!1),n.open(e,t),a)for(let s of N.entries(a))n.setRequestHeader(s[0],s[1]);n.responseType=\"arraybuffer\",n.send()})}var vi=class extends ft{constructor(t,a={}){super(),N.assign(this,{url:t,reader:a.useXHR?new yr(t,a):new br(t,a)})}set size(t){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(t,a){return this.reader.readUint8Array(t,a)}},Sr=class extends vi{constructor(t,a={}){a.useRangeHeader=!0,super(t,a)}},Er=class extends ft{constructor(t){super(),N.assign(this,{array:t,size:t.length})}readUint8Array(t,a){return this.array.slice(t,t+a)}},vo=class extends bo{init(t=0){N.assign(this,{offset:0,array:new P(t)}),super.init()}writeUint8Array(t){let a=this;if(a.offset+t.length>a.array.length){let o=a.array;a.array=new P(o.length+t.length),a.array.set(o)}a.array.set(t,a.offset),a.offset+=t.length}getData(){return this.array}},So=class extends ft{constructor(t){super(),this.readers=t}async init(){let t=this,{readers:a}=t;t.lastDiskNumber=0,t.lastDiskOffset=0,await Ge.all(a.map(async(o,i)=>{await o.init(),i!=a.length-1&&(t.lastDiskOffset+=o.size),t.size+=o.size})),super.init()}async readUint8Array(t,a,o=0){let i=this,{readers:n}=this,s,r=o;r==-1&&(r=n.length-1);let l=t;for(;l>=n[r].size;)l-=n[r].size,r++;let c=n[r],d=c.size;if(l+a<=d)s=await xe(c,l,a);else{let m=d-l;s=new P(a),s.set(await xe(c,l,m)),s.set(await i.readUint8Array(t+m,a-m,o),m)}return i.lastDiskNumber=ie.max(r,i.lastDiskNumber),s}},Qt=class extends ya{constructor(t,a=4294967295){super();let o=this;N.assign(o,{diskNumber:0,diskOffset:0,size:0,maxSize:a,availableSize:a});let i,n,s,r=new Ao({async write(d){let{availableSize:m}=o;if(s)d.length>=m?(await l(d.slice(0,m)),await c(),o.diskOffset+=i.size,o.diskNumber++,s=null,await this.write(d.slice(m))):await l(d);else{let{value:h,done:u}=await t.next();if(u&&!h)throw new B(Pd);i=h,i.size=0,i.maxSize&&(o.maxSize=i.maxSize),o.availableSize=o.maxSize,await Ct(i),n=h.writable,s=n.getWriter(),await this.write(d)}},async close(){await s.ready,await c()}});N.defineProperty(o,qr,{get(){return r}});async function l(d){let m=d.length;m&&(await s.ready,await s.write(d),i.size+=m,o.size+=m,o.availableSize-=m)}async function c(){n.size=i.size,await s.close()}}};function Xf(e){let{baseURL:t}=Nr(),{protocol:a}=new _r(e,t);return a==\"http:\"||a==\"https:\"}async function Ct(e,t){e.init&&!e.initialized&&await e.init(t)}function Wr(e){return Ot.isArray(e)&&(e=new So(e)),e instanceof ed&&(e={readable:e}),e}function Kr(e){e.writable===we&&typeof e.next==md&&(e=new Qt(e)),e instanceof Ao&&(e={writable:e});let{writable:t}=e;return t.size===we&&(t.size=0),e instanceof Qt||N.assign(e,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),e}function xe(e,t,a,o){return e.readUint8Array(t,a,o)}var Yf=So,Jf=Qt,Hd=\"\\0\\u263A\\u263B\\u2665\\u2666\\u2663\\u2660\\u2022\\u25D8\\u25CB\\u25D9\\u2642\\u2640\\u266A\\u266B\\u263C\\u25BA\\u25C4\\u2195\\u203C\\xB6\\xA7\\u25AC\\u21A8\\u2191\\u2193\\u2192\\u2190\\u221F\\u2194\\u25B2\\u25BC !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\\u2302\\xC7\\xFC\\xE9\\xE2\\xE4\\xE0\\xE5\\xE7\\xEA\\xEB\\xE8\\xEF\\xEE\\xEC\\xC4\\xC5\\xC9\\xE6\\xC6\\xF4\\xF6\\xF2\\xFB\\xF9\\xFF\\xD6\\xDC\\xA2\\xA3\\xA5\\u20A7\\u0192\\xE1\\xED\\xF3\\xFA\\xF1\\xD1\\xAA\\xBA\\xBF\\u2310\\xAC\\xBD\\xBC\\xA1\\xAB\\xBB\\u2591\\u2592\\u2593\\u2502\\u2524\\u2561\\u2562\\u2556\\u2555\\u2563\\u2551\\u2557\\u255D\\u255C\\u255B\\u2510\\u2514\\u2534\\u252C\\u251C\\u2500\\u253C\\u255E\\u255F\\u255A\\u2554\\u2569\\u2566\\u2560\\u2550\\u256C\\u2567\\u2568\\u2564\\u2565\\u2559\\u2558\\u2552\\u2553\\u256B\\u256A\\u2518\\u250C\\u2588\\u2584\\u258C\\u2590\\u2580\\u03B1\\xDF\\u0393\\u03C0\\u03A3\\u03C3\\xB5\\u03C4\\u03A6\\u0398\\u03A9\\u03B4\\u221E\\u03C6\\u03B5\\u2229\\u2261\\xB1\\u2265\\u2264\\u2320\\u2321\\xF7\\u2248\\xB0\\u2219\\xB7\\u221A\\u207F\\xB2\\u25A0 \".split(\"\"),Zf=Hd.length==256;function $f(e){if(Zf){let t=\"\";for(let a=0;a<e.length;a++)t+=Hd[e[a]];return t}else return new Qc().decode(e)}function jr(e,t){return t&&t.trim().toLowerCase()==\"cp437\"?$f(e):new Qc(t).decode(e)}var Gd=\"filename\",qd=\"rawFilename\",Vd=\"comment\",Wd=\"rawComment\",Kd=\"uncompressedSize\",Xd=\"compressedSize\",Yd=\"offset\",Ar=\"diskNumberStart\",Si=\"lastModDate\",xr=\"rawLastModDate\",Xr=\"lastAccessDate\",Qf=\"rawLastAccessDate\",Yr=\"creationDate\",eb=\"rawCreationDate\",Jd=\"internalFileAttribute\",Zd=\"externalFileAttribute\",$d=\"msDosCompatible\",Qd=\"zip64\",tb=[Gd,qd,Xd,Kd,Si,xr,Vd,Wd,Xr,Yr,Yd,Ar,Ar,Jd,Zd,$d,Qd,\"directory\",\"bitFlag\",\"encrypted\",\"signature\",\"filenameUTF8\",\"commentUTF8\",\"compressionMethod\",\"version\",\"versionMadeBy\",\"extraField\",\"rawExtraField\",\"extraFieldZip64\",\"extraFieldUnicodePath\",\"extraFieldUnicodeComment\",\"extraFieldAES\",\"extraFieldNTFS\",\"extraFieldExtendedTimestamp\"],ka=class{constructor(t){tb.forEach(a=>this[a]=t[a])}},gi=\"File format is not recognized\",em=\"End of central directory not found\",tm=\"End of Zip64 central directory not found\",am=\"End of Zip64 central directory locator not found\",om=\"Central directory header not found\",im=\"Local file header not found\",nm=\"Zip64 extra field not found\",rm=\"File contains encrypted entry\",sm=\"Encryption method not supported\",Cr=\"Compression method not supported\",Tr=\"Split zip file\",Wc=\"utf-8\",Kc=\"cp437\",ab=[[Kd,de],[Xd,de],[Yd,de],[Ar,se]],ob={[se]:{getValue:ce,bytes:4},[de]:{getValue:wi,bytes:8}},Lr=class{constructor(t,a={}){N.assign(this,{reader:Wr(t),options:a,config:Nr()})}async*getEntriesGenerator(t={}){let a=this,{reader:o}=a,{config:i}=a;if(await Ct(o),(o.size===we||!o.readUint8Array)&&(o=new $t(await new Zc(o.readable).blob()),await Ct(o)),o.size<xt)throw new B(gi);o.chunkSize=ud(i);let n=await lb(o,id,o.size,xt,se*16);if(!n){let L=await xe(o,0,4),A=ve(L);throw ce(A)==Pr?new B(Tr):new B(em)}let s=ve(n),r=ce(s,12),l=ce(s,16),c=n.offset,d=ke(s,20),m=c+xt+d,h=ke(s,4),u=o.lastDiskNumber||0,p=ke(s,6),w=ke(s,8),b=0,E=0;if(l==de||r==de||w==se||p==se){let L=await xe(o,n.offset-mo,mo),A=ve(L);if(ce(A,0)!=nd)throw new B(tm);l=wi(A,8);let O=await xe(o,l,ho,-1),U=ve(O),R=n.offset-mo-ho;if(ce(U,0)!=$n&&l!=R){let M=l;l=R,b=l-M,O=await xe(o,l,ho,-1),U=ve(O)}if(ce(U,0)!=$n)throw new B(am);h==se&&(h=ce(U,16)),p==se&&(p=ce(U,20)),w==se&&(w=wi(U,32)),r==de&&(r=wi(U,40)),l-=r}if(l>=o.size&&(b=o.size-l-r-xt,l=o.size-r-xt),u!=h)throw new B(Tr);if(l<0)throw new B(gi);let S=0,y=await xe(o,l,r,p),g=ve(y);if(r){let L=n.offset-r;if(ce(g,S)!=Zn&&l!=L){let A=l;l=L,b+=l-A,y=await xe(o,l,r,p),g=ve(y)}}let j=n.offset-l-(o.lastDiskOffset||0);if(r!=j&&j>=0&&(r=j,y=await xe(o,l,r,p),g=ve(y)),l<0||l>=o.size)throw new B(gi);let C=Ze(a,t,\"filenameEncoding\"),z=Ze(a,t,\"commentEncoding\");for(let L=0;L<w;L++){let A=new Rr(o,i,a.options);if(ce(g,S)!=Zn)throw new B(om);lm(A,g,S+6);let O=!!A.bitFlag.languageEncodingFlag,U=S+46,R=U+A.filenameLength,M=R+A.extraFieldLength,D=ke(g,S+4),H=(D&0)==0,X=y.subarray(U,R),K=ke(g,S+32),re=M+K,ge=y.subarray(M,re),me=O,ze=O,Ie=H&&(fa(g,S+38)&ar)==ar,Pe=ce(g,S+42)+b;N.assign(A,{versionMadeBy:D,msDosCompatible:H,compressedSize:0,uncompressedSize:0,commentLength:K,directory:Ie,offset:Pe,diskNumberStart:ke(g,S+34),internalFileAttribute:ke(g,S+36),externalFileAttribute:ce(g,S+38),rawFilename:X,filenameUTF8:me,commentUTF8:ze,rawExtraField:y.subarray(R,M)});let[st,x]=await Ge.all([jr(X,me?Wc:C||Kc),jr(ge,ze?Wc:z||Kc)]);N.assign(A,{rawComment:ge,filename:st,comment:x,directory:Ie||st.endsWith(pi)}),E=ie.max(Pe,E),await cm(A,A,g,S+6);let he=new ka(A);he.getData=(le,De)=>A.getData(le,he,De),S=re;let{onprogress:Ae}=t;if(Ae)try{await Ae(L+1,w,new ka(A))}catch{}yield he}let f=Ze(a,t,\"extractPrependedData\"),k=Ze(a,t,\"extractAppendedData\");return f&&(a.prependedData=E>0?await xe(o,0,E):new P),a.comment=d?await xe(o,c+xt,d):new P,k&&(a.appendedData=m<o.size?await xe(o,m,o.size-m):new P),!0}async getEntries(t={}){let a=[];for await(let o of this.getEntriesGenerator(t))a.push(o);return a}async close(){}},Rr=class{constructor(t,a,o){N.assign(this,{reader:t,config:a,options:o})}async getData(t,a,o={}){let i=this,{reader:n,offset:s,diskNumberStart:r,extraFieldAES:l,compressionMethod:c,config:d,bitFlag:m,signature:h,rawLastModDate:u,uncompressedSize:p,compressedSize:w}=i,b=a.localDirectory={},E=await xe(n,s,30,r),S=ve(E),y=Ze(i,o,\"password\");if(y=y&&y.length&&y,l&&l.originalCompressionMethod!=ad)throw new B(Cr);if(c!=td&&c!=Jn)throw new B(Cr);if(ce(S,0)!=od)throw new B(im);lm(b,S,4),b.rawExtraField=b.extraFieldLength?await xe(n,s+30+b.filenameLength,b.extraFieldLength,r):new P,await cm(i,b,S,4,!0),N.assign(a,{lastAccessDate:b.lastAccessDate,creationDate:b.creationDate});let g=i.encrypted&&b.encrypted,j=g&&!l;if(g){if(!j&&l.strength===we)throw new B(sm);if(!y)throw new B(rm)}let C=s+30+b.filenameLength+b.extraFieldLength,z=w,f=n.readable;N.assign(f,{diskNumberStart:r,offset:C,size:z});let k=Ze(i,o,\"signal\"),L=Ze(i,o,\"checkPasswordOnly\");L&&(t=new Ao),t=Kr(t),await Ct(t,p);let{writable:A}=t,{onstart:O,onprogress:U,onend:R}=o,M={options:{codecType:Id,password:y,zipCrypto:j,encryptionStrength:l&&l.strength,signed:Ze(i,o,\"checkSignature\"),passwordVerification:j&&(m.dataDescriptor?u>>>8&255:h>>>24&255),signature:h,compressed:c!=0,encrypted:g,useWebWorkers:Ze(i,o,\"useWebWorkers\"),useCompressionStream:Ze(i,o,\"useCompressionStream\"),transferStreams:Ze(i,o,\"transferStreams\"),checkPasswordOnly:L},config:d,streamOptions:{signal:k,size:z,onstart:O,onprogress:U,onend:R}},D=0;try{({outputSize:D}=await _d({readable:f,writable:A},M))}catch(H){if(!L||H.message!=Br)throw H}finally{let H=Ze(i,o,\"preventClose\");A.size+=D,!H&&!A.locked&&await A.getWriter().close()}return L?void 0:t.getData?t.getData():A}};function lm(e,t,a){let o=e.rawBitFlag=ke(t,a+2),i=(o&Qn)==Qn,n=ce(t,a+6);N.assign(e,{encrypted:i,version:ke(t,a),bitFlag:{level:(o&tf)>>1,dataDescriptor:(o&er)==er,languageEncodingFlag:(o&tr)==tr},rawLastModDate:n,lastModDate:cb(n),filenameLength:ke(t,a+22),extraFieldLength:ke(t,a+24)})}async function cm(e,t,a,o,i){let{rawExtraField:n}=t,s=t.extraField=new Ir,r=ve(new P(n)),l=0;try{for(;l<n.length;){let E=ke(r,l),S=ke(r,l+2);s.set(E,{type:E,data:n.slice(l+4,l+4+S)}),l+=4+S}}catch{}let c=ke(a,o+4);N.assign(t,{signature:ce(a,o+10),uncompressedSize:ce(a,o+18),compressedSize:ce(a,o+14)});let d=s.get(rd);d&&(ib(d,t),t.extraFieldZip64=d);let m=s.get(Qw);m&&(await Xc(m,Gd,qd,t,e),t.extraFieldUnicodePath=m);let h=s.get(ef);h&&(await Xc(h,Vd,Wd,t,e),t.extraFieldUnicodeComment=h);let u=s.get(sd);u?(nb(u,t,c),t.extraFieldAES=u):t.compressionMethod=c;let p=s.get(ld);p&&(rb(p,t),t.extraFieldNTFS=p);let w=s.get(Dr);w&&(sb(w,t,i),t.extraFieldExtendedTimestamp=w);let b=s.get(dd);b&&(t.extraFieldUSDZ=b)}function ib(e,t){t.zip64=!0;let a=ve(e.data),o=ab.filter(([i,n])=>t[i]==n);for(let i=0,n=0;i<o.length;i++){let[s,r]=o[i];if(t[s]==r){let l=ob[r];t[s]=e[s]=l.getValue(a,n),n+=l.bytes}else if(e[s])throw new B(nm)}}async function Xc(e,t,a,o,i){let n=ve(e.data),s=new ba;s.append(i[a]);let r=ve(new P(4));r.setUint32(0,s.get(),!0);let l=ce(n,1);N.assign(e,{version:fa(n,0),[t]:jr(e.data.subarray(5)),valid:!i.bitFlag.languageEncodingFlag&&l==ce(r,0)}),e.valid&&(o[t]=e[t],o[t+\"UTF8\"]=!0)}function nb(e,t,a){let o=ve(e.data),i=fa(o,4);N.assign(e,{vendorVersion:fa(o,0),vendorId:fa(o,2),strength:i,originalCompressionMethod:a,compressionMethod:ke(o,5)}),t.compressionMethod=e.compressionMethod}function rb(e,t){let a=ve(e.data),o=4,i;try{for(;o<e.data.length&&!i;){let n=ke(a,o),s=ke(a,o+2);n==cd&&(i=e.data.slice(o+4,o+4+s)),o+=4+s}}catch{}try{if(i&&i.length==24){let n=ve(i),s=n.getBigUint64(0,!0),r=n.getBigUint64(8,!0),l=n.getBigUint64(16,!0);N.assign(e,{rawLastModDate:s,rawLastAccessDate:r,rawCreationDate:l});let c=Kn(s),d=Kn(r),m=Kn(l),h={lastModDate:c,lastAccessDate:d,creationDate:m};N.assign(e,h),N.assign(t,h)}}catch{}}function sb(e,t,a){let o=ve(e.data),i=fa(o,0),n=[],s=[];a?((i&1)==1&&(n.push(Si),s.push(xr)),(i&2)==2&&(n.push(Xr),s.push(Qf)),(i&4)==4&&(n.push(Yr),s.push(eb))):e.data.length>=5&&(n.push(Si),s.push(xr));let r=1;n.forEach((l,c)=>{if(e.data.length>=r+4){let d=ce(o,r);t[l]=e[l]=new va(d*1e3);let m=s[c];e[m]=d}r+=4})}async function lb(e,t,a,o,i){let n=new P(4),s=ve(n);db(s,0,t);let r=o+i;return await l(o)||await l(ie.min(r,a));async function l(c){let d=a-c,m=await xe(e,d,c);for(let h=m.length-o;h>=0;h--)if(m[h]==n[0]&&m[h+1]==n[1]&&m[h+2]==n[2]&&m[h+3]==n[3])return{offset:d+h,buffer:m.slice(h,h+o).buffer}}}function Ze(e,t,a){return t[a]===we?e.options[a]:t[a]}function cb(e){let t=(e&4294901760)>>16,a=e&65535;try{return new va(1980+((t&65024)>>9),((t&480)>>5)-1,t&31,(a&63488)>>11,(a&2016)>>5,(a&31)*2,0)}catch{}}function Kn(e){return new va(jo(e/Ce(1e4)-Ce(116444736e5)))}function fa(e,t){return e.getUint8(t)}function ke(e,t){return e.getUint16(t,!0)}function ce(e,t){return e.getUint32(t,!0)}function wi(e,t){return jo(e.getBigUint64(t,!0))}function db(e,t,a){e.setUint32(t,a,!0)}function ve(e){return new ea(e.buffer)}var dm=\"File already exists\",mm=\"Zip file comment exceeds 64KB\",hm=\"File entry comment exceeds 64KB\",um=\"File entry name exceeds 64KB\",zr=\"Version exceeds 65535\",pm=\"The strength must equal 1, 2, or 3\",gm=\"Extra field type exceeds 65535\",wm=\"Extra field data exceeds 64KB\",Ai=\"Zip64 is not supported (make sure 'keepOrder' is set to 'true')\",Yc=new P([7,0,2,0,65,69,3,0,0]),Xn=0,Jc=[],Eo=class{constructor(t,a={}){t=Kr(t),N.assign(this,{writer:t,addSplitZipSignature:t instanceof Qt,options:a,config:Nr(),files:new Ir,filenames:new Sc,offset:t.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new Sc,bufferedWrites:0})}async add(t=\"\",a,o={}){let i=this,{pendingAddFileCalls:n,config:s}=i;Xn<s.maxWorkers?Xn++:await new Ge(l=>Jc.push(l));let r;try{if(t=t.trim(),i.filenames.has(t))throw new B(dm);return i.filenames.add(t),r=mb(i,t,a,o),n.add(r),await r}catch(l){throw i.filenames.delete(t),l}finally{n.delete(r);let l=Jc.shift();l?l():Xn--}}async close(t=new P,a={}){let o=this,{pendingAddFileCalls:i,writer:n}=this,{writable:s}=n;for(;i.size;)await Ge.all(Ot.from(i));return await kb(this,t,a),te(o,a,\"preventClose\")||await s.getWriter().close(),n.getData?n.getData():s}};async function mb(e,t,a,o){t=t.trim(),o.directory&&!t.endsWith(pi)?t+=pi:o.directory=t.endsWith(pi);let i=or(t);if(J(i)>se)throw new B(um);let n=o.comment||\"\",s=or(n);if(J(s)>se)throw new B(hm);let r=te(e,o,\"version\",af);if(r>se)throw new B(zr);let l=te(e,o,\"versionMadeBy\",20);if(l>se)throw new B(zr);let c=te(e,o,Si,new va),d=te(e,o,Xr),m=te(e,o,Yr),h=te(e,o,$d,!0),u=te(e,o,Jd,0),p=te(e,o,Zd,0),w=te(e,o,\"password\"),b=te(e,o,\"encryptionStrength\",3),E=te(e,o,\"zipCrypto\"),S=te(e,o,\"extendedTimestamp\",!0),y=te(e,o,\"keepOrder\",!0),g=te(e,o,\"level\"),j=te(e,o,\"useWebWorkers\"),C=te(e,o,\"bufferedWrite\"),z=te(e,o,\"dataDescriptorSignature\",!1),f=te(e,o,\"signal\"),k=te(e,o,\"useCompressionStream\"),L=te(e,o,\"dataDescriptor\",!0),A=te(e,o,Qd);if(w!==we&&b!==we&&(b<1||b>3))throw new B(pm);let O=new P,{extraField:U}=o;if(U){let le=0,De=0;U.forEach(G=>le+=4+J(G)),O=new P(le),U.forEach((G,At)=>{if(At>se)throw new B(gm);if(J(G)>se)throw new B(wm);ue(O,new Ec([At]),De),ue(O,new Ec([J(G)]),De+2),ue(O,G,De+4),De+=4+J(G)})}let R=0,M=0,D=0,H=A===!0;a&&(a=Wr(a),await Ct(a),a.size===we?(L=!0,(A||A===we)&&(A=!0,D=R=de)):(D=a.size,R=vb(D)));let{diskOffset:X,diskNumber:K,maxSize:re}=e.writer,ge=H||D>=de,me=H||R>=de,ze=H||e.offset+e.pendingEntriesSize-X>=de,Pe=te(e,o,\"supportZip64SplitFile\",!0)&&H||K+ie.ceil(e.pendingEntriesSize/re)>=se;if(ze||ge||me||Pe){if(A===!1||!y)throw new B(Ai);A=!0}A=A||!1,o=N.assign({},o,{rawFilename:i,rawComment:s,version:r,versionMadeBy:l,lastModDate:c,lastAccessDate:d,creationDate:m,rawExtraField:O,zip64:A,zip64UncompressedSize:ge,zip64CompressedSize:me,zip64Offset:ze,zip64DiskNumberStart:Pe,password:w,level:g,useWebWorkers:j,encryptionStrength:b,extendedTimestamp:S,zipCrypto:E,bufferedWrite:C,keepOrder:y,dataDescriptor:L,dataDescriptorSignature:z,signal:f,msDosCompatible:h,internalFileAttribute:u,externalFileAttribute:p,useCompressionStream:k});let st=pb(o),x=wb(o),he=J(st.localHeaderArray,x.dataDescriptorArray);M=he+R,e.options.usdz&&(M+=M+64),e.pendingEntriesSize+=M;let Ae;try{Ae=await hb(e,t,a,{headerInfo:st,dataDescriptorInfo:x,metadataSize:he},o)}finally{e.pendingEntriesSize-=M}return N.assign(Ae,{name:t,comment:n,extraField:U}),new ka(Ae)}async function hb(e,t,a,o,i){let{files:n,writer:s}=e,{keepOrder:r,dataDescriptor:l,signal:c}=i,{headerInfo:d}=o,{usdz:m}=e.options,h=Ot.from(n.values()).pop(),u={},p,w,b,E,S,y;n.set(t,u);try{let z;r&&(z=h&&h.lock,g()),(i.bufferedWrite||e.writerLocked||e.bufferedWrites&&r||!l)&&!m?(y=new yo,y.writable.size=0,p=!0,e.bufferedWrites++,await Ct(s)):(y=s,await j()),await Ct(y);let{writable:f}=s,{diskOffset:k}=s;if(e.addSplitZipSignature){delete e.addSplitZipSignature;let A=new P(4),O=Te(A);q(O,0,Pr),await pt(f,A),e.offset+=4}m&&gb(o,e.offset-k),p||(await z,await C(f));let{diskNumber:L}=s;if(S=!0,u.diskNumberStart=L,u=await ub(a,y,u,o,e.config,i),S=!1,n.set(t,u),u.filename=t,p){await y.writable.getWriter().close();let A=await y.getData();await z,await j(),E=!0,l||(A=await bb(u,A,f,i)),await C(f),u.diskNumberStart=s.diskNumber,k=s.diskOffset,await A.stream().pipeTo(f,{preventClose:!0,preventAbort:!0,signal:c}),f.size+=A.size,E=!1}if(u.offset=e.offset-k,u.zip64)yb(u,i);else if(u.offset>=de)throw new B(Ai);return e.offset+=u.length,u}catch(z){if(p&&E||!p&&S){if(e.hasCorruptedEntries=!0,z)try{z.corruptedEntry=!0}catch{}p?e.offset+=y.writable.size:e.offset=y.writable.size}throw n.delete(t),z}finally{p&&e.bufferedWrites--,b&&b(),w&&w()}function g(){u.lock=new Ge(z=>b=z)}async function j(){e.writerLocked=!0;let{lockWriter:z}=e;e.lockWriter=new Ge(f=>w=()=>{e.writerLocked=!1,f()}),await z}async function C(z){d.localHeaderArray.length>s.availableSize&&(s.availableSize=0,await pt(z,new P))}}async function ub(e,t,{diskNumberStart:a,lock:o},i,n,s){let{headerInfo:r,dataDescriptorInfo:l,metadataSize:c}=i,{localHeaderArray:d,headerArray:m,lastModDate:h,rawLastModDate:u,encrypted:p,compressed:w,version:b,compressionMethod:E,rawExtraFieldExtendedTimestamp:S,extraFieldExtendedTimestampFlag:y,rawExtraFieldNTFS:g,rawExtraFieldAES:j}=r,{dataDescriptorArray:C}=l,{rawFilename:z,lastAccessDate:f,creationDate:k,password:L,level:A,zip64:O,zip64UncompressedSize:U,zip64CompressedSize:R,zip64Offset:M,zip64DiskNumberStart:D,zipCrypto:H,dataDescriptor:X,directory:K,versionMadeBy:re,rawComment:ge,rawExtraField:me,useWebWorkers:ze,onstart:Ie,onprogress:Pe,onend:st,signal:x,encryptionStrength:he,extendedTimestamp:Ae,msDosCompatible:le,internalFileAttribute:De,externalFileAttribute:G,useCompressionStream:At}=s,ro={lock:o,versionMadeBy:re,zip64:O,directory:!!K,filenameUTF8:!0,rawFilename:z,commentUTF8:!0,rawComment:ge,rawExtraFieldExtendedTimestamp:S,rawExtraFieldNTFS:g,rawExtraFieldAES:j,rawExtraField:me,extendedTimestamp:Ae,msDosCompatible:le,internalFileAttribute:De,externalFileAttribute:G,diskNumberStart:a},ye=0,ua=0,so,{writable:Yt}=t;if(e){e.chunkSize=ud(n),await pt(Yt,d);let Je=e.readable,ee=Je.size=e.size,Un={options:{codecType:zd,level:A,password:L,encryptionStrength:he,zipCrypto:p&&H,passwordVerification:p&&H&&u>>8&255,signed:!0,compressed:w,encrypted:p,useWebWorkers:ze,useCompressionStream:At,transferStreams:!1},config:n,streamOptions:{signal:x,size:ee,onstart:Ie,onprogress:Pe,onend:st}},pa=await _d({readable:Je,writable:Yt},Un);Yt.size+=pa.size,so=pa.signature,ua=e.size=Je.size,ye=pa.size}else await pt(Yt,d);let Jt;if(O){let Je=4;U&&(Je+=8),R&&(Je+=8),M&&(Je+=8),D&&(Je+=4),Jt=new P(Je)}else Jt=new P;return fb({signature:so,rawExtraFieldZip64:Jt,compressedSize:ye,uncompressedSize:ua,headerInfo:r,dataDescriptorInfo:l},s),X&&await pt(Yt,C),N.assign(ro,{uncompressedSize:ua,compressedSize:ye,lastModDate:h,rawLastModDate:u,creationDate:k,lastAccessDate:f,encrypted:p,length:c+ye,compressionMethod:E,version:b,headerArray:m,signature:so,rawExtraFieldZip64:Jt,extraFieldExtendedTimestampFlag:y,zip64UncompressedSize:U,zip64CompressedSize:R,zip64Offset:M,zip64DiskNumberStart:D}),ro}function pb(e){let{rawFilename:t,lastModDate:a,lastAccessDate:o,creationDate:i,password:n,level:s,zip64:r,zipCrypto:l,dataDescriptor:c,directory:d,rawExtraField:m,encryptionStrength:h,extendedTimestamp:u}=e,p=s!==0&&!d,w=!!(n&&J(n)),b=e.version,E;if(w&&!l){E=new P(J(Yc)+2);let D=Te(E);V(D,0,sd),ue(E,Yc,2),Ei(D,8,h)}else E=new P;let S,y,g;if(u){y=new P(9+(o?4:0)+(i?4:0));let D=Te(y);V(D,0,Dr),V(D,2,J(y)-4),g=1+(o?2:0)+(i?4:0),Ei(D,4,g);let H=5;q(D,H,ie.floor(a.getTime()/1e3)),H+=4,o&&(q(D,H,ie.floor(o.getTime()/1e3)),H+=4),i&&q(D,H,ie.floor(i.getTime()/1e3));try{S=new P(36);let X=Te(S),K=Yn(a);V(X,0,ld),V(X,2,32),V(X,8,cd),V(X,10,24),Ne(X,12,K),Ne(X,20,Yn(o)||K),Ne(X,28,Yn(i)||K)}catch{S=new P}}else S=y=new P;let j=tr;c&&(j=j|er);let C=td;p&&(C=Jn),r&&(b=b>Tc?b:Tc),w&&(j=j|Qn,l||(b=b>Lc?b:Lc,C=ad,p&&(E[9]=Jn)));let z=new P(26),f=Te(z);V(f,0,b),V(f,2,j),V(f,4,C);let k=new Mr(1),L=Te(k),A;a<zc?A=zc:a>Rc?A=Rc:A=a,V(L,0,(A.getHours()<<6|A.getMinutes())<<5|A.getSeconds()/2),V(L,2,(A.getFullYear()-1980<<4|A.getMonth()+1)<<5|A.getDate());let O=k[0];q(f,6,O),V(f,22,J(t));let U=J(E,y,S,m);V(f,24,U);let R=new P(30+J(t)+U),M=Te(R);return q(M,0,od),ue(R,z,4),ue(R,t,30),ue(R,E,30+J(t)),ue(R,y,30+J(t,E)),ue(R,S,30+J(t,E,y)),ue(R,m,30+J(t,E,y,S)),{localHeaderArray:R,headerArray:z,headerView:f,lastModDate:a,rawLastModDate:O,encrypted:w,compressed:p,version:b,compressionMethod:C,extraFieldExtendedTimestampFlag:g,rawExtraFieldExtendedTimestamp:y,rawExtraFieldNTFS:S,rawExtraFieldAES:E,extraFieldLength:U}}function gb(e,t){let{headerInfo:a}=e,{localHeaderArray:o,extraFieldLength:i}=a,n=Te(o),s=64-(t+o.length)%64;s<4&&(s+=64);let r=new P(s),l=Te(r);V(l,0,dd),V(l,2,s-2);let c=o;a.localHeaderArray=o=new P(c.length+s),ue(o,c),ue(o,r,c.length),n=Te(o),V(n,28,i+s),e.metadataSize+=s}function wb(e){let{zip64:t,dataDescriptor:a,dataDescriptorSignature:o}=e,i=new P,n,s=0;return a&&(i=new P(t?o?24:20:o?16:12),n=Te(i),o&&(s=4,q(n,0,Zw))),{dataDescriptorArray:i,dataDescriptorView:n,dataDescriptorOffset:s}}function fb(e,t){let{signature:a,rawExtraFieldZip64:o,compressedSize:i,uncompressedSize:n,headerInfo:s,dataDescriptorInfo:r}=e,{headerView:l,encrypted:c}=s,{dataDescriptorView:d,dataDescriptorOffset:m}=r,{zip64:h,zip64UncompressedSize:u,zip64CompressedSize:p,zipCrypto:w,dataDescriptor:b}=t;if((!c||w)&&a!==we&&(q(l,10,a),b&&q(d,m,a)),h){let E=Te(o);V(E,0,rd),V(E,2,o.length-4);let S=4;u&&(q(l,18,de),Ne(E,S,Ce(n)),S+=8),p&&(q(l,14,de),Ne(E,S,Ce(i))),b&&(Ne(d,m+4,Ce(i)),Ne(d,m+12,Ce(n)))}else q(l,14,i),q(l,18,n),b&&(q(d,m+4,i),q(d,m+8,n))}async function bb(e,t,a,{zipCrypto:o}){let i;i=await t.slice(0,26).arrayBuffer(),i.byteLength!=26&&(i=i.slice(0,26));let n=new ea(i);return(!e.encrypted||o)&&q(n,14,e.signature),e.zip64?(q(n,18,de),q(n,22,de)):(q(n,18,e.compressedSize),q(n,22,e.uncompressedSize)),await pt(a,new P(i)),t.slice(i.byteLength)}function yb(e,t){let{rawExtraFieldZip64:a,offset:o,diskNumberStart:i}=e,{zip64UncompressedSize:n,zip64CompressedSize:s,zip64Offset:r,zip64DiskNumberStart:l}=t,c=Te(a),d=4;n&&(d+=8),s&&(d+=8),r&&(Ne(c,d,Ce(o)),d+=8),l&&q(c,d,i)}async function kb(e,t,a){let{files:o,writer:i}=e,{diskOffset:n,writable:s}=i,{diskNumber:r}=i,l=0,c=0,d=e.offset-n,m=o.size;for(let[,j]of o){let{rawFilename:C,rawExtraFieldZip64:z,rawExtraFieldAES:f,rawComment:k,rawExtraFieldNTFS:L,rawExtraField:A,extendedTimestamp:O,extraFieldExtendedTimestampFlag:U,lastModDate:R}=j,M;if(O){M=new P(9);let D=Te(M);V(D,0,Dr),V(D,2,5),Ei(D,4,U),q(D,5,ie.floor(R.getTime()/1e3))}else M=new P;j.rawExtraFieldCDExtendedTimestamp=M,c+=46+J(C,k,z,f,L,M,A)}let h=new P(c),u=Te(h);await Ct(i);let p=0;for(let[j,C]of Ot.from(o.values()).entries()){let{offset:z,rawFilename:f,rawExtraFieldZip64:k,rawExtraFieldAES:L,rawExtraFieldCDExtendedTimestamp:A,rawExtraFieldNTFS:O,rawExtraField:U,rawComment:R,versionMadeBy:M,headerArray:D,directory:H,zip64:X,zip64UncompressedSize:K,zip64CompressedSize:re,zip64DiskNumberStart:ge,zip64Offset:me,msDosCompatible:ze,internalFileAttribute:Ie,externalFileAttribute:Pe,diskNumberStart:st,uncompressedSize:x,compressedSize:he}=C,Ae=J(k,L,A,O,U);q(u,l,Zn),V(u,l+4,M);let le=Te(D);K||q(le,18,x),re||q(le,14,he),ue(h,D,l+6),V(u,l+30,Ae),V(u,l+32,J(R)),V(u,l+34,X&&ge?se:st),V(u,l+36,Ie),Pe?q(u,l+38,Pe):H&&ze&&Ei(u,l+38,ar),q(u,l+42,X&&me?de:z),ue(h,f,l+46),ue(h,k,l+46+J(f)),ue(h,L,l+46+J(f,k)),ue(h,A,l+46+J(f,k,L)),ue(h,O,l+46+J(f,k,L,A)),ue(h,U,l+46+J(f,k,L,A,O)),ue(h,R,l+46+J(f)+Ae);let De=46+J(f,R)+Ae;if(l-p>i.availableSize&&(i.availableSize=0,await pt(s,h.slice(p,l)),p=l),l+=De,a.onprogress)try{await a.onprogress(j+1,o.size,new ka(C))}catch{}}await pt(s,p?h.slice(p):h);let w=i.diskNumber,{availableSize:b}=i;b<xt&&w++;let E=te(e,a,\"zip64\");if(d>=de||c>=de||m>=se||w>=se){if(E===!1)throw new B(Ai);E=!0}let S=new P(E?$w:xt),y=Te(S);l=0,E&&(q(y,0,$n),Ne(y,4,Ce(44)),V(y,12,45),V(y,14,45),q(y,16,w),q(y,20,r),Ne(y,24,Ce(m)),Ne(y,32,Ce(m)),Ne(y,40,Ce(c)),Ne(y,48,Ce(d)),q(y,56,nd),Ne(y,64,Ce(d)+Ce(c)),q(y,72,w+1),te(e,a,\"supportZip64SplitFile\",!0)&&(w=se,r=se),m=se,d=de,c=de,l+=ho+mo),q(y,l,id),V(y,l+4,w),V(y,l+6,r),V(y,l+8,m),V(y,l+10,m),q(y,l+12,c),q(y,l+16,d);let g=J(t);if(g)if(g<=se)V(y,l+20,g);else throw new B(mm);await pt(s,S),g&&await pt(s,t)}async function pt(e,t){let a=e.getWriter();await a.ready,e.size+=J(t),await a.write(t),a.releaseLock()}function Yn(e){if(e)return(Ce(e.getTime())+Ce(116444736e5))*Ce(1e4)}function te(e,t,a,o){let i=t[a]===we?e.options[a]:t[a];return i===we?o:i}function vb(e){return e+5*(ie.floor(e/16383)+1)}function Ei(e,t,a){e.setUint8(t,a)}function V(e,t,a){e.setUint16(t,a,!0)}function q(e,t,a){e.setUint32(t,a,!0)}function Ne(e,t,a){e.setBigUint64(t,a,!0)}function ue(e,t,a){e.set(t,a)}function Te(e){return new ea(e.buffer)}function J(...e){let t=0;return e.forEach(a=>a&&(t+=a.length)),t}var fm;try{fm=Sb.url}catch{}xo({baseURL:fm});rf(xo);async function bm(e,{password:t,prompt:a=()=>{},shadowRootScriptURL:o,zipOptions:i={useWebWorkers:!1},noBlobURL:n}={}){let s={gif:\"image/gif\",jpg:\"image/jpeg\",png:\"image/png\",tif:\"image/tiff\",tiff:\"image/tiff\",bmp:\"image/bmp\",ico:\"image/vnd.microsoft.icon\",webp:\"image/webp\",svg:\"image/svg+xml\",avi:\"video/x-msvideo\",ogv:\"video/ogg\",mp4:\"video/mp4\",mpeg:\"video/mpeg\",ts:\"video/mp2t\",webm:\"video/webm\",\"3gp\":\"video/3gpp\",\"3g2\":\"video/3gpp\",mp3:\"audio/mpeg\",oga:\"audio/ogg\",mid:\"audio/midi\",midi:\"audio/midi\",opus:\"audio/opus\",wav:\"audio/wav\",weba:\"audio/webm\",heif:\"image/heif\",heic:\"image/heic\",avif:\"image/avif\",apng:\"image/apng\",mov:\"video/quicktime\",otf:\"font/otf\",ttf:\"font/ttf\",woff:\"font/woff\",woff2:\"font/woff2\",eot:\"application/vnd.ms-fontobject\",pdf:\"application/pdf\"},r=/stylesheet_[0-9]+\\.css/,l=/scripts\\/[0-9]+\\.js/,c=/^([0-9_]+\\/)?index\\.html$/,d=/index\\.html$/,m=/frames\\//,h=/manifest\\.json$/,u=\";charset=utf-8\",p=/([{}()^$&.*?/+|[\\\\\\\\]|\\]|-)/g;Array.isArray(e)&&(e=new Blob([new Uint8Array(e)])),zip.configure(i);let w=new zip.BlobReader(e),b=new zip.ZipReader(w),E=await b.getEntries(),S={password:t},y,g,j,C=[],z=[],f=[];await Promise.all(E.map(async R=>{let{filename:M}=R,D,H,X,K,re={};if(!S.password&&R.encrypted&&(S.password=a(\"Please enter the password to view the page\")),M.match(d)||M.match(r)||M.match(l))M.match(d)?z.push(re):f.push(re),D=new zip.TextWriter,X=await R.getData(D,S),M.match(d)?K=\"text/html\"+u:M.match(r)?K=\"text/css\"+u:M.match(l)&&(K=\"text/javascript\"+u);else{C.push(re);let Ie=M.match(/\\.([^.]+)/);if(Ie&&Ie[1]&&s[Ie[1]]?K=s[Ie[1]]:K=\"application/octet-stream\",M.match(m)||n)H=await R.getData(new zip.Data64URIWriter(K),S);else{let Pe=await R.getData(new zip.BlobWriter(K),S);H=URL.createObjectURL(Pe)}}let ge=R.filename.match(/^([0-9_]+\\/)?(.*)$/)[2],me=\"\",ze=M.match(/(.*\\/)[^/]+$/);ze&&ze[1]&&(me=ze[1]),Object.assign(re,{prefixPath:me,filename:R.filename,name:ge,url:R.comment,content:H,mimeType:K,textContent:X,parentResources:[]})})),await b.close(),z.sort(O),f.sort(U),C=C.sort(O).concat(...f).concat(...z);for(let R of C){let{filename:M,prefixPath:D}=R,{textContent:H}=R;H!==void 0&&(M.match(c)&&(g=H),M.match(l)||(C.forEach(X=>{let{filename:K,parentResources:re,content:ge}=X;if(K.startsWith(D)&&K!=R.filename){let me=K.substring(D.length);me.match(h)||H.includes(me)&&(re.push(R.filename),X.textContent===void 0&&(H=A(H,me,ge)))}}),R.textContent=H))}for(let R of C){let{textContent:M,prefixPath:D,filename:H}=R;if(M!==void 0){if(!H.match(l)){let X=H;for(let K of C){let{filename:re}=K;if(re.startsWith(D)&&re!=X){let ge=re.substring(D.length);ge.match(h)||M.indexOf(ge)!=-1&&(K.content=await k(K),M=A(M,ge,K.content))}}R.textContent=M,R.content=await k(R)}H.match(d)&&o&&(R.textContent=M.replace(/<script data-template-shadow-root.*<\\/script>/g,\"<script data-template-shadow-root src=\"+o+\"><\\/script>\")),H.match(c)&&(y=M,j=R.url)}}return{docContent:y,origDocContent:g,resources:C,url:j};async function k(R){return R.filename.match(m)||n?await L(R.textContent,R.mimeType):URL.createObjectURL(new Blob([R.textContent],{type:R.mimeType}))}async function L(R,M){let D=new FileReader;return D.readAsDataURL(new Blob([R],{type:M})),new Promise((H,X)=>{D.onload=()=>H(D.result.replace(u,\"\")),D.onerror=X})}function A(R,M,D){if(typeof R.replaceAll==\"function\")return R.replaceAll(M,D);{let H=new RegExp(M.replace(p,\"\\\\$1\"),\"g\");return R.replace(H,D)}}function O(R,M){let D=M.filename.length-R.filename.length;return D||M.filename.localeCompare(R.filename)}function U(R,M){let D=R.filename.length-M.filename.length;return D||R.filename.localeCompare(M.filename)}}async function ym(e,t,{disableFramePointerEvents:a}){t=t.replace(/<noscript/gi,\"<template disabled-noscript\"),t=t.replaceAll(/<\\/noscript/gi,\"</template\");let o=new DOMParser().parseFromString(t,\"text/html\");a&&o.querySelectorAll(\"iframe\").forEach(n=>{let s=\"pointer-events\";n.style.setProperty(\"-sf-\"+s,n.style.getPropertyValue(s),n.style.getPropertyPriority(s)),n.style.setProperty(s,\"none\",\"important\")}),e.open(),e.write(i(o)),e.write(o.documentElement.outerHTML),e.close(),e.querySelectorAll(\"template[disabled-noscript]\").forEach(n=>{let s=e.createElement(\"noscript\");n.removeAttribute(\"disabled-noscript\"),Array.from(n.attributes).forEach(r=>s.setAttribute(r.name,r.value)),s.textContent=n.innerHTML,n.parentElement.replaceChild(s,n)}),e.documentElement.setAttribute(\"data-sfz\",\"\"),e.querySelectorAll(\"link[rel*=icon]\").forEach(n=>n.parentElement.replaceChild(n,n));function i(n){let s=n.doctype,r=\"\";return s&&(r=\"<!DOCTYPE \"+s.nodeName,s.publicId?(r+=' PUBLIC \"'+s.publicId+'\"',s.systemId&&(r+=' \"'+s.systemId+'\"')):s.systemId&&(r+=' SYSTEM \"'+s.systemId+'\"'),s.internalSubset&&(r+=\" [\"+s.internalSubset+\"]\"),r+=\"> \"),r}}var{Blob:Ti,fetch:Eb,TextEncoder:Ci,DOMParser:km}=globalThis,jb=[\".jpg\",\".jpeg\",\".png\",\".avi\",\".apng\",\".pdf\",\".woff2\",\".mp4\",\".mp3\",\".ogg\",\".webp\",\".webm\",\".avi\",\".mpeg\",\".ts\",\".ogv\",\".heif\",\".heic\"],Ab=\"/lib/single-file-zip.min.js\",Qr=[[\"<noscript>\",\"</noscript>\"],[\"<script type=sfz-data>\",\"<\\/script>\"],[\"<xmp>\",\"</xmp>\"],[\"<plaintext>\",\"</plaintext>\"]],xb=[[\"<!--\",\"-->\"],...Qr],xm=[[/<noscript/i,/<\\/noscript>/i],[/<script/i,/<\\/script>/i],[/<xmp/i,/<\\/xmp>/i],[/<plaintext/i,/<\\/plaintext>/i]],Cb=[[/<!--/i,/-->/i],...xm],Tb=new Uint32Array(256).map((e,t)=>{let a=t;for(let o=0;o<8;o++)a=a&1?3988292384^a>>>1:a>>>1;return a}),Zr=12,vm=8,Sm=25,xi=globalThis.browser;async function Sa(e,t,a=new Date){let o;t.zipScript?o=t.zipScript:xi&&xi.runtime&&xi.runtime.getURL&&(xo({workerScripts:{deflate:[\"/lib/single-file-z-worker.js\"]}}),o=await(await Eb(xi.runtime.getURL(Ab))).text());let i=new vo;i.init(),i.writable.size=0;let n,s,r,l;if(t.embeddedImage){t.embeddedImage=Array.from(t.embeddedImage);let u=t.embeddedImage.slice(vm+Sm,t.embeddedImage.length-Zr);if(await Tt(i.writable,t.embeddedImage.slice(0,vm+Sm)),t.selfExtractingArchive){let p=u.reduce((y,g)=>y+String.fromCharCode(g),\"\"),w=Cb.findIndex(y=>!p.match(y[1])),b;[b,l]=w==-1?[\"\",\"\"]:xb[w];let E=Tm(e,t)+b,S=new Uint8Array([...jm(E.length+4),...new Uint8Array([116,84,88,116,80,78,71,0]),...new Ci().encode(E)]);await Tt(i.writable,S),await Tt(i.writable,Em(S,4))}await Tt(i.writable,u),await Tt(i.writable,new Uint8Array(4)),r=i.offset,await Tt(i.writable,new Uint8Array([116,84,88,116,90,73,80,0])),t.selfExtractingArchive&&await Tt(i.writable,new Ci().encode(l))}t.selfExtractingArchive&&(n=await Lb(e,i,o,t));let c=new Eo(i,{bufferedWrite:!0,keepOrder:!1,lastModDate:a}),d=i.offset;e.url=t.url,e.archiveTime=new Date().toISOString(),await zm(c,e,{password:t.password},t.createRootDirectory?String(Date.now())+\"_\"+(t.tabId||0)+\"/\":\"\",t.url);let m=await c.close(null,{preventClose:!0});if(t.selfExtractingArchive){let u=[],p=[];if(t.extractDataFromPage){if(!t.extractDataFromPageTags){let E=\"\";if(m.slice(d).forEach(y=>E+=String.fromCharCode(y)),E.match(/<!--/i)||E.match(/-->/i))return Rm(E,e,t,a)}for(let E=d;E<m.length;E++)m[E]==13&&(m[E+1]==10?u.push(E-d):p.push(E-d))}let w=\"\";t.preventAppendedData||(t.extractDataFromPageTags?w+=t.extractDataFromPageTags[1]:w+=\"-->\");let b=t.preventAppendedData||t.embeddedImage?\"\":\"</body></html>\";if(t.extractDataFromPage)if(s=\"<sfz-extra-data>\"+(await Promise.all([Am(u),Am(p)])).join(\",\")+\"</sfz-extra-data>\",t.preventAppendedData||s.length>65535-b.length-(t.embeddedImage?Zr:0)){if(!t.extraDataSize)return t.extraDataSize=Math.floor(s.length*1.001),Sa(e,t,a)}else{if(t.extraDataSize)return t.extraDataSize=void 0,Sa(e,t,a);w+=s}w+=b,await Tt(i.writable,new Ci().encode(w))}await i.writable.close();let h=await i.getData();if(t.extractDataFromPage&&t.extraDataSize!==void 0)if(t.extraDataSize>=s.length)h.set(Array.from(s).map(u=>u.charCodeAt(0)),d-n);else return t.extraData=s,t.extraDataSize=Math.floor(s.length*1.001),Sa(e,t,a);return t.embeddedImage?(h.set(jm(i.offset-r-4),r-4),new Ti([h,Em(h,r),new Uint8Array(t.embeddedImage.slice(t.embeddedImage.length-Zr))],{type:\"application/octet-stream\"})):new Ti([h],{type:\"application/octet-stream\"})}function Em(e,t=0){let a=new Uint8Array(4),o=-1;for(;t<e.length;t++)o=o>>>8^Tb[(o^e[t])&255];return o^=-1,Cm(a,o),a}function jm(e){let t=new Uint8Array(4);return Cm(t,e),t}function Cm(e,t){e[0]=t>>24,e[1]=t>>16,e[2]=t>>8,e[3]=t}async function Lb(e,t,a,o){let i=\"\";if(o.embeddedImage||(i+=Tm(e,o)),i+=\"<div id=sfz-wait-message>Please wait...</div>\",i+=\"<div id=sfz-error-message><strong>Error</strong>: Cannot open the page from the filesystem.\",i+=\"<ul style='line-height:20px;'>\",i+=`<li style='margin-bottom:10px'><strong>Chrome</strong>: Install <a href='https://chrome.google.com/webstore/detail/singlefile/mpiodijhokgodhhofbcjdecpffjipkle'>SingleFile</a> and enable the option \"Allow access to file URLs\" in the details page of the extension (chrome://extensions/?id=mpiodijhokgodhhofbcjdecpffjipkle).</li>`,i+=`<li style='margin-bottom:10px'><strong>Microsoft Edge</strong>: Install <a href='https://microsoftedge.microsoft.com/addons/detail/singlefile/efnbkdcfmcmnhlkaijjjmhjjgladedno'>SingleFile</a> and enable the option \"Allow access to file URLs\" in the details page of the extension (edge://extensions/?id=efnbkdcfmcmnhlkaijjjmhjjgladedno).</li>`,i+='<li><strong>Safari</strong>: Select \"Security > Disable Local File Restrictions\" in the \"Develop > Developer settings\" menu.</li></ul></div>',o.insertTextBody){let c=new km().parseFromString(e.content,\"text/html\");c.body.querySelectorAll(\"style, script, noscript\").forEach(m=>m.remove());let d=\"\";o.extractDataFromPage&&(d+=Lm(e)+`\n\n`),d+=c.body.innerText,c.body.querySelectorAll(\"single-file-note\").forEach(m=>{let h=m.querySelector(\"template\");if(h){let u=new km().parseFromString(h.innerHTML,\"text/html\");d+=`\n`+u.body.querySelector(\"textarea\").value}}),d=d.replace(/</g,\"<\").replace(/>/g,\">\").replace(/\\n +/g,`\n`).replace(/\\n\\n\\n+/g,`\n\n`).trim(),i+=`\n<main hidden>\n`+d+`\n</main>\n`}let n={insertEmbeddedImage:!!o.embeddedImage};a=\"<script>\"+a+\"document.currentScript.remove();globalThis.addEventListener('load', () => {globalThis.bootstrap=(()=>{let bootstrapStarted;return async content=>{if (bootstrapStarted) return bootstrapStarted; bootstrapStarted = (\"+bm.toString().replace(/\\n|\\t/g,\"\")+\")(content,{prompt}).then(({docContent}) => \"+ym.toString().replace(/\\n|\\t/g,\"\")+\"(document,docContent,\"+JSON.stringify(n)+\"));return bootstrapStarted;}})();(\"+Rb.toString().replace(/\\n|\\t/g,\"\")+')().then(globalThis.bootstrap).then(() => document.dispatchEvent(new CustomEvent(\"single-file-display-infobar\"))).catch(()=>{});});<\\/script>',i+=a;let s=\"\";if(o.extractDataFromPage&&o.extraDataSize){let c=\"<sfz-extra-data></sfz-extra-data>\";s+=c+new Array(o.extraDataSize-c.length).fill(\" \").join(\"\")}i+=s;let r=o.extractDataFromPageTags?o.extractDataFromPageTags[0]:\"<!--\";i+=r;let l=r.length+s.length;return await Tt(t.writable,new Ci().encode(i)),l}function Tm(e,t){let a=\"\";t.includeBOM&&!t.extractDataFromPage&&!t.embeddedImage&&(a+=\"\\uFEFF\");let o=t.extractDataFromPage?\"windows-1252\":\"utf-8\",i=t.extractDataFromPage?\"\":Lm(e);return a+=(t.embeddedImage?\"\":e.doctype)+\"<html data-sfz><meta charset=\"+o+\"><title>\"+i+\"</title>\",t.insertCanonicalLink&&(a+='<link rel=canonical href=\"'+t.url+'\">'),t.insertMetaNoIndex&&(a+=\"<meta name=robots content=noindex>\"),e.viewport&&(a+=\"<meta name=viewport content=\"+JSON.stringify(e.viewport)+\">\"),t.insertMetaCSP&&(a+=`<meta http-equiv=content-security-policy content=\"default-src 'none'; connect-src 'self' data: blob:; font-src 'self' data: blob:; img-src 'self' data: blob:; style-src 'self' 'unsafe-inline' data: blob:; frame-src 'self' data: blob:; media-src 'self' data: blob:; script-src 'self' 'unsafe-inline' data: blob:; object-src 'self' data: blob:\">`),a+=\"<style>@keyframes display-wait-message{0%{opacity:0}100%{opacity:1}};body{color:transparent};div{color:initial}</style>\",a+=\"<body hidden>\",a}function Lm(e){return e.title.replace(/</g,\"<\").replace(/>/g,\">\")||\"\"}function Rm(e,t,a,o,i=0){let n=xm[i];return e.match(n[0])||e.match(n[1])?i<Qr.length-1?Rm(e,t,a,o,i+1):(a.extractDataFromPage=!1,Sa(t,a,o)):(a.extractDataFromPageTags=Qr[i],Sa(t,a,o))}async function Am(e){let t=new FileReader;return await new Promise(a=>{t.onload=o=>a(o.target.result.substring(37)),t.readAsDataURL(new Ti([new Uint32Array(e)],{type:\"application/octet-stream\"}))})}async function Tt(e,t){let a=e.getWriter();await a.ready,e.size+=t.length,await a.write(t),a.releaseLock()}async function zm(e,t,a,o,i){let n={};for(let r of Object.keys(t.resources))for(let l of t.resources[r])l.password=a.password,l.url&&!l.url.startsWith(\"data:\")&&(n[l.name]=l.url);let s=JSON.stringify({originalUrl:t.url,title:t.title,archiveTime:t.archiveTime,indexFilename:\"index.html\",resources:n},null,2);await Promise.all([Promise.all([$r(e,o,{name:\"index.html\",extension:\".html\",content:t.content,url:i,password:a.password}),$r(e,o,{name:\"manifest.json\",extension:\".json\",content:s,password:a.password})]),Promise.all(Object.keys(t.resources).map(async r=>Promise.all(t.resources[r].map(l=>r==\"frames\"?zm(e,l,a,o+l.name,l.url):$r(e,o,l,!0)))))])}async function $r(e,t,a){let o=typeof a.content==\"string\"?new ko(a.content):new $t(new Ti([new Uint8Array(a.content)])),i={comment:a.url&&a.url.startsWith(\"data:\")?\"data:\":a.url,password:a.password,bufferedWrite:!0};jb.includes(a.extension)&&(i.level=0),await e.add(t+a.name,o,i)}async function Rb(){let{Blob:e,XMLHttpRequest:t,fetch:a,document:o,stop:i}=globalThis,n=new Map([[65533,0],[8364,128],[8218,130],[402,131],[8222,132],[8230,133],[8224,134],[8225,135],[710,136],[8240,137],[352,138],[8249,139],[338,140],[381,142],[8216,145],[8217,146],[8220,147],[8221,148],[8226,149],[8211,150],[8212,151],[732,152],[8482,153],[353,154],[8250,155],[339,156],[382,158],[376,159]]),s=new t;return o.body.querySelectorAll(\"meta, style\").forEach(d=>o.head.appendChild(d)),s.responseType=\"blob\",s.open(\"GET\",\"\"),new Promise((d,m)=>{s.onerror=()=>{l().then(d).catch(()=>{r(\"sfz-error-message\",2),m()})},s.send(),s.onload=()=>{i(),r(\"sfz-wait-message\",2),d(s.response)}});function r(d,m=0){let h=o.getElementById(d);h&&(Array.from(o.body.childNodes).forEach(u=>{u.id!=d&&u.remove()}),o.body.hidden=!1,h.style=\"opacity: 0; animation: 0s linear \"+m+\"s display-wait-message 1 normal forwards\")}async function l(){let d=o.querySelector(\"sfz-extra-data\");if(d){let m=d.nextSibling;m&&m.nodeType==Node.TEXT_NODE&&m.nextSibling?m=m.nextSibling:m=d.previousSibling;let h=[],{textContent:u}=m;r(\"sfz-wait-message\",2);for(let S=0;S<u.length;S++){let y=u.charCodeAt(S);h.push(y>255?n.get(y):y)}let[p,w]=d.textContent.split(\",\"),b=await c(p),E=await c(w);return b.forEach(S=>h.splice(S,1,13,10)),E.forEach(S=>h[S]=13),new e([new Uint8Array(h)],{type:\"application/octet-stream\"})}throw new Error(\"Extra zip data data not found\")}async function c(d){return new Uint32Array(await(await a(\"data:application/octet-stream;base64,\"+d)).arrayBuffer())}}var Bo={};oe(Bo,{TIMEOUT_INIT_REQUEST_MESSAGE:()=>Jm,cleanup:()=>Ty,getAsync:()=>xy,getSync:()=>Cy,initResponse:()=>Ss});var ia={};oe(ia,{process:()=>fs,resetZoomLevel:()=>yy});var Ro={};oe(Ro,{IMAGE_LOADED_EVENT:()=>Ri,LOAD_IMAGE_EVENT:()=>Li,getFontsData:()=>ts,loadDeferredImagesEnd:()=>os,loadDeferredImagesResetZoomLevel:()=>is,loadDeferredImagesStart:()=>as});var zb=\"single-file-load-deferred-images-start\",Ib=\"single-file-load-deferred-images-end\",_b=\"single-file-load-deferred-images-keep-zoom-level-start\",Mb=\"single-file-load-deferred-images-keep-zoom-level-end\",Pb=\"single-file-load-deferred-images-keep-zoom-level-reset\",Db=\"single-file-load-deferred-images-reset\",Nb=\"single-file-block-cookies-start\",Ob=\"single-file-block-cookies-end\",Fb=\"single-file-dispatch-scroll-event-start\",Bb=\"single-file-dispatch-scroll-event-end\",Ub=\"single-file-block-storage-start\",Hb=\"single-file-block-storage-end\",Li=\"single-file-load-image\",Ri=\"single-file-image-loaded\",Gb=\"single-file-new-font-face\",qb=\"single-file-delete-font\",Vb=\"single-file-clear-fonts\",es=\"_singleFile_fontFaces\",Qe=globalThis.CustomEvent,Le=globalThis.document,Wb=globalThis.Document,Im=globalThis.JSON,Kb=globalThis.MutationObserver,Ea;window[es]?Ea=window[es]:Ea=window[es]=new Map;_m();new Kb(_m).observe(Le,{childList:!0});function _m(){Le instanceof Wb&&(Le.addEventListener(Gb,e=>{let t=e.detail,a=Object.assign({},t);delete a.src,Ea.set(Im.stringify(a),t)}),Le.addEventListener(qb,e=>{let t=e.detail,a=Object.assign({},t);delete a.src,Ea.delete(Im.stringify(a))}),Le.addEventListener(Vb,()=>Ea=new Map))}function ts(){return Array.from(Ea.values())}function as(e){e.loadDeferredImagesBlockCookies&&Le.dispatchEvent(new Qe(Nb)),e.loadDeferredImagesBlockStorage&&Le.dispatchEvent(new Qe(Ub)),e.loadDeferredImagesDispatchScrollEvent&&Le.dispatchEvent(new Qe(Fb)),e.loadDeferredImagesKeepZoomLevel?Le.dispatchEvent(new Qe(_b)):Le.dispatchEvent(new Qe(zb))}function os(e){e.loadDeferredImagesBlockCookies&&Le.dispatchEvent(new Qe(Ob)),e.loadDeferredImagesBlockStorage&&Le.dispatchEvent(new Qe(Hb)),e.loadDeferredImagesDispatchScrollEvent&&Le.dispatchEvent(new Qe(Bb)),e.loadDeferredImagesKeepZoomLevel?Le.dispatchEvent(new Qe(Mb)):Le.dispatchEvent(new Qe(Ib))}function is(e){e.loadDeferredImagesKeepZoomLevel?Le.dispatchEvent(new Qe(Pb)):Le.dispatchEvent(new Qe(Db))}var Hi={};oe(Hi,{ASYNC_SCRIPT_ATTRIBUTE_NAME:()=>Ni,CANVAS_ATTRIBUTE_NAME:()=>Ia,COMMENT_HEADER:()=>Ii,COMMENT_HEADER_LEGACY:()=>ms,EMPTY_RESOURCE:()=>Pa,HIDDEN_CONTENT_ATTRIBUTE_NAME:()=>Aa,HIDDEN_FRAME_ATTRIBUTE_NAME:()=>xa,IMAGE_ATTRIBUTE_NAME:()=>La,INFOBAR_TAGNAME:()=>Fi,INPUT_VALUE_ATTRIBUTE_NAME:()=>Lt,INVALID_ELEMENT_ATTRIBUTE_NAME:()=>Oi,LAZY_SRC_ATTRIBUTE_NAME:()=>Io,MESSAGE_PREFIX:()=>aa,NO_SCRIPT_PROPERTY_NAME:()=>_i,ON_AFTER_CAPTURE_EVENT_NAME:()=>Mo,ON_BEFORE_CAPTURE_EVENT_NAME:()=>_o,POSTER_ATTRIBUTE_NAME:()=>Ra,PRESERVED_SPACE_ELEMENT_ATTRIBUTE_NAME:()=>Ca,REMOVED_CONTENT_ATTRIBUTE_NAME:()=>ja,SELECTED_CONTENT_ATTRIBUTE_NAME:()=>ds,SHADOW_ROOT_ATTRIBUTE_NAME:()=>Ta,SINGLE_FILE_UI_ELEMENT_CLASS:()=>Ma,STYLESHEET_ATTRIBUTE_NAME:()=>_a,STYLE_ATTRIBUTE_NAME:()=>Do,VIDEO_ATTRIBUTE_NAME:()=>za,WAIT_FOR_USERSCRIPT_PROPERTY_NAME:()=>ta,WIN_ID_ATTRIBUTE_NAME:()=>Po,appendInfobar:()=>hs,digest:()=>Ut,flatten:()=>Oa,getContentSize:()=>Fo,getFontWeight:()=>Na,getShadowRoot:()=>Ui,initDoc:()=>Bi,initUserScriptHandler:()=>Hm,normalizeFontFamily:()=>oa,postProcessDoc:()=>Oo,preProcessDoc:()=>No,removeQuotes:()=>Da,serialize:()=>us});var zi={};oe(zi,{process:()=>ns});var Mm=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",Xb=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+Mm+\"?|(\"+Mm+\")|.)\",\"ig\");function ns(e){return e.replace(Xb,(t,a,o)=>{let i=\"0x\"+a-65536;return i!==i||o?a:i<0?String.fromCharCode(i+65536):String.fromCharCode(i>>10|55296,i&1023|56320)})}var $=\"single-file-\",Ii=\"Page saved with SingleFile\",rs=\"SingleFile\",ta=\"_singleFile_waitForUserScript\",aa=\"__frameTree__::\",_i=\"singleFileDisabledNoscript\";var Mi=\"single-file-infobar\",Yb=`\n.infobar,\n.infobar .infobar-icon,\n.infobar .infobar-link-icon {\n min-inline-size: 28px;\n min-block-size: 28px;\n box-sizing: border-box;\n}\n\n.infobar,\n.infobar .infobar-close-icon,\n.infobar .infobar-link-icon {\n opacity: 0.7;\n transition: opacity 250ms;\n}\n\n.infobar:hover,\n.infobar .infobar-close-icon:hover,\n.infobar .infobar-link-icon:hover {\n opacity: 1;\n}\n\n.infobar,\n.infobar-content {\n display: flex;\n}\n\n.infobar {\n position: fixed;\n top: 16px;\n right: 16px;\n margin-inline-start: 16px;\n margin-block-end: 16px;\n color: #2d2d2d;\n background-color: #737373;\n border: 2px solid;\n border-color: #eee;\n border-radius: 16px;\n z-index: 2147483647;\n}\n\n.infobar:valid, .infobar:not(:focus-within) .infobar-content {\n display: none;\n}\n\n.infobar:focus-within {\n background-color: #f9f9f9;\n border-color: #878787;\n border-radius: 8px;\n opacity: 1;\n transition-property: opacity, background-color, border-color, border-radius,\n color;\n}\n\n.infobar-content {\n align-items: center;\n}\n\n.infobar-content span {\n font-family: Arial, Helvetica, sans-serif;\n font-size: 14px;\n line-height: 18px;\n word-break: break-word;\n white-space: pre-wrap;\n margin-inline: 4px;\n margin-block: 4px;\n}\n\n.infobar .infobar-icon,\n.infobar .infobar-close-icon,\n.infobar .infobar-link-icon {\n cursor: pointer;\n background-position: center;\n background-repeat: no-repeat;\n}\n\n.infobar .infobar-close-icon,\n.infobar .infobar-link-icon {\n align-self: flex-start;\n}\n\n.infobar .infobar-icon {\n position: absolute;\n min-inline-size: 24px;\n min-block-size: 24px;\n}\n\n.infobar:focus-within .infobar-icon {\n z-index: -1;\n background-image: none;\n}\n\n.infobar .infobar-close-icon {\n min-inline-size: 22px;\n min-block-size: 22px;\n}\n\n.infobar .infobar-icon {\n background-color: transparent;\n background-size: 70%;\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAABhmlDQ1BJQ0MgcHJvZmlsZQAAKJF9kj1Iw0AYht+mSkUrDnYQcchQnSyIijqWKhbBQmkrtOpgcukfNGlIUlwcBdeCgz+LVQcXZ10dXAVB8AfEydFJ0UVK/C4ptIjx4LiH9+59+e67A4RGhalm1wSgapaRisfEbG5VDLyiDwEAvZiVmKkn0osZeI6ve/j4ehfhWd7n/hz9St5kgE8kjjLdsIg3iGc2LZ3zPnGIlSSF+Jx43KACiR+5Lrv8xrnosMAzQ0YmNU8cIhaLHSx3MCsZKvE0cVhRNcoXsi4rnLc4q5Uaa9XJbxjMaytprtMcQRxLSCAJETJqKKMCCxFaNVJMpGg/5uEfdvxJcsnkKoORYwFVqJAcP/gb/O6tWZiadJOCMaD7xbY/RoHALtCs2/b3sW03TwD/M3Cltf3VBjD3SXq9rYWPgIFt4OK6rcl7wOUOMPSkS4bkSH6aQqEAvJ/RM+WAwVv6EGtu31r7OH0AMtSr5Rvg4BAYK1L2use9ezr79u+ZVv9+AFlNcp0UUpiqAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AsHADIRLMaOHwAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAPUExURQAAAIqKioyNjY2OjvDw8L2y1DEAAAABdFJOUwBA5thmAAAAAWJLR0QB/wIt3gAAAGNJREFUSMdjYCAJsLi4OBCQx6/CBQwIGIDPCBcXAkYQUsACU+AwlBVQHg6Eg5pgZBGOboIJZugDFwRwoJECJCUOhJI1wZwzqmBUwagCuipgIqTABG9h7YIKaKGAURAFEF/6AQAO4HqSoDP8bgAAAABJRU5ErkJggg==);\n}\n\n.infobar .infobar-link-icon {\n background-size: 60%;\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAABhmlDQ1BJQ0MgcHJvZmlsZQAAKJF9kj1Iw0AYht+mSkUrDnYQcchQnSyIijqWKhbBQmkrtOpgcukfNGlIUlwcBdeCgz+LVQcXZ10dXAVB8AfEydFJ0UVK/C4ptIjx4LiH9+59+e67A4RGhalm1wSgapaRisfEbG5VDLyiDwEAvZiVmKkn0osZeI6ve/j4ehfhWd7n/hz9St5kgE8kjjLdsIg3iGc2LZ3zPnGIlSSF+Jx43KACiR+5Lrv8xrnosMAzQ0YmNU8cIhaLHSx3MCsZKvE0cVhRNcoXsi4rnLc4q5Uaa9XJbxjMaytprtMcQRxLSCAJETJqKKMCCxFaNVJMpGg/5uEfdvxJcsnkKoORYwFVqJAcP/gb/O6tWZiadJOCMaD7xbY/RoHALtCs2/b3sW03TwD/M3Cltf3VBjD3SXq9rYWPgIFt4OK6rcl7wOUOMPSkS4bkSH6aQqEAvJ/RM+WAwVv6EGtu31r7OH0AMtSr5Rvg4BAYK1L2use9ezr79u+ZVv9+AFlNcp0UUpiqAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AsHAB8H+DhhoQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAJUExURQAAAICHi4qKioTuJAkAAAABdFJOUwBA5thmAAAAAWJLR0QCZgt8ZAAAAJJJREFUOI3t070NRCEMA2CnYAOyDyPwpHj/Va7hJ3FzV7zy3ET5JIwoAF6Jk4wzAJAkzxAYG9YRTgB+24wBgKmfrGAKTcEfAY4KRlRoIeBTgKOCERVaCPgU4Khge2GqKOBTgKOCERVaAEC/4PNcnyoSWHpjqkhwKxbcig0Q6AorXYF/+A6eIYD1lVbwG/jdA6/kA2THRAURVubcAAAAAElFTkSuQmCC);\n}\n\n.infobar .infobar-close-icon {\n appearance: none;\n background-size: 80%;\n background-image: url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAABhmlDQ1BJQ0MgcHJvZmlsZQAAKJF9kj1Iw0AYht+mSkUrDnYQcchQnSyIijqWKhbBQmkrtOpgcukfNGlIUlwcBdeCgz+LVQcXZ10dXAVB8AfEydFJ0UVK/C4ptIjx4LiH9+59+e67A4RGhalm1wSgapaRisfEbG5VDLyiDwEAvZiVmKkn0osZeI6ve/j4ehfhWd7n/hz9St5kgE8kjjLdsIg3iGc2LZ3zPnGIlSSF+Jx43KACiR+5Lrv8xrnosMAzQ0YmNU8cIhaLHSx3MCsZKvE0cVhRNcoXsi4rnLc4q5Uaa9XJbxjMaytprtMcQRxLSCAJETJqKKMCCxFaNVJMpGg/5uEfdvxJcsnkKoORYwFVqJAcP/gb/O6tWZiadJOCMaD7xbY/RoHALtCs2/b3sW03TwD/M3Cltf3VBjD3SXq9rYWPgIFt4OK6rcl7wOUOMPSkS4bkSH6aQqEAvJ/RM+WAwVv6EGtu31r7OH0AMtSr5Rvg4BAYK1L2use9ezr79u+ZVv9+AFlNcp0UUpiqAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AsHAB8VC4EQ6QAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAJUExURQAAAICHi4qKioTuJAkAAAABdFJOUwBA5thmAAAAAWJLR0QCZgt8ZAAAAJtJREFUOI3NkrsBgCAMRLFwBPdxBArcfxXFkO8rbKWAAJfHJ9faf9vuYX/749T5NmShm3bEwbe2SxeuM4+2oxDL1cDoKtVUjRy+tH78Cv2CS+wIiQNC1AEhk4AQeUTMWUJMfUJMSEJMSEY8kIx4IONroaYAimNxsXp1PA7PxwfVL8QnowwoVC0lig07wDDVUjAdbAnjwtow/z/bDW7eI4M2KruJAAAAAElFTkSuQmCC);\n}\n`;function Pm(e,t,a){if(!e.querySelector(Mi)){let o;t.infobarContent?o=t.infobarContent.replace(/\\\\n/g,`\n`).replace(/\\\\t/g,\"\t\"):t.saveDate&&(o=t.saveDate),o=o||\"No info\";let i=e.body.tagName==\"BODY\"?e.body:e.documentElement,n=Zb(e,Mi,i),s;if(a)s=n.attachShadow({mode:\"open\"});else{let w=e.createElement(\"template\");w.setAttribute(\"shadowrootmode\",\"open\"),n.appendChild(w),s=w}let r=e.createElement(\"div\"),l=e.createElement(\"style\");l.textContent=Yb.replace(/ {2}/g,\"\").replace(/\\n/g,\"\").replace(/: /g,\":\").replace(/, /g,\",\"),r.appendChild(l);let c=e.createElement(\"form\");c.classList.add(\"infobar\"),r.appendChild(c);let d=e.createElement(\"span\");d.tabIndex=-1,d.classList.add(\"infobar-icon\"),c.appendChild(d);let m=e.createElement(\"span\");m.tabIndex=-1,m.classList.add(\"infobar-content\");let h=e.createElement(\"input\");h.type=\"checkbox\",h.required=!0,h.classList.add(\"infobar-close-icon\"),h.title=\"Close\",m.appendChild(h);let u=e.createElement(\"span\");u.textContent=o,m.appendChild(u);let p=e.createElement(\"a\");if(p.classList.add(\"infobar-link-icon\"),p.target=\"_blank\",p.rel=\"noopener noreferrer\",p.title=\"Open source URL: \"+t.saveUrl,p.href=t.saveUrl,m.appendChild(p),c.appendChild(m),a)s.appendChild(r);else{let w=e.createElement(\"script\"),b=Nm.toString();b+=\";const SINGLE_FILE_SIGNATURE = \"+JSON.stringify(rs)+\";\",b+=Dm.toString(),b+=\"(\"+Jb.toString()+\")(document)\",w.textContent=b,r.appendChild(w),s.innerHTML=r.outerHTML}}}function Dm(e){let t=e.evaluate(\"//comment()\",e,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null),a=t&&t.singleNodeValue;if(a&&a.nodeType==Node.COMMENT_NODE&&a.textContent.includes(rs)){let o=a.textContent.split(`\n`),[,,i,...n]=o,s=i.match(/^ url: (.*) ?$/),r=s&&s[1];if(r){let l,c;if(n.length&&(c=n[0].split(\"saved date: \")[1],c&&n.shift(),n.length>1)){let d=n[0].split(\"info: \")[1].trim();for(let m=1;m<n.length-1;m++)d+=`\n`+n[m].trim();l=d.trim()}return{saveUrl:r,infobarContent:l,saveDate:c}}}}function Nm(e,{saveUrl:t,infobarContent:a,saveDate:o}){if(t){let n=e.querySelector(\"single-file-infobar\").shadowRoot,s=n.querySelector(\".infobar-content span\");s.textContent=a||o;let r=n.querySelector(\".infobar-content .infobar-link-icon\");r.href=t,r.title=\"Open source URL: \"+t}}function Jb(e){let t=Dm(e);t&&t.saveUrl&&Nm(e,t)}function Zb(e,t,a){let o=e.createElement(t);return a.appendChild(o),Array.from(getComputedStyle(o)).forEach(i=>o.style.setProperty(i,\"initial\",\"important\")),o}var _o=$+\"on-before-capture\",Mo=$+\"on-after-capture\",Om=$+\"request-get-adopted-stylesheets\",Fm=$+\"response-get-adopted-stylesheets\",Qb=$+\"unregister-request-get-adopted-stylesheets\",ey=$+\"user-script-init\",ja=\"data-\"+$+\"removed-content\",Aa=\"data-\"+$+\"hidden-content\",ls=\"data-\"+$+\"kept-content\",xa=\"data-\"+$+\"hidden-frame\",Ca=\"data-\"+$+\"preserved-space-element\",Ta=\"data-\"+$+\"shadow-root-element\",Po=\"data-\"+$+\"win-id\",La=\"data-\"+$+\"image\",Ra=\"data-\"+$+\"poster\",za=\"data-\"+$+\"video\",Ia=\"data-\"+$+\"canvas\",Do=\"data-\"+$+\"movable-style\",Lt=\"data-\"+$+\"input-value\",Io=\"data-\"+$+\"lazy-loaded-src\",_a=\"data-\"+$+\"stylesheet\",zo=\"data-\"+$+\"disabled-noscript\",ds=\"data-\"+$+\"selected-content\",Oi=\"data-\"+$+\"invalid-element\",Ni=\"data-\"+$+\"async-script\",ss=\"*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)\",ty=[\"NOSCRIPT\",\"DISABLED-NOSCRIPT\",\"META\",\"LINK\",\"STYLE\",\"TITLE\",\"TEMPLATE\",\"SOURCE\",\"OBJECT\",\"SCRIPT\",\"HEAD\",\"BODY\"],ay=[\"SCRIPT\",\"NOSCRIPT\",\"META\",\"LINK\",\"TEMPLATE\"],Bm=/^'(.*?)'$/,oy=/^\"(.*?)\"$/,iy={regular:\"400\",normal:\"400\",bold:\"700\",bolder:\"700\",lighter:\"100\"},ms=\"Archive processed by SingleFile\",Ma=\"single-file-ui-element\",Fi=Mi,Pa=\"data:,\",Um=(e,t,a)=>globalThis.addEventListener(e,t,a),ny=e=>{try{globalThis.dispatchEvent(e)}catch{}},ry=globalThis.JSON,sy=globalThis.crypto,ly=globalThis.TextEncoder,cy=globalThis.Blob,Di=globalThis.CustomEvent,dy=globalThis.MutationObserver;function Hm(){Um(ey,()=>globalThis[ta]=async e=>{let t=new Di(e+\"-request\",{cancelable:!0}),a=new Promise(o=>Um(e+\"-response\",o));ny(t),t.defaultPrevented&&await a}),new dy(Hm).observe(globalThis.document,{childList:!0})}function Bi(e){e.querySelectorAll(\"meta[http-equiv=refresh]\").forEach(t=>{t.removeAttribute(\"http-equiv\"),t.setAttribute(\"disabled-http-equiv\",\"refresh\")})}function No(e,t,a){e.querySelectorAll(\"noscript:not([\"+zo+\"])\").forEach(n=>{n.setAttribute(zo,n.textContent),n.textContent=\"\"}),Bi(e),e.head&&e.head.querySelectorAll(ss).forEach(n=>n.hidden=!0),e.querySelectorAll(\"svg foreignObject\").forEach(n=>{let s=n.querySelectorAll(\"html > head > \"+ss+\", html > body > \"+ss);s.length&&(Array.from(n.childNodes).forEach(r=>r.remove()),s.forEach(r=>n.appendChild(r)))});let o=new Map,i;return t&&e.documentElement?(e.querySelectorAll(\"button button, a a\").forEach(n=>{let s=e.createElement(\"template\");s.setAttribute(Oi,\"\"),s.content.appendChild(n.cloneNode(!0)),o.set(n,s),n.replaceWith(s)}),i=cs(t,e,e.documentElement,a),a.moveStylesInHead&&e.querySelectorAll(\"body style, body ~ style\").forEach(n=>{let s=Bt(t,n);s&&qm(n,s)&&(n.setAttribute(Do,\"\"),i.markedElements.push(n))})):i={canvases:[],images:[],posters:[],videos:[],usedFonts:[],shadowRoots:[],markedElements:[]},{canvases:i.canvases,fonts:py(e),stylesheets:hy(e),images:i.images,posters:i.posters,videos:i.videos,usedFonts:Array.from(i.usedFonts.values()),shadowRoots:i.shadowRoots,referrer:e.referrer,markedElements:i.markedElements,invalidElements:o,scrollPosition:{x:t.scrollX,y:t.scrollY},adoptedStyleSheets:Gm(e.adoptedStyleSheets)}}function cs(e,t,a,o,i={usedFonts:new Map,canvases:[],images:[],posters:[],videos:[],shadowRoots:[],markedElements:[]},n){return a.childNodes&&Array.from(a.childNodes).filter(r=>r instanceof e.HTMLElement||r instanceof e.SVGElement||r instanceof globalThis.HTMLElement||r instanceof globalThis.SVGElement).forEach(r=>{let l,c,d;if(!o.autoSaveExternalSave&&(o.removeHiddenElements||o.removeUnusedFonts||o.compressHTML)&&(d=Bt(e,r),(r instanceof e.HTMLElement||r instanceof globalThis.HTMLElement)&&o.removeHiddenElements&&(c=(n||r.closest(\"html > head\"))&&ty.includes(r.tagName.toUpperCase())||r.closest(\"details\"),c||(l=n||qm(r,d),l&&!ay.includes(r.tagName.toUpperCase())&&(r.setAttribute(Aa,\"\"),i.markedElements.push(r)))),!l)){if(o.compressHTML&&d){let h=d.getPropertyValue(\"white-space\");h&&h.startsWith(\"pre\")&&(r.setAttribute(Ca,\"\"),i.markedElements.push(r))}o.removeUnusedFonts&&(Pi(d,o,i.usedFonts),Pi(Bt(e,r,\":first-letter\"),o,i.usedFonts),Pi(Bt(e,r,\":before\"),o,i.usedFonts),Pi(Bt(e,r,\":after\"),o,i.usedFonts))}my(e,t,r,o,i,l,d);let m=!(r instanceof e.SVGElement||r instanceof globalThis.SVGElement)&&Ui(r);if(m&&!r.classList.contains(Ma)&&r.tagName.toLowerCase()!=Fi){let h={};r.setAttribute(Ta,i.shadowRoots.length),i.markedElements.push(r),i.shadowRoots.push(h);try{if(m.adoptedStyleSheets){if(m.adoptedStyleSheets.length)h.adoptedStyleSheets=Gm(m.adoptedStyleSheets);else if(m.adoptedStyleSheets.length===void 0){let u=p=>h.adoptedStyleSheets=p.detail.adoptedStyleSheets;m.addEventListener(Fm,u),m.dispatchEvent(new Di(Om,{bubbles:!0})),h.adoptedStyleSheets||r.dispatchEvent(new Di(Om,{bubbles:!0})),m.removeEventListener(Fm,u)}}}catch{}cs(e,t,m,o,i,l),h.content=m.innerHTML,h.mode=m.mode;try{m.adoptedStyleSheets&&m.adoptedStyleSheets.length===void 0&&m.dispatchEvent(new Di(Qb,{bubbles:!0}))}catch{}}cs(e,t,r,o,i,l),!o.autoSaveExternalSave&&o.removeHiddenElements&&n&&(c||r.getAttribute(ls)==\"\"?r.parentElement&&(r.parentElement.setAttribute(ls,\"\"),i.markedElements.push(r.parentElement)):l&&(r.setAttribute(ja,\"\"),i.markedElements.push(r)))}),i}function Gm(e){return e?Array.from(e).map(t=>Array.from(t.cssRules).map(a=>a.cssText).join(`\n`)):[]}function my(e,t,a,o,i,n,s){let r=a.tagName&&a.tagName.toUpperCase();if(r==\"CANVAS\")try{i.canvases.push({dataURI:a.toDataURL(\"image/png\",\"\"),backgroundColor:s.getPropertyValue(\"background-color\")}),a.setAttribute(Ia,i.canvases.length-1),i.markedElements.push(a)}catch{}if(r==\"IMG\"){let l={currentSrc:n?Pa:o.loadDeferredImages&&a.getAttribute(Io)||a.currentSrc};if(i.images.push(l),a.setAttribute(La,i.images.length-1),i.markedElements.push(a),a.removeAttribute(Io),s=s||Bt(e,a),s){l.size=uy(e,a,s);let c=s.getPropertyValue(\"box-shadow\"),d=s.getPropertyValue(\"background-image\");(!c||c==\"none\")&&(!d||d==\"none\")&&(l.size.pxWidth>1||l.size.pxHeight>1)&&(l.replaceable=!0,l.backgroundColor=s.getPropertyValue(\"background-color\"),l.objectFit=s.getPropertyValue(\"object-fit\"),l.boxSizing=s.getPropertyValue(\"box-sizing\"),l.objectPosition=s.getPropertyValue(\"object-position\"))}}if(r==\"VIDEO\"){let l=a.currentSrc;if(l&&!l.startsWith(\"blob:\")&&!l.startsWith(\"data:\")){let c=Bt(e,a.parentNode);i.videos.push({positionParent:c&&c.getPropertyValue(\"position\"),src:l,size:{pxWidth:a.clientWidth,pxHeight:a.clientHeight},currentTime:a.currentTime}),a.setAttribute(za,i.videos.length-1)}if(!a.getAttribute(\"poster\")){let c=t.createElement(\"canvas\"),d=c.getContext(\"2d\");c.width=a.clientWidth,c.height=a.clientHeight;try{d.drawImage(a,0,0,c.width,c.height),i.posters.push(c.toDataURL(\"image/png\",\"\")),a.setAttribute(Ra,i.posters.length-1),i.markedElements.push(a)}catch{}}}r==\"IFRAME\"&&n&&o.removeHiddenElements&&(a.setAttribute(xa,\"\"),i.markedElements.push(a)),r==\"INPUT\"&&(a.type!=\"password\"&&(a.setAttribute(Lt,a.value),i.markedElements.push(a)),(a.type==\"radio\"||a.type==\"checkbox\")&&(a.setAttribute(Lt,a.checked),i.markedElements.push(a))),r==\"TEXTAREA\"&&(a.setAttribute(Lt,a.value),i.markedElements.push(a)),r==\"SELECT\"&&a.querySelectorAll(\"option\").forEach(l=>{l.selected&&(l.setAttribute(Lt,\"\"),i.markedElements.push(l))}),r==\"SCRIPT\"&&(a.async&&a.getAttribute(\"async\")!=\"\"&&a.getAttribute(\"async\")!=\"async\"&&(a.setAttribute(Ni,\"\"),i.markedElements.push(a)),a.textContent=a.textContent.replace(/<\\/script>/gi,\"<\\\\/script>\"))}function Pi(e,t,a){if(e){let o=e.getPropertyValue(\"font-style\")||\"normal\";e.getPropertyValue(\"font-family\").split(\",\").forEach(i=>{if(i=oa(i),!t.loadedFonts||t.loadedFonts.find(n=>oa(n.family)==i&&n.style==o)){let n=Na(e.getPropertyValue(\"font-weight\")),s=e.getPropertyValue(\"font-variant\")||\"normal\",r=[i,n,o,s];a.set(ry.stringify(r),[i,n,o,s])}})}}function Ui(e){let t=globalThis.chrome;if(e.openOrClosedShadowRoot)return e.openOrClosedShadowRoot;if(t&&t.dom&&t.dom.openOrClosedShadowRoot)try{return t.dom.openOrClosedShadowRoot(e)}catch{return e.shadowRoot}else return e.shadowRoot}function hs(e,t,a){return Pm(e,t,a)}function oa(e=\"\"){return Da(ns(e.trim())).toLowerCase()}function qm(e,t){let a=!1;if(t){let o=t.getPropertyValue(\"display\"),i=t.getPropertyValue(\"opacity\"),n=t.getPropertyValue(\"visibility\");if(a=o==\"none\",!a&&(i==\"0\"||n==\"hidden\")&&e.getBoundingClientRect){let s=e.getBoundingClientRect();a=!s.width&&!s.height}}return!!a}function Oo(e,t,a){if(e.querySelectorAll(\"[\"+zo+\"]\").forEach(o=>{o.textContent=o.getAttribute(zo),o.removeAttribute(zo)}),e.querySelectorAll(\"meta[disabled-http-equiv]\").forEach(o=>{o.setAttribute(\"http-equiv\",o.getAttribute(\"disabled-http-equiv\")),o.removeAttribute(\"disabled-http-equiv\")}),e.head&&e.head.querySelectorAll(\"*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)\").forEach(o=>o.removeAttribute(\"hidden\")),!t){let o=[ja,xa,Aa,Ca,La,Ra,za,Ia,Lt,Ta,_a,Ni];t=e.querySelectorAll(o.map(i=>\"[\"+i+\"]\").join(\",\"))}t.forEach(o=>{o.removeAttribute(ja),o.removeAttribute(Aa),o.removeAttribute(ls),o.removeAttribute(xa),o.removeAttribute(Ca),o.removeAttribute(La),o.removeAttribute(Ra),o.removeAttribute(za),o.removeAttribute(Ia),o.removeAttribute(Lt),o.removeAttribute(Ta),o.removeAttribute(_a),o.removeAttribute(Ni),o.removeAttribute(Do)}),a&&a.forEach((o,i)=>o.replaceWith(i))}function hy(e){if(e){let t=[];return e.querySelectorAll(\"style\").forEach((a,o)=>{try{if(!a.sheet.disabled){let i=e.createElement(\"style\");i.textContent=a.textContent,e.body.appendChild(i);let n=i.sheet;i.remove();let s=Array.from(n.cssRules).map(l=>l.cssText).join(`\n`),r=Array.from(a.sheet.cssRules).map(l=>l.cssText).join(`\n`);(!n||s!=r)&&(a.setAttribute(_a,o),t[o]=Array.from(a.sheet.cssRules).map(l=>l.cssText).join(`\n`))}}catch{}}),t}}function uy(e,t,a){let o=t.naturalWidth,i=t.naturalHeight;if(!o&&!i){let n=t.getAttribute(\"style\")==null;if(a=a||Bt(e,t),a){let s=!1;if(a.getPropertyValue(\"box-sizing\")==\"content-box\"){let w=t.style.getPropertyValue(\"box-sizing\"),b=t.style.getPropertyPriority(\"box-sizing\"),E=t.clientWidth;t.style.setProperty(\"box-sizing\",\"border-box\",\"important\"),s=t.clientWidth!=E,w?t.style.setProperty(\"box-sizing\",w,b):t.style.removeProperty(\"box-sizing\")}let r,l,c,d,m,h,u,p;r=Ft(\"padding-left\",a),l=Ft(\"padding-right\",a),c=Ft(\"padding-top\",a),d=Ft(\"padding-bottom\",a),s?(m=Ft(\"border-left-width\",a),h=Ft(\"border-right-width\",a),u=Ft(\"border-top-width\",a),p=Ft(\"border-bottom-width\",a)):m=h=u=p=0,o=Math.max(0,t.clientWidth-r-l-m-h),i=Math.max(0,t.clientHeight-c-d-u-p),n&&t.removeAttribute(\"style\")}}return{pxWidth:o,pxHeight:i}}function Ft(e,t){if(t.getPropertyValue(e).endsWith(\"px\"))return parseFloat(t.getPropertyValue(e))}function py(){return ts()}function us(e){let t=e.doctype,a=\"\";return t&&(a=\"<!DOCTYPE \"+t.nodeName,t.publicId?(a+=' PUBLIC \"'+t.publicId+'\"',t.systemId&&(a+=' \"'+t.systemId+'\"')):t.systemId&&(a+=' SYSTEM \"'+t.systemId+'\"'),t.internalSubset&&(a+=\" [\"+t.internalSubset+\"]\"),a+=\"> \"),a+e.documentElement.outerHTML}function Da(e){return e.match(Bm)?e=e.replace(Bm,\"$1\"):e=e.replace(oy,\"$1\"),e.trim()}function Na(e){return iy[e.toLowerCase().trim()]||e}function Fo(e){return new cy([e]).size}async function Ut(e,t){try{let a=await sy.subtle.digest(e,new ly(\"utf-8\").encode(t));return gy(a)}catch{return\"\"}}function gy(e){let t=[],a=new DataView(e);for(let o=0;o<a.byteLength;o+=4){let n=a.getUint32(o).toString(16),s=\"00000000\",r=(s+n).slice(-s.length);t.push(r)}return t.join(\"\")}function Oa(e){return e.flat?e.flat():e.reduce((t,a)=>t.concat(Array.isArray(a)?Oa(a):a),[])}function Bt(e,t,a){try{return e.getComputedStyle(t,a)}catch{}}var ps={LAZY_SRC_ATTRIBUTE_NAME:Io,SINGLE_FILE_UI_ELEMENT_CLASS:Ma},wy=10,fy=\"attributes\",qe=globalThis.browser,Fe=globalThis.document,by=globalThis.MutationObserver,bt=new Map,gs;qe&&qe.runtime&&qe.runtime.onMessage&&qe.runtime.onMessage.addListener&&qe.runtime.onMessage.addListener(e=>{if(e.method==\"singlefile.lazyTimeout.onTimeout\"){let t=bt.get(e.type);if(t){bt.delete(e.type);try{t.callback()}catch{ws(e.type)}}}});async function fs(e){if(Fe.documentElement){bt.clear();let t=Fe.body?Math.max(Fe.body.scrollHeight,Fe.documentElement.scrollHeight):Fe.documentElement.scrollHeight,a=Fe.body?Math.max(Fe.body.scrollWidth,Fe.documentElement.scrollWidth):Fe.documentElement.scrollWidth;if(t>globalThis.innerHeight||a>globalThis.innerWidth){let o=Math.max(t-globalThis.innerHeight*1.5,0),i=Math.max(a-globalThis.innerWidth*1.5,0);if(globalThis.scrollY<o||globalThis.scrollX<i)return ky(e)}}}function yy(e){is(e)}function ky(e){return gs=0,new Promise(async t=>{let a,o=new Set,i=new by(async d=>{d=d.filter(m=>m.type==fy),d.length&&d.filter(h=>{if(h.attributeName==\"src\"&&(h.target.setAttribute(ps.LAZY_SRC_ATTRIBUTE_NAME,h.target.src),h.target.addEventListener(\"load\",s)),h.attributeName==\"src\"||h.attributeName==\"srcset\"||h.target.tagName&&h.target.tagName.toUpperCase()==\"SOURCE\")return!h.target.classList||!h.target.classList.contains(ps.SINGLE_FILE_UI_ELEMENT_CLASS)}).length&&(a=!0,await qi(i,e,c),o.size||await Gi(i,e,c))});await n(e.loadDeferredImagesMaxIdleTime*2),await qi(i,e,c),i.observe(Fe,{subtree:!0,childList:!0,attributes:!0}),Fe.addEventListener(Li,r),Fe.addEventListener(Ri,l),as(e);async function n(d){await Vi(\"idleTimeout\",async()=>{a?gs<wy&&(gs++,Fa(\"idleTimeout\"),await n(Math.max(500,d/2))):(Fa(\"loadTimeout\"),Fa(\"maxTimeout\"),bs(i,e,c))},d,e.loadDeferredImagesNativeTimeout)}function s(d){let m=d.target;m.removeAttribute(ps.LAZY_SRC_ATTRIBUTE_NAME),m.removeEventListener(\"load\",s)}async function r(d){a=!0,await qi(i,e,c),await Gi(i,e,c),d.detail&&o.add(d.detail)}async function l(d){await qi(i,e,c),await Gi(i,e,c),o.delete(d.detail),o.size||await Gi(i,e,c)}function c(d){i.disconnect(),Fe.removeEventListener(Li,r),Fe.removeEventListener(Ri,l),t(d)}})}async function Gi(e,t,a){await Vi(\"loadTimeout\",()=>bs(e,t,a),t.loadDeferredImagesMaxIdleTime,t.loadDeferredImagesNativeTimeout)}async function qi(e,t,a){await Vi(\"maxTimeout\",async()=>{await Fa(\"loadTimeout\"),await bs(e,t,a)},t.loadDeferredImagesMaxIdleTime*10,t.loadDeferredImagesNativeTimeout)}async function bs(e,t,a){await Fa(\"idleTimeout\"),os(t),await Vi(\"endTimeout\",async()=>{await Fa(\"maxTimeout\"),a()},t.loadDeferredImagesMaxIdleTime/2,t.loadDeferredImagesNativeTimeout),e.disconnect()}async function Vi(e,t,a,o){if(qe&&qe.runtime&&qe.runtime.sendMessage&&!o){if(!bt.get(e)||!bt.get(e).pending){let i={callback:t,pending:!0};bt.set(e,i);try{await qe.runtime.sendMessage({method:\"singlefile.lazyTimeout.setTimeout\",type:e,delay:a})}catch{Vm(e,t,a)}i.pending=!1}}else Vm(e,t,a)}function Vm(e,t,a){let o=bt.get(e);o&&globalThis.clearTimeout(o),bt.set(e,t),globalThis.setTimeout(t,a)}async function Fa(e){if(qe&&qe.runtime&&qe.runtime.sendMessage)try{await qe.runtime.sendMessage({method:\"singlefile.lazyTimeout.clearTimeout\",type:e})}catch{ws(e)}else ws(e)}function ws(e){let t=bt.get(e);bt.delete(e),t&&globalThis.clearTimeout(t)}var tt={ON_BEFORE_CAPTURE_EVENT_NAME:_o,ON_AFTER_CAPTURE_EVENT_NAME:Mo,WIN_ID_ATTRIBUTE_NAME:Po,WAIT_FOR_USERSCRIPT_PROPERTY_NAME:ta,preProcessDoc:No,serialize:us,postProcessDoc:Oo,getShadowRoot:Ui},Wm='iframe, frame, object[type=\"text/html\"][data]',vy=\"*\",Xm=\"singlefile.frameTree.initRequest\",ys=\"singlefile.frameTree.ackInitRequest\",Ym=\"singlefile.frameTree.cleanupRequest\",vs=\"singlefile.frameTree.initResponse\",Km=\"*\",Jm=5e3,Sy=1e4,Ey=\"0\",na=\".\",Ba=globalThis.window==globalThis.top,Rt=globalThis.browser,ks=globalThis.top,jy=globalThis.MessageChannel,yt=globalThis.document,ra=globalThis.JSON,Ay=globalThis.MutationObserver,Ve=globalThis.sessions;Ve||(Ve=globalThis.sessions=new Map);var et;Ba&&(et=Ey,Rt&&Rt.runtime&&Rt.runtime.onMessage&&Rt.runtime.onMessage.addListener&&Rt.runtime.onMessage.addListener(e=>{if(e.method==vs)return Ss(e),Promise.resolve({});if(e.method==ys)return Wi(\"requestTimeouts\",e.sessionId,e.windowId),th(e.sessionId,e.windowId),Promise.resolve({})}));Zm();new Ay(Zm).observe(yt,{childList:!0});function Zm(){globalThis.addEventListener(\"message\",async e=>{if(typeof e.data==\"string\"&&e.data.startsWith(aa)){e.preventDefault(),e.stopPropagation();let t=ra.parse(e.data.substring(aa.length));if(t.method==Xm)e.source&&Ki(e.source,{method:ys,windowId:t.windowId,sessionId:t.sessionId}),Ba||(globalThis.stop(),t.options.loadDeferredImages&&fs(t.options),await Qm(t));else if(t.method==ys)Wi(\"requestTimeouts\",t.sessionId,t.windowId),th(t.sessionId,t.windowId);else if(t.method==Ym)eh(t);else if(t.method==vs&&Ve.get(t.sessionId)){let a=e.ports[0];a.onmessage=o=>Ss(o.data)}}},!0)}function xy(e){let t=$m();return e=ra.parse(ra.stringify(e)),new Promise(a=>{Ve.set(t,{frames:[],requestTimeouts:{},responseTimeouts:{},resolve:o=>{o.sessionId=t,a(o)}}),Qm({windowId:et,sessionId:t,options:e})})}function Cy(e){let t=$m();e=ra.parse(ra.stringify(e)),Ve.set(t,{frames:[],requestTimeouts:{},responseTimeouts:{}}),Ly({windowId:et,sessionId:t,options:e});let a=Ve.get(t).frames;return a.sessionId=t,a}function Ty(e){Ve.delete(e),eh({windowId:et,sessionId:e,options:{sessionId:e}})}function $m(){return globalThis.crypto.getRandomValues(new Uint32Array(32)).join(\"\")}function Ly(e){let t=e.sessionId,a=globalThis[tt.WAIT_FOR_USERSCRIPT_PROPERTY_NAME];delete globalThis._singleFile_cleaningUp,Ba||(et=globalThis.frameId=e.windowId),Es(yt,e.options,et,t),Ba||(e.options.userScriptEnabled&&a&&a(tt.ON_BEFORE_CAPTURE_EVENT_NAME),Ua({frames:[js(yt,globalThis,et,e.options,e.scrolling)],sessionId:t,requestedFrameId:yt.documentElement.dataset.requestedFrameId&&et}),e.options.userScriptEnabled&&a&&a(tt.ON_AFTER_CAPTURE_EVENT_NAME),delete yt.documentElement.dataset.requestedFrameId)}async function Qm(e){let t=e.sessionId,a=globalThis[tt.WAIT_FOR_USERSCRIPT_PROPERTY_NAME];delete globalThis._singleFile_cleaningUp,Ba||(et=globalThis.frameId=e.windowId),Es(yt,e.options,et,t),Ba||(e.options.userScriptEnabled&&a&&await a(tt.ON_BEFORE_CAPTURE_EVENT_NAME),Ua({frames:[js(yt,globalThis,et,e.options,e.scrolling)],sessionId:t,requestedFrameId:yt.documentElement.dataset.requestedFrameId&&et}),e.options.userScriptEnabled&&a&&await a(tt.ON_AFTER_CAPTURE_EVENT_NAME),delete yt.documentElement.dataset.requestedFrameId)}function eh(e){if(!globalThis._singleFile_cleaningUp){globalThis._singleFile_cleaningUp=!0;let t=e.sessionId;ah(As(yt),e.windowId,t)}}function Ss(e){e.frames.forEach(a=>Wi(\"responseTimeouts\",e.sessionId,a.windowId));let t=Ve.get(e.sessionId);t&&(e.requestedFrameId&&(t.requestedFrameId=e.requestedFrameId),e.frames.forEach(o=>{let i=t.frames.find(n=>o.windowId==n.windowId);i||(i={windowId:o.windowId},t.frames.push(i)),i.processed||(i.content=o.content,i.baseURI=o.baseURI,i.title=o.title,i.url=o.url,i.canvases=o.canvases,i.fonts=o.fonts,i.stylesheets=o.stylesheets,i.images=o.images,i.posters=o.posters,i.videos=o.videos,i.usedFonts=o.usedFonts,i.shadowRoots=o.shadowRoots,i.processed=o.processed,i.scrollPosition=o.scrollPosition,i.scrolling=o.scrolling,i.adoptedStyleSheets=o.adoptedStyleSheets)}),t.frames.filter(o=>!o.processed).length||(t.frames=t.frames.sort((o,i)=>i.windowId.split(na).length-o.windowId.split(na).length),t.resolve&&(t.requestedFrameId&&t.frames.forEach(o=>{o.windowId==t.requestedFrameId&&(o.requestedFrame=!0)}),t.resolve(t.frames))))}function Es(e,t,a,o){let i=As(e);Ry(e,i,t,a,o),i.length&&zy(e,i,t,a,o)}function Ry(e,t,a,o,i){let n=[],s;Ve.get(i)?s=Ve.get(i).requestTimeouts:(s={},Ve.set(i,{requestTimeouts:s})),t.forEach((r,l)=>{let c=o+na+l;r.setAttribute(tt.WIN_ID_ATTRIBUTE_NAME,c),n.push({windowId:c})}),Ua({frames:n,sessionId:i,requestedFrameId:e.documentElement.dataset.requestedFrameId&&o}),t.forEach((r,l)=>{let c=o+na+l;try{Ki(r.contentWindow,{method:Xm,windowId:c,sessionId:i,options:a,scrolling:r.scrolling})}catch{}s[c]=globalThis.setTimeout(()=>Ua({frames:[{windowId:c,processed:!0}],sessionId:i}),Jm)}),delete e.documentElement.dataset.requestedFrameId}function zy(e,t,a,o,i){let n=[];t.forEach((s,r)=>{let l=o+na+r,c;try{c=s.contentDocument}catch{}if(c)try{let d=s.contentWindow;d.stop(),Wi(\"requestTimeouts\",i,l),Es(c,a,l,i),n.push(js(c,d,l,a,s.scrolling))}catch{n.push({windowId:l,processed:!0})}}),Ua({frames:n,sessionId:i,requestedFrameId:e.documentElement.dataset.requestedFrameId&&o}),delete e.documentElement.dataset.requestedFrameId}function Wi(e,t,a){let o=Ve.get(t);if(o&&o[e]){let i=o[e][a];i&&(globalThis.clearTimeout(i),delete o[e][a])}}function th(e,t){let a=Ve.get(e);a&&a.responseTimeouts&&(a.responseTimeouts[t]=globalThis.setTimeout(()=>Ua({frames:[{windowId:t,processed:!0}],sessionId:e}),Sy))}function ah(e,t,a){e.forEach((o,i)=>{let n=t+na+i;o.removeAttribute(tt.WIN_ID_ATTRIBUTE_NAME);try{Ki(o.contentWindow,{method:Ym,windowId:n,sessionId:a})}catch{}}),e.forEach((o,i)=>{let n=t+na+i,s;try{s=o.contentDocument}catch{}if(s)try{ah(As(s),n,a)}catch{}})}function Ua(e){e.method=vs;try{ks.singlefile.processors.frameTree.initResponse(e)}catch{Ki(ks,e,!0)}}function Ki(e,t,a){if(e==ks&&Rt&&Rt.runtime&&Rt.runtime.sendMessage)Rt.runtime.sendMessage(t);else if(a){let o=new jy;e.postMessage(aa+ra.stringify({method:t.method,sessionId:t.sessionId}),Km,[o.port2]),o.port1.postMessage(t)}else e.postMessage(aa+ra.stringify(t),Km)}function js(e,t,a,o,i){let n=tt.preProcessDoc(e,t,o),s=tt.serialize(e);tt.postProcessDoc(e,n.markedElements,n.invalidElements);let r=e.baseURI.split(\"#\")[0];return{windowId:a,content:s,baseURI:r,url:e.location.href,title:e.title,canvases:n.canvases,fonts:n.fonts,stylesheets:n.stylesheets,images:n.images,posters:n.posters,videos:n.videos,usedFonts:n.usedFonts,shadowRoots:n.shadowRoots,scrollPosition:n.scrollPosition,scrolling:i,adoptedStyleSheets:n.adoptedStyleSheets,processed:!0}}function As(e){let t=Array.from(e.querySelectorAll(Wm));return e.querySelectorAll(vy).forEach(a=>{let o=tt.getShadowRoot(a);o&&(t=t.concat(...o.querySelectorAll(Wm)))}),t}var Cn={};oe(Cn,{MIMEType:()=>Qo,cssMinifier:()=>$o,cssUnescape:()=>zi,fontPropertyParser:()=>En,mediaQueryParser:()=>An,srcsetParser:()=>$a,zip:()=>Jr});var En={};oe(En,{parse:()=>Ml});var Ke={};oe(Ke,{Lexer:()=>ol,List:()=>fe,TokenStream:()=>tu,clone:()=>cl,createLexer:()=>bx,createSyntax:()=>Cu,definitionSyntax:()=>hu,find:()=>It,findAll:()=>Il,findLast:()=>kx,fork:()=>Ex,fromPlainObject:()=>Sx,generate:()=>W,ident:()=>yg,isCustomProperty:()=>kn,keyword:()=>on,lexer:()=>fx,parse:()=>pe,property:()=>Xs,string:()=>Wp,toPlainObject:()=>vx,tokenNames:()=>wl,tokenTypes:()=>Zh,tokenize:()=>wx,url:()=>rg,vendorPrefix:()=>Zk,version:()=>ux,walk:()=>yx});var Iy=Object.create,dl=Object.defineProperty,_y=Object.getOwnPropertyDescriptor,My=Object.getOwnPropertyNames,Py=Object.getPrototypeOf,Dy=Object.prototype.hasOwnProperty,Za=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),F=(e,t)=>{for(var a in t)dl(e,a,{get:t[a],enumerable:!0})},Ny=(e,t,a,o)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let i of My(t))!Dy.call(e,i)&&i!==a&&dl(e,i,{get:()=>t[i],enumerable:!(o=_y(t,i))||o.enumerable});return e},Oy=(e,t,a)=>(a=e!=null?Iy(Py(e)):{},Ny(t||!e||!e.__esModule?dl(a,\"default\",{value:e,enumerable:!0}):a,e)),Fy=Za(e=>{var t=\"ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/\".split(\"\");e.encode=function(a){if(0<=a&&a<t.length)return t[a];throw new TypeError(\"Must be between 0 and 63: \"+a)},e.decode=function(a){var o=65,i=90,n=97,s=122,r=48,l=57,c=43,d=47,m=26,h=52;return o<=a&&a<=i?a-o:n<=a&&a<=s?a-n+m:r<=a&&a<=l?a-r+h:a==c?62:a==d?63:-1}}),By=Za(e=>{var t=Fy(),a=5,o=1<<a,i=o-1,n=o;function s(l){return l<0?(-l<<1)+1:(l<<1)+0}function r(l){var c=(l&1)===1,d=l>>1;return c?-d:d}e.encode=function(l){var c=\"\",d,m=s(l);do d=m&i,m>>>=a,m>0&&(d|=n),c+=t.encode(d);while(m>0);return c},e.decode=function(l,c,d){var m=l.length,h=0,u=0,p,w;do{if(c>=m)throw new Error(\"Expected more digits in base 64 VLQ value.\");if(w=t.decode(l.charCodeAt(c++)),w===-1)throw new Error(\"Invalid base64 digit: \"+l.charAt(c-1));p=!!(w&n),w&=i,h=h+(w<<u),u+=a}while(p);d.value=r(h),d.rest=c}}),ml=Za(e=>{function t(f,k,L){if(k in f)return f[k];if(arguments.length===3)return L;throw new Error('\"'+k+'\" is a required argument.')}e.getArg=t;var a=/^(?:([\\w+\\-.]+):)?\\/\\/(?:(\\w+:\\w+)@)?([\\w.-]*)(?::(\\d+))?(.*)$/,o=/^data:.+\\,.+$/;function i(f){var k=f.match(a);return k?{scheme:k[1],auth:k[2],host:k[3],port:k[4],path:k[5]}:null}e.urlParse=i;function n(f){var k=\"\";return f.scheme&&(k+=f.scheme+\":\"),k+=\"//\",f.auth&&(k+=f.auth+\"@\"),f.host&&(k+=f.host),f.port&&(k+=\":\"+f.port),f.path&&(k+=f.path),k}e.urlGenerate=n;var s=32;function r(f){var k=[];return function(L){for(var A=0;A<k.length;A++)if(k[A].input===L){var O=k[0];return k[0]=k[A],k[A]=O,k[0].result}var U=f(L);return k.unshift({input:L,result:U}),k.length>s&&k.pop(),U}}var l=r(function(f){var k=f,L=i(f);if(L){if(!L.path)return f;k=L.path}for(var A=e.isAbsolute(k),O=[],U=0,R=0;;)if(U=R,R=k.indexOf(\"/\",U),R===-1){O.push(k.slice(U));break}else for(O.push(k.slice(U,R));R<k.length&&k[R]===\"/\";)R++;for(var M,D=0,R=O.length-1;R>=0;R--)M=O[R],M===\".\"?O.splice(R,1):M===\"..\"?D++:D>0&&(M===\"\"?(O.splice(R+1,D),D=0):(O.splice(R,2),D--));return k=O.join(\"/\"),k===\"\"&&(k=A?\"/\":\".\"),L?(L.path=k,n(L)):k});e.normalize=l;function c(f,k){f===\"\"&&(f=\".\"),k===\"\"&&(k=\".\");var L=i(k),A=i(f);if(A&&(f=A.path||\"/\"),L&&!L.scheme)return A&&(L.scheme=A.scheme),n(L);if(L||k.match(o))return k;if(A&&!A.host&&!A.path)return A.host=k,n(A);var O=k.charAt(0)===\"/\"?k:l(f.replace(/\\/+$/,\"\")+\"/\"+k);return A?(A.path=O,n(A)):O}e.join=c,e.isAbsolute=function(f){return f.charAt(0)===\"/\"||a.test(f)};function d(f,k){f===\"\"&&(f=\".\"),f=f.replace(/\\/$/,\"\");for(var L=0;k.indexOf(f+\"/\")!==0;){var A=f.lastIndexOf(\"/\");if(A<0||(f=f.slice(0,A),f.match(/^([^\\/]+:\\/)?\\/*$/)))return k;++L}return Array(L+1).join(\"../\")+k.substr(f.length+1)}e.relative=d;var m=function(){var f=Object.create(null);return!(\"__proto__\"in f)}();function h(f){return f}function u(f){return w(f)?\"$\"+f:f}e.toSetString=m?h:u;function p(f){return w(f)?f.slice(1):f}e.fromSetString=m?h:p;function w(f){if(!f)return!1;var k=f.length;if(k<9||f.charCodeAt(k-1)!==95||f.charCodeAt(k-2)!==95||f.charCodeAt(k-3)!==111||f.charCodeAt(k-4)!==116||f.charCodeAt(k-5)!==111||f.charCodeAt(k-6)!==114||f.charCodeAt(k-7)!==112||f.charCodeAt(k-8)!==95||f.charCodeAt(k-9)!==95)return!1;for(var L=k-10;L>=0;L--)if(f.charCodeAt(L)!==36)return!1;return!0}function b(f,k,L){var A=g(f.source,k.source);return A!==0||(A=f.originalLine-k.originalLine,A!==0)||(A=f.originalColumn-k.originalColumn,A!==0||L)||(A=f.generatedColumn-k.generatedColumn,A!==0)||(A=f.generatedLine-k.generatedLine,A!==0)?A:g(f.name,k.name)}e.compareByOriginalPositions=b;function E(f,k,L){var A;return A=f.originalLine-k.originalLine,A!==0||(A=f.originalColumn-k.originalColumn,A!==0||L)||(A=f.generatedColumn-k.generatedColumn,A!==0)||(A=f.generatedLine-k.generatedLine,A!==0)?A:g(f.name,k.name)}e.compareByOriginalPositionsNoSource=E;function S(f,k,L){var A=f.generatedLine-k.generatedLine;return A!==0||(A=f.generatedColumn-k.generatedColumn,A!==0||L)||(A=g(f.source,k.source),A!==0)||(A=f.originalLine-k.originalLine,A!==0)||(A=f.originalColumn-k.originalColumn,A!==0)?A:g(f.name,k.name)}e.compareByGeneratedPositionsDeflated=S;function y(f,k,L){var A=f.generatedColumn-k.generatedColumn;return A!==0||L||(A=g(f.source,k.source),A!==0)||(A=f.originalLine-k.originalLine,A!==0)||(A=f.originalColumn-k.originalColumn,A!==0)?A:g(f.name,k.name)}e.compareByGeneratedPositionsDeflatedNoLine=y;function g(f,k){return f===k?0:f===null?1:k===null?-1:f>k?1:-1}function j(f,k){var L=f.generatedLine-k.generatedLine;return L!==0||(L=f.generatedColumn-k.generatedColumn,L!==0)||(L=g(f.source,k.source),L!==0)||(L=f.originalLine-k.originalLine,L!==0)||(L=f.originalColumn-k.originalColumn,L!==0)?L:g(f.name,k.name)}e.compareByGeneratedPositionsInflated=j;function C(f){return JSON.parse(f.replace(/^\\)]}'[^\\n]*\\n/,\"\"))}e.parseSourceMapInput=C;function z(f,k,L){if(k=k||\"\",f&&(f[f.length-1]!==\"/\"&&k[0]!==\"/\"&&(f+=\"/\"),k=f+k),L){var A=i(L);if(!A)throw new Error(\"sourceMapURL could not be parsed\");if(A.path){var O=A.path.lastIndexOf(\"/\");O>=0&&(A.path=A.path.substring(0,O+1))}k=c(n(A),k)}return l(k)}e.computeSourceURL=z}),Uy=Za(e=>{var t=ml(),a=Object.prototype.hasOwnProperty,o=typeof Map<\"u\";function i(){this._array=[],this._set=o?new Map:Object.create(null)}i.fromArray=function(n,s){for(var r=new i,l=0,c=n.length;l<c;l++)r.add(n[l],s);return r},i.prototype.size=function(){return o?this._set.size:Object.getOwnPropertyNames(this._set).length},i.prototype.add=function(n,s){var r=o?n:t.toSetString(n),l=o?this.has(n):a.call(this._set,r),c=this._array.length;(!l||s)&&this._array.push(n),l||(o?this._set.set(n,c):this._set[r]=c)},i.prototype.has=function(n){if(o)return this._set.has(n);var s=t.toSetString(n);return a.call(this._set,s)},i.prototype.indexOf=function(n){if(o){var s=this._set.get(n);if(s>=0)return s}else{var r=t.toSetString(n);if(a.call(this._set,r))return this._set[r]}throw new Error('\"'+n+'\" is not in the set.')},i.prototype.at=function(n){if(n>=0&&n<this._array.length)return this._array[n];throw new Error(\"No element indexed by \"+n)},i.prototype.toArray=function(){return this._array.slice()},e.ArraySet=i}),Hy=Za(e=>{var t=ml();function a(i,n){var s=i.generatedLine,r=n.generatedLine,l=i.generatedColumn,c=n.generatedColumn;return r>s||r==s&&c>=l||t.compareByGeneratedPositionsInflated(i,n)<=0}function o(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}o.prototype.unsortedForEach=function(i,n){this._array.forEach(i,n)},o.prototype.add=function(i){a(this._last,i)?(this._last=i,this._array.push(i)):(this._sorted=!1,this._array.push(i))},o.prototype.toArray=function(){return this._sorted||(this._array.sort(t.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},e.MappingList=o}),Gy=Za(e=>{var t=By(),a=ml(),o=Uy().ArraySet,i=Hy().MappingList;function n(s){s||(s={}),this._file=a.getArg(s,\"file\",null),this._sourceRoot=a.getArg(s,\"sourceRoot\",null),this._skipValidation=a.getArg(s,\"skipValidation\",!1),this._sources=new o,this._names=new o,this._mappings=new i,this._sourcesContents=null}n.prototype._version=3,n.fromSourceMap=function(s){var r=s.sourceRoot,l=new n({file:s.file,sourceRoot:r});return s.eachMapping(function(c){var d={generated:{line:c.generatedLine,column:c.generatedColumn}};c.source!=null&&(d.source=c.source,r!=null&&(d.source=a.relative(r,d.source)),d.original={line:c.originalLine,column:c.originalColumn},c.name!=null&&(d.name=c.name)),l.addMapping(d)}),s.sources.forEach(function(c){var d=c;r!==null&&(d=a.relative(r,c)),l._sources.has(d)||l._sources.add(d);var m=s.sourceContentFor(c);m!=null&&l.setSourceContent(c,m)}),l},n.prototype.addMapping=function(s){var r=a.getArg(s,\"generated\"),l=a.getArg(s,\"original\",null),c=a.getArg(s,\"source\",null),d=a.getArg(s,\"name\",null);this._skipValidation||this._validateMapping(r,l,c,d),c!=null&&(c=String(c),this._sources.has(c)||this._sources.add(c)),d!=null&&(d=String(d),this._names.has(d)||this._names.add(d)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:l!=null&&l.line,originalColumn:l!=null&&l.column,source:c,name:d})},n.prototype.setSourceContent=function(s,r){var l=s;this._sourceRoot!=null&&(l=a.relative(this._sourceRoot,l)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[a.toSetString(l)]=r):this._sourcesContents&&(delete this._sourcesContents[a.toSetString(l)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))},n.prototype.applySourceMap=function(s,r,l){var c=r;if(r==null){if(s.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's \"file\" property. Both were omitted.`);c=s.file}var d=this._sourceRoot;d!=null&&(c=a.relative(d,c));var m=new o,h=new o;this._mappings.unsortedForEach(function(u){if(u.source===c&&u.originalLine!=null){var p=s.originalPositionFor({line:u.originalLine,column:u.originalColumn});p.source!=null&&(u.source=p.source,l!=null&&(u.source=a.join(l,u.source)),d!=null&&(u.source=a.relative(d,u.source)),u.originalLine=p.line,u.originalColumn=p.column,p.name!=null&&(u.name=p.name))}var w=u.source;w!=null&&!m.has(w)&&m.add(w);var b=u.name;b!=null&&!h.has(b)&&h.add(b)},this),this._sources=m,this._names=h,s.sources.forEach(function(u){var p=s.sourceContentFor(u);p!=null&&(l!=null&&(u=a.join(l,u)),d!=null&&(u=a.relative(d,u)),this.setSourceContent(u,p))},this)},n.prototype._validateMapping=function(s,r,l,c){if(r&&typeof r.line!=\"number\"&&typeof r.column!=\"number\")throw new Error(\"original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.\");if(!(s&&\"line\"in s&&\"column\"in s&&s.line>0&&s.column>=0&&!r&&!l&&!c)){if(s&&\"line\"in s&&\"column\"in s&&r&&\"line\"in r&&\"column\"in r&&s.line>0&&s.column>=0&&r.line>0&&r.column>=0&&l)return;throw new Error(\"Invalid mapping: \"+JSON.stringify({generated:s,source:l,original:r,name:c}))}},n.prototype._serializeMappings=function(){for(var s=0,r=1,l=0,c=0,d=0,m=0,h=\"\",u,p,w,b,E=this._mappings.toArray(),S=0,y=E.length;S<y;S++){if(p=E[S],u=\"\",p.generatedLine!==r)for(s=0;p.generatedLine!==r;)u+=\";\",r++;else if(S>0){if(!a.compareByGeneratedPositionsInflated(p,E[S-1]))continue;u+=\",\"}u+=t.encode(p.generatedColumn-s),s=p.generatedColumn,p.source!=null&&(b=this._sources.indexOf(p.source),u+=t.encode(b-m),m=b,u+=t.encode(p.originalLine-1-c),c=p.originalLine-1,u+=t.encode(p.originalColumn-l),l=p.originalColumn,p.name!=null&&(w=this._names.indexOf(p.name),u+=t.encode(w-d),d=w)),h+=u}return h},n.prototype._generateSourcesContent=function(s,r){return s.map(function(l){if(!this._sourcesContents)return null;r!=null&&(l=a.relative(r,l));var c=a.toSetString(l);return Object.prototype.hasOwnProperty.call(this._sourcesContents,c)?this._sourcesContents[c]:null},this)},n.prototype.toJSON=function(){var s={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(s.file=this._file),this._sourceRoot!=null&&(s.sourceRoot=this._sourceRoot),this._sourcesContents&&(s.sourcesContent=this._generateSourcesContent(s.sources,s.sourceRoot)),s},n.prototype.toString=function(){return JSON.stringify(this.toJSON())},e.SourceMapGenerator=n}),Zh={};F(Zh,{AtKeyword:()=>Ky,BadString:()=>Jy,BadUrl:()=>$y,CDC:()=>nk,CDO:()=>ik,Colon:()=>rk,Comma:()=>lk,Comment:()=>gk,Delim:()=>Qy,Dimension:()=>ak,EOF:()=>qy,Function:()=>Wy,Hash:()=>Xy,Ident:()=>Vy,LeftCurlyBracket:()=>uk,LeftParenthesis:()=>mk,LeftSquareBracket:()=>ck,Number:()=>ek,Percentage:()=>tk,RightCurlyBracket:()=>pk,RightParenthesis:()=>hk,RightSquareBracket:()=>dk,Semicolon:()=>sk,String:()=>Yy,Url:()=>Zy,WhiteSpace:()=>ok});var qy=0,Vy=1,Wy=2,Ky=3,Xy=4,Yy=5,Jy=6,Zy=7,$y=8,Qy=9,ek=10,tk=11,ak=12,ok=13,ik=14,nk=15,rk=16,sk=17,lk=18,ck=19,dk=20,mk=21,hk=22,uk=23,pk=24,gk=25;function Se(e){return e>=48&&e<=57}function Vt(e){return Se(e)||e>=65&&e<=70||e>=97&&e<=102}function hl(e){return e>=65&&e<=90}function wk(e){return e>=97&&e<=122}function fk(e){return hl(e)||wk(e)}function bk(e){return e>=128}function ln(e){return fk(e)||bk(e)||e===95}function ul(e){return ln(e)||Se(e)||e===45}function yk(e){return e>=0&&e<=8||e===11||e>=14&&e<=31||e===127}function cn(e){return e===10||e===13||e===12}function ca(e){return cn(e)||e===32||e===9}function ct(e,t){return!(e!==92||cn(t)||t===0)}function tn(e,t,a){return e===45?ln(t)||t===45||ct(t,a):ln(e)?!0:e===92?ct(e,t):!1}function Cs(e,t,a){return e===43||e===45?Se(t)?2:t===46&&Se(a)?3:0:e===46?Se(t)?2:0:Se(e)?1:0}function $h(e){return e===65279||e===65534?1:0}var Vs=new Array(128),kk=128,an=130,Qh=131,pl=132,eu=133;for(let e=0;e<Vs.length;e++)Vs[e]=ca(e)&&an||Se(e)&&Qh||ln(e)&&pl||yk(e)&&eu||e||kk;function Ts(e){return e<128?Vs[e]:pl}function Ka(e,t){return t<e.length?e.charCodeAt(t):0}function Ws(e,t,a){return a===13&&Ka(e,t+1)===10?2:1}function Xa(e,t,a){let o=e.charCodeAt(t);return hl(o)&&(o=o|32),o===a}function Yo(e,t,a,o){if(a-t!==o.length||t<0||a>e.length)return!1;for(let i=t;i<a;i++){let n=o.charCodeAt(i-t),s=e.charCodeAt(i);if(hl(s)&&(s=s|32),s!==n)return!1}return!0}function vk(e,t){for(;t>=0&&ca(e.charCodeAt(t));t--);return t+1}function Xi(e,t){for(;t<e.length&&ca(e.charCodeAt(t));t++);return t}function Ls(e,t){for(;t<e.length&&Se(e.charCodeAt(t));t++);return t}function da(e,t){if(t+=2,Vt(Ka(e,t-1))){for(let o=Math.min(e.length,t+5);t<o&&Vt(Ka(e,t));t++);let a=Ka(e,t);ca(a)&&(t+=Ws(e,t,a))}return t}function Yi(e,t){for(;t<e.length;t++){let a=e.charCodeAt(t);if(!ul(a)){if(ct(a,Ka(e,t+1))){t=da(e,t)-1;continue}break}}return t}function wn(e,t){let a=e.charCodeAt(t);if((a===43||a===45)&&(a=e.charCodeAt(t+=1)),Se(a)&&(t=Ls(e,t+1),a=e.charCodeAt(t)),a===46&&Se(e.charCodeAt(t+1))&&(t+=2,t=Ls(e,t)),Xa(e,t,101)){let o=0;a=e.charCodeAt(t+1),(a===45||a===43)&&(o=1,a=e.charCodeAt(t+2)),Se(a)&&(t=Ls(e,t+1+o+1))}return t}function Rs(e,t){for(;t<e.length;t++){let a=e.charCodeAt(t);if(a===41){t++;break}ct(a,Ka(e,t+1))&&(t=da(e,t))}return t}function gl(e){if(e.length===1&&!Vt(e.charCodeAt(0)))return e[0];let t=parseInt(e,16);return(t===0||t>=55296&&t<=57343||t>1114111)&&(t=65533),String.fromCodePoint(t)}var wl=[\"EOF-token\",\"ident-token\",\"function-token\",\"at-keyword-token\",\"hash-token\",\"string-token\",\"bad-string-token\",\"url-token\",\"bad-url-token\",\"delim-token\",\"number-token\",\"percentage-token\",\"dimension-token\",\"whitespace-token\",\"CDO-token\",\"CDC-token\",\"colon-token\",\"semicolon-token\",\"comma-token\",\"[-token\",\"]-token\",\"(-token\",\")-token\",\"{-token\",\"}-token\",\"comment-token\"];function dn(e=null,t){return e===null||e.length<t?new Uint32Array(Math.max(t+1024,16384)):e}var oh=10,Sk=12,ih=13;function nh(e){let t=e.source,a=t.length,o=t.length>0?$h(t.charCodeAt(0)):0,i=dn(e.lines,a),n=dn(e.columns,a),s=e.startLine,r=e.startColumn;for(let l=o;l<a;l++){let c=t.charCodeAt(l);i[l]=s,n[l]=r++,(c===oh||c===ih||c===Sk)&&(c===ih&&l+1<a&&t.charCodeAt(l+1)===oh&&(l++,i[l]=s,n[l]=r),s++,r=1)}i[a]=s,n[a]=r,e.lines=i,e.columns=n,e.computed=!0}var Ek=class{constructor(){this.lines=null,this.columns=null,this.computed=!1}setSource(e,t=0,a=1,o=1){this.source=e,this.startOffset=t,this.startLine=a,this.startColumn=o,this.computed=!1}getLocation(e,t){return this.computed||nh(this),{source:t,offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]}}getLocationRange(e,t,a){return this.computed||nh(this),{source:a,start:{offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]},end:{offset:this.startOffset+t,line:this.lines[t],column:this.columns[t]}}}},at=16777215,Ht=24,jk=new Map([[2,22],[21,22],[19,20],[23,24]]),tu=class{constructor(e,t){this.setSource(e,t)}reset(){this.eof=!1,this.tokenIndex=-1,this.tokenType=0,this.tokenStart=this.firstCharOffset,this.tokenEnd=this.firstCharOffset}setSource(e=\"\",t=()=>{}){e=String(e||\"\");let a=e.length,o=dn(this.offsetAndType,e.length+1),i=dn(this.balance,e.length+1),n=0,s=0,r=0,l=-1;for(this.offsetAndType=null,this.balance=null,t(e,(c,d,m)=>{switch(c){default:i[n]=a;break;case s:{let h=r&at;for(r=i[h],s=r>>Ht,i[n]=h,i[h++]=n;h<n;h++)i[h]===a&&(i[h]=n);break}case 21:case 2:case 19:case 23:i[n]=r,s=jk.get(c),r=s<<Ht|n;break}o[n++]=c<<Ht|m,l===-1&&(l=d)}),o[n]=0<<Ht|a,i[n]=a,i[a]=a;r!==0;){let c=r&at;r=i[c],i[c]=a}this.source=e,this.firstCharOffset=l===-1?0:l,this.tokenCount=n,this.offsetAndType=o,this.balance=i,this.reset(),this.next()}lookupType(e){return e+=this.tokenIndex,e<this.tokenCount?this.offsetAndType[e]>>Ht:0}lookupOffset(e){return e+=this.tokenIndex,e<this.tokenCount?this.offsetAndType[e-1]&at:this.source.length}lookupValue(e,t){return e+=this.tokenIndex,e<this.tokenCount?Yo(this.source,this.offsetAndType[e-1]&at,this.offsetAndType[e]&at,t):!1}getTokenStart(e){return e===this.tokenIndex?this.tokenStart:e>0?e<this.tokenCount?this.offsetAndType[e-1]&at:this.offsetAndType[this.tokenCount]&at:this.firstCharOffset}substrToCursor(e){return this.source.substring(e,this.tokenStart)}isBalanceEdge(e){return this.balance[this.tokenIndex]<e}isDelim(e,t){return t?this.lookupType(t)===9&&this.source.charCodeAt(this.lookupOffset(t))===e:this.tokenType===9&&this.source.charCodeAt(this.tokenStart)===e}skip(e){let t=this.tokenIndex+e;t<this.tokenCount?(this.tokenIndex=t,this.tokenStart=this.offsetAndType[t-1]&at,t=this.offsetAndType[t],this.tokenType=t>>Ht,this.tokenEnd=t&at):(this.tokenIndex=this.tokenCount,this.next())}next(){let e=this.tokenIndex+1;e<this.tokenCount?(this.tokenIndex=e,this.tokenStart=this.tokenEnd,e=this.offsetAndType[e],this.tokenType=e>>Ht,this.tokenEnd=e&at):(this.eof=!0,this.tokenIndex=this.tokenCount,this.tokenType=0,this.tokenStart=this.tokenEnd=this.source.length)}skipSC(){for(;this.tokenType===13||this.tokenType===25;)this.next()}skipUntilBalanced(e,t){let a=e,o,i;e:for(;a<this.tokenCount;a++){if(o=this.balance[a],o<e)break e;switch(i=a>0?this.offsetAndType[a-1]&at:this.firstCharOffset,t(this.source.charCodeAt(i))){case 1:break e;case 2:a++;break e;default:this.balance[o]===a&&(a=o)}}this.skip(a-this.tokenIndex)}forEachToken(e){for(let t=0,a=this.firstCharOffset;t<this.tokenCount;t++){let o=a,i=this.offsetAndType[t],n=i&at,s=i>>Ht;a=n,e(s,o,n,t)}}dump(){let e=new Array(this.tokenCount);return this.forEachToken((t,a,o,i)=>{e[i]={idx:i,type:wl[t],chunk:this.source.substring(a,o),balance:this.balance[i]}}),e}};function fn(e,t){function a(m){return m<r?e.charCodeAt(m):0}function o(){if(c=wn(e,c),tn(a(c),a(c+1),a(c+2))){d=12,c=Yi(e,c);return}if(a(c)===37){d=11,c++;return}d=10}function i(){let m=c;if(c=Yi(e,c),Yo(e,m,c,\"url\")&&a(c)===40){if(c=Xi(e,c+1),a(c)===34||a(c)===39){d=2,c=m+4;return}s();return}if(a(c)===40){d=2,c++;return}d=1}function n(m){for(m||(m=a(c++)),d=5;c<e.length;c++){let h=e.charCodeAt(c);switch(Ts(h)){case m:c++;return;case an:if(cn(h)){c+=Ws(e,c,h),d=6;return}break;case 92:if(c===e.length-1)break;let u=a(c+1);cn(u)?c+=Ws(e,c+1,u):ct(h,u)&&(c=da(e,c)-1);break}}}function s(){for(d=7,c=Xi(e,c);c<e.length;c++){let m=e.charCodeAt(c);switch(Ts(m)){case 41:c++;return;case an:if(c=Xi(e,c),a(c)===41||c>=e.length){c<e.length&&c++;return}c=Rs(e,c),d=8;return;case 34:case 39:case 40:case eu:c=Rs(e,c),d=8;return;case 92:if(ct(m,a(c+1))){c=da(e,c)-1;break}c=Rs(e,c),d=8;return}}}e=String(e||\"\");let r=e.length,l=$h(a(0)),c=l,d;for(;c<r;){let m=e.charCodeAt(c);switch(Ts(m)){case an:d=13,c=Xi(e,c+1);break;case 34:n();break;case 35:ul(a(c+1))||ct(a(c+1),a(c+2))?(d=4,c=Yi(e,c+1)):(d=9,c++);break;case 39:n();break;case 40:d=21,c++;break;case 41:d=22,c++;break;case 43:Cs(m,a(c+1),a(c+2))?o():(d=9,c++);break;case 44:d=18,c++;break;case 45:Cs(m,a(c+1),a(c+2))?o():a(c+1)===45&&a(c+2)===62?(d=15,c=c+3):tn(m,a(c+1),a(c+2))?i():(d=9,c++);break;case 46:Cs(m,a(c+1),a(c+2))?o():(d=9,c++);break;case 47:a(c+1)===42?(d=25,c=e.indexOf(\"*/\",c+2),c=c===-1?e.length:c+2):(d=9,c++);break;case 58:d=16,c++;break;case 59:d=17,c++;break;case 60:a(c+1)===33&&a(c+2)===45&&a(c+3)===45?(d=14,c=c+4):(d=9,c++);break;case 64:tn(a(c+1),a(c+2),a(c+3))?(d=3,c=Yi(e,c+1)):(d=9,c++);break;case 91:d=19,c++;break;case 92:ct(m,a(c+1))?i():(d=9,c++);break;case 93:d=20,c++;break;case 123:d=23,c++;break;case 125:d=24,c++;break;case Qh:o();break;case pl:i();break;default:d=9,c++}t(d,l,l=c)}}var Ha=null,fe=class{static createItem(e){return{prev:null,next:null,data:e}}constructor(){this.head=null,this.tail=null,this.cursor=null}createItem(e){return fe.createItem(e)}allocateCursor(e,t){let a;return Ha!==null?(a=Ha,Ha=Ha.cursor,a.prev=e,a.next=t,a.cursor=this.cursor):a={prev:e,next:t,cursor:this.cursor},this.cursor=a,a}releaseCursor(){let{cursor:e}=this;this.cursor=e.cursor,e.prev=null,e.next=null,e.cursor=Ha,Ha=e}updateCursors(e,t,a,o){let{cursor:i}=this;for(;i!==null;)i.prev===e&&(i.prev=t),i.next===a&&(i.next=o),i=i.cursor}*[Symbol.iterator](){for(let e=this.head;e!==null;e=e.next)yield e.data}get size(){let e=0;for(let t=this.head;t!==null;t=t.next)e++;return e}get isEmpty(){return this.head===null}get first(){return this.head&&this.head.data}get last(){return this.tail&&this.tail.data}fromArray(e){let t=null;this.head=null;for(let a of e){let o=fe.createItem(a);t!==null?t.next=o:this.head=o,o.prev=t,t=o}return this.tail=t,this}toArray(){return[...this]}toJSON(){return[...this]}forEach(e,t=this){let a=this.allocateCursor(null,this.head);for(;a.next!==null;){let o=a.next;a.next=o.next,e.call(t,o.data,o,this)}this.releaseCursor()}forEachRight(e,t=this){let a=this.allocateCursor(this.tail,null);for(;a.prev!==null;){let o=a.prev;a.prev=o.prev,e.call(t,o.data,o,this)}this.releaseCursor()}reduce(e,t,a=this){let o=this.allocateCursor(null,this.head),i=t,n;for(;o.next!==null;)n=o.next,o.next=n.next,i=e.call(a,i,n.data,n,this);return this.releaseCursor(),i}reduceRight(e,t,a=this){let o=this.allocateCursor(this.tail,null),i=t,n;for(;o.prev!==null;)n=o.prev,o.prev=n.prev,i=e.call(a,i,n.data,n,this);return this.releaseCursor(),i}some(e,t=this){for(let a=this.head;a!==null;a=a.next)if(e.call(t,a.data,a,this))return!0;return!1}map(e,t=this){let a=new fe;for(let o=this.head;o!==null;o=o.next)a.appendData(e.call(t,o.data,o,this));return a}filter(e,t=this){let a=new fe;for(let o=this.head;o!==null;o=o.next)e.call(t,o.data,o,this)&&a.appendData(o.data);return a}nextUntil(e,t,a=this){if(e===null)return;let o=this.allocateCursor(null,e);for(;o.next!==null;){let i=o.next;if(o.next=i.next,t.call(a,i.data,i,this))break}this.releaseCursor()}prevUntil(e,t,a=this){if(e===null)return;let o=this.allocateCursor(e,null);for(;o.prev!==null;){let i=o.prev;if(o.prev=i.prev,t.call(a,i.data,i,this))break}this.releaseCursor()}clear(){this.head=null,this.tail=null}copy(){let e=new fe;for(let t of this)e.appendData(t);return e}prepend(e){return this.updateCursors(null,e,this.head,e),this.head!==null?(this.head.prev=e,e.next=this.head):this.tail=e,this.head=e,this}prependData(e){return this.prepend(fe.createItem(e))}append(e){return this.insert(e)}appendData(e){return this.insert(fe.createItem(e))}insert(e,t=null){if(t!==null)if(this.updateCursors(t.prev,e,t,e),t.prev===null){if(this.head!==t)throw new Error(\"before doesn't belong to list\");this.head=e,t.prev=e,e.next=t,this.updateCursors(null,e)}else t.prev.next=e,e.prev=t.prev,t.prev=e,e.next=t;else this.updateCursors(this.tail,e,null,e),this.tail!==null?(this.tail.next=e,e.prev=this.tail):this.head=e,this.tail=e;return this}insertData(e,t){return this.insert(fe.createItem(e),t)}remove(e){if(this.updateCursors(e,e.prev,e,e.next),e.prev!==null)e.prev.next=e.next;else{if(this.head!==e)throw new Error(\"item doesn't belong to list\");this.head=e.next}if(e.next!==null)e.next.prev=e.prev;else{if(this.tail!==e)throw new Error(\"item doesn't belong to list\");this.tail=e.prev}return e.prev=null,e.next=null,e}push(e){this.insert(fe.createItem(e))}pop(){return this.tail!==null?this.remove(this.tail):null}unshift(e){this.prepend(fe.createItem(e))}shift(){return this.head!==null?this.remove(this.head):null}prependList(e){return this.insertList(e,this.head)}appendList(e){return this.insertList(e)}insertList(e,t){return e.head===null?this:(t!=null?(this.updateCursors(t.prev,e.tail,t,e.head),t.prev!==null?(t.prev.next=e.head,e.head.prev=t.prev):this.head=e.head,t.prev=e.tail,e.tail.next=t):(this.updateCursors(this.tail,e.tail,null,e.head),this.tail!==null?(this.tail.next=e.head,e.head.prev=this.tail):this.head=e.head,this.tail=e.tail),e.head=null,e.tail=null,this)}replace(e,t){\"head\"in t?this.insertList(t,e):this.insert(t,e),this.remove(e)}};function bn(e,t){let a=Object.create(SyntaxError.prototype),o=new Error;return Object.assign(a,{name:e,message:t,get stack(){return(o.stack||\"\").replace(/^(.+\\n){1,3}/,`${e}: ${t}\n`)}})}var zs=100,rh=60,sh=\" \";function lh({source:e,line:t,column:a},o){function i(d,m){return n.slice(d,m).map((h,u)=>String(d+u+1).padStart(l)+\" |\"+h).join(`\n`)}let n=e.split(/\\r\\n?|\\n|\\f/),s=Math.max(1,t-o)-1,r=Math.min(t+o,n.length+1),l=Math.max(4,String(r).length)+1,c=0;a+=(sh.length-1)*(n[t-1].substr(0,a-1).match(/\\t/g)||[]).length,a>zs&&(c=a-rh+3,a=rh-2);for(let d=s;d<=r;d++)d>=0&&d<n.length&&(n[d]=n[d].replace(/\\t/g,sh),n[d]=(c>0&&n[d].length>c?\"\\u2026\":\"\")+n[d].substr(c,zs-2)+(n[d].length>c+zs-1?\"\\u2026\":\"\"));return[i(s,t),new Array(a+l+2).join(\"-\")+\"^\",i(t,r)].filter(Boolean).join(`\n`)}function ch(e,t,a,o,i){return Object.assign(bn(\"SyntaxError\",e),{source:t,offset:a,line:o,column:i,sourceFragment(n){return lh({source:t,line:o,column:i},isNaN(n)?0:n)},get formattedMessage(){return`Parse error: ${e}\n`+lh({source:t,line:o,column:i},2)}})}function Ak(e){let t=this.createList(),a=!1,o={recognizer:e};for(;!this.eof;){switch(this.tokenType){case 25:this.next();continue;case 13:a=!0,this.next();continue}let i=e.getNode.call(this,o);if(i===void 0)break;a&&(e.onWhiteSpace&&e.onWhiteSpace.call(this,i,t,o),a=!1),t.push(i)}return a&&e.onWhiteSpace&&e.onWhiteSpace.call(this,null,t,o),t}var dh=()=>{},xk=33,Ck=35,Is=59,mh=123,hh=0;function Tk(e){return function(){return this[e]()}}function _s(e){let t=Object.create(null);for(let a in e){let o=e[a],i=o.parse||o;i&&(t[a]=i)}return t}function Lk(e){let t={context:Object.create(null),scope:Object.assign(Object.create(null),e.scope),atrule:_s(e.atrule),pseudo:_s(e.pseudo),node:_s(e.node)};for(let a in e.parseContext)switch(typeof e.parseContext[a]){case\"function\":t.context[a]=e.parseContext[a];break;case\"string\":t.context[a]=Tk(e.parseContext[a]);break}return{config:t,...t,...t.node}}function Rk(e){let t=\"\",a=\"<unknown>\",o=!1,i=dh,n=!1,s=new Ek,r=Object.assign(new tu,Lk(e||{}),{parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:Ak,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket(l){return l===mh?1:0},consumeUntilLeftCurlyBracketOrSemicolon(l){return l===mh||l===Is?1:0},consumeUntilExclamationMarkOrSemicolon(l){return l===xk||l===Is?1:0},consumeUntilSemicolonIncluded(l){return l===Is?2:0},createList(){return new fe},createSingleNodeList(l){return new fe().appendData(l)},getFirstListNode(l){return l&&l.first},getLastListNode(l){return l&&l.last},parseWithFallback(l,c){let d=this.tokenIndex;try{return l.call(this)}catch(m){if(n)throw m;let h=c.call(this,d);return n=!0,i(m,h),n=!1,h}},lookupNonWSType(l){let c;do if(c=this.lookupType(l++),c!==13)return c;while(c!==hh);return hh},charCodeAt(l){return l>=0&&l<t.length?t.charCodeAt(l):0},substring(l,c){return t.substring(l,c)},substrToCursor(l){return this.source.substring(l,this.tokenStart)},cmpChar(l,c){return Xa(t,l,c)},cmpStr(l,c,d){return Yo(t,l,c,d)},consume(l){let c=this.tokenStart;return this.eat(l),this.substrToCursor(c)},consumeFunctionName(){let l=t.substring(this.tokenStart,this.tokenEnd-1);return this.eat(2),l},consumeNumber(l){let c=t.substring(this.tokenStart,wn(t,this.tokenStart));return this.eat(l),c},eat(l){if(this.tokenType!==l){let c=wl[l].slice(0,-6).replace(/-/g,\" \").replace(/^./,h=>h.toUpperCase()),d=`${/[[\\](){}]/.test(c)?`\"${c}\"`:c} is expected`,m=this.tokenStart;switch(l){case 1:this.tokenType===2||this.tokenType===7?(m=this.tokenEnd-1,d=\"Identifier is expected but function found\"):d=\"Identifier is expected\";break;case 4:this.isDelim(Ck)&&(this.next(),m++,d=\"Name is expected\");break;case 11:this.tokenType===10&&(m=this.tokenEnd,d=\"Percent sign is expected\");break}this.error(d,m)}this.next()},eatIdent(l){(this.tokenType!==1||this.lookupValue(0,l)===!1)&&this.error(`Identifier \"${l}\" is expected`),this.next()},eatDelim(l){this.isDelim(l)||this.error(`Delim \"${String.fromCharCode(l)}\" is expected`),this.next()},getLocation(l,c){return o?s.getLocationRange(l,c,a):null},getLocationFromList(l){if(o){let c=this.getFirstListNode(l),d=this.getLastListNode(l);return s.getLocationRange(c!==null?c.loc.start.offset-s.startOffset:this.tokenStart,d!==null?d.loc.end.offset-s.startOffset:this.tokenStart,a)}return null},error(l,c){let d=typeof c<\"u\"&&c<t.length?s.getLocation(c):this.eof?s.getLocation(vk(t,t.length-1)):s.getLocation(this.tokenStart);throw new ch(l||\"Unexpected input\",t,d.offset,d.line,d.column)}});return Object.assign(function(l,c){t=l,c=c||{},r.setSource(t,fn),s.setSource(t,c.offset,c.line,c.column),a=c.filename||\"<unknown>\",o=!!c.positions,i=typeof c.onParseError==\"function\"?c.onParseError:dh,n=!1,r.parseAtrulePrelude=\"parseAtrulePrelude\"in c?!!c.parseAtrulePrelude:!0,r.parseRulePrelude=\"parseRulePrelude\"in c?!!c.parseRulePrelude:!0,r.parseValue=\"parseValue\"in c?!!c.parseValue:!0,r.parseCustomProperty=\"parseCustomProperty\"in c?!!c.parseCustomProperty:!1;let{context:d=\"default\",onComment:m}=c;if(!(d in r.context))throw new Error(\"Unknown context `\"+d+\"`\");typeof m==\"function\"&&r.forEachToken((u,p,w)=>{if(u===25){let b=r.getLocation(p,w),E=Yo(t,w-2,w,\"*/\")?t.slice(p+2,w-2):t.slice(p+2,w);m(E,b)}});let h=r.context[d].call(r,c);return r.eof||r.error(),h},{SyntaxError:ch,config:r.config})}var zk=Oy(Gy(),1),uh=new Set([\"Atrule\",\"Selector\",\"Declaration\"]);function Ik(e){let t=new zk.SourceMapGenerator,a={line:1,column:0},o={line:0,column:0},i={line:1,column:0},n={generated:i},s=1,r=0,l=!1,c=e.node;e.node=function(h){if(h.loc&&h.loc.start&&uh.has(h.type)){let u=h.loc.start.line,p=h.loc.start.column-1;(o.line!==u||o.column!==p)&&(o.line=u,o.column=p,a.line=s,a.column=r,l&&(l=!1,(a.line!==i.line||a.column!==i.column)&&t.addMapping(n)),l=!0,t.addMapping({source:h.loc.source,original:o,generated:a}))}c.call(this,h),l&&uh.has(h.type)&&(i.line=s,i.column=r)};let d=e.emit;e.emit=function(h,u,p){for(let w=0;w<h.length;w++)h.charCodeAt(w)===10?(s++,r=0):r++;d(h,u,p)};let m=e.result;return e.result=function(){return l&&t.addMapping(n),{css:m(),map:t}},e}var Ks={};F(Ks,{safe:()=>iu,spec:()=>Dk});var _k=43,Mk=45,Ms=(e,t)=>{if(e===9&&(e=t),typeof e==\"string\"){let a=e.charCodeAt(0);return a>127?32768:a<<8}return e},au=[[1,1],[1,2],[1,7],[1,8],[1,\"-\"],[1,10],[1,11],[1,12],[1,15],[1,21],[3,1],[3,2],[3,7],[3,8],[3,\"-\"],[3,10],[3,11],[3,12],[3,15],[4,1],[4,2],[4,7],[4,8],[4,\"-\"],[4,10],[4,11],[4,12],[4,15],[12,1],[12,2],[12,7],[12,8],[12,\"-\"],[12,10],[12,11],[12,12],[12,15],[\"#\",1],[\"#\",2],[\"#\",7],[\"#\",8],[\"#\",\"-\"],[\"#\",10],[\"#\",11],[\"#\",12],[\"#\",15],[\"-\",1],[\"-\",2],[\"-\",7],[\"-\",8],[\"-\",\"-\"],[\"-\",10],[\"-\",11],[\"-\",12],[\"-\",15],[10,1],[10,2],[10,7],[10,8],[10,10],[10,11],[10,12],[10,\"%\"],[10,15],[\"@\",1],[\"@\",2],[\"@\",7],[\"@\",8],[\"@\",\"-\"],[\"@\",15],[\".\",10],[\".\",11],[\".\",12],[\"+\",10],[\"+\",11],[\"+\",12],[\"/\",\"*\"]],Pk=au.concat([[1,4],[12,4],[4,4],[3,21],[3,5],[3,16],[11,11],[11,12],[11,2],[11,\"-\"],[22,1],[22,2],[22,11],[22,12],[22,4],[22,\"-\"]]);function ou(e){let t=new Set(e.map(([a,o])=>Ms(a)<<16|Ms(o)));return function(a,o,i){let n=Ms(o,i),s=i.charCodeAt(0);return(s===Mk&&o!==1&&o!==2&&o!==15||s===_k?t.has(a<<16|s<<8):t.has(a<<16|n))&&this.emit(\" \",13,!0),n}}var Dk=ou(au),iu=ou(Pk),Nk=92;function Ok(e,t){if(typeof t==\"function\"){let a=null;e.children.forEach(o=>{a!==null&&t.call(this,a),this.node(o),a=o});return}e.children.forEach(this.node,this)}function Fk(e){fn(e,(t,a,o)=>{this.token(t,e.slice(a,o))})}function Bk(e){let t=new Map;for(let a in e.node){let o=e.node[a];typeof(o.generate||o)==\"function\"&&t.set(a,o.generate||o)}return function(a,o){let i=\"\",n=0,s={node(l){if(t.has(l.type))t.get(l.type).call(r,l);else throw new Error(\"Unknown node type: \"+l.type)},tokenBefore:iu,token(l,c){n=this.tokenBefore(n,l,c),this.emit(c,l,!1),l===9&&c.charCodeAt(0)===Nk&&this.emit(`\n`,13,!0)},emit(l){i+=l},result(){return i}};o&&(typeof o.decorator==\"function\"&&(s=o.decorator(s)),o.sourceMap&&(s=Ik(s)),o.mode in Ks&&(s.tokenBefore=Ks[o.mode]));let r={node:l=>s.node(l),children:Ok,token:(l,c)=>s.token(l,c),tokenize:Fk};return s.node(a),s.result()}}function Uk(e){return{fromPlainObject(t){return e(t,{enter(a){a.children&&!(a.children instanceof fe)&&(a.children=new fe().fromArray(a.children))}}),t},toPlainObject(t){return e(t,{leave(a){a.children&&a.children instanceof fe&&(a.children=a.children.toArray())}}),t}}}var{hasOwnProperty:fl}=Object.prototype,Ho=function(){};function ph(e){return typeof e==\"function\"?e:Ho}function gh(e,t){return function(a,o,i){a.type===t&&e.call(this,a,o,i)}}function Hk(e,t){let a=t.structure,o=[];for(let i in a){if(fl.call(a,i)===!1)continue;let n=a[i],s={name:i,type:!1,nullable:!1};Array.isArray(n)||(n=[n]);for(let r of n)r===null?s.nullable=!0:typeof r==\"string\"?s.type=\"node\":Array.isArray(r)&&(s.type=\"list\");s.type&&o.push(s)}return o.length?{context:t.walkContext,fields:o}:null}function Gk(e){let t={};for(let a in e.node)if(fl.call(e.node,a)){let o=e.node[a];if(!o.structure)throw new Error(\"Missed `structure` field in `\"+a+\"` node type definition\");t[a]=Hk(a,o)}return t}function wh(e,t){let a=e.fields.slice(),o=e.context,i=typeof o==\"string\";return t&&a.reverse(),function(n,s,r,l){let c;i&&(c=s[o],s[o]=n);for(let d of a){let m=n[d.name];if(!d.nullable||m){if(d.type===\"list\"){if(t?m.reduceRight(l,!1):m.reduce(l,!1))return!0}else if(r(m))return!0}}i&&(s[o]=c)}}function fh({StyleSheet:e,Atrule:t,Rule:a,Block:o,DeclarationList:i}){return{Atrule:{StyleSheet:e,Atrule:t,Rule:a,Block:o},Rule:{StyleSheet:e,Atrule:t,Rule:a,Block:o},Declaration:{StyleSheet:e,Atrule:t,Rule:a,Block:o,DeclarationList:i}}}function qk(e){let t=Gk(e),a={},o={},i=Symbol(\"break-walk\"),n=Symbol(\"skip-node\");for(let c in t)fl.call(t,c)&&t[c]!==null&&(a[c]=wh(t[c],!1),o[c]=wh(t[c],!0));let s=fh(a),r=fh(o),l=function(c,d){function m(E,S,y){let g=h.call(b,E,S,y);return g===i?!0:g===n?!1:!!(p.hasOwnProperty(E.type)&&p[E.type](E,b,m,w)||u.call(b,E,S,y)===i)}let h=Ho,u=Ho,p=a,w=(E,S,y,g)=>E||m(S,y,g),b={break:i,skip:n,root:c,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null};if(typeof d==\"function\")h=d;else if(d&&(h=ph(d.enter),u=ph(d.leave),d.reverse&&(p=o),d.visit)){if(s.hasOwnProperty(d.visit))p=d.reverse?r[d.visit]:s[d.visit];else if(!t.hasOwnProperty(d.visit))throw new Error(\"Bad value `\"+d.visit+\"` for `visit` option (should be: \"+Object.keys(t).sort().join(\", \")+\")\");h=gh(h,d.visit),u=gh(u,d.visit)}if(h===Ho&&u===Ho)throw new Error(\"Neither `enter` nor `leave` walker handler is set or both aren't a function\");m(c)};return l.break=i,l.skip=n,l.find=function(c,d){let m=null;return l(c,function(h,u,p){if(d.call(this,h,u,p))return m=h,i}),m},l.findLast=function(c,d){let m=null;return l(c,{reverse:!0,enter(h,u,p){if(d.call(this,h,u,p))return m=h,i}}),m},l.findAll=function(c,d){let m=[];return l(c,function(h,u,p){d.call(this,h,u,p)&&m.push(h)}),m},l}function Vk(e){return e}function Wk(e){let{min:t,max:a,comma:o}=e;return t===0&&a===0?o?\"#?\":\"*\":t===0&&a===1?\"?\":t===1&&a===0?o?\"#\":\"+\":t===1&&a===1?\"\":(o?\"#\":\"\")+(t===a?\"{\"+t+\"}\":\"{\"+t+\",\"+(a!==0?a:\"\")+\"}\")}function Kk(e){switch(e.type){case\"Range\":return\" [\"+(e.min===null?\"-\\u221E\":e.min)+\",\"+(e.max===null?\"\\u221E\":e.max)+\"]\";default:throw new Error(\"Unknown node type `\"+e.type+\"`\")}}function Xk(e,t,a,o){let i=e.combinator===\" \"||o?e.combinator:\" \"+e.combinator+\" \",n=e.terms.map(s=>bl(s,t,a,o)).join(i);return e.explicit||a?(o||n[0]===\",\"?\"[\":\"[ \")+n+(o?\"]\":\" ]\"):n}function bl(e,t,a,o){let i;switch(e.type){case\"Group\":i=Xk(e,t,a,o)+(e.disallowEmpty?\"!\":\"\");break;case\"Multiplier\":return bl(e.term,t,a,o)+t(Wk(e),e);case\"Type\":i=\"<\"+e.name+(e.opts?t(Kk(e.opts),e.opts):\"\")+\">\";break;case\"Property\":i=\"<'\"+e.name+\"'>\";break;case\"Keyword\":i=e.name;break;case\"AtKeyword\":i=\"@\"+e.name;break;case\"Function\":i=e.name+\"(\";break;case\"String\":case\"Token\":i=e.value;break;case\"Comma\":i=\",\";break;default:throw new Error(\"Unknown node type `\"+e.type+\"`\")}return t(i,e)}function yn(e,t){let a=Vk,o=!1,i=!1;return typeof t==\"function\"?a=t:t&&(o=!!t.forceBraces,i=!!t.compact,typeof t.decorate==\"function\"&&(a=t.decorate)),bl(e,a,o,i)}var bh={offset:0,line:1,column:1};function Yk(e,t){let a=e.tokens,o=e.longestMatch,i=o<a.length&&a[o].node||null,n=i!==t?i:null,s=0,r=0,l=0,c=\"\",d,m;for(let h=0;h<a.length;h++){let u=a[h].value;h===o&&(r=u.length,s=c.length),n!==null&&a[h].node===n&&(h<=o?l++:l=0),c+=u}return o===a.length||l>1?(d=Ji(n||t,\"end\")||Go(bh,c),m=Go(d)):(d=Ji(n,\"start\")||Go(Ji(t,\"start\")||bh,c.slice(0,s)),m=Ji(n,\"end\")||Go(d,c.substr(s,r))),{css:c,mismatchOffset:s,mismatchLength:r,start:d,end:m}}function Ji(e,t){let a=e&&e.loc&&e.loc[t];return a?\"line\"in a?Go(a):a:null}function Go({offset:e,line:t,column:a},o){let i={offset:e,line:t,column:a};if(o){let n=o.split(/\\n|\\r\\n?|\\f/);i.offset+=o.length,i.line+=n.length-1,i.column=n.length===1?i.column+o.length:n.pop().length+1}return i}var Uo=function(e,t){let a=bn(\"SyntaxReferenceError\",e+(t?\" `\"+t+\"`\":\"\"));return a.reference=t,a},Jk=function(e,t,a,o){let i=bn(\"SyntaxMatchError\",e),{css:n,mismatchOffset:s,mismatchLength:r,start:l,end:c}=Yk(o,a);return i.rawMessage=e,i.syntax=t?yn(t):\"<generic>\",i.css=n,i.mismatchOffset=s,i.mismatchLength=r,i.message=e+`\n syntax: `+i.syntax+`\n value: `+(n||\"<empty string>\")+`\n --------`+new Array(i.mismatchOffset+1).join(\"-\")+\"^\",Object.assign(i,l),i.loc={source:a&&a.loc&&a.loc.source||\"<unknown>\",start:l,end:c},i},Zi=new Map,Ga=new Map,mn=45,on=$k,Xs=Qk,Zk=yl;function kn(e,t){return t=t||0,e.length-t>=2&&e.charCodeAt(t)===mn&&e.charCodeAt(t+1)===mn}function yl(e,t){if(t=t||0,e.length-t>=3&&e.charCodeAt(t)===mn&&e.charCodeAt(t+1)!==mn){let a=e.indexOf(\"-\",t+2);if(a!==-1)return e.substring(t,a+1)}return\"\"}function $k(e){if(Zi.has(e))return Zi.get(e);let t=e.toLowerCase(),a=Zi.get(t);if(a===void 0){let o=kn(t,0),i=o?\"\":yl(t,0);a=Object.freeze({basename:t.substr(i.length),name:t,prefix:i,vendor:i,custom:o})}return Zi.set(e,a),a}function Qk(e){if(Ga.has(e))return Ga.get(e);let t=e,a=e[0];a===\"/\"?a=e[1]===\"/\"?\"//\":\"/\":a!==\"_\"&&a!==\"*\"&&a!==\"$\"&&a!==\"#\"&&a!==\"+\"&&a!==\"&\"&&(a=\"\");let o=kn(t,a.length);if(!o&&(t=t.toLowerCase(),Ga.has(t))){let r=Ga.get(t);return Ga.set(e,r),r}let i=o?\"\":yl(t,a.length),n=t.substr(0,a.length+i.length),s=Object.freeze({basename:t.substr(n.length),name:t.substr(a.length),hack:a,vendor:i,prefix:n,custom:o});return Ga.set(e,s),s}var nu=[\"initial\",\"inherit\",\"unset\",\"revert\",\"revert-layer\"],Jo=43,kt=45,Ps=110,qa=!0,ev=!1;function Ys(e,t){return e!==null&&e.type===9&&e.value.charCodeAt(0)===t}function Ko(e,t,a){for(;e!==null&&(e.type===13||e.type===25);)e=a(++t);return t}function qt(e,t,a,o){if(!e)return 0;let i=e.value.charCodeAt(t);if(i===Jo||i===kt){if(a)return 0;t++}for(;t<e.value.length;t++)if(!Se(e.value.charCodeAt(t)))return 0;return o+1}function Ds(e,t,a){let o=!1,i=Ko(e,t,a);if(e=a(i),e===null)return t;if(e.type!==10)if(Ys(e,Jo)||Ys(e,kt)){if(o=!0,i=Ko(a(++i),i,a),e=a(i),e===null||e.type!==10)return 0}else return t;if(!o){let n=e.value.charCodeAt(0);if(n!==Jo&&n!==kt)return 0}return qt(e,o?0:1,o,i)}function tv(e,t){let a=0;if(!e)return 0;if(e.type===10)return qt(e,0,ev,a);if(e.type===1&&e.value.charCodeAt(0)===kt){if(!Xa(e.value,1,Ps))return 0;switch(e.value.length){case 2:return Ds(t(++a),a,t);case 3:return e.value.charCodeAt(2)!==kt?0:(a=Ko(t(++a),a,t),e=t(a),qt(e,0,qa,a));default:return e.value.charCodeAt(2)!==kt?0:qt(e,3,qa,a)}}else if(e.type===1||Ys(e,Jo)&&t(a+1).type===1){if(e.type!==1&&(e=t(++a)),e===null||!Xa(e.value,0,Ps))return 0;switch(e.value.length){case 1:return Ds(t(++a),a,t);case 2:return e.value.charCodeAt(1)!==kt?0:(a=Ko(t(++a),a,t),e=t(a),qt(e,0,qa,a));default:return e.value.charCodeAt(1)!==kt?0:qt(e,2,qa,a)}}else if(e.type===12){let o=e.value.charCodeAt(0),i=o===Jo||o===kt?1:0,n=i;for(;n<e.value.length&&Se(e.value.charCodeAt(n));n++);return n===i||!Xa(e.value,n,Ps)?0:n+1===e.value.length?Ds(t(++a),a,t):e.value.charCodeAt(n+1)!==kt?0:n+2===e.value.length?(a=Ko(t(++a),a,t),e=t(a),qt(e,0,qa,a)):qt(e,n+2,qa,a)}return 0}var av=43,ru=45,su=63,ov=117;function Js(e,t){return e!==null&&e.type===9&&e.value.charCodeAt(0)===t}function iv(e,t){return e.value.charCodeAt(0)===t}function qo(e,t,a){let o=0;for(let i=t;i<e.value.length;i++){let n=e.value.charCodeAt(i);if(n===ru&&a&&o!==0)return qo(e,t+o+1,!1),6;if(!Vt(n)||++o>6)return 0}return o}function $i(e,t,a){if(!e)return 0;for(;Js(a(t),su);){if(++e>6)return 0;t++}return t}function nv(e,t){let a=0;if(e===null||e.type!==1||!Xa(e.value,0,ov)||(e=t(++a),e===null))return 0;if(Js(e,av))return e=t(++a),e===null?0:e.type===1?$i(qo(e,0,!0),++a,t):Js(e,su)?$i(1,++a,t):0;if(e.type===10){let o=qo(e,1,!0);return o===0?0:(e=t(++a),e===null?a:e.type===12||e.type===10?!iv(e,ru)||!qo(e,1,!1)?0:a+1:$i(o,a,t))}return e.type===12?$i(qo(e,1,!0),++a,t):0}var rv=[\"calc(\",\"-moz-calc(\",\"-webkit-calc(\"],kl=new Map([[2,22],[21,22],[19,20],[23,24]]);function dt(e,t){return t<e.length?e.charCodeAt(t):0}function lu(e,t){return Yo(e,0,e.length,t)}function cu(e,t){for(let a=0;a<t.length;a++)if(lu(e,t[a]))return!0;return!1}function du(e,t){return t!==e.length-2?!1:dt(e,t)===92&&Se(dt(e,t+1))}function vn(e,t,a){if(e&&e.type===\"Range\"){let o=Number(a!==void 0&&a!==t.length?t.substr(0,a):t);if(isNaN(o)||e.min!==null&&o<e.min&&typeof e.min!=\"string\"||e.max!==null&&o>e.max&&typeof e.max!=\"string\")return!0}return!1}function sv(e,t){let a=0,o=[],i=0;e:do{switch(e.type){case 24:case 22:case 20:if(e.type!==a)break e;if(a=o.pop(),o.length===0){i++;break e}break;case 2:case 21:case 19:case 23:o.push(a),a=kl.get(e.type);break}i++}while(e=t(i));return i}function ot(e){return function(t,a,o){return t===null?0:t.type===2&&cu(t.value,rv)?sv(t,a):e(t,a,o)}}function Q(e){return function(t){return t===null||t.type!==e?0:1}}function lv(e){if(e===null||e.type!==1)return 0;let t=e.value.toLowerCase();return cu(t,nu)||lu(t,\"default\")?0:1}function cv(e){return e===null||e.type!==1||dt(e.value,0)!==45||dt(e.value,1)!==45?0:1}function dv(e){if(e===null||e.type!==4)return 0;let t=e.value.length;if(t!==4&&t!==5&&t!==7&&t!==9)return 0;for(let a=1;a<t;a++)if(!Vt(dt(e.value,a)))return 0;return 1}function mv(e){return e===null||e.type!==4||!tn(dt(e.value,1),dt(e.value,2),dt(e.value,3))?0:1}function hv(e,t){if(!e)return 0;let a=0,o=[],i=0;e:do{switch(e.type){case 6:case 8:break e;case 24:case 22:case 20:if(e.type!==a)break e;a=o.pop();break;case 17:if(a===0)break e;break;case 9:if(a===0&&e.value===\"!\")break e;break;case 2:case 21:case 19:case 23:o.push(a),a=kl.get(e.type);break}i++}while(e=t(i));return i}function uv(e,t){if(!e)return 0;let a=0,o=[],i=0;e:do{switch(e.type){case 6:case 8:break e;case 24:case 22:case 20:if(e.type!==a)break e;a=o.pop();break;case 2:case 21:case 19:case 23:o.push(a),a=kl.get(e.type);break}i++}while(e=t(i));return i}function zt(e){return e&&(e=new Set(e)),function(t,a,o){if(t===null||t.type!==12)return 0;let i=wn(t.value,0);if(e!==null){let n=t.value.indexOf(\"\\\\\",i),s=n===-1||!du(t.value,n)?t.value.substr(i):t.value.substring(i,n);if(e.has(s.toLowerCase())===!1)return 0}return vn(o,t.value,i)?0:1}}function pv(e,t,a){return e===null||e.type!==11||vn(a,e.value,e.value.length-1)?0:1}function mu(e){return typeof e!=\"function\"&&(e=function(){return 0}),function(t,a,o){return t!==null&&t.type===10&&Number(t.value)===0?1:e(t,a,o)}}function gv(e,t,a){if(e===null)return 0;let o=wn(e.value,0);return o!==e.value.length&&!du(e.value,o)||vn(a,e.value,o)?0:1}function wv(e,t,a){if(e===null||e.type!==10)return 0;let o=dt(e.value,0)===43||dt(e.value,0)===45?1:0;for(;o<e.value.length;o++)if(!Se(dt(e.value,o)))return 0;return vn(a,e.value,o)?0:1}var fv={\"ident-token\":Q(1),\"function-token\":Q(2),\"at-keyword-token\":Q(3),\"hash-token\":Q(4),\"string-token\":Q(5),\"bad-string-token\":Q(6),\"url-token\":Q(7),\"bad-url-token\":Q(8),\"delim-token\":Q(9),\"number-token\":Q(10),\"percentage-token\":Q(11),\"dimension-token\":Q(12),\"whitespace-token\":Q(13),\"CDO-token\":Q(14),\"CDC-token\":Q(15),\"colon-token\":Q(16),\"semicolon-token\":Q(17),\"comma-token\":Q(18),\"[-token\":Q(19),\"]-token\":Q(20),\"(-token\":Q(21),\")-token\":Q(22),\"{-token\":Q(23),\"}-token\":Q(24)},bv={string:Q(5),ident:Q(1),percentage:ot(pv),zero:mu(),number:ot(gv),integer:ot(wv),\"custom-ident\":lv,\"custom-property-name\":cv,\"hex-color\":dv,\"id-selector\":mv,\"an-plus-b\":tv,urange:nv,\"declaration-value\":hv,\"any-value\":uv};function yv(e){let{angle:t,decibel:a,frequency:o,flex:i,length:n,resolution:s,semitones:r,time:l}=e||{};return{dimension:ot(zt(null)),angle:ot(zt(t)),decibel:ot(zt(a)),frequency:ot(zt(o)),flex:ot(zt(i)),length:ot(mu(zt(n))),resolution:ot(zt(s)),semitones:ot(zt(r)),time:ot(zt(l))}}function kv(e){return{...fv,...bv,...yv(e)}}var Zs={};F(Zs,{angle:()=>Sv,decibel:()=>Cv,flex:()=>xv,frequency:()=>jv,length:()=>vv,resolution:()=>Av,semitones:()=>Tv,time:()=>Ev});var vv=[\"cm\",\"mm\",\"q\",\"in\",\"pt\",\"pc\",\"px\",\"em\",\"rem\",\"ex\",\"rex\",\"cap\",\"rcap\",\"ch\",\"rch\",\"ic\",\"ric\",\"lh\",\"rlh\",\"vw\",\"svw\",\"lvw\",\"dvw\",\"vh\",\"svh\",\"lvh\",\"dvh\",\"vi\",\"svi\",\"lvi\",\"dvi\",\"vb\",\"svb\",\"lvb\",\"dvb\",\"vmin\",\"svmin\",\"lvmin\",\"dvmin\",\"vmax\",\"svmax\",\"lvmax\",\"dvmax\",\"cqw\",\"cqh\",\"cqi\",\"cqb\",\"cqmin\",\"cqmax\"],Sv=[\"deg\",\"grad\",\"rad\",\"turn\"],Ev=[\"s\",\"ms\"],jv=[\"hz\",\"khz\"],Av=[\"dpi\",\"dpcm\",\"dppx\",\"x\"],xv=[\"fr\"],Cv=[\"db\"],Tv=[\"st\"],hu={};F(hu,{SyntaxError:()=>uu,generate:()=>yn,parse:()=>xl,walk:()=>yu});function uu(e,t,a){return Object.assign(bn(\"SyntaxError\",e),{input:t,offset:a,rawMessage:e,message:e+`\n `+t+`\n--`+new Array((a||t.length)+1).join(\"-\")+\"^\"})}var Lv=9,Rv=10,zv=12,Iv=13,_v=32,Mv=class{constructor(e){this.str=e,this.pos=0}charCodeAt(e){return e<this.str.length?this.str.charCodeAt(e):0}charCode(){return this.charCodeAt(this.pos)}nextCharCode(){return this.charCodeAt(this.pos+1)}nextNonWsCode(e){return this.charCodeAt(this.findWsEnd(e))}findWsEnd(e){for(;e<this.str.length;e++){let t=this.str.charCodeAt(e);if(t!==Iv&&t!==Rv&&t!==zv&&t!==_v&&t!==Lv)break}return e}substringToPos(e){return this.str.substring(this.pos,this.pos=e)}eat(e){this.charCode()!==e&&this.error(\"Expect `\"+String.fromCharCode(e)+\"`\"),this.pos++}peek(){return this.pos<this.str.length?this.str.charAt(this.pos++):\"\"}error(e){throw new uu(e,this.str,this.pos)}},Pv=9,Dv=10,Nv=12,Ov=13,Fv=32,pu=33,vl=35,yh=38,hn=39,gu=40,Bv=41,wu=42,Sl=43,El=44,kh=45,jl=60,fu=62,$s=63,Uv=64,Sn=91,Al=93,un=123,vh=124,Sh=125,Eh=8734,Zo=new Uint8Array(128).map((e,t)=>/[a-zA-Z0-9\\-]/.test(String.fromCharCode(t))?1:0),jh={\" \":1,\"&&\":2,\"||\":3,\"|\":4};function pn(e){return e.substringToPos(e.findWsEnd(e.pos))}function Ya(e){let t=e.pos;for(;t<e.str.length;t++){let a=e.str.charCodeAt(t);if(a>=128||Zo[a]===0)break}return e.pos===t&&e.error(\"Expect a keyword\"),e.substringToPos(t)}function gn(e){let t=e.pos;for(;t<e.str.length;t++){let a=e.str.charCodeAt(t);if(a<48||a>57)break}return e.pos===t&&e.error(\"Expect a number\"),e.substringToPos(t)}function Hv(e){let t=e.str.indexOf(\"'\",e.pos+1);return t===-1&&(e.pos=e.str.length,e.error(\"Expect an apostrophe\")),e.substringToPos(t+1)}function Ah(e){let t=null,a=null;return e.eat(un),t=gn(e),e.charCode()===El?(e.pos++,e.charCode()!==Sh&&(a=gn(e))):a=t,e.eat(Sh),{min:Number(t),max:a?Number(a):0}}function Gv(e){let t=null,a=!1;switch(e.charCode()){case wu:e.pos++,t={min:0,max:0};break;case Sl:e.pos++,t={min:1,max:0};break;case $s:e.pos++,t={min:0,max:1};break;case vl:e.pos++,a=!0,e.charCode()===un?t=Ah(e):e.charCode()===$s?(e.pos++,t={min:0,max:0}):t={min:1,max:0};break;case un:t=Ah(e);break;default:return null}return{type:\"Multiplier\",comma:a,min:t.min,max:t.max,term:null}}function Ja(e,t){let a=Gv(e);return a!==null?(a.term=t,e.charCode()===vl&&e.charCodeAt(e.pos-1)===Sl?Ja(e,a):a):t}function Ns(e){let t=e.peek();return t===\"\"?null:{type:\"Token\",value:t}}function qv(e){let t;return e.eat(jl),e.eat(hn),t=Ya(e),e.eat(hn),e.eat(fu),Ja(e,{type:\"Property\",name:t})}function Vv(e){let t=null,a=null,o=1;return e.eat(Sn),e.charCode()===kh&&(e.peek(),o=-1),o==-1&&e.charCode()===Eh?e.peek():(t=o*Number(gn(e)),Zo[e.charCode()]!==0&&(t+=Ya(e))),pn(e),e.eat(El),pn(e),e.charCode()===Eh?e.peek():(o=1,e.charCode()===kh&&(e.peek(),o=-1),a=o*Number(gn(e)),Zo[e.charCode()]!==0&&(a+=Ya(e))),e.eat(Al),{type:\"Range\",min:t,max:a}}function Wv(e){let t,a=null;return e.eat(jl),t=Ya(e),e.charCode()===gu&&e.nextCharCode()===Bv&&(e.pos+=2,t+=\"()\"),e.charCodeAt(e.findWsEnd(e.pos))===Sn&&(pn(e),a=Vv(e)),e.eat(fu),Ja(e,{type:\"Type\",name:t,opts:a})}function Kv(e){let t=Ya(e);return e.charCode()===gu?(e.pos++,{type:\"Function\",name:t}):Ja(e,{type:\"Keyword\",name:t})}function Xv(e,t){function a(i,n){return{type:\"Group\",terms:i,combinator:n,disallowEmpty:!1,explicit:!1}}let o;for(t=Object.keys(t).sort((i,n)=>jh[i]-jh[n]);t.length>0;){o=t.shift();let i=0,n=0;for(;i<e.length;i++){let s=e[i];s.type===\"Combinator\"&&(s.value===o?(n===-1&&(n=i-1),e.splice(i,1),i--):(n!==-1&&i-n>1&&(e.splice(n,i-n,a(e.slice(n,i),o)),i=n+1),n=-1))}n!==-1&&t.length&&e.splice(n,i-n,a(e.slice(n,i),o))}return o}function bu(e){let t=[],a={},o,i=null,n=e.pos;for(;o=Jv(e);)o.type!==\"Spaces\"&&(o.type===\"Combinator\"?((i===null||i.type===\"Combinator\")&&(e.pos=n,e.error(\"Unexpected combinator\")),a[o.value]=!0):i!==null&&i.type!==\"Combinator\"&&(a[\" \"]=!0,t.push({type:\"Combinator\",value:\" \"})),t.push(o),i=o,n=e.pos);return i!==null&&i.type===\"Combinator\"&&(e.pos-=n,e.error(\"Unexpected combinator\")),{type:\"Group\",terms:t,combinator:Xv(t,a)||\" \",disallowEmpty:!1,explicit:!1}}function Yv(e){let t;return e.eat(Sn),t=bu(e),e.eat(Al),t.explicit=!0,e.charCode()===pu&&(e.pos++,t.disallowEmpty=!0),t}function Jv(e){let t=e.charCode();if(t<128&&Zo[t]===1)return Kv(e);switch(t){case Al:break;case Sn:return Ja(e,Yv(e));case jl:return e.nextCharCode()===hn?qv(e):Wv(e);case vh:return{type:\"Combinator\",value:e.substringToPos(e.pos+(e.nextCharCode()===vh?2:1))};case yh:return e.pos++,e.eat(yh),{type:\"Combinator\",value:\"&&\"};case El:return e.pos++,{type:\"Comma\"};case hn:return Ja(e,{type:\"String\",value:Hv(e)});case Fv:case Pv:case Dv:case Ov:case Nv:return{type:\"Spaces\",value:pn(e)};case Uv:return t=e.nextCharCode(),t<128&&Zo[t]===1?(e.pos++,{type:\"AtKeyword\",name:Ya(e)}):Ns(e);case wu:case Sl:case $s:case vl:case pu:break;case un:if(t=e.nextCharCode(),t<48||t>57)return Ns(e);break;default:return Ns(e)}}function xl(e){let t=new Mv(e),a=bu(t);return t.pos!==e.length&&t.error(\"Unexpected input\"),a.terms.length===1&&a.terms[0].type===\"Group\"?a.terms[0]:a}var Vo=function(){};function xh(e){return typeof e==\"function\"?e:Vo}function yu(e,t,a){function o(s){switch(i.call(a,s),s.type){case\"Group\":s.terms.forEach(o);break;case\"Multiplier\":o(s.term);break;case\"Type\":case\"Property\":case\"Keyword\":case\"AtKeyword\":case\"Function\":case\"String\":case\"Token\":case\"Comma\":break;default:throw new Error(\"Unknown type: \"+s.type)}n.call(a,s)}let i=Vo,n=Vo;if(typeof t==\"function\"?i=t:t&&(i=xh(t.enter),n=xh(t.leave)),i===Vo&&n===Vo)throw new Error(\"Neither `enter` nor `leave` walker handler is set or both aren't a function\");o(e,a)}var Zv={decorator(e){let t=[],a=null;return{...e,node(o){let i=a;a=o,e.node.call(this,o),a=i},emit(o,i,n){t.push({type:i,value:o,node:n?null:a})},result(){return t}}}};function $v(e){let t=[];return fn(e,(a,o,i)=>t.push({type:a,value:e.slice(o,i),node:null})),t}function Qv(e,t){return typeof e==\"string\"?$v(e):t.generate(e,Zv)}var Y={type:\"Match\"},Z={type:\"Mismatch\"},Cl={type:\"DisallowEmpty\"},eS=40,tS=41;function Re(e,t,a){return t===Y&&a===Z||e===Y&&t===Y&&a===Y?e:(e.type===\"If\"&&e.else===Z&&t===Y&&(t=e.then,e=e.match),{type:\"If\",match:e,then:t,else:a})}function ku(e){return e.length>2&&e.charCodeAt(e.length-2)===eS&&e.charCodeAt(e.length-1)===tS}function Ch(e){return e.type===\"Keyword\"||e.type===\"AtKeyword\"||e.type===\"Function\"||e.type===\"Type\"&&ku(e.name)}function Qs(e,t,a){switch(e){case\" \":{let o=Y;for(let i=t.length-1;i>=0;i--){let n=t[i];o=Re(n,o,Z)}return o}case\"|\":{let o=Z,i=null;for(let n=t.length-1;n>=0;n--){let s=t[n];if(Ch(s)&&(i===null&&n>0&&Ch(t[n-1])&&(i=Object.create(null),o=Re({type:\"Enum\",map:i},Y,o)),i!==null)){let r=(ku(s.name)?s.name.slice(0,-1):s.name).toLowerCase();if(!(r in i)){i[r]=s;continue}}i=null,o=Re(s,Y,o)}return o}case\"&&\":{if(t.length>5)return{type:\"MatchOnce\",terms:t,all:!0};let o=Z;for(let i=t.length-1;i>=0;i--){let n=t[i],s;t.length>1?s=Qs(e,t.filter(function(r){return r!==n}),!1):s=Y,o=Re(n,s,o)}return o}case\"||\":{if(t.length>5)return{type:\"MatchOnce\",terms:t,all:!1};let o=a?Y:Z;for(let i=t.length-1;i>=0;i--){let n=t[i],s;t.length>1?s=Qs(e,t.filter(function(r){return r!==n}),!0):s=Y,o=Re(n,s,o)}return o}}}function aS(e){let t=Y,a=Tl(e.term);if(e.max===0)a=Re(a,Cl,Z),t=Re(a,null,Z),t.then=Re(Y,Y,t),e.comma&&(t.then.else=Re({type:\"Comma\",syntax:e},t,Z));else for(let o=e.min||1;o<=e.max;o++)e.comma&&t!==Y&&(t=Re({type:\"Comma\",syntax:e},t,Z)),t=Re(a,Re(Y,Y,t),Z);if(e.min===0)t=Re(Y,Y,t);else for(let o=0;o<e.min-1;o++)e.comma&&t!==Y&&(t=Re({type:\"Comma\",syntax:e},t,Z)),t=Re(a,t,Z);return t}function Tl(e){if(typeof e==\"function\")return{type:\"Generic\",fn:e};switch(e.type){case\"Group\":{let t=Qs(e.combinator,e.terms.map(Tl),!1);return e.disallowEmpty&&(t=Re(t,Cl,Z)),t}case\"Multiplier\":return aS(e);case\"Type\":case\"Property\":return{type:e.type,name:e.name,syntax:e};case\"Keyword\":return{type:e.type,name:e.name.toLowerCase(),syntax:e};case\"AtKeyword\":return{type:e.type,name:\"@\"+e.name.toLowerCase(),syntax:e};case\"Function\":return{type:e.type,name:e.name.toLowerCase()+\"(\",syntax:e};case\"String\":return e.value.length===3?{type:\"Token\",value:e.value.charAt(1),syntax:e}:{type:e.type,value:e.value.substr(1,e.value.length-2).replace(/\\\\'/g,\"'\"),syntax:e};case\"Token\":return{type:e.type,value:e.value,syntax:e};case\"Comma\":return{type:e.type,syntax:e};default:throw new Error(\"Unknown node type:\",e.type)}}function el(e,t){return typeof e==\"string\"&&(e=xl(e)),{type:\"MatchGraph\",match:Tl(e),syntax:t||null,source:e}}var{hasOwnProperty:Th}=Object.prototype,oS=0,iS=1,tl=2,vu=3,Lh=\"Match\",nS=\"Mismatch\",rS=\"Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)\",Rh=15e3,sS=0;function lS(e){let t=null,a=null,o=e;for(;o!==null;)a=o.prev,o.prev=t,t=o,o=a;return t}function Os(e,t){if(e.length!==t.length)return!1;for(let a=0;a<e.length;a++){let o=t.charCodeAt(a),i=e.charCodeAt(a);if(i>=65&&i<=90&&(i=i|32),i!==o)return!1}return!0}function cS(e){return e.type!==9?!1:e.value!==\"?\"}function zh(e){return e===null?!0:e.type===18||e.type===2||e.type===21||e.type===19||e.type===23||cS(e)}function Ih(e){return e===null?!0:e.type===22||e.type===20||e.type===24||e.type===9&&e.value===\"/\"}function dS(e,t,a){function o(){do S++,E=S<e.length?e[S]:null;while(E!==null&&(E.type===13||E.type===25))}function i(j){let C=S+j;return C<e.length?e[C]:null}function n(j,C){return{nextState:j,matchStack:g,syntaxStack:m,thenStack:h,tokenIndex:S,prev:C}}function s(j){h={nextState:j,matchStack:g,syntaxStack:m,prev:h}}function r(j){u=n(j,u)}function l(){g={type:iS,syntax:t.syntax,token:E,prev:g},o(),p=null,S>y&&(y=S)}function c(){m={syntax:t.syntax,opts:t.syntax.opts||m!==null&&m.opts||null,prev:m},g={type:tl,syntax:t.syntax,token:g.token,prev:g}}function d(){g.type===tl?g=g.prev:g={type:vu,syntax:m.syntax,token:g.token,prev:g},m=m.prev}let m=null,h=null,u=null,p=null,w=0,b=null,E=null,S=-1,y=0,g={type:oS,syntax:null,token:null,prev:null};for(o();b===null&&++w<Rh;)switch(t.type){case\"Match\":if(h===null){if(E!==null&&(S!==e.length-1||E.value!==\"\\\\0\"&&E.value!==\"\\\\9\")){t=Z;break}b=Lh;break}if(t=h.nextState,t===Cl)if(h.matchStack===g){t=Z;break}else t=Y;for(;h.syntaxStack!==m;)d();h=h.prev;break;case\"Mismatch\":if(p!==null&&p!==!1)(u===null||S>u.tokenIndex)&&(u=p,p=!1);else if(u===null){b=nS;break}t=u.nextState,h=u.thenStack,m=u.syntaxStack,g=u.matchStack,S=u.tokenIndex,E=S<e.length?e[S]:null,u=u.prev;break;case\"MatchGraph\":t=t.match;break;case\"If\":t.else!==Z&&r(t.else),t.then!==Y&&s(t.then),t=t.match;break;case\"MatchOnce\":t={type:\"MatchOnceBuffer\",syntax:t,index:0,mask:0};break;case\"MatchOnceBuffer\":{let z=t.syntax.terms;if(t.index===z.length){if(t.mask===0||t.syntax.all){t=Z;break}t=Y;break}if(t.mask===(1<<z.length)-1){t=Y;break}for(;t.index<z.length;t.index++){let f=1<<t.index;if(!(t.mask&f)){r(t),s({type:\"AddMatchOnce\",syntax:t.syntax,mask:t.mask|f}),t=z[t.index++];break}}break}case\"AddMatchOnce\":t={type:\"MatchOnceBuffer\",syntax:t.syntax,index:0,mask:t.mask};break;case\"Enum\":if(E!==null){let z=E.value.toLowerCase();if(z.indexOf(\"\\\\\")!==-1&&(z=z.replace(/\\\\[09].*$/,\"\")),Th.call(t.map,z)){t=t.map[z];break}}t=Z;break;case\"Generic\":{let z=m!==null?m.opts:null,f=S+Math.floor(t.fn(E,i,z));if(!isNaN(f)&&f>S){for(;S<f;)l();t=Y}else t=Z;break}case\"Type\":case\"Property\":{let z=t.type===\"Type\"?\"types\":\"properties\",f=Th.call(a,z)?a[z][t.name]:null;if(!f||!f.match)throw new Error(\"Bad syntax reference: \"+(t.type===\"Type\"?\"<\"+t.name+\">\":\"<'\"+t.name+\"'>\"));if(p!==!1&&E!==null&&t.type===\"Type\"&&(t.name===\"custom-ident\"&&E.type===1||t.name===\"length\"&&E.value===\"0\")){p===null&&(p=n(t,u)),t=Z;break}c(),t=f.match;break}case\"Keyword\":{let z=t.name;if(E!==null){let f=E.value;if(f.indexOf(\"\\\\\")!==-1&&(f=f.replace(/\\\\[09].*$/,\"\")),Os(f,z)){l(),t=Y;break}}t=Z;break}case\"AtKeyword\":case\"Function\":if(E!==null&&Os(E.value,t.name)){l(),t=Y;break}t=Z;break;case\"Token\":if(E!==null&&E.value===t.value){l(),t=Y;break}t=Z;break;case\"Comma\":E!==null&&E.type===18?zh(g.token)?t=Z:(l(),t=Ih(E)?Z:Y):t=zh(g.token)||Ih(E)?Y:Z;break;case\"String\":let j=\"\",C=S;for(;C<e.length&&j.length<t.value.length;C++)j+=e[C].value;if(Os(j,t.value)){for(;S<C;)l();t=Y}else t=Z;break;default:throw new Error(\"Unknown node type: \"+t.type)}switch(sS+=w,b){case null:console.warn(\"[csstree-match] BREAK after \"+Rh+\" iterations\"),b=rS,g=null;break;case Lh:for(;m!==null;)d();break;default:g=null}return{tokens:e,reason:b,iterations:w,match:g,longestMatch:y}}function _h(e,t,a){let o=dS(e,t,a||{});if(o.match===null)return o;let i=o.match,n=o.match={syntax:t.syntax||null,match:[]},s=[n];for(i=lS(i).prev;i!==null;){switch(i.type){case tl:n.match.push(n={syntax:i.syntax,match:[]}),s.push(n);break;case vu:s.pop(),n=s[s.length-1];break;default:n.match.push({syntax:i.syntax||null,token:i.token.value,node:i.token.node})}i=i.prev}return o}var Su={};F(Su,{getTrace:()=>Eu,isKeyword:()=>uS,isProperty:()=>hS,isType:()=>mS});function Eu(e){function t(i){return i===null?!1:i.type===\"Type\"||i.type===\"Property\"||i.type===\"Keyword\"}function a(i){if(Array.isArray(i.match)){for(let n=0;n<i.match.length;n++)if(a(i.match[n]))return t(i.syntax)&&o.unshift(i.syntax),!0}else if(i.node===e)return o=t(i.syntax)?[i.syntax]:[],!0;return!1}let o=null;return this.matched!==null&&a(this.matched),o}function mS(e,t){return Ll(this,e,a=>a.type===\"Type\"&&a.name===t)}function hS(e,t){return Ll(this,e,a=>a.type===\"Property\"&&a.name===t)}function uS(e){return Ll(this,e,t=>t.type===\"Keyword\")}function Ll(e,t,a){let o=Eu.call(e,t);return o===null?!1:o.some(a)}function ju(e){return\"node\"in e?e.node:ju(e.match[0])}function Au(e){return\"node\"in e?e.node:Au(e.match[e.match.length-1])}function Mh(e,t,a,o,i){function n(r){if(r.syntax!==null&&r.syntax.type===o&&r.syntax.name===i){let l=ju(r),c=Au(r);e.syntax.walk(t,function(d,m,h){if(d===l){let u=new fe;do{if(u.appendData(m.data),m.data===c)break;m=m.next}while(m!==null);s.push({parent:h,nodes:u})}})}Array.isArray(r.match)&&r.match.forEach(n)}let s=[];return a.matched!==null&&n(a.matched),s}var{hasOwnProperty:Xo}=Object.prototype;function Fs(e){return typeof e==\"number\"&&isFinite(e)&&Math.floor(e)===e&&e>=0}function Ph(e){return!!e&&Fs(e.offset)&&Fs(e.line)&&Fs(e.column)}function pS(e,t){return function(a,o){if(!a||a.constructor!==Object)return o(a,\"Type of node should be an Object\");for(let i in a){let n=!0;if(Xo.call(a,i)!==!1){if(i===\"type\")a.type!==e&&o(a,\"Wrong node type `\"+a.type+\"`, expected `\"+e+\"`\");else if(i===\"loc\"){if(a.loc===null)continue;if(a.loc&&a.loc.constructor===Object)if(typeof a.loc.source!=\"string\")i+=\".source\";else if(!Ph(a.loc.start))i+=\".start\";else if(!Ph(a.loc.end))i+=\".end\";else continue;n=!1}else if(t.hasOwnProperty(i)){n=!1;for(let s=0;!n&&s<t[i].length;s++){let r=t[i][s];switch(r){case String:n=typeof a[i]==\"string\";break;case Boolean:n=typeof a[i]==\"boolean\";break;case null:n=a[i]===null;break;default:typeof r==\"string\"?n=a[i]&&a[i].type===r:Array.isArray(r)&&(n=a[i]instanceof fe)}}}else o(a,\"Unknown field `\"+i+\"` for \"+e+\" node type\");n||o(a,\"Bad value for `\"+e+\".\"+i+\"`\")}}for(let i in t)Xo.call(t,i)&&Xo.call(a,i)===!1&&o(a,\"Field `\"+e+\".\"+i+\"` is missed\")}}function gS(e,t){let a=t.structure,o={type:String,loc:!0},i={type:'\"'+e+'\"'};for(let n in a){if(Xo.call(a,n)===!1)continue;let s=[],r=o[n]=Array.isArray(a[n])?a[n].slice():[a[n]];for(let l=0;l<r.length;l++){let c=r[l];if(c===String||c===Boolean)s.push(c.name);else if(c===null)s.push(\"null\");else if(typeof c==\"string\")s.push(\"<\"+c+\">\");else if(Array.isArray(c))s.push(\"List\");else throw new Error(\"Wrong value `\"+c+\"` in `\"+e+\".\"+n+\"` structure definition\")}i[n]=s.join(\" | \")}return{docs:i,check:pS(e,o)}}function wS(e){let t={};if(e.node){for(let a in e.node)if(Xo.call(e.node,a)){let o=e.node[a];if(o.structure)t[a]=gS(a,o);else throw new Error(\"Missed `structure` field in `\"+a+\"` node type definition\")}}return t}var fS=el(nu.join(\" | \"));function al(e,t,a){let o={};for(let i in e)e[i].syntax&&(o[i]=a?e[i].syntax:yn(e[i].syntax,{compact:t}));return o}function bS(e,t,a){let o={};for(let[i,n]of Object.entries(e))o[i]={prelude:n.prelude&&(a?n.prelude.syntax:yn(n.prelude.syntax,{compact:t})),descriptors:n.descriptors&&al(n.descriptors,t,a)};return o}function yS(e){for(let t=0;t<e.length;t++)if(e[t].value.toLowerCase()===\"var(\")return!0;return!1}function lt(e,t,a){return{matched:e,iterations:a,error:t,...Su}}function Va(e,t,a,o){let i=Qv(a,e.syntax),n;return yS(i)?lt(null,new Error(\"Matching for a tree with var() is not supported\")):(o&&(n=_h(i,e.cssWideKeywordsSyntax,e)),(!o||!n.match)&&(n=_h(i,t.match,e),!n.match)?lt(null,new Jk(n.reason,t.syntax,a,n),n.iterations):lt(n.match,null,n.iterations))}var ol=class{constructor(e,t,a){if(this.cssWideKeywordsSyntax=fS,this.syntax=t,this.generic=!1,this.units={...Zs},this.atrules=Object.create(null),this.properties=Object.create(null),this.types=Object.create(null),this.structure=a||wS(e),e){if(e.units)for(let o of Object.keys(Zs))Array.isArray(e.units[o])&&(this.units[o]=e.units[o]);if(e.types)for(let o in e.types)this.addType_(o,e.types[o]);if(e.generic){this.generic=!0;for(let[o,i]of Object.entries(kv(this.units)))this.addType_(o,i)}if(e.atrules)for(let o in e.atrules)this.addAtrule_(o,e.atrules[o]);if(e.properties)for(let o in e.properties)this.addProperty_(o,e.properties[o])}}checkStructure(e){function t(i,n){o.push({node:i,message:n})}let a=this.structure,o=[];return this.syntax.walk(e,function(i){a.hasOwnProperty(i.type)?a[i.type].check(i,t):t(i,\"Unknown node type `\"+i.type+\"`\")}),o.length?o:!1}createDescriptor(e,t,a,o=null){let i={type:t,name:a},n={type:t,name:a,parent:o,serializable:typeof e==\"string\"||e&&typeof e.type==\"string\",syntax:null,match:null};return typeof e==\"function\"?n.match=el(e,i):(typeof e==\"string\"?Object.defineProperty(n,\"syntax\",{get(){return Object.defineProperty(n,\"syntax\",{value:xl(e)}),n.syntax}}):n.syntax=e,Object.defineProperty(n,\"match\",{get(){return Object.defineProperty(n,\"match\",{value:el(n.syntax,i)}),n.match}})),n}addAtrule_(e,t){!t||(this.atrules[e]={type:\"Atrule\",name:e,prelude:t.prelude?this.createDescriptor(t.prelude,\"AtrulePrelude\",e):null,descriptors:t.descriptors?Object.keys(t.descriptors).reduce((a,o)=>(a[o]=this.createDescriptor(t.descriptors[o],\"AtruleDescriptor\",o,e),a),Object.create(null)):null})}addProperty_(e,t){!t||(this.properties[e]=this.createDescriptor(t,\"Property\",e))}addType_(e,t){!t||(this.types[e]=this.createDescriptor(t,\"Type\",e))}checkAtruleName(e){if(!this.getAtrule(e))return new Uo(\"Unknown at-rule\",\"@\"+e)}checkAtrulePrelude(e,t){let a=this.checkAtruleName(e);if(a)return a;let o=this.getAtrule(e);if(!o.prelude&&t)return new SyntaxError(\"At-rule `@\"+e+\"` should not contain a prelude\");if(o.prelude&&!t&&!Va(this,o.prelude,\"\",!1).matched)return new SyntaxError(\"At-rule `@\"+e+\"` should contain a prelude\")}checkAtruleDescriptorName(e,t){let a=this.checkAtruleName(e);if(a)return a;let o=this.getAtrule(e),i=on(t);if(!o.descriptors)return new SyntaxError(\"At-rule `@\"+e+\"` has no known descriptors\");if(!o.descriptors[i.name]&&!o.descriptors[i.basename])return new Uo(\"Unknown at-rule descriptor\",t)}checkPropertyName(e){if(!this.getProperty(e))return new Uo(\"Unknown property\",e)}matchAtrulePrelude(e,t){let a=this.checkAtrulePrelude(e,t);if(a)return lt(null,a);let o=this.getAtrule(e);return o.prelude?Va(this,o.prelude,t||\"\",!1):lt(null,null)}matchAtruleDescriptor(e,t,a){let o=this.checkAtruleDescriptorName(e,t);if(o)return lt(null,o);let i=this.getAtrule(e),n=on(t);return Va(this,i.descriptors[n.name]||i.descriptors[n.basename],a,!1)}matchDeclaration(e){return e.type!==\"Declaration\"?lt(null,new Error(\"Not a Declaration node\")):this.matchProperty(e.property,e.value)}matchProperty(e,t){if(Xs(e).custom)return lt(null,new Error(\"Lexer matching doesn't applicable for custom properties\"));let a=this.checkPropertyName(e);return a?lt(null,a):Va(this,this.getProperty(e),t,!0)}matchType(e,t){let a=this.getType(e);return a?Va(this,a,t,!1):lt(null,new Uo(\"Unknown type\",e))}match(e,t){return typeof e!=\"string\"&&(!e||!e.type)?lt(null,new Uo(\"Bad syntax\")):((typeof e==\"string\"||!e.match)&&(e=this.createDescriptor(e,\"Type\",\"anonymous\")),Va(this,e,t,!1))}findValueFragments(e,t,a,o){return Mh(this,t,this.matchProperty(e,t),a,o)}findDeclarationValueFragments(e,t,a){return Mh(this,e.value,this.matchDeclaration(e),t,a)}findAllFragments(e,t,a){let o=[];return this.syntax.walk(e,{visit:\"Declaration\",enter:i=>{o.push.apply(o,this.findDeclarationValueFragments(i,t,a))}}),o}getAtrule(e,t=!0){let a=on(e);return(a.vendor&&t?this.atrules[a.name]||this.atrules[a.basename]:this.atrules[a.name])||null}getAtrulePrelude(e,t=!0){let a=this.getAtrule(e,t);return a&&a.prelude||null}getAtruleDescriptor(e,t){return this.atrules.hasOwnProperty(e)&&this.atrules.declarators&&this.atrules[e].declarators[t]||null}getProperty(e,t=!0){let a=Xs(e);return(a.vendor&&t?this.properties[a.name]||this.properties[a.basename]:this.properties[a.name])||null}getType(e){return hasOwnProperty.call(this.types,e)?this.types[e]:null}validate(){function e(o,i,n,s){if(n.has(i))return n.get(i);n.set(i,!1),s.syntax!==null&&yu(s.syntax,function(r){if(r.type!==\"Type\"&&r.type!==\"Property\")return;let l=r.type===\"Type\"?o.types:o.properties,c=r.type===\"Type\"?t:a;(!hasOwnProperty.call(l,r.name)||e(o,r.name,c,l[r.name]))&&n.set(i,!0)},this)}let t=new Map,a=new Map;for(let o in this.types)e(this,o,t,this.types[o]);for(let o in this.properties)e(this,o,a,this.properties[o]);return t=[...t.keys()].filter(o=>t.get(o)),a=[...a.keys()].filter(o=>a.get(o)),t.length||a.length?{types:t,properties:a}:null}dump(e,t){return{generic:this.generic,units:this.units,types:al(this.types,!t,e),properties:al(this.properties,!t,e),atrules:bS(this.atrules,!t,e)}}toString(){return JSON.stringify(this.dump())}};function Bs(e,t){return typeof t==\"string\"&&/^\\s*\\|/.test(t)?typeof e==\"string\"?e+t:t.replace(/^\\s*\\|\\s*/,\"\"):t||null}function Dh(e,t){let a=Object.create(null);for(let[o,i]of Object.entries(e))if(i){a[o]={};for(let n of Object.keys(i))t.includes(n)&&(a[o][n]=i[n])}return a}function il(e,t){let a={...e};for(let[o,i]of Object.entries(t))switch(o){case\"generic\":a[o]=!!i;break;case\"units\":a[o]={...e[o]};for(let[n,s]of Object.entries(i))a[o][n]=Array.isArray(s)?s:[];break;case\"atrules\":a[o]={...e[o]};for(let[n,s]of Object.entries(i)){let r=a[o][n]||{},l=a[o][n]={prelude:r.prelude||null,descriptors:{...r.descriptors}};if(s){l.prelude=s.prelude?Bs(l.prelude,s.prelude):l.prelude||null;for(let[c,d]of Object.entries(s.descriptors||{}))l.descriptors[c]=d?Bs(l.descriptors[c],d):null;Object.keys(l.descriptors).length||(l.descriptors=null)}}break;case\"types\":case\"properties\":a[o]={...e[o]};for(let[n,s]of Object.entries(i))a[o][n]=Bs(a[o][n],s);break;case\"scope\":a[o]={...e[o]};for(let[n,s]of Object.entries(i))a[o][n]={...a[o][n],...s};break;case\"parseContext\":a[o]={...e[o],...i};break;case\"atrule\":case\"pseudo\":a[o]={...e[o],...Dh(i,[\"parse\"])};break;case\"node\":a[o]={...e[o],...Dh(i,[\"name\",\"structure\",\"parse\",\"generate\",\"walkContext\"])};break}return a}function xu(e){let t=Rk(e),a=qk(e),o=Bk(e),{fromPlainObject:i,toPlainObject:n}=Uk(a),s={lexer:null,createLexer:r=>new ol(r,s,s.lexer.structure),tokenize:fn,parse:t,generate:o,walk:a,find:a.find,findLast:a.findLast,findAll:a.findAll,fromPlainObject:i,toPlainObject:n,fork(r){let l=il({},e);return xu(typeof r==\"function\"?r(l,Object.assign):il(l,r))}};return s.lexer=new ol({generic:!0,units:e.units,types:e.types,atrules:e.atrules,properties:e.properties,node:e.node},s),s}var Cu=e=>xu(il({},e)),kS={generic:!0,units:{angle:[\"deg\",\"grad\",\"rad\",\"turn\"],decibel:[\"db\"],flex:[\"fr\"],frequency:[\"hz\",\"khz\"],length:[\"cm\",\"mm\",\"q\",\"in\",\"pt\",\"pc\",\"px\",\"em\",\"rem\",\"ex\",\"rex\",\"cap\",\"rcap\",\"ch\",\"rch\",\"ic\",\"ric\",\"lh\",\"rlh\",\"vw\",\"svw\",\"lvw\",\"dvw\",\"vh\",\"svh\",\"lvh\",\"dvh\",\"vi\",\"svi\",\"lvi\",\"dvi\",\"vb\",\"svb\",\"lvb\",\"dvb\",\"vmin\",\"svmin\",\"lvmin\",\"dvmin\",\"vmax\",\"svmax\",\"lvmax\",\"dvmax\",\"cqw\",\"cqh\",\"cqi\",\"cqb\",\"cqmin\",\"cqmax\"],resolution:[\"dpi\",\"dpcm\",\"dppx\",\"x\"],semitones:[\"st\"],time:[\"s\",\"ms\"]},types:{\"abs()\":\"abs( <calc-sum> )\",\"absolute-size\":\"xx-small|x-small|small|medium|large|x-large|xx-large|xxx-large\",\"acos()\":\"acos( <calc-sum> )\",\"alpha-value\":\"<number>|<percentage>\",\"angle-percentage\":\"<angle>|<percentage>\",\"angular-color-hint\":\"<angle-percentage>\",\"angular-color-stop\":\"<color>&&<color-stop-angle>?\",\"angular-color-stop-list\":\"[<angular-color-stop> [, <angular-color-hint>]?]# , <angular-color-stop>\",\"animateable-feature\":\"scroll-position|contents|<custom-ident>\",\"asin()\":\"asin( <calc-sum> )\",\"atan()\":\"atan( <calc-sum> )\",\"atan2()\":\"atan2( <calc-sum> , <calc-sum> )\",attachment:\"scroll|fixed|local\",\"attr()\":\"attr( <attr-name> <type-or-unit>? [, <attr-fallback>]? )\",\"attr-matcher\":\"['~'|'|'|'^'|'$'|'*']? '='\",\"attr-modifier\":\"i|s\",\"attribute-selector\":\"'[' <wq-name> ']'|'[' <wq-name> <attr-matcher> [<string-token>|<ident-token>] <attr-modifier>? ']'\",\"auto-repeat\":\"repeat( [auto-fill|auto-fit] , [<line-names>? <fixed-size>]+ <line-names>? )\",\"auto-track-list\":\"[<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>? <auto-repeat> [<line-names>? [<fixed-size>|<fixed-repeat>]]* <line-names>?\",axis:\"block|inline|vertical|horizontal\",\"baseline-position\":\"[first|last]? baseline\",\"basic-shape\":\"<inset()>|<circle()>|<ellipse()>|<polygon()>|<path()>\",\"bg-image\":\"none|<image>\",\"bg-layer\":\"<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>\",\"bg-position\":\"[[left|center|right|top|bottom|<length-percentage>]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]|[center|[left|right] <length-percentage>?]&&[center|[top|bottom] <length-percentage>?]]\",\"bg-size\":\"[<length-percentage>|auto]{1,2}|cover|contain\",\"blur()\":\"blur( <length> )\",\"blend-mode\":\"normal|multiply|screen|overlay|darken|lighten|color-dodge|color-burn|hard-light|soft-light|difference|exclusion|hue|saturation|color|luminosity\",box:\"border-box|padding-box|content-box\",\"brightness()\":\"brightness( <number-percentage> )\",\"calc()\":\"calc( <calc-sum> )\",\"calc-sum\":\"<calc-product> [['+'|'-'] <calc-product>]*\",\"calc-product\":\"<calc-value> ['*' <calc-value>|'/' <number>]*\",\"calc-value\":\"<number>|<dimension>|<percentage>|<calc-constant>|( <calc-sum> )\",\"calc-constant\":\"e|pi|infinity|-infinity|NaN\",\"cf-final-image\":\"<image>|<color>\",\"cf-mixing-image\":\"<percentage>?&&<image>\",\"circle()\":\"circle( [<shape-radius>]? [at <position>]? )\",\"clamp()\":\"clamp( <calc-sum>#{3} )\",\"class-selector\":\"'.' <ident-token>\",\"clip-source\":\"<url>\",color:\"<rgb()>|<rgba()>|<hsl()>|<hsla()>|<hwb()>|<lab()>|<lch()>|<hex-color>|<named-color>|currentcolor|<deprecated-system-color>\",\"color-stop\":\"<color-stop-length>|<color-stop-angle>\",\"color-stop-angle\":\"<angle-percentage>{1,2}\",\"color-stop-length\":\"<length-percentage>{1,2}\",\"color-stop-list\":\"[<linear-color-stop> [, <linear-color-hint>]?]# , <linear-color-stop>\",combinator:\"'>'|'+'|'~'|['||']\",\"common-lig-values\":\"[common-ligatures|no-common-ligatures]\",\"compat-auto\":\"searchfield|textarea|push-button|slider-horizontal|checkbox|radio|square-button|menulist|listbox|meter|progress-bar|button\",\"composite-style\":\"clear|copy|source-over|source-in|source-out|source-atop|destination-over|destination-in|destination-out|destination-atop|xor\",\"compositing-operator\":\"add|subtract|intersect|exclude\",\"compound-selector\":\"[<type-selector>? <subclass-selector>* [<pseudo-element-selector> <pseudo-class-selector>*]*]!\",\"compound-selector-list\":\"<compound-selector>#\",\"complex-selector\":\"<compound-selector> [<combinator>? <compound-selector>]*\",\"complex-selector-list\":\"<complex-selector>#\",\"conic-gradient()\":\"conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )\",\"contextual-alt-values\":\"[contextual|no-contextual]\",\"content-distribution\":\"space-between|space-around|space-evenly|stretch\",\"content-list\":\"[<string>|contents|<image>|<counter>|<quote>|<target>|<leader()>|<attr()>]+\",\"content-position\":\"center|start|end|flex-start|flex-end\",\"content-replacement\":\"<image>\",\"contrast()\":\"contrast( [<number-percentage>] )\",\"cos()\":\"cos( <calc-sum> )\",counter:\"<counter()>|<counters()>\",\"counter()\":\"counter( <counter-name> , <counter-style>? )\",\"counter-name\":\"<custom-ident>\",\"counter-style\":\"<counter-style-name>|symbols( )\",\"counter-style-name\":\"<custom-ident>\",\"counters()\":\"counters( <counter-name> , <string> , <counter-style>? )\",\"cross-fade()\":\"cross-fade( <cf-mixing-image> , <cf-final-image>? )\",\"cubic-bezier-timing-function\":\"ease|ease-in|ease-out|ease-in-out|cubic-bezier( <number [0,1]> , <number> , <number [0,1]> , <number> )\",\"deprecated-system-color\":\"ActiveBorder|ActiveCaption|AppWorkspace|Background|ButtonFace|ButtonHighlight|ButtonShadow|ButtonText|CaptionText|GrayText|Highlight|HighlightText|InactiveBorder|InactiveCaption|InactiveCaptionText|InfoBackground|InfoText|Menu|MenuText|Scrollbar|ThreeDDarkShadow|ThreeDFace|ThreeDHighlight|ThreeDLightShadow|ThreeDShadow|Window|WindowFrame|WindowText\",\"discretionary-lig-values\":\"[discretionary-ligatures|no-discretionary-ligatures]\",\"display-box\":\"contents|none\",\"display-inside\":\"flow|flow-root|table|flex|grid|ruby\",\"display-internal\":\"table-row-group|table-header-group|table-footer-group|table-row|table-cell|table-column-group|table-column|table-caption|ruby-base|ruby-text|ruby-base-container|ruby-text-container\",\"display-legacy\":\"inline-block|inline-list-item|inline-table|inline-flex|inline-grid\",\"display-listitem\":\"<display-outside>?&&[flow|flow-root]?&&list-item\",\"display-outside\":\"block|inline|run-in\",\"drop-shadow()\":\"drop-shadow( <length>{2,3} <color>? )\",\"east-asian-variant-values\":\"[jis78|jis83|jis90|jis04|simplified|traditional]\",\"east-asian-width-values\":\"[full-width|proportional-width]\",\"element()\":\"element( <custom-ident> , [first|start|last|first-except]? )|element( <id-selector> )\",\"ellipse()\":\"ellipse( [<shape-radius>{2}]? [at <position>]? )\",\"ending-shape\":\"circle|ellipse\",\"env()\":\"env( <custom-ident> , <declaration-value>? )\",\"exp()\":\"exp( <calc-sum> )\",\"explicit-track-list\":\"[<line-names>? <track-size>]+ <line-names>?\",\"family-name\":\"<string>|<custom-ident>+\",\"feature-tag-value\":\"<string> [<integer>|on|off]?\",\"feature-type\":\"@stylistic|@historical-forms|@styleset|@character-variant|@swash|@ornaments|@annotation\",\"feature-value-block\":\"<feature-type> '{' <feature-value-declaration-list> '}'\",\"feature-value-block-list\":\"<feature-value-block>+\",\"feature-value-declaration\":\"<custom-ident> : <integer>+ ;\",\"feature-value-declaration-list\":\"<feature-value-declaration>\",\"feature-value-name\":\"<custom-ident>\",\"fill-rule\":\"nonzero|evenodd\",\"filter-function\":\"<blur()>|<brightness()>|<contrast()>|<drop-shadow()>|<grayscale()>|<hue-rotate()>|<invert()>|<opacity()>|<saturate()>|<sepia()>\",\"filter-function-list\":\"[<filter-function>|<url>]+\",\"final-bg-layer\":\"<'background-color'>||<bg-image>||<bg-position> [/ <bg-size>]?||<repeat-style>||<attachment>||<box>||<box>\",\"fixed-breadth\":\"<length-percentage>\",\"fixed-repeat\":\"repeat( [<integer [1,\\u221E]>] , [<line-names>? <fixed-size>]+ <line-names>? )\",\"fixed-size\":\"<fixed-breadth>|minmax( <fixed-breadth> , <track-breadth> )|minmax( <inflexible-breadth> , <fixed-breadth> )\",\"font-stretch-absolute\":\"normal|ultra-condensed|extra-condensed|condensed|semi-condensed|semi-expanded|expanded|extra-expanded|ultra-expanded|<percentage>\",\"font-variant-css21\":\"[normal|small-caps]\",\"font-weight-absolute\":\"normal|bold|<number [1,1000]>\",\"frequency-percentage\":\"<frequency>|<percentage>\",\"general-enclosed\":\"[<function-token> <any-value> )]|( <ident> <any-value> )\",\"generic-family\":\"serif|sans-serif|cursive|fantasy|monospace|-apple-system\",\"generic-name\":\"serif|sans-serif|cursive|fantasy|monospace\",\"geometry-box\":\"<shape-box>|fill-box|stroke-box|view-box\",gradient:\"<linear-gradient()>|<repeating-linear-gradient()>|<radial-gradient()>|<repeating-radial-gradient()>|<conic-gradient()>|<repeating-conic-gradient()>|<-legacy-gradient>\",\"grayscale()\":\"grayscale( <number-percentage> )\",\"grid-line\":\"auto|<custom-ident>|[<integer>&&<custom-ident>?]|[span&&[<integer>||<custom-ident>]]\",\"historical-lig-values\":\"[historical-ligatures|no-historical-ligatures]\",\"hsl()\":\"hsl( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsl( <hue> , <percentage> , <percentage> , <alpha-value>? )\",\"hsla()\":\"hsla( <hue> <percentage> <percentage> [/ <alpha-value>]? )|hsla( <hue> , <percentage> , <percentage> , <alpha-value>? )\",hue:\"<number>|<angle>\",\"hue-rotate()\":\"hue-rotate( <angle> )\",\"hwb()\":\"hwb( [<hue>|none] [<percentage>|none] [<percentage>|none] [/ [<alpha-value>|none]]? )\",\"hypot()\":\"hypot( <calc-sum># )\",image:\"<url>|<image()>|<image-set()>|<element()>|<paint()>|<cross-fade()>|<gradient>\",\"image()\":\"image( <image-tags>? [<image-src>? , <color>?]! )\",\"image-set()\":\"image-set( <image-set-option># )\",\"image-set-option\":\"[<image>|<string>] [<resolution>||type( <string> )]\",\"image-src\":\"<url>|<string>\",\"image-tags\":\"ltr|rtl\",\"inflexible-breadth\":\"<length-percentage>|min-content|max-content|auto\",\"inset()\":\"inset( <length-percentage>{1,4} [round <'border-radius'>]? )\",\"invert()\":\"invert( <number-percentage> )\",\"keyframes-name\":\"<custom-ident>|<string>\",\"keyframe-block\":\"<keyframe-selector># { <declaration-list> }\",\"keyframe-block-list\":\"<keyframe-block>+\",\"keyframe-selector\":\"from|to|<percentage>\",\"lab()\":\"lab( [<percentage>|<number>|none] [<percentage>|<number>|none] [<percentage>|<number>|none] [/ [<alpha-value>|none]]? )\",\"layer()\":\"layer( <layer-name> )\",\"layer-name\":\"<ident> ['.' <ident>]*\",\"lch()\":\"lch( [<percentage>|<number>|none] [<percentage>|<number>|none] [<hue>|none] [/ [<alpha-value>|none]]? )\",\"leader()\":\"leader( <leader-type> )\",\"leader-type\":\"dotted|solid|space|<string>\",\"length-percentage\":\"<length>|<percentage>\",\"line-names\":\"'[' <custom-ident>* ']'\",\"line-name-list\":\"[<line-names>|<name-repeat>]+\",\"line-style\":\"none|hidden|dotted|dashed|solid|double|groove|ridge|inset|outset\",\"line-width\":\"<length>|thin|medium|thick\",\"linear-color-hint\":\"<length-percentage>\",\"linear-color-stop\":\"<color> <color-stop-length>?\",\"linear-gradient()\":\"linear-gradient( [<angle>|to <side-or-corner>]? , <color-stop-list> )\",\"log()\":\"log( <calc-sum> , <calc-sum>? )\",\"mask-layer\":\"<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||<geometry-box>||[<geometry-box>|no-clip]||<compositing-operator>||<masking-mode>\",\"mask-position\":\"[<length-percentage>|left|center|right] [<length-percentage>|top|center|bottom]?\",\"mask-reference\":\"none|<image>|<mask-source>\",\"mask-source\":\"<url>\",\"masking-mode\":\"alpha|luminance|match-source\",\"matrix()\":\"matrix( <number>#{6} )\",\"matrix3d()\":\"matrix3d( <number>#{16} )\",\"max()\":\"max( <calc-sum># )\",\"media-and\":\"<media-in-parens> [and <media-in-parens>]+\",\"media-condition\":\"<media-not>|<media-and>|<media-or>|<media-in-parens>\",\"media-condition-without-or\":\"<media-not>|<media-and>|<media-in-parens>\",\"media-feature\":\"( [<mf-plain>|<mf-boolean>|<mf-range>] )\",\"media-in-parens\":\"( <media-condition> )|<media-feature>|<general-enclosed>\",\"media-not\":\"not <media-in-parens>\",\"media-or\":\"<media-in-parens> [or <media-in-parens>]+\",\"media-query\":\"<media-condition>|[not|only]? <media-type> [and <media-condition-without-or>]?\",\"media-query-list\":\"<media-query>#\",\"media-type\":\"<ident>\",\"mf-boolean\":\"<mf-name>\",\"mf-name\":\"<ident>\",\"mf-plain\":\"<mf-name> : <mf-value>\",\"mf-range\":\"<mf-name> ['<'|'>']? '='? <mf-value>|<mf-value> ['<'|'>']? '='? <mf-name>|<mf-value> '<' '='? <mf-name> '<' '='? <mf-value>|<mf-value> '>' '='? <mf-name> '>' '='? <mf-value>\",\"mf-value\":\"<number>|<dimension>|<ident>|<ratio>\",\"min()\":\"min( <calc-sum># )\",\"minmax()\":\"minmax( [<length-percentage>|min-content|max-content|auto] , [<length-percentage>|<flex>|min-content|max-content|auto] )\",\"mod()\":\"mod( <calc-sum> , <calc-sum> )\",\"name-repeat\":\"repeat( [<integer [1,\\u221E]>|auto-fill] , <line-names>+ )\",\"named-color\":\"transparent|aliceblue|antiquewhite|aqua|aquamarine|azure|beige|bisque|black|blanchedalmond|blue|blueviolet|brown|burlywood|cadetblue|chartreuse|chocolate|coral|cornflowerblue|cornsilk|crimson|cyan|darkblue|darkcyan|darkgoldenrod|darkgray|darkgreen|darkgrey|darkkhaki|darkmagenta|darkolivegreen|darkorange|darkorchid|darkred|darksalmon|darkseagreen|darkslateblue|darkslategray|darkslategrey|darkturquoise|darkviolet|deeppink|deepskyblue|dimgray|dimgrey|dodgerblue|firebrick|floralwhite|forestgreen|fuchsia|gainsboro|ghostwhite|gold|goldenrod|gray|green|greenyellow|grey|honeydew|hotpink|indianred|indigo|ivory|khaki|lavender|lavenderblush|lawngreen|lemonchiffon|lightblue|lightcoral|lightcyan|lightgoldenrodyellow|lightgray|lightgreen|lightgrey|lightpink|lightsalmon|lightseagreen|lightskyblue|lightslategray|lightslategrey|lightsteelblue|lightyellow|lime|limegreen|linen|magenta|maroon|mediumaquamarine|mediumblue|mediumorchid|mediumpurple|mediumseagreen|mediumslateblue|mediumspringgreen|mediumturquoise|mediumvioletred|midnightblue|mintcream|mistyrose|moccasin|navajowhite|navy|oldlace|olive|olivedrab|orange|orangered|orchid|palegoldenrod|palegreen|paleturquoise|palevioletred|papayawhip|peachpuff|peru|pink|plum|powderblue|purple|rebeccapurple|red|rosybrown|royalblue|saddlebrown|salmon|sandybrown|seagreen|seashell|sienna|silver|skyblue|slateblue|slategray|slategrey|snow|springgreen|steelblue|tan|teal|thistle|tomato|turquoise|violet|wheat|white|whitesmoke|yellow|yellowgreen|<-non-standard-color>\",\"namespace-prefix\":\"<ident>\",\"ns-prefix\":\"[<ident-token>|'*']? '|'\",\"number-percentage\":\"<number>|<percentage>\",\"numeric-figure-values\":\"[lining-nums|oldstyle-nums]\",\"numeric-fraction-values\":\"[diagonal-fractions|stacked-fractions]\",\"numeric-spacing-values\":\"[proportional-nums|tabular-nums]\",nth:\"<an-plus-b>|even|odd\",\"opacity()\":\"opacity( [<number-percentage>] )\",\"overflow-position\":\"unsafe|safe\",\"outline-radius\":\"<length>|<percentage>\",\"page-body\":\"<declaration>? [; <page-body>]?|<page-margin-box> <page-body>\",\"page-margin-box\":\"<page-margin-box-type> '{' <declaration-list> '}'\",\"page-margin-box-type\":\"@top-left-corner|@top-left|@top-center|@top-right|@top-right-corner|@bottom-left-corner|@bottom-left|@bottom-center|@bottom-right|@bottom-right-corner|@left-top|@left-middle|@left-bottom|@right-top|@right-middle|@right-bottom\",\"page-selector-list\":\"[<page-selector>#]?\",\"page-selector\":\"<pseudo-page>+|<ident> <pseudo-page>*\",\"page-size\":\"A5|A4|A3|B5|B4|JIS-B5|JIS-B4|letter|legal|ledger\",\"path()\":\"path( [<fill-rule> ,]? <string> )\",\"paint()\":\"paint( <ident> , <declaration-value>? )\",\"perspective()\":\"perspective( [<length [0,\\u221E]>|none] )\",\"polygon()\":\"polygon( <fill-rule>? , [<length-percentage> <length-percentage>]# )\",position:\"[[left|center|right]||[top|center|bottom]|[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]?|[[left|right] <length-percentage>]&&[[top|bottom] <length-percentage>]]\",\"pow()\":\"pow( <calc-sum> , <calc-sum> )\",\"pseudo-class-selector\":\"':' <ident-token>|':' <function-token> <any-value> ')'\",\"pseudo-element-selector\":\"':' <pseudo-class-selector>\",\"pseudo-page\":\": [left|right|first|blank]\",quote:\"open-quote|close-quote|no-open-quote|no-close-quote\",\"radial-gradient()\":\"radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )\",ratio:\"<number [0,\\u221E]> [/ <number [0,\\u221E]>]?\",\"relative-selector\":\"<combinator>? <complex-selector>\",\"relative-selector-list\":\"<relative-selector>#\",\"relative-size\":\"larger|smaller\",\"rem()\":\"rem( <calc-sum> , <calc-sum> )\",\"repeat-style\":\"repeat-x|repeat-y|[repeat|space|round|no-repeat]{1,2}\",\"repeating-conic-gradient()\":\"repeating-conic-gradient( [from <angle>]? [at <position>]? , <angular-color-stop-list> )\",\"repeating-linear-gradient()\":\"repeating-linear-gradient( [<angle>|to <side-or-corner>]? , <color-stop-list> )\",\"repeating-radial-gradient()\":\"repeating-radial-gradient( [<ending-shape>||<size>]? [at <position>]? , <color-stop-list> )\",\"reversed-counter-name\":\"reversed( <counter-name> )\",\"rgb()\":\"rgb( <percentage>{3} [/ <alpha-value>]? )|rgb( <number>{3} [/ <alpha-value>]? )|rgb( <percentage>#{3} , <alpha-value>? )|rgb( <number>#{3} , <alpha-value>? )\",\"rgba()\":\"rgba( <percentage>{3} [/ <alpha-value>]? )|rgba( <number>{3} [/ <alpha-value>]? )|rgba( <percentage>#{3} , <alpha-value>? )|rgba( <number>#{3} , <alpha-value>? )\",\"rotate()\":\"rotate( [<angle>|<zero>] )\",\"rotate3d()\":\"rotate3d( <number> , <number> , <number> , [<angle>|<zero>] )\",\"rotateX()\":\"rotateX( [<angle>|<zero>] )\",\"rotateY()\":\"rotateY( [<angle>|<zero>] )\",\"rotateZ()\":\"rotateZ( [<angle>|<zero>] )\",\"round()\":\"round( <rounding-strategy>? , <calc-sum> , <calc-sum> )\",\"rounding-strategy\":\"nearest|up|down|to-zero\",\"saturate()\":\"saturate( <number-percentage> )\",\"scale()\":\"scale( [<number>|<percentage>]#{1,2} )\",\"scale3d()\":\"scale3d( [<number>|<percentage>]#{3} )\",\"scaleX()\":\"scaleX( [<number>|<percentage>] )\",\"scaleY()\":\"scaleY( [<number>|<percentage>] )\",\"scaleZ()\":\"scaleZ( [<number>|<percentage>] )\",scroller:\"root|nearest\",\"self-position\":\"center|start|end|self-start|self-end|flex-start|flex-end\",\"shape-radius\":\"<length-percentage>|closest-side|farthest-side\",\"sign()\":\"sign( <calc-sum> )\",\"skew()\":\"skew( [<angle>|<zero>] , [<angle>|<zero>]? )\",\"skewX()\":\"skewX( [<angle>|<zero>] )\",\"skewY()\":\"skewY( [<angle>|<zero>] )\",\"sepia()\":\"sepia( <number-percentage> )\",shadow:\"inset?&&<length>{2,4}&&<color>?\",\"shadow-t\":\"[<length>{2,3}&&<color>?]\",shape:\"rect( <top> , <right> , <bottom> , <left> )|rect( <top> <right> <bottom> <left> )\",\"shape-box\":\"<box>|margin-box\",\"side-or-corner\":\"[left|right]||[top|bottom]\",\"sin()\":\"sin( <calc-sum> )\",\"single-animation\":\"<time>||<easing-function>||<time>||<single-animation-iteration-count>||<single-animation-direction>||<single-animation-fill-mode>||<single-animation-play-state>||[none|<keyframes-name>]\",\"single-animation-direction\":\"normal|reverse|alternate|alternate-reverse\",\"single-animation-fill-mode\":\"none|forwards|backwards|both\",\"single-animation-iteration-count\":\"infinite|<number>\",\"single-animation-play-state\":\"running|paused\",\"single-animation-timeline\":\"auto|none|<timeline-name>|scroll( <axis>? <scroller>? )\",\"single-transition\":\"[none|<single-transition-property>]||<time>||<easing-function>||<time>\",\"single-transition-property\":\"all|<custom-ident>\",size:\"closest-side|farthest-side|closest-corner|farthest-corner|<length>|<length-percentage>{2}\",\"sqrt()\":\"sqrt( <calc-sum> )\",\"step-position\":\"jump-start|jump-end|jump-none|jump-both|start|end\",\"step-timing-function\":\"step-start|step-end|steps( <integer> [, <step-position>]? )\",\"subclass-selector\":\"<id-selector>|<class-selector>|<attribute-selector>|<pseudo-class-selector>\",\"supports-condition\":\"not <supports-in-parens>|<supports-in-parens> [and <supports-in-parens>]*|<supports-in-parens> [or <supports-in-parens>]*\",\"supports-in-parens\":\"( <supports-condition> )|<supports-feature>|<general-enclosed>\",\"supports-feature\":\"<supports-decl>|<supports-selector-fn>\",\"supports-decl\":\"( <declaration> )\",\"supports-selector-fn\":\"selector( <complex-selector> )\",symbol:\"<string>|<image>|<custom-ident>\",\"tan()\":\"tan( <calc-sum> )\",target:\"<target-counter()>|<target-counters()>|<target-text()>\",\"target-counter()\":\"target-counter( [<string>|<url>] , <custom-ident> , <counter-style>? )\",\"target-counters()\":\"target-counters( [<string>|<url>] , <custom-ident> , <string> , <counter-style>? )\",\"target-text()\":\"target-text( [<string>|<url>] , [content|before|after|first-letter]? )\",\"time-percentage\":\"<time>|<percentage>\",\"timeline-name\":\"<custom-ident>|<string>\",\"easing-function\":\"linear|<cubic-bezier-timing-function>|<step-timing-function>\",\"track-breadth\":\"<length-percentage>|<flex>|min-content|max-content|auto\",\"track-list\":\"[<line-names>? [<track-size>|<track-repeat>]]+ <line-names>?\",\"track-repeat\":\"repeat( [<integer [1,\\u221E]>] , [<line-names>? <track-size>]+ <line-names>? )\",\"track-size\":\"<track-breadth>|minmax( <inflexible-breadth> , <track-breadth> )|fit-content( <length-percentage> )\",\"transform-function\":\"<matrix()>|<translate()>|<translateX()>|<translateY()>|<scale()>|<scaleX()>|<scaleY()>|<rotate()>|<skew()>|<skewX()>|<skewY()>|<matrix3d()>|<translate3d()>|<translateZ()>|<scale3d()>|<scaleZ()>|<rotate3d()>|<rotateX()>|<rotateY()>|<rotateZ()>|<perspective()>\",\"transform-list\":\"<transform-function>+\",\"translate()\":\"translate( <length-percentage> , <length-percentage>? )\",\"translate3d()\":\"translate3d( <length-percentage> , <length-percentage> , <length> )\",\"translateX()\":\"translateX( <length-percentage> )\",\"translateY()\":\"translateY( <length-percentage> )\",\"translateZ()\":\"translateZ( <length> )\",\"type-or-unit\":\"string|color|url|integer|number|length|angle|time|frequency|cap|ch|em|ex|ic|lh|rlh|rem|vb|vi|vw|vh|vmin|vmax|mm|Q|cm|in|pt|pc|px|deg|grad|rad|turn|ms|s|Hz|kHz|%\",\"type-selector\":\"<wq-name>|<ns-prefix>? '*'\",\"var()\":\"var( <custom-property-name> , <declaration-value>? )\",\"viewport-length\":\"auto|<length-percentage>\",\"visual-box\":\"content-box|padding-box|border-box\",\"wq-name\":\"<ns-prefix>? <ident-token>\",\"-legacy-gradient\":\"<-webkit-gradient()>|<-legacy-linear-gradient>|<-legacy-repeating-linear-gradient>|<-legacy-radial-gradient>|<-legacy-repeating-radial-gradient>\",\"-legacy-linear-gradient\":\"-moz-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-linear-gradient( <-legacy-linear-gradient-arguments> )\",\"-legacy-repeating-linear-gradient\":\"-moz-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-webkit-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )|-o-repeating-linear-gradient( <-legacy-linear-gradient-arguments> )\",\"-legacy-linear-gradient-arguments\":\"[<angle>|<side-or-corner>]? , <color-stop-list>\",\"-legacy-radial-gradient\":\"-moz-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-radial-gradient( <-legacy-radial-gradient-arguments> )\",\"-legacy-repeating-radial-gradient\":\"-moz-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-webkit-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )|-o-repeating-radial-gradient( <-legacy-radial-gradient-arguments> )\",\"-legacy-radial-gradient-arguments\":\"[<position> ,]? [[[<-legacy-radial-gradient-shape>||<-legacy-radial-gradient-size>]|[<length>|<percentage>]{2}] ,]? <color-stop-list>\",\"-legacy-radial-gradient-size\":\"closest-side|closest-corner|farthest-side|farthest-corner|contain|cover\",\"-legacy-radial-gradient-shape\":\"circle|ellipse\",\"-non-standard-font\":\"-apple-system-body|-apple-system-headline|-apple-system-subheadline|-apple-system-caption1|-apple-system-caption2|-apple-system-footnote|-apple-system-short-body|-apple-system-short-headline|-apple-system-short-subheadline|-apple-system-short-caption1|-apple-system-short-footnote|-apple-system-tall-body\",\"-non-standard-color\":\"-moz-ButtonDefault|-moz-ButtonHoverFace|-moz-ButtonHoverText|-moz-CellHighlight|-moz-CellHighlightText|-moz-Combobox|-moz-ComboboxText|-moz-Dialog|-moz-DialogText|-moz-dragtargetzone|-moz-EvenTreeRow|-moz-Field|-moz-FieldText|-moz-html-CellHighlight|-moz-html-CellHighlightText|-moz-mac-accentdarkestshadow|-moz-mac-accentdarkshadow|-moz-mac-accentface|-moz-mac-accentlightesthighlight|-moz-mac-accentlightshadow|-moz-mac-accentregularhighlight|-moz-mac-accentregularshadow|-moz-mac-chrome-active|-moz-mac-chrome-inactive|-moz-mac-focusring|-moz-mac-menuselect|-moz-mac-menushadow|-moz-mac-menutextselect|-moz-MenuHover|-moz-MenuHoverText|-moz-MenuBarText|-moz-MenuBarHoverText|-moz-nativehyperlinktext|-moz-OddTreeRow|-moz-win-communicationstext|-moz-win-mediatext|-moz-activehyperlinktext|-moz-default-background-color|-moz-default-color|-moz-hyperlinktext|-moz-visitedhyperlinktext|-webkit-activelink|-webkit-focus-ring-color|-webkit-link|-webkit-text\",\"-non-standard-image-rendering\":\"optimize-contrast|-moz-crisp-edges|-o-crisp-edges|-webkit-optimize-contrast\",\"-non-standard-overflow\":\"-moz-scrollbars-none|-moz-scrollbars-horizontal|-moz-scrollbars-vertical|-moz-hidden-unscrollable\",\"-non-standard-width\":\"fill-available|min-intrinsic|intrinsic|-moz-available|-moz-fit-content|-moz-min-content|-moz-max-content|-webkit-min-content|-webkit-max-content\",\"-webkit-gradient()\":\"-webkit-gradient( <-webkit-gradient-type> , <-webkit-gradient-point> [, <-webkit-gradient-point>|, <-webkit-gradient-radius> , <-webkit-gradient-point>] [, <-webkit-gradient-radius>]? [, <-webkit-gradient-color-stop>]* )\",\"-webkit-gradient-color-stop\":\"from( <color> )|color-stop( [<number-zero-one>|<percentage>] , <color> )|to( <color> )\",\"-webkit-gradient-point\":\"[left|center|right|<length-percentage>] [top|center|bottom|<length-percentage>]\",\"-webkit-gradient-radius\":\"<length>|<percentage>\",\"-webkit-gradient-type\":\"linear|radial\",\"-webkit-mask-box-repeat\":\"repeat|stretch|round\",\"-webkit-mask-clip-style\":\"border|border-box|padding|padding-box|content|content-box|text\",\"-ms-filter-function-list\":\"<-ms-filter-function>+\",\"-ms-filter-function\":\"<-ms-filter-function-progid>|<-ms-filter-function-legacy>\",\"-ms-filter-function-progid\":\"'progid:' [<ident-token> '.']* [<ident-token>|<function-token> <any-value>? )]\",\"-ms-filter-function-legacy\":\"<ident-token>|<function-token> <any-value>? )\",\"-ms-filter\":\"<string>\",age:\"child|young|old\",\"attr-name\":\"<wq-name>\",\"attr-fallback\":\"<any-value>\",\"bg-clip\":\"<box>|border|text\",bottom:\"<length>|auto\",\"generic-voice\":\"[<age>? <gender> <integer>?]\",gender:\"male|female|neutral\",left:\"<length>|auto\",\"mask-image\":\"<mask-reference>#\",paint:\"none|<color>|<url> [none|<color>]?|context-fill|context-stroke\",right:\"<length>|auto\",\"single-animation-composition\":\"replace|add|accumulate\",\"svg-length\":\"<percentage>|<length>|<number>\",\"svg-writing-mode\":\"lr-tb|rl-tb|tb-rl|lr|rl|tb\",top:\"<length>|auto\",x:\"<number>\",y:\"<number>\",declaration:\"<ident-token> : <declaration-value>? ['!' important]?\",\"declaration-list\":\"[<declaration>? ';']* <declaration>?\",url:\"url( <string> <url-modifier>* )|<url-token>\",\"url-modifier\":\"<ident>|<function-token> <any-value> )\",\"number-zero-one\":\"<number [0,1]>\",\"number-one-or-greater\":\"<number [1,\\u221E]>\",\"-non-standard-display\":\"-ms-inline-flexbox|-ms-grid|-ms-inline-grid|-webkit-flex|-webkit-inline-flex|-webkit-box|-webkit-inline-box|-moz-inline-stack|-moz-box|-moz-inline-box\"},properties:{\"--*\":\"<declaration-value>\",\"-ms-accelerator\":\"false|true\",\"-ms-block-progression\":\"tb|rl|bt|lr\",\"-ms-content-zoom-chaining\":\"none|chained\",\"-ms-content-zooming\":\"none|zoom\",\"-ms-content-zoom-limit\":\"<'-ms-content-zoom-limit-min'> <'-ms-content-zoom-limit-max'>\",\"-ms-content-zoom-limit-max\":\"<percentage>\",\"-ms-content-zoom-limit-min\":\"<percentage>\",\"-ms-content-zoom-snap\":\"<'-ms-content-zoom-snap-type'>||<'-ms-content-zoom-snap-points'>\",\"-ms-content-zoom-snap-points\":\"snapInterval( <percentage> , <percentage> )|snapList( <percentage># )\",\"-ms-content-zoom-snap-type\":\"none|proximity|mandatory\",\"-ms-filter\":\"<string>\",\"-ms-flow-from\":\"[none|<custom-ident>]#\",\"-ms-flow-into\":\"[none|<custom-ident>]#\",\"-ms-grid-columns\":\"none|<track-list>|<auto-track-list>\",\"-ms-grid-rows\":\"none|<track-list>|<auto-track-list>\",\"-ms-high-contrast-adjust\":\"auto|none\",\"-ms-hyphenate-limit-chars\":\"auto|<integer>{1,3}\",\"-ms-hyphenate-limit-lines\":\"no-limit|<integer>\",\"-ms-hyphenate-limit-zone\":\"<percentage>|<length>\",\"-ms-ime-align\":\"auto|after\",\"-ms-overflow-style\":\"auto|none|scrollbar|-ms-autohiding-scrollbar\",\"-ms-scrollbar-3dlight-color\":\"<color>\",\"-ms-scrollbar-arrow-color\":\"<color>\",\"-ms-scrollbar-base-color\":\"<color>\",\"-ms-scrollbar-darkshadow-color\":\"<color>\",\"-ms-scrollbar-face-color\":\"<color>\",\"-ms-scrollbar-highlight-color\":\"<color>\",\"-ms-scrollbar-shadow-color\":\"<color>\",\"-ms-scrollbar-track-color\":\"<color>\",\"-ms-scroll-chaining\":\"chained|none\",\"-ms-scroll-limit\":\"<'-ms-scroll-limit-x-min'> <'-ms-scroll-limit-y-min'> <'-ms-scroll-limit-x-max'> <'-ms-scroll-limit-y-max'>\",\"-ms-scroll-limit-x-max\":\"auto|<length>\",\"-ms-scroll-limit-x-min\":\"<length>\",\"-ms-scroll-limit-y-max\":\"auto|<length>\",\"-ms-scroll-limit-y-min\":\"<length>\",\"-ms-scroll-rails\":\"none|railed\",\"-ms-scroll-snap-points-x\":\"snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )\",\"-ms-scroll-snap-points-y\":\"snapInterval( <length-percentage> , <length-percentage> )|snapList( <length-percentage># )\",\"-ms-scroll-snap-type\":\"none|proximity|mandatory\",\"-ms-scroll-snap-x\":\"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-x'>\",\"-ms-scroll-snap-y\":\"<'-ms-scroll-snap-type'> <'-ms-scroll-snap-points-y'>\",\"-ms-scroll-translation\":\"none|vertical-to-horizontal\",\"-ms-text-autospace\":\"none|ideograph-alpha|ideograph-numeric|ideograph-parenthesis|ideograph-space\",\"-ms-touch-select\":\"grippers|none\",\"-ms-user-select\":\"none|element|text\",\"-ms-wrap-flow\":\"auto|both|start|end|maximum|clear\",\"-ms-wrap-margin\":\"<length>\",\"-ms-wrap-through\":\"wrap|none\",\"-moz-appearance\":\"none|button|button-arrow-down|button-arrow-next|button-arrow-previous|button-arrow-up|button-bevel|button-focus|caret|checkbox|checkbox-container|checkbox-label|checkmenuitem|dualbutton|groupbox|listbox|listitem|menuarrow|menubar|menucheckbox|menuimage|menuitem|menuitemtext|menulist|menulist-button|menulist-text|menulist-textfield|menupopup|menuradio|menuseparator|meterbar|meterchunk|progressbar|progressbar-vertical|progresschunk|progresschunk-vertical|radio|radio-container|radio-label|radiomenuitem|range|range-thumb|resizer|resizerpanel|scale-horizontal|scalethumbend|scalethumb-horizontal|scalethumbstart|scalethumbtick|scalethumb-vertical|scale-vertical|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|separator|sheet|spinner|spinner-downbutton|spinner-textfield|spinner-upbutton|splitter|statusbar|statusbarpanel|tab|tabpanel|tabpanels|tab-scroll-arrow-back|tab-scroll-arrow-forward|textfield|textfield-multiline|toolbar|toolbarbutton|toolbarbutton-dropdown|toolbargripper|toolbox|tooltip|treeheader|treeheadercell|treeheadersortarrow|treeitem|treeline|treetwisty|treetwistyopen|treeview|-moz-mac-unified-toolbar|-moz-win-borderless-glass|-moz-win-browsertabbar-toolbox|-moz-win-communicationstext|-moz-win-communications-toolbox|-moz-win-exclude-glass|-moz-win-glass|-moz-win-mediatext|-moz-win-media-toolbox|-moz-window-button-box|-moz-window-button-box-maximized|-moz-window-button-close|-moz-window-button-maximize|-moz-window-button-minimize|-moz-window-button-restore|-moz-window-frame-bottom|-moz-window-frame-left|-moz-window-frame-right|-moz-window-titlebar|-moz-window-titlebar-maximized\",\"-moz-binding\":\"<url>|none\",\"-moz-border-bottom-colors\":\"<color>+|none\",\"-moz-border-left-colors\":\"<color>+|none\",\"-moz-border-right-colors\":\"<color>+|none\",\"-moz-border-top-colors\":\"<color>+|none\",\"-moz-context-properties\":\"none|[fill|fill-opacity|stroke|stroke-opacity]#\",\"-moz-float-edge\":\"border-box|content-box|margin-box|padding-box\",\"-moz-force-broken-image-icon\":\"0|1\",\"-moz-image-region\":\"<shape>|auto\",\"-moz-orient\":\"inline|block|horizontal|vertical\",\"-moz-outline-radius\":\"<outline-radius>{1,4} [/ <outline-radius>{1,4}]?\",\"-moz-outline-radius-bottomleft\":\"<outline-radius>\",\"-moz-outline-radius-bottomright\":\"<outline-radius>\",\"-moz-outline-radius-topleft\":\"<outline-radius>\",\"-moz-outline-radius-topright\":\"<outline-radius>\",\"-moz-stack-sizing\":\"ignore|stretch-to-fit\",\"-moz-text-blink\":\"none|blink\",\"-moz-user-focus\":\"ignore|normal|select-after|select-before|select-menu|select-same|select-all|none\",\"-moz-user-input\":\"auto|none|enabled|disabled\",\"-moz-user-modify\":\"read-only|read-write|write-only\",\"-moz-window-dragging\":\"drag|no-drag\",\"-moz-window-shadow\":\"default|menu|tooltip|sheet|none\",\"-webkit-appearance\":\"none|button|button-bevel|caps-lock-indicator|caret|checkbox|default-button|inner-spin-button|listbox|listitem|media-controls-background|media-controls-fullscreen-background|media-current-time-display|media-enter-fullscreen-button|media-exit-fullscreen-button|media-fullscreen-button|media-mute-button|media-overlay-play-button|media-play-button|media-seek-back-button|media-seek-forward-button|media-slider|media-sliderthumb|media-time-remaining-display|media-toggle-closed-captions-button|media-volume-slider|media-volume-slider-container|media-volume-sliderthumb|menulist|menulist-button|menulist-text|menulist-textfield|meter|progress-bar|progress-bar-value|push-button|radio|scrollbarbutton-down|scrollbarbutton-left|scrollbarbutton-right|scrollbarbutton-up|scrollbargripper-horizontal|scrollbargripper-vertical|scrollbarthumb-horizontal|scrollbarthumb-vertical|scrollbartrack-horizontal|scrollbartrack-vertical|searchfield|searchfield-cancel-button|searchfield-decoration|searchfield-results-button|searchfield-results-decoration|slider-horizontal|slider-vertical|sliderthumb-horizontal|sliderthumb-vertical|square-button|textarea|textfield|-apple-pay-button\",\"-webkit-border-before\":\"<'border-width'>||<'border-style'>||<color>\",\"-webkit-border-before-color\":\"<color>\",\"-webkit-border-before-style\":\"<'border-style'>\",\"-webkit-border-before-width\":\"<'border-width'>\",\"-webkit-box-reflect\":\"[above|below|right|left]? <length>? <image>?\",\"-webkit-line-clamp\":\"none|<integer>\",\"-webkit-mask\":\"[<mask-reference>||<position> [/ <bg-size>]?||<repeat-style>||[<box>|border|padding|content|text]||[<box>|border|padding|content]]#\",\"-webkit-mask-attachment\":\"<attachment>#\",\"-webkit-mask-clip\":\"[<box>|border|padding|content|text]#\",\"-webkit-mask-composite\":\"<composite-style>#\",\"-webkit-mask-image\":\"<mask-reference>#\",\"-webkit-mask-origin\":\"[<box>|border|padding|content]#\",\"-webkit-mask-position\":\"<position>#\",\"-webkit-mask-position-x\":\"[<length-percentage>|left|center|right]#\",\"-webkit-mask-position-y\":\"[<length-percentage>|top|center|bottom]#\",\"-webkit-mask-repeat\":\"<repeat-style>#\",\"-webkit-mask-repeat-x\":\"repeat|no-repeat|space|round\",\"-webkit-mask-repeat-y\":\"repeat|no-repeat|space|round\",\"-webkit-mask-size\":\"<bg-size>#\",\"-webkit-overflow-scrolling\":\"auto|touch\",\"-webkit-tap-highlight-color\":\"<color>\",\"-webkit-text-fill-color\":\"<color>\",\"-webkit-text-stroke\":\"<length>||<color>\",\"-webkit-text-stroke-color\":\"<color>\",\"-webkit-text-stroke-width\":\"<length>\",\"-webkit-touch-callout\":\"default|none\",\"-webkit-user-modify\":\"read-only|read-write|read-write-plaintext-only\",\"accent-color\":\"auto|<color>\",\"align-content\":\"normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>\",\"align-items\":\"normal|stretch|<baseline-position>|[<overflow-position>? <self-position>]\",\"align-self\":\"auto|normal|stretch|<baseline-position>|<overflow-position>? <self-position>\",\"align-tracks\":\"[normal|<baseline-position>|<content-distribution>|<overflow-position>? <content-position>]#\",all:\"initial|inherit|unset|revert|revert-layer\",animation:\"<single-animation>#\",\"animation-composition\":\"<single-animation-composition>#\",\"animation-delay\":\"<time>#\",\"animation-direction\":\"<single-animation-direction>#\",\"animation-duration\":\"<time>#\",\"animation-fill-mode\":\"<single-animation-fill-mode>#\",\"animation-iteration-count\":\"<single-animation-iteration-count>#\",\"animation-name\":\"[none|<keyframes-name>]#\",\"animation-play-state\":\"<single-animation-play-state>#\",\"animation-timing-function\":\"<easing-function>#\",\"animation-timeline\":\"<single-animation-timeline>#\",appearance:\"none|auto|textfield|menulist-button|<compat-auto>\",\"aspect-ratio\":\"auto|<ratio>\",azimuth:\"<angle>|[[left-side|far-left|left|center-left|center|center-right|right|far-right|right-side]||behind]|leftwards|rightwards\",\"backdrop-filter\":\"none|<filter-function-list>\",\"backface-visibility\":\"visible|hidden\",background:\"[<bg-layer> ,]* <final-bg-layer>\",\"background-attachment\":\"<attachment>#\",\"background-blend-mode\":\"<blend-mode>#\",\"background-clip\":\"<bg-clip>#\",\"background-color\":\"<color>\",\"background-image\":\"<bg-image>#\",\"background-origin\":\"<box>#\",\"background-position\":\"<bg-position>#\",\"background-position-x\":\"[center|[[left|right|x-start|x-end]? <length-percentage>?]!]#\",\"background-position-y\":\"[center|[[top|bottom|y-start|y-end]? <length-percentage>?]!]#\",\"background-repeat\":\"<repeat-style>#\",\"background-size\":\"<bg-size>#\",\"block-overflow\":\"clip|ellipsis|<string>\",\"block-size\":\"<'width'>\",border:\"<line-width>||<line-style>||<color>\",\"border-block\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-block-color\":\"<'border-top-color'>{1,2}\",\"border-block-style\":\"<'border-top-style'>\",\"border-block-width\":\"<'border-top-width'>\",\"border-block-end\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-block-end-color\":\"<'border-top-color'>\",\"border-block-end-style\":\"<'border-top-style'>\",\"border-block-end-width\":\"<'border-top-width'>\",\"border-block-start\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-block-start-color\":\"<'border-top-color'>\",\"border-block-start-style\":\"<'border-top-style'>\",\"border-block-start-width\":\"<'border-top-width'>\",\"border-bottom\":\"<line-width>||<line-style>||<color>\",\"border-bottom-color\":\"<'border-top-color'>\",\"border-bottom-left-radius\":\"<length-percentage>{1,2}\",\"border-bottom-right-radius\":\"<length-percentage>{1,2}\",\"border-bottom-style\":\"<line-style>\",\"border-bottom-width\":\"<line-width>\",\"border-collapse\":\"collapse|separate\",\"border-color\":\"<color>{1,4}\",\"border-end-end-radius\":\"<length-percentage>{1,2}\",\"border-end-start-radius\":\"<length-percentage>{1,2}\",\"border-image\":\"<'border-image-source'>||<'border-image-slice'> [/ <'border-image-width'>|/ <'border-image-width'>? / <'border-image-outset'>]?||<'border-image-repeat'>\",\"border-image-outset\":\"[<length>|<number>]{1,4}\",\"border-image-repeat\":\"[stretch|repeat|round|space]{1,2}\",\"border-image-slice\":\"<number-percentage>{1,4}&&fill?\",\"border-image-source\":\"none|<image>\",\"border-image-width\":\"[<length-percentage>|<number>|auto]{1,4}\",\"border-inline\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-inline-end\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-inline-color\":\"<'border-top-color'>{1,2}\",\"border-inline-style\":\"<'border-top-style'>\",\"border-inline-width\":\"<'border-top-width'>\",\"border-inline-end-color\":\"<'border-top-color'>\",\"border-inline-end-style\":\"<'border-top-style'>\",\"border-inline-end-width\":\"<'border-top-width'>\",\"border-inline-start\":\"<'border-top-width'>||<'border-top-style'>||<color>\",\"border-inline-start-color\":\"<'border-top-color'>\",\"border-inline-start-style\":\"<'border-top-style'>\",\"border-inline-start-width\":\"<'border-top-width'>\",\"border-left\":\"<line-width>||<line-style>||<color>\",\"border-left-color\":\"<color>\",\"border-left-style\":\"<line-style>\",\"border-left-width\":\"<line-width>\",\"border-radius\":\"<length-percentage>{1,4} [/ <length-percentage>{1,4}]?\",\"border-right\":\"<line-width>||<line-style>||<color>\",\"border-right-color\":\"<color>\",\"border-right-style\":\"<line-style>\",\"border-right-width\":\"<line-width>\",\"border-spacing\":\"<length> <length>?\",\"border-start-end-radius\":\"<length-percentage>{1,2}\",\"border-start-start-radius\":\"<length-percentage>{1,2}\",\"border-style\":\"<line-style>{1,4}\",\"border-top\":\"<line-width>||<line-style>||<color>\",\"border-top-color\":\"<color>\",\"border-top-left-radius\":\"<length-percentage>{1,2}\",\"border-top-right-radius\":\"<length-percentage>{1,2}\",\"border-top-style\":\"<line-style>\",\"border-top-width\":\"<line-width>\",\"border-width\":\"<line-width>{1,4}\",bottom:\"<length>|<percentage>|auto\",\"box-align\":\"start|center|end|baseline|stretch\",\"box-decoration-break\":\"slice|clone\",\"box-direction\":\"normal|reverse|inherit\",\"box-flex\":\"<number>\",\"box-flex-group\":\"<integer>\",\"box-lines\":\"single|multiple\",\"box-ordinal-group\":\"<integer>\",\"box-orient\":\"horizontal|vertical|inline-axis|block-axis|inherit\",\"box-pack\":\"start|center|end|justify\",\"box-shadow\":\"none|<shadow>#\",\"box-sizing\":\"content-box|border-box\",\"break-after\":\"auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region\",\"break-before\":\"auto|avoid|always|all|avoid-page|page|left|right|recto|verso|avoid-column|column|avoid-region|region\",\"break-inside\":\"auto|avoid|avoid-page|avoid-column|avoid-region\",\"caption-side\":\"top|bottom|block-start|block-end|inline-start|inline-end\",caret:\"<'caret-color'>||<'caret-shape'>\",\"caret-color\":\"auto|<color>\",\"caret-shape\":\"auto|bar|block|underscore\",clear:\"none|left|right|both|inline-start|inline-end\",clip:\"<shape>|auto\",\"clip-path\":\"<clip-source>|[<basic-shape>||<geometry-box>]|none\",color:\"<color>\",\"print-color-adjust\":\"economy|exact\",\"color-scheme\":\"normal|[light|dark|<custom-ident>]+&&only?\",\"column-count\":\"<integer>|auto\",\"column-fill\":\"auto|balance|balance-all\",\"column-gap\":\"normal|<length-percentage>\",\"column-rule\":\"<'column-rule-width'>||<'column-rule-style'>||<'column-rule-color'>\",\"column-rule-color\":\"<color>\",\"column-rule-style\":\"<'border-style'>\",\"column-rule-width\":\"<'border-width'>\",\"column-span\":\"none|all\",\"column-width\":\"<length>|auto\",columns:\"<'column-width'>||<'column-count'>\",contain:\"none|strict|content|[[size||inline-size]||layout||style||paint]\",\"contain-intrinsic-size\":\"[none|<length>|auto <length>]{1,2}\",\"contain-intrinsic-block-size\":\"none|<length>|auto <length>\",\"contain-intrinsic-height\":\"none|<length>|auto <length>\",\"contain-intrinsic-inline-size\":\"none|<length>|auto <length>\",\"contain-intrinsic-width\":\"none|<length>|auto <length>\",content:\"normal|none|[<content-replacement>|<content-list>] [/ [<string>|<counter>]+]?\",\"content-visibility\":\"visible|auto|hidden\",\"counter-increment\":\"[<counter-name> <integer>?]+|none\",\"counter-reset\":\"[<counter-name> <integer>?|<reversed-counter-name> <integer>?]+|none\",\"counter-set\":\"[<counter-name> <integer>?]+|none\",cursor:\"[[<url> [<x> <y>]? ,]* [auto|default|none|context-menu|help|pointer|progress|wait|cell|crosshair|text|vertical-text|alias|copy|move|no-drop|not-allowed|e-resize|n-resize|ne-resize|nw-resize|s-resize|se-resize|sw-resize|w-resize|ew-resize|ns-resize|nesw-resize|nwse-resize|col-resize|row-resize|all-scroll|zoom-in|zoom-out|grab|grabbing|hand|-webkit-grab|-webkit-grabbing|-webkit-zoom-in|-webkit-zoom-out|-moz-grab|-moz-grabbing|-moz-zoom-in|-moz-zoom-out]]\",direction:\"ltr|rtl\",display:\"[<display-outside>||<display-inside>]|<display-listitem>|<display-internal>|<display-box>|<display-legacy>|<-non-standard-display>\",\"empty-cells\":\"show|hide\",filter:\"none|<filter-function-list>|<-ms-filter-function-list>\",flex:\"none|[<'flex-grow'> <'flex-shrink'>?||<'flex-basis'>]\",\"flex-basis\":\"content|<'width'>\",\"flex-direction\":\"row|row-reverse|column|column-reverse\",\"flex-flow\":\"<'flex-direction'>||<'flex-wrap'>\",\"flex-grow\":\"<number>\",\"flex-shrink\":\"<number>\",\"flex-wrap\":\"nowrap|wrap|wrap-reverse\",float:\"left|right|none|inline-start|inline-end\",font:\"[[<'font-style'>||<font-variant-css21>||<'font-weight'>||<'font-stretch'>]? <'font-size'> [/ <'line-height'>]? <'font-family'>]|caption|icon|menu|message-box|small-caption|status-bar\",\"font-family\":\"[<family-name>|<generic-family>]#\",\"font-feature-settings\":\"normal|<feature-tag-value>#\",\"font-kerning\":\"auto|normal|none\",\"font-language-override\":\"normal|<string>\",\"font-optical-sizing\":\"auto|none\",\"font-variation-settings\":\"normal|[<string> <number>]#\",\"font-size\":\"<absolute-size>|<relative-size>|<length-percentage>\",\"font-size-adjust\":\"none|[ex-height|cap-height|ch-width|ic-width|ic-height]? [from-font|<number>]\",\"font-smooth\":\"auto|never|always|<absolute-size>|<length>\",\"font-stretch\":\"<font-stretch-absolute>\",\"font-style\":\"normal|italic|oblique <angle>?\",\"font-synthesis\":\"none|[weight||style||small-caps]\",\"font-variant\":\"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>||stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )||[small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps]||<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero||<east-asian-variant-values>||<east-asian-width-values>||ruby]\",\"font-variant-alternates\":\"normal|[stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )]\",\"font-variant-caps\":\"normal|small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps\",\"font-variant-east-asian\":\"normal|[<east-asian-variant-values>||<east-asian-width-values>||ruby]\",\"font-variant-ligatures\":\"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>]\",\"font-variant-numeric\":\"normal|[<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero]\",\"font-variant-position\":\"normal|sub|super\",\"font-weight\":\"<font-weight-absolute>|bolder|lighter\",\"forced-color-adjust\":\"auto|none\",gap:\"<'row-gap'> <'column-gap'>?\",grid:\"<'grid-template'>|<'grid-template-rows'> / [auto-flow&&dense?] <'grid-auto-columns'>?|[auto-flow&&dense?] <'grid-auto-rows'>? / <'grid-template-columns'>\",\"grid-area\":\"<grid-line> [/ <grid-line>]{0,3}\",\"grid-auto-columns\":\"<track-size>+\",\"grid-auto-flow\":\"[row|column]||dense\",\"grid-auto-rows\":\"<track-size>+\",\"grid-column\":\"<grid-line> [/ <grid-line>]?\",\"grid-column-end\":\"<grid-line>\",\"grid-column-gap\":\"<length-percentage>\",\"grid-column-start\":\"<grid-line>\",\"grid-gap\":\"<'grid-row-gap'> <'grid-column-gap'>?\",\"grid-row\":\"<grid-line> [/ <grid-line>]?\",\"grid-row-end\":\"<grid-line>\",\"grid-row-gap\":\"<length-percentage>\",\"grid-row-start\":\"<grid-line>\",\"grid-template\":\"none|[<'grid-template-rows'> / <'grid-template-columns'>]|[<line-names>? <string> <track-size>? <line-names>?]+ [/ <explicit-track-list>]?\",\"grid-template-areas\":\"none|<string>+\",\"grid-template-columns\":\"none|<track-list>|<auto-track-list>|subgrid <line-name-list>?\",\"grid-template-rows\":\"none|<track-list>|<auto-track-list>|subgrid <line-name-list>?\",\"hanging-punctuation\":\"none|[first||[force-end|allow-end]||last]\",height:\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )\",\"hyphenate-character\":\"auto|<string>\",hyphens:\"none|manual|auto\",\"image-orientation\":\"from-image|<angle>|[<angle>? flip]\",\"image-rendering\":\"auto|crisp-edges|pixelated|optimizeSpeed|optimizeQuality|<-non-standard-image-rendering>\",\"image-resolution\":\"[from-image||<resolution>]&&snap?\",\"ime-mode\":\"auto|normal|active|inactive|disabled\",\"initial-letter\":\"normal|[<number> <integer>?]\",\"initial-letter-align\":\"[auto|alphabetic|hanging|ideographic]\",\"inline-size\":\"<'width'>\",\"input-security\":\"auto|none\",inset:\"<'top'>{1,4}\",\"inset-block\":\"<'top'>{1,2}\",\"inset-block-end\":\"<'top'>\",\"inset-block-start\":\"<'top'>\",\"inset-inline\":\"<'top'>{1,2}\",\"inset-inline-end\":\"<'top'>\",\"inset-inline-start\":\"<'top'>\",isolation:\"auto|isolate\",\"justify-content\":\"normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]\",\"justify-items\":\"normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]|legacy|legacy&&[left|right|center]\",\"justify-self\":\"auto|normal|stretch|<baseline-position>|<overflow-position>? [<self-position>|left|right]\",\"justify-tracks\":\"[normal|<content-distribution>|<overflow-position>? [<content-position>|left|right]]#\",left:\"<length>|<percentage>|auto\",\"letter-spacing\":\"normal|<length-percentage>\",\"line-break\":\"auto|loose|normal|strict|anywhere\",\"line-clamp\":\"none|<integer>\",\"line-height\":\"normal|<number>|<length>|<percentage>\",\"line-height-step\":\"<length>\",\"list-style\":\"<'list-style-type'>||<'list-style-position'>||<'list-style-image'>\",\"list-style-image\":\"<image>|none\",\"list-style-position\":\"inside|outside\",\"list-style-type\":\"<counter-style>|<string>|none\",margin:\"[<length>|<percentage>|auto]{1,4}\",\"margin-block\":\"<'margin-left'>{1,2}\",\"margin-block-end\":\"<'margin-left'>\",\"margin-block-start\":\"<'margin-left'>\",\"margin-bottom\":\"<length>|<percentage>|auto\",\"margin-inline\":\"<'margin-left'>{1,2}\",\"margin-inline-end\":\"<'margin-left'>\",\"margin-inline-start\":\"<'margin-left'>\",\"margin-left\":\"<length>|<percentage>|auto\",\"margin-right\":\"<length>|<percentage>|auto\",\"margin-top\":\"<length>|<percentage>|auto\",\"margin-trim\":\"none|in-flow|all\",mask:\"<mask-layer>#\",\"mask-border\":\"<'mask-border-source'>||<'mask-border-slice'> [/ <'mask-border-width'>? [/ <'mask-border-outset'>]?]?||<'mask-border-repeat'>||<'mask-border-mode'>\",\"mask-border-mode\":\"luminance|alpha\",\"mask-border-outset\":\"[<length>|<number>]{1,4}\",\"mask-border-repeat\":\"[stretch|repeat|round|space]{1,2}\",\"mask-border-slice\":\"<number-percentage>{1,4} fill?\",\"mask-border-source\":\"none|<image>\",\"mask-border-width\":\"[<length-percentage>|<number>|auto]{1,4}\",\"mask-clip\":\"[<geometry-box>|no-clip]#\",\"mask-composite\":\"<compositing-operator>#\",\"mask-image\":\"<mask-reference>#\",\"mask-mode\":\"<masking-mode>#\",\"mask-origin\":\"<geometry-box>#\",\"mask-position\":\"<position>#\",\"mask-repeat\":\"<repeat-style>#\",\"mask-size\":\"<bg-size>#\",\"mask-type\":\"luminance|alpha\",\"masonry-auto-flow\":\"[pack|next]||[definite-first|ordered]\",\"math-depth\":\"auto-add|add( <integer> )|<integer>\",\"math-shift\":\"normal|compact\",\"math-style\":\"normal|compact\",\"max-block-size\":\"<'max-width'>\",\"max-height\":\"none|<length-percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )\",\"max-inline-size\":\"<'max-width'>\",\"max-lines\":\"none|<integer>\",\"max-width\":\"none|<length-percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|<-non-standard-width>\",\"min-block-size\":\"<'min-width'>\",\"min-height\":\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )\",\"min-inline-size\":\"<'min-width'>\",\"min-width\":\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|<-non-standard-width>\",\"mix-blend-mode\":\"<blend-mode>|plus-lighter\",\"object-fit\":\"fill|contain|cover|none|scale-down\",\"object-position\":\"<position>\",offset:\"[<'offset-position'>? [<'offset-path'> [<'offset-distance'>||<'offset-rotate'>]?]?]! [/ <'offset-anchor'>]?\",\"offset-anchor\":\"auto|<position>\",\"offset-distance\":\"<length-percentage>\",\"offset-path\":\"none|ray( [<angle>&&<size>&&contain?] )|<path()>|<url>|[<basic-shape>||<geometry-box>]\",\"offset-position\":\"auto|<position>\",\"offset-rotate\":\"[auto|reverse]||<angle>\",opacity:\"<alpha-value>\",order:\"<integer>\",orphans:\"<integer>\",outline:\"[<'outline-color'>||<'outline-style'>||<'outline-width'>]\",\"outline-color\":\"<color>|invert\",\"outline-offset\":\"<length>\",\"outline-style\":\"auto|<'border-style'>\",\"outline-width\":\"<line-width>\",overflow:\"[visible|hidden|clip|scroll|auto]{1,2}|<-non-standard-overflow>\",\"overflow-anchor\":\"auto|none\",\"overflow-block\":\"visible|hidden|clip|scroll|auto\",\"overflow-clip-box\":\"padding-box|content-box\",\"overflow-clip-margin\":\"<visual-box>||<length [0,\\u221E]>\",\"overflow-inline\":\"visible|hidden|clip|scroll|auto\",\"overflow-wrap\":\"normal|break-word|anywhere\",\"overflow-x\":\"visible|hidden|clip|scroll|auto\",\"overflow-y\":\"visible|hidden|clip|scroll|auto\",\"overscroll-behavior\":\"[contain|none|auto]{1,2}\",\"overscroll-behavior-block\":\"contain|none|auto\",\"overscroll-behavior-inline\":\"contain|none|auto\",\"overscroll-behavior-x\":\"contain|none|auto\",\"overscroll-behavior-y\":\"contain|none|auto\",padding:\"[<length>|<percentage>]{1,4}\",\"padding-block\":\"<'padding-left'>{1,2}\",\"padding-block-end\":\"<'padding-left'>\",\"padding-block-start\":\"<'padding-left'>\",\"padding-bottom\":\"<length>|<percentage>\",\"padding-inline\":\"<'padding-left'>{1,2}\",\"padding-inline-end\":\"<'padding-left'>\",\"padding-inline-start\":\"<'padding-left'>\",\"padding-left\":\"<length>|<percentage>\",\"padding-right\":\"<length>|<percentage>\",\"padding-top\":\"<length>|<percentage>\",\"page-break-after\":\"auto|always|avoid|left|right|recto|verso\",\"page-break-before\":\"auto|always|avoid|left|right|recto|verso\",\"page-break-inside\":\"auto|avoid\",\"paint-order\":\"normal|[fill||stroke||markers]\",perspective:\"none|<length>\",\"perspective-origin\":\"<position>\",\"place-content\":\"<'align-content'> <'justify-content'>?\",\"place-items\":\"<'align-items'> <'justify-items'>?\",\"place-self\":\"<'align-self'> <'justify-self'>?\",\"pointer-events\":\"auto|none|visiblePainted|visibleFill|visibleStroke|visible|painted|fill|stroke|all|inherit\",position:\"static|relative|absolute|sticky|fixed|-webkit-sticky\",quotes:\"none|auto|[<string> <string>]+\",resize:\"none|both|horizontal|vertical|block|inline\",right:\"<length>|<percentage>|auto\",rotate:\"none|<angle>|[x|y|z|<number>{3}]&&<angle>\",\"row-gap\":\"normal|<length-percentage>\",\"ruby-align\":\"start|center|space-between|space-around\",\"ruby-merge\":\"separate|collapse|auto\",\"ruby-position\":\"[alternate||[over|under]]|inter-character\",scale:\"none|<number>{1,3}\",\"scrollbar-color\":\"auto|<color>{2}\",\"scrollbar-gutter\":\"auto|stable&&both-edges?\",\"scrollbar-width\":\"auto|thin|none\",\"scroll-behavior\":\"auto|smooth\",\"scroll-margin\":\"<length>{1,4}\",\"scroll-margin-block\":\"<length>{1,2}\",\"scroll-margin-block-start\":\"<length>\",\"scroll-margin-block-end\":\"<length>\",\"scroll-margin-bottom\":\"<length>\",\"scroll-margin-inline\":\"<length>{1,2}\",\"scroll-margin-inline-start\":\"<length>\",\"scroll-margin-inline-end\":\"<length>\",\"scroll-margin-left\":\"<length>\",\"scroll-margin-right\":\"<length>\",\"scroll-margin-top\":\"<length>\",\"scroll-padding\":\"[auto|<length-percentage>]{1,4}\",\"scroll-padding-block\":\"[auto|<length-percentage>]{1,2}\",\"scroll-padding-block-start\":\"auto|<length-percentage>\",\"scroll-padding-block-end\":\"auto|<length-percentage>\",\"scroll-padding-bottom\":\"auto|<length-percentage>\",\"scroll-padding-inline\":\"[auto|<length-percentage>]{1,2}\",\"scroll-padding-inline-start\":\"auto|<length-percentage>\",\"scroll-padding-inline-end\":\"auto|<length-percentage>\",\"scroll-padding-left\":\"auto|<length-percentage>\",\"scroll-padding-right\":\"auto|<length-percentage>\",\"scroll-padding-top\":\"auto|<length-percentage>\",\"scroll-snap-align\":\"[none|start|end|center]{1,2}\",\"scroll-snap-coordinate\":\"none|<position>#\",\"scroll-snap-destination\":\"<position>\",\"scroll-snap-points-x\":\"none|repeat( <length-percentage> )\",\"scroll-snap-points-y\":\"none|repeat( <length-percentage> )\",\"scroll-snap-stop\":\"normal|always\",\"scroll-snap-type\":\"none|[x|y|block|inline|both] [mandatory|proximity]?\",\"scroll-snap-type-x\":\"none|mandatory|proximity\",\"scroll-snap-type-y\":\"none|mandatory|proximity\",\"scroll-timeline\":\"[<'scroll-timeline-name'>||<'scroll-timeline-axis'>]#\",\"scroll-timeline-axis\":\"[block|inline|vertical|horizontal]#\",\"scroll-timeline-name\":\"none|<custom-ident>#\",\"shape-image-threshold\":\"<alpha-value>\",\"shape-margin\":\"<length-percentage>\",\"shape-outside\":\"none|[<shape-box>||<basic-shape>]|<image>\",\"tab-size\":\"<integer>|<length>\",\"table-layout\":\"auto|fixed\",\"text-align\":\"start|end|left|right|center|justify|match-parent\",\"text-align-last\":\"auto|start|end|left|right|center|justify\",\"text-combine-upright\":\"none|all|[digits <integer>?]\",\"text-decoration\":\"<'text-decoration-line'>||<'text-decoration-style'>||<'text-decoration-color'>||<'text-decoration-thickness'>\",\"text-decoration-color\":\"<color>\",\"text-decoration-line\":\"none|[underline||overline||line-through||blink]|spelling-error|grammar-error\",\"text-decoration-skip\":\"none|[objects||[spaces|[leading-spaces||trailing-spaces]]||edges||box-decoration]\",\"text-decoration-skip-ink\":\"auto|all|none\",\"text-decoration-style\":\"solid|double|dotted|dashed|wavy\",\"text-decoration-thickness\":\"auto|from-font|<length>|<percentage>\",\"text-emphasis\":\"<'text-emphasis-style'>||<'text-emphasis-color'>\",\"text-emphasis-color\":\"<color>\",\"text-emphasis-position\":\"[over|under]&&[right|left]\",\"text-emphasis-style\":\"none|[[filled|open]||[dot|circle|double-circle|triangle|sesame]]|<string>\",\"text-indent\":\"<length-percentage>&&hanging?&&each-line?\",\"text-justify\":\"auto|inter-character|inter-word|none\",\"text-orientation\":\"mixed|upright|sideways\",\"text-overflow\":\"[clip|ellipsis|<string>]{1,2}\",\"text-rendering\":\"auto|optimizeSpeed|optimizeLegibility|geometricPrecision\",\"text-shadow\":\"none|<shadow-t>#\",\"text-size-adjust\":\"none|auto|<percentage>\",\"text-transform\":\"none|capitalize|uppercase|lowercase|full-width|full-size-kana\",\"text-underline-offset\":\"auto|<length>|<percentage>\",\"text-underline-position\":\"auto|from-font|[under||[left|right]]\",top:\"<length>|<percentage>|auto\",\"touch-action\":\"auto|none|[[pan-x|pan-left|pan-right]||[pan-y|pan-up|pan-down]||pinch-zoom]|manipulation\",transform:\"none|<transform-list>\",\"transform-box\":\"content-box|border-box|fill-box|stroke-box|view-box\",\"transform-origin\":\"[<length-percentage>|left|center|right|top|bottom]|[[<length-percentage>|left|center|right]&&[<length-percentage>|top|center|bottom]] <length>?\",\"transform-style\":\"flat|preserve-3d\",transition:\"<single-transition>#\",\"transition-delay\":\"<time>#\",\"transition-duration\":\"<time>#\",\"transition-property\":\"none|<single-transition-property>#\",\"transition-timing-function\":\"<easing-function>#\",translate:\"none|<length-percentage> [<length-percentage> <length>?]?\",\"unicode-bidi\":\"normal|embed|isolate|bidi-override|isolate-override|plaintext|-moz-isolate|-moz-isolate-override|-moz-plaintext|-webkit-isolate|-webkit-isolate-override|-webkit-plaintext\",\"user-select\":\"auto|text|none|contain|all\",\"vertical-align\":\"baseline|sub|super|text-top|text-bottom|middle|top|bottom|<percentage>|<length>\",visibility:\"visible|hidden|collapse\",\"white-space\":\"normal|pre|nowrap|pre-wrap|pre-line|break-spaces\",widows:\"<integer>\",width:\"auto|<length>|<percentage>|min-content|max-content|fit-content|fit-content( <length-percentage> )|fill|stretch|intrinsic|-moz-max-content|-webkit-max-content|-moz-fit-content|-webkit-fit-content\",\"will-change\":\"auto|<animateable-feature>#\",\"word-break\":\"normal|break-all|keep-all|break-word\",\"word-spacing\":\"normal|<length>\",\"word-wrap\":\"normal|break-word\",\"writing-mode\":\"horizontal-tb|vertical-rl|vertical-lr|sideways-rl|sideways-lr|<svg-writing-mode>\",\"z-index\":\"auto|<integer>\",zoom:\"normal|reset|<number>|<percentage>\",\"-moz-background-clip\":\"padding|border\",\"-moz-border-radius-bottomleft\":\"<'border-bottom-left-radius'>\",\"-moz-border-radius-bottomright\":\"<'border-bottom-right-radius'>\",\"-moz-border-radius-topleft\":\"<'border-top-left-radius'>\",\"-moz-border-radius-topright\":\"<'border-bottom-right-radius'>\",\"-moz-control-character-visibility\":\"visible|hidden\",\"-moz-osx-font-smoothing\":\"auto|grayscale\",\"-moz-user-select\":\"none|text|all|-moz-none\",\"-ms-flex-align\":\"start|end|center|baseline|stretch\",\"-ms-flex-item-align\":\"auto|start|end|center|baseline|stretch\",\"-ms-flex-line-pack\":\"start|end|center|justify|distribute|stretch\",\"-ms-flex-negative\":\"<'flex-shrink'>\",\"-ms-flex-pack\":\"start|end|center|justify|distribute\",\"-ms-flex-order\":\"<integer>\",\"-ms-flex-positive\":\"<'flex-grow'>\",\"-ms-flex-preferred-size\":\"<'flex-basis'>\",\"-ms-interpolation-mode\":\"nearest-neighbor|bicubic\",\"-ms-grid-column-align\":\"start|end|center|stretch\",\"-ms-grid-row-align\":\"start|end|center|stretch\",\"-ms-hyphenate-limit-last\":\"none|always|column|page|spread\",\"-webkit-background-clip\":\"[<box>|border|padding|content|text]#\",\"-webkit-column-break-after\":\"always|auto|avoid\",\"-webkit-column-break-before\":\"always|auto|avoid\",\"-webkit-column-break-inside\":\"always|auto|avoid\",\"-webkit-font-smoothing\":\"auto|none|antialiased|subpixel-antialiased\",\"-webkit-mask-box-image\":\"[<url>|<gradient>|none] [<length-percentage>{4} <-webkit-mask-box-repeat>{2}]?\",\"-webkit-print-color-adjust\":\"economy|exact\",\"-webkit-text-security\":\"none|circle|disc|square\",\"-webkit-user-drag\":\"none|element|auto\",\"-webkit-user-select\":\"auto|none|text|all\",\"alignment-baseline\":\"auto|baseline|before-edge|text-before-edge|middle|central|after-edge|text-after-edge|ideographic|alphabetic|hanging|mathematical\",\"baseline-shift\":\"baseline|sub|super|<svg-length>\",behavior:\"<url>+\",\"clip-rule\":\"nonzero|evenodd\",cue:\"<'cue-before'> <'cue-after'>?\",\"cue-after\":\"<url> <decibel>?|none\",\"cue-before\":\"<url> <decibel>?|none\",\"dominant-baseline\":\"auto|use-script|no-change|reset-size|ideographic|alphabetic|hanging|mathematical|central|middle|text-after-edge|text-before-edge\",fill:\"<paint>\",\"fill-opacity\":\"<number-zero-one>\",\"fill-rule\":\"nonzero|evenodd\",\"glyph-orientation-horizontal\":\"<angle>\",\"glyph-orientation-vertical\":\"<angle>\",kerning:\"auto|<svg-length>\",marker:\"none|<url>\",\"marker-end\":\"none|<url>\",\"marker-mid\":\"none|<url>\",\"marker-start\":\"none|<url>\",pause:\"<'pause-before'> <'pause-after'>?\",\"pause-after\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",\"pause-before\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",rest:\"<'rest-before'> <'rest-after'>?\",\"rest-after\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",\"rest-before\":\"<time>|none|x-weak|weak|medium|strong|x-strong\",\"shape-rendering\":\"auto|optimizeSpeed|crispEdges|geometricPrecision\",src:\"[<url> [format( <string># )]?|local( <family-name> )]#\",speak:\"auto|none|normal\",\"speak-as\":\"normal|spell-out||digits||[literal-punctuation|no-punctuation]\",stroke:\"<paint>\",\"stroke-dasharray\":\"none|[<svg-length>+]#\",\"stroke-dashoffset\":\"<svg-length>\",\"stroke-linecap\":\"butt|round|square\",\"stroke-linejoin\":\"miter|round|bevel\",\"stroke-miterlimit\":\"<number-one-or-greater>\",\"stroke-opacity\":\"<number-zero-one>\",\"stroke-width\":\"<svg-length>\",\"text-anchor\":\"start|middle|end\",\"unicode-range\":\"<urange>#\",\"voice-balance\":\"<number>|left|center|right|leftwards|rightwards\",\"voice-duration\":\"auto|<time>\",\"voice-family\":\"[[<family-name>|<generic-voice>] ,]* [<family-name>|<generic-voice>]|preserve\",\"voice-pitch\":\"<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]\",\"voice-range\":\"<frequency>&&absolute|[[x-low|low|medium|high|x-high]||[<frequency>|<semitones>|<percentage>]]\",\"voice-rate\":\"[normal|x-slow|slow|medium|fast|x-fast]||<percentage>\",\"voice-stress\":\"normal|strong|moderate|none|reduced\",\"voice-volume\":\"silent|[[x-soft|soft|medium|loud|x-loud]||<decibel>]\"},atrules:{charset:{prelude:\"<string>\",descriptors:null},\"counter-style\":{prelude:\"<counter-style-name>\",descriptors:{\"additive-symbols\":\"[<integer>&&<symbol>]#\",fallback:\"<counter-style-name>\",negative:\"<symbol> <symbol>?\",pad:\"<integer>&&<symbol>\",prefix:\"<symbol>\",range:\"[[<integer>|infinite]{2}]#|auto\",\"speak-as\":\"auto|bullets|numbers|words|spell-out|<counter-style-name>\",suffix:\"<symbol>\",symbols:\"<symbol>+\",system:\"cyclic|numeric|alphabetic|symbolic|additive|[fixed <integer>?]|[extends <counter-style-name>]\"}},document:{prelude:\"[<url>|url-prefix( <string> )|domain( <string> )|media-document( <string> )|regexp( <string> )]#\",descriptors:null},\"font-face\":{prelude:null,descriptors:{\"ascent-override\":\"normal|<percentage>\",\"descent-override\":\"normal|<percentage>\",\"font-display\":\"[auto|block|swap|fallback|optional]\",\"font-family\":\"<family-name>\",\"font-feature-settings\":\"normal|<feature-tag-value>#\",\"font-variation-settings\":\"normal|[<string> <number>]#\",\"font-stretch\":\"<font-stretch-absolute>{1,2}\",\"font-style\":\"normal|italic|oblique <angle>{0,2}\",\"font-weight\":\"<font-weight-absolute>{1,2}\",\"font-variant\":\"normal|none|[<common-lig-values>||<discretionary-lig-values>||<historical-lig-values>||<contextual-alt-values>||stylistic( <feature-value-name> )||historical-forms||styleset( <feature-value-name># )||character-variant( <feature-value-name># )||swash( <feature-value-name> )||ornaments( <feature-value-name> )||annotation( <feature-value-name> )||[small-caps|all-small-caps|petite-caps|all-petite-caps|unicase|titling-caps]||<numeric-figure-values>||<numeric-spacing-values>||<numeric-fraction-values>||ordinal||slashed-zero||<east-asian-variant-values>||<east-asian-width-values>||ruby]\",\"line-gap-override\":\"normal|<percentage>\",\"size-adjust\":\"<percentage>\",src:\"[<url> [format( <string># )]?|local( <family-name> )]#\",\"unicode-range\":\"<urange>#\"}},\"font-feature-values\":{prelude:\"<family-name>#\",descriptors:null},import:{prelude:\"[<string>|<url>] [layer|layer( <layer-name> )]? [supports( [<supports-condition>|<declaration>] )]? <media-query-list>?\",descriptors:null},keyframes:{prelude:\"<keyframes-name>\",descriptors:null},layer:{prelude:\"[<layer-name>#|<layer-name>?]\",descriptors:null},media:{prelude:\"<media-query-list>\",descriptors:null},namespace:{prelude:\"<namespace-prefix>? [<string>|<url>]\",descriptors:null},page:{prelude:\"<page-selector-list>\",descriptors:{bleed:\"auto|<length>\",marks:\"none|[crop||cross]\",size:\"<length>{1,2}|auto|[<page-size>||[portrait|landscape]]\"}},property:{prelude:\"<custom-property-name>\",descriptors:{syntax:\"<string>\",inherits:\"true|false\",\"initial-value\":\"<string>\"}},\"scroll-timeline\":{prelude:\"<timeline-name>\",descriptors:null},supports:{prelude:\"<supports-condition>\",descriptors:null},viewport:{prelude:null,descriptors:{height:\"<viewport-length>{1,2}\",\"max-height\":\"<viewport-length>\",\"max-width\":\"<viewport-length>\",\"max-zoom\":\"auto|<number>|<percentage>\",\"min-height\":\"<viewport-length>\",\"min-width\":\"<viewport-length>\",\"min-zoom\":\"auto|<number>|<percentage>\",orientation:\"auto|portrait|landscape\",\"user-zoom\":\"zoom|fixed\",\"viewport-fit\":\"auto|contain|cover\",width:\"<viewport-length>{1,2}\",zoom:\"auto|<number>|<percentage>\"}},nest:{prelude:\"<complex-selector-list>\",descriptors:null}}},Rl={};F(Rl,{AnPlusB:()=>Tu,Atrule:()=>Ru,AtrulePrelude:()=>Iu,AttributeSelector:()=>Mu,Block:()=>Nu,Brackets:()=>Bu,CDC:()=>Hu,CDO:()=>qu,ClassSelector:()=>Wu,Combinator:()=>Xu,Comment:()=>Ju,Declaration:()=>$u,DeclarationList:()=>tp,Dimension:()=>op,Function:()=>np,Hash:()=>sp,IdSelector:()=>mp,Identifier:()=>cp,MediaFeature:()=>up,MediaQuery:()=>gp,MediaQueryList:()=>fp,NestingSelector:()=>yp,Nth:()=>vp,Number:()=>Ep,Operator:()=>Ap,Parentheses:()=>Cp,Percentage:()=>Lp,PseudoClassSelector:()=>zp,PseudoElementSelector:()=>_p,Ratio:()=>Pp,Raw:()=>Np,Rule:()=>Fp,Selector:()=>Up,SelectorList:()=>Gp,String:()=>Vp,StyleSheet:()=>Zp,TypeSelector:()=>Qp,UnicodeRange:()=>tg,Url:()=>ng,Value:()=>mg,WhiteSpace:()=>ug});var Tu={};F(Tu,{generate:()=>jS,name:()=>SS,parse:()=>Lu,structure:()=>ES});var vt=43,We=45,nn=110,la=!0,vS=!1;function rn(e,t){let a=this.tokenStart+e,o=this.charCodeAt(a);for((o===vt||o===We)&&(t&&this.error(\"Number sign is not allowed\"),a++);a<this.tokenEnd;a++)Se(this.charCodeAt(a))||this.error(\"Integer is expected\",a)}function Wa(e){return rn.call(this,0,e)}function Gt(e,t){if(!this.cmpChar(this.tokenStart+e,t)){let a=\"\";switch(t){case nn:a=\"N is expected\";break;case We:a=\"HyphenMinus is expected\";break}this.error(a,this.tokenStart+e)}}function Us(){let e=0,t=0,a=this.tokenType;for(;a===13||a===25;)a=this.lookupType(++e);if(a!==10)if(this.isDelim(vt,e)||this.isDelim(We,e)){t=this.isDelim(vt,e)?vt:We;do a=this.lookupType(++e);while(a===13||a===25);a!==10&&(this.skip(e),Wa.call(this,la))}else return null;return e>0&&this.skip(e),t===0&&(a=this.charCodeAt(this.tokenStart),a!==vt&&a!==We&&this.error(\"Number sign is expected\")),Wa.call(this,t!==0),t===We?\"-\"+this.consume(10):this.consume(10)}var SS=\"AnPlusB\",ES={a:[String,null],b:[String,null]};function Lu(){let e=this.tokenStart,t=null,a=null;if(this.tokenType===10)Wa.call(this,vS),a=this.consume(10);else if(this.tokenType===1&&this.cmpChar(this.tokenStart,We))switch(t=\"-1\",Gt.call(this,1,nn),this.tokenEnd-this.tokenStart){case 2:this.next(),a=Us.call(this);break;case 3:Gt.call(this,2,We),this.next(),this.skipSC(),Wa.call(this,la),a=\"-\"+this.consume(10);break;default:Gt.call(this,2,We),rn.call(this,3,la),this.next(),a=this.substrToCursor(e+2)}else if(this.tokenType===1||this.isDelim(vt)&&this.lookupType(1)===1){let o=0;switch(t=\"1\",this.isDelim(vt)&&(o=1,this.next()),Gt.call(this,0,nn),this.tokenEnd-this.tokenStart){case 1:this.next(),a=Us.call(this);break;case 2:Gt.call(this,1,We),this.next(),this.skipSC(),Wa.call(this,la),a=\"-\"+this.consume(10);break;default:Gt.call(this,1,We),rn.call(this,2,la),this.next(),a=this.substrToCursor(e+o+1)}}else if(this.tokenType===12){let o=this.charCodeAt(this.tokenStart),i=o===vt||o===We,n=this.tokenStart+i;for(;n<this.tokenEnd&&Se(this.charCodeAt(n));n++);n===this.tokenStart+i&&this.error(\"Integer is expected\",this.tokenStart+i),Gt.call(this,n-this.tokenStart,nn),t=this.substring(e,n),n+1===this.tokenEnd?(this.next(),a=Us.call(this)):(Gt.call(this,n-this.tokenStart+1,We),n+2===this.tokenEnd?(this.next(),this.skipSC(),Wa.call(this,la),a=\"-\"+this.consume(10)):(rn.call(this,n-this.tokenStart+2,la),this.next(),a=this.substrToCursor(n+1)))}else this.error();return t!==null&&t.charCodeAt(0)===vt&&(t=t.substr(1)),a!==null&&a.charCodeAt(0)===vt&&(a=a.substr(1)),{type:\"AnPlusB\",loc:this.getLocation(e,this.tokenStart),a:t,b:a}}function jS(e){if(e.a){let t=e.a===\"+1\"&&\"n\"||e.a===\"1\"&&\"n\"||e.a===\"-1\"&&\"-n\"||e.a+\"n\";if(e.b){let a=e.b[0]===\"-\"||e.b[0]===\"+\"?e.b:\"+\"+e.b;this.tokenize(t+a)}else this.tokenize(t)}else this.tokenize(e.b)}var Ru={};F(Ru,{generate:()=>LS,name:()=>xS,parse:()=>zu,structure:()=>TS,walkContext:()=>CS});function Nh(e){return this.Raw(e,this.consumeUntilLeftCurlyBracketOrSemicolon,!0)}function AS(){for(let e=1,t;t=this.lookupType(e);e++){if(t===24)return!0;if(t===23||t===3)return!1}return!1}var xS=\"Atrule\",CS=\"atrule\",TS={name:String,prelude:[\"AtrulePrelude\",\"Raw\",null],block:[\"Block\",null]};function zu(e=!1){let t=this.tokenStart,a,o,i=null,n=null;switch(this.eat(3),a=this.substrToCursor(t+1),o=a.toLowerCase(),this.skipSC(),this.eof===!1&&this.tokenType!==23&&this.tokenType!==17&&(this.parseAtrulePrelude?i=this.parseWithFallback(this.AtrulePrelude.bind(this,a,e),Nh):i=Nh.call(this,this.tokenIndex),this.skipSC()),this.tokenType){case 17:this.next();break;case 23:hasOwnProperty.call(this.atrule,o)&&typeof this.atrule[o].block==\"function\"?n=this.atrule[o].block.call(this,e):n=this.Block(AS.call(this));break}return{type:\"Atrule\",loc:this.getLocation(t,this.tokenStart),name:a,prelude:i,block:n}}function LS(e){this.token(3,\"@\"+e.name),e.prelude!==null&&this.node(e.prelude),e.block?this.node(e.block):this.token(17,\";\")}var Iu={};F(Iu,{generate:()=>_S,name:()=>RS,parse:()=>_u,structure:()=>IS,walkContext:()=>zS});var RS=\"AtrulePrelude\",zS=\"atrulePrelude\",IS={children:[[]]};function _u(e){let t=null;return e!==null&&(e=e.toLowerCase()),this.skipSC(),hasOwnProperty.call(this.atrule,e)&&typeof this.atrule[e].prelude==\"function\"?t=this.atrule[e].prelude.call(this):t=this.readSequence(this.scope.AtrulePrelude),this.skipSC(),this.eof!==!0&&this.tokenType!==23&&this.tokenType!==17&&this.error(\"Semicolon or block is expected\"),{type:\"AtrulePrelude\",loc:this.getLocationFromList(t),children:t}}function _S(e){this.children(e)}var Mu={};F(Mu,{generate:()=>US,name:()=>FS,parse:()=>Du,structure:()=>BS});var MS=36,Pu=42,sn=61,PS=94,nl=124,DS=126;function NS(){this.eof&&this.error(\"Unexpected end of input\");let e=this.tokenStart,t=!1;return this.isDelim(Pu)?(t=!0,this.next()):this.isDelim(nl)||this.eat(1),this.isDelim(nl)?this.charCodeAt(this.tokenStart+1)!==sn?(this.next(),this.eat(1)):t&&this.error(\"Identifier is expected\",this.tokenEnd):t&&this.error(\"Vertical line is expected\"),{type:\"Identifier\",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e)}}function OS(){let e=this.tokenStart,t=this.charCodeAt(e);return t!==sn&&t!==DS&&t!==PS&&t!==MS&&t!==Pu&&t!==nl&&this.error(\"Attribute selector (=, ~=, ^=, $=, *=, |=) is expected\"),this.next(),t!==sn&&(this.isDelim(sn)||this.error(\"Equal sign is expected\"),this.next()),this.substrToCursor(e)}var FS=\"AttributeSelector\",BS={name:\"Identifier\",matcher:[String,null],value:[\"String\",\"Identifier\",null],flags:[String,null]};function Du(){let e=this.tokenStart,t,a=null,o=null,i=null;return this.eat(19),this.skipSC(),t=NS.call(this),this.skipSC(),this.tokenType!==20&&(this.tokenType!==1&&(a=OS.call(this),this.skipSC(),o=this.tokenType===5?this.String():this.Identifier(),this.skipSC()),this.tokenType===1&&(i=this.consume(1),this.skipSC())),this.eat(20),{type:\"AttributeSelector\",loc:this.getLocation(e,this.tokenStart),name:t,matcher:a,value:o,flags:i}}function US(e){this.token(9,\"[\"),this.node(e.name),e.matcher!==null&&(this.tokenize(e.matcher),this.node(e.value)),e.flags!==null&&this.token(1,e.flags),this.token(9,\"]\")}var Nu={};F(Nu,{generate:()=>KS,name:()=>qS,parse:()=>Fu,structure:()=>WS,walkContext:()=>VS});var HS=38;function Ou(e){return this.Raw(e,null,!0)}function Oh(){return this.parseWithFallback(this.Rule,Ou)}function Fh(e){return this.Raw(e,this.consumeUntilSemicolonIncluded,!0)}function GS(){if(this.tokenType===17)return Fh.call(this,this.tokenIndex);let e=this.parseWithFallback(this.Declaration,Fh);return this.tokenType===17&&this.next(),e}var qS=\"Block\",VS=\"block\",WS={children:[[\"Atrule\",\"Rule\",\"Declaration\"]]};function Fu(e){let t=e?GS:Oh,a=this.tokenStart,o=this.createList();this.eat(23);e:for(;!this.eof;)switch(this.tokenType){case 24:break e;case 13:case 25:this.next();break;case 3:o.push(this.parseWithFallback(this.Atrule.bind(this,e),Ou));break;default:e&&this.isDelim(HS)?o.push(Oh.call(this)):o.push(t.call(this))}return this.eof||this.eat(24),{type:\"Block\",loc:this.getLocation(a,this.tokenStart),children:o}}function KS(e){this.token(23,\"{\"),this.children(e,t=>{t.type===\"Declaration\"&&this.token(17,\";\")}),this.token(24,\"}\")}var Bu={};F(Bu,{generate:()=>JS,name:()=>XS,parse:()=>Uu,structure:()=>YS});var XS=\"Brackets\",YS={children:[[]]};function Uu(e,t){let a=this.tokenStart,o=null;return this.eat(19),o=e.call(this,t),this.eof||this.eat(20),{type:\"Brackets\",loc:this.getLocation(a,this.tokenStart),children:o}}function JS(e){this.token(9,\"[\"),this.children(e),this.token(9,\"]\")}var Hu={};F(Hu,{generate:()=>QS,name:()=>ZS,parse:()=>Gu,structure:()=>$S});var ZS=\"CDC\",$S=[];function Gu(){let e=this.tokenStart;return this.eat(15),{type:\"CDC\",loc:this.getLocation(e,this.tokenStart)}}function QS(){this.token(15,\"-->\")}var qu={};F(qu,{generate:()=>aE,name:()=>eE,parse:()=>Vu,structure:()=>tE});var eE=\"CDO\",tE=[];function Vu(){let e=this.tokenStart;return this.eat(14),{type:\"CDO\",loc:this.getLocation(e,this.tokenStart)}}function aE(){this.token(14,\"<!--\")}var Wu={};F(Wu,{generate:()=>rE,name:()=>iE,parse:()=>Ku,structure:()=>nE});var oE=46,iE=\"ClassSelector\",nE={name:String};function Ku(){return this.eatDelim(oE),{type:\"ClassSelector\",loc:this.getLocation(this.tokenStart-1,this.tokenEnd),name:this.consume(1)}}function rE(e){this.token(9,\".\"),this.token(1,e.name)}var Xu={};F(Xu,{generate:()=>hE,name:()=>dE,parse:()=>Yu,structure:()=>mE});var sE=43,Bh=47,lE=62,cE=126,dE=\"Combinator\",mE={name:String};function Yu(){let e=this.tokenStart,t;switch(this.tokenType){case 13:t=\" \";break;case 9:switch(this.charCodeAt(this.tokenStart)){case lE:case sE:case cE:this.next();break;case Bh:this.next(),this.eatIdent(\"deep\"),this.eatDelim(Bh);break;default:this.error(\"Combinator is expected\")}t=this.substrToCursor(e);break}return{type:\"Combinator\",loc:this.getLocation(e,this.tokenStart),name:t}}function hE(e){this.tokenize(e.name)}var Ju={};F(Ju,{generate:()=>fE,name:()=>gE,parse:()=>Zu,structure:()=>wE});var uE=42,pE=47,gE=\"Comment\",wE={value:String};function Zu(){let e=this.tokenStart,t=this.tokenEnd;return this.eat(25),t-e+2>=2&&this.charCodeAt(t-2)===uE&&this.charCodeAt(t-1)===pE&&(t-=2),{type:\"Comment\",loc:this.getLocation(e,this.tokenStart),value:this.substring(e+2,t)}}function fE(e){this.token(25,\"/*\"+e.value+\"*/\")}var $u={};F($u,{generate:()=>LE,name:()=>xE,parse:()=>ep,structure:()=>TE,walkContext:()=>CE});var Qu=33,bE=35,yE=36,kE=38,vE=42,SE=43,Uh=47;function EE(e){return this.Raw(e,this.consumeUntilExclamationMarkOrSemicolon,!0)}function jE(e){return this.Raw(e,this.consumeUntilExclamationMarkOrSemicolon,!1)}function AE(){let e=this.tokenIndex,t=this.Value();return t.type!==\"Raw\"&&this.eof===!1&&this.tokenType!==17&&this.isDelim(Qu)===!1&&this.isBalanceEdge(e)===!1&&this.error(),t}var xE=\"Declaration\",CE=\"declaration\",TE={important:[Boolean,String],property:String,value:[\"Value\",\"Raw\"]};function ep(){let e=this.tokenStart,t=this.tokenIndex,a=RE.call(this),o=kn(a),i=o?this.parseCustomProperty:this.parseValue,n=o?jE:EE,s=!1,r;this.skipSC(),this.eat(16);let l=this.tokenIndex;if(o||this.skipSC(),i?r=this.parseWithFallback(AE,n):r=n.call(this,this.tokenIndex),o&&r.type===\"Value\"&&r.children.isEmpty){for(let c=l-this.tokenIndex;c<=0;c++)if(this.lookupType(c)===13){r.children.appendData({type:\"WhiteSpace\",loc:null,value:\" \"});break}}return this.isDelim(Qu)&&(s=zE.call(this),this.skipSC()),this.eof===!1&&this.tokenType!==17&&this.isBalanceEdge(t)===!1&&this.error(),{type:\"Declaration\",loc:this.getLocation(e,this.tokenStart),important:s,property:a,value:r}}function LE(e){this.token(1,e.property),this.token(16,\":\"),this.node(e.value),e.important&&(this.token(9,\"!\"),this.token(1,e.important===!0?\"important\":e.important))}function RE(){let e=this.tokenStart;if(this.tokenType===9)switch(this.charCodeAt(this.tokenStart)){case vE:case yE:case SE:case bE:case kE:this.next();break;case Uh:this.next(),this.isDelim(Uh)&&this.next();break}return this.tokenType===4?this.eat(4):this.eat(1),this.substrToCursor(e)}function zE(){this.eat(9),this.skipSC();let e=this.consume(1);return e===\"important\"?!0:e}var tp={};F(tp,{generate:()=>PE,name:()=>_E,parse:()=>ap,structure:()=>ME});var IE=38;function Hs(e){return this.Raw(e,this.consumeUntilSemicolonIncluded,!0)}var _E=\"DeclarationList\",ME={children:[[\"Declaration\",\"Atrule\",\"Rule\"]]};function ap(){let e=this.createList();for(;!this.eof;)switch(this.tokenType){case 13:case 25:case 17:this.next();break;case 3:e.push(this.parseWithFallback(this.Atrule.bind(this,!0),Hs));break;default:this.isDelim(IE)?e.push(this.parseWithFallback(this.Rule,Hs)):e.push(this.parseWithFallback(this.Declaration,Hs))}return{type:\"DeclarationList\",loc:this.getLocationFromList(e),children:e}}function PE(e){this.children(e,t=>{t.type===\"Declaration\"&&this.token(17,\";\")})}var op={};F(op,{generate:()=>OE,name:()=>DE,parse:()=>ip,structure:()=>NE});var DE=\"Dimension\",NE={value:String,unit:String};function ip(){let e=this.tokenStart,t=this.consumeNumber(12);return{type:\"Dimension\",loc:this.getLocation(e,this.tokenStart),value:t,unit:this.substring(e+t.length,this.tokenStart)}}function OE(e){this.token(12,e.value+e.unit)}var np={};F(np,{generate:()=>HE,name:()=>FE,parse:()=>rp,structure:()=>UE,walkContext:()=>BE});var FE=\"Function\",BE=\"function\",UE={name:String,children:[[]]};function rp(e,t){let a=this.tokenStart,o=this.consumeFunctionName(),i=o.toLowerCase(),n;return n=t.hasOwnProperty(i)?t[i].call(this,t):e.call(this,t),this.eof||this.eat(22),{type:\"Function\",loc:this.getLocation(a,this.tokenStart),name:o,children:n}}function HE(e){this.token(2,e.name+\"(\"),this.children(e),this.token(22,\")\")}var sp={};F(sp,{generate:()=>WE,name:()=>qE,parse:()=>lp,structure:()=>VE,xxx:()=>GE});var GE=\"XXX\",qE=\"Hash\",VE={value:String};function lp(){let e=this.tokenStart;return this.eat(4),{type:\"Hash\",loc:this.getLocation(e,this.tokenStart),value:this.substrToCursor(e+1)}}function WE(e){this.token(4,\"#\"+e.value)}var cp={};F(cp,{generate:()=>YE,name:()=>KE,parse:()=>dp,structure:()=>XE});var KE=\"Identifier\",XE={name:String};function dp(){return{type:\"Identifier\",loc:this.getLocation(this.tokenStart,this.tokenEnd),name:this.consume(1)}}function YE(e){this.token(1,e.name)}var mp={};F(mp,{generate:()=>$E,name:()=>JE,parse:()=>hp,structure:()=>ZE});var JE=\"IdSelector\",ZE={name:String};function hp(){let e=this.tokenStart;return this.eat(4),{type:\"IdSelector\",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e+1)}}function $E(e){this.token(9,\"#\"+e.name)}var up={};F(up,{generate:()=>tj,name:()=>QE,parse:()=>pp,structure:()=>ej});var QE=\"MediaFeature\",ej={name:String,value:[\"Identifier\",\"Number\",\"Dimension\",\"Ratio\",null]};function pp(){let e=this.tokenStart,t,a=null;if(this.eat(21),this.skipSC(),t=this.consume(1),this.skipSC(),this.tokenType!==22){switch(this.eat(16),this.skipSC(),this.tokenType){case 10:this.lookupNonWSType(1)===9?a=this.Ratio():a=this.Number();break;case 12:a=this.Dimension();break;case 1:a=this.Identifier();break;default:this.error(\"Number, dimension, ratio or identifier is expected\")}this.skipSC()}return this.eat(22),{type:\"MediaFeature\",loc:this.getLocation(e,this.tokenStart),name:t,value:a}}function tj(e){this.token(21,\"(\"),this.token(1,e.name),e.value!==null&&(this.token(16,\":\"),this.node(e.value)),this.token(22,\")\")}var gp={};F(gp,{generate:()=>ij,name:()=>aj,parse:()=>wp,structure:()=>oj});var aj=\"MediaQuery\",oj={children:[[\"Identifier\",\"MediaFeature\",\"WhiteSpace\"]]};function wp(){let e=this.createList(),t=null;this.skipSC();e:for(;!this.eof;){switch(this.tokenType){case 25:case 13:this.next();continue;case 1:t=this.Identifier();break;case 21:t=this.MediaFeature();break;default:break e}e.push(t)}return t===null&&this.error(\"Identifier or parenthesis is expected\"),{type:\"MediaQuery\",loc:this.getLocationFromList(e),children:e}}function ij(e){this.children(e)}var fp={};F(fp,{generate:()=>sj,name:()=>nj,parse:()=>bp,structure:()=>rj});var nj=\"MediaQueryList\",rj={children:[[\"MediaQuery\"]]};function bp(){let e=this.createList();for(this.skipSC();!this.eof&&(e.push(this.MediaQuery()),this.tokenType===18);)this.next();return{type:\"MediaQueryList\",loc:this.getLocationFromList(e),children:e}}function sj(e){this.children(e,()=>this.token(18,\",\"))}var yp={};F(yp,{generate:()=>mj,name:()=>cj,parse:()=>kp,structure:()=>dj});var lj=38,cj=\"NestingSelector\",dj={};function kp(){let e=this.tokenStart;return this.eatDelim(lj),{type:\"NestingSelector\",loc:this.getLocation(e,this.tokenStart)}}function mj(){this.token(9,\"&\")}var vp={};F(vp,{generate:()=>pj,name:()=>hj,parse:()=>Sp,structure:()=>uj});var hj=\"Nth\",uj={nth:[\"AnPlusB\",\"Identifier\"],selector:[\"SelectorList\",null]};function Sp(){this.skipSC();let e=this.tokenStart,t=e,a=null,o;return this.lookupValue(0,\"odd\")||this.lookupValue(0,\"even\")?o=this.Identifier():o=this.AnPlusB(),t=this.tokenStart,this.skipSC(),this.lookupValue(0,\"of\")&&(this.next(),a=this.SelectorList(),t=this.tokenStart),{type:\"Nth\",loc:this.getLocation(e,t),nth:o,selector:a}}function pj(e){this.node(e.nth),e.selector!==null&&(this.token(1,\"of\"),this.node(e.selector))}var Ep={};F(Ep,{generate:()=>fj,name:()=>gj,parse:()=>jp,structure:()=>wj});var gj=\"Number\",wj={value:String};function jp(){return{type:\"Number\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consume(10)}}function fj(e){this.token(10,e.value)}var Ap={};F(Ap,{generate:()=>kj,name:()=>bj,parse:()=>xp,structure:()=>yj});var bj=\"Operator\",yj={value:String};function xp(){let e=this.tokenStart;return this.next(),{type:\"Operator\",loc:this.getLocation(e,this.tokenStart),value:this.substrToCursor(e)}}function kj(e){this.tokenize(e.value)}var Cp={};F(Cp,{generate:()=>Ej,name:()=>vj,parse:()=>Tp,structure:()=>Sj});var vj=\"Parentheses\",Sj={children:[[]]};function Tp(e,t){let a=this.tokenStart,o=null;return this.eat(21),o=e.call(this,t),this.eof||this.eat(22),{type:\"Parentheses\",loc:this.getLocation(a,this.tokenStart),children:o}}function Ej(e){this.token(21,\"(\"),this.children(e),this.token(22,\")\")}var Lp={};F(Lp,{generate:()=>xj,name:()=>jj,parse:()=>Rp,structure:()=>Aj});var jj=\"Percentage\",Aj={value:String};function Rp(){return{type:\"Percentage\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consumeNumber(11)}}function xj(e){this.token(11,e.value+\"%\")}var zp={};F(zp,{generate:()=>Rj,name:()=>Cj,parse:()=>Ip,structure:()=>Lj,walkContext:()=>Tj});var Cj=\"PseudoClassSelector\",Tj=\"function\",Lj={name:String,children:[[\"Raw\"],null]};function Ip(){let e=this.tokenStart,t=null,a,o;return this.eat(16),this.tokenType===2?(a=this.consumeFunctionName(),o=a.toLowerCase(),this.lookupNonWSType(0)==22?t=this.createList():hasOwnProperty.call(this.pseudo,o)?(this.skipSC(),t=this.pseudo[o].call(this),this.skipSC()):(t=this.createList(),t.push(this.Raw(this.tokenIndex,null,!1))),this.eat(22)):a=this.consume(1),{type:\"PseudoClassSelector\",loc:this.getLocation(e,this.tokenStart),name:a,children:t}}function Rj(e){this.token(16,\":\"),e.children===null?this.token(1,e.name):(this.token(2,e.name+\"(\"),this.children(e),this.token(22,\")\"))}var _p={};F(_p,{generate:()=>Mj,name:()=>zj,parse:()=>Mp,structure:()=>_j,walkContext:()=>Ij});var zj=\"PseudoElementSelector\",Ij=\"function\",_j={name:String,children:[[\"Raw\"],null]};function Mp(){let e=this.tokenStart,t=null,a,o;return this.eat(16),this.eat(16),this.tokenType===2?(a=this.consumeFunctionName(),o=a.toLowerCase(),this.lookupNonWSType(0)==22?t=this.createList():hasOwnProperty.call(this.pseudo,o)?(this.skipSC(),t=this.pseudo[o].call(this),this.skipSC()):(t=this.createList(),t.push(this.Raw(this.tokenIndex,null,!1))),this.eat(22)):a=this.consume(1),{type:\"PseudoElementSelector\",loc:this.getLocation(e,this.tokenStart),name:a,children:t}}function Mj(e){this.token(16,\":\"),this.token(16,\":\"),e.children===null?this.token(1,e.name):(this.token(2,e.name+\"(\"),this.children(e),this.token(22,\")\"))}var Pp={};F(Pp,{generate:()=>Fj,name:()=>Nj,parse:()=>Dp,structure:()=>Oj});var Pj=47,Dj=46;function Hh(){this.skipSC();let e=this.consume(10);for(let t=0;t<e.length;t++){let a=e.charCodeAt(t);!Se(a)&&a!==Dj&&this.error(\"Unsigned number is expected\",this.tokenStart-e.length+t)}return Number(e)===0&&this.error(\"Zero number is not allowed\",this.tokenStart-e.length),e}var Nj=\"Ratio\",Oj={left:String,right:String};function Dp(){let e=this.tokenStart,t=Hh.call(this),a;return this.skipSC(),this.eatDelim(Pj),a=Hh.call(this),{type:\"Ratio\",loc:this.getLocation(e,this.tokenStart),left:t,right:a}}function Fj(e){this.token(10,e.left),this.token(9,\"/\"),this.token(10,e.right)}var Np={};F(Np,{generate:()=>Gj,name:()=>Uj,parse:()=>Op,structure:()=>Hj});function Bj(){return this.tokenIndex>0&&this.lookupType(-1)===13?this.tokenIndex>1?this.getTokenStart(this.tokenIndex-1):this.firstCharOffset:this.tokenStart}var Uj=\"Raw\",Hj={value:String};function Op(e,t,a){let o=this.getTokenStart(e),i;return this.skipUntilBalanced(e,t||this.consumeUntilBalanceEnd),a&&this.tokenStart>o?i=Bj.call(this):i=this.tokenStart,{type:\"Raw\",loc:this.getLocation(o,i),value:this.substring(o,i)}}function Gj(e){this.tokenize(e.value)}var Fp={};F(Fp,{generate:()=>Xj,name:()=>Vj,parse:()=>Bp,structure:()=>Kj,walkContext:()=>Wj});function Gh(e){return this.Raw(e,this.consumeUntilLeftCurlyBracket,!0)}function qj(){let e=this.SelectorList();return e.type!==\"Raw\"&&this.eof===!1&&this.tokenType!==23&&this.error(),e}var Vj=\"Rule\",Wj=\"rule\",Kj={prelude:[\"SelectorList\",\"Raw\"],block:[\"Block\"]};function Bp(){let e=this.tokenIndex,t=this.tokenStart,a,o;return this.parseRulePrelude?a=this.parseWithFallback(qj,Gh):a=Gh.call(this,e),o=this.Block(!0),{type:\"Rule\",loc:this.getLocation(t,this.tokenStart),prelude:a,block:o}}function Xj(e){this.node(e.prelude),this.node(e.block)}var Up={};F(Up,{generate:()=>Zj,name:()=>Yj,parse:()=>Hp,structure:()=>Jj});var Yj=\"Selector\",Jj={children:[[\"TypeSelector\",\"IdSelector\",\"ClassSelector\",\"AttributeSelector\",\"PseudoClassSelector\",\"PseudoElementSelector\",\"Combinator\",\"WhiteSpace\"]]};function Hp(){let e=this.readSequence(this.scope.Selector);return this.getFirstListNode(e)===null&&this.error(\"Selector is expected\"),{type:\"Selector\",loc:this.getLocationFromList(e),children:e}}function Zj(e){this.children(e)}var Gp={};F(Gp,{generate:()=>tA,name:()=>$j,parse:()=>qp,structure:()=>eA,walkContext:()=>Qj});var $j=\"SelectorList\",Qj=\"selector\",eA={children:[[\"Selector\",\"Raw\"]]};function qp(){let e=this.createList();for(;!this.eof;){if(e.push(this.Selector()),this.tokenType===18){this.next();continue}break}return{type:\"SelectorList\",loc:this.getLocationFromList(e),children:e}}function tA(e){this.children(e,()=>this.token(18,\",\"))}var Vp={};F(Vp,{generate:()=>iA,name:()=>aA,parse:()=>Jp,structure:()=>oA});var Wp={};F(Wp,{decode:()=>zl,encode:()=>Yp});var rl=92,Kp=34,Xp=39;function zl(e){let t=e.length,a=e.charCodeAt(0),o=a===Kp||a===Xp?1:0,i=o===1&&t>1&&e.charCodeAt(t-1)===a?t-2:t-1,n=\"\";for(let s=o;s<=i;s++){let r=e.charCodeAt(s);if(r===rl){if(s===i){s!==t-1&&(n=e.substr(s+1));break}if(r=e.charCodeAt(++s),ct(rl,r)){let l=s-1,c=da(e,l);s=c-1,n+=gl(e.substring(l+1,c))}else r===13&&e.charCodeAt(s+1)===10&&s++}else n+=e[s]}return n}function Yp(e,t){let a=t?\"'\":'\"',o=t?Xp:Kp,i=\"\",n=!1;for(let s=0;s<e.length;s++){let r=e.charCodeAt(s);if(r===0){i+=\"\\uFFFD\";continue}if(r<=31||r===127){i+=\"\\\\\"+r.toString(16),n=!0;continue}r===o||r===rl?(i+=\"\\\\\"+e.charAt(s),n=!1):(n&&(Vt(r)||ca(r))&&(i+=\" \"),i+=e.charAt(s),n=!1)}return a+i+a}var aA=\"String\",oA={value:String};function Jp(){return{type:\"String\",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:zl(this.consume(5))}}function iA(e){this.token(5,Yp(e.value))}var Zp={};F(Zp,{generate:()=>cA,name:()=>rA,parse:()=>$p,structure:()=>lA,walkContext:()=>sA});var nA=33;function qh(e){return this.Raw(e,null,!1)}var rA=\"StyleSheet\",sA=\"stylesheet\",lA={children:[[\"Comment\",\"CDO\",\"CDC\",\"Atrule\",\"Rule\",\"Raw\"]]};function $p(){let e=this.tokenStart,t=this.createList(),a;for(;!this.eof;){switch(this.tokenType){case 13:this.next();continue;case 25:if(this.charCodeAt(this.tokenStart+2)!==nA){this.next();continue}a=this.Comment();break;case 14:a=this.CDO();break;case 15:a=this.CDC();break;case 3:a=this.parseWithFallback(this.Atrule,qh);break;default:a=this.parseWithFallback(this.Rule,qh)}t.push(a)}return{type:\"StyleSheet\",loc:this.getLocation(e,this.tokenStart),children:t}}function cA(e){this.children(e)}var Qp={};F(Qp,{generate:()=>uA,name:()=>mA,parse:()=>eg,structure:()=>hA});var dA=42,Vh=124;function Gs(){this.tokenType!==1&&this.isDelim(dA)===!1&&this.error(\"Identifier or asterisk is expected\"),this.next()}var mA=\"TypeSelector\",hA={name:String};function eg(){let e=this.tokenStart;return this.isDelim(Vh)?(this.next(),Gs.call(this)):(Gs.call(this),this.isDelim(Vh)&&(this.next(),Gs.call(this))),{type:\"TypeSelector\",loc:this.getLocation(e,this.tokenStart),name:this.substrToCursor(e)}}function uA(e){this.tokenize(e.name)}var tg={};F(tg,{generate:()=>bA,name:()=>wA,parse:()=>ig,structure:()=>fA});var ag=43,og=45,sl=63;function Wo(e,t){let a=0;for(let o=this.tokenStart+e;o<this.tokenEnd;o++){let i=this.charCodeAt(o);if(i===og&&t&&a!==0)return Wo.call(this,e+a+1,!1),-1;Vt(i)||this.error(t&&a!==0?\"Hyphen minus\"+(a<6?\" or hex digit\":\"\")+\" is expected\":a<6?\"Hex digit is expected\":\"Unexpected input\",o),++a>6&&this.error(\"Too many hex digits\",o)}return this.next(),a}function Qi(e){let t=0;for(;this.isDelim(sl);)++t>e&&this.error(\"Too many question marks\"),this.next()}function pA(e){this.charCodeAt(this.tokenStart)!==e&&this.error((e===ag?\"Plus sign\":\"Hyphen minus\")+\" is expected\")}function gA(){let e=0;switch(this.tokenType){case 10:if(e=Wo.call(this,1,!0),this.isDelim(sl)){Qi.call(this,6-e);break}if(this.tokenType===12||this.tokenType===10){pA.call(this,og),Wo.call(this,1,!1);break}break;case 12:e=Wo.call(this,1,!0),e>0&&Qi.call(this,6-e);break;default:if(this.eatDelim(ag),this.tokenType===1){e=Wo.call(this,0,!0),e>0&&Qi.call(this,6-e);break}if(this.isDelim(sl)){this.next(),Qi.call(this,5);break}this.error(\"Hex digit or question mark is expected\")}}var wA=\"UnicodeRange\",fA={value:String};function ig(){let e=this.tokenStart;return this.eatIdent(\"u\"),gA.call(this),{type:\"UnicodeRange\",loc:this.getLocation(e,this.tokenStart),value:this.substrToCursor(e)}}function bA(e){this.tokenize(e.value)}var ng={};F(ng,{generate:()=>AA,name:()=>EA,parse:()=>dg,structure:()=>jA});var rg={};F(rg,{decode:()=>lg,encode:()=>cg});var yA=32,ll=92,kA=34,vA=39,SA=40,sg=41;function lg(e){let t=e.length,a=4,o=e.charCodeAt(t-1)===sg?t-2:t-1,i=\"\";for(;a<o&&ca(e.charCodeAt(a));)a++;for(;a<o&&ca(e.charCodeAt(o));)o--;for(let n=a;n<=o;n++){let s=e.charCodeAt(n);if(s===ll){if(n===o){n!==t-1&&(i=e.substr(n+1));break}if(s=e.charCodeAt(++n),ct(ll,s)){let r=n-1,l=da(e,r);n=l-1,i+=gl(e.substring(r+1,l))}else s===13&&e.charCodeAt(n+1)===10&&n++}else i+=e[n]}return i}function cg(e){let t=\"\",a=!1;for(let o=0;o<e.length;o++){let i=e.charCodeAt(o);if(i===0){t+=\"\\uFFFD\";continue}if(i<=31||i===127){t+=\"\\\\\"+i.toString(16),a=!0;continue}i===yA||i===ll||i===kA||i===vA||i===SA||i===sg?(t+=\"\\\\\"+e.charAt(o),a=!1):(a&&Vt(i)&&(t+=\" \"),t+=e.charAt(o),a=!1)}return\"url(\"+t+\")\"}var EA=\"Url\",jA={value:String};function dg(){let e=this.tokenStart,t;switch(this.tokenType){case 7:t=lg(this.consume(7));break;case 2:this.cmpStr(this.tokenStart,this.tokenEnd,\"url(\")||this.error(\"Function name must be `url`\"),this.eat(2),this.skipSC(),t=zl(this.consume(5)),this.skipSC(),this.eof||this.eat(22);break;default:this.error(\"Url or Function is expected\")}return{type:\"Url\",loc:this.getLocation(e,this.tokenStart),value:t}}function AA(e){this.token(7,cg(e.value))}var mg={};F(mg,{generate:()=>TA,name:()=>xA,parse:()=>hg,structure:()=>CA});var xA=\"Value\",CA={children:[[]]};function hg(){let e=this.tokenStart,t=this.readSequence(this.scope.Value);return{type:\"Value\",loc:this.getLocation(e,this.tokenStart),children:t}}function TA(e){this.children(e)}var ug={};F(ug,{generate:()=>IA,name:()=>RA,parse:()=>pg,structure:()=>zA});var LA=Object.freeze({type:\"WhiteSpace\",loc:null,value:\" \"}),RA=\"WhiteSpace\",zA={value:String};function pg(){return this.eat(13),LA}function IA(e){this.token(13,e.value)}var _A={generic:!0,...kS,node:Rl},gg={};F(gg,{AtrulePrelude:()=>FA,Selector:()=>JA,Value:()=>QA});var MA=35,PA=42,Wh=43,DA=45,NA=47,OA=117;function wg(e){switch(this.tokenType){case 4:return this.Hash();case 18:return this.Operator();case 21:return this.Parentheses(this.readSequence,e.recognizer);case 19:return this.Brackets(this.readSequence,e.recognizer);case 5:return this.String();case 12:return this.Dimension();case 11:return this.Percentage();case 10:return this.Number();case 2:return this.cmpStr(this.tokenStart,this.tokenEnd,\"url(\")?this.Url():this.Function(this.readSequence,e.recognizer);case 7:return this.Url();case 1:return this.cmpChar(this.tokenStart,OA)&&this.cmpChar(this.tokenStart+1,Wh)?this.UnicodeRange():this.Identifier();case 9:{let t=this.charCodeAt(this.tokenStart);if(t===NA||t===PA||t===Wh||t===DA)return this.Operator();t===MA&&this.error(\"Hex or identifier is expected\",this.tokenStart+1);break}}}var FA={getNode:wg},BA=35,UA=38,HA=42,GA=43,qA=47,Kh=46,VA=62,WA=124,KA=126;function XA(e,t){t.last!==null&&t.last.type!==\"Combinator\"&&e!==null&&e.type!==\"Combinator\"&&t.push({type:\"Combinator\",loc:null,name:\" \"})}function YA(){switch(this.tokenType){case 19:return this.AttributeSelector();case 4:return this.IdSelector();case 16:return this.lookupType(1)===16?this.PseudoElementSelector():this.PseudoClassSelector();case 1:return this.TypeSelector();case 10:case 11:return this.Percentage();case 12:this.charCodeAt(this.tokenStart)===Kh&&this.error(\"Identifier is expected\",this.tokenStart+1);break;case 9:{switch(this.charCodeAt(this.tokenStart)){case GA:case VA:case KA:case qA:return this.Combinator();case Kh:return this.ClassSelector();case HA:case WA:return this.TypeSelector();case BA:return this.IdSelector();case UA:return this.NestingSelector()}break}}}var JA={onWhiteSpace:XA,getNode:YA};function ZA(){return this.createSingleNodeList(this.Raw(this.tokenIndex,null,!1))}function $A(){let e=this.createList();if(this.skipSC(),e.push(this.Identifier()),this.skipSC(),this.tokenType===18){e.push(this.Operator());let t=this.tokenIndex,a=this.parseCustomProperty?this.Value(null):this.Raw(this.tokenIndex,this.consumeUntilExclamationMarkOrSemicolon,!1);if(a.type===\"Value\"&&a.children.isEmpty){for(let o=t-this.tokenIndex;o<=0;o++)if(this.lookupType(o)===13){a.children.appendData({type:\"WhiteSpace\",loc:null,value:\" \"});break}}e.push(a)}return e}function Xh(e){return e!==null&&e.type===\"Operator\"&&(e.value[e.value.length-1]===\"-\"||e.value[e.value.length-1]===\"+\")}var QA={getNode:wg,onWhiteSpace(e,t){Xh(e)&&(e.value=\" \"+e.value),Xh(t.last)&&(t.last.value+=\" \")},expression:ZA,var:$A},ex={parse:{prelude:null,block(){return this.Block(!0)}}},tx={parse:{prelude(){let e=this.createList();switch(this.skipSC(),this.tokenType){case 5:e.push(this.String());break;case 7:case 2:e.push(this.Url());break;default:this.error(\"String or url() is expected\")}return(this.lookupNonWSType(0)===1||this.lookupNonWSType(0)===21)&&e.push(this.MediaQueryList()),e},block:null}},ax={parse:{prelude(){return this.createSingleNodeList(this.MediaQueryList())},block(e=!1){return this.Block(e)}}},ox={parse:{prelude(){return this.createSingleNodeList(this.SelectorList())},block(){return this.Block(!0)}}},ix={parse:{prelude(){return this.createSingleNodeList(this.SelectorList())},block(){return this.Block(!0)}}};function nx(){return this.createSingleNodeList(this.Raw(this.tokenIndex,null,!1))}function rx(){return this.skipSC(),this.tokenType===1&&this.lookupNonWSType(1)===16?this.createSingleNodeList(this.Declaration()):fg.call(this)}function fg(){let e=this.createList(),t;this.skipSC();e:for(;!this.eof;){switch(this.tokenType){case 25:case 13:this.next();continue;case 2:t=this.Function(nx,this.scope.AtrulePrelude);break;case 1:t=this.Identifier();break;case 21:t=this.Parentheses(rx,this.scope.AtrulePrelude);break;default:break e}e.push(t)}return e}var sx={parse:{prelude(){let e=fg.call(this);return this.getFirstListNode(e)===null&&this.error(\"Condition is expected\"),e},block(e=!1){return this.Block(e)}}},lx={\"font-face\":ex,import:tx,media:ax,nest:ox,page:ix,supports:sx},sa={parse(){return this.createSingleNodeList(this.SelectorList())}},qs={parse(){return this.createSingleNodeList(this.Selector())}},Yh={parse(){return this.createSingleNodeList(this.Identifier())}},en={parse(){return this.createSingleNodeList(this.Nth())}},cx={dir:Yh,has:sa,lang:Yh,matches:sa,is:sa,\"-moz-any\":sa,\"-webkit-any\":sa,where:sa,not:sa,\"nth-child\":en,\"nth-last-child\":en,\"nth-last-of-type\":en,\"nth-of-type\":en,slotted:qs,host:qs,\"host-context\":qs},bg={};F(bg,{AnPlusB:()=>Lu,Atrule:()=>zu,AtrulePrelude:()=>_u,AttributeSelector:()=>Du,Block:()=>Fu,Brackets:()=>Uu,CDC:()=>Gu,CDO:()=>Vu,ClassSelector:()=>Ku,Combinator:()=>Yu,Comment:()=>Zu,Declaration:()=>ep,DeclarationList:()=>ap,Dimension:()=>ip,Function:()=>rp,Hash:()=>lp,IdSelector:()=>hp,Identifier:()=>dp,MediaFeature:()=>pp,MediaQuery:()=>wp,MediaQueryList:()=>bp,NestingSelector:()=>kp,Nth:()=>Sp,Number:()=>jp,Operator:()=>xp,Parentheses:()=>Tp,Percentage:()=>Rp,PseudoClassSelector:()=>Ip,PseudoElementSelector:()=>Mp,Ratio:()=>Dp,Raw:()=>Op,Rule:()=>Bp,Selector:()=>Hp,SelectorList:()=>qp,String:()=>Jp,StyleSheet:()=>$p,TypeSelector:()=>eg,UnicodeRange:()=>ig,Url:()=>dg,Value:()=>hg,WhiteSpace:()=>pg});var dx={parseContext:{default:\"StyleSheet\",stylesheet:\"StyleSheet\",atrule:\"Atrule\",atrulePrelude(e){return this.AtrulePrelude(e.atrule?String(e.atrule):null)},mediaQueryList:\"MediaQueryList\",mediaQuery:\"MediaQuery\",rule:\"Rule\",selectorList:\"SelectorList\",selector:\"Selector\",block(){return this.Block(!0)},declarationList:\"DeclarationList\",declaration:\"Declaration\",value:\"Value\"},scope:gg,atrule:lx,pseudo:cx,node:bg},mx={node:Rl},hx=Cu({..._A,...dx,...mx}),ux=\"2.3.1\";function cl(e){let t={};for(let a in e){let o=e[a];o&&(Array.isArray(o)||o instanceof fe?o=o.map(cl):o.constructor===Object&&(o=cl(o))),t[a]=o}return t}var yg={};F(yg,{decode:()=>px,encode:()=>gx});var Jh=92;function px(e){let t=e.length-1,a=\"\";for(let o=0;o<e.length;o++){let i=e.charCodeAt(o);if(i===Jh){if(o===t)break;if(i=e.charCodeAt(++o),ct(Jh,i)){let n=o-1,s=da(e,n);o=s-1,a+=gl(e.substring(n+1,s))}else i===13&&e.charCodeAt(o+1)===10&&o++}else a+=e[o]}return a}function gx(e){let t=\"\";if(e.length===1&&e.charCodeAt(0)===45)return\"\\\\-\";for(let a=0;a<e.length;a++){let o=e.charCodeAt(a);if(o===0){t+=\"\\uFFFD\";continue}if(o<=31||o===127||o>=48&&o<=57&&(a===0||a===1&&e.charCodeAt(0)===45)){t+=\"\\\\\"+o.toString(16)+\" \";continue}ul(o)?t+=e.charAt(a):t+=\"\\\\\"+e.charAt(a)}return t}var{tokenize:wx,parse:pe,generate:W,lexer:fx,createLexer:bx,walk:yx,find:It,findLast:kx,findAll:Il,toPlainObject:vx,fromPlainObject:Sx,fork:Ex}=hx;var kg=/^'(.*?)'$/,jx=/^\"(.*?)\"$/,Ax=[\"inherit\",\"initial\",\"unset\"],xx=[\"caption\",\"icon\",\"menu\",\"message-box\",\"small-caption\",\"status-bar\"],Cx=[\"normal\",\"bold\",\"bolder\",\"lighter\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"],Tx=[\"normal\",\"italic\",\"oblique\"],Lx=[\"normal\",\"condensed\",\"semi-condensed\",\"extra-condensed\",\"ultra-condensed\",\"expanded\",\"semi-expanded\",\"extra-expanded\",\"ultra-expanded\"],Rx=\"[parse-css-font] \";function Ml(e){let t=W(e);if(xx.indexOf(t)!==-1)return{system:t};let a=e.children,o={lineHeight:\"normal\",stretch:\"normal\",style:\"normal\",variant:\"normal\",weight:\"normal\"},i=!1;for(let n=a.head;n;n=n.next){let s=W(n.data);if(s===\"normal\"||Ax.indexOf(s)!==-1){[\"style\",\"variant\",\"weight\",\"stretch\"].forEach(r=>{o[r]=s}),i=!0;continue}if(Cx.indexOf(s)!==-1){if(i)continue;o.weight=s;continue}if(Tx.indexOf(s)!==-1){if(i)continue;o.style=s;continue}if(Lx.indexOf(s)!==-1){if(i)continue;o.stretch=s;continue}if(n.data.type==\"Dimension\"){if(o.size=W(n.data),n=n.next,n&&n.data.type==\"Operator\"&&n.data.value==\"/\"&&n.next?(n=n.next,o.lineHeight=W(n.data),n=n.next):a.head.data.type==\"Operator\"&&a.head.data.value==\"/\"&&a.head.next&&(o.lineHeight=W(a.head.next.data),n=a.head.next.next),!n)throw _l(\"Missing required font-family.\");o.family=[];let r=\"\";for(;n;){for(;n&&n.data.type==\"Operator\"&&n.data.value==\",\";)n=n.next;if(n)if(n.data.type==\"Identifier\")for(;n&&n.data.type==\"Identifier\";)r+=\" \"+W(n.data),n=n.next;else r=zx(W(n.data)),n=n.next;r=r.trim(),r&&(o.family.push(r),r=\"\")}return o}if(o.variant!==\"normal\")throw _l(\"Unknown or unsupported font token: \"+o.variant);i||(o.variant=s)}throw _l(\"Missing required font-size.\")}function _l(e){return new Error(Rx+e)}function zx(e){return e.match(kg)?e=e.replace(kg,\"$1\"):e=e.replace(jx,\"$1\"),e.trim()}var An={};oe(An,{parseMediaList:()=>Pl});function Ix(e,t=0){let a=[{mode:\"normal\",character:null}],o=[],i=0,n=\"\",s=null,r=null,l=t,c=e;e[0]===\"(\"&&e[e.length-1]===\")\"&&(c=e.substring(1,e.length-1),l++);for(let d=0;d<c.length;d++){let m=c[d];if((m===\"'\"||m==='\"')&&(a[i].isCalculationEnabled===!0?(a.push({mode:\"string\",isCalculationEnabled:!1,character:m}),i++):a[i].mode===\"string\"&&a[i].character===m&&c[d-1]!==\"\\\\\"&&(a.pop(),i--)),m===\"{\"?(a.push({mode:\"interpolation\",isCalculationEnabled:!0}),i++):m===\"}\"&&(a.pop(),i--),a[i].mode===\"normal\"&&m===\":\"){let h=c.substring(d+1);r={type:\"value\",before:/^(\\s*)/.exec(h)[1],after:/(\\s*)$/.exec(h)[1],value:h.trim()},r.sourceIndex=r.before.length+d+1+l,s={type:\"colon\",sourceIndex:d+l,after:r.before,value:\":\"};break}n+=m}return n={type:\"media-feature\",before:/^(\\s*)/.exec(n)[1],after:/(\\s*)$/.exec(n)[1],value:n.trim()},n.sourceIndex=n.before.length+l,o.push(n),s!==null&&(s.before=n.after,o.push(s)),r!==null&&o.push(r),o}function vg(e,t=0){let a=[],o=0,i=!1,n;function s(){return{before:\"\",after:\"\",value:\"\"}}n=s();for(let r=0;r<e.length;r++){let l=e[r];i?(n.value+=l,(l===\"{\"||l===\"(\")&&o++,(l===\")\"||l===\"}\")&&o--):l.search(/\\s/)!==-1?n.before+=l:(l===\"(\"&&(n.type=\"media-feature-expression\",o++),n.value=l,n.sourceIndex=t+r,i=!0),i&&o===0&&(l===\")\"||r===e.length-1||e[r+1].search(/\\s/)!==-1)&&([\"not\",\"only\",\"and\"].indexOf(n.value)!==-1&&(n.type=\"keyword\"),n.type===\"media-feature-expression\"&&(n.nodes=Ix(n.value,n.sourceIndex)),a.push(Array.isArray(n.nodes)?new ma(n):new jn(n)),n=s(),i=!1)}for(let r=0;r<a.length;r++)if(n=a[r],r>0&&(a[r-1].after=n.before),n.type===void 0){if(r>0){if(a[r-1].type===\"media-feature-expression\"){n.type=\"keyword\";continue}if(a[r-1].value===\"not\"||a[r-1].value===\"only\"){n.type=\"media-type\";continue}if(a[r-1].value===\"and\"){n.type=\"media-feature-expression\";continue}a[r-1].type===\"media-type\"&&(a[r+1]?n.type=a[r+1].type===\"media-feature-expression\"?\"keyword\":\"media-feature-expression\":n.type=\"media-feature-expression\")}if(r===0){if(!a[r+1]){n.type=\"media-type\";continue}if(a[r+1]&&(a[r+1].type===\"media-feature-expression\"||a[r+1].type===\"keyword\")){n.type=\"media-type\";continue}if(a[r+2]){if(a[r+2].type===\"media-feature-expression\"){n.type=\"media-type\",a[r+1].type=\"keyword\";continue}if(a[r+2].type===\"keyword\"){n.type=\"keyword\",a[r+1].type=\"media-type\";continue}}if(a[r+3]&&a[r+3].type===\"media-feature-expression\"){n.type=\"keyword\",a[r+1].type=\"media-type\",a[r+2].type=\"keyword\";continue}}}return a}function Pl(e){let t=[],a=0,o=0,i=/^(\\s*)url\\s*\\(/.exec(e);if(i!==null){let r=i[0].length,l=1;for(;l>0;){let c=e[r];c===\"(\"&&l++,c===\")\"&&l--,r++}t.unshift(new jn({type:\"url\",value:e.substring(0,r).trim(),sourceIndex:i[1].length,before:i[1],after:/^(\\s*)/.exec(e.substring(r))[1]})),a=r}for(let r=a;r<e.length;r++){let l=e[r];if(l===\"(\"&&o++,l===\")\"&&o--,o===0&&l===\",\"){let c=e.substring(a,r),d=/^(\\s*)/.exec(c)[1];t.push(new ma({type:\"media-query\",value:c.trim(),sourceIndex:a+d.length,nodes:vg(c,a),before:d,after:/(\\s*)$/.exec(c)[1]})),a=r+1}}let n=e.substring(a),s=/^(\\s*)/.exec(n)[1];return t.push(new ma({type:\"media-query\",value:n.trim(),sourceIndex:a+s.length,nodes:vg(n,a),before:s,after:/(\\s*)$/.exec(n)[1]})),t}function ma(e){this.constructor(e),this.nodes=e.nodes,this.after===void 0&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:\"\"),this.before===void 0&&(this.before=this.nodes.length>0?this.nodes[0].before:\"\"),this.sourceIndex===void 0&&(this.sourceIndex=this.before.length),this.nodes.forEach(t=>{t.parent=this})}ma.prototype=Object.create(jn.prototype);ma.constructor=jn;ma.prototype.walk=function(t,a){let o=typeof t==\"string\"||t instanceof RegExp,i=o?a:t,n=typeof t==\"string\"?new RegExp(t):t;for(let s=0;s<this.nodes.length;s++){let r=this.nodes[s];if((o?n.test(r.type):!0)&&i&&i(r,s,this.nodes)===!1||r.nodes&&r.walk(t,a)===!1)return!1}return!0};ma.prototype.each=function(t=()=>{}){for(let a=0;a<this.nodes.length;a++){let o=this.nodes[a];if(t(o,a,this.nodes)===!1)return!1}return!0};function jn(e){this.after=e.after,this.before=e.before,this.type=e.type,this.value=e.value,this.sourceIndex=e.sourceIndex}var $o={};oe($o,{defaultOptions:()=>jg,processString:()=>JC});var Xe=\"___PRESERVED_TOKEN_\",jg={maxLineLen:0,expandVars:!1,uglyComments:!1,cuteComments:!1,debug:!1,output:\"\"},_x=/url\\(\\s*([\"']?)data:/g,Dl=/\\s+/g,Mx=/\\n/g;function Px(e,t){let a=_x,o=e.length-1,i=[],n=0,s;for(;(s=a.exec(e))!==null;){let r=s.index+4,l=s[1];l.length===0&&(l=\")\");let c=!1,d=a.lastIndex-1;for(;c===!1&&d+1<=o&&d!=-1;)d=e.indexOf(l,d+1),d>0&&e.charAt(d-1)!==\"\\\\\"&&(c=!0,l!=\")\"&&(d=e.indexOf(\")\",d)));if(i.push(e.substring(n,s.index)),c){let m=e.substring(r,d),h=m.split(\",\");h.length>1&&h[0].slice(-7)==\";base64\"?m=m.replace(Dl,\"\"):(m=m.replace(Mx,\" \"),m=m.replace(Dl,\" \"),m=m.replace(Ag,\"\")),t.push(m);let u=\"url(\"+Xe+(t.length-1)+\"___)\";i.push(u),n=d+1}else i.push(e.substring(s.index,a.lastIndex)),n=a.lastIndex}return i.push(e.substring(n)),i.join(\"\")}var Dx=/(=\\s*?[\"']?)?#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])(\\}|[^0-9a-f{][^{]*?\\})/gi;function Nx(e){let t=Dx,a=[],o=0,i;for(;(i=t.exec(e))!==null;)a.push(e.substring(o,i.index)),i[1]?a.push(i[1]+\"#\"+(i[2]+i[3]+i[4]+i[5]+i[6]+i[7])):i[2].toLowerCase()==i[3].toLowerCase()&&i[4].toLowerCase()==i[5].toLowerCase()&&i[6].toLowerCase()==i[7].toLowerCase()?a.push(\"#\"+(i[3]+i[5]+i[7]).toLowerCase()):a.push(\"#\"+(i[2]+i[3]+i[4]+i[5]+i[6]+i[7]).toLowerCase()),o=t.lastIndex=t.lastIndex-i[8].length;return a.push(e.substring(o)),a.join(\"\")}var Ox=/@[a-z0-9-_]*keyframes\\s+[a-z0-9-_]+\\s*{/gi,xn=/(^\\s|\\s$)/g;function Fx(e,t){let a=Ox,o=0,i,n=(s,r)=>{s=s.replace(xn,\"\"),s.charAt(0)===\"0\"&&(t.push(s),i[r]=Xe+(t.length-1)+\"___\")};for(;;){let s=0;i=\"\";let r=e.slice(o).search(a);if(r<0)break;o+=r,r=o;let l=e.length,c=[];for(;o<l;++o){let d=e.charAt(o);if(d===\"{\")s===0?c.push(i.replace(xn,\"\")):s===1&&(i=i.split(\",\"),i.forEach(n),c.push(i.join(\",\").replace(xn,\"\"))),i=\"\",s+=1;else if(d===\"}\"){if(s===2)c.push(\"{\"+i.replace(xn,\"\")+\"}\"),i=\"\";else if(s===1){e=e.slice(0,r)+c.shift()+\"{\"+c.join(\"\")+e.slice(o);break}s-=1}if(s<0)break;d!==\"{\"&&d!==\"}\"&&(i+=d)}}return e}function Bx(e,t){let a=[],o=0,i;for(;;){let n=e.indexOf(\"/*\",o);if(n>-1)if(i=e.indexOf(\"*/\",n+2),i>-1)t.push(e.slice(n+2,i)),a.push(e.slice(o,n)),a.push(\"/*___PRESERVE_CANDIDATE_COMMENT_\"+(t.length-1)+\"___*/\"),o=i+2;else{i=-2;break}else break}return a.push(e.slice(i+2)),a.join(\"\")}var Ux=/\"([^\\\\\"])*\"/g,Hx=/\"(\\\\.)*\"/g,Gx=/\"(\\\\)*\"/g,qx=/'([^\\\\'])*'/g,Vx=/'(\\\\.)*'/g,Wx=/'(\\\\)*'/g,Kx=/progid:DXImageTransform.Microsoft.Alpha\\(Opacity=/gi,Xx=/\\r\\n/g,Yx=/[\\r\\n]/g,Jx=/@variables\\s*\\{\\s*([^}]+)\\s*\\}/g,Zx=/\\s*([a-z0-9-]+)\\s*:\\s*([^;}]+)\\s*/gi,$x=/var\\s*\\(\\s*([^)]+)\\s*\\)/g,Qx=/calc\\(([^;}]*)\\)/g,Sg=/(^\\s*|\\s*$)/g,eC=/\\( /g,tC=/ \\)/g,aC=/\\s*filter:\\s*progid:DXImageTransform.Microsoft.Matrix\\(([^)]+)\\);/g,oC=/(^|\\})(([^{:])+:)+([^{]*{)/g,iC=/\\s+([!{;:>+()\\],])/g,nC=/([^\\\\])\\s+([}])/g,rC=/!important/g,sC=/___PSEUDOCLASSCOLON___/g,lC=/:/g,cC=/\\s*(animation|animation-delay|animation-duration|transition|transition-delay|transition-duration):\\s*([^;}]+)/gi,dC=/(^|\\D)0?\\.?0(m?s)/gi,mC=/\\s*(flex|flex-basis):\\s*([^;}]+)/gi,hC=/\\s+/,uC=/(hsla?)\\(([^)]+)\\)/g,Ag=/(^\\s+|\\s+$)/g,pC=/:first-(line|letter)(\\{|,)/gi,gC=/^(.*)(@charset)( \"[^\"]*\";)/gi,wC=/^((\\s*)(@charset)( [^;]+;\\s*))+/gi,fC=/@(font-face|import|(?:-(?:atsc|khtml|moz|ms|o|wap|webkit)-)?keyframe|media|page|namespace)/gi,bC=/:(active|after|before|checked|disabled|empty|enabled|first-(?:child|of-type)|focus|hover|last-(?:child|of-type)|link|only-(?:child|of-type)|root|:selection|target|visited)/gi,yC=/^(.*)(@charset \"[^\"]*\";)/g,kC=/^(\\s*@charset [^;]+;\\s*)+/g,vC=/:(lang|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|(?:-(?:atsc|khtml|moz|ms|o|wap|webkit)-)?any)\\(/gi,SC=/([:,( ]\\s*)(attr|color-stop|from|rgba|to|url|(?:-(?:atsc|khtml|moz|ms|o|wap|webkit)-)?(?:calc|max|min|(?:repeating-)?(?:linear|radial)-gradient)|-webkit-gradient)/gi,EC=/\\s*\\/\\*/g,Eg=/\\*\\/\\s*/g,jC=/\\band\\(/gi,AC=/([^:])not\\(/gi,xC=/\\bor\\(/gi,CC=/([!{}:;>+([,])\\s+/g,TC=/;+\\}/g,LC=/([0-9])\\.0(ex|ch|r?em|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|g?rad|turn|m?s|k?Hz|dpi|dpcm|dppx|%| |;)/gi,RC=/:0 0 0 0(;|\\})/g,zC=/:0 0 0(;|\\})/g,IC=/(transform-origin|webkit-transform-origin|moz-transform-origin|o-transform-origin|ms-transform-origin|box-shadow):0(;|\\})/gi,_C=/(:|\\s)0+\\.(\\d+)/g,MC=/rgb\\s*\\(\\s*([0-9,\\s]+)\\s*\\)/gi,PC=/(border|border-top|border-right|border-bottom|border-left|outline|background):none(;|\\})/gi,DC=/progid:DXImageTransform\\.Microsoft\\.Alpha\\(Opacity=/gi,NC=/\\(([-A-Za-z]+):([0-9]+)\\/([0-9]+)\\)/g,OC=/___QUERY_FRACTION___/g,FC=/;;+/g,BC=/(:|\\s)(#f00)(;|})/g,UC=/___PRESERVED_NEWLINE___/g,HC=/(:|\\s)(#000080)(;|})/g,GC=/(:|\\s)(#808080)(;|})/g,qC=/(:|\\s)(#808000)(;|})/g,VC=/(:|\\s)(#800080)(;|})/g,WC=/(:|\\s)(#c0c0c0)(;|})/g,KC=/(:|\\s)(#008080)(;|})/g,XC=/(:|\\s)(#ffa500)(;|})/g,YC=/(:|\\s)(#800000)(;|})/g;function JC(e=\"\",t=jg){let a=[],o=[],i,n=e;e=Px(e,o),e=Bx(e,a),s(Ux),s(Hx),s(Gx),s(qx),s(Vx),s(Wx);function s(r){e=e.replace(r,l=>{let c=l.substring(0,1);if(l=l.slice(1,-1),l.indexOf(\"___PRESERVE_CANDIDATE_COMMENT_\")>=0)for(let d=0,m=a.length;d<m;d+=1)l=l.replace(\"___PRESERVE_CANDIDATE_COMMENT_\"+d+\"___\",a[d]);return l=l.replace(Kx,\"alpha(opacity=\"),o.push(l),c+Xe+(o.length-1)+\"___\"+c})}for(let r=0,l=a.length;r<l;r+=1){let c=a[r],d=\"___PRESERVE_CANDIDATE_COMMENT_\"+r+\"___\";if(c.charAt(0)===\"!\"){t.cuteComments?o.push(c.substring(1).replace(Xx,`\n`)):t.uglyComments?o.push(c.substring(1).replace(Yx,\"\")):o.push(c),e=e.replace(d,Xe+(o.length-1)+\"___\");continue}if(c.charAt(c.length-1)===\"\\\\\"){o.push(\"\\\\\"),e=e.replace(d,Xe+(o.length-1)+\"___\"),r=r+1,o.push(\"\"),e=e.replace(\"___PRESERVE_CANDIDATE_COMMENT_\"+r+\"___\",Xe+(o.length-1)+\"___\");continue}if(c.length===0){let m=e.indexOf(d);m>2&&e.charAt(m-3)===\">\"&&(o.push(\"\"),e=e.replace(d,Xe+(o.length-1)+\"___\"))}e=e.replace(`/*${d}*/`,\"\")}if(t.expandVars){let r={};i=Jx,e=e.replace(i,(l,c)=>(i=Zx,c.replace(i,(d,m,h)=>(m&&h&&(r[m]=h),\"\")),\"\")),i=$x,e=e.replace(i,(l,c)=>r[c]||\"none\")}e=e.replace(Dl,\" \"),i=Qx,e=e.replace(i,(r,l)=>(o.push(\"calc(\"+l.replace(Sg,\"\").replace(eC,\"(\").replace(tC,\")\")+\")\"),Xe+(o.length-1)+\"___\")),i=aC,e=e.replace(i,(r,l)=>(o.push(l),\"filter:progid:DXImageTransform.Microsoft.Matrix(\"+Xe+(o.length-1)+\"___);\"));try{i=oC,e=e.replace(i,r=>r.replace(lC,\"___PSEUDOCLASSCOLON___\"))}catch{}if(e=e.replace(iC,\"$1\"),e=e.replace(nC,\"$1$2\"),e=e.replace(rC,\" !important\"),e=e.replace(sC,\":\"),i=cC,e=e.replace(i,(r,l,c)=>(c=c.replace(dC,(d,m,h)=>(o.push(\"0\"+h),m+Xe+(o.length-1)+\"___\")),l+\":\"+c)),i=mC,e=e.replace(i,(r,l,c)=>{let d=c.split(hC);return o.push(d.pop()),d.push(Xe+(o.length-1)+\"___\"),d=d.join(\" \"),`${l}:${d}`}),e=e.replace(uC,(r,l,c)=>{let d=[];return c.split(\",\").forEach(m=>{m=m.replace(Ag,\"\"),m===\"0%\"?(o.push(\"0%\"),d.push(Xe+(o.length-1)+\"___\")):d.push(m)}),l+\"(\"+d.join(\",\")+\")\"}),e=Fx(e,o),e=e.replace(pC,(r,l,c)=>\":first-\"+l.toLowerCase()+\" \"+c),t.cuteComments?(e=e.replace(EC,\"___PRESERVED_NEWLINE___/*\"),e=e.replace(Eg,\"*/___PRESERVED_NEWLINE___\")):e=e.replace(Eg,\"*/\"),i=gC,e=e.replace(i,(r,l,c,d)=>c.toLowerCase()+d+l),i=wC,e=e.replace(i,(r,l,c,d,m)=>c+d.toLowerCase()+m),i=fC,e=e.replace(i,(r,l)=>\"@\"+l.toLowerCase()),i=bC,e=e.replace(i,(r,l)=>\":\"+l.toLowerCase()),e=e.replace(yC,\"$2$1\"),e=e.replace(kC,\"$1\"),i=vC,e=e.replace(i,(r,l)=>\":\"+l.toLowerCase()+\"(\"),i=SC,e=e.replace(i,(r,l,c)=>l+c.toLowerCase()),e=e.replace(jC,\"and (\"),e=e.replace(AC,\"$1not (\"),e=e.replace(xC,\"or (\"),e=e.replace(CC,\"$1\"),e=e.replace(TC,\"}\"),e=e.replace(LC,\"$1$2\"),e=e.replace(RC,\":0$1\"),e=e.replace(zC,\":0$1\"),i=IC,e=e.replace(i,(r,l,c)=>l.toLowerCase()+\":0 0\"+c),e=e.replace(_C,\"$1.$2\"),i=MC,e=e.replace(i,(r,l)=>{let c=l.split(\",\"),d=\"#\";for(let m=0;m<c.length;m+=1){let h=parseInt(c[m],10);h<16&&(d+=\"0\"),h>255&&(h=255),d+=h.toString(16)}return d}),e=Nx(e),e=e.replace(BC,\"$1red$3\"),e=e.replace(HC,\"$1navy$3\"),e=e.replace(GC,\"$1gray$3\"),e=e.replace(qC,\"$1olive$3\"),e=e.replace(VC,\"$1purple$3\"),e=e.replace(WC,\"$1silver$3\"),e=e.replace(KC,\"$1teal$3\"),e=e.replace(XC,\"$1orange$3\"),e=e.replace(YC,\"$1maroon$3\"),i=PC,e=e.replace(i,(r,l,c)=>l.toLowerCase()+\":0\"+c),e=e.replace(DC,\"alpha(opacity=\"),e=e.replace(NC,\"($1:$2___QUERY_FRACTION___$3)\"),e=e.replace(OC,\"/\"),t.maxLineLen>0){let r=[],l=[];for(let c=0,d=e.length;c<d;c+=1){let m=e.charAt(c);l.push(m),m===\"}\"&&l.length>t.maxLineLen&&(r.push(l.join(\"\")),l=[])}l.length&&r.push(l.join(\"\")),e=r.join(`\n`)}if(e=e.replace(FC,\";\"),e=e.replace(Sg,\"\"),o.length>1e3)return n;for(let r=o.length-1;r>=0;r--)e=e.replace(Xe+r+\"___\",o[r],\"g\");return e=e.replace(UC,`\n`),e}var $a={};oe($a,{process:()=>Nl});function Nl(e){function t(y){return y===\" \"||y===\"\t\"||y===`\n`||y===\"\\f\"||y===\"\\r\"}function a(y){let g,j=y.exec(e.substring(w));if(j)return g=j[0],w+=g.length,g}let o=e.length,i=/^[ \\t\\n\\r\\u000c]+/,n=/^[, \\t\\n\\r\\u000c]+/,s=/^[^ \\t\\n\\r\\u000c]+/,r=/[,]+$/,l=/^\\d+$/,c=/^-?(?:[0-9]+|[0-9]*\\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/,d,m,h,u,p,w=0,b=[];for(;;){if(a(n),w>=o)return b;d=a(s),m=[],d.slice(-1)===\",\"?(d=d.replace(r,\"\"),S()):E()}function E(){for(a(i),h=\"\",u=\"in descriptor\";;){if(p=e.charAt(w),u===\"in descriptor\")if(t(p))h&&(m.push(h),h=\"\",u=\"after descriptor\");else if(p===\",\"){w+=1,h&&m.push(h),S();return}else if(p===\"(\")h=h+p,u=\"in parens\";else if(p===\"\"){h&&m.push(h),S();return}else h=h+p;else if(u===\"in parens\")if(p===\")\")h=h+p,u=\"in descriptor\";else if(p===\"\"){m.push(h),S();return}else h=h+p;else if(u===\"after descriptor\"&&!t(p))if(p===\"\"){S();return}else u=\"in descriptor\",w-=1;w+=1}}function S(){let y=!1,g,j,C,z,f,k,L,A,O,U={};for(z=0;z<m.length;z++)f=m[z],k=f[f.length-1],L=f.substring(0,f.length-1),A=parseInt(L,10),O=parseFloat(L),l.test(L)&&k===\"w\"?((g||j)&&(y=!0),A===0?y=!0:g=A):c.test(L)&&k===\"x\"?((g||j||C)&&(y=!0),O<0?y=!0:j=O):l.test(L)&&k===\"h\"?((C||j)&&(y=!0),A===0?y=!0:C=A):y=!0;y?console&&console.log&&console.log('Invalid srcset descriptor found in \"'+e+'\" at \"'+f+'\".'):(U.url=d,g&&(U.w=g),j&&(U.d=j),C&&(U.h=C),b.push(U))}}var mt,xg,Cg,Qo;mt={},mt.removeLeadingAndTrailingHTTPWhitespace=e=>e.replace(/^[ \\t\\n\\r]+/,\"\").replace(/[ \\t\\n\\r]+$/,\"\"),mt.removeTrailingHTTPWhitespace=e=>e.replace(/[ \\t\\n\\r]+$/,\"\"),mt.isHTTPWhitespaceChar=e=>e===\" \"||e===\"\t\"||e===`\n`||e===\"\\r\",mt.solelyContainsHTTPTokenCodePoints=e=>/^[-!#$%&'*+.^_`|~A-Za-z0-9]*$/.test(e),mt.soleyContainsHTTPQuotedStringTokenCodePoints=e=>/^[\\t\\u0020-\\u007E\\u0080-\\u00FF]*$/.test(e),mt.asciiLowercase=e=>e.replace(/[A-Z]/g,t=>t.toLowerCase()),mt.collectAnHTTPQuotedString=(e,t)=>{let a=\"\";for(t++;;){for(;t<e.length&&e[t]!=='\"'&&e[t]!==\"\\\\\";)a+=e[t],++t;if(t>=e.length)break;let o=e[t];if(++t,o===\"\\\\\"){if(t>=e.length){a+=\"\\\\\";break}a+=e[t],++t}else break}return[a,t]};{let{solelyContainsHTTPTokenCodePoints:e}=mt;Cg=t=>{let a=`${t.type}/${t.subtype}`;if(t.parameters.size===0)return a;for(let[o,i]of t.parameters)a+=\";\",a+=o,a+=\"=\",(!e(i)||i.length===0)&&(i=i.replace(/([\"\\\\])/g,\"\\\\$1\"),i=`\"${i}\"`),a+=i;return a}}{let{removeLeadingAndTrailingHTTPWhitespace:e,removeTrailingHTTPWhitespace:t,isHTTPWhitespaceChar:a,solelyContainsHTTPTokenCodePoints:o,soleyContainsHTTPQuotedStringTokenCodePoints:i,asciiLowercase:n,collectAnHTTPQuotedString:s}=mt;xg=r=>{r=e(r);let l=0,c=\"\";for(;l<r.length&&r[l]!==\"/\";)c+=r[l],++l;if(c.length===0||!o(c)||l>=r.length)return null;++l;let d=\"\";for(;l<r.length&&r[l]!==\";\";)d+=r[l],++l;if(d=t(d),d.length===0||!o(d))return null;let m={type:n(c),subtype:n(d),parameters:new Map};for(;l<r.length;){for(++l;a(r[l]);)++l;let h=\"\";for(;l<r.length&&r[l]!==\";\"&&r[l]!==\"=\";)h+=r[l],++l;if(h=n(h),l<r.length){if(r[l]===\";\")continue;++l}let u=null;if(r[l]==='\"')for([u,l]=s(r,l);l<r.length&&r[l]!==\";\";)++l;else{for(u=\"\";l<r.length&&r[l]!==\";\";)u+=r[l],++l;if(u=t(u),u===\"\")continue}h.length>0&&o(h)&&i(u)&&!m.parameters.has(h)&&m.parameters.set(h,u)}return m}}{let e=xg,t=Cg,{asciiLowercase:a,solelyContainsHTTPTokenCodePoints:o,soleyContainsHTTPQuotedStringTokenCodePoints:i}=mt;Qo=class{constructor(r){r=String(r);let l=e(r);if(l===null)throw new Error(`Could not parse MIME type string \"${r}\"`);this._type=l.type,this._subtype=l.subtype,this._parameters=new n(l.parameters)}static parse(r){try{return new this(r)}catch{return null}}get essence(){return`${this.type}/${this.subtype}`}get type(){return this._type}set type(r){if(r=a(String(r)),r.length===0)throw new Error(\"Invalid type: must be a non-empty string\");if(!o(r))throw new Error(`Invalid type ${r}: must contain only HTTP token code points`);this._type=r}get subtype(){return this._subtype}set subtype(r){if(r=a(String(r)),r.length===0)throw new Error(\"Invalid subtype: must be a non-empty string\");if(!o(r))throw new Error(`Invalid subtype ${r}: must contain only HTTP token code points`);this._subtype=r}get parameters(){return this._parameters}toString(){return t(this)}isJavaScript({allowParameters:r=!1}={}){switch(this._type){case\"text\":switch(this._subtype){case\"ecmascript\":case\"javascript\":case\"javascript1.0\":case\"javascript1.1\":case\"javascript1.2\":case\"javascript1.3\":case\"javascript1.4\":case\"javascript1.5\":case\"jscript\":case\"livescript\":case\"x-ecmascript\":case\"x-javascript\":return r||this._parameters.size===0;default:return!1}case\"application\":switch(this._subtype){case\"ecmascript\":case\"javascript\":case\"x-ecmascript\":case\"x-javascript\":return r||this._parameters.size===0;default:return!1}default:return!1}}isXML(){return this._subtype===\"xml\"&&(this._type===\"text\"||this._type===\"application\")||this._subtype.endsWith(\"+xml\")}isHTML(){return this._subtype===\"html\"&&this._type===\"text\"}};class n{constructor(r){this._map=r}get size(){return this._map.size}get(r){return r=a(String(r)),this._map.get(r)}has(r){return r=a(String(r)),this._map.has(r)}set(r,l){if(r=a(String(r)),l=String(l),!o(r))throw new Error(`Invalid MIME type parameter name \"${r}\": only HTTP token code points are valid.`);if(!i(l))throw new Error(`Invalid MIME type parameter value \"${l}\": only HTTP quoted-string token code points are valid.`);return this._map.set(r,l)}clear(){this._map.clear()}delete(r){return r=a(String(r)),this._map.delete(r)}forEach(r,l){this._map.forEach(r,l)}keys(){return this._map.keys()}values(){return this._map.values()}entries(){return this._map.entries()}[Symbol.iterator](){return this._map[Symbol.iterator]()}}}var _n={};oe(_n,{cssRulesMinifier:()=>ni,fontsMinifier:()=>ti,htmlMinifier:()=>ci,imagesAltMinifier:()=>si,matchedRules:()=>oi,mediasAltMinifier:()=>ii,serializer:()=>di,templateFormatter:()=>eo});var ti={};oe(ti,{process:()=>t0});var Ee={normalizeFontFamily:oa,flatten:Oa,getFontWeight:Na,removeQuotes:Da},ZC=/\\s*,\\s*/,$C=/-/,Tg=/\\?/g,QC=/^U\\+/i,e0=[/^normal$/,/^italic$/,/^oblique$/,/^oblique\\s+/];function t0(e,t,a,o){let i={rules:{processed:0,discarded:0},fonts:{processed:0,discarded:0}},n={declared:[],used:[]},s=e.createElement(\"style\"),r=\"\";e.body.appendChild(s),t.forEach(h=>{let u=h.stylesheet.children;u&&(i.processed+=u.size,i.discarded+=u.size,_g(u,n,o),r=Dg(e,u,s,r))}),a.forEach(h=>{let u=Mg(h,o);u.length&&n.used.push(u),r=Ng(h.children,s,r)}),s.remove(),r+=e.body.innerText,globalThis.getComputedStyle&&o.doc&&(n.used=n.used.map(h=>h.map(u=>{let p=u.match(/^var\\((--.*)\\)$/);if(p&&p[1]){let w=globalThis.getComputedStyle(o.doc.body).getPropertyValue(p[1]);return w&&w.split(\",\").map(b=>Ee.normalizeFontFamily(b))||u}return u})),n.used=n.used.map(h=>Ee.flatten(h)));let l=n.used.find(h=>h.find(u=>u.match(/^var\\(--/))),c,d;l?c=[]:(d=new Map,n.used.forEach(h=>h.forEach(u=>{if(n.declared.find(p=>p.fontFamily==u)){let p=o.usedFonts&&o.usedFonts.filter(w=>w[0]==u);p&&p.length&&d.set(u,p)}})),c=n.declared.filter(h=>!d.has(h.fontFamily)));let m=Array.from(new Set(r)).map(h=>h.charCodeAt(0)).sort((h,u)=>h-u);return t.forEach(h=>{let u=h.stylesheet.children;u&&(Bl(u,n.declared,c,d,m),i.rules.discarded-=u.size)}),i}function _g(e,t,a){e.forEach(o=>{if(o.type==\"Atrule\"&&(o.name==\"media\"||o.name==\"supports\"||o.name==\"layer\")&&o.block&&o.block.children)_g(o.block.children,t,a);else if(o.type==\"Rule\"){let i=Mg(o.block,a);i.length&&t.used.push(i)}else if(o.type==\"Atrule\"&&o.name==\"font-face\"){let i=Ee.normalizeFontFamily(_t(o.block.children,\"font-family\"));if(i){let n=_t(o.block.children,\"font-weight\")||\"400\",s=_t(o.block.children,\"font-style\")||\"normal\",r=_t(o.block.children,\"font-variant\")||\"normal\";n.split(\",\").forEach(l=>t.declared.push({fontFamily:i,fontWeight:Ee.getFontWeight(Ee.removeQuotes(l)),fontStyle:s,fontVariant:r}))}}})}function Bl(e,t,a,o,i){let n=[];for(let s=e.head;s;s=s.next){let r=s.data;if(r.type==\"Atrule\"&&r.name==\"import\"&&r.prelude&&r.prelude.children&&r.prelude.children.head.data.importedChildren)Bl(r.prelude.children.head.data.importedChildren,t,a,o,i);else if(r.type==\"Atrule\"&&(r.name==\"media\"||r.name==\"supports\"||r.name==\"layer\")&&r.block&&r.block.children)Bl(r.block.children,t,a,o,i);else if(r.type==\"Atrule\"&&r.name==\"font-face\"){let l=Ee.normalizeFontFamily(_t(r.block.children,\"font-family\"));if(l){let d=_t(r.block.children,\"unicode-range\");(a.find(m=>m.fontFamily==l)||!o0(i,d)||!a0(r,l,t,o))&&n.push(s)}let c=[];for(let d=r.block.children.head;d;d=d.next)d.data.property==\"font-display\"&&c.push(d);c.length&&c.forEach(d=>r.block.children.remove(d))}}n.forEach(s=>e.remove(s))}function a0(e,t,a,o){let i,n=o&&o.get(t);if(n&&n.length){let s=_t(e.block.children,\"font-style\")||\"normal\";if(e0.find(r=>s.trim().match(r))){let r=Ee.getFontWeight(_t(e.block.children,\"font-weight\")||\"400\"),l=a.filter(d=>d.fontFamily==t&&d.fontStyle==s).map(d=>d.fontWeight.split(\" \")).sort((d,m)=>Number.parseInt(d[0],10)-Number.parseInt(m[0],10)),c=n.map(d=>Fl(d,s,l)).filter(d=>d);i=Ol(r,c),i||(c=n.map(d=>(d=Array.from(d),d[2]=\"normal\",Fl(d,s,l))).filter(d=>d),i=Ol(r,c),i||(c=n.map(d=>(d=Array.from(d),d[2]=s=\"normal\",Fl(d,s,l))).filter(d=>d),i=Ol(r,c)))}else i=!0}else i=!0;return i}function Ol(e,t){let a;for(let o of e.split(\",\")){let{min:i,max:n}=Lg(o);n||(n=900),a=a||t.find(s=>{let{min:r,max:l}=Lg(s);return l||(l=r),r>=i&&l<=n})}return a}function Lg(e){let t=e.split(\" \"),a=Number.parseInt(Ee.getFontWeight(t[0]),10),o=t[1]&&Number.parseInt(Ee.getFontWeight(t[1]),10);return{min:a,max:o}}function _t(e,t){let a;if(e&&(a=e.filter(o=>o.property==t).tail),a)try{return Ee.removeQuotes(W(a.data.value)).toLowerCase()}catch{}}function Mg(e,t){let a=e.children.filter(n=>n.property==\"font-family\").tail,o=[];a&&(a.data.value.children?Pg(a.data.value,o):(a=W(a.data.value),a&&o.push(Ee.normalizeFontFamily(a))));let i=e.children.filter(n=>n.property==\"font\").tail;if(i&&i.data&&i.data.value)try{let n=i.data.value,r=W(n).match(/^var\\((--.*)\\)$/);r&&r[1]&&(n=pe(globalThis.getComputedStyle(t.doc.body).getPropertyValue(r[1]),{context:\"value\"})),Ml(n).family.forEach(c=>o.push(Ee.normalizeFontFamily(c)))}catch{}return o}function Pg(e,t){let a=e.children.head;for(;a;)if(a.data.type==\"Identifier\"){let o=a.data.name,i=a.next;for(;i&&i.data.type!=\"Operator\"&&i.data.value!=\",\";)o+=\" \"+i.data.name,i=i.next;t.push(Ee.normalizeFontFamily(o)),a=a.next}else if(a.data.type==\"Function\"&&a.data.name==\"var\"&&a.data.children){let o=a.data.children.head.data.name;t.push(Ee.normalizeFontFamily(\"var(\"+o+\")\"));let i=a.data.children.head.next;for(;i&&i.data.type==\"Operator\"&&i.data.value==\",\";)i=i.next;let n=i;n&&(n.data.children?Pg(n.data,t):t.push(Ee.normalizeFontFamily(n.data.value))),a=a.next}else a.data.type==\"String\"?(t.push(Ee.normalizeFontFamily(a.data.value)),a=a.next):(a.data.type==\"Number\"&&t.push(Ee.normalizeFontFamily(String(a.data.value))),a=a.next)}function Fl(e,t,a){let o;if(a=a.map(i=>i.map(n=>String(Number.parseInt(n,10)))),e[2]==t){let i=Number(e[1]);a.length>1?(i>=400&&i<=500&&(o=a.find(n=>n[0]>=i&&n[0]<=500),o||(o=Rg(i,a)),o||(o=zg(i,a))),i<400&&(o=a.slice().reverse().find(n=>n[n.length-1]<=i),o||(o=zg(i,a))),i>500&&(o=a.find(n=>n[0]>=i),o||(o=Rg(i,a))),o||(o=a.find(n=>n[0]<=i&&n[n.length-1]>=i))):o=a[0]}return o?o.join(\" \"):void 0}function Rg(e,t){return t.slice().reverse().find(a=>a[a.length-1]<e)}function zg(e,t){return t.find(a=>a[0]>e)}function Dg(e,t,a,o){return t.forEach(i=>{i.block&&i.block.children&&i.prelude&&i.prelude.children&&(i.type==\"Atrule\"&&(i.name==\"media\"||i.name==\"supports\"||i.name==\"layer\")?o=Dg(e,i.block.children,a,o):i.type==\"Rule\"&&(o=Ng(i.block.children,a,o)))}),o}function Ng(e,t,a){let o=Ig(e,\"content\",t),i=Ig(e,\"quotes\",t);return a.includes(o)||(a+=o),a.includes(i)||(a+=i),a}function Ig(e,t,a){let o=_t(e,t)||\"\";return o?(a.textContent='tmp { content:\"'+o+'\"}',a.sheet&&a.sheet.cssRules?Ee.removeQuotes(a.sheet.cssRules[0].style.getPropertyValue(\"content\")):o):\"\"}function o0(e,t){if(t){let a=t.split(ZC),o=a.filter(i=>{let n=i.split($C);if(n.length==2)n[0]=ei(n[0]),n[1]=ei(n[1]);else if(n.length==1)if(n[0].includes(\"?\")){let s=n[0],r=s;n[0]=ei(s.replace(Tg,\"0\")),n[1]=ei(r.replace(Tg,\"F\"))}else n[0]&&(n[0]=ei(n[0]));if(!n[0]||e.find(s=>s>=n[0]&&s<=n[1]))return!0});return!a.length||o.length}return!0}function ei(e){return e=e.replace(QC,\"\"),parseInt(e,16)}var oi={};oe(oi,{getMediaAllInfo:()=>r0});var Ul=\"all\",i0=[\"after\",\"before\",\"first-letter\",\"first-line\",\"placeholder\",\"selection\",\"part\",\"marker\"],Og=\"sf-hidden\",n0=\"display\",Hl=/-(ms|webkit|moz|o)-/,ai=!1,Gl=class{constructor(t,a,o){this.doc=t,this.mediaAllInfo=ql(Ul);let i=new Map,n=0,s=t.createElement(\"style\");t.body.appendChild(s);let r=t.createElement(\"span\");t.body.appendChild(r),a.forEach((c,d)=>{if(!c.scoped&&!d.urlNode){let m=c.stylesheet.children;if(m)if(c.mediaText&&c.mediaText!=Ul){let h=ql(c.mediaText);this.mediaAllInfo.medias.set(\"style-\"+n+\"-\"+c.mediaText,h),Tn(t,m,a,h,n,o,i,s)}else Tn(t,m,a,this.mediaAllInfo,n,o,i,s)}n++});let l;ai&&(l=Date.now(),Qa(\" -- STARTED sortRules\")),Bg(this.mediaAllInfo),ai&&(Qa(\" -- ENDED sortRules\",Date.now()-l),l=Date.now(),Qa(\" -- STARTED computeCascade\")),Fg(this.mediaAllInfo,[],this.mediaAllInfo,s,r),s.remove(),r.remove(),ai&&Qa(\" -- ENDED computeCascade\",Date.now()-l)}getMediaAllInfo(){return this.mediaAllInfo}};function r0(e,t,a){return new Gl(e,t,a).getMediaAllInfo()}function ql(e){let t={media:e,elements:new Map,medias:new Map,rules:new Map,pseudoRules:new Map};return e==Ul&&(t.matchedStyles=new Map),t}function Tn(e,t,a,o,i,n,s,r,l={mediaIndex:0,ruleIndex:0}){let c;ai&&t.length>1&&(c=Date.now(),Qa(\" -- STARTED getMatchedElementsRules\",\" index =\",i,\"rules.length =\",t.length)),t.forEach(d=>{if(d.type==\"Atrule\"&&d.name==\"import\"&&d.prelude&&d.prelude.children&&d.prelude.children.head.data.importedChildren)Tn(e,d.prelude.children.head.data.importedChildren,a,o,i,n,s,r,l);else if(d.block&&d.block.children&&d.prelude&&d.prelude.children){if(d.type==\"Atrule\"&&d.name==\"media\"){let m=W(d.prelude),h=ql(m);o.medias.set(\"rule-\"+i+\"-\"+l.mediaIndex+\"-\"+m,h),Tn(e,d.block.children,a,h,i,n,s,r),l.mediaIndex++}else if(d.type==\"Rule\"){let m=d.prelude.children.toArray(),h=d.prelude.children.toArray().map(p=>W(p)),u={ruleData:d,mediaInfo:o,ruleIndex:l.ruleIndex,sheetIndex:i,matchedSelectors:new Set,declarations:new Set,selectors:m,selectorsText:h};if(!s0(h.join(\",\"),r)||h.find(p=>p.includes(\"|\")))for(let p=d.prelude.children.head,w=0;p;p=p.next,w++){let b=h[w];l0(e,{selector:p,selectorText:b,ruleInfo:u},n,s)}l.ruleIndex++}}}),ai&&t.length>1&&Qa(\" -- ENDED getMatchedElementsRules\",\"delay =\",Date.now()-c)}function s0(e,t){return t.textContent=e+\"{}\",t.sheet?!t.sheet.cssRules.length:t.sheet}function l0(e,t,a,o){let i=c0(t.selector,t.selectorText),n=i!=t.selectorText?i:t.selectorText,s=o.get(n),r=s;if(!r)try{r=e.querySelectorAll(n),n!=\".\"+Og&&(r=Array.from(e.querySelectorAll(n)).filter(l=>!l.classList.contains(Og)&&(l.style.getPropertyValue(n0)!=\"none\"||l.style.getPropertyPriority(\"display\")!=\"important\")))}catch{}if(r&&(s||o.set(n,r),r.length))if(i==t.selectorText)r.forEach(l=>d0(l,t,a));else{let l=t.ruleInfo.mediaInfo.pseudoRules.get(t.ruleInfo.ruleData);l||(l=new Set,t.ruleInfo.mediaInfo.pseudoRules.set(t.ruleInfo.ruleData,l)),l.add(t.selectorText)}}function c0(e,t){let a=[],o;return e={data:pe(W(e.data),{context:\"selector\"})},n(e),o&&(t=W(e.data).trim()),i(e),a.length&&(a.forEach(({parentSelector:r,selector:l})=>{r.data.children.size==0||!l.prev||l.prev.data.type==\"Combinator\"||l.prev.data.type==\"WhiteSpace\"?r.data.children.replace(l,pe(\"*\",{context:\"selector\"}).children.head):r.data.children.remove(l)}),t=W(e.data).trim()),t;function i(r,l){if(r.data.children)for(let c=r.data.children.head;c;c=c.next)i(c,r);(r.data.type==\"PseudoClassSelector\"||r.data.type==\"PseudoElementSelector\"&&(s(r)||i0.includes(r.data.name)))&&a.push({parentSelector:l,selector:r})}function n(r){if(r.data.children)for(let l=r.data.children.head;l;l=l.next)n(l);r.data.type==\"TypeSelector\"&&r.data.name.includes(\"|\")&&(o=!0,r.data.name=r.data.name.substring(r.data.name.lastIndexOf(\"|\")+1))}function s(r){let l=r.data.name;return l.startsWith(\"-\")||l.startsWith(\"\\\\-\")}}function d0(e,t,a){let o=t.ruleInfo.mediaInfo,i=a.get(e),n=o.elements.get(e);n||(n=[],i&&n.push({styleInfo:{styleData:i,declarations:new Set}}),o.elements.set(e,n));let s=Ug(t.selector.data);s.ruleIndex=t.ruleInfo.ruleIndex,s.sheetIndex=t.ruleInfo.sheetIndex,t.specificity=s,n.push(t)}function Fg(e,t,a,o,i){e.elements.forEach(n=>m0(n,o,i).forEach((s,r)=>{if(s.selectorInfo.ruleInfo||e==a){let l;if(s.selectorInfo.ruleInfo){l=s.selectorInfo.ruleInfo;let c=l.ruleData;([e,...t].find(m=>m.rules.get(c))||e).rules.set(c,l),c&&l.matchedSelectors.add(s.selectorInfo.selectorText)}else{l=s.selectorInfo.styleInfo;let c=l.styleData;a.matchedStyles.get(c)||a.matchedStyles.set(c,l)}l.declarations.has(r)||l.declarations.add(r)}})),delete e.elements,e.medias.forEach(n=>Fg(n,[e,...t],a,o,i))}function m0(e,t,a){let o=new Map,i=new Set;return e.forEach(n=>{let s;n.styleInfo?s=n.styleInfo.styleData.children:s=n.ruleInfo.ruleData.block.children,h0(o,s,n,i,t,a)}),o}function h0(e,t,a,o,i,n){for(let s=t.tail;s;s=s.prev){let r=s.data,l=W(r);if(r.type==\"Declaration\"&&(l.match(Hl)||!o.has(r.property)||r.important)&&!u0(l,n)){let c=e.get(r);(!c||r.important&&!c.important)&&(e.set(r,{selectorInfo:a,important:r.important}),l.match(Hl)||o.add(r.property))}}}function u0(e,t){let a;return t.style=e,t.style.length||e.match(Hl)||(a=!0),a}function Bg(e){e.elements.forEach(t=>t.sort((a,o)=>a.styleInfo&&!o.styleInfo?-1:!a.styleInfo&&o.styleInfo?1:p0(a.specificity,o.specificity))),e.medias.forEach(Bg)}function Ug(e,t={a:0,b:0,c:0}){return e.type==\"IdSelector\"&&t.a++,(e.type==\"ClassSelector\"||e.type==\"AttributeSelector\"||e.type==\"PseudoClassSelector\"&&e.name!=\"not\")&&t.b++,(e.type==\"TypeSelector\"&&e.name!=\"*\"||e.type==\"PseudoElementSelector\")&&t.c++,e.children&&e.children.forEach(a=>Ug(a,t)),t}function p0(e,t){return e.a>t.a?-1:e.a<t.a?1:e.b>t.b?-1:e.b<t.b?1:e.c>t.c?-1:e.c<t.c?1:e.sheetIndex>t.sheetIndex?-1:e.sheetIndex<t.sheetIndex?1:e.ruleIndex>t.ruleIndex?-1:e.ruleIndex<t.ruleIndex?1:-1}function Qa(...e){console.log(\"S-File <css-mat>\",...e)}var ii={};oe(ii,{process:()=>w0});var g0={flatten:Oa},Ln=\"all\",Hg=\"screen\";function w0(e){let t={processed:0,discarded:0};return e.forEach((a,o)=>{qg(a.mediaText||Ln)&&a.stylesheet.children?Gg(a.stylesheet.children,t).forEach(({cssRules:n,cssRule:s})=>n.remove(s)):(e.delete(o),o.element&&o.element.remove())}),t}function Gg(e,t,a=[]){for(let o=e.head;o;o=o.next){let i=o.data;i.type==\"Atrule\"&&i.name==\"media\"&&i.block&&i.block.children&&i.prelude&&i.prelude.children&&(t.processed++,qg(W(i.prelude))?Gg(i.block.children,t,a):(a.push({cssRules:e,cssRule:o}),t.discarded++))}return a}function qg(e){return g0.flatten(Pl(e).map(a=>Vg(a))).find(a=>!a.not&&(a.value==Hg||a.value==Ln)||a.not&&a.value!=Hg&&a.value!=Ln)}function Vg(e,t=[]){return e.nodes.map((a,o)=>{if(a.type==\"media-query\")return Vg(a);if(a.type==\"media-type\"){let i={not:!!(o&&e.nodes[0].type==\"keyword\"&&e.nodes[0].value==\"not\"),value:a.value};t.push(i)}}),t.length||t.push({not:!1,value:Ln}),t}var ni={};oe(ni,{process:()=>f0});var Rn=!1;function f0(e,t,a){let o={processed:0,discarded:0},i=0;e.forEach((s,r)=>{if(!s.scoped&&!r.urlNode){let l=s.stylesheet.children;if(l){o.processed+=l.size,o.discarded+=l.size;let c;s.mediaText&&s.mediaText!=\"all\"?c=a.medias.get(\"style-\"+i+\"-\"+s.mediaText):c=a,Vl(l,i,c),o.discarded-=l.size}}i++});let n;return Rn&&(n=Date.now(),zn(\" -- STARTED processStyleAttribute\")),t.forEach(s=>y0(s,a)),Rn&&zn(\" -- ENDED processStyleAttribute delay =\",Date.now()-n),o}function Vl(e,t,a,o={mediaRuleIndex:0}){let i;Rn&&e.size>1&&(i=Date.now(),zn(\" -- STARTED processRules\",\"rules.length =\",e.size));let n=[];for(let s=e.head;s;s=s.next){let r=s.data;if(r.type==\"Atrule\"&&r.name==\"import\"&&r.prelude&&r.prelude.children&&r.prelude.children.head.data.importedChildren)Vl(r.prelude.children.head.data.importedChildren,t,a,o);else if(r.block&&r.block.children&&r.prelude&&r.prelude.children){if(r.type==\"Atrule\"&&r.name==\"media\"){let l=W(r.prelude);Vl(r.block.children,t,a.medias.get(\"rule-\"+t+\"-\"+o.mediaRuleIndex+\"-\"+l)),o.mediaRuleIndex++}else if(r.type==\"Rule\"){let l=a.rules.get(r),c=a.pseudoRules.get(r);!l&&!c?n.push(s):l&&(b0(r,l,c),(!r.prelude.children.size||!r.block.children.size)&&n.push(s))}}else(!r||r.type==\"Raw\"||r.type==\"Rule\"&&(!r.prelude||r.prelude.type==\"Raw\"))&&n.push(s)}n.forEach(s=>e.remove(s)),Rn&&e.size>1&&zn(\" -- ENDED processRules delay =\",Date.now()-i)}function b0(e,t,a){let o=[],i=[],n;for(let s=e.prelude.children.head;s;s=s.next){let r=W(s.data);a&&a.has(r)&&(n=!0),!t.matchedSelectors.has(r)&&(!a||!a.has(r))&&i.push(s)}if(!n)for(let s=e.block.children.tail;s;s=s.prev)t.declarations.has(s.data)||o.push(s);o.forEach(s=>e.block.children.remove(s)),i.forEach(s=>e.prelude.children.remove(s))}function y0(e,t){let a=[],o=t.matchedStyles.get(e);if(o){let i;for(let n=e.children.head;n&&!i;n=n.next)o.declarations.has(n.data)||a.push(n);a.forEach(n=>e.children.remove(n))}}function zn(...e){console.log(\"S-File <css-min>\",...e)}var si={};oe(si,{process:()=>k0});var ri=\"data:,\";function k0(e){e.querySelectorAll(\"picture\").forEach(t=>{let a=t.querySelector(\"img\");if(a){let{src:o,srcset:i}=Wg(a);if(!o){let n=v0(Array.from(t.querySelectorAll(\"source\")).reverse());o=n.src,i||(i=n.srcset)}Kg({src:o,srcset:i},a,t)}}),e.querySelectorAll(\":not(picture) > img[srcset]\").forEach(t=>Kg(Wg(t),t))}function Wg(e){let t=e.getAttribute(\"src\");t==ri&&(t=null);let a=Wl(e.getAttribute(\"srcset\"));return a==ri&&(a=null),{src:t,srcset:a}}function v0(e){let t=e.find(i=>i.src),a=t&&t.src,o=t&&t.srcset;return a||(t=e.find(i=>Wl(i.src)),a=t&&t.src,a==ri&&(a=null)),o||(t=e.find(i=>Wl(i.srcset)),o=t&&t.srcset,o==ri&&(o=null)),{src:a,srcset:o}}function Kg(e,t,a){e.src?(t.setAttribute(\"src\",e.src),t.setAttribute(\"srcset\",\"\"),t.setAttribute(\"sizes\",\"\")):(t.setAttribute(\"src\",ri),e.srcset?t.setAttribute(\"srcset\",e.srcset):(t.setAttribute(\"srcset\",\"\"),t.setAttribute(\"sizes\",\"\"))),a&&a.querySelectorAll(\"source\").forEach(o=>o.remove())}function Wl(e){if(e)try{let t=Nl(e);if(t.length)return t.find(a=>a.url).url}catch{}}var ci={};oe(ci,{process:()=>I0});var S0=[\"allowfullscreen\",\"async\",\"autofocus\",\"autoplay\",\"checked\",\"compact\",\"controls\",\"declare\",\"default\",\"defaultchecked\",\"defaultmuted\",\"defaultselected\",\"defer\",\"disabled\",\"enabled\",\"formnovalidate\",\"hidden\",\"indeterminate\",\"inert\",\"ismap\",\"itemscope\",\"loop\",\"multiple\",\"muted\",\"nohref\",\"noresize\",\"noshade\",\"novalidate\",\"nowrap\",\"open\",\"pauseonexit\",\"readonly\",\"required\",\"reversed\",\"scoped\",\"seamless\",\"selected\",\"sortable\",\"truespeed\",\"typemustmatch\",\"visible\"],E0=[\"SCRIPT\",\"STYLE\",\"PRE\",\"TEXTAREA\"],j0=[\"id\",\"class\",\"style\",\"lang\",\"dir\",\"onclick\",\"ondblclick\",\"onmousedown\",\"onmouseup\",\"onmouseover\",\"onmousemove\",\"onmouseout\",\"onkeypress\",\"onkeydown\",\"onkeyup\"],A0={FORM:{method:\"get\"},SCRIPT:{language:\"javascript\",type:\"text/javascript\",charset:e=>!e.getAttribute(\"src\")},STYLE:{media:\"all\",type:\"text/css\"},LINK:{media:\"all\"}},x0=/[ \\t\\f\\r]+/g,C0=/[\\n]+/g,T0=/^\\s+$/,L0=4294967295,In=1,Kl=3,R0=8,z0=[_0,M0,P0,N0,O0,F0,B0];function I0(e,t){U0(e);let a=e.createTreeWalker(e.documentElement,L0,null,!1),o=a.nextNode();for(;o;){let i=z0.find(s=>s(o,t)),n=o;o=a.nextNode(),i&&n.remove()}}function _0(e){e.nodeType==In&&Array.from(e.attributes).forEach(t=>{S0.includes(t.name)&&e.setAttribute(t.name,\"\")})}function M0(e){e.nodeType==Kl&&e.previousSibling&&e.previousSibling.nodeType==Kl&&(e.textContent=e.previousSibling.textContent+e.textContent,e.previousSibling.remove())}function P0(e,t){if(e.nodeType==Kl){let a=e.parentElement;if(!(a.getAttribute(t.PRESERVED_SPACE_ELEMENT_ATTRIBUTE_NAME)==\"\")){let i=e.textContent,n=Xg(a);for(;n;)a=a.parentElement,n=a&&Xg(a);(!a||n)&&i.length>1&&(e.textContent=i.replace(x0,D0(e)).replace(C0,`\n`))}}}function D0(e){return e.parentElement&&li(e.parentElement)==\"HEAD\"?`\n`:\" \"}function Xg(e){return e&&!E0.includes(li(e))}function N0(e){if(e.nodeType==R0&&li(e.parentElement)!=\"HTML\")return!e.textContent.toLowerCase().trim().startsWith(\"[if\")}function O0(e){e.nodeType==In&&Array.from(e.attributes).forEach(t=>{if(j0.includes(t.name.toLowerCase())){let a=e.getAttribute(t.name);(a==\"\"||(a||\"\").match(T0))&&e.removeAttribute(t.name)}})}function F0(e){if(e.nodeType==In){let t=A0[li(e)];t&&Object.keys(t).forEach(a=>{let o=t[a];(typeof o==\"function\"?o(e):e.getAttribute(a)==o)&&e.removeAttribute(a)})}}function B0(e){if(e.nodeType==In&&li(e)==\"SCRIPT\"&&e.type==\"application/ld+json\"&&e.textContent.trim())try{e.textContent=JSON.stringify(JSON.parse(e.textContent))}catch{}}function U0(e){e.querySelectorAll(\"style, script:not([src])\").forEach(t=>{t.textContent.trim()||t.remove()})}function li(e){return e.tagName&&e.tagName.toUpperCase()}var di={};oe(di,{process:()=>W0});var H0=[\"AREA\",\"BASE\",\"BR\",\"COL\",\"COMMAND\",\"EMBED\",\"HR\",\"IMG\",\"INPUT\",\"KEYGEN\",\"LINK\",\"META\",\"PARAM\",\"SOURCE\",\"TRACK\",\"WBR\"];var G0=[{tagName:\"HEAD\",accept:e=>!e.childNodes.length||e.childNodes[0].nodeType==1},{tagName:\"BODY\",accept:e=>!e.childNodes.length}],q0=[{tagName:\"HTML\",accept:e=>!e||e.nodeType!=8},{tagName:\"HEAD\",accept:e=>!e||e.nodeType!=8&&(e.nodeType!=3||!Xl(e.textContent))},{tagName:\"BODY\",accept:e=>!e||e.nodeType!=8},{tagName:\"LI\",accept:(e,t)=>!e&&t.parentElement&&(be(t.parentElement)==\"UL\"||be(t.parentElement)==\"OL\")||e&&[\"LI\"].includes(be(e))},{tagName:\"DT\",accept:e=>!e||[\"DT\",\"DD\"].includes(be(e))},{tagName:\"P\",accept:e=>e&&[\"ADDRESS\",\"ARTICLE\",\"ASIDE\",\"BLOCKQUOTE\",\"DETAILS\",\"DIV\",\"DL\",\"FIELDSET\",\"FIGCAPTION\",\"FIGURE\",\"FOOTER\",\"FORM\",\"H1\",\"H2\",\"H3\",\"H4\",\"H5\",\"H6\",\"HEADER\",\"HR\",\"MAIN\",\"NAV\",\"OL\",\"P\",\"PRE\",\"SECTION\",\"TABLE\",\"UL\"].includes(be(e))},{tagName:\"DD\",accept:e=>!e||[\"DT\",\"DD\"].includes(be(e))},{tagName:\"RT\",accept:e=>!e||[\"RT\",\"RP\"].includes(be(e))},{tagName:\"RP\",accept:e=>!e||[\"RT\",\"RP\"].includes(be(e))},{tagName:\"OPTGROUP\",accept:e=>!e||[\"OPTGROUP\"].includes(be(e))},{tagName:\"OPTION\",accept:e=>!e||[\"OPTION\",\"OPTGROUP\"].includes(be(e))},{tagName:\"COLGROUP\",accept:e=>!e||e.nodeType!=8&&(e.nodeType!=3||!Xl(e.textContent))},{tagName:\"CAPTION\",accept:e=>!e||e.nodeType!=8&&(e.nodeType!=3||!Xl(e.textContent))},{tagName:\"THEAD\",accept:e=>!e||[\"TBODY\",\"TFOOT\"].includes(be(e))},{tagName:\"TBODY\",accept:e=>!e||[\"TBODY\",\"TFOOT\"].includes(be(e))},{tagName:\"TFOOT\",accept:e=>!e},{tagName:\"TR\",accept:e=>!e||[\"TR\"].includes(be(e))},{tagName:\"TD\",accept:e=>!e||[\"TD\",\"TH\"].includes(be(e))},{tagName:\"TH\",accept:e=>!e||[\"TD\",\"TH\"].includes(be(e))}],V0=[\"STYLE\",\"SCRIPT\",\"XMP\",\"IFRAME\",\"NOEMBED\",\"NOFRAMES\",\"PLAINTEXT\",\"NOSCRIPT\"];function W0(e,t){let a=e.doctype,o=\"\";return a&&(o=\"<!DOCTYPE \"+a.nodeName,a.publicId?(o+=' PUBLIC \"'+a.publicId+'\"',a.systemId&&(o+=' \"'+a.systemId+'\"')):a.systemId&&(o+=' SYSTEM \"'+a.systemId+'\"'),a.internalSubset&&(o+=\" [\"+a.internalSubset+\"]\"),o+=\"> \"),o+Yg(e.documentElement,t)}function Yg(e,t,a){if(e.nodeType==3)return K0(e);if(e.nodeType==8)return X0(e);if(e.nodeType==1)return Y0(e,t,a)}function K0(e){let t=e.parentNode,a;return t&&t.nodeType==1&&(a=be(t)),!a||V0.includes(a)?a==\"SCRIPT\"||a==\"STYLE\"?e.textContent.replace(/<\\//gi,\"<\\\\/\").replace(/\\/>/gi,\"\\\\/>\"):e.textContent:e.textContent.replace(/&/g,\"&\").replace(/\\u00a0/g,\" \").replace(/</g,\"<\").replace(/>/g,\">\")}function X0(e){return\"<!--\"+e.textContent+\"-->\"}function Y0(e,t,a){let o=be(e),i=t&&G0.find(r=>o==be(r)&&r.accept(e)),n=\"\";(!i||e.attributes.length)&&(n=\"<\"+o.toLowerCase(),Array.from(e.attributes).forEach(r=>n+=J0(r,e,t)),n+=\">\"),o==\"TEMPLATE\"&&!e.childNodes.length?n+=e.innerHTML:Array.from(e.childNodes).forEach(r=>n+=Yg(r,t,a||o==\"svg\"));let s=t&&q0.find(r=>o==be(r)&&r.accept(e.nextSibling,e));return(a||!s&&!H0.includes(o))&&(n+=\"</\"+o.toLowerCase()+\">\"),n}function J0(e,t,a){let o=e.name,i=\"\";if(!o.match(/[\"'>/=]/)){let n=e.value;a&&o==\"class\"&&(n=Array.from(t.classList).map(l=>l.trim()).join(\" \"));let s;n=n.replace(/&/g,\"&\").replace(/\\u00a0/g,\" \"),n.includes('\"')&&(n.includes(\"'\")||!a?n=n.replace(/\"/g,\""\"):s=!0);let r=!a||n.match(/[ \\t\\n\\f\\r'\"`=<>]/);i+=\" \",e.namespace?e.namespaceURI==\"http://www.w3.org/XML/1998/namespace\"?i+=\"xml:\"+o:e.namespaceURI==\"http://www.w3.org/2000/xmlns/\"?(o!==\"xmlns\"&&(i+=\"xmlns:\"),i+=o):e.namespaceURI==\"http://www.w3.org/1999/xlink\"?i+=\"xlink:\"+o:i+=o:i+=o,n!=\"\"&&(i+=\"=\",r&&(i+=s?\"'\":'\"'),i+=n,r&&(i+=s?\"'\":'\"'))}return i}function Xl(e){return!!e.match(/^[ \\t\\n\\f\\r]/)}function be(e){return e.tagName&&e.tagName.toUpperCase()}var eo={};oe(eo,{evalTemplate:()=>ew,formatFilename:()=>sT});function Z0(e,t){function a(){this.constructor=e}a.prototype=t.prototype,e.prototype=new a}function mi(e,t,a,o){this.message=e,this.expected=t,this.found=a,this.location=o,this.name=\"SyntaxError\",typeof Error.captureStackTrace==\"function\"&&Error.captureStackTrace(this,mi)}Z0(mi,Error);mi.buildMessage=function(e,t){var a={literal:function(c){return'\"'+i(c.text)+'\"'},class:function(c){var d=\"\",m;for(m=0;m<c.parts.length;m++)d+=c.parts[m]instanceof Array?n(c.parts[m][0])+\"-\"+n(c.parts[m][1]):n(c.parts[m]);return\"[\"+(c.inverted?\"^\":\"\")+d+\"]\"},any:function(){return\"any character\"},end:function(){return\"end of input\"},other:function(c){return c.description}};function o(c){return c.charCodeAt(0).toString(16).toUpperCase()}function i(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\"/g,'\\\\\"').replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(d){return\"\\\\x0\"+o(d)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(d){return\"\\\\x\"+o(d)})}function n(c){return c.replace(/\\\\/g,\"\\\\\\\\\").replace(/\\]/g,\"\\\\]\").replace(/\\^/g,\"\\\\^\").replace(/-/g,\"\\\\-\").replace(/\\0/g,\"\\\\0\").replace(/\\t/g,\"\\\\t\").replace(/\\n/g,\"\\\\n\").replace(/\\r/g,\"\\\\r\").replace(/[\\x00-\\x0F]/g,function(d){return\"\\\\x0\"+o(d)}).replace(/[\\x10-\\x1F\\x7F-\\x9F]/g,function(d){return\"\\\\x\"+o(d)})}function s(c){return a[c.type](c)}function r(c){var d=new Array(c.length),m,h;for(m=0;m<c.length;m++)d[m]=s(c[m]);if(d.sort(),d.length>0){for(m=1,h=1;m<d.length;m++)d[m-1]!==d[m]&&(d[h]=d[m],h++);d.length=h}switch(d.length){case 1:return d[0];case 2:return d[0]+\" or \"+d[1];default:return d.slice(0,-1).join(\", \")+\", or \"+d[d.length-1]}}function l(c){return c?'\"'+i(c)+'\"':\"end of input\"}return\"Expected \"+r(e)+\" but \"+l(t)+\" found.\"};async function Jg(e,t){t=t!==void 0?t:{};var a={},o={start:pa},i=pa,n=function(v){return v.join(\"\")},s=\"|\",r=ye(\"|\",!1),l=function(v){return v},c=\"%\",d=ye(\"%\",!1),m=\"<\",h=ye(\"<\",!1),u=\">\",p=ye(\">\",!1),w=function(v,T,I){return t.callFunction(v,T,I)},b=\"{\",E=ye(\"{\",!1),S=\"}\",y=ye(\"}\",!1),g=function(v,T){return t.getVariableValue(v,T)},j=\"[\",C=ye(\"[\",!1),z=\"]\",f=ye(\"]\",!1),k=function(v,T){return{length:v,unit:T}},L=\"ch\",A=ye(\"ch\",!1),O=/^[a-z0-9-]/,U=ua([[\"a\",\"z\"],[\"0\",\"9\"],\"-\"],!1,!1),R=function(){return ro()},M=/^[0-9]/,D=ua([[\"0\",\"9\"]],!1,!1),H=function(){return Number(ro())},X=\"\\\\\\\\%\",K=ye(\"\\\\\\\\%\",!1),re=\"\\\\\\\\{\",ge=ye(\"\\\\\\\\{\",!1),me=\"\\\\\\\\|\",ze=ye(\"\\\\\\\\|\",!1),Ie=\"\\\\\\\\>\",Pe=ye(\"\\\\\\\\>\",!1),st=so(),x=0,he=0,Ae=[{line:1,column:1}],le=0,De=[],G=0,At;if(\"startRule\"in t){if(!(t.startRule in o))throw new Error(`Can't start parsing from rule \"`+t.startRule+'\".');i=o[t.startRule]}function ro(){return e.substring(he,x)}function ye(v,T){return{type:\"literal\",text:v,ignoreCase:T}}function ua(v,T,I){return{type:\"class\",parts:v,inverted:T,ignoreCase:I}}function so(){return{type:\"any\"}}function Yt(){return{type:\"end\"}}function Jt(v){var T=Ae[v],I;if(T)return T;for(I=v-1;!Ae[I];)I--;for(T=Ae[I],T={line:T.line,column:T.column};I<v;)e.charCodeAt(I)===10?(T.line++,T.column=1):T.column++,I++;return Ae[v]=T,T}function Je(v,T){var I=Jt(v),ae=Jt(T);return{start:{offset:v,line:I.line,column:I.column},end:{offset:T,line:ae.line,column:ae.column}}}function ee(v){x<le||(x>le&&(le=x,De=[]),De.push(v))}function Un(v,T,I){return new mi(mi.buildMessage(v,T),v,T,I)}async function pa(){var v;return v=await Hn(),v}async function Hn(){var v,T,I;for(v=x,T=[],I=await wc();I!==a;)T.push(I),I=await wc();return T!==a&&(he=v,T=n(T)),v=T,v}async function wc(){var v;return v=await Bw(),v===a&&(v=await Uw(),v===a&&(v=qw())),v}async function fc(){var v,T,I;return v=x,e.charCodeAt(x)===124?(T=s,x++):(T=a,G===0&&ee(r)),T!==a?(I=await Hn(),I!==a?(he=v,T=l(I),v=T):(x=v,v=a)):(x=v,v=a),v}async function Ow(){var v,T;if(v=[],T=await fc(),T!==a)for(;T!==a;)v.push(T),T=await fc();else v=a;return v}async function Fw(){var v,T,I;return v=x,T=await Hn(),T!==a?(I=await Ow(),I===a&&(I=null),I!==a?(T=[T,I],v=T):(x=v,v=a)):(x=v,v=a),v}async function Bw(){var v,T,I,ae,ne,ut,lo;return v=x,e.charCodeAt(x)===37?(T=c,x++):(T=a,G===0&&ee(d)),T!==a?(I=yc(),I!==a?(e.charCodeAt(x)===60?(ae=m,x++):(ae=a,G===0&&ee(h)),ae!==a?(ne=await Fw(),ne!==a?(e.charCodeAt(x)===62?(ut=u,x++):(ut=a,G===0&&ee(p)),ut!==a?(lo=bc(),lo===a&&(lo=null),lo!==a?(he=v,T=await w(I,ne,lo),v=T):(x=v,v=a)):(x=v,v=a)):(x=v,v=a)):(x=v,v=a)):(x=v,v=a)):(x=v,v=a),v}async function Uw(){var v,T,I,ae,ne;return v=x,e.charCodeAt(x)===123?(T=b,x++):(T=a,G===0&&ee(E)),T!==a?(I=yc(),I!==a?(e.charCodeAt(x)===125?(ae=S,x++):(ae=a,G===0&&ee(y)),ae!==a?(ne=bc(),ne===a&&(ne=null),ne!==a?(he=v,T=await g(I,ne),v=T):(x=v,v=a)):(x=v,v=a)):(x=v,v=a)):(x=v,v=a),v}function bc(){var v,T,I,ae,ne;return v=x,e.charCodeAt(x)===91?(T=j,x++):(T=a,G===0&&ee(C)),T!==a?(I=Gw(),I!==a?(ae=Hw(),ae!==a?(e.charCodeAt(x)===93?(ne=z,x++):(ne=a,G===0&&ee(f)),ne!==a?(he=v,T=k(I,ae),v=T):(x=v,v=a)):(x=v,v=a)):(x=v,v=a)):(x=v,v=a),v}function Hw(){var v;return e.substr(x,2)===L?(v=L,x+=2):(v=a,G===0&&ee(A)),v===a&&(v=null),v}function yc(){var v,T,I;if(v=x,T=[],O.test(e.charAt(x))?(I=e.charAt(x),x++):(I=a,G===0&&ee(U)),I!==a)for(;I!==a;)T.push(I),O.test(e.charAt(x))?(I=e.charAt(x),x++):(I=a,G===0&&ee(U));else T=a;return T!==a&&(he=v,T=R()),v=T,v}function Gw(){var v,T,I;if(v=x,T=[],M.test(e.charAt(x))?(I=e.charAt(x),x++):(I=a,G===0&&ee(D)),I!==a)for(;I!==a;)T.push(I),M.test(e.charAt(x))?(I=e.charAt(x),x++):(I=a,G===0&&ee(D));else T=a;return T!==a&&(he=v,T=H()),v=T,v}function qw(){var v,T,I;if(v=x,T=[],I=kc(),I!==a)for(;I!==a;)T.push(I),I=kc();else T=a;return T!==a&&(he=v,T=R()),v=T,v}function kc(){var v,T,I,ae,ne,ut;return v=x,T=x,G++,e.charCodeAt(x)===37?(I=c,x++):(I=a,G===0&&ee(d)),G--,I===a?T=void 0:(x=T,T=a),T!==a?(I=x,G++,e.charCodeAt(x)===123?(ae=b,x++):(ae=a,G===0&&ee(E)),G--,ae===a?I=void 0:(x=I,I=a),I!==a?(ae=x,G++,e.charCodeAt(x)===124?(ne=s,x++):(ne=a,G===0&&ee(r)),G--,ne===a?ae=void 0:(x=ae,ae=a),ae!==a?(ne=x,G++,e.charCodeAt(x)===62?(ut=u,x++):(ut=a,G===0&&ee(p)),G--,ut===a?ne=void 0:(x=ne,ne=a),ne!==a?(ut=Vw(),ut!==a?(T=[T,I,ae,ne,ut],v=T):(x=v,v=a)):(x=v,v=a)):(x=v,v=a)):(x=v,v=a)):(x=v,v=a),v}function Vw(){var v;return e.substr(x,3)===X?(v=X,x+=3):(v=a,G===0&&ee(K)),v===a&&(e.substr(x,3)===re?(v=re,x+=3):(v=a,G===0&&ee(ge)),v===a&&(e.substr(x,3)===me?(v=me,x+=3):(v=a,G===0&&ee(ze)),v===a&&(e.substr(x,3)===Ie?(v=Ie,x+=3):(v=a,G===0&&ee(Pe)),v===a&&(e.length>x?(v=e.charAt(x),x++):(v=a,G===0&&ee(st)))))),v}if(At=await i(),At!==a&&x===e.length)return At;throw At!==a&&x<e.length&&ee(Yt()),Un(De,le<e.length?e.charAt(le):null,le<e.length?Je(le,le+1):Je(le,le))}var $0=globalThis.Blob,Q0=globalThis.FileReader,eT=globalThis.URL,tT=globalThis.URLSearchParams,aT=[\"~\",\"+\",\"\\\\\\\\\",\"?\",\"%\",\"*\",\":\",\"|\",'\"',\"<\",\">\",\"\\0-\u001f\",\"\\x7F\"],oT=\"_\",iT=/([{}()^$&.*?/+|[\\\\\\\\]|\\]|-)/g,Qg={\"\\u{1F600}\":\"grinning-face\",\"\\u{1F603}\":\"grinning-face-with-big-eyes\",\"\\u{1F604}\":\"grinning-face-with-smiling-eyes\",\"\\u{1F601}\":\"beaming-face-with-smiling-eyes\",\"\\u{1F606}\":\"grinning-squinting-face\",\"\\u{1F605}\":\"grinning-face-with-sweat\",\"\\u{1F923}\":\"rolling-on-the-floor-laughing\",\"\\u{1F602}\":\"face-with-tears-of-joy\",\"\\u{1F642}\":\"slightly-smiling-face\",\"\\u{1F643}\":\"upside-down-face\",\"\\u{1FAE0}\":\"melting-face\",\"\\u{1F609}\":\"winking-face\",\"\\u{1F60A}\":\"smiling-face-with-smiling-eyes\",\"\\u{1F607}\":\"smiling-face-with-halo\",\"\\u{1F970}\":\"smiling-face-with-hearts\",\"\\u{1F60D}\":\"smiling-face-with-heart-eyes\",\"\\u{1F929}\":\"star-struck\",\"\\u{1F618}\":\"face-blowing-a-kiss\",\"\\u{1F617}\":\"kissing-face\",\"\\u263A\":\"smiling-face\",\"\\u{1F61A}\":\"kissing-face-with-closed-eyes\",\"\\u{1F619}\":\"kissing-face-with-smiling-eyes\",\"\\u{1F972}\":\"smiling-face-with-tear\",\"\\u{1F60B}\":\"face-savoring-food\",\"\\u{1F61B}\":\"face-with-tongue\",\"\\u{1F61C}\":\"winking-face-with-tongue\",\"\\u{1F92A}\":\"zany-face\",\"\\u{1F61D}\":\"squinting-face-with-tongue\",\"\\u{1F911}\":\"money-mouth-face\",\"\\u{1F917}\":\"smiling-face-with-open-hands\",\"\\u{1F92D}\":\"face-with-hand-over-mouth\",\"\\u{1FAE2}\":\"face-with-open-eyes-and-hand-over-mouth\",\"\\u{1FAE3}\":\"face-with-peeking-eye\",\"\\u{1F92B}\":\"shushing-face\",\"\\u{1F914}\":\"thinking-face\",\"\\u{1FAE1}\":\"saluting-face\",\"\\u{1F910}\":\"zipper-mouth-face\",\"\\u{1F928}\":\"face-with-raised-eyebrow\",\"\\u{1F610}\":\"neutral-face\",\"\\u{1F611}\":\"expressionless-face\",\"\\u{1F636}\":\"face-without-mouth\",\"\\u{1FAE5}\":\"dotted-line-face\",\"\\u{1F636}\\u200D\\u{1F32B}\\uFE0F\":\"face-in-clouds\",\"\\u{1F60F}\":\"smirking-face\",\"\\u{1F612}\":\"unamused-face\",\"\\u{1F644}\":\"face-with-rolling-eyes\",\"\\u{1F62C}\":\"grimacing-face\",\"\\u{1F62E}\\u200D\\u{1F4A8}\":\"face-exhaling\",\"\\u{1F925}\":\"lying-face\",\"\\u{1FAE8}\":\"\\u229B-shaking-face\",\"\\u{1F60C}\":\"relieved-face\",\"\\u{1F614}\":\"pensive-face\",\"\\u{1F62A}\":\"sleepy-face\",\"\\u{1F924}\":\"drooling-face\",\"\\u{1F634}\":\"sleeping-face\",\"\\u{1F637}\":\"face-with-medical-mask\",\"\\u{1F912}\":\"face-with-thermometer\",\"\\u{1F915}\":\"face-with-head-bandage\",\"\\u{1F922}\":\"nauseated-face\",\"\\u{1F92E}\":\"face-vomiting\",\"\\u{1F927}\":\"sneezing-face\",\"\\u{1F975}\":\"hot-face\",\"\\u{1F976}\":\"cold-face\",\"\\u{1F974}\":\"woozy-face\",\"\\u{1F635}\":\"face-with-crossed-out-eyes\",\"\\u{1F635}\\u200D\\u{1F4AB}\":\"face-with-spiral-eyes\",\"\\u{1F92F}\":\"exploding-head\",\"\\u{1F920}\":\"cowboy-hat-face\",\"\\u{1F973}\":\"partying-face\",\"\\u{1F978}\":\"disguised-face\",\"\\u{1F60E}\":\"smiling-face-with-sunglasses\",\"\\u{1F913}\":\"nerd-face\",\"\\u{1F9D0}\":\"face-with-monocle\",\"\\u{1F615}\":\"confused-face\",\"\\u{1FAE4}\":\"face-with-diagonal-mouth\",\"\\u{1F61F}\":\"worried-face\",\"\\u{1F641}\":\"slightly-frowning-face\",\"\\u2639\":\"frowning-face\",\"\\u{1F62E}\":\"face-with-open-mouth\",\"\\u{1F62F}\":\"hushed-face\",\"\\u{1F632}\":\"astonished-face\",\"\\u{1F633}\":\"flushed-face\",\"\\u{1F97A}\":\"pleading-face\",\"\\u{1F979}\":\"face-holding-back-tears\",\"\\u{1F626}\":\"frowning-face-with-open-mouth\",\"\\u{1F627}\":\"anguished-face\",\"\\u{1F628}\":\"fearful-face\",\"\\u{1F630}\":\"anxious-face-with-sweat\",\"\\u{1F625}\":\"sad-but-relieved-face\",\"\\u{1F622}\":\"crying-face\",\"\\u{1F62D}\":\"loudly-crying-face\",\"\\u{1F631}\":\"face-screaming-in-fear\",\"\\u{1F616}\":\"confounded-face\",\"\\u{1F623}\":\"persevering-face\",\"\\u{1F61E}\":\"disappointed-face\",\"\\u{1F613}\":\"downcast-face-with-sweat\",\"\\u{1F629}\":\"weary-face\",\"\\u{1F62B}\":\"tired-face\",\"\\u{1F971}\":\"yawning-face\",\"\\u{1F624}\":\"face-with-steam-from-nose\",\"\\u{1F621}\":\"enraged-face\",\"\\u{1F620}\":\"angry-face\",\"\\u{1F92C}\":\"face-with-symbols-on-mouth\",\"\\u{1F608}\":\"smiling-face-with-horns\",\"\\u{1F47F}\":\"angry-face-with-horns\",\"\\u{1F480}\":\"skull\",\"\\u2620\":\"skull-and-crossbones\",\"\\u{1F4A9}\":\"pile-of-poo\",\"\\u{1F921}\":\"clown-face\",\"\\u{1F479}\":\"ogre\",\"\\u{1F47A}\":\"goblin\",\"\\u{1F47B}\":\"ghost\",\"\\u{1F47D}\":\"alien\",\"\\u{1F47E}\":\"alien-monster\",\"\\u{1F916}\":\"robot\",\"\\u{1F63A}\":\"grinning-cat\",\"\\u{1F638}\":\"grinning-cat-with-smiling-eyes\",\"\\u{1F639}\":\"cat-with-tears-of-joy\",\"\\u{1F63B}\":\"smiling-cat-with-heart-eyes\",\"\\u{1F63C}\":\"cat-with-wry-smile\",\"\\u{1F63D}\":\"kissing-cat\",\"\\u{1F640}\":\"weary-cat\",\"\\u{1F63F}\":\"crying-cat\",\"\\u{1F63E}\":\"pouting-cat\",\"\\u{1F648}\":\"see-no-evil-monkey\",\"\\u{1F649}\":\"hear-no-evil-monkey\",\"\\u{1F64A}\":\"speak-no-evil-monkey\",\"\\u{1F48C}\":\"love-letter\",\"\\u{1F498}\":\"heart-with-arrow\",\"\\u{1F49D}\":\"heart-with-ribbon\",\"\\u{1F496}\":\"sparkling-heart\",\"\\u{1F497}\":\"growing-heart\",\"\\u{1F493}\":\"beating-heart\",\"\\u{1F49E}\":\"revolving-hearts\",\"\\u{1F495}\":\"two-hearts\",\"\\u{1F49F}\":\"heart-decoration\",\"\\u2763\":\"heart-exclamation\",\"\\u{1F494}\":\"broken-heart\",\"\\u2764\\uFE0F\\u200D\\u{1F525}\":\"heart-on-fire\",\"\\u2764\\uFE0F\\u200D\\u{1FA79}\":\"mending-heart\",\"\\u2764\":\"red-heart\",\"\\u{1FA77}\":\"\\u229B-pink-heart\",\"\\u{1F9E1}\":\"orange-heart\",\"\\u{1F49B}\":\"yellow-heart\",\"\\u{1F49A}\":\"green-heart\",\"\\u{1F499}\":\"blue-heart\",\"\\u{1FA75}\":\"\\u229B-light-blue-heart\",\"\\u{1F49C}\":\"purple-heart\",\"\\u{1F90E}\":\"brown-heart\",\"\\u{1F5A4}\":\"black-heart\",\"\\u{1FA76}\":\"\\u229B-grey-heart\",\"\\u{1F90D}\":\"white-heart\",\"\\u{1F48B}\":\"kiss-mark\",\"\\u{1F4AF}\":\"hundred-points\",\"\\u{1F4A2}\":\"anger-symbol\",\"\\u{1F4A5}\":\"collision\",\"\\u{1F4AB}\":\"dizzy\",\"\\u{1F4A6}\":\"sweat-droplets\",\"\\u{1F4A8}\":\"dashing-away\",\"\\u{1F573}\":\"hole\",\"\\u{1F4AC}\":\"speech-balloon\",\"\\u{1F441}\\uFE0F\\u200D\\u{1F5E8}\\uFE0F\":\"eye-in-speech-bubble\",\"\\u{1F5E8}\":\"left-speech-bubble\",\"\\u{1F5EF}\":\"right-anger-bubble\",\"\\u{1F4AD}\":\"thought-balloon\",\"\\u{1F4A4}\":\"zzz\",\"\\u{1F44B}\":\"waving-hand\",\"\\u{1F91A}\":\"raised-back-of-hand\",\"\\u{1F590}\":\"hand-with-fingers-splayed\",\"\\u270B\":\"raised-hand\",\"\\u{1F596}\":\"vulcan-salute\",\"\\u{1FAF1}\":\"rightwards-hand\",\"\\u{1FAF2}\":\"leftwards-hand\",\"\\u{1FAF3}\":\"palm-down-hand\",\"\\u{1FAF4}\":\"palm-up-hand\",\"\\u{1FAF7}\":\"\\u229B-leftwards-pushing-hand\",\"\\u{1FAF8}\":\"\\u229B-rightwards-pushing-hand\",\"\\u{1F44C}\":\"ok-hand\",\"\\u{1F90C}\":\"pinched-fingers\",\"\\u{1F90F}\":\"pinching-hand\",\"\\u270C\":\"victory-hand\",\"\\u{1F91E}\":\"crossed-fingers\",\"\\u{1FAF0}\":\"hand-with-index-finger-and-thumb-crossed\",\"\\u{1F91F}\":\"love-you-gesture\",\"\\u{1F918}\":\"sign-of-the-horns\",\"\\u{1F919}\":\"call-me-hand\",\"\\u{1F448}\":\"backhand-index-pointing-left\",\"\\u{1F449}\":\"backhand-index-pointing-right\",\"\\u{1F446}\":\"backhand-index-pointing-up\",\"\\u{1F595}\":\"middle-finger\",\"\\u{1F447}\":\"backhand-index-pointing-down\",\"\\u261D\":\"index-pointing-up\",\"\\u{1FAF5}\":\"index-pointing-at-the-viewer\",\"\\u{1F44D}\":\"thumbs-up\",\"\\u{1F44E}\":\"thumbs-down\",\"\\u270A\":\"raised-fist\",\"\\u{1F44A}\":\"oncoming-fist\",\"\\u{1F91B}\":\"left-facing-fist\",\"\\u{1F91C}\":\"right-facing-fist\",\"\\u{1F44F}\":\"clapping-hands\",\"\\u{1F64C}\":\"raising-hands\",\"\\u{1FAF6}\":\"heart-hands\",\"\\u{1F450}\":\"open-hands\",\"\\u{1F932}\":\"palms-up-together\",\"\\u{1F91D}\":\"handshake\",\"\\u{1F64F}\":\"folded-hands\",\"\\u270D\":\"writing-hand\",\"\\u{1F485}\":\"nail-polish\",\"\\u{1F933}\":\"selfie\",\"\\u{1F4AA}\":\"flexed-biceps\",\"\\u{1F9BE}\":\"mechanical-arm\",\"\\u{1F9BF}\":\"mechanical-leg\",\"\\u{1F9B5}\":\"leg\",\"\\u{1F9B6}\":\"foot\",\"\\u{1F442}\":\"ear\",\"\\u{1F9BB}\":\"ear-with-hearing-aid\",\"\\u{1F443}\":\"nose\",\"\\u{1F9E0}\":\"brain\",\"\\u{1FAC0}\":\"anatomical-heart\",\"\\u{1FAC1}\":\"lungs\",\"\\u{1F9B7}\":\"tooth\",\"\\u{1F9B4}\":\"bone\",\"\\u{1F440}\":\"eyes\",\"\\u{1F441}\":\"eye\",\"\\u{1F445}\":\"tongue\",\"\\u{1F444}\":\"mouth\",\"\\u{1FAE6}\":\"biting-lip\",\"\\u{1F476}\":\"baby\",\"\\u{1F9D2}\":\"child\",\"\\u{1F466}\":\"boy\",\"\\u{1F467}\":\"girl\",\"\\u{1F9D1}\":\"person\",\"\\u{1F471}\":\"person-blond-hair\",\"\\u{1F468}\":\"man\",\"\\u{1F9D4}\":\"person-beard\",\"\\u{1F9D4}\\u200D\\u2642\\uFE0F\":\"man-beard\",\"\\u{1F9D4}\\u200D\\u2640\\uFE0F\":\"woman-beard\",\"\\u{1F468}\\u200D\\u{1F9B0}\":\"man-red-hair\",\"\\u{1F468}\\u200D\\u{1F9B1}\":\"man-curly-hair\",\"\\u{1F468}\\u200D\\u{1F9B3}\":\"man-white-hair\",\"\\u{1F468}\\u200D\\u{1F9B2}\":\"man-bald\",\"\\u{1F469}\":\"woman\",\"\\u{1F469}\\u200D\\u{1F9B0}\":\"woman-red-hair\",\"\\u{1F9D1}\\u200D\\u{1F9B0}\":\"person-red-hair\",\"\\u{1F469}\\u200D\\u{1F9B1}\":\"woman-curly-hair\",\"\\u{1F9D1}\\u200D\\u{1F9B1}\":\"person-curly-hair\",\"\\u{1F469}\\u200D\\u{1F9B3}\":\"woman-white-hair\",\"\\u{1F9D1}\\u200D\\u{1F9B3}\":\"person-white-hair\",\"\\u{1F469}\\u200D\\u{1F9B2}\":\"woman-bald\",\"\\u{1F9D1}\\u200D\\u{1F9B2}\":\"person-bald\",\"\\u{1F471}\\u200D\\u2640\\uFE0F\":\"woman-blond-hair\",\"\\u{1F471}\\u200D\\u2642\\uFE0F\":\"man-blond-hair\",\"\\u{1F9D3}\":\"older-person\",\"\\u{1F474}\":\"old-man\",\"\\u{1F475}\":\"old-woman\",\"\\u{1F64D}\":\"person-frowning\",\"\\u{1F64D}\\u200D\\u2642\\uFE0F\":\"man-frowning\",\"\\u{1F64D}\\u200D\\u2640\\uFE0F\":\"woman-frowning\",\"\\u{1F64E}\":\"person-pouting\",\"\\u{1F64E}\\u200D\\u2642\\uFE0F\":\"man-pouting\",\"\\u{1F64E}\\u200D\\u2640\\uFE0F\":\"woman-pouting\",\"\\u{1F645}\":\"person-gesturing-no\",\"\\u{1F645}\\u200D\\u2642\\uFE0F\":\"man-gesturing-no\",\"\\u{1F645}\\u200D\\u2640\\uFE0F\":\"woman-gesturing-no\",\"\\u{1F646}\":\"person-gesturing-ok\",\"\\u{1F646}\\u200D\\u2642\\uFE0F\":\"man-gesturing-ok\",\"\\u{1F646}\\u200D\\u2640\\uFE0F\":\"woman-gesturing-ok\",\"\\u{1F481}\":\"person-tipping-hand\",\"\\u{1F481}\\u200D\\u2642\\uFE0F\":\"man-tipping-hand\",\"\\u{1F481}\\u200D\\u2640\\uFE0F\":\"woman-tipping-hand\",\"\\u{1F64B}\":\"person-raising-hand\",\"\\u{1F64B}\\u200D\\u2642\\uFE0F\":\"man-raising-hand\",\"\\u{1F64B}\\u200D\\u2640\\uFE0F\":\"woman-raising-hand\",\"\\u{1F9CF}\":\"deaf-person\",\"\\u{1F9CF}\\u200D\\u2642\\uFE0F\":\"deaf-man\",\"\\u{1F9CF}\\u200D\\u2640\\uFE0F\":\"deaf-woman\",\"\\u{1F647}\":\"person-bowing\",\"\\u{1F647}\\u200D\\u2642\\uFE0F\":\"man-bowing\",\"\\u{1F647}\\u200D\\u2640\\uFE0F\":\"woman-bowing\",\"\\u{1F926}\":\"person-facepalming\",\"\\u{1F926}\\u200D\\u2642\\uFE0F\":\"man-facepalming\",\"\\u{1F926}\\u200D\\u2640\\uFE0F\":\"woman-facepalming\",\"\\u{1F937}\":\"person-shrugging\",\"\\u{1F937}\\u200D\\u2642\\uFE0F\":\"man-shrugging\",\"\\u{1F937}\\u200D\\u2640\\uFE0F\":\"woman-shrugging\",\"\\u{1F9D1}\\u200D\\u2695\\uFE0F\":\"health-worker\",\"\\u{1F468}\\u200D\\u2695\\uFE0F\":\"man-health-worker\",\"\\u{1F469}\\u200D\\u2695\\uFE0F\":\"woman-health-worker\",\"\\u{1F9D1}\\u200D\\u{1F393}\":\"student\",\"\\u{1F468}\\u200D\\u{1F393}\":\"man-student\",\"\\u{1F469}\\u200D\\u{1F393}\":\"woman-student\",\"\\u{1F9D1}\\u200D\\u{1F3EB}\":\"teacher\",\"\\u{1F468}\\u200D\\u{1F3EB}\":\"man-teacher\",\"\\u{1F469}\\u200D\\u{1F3EB}\":\"woman-teacher\",\"\\u{1F9D1}\\u200D\\u2696\\uFE0F\":\"judge\",\"\\u{1F468}\\u200D\\u2696\\uFE0F\":\"man-judge\",\"\\u{1F469}\\u200D\\u2696\\uFE0F\":\"woman-judge\",\"\\u{1F9D1}\\u200D\\u{1F33E}\":\"farmer\",\"\\u{1F468}\\u200D\\u{1F33E}\":\"man-farmer\",\"\\u{1F469}\\u200D\\u{1F33E}\":\"woman-farmer\",\"\\u{1F9D1}\\u200D\\u{1F373}\":\"cook\",\"\\u{1F468}\\u200D\\u{1F373}\":\"man-cook\",\"\\u{1F469}\\u200D\\u{1F373}\":\"woman-cook\",\"\\u{1F9D1}\\u200D\\u{1F527}\":\"mechanic\",\"\\u{1F468}\\u200D\\u{1F527}\":\"man-mechanic\",\"\\u{1F469}\\u200D\\u{1F527}\":\"woman-mechanic\",\"\\u{1F9D1}\\u200D\\u{1F3ED}\":\"factory-worker\",\"\\u{1F468}\\u200D\\u{1F3ED}\":\"man-factory-worker\",\"\\u{1F469}\\u200D\\u{1F3ED}\":\"woman-factory-worker\",\"\\u{1F9D1}\\u200D\\u{1F4BC}\":\"office-worker\",\"\\u{1F468}\\u200D\\u{1F4BC}\":\"man-office-worker\",\"\\u{1F469}\\u200D\\u{1F4BC}\":\"woman-office-worker\",\"\\u{1F9D1}\\u200D\\u{1F52C}\":\"scientist\",\"\\u{1F468}\\u200D\\u{1F52C}\":\"man-scientist\",\"\\u{1F469}\\u200D\\u{1F52C}\":\"woman-scientist\",\"\\u{1F9D1}\\u200D\\u{1F4BB}\":\"technologist\",\"\\u{1F468}\\u200D\\u{1F4BB}\":\"man-technologist\",\"\\u{1F469}\\u200D\\u{1F4BB}\":\"woman-technologist\",\"\\u{1F9D1}\\u200D\\u{1F3A4}\":\"singer\",\"\\u{1F468}\\u200D\\u{1F3A4}\":\"man-singer\",\"\\u{1F469}\\u200D\\u{1F3A4}\":\"woman-singer\",\"\\u{1F9D1}\\u200D\\u{1F3A8}\":\"artist\",\"\\u{1F468}\\u200D\\u{1F3A8}\":\"man-artist\",\"\\u{1F469}\\u200D\\u{1F3A8}\":\"woman-artist\",\"\\u{1F9D1}\\u200D\\u2708\\uFE0F\":\"pilot\",\"\\u{1F468}\\u200D\\u2708\\uFE0F\":\"man-pilot\",\"\\u{1F469}\\u200D\\u2708\\uFE0F\":\"woman-pilot\",\"\\u{1F9D1}\\u200D\\u{1F680}\":\"astronaut\",\"\\u{1F468}\\u200D\\u{1F680}\":\"man-astronaut\",\"\\u{1F469}\\u200D\\u{1F680}\":\"woman-astronaut\",\"\\u{1F9D1}\\u200D\\u{1F692}\":\"firefighter\",\"\\u{1F468}\\u200D\\u{1F692}\":\"man-firefighter\",\"\\u{1F469}\\u200D\\u{1F692}\":\"woman-firefighter\",\"\\u{1F46E}\":\"police-officer\",\"\\u{1F46E}\\u200D\\u2642\\uFE0F\":\"man-police-officer\",\"\\u{1F46E}\\u200D\\u2640\\uFE0F\":\"woman-police-officer\",\"\\u{1F575}\":\"detective\",\"\\u{1F575}\\uFE0F\\u200D\\u2642\\uFE0F\":\"man-detective\",\"\\u{1F575}\\uFE0F\\u200D\\u2640\\uFE0F\":\"woman-detective\",\"\\u{1F482}\":\"guard\",\"\\u{1F482}\\u200D\\u2642\\uFE0F\":\"man-guard\",\"\\u{1F482}\\u200D\\u2640\\uFE0F\":\"woman-guard\",\"\\u{1F977}\":\"ninja\",\"\\u{1F477}\":\"construction-worker\",\"\\u{1F477}\\u200D\\u2642\\uFE0F\":\"man-construction-worker\",\"\\u{1F477}\\u200D\\u2640\\uFE0F\":\"woman-construction-worker\",\"\\u{1FAC5}\":\"person-with-crown\",\"\\u{1F934}\":\"prince\",\"\\u{1F478}\":\"princess\",\"\\u{1F473}\":\"person-wearing-turban\",\"\\u{1F473}\\u200D\\u2642\\uFE0F\":\"man-wearing-turban\",\"\\u{1F473}\\u200D\\u2640\\uFE0F\":\"woman-wearing-turban\",\"\\u{1F472}\":\"person-with-skullcap\",\"\\u{1F9D5}\":\"woman-with-headscarf\",\"\\u{1F935}\":\"person-in-tuxedo\",\"\\u{1F935}\\u200D\\u2642\\uFE0F\":\"man-in-tuxedo\",\"\\u{1F935}\\u200D\\u2640\\uFE0F\":\"woman-in-tuxedo\",\"\\u{1F470}\":\"person-with-veil\",\"\\u{1F470}\\u200D\\u2642\\uFE0F\":\"man-with-veil\",\"\\u{1F470}\\u200D\\u2640\\uFE0F\":\"woman-with-veil\",\"\\u{1F930}\":\"pregnant-woman\",\"\\u{1FAC3}\":\"pregnant-man\",\"\\u{1FAC4}\":\"pregnant-person\",\"\\u{1F931}\":\"breast-feeding\",\"\\u{1F469}\\u200D\\u{1F37C}\":\"woman-feeding-baby\",\"\\u{1F468}\\u200D\\u{1F37C}\":\"man-feeding-baby\",\"\\u{1F9D1}\\u200D\\u{1F37C}\":\"person-feeding-baby\",\"\\u{1F47C}\":\"baby-angel\",\"\\u{1F385}\":\"santa-claus\",\"\\u{1F936}\":\"mrs-claus\",\"\\u{1F9D1}\\u200D\\u{1F384}\":\"mx-claus\",\"\\u{1F9B8}\":\"superhero\",\"\\u{1F9B8}\\u200D\\u2642\\uFE0F\":\"man-superhero\",\"\\u{1F9B8}\\u200D\\u2640\\uFE0F\":\"woman-superhero\",\"\\u{1F9B9}\":\"supervillain\",\"\\u{1F9B9}\\u200D\\u2642\\uFE0F\":\"man-supervillain\",\"\\u{1F9B9}\\u200D\\u2640\\uFE0F\":\"woman-supervillain\",\"\\u{1F9D9}\":\"mage\",\"\\u{1F9D9}\\u200D\\u2642\\uFE0F\":\"man-mage\",\"\\u{1F9D9}\\u200D\\u2640\\uFE0F\":\"woman-mage\",\"\\u{1F9DA}\":\"fairy\",\"\\u{1F9DA}\\u200D\\u2642\\uFE0F\":\"man-fairy\",\"\\u{1F9DA}\\u200D\\u2640\\uFE0F\":\"woman-fairy\",\"\\u{1F9DB}\":\"vampire\",\"\\u{1F9DB}\\u200D\\u2642\\uFE0F\":\"man-vampire\",\"\\u{1F9DB}\\u200D\\u2640\\uFE0F\":\"woman-vampire\",\"\\u{1F9DC}\":\"merperson\",\"\\u{1F9DC}\\u200D\\u2642\\uFE0F\":\"merman\",\"\\u{1F9DC}\\u200D\\u2640\\uFE0F\":\"mermaid\",\"\\u{1F9DD}\":\"elf\",\"\\u{1F9DD}\\u200D\\u2642\\uFE0F\":\"man-elf\",\"\\u{1F9DD}\\u200D\\u2640\\uFE0F\":\"woman-elf\",\"\\u{1F9DE}\":\"genie\",\"\\u{1F9DE}\\u200D\\u2642\\uFE0F\":\"man-genie\",\"\\u{1F9DE}\\u200D\\u2640\\uFE0F\":\"woman-genie\",\"\\u{1F9DF}\":\"zombie\",\"\\u{1F9DF}\\u200D\\u2642\\uFE0F\":\"man-zombie\",\"\\u{1F9DF}\\u200D\\u2640\\uFE0F\":\"woman-zombie\",\"\\u{1F9CC}\":\"troll\",\"\\u{1F486}\":\"person-getting-massage\",\"\\u{1F486}\\u200D\\u2642\\uFE0F\":\"man-getting-massage\",\"\\u{1F486}\\u200D\\u2640\\uFE0F\":\"woman-getting-massage\",\"\\u{1F487}\":\"person-getting-haircut\",\"\\u{1F487}\\u200D\\u2642\\uFE0F\":\"man-getting-haircut\",\"\\u{1F487}\\u200D\\u2640\\uFE0F\":\"woman-getting-haircut\",\"\\u{1F6B6}\":\"person-walking\",\"\\u{1F6B6}\\u200D\\u2642\\uFE0F\":\"man-walking\",\"\\u{1F6B6}\\u200D\\u2640\\uFE0F\":\"woman-walking\",\"\\u{1F9CD}\":\"person-standing\",\"\\u{1F9CD}\\u200D\\u2642\\uFE0F\":\"man-standing\",\"\\u{1F9CD}\\u200D\\u2640\\uFE0F\":\"woman-standing\",\"\\u{1F9CE}\":\"person-kneeling\",\"\\u{1F9CE}\\u200D\\u2642\\uFE0F\":\"man-kneeling\",\"\\u{1F9CE}\\u200D\\u2640\\uFE0F\":\"woman-kneeling\",\"\\u{1F9D1}\\u200D\\u{1F9AF}\":\"person-with-white-cane\",\"\\u{1F468}\\u200D\\u{1F9AF}\":\"man-with-white-cane\",\"\\u{1F469}\\u200D\\u{1F9AF}\":\"woman-with-white-cane\",\"\\u{1F9D1}\\u200D\\u{1F9BC}\":\"person-in-motorized-wheelchair\",\"\\u{1F468}\\u200D\\u{1F9BC}\":\"man-in-motorized-wheelchair\",\"\\u{1F469}\\u200D\\u{1F9BC}\":\"woman-in-motorized-wheelchair\",\"\\u{1F9D1}\\u200D\\u{1F9BD}\":\"person-in-manual-wheelchair\",\"\\u{1F468}\\u200D\\u{1F9BD}\":\"man-in-manual-wheelchair\",\"\\u{1F469}\\u200D\\u{1F9BD}\":\"woman-in-manual-wheelchair\",\"\\u{1F3C3}\":\"person-running\",\"\\u{1F3C3}\\u200D\\u2642\\uFE0F\":\"man-running\",\"\\u{1F3C3}\\u200D\\u2640\\uFE0F\":\"woman-running\",\"\\u{1F483}\":\"woman-dancing\",\"\\u{1F57A}\":\"man-dancing\",\"\\u{1F574}\":\"person-in-suit-levitating\",\"\\u{1F46F}\":\"people-with-bunny-ears\",\"\\u{1F46F}\\u200D\\u2642\\uFE0F\":\"men-with-bunny-ears\",\"\\u{1F46F}\\u200D\\u2640\\uFE0F\":\"women-with-bunny-ears\",\"\\u{1F9D6}\":\"person-in-steamy-room\",\"\\u{1F9D6}\\u200D\\u2642\\uFE0F\":\"man-in-steamy-room\",\"\\u{1F9D6}\\u200D\\u2640\\uFE0F\":\"woman-in-steamy-room\",\"\\u{1F9D7}\":\"person-climbing\",\"\\u{1F9D7}\\u200D\\u2642\\uFE0F\":\"man-climbing\",\"\\u{1F9D7}\\u200D\\u2640\\uFE0F\":\"woman-climbing\",\"\\u{1F93A}\":\"person-fencing\",\"\\u{1F3C7}\":\"horse-racing\",\"\\u26F7\":\"skier\",\"\\u{1F3C2}\":\"snowboarder\",\"\\u{1F3CC}\":\"person-golfing\",\"\\u{1F3CC}\\uFE0F\\u200D\\u2642\\uFE0F\":\"man-golfing\",\"\\u{1F3CC}\\uFE0F\\u200D\\u2640\\uFE0F\":\"woman-golfing\",\"\\u{1F3C4}\":\"person-surfing\",\"\\u{1F3C4}\\u200D\\u2642\\uFE0F\":\"man-surfing\",\"\\u{1F3C4}\\u200D\\u2640\\uFE0F\":\"woman-surfing\",\"\\u{1F6A3}\":\"person-rowing-boat\",\"\\u{1F6A3}\\u200D\\u2642\\uFE0F\":\"man-rowing-boat\",\"\\u{1F6A3}\\u200D\\u2640\\uFE0F\":\"woman-rowing-boat\",\"\\u{1F3CA}\":\"person-swimming\",\"\\u{1F3CA}\\u200D\\u2642\\uFE0F\":\"man-swimming\",\"\\u{1F3CA}\\u200D\\u2640\\uFE0F\":\"woman-swimming\",\"\\u26F9\":\"person-bouncing-ball\",\"\\u26F9\\uFE0F\\u200D\\u2642\\uFE0F\":\"man-bouncing-ball\",\"\\u26F9\\uFE0F\\u200D\\u2640\\uFE0F\":\"woman-bouncing-ball\",\"\\u{1F3CB}\":\"person-lifting-weights\",\"\\u{1F3CB}\\uFE0F\\u200D\\u2642\\uFE0F\":\"man-lifting-weights\",\"\\u{1F3CB}\\uFE0F\\u200D\\u2640\\uFE0F\":\"woman-lifting-weights\",\"\\u{1F6B4}\":\"person-biking\",\"\\u{1F6B4}\\u200D\\u2642\\uFE0F\":\"man-biking\",\"\\u{1F6B4}\\u200D\\u2640\\uFE0F\":\"woman-biking\",\"\\u{1F6B5}\":\"person-mountain-biking\",\"\\u{1F6B5}\\u200D\\u2642\\uFE0F\":\"man-mountain-biking\",\"\\u{1F6B5}\\u200D\\u2640\\uFE0F\":\"woman-mountain-biking\",\"\\u{1F938}\":\"person-cartwheeling\",\"\\u{1F938}\\u200D\\u2642\\uFE0F\":\"man-cartwheeling\",\"\\u{1F938}\\u200D\\u2640\\uFE0F\":\"woman-cartwheeling\",\"\\u{1F93C}\":\"people-wrestling\",\"\\u{1F93C}\\u200D\\u2642\\uFE0F\":\"men-wrestling\",\"\\u{1F93C}\\u200D\\u2640\\uFE0F\":\"women-wrestling\",\"\\u{1F93D}\":\"person-playing-water-polo\",\"\\u{1F93D}\\u200D\\u2642\\uFE0F\":\"man-playing-water-polo\",\"\\u{1F93D}\\u200D\\u2640\\uFE0F\":\"woman-playing-water-polo\",\"\\u{1F93E}\":\"person-playing-handball\",\"\\u{1F93E}\\u200D\\u2642\\uFE0F\":\"man-playing-handball\",\"\\u{1F93E}\\u200D\\u2640\\uFE0F\":\"woman-playing-handball\",\"\\u{1F939}\":\"person-juggling\",\"\\u{1F939}\\u200D\\u2642\\uFE0F\":\"man-juggling\",\"\\u{1F939}\\u200D\\u2640\\uFE0F\":\"woman-juggling\",\"\\u{1F9D8}\":\"person-in-lotus-position\",\"\\u{1F9D8}\\u200D\\u2642\\uFE0F\":\"man-in-lotus-position\",\"\\u{1F9D8}\\u200D\\u2640\\uFE0F\":\"woman-in-lotus-position\",\"\\u{1F6C0}\":\"person-taking-bath\",\"\\u{1F6CC}\":\"person-in-bed\",\"\\u{1F9D1}\\u200D\\u{1F91D}\\u200D\\u{1F9D1}\":\"people-holding-hands\",\"\\u{1F46D}\":\"women-holding-hands\",\"\\u{1F46B}\":\"woman-and-man-holding-hands\",\"\\u{1F46C}\":\"men-holding-hands\",\"\\u{1F48F}\":\"kiss\",\"\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\":\"kiss-woman,-man\",\"\\u{1F468}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F468}\":\"kiss-man,-man\",\"\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F48B}\\u200D\\u{1F469}\":\"kiss-woman,-woman\",\"\\u{1F491}\":\"couple-with-heart\",\"\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\":\"couple-with-heart-woman,-man\",\"\\u{1F468}\\u200D\\u2764\\uFE0F\\u200D\\u{1F468}\":\"couple-with-heart-man,-man\",\"\\u{1F469}\\u200D\\u2764\\uFE0F\\u200D\\u{1F469}\":\"couple-with-heart-woman,-woman\",\"\\u{1F46A}\":\"family\",\"\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F466}\":\"family-man,-woman,-boy\",\"\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\":\"family-man,-woman,-girl\",\"\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}\":\"family-man,-woman,-girl,-boy\",\"\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}\":\"family-man,-woman,-boy,-boy\",\"\\u{1F468}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}\":\"family-man,-woman,-girl,-girl\",\"\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F466}\":\"family-man,-man,-boy\",\"\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\":\"family-man,-man,-girl\",\"\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F466}\":\"family-man,-man,-girl,-boy\",\"\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F466}\\u200D\\u{1F466}\":\"family-man,-man,-boy,-boy\",\"\\u{1F468}\\u200D\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F467}\":\"family-man,-man,-girl,-girl\",\"\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F466}\":\"family-woman,-woman,-boy\",\"\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\":\"family-woman,-woman,-girl\",\"\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}\":\"family-woman,-woman,-girl,-boy\",\"\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}\":\"family-woman,-woman,-boy,-boy\",\"\\u{1F469}\\u200D\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}\":\"family-woman,-woman,-girl,-girl\",\"\\u{1F468}\\u200D\\u{1F466}\":\"family-man,-boy\",\"\\u{1F468}\\u200D\\u{1F466}\\u200D\\u{1F466}\":\"family-man,-boy,-boy\",\"\\u{1F468}\\u200D\\u{1F467}\":\"family-man,-girl\",\"\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F466}\":\"family-man,-girl,-boy\",\"\\u{1F468}\\u200D\\u{1F467}\\u200D\\u{1F467}\":\"family-man,-girl,-girl\",\"\\u{1F469}\\u200D\\u{1F466}\":\"family-woman,-boy\",\"\\u{1F469}\\u200D\\u{1F466}\\u200D\\u{1F466}\":\"family-woman,-boy,-boy\",\"\\u{1F469}\\u200D\\u{1F467}\":\"family-woman,-girl\",\"\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F466}\":\"family-woman,-girl,-boy\",\"\\u{1F469}\\u200D\\u{1F467}\\u200D\\u{1F467}\":\"family-woman,-girl,-girl\",\"\\u{1F5E3}\":\"speaking-head\",\"\\u{1F464}\":\"bust-in-silhouette\",\"\\u{1F465}\":\"busts-in-silhouette\",\"\\u{1FAC2}\":\"people-hugging\",\"\\u{1F463}\":\"footprints\",\"\\u{1F9B0}\":\"red-hair\",\"\\u{1F9B1}\":\"curly-hair\",\"\\u{1F9B3}\":\"white-hair\",\"\\u{1F9B2}\":\"bald\",\"\\u{1F435}\":\"monkey-face\",\"\\u{1F412}\":\"monkey\",\"\\u{1F98D}\":\"gorilla\",\"\\u{1F9A7}\":\"orangutan\",\"\\u{1F436}\":\"dog-face\",\"\\u{1F415}\":\"dog\",\"\\u{1F9AE}\":\"guide-dog\",\"\\u{1F415}\\u200D\\u{1F9BA}\":\"service-dog\",\"\\u{1F429}\":\"poodle\",\"\\u{1F43A}\":\"wolf\",\"\\u{1F98A}\":\"fox\",\"\\u{1F99D}\":\"raccoon\",\"\\u{1F431}\":\"cat-face\",\"\\u{1F408}\":\"cat\",\"\\u{1F408}\\u200D\\u2B1B\":\"black-cat\",\"\\u{1F981}\":\"lion\",\"\\u{1F42F}\":\"tiger-face\",\"\\u{1F405}\":\"tiger\",\"\\u{1F406}\":\"leopard\",\"\\u{1F434}\":\"horse-face\",\"\\u{1FACE}\":\"\\u229B-moose\",\"\\u{1FACF}\":\"\\u229B-donkey\",\"\\u{1F40E}\":\"horse\",\"\\u{1F984}\":\"unicorn\",\"\\u{1F993}\":\"zebra\",\"\\u{1F98C}\":\"deer\",\"\\u{1F9AC}\":\"bison\",\"\\u{1F42E}\":\"cow-face\",\"\\u{1F402}\":\"ox\",\"\\u{1F403}\":\"water-buffalo\",\"\\u{1F404}\":\"cow\",\"\\u{1F437}\":\"pig-face\",\"\\u{1F416}\":\"pig\",\"\\u{1F417}\":\"boar\",\"\\u{1F43D}\":\"pig-nose\",\"\\u{1F40F}\":\"ram\",\"\\u{1F411}\":\"ewe\",\"\\u{1F410}\":\"goat\",\"\\u{1F42A}\":\"camel\",\"\\u{1F42B}\":\"two-hump-camel\",\"\\u{1F999}\":\"llama\",\"\\u{1F992}\":\"giraffe\",\"\\u{1F418}\":\"elephant\",\"\\u{1F9A3}\":\"mammoth\",\"\\u{1F98F}\":\"rhinoceros\",\"\\u{1F99B}\":\"hippopotamus\",\"\\u{1F42D}\":\"mouse-face\",\"\\u{1F401}\":\"mouse\",\"\\u{1F400}\":\"rat\",\"\\u{1F439}\":\"hamster\",\"\\u{1F430}\":\"rabbit-face\",\"\\u{1F407}\":\"rabbit\",\"\\u{1F43F}\":\"chipmunk\",\"\\u{1F9AB}\":\"beaver\",\"\\u{1F994}\":\"hedgehog\",\"\\u{1F987}\":\"bat\",\"\\u{1F43B}\":\"bear\",\"\\u{1F43B}\\u200D\\u2744\\uFE0F\":\"polar-bear\",\"\\u{1F428}\":\"koala\",\"\\u{1F43C}\":\"panda\",\"\\u{1F9A5}\":\"sloth\",\"\\u{1F9A6}\":\"otter\",\"\\u{1F9A8}\":\"skunk\",\"\\u{1F998}\":\"kangaroo\",\"\\u{1F9A1}\":\"badger\",\"\\u{1F43E}\":\"paw-prints\",\"\\u{1F983}\":\"turkey\",\"\\u{1F414}\":\"chicken\",\"\\u{1F413}\":\"rooster\",\"\\u{1F423}\":\"hatching-chick\",\"\\u{1F424}\":\"baby-chick\",\"\\u{1F425}\":\"front-facing-baby-chick\",\"\\u{1F426}\":\"bird\",\"\\u{1F427}\":\"penguin\",\"\\u{1F54A}\":\"dove\",\"\\u{1F985}\":\"eagle\",\"\\u{1F986}\":\"duck\",\"\\u{1F9A2}\":\"swan\",\"\\u{1F989}\":\"owl\",\"\\u{1F9A4}\":\"dodo\",\"\\u{1FAB6}\":\"feather\",\"\\u{1F9A9}\":\"flamingo\",\"\\u{1F99A}\":\"peacock\",\"\\u{1F99C}\":\"parrot\",\"\\u{1FABD}\":\"\\u229B-wing\",\"\\u{1F426}\\u200D\\u2B1B\":\"\\u229B-black-bird\",\"\\u{1FABF}\":\"\\u229B-goose\",\"\\u{1F438}\":\"frog\",\"\\u{1F40A}\":\"crocodile\",\"\\u{1F422}\":\"turtle\",\"\\u{1F98E}\":\"lizard\",\"\\u{1F40D}\":\"snake\",\"\\u{1F432}\":\"dragon-face\",\"\\u{1F409}\":\"dragon\",\"\\u{1F995}\":\"sauropod\",\"\\u{1F996}\":\"t-rex\",\"\\u{1F433}\":\"spouting-whale\",\"\\u{1F40B}\":\"whale\",\"\\u{1F42C}\":\"dolphin\",\"\\u{1F9AD}\":\"seal\",\"\\u{1F41F}\":\"fish\",\"\\u{1F420}\":\"tropical-fish\",\"\\u{1F421}\":\"blowfish\",\"\\u{1F988}\":\"shark\",\"\\u{1F419}\":\"octopus\",\"\\u{1F41A}\":\"spiral-shell\",\"\\u{1FAB8}\":\"coral\",\"\\u{1FABC}\":\"\\u229B-jellyfish\",\"\\u{1F40C}\":\"snail\",\"\\u{1F98B}\":\"butterfly\",\"\\u{1F41B}\":\"bug\",\"\\u{1F41C}\":\"ant\",\"\\u{1F41D}\":\"honeybee\",\"\\u{1FAB2}\":\"beetle\",\"\\u{1F41E}\":\"lady-beetle\",\"\\u{1F997}\":\"cricket\",\"\\u{1FAB3}\":\"cockroach\",\"\\u{1F577}\":\"spider\",\"\\u{1F578}\":\"spider-web\",\"\\u{1F982}\":\"scorpion\",\"\\u{1F99F}\":\"mosquito\",\"\\u{1FAB0}\":\"fly\",\"\\u{1FAB1}\":\"worm\",\"\\u{1F9A0}\":\"microbe\",\"\\u{1F490}\":\"bouquet\",\"\\u{1F338}\":\"cherry-blossom\",\"\\u{1F4AE}\":\"white-flower\",\"\\u{1FAB7}\":\"lotus\",\"\\u{1F3F5}\":\"rosette\",\"\\u{1F339}\":\"rose\",\"\\u{1F940}\":\"wilted-flower\",\"\\u{1F33A}\":\"hibiscus\",\"\\u{1F33B}\":\"sunflower\",\"\\u{1F33C}\":\"blossom\",\"\\u{1F337}\":\"tulip\",\"\\u{1FABB}\":\"\\u229B-hyacinth\",\"\\u{1F331}\":\"seedling\",\"\\u{1FAB4}\":\"potted-plant\",\"\\u{1F332}\":\"evergreen-tree\",\"\\u{1F333}\":\"deciduous-tree\",\"\\u{1F334}\":\"palm-tree\",\"\\u{1F335}\":\"cactus\",\"\\u{1F33E}\":\"sheaf-of-rice\",\"\\u{1F33F}\":\"herb\",\"\\u2618\":\"shamrock\",\"\\u{1F340}\":\"four-leaf-clover\",\"\\u{1F341}\":\"maple-leaf\",\"\\u{1F342}\":\"fallen-leaf\",\"\\u{1F343}\":\"leaf-fluttering-in-wind\",\"\\u{1FAB9}\":\"empty-nest\",\"\\u{1FABA}\":\"nest-with-eggs\",\"\\u{1F344}\":\"mushroom\",\"\\u{1F347}\":\"grapes\",\"\\u{1F348}\":\"melon\",\"\\u{1F349}\":\"watermelon\",\"\\u{1F34A}\":\"tangerine\",\"\\u{1F34B}\":\"lemon\",\"\\u{1F34C}\":\"banana\",\"\\u{1F34D}\":\"pineapple\",\"\\u{1F96D}\":\"mango\",\"\\u{1F34E}\":\"red-apple\",\"\\u{1F34F}\":\"green-apple\",\"\\u{1F350}\":\"pear\",\"\\u{1F351}\":\"peach\",\"\\u{1F352}\":\"cherries\",\"\\u{1F353}\":\"strawberry\",\"\\u{1FAD0}\":\"blueberries\",\"\\u{1F95D}\":\"kiwi-fruit\",\"\\u{1F345}\":\"tomato\",\"\\u{1FAD2}\":\"olive\",\"\\u{1F965}\":\"coconut\",\"\\u{1F951}\":\"avocado\",\"\\u{1F346}\":\"eggplant\",\"\\u{1F954}\":\"potato\",\"\\u{1F955}\":\"carrot\",\"\\u{1F33D}\":\"ear-of-corn\",\"\\u{1F336}\":\"hot-pepper\",\"\\u{1FAD1}\":\"bell-pepper\",\"\\u{1F952}\":\"cucumber\",\"\\u{1F96C}\":\"leafy-green\",\"\\u{1F966}\":\"broccoli\",\"\\u{1F9C4}\":\"garlic\",\"\\u{1F9C5}\":\"onion\",\"\\u{1F95C}\":\"peanuts\",\"\\u{1FAD8}\":\"beans\",\"\\u{1F330}\":\"chestnut\",\"\\u{1FADA}\":\"\\u229B-ginger-root\",\"\\u{1FADB}\":\"\\u229B-pea-pod\",\"\\u{1F35E}\":\"bread\",\"\\u{1F950}\":\"croissant\",\"\\u{1F956}\":\"baguette-bread\",\"\\u{1FAD3}\":\"flatbread\",\"\\u{1F968}\":\"pretzel\",\"\\u{1F96F}\":\"bagel\",\"\\u{1F95E}\":\"pancakes\",\"\\u{1F9C7}\":\"waffle\",\"\\u{1F9C0}\":\"cheese-wedge\",\"\\u{1F356}\":\"meat-on-bone\",\"\\u{1F357}\":\"poultry-leg\",\"\\u{1F969}\":\"cut-of-meat\",\"\\u{1F953}\":\"bacon\",\"\\u{1F354}\":\"hamburger\",\"\\u{1F35F}\":\"french-fries\",\"\\u{1F355}\":\"pizza\",\"\\u{1F32D}\":\"hot-dog\",\"\\u{1F96A}\":\"sandwich\",\"\\u{1F32E}\":\"taco\",\"\\u{1F32F}\":\"burrito\",\"\\u{1FAD4}\":\"tamale\",\"\\u{1F959}\":\"stuffed-flatbread\",\"\\u{1F9C6}\":\"falafel\",\"\\u{1F95A}\":\"egg\",\"\\u{1F373}\":\"cooking\",\"\\u{1F958}\":\"shallow-pan-of-food\",\"\\u{1F372}\":\"pot-of-food\",\"\\u{1FAD5}\":\"fondue\",\"\\u{1F963}\":\"bowl-with-spoon\",\"\\u{1F957}\":\"green-salad\",\"\\u{1F37F}\":\"popcorn\",\"\\u{1F9C8}\":\"butter\",\"\\u{1F9C2}\":\"salt\",\"\\u{1F96B}\":\"canned-food\",\"\\u{1F371}\":\"bento-box\",\"\\u{1F358}\":\"rice-cracker\",\"\\u{1F359}\":\"rice-ball\",\"\\u{1F35A}\":\"cooked-rice\",\"\\u{1F35B}\":\"curry-rice\",\"\\u{1F35C}\":\"steaming-bowl\",\"\\u{1F35D}\":\"spaghetti\",\"\\u{1F360}\":\"roasted-sweet-potato\",\"\\u{1F362}\":\"oden\",\"\\u{1F363}\":\"sushi\",\"\\u{1F364}\":\"fried-shrimp\",\"\\u{1F365}\":\"fish-cake-with-swirl\",\"\\u{1F96E}\":\"moon-cake\",\"\\u{1F361}\":\"dango\",\"\\u{1F95F}\":\"dumpling\",\"\\u{1F960}\":\"fortune-cookie\",\"\\u{1F961}\":\"takeout-box\",\"\\u{1F980}\":\"crab\",\"\\u{1F99E}\":\"lobster\",\"\\u{1F990}\":\"shrimp\",\"\\u{1F991}\":\"squid\",\"\\u{1F9AA}\":\"oyster\",\"\\u{1F366}\":\"soft-ice-cream\",\"\\u{1F367}\":\"shaved-ice\",\"\\u{1F368}\":\"ice-cream\",\"\\u{1F369}\":\"doughnut\",\"\\u{1F36A}\":\"cookie\",\"\\u{1F382}\":\"birthday-cake\",\"\\u{1F370}\":\"shortcake\",\"\\u{1F9C1}\":\"cupcake\",\"\\u{1F967}\":\"pie\",\"\\u{1F36B}\":\"chocolate-bar\",\"\\u{1F36C}\":\"candy\",\"\\u{1F36D}\":\"lollipop\",\"\\u{1F36E}\":\"custard\",\"\\u{1F36F}\":\"honey-pot\",\"\\u{1F37C}\":\"baby-bottle\",\"\\u{1F95B}\":\"glass-of-milk\",\"\\u2615\":\"hot-beverage\",\"\\u{1FAD6}\":\"teapot\",\"\\u{1F375}\":\"teacup-without-handle\",\"\\u{1F376}\":\"sake\",\"\\u{1F37E}\":\"bottle-with-popping-cork\",\"\\u{1F377}\":\"wine-glass\",\"\\u{1F378}\":\"cocktail-glass\",\"\\u{1F379}\":\"tropical-drink\",\"\\u{1F37A}\":\"beer-mug\",\"\\u{1F37B}\":\"clinking-beer-mugs\",\"\\u{1F942}\":\"clinking-glasses\",\"\\u{1F943}\":\"tumbler-glass\",\"\\u{1FAD7}\":\"pouring-liquid\",\"\\u{1F964}\":\"cup-with-straw\",\"\\u{1F9CB}\":\"bubble-tea\",\"\\u{1F9C3}\":\"beverage-box\",\"\\u{1F9C9}\":\"mate\",\"\\u{1F9CA}\":\"ice\",\"\\u{1F962}\":\"chopsticks\",\"\\u{1F37D}\":\"fork-and-knife-with-plate\",\"\\u{1F374}\":\"fork-and-knife\",\"\\u{1F944}\":\"spoon\",\"\\u{1F52A}\":\"kitchen-knife\",\"\\u{1FAD9}\":\"jar\",\"\\u{1F3FA}\":\"amphora\",\"\\u{1F30D}\":\"globe-showing-europe-africa\",\"\\u{1F30E}\":\"globe-showing-americas\",\"\\u{1F30F}\":\"globe-showing-asia-australia\",\"\\u{1F310}\":\"globe-with-meridians\",\"\\u{1F5FA}\":\"world-map\",\"\\u{1F5FE}\":\"map-of-japan\",\"\\u{1F9ED}\":\"compass\",\"\\u{1F3D4}\":\"snow-capped-mountain\",\"\\u26F0\":\"mountain\",\"\\u{1F30B}\":\"volcano\",\"\\u{1F5FB}\":\"mount-fuji\",\"\\u{1F3D5}\":\"camping\",\"\\u{1F3D6}\":\"beach-with-umbrella\",\"\\u{1F3DC}\":\"desert\",\"\\u{1F3DD}\":\"desert-island\",\"\\u{1F3DE}\":\"national-park\",\"\\u{1F3DF}\":\"stadium\",\"\\u{1F3DB}\":\"classical-building\",\"\\u{1F3D7}\":\"building-construction\",\"\\u{1F9F1}\":\"brick\",\"\\u{1FAA8}\":\"rock\",\"\\u{1FAB5}\":\"wood\",\"\\u{1F6D6}\":\"hut\",\"\\u{1F3D8}\":\"houses\",\"\\u{1F3DA}\":\"derelict-house\",\"\\u{1F3E0}\":\"house\",\"\\u{1F3E1}\":\"house-with-garden\",\"\\u{1F3E2}\":\"office-building\",\"\\u{1F3E3}\":\"japanese-post-office\",\"\\u{1F3E4}\":\"post-office\",\"\\u{1F3E5}\":\"hospital\",\"\\u{1F3E6}\":\"bank\",\"\\u{1F3E8}\":\"hotel\",\"\\u{1F3E9}\":\"love-hotel\",\"\\u{1F3EA}\":\"convenience-store\",\"\\u{1F3EB}\":\"school\",\"\\u{1F3EC}\":\"department-store\",\"\\u{1F3ED}\":\"factory\",\"\\u{1F3EF}\":\"japanese-castle\",\"\\u{1F3F0}\":\"castle\",\"\\u{1F492}\":\"wedding\",\"\\u{1F5FC}\":\"tokyo-tower\",\"\\u{1F5FD}\":\"statue-of-liberty\",\"\\u26EA\":\"church\",\"\\u{1F54C}\":\"mosque\",\"\\u{1F6D5}\":\"hindu-temple\",\"\\u{1F54D}\":\"synagogue\",\"\\u26E9\":\"shinto-shrine\",\"\\u{1F54B}\":\"kaaba\",\"\\u26F2\":\"fountain\",\"\\u26FA\":\"tent\",\"\\u{1F301}\":\"foggy\",\"\\u{1F303}\":\"night-with-stars\",\"\\u{1F3D9}\":\"cityscape\",\"\\u{1F304}\":\"sunrise-over-mountains\",\"\\u{1F305}\":\"sunrise\",\"\\u{1F306}\":\"cityscape-at-dusk\",\"\\u{1F307}\":\"sunset\",\"\\u{1F309}\":\"bridge-at-night\",\"\\u2668\":\"hot-springs\",\"\\u{1F3A0}\":\"carousel-horse\",\"\\u{1F6DD}\":\"playground-slide\",\"\\u{1F3A1}\":\"ferris-wheel\",\"\\u{1F3A2}\":\"roller-coaster\",\"\\u{1F488}\":\"barber-pole\",\"\\u{1F3AA}\":\"circus-tent\",\"\\u{1F682}\":\"locomotive\",\"\\u{1F683}\":\"railway-car\",\"\\u{1F684}\":\"high-speed-train\",\"\\u{1F685}\":\"bullet-train\",\"\\u{1F686}\":\"train\",\"\\u{1F687}\":\"metro\",\"\\u{1F688}\":\"light-rail\",\"\\u{1F689}\":\"station\",\"\\u{1F68A}\":\"tram\",\"\\u{1F69D}\":\"monorail\",\"\\u{1F69E}\":\"mountain-railway\",\"\\u{1F68B}\":\"tram-car\",\"\\u{1F68C}\":\"bus\",\"\\u{1F68D}\":\"oncoming-bus\",\"\\u{1F68E}\":\"trolleybus\",\"\\u{1F690}\":\"minibus\",\"\\u{1F691}\":\"ambulance\",\"\\u{1F692}\":\"fire-engine\",\"\\u{1F693}\":\"police-car\",\"\\u{1F694}\":\"oncoming-police-car\",\"\\u{1F695}\":\"taxi\",\"\\u{1F696}\":\"oncoming-taxi\",\"\\u{1F697}\":\"automobile\",\"\\u{1F698}\":\"oncoming-automobile\",\"\\u{1F699}\":\"sport-utility-vehicle\",\"\\u{1F6FB}\":\"pickup-truck\",\"\\u{1F69A}\":\"delivery-truck\",\"\\u{1F69B}\":\"articulated-lorry\",\"\\u{1F69C}\":\"tractor\",\"\\u{1F3CE}\":\"racing-car\",\"\\u{1F3CD}\":\"motorcycle\",\"\\u{1F6F5}\":\"motor-scooter\",\"\\u{1F9BD}\":\"manual-wheelchair\",\"\\u{1F9BC}\":\"motorized-wheelchair\",\"\\u{1F6FA}\":\"auto-rickshaw\",\"\\u{1F6B2}\":\"bicycle\",\"\\u{1F6F4}\":\"kick-scooter\",\"\\u{1F6F9}\":\"skateboard\",\"\\u{1F6FC}\":\"roller-skate\",\"\\u{1F68F}\":\"bus-stop\",\"\\u{1F6E3}\":\"motorway\",\"\\u{1F6E4}\":\"railway-track\",\"\\u{1F6E2}\":\"oil-drum\",\"\\u26FD\":\"fuel-pump\",\"\\u{1F6DE}\":\"wheel\",\"\\u{1F6A8}\":\"police-car-light\",\"\\u{1F6A5}\":\"horizontal-traffic-light\",\"\\u{1F6A6}\":\"vertical-traffic-light\",\"\\u{1F6D1}\":\"stop-sign\",\"\\u{1F6A7}\":\"construction\",\"\\u2693\":\"anchor\",\"\\u{1F6DF}\":\"ring-buoy\",\"\\u26F5\":\"sailboat\",\"\\u{1F6F6}\":\"canoe\",\"\\u{1F6A4}\":\"speedboat\",\"\\u{1F6F3}\":\"passenger-ship\",\"\\u26F4\":\"ferry\",\"\\u{1F6E5}\":\"motor-boat\",\"\\u{1F6A2}\":\"ship\",\"\\u2708\":\"airplane\",\"\\u{1F6E9}\":\"small-airplane\",\"\\u{1F6EB}\":\"airplane-departure\",\"\\u{1F6EC}\":\"airplane-arrival\",\"\\u{1FA82}\":\"parachute\",\"\\u{1F4BA}\":\"seat\",\"\\u{1F681}\":\"helicopter\",\"\\u{1F69F}\":\"suspension-railway\",\"\\u{1F6A0}\":\"mountain-cableway\",\"\\u{1F6A1}\":\"aerial-tramway\",\"\\u{1F6F0}\":\"satellite\",\"\\u{1F680}\":\"rocket\",\"\\u{1F6F8}\":\"flying-saucer\",\"\\u{1F6CE}\":\"bellhop-bell\",\"\\u{1F9F3}\":\"luggage\",\"\\u231B\":\"hourglass-done\",\"\\u23F3\":\"hourglass-not-done\",\"\\u231A\":\"watch\",\"\\u23F0\":\"alarm-clock\",\"\\u23F1\":\"stopwatch\",\"\\u23F2\":\"timer-clock\",\"\\u{1F570}\":\"mantelpiece-clock\",\"\\u{1F55B}\":\"twelve-o-clock\",\"\\u{1F567}\":\"twelve-thirty\",\"\\u{1F550}\":\"one-o-clock\",\"\\u{1F55C}\":\"one-thirty\",\"\\u{1F551}\":\"two-o-clock\",\"\\u{1F55D}\":\"two-thirty\",\"\\u{1F552}\":\"three-o-clock\",\"\\u{1F55E}\":\"three-thirty\",\"\\u{1F553}\":\"four-o-clock\",\"\\u{1F55F}\":\"four-thirty\",\"\\u{1F554}\":\"five-o-clock\",\"\\u{1F560}\":\"five-thirty\",\"\\u{1F555}\":\"six-o-clock\",\"\\u{1F561}\":\"six-thirty\",\"\\u{1F556}\":\"seven-o-clock\",\"\\u{1F562}\":\"seven-thirty\",\"\\u{1F557}\":\"eight-o-clock\",\"\\u{1F563}\":\"eight-thirty\",\"\\u{1F558}\":\"nine-o-clock\",\"\\u{1F564}\":\"nine-thirty\",\"\\u{1F559}\":\"ten-o-clock\",\"\\u{1F565}\":\"ten-thirty\",\"\\u{1F55A}\":\"eleven-o-clock\",\"\\u{1F566}\":\"eleven-thirty\",\"\\u{1F311}\":\"new-moon\",\"\\u{1F312}\":\"waxing-crescent-moon\",\"\\u{1F313}\":\"first-quarter-moon\",\"\\u{1F314}\":\"waxing-gibbous-moon\",\"\\u{1F315}\":\"full-moon\",\"\\u{1F316}\":\"waning-gibbous-moon\",\"\\u{1F317}\":\"last-quarter-moon\",\"\\u{1F318}\":\"waning-crescent-moon\",\"\\u{1F319}\":\"crescent-moon\",\"\\u{1F31A}\":\"new-moon-face\",\"\\u{1F31B}\":\"first-quarter-moon-face\",\"\\u{1F31C}\":\"last-quarter-moon-face\",\"\\u{1F321}\":\"thermometer\",\"\\u2600\":\"sun\",\"\\u{1F31D}\":\"full-moon-face\",\"\\u{1F31E}\":\"sun-with-face\",\"\\u{1FA90}\":\"ringed-planet\",\"\\u2B50\":\"star\",\"\\u{1F31F}\":\"glowing-star\",\"\\u{1F320}\":\"shooting-star\",\"\\u{1F30C}\":\"milky-way\",\"\\u2601\":\"cloud\",\"\\u26C5\":\"sun-behind-cloud\",\"\\u26C8\":\"cloud-with-lightning-and-rain\",\"\\u{1F324}\":\"sun-behind-small-cloud\",\"\\u{1F325}\":\"sun-behind-large-cloud\",\"\\u{1F326}\":\"sun-behind-rain-cloud\",\"\\u{1F327}\":\"cloud-with-rain\",\"\\u{1F328}\":\"cloud-with-snow\",\"\\u{1F329}\":\"cloud-with-lightning\",\"\\u{1F32A}\":\"tornado\",\"\\u{1F32B}\":\"fog\",\"\\u{1F32C}\":\"wind-face\",\"\\u{1F300}\":\"cyclone\",\"\\u{1F308}\":\"rainbow\",\"\\u{1F302}\":\"closed-umbrella\",\"\\u2602\":\"umbrella\",\"\\u2614\":\"umbrella-with-rain-drops\",\"\\u26F1\":\"umbrella-on-ground\",\"\\u26A1\":\"high-voltage\",\"\\u2744\":\"snowflake\",\"\\u2603\":\"snowman\",\"\\u26C4\":\"snowman-without-snow\",\"\\u2604\":\"comet\",\"\\u{1F525}\":\"fire\",\"\\u{1F4A7}\":\"droplet\",\"\\u{1F30A}\":\"water-wave\",\"\\u{1F383}\":\"jack-o-lantern\",\"\\u{1F384}\":\"christmas-tree\",\"\\u{1F386}\":\"fireworks\",\"\\u{1F387}\":\"sparkler\",\"\\u{1F9E8}\":\"firecracker\",\"\\u2728\":\"sparkles\",\"\\u{1F388}\":\"balloon\",\"\\u{1F389}\":\"party-popper\",\"\\u{1F38A}\":\"confetti-ball\",\"\\u{1F38B}\":\"tanabata-tree\",\"\\u{1F38D}\":\"pine-decoration\",\"\\u{1F38E}\":\"japanese-dolls\",\"\\u{1F38F}\":\"carp-streamer\",\"\\u{1F390}\":\"wind-chime\",\"\\u{1F391}\":\"moon-viewing-ceremony\",\"\\u{1F9E7}\":\"red-envelope\",\"\\u{1F380}\":\"ribbon\",\"\\u{1F381}\":\"wrapped-gift\",\"\\u{1F397}\":\"reminder-ribbon\",\"\\u{1F39F}\":\"admission-tickets\",\"\\u{1F3AB}\":\"ticket\",\"\\u{1F396}\":\"military-medal\",\"\\u{1F3C6}\":\"trophy\",\"\\u{1F3C5}\":\"sports-medal\",\"\\u{1F947}\":\"1st-place-medal\",\"\\u{1F948}\":\"2nd-place-medal\",\"\\u{1F949}\":\"3rd-place-medal\",\"\\u26BD\":\"soccer-ball\",\"\\u26BE\":\"baseball\",\"\\u{1F94E}\":\"softball\",\"\\u{1F3C0}\":\"basketball\",\"\\u{1F3D0}\":\"volleyball\",\"\\u{1F3C8}\":\"american-football\",\"\\u{1F3C9}\":\"rugby-football\",\"\\u{1F3BE}\":\"tennis\",\"\\u{1F94F}\":\"flying-disc\",\"\\u{1F3B3}\":\"bowling\",\"\\u{1F3CF}\":\"cricket-game\",\"\\u{1F3D1}\":\"field-hockey\",\"\\u{1F3D2}\":\"ice-hockey\",\"\\u{1F94D}\":\"lacrosse\",\"\\u{1F3D3}\":\"ping-pong\",\"\\u{1F3F8}\":\"badminton\",\"\\u{1F94A}\":\"boxing-glove\",\"\\u{1F94B}\":\"martial-arts-uniform\",\"\\u{1F945}\":\"goal-net\",\"\\u26F3\":\"flag-in-hole\",\"\\u26F8\":\"ice-skate\",\"\\u{1F3A3}\":\"fishing-pole\",\"\\u{1F93F}\":\"diving-mask\",\"\\u{1F3BD}\":\"running-shirt\",\"\\u{1F3BF}\":\"skis\",\"\\u{1F6F7}\":\"sled\",\"\\u{1F94C}\":\"curling-stone\",\"\\u{1F3AF}\":\"bullseye\",\"\\u{1FA80}\":\"yo-yo\",\"\\u{1FA81}\":\"kite\",\"\\u{1F52B}\":\"water-pistol\",\"\\u{1F3B1}\":\"pool-8-ball\",\"\\u{1F52E}\":\"crystal-ball\",\"\\u{1FA84}\":\"magic-wand\",\"\\u{1F3AE}\":\"video-game\",\"\\u{1F579}\":\"joystick\",\"\\u{1F3B0}\":\"slot-machine\",\"\\u{1F3B2}\":\"game-die\",\"\\u{1F9E9}\":\"puzzle-piece\",\"\\u{1F9F8}\":\"teddy-bear\",\"\\u{1FA85}\":\"pi\\xF1ata\",\"\\u{1FAA9}\":\"mirror-ball\",\"\\u{1FA86}\":\"nesting-dolls\",\"\\u2660\":\"spade-suit\",\"\\u2665\":\"heart-suit\",\"\\u2666\":\"diamond-suit\",\"\\u2663\":\"club-suit\",\"\\u265F\":\"chess-pawn\",\"\\u{1F0CF}\":\"joker\",\"\\u{1F004}\":\"mahjong-red-dragon\",\"\\u{1F3B4}\":\"flower-playing-cards\",\"\\u{1F3AD}\":\"performing-arts\",\"\\u{1F5BC}\":\"framed-picture\",\"\\u{1F3A8}\":\"artist-palette\",\"\\u{1F9F5}\":\"thread\",\"\\u{1FAA1}\":\"sewing-needle\",\"\\u{1F9F6}\":\"yarn\",\"\\u{1FAA2}\":\"knot\",\"\\u{1F453}\":\"glasses\",\"\\u{1F576}\":\"sunglasses\",\"\\u{1F97D}\":\"goggles\",\"\\u{1F97C}\":\"lab-coat\",\"\\u{1F9BA}\":\"safety-vest\",\"\\u{1F454}\":\"necktie\",\"\\u{1F455}\":\"t-shirt\",\"\\u{1F456}\":\"jeans\",\"\\u{1F9E3}\":\"scarf\",\"\\u{1F9E4}\":\"gloves\",\"\\u{1F9E5}\":\"coat\",\"\\u{1F9E6}\":\"socks\",\"\\u{1F457}\":\"dress\",\"\\u{1F458}\":\"kimono\",\"\\u{1F97B}\":\"sari\",\"\\u{1FA71}\":\"one-piece-swimsuit\",\"\\u{1FA72}\":\"briefs\",\"\\u{1FA73}\":\"shorts\",\"\\u{1F459}\":\"bikini\",\"\\u{1F45A}\":\"woman-s-clothes\",\"\\u{1FAAD}\":\"\\u229B-folding-hand-fan\",\"\\u{1F45B}\":\"purse\",\"\\u{1F45C}\":\"handbag\",\"\\u{1F45D}\":\"clutch-bag\",\"\\u{1F6CD}\":\"shopping-bags\",\"\\u{1F392}\":\"backpack\",\"\\u{1FA74}\":\"thong-sandal\",\"\\u{1F45E}\":\"man-s-shoe\",\"\\u{1F45F}\":\"running-shoe\",\"\\u{1F97E}\":\"hiking-boot\",\"\\u{1F97F}\":\"flat-shoe\",\"\\u{1F460}\":\"high-heeled-shoe\",\"\\u{1F461}\":\"woman-s-sandal\",\"\\u{1FA70}\":\"ballet-shoes\",\"\\u{1F462}\":\"woman-s-boot\",\"\\u{1FAAE}\":\"\\u229B-hair-pick\",\"\\u{1F451}\":\"crown\",\"\\u{1F452}\":\"woman-s-hat\",\"\\u{1F3A9}\":\"top-hat\",\"\\u{1F393}\":\"graduation-cap\",\"\\u{1F9E2}\":\"billed-cap\",\"\\u{1FA96}\":\"military-helmet\",\"\\u26D1\":\"rescue-worker-s-helmet\",\"\\u{1F4FF}\":\"prayer-beads\",\"\\u{1F484}\":\"lipstick\",\"\\u{1F48D}\":\"ring\",\"\\u{1F48E}\":\"gem-stone\",\"\\u{1F507}\":\"muted-speaker\",\"\\u{1F508}\":\"speaker-low-volume\",\"\\u{1F509}\":\"speaker-medium-volume\",\"\\u{1F50A}\":\"speaker-high-volume\",\"\\u{1F4E2}\":\"loudspeaker\",\"\\u{1F4E3}\":\"megaphone\",\"\\u{1F4EF}\":\"postal-horn\",\"\\u{1F514}\":\"bell\",\"\\u{1F515}\":\"bell-with-slash\",\"\\u{1F3BC}\":\"musical-score\",\"\\u{1F3B5}\":\"musical-note\",\"\\u{1F3B6}\":\"musical-notes\",\"\\u{1F399}\":\"studio-microphone\",\"\\u{1F39A}\":\"level-slider\",\"\\u{1F39B}\":\"control-knobs\",\"\\u{1F3A4}\":\"microphone\",\"\\u{1F3A7}\":\"headphone\",\"\\u{1F4FB}\":\"radio\",\"\\u{1F3B7}\":\"saxophone\",\"\\u{1FA97}\":\"accordion\",\"\\u{1F3B8}\":\"guitar\",\"\\u{1F3B9}\":\"musical-keyboard\",\"\\u{1F3BA}\":\"trumpet\",\"\\u{1F3BB}\":\"violin\",\"\\u{1FA95}\":\"banjo\",\"\\u{1F941}\":\"drum\",\"\\u{1FA98}\":\"long-drum\",\"\\u{1FA87}\":\"maracas\",\"\\u{1FA88}\":\"flute\",\"\\u{1F4F1}\":\"mobile-phone\",\"\\u{1F4F2}\":\"mobile-phone-with-arrow\",\"\\u260E\":\"telephone\",\"\\u{1F4DE}\":\"telephone-receiver\",\"\\u{1F4DF}\":\"pager\",\"\\u{1F4E0}\":\"fax-machine\",\"\\u{1F50B}\":\"battery\",\"\\u{1FAAB}\":\"low-battery\",\"\\u{1F50C}\":\"electric-plug\",\"\\u{1F4BB}\":\"laptop\",\"\\u{1F5A5}\":\"desktop-computer\",\"\\u{1F5A8}\":\"printer\",\"\\u2328\":\"keyboard\",\"\\u{1F5B1}\":\"computer-mouse\",\"\\u{1F5B2}\":\"trackball\",\"\\u{1F4BD}\":\"computer-disk\",\"\\u{1F4BE}\":\"floppy-disk\",\"\\u{1F4BF}\":\"optical-disk\",\"\\u{1F4C0}\":\"dvd\",\"\\u{1F9EE}\":\"abacus\",\"\\u{1F3A5}\":\"movie-camera\",\"\\u{1F39E}\":\"film-frames\",\"\\u{1F4FD}\":\"film-projector\",\"\\u{1F3AC}\":\"clapper-board\",\"\\u{1F4FA}\":\"television\",\"\\u{1F4F7}\":\"camera\",\"\\u{1F4F8}\":\"camera-with-flash\",\"\\u{1F4F9}\":\"video-camera\",\"\\u{1F4FC}\":\"videocassette\",\"\\u{1F50D}\":\"magnifying-glass-tilted-left\",\"\\u{1F50E}\":\"magnifying-glass-tilted-right\",\"\\u{1F56F}\":\"candle\",\"\\u{1F4A1}\":\"light-bulb\",\"\\u{1F526}\":\"flashlight\",\"\\u{1F3EE}\":\"red-paper-lantern\",\"\\u{1FA94}\":\"diya-lamp\",\"\\u{1F4D4}\":\"notebook-with-decorative-cover\",\"\\u{1F4D5}\":\"closed-book\",\"\\u{1F4D6}\":\"open-book\",\"\\u{1F4D7}\":\"green-book\",\"\\u{1F4D8}\":\"blue-book\",\"\\u{1F4D9}\":\"orange-book\",\"\\u{1F4DA}\":\"books\",\"\\u{1F4D3}\":\"notebook\",\"\\u{1F4D2}\":\"ledger\",\"\\u{1F4C3}\":\"page-with-curl\",\"\\u{1F4DC}\":\"scroll\",\"\\u{1F4C4}\":\"page-facing-up\",\"\\u{1F4F0}\":\"newspaper\",\"\\u{1F5DE}\":\"rolled-up-newspaper\",\"\\u{1F4D1}\":\"bookmark-tabs\",\"\\u{1F516}\":\"bookmark\",\"\\u{1F3F7}\":\"label\",\"\\u{1F4B0}\":\"money-bag\",\"\\u{1FA99}\":\"coin\",\"\\u{1F4B4}\":\"yen-banknote\",\"\\u{1F4B5}\":\"dollar-banknote\",\"\\u{1F4B6}\":\"euro-banknote\",\"\\u{1F4B7}\":\"pound-banknote\",\"\\u{1F4B8}\":\"money-with-wings\",\"\\u{1F4B3}\":\"credit-card\",\"\\u{1F9FE}\":\"receipt\",\"\\u{1F4B9}\":\"chart-increasing-with-yen\",\"\\u2709\":\"envelope\",\"\\u{1F4E7}\":\"e-mail\",\"\\u{1F4E8}\":\"incoming-envelope\",\"\\u{1F4E9}\":\"envelope-with-arrow\",\"\\u{1F4E4}\":\"outbox-tray\",\"\\u{1F4E5}\":\"inbox-tray\",\"\\u{1F4E6}\":\"package\",\"\\u{1F4EB}\":\"closed-mailbox-with-raised-flag\",\"\\u{1F4EA}\":\"closed-mailbox-with-lowered-flag\",\"\\u{1F4EC}\":\"open-mailbox-with-raised-flag\",\"\\u{1F4ED}\":\"open-mailbox-with-lowered-flag\",\"\\u{1F4EE}\":\"postbox\",\"\\u{1F5F3}\":\"ballot-box-with-ballot\",\"\\u270F\":\"pencil\",\"\\u2712\":\"black-nib\",\"\\u{1F58B}\":\"fountain-pen\",\"\\u{1F58A}\":\"pen\",\"\\u{1F58C}\":\"paintbrush\",\"\\u{1F58D}\":\"crayon\",\"\\u{1F4DD}\":\"memo\",\"\\u{1F4BC}\":\"briefcase\",\"\\u{1F4C1}\":\"file-folder\",\"\\u{1F4C2}\":\"open-file-folder\",\"\\u{1F5C2}\":\"card-index-dividers\",\"\\u{1F4C5}\":\"calendar\",\"\\u{1F4C6}\":\"tear-off-calendar\",\"\\u{1F5D2}\":\"spiral-notepad\",\"\\u{1F5D3}\":\"spiral-calendar\",\"\\u{1F4C7}\":\"card-index\",\"\\u{1F4C8}\":\"chart-increasing\",\"\\u{1F4C9}\":\"chart-decreasing\",\"\\u{1F4CA}\":\"bar-chart\",\"\\u{1F4CB}\":\"clipboard\",\"\\u{1F4CC}\":\"pushpin\",\"\\u{1F4CD}\":\"round-pushpin\",\"\\u{1F4CE}\":\"paperclip\",\"\\u{1F587}\":\"linked-paperclips\",\"\\u{1F4CF}\":\"straight-ruler\",\"\\u{1F4D0}\":\"triangular-ruler\",\"\\u2702\":\"scissors\",\"\\u{1F5C3}\":\"card-file-box\",\"\\u{1F5C4}\":\"file-cabinet\",\"\\u{1F5D1}\":\"wastebasket\",\"\\u{1F512}\":\"locked\",\"\\u{1F513}\":\"unlocked\",\"\\u{1F50F}\":\"locked-with-pen\",\"\\u{1F510}\":\"locked-with-key\",\"\\u{1F511}\":\"key\",\"\\u{1F5DD}\":\"old-key\",\"\\u{1F528}\":\"hammer\",\"\\u{1FA93}\":\"axe\",\"\\u26CF\":\"pick\",\"\\u2692\":\"hammer-and-pick\",\"\\u{1F6E0}\":\"hammer-and-wrench\",\"\\u{1F5E1}\":\"dagger\",\"\\u2694\":\"crossed-swords\",\"\\u{1F4A3}\":\"bomb\",\"\\u{1FA83}\":\"boomerang\",\"\\u{1F3F9}\":\"bow-and-arrow\",\"\\u{1F6E1}\":\"shield\",\"\\u{1FA9A}\":\"carpentry-saw\",\"\\u{1F527}\":\"wrench\",\"\\u{1FA9B}\":\"screwdriver\",\"\\u{1F529}\":\"nut-and-bolt\",\"\\u2699\":\"gear\",\"\\u{1F5DC}\":\"clamp\",\"\\u2696\":\"balance-scale\",\"\\u{1F9AF}\":\"white-cane\",\"\\u{1F517}\":\"link\",\"\\u26D3\":\"chains\",\"\\u{1FA9D}\":\"hook\",\"\\u{1F9F0}\":\"toolbox\",\"\\u{1F9F2}\":\"magnet\",\"\\u{1FA9C}\":\"ladder\",\"\\u2697\":\"alembic\",\"\\u{1F9EA}\":\"test-tube\",\"\\u{1F9EB}\":\"petri-dish\",\"\\u{1F9EC}\":\"dna\",\"\\u{1F52C}\":\"microscope\",\"\\u{1F52D}\":\"telescope\",\"\\u{1F4E1}\":\"satellite-antenna\",\"\\u{1F489}\":\"syringe\",\"\\u{1FA78}\":\"drop-of-blood\",\"\\u{1F48A}\":\"pill\",\"\\u{1FA79}\":\"adhesive-bandage\",\"\\u{1FA7C}\":\"crutch\",\"\\u{1FA7A}\":\"stethoscope\",\"\\u{1FA7B}\":\"x-ray\",\"\\u{1F6AA}\":\"door\",\"\\u{1F6D7}\":\"elevator\",\"\\u{1FA9E}\":\"mirror\",\"\\u{1FA9F}\":\"window\",\"\\u{1F6CF}\":\"bed\",\"\\u{1F6CB}\":\"couch-and-lamp\",\"\\u{1FA91}\":\"chair\",\"\\u{1F6BD}\":\"toilet\",\"\\u{1FAA0}\":\"plunger\",\"\\u{1F6BF}\":\"shower\",\"\\u{1F6C1}\":\"bathtub\",\"\\u{1FAA4}\":\"mouse-trap\",\"\\u{1FA92}\":\"razor\",\"\\u{1F9F4}\":\"lotion-bottle\",\"\\u{1F9F7}\":\"safety-pin\",\"\\u{1F9F9}\":\"broom\",\"\\u{1F9FA}\":\"basket\",\"\\u{1F9FB}\":\"roll-of-paper\",\"\\u{1FAA3}\":\"bucket\",\"\\u{1F9FC}\":\"soap\",\"\\u{1FAE7}\":\"bubbles\",\"\\u{1FAA5}\":\"toothbrush\",\"\\u{1F9FD}\":\"sponge\",\"\\u{1F9EF}\":\"fire-extinguisher\",\"\\u{1F6D2}\":\"shopping-cart\",\"\\u{1F6AC}\":\"cigarette\",\"\\u26B0\":\"coffin\",\"\\u{1FAA6}\":\"headstone\",\"\\u26B1\":\"funeral-urn\",\"\\u{1F9FF}\":\"nazar-amulet\",\"\\u{1FAAC}\":\"hamsa\",\"\\u{1F5FF}\":\"moai\",\"\\u{1FAA7}\":\"placard\",\"\\u{1FAAA}\":\"identification-card\",\"\\u{1F3E7}\":\"atm-sign\",\"\\u{1F6AE}\":\"litter-in-bin-sign\",\"\\u{1F6B0}\":\"potable-water\",\"\\u267F\":\"wheelchair-symbol\",\"\\u{1F6B9}\":\"men-s-room\",\"\\u{1F6BA}\":\"women-s-room\",\"\\u{1F6BB}\":\"restroom\",\"\\u{1F6BC}\":\"baby-symbol\",\"\\u{1F6BE}\":\"water-closet\",\"\\u{1F6C2}\":\"passport-control\",\"\\u{1F6C3}\":\"customs\",\"\\u{1F6C4}\":\"baggage-claim\",\"\\u{1F6C5}\":\"left-luggage\",\"\\u26A0\":\"warning\",\"\\u{1F6B8}\":\"children-crossing\",\"\\u26D4\":\"no-entry\",\"\\u{1F6AB}\":\"prohibited\",\"\\u{1F6B3}\":\"no-bicycles\",\"\\u{1F6AD}\":\"no-smoking\",\"\\u{1F6AF}\":\"no-littering\",\"\\u{1F6B1}\":\"non-potable-water\",\"\\u{1F6B7}\":\"no-pedestrians\",\"\\u{1F4F5}\":\"no-mobile-phones\",\"\\u{1F51E}\":\"no-one-under-eighteen\",\"\\u2622\":\"radioactive\",\"\\u2623\":\"biohazard\",\"\\u2B06\":\"up-arrow\",\"\\u2197\":\"up-right-arrow\",\"\\u27A1\":\"right-arrow\",\"\\u2198\":\"down-right-arrow\",\"\\u2B07\":\"down-arrow\",\"\\u2199\":\"down-left-arrow\",\"\\u2B05\":\"left-arrow\",\"\\u2196\":\"up-left-arrow\",\"\\u2195\":\"up-down-arrow\",\"\\u2194\":\"left-right-arrow\",\"\\u21A9\":\"right-arrow-curving-left\",\"\\u21AA\":\"left-arrow-curving-right\",\"\\u2934\":\"right-arrow-curving-up\",\"\\u2935\":\"right-arrow-curving-down\",\"\\u{1F503}\":\"clockwise-vertical-arrows\",\"\\u{1F504}\":\"counterclockwise-arrows-button\",\"\\u{1F519}\":\"back-arrow\",\"\\u{1F51A}\":\"end-arrow\",\"\\u{1F51B}\":\"on!-arrow\",\"\\u{1F51C}\":\"soon-arrow\",\"\\u{1F51D}\":\"top-arrow\",\"\\u{1F6D0}\":\"place-of-worship\",\"\\u269B\":\"atom-symbol\",\"\\u{1F549}\":\"om\",\"\\u2721\":\"star-of-david\",\"\\u2638\":\"wheel-of-dharma\",\"\\u262F\":\"yin-yang\",\"\\u271D\":\"latin-cross\",\"\\u2626\":\"orthodox-cross\",\"\\u262A\":\"star-and-crescent\",\"\\u262E\":\"peace-symbol\",\"\\u{1F54E}\":\"menorah\",\"\\u{1F52F}\":\"dotted-six-pointed-star\",\"\\u{1FAAF}\":\"\\u229B-khanda\",\"\\u2648\":\"aries\",\"\\u2649\":\"taurus\",\"\\u264A\":\"gemini\",\"\\u264B\":\"cancer\",\"\\u264C\":\"leo\",\"\\u264D\":\"virgo\",\"\\u264E\":\"libra\",\"\\u264F\":\"scorpio\",\"\\u2650\":\"sagittarius\",\"\\u2651\":\"capricorn\",\"\\u2652\":\"aquarius\",\"\\u2653\":\"pisces\",\"\\u26CE\":\"ophiuchus\",\"\\u{1F500}\":\"shuffle-tracks-button\",\"\\u{1F501}\":\"repeat-button\",\"\\u{1F502}\":\"repeat-single-button\",\"\\u25B6\":\"play-button\",\"\\u23E9\":\"fast-forward-button\",\"\\u23ED\":\"next-track-button\",\"\\u23EF\":\"play-or-pause-button\",\"\\u25C0\":\"reverse-button\",\"\\u23EA\":\"fast-reverse-button\",\"\\u23EE\":\"last-track-button\",\"\\u{1F53C}\":\"upwards-button\",\"\\u23EB\":\"fast-up-button\",\"\\u{1F53D}\":\"downwards-button\",\"\\u23EC\":\"fast-down-button\",\"\\u23F8\":\"pause-button\",\"\\u23F9\":\"stop-button\",\"\\u23FA\":\"record-button\",\"\\u23CF\":\"eject-button\",\"\\u{1F3A6}\":\"cinema\",\"\\u{1F505}\":\"dim-button\",\"\\u{1F506}\":\"bright-button\",\"\\u{1F4F6}\":\"antenna-bars\",\"\\u{1F6DC}\":\"\\u229B-wireless\",\"\\u{1F4F3}\":\"vibration-mode\",\"\\u{1F4F4}\":\"mobile-phone-off\",\"\\u2640\":\"female-sign\",\"\\u2642\":\"male-sign\",\"\\u26A7\":\"transgender-symbol\",\"\\u2716\":\"multiply\",\"\\u2795\":\"plus\",\"\\u2796\":\"minus\",\"\\u2797\":\"divide\",\"\\u{1F7F0}\":\"heavy-equals-sign\",\"\\u267E\":\"infinity\",\"\\u203C\":\"double-exclamation-mark\",\"\\u2049\":\"exclamation-question-mark\",\"\\u2753\":\"red-question-mark\",\"\\u2754\":\"white-question-mark\",\"\\u2755\":\"white-exclamation-mark\",\"\\u2757\":\"red-exclamation-mark\",\"\\u3030\":\"wavy-dash\",\"\\u{1F4B1}\":\"currency-exchange\",\"\\u{1F4B2}\":\"heavy-dollar-sign\",\"\\u2695\":\"medical-symbol\",\"\\u267B\":\"recycling-symbol\",\"\\u269C\":\"fleur-de-lis\",\"\\u{1F531}\":\"trident-emblem\",\"\\u{1F4DB}\":\"name-badge\",\"\\u{1F530}\":\"japanese-symbol-for-beginner\",\"\\u2B55\":\"hollow-red-circle\",\"\\u2705\":\"check-mark-button\",\"\\u2611\":\"check-box-with-check\",\"\\u2714\":\"check-mark\",\"\\u274C\":\"cross-mark\",\"\\u274E\":\"cross-mark-button\",\"\\u27B0\":\"curly-loop\",\"\\u27BF\":\"double-curly-loop\",\"\\u303D\":\"part-alternation-mark\",\"\\u2733\":\"eight-spoked-asterisk\",\"\\u2734\":\"eight-pointed-star\",\"\\u2747\":\"sparkle\",\"\\xA9\":\"copyright\",\"\\xAE\":\"registered\",\"\\u2122\":\"trade-mark\",\"#\\uFE0F\\u20E3\":\"keycap-#\",\"*\\uFE0F\\u20E3\":\"keycap-*\",\"0\\uFE0F\\u20E3\":\"keycap-0\",\"1\\uFE0F\\u20E3\":\"keycap-1\",\"2\\uFE0F\\u20E3\":\"keycap-2\",\"3\\uFE0F\\u20E3\":\"keycap-3\",\"4\\uFE0F\\u20E3\":\"keycap-4\",\"5\\uFE0F\\u20E3\":\"keycap-5\",\"6\\uFE0F\\u20E3\":\"keycap-6\",\"7\\uFE0F\\u20E3\":\"keycap-7\",\"8\\uFE0F\\u20E3\":\"keycap-8\",\"9\\uFE0F\\u20E3\":\"keycap-9\",\"\\u{1F51F}\":\"keycap-10\",\"\\u{1F520}\":\"input-latin-uppercase\",\"\\u{1F521}\":\"input-latin-lowercase\",\"\\u{1F522}\":\"input-numbers\",\"\\u{1F523}\":\"input-symbols\",\"\\u{1F524}\":\"input-latin-letters\",\"\\u{1F170}\":\"a-button-(blood-type)\",\"\\u{1F18E}\":\"ab-button-(blood-type)\",\"\\u{1F171}\":\"b-button-(blood-type)\",\"\\u{1F191}\":\"cl-button\",\"\\u{1F192}\":\"cool-button\",\"\\u{1F193}\":\"free-button\",\\u2139:\"information\",\"\\u{1F194}\":\"id-button\",\"\\u24C2\":\"circled-m\",\"\\u{1F195}\":\"new-button\",\"\\u{1F196}\":\"ng-button\",\"\\u{1F17E}\":\"o-button-(blood-type)\",\"\\u{1F197}\":\"ok-button\",\"\\u{1F17F}\":\"p-button\",\"\\u{1F198}\":\"sos-button\",\"\\u{1F199}\":\"up!-button\",\"\\u{1F19A}\":\"vs-button\",\"\\u{1F201}\":\"japanese-here-button\",\"\\u{1F202}\":\"japanese-service-charge-button\",\"\\u{1F237}\":\"japanese-monthly-amount-button\",\"\\u{1F236}\":\"japanese-not-free-of-charge-button\",\"\\u{1F22F}\":\"japanese-reserved-button\",\"\\u{1F250}\":\"japanese-bargain-button\",\"\\u{1F239}\":\"japanese-discount-button\",\"\\u{1F21A}\":\"japanese-free-of-charge-button\",\"\\u{1F232}\":\"japanese-prohibited-button\",\"\\u{1F251}\":\"japanese-acceptable-button\",\"\\u{1F238}\":\"japanese-application-button\",\"\\u{1F234}\":\"japanese-passing-grade-button\",\"\\u{1F233}\":\"japanese-vacancy-button\",\"\\u3297\":\"japanese-congratulations-button\",\"\\u3299\":\"japanese-secret-button\",\"\\u{1F23A}\":\"japanese-open-for-business-button\",\"\\u{1F235}\":\"japanese-no-vacancy-button\",\"\\u{1F534}\":\"red-circle\",\"\\u{1F7E0}\":\"orange-circle\",\"\\u{1F7E1}\":\"yellow-circle\",\"\\u{1F7E2}\":\"green-circle\",\"\\u{1F535}\":\"blue-circle\",\"\\u{1F7E3}\":\"purple-circle\",\"\\u{1F7E4}\":\"brown-circle\",\"\\u26AB\":\"black-circle\",\"\\u26AA\":\"white-circle\",\"\\u{1F7E5}\":\"red-square\",\"\\u{1F7E7}\":\"orange-square\",\"\\u{1F7E8}\":\"yellow-square\",\"\\u{1F7E9}\":\"green-square\",\"\\u{1F7E6}\":\"blue-square\",\"\\u{1F7EA}\":\"purple-square\",\"\\u{1F7EB}\":\"brown-square\",\"\\u2B1B\":\"black-large-square\",\"\\u2B1C\":\"white-large-square\",\"\\u25FC\":\"black-medium-square\",\"\\u25FB\":\"white-medium-square\",\"\\u25FE\":\"black-medium-small-square\",\"\\u25FD\":\"white-medium-small-square\",\"\\u25AA\":\"black-small-square\",\"\\u25AB\":\"white-small-square\",\"\\u{1F536}\":\"large-orange-diamond\",\"\\u{1F537}\":\"large-blue-diamond\",\"\\u{1F538}\":\"small-orange-diamond\",\"\\u{1F539}\":\"small-blue-diamond\",\"\\u{1F53A}\":\"red-triangle-pointed-up\",\"\\u{1F53B}\":\"red-triangle-pointed-down\",\"\\u{1F4A0}\":\"diamond-with-a-dot\",\"\\u{1F518}\":\"radio-button\",\"\\u{1F533}\":\"white-square-button\",\"\\u{1F532}\":\"black-square-button\",\"\\u{1F3C1}\":\"chequered-flag\",\"\\u{1F6A9}\":\"triangular-flag\",\"\\u{1F38C}\":\"crossed-flags\",\"\\u{1F3F4}\":\"black-flag\",\"\\u{1F3F3}\":\"white-flag\",\"\\u{1F3F3}\\uFE0F\\u200D\\u{1F308}\":\"rainbow-flag\",\"\\u{1F3F3}\\uFE0F\\u200D\\u26A7\\uFE0F\":\"transgender-flag\",\"\\u{1F3F4}\\u200D\\u2620\\uFE0F\":\"pirate-flag\",\"\\u{1F1E6}\\u{1F1E8}\":\"flag-ascension-island\",\"\\u{1F1E6}\\u{1F1E9}\":\"flag-andorra\",\"\\u{1F1E6}\\u{1F1EA}\":\"flag-united-arab-emirates\",\"\\u{1F1E6}\\u{1F1EB}\":\"flag-afghanistan\",\"\\u{1F1E6}\\u{1F1EC}\":\"flag-antigua-and-barbuda\",\"\\u{1F1E6}\\u{1F1EE}\":\"flag-anguilla\",\"\\u{1F1E6}\\u{1F1F1}\":\"flag-albania\",\"\\u{1F1E6}\\u{1F1F2}\":\"flag-armenia\",\"\\u{1F1E6}\\u{1F1F4}\":\"flag-angola\",\"\\u{1F1E6}\\u{1F1F6}\":\"flag-antarctica\",\"\\u{1F1E6}\\u{1F1F7}\":\"flag-argentina\",\"\\u{1F1E6}\\u{1F1F8}\":\"flag-american-samoa\",\"\\u{1F1E6}\\u{1F1F9}\":\"flag-austria\",\"\\u{1F1E6}\\u{1F1FA}\":\"flag-australia\",\"\\u{1F1E6}\\u{1F1FC}\":\"flag-aruba\",\"\\u{1F1E6}\\u{1F1FD}\":\"flag-\\xE5land-islands\",\"\\u{1F1E6}\\u{1F1FF}\":\"flag-azerbaijan\",\"\\u{1F1E7}\\u{1F1E6}\":\"flag-bosnia-and-herzegovina\",\"\\u{1F1E7}\\u{1F1E7}\":\"flag-barbados\",\"\\u{1F1E7}\\u{1F1E9}\":\"flag-bangladesh\",\"\\u{1F1E7}\\u{1F1EA}\":\"flag-belgium\",\"\\u{1F1E7}\\u{1F1EB}\":\"flag-burkina-faso\",\"\\u{1F1E7}\\u{1F1EC}\":\"flag-bulgaria\",\"\\u{1F1E7}\\u{1F1ED}\":\"flag-bahrain\",\"\\u{1F1E7}\\u{1F1EE}\":\"flag-burundi\",\"\\u{1F1E7}\\u{1F1EF}\":\"flag-benin\",\"\\u{1F1E7}\\u{1F1F1}\":\"flag-st-barthelemy\",\"\\u{1F1E7}\\u{1F1F2}\":\"flag-bermuda\",\"\\u{1F1E7}\\u{1F1F3}\":\"flag-brunei\",\"\\u{1F1E7}\\u{1F1F4}\":\"flag-bolivia\",\"\\u{1F1E7}\\u{1F1F6}\":\"flag-caribbean-netherlands\",\"\\u{1F1E7}\\u{1F1F7}\":\"flag-brazil\",\"\\u{1F1E7}\\u{1F1F8}\":\"flag-bahamas\",\"\\u{1F1E7}\\u{1F1F9}\":\"flag-bhutan\",\"\\u{1F1E7}\\u{1F1FB}\":\"flag-bouvet-island\",\"\\u{1F1E7}\\u{1F1FC}\":\"flag-botswana\",\"\\u{1F1E7}\\u{1F1FE}\":\"flag-belarus\",\"\\u{1F1E7}\\u{1F1FF}\":\"flag-belize\",\"\\u{1F1E8}\\u{1F1E6}\":\"flag-canada\",\"\\u{1F1E8}\\u{1F1E8}\":\"flag-cocos-(keeling)-islands\",\"\\u{1F1E8}\\u{1F1E9}\":\"flag-congo---kinshasa\",\"\\u{1F1E8}\\u{1F1EB}\":\"flag-central-african-republic\",\"\\u{1F1E8}\\u{1F1EC}\":\"flag-congo---brazzaville\",\"\\u{1F1E8}\\u{1F1ED}\":\"flag-switzerland\",\"\\u{1F1E8}\\u{1F1EE}\":\"flag-c\\xF4te-d-ivoire\",\"\\u{1F1E8}\\u{1F1F0}\":\"flag-cook-islands\",\"\\u{1F1E8}\\u{1F1F1}\":\"flag-chile\",\"\\u{1F1E8}\\u{1F1F2}\":\"flag-cameroon\",\"\\u{1F1E8}\\u{1F1F3}\":\"flag-china\",\"\\u{1F1E8}\\u{1F1F4}\":\"flag-colombia\",\"\\u{1F1E8}\\u{1F1F5}\":\"flag-clipperton-island\",\"\\u{1F1E8}\\u{1F1F7}\":\"flag-costa-rica\",\"\\u{1F1E8}\\u{1F1FA}\":\"flag-cuba\",\"\\u{1F1E8}\\u{1F1FB}\":\"flag-cape-verde\",\"\\u{1F1E8}\\u{1F1FC}\":\"flag-cura\\xE7ao\",\"\\u{1F1E8}\\u{1F1FD}\":\"flag-christmas-island\",\"\\u{1F1E8}\\u{1F1FE}\":\"flag-cyprus\",\"\\u{1F1E8}\\u{1F1FF}\":\"flag-czechia\",\"\\u{1F1E9}\\u{1F1EA}\":\"flag-germany\",\"\\u{1F1E9}\\u{1F1EC}\":\"flag-diego-garcia\",\"\\u{1F1E9}\\u{1F1EF}\":\"flag-djibouti\",\"\\u{1F1E9}\\u{1F1F0}\":\"flag-denmark\",\"\\u{1F1E9}\\u{1F1F2}\":\"flag-dominica\",\"\\u{1F1E9}\\u{1F1F4}\":\"flag-dominican-republic\",\"\\u{1F1E9}\\u{1F1FF}\":\"flag-algeria\",\"\\u{1F1EA}\\u{1F1E6}\":\"flag-ceuta-and-melilla\",\"\\u{1F1EA}\\u{1F1E8}\":\"flag-ecuador\",\"\\u{1F1EA}\\u{1F1EA}\":\"flag-estonia\",\"\\u{1F1EA}\\u{1F1EC}\":\"flag-egypt\",\"\\u{1F1EA}\\u{1F1ED}\":\"flag-western-sahara\",\"\\u{1F1EA}\\u{1F1F7}\":\"flag-eritrea\",\"\\u{1F1EA}\\u{1F1F8}\":\"flag-spain\",\"\\u{1F1EA}\\u{1F1F9}\":\"flag-ethiopia\",\"\\u{1F1EA}\\u{1F1FA}\":\"flag-european-union\",\"\\u{1F1EB}\\u{1F1EE}\":\"flag-finland\",\"\\u{1F1EB}\\u{1F1EF}\":\"flag-fiji\",\"\\u{1F1EB}\\u{1F1F0}\":\"flag-falkland-islands\",\"\\u{1F1EB}\\u{1F1F2}\":\"flag-micronesia\",\"\\u{1F1EB}\\u{1F1F4}\":\"flag-faroe-islands\",\"\\u{1F1EB}\\u{1F1F7}\":\"flag-france\",\"\\u{1F1EC}\\u{1F1E6}\":\"flag-gabon\",\"\\u{1F1EC}\\u{1F1E7}\":\"flag-united-kingdom\",\"\\u{1F1EC}\\u{1F1E9}\":\"flag-grenada\",\"\\u{1F1EC}\\u{1F1EA}\":\"flag-georgia\",\"\\u{1F1EC}\\u{1F1EB}\":\"flag-french-guiana\",\"\\u{1F1EC}\\u{1F1EC}\":\"flag-guernsey\",\"\\u{1F1EC}\\u{1F1ED}\":\"flag-ghana\",\"\\u{1F1EC}\\u{1F1EE}\":\"flag-gibraltar\",\"\\u{1F1EC}\\u{1F1F1}\":\"flag-greenland\",\"\\u{1F1EC}\\u{1F1F2}\":\"flag-gambia\",\"\\u{1F1EC}\\u{1F1F3}\":\"flag-guinea\",\"\\u{1F1EC}\\u{1F1F5}\":\"flag-guadeloupe\",\"\\u{1F1EC}\\u{1F1F6}\":\"flag-equatorial-guinea\",\"\\u{1F1EC}\\u{1F1F7}\":\"flag-greece\",\"\\u{1F1EC}\\u{1F1F8}\":\"flag-south-georgia-and-south-sandwich-islands\",\"\\u{1F1EC}\\u{1F1F9}\":\"flag-guatemala\",\"\\u{1F1EC}\\u{1F1FA}\":\"flag-guam\",\"\\u{1F1EC}\\u{1F1FC}\":\"flag-guinea-bissau\",\"\\u{1F1EC}\\u{1F1FE}\":\"flag-guyana\",\"\\u{1F1ED}\\u{1F1F0}\":\"flag-hong-kong-sar-china\",\"\\u{1F1ED}\\u{1F1F2}\":\"flag-heard-and-mcdonald-islands\",\"\\u{1F1ED}\\u{1F1F3}\":\"flag-honduras\",\"\\u{1F1ED}\\u{1F1F7}\":\"flag-croatia\",\"\\u{1F1ED}\\u{1F1F9}\":\"flag-haiti\",\"\\u{1F1ED}\\u{1F1FA}\":\"flag-hungary\",\"\\u{1F1EE}\\u{1F1E8}\":\"flag-canary-islands\",\"\\u{1F1EE}\\u{1F1E9}\":\"flag-indonesia\",\"\\u{1F1EE}\\u{1F1EA}\":\"flag-ireland\",\"\\u{1F1EE}\\u{1F1F1}\":\"flag-israel\",\"\\u{1F1EE}\\u{1F1F2}\":\"flag-isle-of-man\",\"\\u{1F1EE}\\u{1F1F3}\":\"flag-india\",\"\\u{1F1EE}\\u{1F1F4}\":\"flag-british-indian-ocean-territory\",\"\\u{1F1EE}\\u{1F1F6}\":\"flag-iraq\",\"\\u{1F1EE}\\u{1F1F7}\":\"flag-iran\",\"\\u{1F1EE}\\u{1F1F8}\":\"flag-iceland\",\"\\u{1F1EE}\\u{1F1F9}\":\"flag-italy\",\"\\u{1F1EF}\\u{1F1EA}\":\"flag-jersey\",\"\\u{1F1EF}\\u{1F1F2}\":\"flag-jamaica\",\"\\u{1F1EF}\\u{1F1F4}\":\"flag-jordan\",\"\\u{1F1EF}\\u{1F1F5}\":\"flag-japan\",\"\\u{1F1F0}\\u{1F1EA}\":\"flag-kenya\",\"\\u{1F1F0}\\u{1F1EC}\":\"flag-kyrgyzstan\",\"\\u{1F1F0}\\u{1F1ED}\":\"flag-cambodia\",\"\\u{1F1F0}\\u{1F1EE}\":\"flag-kiribati\",\"\\u{1F1F0}\\u{1F1F2}\":\"flag-comoros\",\"\\u{1F1F0}\\u{1F1F3}\":\"flag-st-kitts-and-nevis\",\"\\u{1F1F0}\\u{1F1F5}\":\"flag-north-korea\",\"\\u{1F1F0}\\u{1F1F7}\":\"flag-south-korea\",\"\\u{1F1F0}\\u{1F1FC}\":\"flag-kuwait\",\"\\u{1F1F0}\\u{1F1FE}\":\"flag-cayman-islands\",\"\\u{1F1F0}\\u{1F1FF}\":\"flag-kazakhstan\",\"\\u{1F1F1}\\u{1F1E6}\":\"flag-laos\",\"\\u{1F1F1}\\u{1F1E7}\":\"flag-lebanon\",\"\\u{1F1F1}\\u{1F1E8}\":\"flag-st-lucia\",\"\\u{1F1F1}\\u{1F1EE}\":\"flag-liechtenstein\",\"\\u{1F1F1}\\u{1F1F0}\":\"flag-sri-lanka\",\"\\u{1F1F1}\\u{1F1F7}\":\"flag-liberia\",\"\\u{1F1F1}\\u{1F1F8}\":\"flag-lesotho\",\"\\u{1F1F1}\\u{1F1F9}\":\"flag-lithuania\",\"\\u{1F1F1}\\u{1F1FA}\":\"flag-luxembourg\",\"\\u{1F1F1}\\u{1F1FB}\":\"flag-latvia\",\"\\u{1F1F1}\\u{1F1FE}\":\"flag-libya\",\"\\u{1F1F2}\\u{1F1E6}\":\"flag-morocco\",\"\\u{1F1F2}\\u{1F1E8}\":\"flag-monaco\",\"\\u{1F1F2}\\u{1F1E9}\":\"flag-moldova\",\"\\u{1F1F2}\\u{1F1EA}\":\"flag-montenegro\",\"\\u{1F1F2}\\u{1F1EB}\":\"flag-st-martin\",\"\\u{1F1F2}\\u{1F1EC}\":\"flag-madagascar\",\"\\u{1F1F2}\\u{1F1ED}\":\"flag-marshall-islands\",\"\\u{1F1F2}\\u{1F1F0}\":\"flag-north-macedonia\",\"\\u{1F1F2}\\u{1F1F1}\":\"flag-mali\",\"\\u{1F1F2}\\u{1F1F2}\":\"flag-myanmar-(burma)\",\"\\u{1F1F2}\\u{1F1F3}\":\"flag-mongolia\",\"\\u{1F1F2}\\u{1F1F4}\":\"flag-macao-sar-china\",\"\\u{1F1F2}\\u{1F1F5}\":\"flag-northern-mariana-islands\",\"\\u{1F1F2}\\u{1F1F6}\":\"flag-martinique\",\"\\u{1F1F2}\\u{1F1F7}\":\"flag-mauritania\",\"\\u{1F1F2}\\u{1F1F8}\":\"flag-montserrat\",\"\\u{1F1F2}\\u{1F1F9}\":\"flag-malta\",\"\\u{1F1F2}\\u{1F1FA}\":\"flag-mauritius\",\"\\u{1F1F2}\\u{1F1FB}\":\"flag-maldives\",\"\\u{1F1F2}\\u{1F1FC}\":\"flag-malawi\",\"\\u{1F1F2}\\u{1F1FD}\":\"flag-mexico\",\"\\u{1F1F2}\\u{1F1FE}\":\"flag-malaysia\",\"\\u{1F1F2}\\u{1F1FF}\":\"flag-mozambique\",\"\\u{1F1F3}\\u{1F1E6}\":\"flag-namibia\",\"\\u{1F1F3}\\u{1F1E8}\":\"flag-new-caledonia\",\"\\u{1F1F3}\\u{1F1EA}\":\"flag-niger\",\"\\u{1F1F3}\\u{1F1EB}\":\"flag-norfolk-island\",\"\\u{1F1F3}\\u{1F1EC}\":\"flag-nigeria\",\"\\u{1F1F3}\\u{1F1EE}\":\"flag-nicaragua\",\"\\u{1F1F3}\\u{1F1F1}\":\"flag-netherlands\",\"\\u{1F1F3}\\u{1F1F4}\":\"flag-norway\",\"\\u{1F1F3}\\u{1F1F5}\":\"flag-nepal\",\"\\u{1F1F3}\\u{1F1F7}\":\"flag-nauru\",\"\\u{1F1F3}\\u{1F1FA}\":\"flag-niue\",\"\\u{1F1F3}\\u{1F1FF}\":\"flag-new-zealand\",\"\\u{1F1F4}\\u{1F1F2}\":\"flag-oman\",\"\\u{1F1F5}\\u{1F1E6}\":\"flag-panama\",\"\\u{1F1F5}\\u{1F1EA}\":\"flag-peru\",\"\\u{1F1F5}\\u{1F1EB}\":\"flag-french-polynesia\",\"\\u{1F1F5}\\u{1F1EC}\":\"flag-papua-new-guinea\",\"\\u{1F1F5}\\u{1F1ED}\":\"flag-philippines\",\"\\u{1F1F5}\\u{1F1F0}\":\"flag-pakistan\",\"\\u{1F1F5}\\u{1F1F1}\":\"flag-poland\",\"\\u{1F1F5}\\u{1F1F2}\":\"flag-st-pierre-and-miquelon\",\"\\u{1F1F5}\\u{1F1F3}\":\"flag-pitcairn-islands\",\"\\u{1F1F5}\\u{1F1F7}\":\"flag-puerto-rico\",\"\\u{1F1F5}\\u{1F1F8}\":\"flag-palestinian-territories\",\"\\u{1F1F5}\\u{1F1F9}\":\"flag-portugal\",\"\\u{1F1F5}\\u{1F1FC}\":\"flag-palau\",\"\\u{1F1F5}\\u{1F1FE}\":\"flag-paraguay\",\"\\u{1F1F6}\\u{1F1E6}\":\"flag-qatar\",\"\\u{1F1F7}\\u{1F1EA}\":\"flag-reunion\",\"\\u{1F1F7}\\u{1F1F4}\":\"flag-romania\",\"\\u{1F1F7}\\u{1F1F8}\":\"flag-serbia\",\"\\u{1F1F7}\\u{1F1FA}\":\"flag-russia\",\"\\u{1F1F7}\\u{1F1FC}\":\"flag-rwanda\",\"\\u{1F1F8}\\u{1F1E6}\":\"flag-saudi-arabia\",\"\\u{1F1F8}\\u{1F1E7}\":\"flag-solomon-islands\",\"\\u{1F1F8}\\u{1F1E8}\":\"flag-seychelles\",\"\\u{1F1F8}\\u{1F1E9}\":\"flag-sudan\",\"\\u{1F1F8}\\u{1F1EA}\":\"flag-sweden\",\"\\u{1F1F8}\\u{1F1EC}\":\"flag-singapore\",\"\\u{1F1F8}\\u{1F1ED}\":\"flag-st-helena\",\"\\u{1F1F8}\\u{1F1EE}\":\"flag-slovenia\",\"\\u{1F1F8}\\u{1F1EF}\":\"flag-svalbard-and-jan-mayen\",\"\\u{1F1F8}\\u{1F1F0}\":\"flag-slovakia\",\"\\u{1F1F8}\\u{1F1F1}\":\"flag-sierra-leone\",\"\\u{1F1F8}\\u{1F1F2}\":\"flag-san-marino\",\"\\u{1F1F8}\\u{1F1F3}\":\"flag-senegal\",\"\\u{1F1F8}\\u{1F1F4}\":\"flag-somalia\",\"\\u{1F1F8}\\u{1F1F7}\":\"flag-suriname\",\"\\u{1F1F8}\\u{1F1F8}\":\"flag-south-sudan\",\"\\u{1F1F8}\\u{1F1F9}\":\"flag-s\\xE3o-tome-and-pr\\xEDncipe\",\"\\u{1F1F8}\\u{1F1FB}\":\"flag-el-salvador\",\"\\u{1F1F8}\\u{1F1FD}\":\"flag-sint-maarten\",\"\\u{1F1F8}\\u{1F1FE}\":\"flag-syria\",\"\\u{1F1F8}\\u{1F1FF}\":\"flag-eswatini\",\"\\u{1F1F9}\\u{1F1E6}\":\"flag-tristan-da-cunha\",\"\\u{1F1F9}\\u{1F1E8}\":\"flag-turks-and-caicos-islands\",\"\\u{1F1F9}\\u{1F1E9}\":\"flag-chad\",\"\\u{1F1F9}\\u{1F1EB}\":\"flag-french-southern-territories\",\"\\u{1F1F9}\\u{1F1EC}\":\"flag-togo\",\"\\u{1F1F9}\\u{1F1ED}\":\"flag-thailand\",\"\\u{1F1F9}\\u{1F1EF}\":\"flag-tajikistan\",\"\\u{1F1F9}\\u{1F1F0}\":\"flag-tokelau\",\"\\u{1F1F9}\\u{1F1F1}\":\"flag-timor-leste\",\"\\u{1F1F9}\\u{1F1F2}\":\"flag-turkmenistan\",\"\\u{1F1F9}\\u{1F1F3}\":\"flag-tunisia\",\"\\u{1F1F9}\\u{1F1F4}\":\"flag-tonga\",\"\\u{1F1F9}\\u{1F1F7}\":\"flag-turkey\",\"\\u{1F1F9}\\u{1F1F9}\":\"flag-trinidad-and-tobago\",\"\\u{1F1F9}\\u{1F1FB}\":\"flag-tuvalu\",\"\\u{1F1F9}\\u{1F1FC}\":\"flag-taiwan\",\"\\u{1F1F9}\\u{1F1FF}\":\"flag-tanzania\",\"\\u{1F1FA}\\u{1F1E6}\":\"flag-ukraine\",\"\\u{1F1FA}\\u{1F1EC}\":\"flag-uganda\",\"\\u{1F1FA}\\u{1F1F2}\":\"flag-us-outlying-islands\",\"\\u{1F1FA}\\u{1F1F3}\":\"flag-united-nations\",\"\\u{1F1FA}\\u{1F1F8}\":\"flag-united-states\",\"\\u{1F1FA}\\u{1F1FE}\":\"flag-uruguay\",\"\\u{1F1FA}\\u{1F1FF}\":\"flag-uzbekistan\",\"\\u{1F1FB}\\u{1F1E6}\":\"flag-vatican-city\",\"\\u{1F1FB}\\u{1F1E8}\":\"flag-st-vincent-and-grenadines\",\"\\u{1F1FB}\\u{1F1EA}\":\"flag-venezuela\",\"\\u{1F1FB}\\u{1F1EC}\":\"flag-british-virgin-islands\",\"\\u{1F1FB}\\u{1F1EE}\":\"flag-us-virgin-islands\",\"\\u{1F1FB}\\u{1F1F3}\":\"flag-vietnam\",\"\\u{1F1FB}\\u{1F1FA}\":\"flag-vanuatu\",\"\\u{1F1FC}\\u{1F1EB}\":\"flag-wallis-and-futuna\",\"\\u{1F1FC}\\u{1F1F8}\":\"flag-samoa\",\"\\u{1F1FD}\\u{1F1F0}\":\"flag-kosovo\",\"\\u{1F1FE}\\u{1F1EA}\":\"flag-yemen\",\"\\u{1F1FE}\\u{1F1F9}\":\"flag-mayotte\",\"\\u{1F1FF}\\u{1F1E6}\":\"flag-south-africa\",\"\\u{1F1FF}\\u{1F1F2}\":\"flag-zambia\",\"\\u{1F1FF}\\u{1F1FC}\":\"flag-zimbabwe\",\"\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0065}\\u{E006E}\\u{E0067}\\u{E007F}\":\"flag-england\",\"\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0073}\\u{E0063}\\u{E0074}\\u{E007F}\":\"flag-scotland\",\"\\u{1F3F4}\\u{E0067}\\u{E0062}\\u{E0077}\\u{E006C}\\u{E0073}\\u{E007F}\":\"flag-wales\"},nT=Object.keys(Qg),rT=`\n// This Source Code Form is subject to the terms of the Mozilla Public\n// License, v. 2.0. If a copy of the MPL was not distributed with this\n// file, You can obtain one at https://mozilla.org/MPL/2.0/.\n\n// Please pull this list from, and only from https://publicsuffix.org/list/public_suffix_list.dat,\n// rather than any other VCS sites. Pulling from any other URL is not guaranteed to be supported.\n\n// Instructions on pulling and using this list can be found at https://publicsuffix.org/list/.\n\n// ===BEGIN ICANN DOMAINS===\n\n// ac : http://nic.ac/rules.htm\nac\ncom.ac\nedu.ac\ngov.ac\nnet.ac\nmil.ac\norg.ac\n\n// ad : https://en.wikipedia.org/wiki/.ad\nad\nnom.ad\n\n// ae : https://tdra.gov.ae/en/aeda/ae-policies\nae\nco.ae\nnet.ae\norg.ae\nsch.ae\nac.ae\ngov.ae\nmil.ae\n\n// aero : see https://www.information.aero/index.php?id=66\naero\naccident-investigation.aero\naccident-prevention.aero\naerobatic.aero\naeroclub.aero\naerodrome.aero\nagents.aero\naircraft.aero\nairline.aero\nairport.aero\nair-surveillance.aero\nairtraffic.aero\nair-traffic-control.aero\nambulance.aero\namusement.aero\nassociation.aero\nauthor.aero\nballooning.aero\nbroker.aero\ncaa.aero\ncargo.aero\ncatering.aero\ncertification.aero\nchampionship.aero\ncharter.aero\ncivilaviation.aero\nclub.aero\nconference.aero\nconsultant.aero\nconsulting.aero\ncontrol.aero\ncouncil.aero\ncrew.aero\ndesign.aero\ndgca.aero\neducator.aero\nemergency.aero\nengine.aero\nengineer.aero\nentertainment.aero\nequipment.aero\nexchange.aero\nexpress.aero\nfederation.aero\nflight.aero\nfuel.aero\ngliding.aero\ngovernment.aero\ngroundhandling.aero\ngroup.aero\nhanggliding.aero\nhomebuilt.aero\ninsurance.aero\njournal.aero\njournalist.aero\nleasing.aero\nlogistics.aero\nmagazine.aero\nmaintenance.aero\nmedia.aero\nmicrolight.aero\nmodelling.aero\nnavigation.aero\nparachuting.aero\nparagliding.aero\npassenger-association.aero\npilot.aero\npress.aero\nproduction.aero\nrecreation.aero\nrepbody.aero\nres.aero\nresearch.aero\nrotorcraft.aero\nsafety.aero\nscientist.aero\nservices.aero\nshow.aero\nskydiving.aero\nsoftware.aero\nstudent.aero\ntrader.aero\ntrading.aero\ntrainer.aero\nunion.aero\nworkinggroup.aero\nworks.aero\n\n// af : http://www.nic.af/help.jsp\naf\ngov.af\ncom.af\norg.af\nnet.af\nedu.af\n\n// ag : http://www.nic.ag/prices.htm\nag\ncom.ag\norg.ag\nnet.ag\nco.ag\nnom.ag\n\n// ai : http://nic.com.ai/\nai\noff.ai\ncom.ai\nnet.ai\norg.ai\n\n// al : http://www.ert.gov.al/ert_alb/faq_det.html?Id=31\nal\ncom.al\nedu.al\ngov.al\nmil.al\nnet.al\norg.al\n\n// am : https://www.amnic.net/policy/en/Policy_EN.pdf\nam\nco.am\ncom.am\ncommune.am\nnet.am\norg.am\n\n// ao : https://en.wikipedia.org/wiki/.ao\n// http://www.dns.ao/REGISTR.DOC\nao\ned.ao\ngv.ao\nog.ao\nco.ao\npb.ao\nit.ao\n\n// aq : https://en.wikipedia.org/wiki/.aq\naq\n\n// ar : https://nic.ar/es/nic-argentina/normativa\nar\nbet.ar\ncom.ar\ncoop.ar\nedu.ar\ngob.ar\ngov.ar\nint.ar\nmil.ar\nmusica.ar\nmutual.ar\nnet.ar\norg.ar\nsenasa.ar\ntur.ar\n\n// arpa : https://en.wikipedia.org/wiki/.arpa\n// Confirmed by registry <iana-questions@icann.org> 2008-06-18\narpa\ne164.arpa\nin-addr.arpa\nip6.arpa\niris.arpa\nuri.arpa\nurn.arpa\n\n// as : https://en.wikipedia.org/wiki/.as\nas\ngov.as\n\n// asia : https://en.wikipedia.org/wiki/.asia\nasia\n\n// at : https://en.wikipedia.org/wiki/.at\n// Confirmed by registry <it@nic.at> 2008-06-17\nat\nac.at\nco.at\ngv.at\nor.at\nsth.ac.at\n\n// au : https://en.wikipedia.org/wiki/.au\n// http://www.auda.org.au/\nau\n// 2LDs\ncom.au\nnet.au\norg.au\nedu.au\ngov.au\nasn.au\nid.au\n// Historic 2LDs (closed to new registration, but sites still exist)\ninfo.au\nconf.au\noz.au\n// CGDNs - http://www.cgdn.org.au/\nact.au\nnsw.au\nnt.au\nqld.au\nsa.au\ntas.au\nvic.au\nwa.au\n// 3LDs\nact.edu.au\ncatholic.edu.au\n// eq.edu.au - Removed at the request of the Queensland Department of Education\nnsw.edu.au\nnt.edu.au\nqld.edu.au\nsa.edu.au\ntas.edu.au\nvic.edu.au\nwa.edu.au\n// act.gov.au Bug 984824 - Removed at request of Greg Tankard\n// nsw.gov.au Bug 547985 - Removed at request of <Shae.Donelan@services.nsw.gov.au>\n// nt.gov.au Bug 940478 - Removed at request of Greg Connors <Greg.Connors@nt.gov.au>\nqld.gov.au\nsa.gov.au\ntas.gov.au\nvic.gov.au\nwa.gov.au\n// 4LDs\n// education.tas.edu.au - Removed at the request of the Department of Education Tasmania\nschools.nsw.edu.au\n\n// aw : https://en.wikipedia.org/wiki/.aw\naw\ncom.aw\n\n// ax : https://en.wikipedia.org/wiki/.ax\nax\n\n// az : https://en.wikipedia.org/wiki/.az\naz\ncom.az\nnet.az\nint.az\ngov.az\norg.az\nedu.az\ninfo.az\npp.az\nmil.az\nname.az\npro.az\nbiz.az\n\n// ba : http://nic.ba/users_data/files/pravilnik_o_registraciji.pdf\nba\ncom.ba\nedu.ba\ngov.ba\nmil.ba\nnet.ba\norg.ba\n\n// bb : https://en.wikipedia.org/wiki/.bb\nbb\nbiz.bb\nco.bb\ncom.bb\nedu.bb\ngov.bb\ninfo.bb\nnet.bb\norg.bb\nstore.bb\ntv.bb\n\n// bd : https://en.wikipedia.org/wiki/.bd\n*.bd\n\n// be : https://en.wikipedia.org/wiki/.be\n// Confirmed by registry <tech@dns.be> 2008-06-08\nbe\nac.be\n\n// bf : https://en.wikipedia.org/wiki/.bf\nbf\ngov.bf\n\n// bg : https://en.wikipedia.org/wiki/.bg\n// https://www.register.bg/user/static/rules/en/index.html\nbg\na.bg\nb.bg\nc.bg\nd.bg\ne.bg\nf.bg\ng.bg\nh.bg\ni.bg\nj.bg\nk.bg\nl.bg\nm.bg\nn.bg\no.bg\np.bg\nq.bg\nr.bg\ns.bg\nt.bg\nu.bg\nv.bg\nw.bg\nx.bg\ny.bg\nz.bg\n0.bg\n1.bg\n2.bg\n3.bg\n4.bg\n5.bg\n6.bg\n7.bg\n8.bg\n9.bg\n\n// bh : https://en.wikipedia.org/wiki/.bh\nbh\ncom.bh\nedu.bh\nnet.bh\norg.bh\ngov.bh\n\n// bi : https://en.wikipedia.org/wiki/.bi\n// http://whois.nic.bi/\nbi\nco.bi\ncom.bi\nedu.bi\nor.bi\norg.bi\n\n// biz : https://en.wikipedia.org/wiki/.biz\nbiz\n\n// bj : https://nic.bj/bj-suffixes.txt\n// submitted by registry <contact@nic.bj>\nbj\nafrica.bj\nagro.bj\narchitectes.bj\nassur.bj\navocats.bj\nco.bj\ncom.bj\neco.bj\necono.bj\nedu.bj\ninfo.bj\nloisirs.bj\nmoney.bj\nnet.bj\norg.bj\note.bj\nresto.bj\nrestaurant.bj\ntourism.bj\nuniv.bj\n\n// bm : http://www.bermudanic.bm/dnr-text.txt\nbm\ncom.bm\nedu.bm\ngov.bm\nnet.bm\norg.bm\n\n// bn : http://www.bnnic.bn/faqs\nbn\ncom.bn\nedu.bn\ngov.bn\nnet.bn\norg.bn\n\n// bo : https://nic.bo/delegacion2015.php#h-1.10\nbo\ncom.bo\nedu.bo\ngob.bo\nint.bo\norg.bo\nnet.bo\nmil.bo\ntv.bo\nweb.bo\n// Social Domains\nacademia.bo\nagro.bo\narte.bo\nblog.bo\nbolivia.bo\nciencia.bo\ncooperativa.bo\ndemocracia.bo\ndeporte.bo\necologia.bo\neconomia.bo\nempresa.bo\nindigena.bo\nindustria.bo\ninfo.bo\nmedicina.bo\nmovimiento.bo\nmusica.bo\nnatural.bo\nnombre.bo\nnoticias.bo\npatria.bo\npolitica.bo\nprofesional.bo\nplurinacional.bo\npueblo.bo\nrevista.bo\nsalud.bo\ntecnologia.bo\ntksat.bo\ntransporte.bo\nwiki.bo\n\n// br : http://registro.br/dominio/categoria.html\n// Submitted by registry <fneves@registro.br>\nbr\n9guacu.br\nabc.br\nadm.br\nadv.br\nagr.br\naju.br\nam.br\nanani.br\naparecida.br\napp.br\narq.br\nart.br\nato.br\nb.br\nbarueri.br\nbelem.br\nbhz.br\nbib.br\nbio.br\nblog.br\nbmd.br\nboavista.br\nbsb.br\ncampinagrande.br\ncampinas.br\ncaxias.br\ncim.br\ncng.br\ncnt.br\ncom.br\ncontagem.br\ncoop.br\ncoz.br\ncri.br\ncuiaba.br\ncuritiba.br\ndef.br\ndes.br\ndet.br\ndev.br\necn.br\neco.br\nedu.br\nemp.br\nenf.br\neng.br\nesp.br\netc.br\neti.br\nfar.br\nfeira.br\nflog.br\nfloripa.br\nfm.br\nfnd.br\nfortal.br\nfot.br\nfoz.br\nfst.br\ng12.br\ngeo.br\nggf.br\ngoiania.br\ngov.br\n// gov.br 26 states + df https://en.wikipedia.org/wiki/States_of_Brazil\nac.gov.br\nal.gov.br\nam.gov.br\nap.gov.br\nba.gov.br\nce.gov.br\ndf.gov.br\nes.gov.br\ngo.gov.br\nma.gov.br\nmg.gov.br\nms.gov.br\nmt.gov.br\npa.gov.br\npb.gov.br\npe.gov.br\npi.gov.br\npr.gov.br\nrj.gov.br\nrn.gov.br\nro.gov.br\nrr.gov.br\nrs.gov.br\nsc.gov.br\nse.gov.br\nsp.gov.br\nto.gov.br\ngru.br\nimb.br\nind.br\ninf.br\njab.br\njampa.br\njdf.br\njoinville.br\njor.br\njus.br\nleg.br\nlel.br\nlog.br\nlondrina.br\nmacapa.br\nmaceio.br\nmanaus.br\nmaringa.br\nmat.br\nmed.br\nmil.br\nmorena.br\nmp.br\nmus.br\nnatal.br\nnet.br\nniteroi.br\n*.nom.br\nnot.br\nntr.br\nodo.br\nong.br\norg.br\nosasco.br\npalmas.br\npoa.br\nppg.br\npro.br\npsc.br\npsi.br\npvh.br\nqsl.br\nradio.br\nrec.br\nrecife.br\nrep.br\nribeirao.br\nrio.br\nriobranco.br\nriopreto.br\nsalvador.br\nsampa.br\nsantamaria.br\nsantoandre.br\nsaobernardo.br\nsaogonca.br\nseg.br\nsjc.br\nslg.br\nslz.br\nsorocaba.br\nsrv.br\ntaxi.br\ntc.br\ntec.br\nteo.br\nthe.br\ntmp.br\ntrd.br\ntur.br\ntv.br\nudi.br\nvet.br\nvix.br\nvlog.br\nwiki.br\nzlg.br\n\n// bs : http://www.nic.bs/rules.html\nbs\ncom.bs\nnet.bs\norg.bs\nedu.bs\ngov.bs\n\n// bt : https://en.wikipedia.org/wiki/.bt\nbt\ncom.bt\nedu.bt\ngov.bt\nnet.bt\norg.bt\n\n// bv : No registrations at this time.\n// Submitted by registry <jarle@uninett.no>\nbv\n\n// bw : https://en.wikipedia.org/wiki/.bw\n// http://www.gobin.info/domainname/bw.doc\n// list of other 2nd level tlds ?\nbw\nco.bw\norg.bw\n\n// by : https://en.wikipedia.org/wiki/.by\n// http://tld.by/rules_2006_en.html\n// list of other 2nd level tlds ?\nby\ngov.by\nmil.by\n// Official information does not indicate that com.by is a reserved\n// second-level domain, but it's being used as one (see www.google.com.by and\n// www.yahoo.com.by, for example), so we list it here for safety's sake.\ncom.by\n\n// http://hoster.by/\nof.by\n\n// bz : https://en.wikipedia.org/wiki/.bz\n// http://www.belizenic.bz/\nbz\ncom.bz\nnet.bz\norg.bz\nedu.bz\ngov.bz\n\n// ca : https://en.wikipedia.org/wiki/.ca\nca\n// ca geographical names\nab.ca\nbc.ca\nmb.ca\nnb.ca\nnf.ca\nnl.ca\nns.ca\nnt.ca\nnu.ca\non.ca\npe.ca\nqc.ca\nsk.ca\nyk.ca\n// gc.ca: https://en.wikipedia.org/wiki/.gc.ca\n// see also: http://registry.gc.ca/en/SubdomainFAQ\ngc.ca\n\n// cat : https://en.wikipedia.org/wiki/.cat\ncat\n\n// cc : https://en.wikipedia.org/wiki/.cc\ncc\n\n// cd : https://en.wikipedia.org/wiki/.cd\n// see also: https://www.nic.cd/domain/insertDomain_2.jsp?act=1\ncd\ngov.cd\n\n// cf : https://en.wikipedia.org/wiki/.cf\ncf\n\n// cg : https://en.wikipedia.org/wiki/.cg\ncg\n\n// ch : https://en.wikipedia.org/wiki/.ch\nch\n\n// ci : https://en.wikipedia.org/wiki/.ci\n// http://www.nic.ci/index.php?page=charte\nci\norg.ci\nor.ci\ncom.ci\nco.ci\nedu.ci\ned.ci\nac.ci\nnet.ci\ngo.ci\nasso.ci\na\\xE9roport.ci\nint.ci\npresse.ci\nmd.ci\ngouv.ci\n\n// ck : https://en.wikipedia.org/wiki/.ck\n*.ck\n!www.ck\n\n// cl : https://www.nic.cl\n// Confirmed by .CL registry <hsalgado@nic.cl>\ncl\nco.cl\ngob.cl\ngov.cl\nmil.cl\n\n// cm : https://en.wikipedia.org/wiki/.cm plus bug 981927\ncm\nco.cm\ncom.cm\ngov.cm\nnet.cm\n\n// cn : https://en.wikipedia.org/wiki/.cn\n// Submitted by registry <tanyaling@cnnic.cn>\ncn\nac.cn\ncom.cn\nedu.cn\ngov.cn\nnet.cn\norg.cn\nmil.cn\n\\u516C\\u53F8.cn\n\\u7F51\\u7EDC.cn\n\\u7DB2\\u7D61.cn\n// cn geographic names\nah.cn\nbj.cn\ncq.cn\nfj.cn\ngd.cn\ngs.cn\ngz.cn\ngx.cn\nha.cn\nhb.cn\nhe.cn\nhi.cn\nhl.cn\nhn.cn\njl.cn\njs.cn\njx.cn\nln.cn\nnm.cn\nnx.cn\nqh.cn\nsc.cn\nsd.cn\nsh.cn\nsn.cn\nsx.cn\ntj.cn\nxj.cn\nxz.cn\nyn.cn\nzj.cn\nhk.cn\nmo.cn\ntw.cn\n\n// co : https://en.wikipedia.org/wiki/.co\n// Submitted by registry <tecnico@uniandes.edu.co>\nco\narts.co\ncom.co\nedu.co\nfirm.co\ngov.co\ninfo.co\nint.co\nmil.co\nnet.co\nnom.co\norg.co\nrec.co\nweb.co\n\n// com : https://en.wikipedia.org/wiki/.com\ncom\n\n// coop : https://en.wikipedia.org/wiki/.coop\ncoop\n\n// cr : http://www.nic.cr/niccr_publico/showRegistroDominiosScreen.do\ncr\nac.cr\nco.cr\ned.cr\nfi.cr\ngo.cr\nor.cr\nsa.cr\n\n// cu : https://en.wikipedia.org/wiki/.cu\ncu\ncom.cu\nedu.cu\norg.cu\nnet.cu\ngov.cu\ninf.cu\n\n// cv : https://en.wikipedia.org/wiki/.cv\n// cv : http://www.dns.cv/tldcv_portal/do?com=DS;5446457100;111;+PAGE(4000018)+K-CAT-CODIGO(RDOM)+RCNT(100); <- registration rules\ncv\ncom.cv\nedu.cv\nint.cv\nnome.cv\norg.cv\n\n// cw : http://www.una.cw/cw_registry/\n// Confirmed by registry <registry@una.net> 2013-03-26\ncw\ncom.cw\nedu.cw\nnet.cw\norg.cw\n\n// cx : https://en.wikipedia.org/wiki/.cx\n// list of other 2nd level tlds ?\ncx\ngov.cx\n\n// cy : http://www.nic.cy/\n// Submitted by registry Panayiotou Fotia <cydns@ucy.ac.cy>\n// namespace policies URL https://www.nic.cy/portal//sites/default/files/symfonia_gia_eggrafi.pdf\ncy\nac.cy\nbiz.cy\ncom.cy\nekloges.cy\ngov.cy\nltd.cy\nmil.cy\nnet.cy\norg.cy\npress.cy\npro.cy\ntm.cy\n\n// cz : https://en.wikipedia.org/wiki/.cz\ncz\n\n// de : https://en.wikipedia.org/wiki/.de\n// Confirmed by registry <ops@denic.de> (with technical\n// reservations) 2008-07-01\nde\n\n// dj : https://en.wikipedia.org/wiki/.dj\ndj\n\n// dk : https://en.wikipedia.org/wiki/.dk\n// Confirmed by registry <robert@dk-hostmaster.dk> 2008-06-17\ndk\n\n// dm : https://en.wikipedia.org/wiki/.dm\ndm\ncom.dm\nnet.dm\norg.dm\nedu.dm\ngov.dm\n\n// do : https://en.wikipedia.org/wiki/.do\ndo\nart.do\ncom.do\nedu.do\ngob.do\ngov.do\nmil.do\nnet.do\norg.do\nsld.do\nweb.do\n\n// dz : http://www.nic.dz/images/pdf_nic/charte.pdf\ndz\nart.dz\nasso.dz\ncom.dz\nedu.dz\ngov.dz\norg.dz\nnet.dz\npol.dz\nsoc.dz\ntm.dz\n\n// ec : http://www.nic.ec/reg/paso1.asp\n// Submitted by registry <vabboud@nic.ec>\nec\ncom.ec\ninfo.ec\nnet.ec\nfin.ec\nk12.ec\nmed.ec\npro.ec\norg.ec\nedu.ec\ngov.ec\ngob.ec\nmil.ec\n\n// edu : https://en.wikipedia.org/wiki/.edu\nedu\n\n// ee : http://www.eenet.ee/EENet/dom_reeglid.html#lisa_B\nee\nedu.ee\ngov.ee\nriik.ee\nlib.ee\nmed.ee\ncom.ee\npri.ee\naip.ee\norg.ee\nfie.ee\n\n// eg : https://en.wikipedia.org/wiki/.eg\neg\ncom.eg\nedu.eg\neun.eg\ngov.eg\nmil.eg\nname.eg\nnet.eg\norg.eg\nsci.eg\n\n// er : https://en.wikipedia.org/wiki/.er\n*.er\n\n// es : https://www.nic.es/site_ingles/ingles/dominios/index.html\nes\ncom.es\nnom.es\norg.es\ngob.es\nedu.es\n\n// et : https://en.wikipedia.org/wiki/.et\net\ncom.et\ngov.et\norg.et\nedu.et\nbiz.et\nname.et\ninfo.et\nnet.et\n\n// eu : https://en.wikipedia.org/wiki/.eu\neu\n\n// fi : https://en.wikipedia.org/wiki/.fi\nfi\n// aland.fi : https://en.wikipedia.org/wiki/.ax\n// This domain is being phased out in favor of .ax. As there are still many\n// domains under aland.fi, we still keep it on the list until aland.fi is\n// completely removed.\n// TODO: Check for updates (expected to be phased out around Q1/2009)\naland.fi\n\n// fj : http://domains.fj/\n// Submitted by registry <garth.miller@cocca.org.nz> 2020-02-11\nfj\nac.fj\nbiz.fj\ncom.fj\ngov.fj\ninfo.fj\nmil.fj\nname.fj\nnet.fj\norg.fj\npro.fj\n\n// fk : https://en.wikipedia.org/wiki/.fk\n*.fk\n\n// fm : https://en.wikipedia.org/wiki/.fm\ncom.fm\nedu.fm\nnet.fm\norg.fm\nfm\n\n// fo : https://en.wikipedia.org/wiki/.fo\nfo\n\n// fr : https://www.afnic.fr/ https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf\nfr\nasso.fr\ncom.fr\ngouv.fr\nnom.fr\nprd.fr\ntm.fr\n// Other SLDs now selfmanaged out of AFNIC range. Former \"domaines sectoriels\", still registration suffixes\navoues.fr\ncci.fr\ngreta.fr\nhuissier-justice.fr\n\n// ga : https://en.wikipedia.org/wiki/.ga\nga\n\n// gb : This registry is effectively dormant\n// Submitted by registry <Damien.Shaw@ja.net>\ngb\n\n// gd : https://en.wikipedia.org/wiki/.gd\nedu.gd\ngov.gd\ngd\n\n// ge : http://www.nic.net.ge/policy_en.pdf\nge\ncom.ge\nedu.ge\ngov.ge\norg.ge\nmil.ge\nnet.ge\npvt.ge\n\n// gf : https://en.wikipedia.org/wiki/.gf\ngf\n\n// gg : http://www.channelisles.net/register-domains/\n// Confirmed by registry <nigel@channelisles.net> 2013-11-28\ngg\nco.gg\nnet.gg\norg.gg\n\n// gh : https://en.wikipedia.org/wiki/.gh\n// see also: http://www.nic.gh/reg_now.php\n// Although domains directly at second level are not possible at the moment,\n// they have been possible for some time and may come back.\ngh\ncom.gh\nedu.gh\ngov.gh\norg.gh\nmil.gh\n\n// gi : http://www.nic.gi/rules.html\ngi\ncom.gi\nltd.gi\ngov.gi\nmod.gi\nedu.gi\norg.gi\n\n// gl : https://en.wikipedia.org/wiki/.gl\n// http://nic.gl\ngl\nco.gl\ncom.gl\nedu.gl\nnet.gl\norg.gl\n\n// gm : http://www.nic.gm/htmlpages%5Cgm-policy.htm\ngm\n\n// gn : http://psg.com/dns/gn/gn.txt\n// Submitted by registry <randy@psg.com>\ngn\nac.gn\ncom.gn\nedu.gn\ngov.gn\norg.gn\nnet.gn\n\n// gov : https://en.wikipedia.org/wiki/.gov\ngov\n\n// gp : http://www.nic.gp/index.php?lang=en\ngp\ncom.gp\nnet.gp\nmobi.gp\nedu.gp\norg.gp\nasso.gp\n\n// gq : https://en.wikipedia.org/wiki/.gq\ngq\n\n// gr : https://grweb.ics.forth.gr/english/1617-B-2005.html\n// Submitted by registry <segred@ics.forth.gr>\ngr\ncom.gr\nedu.gr\nnet.gr\norg.gr\ngov.gr\n\n// gs : https://en.wikipedia.org/wiki/.gs\ngs\n\n// gt : https://www.gt/sitio/registration_policy.php?lang=en\ngt\ncom.gt\nedu.gt\ngob.gt\nind.gt\nmil.gt\nnet.gt\norg.gt\n\n// gu : http://gadao.gov.gu/register.html\n// University of Guam : https://www.uog.edu\n// Submitted by uognoc@triton.uog.edu\ngu\ncom.gu\nedu.gu\ngov.gu\nguam.gu\ninfo.gu\nnet.gu\norg.gu\nweb.gu\n\n// gw : https://en.wikipedia.org/wiki/.gw\n// gw : https://nic.gw/regras/\ngw\n\n// gy : https://en.wikipedia.org/wiki/.gy\n// http://registry.gy/\ngy\nco.gy\ncom.gy\nedu.gy\ngov.gy\nnet.gy\norg.gy\n\n// hk : https://www.hkirc.hk\n// Submitted by registry <hk.tech@hkirc.hk>\nhk\ncom.hk\nedu.hk\ngov.hk\nidv.hk\nnet.hk\norg.hk\n\\u516C\\u53F8.hk\n\\u6559\\u80B2.hk\n\\u654E\\u80B2.hk\n\\u653F\\u5E9C.hk\n\\u500B\\u4EBA.hk\n\\u4E2A\\u4EBA.hk\n\\u7B87\\u4EBA.hk\n\\u7DB2\\u7EDC.hk\n\\u7F51\\u7EDC.hk\n\\u7EC4\\u7E54.hk\n\\u7DB2\\u7D61.hk\n\\u7F51\\u7D61.hk\n\\u7EC4\\u7EC7.hk\n\\u7D44\\u7E54.hk\n\\u7D44\\u7EC7.hk\n\n// hm : https://en.wikipedia.org/wiki/.hm\nhm\n\n// hn : http://www.nic.hn/politicas/ps02,,05.html\nhn\ncom.hn\nedu.hn\norg.hn\nnet.hn\nmil.hn\ngob.hn\n\n// hr : http://www.dns.hr/documents/pdf/HRTLD-regulations.pdf\nhr\niz.hr\nfrom.hr\nname.hr\ncom.hr\n\n// ht : http://www.nic.ht/info/charte.cfm\nht\ncom.ht\nshop.ht\nfirm.ht\ninfo.ht\nadult.ht\nnet.ht\npro.ht\norg.ht\nmed.ht\nart.ht\ncoop.ht\npol.ht\nasso.ht\nedu.ht\nrel.ht\ngouv.ht\nperso.ht\n\n// hu : http://www.domain.hu/domain/English/sld.html\n// Confirmed by registry <pasztor@iszt.hu> 2008-06-12\nhu\nco.hu\ninfo.hu\norg.hu\npriv.hu\nsport.hu\ntm.hu\n2000.hu\nagrar.hu\nbolt.hu\ncasino.hu\ncity.hu\nerotica.hu\nerotika.hu\nfilm.hu\nforum.hu\ngames.hu\nhotel.hu\ningatlan.hu\njogasz.hu\nkonyvelo.hu\nlakas.hu\nmedia.hu\nnews.hu\nreklam.hu\nsex.hu\nshop.hu\nsuli.hu\nszex.hu\ntozsde.hu\nutazas.hu\nvideo.hu\n\n// id : https://pandi.id/en/domain/registration-requirements/\nid\nac.id\nbiz.id\nco.id\ndesa.id\ngo.id\nmil.id\nmy.id\nnet.id\nor.id\nponpes.id\nsch.id\nweb.id\n\n// ie : https://en.wikipedia.org/wiki/.ie\nie\ngov.ie\n\n// il : http://www.isoc.org.il/domains/\n// see also: https://en.isoc.org.il/il-cctld/registration-rules\n// ISOC-IL (operated by .il Registry)\nil\nac.il\nco.il\ngov.il\nidf.il\nk12.il\nmuni.il\nnet.il\norg.il\n// xn--4dbrk0ce (\"Israel\", Hebrew) : IL\n\\u05D9\\u05E9\\u05E8\\u05D0\\u05DC\n// xn--4dbgdty6c.xn--4dbrk0ce.\n\\u05D0\\u05E7\\u05D3\\u05DE\\u05D9\\u05D4.\\u05D9\\u05E9\\u05E8\\u05D0\\u05DC\n// xn--5dbhl8d.xn--4dbrk0ce.\n\\u05D9\\u05E9\\u05D5\\u05D1.\\u05D9\\u05E9\\u05E8\\u05D0\\u05DC\n// xn--8dbq2a.xn--4dbrk0ce.\n\\u05E6\\u05D4\\u05DC.\\u05D9\\u05E9\\u05E8\\u05D0\\u05DC\n// xn--hebda8b.xn--4dbrk0ce.\n\\u05DE\\u05DE\\u05E9\\u05DC.\\u05D9\\u05E9\\u05E8\\u05D0\\u05DC\n\n// im : https://www.nic.im/\n// Submitted by registry <info@nic.im>\nim\nac.im\nco.im\ncom.im\nltd.co.im\nnet.im\norg.im\nplc.co.im\ntt.im\ntv.im\n\n// in : https://en.wikipedia.org/wiki/.in\n// see also: https://registry.in/policies\n// Please note, that nic.in is not an official eTLD, but used by most\n// government institutions.\nin\n5g.in\n6g.in\nac.in\nai.in\nam.in\nbihar.in\nbiz.in\nbusiness.in\nca.in\ncn.in\nco.in\ncom.in\ncoop.in\ncs.in\ndelhi.in\ndr.in\nedu.in\ner.in\nfirm.in\ngen.in\ngov.in\ngujarat.in\nind.in\ninfo.in\nint.in\ninternet.in\nio.in\nme.in\nmil.in\nnet.in\nnic.in\norg.in\npg.in\npost.in\npro.in\nres.in\ntravel.in\ntv.in\nuk.in\nup.in\nus.in\n\n// info : https://en.wikipedia.org/wiki/.info\ninfo\n\n// int : https://en.wikipedia.org/wiki/.int\n// Confirmed by registry <iana-questions@icann.org> 2008-06-18\nint\neu.int\n\n// io : http://www.nic.io/rules.htm\n// list of other 2nd level tlds ?\nio\ncom.io\n\n// iq : http://www.cmc.iq/english/iq/iqregister1.htm\niq\ngov.iq\nedu.iq\nmil.iq\ncom.iq\norg.iq\nnet.iq\n\n// ir : http://www.nic.ir/Terms_and_Conditions_ir,_Appendix_1_Domain_Rules\n// Also see http://www.nic.ir/Internationalized_Domain_Names\n// Two <iran>.ir entries added at request of <tech-team@nic.ir>, 2010-04-16\nir\nac.ir\nco.ir\ngov.ir\nid.ir\nnet.ir\norg.ir\nsch.ir\n// xn--mgba3a4f16a.ir (<iran>.ir, Persian YEH)\n\\u0627\\u06CC\\u0631\\u0627\\u0646.ir\n// xn--mgba3a4fra.ir (<iran>.ir, Arabic YEH)\n\\u0627\\u064A\\u0631\\u0627\\u0646.ir\n\n// is : http://www.isnic.is/domain/rules.php\n// Confirmed by registry <marius@isgate.is> 2008-12-06\nis\nnet.is\ncom.is\nedu.is\ngov.is\norg.is\nint.is\n\n// it : https://en.wikipedia.org/wiki/.it\nit\ngov.it\nedu.it\n// Reserved geo-names (regions and provinces):\n// https://www.nic.it/sites/default/files/archivio/docs/Regulation_assignation_v7.1.pdf\n// Regions\nabr.it\nabruzzo.it\naosta-valley.it\naostavalley.it\nbas.it\nbasilicata.it\ncal.it\ncalabria.it\ncam.it\ncampania.it\nemilia-romagna.it\nemiliaromagna.it\nemr.it\nfriuli-v-giulia.it\nfriuli-ve-giulia.it\nfriuli-vegiulia.it\nfriuli-venezia-giulia.it\nfriuli-veneziagiulia.it\nfriuli-vgiulia.it\nfriuliv-giulia.it\nfriulive-giulia.it\nfriulivegiulia.it\nfriulivenezia-giulia.it\nfriuliveneziagiulia.it\nfriulivgiulia.it\nfvg.it\nlaz.it\nlazio.it\nlig.it\nliguria.it\nlom.it\nlombardia.it\nlombardy.it\nlucania.it\nmar.it\nmarche.it\nmol.it\nmolise.it\npiedmont.it\npiemonte.it\npmn.it\npug.it\npuglia.it\nsar.it\nsardegna.it\nsardinia.it\nsic.it\nsicilia.it\nsicily.it\ntaa.it\ntos.it\ntoscana.it\ntrentin-sud-tirol.it\ntrentin-s\\xFCd-tirol.it\ntrentin-sudtirol.it\ntrentin-s\\xFCdtirol.it\ntrentin-sued-tirol.it\ntrentin-suedtirol.it\ntrentino-a-adige.it\ntrentino-aadige.it\ntrentino-alto-adige.it\ntrentino-altoadige.it\ntrentino-s-tirol.it\ntrentino-stirol.it\ntrentino-sud-tirol.it\ntrentino-s\\xFCd-tirol.it\ntrentino-sudtirol.it\ntrentino-s\\xFCdtirol.it\ntrentino-sued-tirol.it\ntrentino-suedtirol.it\ntrentino.it\ntrentinoa-adige.it\ntrentinoaadige.it\ntrentinoalto-adige.it\ntrentinoaltoadige.it\ntrentinos-tirol.it\ntrentinostirol.it\ntrentinosud-tirol.it\ntrentinos\\xFCd-tirol.it\ntrentinosudtirol.it\ntrentinos\\xFCdtirol.it\ntrentinosued-tirol.it\ntrentinosuedtirol.it\ntrentinsud-tirol.it\ntrentins\\xFCd-tirol.it\ntrentinsudtirol.it\ntrentins\\xFCdtirol.it\ntrentinsued-tirol.it\ntrentinsuedtirol.it\ntuscany.it\numb.it\numbria.it\nval-d-aosta.it\nval-daosta.it\nvald-aosta.it\nvaldaosta.it\nvalle-aosta.it\nvalle-d-aosta.it\nvalle-daosta.it\nvalleaosta.it\nvalled-aosta.it\nvalledaosta.it\nvallee-aoste.it\nvall\\xE9e-aoste.it\nvallee-d-aoste.it\nvall\\xE9e-d-aoste.it\nvalleeaoste.it\nvall\\xE9eaoste.it\nvalleedaoste.it\nvall\\xE9edaoste.it\nvao.it\nvda.it\nven.it\nveneto.it\n// Provinces\nag.it\nagrigento.it\nal.it\nalessandria.it\nalto-adige.it\naltoadige.it\nan.it\nancona.it\nandria-barletta-trani.it\nandria-trani-barletta.it\nandriabarlettatrani.it\nandriatranibarletta.it\nao.it\naosta.it\naoste.it\nap.it\naq.it\naquila.it\nar.it\narezzo.it\nascoli-piceno.it\nascolipiceno.it\nasti.it\nat.it\nav.it\navellino.it\nba.it\nbalsan-sudtirol.it\nbalsan-s\\xFCdtirol.it\nbalsan-suedtirol.it\nbalsan.it\nbari.it\nbarletta-trani-andria.it\nbarlettatraniandria.it\nbelluno.it\nbenevento.it\nbergamo.it\nbg.it\nbi.it\nbiella.it\nbl.it\nbn.it\nbo.it\nbologna.it\nbolzano-altoadige.it\nbolzano.it\nbozen-sudtirol.it\nbozen-s\\xFCdtirol.it\nbozen-suedtirol.it\nbozen.it\nbr.it\nbrescia.it\nbrindisi.it\nbs.it\nbt.it\nbulsan-sudtirol.it\nbulsan-s\\xFCdtirol.it\nbulsan-suedtirol.it\nbulsan.it\nbz.it\nca.it\ncagliari.it\ncaltanissetta.it\ncampidano-medio.it\ncampidanomedio.it\ncampobasso.it\ncarbonia-iglesias.it\ncarboniaiglesias.it\ncarrara-massa.it\ncarraramassa.it\ncaserta.it\ncatania.it\ncatanzaro.it\ncb.it\nce.it\ncesena-forli.it\ncesena-forl\\xEC.it\ncesenaforli.it\ncesenaforl\\xEC.it\nch.it\nchieti.it\nci.it\ncl.it\ncn.it\nco.it\ncomo.it\ncosenza.it\ncr.it\ncremona.it\ncrotone.it\ncs.it\nct.it\ncuneo.it\ncz.it\ndell-ogliastra.it\ndellogliastra.it\nen.it\nenna.it\nfc.it\nfe.it\nfermo.it\nferrara.it\nfg.it\nfi.it\nfirenze.it\nflorence.it\nfm.it\nfoggia.it\nforli-cesena.it\nforl\\xEC-cesena.it\nforlicesena.it\nforl\\xECcesena.it\nfr.it\nfrosinone.it\nge.it\ngenoa.it\ngenova.it\ngo.it\ngorizia.it\ngr.it\ngrosseto.it\niglesias-carbonia.it\niglesiascarbonia.it\nim.it\nimperia.it\nis.it\nisernia.it\nkr.it\nla-spezia.it\nlaquila.it\nlaspezia.it\nlatina.it\nlc.it\nle.it\nlecce.it\nlecco.it\nli.it\nlivorno.it\nlo.it\nlodi.it\nlt.it\nlu.it\nlucca.it\nmacerata.it\nmantova.it\nmassa-carrara.it\nmassacarrara.it\nmatera.it\nmb.it\nmc.it\nme.it\nmedio-campidano.it\nmediocampidano.it\nmessina.it\nmi.it\nmilan.it\nmilano.it\nmn.it\nmo.it\nmodena.it\nmonza-brianza.it\nmonza-e-della-brianza.it\nmonza.it\nmonzabrianza.it\nmonzaebrianza.it\nmonzaedellabrianza.it\nms.it\nmt.it\nna.it\nnaples.it\nnapoli.it\nno.it\nnovara.it\nnu.it\nnuoro.it\nog.it\nogliastra.it\nolbia-tempio.it\nolbiatempio.it\nor.it\noristano.it\not.it\npa.it\npadova.it\npadua.it\npalermo.it\nparma.it\npavia.it\npc.it\npd.it\npe.it\nperugia.it\npesaro-urbino.it\npesarourbino.it\npescara.it\npg.it\npi.it\npiacenza.it\npisa.it\npistoia.it\npn.it\npo.it\npordenone.it\npotenza.it\npr.it\nprato.it\npt.it\npu.it\npv.it\npz.it\nra.it\nragusa.it\nravenna.it\nrc.it\nre.it\nreggio-calabria.it\nreggio-emilia.it\nreggiocalabria.it\nreggioemilia.it\nrg.it\nri.it\nrieti.it\nrimini.it\nrm.it\nrn.it\nro.it\nroma.it\nrome.it\nrovigo.it\nsa.it\nsalerno.it\nsassari.it\nsavona.it\nsi.it\nsiena.it\nsiracusa.it\nso.it\nsondrio.it\nsp.it\nsr.it\nss.it\nsuedtirol.it\ns\\xFCdtirol.it\nsv.it\nta.it\ntaranto.it\nte.it\ntempio-olbia.it\ntempioolbia.it\nteramo.it\nterni.it\ntn.it\nto.it\ntorino.it\ntp.it\ntr.it\ntrani-andria-barletta.it\ntrani-barletta-andria.it\ntraniandriabarletta.it\ntranibarlettaandria.it\ntrapani.it\ntrento.it\ntreviso.it\ntrieste.it\nts.it\nturin.it\ntv.it\nud.it\nudine.it\nurbino-pesaro.it\nurbinopesaro.it\nva.it\nvarese.it\nvb.it\nvc.it\nve.it\nvenezia.it\nvenice.it\nverbania.it\nvercelli.it\nverona.it\nvi.it\nvibo-valentia.it\nvibovalentia.it\nvicenza.it\nviterbo.it\nvr.it\nvs.it\nvt.it\nvv.it\n\n// je : http://www.channelisles.net/register-domains/\n// Confirmed by registry <nigel@channelisles.net> 2013-11-28\nje\nco.je\nnet.je\norg.je\n\n// jm : http://www.com.jm/register.html\n*.jm\n\n// jo : http://www.dns.jo/Registration_policy.aspx\njo\ncom.jo\norg.jo\nnet.jo\nedu.jo\nsch.jo\ngov.jo\nmil.jo\nname.jo\n\n// jobs : https://en.wikipedia.org/wiki/.jobs\njobs\n\n// jp : https://en.wikipedia.org/wiki/.jp\n// http://jprs.co.jp/en/jpdomain.html\n// Submitted by registry <info@jprs.jp>\njp\n// jp organizational type names\nac.jp\nad.jp\nco.jp\ned.jp\ngo.jp\ngr.jp\nlg.jp\nne.jp\nor.jp\n// jp prefecture type names\naichi.jp\nakita.jp\naomori.jp\nchiba.jp\nehime.jp\nfukui.jp\nfukuoka.jp\nfukushima.jp\ngifu.jp\ngunma.jp\nhiroshima.jp\nhokkaido.jp\nhyogo.jp\nibaraki.jp\nishikawa.jp\niwate.jp\nkagawa.jp\nkagoshima.jp\nkanagawa.jp\nkochi.jp\nkumamoto.jp\nkyoto.jp\nmie.jp\nmiyagi.jp\nmiyazaki.jp\nnagano.jp\nnagasaki.jp\nnara.jp\nniigata.jp\noita.jp\nokayama.jp\nokinawa.jp\nosaka.jp\nsaga.jp\nsaitama.jp\nshiga.jp\nshimane.jp\nshizuoka.jp\ntochigi.jp\ntokushima.jp\ntokyo.jp\ntottori.jp\ntoyama.jp\nwakayama.jp\nyamagata.jp\nyamaguchi.jp\nyamanashi.jp\n\\u6803\\u6728.jp\n\\u611B\\u77E5.jp\n\\u611B\\u5A9B.jp\n\\u5175\\u5EAB.jp\n\\u718A\\u672C.jp\n\\u8328\\u57CE.jp\n\\u5317\\u6D77\\u9053.jp\n\\u5343\\u8449.jp\n\\u548C\\u6B4C\\u5C71.jp\n\\u9577\\u5D0E.jp\n\\u9577\\u91CE.jp\n\\u65B0\\u6F5F.jp\n\\u9752\\u68EE.jp\n\\u9759\\u5CA1.jp\n\\u6771\\u4EAC.jp\n\\u77F3\\u5DDD.jp\n\\u57FC\\u7389.jp\n\\u4E09\\u91CD.jp\n\\u4EAC\\u90FD.jp\n\\u4F50\\u8CC0.jp\n\\u5927\\u5206.jp\n\\u5927\\u962A.jp\n\\u5948\\u826F.jp\n\\u5BAE\\u57CE.jp\n\\u5BAE\\u5D0E.jp\n\\u5BCC\\u5C71.jp\n\\u5C71\\u53E3.jp\n\\u5C71\\u5F62.jp\n\\u5C71\\u68A8.jp\n\\u5CA9\\u624B.jp\n\\u5C90\\u961C.jp\n\\u5CA1\\u5C71.jp\n\\u5CF6\\u6839.jp\n\\u5E83\\u5CF6.jp\n\\u5FB3\\u5CF6.jp\n\\u6C96\\u7E04.jp\n\\u6ECB\\u8CC0.jp\n\\u795E\\u5948\\u5DDD.jp\n\\u798F\\u4E95.jp\n\\u798F\\u5CA1.jp\n\\u798F\\u5CF6.jp\n\\u79CB\\u7530.jp\n\\u7FA4\\u99AC.jp\n\\u9999\\u5DDD.jp\n\\u9AD8\\u77E5.jp\n\\u9CE5\\u53D6.jp\n\\u9E7F\\u5150\\u5CF6.jp\n// jp geographic type names\n// http://jprs.jp/doc/rule/saisoku-1.html\n*.kawasaki.jp\n*.kitakyushu.jp\n*.kobe.jp\n*.nagoya.jp\n*.sapporo.jp\n*.sendai.jp\n*.yokohama.jp\n!city.kawasaki.jp\n!city.kitakyushu.jp\n!city.kobe.jp\n!city.nagoya.jp\n!city.sapporo.jp\n!city.sendai.jp\n!city.yokohama.jp\n// 4th level registration\naisai.aichi.jp\nama.aichi.jp\nanjo.aichi.jp\nasuke.aichi.jp\nchiryu.aichi.jp\nchita.aichi.jp\nfuso.aichi.jp\ngamagori.aichi.jp\nhanda.aichi.jp\nhazu.aichi.jp\nhekinan.aichi.jp\nhigashiura.aichi.jp\nichinomiya.aichi.jp\ninazawa.aichi.jp\ninuyama.aichi.jp\nisshiki.aichi.jp\niwakura.aichi.jp\nkanie.aichi.jp\nkariya.aichi.jp\nkasugai.aichi.jp\nkira.aichi.jp\nkiyosu.aichi.jp\nkomaki.aichi.jp\nkonan.aichi.jp\nkota.aichi.jp\nmihama.aichi.jp\nmiyoshi.aichi.jp\nnishio.aichi.jp\nnisshin.aichi.jp\nobu.aichi.jp\noguchi.aichi.jp\noharu.aichi.jp\nokazaki.aichi.jp\nowariasahi.aichi.jp\nseto.aichi.jp\nshikatsu.aichi.jp\nshinshiro.aichi.jp\nshitara.aichi.jp\ntahara.aichi.jp\ntakahama.aichi.jp\ntobishima.aichi.jp\ntoei.aichi.jp\ntogo.aichi.jp\ntokai.aichi.jp\ntokoname.aichi.jp\ntoyoake.aichi.jp\ntoyohashi.aichi.jp\ntoyokawa.aichi.jp\ntoyone.aichi.jp\ntoyota.aichi.jp\ntsushima.aichi.jp\nyatomi.aichi.jp\nakita.akita.jp\ndaisen.akita.jp\nfujisato.akita.jp\ngojome.akita.jp\nhachirogata.akita.jp\nhappou.akita.jp\nhigashinaruse.akita.jp\nhonjo.akita.jp\nhonjyo.akita.jp\nikawa.akita.jp\nkamikoani.akita.jp\nkamioka.akita.jp\nkatagami.akita.jp\nkazuno.akita.jp\nkitaakita.akita.jp\nkosaka.akita.jp\nkyowa.akita.jp\nmisato.akita.jp\nmitane.akita.jp\nmoriyoshi.akita.jp\nnikaho.akita.jp\nnoshiro.akita.jp\nodate.akita.jp\noga.akita.jp\nogata.akita.jp\nsemboku.akita.jp\nyokote.akita.jp\nyurihonjo.akita.jp\naomori.aomori.jp\ngonohe.aomori.jp\nhachinohe.aomori.jp\nhashikami.aomori.jp\nhiranai.aomori.jp\nhirosaki.aomori.jp\nitayanagi.aomori.jp\nkuroishi.aomori.jp\nmisawa.aomori.jp\nmutsu.aomori.jp\nnakadomari.aomori.jp\nnoheji.aomori.jp\noirase.aomori.jp\nowani.aomori.jp\nrokunohe.aomori.jp\nsannohe.aomori.jp\nshichinohe.aomori.jp\nshingo.aomori.jp\ntakko.aomori.jp\ntowada.aomori.jp\ntsugaru.aomori.jp\ntsuruta.aomori.jp\nabiko.chiba.jp\nasahi.chiba.jp\nchonan.chiba.jp\nchosei.chiba.jp\nchoshi.chiba.jp\nchuo.chiba.jp\nfunabashi.chiba.jp\nfuttsu.chiba.jp\nhanamigawa.chiba.jp\nichihara.chiba.jp\nichikawa.chiba.jp\nichinomiya.chiba.jp\ninzai.chiba.jp\nisumi.chiba.jp\nkamagaya.chiba.jp\nkamogawa.chiba.jp\nkashiwa.chiba.jp\nkatori.chiba.jp\nkatsuura.chiba.jp\nkimitsu.chiba.jp\nkisarazu.chiba.jp\nkozaki.chiba.jp\nkujukuri.chiba.jp\nkyonan.chiba.jp\nmatsudo.chiba.jp\nmidori.chiba.jp\nmihama.chiba.jp\nminamiboso.chiba.jp\nmobara.chiba.jp\nmutsuzawa.chiba.jp\nnagara.chiba.jp\nnagareyama.chiba.jp\nnarashino.chiba.jp\nnarita.chiba.jp\nnoda.chiba.jp\noamishirasato.chiba.jp\nomigawa.chiba.jp\nonjuku.chiba.jp\notaki.chiba.jp\nsakae.chiba.jp\nsakura.chiba.jp\nshimofusa.chiba.jp\nshirako.chiba.jp\nshiroi.chiba.jp\nshisui.chiba.jp\nsodegaura.chiba.jp\nsosa.chiba.jp\ntako.chiba.jp\ntateyama.chiba.jp\ntogane.chiba.jp\ntohnosho.chiba.jp\ntomisato.chiba.jp\nurayasu.chiba.jp\nyachimata.chiba.jp\nyachiyo.chiba.jp\nyokaichiba.chiba.jp\nyokoshibahikari.chiba.jp\nyotsukaido.chiba.jp\nainan.ehime.jp\nhonai.ehime.jp\nikata.ehime.jp\nimabari.ehime.jp\niyo.ehime.jp\nkamijima.ehime.jp\nkihoku.ehime.jp\nkumakogen.ehime.jp\nmasaki.ehime.jp\nmatsuno.ehime.jp\nmatsuyama.ehime.jp\nnamikata.ehime.jp\nniihama.ehime.jp\nozu.ehime.jp\nsaijo.ehime.jp\nseiyo.ehime.jp\nshikokuchuo.ehime.jp\ntobe.ehime.jp\ntoon.ehime.jp\nuchiko.ehime.jp\nuwajima.ehime.jp\nyawatahama.ehime.jp\nechizen.fukui.jp\neiheiji.fukui.jp\nfukui.fukui.jp\nikeda.fukui.jp\nkatsuyama.fukui.jp\nmihama.fukui.jp\nminamiechizen.fukui.jp\nobama.fukui.jp\nohi.fukui.jp\nono.fukui.jp\nsabae.fukui.jp\nsakai.fukui.jp\ntakahama.fukui.jp\ntsuruga.fukui.jp\nwakasa.fukui.jp\nashiya.fukuoka.jp\nbuzen.fukuoka.jp\nchikugo.fukuoka.jp\nchikuho.fukuoka.jp\nchikujo.fukuoka.jp\nchikushino.fukuoka.jp\nchikuzen.fukuoka.jp\nchuo.fukuoka.jp\ndazaifu.fukuoka.jp\nfukuchi.fukuoka.jp\nhakata.fukuoka.jp\nhigashi.fukuoka.jp\nhirokawa.fukuoka.jp\nhisayama.fukuoka.jp\niizuka.fukuoka.jp\ninatsuki.fukuoka.jp\nkaho.fukuoka.jp\nkasuga.fukuoka.jp\nkasuya.fukuoka.jp\nkawara.fukuoka.jp\nkeisen.fukuoka.jp\nkoga.fukuoka.jp\nkurate.fukuoka.jp\nkurogi.fukuoka.jp\nkurume.fukuoka.jp\nminami.fukuoka.jp\nmiyako.fukuoka.jp\nmiyama.fukuoka.jp\nmiyawaka.fukuoka.jp\nmizumaki.fukuoka.jp\nmunakata.fukuoka.jp\nnakagawa.fukuoka.jp\nnakama.fukuoka.jp\nnishi.fukuoka.jp\nnogata.fukuoka.jp\nogori.fukuoka.jp\nokagaki.fukuoka.jp\nokawa.fukuoka.jp\noki.fukuoka.jp\nomuta.fukuoka.jp\nonga.fukuoka.jp\nonojo.fukuoka.jp\noto.fukuoka.jp\nsaigawa.fukuoka.jp\nsasaguri.fukuoka.jp\nshingu.fukuoka.jp\nshinyoshitomi.fukuoka.jp\nshonai.fukuoka.jp\nsoeda.fukuoka.jp\nsue.fukuoka.jp\ntachiarai.fukuoka.jp\ntagawa.fukuoka.jp\ntakata.fukuoka.jp\ntoho.fukuoka.jp\ntoyotsu.fukuoka.jp\ntsuiki.fukuoka.jp\nukiha.fukuoka.jp\numi.fukuoka.jp\nusui.fukuoka.jp\nyamada.fukuoka.jp\nyame.fukuoka.jp\nyanagawa.fukuoka.jp\nyukuhashi.fukuoka.jp\naizubange.fukushima.jp\naizumisato.fukushima.jp\naizuwakamatsu.fukushima.jp\nasakawa.fukushima.jp\nbandai.fukushima.jp\ndate.fukushima.jp\nfukushima.fukushima.jp\nfurudono.fukushima.jp\nfutaba.fukushima.jp\nhanawa.fukushima.jp\nhigashi.fukushima.jp\nhirata.fukushima.jp\nhirono.fukushima.jp\niitate.fukushima.jp\ninawashiro.fukushima.jp\nishikawa.fukushima.jp\niwaki.fukushima.jp\nizumizaki.fukushima.jp\nkagamiishi.fukushima.jp\nkaneyama.fukushima.jp\nkawamata.fukushima.jp\nkitakata.fukushima.jp\nkitashiobara.fukushima.jp\nkoori.fukushima.jp\nkoriyama.fukushima.jp\nkunimi.fukushima.jp\nmiharu.fukushima.jp\nmishima.fukushima.jp\nnamie.fukushima.jp\nnango.fukushima.jp\nnishiaizu.fukushima.jp\nnishigo.fukushima.jp\nokuma.fukushima.jp\nomotego.fukushima.jp\nono.fukushima.jp\notama.fukushima.jp\nsamegawa.fukushima.jp\nshimogo.fukushima.jp\nshirakawa.fukushima.jp\nshowa.fukushima.jp\nsoma.fukushima.jp\nsukagawa.fukushima.jp\ntaishin.fukushima.jp\ntamakawa.fukushima.jp\ntanagura.fukushima.jp\ntenei.fukushima.jp\nyabuki.fukushima.jp\nyamato.fukushima.jp\nyamatsuri.fukushima.jp\nyanaizu.fukushima.jp\nyugawa.fukushima.jp\nanpachi.gifu.jp\nena.gifu.jp\ngifu.gifu.jp\nginan.gifu.jp\ngodo.gifu.jp\ngujo.gifu.jp\nhashima.gifu.jp\nhichiso.gifu.jp\nhida.gifu.jp\nhigashishirakawa.gifu.jp\nibigawa.gifu.jp\nikeda.gifu.jp\nkakamigahara.gifu.jp\nkani.gifu.jp\nkasahara.gifu.jp\nkasamatsu.gifu.jp\nkawaue.gifu.jp\nkitagata.gifu.jp\nmino.gifu.jp\nminokamo.gifu.jp\nmitake.gifu.jp\nmizunami.gifu.jp\nmotosu.gifu.jp\nnakatsugawa.gifu.jp\nogaki.gifu.jp\nsakahogi.gifu.jp\nseki.gifu.jp\nsekigahara.gifu.jp\nshirakawa.gifu.jp\ntajimi.gifu.jp\ntakayama.gifu.jp\ntarui.gifu.jp\ntoki.gifu.jp\ntomika.gifu.jp\nwanouchi.gifu.jp\nyamagata.gifu.jp\nyaotsu.gifu.jp\nyoro.gifu.jp\nannaka.gunma.jp\nchiyoda.gunma.jp\nfujioka.gunma.jp\nhigashiagatsuma.gunma.jp\nisesaki.gunma.jp\nitakura.gunma.jp\nkanna.gunma.jp\nkanra.gunma.jp\nkatashina.gunma.jp\nkawaba.gunma.jp\nkiryu.gunma.jp\nkusatsu.gunma.jp\nmaebashi.gunma.jp\nmeiwa.gunma.jp\nmidori.gunma.jp\nminakami.gunma.jp\nnaganohara.gunma.jp\nnakanojo.gunma.jp\nnanmoku.gunma.jp\nnumata.gunma.jp\noizumi.gunma.jp\nora.gunma.jp\nota.gunma.jp\nshibukawa.gunma.jp\nshimonita.gunma.jp\nshinto.gunma.jp\nshowa.gunma.jp\ntakasaki.gunma.jp\ntakayama.gunma.jp\ntamamura.gunma.jp\ntatebayashi.gunma.jp\ntomioka.gunma.jp\ntsukiyono.gunma.jp\ntsumagoi.gunma.jp\nueno.gunma.jp\nyoshioka.gunma.jp\nasaminami.hiroshima.jp\ndaiwa.hiroshima.jp\netajima.hiroshima.jp\nfuchu.hiroshima.jp\nfukuyama.hiroshima.jp\nhatsukaichi.hiroshima.jp\nhigashihiroshima.hiroshima.jp\nhongo.hiroshima.jp\njinsekikogen.hiroshima.jp\nkaita.hiroshima.jp\nkui.hiroshima.jp\nkumano.hiroshima.jp\nkure.hiroshima.jp\nmihara.hiroshima.jp\nmiyoshi.hiroshima.jp\nnaka.hiroshima.jp\nonomichi.hiroshima.jp\nosakikamijima.hiroshima.jp\notake.hiroshima.jp\nsaka.hiroshima.jp\nsera.hiroshima.jp\nseranishi.hiroshima.jp\nshinichi.hiroshima.jp\nshobara.hiroshima.jp\ntakehara.hiroshima.jp\nabashiri.hokkaido.jp\nabira.hokkaido.jp\naibetsu.hokkaido.jp\nakabira.hokkaido.jp\nakkeshi.hokkaido.jp\nasahikawa.hokkaido.jp\nashibetsu.hokkaido.jp\nashoro.hokkaido.jp\nassabu.hokkaido.jp\natsuma.hokkaido.jp\nbibai.hokkaido.jp\nbiei.hokkaido.jp\nbifuka.hokkaido.jp\nbihoro.hokkaido.jp\nbiratori.hokkaido.jp\nchippubetsu.hokkaido.jp\nchitose.hokkaido.jp\ndate.hokkaido.jp\nebetsu.hokkaido.jp\nembetsu.hokkaido.jp\neniwa.hokkaido.jp\nerimo.hokkaido.jp\nesan.hokkaido.jp\nesashi.hokkaido.jp\nfukagawa.hokkaido.jp\nfukushima.hokkaido.jp\nfurano.hokkaido.jp\nfurubira.hokkaido.jp\nhaboro.hokkaido.jp\nhakodate.hokkaido.jp\nhamatonbetsu.hokkaido.jp\nhidaka.hokkaido.jp\nhigashikagura.hokkaido.jp\nhigashikawa.hokkaido.jp\nhiroo.hokkaido.jp\nhokuryu.hokkaido.jp\nhokuto.hokkaido.jp\nhonbetsu.hokkaido.jp\nhorokanai.hokkaido.jp\nhoronobe.hokkaido.jp\nikeda.hokkaido.jp\nimakane.hokkaido.jp\nishikari.hokkaido.jp\niwamizawa.hokkaido.jp\niwanai.hokkaido.jp\nkamifurano.hokkaido.jp\nkamikawa.hokkaido.jp\nkamishihoro.hokkaido.jp\nkamisunagawa.hokkaido.jp\nkamoenai.hokkaido.jp\nkayabe.hokkaido.jp\nkembuchi.hokkaido.jp\nkikonai.hokkaido.jp\nkimobetsu.hokkaido.jp\nkitahiroshima.hokkaido.jp\nkitami.hokkaido.jp\nkiyosato.hokkaido.jp\nkoshimizu.hokkaido.jp\nkunneppu.hokkaido.jp\nkuriyama.hokkaido.jp\nkuromatsunai.hokkaido.jp\nkushiro.hokkaido.jp\nkutchan.hokkaido.jp\nkyowa.hokkaido.jp\nmashike.hokkaido.jp\nmatsumae.hokkaido.jp\nmikasa.hokkaido.jp\nminamifurano.hokkaido.jp\nmombetsu.hokkaido.jp\nmoseushi.hokkaido.jp\nmukawa.hokkaido.jp\nmuroran.hokkaido.jp\nnaie.hokkaido.jp\nnakagawa.hokkaido.jp\nnakasatsunai.hokkaido.jp\nnakatombetsu.hokkaido.jp\nnanae.hokkaido.jp\nnanporo.hokkaido.jp\nnayoro.hokkaido.jp\nnemuro.hokkaido.jp\nniikappu.hokkaido.jp\nniki.hokkaido.jp\nnishiokoppe.hokkaido.jp\nnoboribetsu.hokkaido.jp\nnumata.hokkaido.jp\nobihiro.hokkaido.jp\nobira.hokkaido.jp\noketo.hokkaido.jp\nokoppe.hokkaido.jp\notaru.hokkaido.jp\notobe.hokkaido.jp\notofuke.hokkaido.jp\notoineppu.hokkaido.jp\noumu.hokkaido.jp\nozora.hokkaido.jp\npippu.hokkaido.jp\nrankoshi.hokkaido.jp\nrebun.hokkaido.jp\nrikubetsu.hokkaido.jp\nrishiri.hokkaido.jp\nrishirifuji.hokkaido.jp\nsaroma.hokkaido.jp\nsarufutsu.hokkaido.jp\nshakotan.hokkaido.jp\nshari.hokkaido.jp\nshibecha.hokkaido.jp\nshibetsu.hokkaido.jp\nshikabe.hokkaido.jp\nshikaoi.hokkaido.jp\nshimamaki.hokkaido.jp\nshimizu.hokkaido.jp\nshimokawa.hokkaido.jp\nshinshinotsu.hokkaido.jp\nshintoku.hokkaido.jp\nshiranuka.hokkaido.jp\nshiraoi.hokkaido.jp\nshiriuchi.hokkaido.jp\nsobetsu.hokkaido.jp\nsunagawa.hokkaido.jp\ntaiki.hokkaido.jp\ntakasu.hokkaido.jp\ntakikawa.hokkaido.jp\ntakinoue.hokkaido.jp\nteshikaga.hokkaido.jp\ntobetsu.hokkaido.jp\ntohma.hokkaido.jp\ntomakomai.hokkaido.jp\ntomari.hokkaido.jp\ntoya.hokkaido.jp\ntoyako.hokkaido.jp\ntoyotomi.hokkaido.jp\ntoyoura.hokkaido.jp\ntsubetsu.hokkaido.jp\ntsukigata.hokkaido.jp\nurakawa.hokkaido.jp\nurausu.hokkaido.jp\nuryu.hokkaido.jp\nutashinai.hokkaido.jp\nwakkanai.hokkaido.jp\nwassamu.hokkaido.jp\nyakumo.hokkaido.jp\nyoichi.hokkaido.jp\naioi.hyogo.jp\nakashi.hyogo.jp\nako.hyogo.jp\namagasaki.hyogo.jp\naogaki.hyogo.jp\nasago.hyogo.jp\nashiya.hyogo.jp\nawaji.hyogo.jp\nfukusaki.hyogo.jp\ngoshiki.hyogo.jp\nharima.hyogo.jp\nhimeji.hyogo.jp\nichikawa.hyogo.jp\ninagawa.hyogo.jp\nitami.hyogo.jp\nkakogawa.hyogo.jp\nkamigori.hyogo.jp\nkamikawa.hyogo.jp\nkasai.hyogo.jp\nkasuga.hyogo.jp\nkawanishi.hyogo.jp\nmiki.hyogo.jp\nminamiawaji.hyogo.jp\nnishinomiya.hyogo.jp\nnishiwaki.hyogo.jp\nono.hyogo.jp\nsanda.hyogo.jp\nsannan.hyogo.jp\nsasayama.hyogo.jp\nsayo.hyogo.jp\nshingu.hyogo.jp\nshinonsen.hyogo.jp\nshiso.hyogo.jp\nsumoto.hyogo.jp\ntaishi.hyogo.jp\ntaka.hyogo.jp\ntakarazuka.hyogo.jp\ntakasago.hyogo.jp\ntakino.hyogo.jp\ntamba.hyogo.jp\ntatsuno.hyogo.jp\ntoyooka.hyogo.jp\nyabu.hyogo.jp\nyashiro.hyogo.jp\nyoka.hyogo.jp\nyokawa.hyogo.jp\nami.ibaraki.jp\nasahi.ibaraki.jp\nbando.ibaraki.jp\nchikusei.ibaraki.jp\ndaigo.ibaraki.jp\nfujishiro.ibaraki.jp\nhitachi.ibaraki.jp\nhitachinaka.ibaraki.jp\nhitachiomiya.ibaraki.jp\nhitachiota.ibaraki.jp\nibaraki.ibaraki.jp\nina.ibaraki.jp\ninashiki.ibaraki.jp\nitako.ibaraki.jp\niwama.ibaraki.jp\njoso.ibaraki.jp\nkamisu.ibaraki.jp\nkasama.ibaraki.jp\nkashima.ibaraki.jp\nkasumigaura.ibaraki.jp\nkoga.ibaraki.jp\nmiho.ibaraki.jp\nmito.ibaraki.jp\nmoriya.ibaraki.jp\nnaka.ibaraki.jp\nnamegata.ibaraki.jp\noarai.ibaraki.jp\nogawa.ibaraki.jp\nomitama.ibaraki.jp\nryugasaki.ibaraki.jp\nsakai.ibaraki.jp\nsakuragawa.ibaraki.jp\nshimodate.ibaraki.jp\nshimotsuma.ibaraki.jp\nshirosato.ibaraki.jp\nsowa.ibaraki.jp\nsuifu.ibaraki.jp\ntakahagi.ibaraki.jp\ntamatsukuri.ibaraki.jp\ntokai.ibaraki.jp\ntomobe.ibaraki.jp\ntone.ibaraki.jp\ntoride.ibaraki.jp\ntsuchiura.ibaraki.jp\ntsukuba.ibaraki.jp\nuchihara.ibaraki.jp\nushiku.ibaraki.jp\nyachiyo.ibaraki.jp\nyamagata.ibaraki.jp\nyawara.ibaraki.jp\nyuki.ibaraki.jp\nanamizu.ishikawa.jp\nhakui.ishikawa.jp\nhakusan.ishikawa.jp\nkaga.ishikawa.jp\nkahoku.ishikawa.jp\nkanazawa.ishikawa.jp\nkawakita.ishikawa.jp\nkomatsu.ishikawa.jp\nnakanoto.ishikawa.jp\nnanao.ishikawa.jp\nnomi.ishikawa.jp\nnonoichi.ishikawa.jp\nnoto.ishikawa.jp\nshika.ishikawa.jp\nsuzu.ishikawa.jp\ntsubata.ishikawa.jp\ntsurugi.ishikawa.jp\nuchinada.ishikawa.jp\nwajima.ishikawa.jp\nfudai.iwate.jp\nfujisawa.iwate.jp\nhanamaki.iwate.jp\nhiraizumi.iwate.jp\nhirono.iwate.jp\nichinohe.iwate.jp\nichinoseki.iwate.jp\niwaizumi.iwate.jp\niwate.iwate.jp\njoboji.iwate.jp\nkamaishi.iwate.jp\nkanegasaki.iwate.jp\nkarumai.iwate.jp\nkawai.iwate.jp\nkitakami.iwate.jp\nkuji.iwate.jp\nkunohe.iwate.jp\nkuzumaki.iwate.jp\nmiyako.iwate.jp\nmizusawa.iwate.jp\nmorioka.iwate.jp\nninohe.iwate.jp\nnoda.iwate.jp\nofunato.iwate.jp\noshu.iwate.jp\notsuchi.iwate.jp\nrikuzentakata.iwate.jp\nshiwa.iwate.jp\nshizukuishi.iwate.jp\nsumita.iwate.jp\ntanohata.iwate.jp\ntono.iwate.jp\nyahaba.iwate.jp\nyamada.iwate.jp\nayagawa.kagawa.jp\nhigashikagawa.kagawa.jp\nkanonji.kagawa.jp\nkotohira.kagawa.jp\nmanno.kagawa.jp\nmarugame.kagawa.jp\nmitoyo.kagawa.jp\nnaoshima.kagawa.jp\nsanuki.kagawa.jp\ntadotsu.kagawa.jp\ntakamatsu.kagawa.jp\ntonosho.kagawa.jp\nuchinomi.kagawa.jp\nutazu.kagawa.jp\nzentsuji.kagawa.jp\nakune.kagoshima.jp\namami.kagoshima.jp\nhioki.kagoshima.jp\nisa.kagoshima.jp\nisen.kagoshima.jp\nizumi.kagoshima.jp\nkagoshima.kagoshima.jp\nkanoya.kagoshima.jp\nkawanabe.kagoshima.jp\nkinko.kagoshima.jp\nkouyama.kagoshima.jp\nmakurazaki.kagoshima.jp\nmatsumoto.kagoshima.jp\nminamitane.kagoshima.jp\nnakatane.kagoshima.jp\nnishinoomote.kagoshima.jp\nsatsumasendai.kagoshima.jp\nsoo.kagoshima.jp\ntarumizu.kagoshima.jp\nyusui.kagoshima.jp\naikawa.kanagawa.jp\natsugi.kanagawa.jp\nayase.kanagawa.jp\nchigasaki.kanagawa.jp\nebina.kanagawa.jp\nfujisawa.kanagawa.jp\nhadano.kanagawa.jp\nhakone.kanagawa.jp\nhiratsuka.kanagawa.jp\nisehara.kanagawa.jp\nkaisei.kanagawa.jp\nkamakura.kanagawa.jp\nkiyokawa.kanagawa.jp\nmatsuda.kanagawa.jp\nminamiashigara.kanagawa.jp\nmiura.kanagawa.jp\nnakai.kanagawa.jp\nninomiya.kanagawa.jp\nodawara.kanagawa.jp\noi.kanagawa.jp\noiso.kanagawa.jp\nsagamihara.kanagawa.jp\nsamukawa.kanagawa.jp\ntsukui.kanagawa.jp\nyamakita.kanagawa.jp\nyamato.kanagawa.jp\nyokosuka.kanagawa.jp\nyugawara.kanagawa.jp\nzama.kanagawa.jp\nzushi.kanagawa.jp\naki.kochi.jp\ngeisei.kochi.jp\nhidaka.kochi.jp\nhigashitsuno.kochi.jp\nino.kochi.jp\nkagami.kochi.jp\nkami.kochi.jp\nkitagawa.kochi.jp\nkochi.kochi.jp\nmihara.kochi.jp\nmotoyama.kochi.jp\nmuroto.kochi.jp\nnahari.kochi.jp\nnakamura.kochi.jp\nnankoku.kochi.jp\nnishitosa.kochi.jp\nniyodogawa.kochi.jp\nochi.kochi.jp\nokawa.kochi.jp\notoyo.kochi.jp\notsuki.kochi.jp\nsakawa.kochi.jp\nsukumo.kochi.jp\nsusaki.kochi.jp\ntosa.kochi.jp\ntosashimizu.kochi.jp\ntoyo.kochi.jp\ntsuno.kochi.jp\numaji.kochi.jp\nyasuda.kochi.jp\nyusuhara.kochi.jp\namakusa.kumamoto.jp\narao.kumamoto.jp\naso.kumamoto.jp\nchoyo.kumamoto.jp\ngyokuto.kumamoto.jp\nkamiamakusa.kumamoto.jp\nkikuchi.kumamoto.jp\nkumamoto.kumamoto.jp\nmashiki.kumamoto.jp\nmifune.kumamoto.jp\nminamata.kumamoto.jp\nminamioguni.kumamoto.jp\nnagasu.kumamoto.jp\nnishihara.kumamoto.jp\noguni.kumamoto.jp\nozu.kumamoto.jp\nsumoto.kumamoto.jp\ntakamori.kumamoto.jp\nuki.kumamoto.jp\nuto.kumamoto.jp\nyamaga.kumamoto.jp\nyamato.kumamoto.jp\nyatsushiro.kumamoto.jp\nayabe.kyoto.jp\nfukuchiyama.kyoto.jp\nhigashiyama.kyoto.jp\nide.kyoto.jp\nine.kyoto.jp\njoyo.kyoto.jp\nkameoka.kyoto.jp\nkamo.kyoto.jp\nkita.kyoto.jp\nkizu.kyoto.jp\nkumiyama.kyoto.jp\nkyotamba.kyoto.jp\nkyotanabe.kyoto.jp\nkyotango.kyoto.jp\nmaizuru.kyoto.jp\nminami.kyoto.jp\nminamiyamashiro.kyoto.jp\nmiyazu.kyoto.jp\nmuko.kyoto.jp\nnagaokakyo.kyoto.jp\nnakagyo.kyoto.jp\nnantan.kyoto.jp\noyamazaki.kyoto.jp\nsakyo.kyoto.jp\nseika.kyoto.jp\ntanabe.kyoto.jp\nuji.kyoto.jp\nujitawara.kyoto.jp\nwazuka.kyoto.jp\nyamashina.kyoto.jp\nyawata.kyoto.jp\nasahi.mie.jp\ninabe.mie.jp\nise.mie.jp\nkameyama.mie.jp\nkawagoe.mie.jp\nkiho.mie.jp\nkisosaki.mie.jp\nkiwa.mie.jp\nkomono.mie.jp\nkumano.mie.jp\nkuwana.mie.jp\nmatsusaka.mie.jp\nmeiwa.mie.jp\nmihama.mie.jp\nminamiise.mie.jp\nmisugi.mie.jp\nmiyama.mie.jp\nnabari.mie.jp\nshima.mie.jp\nsuzuka.mie.jp\ntado.mie.jp\ntaiki.mie.jp\ntaki.mie.jp\ntamaki.mie.jp\ntoba.mie.jp\ntsu.mie.jp\nudono.mie.jp\nureshino.mie.jp\nwatarai.mie.jp\nyokkaichi.mie.jp\nfurukawa.miyagi.jp\nhigashimatsushima.miyagi.jp\nishinomaki.miyagi.jp\niwanuma.miyagi.jp\nkakuda.miyagi.jp\nkami.miyagi.jp\nkawasaki.miyagi.jp\nmarumori.miyagi.jp\nmatsushima.miyagi.jp\nminamisanriku.miyagi.jp\nmisato.miyagi.jp\nmurata.miyagi.jp\nnatori.miyagi.jp\nogawara.miyagi.jp\nohira.miyagi.jp\nonagawa.miyagi.jp\nosaki.miyagi.jp\nrifu.miyagi.jp\nsemine.miyagi.jp\nshibata.miyagi.jp\nshichikashuku.miyagi.jp\nshikama.miyagi.jp\nshiogama.miyagi.jp\nshiroishi.miyagi.jp\ntagajo.miyagi.jp\ntaiwa.miyagi.jp\ntome.miyagi.jp\ntomiya.miyagi.jp\nwakuya.miyagi.jp\nwatari.miyagi.jp\nyamamoto.miyagi.jp\nzao.miyagi.jp\naya.miyazaki.jp\nebino.miyazaki.jp\ngokase.miyazaki.jp\nhyuga.miyazaki.jp\nkadogawa.miyazaki.jp\nkawaminami.miyazaki.jp\nkijo.miyazaki.jp\nkitagawa.miyazaki.jp\nkitakata.miyazaki.jp\nkitaura.miyazaki.jp\nkobayashi.miyazaki.jp\nkunitomi.miyazaki.jp\nkushima.miyazaki.jp\nmimata.miyazaki.jp\nmiyakonojo.miyazaki.jp\nmiyazaki.miyazaki.jp\nmorotsuka.miyazaki.jp\nnichinan.miyazaki.jp\nnishimera.miyazaki.jp\nnobeoka.miyazaki.jp\nsaito.miyazaki.jp\nshiiba.miyazaki.jp\nshintomi.miyazaki.jp\ntakaharu.miyazaki.jp\ntakanabe.miyazaki.jp\ntakazaki.miyazaki.jp\ntsuno.miyazaki.jp\nachi.nagano.jp\nagematsu.nagano.jp\nanan.nagano.jp\naoki.nagano.jp\nasahi.nagano.jp\nazumino.nagano.jp\nchikuhoku.nagano.jp\nchikuma.nagano.jp\nchino.nagano.jp\nfujimi.nagano.jp\nhakuba.nagano.jp\nhara.nagano.jp\nhiraya.nagano.jp\niida.nagano.jp\niijima.nagano.jp\niiyama.nagano.jp\niizuna.nagano.jp\nikeda.nagano.jp\nikusaka.nagano.jp\nina.nagano.jp\nkaruizawa.nagano.jp\nkawakami.nagano.jp\nkiso.nagano.jp\nkisofukushima.nagano.jp\nkitaaiki.nagano.jp\nkomagane.nagano.jp\nkomoro.nagano.jp\nmatsukawa.nagano.jp\nmatsumoto.nagano.jp\nmiasa.nagano.jp\nminamiaiki.nagano.jp\nminamimaki.nagano.jp\nminamiminowa.nagano.jp\nminowa.nagano.jp\nmiyada.nagano.jp\nmiyota.nagano.jp\nmochizuki.nagano.jp\nnagano.nagano.jp\nnagawa.nagano.jp\nnagiso.nagano.jp\nnakagawa.nagano.jp\nnakano.nagano.jp\nnozawaonsen.nagano.jp\nobuse.nagano.jp\nogawa.nagano.jp\nokaya.nagano.jp\nomachi.nagano.jp\nomi.nagano.jp\nookuwa.nagano.jp\nooshika.nagano.jp\notaki.nagano.jp\notari.nagano.jp\nsakae.nagano.jp\nsakaki.nagano.jp\nsaku.nagano.jp\nsakuho.nagano.jp\nshimosuwa.nagano.jp\nshinanomachi.nagano.jp\nshiojiri.nagano.jp\nsuwa.nagano.jp\nsuzaka.nagano.jp\ntakagi.nagano.jp\ntakamori.nagano.jp\ntakayama.nagano.jp\ntateshina.nagano.jp\ntatsuno.nagano.jp\ntogakushi.nagano.jp\ntogura.nagano.jp\ntomi.nagano.jp\nueda.nagano.jp\nwada.nagano.jp\nyamagata.nagano.jp\nyamanouchi.nagano.jp\nyasaka.nagano.jp\nyasuoka.nagano.jp\nchijiwa.nagasaki.jp\nfutsu.nagasaki.jp\ngoto.nagasaki.jp\nhasami.nagasaki.jp\nhirado.nagasaki.jp\niki.nagasaki.jp\nisahaya.nagasaki.jp\nkawatana.nagasaki.jp\nkuchinotsu.nagasaki.jp\nmatsuura.nagasaki.jp\nnagasaki.nagasaki.jp\nobama.nagasaki.jp\nomura.nagasaki.jp\noseto.nagasaki.jp\nsaikai.nagasaki.jp\nsasebo.nagasaki.jp\nseihi.nagasaki.jp\nshimabara.nagasaki.jp\nshinkamigoto.nagasaki.jp\ntogitsu.nagasaki.jp\ntsushima.nagasaki.jp\nunzen.nagasaki.jp\nando.nara.jp\ngose.nara.jp\nheguri.nara.jp\nhigashiyoshino.nara.jp\nikaruga.nara.jp\nikoma.nara.jp\nkamikitayama.nara.jp\nkanmaki.nara.jp\nkashiba.nara.jp\nkashihara.nara.jp\nkatsuragi.nara.jp\nkawai.nara.jp\nkawakami.nara.jp\nkawanishi.nara.jp\nkoryo.nara.jp\nkurotaki.nara.jp\nmitsue.nara.jp\nmiyake.nara.jp\nnara.nara.jp\nnosegawa.nara.jp\noji.nara.jp\nouda.nara.jp\noyodo.nara.jp\nsakurai.nara.jp\nsango.nara.jp\nshimoichi.nara.jp\nshimokitayama.nara.jp\nshinjo.nara.jp\nsoni.nara.jp\ntakatori.nara.jp\ntawaramoto.nara.jp\ntenkawa.nara.jp\ntenri.nara.jp\nuda.nara.jp\nyamatokoriyama.nara.jp\nyamatotakada.nara.jp\nyamazoe.nara.jp\nyoshino.nara.jp\naga.niigata.jp\nagano.niigata.jp\ngosen.niigata.jp\nitoigawa.niigata.jp\nizumozaki.niigata.jp\njoetsu.niigata.jp\nkamo.niigata.jp\nkariwa.niigata.jp\nkashiwazaki.niigata.jp\nminamiuonuma.niigata.jp\nmitsuke.niigata.jp\nmuika.niigata.jp\nmurakami.niigata.jp\nmyoko.niigata.jp\nnagaoka.niigata.jp\nniigata.niigata.jp\nojiya.niigata.jp\nomi.niigata.jp\nsado.niigata.jp\nsanjo.niigata.jp\nseiro.niigata.jp\nseirou.niigata.jp\nsekikawa.niigata.jp\nshibata.niigata.jp\ntagami.niigata.jp\ntainai.niigata.jp\ntochio.niigata.jp\ntokamachi.niigata.jp\ntsubame.niigata.jp\ntsunan.niigata.jp\nuonuma.niigata.jp\nyahiko.niigata.jp\nyoita.niigata.jp\nyuzawa.niigata.jp\nbeppu.oita.jp\nbungoono.oita.jp\nbungotakada.oita.jp\nhasama.oita.jp\nhiji.oita.jp\nhimeshima.oita.jp\nhita.oita.jp\nkamitsue.oita.jp\nkokonoe.oita.jp\nkuju.oita.jp\nkunisaki.oita.jp\nkusu.oita.jp\noita.oita.jp\nsaiki.oita.jp\ntaketa.oita.jp\ntsukumi.oita.jp\nusa.oita.jp\nusuki.oita.jp\nyufu.oita.jp\nakaiwa.okayama.jp\nasakuchi.okayama.jp\nbizen.okayama.jp\nhayashima.okayama.jp\nibara.okayama.jp\nkagamino.okayama.jp\nkasaoka.okayama.jp\nkibichuo.okayama.jp\nkumenan.okayama.jp\nkurashiki.okayama.jp\nmaniwa.okayama.jp\nmisaki.okayama.jp\nnagi.okayama.jp\nniimi.okayama.jp\nnishiawakura.okayama.jp\nokayama.okayama.jp\nsatosho.okayama.jp\nsetouchi.okayama.jp\nshinjo.okayama.jp\nshoo.okayama.jp\nsoja.okayama.jp\ntakahashi.okayama.jp\ntamano.okayama.jp\ntsuyama.okayama.jp\nwake.okayama.jp\nyakage.okayama.jp\naguni.okinawa.jp\nginowan.okinawa.jp\nginoza.okinawa.jp\ngushikami.okinawa.jp\nhaebaru.okinawa.jp\nhigashi.okinawa.jp\nhirara.okinawa.jp\niheya.okinawa.jp\nishigaki.okinawa.jp\nishikawa.okinawa.jp\nitoman.okinawa.jp\nizena.okinawa.jp\nkadena.okinawa.jp\nkin.okinawa.jp\nkitadaito.okinawa.jp\nkitanakagusuku.okinawa.jp\nkumejima.okinawa.jp\nkunigami.okinawa.jp\nminamidaito.okinawa.jp\nmotobu.okinawa.jp\nnago.okinawa.jp\nnaha.okinawa.jp\nnakagusuku.okinawa.jp\nnakijin.okinawa.jp\nnanjo.okinawa.jp\nnishihara.okinawa.jp\nogimi.okinawa.jp\nokinawa.okinawa.jp\nonna.okinawa.jp\nshimoji.okinawa.jp\ntaketomi.okinawa.jp\ntarama.okinawa.jp\ntokashiki.okinawa.jp\ntomigusuku.okinawa.jp\ntonaki.okinawa.jp\nurasoe.okinawa.jp\nuruma.okinawa.jp\nyaese.okinawa.jp\nyomitan.okinawa.jp\nyonabaru.okinawa.jp\nyonaguni.okinawa.jp\nzamami.okinawa.jp\nabeno.osaka.jp\nchihayaakasaka.osaka.jp\nchuo.osaka.jp\ndaito.osaka.jp\nfujiidera.osaka.jp\nhabikino.osaka.jp\nhannan.osaka.jp\nhigashiosaka.osaka.jp\nhigashisumiyoshi.osaka.jp\nhigashiyodogawa.osaka.jp\nhirakata.osaka.jp\nibaraki.osaka.jp\nikeda.osaka.jp\nizumi.osaka.jp\nizumiotsu.osaka.jp\nizumisano.osaka.jp\nkadoma.osaka.jp\nkaizuka.osaka.jp\nkanan.osaka.jp\nkashiwara.osaka.jp\nkatano.osaka.jp\nkawachinagano.osaka.jp\nkishiwada.osaka.jp\nkita.osaka.jp\nkumatori.osaka.jp\nmatsubara.osaka.jp\nminato.osaka.jp\nminoh.osaka.jp\nmisaki.osaka.jp\nmoriguchi.osaka.jp\nneyagawa.osaka.jp\nnishi.osaka.jp\nnose.osaka.jp\nosakasayama.osaka.jp\nsakai.osaka.jp\nsayama.osaka.jp\nsennan.osaka.jp\nsettsu.osaka.jp\nshijonawate.osaka.jp\nshimamoto.osaka.jp\nsuita.osaka.jp\ntadaoka.osaka.jp\ntaishi.osaka.jp\ntajiri.osaka.jp\ntakaishi.osaka.jp\ntakatsuki.osaka.jp\ntondabayashi.osaka.jp\ntoyonaka.osaka.jp\ntoyono.osaka.jp\nyao.osaka.jp\nariake.saga.jp\narita.saga.jp\nfukudomi.saga.jp\ngenkai.saga.jp\nhamatama.saga.jp\nhizen.saga.jp\nimari.saga.jp\nkamimine.saga.jp\nkanzaki.saga.jp\nkaratsu.saga.jp\nkashima.saga.jp\nkitagata.saga.jp\nkitahata.saga.jp\nkiyama.saga.jp\nkouhoku.saga.jp\nkyuragi.saga.jp\nnishiarita.saga.jp\nogi.saga.jp\nomachi.saga.jp\nouchi.saga.jp\nsaga.saga.jp\nshiroishi.saga.jp\ntaku.saga.jp\ntara.saga.jp\ntosu.saga.jp\nyoshinogari.saga.jp\narakawa.saitama.jp\nasaka.saitama.jp\nchichibu.saitama.jp\nfujimi.saitama.jp\nfujimino.saitama.jp\nfukaya.saitama.jp\nhanno.saitama.jp\nhanyu.saitama.jp\nhasuda.saitama.jp\nhatogaya.saitama.jp\nhatoyama.saitama.jp\nhidaka.saitama.jp\nhigashichichibu.saitama.jp\nhigashimatsuyama.saitama.jp\nhonjo.saitama.jp\nina.saitama.jp\niruma.saitama.jp\niwatsuki.saitama.jp\nkamiizumi.saitama.jp\nkamikawa.saitama.jp\nkamisato.saitama.jp\nkasukabe.saitama.jp\nkawagoe.saitama.jp\nkawaguchi.saitama.jp\nkawajima.saitama.jp\nkazo.saitama.jp\nkitamoto.saitama.jp\nkoshigaya.saitama.jp\nkounosu.saitama.jp\nkuki.saitama.jp\nkumagaya.saitama.jp\nmatsubushi.saitama.jp\nminano.saitama.jp\nmisato.saitama.jp\nmiyashiro.saitama.jp\nmiyoshi.saitama.jp\nmoroyama.saitama.jp\nnagatoro.saitama.jp\nnamegawa.saitama.jp\nniiza.saitama.jp\nogano.saitama.jp\nogawa.saitama.jp\nogose.saitama.jp\nokegawa.saitama.jp\nomiya.saitama.jp\notaki.saitama.jp\nranzan.saitama.jp\nryokami.saitama.jp\nsaitama.saitama.jp\nsakado.saitama.jp\nsatte.saitama.jp\nsayama.saitama.jp\nshiki.saitama.jp\nshiraoka.saitama.jp\nsoka.saitama.jp\nsugito.saitama.jp\ntoda.saitama.jp\ntokigawa.saitama.jp\ntokorozawa.saitama.jp\ntsurugashima.saitama.jp\nurawa.saitama.jp\nwarabi.saitama.jp\nyashio.saitama.jp\nyokoze.saitama.jp\nyono.saitama.jp\nyorii.saitama.jp\nyoshida.saitama.jp\nyoshikawa.saitama.jp\nyoshimi.saitama.jp\naisho.shiga.jp\ngamo.shiga.jp\nhigashiomi.shiga.jp\nhikone.shiga.jp\nkoka.shiga.jp\nkonan.shiga.jp\nkosei.shiga.jp\nkoto.shiga.jp\nkusatsu.shiga.jp\nmaibara.shiga.jp\nmoriyama.shiga.jp\nnagahama.shiga.jp\nnishiazai.shiga.jp\nnotogawa.shiga.jp\nomihachiman.shiga.jp\notsu.shiga.jp\nritto.shiga.jp\nryuoh.shiga.jp\ntakashima.shiga.jp\ntakatsuki.shiga.jp\ntorahime.shiga.jp\ntoyosato.shiga.jp\nyasu.shiga.jp\nakagi.shimane.jp\nama.shimane.jp\ngotsu.shimane.jp\nhamada.shimane.jp\nhigashiizumo.shimane.jp\nhikawa.shimane.jp\nhikimi.shimane.jp\nizumo.shimane.jp\nkakinoki.shimane.jp\nmasuda.shimane.jp\nmatsue.shimane.jp\nmisato.shimane.jp\nnishinoshima.shimane.jp\nohda.shimane.jp\nokinoshima.shimane.jp\nokuizumo.shimane.jp\nshimane.shimane.jp\ntamayu.shimane.jp\ntsuwano.shimane.jp\nunnan.shimane.jp\nyakumo.shimane.jp\nyasugi.shimane.jp\nyatsuka.shimane.jp\narai.shizuoka.jp\natami.shizuoka.jp\nfuji.shizuoka.jp\nfujieda.shizuoka.jp\nfujikawa.shizuoka.jp\nfujinomiya.shizuoka.jp\nfukuroi.shizuoka.jp\ngotemba.shizuoka.jp\nhaibara.shizuoka.jp\nhamamatsu.shizuoka.jp\nhigashiizu.shizuoka.jp\nito.shizuoka.jp\niwata.shizuoka.jp\nizu.shizuoka.jp\nizunokuni.shizuoka.jp\nkakegawa.shizuoka.jp\nkannami.shizuoka.jp\nkawanehon.shizuoka.jp\nkawazu.shizuoka.jp\nkikugawa.shizuoka.jp\nkosai.shizuoka.jp\nmakinohara.shizuoka.jp\nmatsuzaki.shizuoka.jp\nminamiizu.shizuoka.jp\nmishima.shizuoka.jp\nmorimachi.shizuoka.jp\nnishiizu.shizuoka.jp\nnumazu.shizuoka.jp\nomaezaki.shizuoka.jp\nshimada.shizuoka.jp\nshimizu.shizuoka.jp\nshimoda.shizuoka.jp\nshizuoka.shizuoka.jp\nsusono.shizuoka.jp\nyaizu.shizuoka.jp\nyoshida.shizuoka.jp\nashikaga.tochigi.jp\nbato.tochigi.jp\nhaga.tochigi.jp\nichikai.tochigi.jp\niwafune.tochigi.jp\nkaminokawa.tochigi.jp\nkanuma.tochigi.jp\nkarasuyama.tochigi.jp\nkuroiso.tochigi.jp\nmashiko.tochigi.jp\nmibu.tochigi.jp\nmoka.tochigi.jp\nmotegi.tochigi.jp\nnasu.tochigi.jp\nnasushiobara.tochigi.jp\nnikko.tochigi.jp\nnishikata.tochigi.jp\nnogi.tochigi.jp\nohira.tochigi.jp\nohtawara.tochigi.jp\noyama.tochigi.jp\nsakura.tochigi.jp\nsano.tochigi.jp\nshimotsuke.tochigi.jp\nshioya.tochigi.jp\ntakanezawa.tochigi.jp\ntochigi.tochigi.jp\ntsuga.tochigi.jp\nujiie.tochigi.jp\nutsunomiya.tochigi.jp\nyaita.tochigi.jp\naizumi.tokushima.jp\nanan.tokushima.jp\nichiba.tokushima.jp\nitano.tokushima.jp\nkainan.tokushima.jp\nkomatsushima.tokushima.jp\nmatsushige.tokushima.jp\nmima.tokushima.jp\nminami.tokushima.jp\nmiyoshi.tokushima.jp\nmugi.tokushima.jp\nnakagawa.tokushima.jp\nnaruto.tokushima.jp\nsanagochi.tokushima.jp\nshishikui.tokushima.jp\ntokushima.tokushima.jp\nwajiki.tokushima.jp\nadachi.tokyo.jp\nakiruno.tokyo.jp\nakishima.tokyo.jp\naogashima.tokyo.jp\narakawa.tokyo.jp\nbunkyo.tokyo.jp\nchiyoda.tokyo.jp\nchofu.tokyo.jp\nchuo.tokyo.jp\nedogawa.tokyo.jp\nfuchu.tokyo.jp\nfussa.tokyo.jp\nhachijo.tokyo.jp\nhachioji.tokyo.jp\nhamura.tokyo.jp\nhigashikurume.tokyo.jp\nhigashimurayama.tokyo.jp\nhigashiyamato.tokyo.jp\nhino.tokyo.jp\nhinode.tokyo.jp\nhinohara.tokyo.jp\ninagi.tokyo.jp\nitabashi.tokyo.jp\nkatsushika.tokyo.jp\nkita.tokyo.jp\nkiyose.tokyo.jp\nkodaira.tokyo.jp\nkoganei.tokyo.jp\nkokubunji.tokyo.jp\nkomae.tokyo.jp\nkoto.tokyo.jp\nkouzushima.tokyo.jp\nkunitachi.tokyo.jp\nmachida.tokyo.jp\nmeguro.tokyo.jp\nminato.tokyo.jp\nmitaka.tokyo.jp\nmizuho.tokyo.jp\nmusashimurayama.tokyo.jp\nmusashino.tokyo.jp\nnakano.tokyo.jp\nnerima.tokyo.jp\nogasawara.tokyo.jp\nokutama.tokyo.jp\nome.tokyo.jp\noshima.tokyo.jp\nota.tokyo.jp\nsetagaya.tokyo.jp\nshibuya.tokyo.jp\nshinagawa.tokyo.jp\nshinjuku.tokyo.jp\nsuginami.tokyo.jp\nsumida.tokyo.jp\ntachikawa.tokyo.jp\ntaito.tokyo.jp\ntama.tokyo.jp\ntoshima.tokyo.jp\nchizu.tottori.jp\nhino.tottori.jp\nkawahara.tottori.jp\nkoge.tottori.jp\nkotoura.tottori.jp\nmisasa.tottori.jp\nnanbu.tottori.jp\nnichinan.tottori.jp\nsakaiminato.tottori.jp\ntottori.tottori.jp\nwakasa.tottori.jp\nyazu.tottori.jp\nyonago.tottori.jp\nasahi.toyama.jp\nfuchu.toyama.jp\nfukumitsu.toyama.jp\nfunahashi.toyama.jp\nhimi.toyama.jp\nimizu.toyama.jp\ninami.toyama.jp\njohana.toyama.jp\nkamiichi.toyama.jp\nkurobe.toyama.jp\nnakaniikawa.toyama.jp\nnamerikawa.toyama.jp\nnanto.toyama.jp\nnyuzen.toyama.jp\noyabe.toyama.jp\ntaira.toyama.jp\ntakaoka.toyama.jp\ntateyama.toyama.jp\ntoga.toyama.jp\ntonami.toyama.jp\ntoyama.toyama.jp\nunazuki.toyama.jp\nuozu.toyama.jp\nyamada.toyama.jp\narida.wakayama.jp\naridagawa.wakayama.jp\ngobo.wakayama.jp\nhashimoto.wakayama.jp\nhidaka.wakayama.jp\nhirogawa.wakayama.jp\ninami.wakayama.jp\niwade.wakayama.jp\nkainan.wakayama.jp\nkamitonda.wakayama.jp\nkatsuragi.wakayama.jp\nkimino.wakayama.jp\nkinokawa.wakayama.jp\nkitayama.wakayama.jp\nkoya.wakayama.jp\nkoza.wakayama.jp\nkozagawa.wakayama.jp\nkudoyama.wakayama.jp\nkushimoto.wakayama.jp\nmihama.wakayama.jp\nmisato.wakayama.jp\nnachikatsuura.wakayama.jp\nshingu.wakayama.jp\nshirahama.wakayama.jp\ntaiji.wakayama.jp\ntanabe.wakayama.jp\nwakayama.wakayama.jp\nyuasa.wakayama.jp\nyura.wakayama.jp\nasahi.yamagata.jp\nfunagata.yamagata.jp\nhigashine.yamagata.jp\niide.yamagata.jp\nkahoku.yamagata.jp\nkaminoyama.yamagata.jp\nkaneyama.yamagata.jp\nkawanishi.yamagata.jp\nmamurogawa.yamagata.jp\nmikawa.yamagata.jp\nmurayama.yamagata.jp\nnagai.yamagata.jp\nnakayama.yamagata.jp\nnanyo.yamagata.jp\nnishikawa.yamagata.jp\nobanazawa.yamagata.jp\noe.yamagata.jp\noguni.yamagata.jp\nohkura.yamagata.jp\noishida.yamagata.jp\nsagae.yamagata.jp\nsakata.yamagata.jp\nsakegawa.yamagata.jp\nshinjo.yamagata.jp\nshirataka.yamagata.jp\nshonai.yamagata.jp\ntakahata.yamagata.jp\ntendo.yamagata.jp\ntozawa.yamagata.jp\ntsuruoka.yamagata.jp\nyamagata.yamagata.jp\nyamanobe.yamagata.jp\nyonezawa.yamagata.jp\nyuza.yamagata.jp\nabu.yamaguchi.jp\nhagi.yamaguchi.jp\nhikari.yamaguchi.jp\nhofu.yamaguchi.jp\niwakuni.yamaguchi.jp\nkudamatsu.yamaguchi.jp\nmitou.yamaguchi.jp\nnagato.yamaguchi.jp\noshima.yamaguchi.jp\nshimonoseki.yamaguchi.jp\nshunan.yamaguchi.jp\ntabuse.yamaguchi.jp\ntokuyama.yamaguchi.jp\ntoyota.yamaguchi.jp\nube.yamaguchi.jp\nyuu.yamaguchi.jp\nchuo.yamanashi.jp\ndoshi.yamanashi.jp\nfuefuki.yamanashi.jp\nfujikawa.yamanashi.jp\nfujikawaguchiko.yamanashi.jp\nfujiyoshida.yamanashi.jp\nhayakawa.yamanashi.jp\nhokuto.yamanashi.jp\nichikawamisato.yamanashi.jp\nkai.yamanashi.jp\nkofu.yamanashi.jp\nkoshu.yamanashi.jp\nkosuge.yamanashi.jp\nminami-alps.yamanashi.jp\nminobu.yamanashi.jp\nnakamichi.yamanashi.jp\nnanbu.yamanashi.jp\nnarusawa.yamanashi.jp\nnirasaki.yamanashi.jp\nnishikatsura.yamanashi.jp\noshino.yamanashi.jp\notsuki.yamanashi.jp\nshowa.yamanashi.jp\ntabayama.yamanashi.jp\ntsuru.yamanashi.jp\nuenohara.yamanashi.jp\nyamanakako.yamanashi.jp\nyamanashi.yamanashi.jp\n\n// ke : http://www.kenic.or.ke/index.php/en/ke-domains/ke-domains\nke\nac.ke\nco.ke\ngo.ke\ninfo.ke\nme.ke\nmobi.ke\nne.ke\nor.ke\nsc.ke\n\n// kg : http://www.domain.kg/dmn_n.html\nkg\norg.kg\nnet.kg\ncom.kg\nedu.kg\ngov.kg\nmil.kg\n\n// kh : http://www.mptc.gov.kh/dns_registration.htm\n*.kh\n\n// ki : http://www.ki/dns/index.html\nki\nedu.ki\nbiz.ki\nnet.ki\norg.ki\ngov.ki\ninfo.ki\ncom.ki\n\n// km : https://en.wikipedia.org/wiki/.km\n// http://www.domaine.km/documents/charte.doc\nkm\norg.km\nnom.km\ngov.km\nprd.km\ntm.km\nedu.km\nmil.km\nass.km\ncom.km\n// These are only mentioned as proposed suggestions at domaine.km, but\n// https://en.wikipedia.org/wiki/.km says they're available for registration:\ncoop.km\nasso.km\npresse.km\nmedecin.km\nnotaires.km\npharmaciens.km\nveterinaire.km\ngouv.km\n\n// kn : https://en.wikipedia.org/wiki/.kn\n// http://www.dot.kn/domainRules.html\nkn\nnet.kn\norg.kn\nedu.kn\ngov.kn\n\n// kp : http://www.kcce.kp/en_index.php\nkp\ncom.kp\nedu.kp\ngov.kp\norg.kp\nrep.kp\ntra.kp\n\n// kr : https://en.wikipedia.org/wiki/.kr\n// see also: http://domain.nida.or.kr/eng/registration.jsp\nkr\nac.kr\nco.kr\nes.kr\ngo.kr\nhs.kr\nkg.kr\nmil.kr\nms.kr\nne.kr\nor.kr\npe.kr\nre.kr\nsc.kr\n// kr geographical names\nbusan.kr\nchungbuk.kr\nchungnam.kr\ndaegu.kr\ndaejeon.kr\ngangwon.kr\ngwangju.kr\ngyeongbuk.kr\ngyeonggi.kr\ngyeongnam.kr\nincheon.kr\njeju.kr\njeonbuk.kr\njeonnam.kr\nseoul.kr\nulsan.kr\n\n// kw : https://www.nic.kw/policies/\n// Confirmed by registry <nic.tech@citra.gov.kw>\nkw\ncom.kw\nedu.kw\nemb.kw\ngov.kw\nind.kw\nnet.kw\norg.kw\n\n// ky : http://www.icta.ky/da_ky_reg_dom.php\n// Confirmed by registry <kysupport@perimeterusa.com> 2008-06-17\nky\ncom.ky\nedu.ky\nnet.ky\norg.ky\n\n// kz : https://en.wikipedia.org/wiki/.kz\n// see also: http://www.nic.kz/rules/index.jsp\nkz\norg.kz\nedu.kz\nnet.kz\ngov.kz\nmil.kz\ncom.kz\n\n// la : https://en.wikipedia.org/wiki/.la\n// Submitted by registry <gavin.brown@nic.la>\nla\nint.la\nnet.la\ninfo.la\nedu.la\ngov.la\nper.la\ncom.la\norg.la\n\n// lb : https://en.wikipedia.org/wiki/.lb\n// Submitted by registry <randy@psg.com>\nlb\ncom.lb\nedu.lb\ngov.lb\nnet.lb\norg.lb\n\n// lc : https://en.wikipedia.org/wiki/.lc\n// see also: http://www.nic.lc/rules.htm\nlc\ncom.lc\nnet.lc\nco.lc\norg.lc\nedu.lc\ngov.lc\n\n// li : https://en.wikipedia.org/wiki/.li\nli\n\n// lk : https://www.nic.lk/index.php/domain-registration/lk-domain-naming-structure\nlk\ngov.lk\nsch.lk\nnet.lk\nint.lk\ncom.lk\norg.lk\nedu.lk\nngo.lk\nsoc.lk\nweb.lk\nltd.lk\nassn.lk\ngrp.lk\nhotel.lk\nac.lk\n\n// lr : http://psg.com/dns/lr/lr.txt\n// Submitted by registry <randy@psg.com>\nlr\ncom.lr\nedu.lr\ngov.lr\norg.lr\nnet.lr\n\n// ls : http://www.nic.ls/\n// Confirmed by registry <lsadmin@nic.ls>\nls\nac.ls\nbiz.ls\nco.ls\nedu.ls\ngov.ls\ninfo.ls\nnet.ls\norg.ls\nsc.ls\n\n// lt : https://en.wikipedia.org/wiki/.lt\nlt\n// gov.lt : http://www.gov.lt/index_en.php\ngov.lt\n\n// lu : http://www.dns.lu/en/\nlu\n\n// lv : http://www.nic.lv/DNS/En/generic.php\nlv\ncom.lv\nedu.lv\ngov.lv\norg.lv\nmil.lv\nid.lv\nnet.lv\nasn.lv\nconf.lv\n\n// ly : http://www.nic.ly/regulations.php\nly\ncom.ly\nnet.ly\ngov.ly\nplc.ly\nedu.ly\nsch.ly\nmed.ly\norg.ly\nid.ly\n\n// ma : https://en.wikipedia.org/wiki/.ma\n// http://www.anrt.ma/fr/admin/download/upload/file_fr782.pdf\nma\nco.ma\nnet.ma\ngov.ma\norg.ma\nac.ma\npress.ma\n\n// mc : http://www.nic.mc/\nmc\ntm.mc\nasso.mc\n\n// md : https://en.wikipedia.org/wiki/.md\nmd\n\n// me : https://en.wikipedia.org/wiki/.me\nme\nco.me\nnet.me\norg.me\nedu.me\nac.me\ngov.me\nits.me\npriv.me\n\n// mg : http://nic.mg/nicmg/?page_id=39\nmg\norg.mg\nnom.mg\ngov.mg\nprd.mg\ntm.mg\nedu.mg\nmil.mg\ncom.mg\nco.mg\n\n// mh : https://en.wikipedia.org/wiki/.mh\nmh\n\n// mil : https://en.wikipedia.org/wiki/.mil\nmil\n\n// mk : https://en.wikipedia.org/wiki/.mk\n// see also: http://dns.marnet.net.mk/postapka.php\nmk\ncom.mk\norg.mk\nnet.mk\nedu.mk\ngov.mk\ninf.mk\nname.mk\n\n// ml : http://www.gobin.info/domainname/ml-template.doc\n// see also: https://en.wikipedia.org/wiki/.ml\nml\ncom.ml\nedu.ml\ngouv.ml\ngov.ml\nnet.ml\norg.ml\npresse.ml\n\n// mm : https://en.wikipedia.org/wiki/.mm\n*.mm\n\n// mn : https://en.wikipedia.org/wiki/.mn\nmn\ngov.mn\nedu.mn\norg.mn\n\n// mo : http://www.monic.net.mo/\nmo\ncom.mo\nnet.mo\norg.mo\nedu.mo\ngov.mo\n\n// mobi : https://en.wikipedia.org/wiki/.mobi\nmobi\n\n// mp : http://www.dot.mp/\n// Confirmed by registry <dcamacho@saipan.com> 2008-06-17\nmp\n\n// mq : https://en.wikipedia.org/wiki/.mq\nmq\n\n// mr : https://en.wikipedia.org/wiki/.mr\nmr\ngov.mr\n\n// ms : http://www.nic.ms/pdf/MS_Domain_Name_Rules.pdf\nms\ncom.ms\nedu.ms\ngov.ms\nnet.ms\norg.ms\n\n// mt : https://www.nic.org.mt/go/policy\n// Submitted by registry <help@nic.org.mt>\nmt\ncom.mt\nedu.mt\nnet.mt\norg.mt\n\n// mu : https://en.wikipedia.org/wiki/.mu\nmu\ncom.mu\nnet.mu\norg.mu\ngov.mu\nac.mu\nco.mu\nor.mu\n\n// museum : https://welcome.museum/wp-content/uploads/2018/05/20180525-Registration-Policy-MUSEUM-EN_VF-2.pdf https://welcome.museum/buy-your-dot-museum-2/\nmuseum\n\n// mv : https://en.wikipedia.org/wiki/.mv\n// \"mv\" included because, contra Wikipedia, google.mv exists.\nmv\naero.mv\nbiz.mv\ncom.mv\ncoop.mv\nedu.mv\ngov.mv\ninfo.mv\nint.mv\nmil.mv\nmuseum.mv\nname.mv\nnet.mv\norg.mv\npro.mv\n\n// mw : http://www.registrar.mw/\nmw\nac.mw\nbiz.mw\nco.mw\ncom.mw\ncoop.mw\nedu.mw\ngov.mw\nint.mw\nmuseum.mw\nnet.mw\norg.mw\n\n// mx : http://www.nic.mx/\n// Submitted by registry <farias@nic.mx>\nmx\ncom.mx\norg.mx\ngob.mx\nedu.mx\nnet.mx\n\n// my : http://www.mynic.my/\n// Available strings: https://mynic.my/resources/domains/buying-a-domain/\nmy\nbiz.my\ncom.my\nedu.my\ngov.my\nmil.my\nname.my\nnet.my\norg.my\n\n// mz : http://www.uem.mz/\n// Submitted by registry <antonio@uem.mz>\nmz\nac.mz\nadv.mz\nco.mz\nedu.mz\ngov.mz\nmil.mz\nnet.mz\norg.mz\n\n// na : http://www.na-nic.com.na/\n// http://www.info.na/domain/\nna\ninfo.na\npro.na\nname.na\nschool.na\nor.na\ndr.na\nus.na\nmx.na\nca.na\nin.na\ncc.na\ntv.na\nws.na\nmobi.na\nco.na\ncom.na\norg.na\n\n// name : has 2nd-level tlds, but there's no list of them\nname\n\n// nc : http://www.cctld.nc/\nnc\nasso.nc\nnom.nc\n\n// ne : https://en.wikipedia.org/wiki/.ne\nne\n\n// net : https://en.wikipedia.org/wiki/.net\nnet\n\n// nf : https://en.wikipedia.org/wiki/.nf\nnf\ncom.nf\nnet.nf\nper.nf\nrec.nf\nweb.nf\narts.nf\nfirm.nf\ninfo.nf\nother.nf\nstore.nf\n\n// ng : http://www.nira.org.ng/index.php/join-us/register-ng-domain/189-nira-slds\nng\ncom.ng\nedu.ng\ngov.ng\ni.ng\nmil.ng\nmobi.ng\nname.ng\nnet.ng\norg.ng\nsch.ng\n\n// ni : http://www.nic.ni/\nni\nac.ni\nbiz.ni\nco.ni\ncom.ni\nedu.ni\ngob.ni\nin.ni\ninfo.ni\nint.ni\nmil.ni\nnet.ni\nnom.ni\norg.ni\nweb.ni\n\n// nl : https://en.wikipedia.org/wiki/.nl\n// https://www.sidn.nl/\n// ccTLD for the Netherlands\nnl\n\n// no : https://www.norid.no/en/om-domenenavn/regelverk-for-no/\n// Norid geographical second level domains : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-b/\n// Norid category second level domains : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-c/\n// Norid category second-level domains managed by parties other than Norid : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-d/\n// RSS feed: https://teknisk.norid.no/en/feed/\nno\n// Norid category second level domains : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-c/\nfhs.no\nvgs.no\nfylkesbibl.no\nfolkebibl.no\nmuseum.no\nidrett.no\npriv.no\n// Norid category second-level domains managed by parties other than Norid : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-d/\nmil.no\nstat.no\ndep.no\nkommune.no\nherad.no\n// Norid geographical second level domains : https://www.norid.no/en/om-domenenavn/regelverk-for-no/vedlegg-b/\n// counties\naa.no\nah.no\nbu.no\nfm.no\nhl.no\nhm.no\njan-mayen.no\nmr.no\nnl.no\nnt.no\nof.no\nol.no\noslo.no\nrl.no\nsf.no\nst.no\nsvalbard.no\ntm.no\ntr.no\nva.no\nvf.no\n// primary and lower secondary schools per county\ngs.aa.no\ngs.ah.no\ngs.bu.no\ngs.fm.no\ngs.hl.no\ngs.hm.no\ngs.jan-mayen.no\ngs.mr.no\ngs.nl.no\ngs.nt.no\ngs.of.no\ngs.ol.no\ngs.oslo.no\ngs.rl.no\ngs.sf.no\ngs.st.no\ngs.svalbard.no\ngs.tm.no\ngs.tr.no\ngs.va.no\ngs.vf.no\n// cities\nakrehamn.no\n\\xE5krehamn.no\nalgard.no\n\\xE5lg\\xE5rd.no\narna.no\nbrumunddal.no\nbryne.no\nbronnoysund.no\nbr\\xF8nn\\xF8ysund.no\ndrobak.no\ndr\\xF8bak.no\negersund.no\nfetsund.no\nfloro.no\nflor\\xF8.no\nfredrikstad.no\nhokksund.no\nhonefoss.no\nh\\xF8nefoss.no\njessheim.no\njorpeland.no\nj\\xF8rpeland.no\nkirkenes.no\nkopervik.no\nkrokstadelva.no\nlangevag.no\nlangev\\xE5g.no\nleirvik.no\nmjondalen.no\nmj\\xF8ndalen.no\nmo-i-rana.no\nmosjoen.no\nmosj\\xF8en.no\nnesoddtangen.no\norkanger.no\nosoyro.no\nos\\xF8yro.no\nraholt.no\nr\\xE5holt.no\nsandnessjoen.no\nsandnessj\\xF8en.no\nskedsmokorset.no\nslattum.no\nspjelkavik.no\nstathelle.no\nstavern.no\nstjordalshalsen.no\nstj\\xF8rdalshalsen.no\ntananger.no\ntranby.no\nvossevangen.no\n// communities\nafjord.no\n\\xE5fjord.no\nagdenes.no\nal.no\n\\xE5l.no\nalesund.no\n\\xE5lesund.no\nalstahaug.no\nalta.no\n\\xE1lt\\xE1.no\nalaheadju.no\n\\xE1laheadju.no\nalvdal.no\namli.no\n\\xE5mli.no\namot.no\n\\xE5mot.no\nandebu.no\nandoy.no\nand\\xF8y.no\nandasuolo.no\nardal.no\n\\xE5rdal.no\naremark.no\narendal.no\n\\xE5s.no\naseral.no\n\\xE5seral.no\nasker.no\naskim.no\naskvoll.no\naskoy.no\nask\\xF8y.no\nasnes.no\n\\xE5snes.no\naudnedaln.no\naukra.no\naure.no\naurland.no\naurskog-holand.no\naurskog-h\\xF8land.no\naustevoll.no\naustrheim.no\naveroy.no\naver\\xF8y.no\nbalestrand.no\nballangen.no\nbalat.no\nb\\xE1l\\xE1t.no\nbalsfjord.no\nbahccavuotna.no\nb\\xE1hccavuotna.no\nbamble.no\nbardu.no\nbeardu.no\nbeiarn.no\nbajddar.no\nb\\xE1jddar.no\nbaidar.no\nb\\xE1id\\xE1r.no\nberg.no\nbergen.no\nberlevag.no\nberlev\\xE5g.no\nbearalvahki.no\nbearalv\\xE1hki.no\nbindal.no\nbirkenes.no\nbjarkoy.no\nbjark\\xF8y.no\nbjerkreim.no\nbjugn.no\nbodo.no\nbod\\xF8.no\nbadaddja.no\nb\\xE5d\\xE5ddj\\xE5.no\nbudejju.no\nbokn.no\nbremanger.no\nbronnoy.no\nbr\\xF8nn\\xF8y.no\nbygland.no\nbykle.no\nbarum.no\nb\\xE6rum.no\nbo.telemark.no\nb\\xF8.telemark.no\nbo.nordland.no\nb\\xF8.nordland.no\nbievat.no\nbiev\\xE1t.no\nbomlo.no\nb\\xF8mlo.no\nbatsfjord.no\nb\\xE5tsfjord.no\nbahcavuotna.no\nb\\xE1hcavuotna.no\ndovre.no\ndrammen.no\ndrangedal.no\ndyroy.no\ndyr\\xF8y.no\ndonna.no\nd\\xF8nna.no\neid.no\neidfjord.no\neidsberg.no\neidskog.no\neidsvoll.no\neigersund.no\nelverum.no\nenebakk.no\nengerdal.no\netne.no\netnedal.no\nevenes.no\nevenassi.no\neven\\xE1\\u0161\\u0161i.no\nevje-og-hornnes.no\nfarsund.no\nfauske.no\nfuossko.no\nfuoisku.no\nfedje.no\nfet.no\nfinnoy.no\nfinn\\xF8y.no\nfitjar.no\nfjaler.no\nfjell.no\nflakstad.no\nflatanger.no\nflekkefjord.no\nflesberg.no\nflora.no\nfla.no\nfl\\xE5.no\nfolldal.no\nforsand.no\nfosnes.no\nfrei.no\nfrogn.no\nfroland.no\nfrosta.no\nfrana.no\nfr\\xE6na.no\nfroya.no\nfr\\xF8ya.no\nfusa.no\nfyresdal.no\nforde.no\nf\\xF8rde.no\ngamvik.no\ngangaviika.no\ng\\xE1\\u014Bgaviika.no\ngaular.no\ngausdal.no\ngildeskal.no\ngildesk\\xE5l.no\ngiske.no\ngjemnes.no\ngjerdrum.no\ngjerstad.no\ngjesdal.no\ngjovik.no\ngj\\xF8vik.no\ngloppen.no\ngol.no\ngran.no\ngrane.no\ngranvin.no\ngratangen.no\ngrimstad.no\ngrong.no\nkraanghke.no\nkr\\xE5anghke.no\ngrue.no\ngulen.no\nhadsel.no\nhalden.no\nhalsa.no\nhamar.no\nhamaroy.no\nhabmer.no\nh\\xE1bmer.no\nhapmir.no\nh\\xE1pmir.no\nhammerfest.no\nhammarfeasta.no\nh\\xE1mm\\xE1rfeasta.no\nharam.no\nhareid.no\nharstad.no\nhasvik.no\naknoluokta.no\n\\xE1k\\u014Boluokta.no\nhattfjelldal.no\naarborte.no\nhaugesund.no\nhemne.no\nhemnes.no\nhemsedal.no\nheroy.more-og-romsdal.no\nher\\xF8y.m\\xF8re-og-romsdal.no\nheroy.nordland.no\nher\\xF8y.nordland.no\nhitra.no\nhjartdal.no\nhjelmeland.no\nhobol.no\nhob\\xF8l.no\nhof.no\nhol.no\nhole.no\nholmestrand.no\nholtalen.no\nholt\\xE5len.no\nhornindal.no\nhorten.no\nhurdal.no\nhurum.no\nhvaler.no\nhyllestad.no\nhagebostad.no\nh\\xE6gebostad.no\nhoyanger.no\nh\\xF8yanger.no\nhoylandet.no\nh\\xF8ylandet.no\nha.no\nh\\xE5.no\nibestad.no\ninderoy.no\ninder\\xF8y.no\niveland.no\njevnaker.no\njondal.no\njolster.no\nj\\xF8lster.no\nkarasjok.no\nkarasjohka.no\nk\\xE1r\\xE1\\u0161johka.no\nkarlsoy.no\ngalsa.no\ng\\xE1ls\\xE1.no\nkarmoy.no\nkarm\\xF8y.no\nkautokeino.no\nguovdageaidnu.no\nklepp.no\nklabu.no\nkl\\xE6bu.no\nkongsberg.no\nkongsvinger.no\nkragero.no\nkrager\\xF8.no\nkristiansand.no\nkristiansund.no\nkrodsherad.no\nkr\\xF8dsherad.no\nkvalsund.no\nrahkkeravju.no\nr\\xE1hkker\\xE1vju.no\nkvam.no\nkvinesdal.no\nkvinnherad.no\nkviteseid.no\nkvitsoy.no\nkvits\\xF8y.no\nkvafjord.no\nkv\\xE6fjord.no\ngiehtavuoatna.no\nkvanangen.no\nkv\\xE6nangen.no\nnavuotna.no\nn\\xE1vuotna.no\nkafjord.no\nk\\xE5fjord.no\ngaivuotna.no\ng\\xE1ivuotna.no\nlarvik.no\nlavangen.no\nlavagis.no\nloabat.no\nloab\\xE1t.no\nlebesby.no\ndavvesiida.no\nleikanger.no\nleirfjord.no\nleka.no\nleksvik.no\nlenvik.no\nleangaviika.no\nlea\\u014Bgaviika.no\nlesja.no\nlevanger.no\nlier.no\nlierne.no\nlillehammer.no\nlillesand.no\nlindesnes.no\nlindas.no\nlind\\xE5s.no\nlom.no\nloppa.no\nlahppi.no\nl\\xE1hppi.no\nlund.no\nlunner.no\nluroy.no\nlur\\xF8y.no\nluster.no\nlyngdal.no\nlyngen.no\nivgu.no\nlardal.no\nlerdal.no\nl\\xE6rdal.no\nlodingen.no\nl\\xF8dingen.no\nlorenskog.no\nl\\xF8renskog.no\nloten.no\nl\\xF8ten.no\nmalvik.no\nmasoy.no\nm\\xE5s\\xF8y.no\nmuosat.no\nmuos\\xE1t.no\nmandal.no\nmarker.no\nmarnardal.no\nmasfjorden.no\nmeland.no\nmeldal.no\nmelhus.no\nmeloy.no\nmel\\xF8y.no\nmeraker.no\nmer\\xE5ker.no\nmoareke.no\nmo\\xE5reke.no\nmidsund.no\nmidtre-gauldal.no\nmodalen.no\nmodum.no\nmolde.no\nmoskenes.no\nmoss.no\nmosvik.no\nmalselv.no\nm\\xE5lselv.no\nmalatvuopmi.no\nm\\xE1latvuopmi.no\nnamdalseid.no\naejrie.no\nnamsos.no\nnamsskogan.no\nnaamesjevuemie.no\nn\\xE5\\xE5mesjevuemie.no\nlaakesvuemie.no\nnannestad.no\nnarvik.no\nnarviika.no\nnaustdal.no\nnedre-eiker.no\nnes.akershus.no\nnes.buskerud.no\nnesna.no\nnesodden.no\nnesseby.no\nunjarga.no\nunj\\xE1rga.no\nnesset.no\nnissedal.no\nnittedal.no\nnord-aurdal.no\nnord-fron.no\nnord-odal.no\nnorddal.no\nnordkapp.no\ndavvenjarga.no\ndavvenj\\xE1rga.no\nnordre-land.no\nnordreisa.no\nraisa.no\nr\\xE1isa.no\nnore-og-uvdal.no\nnotodden.no\nnaroy.no\nn\\xE6r\\xF8y.no\nnotteroy.no\nn\\xF8tter\\xF8y.no\nodda.no\noksnes.no\n\\xF8ksnes.no\noppdal.no\noppegard.no\noppeg\\xE5rd.no\norkdal.no\norland.no\n\\xF8rland.no\norskog.no\n\\xF8rskog.no\norsta.no\n\\xF8rsta.no\nos.hedmark.no\nos.hordaland.no\nosen.no\nosteroy.no\noster\\xF8y.no\nostre-toten.no\n\\xF8stre-toten.no\noverhalla.no\novre-eiker.no\n\\xF8vre-eiker.no\noyer.no\n\\xF8yer.no\noygarden.no\n\\xF8ygarden.no\noystre-slidre.no\n\\xF8ystre-slidre.no\nporsanger.no\nporsangu.no\npors\\xE1\\u014Bgu.no\nporsgrunn.no\nradoy.no\nrad\\xF8y.no\nrakkestad.no\nrana.no\nruovat.no\nrandaberg.no\nrauma.no\nrendalen.no\nrennebu.no\nrennesoy.no\nrennes\\xF8y.no\nrindal.no\nringebu.no\nringerike.no\nringsaker.no\nrissa.no\nrisor.no\nris\\xF8r.no\nroan.no\nrollag.no\nrygge.no\nralingen.no\nr\\xE6lingen.no\nrodoy.no\nr\\xF8d\\xF8y.no\nromskog.no\nr\\xF8mskog.no\nroros.no\nr\\xF8ros.no\nrost.no\nr\\xF8st.no\nroyken.no\nr\\xF8yken.no\nroyrvik.no\nr\\xF8yrvik.no\nrade.no\nr\\xE5de.no\nsalangen.no\nsiellak.no\nsaltdal.no\nsalat.no\ns\\xE1l\\xE1t.no\ns\\xE1lat.no\nsamnanger.no\nsande.more-og-romsdal.no\nsande.m\\xF8re-og-romsdal.no\nsande.vestfold.no\nsandefjord.no\nsandnes.no\nsandoy.no\nsand\\xF8y.no\nsarpsborg.no\nsauda.no\nsauherad.no\nsel.no\nselbu.no\nselje.no\nseljord.no\nsigdal.no\nsiljan.no\nsirdal.no\nskaun.no\nskedsmo.no\nski.no\nskien.no\nskiptvet.no\nskjervoy.no\nskjerv\\xF8y.no\nskierva.no\nskierv\\xE1.no\nskjak.no\nskj\\xE5k.no\nskodje.no\nskanland.no\nsk\\xE5nland.no\nskanit.no\nsk\\xE1nit.no\nsmola.no\nsm\\xF8la.no\nsnillfjord.no\nsnasa.no\nsn\\xE5sa.no\nsnoasa.no\nsnaase.no\nsn\\xE5ase.no\nsogndal.no\nsokndal.no\nsola.no\nsolund.no\nsongdalen.no\nsortland.no\nspydeberg.no\nstange.no\nstavanger.no\nsteigen.no\nsteinkjer.no\nstjordal.no\nstj\\xF8rdal.no\nstokke.no\nstor-elvdal.no\nstord.no\nstordal.no\nstorfjord.no\nomasvuotna.no\nstrand.no\nstranda.no\nstryn.no\nsula.no\nsuldal.no\nsund.no\nsunndal.no\nsurnadal.no\nsveio.no\nsvelvik.no\nsykkylven.no\nsogne.no\ns\\xF8gne.no\nsomna.no\ns\\xF8mna.no\nsondre-land.no\ns\\xF8ndre-land.no\nsor-aurdal.no\ns\\xF8r-aurdal.no\nsor-fron.no\ns\\xF8r-fron.no\nsor-odal.no\ns\\xF8r-odal.no\nsor-varanger.no\ns\\xF8r-varanger.no\nmatta-varjjat.no\nm\\xE1tta-v\\xE1rjjat.no\nsorfold.no\ns\\xF8rfold.no\nsorreisa.no\ns\\xF8rreisa.no\nsorum.no\ns\\xF8rum.no\ntana.no\ndeatnu.no\ntime.no\ntingvoll.no\ntinn.no\ntjeldsund.no\ndielddanuorri.no\ntjome.no\ntj\\xF8me.no\ntokke.no\ntolga.no\ntorsken.no\ntranoy.no\ntran\\xF8y.no\ntromso.no\ntroms\\xF8.no\ntromsa.no\nromsa.no\ntrondheim.no\ntroandin.no\ntrysil.no\ntrana.no\ntr\\xE6na.no\ntrogstad.no\ntr\\xF8gstad.no\ntvedestrand.no\ntydal.no\ntynset.no\ntysfjord.no\ndivtasvuodna.no\ndivttasvuotna.no\ntysnes.no\ntysvar.no\ntysv\\xE6r.no\ntonsberg.no\nt\\xF8nsberg.no\nullensaker.no\nullensvang.no\nulvik.no\nutsira.no\nvadso.no\nvads\\xF8.no\ncahcesuolo.no\n\\u010D\\xE1hcesuolo.no\nvaksdal.no\nvalle.no\nvang.no\nvanylven.no\nvardo.no\nvard\\xF8.no\nvarggat.no\nv\\xE1rgg\\xE1t.no\nvefsn.no\nvaapste.no\nvega.no\nvegarshei.no\nveg\\xE5rshei.no\nvennesla.no\nverdal.no\nverran.no\nvestby.no\nvestnes.no\nvestre-slidre.no\nvestre-toten.no\nvestvagoy.no\nvestv\\xE5g\\xF8y.no\nvevelstad.no\nvik.no\nvikna.no\nvindafjord.no\nvolda.no\nvoss.no\nvaroy.no\nv\\xE6r\\xF8y.no\nvagan.no\nv\\xE5gan.no\nvoagat.no\nvagsoy.no\nv\\xE5gs\\xF8y.no\nvaga.no\nv\\xE5g\\xE5.no\nvaler.ostfold.no\nv\\xE5ler.\\xF8stfold.no\nvaler.hedmark.no\nv\\xE5ler.hedmark.no\n\n// np : http://www.mos.com.np/register.html\n*.np\n\n// nr : http://cenpac.net.nr/dns/index.html\n// Submitted by registry <technician@cenpac.net.nr>\nnr\nbiz.nr\ninfo.nr\ngov.nr\nedu.nr\norg.nr\nnet.nr\ncom.nr\n\n// nu : https://en.wikipedia.org/wiki/.nu\nnu\n\n// nz : https://en.wikipedia.org/wiki/.nz\n// Submitted by registry <jay@nzrs.net.nz>\nnz\nac.nz\nco.nz\ncri.nz\ngeek.nz\ngen.nz\ngovt.nz\nhealth.nz\niwi.nz\nkiwi.nz\nmaori.nz\nmil.nz\nm\\u0101ori.nz\nnet.nz\norg.nz\nparliament.nz\nschool.nz\n\n// om : https://en.wikipedia.org/wiki/.om\nom\nco.om\ncom.om\nedu.om\ngov.om\nmed.om\nmuseum.om\nnet.om\norg.om\npro.om\n\n// onion : https://tools.ietf.org/html/rfc7686\nonion\n\n// org : https://en.wikipedia.org/wiki/.org\norg\n\n// pa : http://www.nic.pa/\n// Some additional second level \"domains\" resolve directly as hostnames, such as\n// pannet.pa, so we add a rule for \"pa\".\npa\nac.pa\ngob.pa\ncom.pa\norg.pa\nsld.pa\nedu.pa\nnet.pa\ning.pa\nabo.pa\nmed.pa\nnom.pa\n\n// pe : https://www.nic.pe/InformeFinalComision.pdf\npe\nedu.pe\ngob.pe\nnom.pe\nmil.pe\norg.pe\ncom.pe\nnet.pe\n\n// pf : http://www.gobin.info/domainname/formulaire-pf.pdf\npf\ncom.pf\norg.pf\nedu.pf\n\n// pg : https://en.wikipedia.org/wiki/.pg\n*.pg\n\n// ph : http://www.domains.ph/FAQ2.asp\n// Submitted by registry <jed@email.com.ph>\nph\ncom.ph\nnet.ph\norg.ph\ngov.ph\nedu.ph\nngo.ph\nmil.ph\ni.ph\n\n// pk : http://pk5.pknic.net.pk/pk5/msgNamepk.PK\npk\ncom.pk\nnet.pk\nedu.pk\norg.pk\nfam.pk\nbiz.pk\nweb.pk\ngov.pk\ngob.pk\ngok.pk\ngon.pk\ngop.pk\ngos.pk\ninfo.pk\n\n// pl http://www.dns.pl/english/index.html\n// Submitted by registry\npl\ncom.pl\nnet.pl\norg.pl\n// pl functional domains (http://www.dns.pl/english/index.html)\naid.pl\nagro.pl\natm.pl\nauto.pl\nbiz.pl\nedu.pl\ngmina.pl\ngsm.pl\ninfo.pl\nmail.pl\nmiasta.pl\nmedia.pl\nmil.pl\nnieruchomosci.pl\nnom.pl\npc.pl\npowiat.pl\npriv.pl\nrealestate.pl\nrel.pl\nsex.pl\nshop.pl\nsklep.pl\nsos.pl\nszkola.pl\ntargi.pl\ntm.pl\ntourism.pl\ntravel.pl\nturystyka.pl\n// Government domains\ngov.pl\nap.gov.pl\ngriw.gov.pl\nic.gov.pl\nis.gov.pl\nkmpsp.gov.pl\nkonsulat.gov.pl\nkppsp.gov.pl\nkwp.gov.pl\nkwpsp.gov.pl\nmup.gov.pl\nmw.gov.pl\noia.gov.pl\noirm.gov.pl\noke.gov.pl\noow.gov.pl\noschr.gov.pl\noum.gov.pl\npa.gov.pl\npinb.gov.pl\npiw.gov.pl\npo.gov.pl\npr.gov.pl\npsp.gov.pl\npsse.gov.pl\npup.gov.pl\nrzgw.gov.pl\nsa.gov.pl\nsdn.gov.pl\nsko.gov.pl\nso.gov.pl\nsr.gov.pl\nstarostwo.gov.pl\nug.gov.pl\nugim.gov.pl\num.gov.pl\numig.gov.pl\nupow.gov.pl\nuppo.gov.pl\nus.gov.pl\nuw.gov.pl\nuzs.gov.pl\nwif.gov.pl\nwiih.gov.pl\nwinb.gov.pl\nwios.gov.pl\nwitd.gov.pl\nwiw.gov.pl\nwkz.gov.pl\nwsa.gov.pl\nwskr.gov.pl\nwsse.gov.pl\nwuoz.gov.pl\nwzmiuw.gov.pl\nzp.gov.pl\nzpisdn.gov.pl\n// pl regional domains (http://www.dns.pl/english/index.html)\naugustow.pl\nbabia-gora.pl\nbedzin.pl\nbeskidy.pl\nbialowieza.pl\nbialystok.pl\nbielawa.pl\nbieszczady.pl\nboleslawiec.pl\nbydgoszcz.pl\nbytom.pl\ncieszyn.pl\nczeladz.pl\nczest.pl\ndlugoleka.pl\nelblag.pl\nelk.pl\nglogow.pl\ngniezno.pl\ngorlice.pl\ngrajewo.pl\nilawa.pl\njaworzno.pl\njelenia-gora.pl\njgora.pl\nkalisz.pl\nkazimierz-dolny.pl\nkarpacz.pl\nkartuzy.pl\nkaszuby.pl\nkatowice.pl\nkepno.pl\nketrzyn.pl\nklodzko.pl\nkobierzyce.pl\nkolobrzeg.pl\nkonin.pl\nkonskowola.pl\nkutno.pl\nlapy.pl\nlebork.pl\nlegnica.pl\nlezajsk.pl\nlimanowa.pl\nlomza.pl\nlowicz.pl\nlubin.pl\nlukow.pl\nmalbork.pl\nmalopolska.pl\nmazowsze.pl\nmazury.pl\nmielec.pl\nmielno.pl\nmragowo.pl\nnaklo.pl\nnowaruda.pl\nnysa.pl\nolawa.pl\nolecko.pl\nolkusz.pl\nolsztyn.pl\nopoczno.pl\nopole.pl\nostroda.pl\nostroleka.pl\nostrowiec.pl\nostrowwlkp.pl\npila.pl\npisz.pl\npodhale.pl\npodlasie.pl\npolkowice.pl\npomorze.pl\npomorskie.pl\nprochowice.pl\npruszkow.pl\nprzeworsk.pl\npulawy.pl\nradom.pl\nrawa-maz.pl\nrybnik.pl\nrzeszow.pl\nsanok.pl\nsejny.pl\nslask.pl\nslupsk.pl\nsosnowiec.pl\nstalowa-wola.pl\nskoczow.pl\nstarachowice.pl\nstargard.pl\nsuwalki.pl\nswidnica.pl\nswiebodzin.pl\nswinoujscie.pl\nszczecin.pl\nszczytno.pl\ntarnobrzeg.pl\ntgory.pl\nturek.pl\ntychy.pl\nustka.pl\nwalbrzych.pl\nwarmia.pl\nwarszawa.pl\nwaw.pl\nwegrow.pl\nwielun.pl\nwlocl.pl\nwloclawek.pl\nwodzislaw.pl\nwolomin.pl\nwroclaw.pl\nzachpomor.pl\nzagan.pl\nzarow.pl\nzgora.pl\nzgorzelec.pl\n\n// pm : https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf\npm\n\n// pn : http://www.government.pn/PnRegistry/policies.htm\npn\ngov.pn\nco.pn\norg.pn\nedu.pn\nnet.pn\n\n// post : https://en.wikipedia.org/wiki/.post\npost\n\n// pr : http://www.nic.pr/index.asp?f=1\npr\ncom.pr\nnet.pr\norg.pr\ngov.pr\nedu.pr\nisla.pr\npro.pr\nbiz.pr\ninfo.pr\nname.pr\n// these aren't mentioned on nic.pr, but on https://en.wikipedia.org/wiki/.pr\nest.pr\nprof.pr\nac.pr\n\n// pro : http://registry.pro/get-pro\npro\naaa.pro\naca.pro\nacct.pro\navocat.pro\nbar.pro\ncpa.pro\neng.pro\njur.pro\nlaw.pro\nmed.pro\nrecht.pro\n\n// ps : https://en.wikipedia.org/wiki/.ps\n// http://www.nic.ps/registration/policy.html#reg\nps\nedu.ps\ngov.ps\nsec.ps\nplo.ps\ncom.ps\norg.ps\nnet.ps\n\n// pt : https://www.dns.pt/en/domain/pt-terms-and-conditions-registration-rules/\npt\nnet.pt\ngov.pt\norg.pt\nedu.pt\nint.pt\npubl.pt\ncom.pt\nnome.pt\n\n// pw : https://en.wikipedia.org/wiki/.pw\npw\nco.pw\nne.pw\nor.pw\ned.pw\ngo.pw\nbelau.pw\n\n// py : http://www.nic.py/pautas.html#seccion_9\n// Submitted by registry\npy\ncom.py\ncoop.py\nedu.py\ngov.py\nmil.py\nnet.py\norg.py\n\n// qa : http://domains.qa/en/\nqa\ncom.qa\nedu.qa\ngov.qa\nmil.qa\nname.qa\nnet.qa\norg.qa\nsch.qa\n\n// re : https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf\nre\nasso.re\ncom.re\nnom.re\n\n// ro : http://www.rotld.ro/\nro\narts.ro\ncom.ro\nfirm.ro\ninfo.ro\nnom.ro\nnt.ro\norg.ro\nrec.ro\nstore.ro\ntm.ro\nwww.ro\n\n// rs : https://www.rnids.rs/en/domains/national-domains\nrs\nac.rs\nco.rs\nedu.rs\ngov.rs\nin.rs\norg.rs\n\n// ru : https://cctld.ru/files/pdf/docs/en/rules_ru-rf.pdf\n// Submitted by George Georgievsky <gug@cctld.ru>\nru\n\n// rw : https://www.ricta.org.rw/sites/default/files/resources/registry_registrar_contract_0.pdf\nrw\nac.rw\nco.rw\ncoop.rw\ngov.rw\nmil.rw\nnet.rw\norg.rw\n\n// sa : http://www.nic.net.sa/\nsa\ncom.sa\nnet.sa\norg.sa\ngov.sa\nmed.sa\npub.sa\nedu.sa\nsch.sa\n\n// sb : http://www.sbnic.net.sb/\n// Submitted by registry <lee.humphries@telekom.com.sb>\nsb\ncom.sb\nedu.sb\ngov.sb\nnet.sb\norg.sb\n\n// sc : http://www.nic.sc/\nsc\ncom.sc\ngov.sc\nnet.sc\norg.sc\nedu.sc\n\n// sd : http://www.isoc.sd/sudanic.isoc.sd/billing_pricing.htm\n// Submitted by registry <admin@isoc.sd>\nsd\ncom.sd\nnet.sd\norg.sd\nedu.sd\nmed.sd\ntv.sd\ngov.sd\ninfo.sd\n\n// se : https://en.wikipedia.org/wiki/.se\n// Submitted by registry <patrik.wallstrom@iis.se>\nse\na.se\nac.se\nb.se\nbd.se\nbrand.se\nc.se\nd.se\ne.se\nf.se\nfh.se\nfhsk.se\nfhv.se\ng.se\nh.se\ni.se\nk.se\nkomforb.se\nkommunalforbund.se\nkomvux.se\nl.se\nlanbib.se\nm.se\nn.se\nnaturbruksgymn.se\no.se\norg.se\np.se\nparti.se\npp.se\npress.se\nr.se\ns.se\nt.se\ntm.se\nu.se\nw.se\nx.se\ny.se\nz.se\n\n// sg : http://www.nic.net.sg/page/registration-policies-procedures-and-guidelines\nsg\ncom.sg\nnet.sg\norg.sg\ngov.sg\nedu.sg\nper.sg\n\n// sh : http://nic.sh/rules.htm\nsh\ncom.sh\nnet.sh\ngov.sh\norg.sh\nmil.sh\n\n// si : https://en.wikipedia.org/wiki/.si\nsi\n\n// sj : No registrations at this time.\n// Submitted by registry <jarle@uninett.no>\nsj\n\n// sk : https://en.wikipedia.org/wiki/.sk\n// list of 2nd level domains ?\nsk\n\n// sl : http://www.nic.sl\n// Submitted by registry <adam@neoip.com>\nsl\ncom.sl\nnet.sl\nedu.sl\ngov.sl\norg.sl\n\n// sm : https://en.wikipedia.org/wiki/.sm\nsm\n\n// sn : https://en.wikipedia.org/wiki/.sn\nsn\nart.sn\ncom.sn\nedu.sn\ngouv.sn\norg.sn\nperso.sn\nuniv.sn\n\n// so : http://sonic.so/policies/\nso\ncom.so\nedu.so\ngov.so\nme.so\nnet.so\norg.so\n\n// sr : https://en.wikipedia.org/wiki/.sr\nsr\n\n// ss : https://registry.nic.ss/\n// Submitted by registry <technical@nic.ss>\nss\nbiz.ss\ncom.ss\nedu.ss\ngov.ss\nme.ss\nnet.ss\norg.ss\nsch.ss\n\n// st : http://www.nic.st/html/policyrules/\nst\nco.st\ncom.st\nconsulado.st\nedu.st\nembaixada.st\nmil.st\nnet.st\norg.st\nprincipe.st\nsaotome.st\nstore.st\n\n// su : https://en.wikipedia.org/wiki/.su\nsu\n\n// sv : http://www.svnet.org.sv/niveldos.pdf\nsv\ncom.sv\nedu.sv\ngob.sv\norg.sv\nred.sv\n\n// sx : https://en.wikipedia.org/wiki/.sx\n// Submitted by registry <jcvignes@openregistry.com>\nsx\ngov.sx\n\n// sy : https://en.wikipedia.org/wiki/.sy\n// see also: http://www.gobin.info/domainname/sy.doc\nsy\nedu.sy\ngov.sy\nnet.sy\nmil.sy\ncom.sy\norg.sy\n\n// sz : https://en.wikipedia.org/wiki/.sz\n// http://www.sispa.org.sz/\nsz\nco.sz\nac.sz\norg.sz\n\n// tc : https://en.wikipedia.org/wiki/.tc\ntc\n\n// td : https://en.wikipedia.org/wiki/.td\ntd\n\n// tel: https://en.wikipedia.org/wiki/.tel\n// http://www.telnic.org/\ntel\n\n// tf : https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf\ntf\n\n// tg : https://en.wikipedia.org/wiki/.tg\n// http://www.nic.tg/\ntg\n\n// th : https://en.wikipedia.org/wiki/.th\n// Submitted by registry <krit@thains.co.th>\nth\nac.th\nco.th\ngo.th\nin.th\nmi.th\nnet.th\nor.th\n\n// tj : http://www.nic.tj/policy.html\ntj\nac.tj\nbiz.tj\nco.tj\ncom.tj\nedu.tj\ngo.tj\ngov.tj\nint.tj\nmil.tj\nname.tj\nnet.tj\nnic.tj\norg.tj\ntest.tj\nweb.tj\n\n// tk : https://en.wikipedia.org/wiki/.tk\ntk\n\n// tl : https://en.wikipedia.org/wiki/.tl\ntl\ngov.tl\n\n// tm : http://www.nic.tm/local.html\ntm\ncom.tm\nco.tm\norg.tm\nnet.tm\nnom.tm\ngov.tm\nmil.tm\nedu.tm\n\n// tn : http://www.registre.tn/fr/\n// https://whois.ati.tn/\ntn\ncom.tn\nens.tn\nfin.tn\ngov.tn\nind.tn\ninfo.tn\nintl.tn\nmincom.tn\nnat.tn\nnet.tn\norg.tn\nperso.tn\ntourism.tn\n\n// to : https://en.wikipedia.org/wiki/.to\n// Submitted by registry <egullich@colo.to>\nto\ncom.to\ngov.to\nnet.to\norg.to\nedu.to\nmil.to\n\n// tr : https://nic.tr/\n// https://nic.tr/forms/eng/policies.pdf\n// https://nic.tr/index.php?USRACTN=PRICELST\ntr\nav.tr\nbbs.tr\nbel.tr\nbiz.tr\ncom.tr\ndr.tr\nedu.tr\ngen.tr\ngov.tr\ninfo.tr\nmil.tr\nk12.tr\nkep.tr\nname.tr\nnet.tr\norg.tr\npol.tr\ntel.tr\ntsk.tr\ntv.tr\nweb.tr\n// Used by Northern Cyprus\nnc.tr\n// Used by government agencies of Northern Cyprus\ngov.nc.tr\n\n// tt : http://www.nic.tt/\ntt\nco.tt\ncom.tt\norg.tt\nnet.tt\nbiz.tt\ninfo.tt\npro.tt\nint.tt\ncoop.tt\njobs.tt\nmobi.tt\ntravel.tt\nmuseum.tt\naero.tt\nname.tt\ngov.tt\nedu.tt\n\n// tv : https://en.wikipedia.org/wiki/.tv\n// Not listing any 2LDs as reserved since none seem to exist in practice,\n// Wikipedia notwithstanding.\ntv\n\n// tw : https://en.wikipedia.org/wiki/.tw\ntw\nedu.tw\ngov.tw\nmil.tw\ncom.tw\nnet.tw\norg.tw\nidv.tw\ngame.tw\nebiz.tw\nclub.tw\n\\u7DB2\\u8DEF.tw\n\\u7D44\\u7E54.tw\n\\u5546\\u696D.tw\n\n// tz : http://www.tznic.or.tz/index.php/domains\n// Submitted by registry <manager@tznic.or.tz>\ntz\nac.tz\nco.tz\ngo.tz\nhotel.tz\ninfo.tz\nme.tz\nmil.tz\nmobi.tz\nne.tz\nor.tz\nsc.tz\ntv.tz\n\n// ua : https://hostmaster.ua/policy/?ua\n// Submitted by registry <dk@cctld.ua>\nua\n// ua 2LD\ncom.ua\nedu.ua\ngov.ua\nin.ua\nnet.ua\norg.ua\n// ua geographic names\n// https://hostmaster.ua/2ld/\ncherkassy.ua\ncherkasy.ua\nchernigov.ua\nchernihiv.ua\nchernivtsi.ua\nchernovtsy.ua\nck.ua\ncn.ua\ncr.ua\ncrimea.ua\ncv.ua\ndn.ua\ndnepropetrovsk.ua\ndnipropetrovsk.ua\ndonetsk.ua\ndp.ua\nif.ua\nivano-frankivsk.ua\nkh.ua\nkharkiv.ua\nkharkov.ua\nkherson.ua\nkhmelnitskiy.ua\nkhmelnytskyi.ua\nkiev.ua\nkirovograd.ua\nkm.ua\nkr.ua\nkropyvnytskyi.ua\nkrym.ua\nks.ua\nkv.ua\nkyiv.ua\nlg.ua\nlt.ua\nlugansk.ua\nluhansk.ua\nlutsk.ua\nlv.ua\nlviv.ua\nmk.ua\nmykolaiv.ua\nnikolaev.ua\nod.ua\nodesa.ua\nodessa.ua\npl.ua\npoltava.ua\nrivne.ua\nrovno.ua\nrv.ua\nsb.ua\nsebastopol.ua\nsevastopol.ua\nsm.ua\nsumy.ua\nte.ua\nternopil.ua\nuz.ua\nuzhgorod.ua\nuzhhorod.ua\nvinnica.ua\nvinnytsia.ua\nvn.ua\nvolyn.ua\nyalta.ua\nzakarpattia.ua\nzaporizhzhe.ua\nzaporizhzhia.ua\nzhitomir.ua\nzhytomyr.ua\nzp.ua\nzt.ua\n\n// ug : https://www.registry.co.ug/\nug\nco.ug\nor.ug\nac.ug\nsc.ug\ngo.ug\nne.ug\ncom.ug\norg.ug\n\n// uk : https://en.wikipedia.org/wiki/.uk\n// Submitted by registry <Michael.Daly@nominet.org.uk>\nuk\nac.uk\nco.uk\ngov.uk\nltd.uk\nme.uk\nnet.uk\nnhs.uk\norg.uk\nplc.uk\npolice.uk\n*.sch.uk\n\n// us : https://en.wikipedia.org/wiki/.us\nus\ndni.us\nfed.us\nisa.us\nkids.us\nnsn.us\n// us geographic names\nak.us\nal.us\nar.us\nas.us\naz.us\nca.us\nco.us\nct.us\ndc.us\nde.us\nfl.us\nga.us\ngu.us\nhi.us\nia.us\nid.us\nil.us\nin.us\nks.us\nky.us\nla.us\nma.us\nmd.us\nme.us\nmi.us\nmn.us\nmo.us\nms.us\nmt.us\nnc.us\nnd.us\nne.us\nnh.us\nnj.us\nnm.us\nnv.us\nny.us\noh.us\nok.us\nor.us\npa.us\npr.us\nri.us\nsc.us\nsd.us\ntn.us\ntx.us\nut.us\nvi.us\nvt.us\nva.us\nwa.us\nwi.us\nwv.us\nwy.us\n// The registrar notes several more specific domains available in each state,\n// such as state.*.us, dst.*.us, etc., but resolution of these is somewhat\n// haphazard; in some states these domains resolve as addresses, while in others\n// only subdomains are available, or even nothing at all. We include the\n// most common ones where it's clear that different sites are different\n// entities.\nk12.ak.us\nk12.al.us\nk12.ar.us\nk12.as.us\nk12.az.us\nk12.ca.us\nk12.co.us\nk12.ct.us\nk12.dc.us\nk12.fl.us\nk12.ga.us\nk12.gu.us\n// k12.hi.us Bug 614565 - Hawaii has a state-wide DOE login\nk12.ia.us\nk12.id.us\nk12.il.us\nk12.in.us\nk12.ks.us\nk12.ky.us\nk12.la.us\nk12.ma.us\nk12.md.us\nk12.me.us\nk12.mi.us\nk12.mn.us\nk12.mo.us\nk12.ms.us\nk12.mt.us\nk12.nc.us\n// k12.nd.us Bug 1028347 - Removed at request of Travis Rosso <trossow@nd.gov>\nk12.ne.us\nk12.nh.us\nk12.nj.us\nk12.nm.us\nk12.nv.us\nk12.ny.us\nk12.oh.us\nk12.ok.us\nk12.or.us\nk12.pa.us\nk12.pr.us\n// k12.ri.us Removed at request of Kim Cournoyer <netsupport@staff.ri.net>\nk12.sc.us\n// k12.sd.us Bug 934131 - Removed at request of James Booze <James.Booze@k12.sd.us>\nk12.tn.us\nk12.tx.us\nk12.ut.us\nk12.vi.us\nk12.vt.us\nk12.va.us\nk12.wa.us\nk12.wi.us\n// k12.wv.us Bug 947705 - Removed at request of Verne Britton <verne@wvnet.edu>\nk12.wy.us\ncc.ak.us\ncc.al.us\ncc.ar.us\ncc.as.us\ncc.az.us\ncc.ca.us\ncc.co.us\ncc.ct.us\ncc.dc.us\ncc.de.us\ncc.fl.us\ncc.ga.us\ncc.gu.us\ncc.hi.us\ncc.ia.us\ncc.id.us\ncc.il.us\ncc.in.us\ncc.ks.us\ncc.ky.us\ncc.la.us\ncc.ma.us\ncc.md.us\ncc.me.us\ncc.mi.us\ncc.mn.us\ncc.mo.us\ncc.ms.us\ncc.mt.us\ncc.nc.us\ncc.nd.us\ncc.ne.us\ncc.nh.us\ncc.nj.us\ncc.nm.us\ncc.nv.us\ncc.ny.us\ncc.oh.us\ncc.ok.us\ncc.or.us\ncc.pa.us\ncc.pr.us\ncc.ri.us\ncc.sc.us\ncc.sd.us\ncc.tn.us\ncc.tx.us\ncc.ut.us\ncc.vi.us\ncc.vt.us\ncc.va.us\ncc.wa.us\ncc.wi.us\ncc.wv.us\ncc.wy.us\nlib.ak.us\nlib.al.us\nlib.ar.us\nlib.as.us\nlib.az.us\nlib.ca.us\nlib.co.us\nlib.ct.us\nlib.dc.us\n// lib.de.us Issue #243 - Moved to Private section at request of Ed Moore <Ed.Moore@lib.de.us>\nlib.fl.us\nlib.ga.us\nlib.gu.us\nlib.hi.us\nlib.ia.us\nlib.id.us\nlib.il.us\nlib.in.us\nlib.ks.us\nlib.ky.us\nlib.la.us\nlib.ma.us\nlib.md.us\nlib.me.us\nlib.mi.us\nlib.mn.us\nlib.mo.us\nlib.ms.us\nlib.mt.us\nlib.nc.us\nlib.nd.us\nlib.ne.us\nlib.nh.us\nlib.nj.us\nlib.nm.us\nlib.nv.us\nlib.ny.us\nlib.oh.us\nlib.ok.us\nlib.or.us\nlib.pa.us\nlib.pr.us\nlib.ri.us\nlib.sc.us\nlib.sd.us\nlib.tn.us\nlib.tx.us\nlib.ut.us\nlib.vi.us\nlib.vt.us\nlib.va.us\nlib.wa.us\nlib.wi.us\n// lib.wv.us Bug 941670 - Removed at request of Larry W Arnold <arnold@wvlc.lib.wv.us>\nlib.wy.us\n// k12.ma.us contains school districts in Massachusetts. The 4LDs are\n// managed independently except for private (PVT), charter (CHTR) and\n// parochial (PAROCH) schools. Those are delegated directly to the\n// 5LD operators. <k12-ma-hostmaster _ at _ rsuc.gweep.net>\npvt.k12.ma.us\nchtr.k12.ma.us\nparoch.k12.ma.us\n// Merit Network, Inc. maintains the registry for =~ /(k12|cc|lib).mi.us/ and the following\n// see also: http://domreg.merit.edu\n// see also: whois -h whois.domreg.merit.edu help\nann-arbor.mi.us\ncog.mi.us\ndst.mi.us\neaton.mi.us\ngen.mi.us\nmus.mi.us\ntec.mi.us\nwashtenaw.mi.us\n\n// uy : http://www.nic.org.uy/\nuy\ncom.uy\nedu.uy\ngub.uy\nmil.uy\nnet.uy\norg.uy\n\n// uz : http://www.reg.uz/\nuz\nco.uz\ncom.uz\nnet.uz\norg.uz\n\n// va : https://en.wikipedia.org/wiki/.va\nva\n\n// vc : https://en.wikipedia.org/wiki/.vc\n// Submitted by registry <kshah@ca.afilias.info>\nvc\ncom.vc\nnet.vc\norg.vc\ngov.vc\nmil.vc\nedu.vc\n\n// ve : https://registro.nic.ve/\n// Submitted by registry nic@nic.ve and nicve@conatel.gob.ve\nve\narts.ve\nbib.ve\nco.ve\ncom.ve\ne12.ve\nedu.ve\nfirm.ve\ngob.ve\ngov.ve\ninfo.ve\nint.ve\nmil.ve\nnet.ve\nnom.ve\norg.ve\nrar.ve\nrec.ve\nstore.ve\ntec.ve\nweb.ve\n\n// vg : https://en.wikipedia.org/wiki/.vg\nvg\n\n// vi : http://www.nic.vi/newdomainform.htm\n// http://www.nic.vi/Domain_Rules/body_domain_rules.html indicates some other\n// TLDs are \"reserved\", such as edu.vi and gov.vi, but doesn't actually say they\n// are available for registration (which they do not seem to be).\nvi\nco.vi\ncom.vi\nk12.vi\nnet.vi\norg.vi\n\n// vn : https://www.vnnic.vn/en/domain/cctld-vn\n// https://vnnic.vn/sites/default/files/tailieu/vn.cctld.domains.txt\nvn\nac.vn\nai.vn\nbiz.vn\ncom.vn\nedu.vn\ngov.vn\nhealth.vn\nid.vn\ninfo.vn\nint.vn\nio.vn\nname.vn\nnet.vn\norg.vn\npro.vn\n\n// vn geographical names\nangiang.vn\nbacgiang.vn\nbackan.vn\nbaclieu.vn\nbacninh.vn\nbaria-vungtau.vn\nbentre.vn\nbinhdinh.vn\nbinhduong.vn\nbinhphuoc.vn\nbinhthuan.vn\ncamau.vn\ncantho.vn\ncaobang.vn\ndaklak.vn\ndaknong.vn\ndanang.vn\ndienbien.vn\ndongnai.vn\ndongthap.vn\ngialai.vn\nhagiang.vn\nhaiduong.vn\nhaiphong.vn\nhanam.vn\nhanoi.vn\nhatinh.vn\nhaugiang.vn\nhoabinh.vn\nhungyen.vn\nkhanhhoa.vn\nkiengiang.vn\nkontum.vn\nlaichau.vn\nlamdong.vn\nlangson.vn\nlaocai.vn\nlongan.vn\nnamdinh.vn\nnghean.vn\nninhbinh.vn\nninhthuan.vn\nphutho.vn\nphuyen.vn\nquangbinh.vn\nquangnam.vn\nquangngai.vn\nquangninh.vn\nquangtri.vn\nsoctrang.vn\nsonla.vn\ntayninh.vn\nthaibinh.vn\nthainguyen.vn\nthanhhoa.vn\nthanhphohochiminh.vn\nthuathienhue.vn\ntiengiang.vn\ntravinh.vn\ntuyenquang.vn\nvinhlong.vn\nvinhphuc.vn\nyenbai.vn\n\n// vu : https://en.wikipedia.org/wiki/.vu\n// http://www.vunic.vu/\nvu\ncom.vu\nedu.vu\nnet.vu\norg.vu\n\n// wf : https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf\nwf\n\n// ws : https://en.wikipedia.org/wiki/.ws\n// http://samoanic.ws/index.dhtml\nws\ncom.ws\nnet.ws\norg.ws\ngov.ws\nedu.ws\n\n// yt : https://www.afnic.fr/wp-media/uploads/2022/12/afnic-naming-policy-2023-01-01.pdf\nyt\n\n// IDN ccTLDs\n// When submitting patches, please maintain a sort by ISO 3166 ccTLD, then\n// U-label, and follow this format:\n// // A-Label (\"<Latin renderings>\", <language name>[, variant info]) : <ISO 3166 ccTLD>\n// // [sponsoring org]\n// U-Label\n\n// xn--mgbaam7a8h (\"Emerat\", Arabic) : AE\n// http://nic.ae/english/arabicdomain/rules.jsp\n\\u0627\\u0645\\u0627\\u0631\\u0627\\u062A\n\n// xn--y9a3aq (\"hye\", Armenian) : AM\n// ISOC AM (operated by .am Registry)\n\\u0570\\u0561\\u0575\n\n// xn--54b7fta0cc (\"Bangla\", Bangla) : BD\n\\u09AC\\u09BE\\u0982\\u09B2\\u09BE\n\n// xn--90ae (\"bg\", Bulgarian) : BG\n\\u0431\\u0433\n\n// xn--mgbcpq6gpa1a (\"albahrain\", Arabic) : BH\n\\u0627\\u0644\\u0628\\u062D\\u0631\\u064A\\u0646\n\n// xn--90ais (\"bel\", Belarusian/Russian Cyrillic) : BY\n// Operated by .by registry\n\\u0431\\u0435\\u043B\n\n// xn--fiqs8s (\"Zhongguo/China\", Chinese, Simplified) : CN\n// CNNIC\n// http://cnnic.cn/html/Dir/2005/10/11/3218.htm\n\\u4E2D\\u56FD\n\n// xn--fiqz9s (\"Zhongguo/China\", Chinese, Traditional) : CN\n// CNNIC\n// http://cnnic.cn/html/Dir/2005/10/11/3218.htm\n\\u4E2D\\u570B\n\n// xn--lgbbat1ad8j (\"Algeria/Al Jazair\", Arabic) : DZ\n\\u0627\\u0644\\u062C\\u0632\\u0627\\u0626\\u0631\n\n// xn--wgbh1c (\"Egypt/Masr\", Arabic) : EG\n// http://www.dotmasr.eg/\n\\u0645\\u0635\\u0631\n\n// xn--e1a4c (\"eu\", Cyrillic) : EU\n// https://eurid.eu\n\\u0435\\u044E\n\n// xn--qxa6a (\"eu\", Greek) : EU\n// https://eurid.eu\n\\u03B5\\u03C5\n\n// xn--mgbah1a3hjkrd (\"Mauritania\", Arabic) : MR\n\\u0645\\u0648\\u0631\\u064A\\u062A\\u0627\\u0646\\u064A\\u0627\n\n// xn--node (\"ge\", Georgian Mkhedruli) : GE\n\\u10D2\\u10D4\n\n// xn--qxam (\"el\", Greek) : GR\n// Hellenic Ministry of Infrastructure, Transport, and Networks\n\\u03B5\\u03BB\n\n// xn--j6w193g (\"Hong Kong\", Chinese) : HK\n// https://www.hkirc.hk\n// Submitted by registry <hk.tech@hkirc.hk>\n// https://www.hkirc.hk/content.jsp?id=30#!/34\n\\u9999\\u6E2F\n\\u516C\\u53F8.\\u9999\\u6E2F\n\\u6559\\u80B2.\\u9999\\u6E2F\n\\u653F\\u5E9C.\\u9999\\u6E2F\n\\u500B\\u4EBA.\\u9999\\u6E2F\n\\u7DB2\\u7D61.\\u9999\\u6E2F\n\\u7D44\\u7E54.\\u9999\\u6E2F\n\n// xn--2scrj9c (\"Bharat\", Kannada) : IN\n// India\n\\u0CAD\\u0CBE\\u0CB0\\u0CA4\n\n// xn--3hcrj9c (\"Bharat\", Oriya) : IN\n// India\n\\u0B2D\\u0B3E\\u0B30\\u0B24\n\n// xn--45br5cyl (\"Bharatam\", Assamese) : IN\n// India\n\\u09AD\\u09BE\\u09F0\\u09A4\n\n// xn--h2breg3eve (\"Bharatam\", Sanskrit) : IN\n// India\n\\u092D\\u093E\\u0930\\u0924\\u092E\\u094D\n\n// xn--h2brj9c8c (\"Bharot\", Santali) : IN\n// India\n\\u092D\\u093E\\u0930\\u094B\\u0924\n\n// xn--mgbgu82a (\"Bharat\", Sindhi) : IN\n// India\n\\u0680\\u0627\\u0631\\u062A\n\n// xn--rvc1e0am3e (\"Bharatam\", Malayalam) : IN\n// India\n\\u0D2D\\u0D3E\\u0D30\\u0D24\\u0D02\n\n// xn--h2brj9c (\"Bharat\", Devanagari) : IN\n// India\n\\u092D\\u093E\\u0930\\u0924\n\n// xn--mgbbh1a (\"Bharat\", Kashmiri) : IN\n// India\n\\u0628\\u0627\\u0631\\u062A\n\n// xn--mgbbh1a71e (\"Bharat\", Arabic) : IN\n// India\n\\u0628\\u06BE\\u0627\\u0631\\u062A\n\n// xn--fpcrj9c3d (\"Bharat\", Telugu) : IN\n// India\n\\u0C2D\\u0C3E\\u0C30\\u0C24\\u0C4D\n\n// xn--gecrj9c (\"Bharat\", Gujarati) : IN\n// India\n\\u0AAD\\u0ABE\\u0AB0\\u0AA4\n\n// xn--s9brj9c (\"Bharat\", Gurmukhi) : IN\n// India\n\\u0A2D\\u0A3E\\u0A30\\u0A24\n\n// xn--45brj9c (\"Bharat\", Bengali) : IN\n// India\n\\u09AD\\u09BE\\u09B0\\u09A4\n\n// xn--xkc2dl3a5ee0h (\"India\", Tamil) : IN\n// India\n\\u0B87\\u0BA8\\u0BCD\\u0BA4\\u0BBF\\u0BAF\\u0BBE\n\n// xn--mgba3a4f16a (\"Iran\", Persian) : IR\n\\u0627\\u06CC\\u0631\\u0627\\u0646\n\n// xn--mgba3a4fra (\"Iran\", Arabic) : IR\n\\u0627\\u064A\\u0631\\u0627\\u0646\n\n// xn--mgbtx2b (\"Iraq\", Arabic) : IQ\n// Communications and Media Commission\n\\u0639\\u0631\\u0627\\u0642\n\n// xn--mgbayh7gpa (\"al-Ordon\", Arabic) : JO\n// National Information Technology Center (NITC)\n// Royal Scientific Society, Al-Jubeiha\n\\u0627\\u0644\\u0627\\u0631\\u062F\\u0646\n\n// xn--3e0b707e (\"Republic of Korea\", Hangul) : KR\n\\uD55C\\uAD6D\n\n// xn--80ao21a (\"Kaz\", Kazakh) : KZ\n\\u049B\\u0430\\u0437\n\n// xn--q7ce6a (\"Lao\", Lao) : LA\n\\u0EA5\\u0EB2\\u0EA7\n\n// xn--fzc2c9e2c (\"Lanka\", Sinhalese-Sinhala) : LK\n// https://nic.lk\n\\u0DBD\\u0D82\\u0D9A\\u0DCF\n\n// xn--xkc2al3hye2a (\"Ilangai\", Tamil) : LK\n// https://nic.lk\n\\u0B87\\u0BB2\\u0B99\\u0BCD\\u0B95\\u0BC8\n\n// xn--mgbc0a9azcg (\"Morocco/al-Maghrib\", Arabic) : MA\n\\u0627\\u0644\\u0645\\u063A\\u0631\\u0628\n\n// xn--d1alf (\"mkd\", Macedonian) : MK\n// MARnet\n\\u043C\\u043A\\u0434\n\n// xn--l1acc (\"mon\", Mongolian) : MN\n\\u043C\\u043E\\u043D\n\n// xn--mix891f (\"Macao\", Chinese, Traditional) : MO\n// MONIC / HNET Asia (Registry Operator for .mo)\n\\u6FB3\\u9580\n\n// xn--mix082f (\"Macao\", Chinese, Simplified) : MO\n\\u6FB3\\u95E8\n\n// xn--mgbx4cd0ab (\"Malaysia\", Malay) : MY\n\\u0645\\u0644\\u064A\\u0633\\u064A\\u0627\n\n// xn--mgb9awbf (\"Oman\", Arabic) : OM\n\\u0639\\u0645\\u0627\\u0646\n\n// xn--mgbai9azgqp6j (\"Pakistan\", Urdu/Arabic) : PK\n\\u067E\\u0627\\u06A9\\u0633\\u062A\\u0627\\u0646\n\n// xn--mgbai9a5eva00b (\"Pakistan\", Urdu/Arabic, variant) : PK\n\\u067E\\u0627\\u0643\\u0633\\u062A\\u0627\\u0646\n\n// xn--ygbi2ammx (\"Falasteen\", Arabic) : PS\n// The Palestinian National Internet Naming Authority (PNINA)\n// http://www.pnina.ps\n\\u0641\\u0644\\u0633\\u0637\\u064A\\u0646\n\n// xn--90a3ac (\"srb\", Cyrillic) : RS\n// https://www.rnids.rs/en/domains/national-domains\n\\u0441\\u0440\\u0431\n\\u043F\\u0440.\\u0441\\u0440\\u0431\n\\u043E\\u0440\\u0433.\\u0441\\u0440\\u0431\n\\u043E\\u0431\\u0440.\\u0441\\u0440\\u0431\n\\u043E\\u0434.\\u0441\\u0440\\u0431\n\\u0443\\u043F\\u0440.\\u0441\\u0440\\u0431\n\\u0430\\u043A.\\u0441\\u0440\\u0431\n\n// xn--p1ai (\"rf\", Russian-Cyrillic) : RU\n// https://cctld.ru/files/pdf/docs/en/rules_ru-rf.pdf\n// Submitted by George Georgievsky <gug@cctld.ru>\n\\u0440\\u0444\n\n// xn--wgbl6a (\"Qatar\", Arabic) : QA\n// http://www.ict.gov.qa/\n\\u0642\\u0637\\u0631\n\n// xn--mgberp4a5d4ar (\"AlSaudiah\", Arabic) : SA\n// http://www.nic.net.sa/\n\\u0627\\u0644\\u0633\\u0639\\u0648\\u062F\\u064A\\u0629\n\n// xn--mgberp4a5d4a87g (\"AlSaudiah\", Arabic, variant) : SA\n\\u0627\\u0644\\u0633\\u0639\\u0648\\u062F\\u06CC\\u0629\n\n// xn--mgbqly7c0a67fbc (\"AlSaudiah\", Arabic, variant) : SA\n\\u0627\\u0644\\u0633\\u0639\\u0648\\u062F\\u06CC\\u06C3\n\n// xn--mgbqly7cvafr (\"AlSaudiah\", Arabic, variant) : SA\n\\u0627\\u0644\\u0633\\u0639\\u0648\\u062F\\u064A\\u0647\n\n// xn--mgbpl2fh (\"sudan\", Arabic) : SD\n// Operated by .sd registry\n\\u0633\\u0648\\u062F\\u0627\\u0646\n\n// xn--yfro4i67o Singapore (\"Singapore\", Chinese) : SG\n\\u65B0\\u52A0\\u5761\n\n// xn--clchc0ea0b2g2a9gcd (\"Singapore\", Tamil) : SG\n\\u0B9A\\u0BBF\\u0B99\\u0BCD\\u0B95\\u0BAA\\u0BCD\\u0BAA\\u0BC2\\u0BB0\\u0BCD\n\n// xn--ogbpf8fl (\"Syria\", Arabic) : SY\n\\u0633\\u0648\\u0631\\u064A\\u0629\n\n// xn--mgbtf8fl (\"Syria\", Arabic, variant) : SY\n\\u0633\\u0648\\u0631\\u064A\\u0627\n\n// xn--o3cw4h (\"Thai\", Thai) : TH\n// http://www.thnic.co.th\n\\u0E44\\u0E17\\u0E22\n\\u0E28\\u0E36\\u0E01\\u0E29\\u0E32.\\u0E44\\u0E17\\u0E22\n\\u0E18\\u0E38\\u0E23\\u0E01\\u0E34\\u0E08.\\u0E44\\u0E17\\u0E22\n\\u0E23\\u0E31\\u0E10\\u0E1A\\u0E32\\u0E25.\\u0E44\\u0E17\\u0E22\n\\u0E17\\u0E2B\\u0E32\\u0E23.\\u0E44\\u0E17\\u0E22\n\\u0E40\\u0E19\\u0E47\\u0E15.\\u0E44\\u0E17\\u0E22\n\\u0E2D\\u0E07\\u0E04\\u0E4C\\u0E01\\u0E23.\\u0E44\\u0E17\\u0E22\n\n// xn--pgbs0dh (\"Tunisia\", Arabic) : TN\n// http://nic.tn\n\\u062A\\u0648\\u0646\\u0633\n\n// xn--kpry57d (\"Taiwan\", Chinese, Traditional) : TW\n// http://www.twnic.net/english/dn/dn_07a.htm\n\\u53F0\\u7063\n\n// xn--kprw13d (\"Taiwan\", Chinese, Simplified) : TW\n// http://www.twnic.net/english/dn/dn_07a.htm\n\\u53F0\\u6E7E\n\n// xn--nnx388a (\"Taiwan\", Chinese, variant) : TW\n\\u81FA\\u7063\n\n// xn--j1amh (\"ukr\", Cyrillic) : UA\n\\u0443\\u043A\\u0440\n\n// xn--mgb2ddes (\"AlYemen\", Arabic) : YE\n\\u0627\\u0644\\u064A\\u0645\\u0646\n\n// xxx : http://icmregistry.com\nxxx\n\n// ye : http://www.y.net.ye/services/domain_name.htm\nye\ncom.ye\nedu.ye\ngov.ye\nnet.ye\nmil.ye\norg.ye\n\n// za : https://www.zadna.org.za/content/page/domain-information/\nac.za\nagric.za\nalt.za\nco.za\nedu.za\ngov.za\ngrondar.za\nlaw.za\nmil.za\nnet.za\nngo.za\nnic.za\nnis.za\nnom.za\norg.za\nschool.za\ntm.za\nweb.za\n\n// zm : https://zicta.zm/\n// Submitted by registry <info@zicta.zm>\nzm\nac.zm\nbiz.zm\nco.zm\ncom.zm\nedu.zm\ngov.zm\ninfo.zm\nmil.zm\nnet.zm\norg.zm\nsch.zm\n\n// zw : https://www.potraz.gov.zw/\n// Confirmed by registry <bmtengwa@potraz.gov.zw> 2017-01-25\nzw\nac.zw\nco.zw\ngov.zw\nmil.zw\norg.zw\n\n\n// newGTLDs\n\n// List of new gTLDs imported from https://www.icann.org/resources/registries/gtlds/v2/gtlds.json on 2023-10-20T15:11:50Z\n// This list is auto-generated, don't edit it manually.\n// aaa : American Automobile Association, Inc.\n// https://www.iana.org/domains/root/db/aaa.html\naaa\n\n// aarp : AARP\n// https://www.iana.org/domains/root/db/aarp.html\naarp\n\n// abb : ABB Ltd\n// https://www.iana.org/domains/root/db/abb.html\nabb\n\n// abbott : Abbott Laboratories, Inc.\n// https://www.iana.org/domains/root/db/abbott.html\nabbott\n\n// abbvie : AbbVie Inc.\n// https://www.iana.org/domains/root/db/abbvie.html\nabbvie\n\n// abc : Disney Enterprises, Inc.\n// https://www.iana.org/domains/root/db/abc.html\nabc\n\n// able : Able Inc.\n// https://www.iana.org/domains/root/db/able.html\nable\n\n// abogado : Registry Services, LLC\n// https://www.iana.org/domains/root/db/abogado.html\nabogado\n\n// abudhabi : Abu Dhabi Systems and Information Centre\n// https://www.iana.org/domains/root/db/abudhabi.html\nabudhabi\n\n// academy : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/academy.html\nacademy\n\n// accenture : Accenture plc\n// https://www.iana.org/domains/root/db/accenture.html\naccenture\n\n// accountant : dot Accountant Limited\n// https://www.iana.org/domains/root/db/accountant.html\naccountant\n\n// accountants : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/accountants.html\naccountants\n\n// aco : ACO Severin Ahlmann GmbH & Co. KG\n// https://www.iana.org/domains/root/db/aco.html\naco\n\n// actor : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/actor.html\nactor\n\n// ads : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/ads.html\nads\n\n// adult : ICM Registry AD LLC\n// https://www.iana.org/domains/root/db/adult.html\nadult\n\n// aeg : Aktiebolaget Electrolux\n// https://www.iana.org/domains/root/db/aeg.html\naeg\n\n// aetna : Aetna Life Insurance Company\n// https://www.iana.org/domains/root/db/aetna.html\naetna\n\n// afl : Australian Football League\n// https://www.iana.org/domains/root/db/afl.html\nafl\n\n// africa : ZA Central Registry NPC trading as Registry.Africa\n// https://www.iana.org/domains/root/db/africa.html\nafrica\n\n// agakhan : Fondation Aga Khan (Aga Khan Foundation)\n// https://www.iana.org/domains/root/db/agakhan.html\nagakhan\n\n// agency : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/agency.html\nagency\n\n// aig : American International Group, Inc.\n// https://www.iana.org/domains/root/db/aig.html\naig\n\n// airbus : Airbus S.A.S.\n// https://www.iana.org/domains/root/db/airbus.html\nairbus\n\n// airforce : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/airforce.html\nairforce\n\n// airtel : Bharti Airtel Limited\n// https://www.iana.org/domains/root/db/airtel.html\nairtel\n\n// akdn : Fondation Aga Khan (Aga Khan Foundation)\n// https://www.iana.org/domains/root/db/akdn.html\nakdn\n\n// alibaba : Alibaba Group Holding Limited\n// https://www.iana.org/domains/root/db/alibaba.html\nalibaba\n\n// alipay : Alibaba Group Holding Limited\n// https://www.iana.org/domains/root/db/alipay.html\nalipay\n\n// allfinanz : Allfinanz Deutsche Verm\\xF6gensberatung Aktiengesellschaft\n// https://www.iana.org/domains/root/db/allfinanz.html\nallfinanz\n\n// allstate : Allstate Fire and Casualty Insurance Company\n// https://www.iana.org/domains/root/db/allstate.html\nallstate\n\n// ally : Ally Financial Inc.\n// https://www.iana.org/domains/root/db/ally.html\nally\n\n// alsace : Region Grand Est\n// https://www.iana.org/domains/root/db/alsace.html\nalsace\n\n// alstom : ALSTOM\n// https://www.iana.org/domains/root/db/alstom.html\nalstom\n\n// amazon : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/amazon.html\namazon\n\n// americanexpress : American Express Travel Related Services Company, Inc.\n// https://www.iana.org/domains/root/db/americanexpress.html\namericanexpress\n\n// americanfamily : AmFam, Inc.\n// https://www.iana.org/domains/root/db/americanfamily.html\namericanfamily\n\n// amex : American Express Travel Related Services Company, Inc.\n// https://www.iana.org/domains/root/db/amex.html\namex\n\n// amfam : AmFam, Inc.\n// https://www.iana.org/domains/root/db/amfam.html\namfam\n\n// amica : Amica Mutual Insurance Company\n// https://www.iana.org/domains/root/db/amica.html\namica\n\n// amsterdam : Gemeente Amsterdam\n// https://www.iana.org/domains/root/db/amsterdam.html\namsterdam\n\n// analytics : Campus IP LLC\n// https://www.iana.org/domains/root/db/analytics.html\nanalytics\n\n// android : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/android.html\nandroid\n\n// anquan : Beijing Qihu Keji Co., Ltd.\n// https://www.iana.org/domains/root/db/anquan.html\nanquan\n\n// anz : Australia and New Zealand Banking Group Limited\n// https://www.iana.org/domains/root/db/anz.html\nanz\n\n// aol : Oath Inc.\n// https://www.iana.org/domains/root/db/aol.html\naol\n\n// apartments : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/apartments.html\napartments\n\n// app : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/app.html\napp\n\n// apple : Apple Inc.\n// https://www.iana.org/domains/root/db/apple.html\napple\n\n// aquarelle : Aquarelle.com\n// https://www.iana.org/domains/root/db/aquarelle.html\naquarelle\n\n// arab : League of Arab States\n// https://www.iana.org/domains/root/db/arab.html\narab\n\n// aramco : Aramco Services Company\n// https://www.iana.org/domains/root/db/aramco.html\naramco\n\n// archi : Identity Digital Limited\n// https://www.iana.org/domains/root/db/archi.html\narchi\n\n// army : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/army.html\narmy\n\n// art : UK Creative Ideas Limited\n// https://www.iana.org/domains/root/db/art.html\nart\n\n// arte : Association Relative \\xE0 la T\\xE9l\\xE9vision Europ\\xE9enne G.E.I.E.\n// https://www.iana.org/domains/root/db/arte.html\narte\n\n// asda : Wal-Mart Stores, Inc.\n// https://www.iana.org/domains/root/db/asda.html\nasda\n\n// associates : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/associates.html\nassociates\n\n// athleta : The Gap, Inc.\n// https://www.iana.org/domains/root/db/athleta.html\nathleta\n\n// attorney : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/attorney.html\nattorney\n\n// auction : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/auction.html\nauction\n\n// audi : AUDI Aktiengesellschaft\n// https://www.iana.org/domains/root/db/audi.html\naudi\n\n// audible : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/audible.html\naudible\n\n// audio : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/audio.html\naudio\n\n// auspost : Australian Postal Corporation\n// https://www.iana.org/domains/root/db/auspost.html\nauspost\n\n// author : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/author.html\nauthor\n\n// auto : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/auto.html\nauto\n\n// autos : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/autos.html\nautos\n\n// avianca : Avianca Inc.\n// https://www.iana.org/domains/root/db/avianca.html\navianca\n\n// aws : AWS Registry LLC\n// https://www.iana.org/domains/root/db/aws.html\naws\n\n// axa : AXA Group Operations SAS\n// https://www.iana.org/domains/root/db/axa.html\naxa\n\n// azure : Microsoft Corporation\n// https://www.iana.org/domains/root/db/azure.html\nazure\n\n// baby : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/baby.html\nbaby\n\n// baidu : Baidu, Inc.\n// https://www.iana.org/domains/root/db/baidu.html\nbaidu\n\n// banamex : Citigroup Inc.\n// https://www.iana.org/domains/root/db/banamex.html\nbanamex\n\n// bananarepublic : The Gap, Inc.\n// https://www.iana.org/domains/root/db/bananarepublic.html\nbananarepublic\n\n// band : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/band.html\nband\n\n// bank : fTLD Registry Services LLC\n// https://www.iana.org/domains/root/db/bank.html\nbank\n\n// bar : Punto 2012 Sociedad Anonima Promotora de Inversion de Capital Variable\n// https://www.iana.org/domains/root/db/bar.html\nbar\n\n// barcelona : Municipi de Barcelona\n// https://www.iana.org/domains/root/db/barcelona.html\nbarcelona\n\n// barclaycard : Barclays Bank PLC\n// https://www.iana.org/domains/root/db/barclaycard.html\nbarclaycard\n\n// barclays : Barclays Bank PLC\n// https://www.iana.org/domains/root/db/barclays.html\nbarclays\n\n// barefoot : Gallo Vineyards, Inc.\n// https://www.iana.org/domains/root/db/barefoot.html\nbarefoot\n\n// bargains : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/bargains.html\nbargains\n\n// baseball : MLB Advanced Media DH, LLC\n// https://www.iana.org/domains/root/db/baseball.html\nbaseball\n\n// basketball : F\\xE9d\\xE9ration Internationale de Basketball (FIBA)\n// https://www.iana.org/domains/root/db/basketball.html\nbasketball\n\n// bauhaus : Werkhaus GmbH\n// https://www.iana.org/domains/root/db/bauhaus.html\nbauhaus\n\n// bayern : Bayern Connect GmbH\n// https://www.iana.org/domains/root/db/bayern.html\nbayern\n\n// bbc : British Broadcasting Corporation\n// https://www.iana.org/domains/root/db/bbc.html\nbbc\n\n// bbt : BB&T Corporation\n// https://www.iana.org/domains/root/db/bbt.html\nbbt\n\n// bbva : BANCO BILBAO VIZCAYA ARGENTARIA, S.A.\n// https://www.iana.org/domains/root/db/bbva.html\nbbva\n\n// bcg : The Boston Consulting Group, Inc.\n// https://www.iana.org/domains/root/db/bcg.html\nbcg\n\n// bcn : Municipi de Barcelona\n// https://www.iana.org/domains/root/db/bcn.html\nbcn\n\n// beats : Beats Electronics, LLC\n// https://www.iana.org/domains/root/db/beats.html\nbeats\n\n// beauty : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/beauty.html\nbeauty\n\n// beer : Registry Services, LLC\n// https://www.iana.org/domains/root/db/beer.html\nbeer\n\n// bentley : Bentley Motors Limited\n// https://www.iana.org/domains/root/db/bentley.html\nbentley\n\n// berlin : dotBERLIN GmbH & Co. KG\n// https://www.iana.org/domains/root/db/berlin.html\nberlin\n\n// best : BestTLD Pty Ltd\n// https://www.iana.org/domains/root/db/best.html\nbest\n\n// bestbuy : BBY Solutions, Inc.\n// https://www.iana.org/domains/root/db/bestbuy.html\nbestbuy\n\n// bet : Identity Digital Limited\n// https://www.iana.org/domains/root/db/bet.html\nbet\n\n// bharti : Bharti Enterprises (Holding) Private Limited\n// https://www.iana.org/domains/root/db/bharti.html\nbharti\n\n// bible : American Bible Society\n// https://www.iana.org/domains/root/db/bible.html\nbible\n\n// bid : dot Bid Limited\n// https://www.iana.org/domains/root/db/bid.html\nbid\n\n// bike : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/bike.html\nbike\n\n// bing : Microsoft Corporation\n// https://www.iana.org/domains/root/db/bing.html\nbing\n\n// bingo : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/bingo.html\nbingo\n\n// bio : Identity Digital Limited\n// https://www.iana.org/domains/root/db/bio.html\nbio\n\n// black : Identity Digital Limited\n// https://www.iana.org/domains/root/db/black.html\nblack\n\n// blackfriday : Registry Services, LLC\n// https://www.iana.org/domains/root/db/blackfriday.html\nblackfriday\n\n// blockbuster : Dish DBS Corporation\n// https://www.iana.org/domains/root/db/blockbuster.html\nblockbuster\n\n// blog : Knock Knock WHOIS There, LLC\n// https://www.iana.org/domains/root/db/blog.html\nblog\n\n// bloomberg : Bloomberg IP Holdings LLC\n// https://www.iana.org/domains/root/db/bloomberg.html\nbloomberg\n\n// blue : Identity Digital Limited\n// https://www.iana.org/domains/root/db/blue.html\nblue\n\n// bms : Bristol-Myers Squibb Company\n// https://www.iana.org/domains/root/db/bms.html\nbms\n\n// bmw : Bayerische Motoren Werke Aktiengesellschaft\n// https://www.iana.org/domains/root/db/bmw.html\nbmw\n\n// bnpparibas : BNP Paribas\n// https://www.iana.org/domains/root/db/bnpparibas.html\nbnpparibas\n\n// boats : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/boats.html\nboats\n\n// boehringer : Boehringer Ingelheim International GmbH\n// https://www.iana.org/domains/root/db/boehringer.html\nboehringer\n\n// bofa : Bank of America Corporation\n// https://www.iana.org/domains/root/db/bofa.html\nbofa\n\n// bom : N\\xFAcleo de Informa\\xE7\\xE3o e Coordena\\xE7\\xE3o do Ponto BR - NIC.br\n// https://www.iana.org/domains/root/db/bom.html\nbom\n\n// bond : ShortDot SA\n// https://www.iana.org/domains/root/db/bond.html\nbond\n\n// boo : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/boo.html\nboo\n\n// book : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/book.html\nbook\n\n// booking : Booking.com B.V.\n// https://www.iana.org/domains/root/db/booking.html\nbooking\n\n// bosch : Robert Bosch GMBH\n// https://www.iana.org/domains/root/db/bosch.html\nbosch\n\n// bostik : Bostik SA\n// https://www.iana.org/domains/root/db/bostik.html\nbostik\n\n// boston : Registry Services, LLC\n// https://www.iana.org/domains/root/db/boston.html\nboston\n\n// bot : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/bot.html\nbot\n\n// boutique : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/boutique.html\nboutique\n\n// box : Intercap Registry Inc.\n// https://www.iana.org/domains/root/db/box.html\nbox\n\n// bradesco : Banco Bradesco S.A.\n// https://www.iana.org/domains/root/db/bradesco.html\nbradesco\n\n// bridgestone : Bridgestone Corporation\n// https://www.iana.org/domains/root/db/bridgestone.html\nbridgestone\n\n// broadway : Celebrate Broadway, Inc.\n// https://www.iana.org/domains/root/db/broadway.html\nbroadway\n\n// broker : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/broker.html\nbroker\n\n// brother : Brother Industries, Ltd.\n// https://www.iana.org/domains/root/db/brother.html\nbrother\n\n// brussels : DNS.be vzw\n// https://www.iana.org/domains/root/db/brussels.html\nbrussels\n\n// build : Plan Bee LLC\n// https://www.iana.org/domains/root/db/build.html\nbuild\n\n// builders : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/builders.html\nbuilders\n\n// business : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/business.html\nbusiness\n\n// buy : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/buy.html\nbuy\n\n// buzz : DOTSTRATEGY CO.\n// https://www.iana.org/domains/root/db/buzz.html\nbuzz\n\n// bzh : Association www.bzh\n// https://www.iana.org/domains/root/db/bzh.html\nbzh\n\n// cab : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/cab.html\ncab\n\n// cafe : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/cafe.html\ncafe\n\n// cal : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/cal.html\ncal\n\n// call : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/call.html\ncall\n\n// calvinklein : PVH gTLD Holdings LLC\n// https://www.iana.org/domains/root/db/calvinklein.html\ncalvinklein\n\n// cam : Cam Connecting SARL\n// https://www.iana.org/domains/root/db/cam.html\ncam\n\n// camera : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/camera.html\ncamera\n\n// camp : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/camp.html\ncamp\n\n// canon : Canon Inc.\n// https://www.iana.org/domains/root/db/canon.html\ncanon\n\n// capetown : ZA Central Registry NPC trading as ZA Central Registry\n// https://www.iana.org/domains/root/db/capetown.html\ncapetown\n\n// capital : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/capital.html\ncapital\n\n// capitalone : Capital One Financial Corporation\n// https://www.iana.org/domains/root/db/capitalone.html\ncapitalone\n\n// car : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/car.html\ncar\n\n// caravan : Caravan International, Inc.\n// https://www.iana.org/domains/root/db/caravan.html\ncaravan\n\n// cards : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/cards.html\ncards\n\n// care : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/care.html\ncare\n\n// career : dotCareer LLC\n// https://www.iana.org/domains/root/db/career.html\ncareer\n\n// careers : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/careers.html\ncareers\n\n// cars : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/cars.html\ncars\n\n// casa : Registry Services, LLC\n// https://www.iana.org/domains/root/db/casa.html\ncasa\n\n// case : Digity, LLC\n// https://www.iana.org/domains/root/db/case.html\ncase\n\n// cash : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/cash.html\ncash\n\n// casino : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/casino.html\ncasino\n\n// catering : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/catering.html\ncatering\n\n// catholic : Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)\n// https://www.iana.org/domains/root/db/catholic.html\ncatholic\n\n// cba : COMMONWEALTH BANK OF AUSTRALIA\n// https://www.iana.org/domains/root/db/cba.html\ncba\n\n// cbn : The Christian Broadcasting Network, Inc.\n// https://www.iana.org/domains/root/db/cbn.html\ncbn\n\n// cbre : CBRE, Inc.\n// https://www.iana.org/domains/root/db/cbre.html\ncbre\n\n// cbs : CBS Domains Inc.\n// https://www.iana.org/domains/root/db/cbs.html\ncbs\n\n// center : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/center.html\ncenter\n\n// ceo : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/ceo.html\nceo\n\n// cern : European Organization for Nuclear Research (\"CERN\")\n// https://www.iana.org/domains/root/db/cern.html\ncern\n\n// cfa : CFA Institute\n// https://www.iana.org/domains/root/db/cfa.html\ncfa\n\n// cfd : ShortDot SA\n// https://www.iana.org/domains/root/db/cfd.html\ncfd\n\n// chanel : Chanel International B.V.\n// https://www.iana.org/domains/root/db/chanel.html\nchanel\n\n// channel : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/channel.html\nchannel\n\n// charity : Public Interest Registry\n// https://www.iana.org/domains/root/db/charity.html\ncharity\n\n// chase : JPMorgan Chase Bank, National Association\n// https://www.iana.org/domains/root/db/chase.html\nchase\n\n// chat : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/chat.html\nchat\n\n// cheap : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/cheap.html\ncheap\n\n// chintai : CHINTAI Corporation\n// https://www.iana.org/domains/root/db/chintai.html\nchintai\n\n// christmas : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/christmas.html\nchristmas\n\n// chrome : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/chrome.html\nchrome\n\n// church : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/church.html\nchurch\n\n// cipriani : Hotel Cipriani Srl\n// https://www.iana.org/domains/root/db/cipriani.html\ncipriani\n\n// circle : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/circle.html\ncircle\n\n// cisco : Cisco Technology, Inc.\n// https://www.iana.org/domains/root/db/cisco.html\ncisco\n\n// citadel : Citadel Domain LLC\n// https://www.iana.org/domains/root/db/citadel.html\ncitadel\n\n// citi : Citigroup Inc.\n// https://www.iana.org/domains/root/db/citi.html\nciti\n\n// citic : CITIC Group Corporation\n// https://www.iana.org/domains/root/db/citic.html\ncitic\n\n// city : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/city.html\ncity\n\n// claims : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/claims.html\nclaims\n\n// cleaning : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/cleaning.html\ncleaning\n\n// click : Internet Naming Company LLC\n// https://www.iana.org/domains/root/db/click.html\nclick\n\n// clinic : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/clinic.html\nclinic\n\n// clinique : The Est\\xE9e Lauder Companies Inc.\n// https://www.iana.org/domains/root/db/clinique.html\nclinique\n\n// clothing : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/clothing.html\nclothing\n\n// cloud : Aruba PEC S.p.A.\n// https://www.iana.org/domains/root/db/cloud.html\ncloud\n\n// club : Registry Services, LLC\n// https://www.iana.org/domains/root/db/club.html\nclub\n\n// clubmed : Club M\\xE9diterran\\xE9e S.A.\n// https://www.iana.org/domains/root/db/clubmed.html\nclubmed\n\n// coach : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/coach.html\ncoach\n\n// codes : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/codes.html\ncodes\n\n// coffee : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/coffee.html\ncoffee\n\n// college : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/college.html\ncollege\n\n// cologne : dotKoeln GmbH\n// https://www.iana.org/domains/root/db/cologne.html\ncologne\n\n// comcast : Comcast IP Holdings I, LLC\n// https://www.iana.org/domains/root/db/comcast.html\ncomcast\n\n// commbank : COMMONWEALTH BANK OF AUSTRALIA\n// https://www.iana.org/domains/root/db/commbank.html\ncommbank\n\n// community : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/community.html\ncommunity\n\n// company : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/company.html\ncompany\n\n// compare : Registry Services, LLC\n// https://www.iana.org/domains/root/db/compare.html\ncompare\n\n// computer : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/computer.html\ncomputer\n\n// comsec : VeriSign, Inc.\n// https://www.iana.org/domains/root/db/comsec.html\ncomsec\n\n// condos : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/condos.html\ncondos\n\n// construction : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/construction.html\nconstruction\n\n// consulting : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/consulting.html\nconsulting\n\n// contact : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/contact.html\ncontact\n\n// contractors : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/contractors.html\ncontractors\n\n// cooking : Registry Services, LLC\n// https://www.iana.org/domains/root/db/cooking.html\ncooking\n\n// cool : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/cool.html\ncool\n\n// corsica : Collectivit\\xE9 de Corse\n// https://www.iana.org/domains/root/db/corsica.html\ncorsica\n\n// country : Internet Naming Company LLC\n// https://www.iana.org/domains/root/db/country.html\ncountry\n\n// coupon : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/coupon.html\ncoupon\n\n// coupons : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/coupons.html\ncoupons\n\n// courses : Registry Services, LLC\n// https://www.iana.org/domains/root/db/courses.html\ncourses\n\n// cpa : American Institute of Certified Public Accountants\n// https://www.iana.org/domains/root/db/cpa.html\ncpa\n\n// credit : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/credit.html\ncredit\n\n// creditcard : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/creditcard.html\ncreditcard\n\n// creditunion : DotCooperation LLC\n// https://www.iana.org/domains/root/db/creditunion.html\ncreditunion\n\n// cricket : dot Cricket Limited\n// https://www.iana.org/domains/root/db/cricket.html\ncricket\n\n// crown : Crown Equipment Corporation\n// https://www.iana.org/domains/root/db/crown.html\ncrown\n\n// crs : Federated Co-operatives Limited\n// https://www.iana.org/domains/root/db/crs.html\ncrs\n\n// cruise : Viking River Cruises (Bermuda) Ltd.\n// https://www.iana.org/domains/root/db/cruise.html\ncruise\n\n// cruises : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/cruises.html\ncruises\n\n// cuisinella : SCHMIDT GROUPE S.A.S.\n// https://www.iana.org/domains/root/db/cuisinella.html\ncuisinella\n\n// cymru : Nominet UK\n// https://www.iana.org/domains/root/db/cymru.html\ncymru\n\n// cyou : ShortDot SA\n// https://www.iana.org/domains/root/db/cyou.html\ncyou\n\n// dabur : Dabur India Limited\n// https://www.iana.org/domains/root/db/dabur.html\ndabur\n\n// dad : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/dad.html\ndad\n\n// dance : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/dance.html\ndance\n\n// data : Dish DBS Corporation\n// https://www.iana.org/domains/root/db/data.html\ndata\n\n// date : dot Date Limited\n// https://www.iana.org/domains/root/db/date.html\ndate\n\n// dating : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/dating.html\ndating\n\n// datsun : NISSAN MOTOR CO., LTD.\n// https://www.iana.org/domains/root/db/datsun.html\ndatsun\n\n// day : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/day.html\nday\n\n// dclk : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/dclk.html\ndclk\n\n// dds : Registry Services, LLC\n// https://www.iana.org/domains/root/db/dds.html\ndds\n\n// deal : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/deal.html\ndeal\n\n// dealer : Intercap Registry Inc.\n// https://www.iana.org/domains/root/db/dealer.html\ndealer\n\n// deals : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/deals.html\ndeals\n\n// degree : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/degree.html\ndegree\n\n// delivery : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/delivery.html\ndelivery\n\n// dell : Dell Inc.\n// https://www.iana.org/domains/root/db/dell.html\ndell\n\n// deloitte : Deloitte Touche Tohmatsu\n// https://www.iana.org/domains/root/db/deloitte.html\ndeloitte\n\n// delta : Delta Air Lines, Inc.\n// https://www.iana.org/domains/root/db/delta.html\ndelta\n\n// democrat : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/democrat.html\ndemocrat\n\n// dental : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/dental.html\ndental\n\n// dentist : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/dentist.html\ndentist\n\n// desi : Desi Networks LLC\n// https://www.iana.org/domains/root/db/desi.html\ndesi\n\n// design : Registry Services, LLC\n// https://www.iana.org/domains/root/db/design.html\ndesign\n\n// dev : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/dev.html\ndev\n\n// dhl : Deutsche Post AG\n// https://www.iana.org/domains/root/db/dhl.html\ndhl\n\n// diamonds : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/diamonds.html\ndiamonds\n\n// diet : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/diet.html\ndiet\n\n// digital : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/digital.html\ndigital\n\n// direct : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/direct.html\ndirect\n\n// directory : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/directory.html\ndirectory\n\n// discount : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/discount.html\ndiscount\n\n// discover : Discover Financial Services\n// https://www.iana.org/domains/root/db/discover.html\ndiscover\n\n// dish : Dish DBS Corporation\n// https://www.iana.org/domains/root/db/dish.html\ndish\n\n// diy : Lifestyle Domain Holdings, Inc.\n// https://www.iana.org/domains/root/db/diy.html\ndiy\n\n// dnp : Dai Nippon Printing Co., Ltd.\n// https://www.iana.org/domains/root/db/dnp.html\ndnp\n\n// docs : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/docs.html\ndocs\n\n// doctor : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/doctor.html\ndoctor\n\n// dog : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/dog.html\ndog\n\n// domains : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/domains.html\ndomains\n\n// dot : Dish DBS Corporation\n// https://www.iana.org/domains/root/db/dot.html\ndot\n\n// download : dot Support Limited\n// https://www.iana.org/domains/root/db/download.html\ndownload\n\n// drive : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/drive.html\ndrive\n\n// dtv : Dish DBS Corporation\n// https://www.iana.org/domains/root/db/dtv.html\ndtv\n\n// dubai : Dubai Smart Government Department\n// https://www.iana.org/domains/root/db/dubai.html\ndubai\n\n// dunlop : The Goodyear Tire & Rubber Company\n// https://www.iana.org/domains/root/db/dunlop.html\ndunlop\n\n// dupont : DuPont Specialty Products USA, LLC\n// https://www.iana.org/domains/root/db/dupont.html\ndupont\n\n// durban : ZA Central Registry NPC trading as ZA Central Registry\n// https://www.iana.org/domains/root/db/durban.html\ndurban\n\n// dvag : Deutsche Verm\\xF6gensberatung Aktiengesellschaft DVAG\n// https://www.iana.org/domains/root/db/dvag.html\ndvag\n\n// dvr : DISH Technologies L.L.C.\n// https://www.iana.org/domains/root/db/dvr.html\ndvr\n\n// earth : Interlink Systems Innovation Institute K.K.\n// https://www.iana.org/domains/root/db/earth.html\nearth\n\n// eat : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/eat.html\neat\n\n// eco : Big Room Inc.\n// https://www.iana.org/domains/root/db/eco.html\neco\n\n// edeka : EDEKA Verband kaufm\\xE4nnischer Genossenschaften e.V.\n// https://www.iana.org/domains/root/db/edeka.html\nedeka\n\n// education : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/education.html\neducation\n\n// email : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/email.html\nemail\n\n// emerck : Merck KGaA\n// https://www.iana.org/domains/root/db/emerck.html\nemerck\n\n// energy : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/energy.html\nenergy\n\n// engineer : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/engineer.html\nengineer\n\n// engineering : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/engineering.html\nengineering\n\n// enterprises : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/enterprises.html\nenterprises\n\n// epson : Seiko Epson Corporation\n// https://www.iana.org/domains/root/db/epson.html\nepson\n\n// equipment : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/equipment.html\nequipment\n\n// ericsson : Telefonaktiebolaget L M Ericsson\n// https://www.iana.org/domains/root/db/ericsson.html\nericsson\n\n// erni : ERNI Group Holding AG\n// https://www.iana.org/domains/root/db/erni.html\nerni\n\n// esq : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/esq.html\nesq\n\n// estate : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/estate.html\nestate\n\n// etisalat : Emirates Telecommunications Corporation (trading as Etisalat)\n// https://www.iana.org/domains/root/db/etisalat.html\netisalat\n\n// eurovision : European Broadcasting Union (EBU)\n// https://www.iana.org/domains/root/db/eurovision.html\neurovision\n\n// eus : Puntueus Fundazioa\n// https://www.iana.org/domains/root/db/eus.html\neus\n\n// events : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/events.html\nevents\n\n// exchange : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/exchange.html\nexchange\n\n// expert : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/expert.html\nexpert\n\n// exposed : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/exposed.html\nexposed\n\n// express : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/express.html\nexpress\n\n// extraspace : Extra Space Storage LLC\n// https://www.iana.org/domains/root/db/extraspace.html\nextraspace\n\n// fage : Fage International S.A.\n// https://www.iana.org/domains/root/db/fage.html\nfage\n\n// fail : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/fail.html\nfail\n\n// fairwinds : FairWinds Partners, LLC\n// https://www.iana.org/domains/root/db/fairwinds.html\nfairwinds\n\n// faith : dot Faith Limited\n// https://www.iana.org/domains/root/db/faith.html\nfaith\n\n// family : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/family.html\nfamily\n\n// fan : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/fan.html\nfan\n\n// fans : ZDNS International Limited\n// https://www.iana.org/domains/root/db/fans.html\nfans\n\n// farm : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/farm.html\nfarm\n\n// farmers : Farmers Insurance Exchange\n// https://www.iana.org/domains/root/db/farmers.html\nfarmers\n\n// fashion : Registry Services, LLC\n// https://www.iana.org/domains/root/db/fashion.html\nfashion\n\n// fast : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/fast.html\nfast\n\n// fedex : Federal Express Corporation\n// https://www.iana.org/domains/root/db/fedex.html\nfedex\n\n// feedback : Top Level Spectrum, Inc.\n// https://www.iana.org/domains/root/db/feedback.html\nfeedback\n\n// ferrari : Fiat Chrysler Automobiles N.V.\n// https://www.iana.org/domains/root/db/ferrari.html\nferrari\n\n// ferrero : Ferrero Trading Lux S.A.\n// https://www.iana.org/domains/root/db/ferrero.html\nferrero\n\n// fidelity : Fidelity Brokerage Services LLC\n// https://www.iana.org/domains/root/db/fidelity.html\nfidelity\n\n// fido : Rogers Communications Canada Inc.\n// https://www.iana.org/domains/root/db/fido.html\nfido\n\n// film : Motion Picture Domain Registry Pty Ltd\n// https://www.iana.org/domains/root/db/film.html\nfilm\n\n// final : N\\xFAcleo de Informa\\xE7\\xE3o e Coordena\\xE7\\xE3o do Ponto BR - NIC.br\n// https://www.iana.org/domains/root/db/final.html\nfinal\n\n// finance : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/finance.html\nfinance\n\n// financial : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/financial.html\nfinancial\n\n// fire : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/fire.html\nfire\n\n// firestone : Bridgestone Licensing Services, Inc\n// https://www.iana.org/domains/root/db/firestone.html\nfirestone\n\n// firmdale : Firmdale Holdings Limited\n// https://www.iana.org/domains/root/db/firmdale.html\nfirmdale\n\n// fish : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/fish.html\nfish\n\n// fishing : Registry Services, LLC\n// https://www.iana.org/domains/root/db/fishing.html\nfishing\n\n// fit : Registry Services, LLC\n// https://www.iana.org/domains/root/db/fit.html\nfit\n\n// fitness : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/fitness.html\nfitness\n\n// flickr : Flickr, Inc.\n// https://www.iana.org/domains/root/db/flickr.html\nflickr\n\n// flights : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/flights.html\nflights\n\n// flir : FLIR Systems, Inc.\n// https://www.iana.org/domains/root/db/flir.html\nflir\n\n// florist : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/florist.html\nflorist\n\n// flowers : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/flowers.html\nflowers\n\n// fly : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/fly.html\nfly\n\n// foo : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/foo.html\nfoo\n\n// food : Lifestyle Domain Holdings, Inc.\n// https://www.iana.org/domains/root/db/food.html\nfood\n\n// football : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/football.html\nfootball\n\n// ford : Ford Motor Company\n// https://www.iana.org/domains/root/db/ford.html\nford\n\n// forex : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/forex.html\nforex\n\n// forsale : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/forsale.html\nforsale\n\n// forum : Fegistry, LLC\n// https://www.iana.org/domains/root/db/forum.html\nforum\n\n// foundation : Public Interest Registry\n// https://www.iana.org/domains/root/db/foundation.html\nfoundation\n\n// fox : FOX Registry, LLC\n// https://www.iana.org/domains/root/db/fox.html\nfox\n\n// free : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/free.html\nfree\n\n// fresenius : Fresenius Immobilien-Verwaltungs-GmbH\n// https://www.iana.org/domains/root/db/fresenius.html\nfresenius\n\n// frl : FRLregistry B.V.\n// https://www.iana.org/domains/root/db/frl.html\nfrl\n\n// frogans : OP3FT\n// https://www.iana.org/domains/root/db/frogans.html\nfrogans\n\n// frontier : Frontier Communications Corporation\n// https://www.iana.org/domains/root/db/frontier.html\nfrontier\n\n// ftr : Frontier Communications Corporation\n// https://www.iana.org/domains/root/db/ftr.html\nftr\n\n// fujitsu : Fujitsu Limited\n// https://www.iana.org/domains/root/db/fujitsu.html\nfujitsu\n\n// fun : Radix FZC DMCC\n// https://www.iana.org/domains/root/db/fun.html\nfun\n\n// fund : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/fund.html\nfund\n\n// furniture : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/furniture.html\nfurniture\n\n// futbol : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/futbol.html\nfutbol\n\n// fyi : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/fyi.html\nfyi\n\n// gal : Asociaci\\xF3n puntoGAL\n// https://www.iana.org/domains/root/db/gal.html\ngal\n\n// gallery : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/gallery.html\ngallery\n\n// gallo : Gallo Vineyards, Inc.\n// https://www.iana.org/domains/root/db/gallo.html\ngallo\n\n// gallup : Gallup, Inc.\n// https://www.iana.org/domains/root/db/gallup.html\ngallup\n\n// game : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/game.html\ngame\n\n// games : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/games.html\ngames\n\n// gap : The Gap, Inc.\n// https://www.iana.org/domains/root/db/gap.html\ngap\n\n// garden : Registry Services, LLC\n// https://www.iana.org/domains/root/db/garden.html\ngarden\n\n// gay : Registry Services, LLC\n// https://www.iana.org/domains/root/db/gay.html\ngay\n\n// gbiz : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/gbiz.html\ngbiz\n\n// gdn : Joint Stock Company \"Navigation-information systems\"\n// https://www.iana.org/domains/root/db/gdn.html\ngdn\n\n// gea : GEA Group Aktiengesellschaft\n// https://www.iana.org/domains/root/db/gea.html\ngea\n\n// gent : Easyhost BV\n// https://www.iana.org/domains/root/db/gent.html\ngent\n\n// genting : Resorts World Inc Pte. Ltd.\n// https://www.iana.org/domains/root/db/genting.html\ngenting\n\n// george : Wal-Mart Stores, Inc.\n// https://www.iana.org/domains/root/db/george.html\ngeorge\n\n// ggee : GMO Internet, Inc.\n// https://www.iana.org/domains/root/db/ggee.html\nggee\n\n// gift : DotGift, LLC\n// https://www.iana.org/domains/root/db/gift.html\ngift\n\n// gifts : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/gifts.html\ngifts\n\n// gives : Public Interest Registry\n// https://www.iana.org/domains/root/db/gives.html\ngives\n\n// giving : Public Interest Registry\n// https://www.iana.org/domains/root/db/giving.html\ngiving\n\n// glass : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/glass.html\nglass\n\n// gle : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/gle.html\ngle\n\n// global : Identity Digital Limited\n// https://www.iana.org/domains/root/db/global.html\nglobal\n\n// globo : Globo Comunica\\xE7\\xE3o e Participa\\xE7\\xF5es S.A\n// https://www.iana.org/domains/root/db/globo.html\nglobo\n\n// gmail : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/gmail.html\ngmail\n\n// gmbh : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/gmbh.html\ngmbh\n\n// gmo : GMO Internet, Inc.\n// https://www.iana.org/domains/root/db/gmo.html\ngmo\n\n// gmx : 1&1 Mail & Media GmbH\n// https://www.iana.org/domains/root/db/gmx.html\ngmx\n\n// godaddy : Go Daddy East, LLC\n// https://www.iana.org/domains/root/db/godaddy.html\ngodaddy\n\n// gold : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/gold.html\ngold\n\n// goldpoint : YODOBASHI CAMERA CO.,LTD.\n// https://www.iana.org/domains/root/db/goldpoint.html\ngoldpoint\n\n// golf : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/golf.html\ngolf\n\n// goo : NTT Resonant Inc.\n// https://www.iana.org/domains/root/db/goo.html\ngoo\n\n// goodyear : The Goodyear Tire & Rubber Company\n// https://www.iana.org/domains/root/db/goodyear.html\ngoodyear\n\n// goog : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/goog.html\ngoog\n\n// google : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/google.html\ngoogle\n\n// gop : Republican State Leadership Committee, Inc.\n// https://www.iana.org/domains/root/db/gop.html\ngop\n\n// got : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/got.html\ngot\n\n// grainger : Grainger Registry Services, LLC\n// https://www.iana.org/domains/root/db/grainger.html\ngrainger\n\n// graphics : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/graphics.html\ngraphics\n\n// gratis : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/gratis.html\ngratis\n\n// green : Identity Digital Limited\n// https://www.iana.org/domains/root/db/green.html\ngreen\n\n// gripe : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/gripe.html\ngripe\n\n// grocery : Wal-Mart Stores, Inc.\n// https://www.iana.org/domains/root/db/grocery.html\ngrocery\n\n// group : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/group.html\ngroup\n\n// guardian : The Guardian Life Insurance Company of America\n// https://www.iana.org/domains/root/db/guardian.html\nguardian\n\n// gucci : Guccio Gucci S.p.a.\n// https://www.iana.org/domains/root/db/gucci.html\ngucci\n\n// guge : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/guge.html\nguge\n\n// guide : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/guide.html\nguide\n\n// guitars : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/guitars.html\nguitars\n\n// guru : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/guru.html\nguru\n\n// hair : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/hair.html\nhair\n\n// hamburg : Hamburg Top-Level-Domain GmbH\n// https://www.iana.org/domains/root/db/hamburg.html\nhamburg\n\n// hangout : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/hangout.html\nhangout\n\n// haus : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/haus.html\nhaus\n\n// hbo : HBO Registry Services, Inc.\n// https://www.iana.org/domains/root/db/hbo.html\nhbo\n\n// hdfc : HOUSING DEVELOPMENT FINANCE CORPORATION LIMITED\n// https://www.iana.org/domains/root/db/hdfc.html\nhdfc\n\n// hdfcbank : HDFC Bank Limited\n// https://www.iana.org/domains/root/db/hdfcbank.html\nhdfcbank\n\n// health : Registry Services, LLC\n// https://www.iana.org/domains/root/db/health.html\nhealth\n\n// healthcare : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/healthcare.html\nhealthcare\n\n// help : Innovation service Limited\n// https://www.iana.org/domains/root/db/help.html\nhelp\n\n// helsinki : City of Helsinki\n// https://www.iana.org/domains/root/db/helsinki.html\nhelsinki\n\n// here : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/here.html\nhere\n\n// hermes : HERMES INTERNATIONAL\n// https://www.iana.org/domains/root/db/hermes.html\nhermes\n\n// hiphop : Dot Hip Hop, LLC\n// https://www.iana.org/domains/root/db/hiphop.html\nhiphop\n\n// hisamitsu : Hisamitsu Pharmaceutical Co.,Inc.\n// https://www.iana.org/domains/root/db/hisamitsu.html\nhisamitsu\n\n// hitachi : Hitachi, Ltd.\n// https://www.iana.org/domains/root/db/hitachi.html\nhitachi\n\n// hiv : Internet Naming Company LLC\n// https://www.iana.org/domains/root/db/hiv.html\nhiv\n\n// hkt : PCCW-HKT DataCom Services Limited\n// https://www.iana.org/domains/root/db/hkt.html\nhkt\n\n// hockey : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/hockey.html\nhockey\n\n// holdings : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/holdings.html\nholdings\n\n// holiday : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/holiday.html\nholiday\n\n// homedepot : Home Depot Product Authority, LLC\n// https://www.iana.org/domains/root/db/homedepot.html\nhomedepot\n\n// homegoods : The TJX Companies, Inc.\n// https://www.iana.org/domains/root/db/homegoods.html\nhomegoods\n\n// homes : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/homes.html\nhomes\n\n// homesense : The TJX Companies, Inc.\n// https://www.iana.org/domains/root/db/homesense.html\nhomesense\n\n// honda : Honda Motor Co., Ltd.\n// https://www.iana.org/domains/root/db/honda.html\nhonda\n\n// horse : Registry Services, LLC\n// https://www.iana.org/domains/root/db/horse.html\nhorse\n\n// hospital : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/hospital.html\nhospital\n\n// host : Radix FZC DMCC\n// https://www.iana.org/domains/root/db/host.html\nhost\n\n// hosting : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/hosting.html\nhosting\n\n// hot : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/hot.html\nhot\n\n// hotels : Booking.com B.V.\n// https://www.iana.org/domains/root/db/hotels.html\nhotels\n\n// hotmail : Microsoft Corporation\n// https://www.iana.org/domains/root/db/hotmail.html\nhotmail\n\n// house : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/house.html\nhouse\n\n// how : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/how.html\nhow\n\n// hsbc : HSBC Global Services (UK) Limited\n// https://www.iana.org/domains/root/db/hsbc.html\nhsbc\n\n// hughes : Hughes Satellite Systems Corporation\n// https://www.iana.org/domains/root/db/hughes.html\nhughes\n\n// hyatt : Hyatt GTLD, L.L.C.\n// https://www.iana.org/domains/root/db/hyatt.html\nhyatt\n\n// hyundai : Hyundai Motor Company\n// https://www.iana.org/domains/root/db/hyundai.html\nhyundai\n\n// ibm : International Business Machines Corporation\n// https://www.iana.org/domains/root/db/ibm.html\nibm\n\n// icbc : Industrial and Commercial Bank of China Limited\n// https://www.iana.org/domains/root/db/icbc.html\nicbc\n\n// ice : IntercontinentalExchange, Inc.\n// https://www.iana.org/domains/root/db/ice.html\nice\n\n// icu : ShortDot SA\n// https://www.iana.org/domains/root/db/icu.html\nicu\n\n// ieee : IEEE Global LLC\n// https://www.iana.org/domains/root/db/ieee.html\nieee\n\n// ifm : ifm electronic gmbh\n// https://www.iana.org/domains/root/db/ifm.html\nifm\n\n// ikano : Ikano S.A.\n// https://www.iana.org/domains/root/db/ikano.html\nikano\n\n// imamat : Fondation Aga Khan (Aga Khan Foundation)\n// https://www.iana.org/domains/root/db/imamat.html\nimamat\n\n// imdb : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/imdb.html\nimdb\n\n// immo : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/immo.html\nimmo\n\n// immobilien : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/immobilien.html\nimmobilien\n\n// inc : Intercap Registry Inc.\n// https://www.iana.org/domains/root/db/inc.html\ninc\n\n// industries : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/industries.html\nindustries\n\n// infiniti : NISSAN MOTOR CO., LTD.\n// https://www.iana.org/domains/root/db/infiniti.html\ninfiniti\n\n// ing : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/ing.html\ning\n\n// ink : Registry Services, LLC\n// https://www.iana.org/domains/root/db/ink.html\nink\n\n// institute : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/institute.html\ninstitute\n\n// insurance : fTLD Registry Services LLC\n// https://www.iana.org/domains/root/db/insurance.html\ninsurance\n\n// insure : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/insure.html\ninsure\n\n// international : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/international.html\ninternational\n\n// intuit : Intuit Administrative Services, Inc.\n// https://www.iana.org/domains/root/db/intuit.html\nintuit\n\n// investments : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/investments.html\ninvestments\n\n// ipiranga : Ipiranga Produtos de Petroleo S.A.\n// https://www.iana.org/domains/root/db/ipiranga.html\nipiranga\n\n// irish : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/irish.html\nirish\n\n// ismaili : Fondation Aga Khan (Aga Khan Foundation)\n// https://www.iana.org/domains/root/db/ismaili.html\nismaili\n\n// ist : Istanbul Metropolitan Municipality\n// https://www.iana.org/domains/root/db/ist.html\nist\n\n// istanbul : Istanbul Metropolitan Municipality\n// https://www.iana.org/domains/root/db/istanbul.html\nistanbul\n\n// itau : Itau Unibanco Holding S.A.\n// https://www.iana.org/domains/root/db/itau.html\nitau\n\n// itv : ITV Services Limited\n// https://www.iana.org/domains/root/db/itv.html\nitv\n\n// jaguar : Jaguar Land Rover Ltd\n// https://www.iana.org/domains/root/db/jaguar.html\njaguar\n\n// java : Oracle Corporation\n// https://www.iana.org/domains/root/db/java.html\njava\n\n// jcb : JCB Co., Ltd.\n// https://www.iana.org/domains/root/db/jcb.html\njcb\n\n// jeep : FCA US LLC.\n// https://www.iana.org/domains/root/db/jeep.html\njeep\n\n// jetzt : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/jetzt.html\njetzt\n\n// jewelry : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/jewelry.html\njewelry\n\n// jio : Reliance Industries Limited\n// https://www.iana.org/domains/root/db/jio.html\njio\n\n// jll : Jones Lang LaSalle Incorporated\n// https://www.iana.org/domains/root/db/jll.html\njll\n\n// jmp : Matrix IP LLC\n// https://www.iana.org/domains/root/db/jmp.html\njmp\n\n// jnj : Johnson & Johnson Services, Inc.\n// https://www.iana.org/domains/root/db/jnj.html\njnj\n\n// joburg : ZA Central Registry NPC trading as ZA Central Registry\n// https://www.iana.org/domains/root/db/joburg.html\njoburg\n\n// jot : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/jot.html\njot\n\n// joy : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/joy.html\njoy\n\n// jpmorgan : JPMorgan Chase Bank, National Association\n// https://www.iana.org/domains/root/db/jpmorgan.html\njpmorgan\n\n// jprs : Japan Registry Services Co., Ltd.\n// https://www.iana.org/domains/root/db/jprs.html\njprs\n\n// juegos : Internet Naming Company LLC\n// https://www.iana.org/domains/root/db/juegos.html\njuegos\n\n// juniper : JUNIPER NETWORKS, INC.\n// https://www.iana.org/domains/root/db/juniper.html\njuniper\n\n// kaufen : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/kaufen.html\nkaufen\n\n// kddi : KDDI CORPORATION\n// https://www.iana.org/domains/root/db/kddi.html\nkddi\n\n// kerryhotels : Kerry Trading Co. Limited\n// https://www.iana.org/domains/root/db/kerryhotels.html\nkerryhotels\n\n// kerrylogistics : Kerry Trading Co. Limited\n// https://www.iana.org/domains/root/db/kerrylogistics.html\nkerrylogistics\n\n// kerryproperties : Kerry Trading Co. Limited\n// https://www.iana.org/domains/root/db/kerryproperties.html\nkerryproperties\n\n// kfh : Kuwait Finance House\n// https://www.iana.org/domains/root/db/kfh.html\nkfh\n\n// kia : KIA MOTORS CORPORATION\n// https://www.iana.org/domains/root/db/kia.html\nkia\n\n// kids : DotKids Foundation Limited\n// https://www.iana.org/domains/root/db/kids.html\nkids\n\n// kim : Identity Digital Limited\n// https://www.iana.org/domains/root/db/kim.html\nkim\n\n// kinder : Ferrero Trading Lux S.A.\n// https://www.iana.org/domains/root/db/kinder.html\nkinder\n\n// kindle : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/kindle.html\nkindle\n\n// kitchen : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/kitchen.html\nkitchen\n\n// kiwi : DOT KIWI LIMITED\n// https://www.iana.org/domains/root/db/kiwi.html\nkiwi\n\n// koeln : dotKoeln GmbH\n// https://www.iana.org/domains/root/db/koeln.html\nkoeln\n\n// komatsu : Komatsu Ltd.\n// https://www.iana.org/domains/root/db/komatsu.html\nkomatsu\n\n// kosher : Kosher Marketing Assets LLC\n// https://www.iana.org/domains/root/db/kosher.html\nkosher\n\n// kpmg : KPMG International Cooperative (KPMG International Genossenschaft)\n// https://www.iana.org/domains/root/db/kpmg.html\nkpmg\n\n// kpn : Koninklijke KPN N.V.\n// https://www.iana.org/domains/root/db/kpn.html\nkpn\n\n// krd : KRG Department of Information Technology\n// https://www.iana.org/domains/root/db/krd.html\nkrd\n\n// kred : KredTLD Pty Ltd\n// https://www.iana.org/domains/root/db/kred.html\nkred\n\n// kuokgroup : Kerry Trading Co. Limited\n// https://www.iana.org/domains/root/db/kuokgroup.html\nkuokgroup\n\n// kyoto : Academic Institution: Kyoto Jyoho Gakuen\n// https://www.iana.org/domains/root/db/kyoto.html\nkyoto\n\n// lacaixa : Fundaci\\xF3n Bancaria Caixa d\\u2019Estalvis i Pensions de Barcelona, \\u201Cla Caixa\\u201D\n// https://www.iana.org/domains/root/db/lacaixa.html\nlacaixa\n\n// lamborghini : Automobili Lamborghini S.p.A.\n// https://www.iana.org/domains/root/db/lamborghini.html\nlamborghini\n\n// lamer : The Est\\xE9e Lauder Companies Inc.\n// https://www.iana.org/domains/root/db/lamer.html\nlamer\n\n// lancaster : LANCASTER\n// https://www.iana.org/domains/root/db/lancaster.html\nlancaster\n\n// land : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/land.html\nland\n\n// landrover : Jaguar Land Rover Ltd\n// https://www.iana.org/domains/root/db/landrover.html\nlandrover\n\n// lanxess : LANXESS Corporation\n// https://www.iana.org/domains/root/db/lanxess.html\nlanxess\n\n// lasalle : Jones Lang LaSalle Incorporated\n// https://www.iana.org/domains/root/db/lasalle.html\nlasalle\n\n// lat : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/lat.html\nlat\n\n// latino : Dish DBS Corporation\n// https://www.iana.org/domains/root/db/latino.html\nlatino\n\n// latrobe : La Trobe University\n// https://www.iana.org/domains/root/db/latrobe.html\nlatrobe\n\n// law : Registry Services, LLC\n// https://www.iana.org/domains/root/db/law.html\nlaw\n\n// lawyer : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/lawyer.html\nlawyer\n\n// lds : IRI Domain Management, LLC\n// https://www.iana.org/domains/root/db/lds.html\nlds\n\n// lease : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/lease.html\nlease\n\n// leclerc : A.C.D. LEC Association des Centres Distributeurs Edouard Leclerc\n// https://www.iana.org/domains/root/db/leclerc.html\nleclerc\n\n// lefrak : LeFrak Organization, Inc.\n// https://www.iana.org/domains/root/db/lefrak.html\nlefrak\n\n// legal : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/legal.html\nlegal\n\n// lego : LEGO Juris A/S\n// https://www.iana.org/domains/root/db/lego.html\nlego\n\n// lexus : TOYOTA MOTOR CORPORATION\n// https://www.iana.org/domains/root/db/lexus.html\nlexus\n\n// lgbt : Identity Digital Limited\n// https://www.iana.org/domains/root/db/lgbt.html\nlgbt\n\n// lidl : Schwarz Domains und Services GmbH & Co. KG\n// https://www.iana.org/domains/root/db/lidl.html\nlidl\n\n// life : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/life.html\nlife\n\n// lifeinsurance : American Council of Life Insurers\n// https://www.iana.org/domains/root/db/lifeinsurance.html\nlifeinsurance\n\n// lifestyle : Lifestyle Domain Holdings, Inc.\n// https://www.iana.org/domains/root/db/lifestyle.html\nlifestyle\n\n// lighting : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/lighting.html\nlighting\n\n// like : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/like.html\nlike\n\n// lilly : Eli Lilly and Company\n// https://www.iana.org/domains/root/db/lilly.html\nlilly\n\n// limited : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/limited.html\nlimited\n\n// limo : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/limo.html\nlimo\n\n// lincoln : Ford Motor Company\n// https://www.iana.org/domains/root/db/lincoln.html\nlincoln\n\n// link : Nova Registry Ltd\n// https://www.iana.org/domains/root/db/link.html\nlink\n\n// lipsy : Lipsy Ltd\n// https://www.iana.org/domains/root/db/lipsy.html\nlipsy\n\n// live : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/live.html\nlive\n\n// living : Lifestyle Domain Holdings, Inc.\n// https://www.iana.org/domains/root/db/living.html\nliving\n\n// llc : Identity Digital Limited\n// https://www.iana.org/domains/root/db/llc.html\nllc\n\n// llp : Intercap Registry Inc.\n// https://www.iana.org/domains/root/db/llp.html\nllp\n\n// loan : dot Loan Limited\n// https://www.iana.org/domains/root/db/loan.html\nloan\n\n// loans : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/loans.html\nloans\n\n// locker : Orange Domains LLC\n// https://www.iana.org/domains/root/db/locker.html\nlocker\n\n// locus : Locus Analytics LLC\n// https://www.iana.org/domains/root/db/locus.html\nlocus\n\n// lol : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/lol.html\nlol\n\n// london : Dot London Domains Limited\n// https://www.iana.org/domains/root/db/london.html\nlondon\n\n// lotte : Lotte Holdings Co., Ltd.\n// https://www.iana.org/domains/root/db/lotte.html\nlotte\n\n// lotto : Identity Digital Limited\n// https://www.iana.org/domains/root/db/lotto.html\nlotto\n\n// love : Merchant Law Group LLP\n// https://www.iana.org/domains/root/db/love.html\nlove\n\n// lpl : LPL Holdings, Inc.\n// https://www.iana.org/domains/root/db/lpl.html\nlpl\n\n// lplfinancial : LPL Holdings, Inc.\n// https://www.iana.org/domains/root/db/lplfinancial.html\nlplfinancial\n\n// ltd : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/ltd.html\nltd\n\n// ltda : InterNetX, Corp\n// https://www.iana.org/domains/root/db/ltda.html\nltda\n\n// lundbeck : H. Lundbeck A/S\n// https://www.iana.org/domains/root/db/lundbeck.html\nlundbeck\n\n// luxe : Registry Services, LLC\n// https://www.iana.org/domains/root/db/luxe.html\nluxe\n\n// luxury : Luxury Partners, LLC\n// https://www.iana.org/domains/root/db/luxury.html\nluxury\n\n// madrid : Comunidad de Madrid\n// https://www.iana.org/domains/root/db/madrid.html\nmadrid\n\n// maif : Mutuelle Assurance Instituteur France (MAIF)\n// https://www.iana.org/domains/root/db/maif.html\nmaif\n\n// maison : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/maison.html\nmaison\n\n// makeup : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/makeup.html\nmakeup\n\n// man : MAN SE\n// https://www.iana.org/domains/root/db/man.html\nman\n\n// management : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/management.html\nmanagement\n\n// mango : PUNTO FA S.L.\n// https://www.iana.org/domains/root/db/mango.html\nmango\n\n// map : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/map.html\nmap\n\n// market : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/market.html\nmarket\n\n// marketing : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/marketing.html\nmarketing\n\n// markets : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/markets.html\nmarkets\n\n// marriott : Marriott Worldwide Corporation\n// https://www.iana.org/domains/root/db/marriott.html\nmarriott\n\n// marshalls : The TJX Companies, Inc.\n// https://www.iana.org/domains/root/db/marshalls.html\nmarshalls\n\n// mattel : Mattel Sites, Inc.\n// https://www.iana.org/domains/root/db/mattel.html\nmattel\n\n// mba : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/mba.html\nmba\n\n// mckinsey : McKinsey Holdings, Inc.\n// https://www.iana.org/domains/root/db/mckinsey.html\nmckinsey\n\n// med : Medistry LLC\n// https://www.iana.org/domains/root/db/med.html\nmed\n\n// media : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/media.html\nmedia\n\n// meet : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/meet.html\nmeet\n\n// melbourne : The Crown in right of the State of Victoria, represented by its Department of State Development, Business and Innovation\n// https://www.iana.org/domains/root/db/melbourne.html\nmelbourne\n\n// meme : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/meme.html\nmeme\n\n// memorial : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/memorial.html\nmemorial\n\n// men : Exclusive Registry Limited\n// https://www.iana.org/domains/root/db/men.html\nmen\n\n// menu : Dot Menu Registry, LLC\n// https://www.iana.org/domains/root/db/menu.html\nmenu\n\n// merckmsd : MSD Registry Holdings, Inc.\n// https://www.iana.org/domains/root/db/merckmsd.html\nmerckmsd\n\n// miami : Registry Services, LLC\n// https://www.iana.org/domains/root/db/miami.html\nmiami\n\n// microsoft : Microsoft Corporation\n// https://www.iana.org/domains/root/db/microsoft.html\nmicrosoft\n\n// mini : Bayerische Motoren Werke Aktiengesellschaft\n// https://www.iana.org/domains/root/db/mini.html\nmini\n\n// mint : Intuit Administrative Services, Inc.\n// https://www.iana.org/domains/root/db/mint.html\nmint\n\n// mit : Massachusetts Institute of Technology\n// https://www.iana.org/domains/root/db/mit.html\nmit\n\n// mitsubishi : Mitsubishi Corporation\n// https://www.iana.org/domains/root/db/mitsubishi.html\nmitsubishi\n\n// mlb : MLB Advanced Media DH, LLC\n// https://www.iana.org/domains/root/db/mlb.html\nmlb\n\n// mls : The Canadian Real Estate Association\n// https://www.iana.org/domains/root/db/mls.html\nmls\n\n// mma : MMA IARD\n// https://www.iana.org/domains/root/db/mma.html\nmma\n\n// mobile : Dish DBS Corporation\n// https://www.iana.org/domains/root/db/mobile.html\nmobile\n\n// moda : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/moda.html\nmoda\n\n// moe : Interlink Systems Innovation Institute K.K.\n// https://www.iana.org/domains/root/db/moe.html\nmoe\n\n// moi : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/moi.html\nmoi\n\n// mom : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/mom.html\nmom\n\n// monash : Monash University\n// https://www.iana.org/domains/root/db/monash.html\nmonash\n\n// money : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/money.html\nmoney\n\n// monster : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/monster.html\nmonster\n\n// mormon : IRI Domain Management, LLC\n// https://www.iana.org/domains/root/db/mormon.html\nmormon\n\n// mortgage : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/mortgage.html\nmortgage\n\n// moscow : Foundation for Assistance for Internet Technologies and Infrastructure Development (FAITID)\n// https://www.iana.org/domains/root/db/moscow.html\nmoscow\n\n// moto : Motorola Trademark Holdings, LLC\n// https://www.iana.org/domains/root/db/moto.html\nmoto\n\n// motorcycles : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/motorcycles.html\nmotorcycles\n\n// mov : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/mov.html\nmov\n\n// movie : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/movie.html\nmovie\n\n// msd : MSD Registry Holdings, Inc.\n// https://www.iana.org/domains/root/db/msd.html\nmsd\n\n// mtn : MTN Dubai Limited\n// https://www.iana.org/domains/root/db/mtn.html\nmtn\n\n// mtr : MTR Corporation Limited\n// https://www.iana.org/domains/root/db/mtr.html\nmtr\n\n// music : DotMusic Limited\n// https://www.iana.org/domains/root/db/music.html\nmusic\n\n// nab : National Australia Bank Limited\n// https://www.iana.org/domains/root/db/nab.html\nnab\n\n// nagoya : GMO Registry, Inc.\n// https://www.iana.org/domains/root/db/nagoya.html\nnagoya\n\n// natura : NATURA COSM\\xC9TICOS S.A.\n// https://www.iana.org/domains/root/db/natura.html\nnatura\n\n// navy : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/navy.html\nnavy\n\n// nba : NBA REGISTRY, LLC\n// https://www.iana.org/domains/root/db/nba.html\nnba\n\n// nec : NEC Corporation\n// https://www.iana.org/domains/root/db/nec.html\nnec\n\n// netbank : COMMONWEALTH BANK OF AUSTRALIA\n// https://www.iana.org/domains/root/db/netbank.html\nnetbank\n\n// netflix : Netflix, Inc.\n// https://www.iana.org/domains/root/db/netflix.html\nnetflix\n\n// network : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/network.html\nnetwork\n\n// neustar : NeuStar, Inc.\n// https://www.iana.org/domains/root/db/neustar.html\nneustar\n\n// new : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/new.html\nnew\n\n// news : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/news.html\nnews\n\n// next : Next plc\n// https://www.iana.org/domains/root/db/next.html\nnext\n\n// nextdirect : Next plc\n// https://www.iana.org/domains/root/db/nextdirect.html\nnextdirect\n\n// nexus : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/nexus.html\nnexus\n\n// nfl : NFL Reg Ops LLC\n// https://www.iana.org/domains/root/db/nfl.html\nnfl\n\n// ngo : Public Interest Registry\n// https://www.iana.org/domains/root/db/ngo.html\nngo\n\n// nhk : Japan Broadcasting Corporation (NHK)\n// https://www.iana.org/domains/root/db/nhk.html\nnhk\n\n// nico : DWANGO Co., Ltd.\n// https://www.iana.org/domains/root/db/nico.html\nnico\n\n// nike : NIKE, Inc.\n// https://www.iana.org/domains/root/db/nike.html\nnike\n\n// nikon : NIKON CORPORATION\n// https://www.iana.org/domains/root/db/nikon.html\nnikon\n\n// ninja : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/ninja.html\nninja\n\n// nissan : NISSAN MOTOR CO., LTD.\n// https://www.iana.org/domains/root/db/nissan.html\nnissan\n\n// nissay : Nippon Life Insurance Company\n// https://www.iana.org/domains/root/db/nissay.html\nnissay\n\n// nokia : Nokia Corporation\n// https://www.iana.org/domains/root/db/nokia.html\nnokia\n\n// norton : NortonLifeLock Inc.\n// https://www.iana.org/domains/root/db/norton.html\nnorton\n\n// now : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/now.html\nnow\n\n// nowruz : Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.\n// https://www.iana.org/domains/root/db/nowruz.html\nnowruz\n\n// nowtv : Starbucks (HK) Limited\n// https://www.iana.org/domains/root/db/nowtv.html\nnowtv\n\n// nra : NRA Holdings Company, INC.\n// https://www.iana.org/domains/root/db/nra.html\nnra\n\n// nrw : Minds + Machines GmbH\n// https://www.iana.org/domains/root/db/nrw.html\nnrw\n\n// ntt : NIPPON TELEGRAPH AND TELEPHONE CORPORATION\n// https://www.iana.org/domains/root/db/ntt.html\nntt\n\n// nyc : The City of New York by and through the New York City Department of Information Technology & Telecommunications\n// https://www.iana.org/domains/root/db/nyc.html\nnyc\n\n// obi : OBI Group Holding SE & Co. KGaA\n// https://www.iana.org/domains/root/db/obi.html\nobi\n\n// observer : Fegistry, LLC\n// https://www.iana.org/domains/root/db/observer.html\nobserver\n\n// office : Microsoft Corporation\n// https://www.iana.org/domains/root/db/office.html\noffice\n\n// okinawa : BRregistry, Inc.\n// https://www.iana.org/domains/root/db/okinawa.html\nokinawa\n\n// olayan : Competrol (Luxembourg) Sarl\n// https://www.iana.org/domains/root/db/olayan.html\nolayan\n\n// olayangroup : Competrol (Luxembourg) Sarl\n// https://www.iana.org/domains/root/db/olayangroup.html\nolayangroup\n\n// oldnavy : The Gap, Inc.\n// https://www.iana.org/domains/root/db/oldnavy.html\noldnavy\n\n// ollo : Dish DBS Corporation\n// https://www.iana.org/domains/root/db/ollo.html\nollo\n\n// omega : The Swatch Group Ltd\n// https://www.iana.org/domains/root/db/omega.html\nomega\n\n// one : One.com A/S\n// https://www.iana.org/domains/root/db/one.html\none\n\n// ong : Public Interest Registry\n// https://www.iana.org/domains/root/db/ong.html\nong\n\n// onl : iRegistry GmbH\n// https://www.iana.org/domains/root/db/onl.html\nonl\n\n// online : Radix FZC DMCC\n// https://www.iana.org/domains/root/db/online.html\nonline\n\n// ooo : INFIBEAM AVENUES LIMITED\n// https://www.iana.org/domains/root/db/ooo.html\nooo\n\n// open : American Express Travel Related Services Company, Inc.\n// https://www.iana.org/domains/root/db/open.html\nopen\n\n// oracle : Oracle Corporation\n// https://www.iana.org/domains/root/db/oracle.html\noracle\n\n// orange : Orange Brand Services Limited\n// https://www.iana.org/domains/root/db/orange.html\norange\n\n// organic : Identity Digital Limited\n// https://www.iana.org/domains/root/db/organic.html\norganic\n\n// origins : The Est\\xE9e Lauder Companies Inc.\n// https://www.iana.org/domains/root/db/origins.html\norigins\n\n// osaka : Osaka Registry Co., Ltd.\n// https://www.iana.org/domains/root/db/osaka.html\nosaka\n\n// otsuka : Otsuka Holdings Co., Ltd.\n// https://www.iana.org/domains/root/db/otsuka.html\notsuka\n\n// ott : Dish DBS Corporation\n// https://www.iana.org/domains/root/db/ott.html\nott\n\n// ovh : M\\xE9diaBC\n// https://www.iana.org/domains/root/db/ovh.html\novh\n\n// page : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/page.html\npage\n\n// panasonic : Panasonic Holdings Corporation\n// https://www.iana.org/domains/root/db/panasonic.html\npanasonic\n\n// paris : City of Paris\n// https://www.iana.org/domains/root/db/paris.html\nparis\n\n// pars : Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.\n// https://www.iana.org/domains/root/db/pars.html\npars\n\n// partners : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/partners.html\npartners\n\n// parts : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/parts.html\nparts\n\n// party : Blue Sky Registry Limited\n// https://www.iana.org/domains/root/db/party.html\nparty\n\n// pay : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/pay.html\npay\n\n// pccw : PCCW Enterprises Limited\n// https://www.iana.org/domains/root/db/pccw.html\npccw\n\n// pet : Identity Digital Limited\n// https://www.iana.org/domains/root/db/pet.html\npet\n\n// pfizer : Pfizer Inc.\n// https://www.iana.org/domains/root/db/pfizer.html\npfizer\n\n// pharmacy : National Association of Boards of Pharmacy\n// https://www.iana.org/domains/root/db/pharmacy.html\npharmacy\n\n// phd : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/phd.html\nphd\n\n// philips : Koninklijke Philips N.V.\n// https://www.iana.org/domains/root/db/philips.html\nphilips\n\n// phone : Dish DBS Corporation\n// https://www.iana.org/domains/root/db/phone.html\nphone\n\n// photo : Registry Services, LLC\n// https://www.iana.org/domains/root/db/photo.html\nphoto\n\n// photography : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/photography.html\nphotography\n\n// photos : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/photos.html\nphotos\n\n// physio : PhysBiz Pty Ltd\n// https://www.iana.org/domains/root/db/physio.html\nphysio\n\n// pics : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/pics.html\npics\n\n// pictet : Pictet Europe S.A.\n// https://www.iana.org/domains/root/db/pictet.html\npictet\n\n// pictures : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/pictures.html\npictures\n\n// pid : Top Level Spectrum, Inc.\n// https://www.iana.org/domains/root/db/pid.html\npid\n\n// pin : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/pin.html\npin\n\n// ping : Ping Registry Provider, Inc.\n// https://www.iana.org/domains/root/db/ping.html\nping\n\n// pink : Identity Digital Limited\n// https://www.iana.org/domains/root/db/pink.html\npink\n\n// pioneer : Pioneer Corporation\n// https://www.iana.org/domains/root/db/pioneer.html\npioneer\n\n// pizza : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/pizza.html\npizza\n\n// place : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/place.html\nplace\n\n// play : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/play.html\nplay\n\n// playstation : Sony Interactive Entertainment Inc.\n// https://www.iana.org/domains/root/db/playstation.html\nplaystation\n\n// plumbing : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/plumbing.html\nplumbing\n\n// plus : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/plus.html\nplus\n\n// pnc : PNC Domain Co., LLC\n// https://www.iana.org/domains/root/db/pnc.html\npnc\n\n// pohl : Deutsche Verm\\xF6gensberatung Aktiengesellschaft DVAG\n// https://www.iana.org/domains/root/db/pohl.html\npohl\n\n// poker : Identity Digital Limited\n// https://www.iana.org/domains/root/db/poker.html\npoker\n\n// politie : Politie Nederland\n// https://www.iana.org/domains/root/db/politie.html\npolitie\n\n// porn : ICM Registry PN LLC\n// https://www.iana.org/domains/root/db/porn.html\nporn\n\n// pramerica : Prudential Financial, Inc.\n// https://www.iana.org/domains/root/db/pramerica.html\npramerica\n\n// praxi : Praxi S.p.A.\n// https://www.iana.org/domains/root/db/praxi.html\npraxi\n\n// press : Radix FZC DMCC\n// https://www.iana.org/domains/root/db/press.html\npress\n\n// prime : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/prime.html\nprime\n\n// prod : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/prod.html\nprod\n\n// productions : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/productions.html\nproductions\n\n// prof : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/prof.html\nprof\n\n// progressive : Progressive Casualty Insurance Company\n// https://www.iana.org/domains/root/db/progressive.html\nprogressive\n\n// promo : Identity Digital Limited\n// https://www.iana.org/domains/root/db/promo.html\npromo\n\n// properties : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/properties.html\nproperties\n\n// property : Digital Property Infrastructure Limited\n// https://www.iana.org/domains/root/db/property.html\nproperty\n\n// protection : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/protection.html\nprotection\n\n// pru : Prudential Financial, Inc.\n// https://www.iana.org/domains/root/db/pru.html\npru\n\n// prudential : Prudential Financial, Inc.\n// https://www.iana.org/domains/root/db/prudential.html\nprudential\n\n// pub : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/pub.html\npub\n\n// pwc : PricewaterhouseCoopers LLP\n// https://www.iana.org/domains/root/db/pwc.html\npwc\n\n// qpon : dotQPON LLC\n// https://www.iana.org/domains/root/db/qpon.html\nqpon\n\n// quebec : PointQu\\xE9bec Inc\n// https://www.iana.org/domains/root/db/quebec.html\nquebec\n\n// quest : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/quest.html\nquest\n\n// racing : Premier Registry Limited\n// https://www.iana.org/domains/root/db/racing.html\nracing\n\n// radio : European Broadcasting Union (EBU)\n// https://www.iana.org/domains/root/db/radio.html\nradio\n\n// read : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/read.html\nread\n\n// realestate : dotRealEstate LLC\n// https://www.iana.org/domains/root/db/realestate.html\nrealestate\n\n// realtor : Real Estate Domains LLC\n// https://www.iana.org/domains/root/db/realtor.html\nrealtor\n\n// realty : Internet Naming Company LLC\n// https://www.iana.org/domains/root/db/realty.html\nrealty\n\n// recipes : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/recipes.html\nrecipes\n\n// red : Identity Digital Limited\n// https://www.iana.org/domains/root/db/red.html\nred\n\n// redstone : Redstone Haute Couture Co., Ltd.\n// https://www.iana.org/domains/root/db/redstone.html\nredstone\n\n// redumbrella : Travelers TLD, LLC\n// https://www.iana.org/domains/root/db/redumbrella.html\nredumbrella\n\n// rehab : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/rehab.html\nrehab\n\n// reise : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/reise.html\nreise\n\n// reisen : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/reisen.html\nreisen\n\n// reit : National Association of Real Estate Investment Trusts, Inc.\n// https://www.iana.org/domains/root/db/reit.html\nreit\n\n// reliance : Reliance Industries Limited\n// https://www.iana.org/domains/root/db/reliance.html\nreliance\n\n// ren : ZDNS International Limited\n// https://www.iana.org/domains/root/db/ren.html\nren\n\n// rent : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/rent.html\nrent\n\n// rentals : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/rentals.html\nrentals\n\n// repair : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/repair.html\nrepair\n\n// report : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/report.html\nreport\n\n// republican : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/republican.html\nrepublican\n\n// rest : Punto 2012 Sociedad Anonima Promotora de Inversion de Capital Variable\n// https://www.iana.org/domains/root/db/rest.html\nrest\n\n// restaurant : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/restaurant.html\nrestaurant\n\n// review : dot Review Limited\n// https://www.iana.org/domains/root/db/review.html\nreview\n\n// reviews : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/reviews.html\nreviews\n\n// rexroth : Robert Bosch GMBH\n// https://www.iana.org/domains/root/db/rexroth.html\nrexroth\n\n// rich : iRegistry GmbH\n// https://www.iana.org/domains/root/db/rich.html\nrich\n\n// richardli : Pacific Century Asset Management (HK) Limited\n// https://www.iana.org/domains/root/db/richardli.html\nrichardli\n\n// ricoh : Ricoh Company, Ltd.\n// https://www.iana.org/domains/root/db/ricoh.html\nricoh\n\n// ril : Reliance Industries Limited\n// https://www.iana.org/domains/root/db/ril.html\nril\n\n// rio : Empresa Municipal de Inform\\xE1tica SA - IPLANRIO\n// https://www.iana.org/domains/root/db/rio.html\nrio\n\n// rip : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/rip.html\nrip\n\n// rocher : Ferrero Trading Lux S.A.\n// https://www.iana.org/domains/root/db/rocher.html\nrocher\n\n// rocks : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/rocks.html\nrocks\n\n// rodeo : Registry Services, LLC\n// https://www.iana.org/domains/root/db/rodeo.html\nrodeo\n\n// rogers : Rogers Communications Canada Inc.\n// https://www.iana.org/domains/root/db/rogers.html\nrogers\n\n// room : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/room.html\nroom\n\n// rsvp : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/rsvp.html\nrsvp\n\n// rugby : World Rugby Strategic Developments Limited\n// https://www.iana.org/domains/root/db/rugby.html\nrugby\n\n// ruhr : dotSaarland GmbH\n// https://www.iana.org/domains/root/db/ruhr.html\nruhr\n\n// run : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/run.html\nrun\n\n// rwe : RWE AG\n// https://www.iana.org/domains/root/db/rwe.html\nrwe\n\n// ryukyu : BRregistry, Inc.\n// https://www.iana.org/domains/root/db/ryukyu.html\nryukyu\n\n// saarland : dotSaarland GmbH\n// https://www.iana.org/domains/root/db/saarland.html\nsaarland\n\n// safe : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/safe.html\nsafe\n\n// safety : Safety Registry Services, LLC.\n// https://www.iana.org/domains/root/db/safety.html\nsafety\n\n// sakura : SAKURA Internet Inc.\n// https://www.iana.org/domains/root/db/sakura.html\nsakura\n\n// sale : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/sale.html\nsale\n\n// salon : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/salon.html\nsalon\n\n// samsclub : Wal-Mart Stores, Inc.\n// https://www.iana.org/domains/root/db/samsclub.html\nsamsclub\n\n// samsung : SAMSUNG SDS CO., LTD\n// https://www.iana.org/domains/root/db/samsung.html\nsamsung\n\n// sandvik : Sandvik AB\n// https://www.iana.org/domains/root/db/sandvik.html\nsandvik\n\n// sandvikcoromant : Sandvik AB\n// https://www.iana.org/domains/root/db/sandvikcoromant.html\nsandvikcoromant\n\n// sanofi : Sanofi\n// https://www.iana.org/domains/root/db/sanofi.html\nsanofi\n\n// sap : SAP AG\n// https://www.iana.org/domains/root/db/sap.html\nsap\n\n// sarl : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/sarl.html\nsarl\n\n// sas : Research IP LLC\n// https://www.iana.org/domains/root/db/sas.html\nsas\n\n// save : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/save.html\nsave\n\n// saxo : Saxo Bank A/S\n// https://www.iana.org/domains/root/db/saxo.html\nsaxo\n\n// sbi : STATE BANK OF INDIA\n// https://www.iana.org/domains/root/db/sbi.html\nsbi\n\n// sbs : ShortDot SA\n// https://www.iana.org/domains/root/db/sbs.html\nsbs\n\n// sca : SVENSKA CELLULOSA AKTIEBOLAGET SCA (publ)\n// https://www.iana.org/domains/root/db/sca.html\nsca\n\n// scb : The Siam Commercial Bank Public Company Limited (\"SCB\")\n// https://www.iana.org/domains/root/db/scb.html\nscb\n\n// schaeffler : Schaeffler Technologies AG & Co. KG\n// https://www.iana.org/domains/root/db/schaeffler.html\nschaeffler\n\n// schmidt : SCHMIDT GROUPE S.A.S.\n// https://www.iana.org/domains/root/db/schmidt.html\nschmidt\n\n// scholarships : Scholarships.com, LLC\n// https://www.iana.org/domains/root/db/scholarships.html\nscholarships\n\n// school : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/school.html\nschool\n\n// schule : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/schule.html\nschule\n\n// schwarz : Schwarz Domains und Services GmbH & Co. KG\n// https://www.iana.org/domains/root/db/schwarz.html\nschwarz\n\n// science : dot Science Limited\n// https://www.iana.org/domains/root/db/science.html\nscience\n\n// scot : Dot Scot Registry Limited\n// https://www.iana.org/domains/root/db/scot.html\nscot\n\n// search : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/search.html\nsearch\n\n// seat : SEAT, S.A. (Sociedad Unipersonal)\n// https://www.iana.org/domains/root/db/seat.html\nseat\n\n// secure : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/secure.html\nsecure\n\n// security : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/security.html\nsecurity\n\n// seek : Seek Limited\n// https://www.iana.org/domains/root/db/seek.html\nseek\n\n// select : Registry Services, LLC\n// https://www.iana.org/domains/root/db/select.html\nselect\n\n// sener : Sener Ingenier\\xEDa y Sistemas, S.A.\n// https://www.iana.org/domains/root/db/sener.html\nsener\n\n// services : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/services.html\nservices\n\n// seven : Seven West Media Ltd\n// https://www.iana.org/domains/root/db/seven.html\nseven\n\n// sew : SEW-EURODRIVE GmbH & Co KG\n// https://www.iana.org/domains/root/db/sew.html\nsew\n\n// sex : ICM Registry SX LLC\n// https://www.iana.org/domains/root/db/sex.html\nsex\n\n// sexy : Internet Naming Company LLC\n// https://www.iana.org/domains/root/db/sexy.html\nsexy\n\n// sfr : Societe Francaise du Radiotelephone - SFR\n// https://www.iana.org/domains/root/db/sfr.html\nsfr\n\n// shangrila : Shangri\\u2010La International Hotel Management Limited\n// https://www.iana.org/domains/root/db/shangrila.html\nshangrila\n\n// sharp : Sharp Corporation\n// https://www.iana.org/domains/root/db/sharp.html\nsharp\n\n// shaw : Shaw Cablesystems G.P.\n// https://www.iana.org/domains/root/db/shaw.html\nshaw\n\n// shell : Shell Information Technology International Inc\n// https://www.iana.org/domains/root/db/shell.html\nshell\n\n// shia : Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.\n// https://www.iana.org/domains/root/db/shia.html\nshia\n\n// shiksha : Identity Digital Limited\n// https://www.iana.org/domains/root/db/shiksha.html\nshiksha\n\n// shoes : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/shoes.html\nshoes\n\n// shop : GMO Registry, Inc.\n// https://www.iana.org/domains/root/db/shop.html\nshop\n\n// shopping : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/shopping.html\nshopping\n\n// shouji : Beijing Qihu Keji Co., Ltd.\n// https://www.iana.org/domains/root/db/shouji.html\nshouji\n\n// show : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/show.html\nshow\n\n// showtime : CBS Domains Inc.\n// https://www.iana.org/domains/root/db/showtime.html\nshowtime\n\n// silk : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/silk.html\nsilk\n\n// sina : Sina Corporation\n// https://www.iana.org/domains/root/db/sina.html\nsina\n\n// singles : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/singles.html\nsingles\n\n// site : Radix FZC DMCC\n// https://www.iana.org/domains/root/db/site.html\nsite\n\n// ski : Identity Digital Limited\n// https://www.iana.org/domains/root/db/ski.html\nski\n\n// skin : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/skin.html\nskin\n\n// sky : Sky International AG\n// https://www.iana.org/domains/root/db/sky.html\nsky\n\n// skype : Microsoft Corporation\n// https://www.iana.org/domains/root/db/skype.html\nskype\n\n// sling : DISH Technologies L.L.C.\n// https://www.iana.org/domains/root/db/sling.html\nsling\n\n// smart : Smart Communications, Inc. (SMART)\n// https://www.iana.org/domains/root/db/smart.html\nsmart\n\n// smile : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/smile.html\nsmile\n\n// sncf : Soci\\xE9t\\xE9 Nationale SNCF\n// https://www.iana.org/domains/root/db/sncf.html\nsncf\n\n// soccer : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/soccer.html\nsoccer\n\n// social : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/social.html\nsocial\n\n// softbank : SoftBank Group Corp.\n// https://www.iana.org/domains/root/db/softbank.html\nsoftbank\n\n// software : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/software.html\nsoftware\n\n// sohu : Sohu.com Limited\n// https://www.iana.org/domains/root/db/sohu.html\nsohu\n\n// solar : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/solar.html\nsolar\n\n// solutions : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/solutions.html\nsolutions\n\n// song : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/song.html\nsong\n\n// sony : Sony Corporation\n// https://www.iana.org/domains/root/db/sony.html\nsony\n\n// soy : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/soy.html\nsoy\n\n// spa : Asia Spa and Wellness Promotion Council Limited\n// https://www.iana.org/domains/root/db/spa.html\nspa\n\n// space : Radix FZC DMCC\n// https://www.iana.org/domains/root/db/space.html\nspace\n\n// sport : SportAccord\n// https://www.iana.org/domains/root/db/sport.html\nsport\n\n// spot : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/spot.html\nspot\n\n// srl : InterNetX, Corp\n// https://www.iana.org/domains/root/db/srl.html\nsrl\n\n// stada : STADA Arzneimittel AG\n// https://www.iana.org/domains/root/db/stada.html\nstada\n\n// staples : Staples, Inc.\n// https://www.iana.org/domains/root/db/staples.html\nstaples\n\n// star : Star India Private Limited\n// https://www.iana.org/domains/root/db/star.html\nstar\n\n// statebank : STATE BANK OF INDIA\n// https://www.iana.org/domains/root/db/statebank.html\nstatebank\n\n// statefarm : State Farm Mutual Automobile Insurance Company\n// https://www.iana.org/domains/root/db/statefarm.html\nstatefarm\n\n// stc : Saudi Telecom Company\n// https://www.iana.org/domains/root/db/stc.html\nstc\n\n// stcgroup : Saudi Telecom Company\n// https://www.iana.org/domains/root/db/stcgroup.html\nstcgroup\n\n// stockholm : Stockholms kommun\n// https://www.iana.org/domains/root/db/stockholm.html\nstockholm\n\n// storage : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/storage.html\nstorage\n\n// store : Radix FZC DMCC\n// https://www.iana.org/domains/root/db/store.html\nstore\n\n// stream : dot Stream Limited\n// https://www.iana.org/domains/root/db/stream.html\nstream\n\n// studio : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/studio.html\nstudio\n\n// study : Registry Services, LLC\n// https://www.iana.org/domains/root/db/study.html\nstudy\n\n// style : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/style.html\nstyle\n\n// sucks : Vox Populi Registry Ltd.\n// https://www.iana.org/domains/root/db/sucks.html\nsucks\n\n// supplies : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/supplies.html\nsupplies\n\n// supply : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/supply.html\nsupply\n\n// support : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/support.html\nsupport\n\n// surf : Registry Services, LLC\n// https://www.iana.org/domains/root/db/surf.html\nsurf\n\n// surgery : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/surgery.html\nsurgery\n\n// suzuki : SUZUKI MOTOR CORPORATION\n// https://www.iana.org/domains/root/db/suzuki.html\nsuzuki\n\n// swatch : The Swatch Group Ltd\n// https://www.iana.org/domains/root/db/swatch.html\nswatch\n\n// swiss : Swiss Confederation\n// https://www.iana.org/domains/root/db/swiss.html\nswiss\n\n// sydney : State of New South Wales, Department of Premier and Cabinet\n// https://www.iana.org/domains/root/db/sydney.html\nsydney\n\n// systems : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/systems.html\nsystems\n\n// tab : Tabcorp Holdings Limited\n// https://www.iana.org/domains/root/db/tab.html\ntab\n\n// taipei : Taipei City Government\n// https://www.iana.org/domains/root/db/taipei.html\ntaipei\n\n// talk : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/talk.html\ntalk\n\n// taobao : Alibaba Group Holding Limited\n// https://www.iana.org/domains/root/db/taobao.html\ntaobao\n\n// target : Target Domain Holdings, LLC\n// https://www.iana.org/domains/root/db/target.html\ntarget\n\n// tatamotors : Tata Motors Ltd\n// https://www.iana.org/domains/root/db/tatamotors.html\ntatamotors\n\n// tatar : Limited Liability Company \"Coordination Center of Regional Domain of Tatarstan Republic\"\n// https://www.iana.org/domains/root/db/tatar.html\ntatar\n\n// tattoo : Registry Services, LLC\n// https://www.iana.org/domains/root/db/tattoo.html\ntattoo\n\n// tax : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/tax.html\ntax\n\n// taxi : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/taxi.html\ntaxi\n\n// tci : Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.\n// https://www.iana.org/domains/root/db/tci.html\ntci\n\n// tdk : TDK Corporation\n// https://www.iana.org/domains/root/db/tdk.html\ntdk\n\n// team : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/team.html\nteam\n\n// tech : Radix FZC DMCC\n// https://www.iana.org/domains/root/db/tech.html\ntech\n\n// technology : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/technology.html\ntechnology\n\n// temasek : Temasek Holdings (Private) Limited\n// https://www.iana.org/domains/root/db/temasek.html\ntemasek\n\n// tennis : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/tennis.html\ntennis\n\n// teva : Teva Pharmaceutical Industries Limited\n// https://www.iana.org/domains/root/db/teva.html\nteva\n\n// thd : Home Depot Product Authority, LLC\n// https://www.iana.org/domains/root/db/thd.html\nthd\n\n// theater : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/theater.html\ntheater\n\n// theatre : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/theatre.html\ntheatre\n\n// tiaa : Teachers Insurance and Annuity Association of America\n// https://www.iana.org/domains/root/db/tiaa.html\ntiaa\n\n// tickets : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/tickets.html\ntickets\n\n// tienda : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/tienda.html\ntienda\n\n// tips : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/tips.html\ntips\n\n// tires : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/tires.html\ntires\n\n// tirol : punkt Tirol GmbH\n// https://www.iana.org/domains/root/db/tirol.html\ntirol\n\n// tjmaxx : The TJX Companies, Inc.\n// https://www.iana.org/domains/root/db/tjmaxx.html\ntjmaxx\n\n// tjx : The TJX Companies, Inc.\n// https://www.iana.org/domains/root/db/tjx.html\ntjx\n\n// tkmaxx : The TJX Companies, Inc.\n// https://www.iana.org/domains/root/db/tkmaxx.html\ntkmaxx\n\n// tmall : Alibaba Group Holding Limited\n// https://www.iana.org/domains/root/db/tmall.html\ntmall\n\n// today : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/today.html\ntoday\n\n// tokyo : GMO Registry, Inc.\n// https://www.iana.org/domains/root/db/tokyo.html\ntokyo\n\n// tools : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/tools.html\ntools\n\n// top : .TOP Registry\n// https://www.iana.org/domains/root/db/top.html\ntop\n\n// toray : Toray Industries, Inc.\n// https://www.iana.org/domains/root/db/toray.html\ntoray\n\n// toshiba : TOSHIBA Corporation\n// https://www.iana.org/domains/root/db/toshiba.html\ntoshiba\n\n// total : TotalEnergies SE\n// https://www.iana.org/domains/root/db/total.html\ntotal\n\n// tours : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/tours.html\ntours\n\n// town : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/town.html\ntown\n\n// toyota : TOYOTA MOTOR CORPORATION\n// https://www.iana.org/domains/root/db/toyota.html\ntoyota\n\n// toys : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/toys.html\ntoys\n\n// trade : Elite Registry Limited\n// https://www.iana.org/domains/root/db/trade.html\ntrade\n\n// trading : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/trading.html\ntrading\n\n// training : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/training.html\ntraining\n\n// travel : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/travel.html\ntravel\n\n// travelers : Travelers TLD, LLC\n// https://www.iana.org/domains/root/db/travelers.html\ntravelers\n\n// travelersinsurance : Travelers TLD, LLC\n// https://www.iana.org/domains/root/db/travelersinsurance.html\ntravelersinsurance\n\n// trust : Internet Naming Company LLC\n// https://www.iana.org/domains/root/db/trust.html\ntrust\n\n// trv : Travelers TLD, LLC\n// https://www.iana.org/domains/root/db/trv.html\ntrv\n\n// tube : Latin American Telecom LLC\n// https://www.iana.org/domains/root/db/tube.html\ntube\n\n// tui : TUI AG\n// https://www.iana.org/domains/root/db/tui.html\ntui\n\n// tunes : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/tunes.html\ntunes\n\n// tushu : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/tushu.html\ntushu\n\n// tvs : T V SUNDRAM IYENGAR & SONS LIMITED\n// https://www.iana.org/domains/root/db/tvs.html\ntvs\n\n// ubank : National Australia Bank Limited\n// https://www.iana.org/domains/root/db/ubank.html\nubank\n\n// ubs : UBS AG\n// https://www.iana.org/domains/root/db/ubs.html\nubs\n\n// unicom : China United Network Communications Corporation Limited\n// https://www.iana.org/domains/root/db/unicom.html\nunicom\n\n// university : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/university.html\nuniversity\n\n// uno : Radix FZC DMCC\n// https://www.iana.org/domains/root/db/uno.html\nuno\n\n// uol : UBN INTERNET LTDA.\n// https://www.iana.org/domains/root/db/uol.html\nuol\n\n// ups : UPS Market Driver, Inc.\n// https://www.iana.org/domains/root/db/ups.html\nups\n\n// vacations : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/vacations.html\nvacations\n\n// vana : Lifestyle Domain Holdings, Inc.\n// https://www.iana.org/domains/root/db/vana.html\nvana\n\n// vanguard : The Vanguard Group, Inc.\n// https://www.iana.org/domains/root/db/vanguard.html\nvanguard\n\n// vegas : Dot Vegas, Inc.\n// https://www.iana.org/domains/root/db/vegas.html\nvegas\n\n// ventures : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/ventures.html\nventures\n\n// verisign : VeriSign, Inc.\n// https://www.iana.org/domains/root/db/verisign.html\nverisign\n\n// versicherung : tldbox GmbH\n// https://www.iana.org/domains/root/db/versicherung.html\nversicherung\n\n// vet : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/vet.html\nvet\n\n// viajes : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/viajes.html\nviajes\n\n// video : Dog Beach, LLC\n// https://www.iana.org/domains/root/db/video.html\nvideo\n\n// vig : VIENNA INSURANCE GROUP AG Wiener Versicherung Gruppe\n// https://www.iana.org/domains/root/db/vig.html\nvig\n\n// viking : Viking River Cruises (Bermuda) Ltd.\n// https://www.iana.org/domains/root/db/viking.html\nviking\n\n// villas : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/villas.html\nvillas\n\n// vin : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/vin.html\nvin\n\n// vip : Registry Services, LLC\n// https://www.iana.org/domains/root/db/vip.html\nvip\n\n// virgin : Virgin Enterprises Limited\n// https://www.iana.org/domains/root/db/virgin.html\nvirgin\n\n// visa : Visa Worldwide Pte. Limited\n// https://www.iana.org/domains/root/db/visa.html\nvisa\n\n// vision : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/vision.html\nvision\n\n// viva : Saudi Telecom Company\n// https://www.iana.org/domains/root/db/viva.html\nviva\n\n// vivo : Telefonica Brasil S.A.\n// https://www.iana.org/domains/root/db/vivo.html\nvivo\n\n// vlaanderen : DNS.be vzw\n// https://www.iana.org/domains/root/db/vlaanderen.html\nvlaanderen\n\n// vodka : Registry Services, LLC\n// https://www.iana.org/domains/root/db/vodka.html\nvodka\n\n// volkswagen : Volkswagen Group of America Inc.\n// https://www.iana.org/domains/root/db/volkswagen.html\nvolkswagen\n\n// volvo : Volvo Holding Sverige Aktiebolag\n// https://www.iana.org/domains/root/db/volvo.html\nvolvo\n\n// vote : Monolith Registry LLC\n// https://www.iana.org/domains/root/db/vote.html\nvote\n\n// voting : Valuetainment Corp.\n// https://www.iana.org/domains/root/db/voting.html\nvoting\n\n// voto : Monolith Registry LLC\n// https://www.iana.org/domains/root/db/voto.html\nvoto\n\n// voyage : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/voyage.html\nvoyage\n\n// wales : Nominet UK\n// https://www.iana.org/domains/root/db/wales.html\nwales\n\n// walmart : Wal-Mart Stores, Inc.\n// https://www.iana.org/domains/root/db/walmart.html\nwalmart\n\n// walter : Sandvik AB\n// https://www.iana.org/domains/root/db/walter.html\nwalter\n\n// wang : Zodiac Wang Limited\n// https://www.iana.org/domains/root/db/wang.html\nwang\n\n// wanggou : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/wanggou.html\nwanggou\n\n// watch : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/watch.html\nwatch\n\n// watches : Identity Digital Limited\n// https://www.iana.org/domains/root/db/watches.html\nwatches\n\n// weather : International Business Machines Corporation\n// https://www.iana.org/domains/root/db/weather.html\nweather\n\n// weatherchannel : International Business Machines Corporation\n// https://www.iana.org/domains/root/db/weatherchannel.html\nweatherchannel\n\n// webcam : dot Webcam Limited\n// https://www.iana.org/domains/root/db/webcam.html\nwebcam\n\n// weber : Saint-Gobain Weber SA\n// https://www.iana.org/domains/root/db/weber.html\nweber\n\n// website : Radix FZC DMCC\n// https://www.iana.org/domains/root/db/website.html\nwebsite\n\n// wedding : Registry Services, LLC\n// https://www.iana.org/domains/root/db/wedding.html\nwedding\n\n// weibo : Sina Corporation\n// https://www.iana.org/domains/root/db/weibo.html\nweibo\n\n// weir : Weir Group IP Limited\n// https://www.iana.org/domains/root/db/weir.html\nweir\n\n// whoswho : Who's Who Registry\n// https://www.iana.org/domains/root/db/whoswho.html\nwhoswho\n\n// wien : punkt.wien GmbH\n// https://www.iana.org/domains/root/db/wien.html\nwien\n\n// wiki : Registry Services, LLC\n// https://www.iana.org/domains/root/db/wiki.html\nwiki\n\n// williamhill : William Hill Organization Limited\n// https://www.iana.org/domains/root/db/williamhill.html\nwilliamhill\n\n// win : First Registry Limited\n// https://www.iana.org/domains/root/db/win.html\nwin\n\n// windows : Microsoft Corporation\n// https://www.iana.org/domains/root/db/windows.html\nwindows\n\n// wine : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/wine.html\nwine\n\n// winners : The TJX Companies, Inc.\n// https://www.iana.org/domains/root/db/winners.html\nwinners\n\n// wme : William Morris Endeavor Entertainment, LLC\n// https://www.iana.org/domains/root/db/wme.html\nwme\n\n// wolterskluwer : Wolters Kluwer N.V.\n// https://www.iana.org/domains/root/db/wolterskluwer.html\nwolterskluwer\n\n// woodside : Woodside Petroleum Limited\n// https://www.iana.org/domains/root/db/woodside.html\nwoodside\n\n// work : Registry Services, LLC\n// https://www.iana.org/domains/root/db/work.html\nwork\n\n// works : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/works.html\nworks\n\n// world : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/world.html\nworld\n\n// wow : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/wow.html\nwow\n\n// wtc : World Trade Centers Association, Inc.\n// https://www.iana.org/domains/root/db/wtc.html\nwtc\n\n// wtf : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/wtf.html\nwtf\n\n// xbox : Microsoft Corporation\n// https://www.iana.org/domains/root/db/xbox.html\nxbox\n\n// xerox : Xerox DNHC LLC\n// https://www.iana.org/domains/root/db/xerox.html\nxerox\n\n// xfinity : Comcast IP Holdings I, LLC\n// https://www.iana.org/domains/root/db/xfinity.html\nxfinity\n\n// xihuan : Beijing Qihu Keji Co., Ltd.\n// https://www.iana.org/domains/root/db/xihuan.html\nxihuan\n\n// xin : Elegant Leader Limited\n// https://www.iana.org/domains/root/db/xin.html\nxin\n\n// xn--11b4c3d : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--11b4c3d.html\n\\u0915\\u0949\\u092E\n\n// xn--1ck2e1b : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--1ck2e1b.html\n\\u30BB\\u30FC\\u30EB\n\n// xn--1qqw23a : Guangzhou YU Wei Information Technology Co., Ltd.\n// https://www.iana.org/domains/root/db/xn--1qqw23a.html\n\\u4F5B\\u5C71\n\n// xn--30rr7y : Excellent First Limited\n// https://www.iana.org/domains/root/db/xn--30rr7y.html\n\\u6148\\u5584\n\n// xn--3bst00m : Eagle Horizon Limited\n// https://www.iana.org/domains/root/db/xn--3bst00m.html\n\\u96C6\\u56E2\n\n// xn--3ds443g : TLD REGISTRY LIMITED OY\n// https://www.iana.org/domains/root/db/xn--3ds443g.html\n\\u5728\\u7EBF\n\n// xn--3pxu8k : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--3pxu8k.html\n\\u70B9\\u770B\n\n// xn--42c2d9a : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--42c2d9a.html\n\\u0E04\\u0E2D\\u0E21\n\n// xn--45q11c : Zodiac Gemini Ltd\n// https://www.iana.org/domains/root/db/xn--45q11c.html\n\\u516B\\u5366\n\n// xn--4gbrim : Helium TLDs Ltd\n// https://www.iana.org/domains/root/db/xn--4gbrim.html\n\\u0645\\u0648\\u0642\\u0639\n\n// xn--55qw42g : China Organizational Name Administration Center\n// https://www.iana.org/domains/root/db/xn--55qw42g.html\n\\u516C\\u76CA\n\n// xn--55qx5d : China Internet Network Information Center (CNNIC)\n// https://www.iana.org/domains/root/db/xn--55qx5d.html\n\\u516C\\u53F8\n\n// xn--5su34j936bgsg : Shangri\\u2010La International Hotel Management Limited\n// https://www.iana.org/domains/root/db/xn--5su34j936bgsg.html\n\\u9999\\u683C\\u91CC\\u62C9\n\n// xn--5tzm5g : Global Website TLD Asia Limited\n// https://www.iana.org/domains/root/db/xn--5tzm5g.html\n\\u7F51\\u7AD9\n\n// xn--6frz82g : Identity Digital Limited\n// https://www.iana.org/domains/root/db/xn--6frz82g.html\n\\u79FB\\u52A8\n\n// xn--6qq986b3xl : Tycoon Treasure Limited\n// https://www.iana.org/domains/root/db/xn--6qq986b3xl.html\n\\u6211\\u7231\\u4F60\n\n// xn--80adxhks : Foundation for Assistance for Internet Technologies and Infrastructure Development (FAITID)\n// https://www.iana.org/domains/root/db/xn--80adxhks.html\n\\u043C\\u043E\\u0441\\u043A\\u0432\\u0430\n\n// xn--80aqecdr1a : Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)\n// https://www.iana.org/domains/root/db/xn--80aqecdr1a.html\n\\u043A\\u0430\\u0442\\u043E\\u043B\\u0438\\u043A\n\n// xn--80asehdb : CORE Association\n// https://www.iana.org/domains/root/db/xn--80asehdb.html\n\\u043E\\u043D\\u043B\\u0430\\u0439\\u043D\n\n// xn--80aswg : CORE Association\n// https://www.iana.org/domains/root/db/xn--80aswg.html\n\\u0441\\u0430\\u0439\\u0442\n\n// xn--8y0a063a : China United Network Communications Corporation Limited\n// https://www.iana.org/domains/root/db/xn--8y0a063a.html\n\\u8054\\u901A\n\n// xn--9dbq2a : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--9dbq2a.html\n\\u05E7\\u05D5\\u05DD\n\n// xn--9et52u : RISE VICTORY LIMITED\n// https://www.iana.org/domains/root/db/xn--9et52u.html\n\\u65F6\\u5C1A\n\n// xn--9krt00a : Sina Corporation\n// https://www.iana.org/domains/root/db/xn--9krt00a.html\n\\u5FAE\\u535A\n\n// xn--b4w605ferd : Temasek Holdings (Private) Limited\n// https://www.iana.org/domains/root/db/xn--b4w605ferd.html\n\\u6DE1\\u9A6C\\u9521\n\n// xn--bck1b9a5dre4c : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--bck1b9a5dre4c.html\n\\u30D5\\u30A1\\u30C3\\u30B7\\u30E7\\u30F3\n\n// xn--c1avg : Public Interest Registry\n// https://www.iana.org/domains/root/db/xn--c1avg.html\n\\u043E\\u0440\\u0433\n\n// xn--c2br7g : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--c2br7g.html\n\\u0928\\u0947\\u091F\n\n// xn--cck2b3b : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--cck2b3b.html\n\\u30B9\\u30C8\\u30A2\n\n// xn--cckwcxetd : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--cckwcxetd.html\n\\u30A2\\u30DE\\u30BE\\u30F3\n\n// xn--cg4bki : SAMSUNG SDS CO., LTD\n// https://www.iana.org/domains/root/db/xn--cg4bki.html\n\\uC0BC\\uC131\n\n// xn--czr694b : Internet DotTrademark Organisation Limited\n// https://www.iana.org/domains/root/db/xn--czr694b.html\n\\u5546\\u6807\n\n// xn--czrs0t : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/xn--czrs0t.html\n\\u5546\\u5E97\n\n// xn--czru2d : Zodiac Aquarius Limited\n// https://www.iana.org/domains/root/db/xn--czru2d.html\n\\u5546\\u57CE\n\n// xn--d1acj3b : The Foundation for Network Initiatives \\u201CThe Smart Internet\\u201D\n// https://www.iana.org/domains/root/db/xn--d1acj3b.html\n\\u0434\\u0435\\u0442\\u0438\n\n// xn--eckvdtc9d : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--eckvdtc9d.html\n\\u30DD\\u30A4\\u30F3\\u30C8\n\n// xn--efvy88h : Guangzhou YU Wei Information Technology Co., Ltd.\n// https://www.iana.org/domains/root/db/xn--efvy88h.html\n\\u65B0\\u95FB\n\n// xn--fct429k : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--fct429k.html\n\\u5BB6\\u96FB\n\n// xn--fhbei : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--fhbei.html\n\\u0643\\u0648\\u0645\n\n// xn--fiq228c5hs : TLD REGISTRY LIMITED OY\n// https://www.iana.org/domains/root/db/xn--fiq228c5hs.html\n\\u4E2D\\u6587\\u7F51\n\n// xn--fiq64b : CITIC Group Corporation\n// https://www.iana.org/domains/root/db/xn--fiq64b.html\n\\u4E2D\\u4FE1\n\n// xn--fjq720a : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/xn--fjq720a.html\n\\u5A31\\u4E50\n\n// xn--flw351e : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/xn--flw351e.html\n\\u8C37\\u6B4C\n\n// xn--fzys8d69uvgm : PCCW Enterprises Limited\n// https://www.iana.org/domains/root/db/xn--fzys8d69uvgm.html\n\\u96FB\\u8A0A\\u76C8\\u79D1\n\n// xn--g2xx48c : Nawang Heli(Xiamen) Network Service Co., LTD.\n// https://www.iana.org/domains/root/db/xn--g2xx48c.html\n\\u8D2D\\u7269\n\n// xn--gckr3f0f : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--gckr3f0f.html\n\\u30AF\\u30E9\\u30A6\\u30C9\n\n// xn--gk3at1e : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--gk3at1e.html\n\\u901A\\u8CA9\n\n// xn--hxt814e : Zodiac Taurus Limited\n// https://www.iana.org/domains/root/db/xn--hxt814e.html\n\\u7F51\\u5E97\n\n// xn--i1b6b1a6a2e : Public Interest Registry\n// https://www.iana.org/domains/root/db/xn--i1b6b1a6a2e.html\n\\u0938\\u0902\\u0917\\u0920\\u0928\n\n// xn--imr513n : Internet DotTrademark Organisation Limited\n// https://www.iana.org/domains/root/db/xn--imr513n.html\n\\u9910\\u5385\n\n// xn--io0a7i : China Internet Network Information Center (CNNIC)\n// https://www.iana.org/domains/root/db/xn--io0a7i.html\n\\u7F51\\u7EDC\n\n// xn--j1aef : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--j1aef.html\n\\u043A\\u043E\\u043C\n\n// xn--jlq480n2rg : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--jlq480n2rg.html\n\\u4E9A\\u9A6C\\u900A\n\n// xn--jvr189m : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--jvr189m.html\n\\u98DF\\u54C1\n\n// xn--kcrx77d1x4a : Koninklijke Philips N.V.\n// https://www.iana.org/domains/root/db/xn--kcrx77d1x4a.html\n\\u98DE\\u5229\\u6D66\n\n// xn--kput3i : Beijing RITT-Net Technology Development Co., Ltd\n// https://www.iana.org/domains/root/db/xn--kput3i.html\n\\u624B\\u673A\n\n// xn--mgba3a3ejt : Aramco Services Company\n// https://www.iana.org/domains/root/db/xn--mgba3a3ejt.html\n\\u0627\\u0631\\u0627\\u0645\\u0643\\u0648\n\n// xn--mgba7c0bbn0a : Competrol (Luxembourg) Sarl\n// https://www.iana.org/domains/root/db/xn--mgba7c0bbn0a.html\n\\u0627\\u0644\\u0639\\u0644\\u064A\\u0627\\u0646\n\n// xn--mgbaakc7dvf : Emirates Telecommunications Corporation (trading as Etisalat)\n// https://www.iana.org/domains/root/db/xn--mgbaakc7dvf.html\n\\u0627\\u062A\\u0635\\u0627\\u0644\\u0627\\u062A\n\n// xn--mgbab2bd : CORE Association\n// https://www.iana.org/domains/root/db/xn--mgbab2bd.html\n\\u0628\\u0627\\u0632\\u0627\\u0631\n\n// xn--mgbca7dzdo : Abu Dhabi Systems and Information Centre\n// https://www.iana.org/domains/root/db/xn--mgbca7dzdo.html\n\\u0627\\u0628\\u0648\\u0638\\u0628\\u064A\n\n// xn--mgbi4ecexp : Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)\n// https://www.iana.org/domains/root/db/xn--mgbi4ecexp.html\n\\u0643\\u0627\\u062B\\u0648\\u0644\\u064A\\u0643\n\n// xn--mgbt3dhd : Asia Green IT System Bilgisayar San. ve Tic. Ltd. Sti.\n// https://www.iana.org/domains/root/db/xn--mgbt3dhd.html\n\\u0647\\u0645\\u0631\\u0627\\u0647\n\n// xn--mk1bu44c : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--mk1bu44c.html\n\\uB2F7\\uCEF4\n\n// xn--mxtq1m : Net-Chinese Co., Ltd.\n// https://www.iana.org/domains/root/db/xn--mxtq1m.html\n\\u653F\\u5E9C\n\n// xn--ngbc5azd : International Domain Registry Pty. Ltd.\n// https://www.iana.org/domains/root/db/xn--ngbc5azd.html\n\\u0634\\u0628\\u0643\\u0629\n\n// xn--ngbe9e0a : Kuwait Finance House\n// https://www.iana.org/domains/root/db/xn--ngbe9e0a.html\n\\u0628\\u064A\\u062A\\u0643\n\n// xn--ngbrx : League of Arab States\n// https://www.iana.org/domains/root/db/xn--ngbrx.html\n\\u0639\\u0631\\u0628\n\n// xn--nqv7f : Public Interest Registry\n// https://www.iana.org/domains/root/db/xn--nqv7f.html\n\\u673A\\u6784\n\n// xn--nqv7fs00ema : Public Interest Registry\n// https://www.iana.org/domains/root/db/xn--nqv7fs00ema.html\n\\u7EC4\\u7EC7\\u673A\\u6784\n\n// xn--nyqy26a : Stable Tone Limited\n// https://www.iana.org/domains/root/db/xn--nyqy26a.html\n\\u5065\\u5EB7\n\n// xn--otu796d : Jiang Yu Liang Cai Technology Company Limited\n// https://www.iana.org/domains/root/db/xn--otu796d.html\n\\u62DB\\u8058\n\n// xn--p1acf : Rusnames Limited\n// https://www.iana.org/domains/root/db/xn--p1acf.html\n\\u0440\\u0443\\u0441\n\n// xn--pssy2u : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--pssy2u.html\n\\u5927\\u62FF\n\n// xn--q9jyb4c : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/xn--q9jyb4c.html\n\\u307F\\u3093\\u306A\n\n// xn--qcka1pmc : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/xn--qcka1pmc.html\n\\u30B0\\u30FC\\u30B0\\u30EB\n\n// xn--rhqv96g : Stable Tone Limited\n// https://www.iana.org/domains/root/db/xn--rhqv96g.html\n\\u4E16\\u754C\n\n// xn--rovu88b : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--rovu88b.html\n\\u66F8\\u7C4D\n\n// xn--ses554g : KNET Co., Ltd.\n// https://www.iana.org/domains/root/db/xn--ses554g.html\n\\u7F51\\u5740\n\n// xn--t60b56a : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--t60b56a.html\n\\uB2F7\\uB137\n\n// xn--tckwe : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--tckwe.html\n\\u30B3\\u30E0\n\n// xn--tiq49xqyj : Pontificium Consilium de Comunicationibus Socialibus (PCCS) (Pontifical Council for Social Communication)\n// https://www.iana.org/domains/root/db/xn--tiq49xqyj.html\n\\u5929\\u4E3B\\u6559\n\n// xn--unup4y : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/xn--unup4y.html\n\\u6E38\\u620F\n\n// xn--vermgensberater-ctb : Deutsche Verm\\xF6gensberatung Aktiengesellschaft DVAG\n// https://www.iana.org/domains/root/db/xn--vermgensberater-ctb.html\nverm\\xF6gensberater\n\n// xn--vermgensberatung-pwb : Deutsche Verm\\xF6gensberatung Aktiengesellschaft DVAG\n// https://www.iana.org/domains/root/db/xn--vermgensberatung-pwb.html\nverm\\xF6gensberatung\n\n// xn--vhquv : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/xn--vhquv.html\n\\u4F01\\u4E1A\n\n// xn--vuq861b : Beijing Tele-info Technology Co., Ltd.\n// https://www.iana.org/domains/root/db/xn--vuq861b.html\n\\u4FE1\\u606F\n\n// xn--w4r85el8fhu5dnra : Kerry Trading Co. Limited\n// https://www.iana.org/domains/root/db/xn--w4r85el8fhu5dnra.html\n\\u5609\\u91CC\\u5927\\u9152\\u5E97\n\n// xn--w4rs40l : Kerry Trading Co. Limited\n// https://www.iana.org/domains/root/db/xn--w4rs40l.html\n\\u5609\\u91CC\n\n// xn--xhq521b : Guangzhou YU Wei Information Technology Co., Ltd.\n// https://www.iana.org/domains/root/db/xn--xhq521b.html\n\\u5E7F\\u4E1C\n\n// xn--zfr164b : China Organizational Name Administration Center\n// https://www.iana.org/domains/root/db/xn--zfr164b.html\n\\u653F\\u52A1\n\n// xyz : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/xyz.html\nxyz\n\n// yachts : XYZ.COM LLC\n// https://www.iana.org/domains/root/db/yachts.html\nyachts\n\n// yahoo : Oath Inc.\n// https://www.iana.org/domains/root/db/yahoo.html\nyahoo\n\n// yamaxun : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/yamaxun.html\nyamaxun\n\n// yandex : Yandex Europe B.V.\n// https://www.iana.org/domains/root/db/yandex.html\nyandex\n\n// yodobashi : YODOBASHI CAMERA CO.,LTD.\n// https://www.iana.org/domains/root/db/yodobashi.html\nyodobashi\n\n// yoga : Registry Services, LLC\n// https://www.iana.org/domains/root/db/yoga.html\nyoga\n\n// yokohama : GMO Registry, Inc.\n// https://www.iana.org/domains/root/db/yokohama.html\nyokohama\n\n// you : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/you.html\nyou\n\n// youtube : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/youtube.html\nyoutube\n\n// yun : Beijing Qihu Keji Co., Ltd.\n// https://www.iana.org/domains/root/db/yun.html\nyun\n\n// zappos : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/zappos.html\nzappos\n\n// zara : Industria de Dise\\xF1o Textil, S.A. (INDITEX, S.A.)\n// https://www.iana.org/domains/root/db/zara.html\nzara\n\n// zero : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/zero.html\nzero\n\n// zip : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/zip.html\nzip\n\n// zone : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/zone.html\nzone\n\n// zuerich : Kanton Z\\xFCrich (Canton of Zurich)\n// https://www.iana.org/domains/root/db/zuerich.html\nzuerich\n\n\n// ===END ICANN DOMAINS===\n// ===BEGIN PRIVATE DOMAINS===\n// (Note: these are in alphabetical order by company name)\n\n// 1GB LLC : https://www.1gb.ua/\n// Submitted by 1GB LLC <noc@1gb.com.ua>\ncc.ua\ninf.ua\nltd.ua\n\n// 611coin : https://611project.org/\n611.to\n\n// Aaron Marais' Gitlab pages: https://lab.aaronleem.co.za\n// Submitted by Aaron Marais <its_me@aaronleem.co.za>\ngraphox.us\n\n// accesso Technology Group, plc. : https://accesso.com/\n// Submitted by accesso Team <accessoecommerce@accesso.com>\n*.devcdnaccesso.com\n\n// Acorn Labs : https://acorn.io\n// Submitted by Craig Jellick <domains@acorn.io>\n*.on-acorn.io\n\n// ActiveTrail: https://www.activetrail.biz/\n// Submitted by Ofer Kalaora <postmaster@activetrail.com>\nactivetrail.biz\n\n// Adobe : https://www.adobe.com/\n// Submitted by Ian Boston <boston@adobe.com> and Lars Trieloff <trieloff@adobe.com>\nadobeaemcloud.com\n*.dev.adobeaemcloud.com\nhlx.live\nadobeaemcloud.net\nhlx.page\nhlx3.page\n\n// Adobe Developer Platform : https://developer.adobe.com\n// Submitted by Jesse MacFadyen<jessem@adobe.com>\nadobeio-static.net\nadobeioruntime.net\n\n// Agnat sp. z o.o. : https://domena.pl\n// Submitted by Przemyslaw Plewa <it-admin@domena.pl>\nbeep.pl\n\n// Airkit : https://www.airkit.com/\n// Submitted by Grant Cooksey <security@airkit.com>\nairkitapps.com\nairkitapps-au.com\nairkitapps.eu\n\n// Aiven: https://aiven.io/\n// Submitted by Etienne Stalmans <security@aiven.io>\naivencloud.com\n\n// Akamai : https://www.akamai.com/\n// Submitted by Akamai Team <publicsuffixlist@akamai.com>\nakadns.net\nakamai.net\nakamai-staging.net\nakamaiedge.net\nakamaiedge-staging.net\nakamaihd.net\nakamaihd-staging.net\nakamaiorigin.net\nakamaiorigin-staging.net\nakamaized.net\nakamaized-staging.net\nedgekey.net\nedgekey-staging.net\nedgesuite.net\nedgesuite-staging.net\n\n// alboto.ca : http://alboto.ca\n// Submitted by Anton Avramov <avramov@alboto.ca>\nbarsy.ca\n\n// Alces Software Ltd : http://alces-software.com\n// Submitted by Mark J. Titorenko <mark.titorenko@alces-software.com>\n*.compute.estate\n*.alces.network\n\n// all-inkl.com : https://all-inkl.com\n// Submitted by Werner Kaltofen <wk@all-inkl.com>\nkasserver.com\n\n// Altervista: https://www.altervista.org\n// Submitted by Carlo Cannas <tech_staff@altervista.it>\naltervista.org\n\n// alwaysdata : https://www.alwaysdata.com\n// Submitted by Cyril <admin@alwaysdata.com>\nalwaysdata.net\n\n// Amaze Software : https://amaze.co\n// Submitted by Domain Admin <domainadmin@amaze.co>\nmyamaze.net\n\n// Amazon : https://www.amazon.com/\n// Submitted by AWS Security <psl-maintainers@amazon.com>\n// Subsections of Amazon/subsidiaries will appear until \"concludes\" tag\n\n// Amazon CloudFront\n// Submitted by Donavan Miller <donavanm@amazon.com>\n// Reference: 54144616-fd49-4435-8535-19c6a601bdb3\ncloudfront.net\n\n// Amazon EC2\n// Submitted by Luke Wells <psl-maintainers@amazon.com>\n// Reference: 4c38fa71-58ac-4768-99e5-689c1767e537\n*.compute.amazonaws.com\n*.compute-1.amazonaws.com\n*.compute.amazonaws.com.cn\nus-east-1.amazonaws.com\n\n// Amazon S3\n// Submitted by Luke Wells <psl-maintainers@amazon.com>\n// Reference: d068bd97-f0a9-4838-a6d8-954b622ef4ae\ns3.cn-north-1.amazonaws.com.cn\ns3.dualstack.ap-northeast-1.amazonaws.com\ns3.dualstack.ap-northeast-2.amazonaws.com\ns3.ap-northeast-2.amazonaws.com\ns3-website.ap-northeast-2.amazonaws.com\ns3.dualstack.ap-south-1.amazonaws.com\ns3.ap-south-1.amazonaws.com\ns3-website.ap-south-1.amazonaws.com\ns3.dualstack.ap-southeast-1.amazonaws.com\ns3.dualstack.ap-southeast-2.amazonaws.com\ns3.dualstack.ca-central-1.amazonaws.com\ns3.ca-central-1.amazonaws.com\ns3-website.ca-central-1.amazonaws.com\ns3.dualstack.eu-central-1.amazonaws.com\ns3.eu-central-1.amazonaws.com\ns3-website.eu-central-1.amazonaws.com\ns3.dualstack.eu-west-1.amazonaws.com\ns3.dualstack.eu-west-2.amazonaws.com\ns3.eu-west-2.amazonaws.com\ns3-website.eu-west-2.amazonaws.com\ns3.dualstack.eu-west-3.amazonaws.com\ns3.eu-west-3.amazonaws.com\ns3-website.eu-west-3.amazonaws.com\ns3.amazonaws.com\ns3-ap-northeast-1.amazonaws.com\ns3-ap-northeast-2.amazonaws.com\ns3-ap-south-1.amazonaws.com\ns3-ap-southeast-1.amazonaws.com\ns3-ap-southeast-2.amazonaws.com\ns3-ca-central-1.amazonaws.com\ns3-eu-central-1.amazonaws.com\ns3-eu-west-1.amazonaws.com\ns3-eu-west-2.amazonaws.com\ns3-eu-west-3.amazonaws.com\ns3-external-1.amazonaws.com\ns3-fips-us-gov-west-1.amazonaws.com\ns3-sa-east-1.amazonaws.com\ns3-us-east-2.amazonaws.com\ns3-us-gov-west-1.amazonaws.com\ns3-us-west-1.amazonaws.com\ns3-us-west-2.amazonaws.com\ns3-website-ap-northeast-1.amazonaws.com\ns3-website-ap-southeast-1.amazonaws.com\ns3-website-ap-southeast-2.amazonaws.com\ns3-website-eu-west-1.amazonaws.com\ns3-website-sa-east-1.amazonaws.com\ns3-website-us-east-1.amazonaws.com\ns3-website-us-west-1.amazonaws.com\ns3-website-us-west-2.amazonaws.com\ns3.dualstack.sa-east-1.amazonaws.com\ns3.dualstack.us-east-1.amazonaws.com\ns3.dualstack.us-east-2.amazonaws.com\ns3.us-east-2.amazonaws.com\ns3-website.us-east-2.amazonaws.com\n\n// Analytics on AWS\n// Submitted by AWS Security <psl-maintainers@amazon.com>\n// Reference: c02c3a80-f8a0-4fd2-b719-48ea8b7c28de\nanalytics-gateway.ap-northeast-1.amazonaws.com\nanalytics-gateway.eu-west-1.amazonaws.com\nanalytics-gateway.us-east-1.amazonaws.com\nanalytics-gateway.us-east-2.amazonaws.com\nanalytics-gateway.us-west-2.amazonaws.com\n\n// AWS Cloud9\n// Submitted by: AWS Security <psl-maintainers@amazon.com>\n// Reference: 05c44955-977c-4b57-938a-f2af92733f9f\nwebview-assets.aws-cloud9.af-south-1.amazonaws.com\nvfs.cloud9.af-south-1.amazonaws.com\nwebview-assets.cloud9.af-south-1.amazonaws.com\nwebview-assets.aws-cloud9.ap-east-1.amazonaws.com\nvfs.cloud9.ap-east-1.amazonaws.com\nwebview-assets.cloud9.ap-east-1.amazonaws.com\nwebview-assets.aws-cloud9.ap-northeast-1.amazonaws.com\nvfs.cloud9.ap-northeast-1.amazonaws.com\nwebview-assets.cloud9.ap-northeast-1.amazonaws.com\nwebview-assets.aws-cloud9.ap-northeast-2.amazonaws.com\nvfs.cloud9.ap-northeast-2.amazonaws.com\nwebview-assets.cloud9.ap-northeast-2.amazonaws.com\nwebview-assets.aws-cloud9.ap-northeast-3.amazonaws.com\nvfs.cloud9.ap-northeast-3.amazonaws.com\nwebview-assets.cloud9.ap-northeast-3.amazonaws.com\nwebview-assets.aws-cloud9.ap-south-1.amazonaws.com\nvfs.cloud9.ap-south-1.amazonaws.com\nwebview-assets.cloud9.ap-south-1.amazonaws.com\nwebview-assets.aws-cloud9.ap-southeast-1.amazonaws.com\nvfs.cloud9.ap-southeast-1.amazonaws.com\nwebview-assets.cloud9.ap-southeast-1.amazonaws.com\nwebview-assets.aws-cloud9.ap-southeast-2.amazonaws.com\nvfs.cloud9.ap-southeast-2.amazonaws.com\nwebview-assets.cloud9.ap-southeast-2.amazonaws.com\nwebview-assets.aws-cloud9.ca-central-1.amazonaws.com\nvfs.cloud9.ca-central-1.amazonaws.com\nwebview-assets.cloud9.ca-central-1.amazonaws.com\nwebview-assets.aws-cloud9.eu-central-1.amazonaws.com\nvfs.cloud9.eu-central-1.amazonaws.com\nwebview-assets.cloud9.eu-central-1.amazonaws.com\nwebview-assets.aws-cloud9.eu-north-1.amazonaws.com\nvfs.cloud9.eu-north-1.amazonaws.com\nwebview-assets.cloud9.eu-north-1.amazonaws.com\nwebview-assets.aws-cloud9.eu-south-1.amazonaws.com\nvfs.cloud9.eu-south-1.amazonaws.com\nwebview-assets.cloud9.eu-south-1.amazonaws.com\nwebview-assets.aws-cloud9.eu-west-1.amazonaws.com\nvfs.cloud9.eu-west-1.amazonaws.com\nwebview-assets.cloud9.eu-west-1.amazonaws.com\nwebview-assets.aws-cloud9.eu-west-2.amazonaws.com\nvfs.cloud9.eu-west-2.amazonaws.com\nwebview-assets.cloud9.eu-west-2.amazonaws.com\nwebview-assets.aws-cloud9.eu-west-3.amazonaws.com\nvfs.cloud9.eu-west-3.amazonaws.com\nwebview-assets.cloud9.eu-west-3.amazonaws.com\nwebview-assets.aws-cloud9.me-south-1.amazonaws.com\nvfs.cloud9.me-south-1.amazonaws.com\nwebview-assets.cloud9.me-south-1.amazonaws.com\nwebview-assets.aws-cloud9.sa-east-1.amazonaws.com\nvfs.cloud9.sa-east-1.amazonaws.com\nwebview-assets.cloud9.sa-east-1.amazonaws.com\nwebview-assets.aws-cloud9.us-east-1.amazonaws.com\nvfs.cloud9.us-east-1.amazonaws.com\nwebview-assets.cloud9.us-east-1.amazonaws.com\nwebview-assets.aws-cloud9.us-east-2.amazonaws.com\nvfs.cloud9.us-east-2.amazonaws.com\nwebview-assets.cloud9.us-east-2.amazonaws.com\nwebview-assets.aws-cloud9.us-west-1.amazonaws.com\nvfs.cloud9.us-west-1.amazonaws.com\nwebview-assets.cloud9.us-west-1.amazonaws.com\nwebview-assets.aws-cloud9.us-west-2.amazonaws.com\nvfs.cloud9.us-west-2.amazonaws.com\nwebview-assets.cloud9.us-west-2.amazonaws.com\n\n// AWS Elastic Beanstalk\n// Submitted by Luke Wells <psl-maintainers@amazon.com>\n// Reference: aa202394-43a0-4857-b245-8db04549137e\ncn-north-1.eb.amazonaws.com.cn\ncn-northwest-1.eb.amazonaws.com.cn\nelasticbeanstalk.com\nap-northeast-1.elasticbeanstalk.com\nap-northeast-2.elasticbeanstalk.com\nap-northeast-3.elasticbeanstalk.com\nap-south-1.elasticbeanstalk.com\nap-southeast-1.elasticbeanstalk.com\nap-southeast-2.elasticbeanstalk.com\nca-central-1.elasticbeanstalk.com\neu-central-1.elasticbeanstalk.com\neu-west-1.elasticbeanstalk.com\neu-west-2.elasticbeanstalk.com\neu-west-3.elasticbeanstalk.com\nsa-east-1.elasticbeanstalk.com\nus-east-1.elasticbeanstalk.com\nus-east-2.elasticbeanstalk.com\nus-gov-west-1.elasticbeanstalk.com\nus-west-1.elasticbeanstalk.com\nus-west-2.elasticbeanstalk.com\n\n// (AWS) Elastic Load Balancing\n// Submitted by Luke Wells <psl-maintainers@amazon.com>\n// Reference: 12a3d528-1bac-4433-a359-a395867ffed2\n*.elb.amazonaws.com.cn\n*.elb.amazonaws.com\n\n// AWS Global Accelerator\n// Submitted by Daniel Massaguer <psl-maintainers@amazon.com>\n// Reference: d916759d-a08b-4241-b536-4db887383a6a\nawsglobalaccelerator.com\n\n// eero\n// Submitted by Yue Kang <eero-dynamic-dns@amazon.com>\n// Reference: 264afe70-f62c-4c02-8ab9-b5281ed24461\neero.online\neero-stage.online\n\n// concludes Amazon\n\n// Amune : https://amune.org/\n// Submitted by Team Amune <cert@amune.org>\nt3l3p0rt.net\ntele.amune.org\n\n// Apigee : https://apigee.com/\n// Submitted by Apigee Security Team <security@apigee.com>\napigee.io\n\n// Apphud : https://apphud.com\n// Submitted by Alexander Selivanov <alex@apphud.com>\nsiiites.com\n\n// Appspace : https://www.appspace.com\n// Submitted by Appspace Security Team <security@appspace.com>\nappspacehosted.com\nappspaceusercontent.com\n\n// Appudo UG (haftungsbeschr\\xE4nkt) : https://www.appudo.com\n// Submitted by Alexander Hochbaum <admin@appudo.com>\nappudo.net\n\n// Aptible : https://www.aptible.com/\n// Submitted by Thomas Orozco <thomas@aptible.com>\non-aptible.com\n\n// ASEINet : https://www.aseinet.com/\n// Submitted by Asei SEKIGUCHI <mail@aseinet.com>\nuser.aseinet.ne.jp\ngv.vc\nd.gv.vc\n\n// Asociaci\\xF3n Amigos de la Inform\\xE1tica \"Euskalamiga\" : http://encounter.eus/\n// Submitted by Hector Martin <marcan@euskalencounter.org>\nuser.party.eus\n\n// Association potager.org : https://potager.org/\n// Submitted by Lunar <jardiniers@potager.org>\npimienta.org\npoivron.org\npotager.org\nsweetpepper.org\n\n// ASUSTOR Inc. : http://www.asustor.com\n// Submitted by Vincent Tseng <vincenttseng@asustor.com>\nmyasustor.com\n\n// Atlassian : https://atlassian.com\n// Submitted by Sam Smyth <devloop@atlassian.com>\ncdn.prod.atlassian-dev.net\n\n// Authentick UG (haftungsbeschr\\xE4nkt) : https://authentick.net\n// Submitted by Lukas Reschke <lukas@authentick.net>\ntranslated.page\n\n// Autocode : https://autocode.com\n// Submitted by Jacob Lee <jacob@autocode.com>\nautocode.dev\n\n// AVM : https://avm.de\n// Submitted by Andreas Weise <a.weise@avm.de>\nmyfritz.net\n\n// AVStack Pte. Ltd. : https://avstack.io\n// Submitted by Jasper Hugo <jasper@avstack.io>\nonavstack.net\n\n// AW AdvisorWebsites.com Software Inc : https://advisorwebsites.com\n// Submitted by James Kennedy <domains@advisorwebsites.com>\n*.awdev.ca\n*.advisor.ws\n\n// AZ.pl sp. z.o.o: https://az.pl\n// Submitted by Krzysztof Wolski <krzysztof.wolski@home.eu>\necommerce-shop.pl\n\n// b-data GmbH : https://www.b-data.io\n// Submitted by Olivier Benz <olivier.benz@b-data.ch>\nb-data.io\n\n// backplane : https://www.backplane.io\n// Submitted by Anthony Voutas <anthony@backplane.io>\nbackplaneapp.io\n\n// Balena : https://www.balena.io\n// Submitted by Petros Angelatos <petrosagg@balena.io>\nbalena-devices.com\n\n// University of Banja Luka : https://unibl.org\n// Domains for Republic of Srpska administrative entity.\n// Submitted by Marko Ivanovic <kormang@hotmail.rs>\nrs.ba\n\n// Banzai Cloud\n// Submitted by Janos Matyas <info@banzaicloud.com>\n*.banzai.cloud\napp.banzaicloud.io\n*.backyards.banzaicloud.io\n\n// BASE, Inc. : https://binc.jp\n// Submitted by Yuya NAGASAWA <public-suffix-list@binc.jp>\nbase.ec\nofficial.ec\nbuyshop.jp\nfashionstore.jp\nhandcrafted.jp\nkawaiishop.jp\nsupersale.jp\ntheshop.jp\nshopselect.net\nbase.shop\n\n// BeagleBoard.org Foundation : https://beagleboard.org\n// Submitted by Jason Kridner <jkridner@beagleboard.org>\nbeagleboard.io\n\n// Beget Ltd\n// Submitted by Lev Nekrasov <lnekrasov@beget.com>\n*.beget.app\n\n// BetaInABox\n// Submitted by Adrian <adrian@betainabox.com>\nbetainabox.com\n\n// BinaryLane : http://www.binarylane.com\n// Submitted by Nathan O'Sullivan <nathan@mammoth.com.au>\nbnr.la\n\n// Bitbucket : http://bitbucket.org\n// Submitted by Andy Ortlieb <aortlieb@atlassian.com>\nbitbucket.io\n\n// Blackbaud, Inc. : https://www.blackbaud.com\n// Submitted by Paul Crowder <paul.crowder@blackbaud.com>\nblackbaudcdn.net\n\n// Blatech : http://www.blatech.net\n// Submitted by Luke Bratch <luke@bratch.co.uk>\nof.je\n\n// Blue Bite, LLC : https://bluebite.com\n// Submitted by Joshua Weiss <admin.engineering@bluebite.com>\nbluebite.io\n\n// Boomla : https://boomla.com\n// Submitted by Tibor Halter <thalter@boomla.com>\nboomla.net\n\n// Boutir : https://www.boutir.com\n// Submitted by Eric Ng Ka Ka <ngkaka@boutir.com>\nboutir.com\n\n// Boxfuse : https://boxfuse.com\n// Submitted by Axel Fontaine <axel@boxfuse.com>\nboxfuse.io\n\n// bplaced : https://www.bplaced.net/\n// Submitted by Miroslav Bozic <security@bplaced.net>\nsquare7.ch\nbplaced.com\nbplaced.de\nsquare7.de\nbplaced.net\nsquare7.net\n\n// Brendly : https://brendly.rs\n// Submitted by Dusan Radovanovic <dusan.radovanovic@brendly.rs>\nshop.brendly.rs\n\n// BrowserSafetyMark\n// Submitted by Dave Tharp <browsersafetymark.io@quicinc.com>\nbrowsersafetymark.io\n\n// Bytemark Hosting : https://www.bytemark.co.uk\n// Submitted by Paul Cammish <paul.cammish@bytemark.co.uk>\nuk0.bigv.io\ndh.bytemark.co.uk\nvm.bytemark.co.uk\n\n// Caf.js Labs LLC : https://www.cafjs.com\n// Submitted by Antonio Lain <antlai@cafjs.com>\ncafjs.com\n\n// callidomus : https://www.callidomus.com/\n// Submitted by Marcus Popp <admin@callidomus.com>\nmycd.eu\n\n// Canva Pty Ltd : https://canva.com/\n// Submitted by Joel Aquilina <publicsuffixlist@canva.com>\ncanva-apps.cn\ncanva-apps.com\n\n// Carrd : https://carrd.co\n// Submitted by AJ <aj@carrd.co>\ndrr.ac\nuwu.ai\ncarrd.co\ncrd.co\nju.mp\n\n// CentralNic : http://www.centralnic.com/names/domains\n// Submitted by registry <gavin.brown@centralnic.com>\nae.org\nbr.com\ncn.com\ncom.de\ncom.se\nde.com\neu.com\ngb.net\nhu.net\njp.net\njpn.com\nmex.com\nru.com\nsa.com\nse.net\nuk.com\nuk.net\nus.com\nza.bz\nza.com\n\n// No longer operated by CentralNic, these entries should be adopted and/or removed by current operators\n// Submitted by Gavin Brown <gavin.brown@centralnic.com>\nar.com\nhu.com\nkr.com\nno.com\nqc.com\nuy.com\n\n// Africa.com Web Solutions Ltd : https://registry.africa.com\n// Submitted by Gavin Brown <gavin.brown@centralnic.com>\nafrica.com\n\n// iDOT Services Limited : http://www.domain.gr.com\n// Submitted by Gavin Brown <gavin.brown@centralnic.com>\ngr.com\n\n// Radix FZC : http://domains.in.net\n// Submitted by Gavin Brown <gavin.brown@centralnic.com>\nin.net\nweb.in\n\n// US REGISTRY LLC : http://us.org\n// Submitted by Gavin Brown <gavin.brown@centralnic.com>\nus.org\n\n// co.com Registry, LLC : https://registry.co.com\n// Submitted by Gavin Brown <gavin.brown@centralnic.com>\nco.com\n\n// Roar Domains LLC : https://roar.basketball/\n// Submitted by Gavin Brown <gavin.brown@centralnic.com>\naus.basketball\nnz.basketball\n\n// BRS Media : https://brsmedia.com/\n// Submitted by Gavin Brown <gavin.brown@centralnic.com>\nradio.am\nradio.fm\n\n// c.la : http://www.c.la/\nc.la\n\n// certmgr.org : https://certmgr.org\n// Submitted by B. Blechschmidt <hostmaster@certmgr.org>\ncertmgr.org\n\n// Cityhost LLC : https://cityhost.ua\n// Submitted by Maksym Rivtin <support@cityhost.net.ua>\ncx.ua\n\n// Civilized Discourse Construction Kit, Inc. : https://www.discourse.org/\n// Submitted by Rishabh Nambiar & Michael Brown <team@discourse.org>\ndiscourse.group\ndiscourse.team\n\n// Clever Cloud : https://www.clever-cloud.com/\n// Submitted by Quentin Adam <noc@clever-cloud.com>\ncleverapps.io\n\n// Clerk : https://www.clerk.dev\n// Submitted by Colin Sidoti <systems@clerk.dev>\nclerk.app\nclerkstage.app\n*.lcl.dev\n*.lclstage.dev\n*.stg.dev\n*.stgstage.dev\n\n// ClickRising : https://clickrising.com/\n// Submitted by Umut Gumeli <infrastructure-publicsuffixlist@clickrising.com>\nclickrising.net\n\n// Cloud66 : https://www.cloud66.com/\n// Submitted by Khash Sajadi <khash@cloud66.com>\nc66.me\ncloud66.ws\ncloud66.zone\n\n// CloudAccess.net : https://www.cloudaccess.net/\n// Submitted by Pawel Panek <noc@cloudaccess.net>\njdevcloud.com\nwpdevcloud.com\ncloudaccess.host\nfreesite.host\ncloudaccess.net\n\n// cloudControl : https://www.cloudcontrol.com/\n// Submitted by Tobias Wilken <tw@cloudcontrol.com>\ncloudcontrolled.com\ncloudcontrolapp.com\n\n// Cloudera, Inc. : https://www.cloudera.com/\n// Submitted by Kedarnath Waikar <security@cloudera.com>\n*.cloudera.site\n\n// Cloudflare, Inc. : https://www.cloudflare.com/\n// Submitted by Cloudflare Team <publicsuffixlist@cloudflare.com>\ncf-ipfs.com\ncloudflare-ipfs.com\ntrycloudflare.com\npages.dev\nr2.dev\nworkers.dev\n\n// Clovyr : https://clovyr.io\n// Submitted by Patrick Nielsen <patrick@clovyr.io>\nwnext.app\n\n// co.ca : http://registry.co.ca/\nco.ca\n\n// Co & Co : https://co-co.nl/\n// Submitted by Govert Versluis <govert@co-co.nl>\n*.otap.co\n\n// i-registry s.r.o. : http://www.i-registry.cz/\n// Submitted by Martin Semrad <semrad@i-registry.cz>\nco.cz\n\n// CDN77.com : http://www.cdn77.com\n// Submitted by Jan Krpes <jan.krpes@cdn77.com>\nc.cdn77.org\ncdn77-ssl.net\nr.cdn77.net\nrsc.cdn77.org\nssl.origin.cdn77-secure.org\n\n// Cloud DNS Ltd : http://www.cloudns.net\n// Submitted by Aleksander Hristov <noc@cloudns.net>\ncloudns.asia\ncloudns.biz\ncloudns.club\ncloudns.cc\ncloudns.eu\ncloudns.in\ncloudns.info\ncloudns.org\ncloudns.pro\ncloudns.pw\ncloudns.us\n\n// CNPY : https://cnpy.gdn\n// Submitted by Angelo Gladding <angelo@lahacker.net>\ncnpy.gdn\n\n// Codeberg e. V. : https://codeberg.org\n// Submitted by Moritz Marquardt <git@momar.de>\ncodeberg.page\n\n// CoDNS B.V.\nco.nl\nco.no\n\n// Combell.com : https://www.combell.com\n// Submitted by Thomas Wouters <thomas.wouters@combellgroup.com>\nwebhosting.be\nhosting-cluster.nl\n\n// Coordination Center for TLD RU and XN--P1AI : https://cctld.ru/en/domains/domens_ru/reserved/\n// Submitted by George Georgievsky <gug@cctld.ru>\nac.ru\nedu.ru\ngov.ru\nint.ru\nmil.ru\ntest.ru\n\n// COSIMO GmbH : http://www.cosimo.de\n// Submitted by Rene Marticke <rmarticke@cosimo.de>\ndyn.cosidns.de\ndynamisches-dns.de\ndnsupdater.de\ninternet-dns.de\nl-o-g-i-n.de\ndynamic-dns.info\nfeste-ip.net\nknx-server.net\nstatic-access.net\n\n// Craynic, s.r.o. : http://www.craynic.com/\n// Submitted by Ales Krajnik <ales.krajnik@craynic.com>\nrealm.cz\n\n// Cryptonomic : https://cryptonomic.net/\n// Submitted by Andrew Cady <public-suffix-list@cryptonomic.net>\n*.cryptonomic.net\n\n// Cupcake : https://cupcake.io/\n// Submitted by Jonathan Rudenberg <jonathan@cupcake.io>\ncupcake.is\n\n// Curv UG : https://curv-labs.de/\n// Submitted by Marvin Wiesner <Marvin@curv-labs.de>\ncurv.dev\n\n// Customer OCI - Oracle Dyn https://cloud.oracle.com/home https://dyn.com/dns/\n// Submitted by Gregory Drake <support@dyn.com>\n// Note: This is intended to also include customer-oci.com due to wildcards implicitly including the current label\n*.customer-oci.com\n*.oci.customer-oci.com\n*.ocp.customer-oci.com\n*.ocs.customer-oci.com\n\n// cyon GmbH : https://www.cyon.ch/\n// Submitted by Dominic Luechinger <dol@cyon.ch>\ncyon.link\ncyon.site\n\n// Danger Science Group: https://dangerscience.com/\n// Submitted by Skylar MacDonald <skylar@dangerscience.com>\nfnwk.site\nfolionetwork.site\nplatform0.app\n\n// Daplie, Inc : https://daplie.com\n// Submitted by AJ ONeal <aj@daplie.com>\ndaplie.me\nlocalhost.daplie.me\n\n// Datto, Inc. : https://www.datto.com/\n// Submitted by Philipp Heckel <ph@datto.com>\ndattolocal.com\ndattorelay.com\ndattoweb.com\nmydatto.com\ndattolocal.net\nmydatto.net\n\n// Dansk.net : http://www.dansk.net/\n// Submitted by Anani Voule <digital@digital.co.dk>\nbiz.dk\nco.dk\nfirm.dk\nreg.dk\nstore.dk\n\n// dappnode.io : https://dappnode.io/\n// Submitted by Abel Boldu / DAppNode Team <community@dappnode.io>\ndyndns.dappnode.io\n\n// dapps.earth : https://dapps.earth/\n// Submitted by Daniil Burdakov <icqkill@gmail.com>\n*.dapps.earth\n*.bzz.dapps.earth\n\n// Dark, Inc. : https://darklang.com\n// Submitted by Paul Biggar <ops@darklang.com>\nbuiltwithdark.com\n\n// DataDetect, LLC. : https://datadetect.com\n// Submitted by Andrew Banchich <abanchich@sceven.com>\ndemo.datadetect.com\ninstance.datadetect.com\n\n// Datawire, Inc : https://www.datawire.io\n// Submitted by Richard Li <secalert@datawire.io>\nedgestack.me\n\n// DDNS5 : https://ddns5.com\n// Submitted by Cameron Elliott <cameron@cameronelliott.com>\nddns5.com\n\n// Debian : https://www.debian.org/\n// Submitted by Peter Palfrader / Debian Sysadmin Team <dsa-publicsuffixlist@debian.org>\ndebian.net\n\n// Deno Land Inc : https://deno.com/\n// Submitted by Luca Casonato <hostmaster@deno.com>\ndeno.dev\ndeno-staging.dev\n\n// deSEC : https://desec.io/\n// Submitted by Peter Thomassen <peter@desec.io>\ndedyn.io\n\n// Deta: https://www.deta.sh/\n// Submitted by Aavash Shrestha <aavash@deta.sh>\ndeta.app\ndeta.dev\n\n// Diher Solutions : https://diher.solutions\n// Submitted by Didi Hermawan <mail@diher.solutions>\n*.rss.my.id\n*.diher.solutions\n\n// Discord Inc : https://discord.com\n// Submitted by Sahn Lam <slam@discordapp.com>\ndiscordsays.com\ndiscordsez.com\n\n// DNS Africa Ltd https://dns.business\n// Submitted by Calvin Browne <calvin@dns.business>\njozi.biz\n\n// DNShome : https://www.dnshome.de/\n// Submitted by Norbert Auler <mail@dnshome.de>\ndnshome.de\n\n// DotArai : https://www.dotarai.com/\n// Submitted by Atsadawat Netcharadsang <atsadawat@dotarai.co.th>\nonline.th\nshop.th\n\n// DrayTek Corp. : https://www.draytek.com/\n// Submitted by Paul Fang <mis@draytek.com>\ndrayddns.com\n\n// DreamCommerce : https://shoper.pl/\n// Submitted by Konrad Kotarba <konrad.kotarba@dreamcommerce.com>\nshoparena.pl\n\n// DreamHost : http://www.dreamhost.com/\n// Submitted by Andrew Farmer <andrew.farmer@dreamhost.com>\ndreamhosters.com\n\n// Drobo : http://www.drobo.com/\n// Submitted by Ricardo Padilha <rpadilha@drobo.com>\nmydrobo.com\n\n// Drud Holdings, LLC. : https://www.drud.com/\n// Submitted by Kevin Bridges <kevin@drud.com>\ndrud.io\ndrud.us\n\n// DuckDNS : http://www.duckdns.org/\n// Submitted by Richard Harper <richard@duckdns.org>\nduckdns.org\n\n// Bip : https://bip.sh\n// Submitted by Joel Kennedy <joel@bip.sh>\nbip.sh\n\n// bitbridge.net : Submitted by Craig Welch, abeliidev@gmail.com\nbitbridge.net\n\n// dy.fi : http://dy.fi/\n// Submitted by Heikki Hannikainen <hessu@hes.iki.fi>\ndy.fi\ntunk.org\n\n// DynDNS.com : http://www.dyndns.com/services/dns/dyndns/\ndyndns-at-home.com\ndyndns-at-work.com\ndyndns-blog.com\ndyndns-free.com\ndyndns-home.com\ndyndns-ip.com\ndyndns-mail.com\ndyndns-office.com\ndyndns-pics.com\ndyndns-remote.com\ndyndns-server.com\ndyndns-web.com\ndyndns-wiki.com\ndyndns-work.com\ndyndns.biz\ndyndns.info\ndyndns.org\ndyndns.tv\nat-band-camp.net\nath.cx\nbarrel-of-knowledge.info\nbarrell-of-knowledge.info\nbetter-than.tv\nblogdns.com\nblogdns.net\nblogdns.org\nblogsite.org\nboldlygoingnowhere.org\nbroke-it.net\nbuyshouses.net\ncechire.com\ndnsalias.com\ndnsalias.net\ndnsalias.org\ndnsdojo.com\ndnsdojo.net\ndnsdojo.org\ndoes-it.net\ndoesntexist.com\ndoesntexist.org\ndontexist.com\ndontexist.net\ndontexist.org\ndoomdns.com\ndoomdns.org\ndvrdns.org\ndyn-o-saur.com\ndynalias.com\ndynalias.net\ndynalias.org\ndynathome.net\ndyndns.ws\nendofinternet.net\nendofinternet.org\nendoftheinternet.org\nest-a-la-maison.com\nest-a-la-masion.com\nest-le-patron.com\nest-mon-blogueur.com\nfor-better.biz\nfor-more.biz\nfor-our.info\nfor-some.biz\nfor-the.biz\nforgot.her.name\nforgot.his.name\nfrom-ak.com\nfrom-al.com\nfrom-ar.com\nfrom-az.net\nfrom-ca.com\nfrom-co.net\nfrom-ct.com\nfrom-dc.com\nfrom-de.com\nfrom-fl.com\nfrom-ga.com\nfrom-hi.com\nfrom-ia.com\nfrom-id.com\nfrom-il.com\nfrom-in.com\nfrom-ks.com\nfrom-ky.com\nfrom-la.net\nfrom-ma.com\nfrom-md.com\nfrom-me.org\nfrom-mi.com\nfrom-mn.com\nfrom-mo.com\nfrom-ms.com\nfrom-mt.com\nfrom-nc.com\nfrom-nd.com\nfrom-ne.com\nfrom-nh.com\nfrom-nj.com\nfrom-nm.com\nfrom-nv.com\nfrom-ny.net\nfrom-oh.com\nfrom-ok.com\nfrom-or.com\nfrom-pa.com\nfrom-pr.com\nfrom-ri.com\nfrom-sc.com\nfrom-sd.com\nfrom-tn.com\nfrom-tx.com\nfrom-ut.com\nfrom-va.com\nfrom-vt.com\nfrom-wa.com\nfrom-wi.com\nfrom-wv.com\nfrom-wy.com\nftpaccess.cc\nfuettertdasnetz.de\ngame-host.org\ngame-server.cc\ngetmyip.com\ngets-it.net\ngo.dyndns.org\ngotdns.com\ngotdns.org\ngroks-the.info\ngroks-this.info\nham-radio-op.net\nhere-for-more.info\nhobby-site.com\nhobby-site.org\nhome.dyndns.org\nhomedns.org\nhomeftp.net\nhomeftp.org\nhomeip.net\nhomelinux.com\nhomelinux.net\nhomelinux.org\nhomeunix.com\nhomeunix.net\nhomeunix.org\niamallama.com\nin-the-band.net\nis-a-anarchist.com\nis-a-blogger.com\nis-a-bookkeeper.com\nis-a-bruinsfan.org\nis-a-bulls-fan.com\nis-a-candidate.org\nis-a-caterer.com\nis-a-celticsfan.org\nis-a-chef.com\nis-a-chef.net\nis-a-chef.org\nis-a-conservative.com\nis-a-cpa.com\nis-a-cubicle-slave.com\nis-a-democrat.com\nis-a-designer.com\nis-a-doctor.com\nis-a-financialadvisor.com\nis-a-geek.com\nis-a-geek.net\nis-a-geek.org\nis-a-green.com\nis-a-guru.com\nis-a-hard-worker.com\nis-a-hunter.com\nis-a-knight.org\nis-a-landscaper.com\nis-a-lawyer.com\nis-a-liberal.com\nis-a-libertarian.com\nis-a-linux-user.org\nis-a-llama.com\nis-a-musician.com\nis-a-nascarfan.com\nis-a-nurse.com\nis-a-painter.com\nis-a-patsfan.org\nis-a-personaltrainer.com\nis-a-photographer.com\nis-a-player.com\nis-a-republican.com\nis-a-rockstar.com\nis-a-socialist.com\nis-a-soxfan.org\nis-a-student.com\nis-a-teacher.com\nis-a-techie.com\nis-a-therapist.com\nis-an-accountant.com\nis-an-actor.com\nis-an-actress.com\nis-an-anarchist.com\nis-an-artist.com\nis-an-engineer.com\nis-an-entertainer.com\nis-by.us\nis-certified.com\nis-found.org\nis-gone.com\nis-into-anime.com\nis-into-cars.com\nis-into-cartoons.com\nis-into-games.com\nis-leet.com\nis-lost.org\nis-not-certified.com\nis-saved.org\nis-slick.com\nis-uberleet.com\nis-very-bad.org\nis-very-evil.org\nis-very-good.org\nis-very-nice.org\nis-very-sweet.org\nis-with-theband.com\nisa-geek.com\nisa-geek.net\nisa-geek.org\nisa-hockeynut.com\nissmarterthanyou.com\nisteingeek.de\nistmein.de\nkicks-ass.net\nkicks-ass.org\nknowsitall.info\nland-4-sale.us\nlebtimnetz.de\nleitungsen.de\nlikes-pie.com\nlikescandy.com\nmerseine.nu\nmine.nu\nmisconfused.org\nmypets.ws\nmyphotos.cc\nneat-url.com\noffice-on-the.net\non-the-web.tv\npodzone.net\npodzone.org\nreadmyblog.org\nsaves-the-whales.com\nscrapper-site.net\nscrapping.cc\nselfip.biz\nselfip.com\nselfip.info\nselfip.net\nselfip.org\nsells-for-less.com\nsells-for-u.com\nsells-it.net\nsellsyourhome.org\nservebbs.com\nservebbs.net\nservebbs.org\nserveftp.net\nserveftp.org\nservegame.org\nshacknet.nu\nsimple-url.com\nspace-to-rent.com\nstuff-4-sale.org\nstuff-4-sale.us\nteaches-yoga.com\nthruhere.net\ntraeumtgerade.de\nwebhop.biz\nwebhop.info\nwebhop.net\nwebhop.org\nworse-than.tv\nwritesthisblog.com\n\n// ddnss.de : https://www.ddnss.de/\n// Submitted by Robert Niedziela <webmaster@ddnss.de>\nddnss.de\ndyn.ddnss.de\ndyndns.ddnss.de\ndyndns1.de\ndyn-ip24.de\nhome-webserver.de\ndyn.home-webserver.de\nmyhome-server.de\nddnss.org\n\n// Definima : http://www.definima.com/\n// Submitted by Maxence Bitterli <maxence@definima.com>\ndefinima.net\ndefinima.io\n\n// DigitalOcean App Platform : https://www.digitalocean.com/products/app-platform/\n// Submitted by Braxton Huggins <psl-maintainers@digitalocean.com>\nondigitalocean.app\n\n// DigitalOcean Spaces : https://www.digitalocean.com/products/spaces/\n// Submitted by Robin H. Johnson <psl-maintainers@digitalocean.com>\n*.digitaloceanspaces.com\n\n// dnstrace.pro : https://dnstrace.pro/\n// Submitted by Chris Partridge <chris@partridge.tech>\nbci.dnstrace.pro\n\n// Dynu.com : https://www.dynu.com/\n// Submitted by Sue Ye <sue@dynu.com>\nddnsfree.com\nddnsgeek.com\ngiize.com\ngleeze.com\nkozow.com\nloseyourip.com\nooguy.com\ntheworkpc.com\ncasacam.net\ndynu.net\naccesscam.org\ncamdvr.org\nfreeddns.org\nmywire.org\nwebredirect.org\nmyddns.rocks\nblogsite.xyz\n\n// dynv6 : https://dynv6.com\n// Submitted by Dominik Menke <dom@digineo.de>\ndynv6.net\n\n// E4YOU spol. s.r.o. : https://e4you.cz/\n// Submitted by Vladimir Dudr <info@e4you.cz>\ne4.cz\n\n// Easypanel : https://easypanel.io\n// Submitted by Andrei Canta <andrei@easypanel.io>\neasypanel.app\neasypanel.host\n\n// Elementor : Elementor Ltd.\n// Submitted by Anton Barkan <antonb@elementor.com>\nelementor.cloud\nelementor.cool\n\n// En root\\u203D : https://en-root.org\n// Submitted by Emmanuel Raviart <emmanuel@raviart.com>\nen-root.fr\n\n// Enalean SAS: https://www.enalean.com\n// Submitted by Thomas Cottier <thomas.cottier@enalean.com>\nmytuleap.com\ntuleap-partners.com\n\n// Encoretivity AB: https://encore.dev\n// Submitted by Andr\\xE9 Eriksson <andre@encore.dev>\nencr.app\nencoreapi.com\n\n// ECG Robotics, Inc: https://ecgrobotics.org\n// Submitted by <frc1533@ecgrobotics.org>\nonred.one\nstaging.onred.one\n\n// encoway GmbH : https://www.encoway.de\n// Submitted by Marcel Daus <cloudops@encoway.de>\neu.encoway.cloud\n\n// EU.org https://eu.org/\n// Submitted by Pierre Beyssac <hostmaster@eu.org>\neu.org\nal.eu.org\nasso.eu.org\nat.eu.org\nau.eu.org\nbe.eu.org\nbg.eu.org\nca.eu.org\ncd.eu.org\nch.eu.org\ncn.eu.org\ncy.eu.org\ncz.eu.org\nde.eu.org\ndk.eu.org\nedu.eu.org\nee.eu.org\nes.eu.org\nfi.eu.org\nfr.eu.org\ngr.eu.org\nhr.eu.org\nhu.eu.org\nie.eu.org\nil.eu.org\nin.eu.org\nint.eu.org\nis.eu.org\nit.eu.org\njp.eu.org\nkr.eu.org\nlt.eu.org\nlu.eu.org\nlv.eu.org\nmc.eu.org\nme.eu.org\nmk.eu.org\nmt.eu.org\nmy.eu.org\nnet.eu.org\nng.eu.org\nnl.eu.org\nno.eu.org\nnz.eu.org\nparis.eu.org\npl.eu.org\npt.eu.org\nq-a.eu.org\nro.eu.org\nru.eu.org\nse.eu.org\nsi.eu.org\nsk.eu.org\ntr.eu.org\nuk.eu.org\nus.eu.org\n\n// Eurobyte : https://eurobyte.ru\n// Submitted by Evgeniy Subbotin <e.subbotin@eurobyte.ru>\neurodir.ru\n\n// Evennode : http://www.evennode.com/\n// Submitted by Michal Kralik <support@evennode.com>\neu-1.evennode.com\neu-2.evennode.com\neu-3.evennode.com\neu-4.evennode.com\nus-1.evennode.com\nus-2.evennode.com\nus-3.evennode.com\nus-4.evennode.com\n\n// eDirect Corp. : https://hosting.url.com.tw/\n// Submitted by C.S. chang <cschang@corp.url.com.tw>\ntwmail.cc\ntwmail.net\ntwmail.org\nmymailer.com.tw\nurl.tw\n\n// Fabrica Technologies, Inc. : https://www.fabrica.dev/\n// Submitted by Eric Jiang <eric@fabrica.dev>\nonfabrica.com\n\n// Facebook, Inc.\n// Submitted by Peter Ruibal <public-suffix@fb.com>\napps.fbsbx.com\n\n// FAITID : https://faitid.org/\n// Submitted by Maxim Alzoba <tech.contact@faitid.org>\n// https://www.flexireg.net/stat_info\nru.net\nadygeya.ru\nbashkiria.ru\nbir.ru\ncbg.ru\ncom.ru\ndagestan.ru\ngrozny.ru\nkalmykia.ru\nkustanai.ru\nmarine.ru\nmordovia.ru\nmsk.ru\nmytis.ru\nnalchik.ru\nnov.ru\npyatigorsk.ru\nspb.ru\nvladikavkaz.ru\nvladimir.ru\nabkhazia.su\nadygeya.su\naktyubinsk.su\narkhangelsk.su\narmenia.su\nashgabad.su\nazerbaijan.su\nbalashov.su\nbashkiria.su\nbryansk.su\nbukhara.su\nchimkent.su\ndagestan.su\neast-kazakhstan.su\nexnet.su\ngeorgia.su\ngrozny.su\nivanovo.su\njambyl.su\nkalmykia.su\nkaluga.su\nkaracol.su\nkaraganda.su\nkarelia.su\nkhakassia.su\nkrasnodar.su\nkurgan.su\nkustanai.su\nlenug.su\nmangyshlak.su\nmordovia.su\nmsk.su\nmurmansk.su\nnalchik.su\nnavoi.su\nnorth-kazakhstan.su\nnov.su\nobninsk.su\npenza.su\npokrovsk.su\nsochi.su\nspb.su\ntashkent.su\ntermez.su\ntogliatti.su\ntroitsk.su\ntselinograd.su\ntula.su\ntuva.su\nvladikavkaz.su\nvladimir.su\nvologda.su\n\n// Fancy Bits, LLC : http://getchannels.com\n// Submitted by Aman Gupta <aman@getchannels.com>\nchannelsdvr.net\nu.channelsdvr.net\n\n// Fastly Inc. : http://www.fastly.com/\n// Submitted by Fastly Security <security@fastly.com>\nedgecompute.app\nfastly-edge.com\nfastly-terrarium.com\nfastlylb.net\nmap.fastlylb.net\nfreetls.fastly.net\nmap.fastly.net\na.prod.fastly.net\nglobal.prod.fastly.net\na.ssl.fastly.net\nb.ssl.fastly.net\nglobal.ssl.fastly.net\n\n// Fastmail : https://www.fastmail.com/\n// Submitted by Marc Bradshaw <marc@fastmailteam.com>\n*.user.fm\n\n// FASTVPS EESTI OU : https://fastvps.ru/\n// Submitted by Likhachev Vasiliy <lihachev@fastvps.ru>\nfastvps-server.com\nfastvps.host\nmyfast.host\nfastvps.site\nmyfast.space\n\n// Fedora : https://fedoraproject.org/\n// submitted by Patrick Uiterwijk <puiterwijk@fedoraproject.org>\nfedorainfracloud.org\nfedorapeople.org\ncloud.fedoraproject.org\napp.os.fedoraproject.org\napp.os.stg.fedoraproject.org\n\n// FearWorks Media Ltd. : https://fearworksmedia.co.uk\n// submitted by Keith Fairley <domains@fearworksmedia.co.uk>\nconn.uk\ncopro.uk\nhosp.uk\n\n// Fermax : https://fermax.com/\n// submitted by Koen Van Isterdael <k.vanisterdael@fermax.be>\nmydobiss.com\n\n// FH Muenster : https://www.fh-muenster.de\n// Submitted by Robin Naundorf <r.naundorf@fh-muenster.de>\nfh-muenster.io\n\n// Filegear Inc. : https://www.filegear.com\n// Submitted by Jason Zhu <jason@owtware.com>\nfilegear.me\nfilegear-au.me\nfilegear-de.me\nfilegear-gb.me\nfilegear-ie.me\nfilegear-jp.me\nfilegear-sg.me\n\n// Firebase, Inc.\n// Submitted by Chris Raynor <chris@firebase.com>\nfirebaseapp.com\n\n// Firewebkit : https://www.firewebkit.com\n// Submitted by Majid Qureshi <mqureshi@amrayn.com>\nfireweb.app\n\n// FLAP : https://www.flap.cloud\n// Submitted by Louis Chemineau <louis@chmn.me>\nflap.id\n\n// FlashDrive : https://flashdrive.io\n// Submitted by Eric Chan <support@flashdrive.io>\nonflashdrive.app\nfldrv.com\n\n// fly.io: https://fly.io\n// Submitted by Kurt Mackey <kurt@fly.io>\nfly.dev\nedgeapp.net\nshw.io\n\n// Flynn : https://flynn.io\n// Submitted by Jonathan Rudenberg <jonathan@flynn.io>\nflynnhosting.net\n\n// Forgerock : https://www.forgerock.com\n// Submitted by Roderick Parr <roderick.parr@forgerock.com>\nforgeblocks.com\nid.forgerock.io\n\n// Framer : https://www.framer.com\n// Submitted by Koen Rouwhorst <koenrh@framer.com>\nframer.app\nframercanvas.com\nframer.media\nframer.photos\nframer.website\nframer.wiki\n\n// Frusky MEDIA&PR : https://www.frusky.de\n// Submitted by Victor Pupynin <hallo@frusky.de>\n*.frusky.de\n\n// RavPage : https://www.ravpage.co.il\n// Submitted by Roni Horowitz <roni@responder.co.il>\nravpage.co.il\n\n// Frederik Braun https://frederik-braun.com\n// Submitted by Frederik Braun <fb@frederik-braun.com>\n0e.vc\n\n// Freebox : http://www.freebox.fr\n// Submitted by Romain Fliedel <rfliedel@freebox.fr>\nfreebox-os.com\nfreeboxos.com\nfbx-os.fr\nfbxos.fr\nfreebox-os.fr\nfreeboxos.fr\n\n// freedesktop.org : https://www.freedesktop.org\n// Submitted by Daniel Stone <daniel@fooishbar.org>\nfreedesktop.org\n\n// freemyip.com : https://freemyip.com\n// Submitted by Cadence <contact@freemyip.com>\nfreemyip.com\n\n// FunkFeuer - Verein zur F\\xF6rderung freier Netze : https://www.funkfeuer.at\n// Submitted by Daniel A. Maierhofer <vorstand@funkfeuer.at>\nwien.funkfeuer.at\n\n// Futureweb OG : http://www.futureweb.at\n// Submitted by Andreas Schnederle-Wagner <schnederle@futureweb.at>\n*.futurecms.at\n*.ex.futurecms.at\n*.in.futurecms.at\nfuturehosting.at\nfuturemailing.at\n*.ex.ortsinfo.at\n*.kunden.ortsinfo.at\n*.statics.cloud\n\n// GDS : https://www.gov.uk/service-manual/technology/managing-domain-names\n// Submitted by Stephen Ford <hostmaster@digital.cabinet-office.gov.uk>\nindependent-commission.uk\nindependent-inquest.uk\nindependent-inquiry.uk\nindependent-panel.uk\nindependent-review.uk\npublic-inquiry.uk\nroyal-commission.uk\ncampaign.gov.uk\nservice.gov.uk\n\n// CDDO : https://www.gov.uk/guidance/get-an-api-domain-on-govuk\n// Submitted by Jamie Tanna <jamie.tanna@digital.cabinet-office.gov.uk>\napi.gov.uk\n\n// Gehirn Inc. : https://www.gehirn.co.jp/\n// Submitted by Kohei YOSHIDA <tech@gehirn.co.jp>\ngehirn.ne.jp\nusercontent.jp\n\n// Gentlent, Inc. : https://www.gentlent.com\n// Submitted by Tom Klein <tom@gentlent.com>\ngentapps.com\ngentlentapis.com\nlab.ms\ncdn-edges.net\n\n// Ghost Foundation : https://ghost.org\n// Submitted by Matt Hanley <security@ghost.org>\nghost.io\n\n// GignoSystemJapan: http://gsj.bz\n// Submitted by GignoSystemJapan <kakutou-ec@gsj.bz>\ngsj.bz\n\n// GitHub, Inc.\n// Submitted by Patrick Toomey <security@github.com>\ngithubusercontent.com\ngithubpreview.dev\ngithub.io\n\n// GitLab, Inc.\n// Submitted by Alex Hanselka <alex@gitlab.com>\ngitlab.io\n\n// Gitplac.si - https://gitplac.si\n// Submitted by Alja\\u017E Starc <me@aljaxus.eu>\ngitapp.si\ngitpage.si\n\n// Glitch, Inc : https://glitch.com\n// Submitted by Mads Hartmann <mads@glitch.com>\nglitch.me\n\n// Global NOG Alliance : https://nogalliance.org/\n// Submitted by Sander Steffann <sander@nogalliance.org>\nnog.community\n\n// Globe Hosting SRL : https://www.globehosting.com/\n// Submitted by Gavin Brown <gavin.brown@centralnic.com>\nco.ro\nshop.ro\n\n// GMO Pepabo, Inc. : https://pepabo.com/\n// Submitted by Hosting Div <admin@pepabo.com>\nlolipop.io\nangry.jp\nbabyblue.jp\nbabymilk.jp\nbackdrop.jp\nbambina.jp\nbitter.jp\nblush.jp\nboo.jp\nboy.jp\nboyfriend.jp\nbut.jp\ncandypop.jp\ncapoo.jp\ncatfood.jp\ncheap.jp\nchicappa.jp\nchillout.jp\nchips.jp\nchowder.jp\nchu.jp\nciao.jp\ncocotte.jp\ncoolblog.jp\ncranky.jp\ncutegirl.jp\ndaa.jp\ndeca.jp\ndeci.jp\ndigick.jp\negoism.jp\nfakefur.jp\nfem.jp\nflier.jp\nfloppy.jp\nfool.jp\nfrenchkiss.jp\ngirlfriend.jp\ngirly.jp\ngloomy.jp\ngonna.jp\ngreater.jp\nhacca.jp\nheavy.jp\nher.jp\nhiho.jp\nhippy.jp\nholy.jp\nhungry.jp\nicurus.jp\nitigo.jp\njellybean.jp\nkikirara.jp\nkill.jp\nkilo.jp\nkuron.jp\nlittlestar.jp\nlolipopmc.jp\nlolitapunk.jp\nlomo.jp\nlovepop.jp\nlovesick.jp\nmain.jp\nmods.jp\nmond.jp\nmongolian.jp\nmoo.jp\nnamaste.jp\nnikita.jp\nnobushi.jp\nnoor.jp\noops.jp\nparallel.jp\nparasite.jp\npecori.jp\npeewee.jp\npenne.jp\npepper.jp\nperma.jp\npigboat.jp\npinoko.jp\npunyu.jp\npupu.jp\npussycat.jp\npya.jp\nraindrop.jp\nreadymade.jp\nsadist.jp\nschoolbus.jp\nsecret.jp\nstaba.jp\nstripper.jp\nsub.jp\nsunnyday.jp\nthick.jp\ntonkotsu.jp\nunder.jp\nupper.jp\nvelvet.jp\nverse.jp\nversus.jp\nvivian.jp\nwatson.jp\nweblike.jp\nwhitesnow.jp\nzombie.jp\nheteml.net\n\n// GOV.UK Platform as a Service : https://www.cloud.service.gov.uk/\n// Submitted by Tom Whitwell <gov-uk-paas-support@digital.cabinet-office.gov.uk>\ncloudapps.digital\nlondon.cloudapps.digital\n\n// GOV.UK Pay : https://www.payments.service.gov.uk/\n// Submitted by Richard Baker <richard.baker@digital.cabinet-office.gov.uk>\npymnt.uk\n\n// UKHomeOffice : https://www.gov.uk/government/organisations/home-office\n// Submitted by Jon Shanks <jon.shanks@digital.homeoffice.gov.uk>\nhomeoffice.gov.uk\n\n// GlobeHosting, Inc.\n// Submitted by Zoltan Egresi <egresi@globehosting.com>\nro.im\n\n// GoIP DNS Services : http://www.goip.de\n// Submitted by Christian Poulter <milchstrasse@goip.de>\ngoip.de\n\n// Google, Inc.\n// Submitted by Eduardo Vela <evn@google.com>\nrun.app\na.run.app\nweb.app\n*.0emm.com\nappspot.com\n*.r.appspot.com\ncodespot.com\ngoogleapis.com\ngooglecode.com\npagespeedmobilizer.com\npublishproxy.com\nwithgoogle.com\nwithyoutube.com\n*.gateway.dev\ncloud.goog\ntranslate.goog\n*.usercontent.goog\ncloudfunctions.net\nblogspot.ae\nblogspot.al\nblogspot.am\nblogspot.ba\nblogspot.be\nblogspot.bg\nblogspot.bj\nblogspot.ca\nblogspot.cf\nblogspot.ch\nblogspot.cl\nblogspot.co.at\nblogspot.co.id\nblogspot.co.il\nblogspot.co.ke\nblogspot.co.nz\nblogspot.co.uk\nblogspot.co.za\nblogspot.com\nblogspot.com.ar\nblogspot.com.au\nblogspot.com.br\nblogspot.com.by\nblogspot.com.co\nblogspot.com.cy\nblogspot.com.ee\nblogspot.com.eg\nblogspot.com.es\nblogspot.com.mt\nblogspot.com.ng\nblogspot.com.tr\nblogspot.com.uy\nblogspot.cv\nblogspot.cz\nblogspot.de\nblogspot.dk\nblogspot.fi\nblogspot.fr\nblogspot.gr\nblogspot.hk\nblogspot.hr\nblogspot.hu\nblogspot.ie\nblogspot.in\nblogspot.is\nblogspot.it\nblogspot.jp\nblogspot.kr\nblogspot.li\nblogspot.lt\nblogspot.lu\nblogspot.md\nblogspot.mk\nblogspot.mr\nblogspot.mx\nblogspot.my\nblogspot.nl\nblogspot.no\nblogspot.pe\nblogspot.pt\nblogspot.qa\nblogspot.re\nblogspot.ro\nblogspot.rs\nblogspot.ru\nblogspot.se\nblogspot.sg\nblogspot.si\nblogspot.sk\nblogspot.sn\nblogspot.td\nblogspot.tw\nblogspot.ug\nblogspot.vn\n\n// Goupile : https://goupile.fr\n// Submitted by Niels Martignene <hello@goupile.fr>\ngoupile.fr\n\n// Government of the Netherlands: https://www.government.nl\n// Submitted by <domeinnaam@minaz.nl>\ngov.nl\n\n// Group 53, LLC : https://www.group53.com\n// Submitted by Tyler Todd <noc@nova53.net>\nawsmppl.com\n\n// G\\xFCnstigBestellen : https://g\\xFCnstigbestellen.de\n// Submitted by Furkan Akkoc <info@hendelzon.de>\ng\\xFCnstigbestellen.de\ng\\xFCnstigliefern.de\n\n// Hakaran group: http://hakaran.cz\n// Submitted by Arseniy Sokolov <security@hakaran.cz>\nfin.ci\nfree.hr\ncaa.li\nua.rs\nconf.se\n\n// Handshake : https://handshake.org\n// Submitted by Mike Damm <md@md.vc>\nhs.zone\nhs.run\n\n// Hashbang : https://hashbang.sh\nhashbang.sh\n\n// Hasura : https://hasura.io\n// Submitted by Shahidh K Muhammed <shahidh@hasura.io>\nhasura.app\nhasura-app.io\n\n// Heilbronn University of Applied Sciences - Faculty Informatics (GitLab Pages): https://www.hs-heilbronn.de\n// Submitted by Richard Zowalla <mi-admin@hs-heilbronn.de>\npages.it.hs-heilbronn.de\n\n// Hepforge : https://www.hepforge.org\n// Submitted by David Grellscheid <admin@hepforge.org>\nhepforge.org\n\n// Heroku : https://www.heroku.com/\n// Submitted by Tom Maher <tmaher@heroku.com>\nherokuapp.com\nherokussl.com\n\n// Hibernating Rhinos\n// Submitted by Oren Eini <oren@ravendb.net>\nravendb.cloud\nravendb.community\nravendb.me\ndevelopment.run\nravendb.run\n\n// home.pl S.A.: https://home.pl\n// Submitted by Krzysztof Wolski <krzysztof.wolski@home.eu>\nhomesklep.pl\n\n// Hong Kong Productivity Council: https://www.hkpc.org/\n// Submitted by SECaaS Team <summchan@hkpc.org>\nsecaas.hk\n\n// Hoplix : https://www.hoplix.com\n// Submitted by Danilo De Franco<info@hoplix.shop>\nhoplix.shop\n\n\n// HOSTBIP REGISTRY : https://www.hostbip.com/\n// Submitted by Atanunu Igbunuroghene <publicsuffixlist@hostbip.com>\norx.biz\nbiz.gl\ncol.ng\nfirm.ng\ngen.ng\nltd.ng\nngo.ng\nedu.scot\nsch.so\n\n// HostFly : https://www.ie.ua\n// Submitted by Bohdan Dub <support@hostfly.com.ua>\nie.ua\n\n// HostyHosting (hostyhosting.com)\nhostyhosting.io\n\n// H\\xE4kkinen.fi\n// Submitted by Eero H\\xE4kkinen <Eero+psl@H\\xE4kkinen.fi>\nh\\xE4kkinen.fi\n\n// Ici la Lune : http://www.icilalune.com/\n// Submitted by Simon Morvan <simon@icilalune.com>\n*.moonscale.io\nmoonscale.net\n\n// iki.fi\n// Submitted by Hannu Aronsson <haa@iki.fi>\niki.fi\n\n// iliad italia: https://www.iliad.it\n// Submitted by Marios Makassikis <mmakassikis@freebox.fr>\nibxos.it\niliadboxos.it\n\n// Impertrix Solutions : <https://impertrixcdn.com>\n// Submitted by Zhixiang Zhao <csuite@impertrix.com>\nimpertrixcdn.com\nimpertrix.com\n\n// Incsub, LLC: https://incsub.com/\n// Submitted by Aaron Edwards <sysadmins@incsub.com>\nsmushcdn.com\nwphostedmail.com\nwpmucdn.com\ntempurl.host\nwpmudev.host\n\n// Individual Network Berlin e.V. : https://www.in-berlin.de/\n// Submitted by Christian Seitz <chris@in-berlin.de>\ndyn-berlin.de\nin-berlin.de\nin-brb.de\nin-butter.de\nin-dsl.de\nin-dsl.net\nin-dsl.org\nin-vpn.de\nin-vpn.net\nin-vpn.org\n\n// info.at : http://www.info.at/\nbiz.at\ninfo.at\n\n// info.cx : http://info.cx\n// Submitted by Jacob Slater <whois@igloo.to>\ninfo.cx\n\n// Interlegis : http://www.interlegis.leg.br\n// Submitted by Gabriel Ferreira <registrobr@interlegis.leg.br>\nac.leg.br\nal.leg.br\nam.leg.br\nap.leg.br\nba.leg.br\nce.leg.br\ndf.leg.br\nes.leg.br\ngo.leg.br\nma.leg.br\nmg.leg.br\nms.leg.br\nmt.leg.br\npa.leg.br\npb.leg.br\npe.leg.br\npi.leg.br\npr.leg.br\nrj.leg.br\nrn.leg.br\nro.leg.br\nrr.leg.br\nrs.leg.br\nsc.leg.br\nse.leg.br\nsp.leg.br\nto.leg.br\n\n// intermetrics GmbH : https://pixolino.com/\n// Submitted by Wolfgang Schwarz <admin@intermetrics.de>\npixolino.com\n\n// Internet-Pro, LLP: https://netangels.ru/\n// Submitted by Vasiliy Sheredeko <piphon@gmail.com>\nna4u.ru\n\n// iopsys software solutions AB : https://iopsys.eu/\n// Submitted by Roman Azarenko <roman.azarenko@iopsys.eu>\niopsys.se\n\n// IPiFony Systems, Inc. : https://www.ipifony.com/\n// Submitted by Matthew Hardeman <mhardeman@ipifony.com>\nipifony.net\n\n// IServ GmbH : https://iserv.de\n// Submitted by Mario Hoberg <info@iserv.de>\niservschule.de\nmein-iserv.de\nschulplattform.de\nschulserver.de\ntest-iserv.de\niserv.dev\n\n// I-O DATA DEVICE, INC. : http://www.iodata.com/\n// Submitted by Yuji Minagawa <domains-admin@iodata.jp>\niobb.net\n\n// Jelastic, Inc. : https://jelastic.com/\n// Submitted by Ihor Kolodyuk <ik@jelastic.com>\nmel.cloudlets.com.au\ncloud.interhostsolutions.be\nmycloud.by\nalp1.ae.flow.ch\nappengine.flow.ch\nes-1.axarnet.cloud\ndiadem.cloud\nvip.jelastic.cloud\njele.cloud\nit1.eur.aruba.jenv-aruba.cloud\nit1.jenv-aruba.cloud\nkeliweb.cloud\ncs.keliweb.cloud\noxa.cloud\ntn.oxa.cloud\nuk.oxa.cloud\nprimetel.cloud\nuk.primetel.cloud\nca.reclaim.cloud\nuk.reclaim.cloud\nus.reclaim.cloud\nch.trendhosting.cloud\nde.trendhosting.cloud\njele.club\namscompute.com\ndopaas.com\npaas.hosted-by-previder.com\nrag-cloud.hosteur.com\nrag-cloud-ch.hosteur.com\njcloud.ik-server.com\njcloud-ver-jpc.ik-server.com\ndemo.jelastic.com\nkilatiron.com\npaas.massivegrid.com\njed.wafaicloud.com\nlon.wafaicloud.com\nryd.wafaicloud.com\nj.scaleforce.com.cy\njelastic.dogado.eu\nfi.cloudplatform.fi\ndemo.datacenter.fi\npaas.datacenter.fi\njele.host\nmircloud.host\npaas.beebyte.io\nsekd1.beebyteapp.io\njele.io\ncloud-fr1.unispace.io\njc.neen.it\ncloud.jelastic.open.tim.it\njcloud.kz\nupaas.kazteleport.kz\ncloudjiffy.net\nfra1-de.cloudjiffy.net\nwest1-us.cloudjiffy.net\njls-sto1.elastx.net\njls-sto2.elastx.net\njls-sto3.elastx.net\nfaststacks.net\nfr-1.paas.massivegrid.net\nlon-1.paas.massivegrid.net\nlon-2.paas.massivegrid.net\nny-1.paas.massivegrid.net\nny-2.paas.massivegrid.net\nsg-1.paas.massivegrid.net\njelastic.saveincloud.net\nnordeste-idc.saveincloud.net\nj.scaleforce.net\njelastic.tsukaeru.net\nsdscloud.pl\nunicloud.pl\nmircloud.ru\njelastic.regruhosting.ru\nenscaled.sg\njele.site\njelastic.team\norangecloud.tn\nj.layershift.co.uk\nphx.enscaled.us\nmircloud.us\n\n// Jino : https://www.jino.ru\n// Submitted by Sergey Ulyashin <ulyashin@jino.ru>\nmyjino.ru\n*.hosting.myjino.ru\n*.landing.myjino.ru\n*.spectrum.myjino.ru\n*.vps.myjino.ru\n\n// Jotelulu S.L. : https://jotelulu.com\n// Submitted by Daniel Fari\\xF1a <ingenieria@jotelulu.com>\njotelulu.cloud\n\n// Joyent : https://www.joyent.com/\n// Submitted by Brian Bennett <brian.bennett@joyent.com>\n*.triton.zone\n*.cns.joyent.com\n\n// JS.ORG : http://dns.js.org\n// Submitted by Stefan Keim <admin@js.org>\njs.org\n\n// KaasHosting : http://www.kaashosting.nl/\n// Submitted by Wouter Bakker <hostmaster@kaashosting.nl>\nkaas.gg\nkhplay.nl\n\n// Kakao : https://www.kakaocorp.com/\n// Submitted by JaeYoong Lee <cec@kakaocorp.com>\nktistory.com\n\n// Kapsi : https://kapsi.fi\n// Submitted by Tomi Juntunen <erani@kapsi.fi>\nkapsi.fi\n\n// Keyweb AG : https://www.keyweb.de\n// Submitted by Martin Dannehl <postmaster@keymachine.de>\nkeymachine.de\n\n// KingHost : https://king.host\n// Submitted by Felipe Keller Braz <felipebraz@kinghost.com.br>\nkinghost.net\nuni5.net\n\n// KnightPoint Systems, LLC : http://www.knightpoint.com/\n// Submitted by Roy Keene <rkeene@knightpoint.com>\nknightpoint.systems\n\n// KoobinEvent, SL: https://www.koobin.com\n// Submitted by Iv\\xE1n Oliva <ivan.oliva@koobin.com>\nkoobin.events\n\n// KUROKU LTD : https://kuroku.ltd/\n// Submitted by DisposaBoy <security@oya.to>\noya.to\n\n// Katholieke Universiteit Leuven: https://www.kuleuven.be\n// Submitted by Abuse KU Leuven <abuse@kuleuven.be>\nkuleuven.cloud\nezproxy.kuleuven.be\n\n// .KRD : http://nic.krd/data/krd/Registration%20Policy.pdf\nco.krd\nedu.krd\n\n// Krellian Ltd. : https://krellian.com\n// Submitted by Ben Francis <ben@krellian.com>\nkrellian.net\nwebthings.io\n\n// LCube - Professional hosting e.K. : https://www.lcube-webhosting.de\n// Submitted by Lars Laehn <info@lcube.de>\ngit-repos.de\nlcube-server.de\nsvn-repos.de\n\n// Leadpages : https://www.leadpages.net\n// Submitted by Greg Dallavalle <domains@leadpages.net>\nleadpages.co\nlpages.co\nlpusercontent.com\n\n// Lelux.fi : https://lelux.fi/\n// Submitted by Lelux Admin <publisuffix@lelux.site>\nlelux.site\n\n// Lifetime Hosting : https://Lifetime.Hosting/\n// Submitted by Mike Fillator <support@lifetime.hosting>\nco.business\nco.education\nco.events\nco.financial\nco.network\nco.place\nco.technology\n\n// Lightmaker Property Manager, Inc. : https://app.lmpm.com/\n// Submitted by Greg Holland <greg.holland@lmpm.com>\napp.lmpm.com\n\n// linkyard ldt: https://www.linkyard.ch/\n// Submitted by Mario Siegenthaler <mario.siegenthaler@linkyard.ch>\nlinkyard.cloud\nlinkyard-cloud.ch\n\n// Linode : https://linode.com\n// Submitted by <security@linode.com>\nmembers.linode.com\n*.nodebalancer.linode.com\n*.linodeobjects.com\nip.linodeusercontent.com\n\n// LiquidNet Ltd : http://www.liquidnetlimited.com/\n// Submitted by Victor Velchev <admin@liquidnetlimited.com>\nwe.bs\n\n// Localcert : https://localcert.dev\n// Submitted by Lann Martin <security@localcert.dev>\n*.user.localcert.dev\n\n// localzone.xyz\n// Submitted by Kenny Niehage <hello@yahe.sh>\nlocalzone.xyz\n\n// Log'in Line : https://www.loginline.com/\n// Submitted by R\\xE9mi Mach <remi.mach@loginline.com>\nloginline.app\nloginline.dev\nloginline.io\nloginline.services\nloginline.site\n\n// Lokalized : https://lokalized.nl\n// Submitted by Noah Taheij <noah@lokalized.nl>\nservers.run\n\n// L\\xF5hmus Family, The\n// Submitted by Heiki L\\xF5hmus <hostmaster at lohmus dot me>\nlohmus.me\n\n// LubMAN UMCS Sp. z o.o : https://lubman.pl/\n// Submitted by Ireneusz Maliszewski <ireneusz.maliszewski@lubman.pl>\nkrasnik.pl\nleczna.pl\nlubartow.pl\nlublin.pl\nponiatowa.pl\nswidnik.pl\n\n// Lug.org.uk : https://lug.org.uk\n// Submitted by Jon Spriggs <admin@lug.org.uk>\nglug.org.uk\nlug.org.uk\nlugs.org.uk\n\n// Lukanet Ltd : https://lukanet.com\n// Submitted by Anton Avramov <register@lukanet.com>\nbarsy.bg\nbarsy.co.uk\nbarsyonline.co.uk\nbarsycenter.com\nbarsyonline.com\nbarsy.club\nbarsy.de\nbarsy.eu\nbarsy.in\nbarsy.info\nbarsy.io\nbarsy.me\nbarsy.menu\nbarsy.mobi\nbarsy.net\nbarsy.online\nbarsy.org\nbarsy.pro\nbarsy.pub\nbarsy.ro\nbarsy.shop\nbarsy.site\nbarsy.support\nbarsy.uk\n\n// Magento Commerce\n// Submitted by Damien Tournoud <dtournoud@magento.cloud>\n*.magentosite.cloud\n\n// May First - People Link : https://mayfirst.org/\n// Submitted by Jamie McClelland <info@mayfirst.org>\nmayfirst.info\nmayfirst.org\n\n// Mail.Ru Group : https://hb.cldmail.ru\n// Submitted by Ilya Zaretskiy <zaretskiy@corp.mail.ru>\nhb.cldmail.ru\n\n// Mail Transfer Platform : https://www.neupeer.com\n// Submitted by Li Hui <lihui@neupeer.com>\ncn.vu\n\n// Maze Play: https://www.mazeplay.com\n// Submitted by Adam Humpherys <adam@mws.dev>\nmazeplay.com\n\n// mcpe.me : https://mcpe.me\n// Submitted by Noa Heyl <hi@noa.dev>\nmcpe.me\n\n// McHost : https://mchost.ru\n// Submitted by Evgeniy Subbotin <e.subbotin@mchost.ru>\nmcdir.me\nmcdir.ru\nmcpre.ru\nvps.mcdir.ru\n\n// Mediatech : https://mediatech.by\n// Submitted by Evgeniy Kozhuhovskiy <ugenk@mediatech.by>\nmediatech.by\nmediatech.dev\n\n// Medicom Health : https://medicomhealth.com\n// Submitted by Michael Olson <molson@medicomhealth.com>\nhra.health\n\n// Memset hosting : https://www.memset.com\n// Submitted by Tom Whitwell <domains@memset.com>\nminiserver.com\nmemset.net\n\n// Messerli Informatik AG : https://www.messerli.ch/\n// Submitted by Ruben Schmidmeister <psl-maintainers@messerli.ch>\nmesserli.app\n\n// MetaCentrum, CESNET z.s.p.o. : https://www.metacentrum.cz/en/\n// Submitted by Zden\\u011Bk \\u0160ustr <zdenek.sustr@cesnet.cz>\n*.cloud.metacentrum.cz\ncustom.metacentrum.cz\n\n// MetaCentrum, CESNET z.s.p.o. : https://www.metacentrum.cz/en/\n// Submitted by Radim Jan\\u010Da <janca@cesnet.cz>\nflt.cloud.muni.cz\nusr.cloud.muni.cz\n\n// Meteor Development Group : https://www.meteor.com/hosting\n// Submitted by Pierre Carrier <pierre@meteor.com>\nmeteorapp.com\neu.meteorapp.com\n\n// Michau Enterprises Limited : http://www.co.pl/\nco.pl\n\n// Microsoft Corporation : http://microsoft.com\n// Submitted by Public Suffix List Admin <msftpsladmin@microsoft.com>\n*.azurecontainer.io\nazurewebsites.net\nazure-mobile.net\ncloudapp.net\nazurestaticapps.net\n1.azurestaticapps.net\n2.azurestaticapps.net\n3.azurestaticapps.net\ncentralus.azurestaticapps.net\neastasia.azurestaticapps.net\neastus2.azurestaticapps.net\nwesteurope.azurestaticapps.net\nwestus2.azurestaticapps.net\n\n// minion.systems : http://minion.systems\n// Submitted by Robert B\\xF6ttinger <r@minion.systems>\ncsx.cc\n\n// Mintere : https://mintere.com/\n// Submitted by Ben Aubin <security@mintere.com>\nmintere.site\n\n// MobileEducation, LLC : https://joinforte.com\n// Submitted by Grayson Martin <grayson.martin@mobileeducation.us>\nforte.id\n\n// Mozilla Corporation : https://mozilla.com\n// Submitted by Ben Francis <bfrancis@mozilla.com>\nmozilla-iot.org\n\n// Mozilla Foundation : https://mozilla.org/\n// Submitted by glob <glob@mozilla.com>\nbmoattachments.org\n\n// MSK-IX : https://www.msk-ix.ru/\n// Submitted by Khannanov Roman <r.khannanov@msk-ix.ru>\nnet.ru\norg.ru\npp.ru\n\n// Mythic Beasts : https://www.mythic-beasts.com\n// Submitted by Paul Cammish <kelduum@mythic-beasts.com>\nhostedpi.com\ncustomer.mythic-beasts.com\ncaracal.mythic-beasts.com\nfentiger.mythic-beasts.com\nlynx.mythic-beasts.com\nocelot.mythic-beasts.com\noncilla.mythic-beasts.com\nonza.mythic-beasts.com\nsphinx.mythic-beasts.com\nvs.mythic-beasts.com\nx.mythic-beasts.com\nyali.mythic-beasts.com\ncust.retrosnub.co.uk\n\n// Nabu Casa : https://www.nabucasa.com\n// Submitted by Paulus Schoutsen <infra@nabucasa.com>\nui.nabu.casa\n\n// Net at Work Gmbh : https://www.netatwork.de\n// Submitted by Jan Jaeschke <jan.jaeschke@netatwork.de>\ncloud.nospamproxy.com\n\n// Netlify : https://www.netlify.com\n// Submitted by Jessica Parsons <jessica@netlify.com>\nnetlify.app\n\n// Neustar Inc.\n// Submitted by Trung Tran <Trung.Tran@neustar.biz>\n4u.com\n\n// ngrok : https://ngrok.com/\n// Submitted by Alan Shreve <alan@ngrok.com>\nngrok.app\nngrok-free.app\nngrok.dev\nngrok-free.dev\nngrok.io\nap.ngrok.io\nau.ngrok.io\neu.ngrok.io\nin.ngrok.io\njp.ngrok.io\nsa.ngrok.io\nus.ngrok.io\nngrok.pizza\n\n// Nimbus Hosting Ltd. : https://www.nimbushosting.co.uk/\n// Submitted by Nicholas Ford <nick@nimbushosting.co.uk>\nnh-serv.co.uk\n\n// NFSN, Inc. : https://www.NearlyFreeSpeech.NET/\n// Submitted by Jeff Wheelhouse <support@nearlyfreespeech.net>\nnfshost.com\n\n// Noop : https://noop.app\n// Submitted by Nathaniel Schweinberg <noop@rearc.io>\n*.developer.app\nnoop.app\n\n// Northflank Ltd. : https://northflank.com/\n// Submitted by Marco Suter <marco@northflank.com>\n*.northflank.app\n*.build.run\n*.code.run\n*.database.run\n*.migration.run\n\n// Noticeable : https://noticeable.io\n// Submitted by Laurent Pellegrino <security@noticeable.io>\nnoticeable.news\n\n// Now-DNS : https://now-dns.com\n// Submitted by Steve Russell <steve@now-dns.com>\ndnsking.ch\nmypi.co\nn4t.co\n001www.com\nddnslive.com\nmyiphost.com\nforumz.info\n16-b.it\n32-b.it\n64-b.it\nsoundcast.me\ntcp4.me\ndnsup.net\nhicam.net\nnow-dns.net\nownip.net\nvpndns.net\ndynserv.org\nnow-dns.org\nx443.pw\nnow-dns.top\nntdll.top\nfreeddns.us\ncrafting.xyz\nzapto.xyz\n\n// nsupdate.info : https://www.nsupdate.info/\n// Submitted by Thomas Waldmann <info@nsupdate.info>\nnsupdate.info\nnerdpol.ovh\n\n// No-IP.com : https://noip.com/\n// Submitted by Deven Reza <publicsuffixlist@noip.com>\nblogsyte.com\nbrasilia.me\ncable-modem.org\nciscofreak.com\ncollegefan.org\ncouchpotatofries.org\ndamnserver.com\nddns.me\nditchyourip.com\ndnsfor.me\ndnsiskinky.com\ndvrcam.info\ndynns.com\neating-organic.net\nfantasyleague.cc\ngeekgalaxy.com\ngolffan.us\nhealth-carereform.com\nhomesecuritymac.com\nhomesecuritypc.com\nhopto.me\nilovecollege.info\nloginto.me\nmlbfan.org\nmmafan.biz\nmyactivedirectory.com\nmydissent.net\nmyeffect.net\nmymediapc.net\nmypsx.net\nmysecuritycamera.com\nmysecuritycamera.net\nmysecuritycamera.org\nnet-freaks.com\nnflfan.org\nnhlfan.net\nno-ip.ca\nno-ip.co.uk\nno-ip.net\nnoip.us\nonthewifi.com\npgafan.net\npoint2this.com\npointto.us\nprivatizehealthinsurance.net\nquicksytes.com\nread-books.org\nsecuritytactics.com\nserveexchange.com\nservehumour.com\nservep2p.com\nservesarcasm.com\nstufftoread.com\nufcfan.org\nunusualperson.com\nworkisboring.com\n3utilities.com\nbounceme.net\nddns.net\nddnsking.com\ngotdns.ch\nhopto.org\nmyftp.biz\nmyftp.org\nmyvnc.com\nno-ip.biz\nno-ip.info\nno-ip.org\nnoip.me\nredirectme.net\nservebeer.com\nserveblog.net\nservecounterstrike.com\nserveftp.com\nservegame.com\nservehalflife.com\nservehttp.com\nserveirc.com\nserveminecraft.net\nservemp3.com\nservepics.com\nservequake.com\nsytes.net\nwebhop.me\nzapto.org\n\n// NodeArt : https://nodeart.io\n// Submitted by Konstantin Nosov <Nosov@nodeart.io>\nstage.nodeart.io\n\n// Nucleos Inc. : https://nucleos.com\n// Submitted by Piotr Zduniak <piotr@nucleos.com>\npcloud.host\n\n// NYC.mn : http://www.information.nyc.mn\n// Submitted by Matthew Brown <mattbrown@nyc.mn>\nnyc.mn\n\n// Observable, Inc. : https://observablehq.com\n// Submitted by Mike Bostock <dns@observablehq.com>\nstatic.observableusercontent.com\n\n// Octopodal Solutions, LLC. : https://ulterius.io/\n// Submitted by Andrew Sampson <andrew@ulterius.io>\ncya.gg\n\n// OMG.LOL : <https://omg.lol>\n// Submitted by Adam Newbold <adam@omg.lol>\nomg.lol\n\n// Omnibond Systems, LLC. : https://www.omnibond.com\n// Submitted by Cole Estep <cole@omnibond.com>\ncloudycluster.net\n\n// OmniWe Limited: https://omniwe.com\n// Submitted by Vicary Archangel <vicary@omniwe.com>\nomniwe.site\n\n// One.com: https://www.one.com/\n// Submitted by Jacob Bunk Nielsen <jbn@one.com>\n123hjemmeside.dk\n123hjemmeside.no\n123homepage.it\n123kotisivu.fi\n123minsida.se\n123miweb.es\n123paginaweb.pt\n123sait.ru\n123siteweb.fr\n123webseite.at\n123webseite.de\n123website.be\n123website.ch\n123website.lu\n123website.nl\nservice.one\nsimplesite.com\nsimplesite.com.br\nsimplesite.gr\nsimplesite.pl\n\n// One Fold Media : http://www.onefoldmedia.com/\n// Submitted by Eddie Jones <eddie@onefoldmedia.com>\nnid.io\n\n// Open Social : https://www.getopensocial.com/\n// Submitted by Alexander Varwijk <security@getopensocial.com>\nopensocial.site\n\n// OpenCraft GmbH : http://opencraft.com/\n// Submitted by Sven Marnach <sven@opencraft.com>\nopencraft.hosting\n\n// OpenResearch GmbH: https://openresearch.com/\n// Submitted by Philipp Schmid <ops@openresearch.com>\norsites.com\n\n// Opera Software, A.S.A.\n// Submitted by Yngve Pettersen <yngve@opera.com>\noperaunite.com\n\n// Orange : https://www.orange.com\n// Submitted by Alexandre Linte <alexandre.linte@orange.com>\ntech.orange\n\n// Oursky Limited : https://authgear.com/, https://skygear.io/\n// Submitted by Authgear Team <hello@authgear.com>, Skygear Developer <hello@skygear.io>\nauthgear-staging.com\nauthgearapps.com\nskygearapp.com\n\n// OutSystems\n// Submitted by Duarte Santos <domain-admin@outsystemscloud.com>\noutsystemscloud.com\n\n// OVHcloud: https://ovhcloud.com\n// Submitted by Vincent Cass\\xE9 <vincent.casse@ovhcloud.com>\n*.webpaas.ovh.net\n*.hosting.ovh.net\n\n// OwnProvider GmbH: http://www.ownprovider.com\n// Submitted by Jan Moennich <jan.moennich@ownprovider.com>\nownprovider.com\nown.pm\n\n// OwO : https://whats-th.is/\n// Submitted by Dean Sheather <dean@deansheather.com>\n*.owo.codes\n\n// OX : http://www.ox.rs\n// Submitted by Adam Grand <webmaster@mail.ox.rs>\nox.rs\n\n// oy.lc\n// Submitted by Charly Coste <changaco@changaco.oy.lc>\noy.lc\n\n// Pagefog : https://pagefog.com/\n// Submitted by Derek Myers <derek@pagefog.com>\npgfog.com\n\n// Pagefront : https://www.pagefronthq.com/\n// Submitted by Jason Kriss <jason@pagefronthq.com>\npagefrontapp.com\n\n// PageXL : https://pagexl.com\n// Submitted by Yann Guichard <yann@pagexl.com>\npagexl.com\n\n// Paywhirl, Inc : https://paywhirl.com/\n// Submitted by Daniel Netzer <dan@paywhirl.com>\n*.paywhirl.com\n\n// pcarrier.ca Software Inc: https://pcarrier.ca/\n// Submitted by Pierre Carrier <pc@rrier.ca>\nbar0.net\nbar1.net\nbar2.net\nrdv.to\n\n// .pl domains (grandfathered)\nart.pl\ngliwice.pl\nkrakow.pl\npoznan.pl\nwroc.pl\nzakopane.pl\n\n// Pantheon Systems, Inc. : https://pantheon.io/\n// Submitted by Gary Dylina <gary@pantheon.io>\npantheonsite.io\ngotpantheon.com\n\n// Peplink | Pepwave : http://peplink.com/\n// Submitted by Steve Leung <steveleung@peplink.com>\nmypep.link\n\n// Perspecta : https://perspecta.com/\n// Submitted by Kenneth Van Alstyne <kvanalstyne@perspecta.com>\nperspecta.cloud\n\n// PE Ulyanov Kirill Sergeevich : https://airy.host\n// Submitted by Kirill Ulyanov <k.ulyanov@airy.host>\nlk3.ru\n\n// Planet-Work : https://www.planet-work.com/\n// Submitted by Fr\\xE9d\\xE9ric VANNI\\xC8RE <f.vanniere@planet-work.com>\non-web.fr\n\n// Platform.sh : https://platform.sh\n// Submitted by Nikola Kotur <nikola@platform.sh>\nbc.platform.sh\nent.platform.sh\neu.platform.sh\nus.platform.sh\n*.platformsh.site\n*.tst.site\n\n// Platter: https://platter.dev\n// Submitted by Patrick Flor <patrick@platter.dev>\nplatter-app.com\nplatter-app.dev\nplatterp.us\n\n// Plesk : https://www.plesk.com/\n// Submitted by Anton Akhtyamov <program-managers@plesk.com>\npdns.page\nplesk.page\npleskns.com\n\n// Port53 : https://port53.io/\n// Submitted by Maximilian Schieder <maxi@zeug.co>\ndyn53.io\n\n// Porter : https://porter.run/\n// Submitted by Rudraksh MK <rudi@porter.run>\nonporter.run\n\n// Positive Codes Technology Company : http://co.bn/faq.html\n// Submitted by Zulfais <pc@co.bn>\nco.bn\n\n// Postman, Inc : https://postman.com\n// Submitted by Rahul Dhawan <security@postman.com>\npostman-echo.com\npstmn.io\nmock.pstmn.io\nhttpbin.org\n\n//prequalifyme.today : https://prequalifyme.today\n//Submitted by DeepakTiwari deepak@ivylead.io\nprequalifyme.today\n\n// prgmr.com : https://prgmr.com/\n// Submitted by Sarah Newman <owner@prgmr.com>\nxen.prgmr.com\n\n// priv.at : http://www.nic.priv.at/\n// Submitted by registry <lendl@nic.at>\npriv.at\n\n// privacytools.io : https://www.privacytools.io/\n// Submitted by Jonah Aragon <jonah@privacytools.io>\nprvcy.page\n\n// Protocol Labs : https://protocol.ai/\n// Submitted by Michael Burns <noc@protocol.ai>\n*.dweb.link\n\n// Protonet GmbH : http://protonet.io\n// Submitted by Martin Meier <admin@protonet.io>\nprotonet.io\n\n// Publication Presse Communication SARL : https://ppcom.fr\n// Submitted by Yaacov Akiba Slama <admin@chirurgiens-dentistes-en-france.fr>\nchirurgiens-dentistes-en-france.fr\nbyen.site\n\n// pubtls.org: https://www.pubtls.org\n// Submitted by Kor Nielsen <kor@pubtls.org>\npubtls.org\n\n// PythonAnywhere LLP: https://www.pythonanywhere.com\n// Submitted by Giles Thomas <giles@pythonanywhere.com>\npythonanywhere.com\neu.pythonanywhere.com\n\n// QOTO, Org.\n// Submitted by Jeffrey Phillips Freeman <jeffrey.freeman@qoto.org>\nqoto.io\n\n// Qualifio : https://qualifio.com/\n// Submitted by Xavier De Cock <xdecock@gmail.com>\nqualifioapp.com\n\n// Quality Unit: https://qualityunit.com\n// Submitted by Vasyl Tsalko <vtsalko@qualityunit.com>\nladesk.com\n\n// QuickBackend: https://www.quickbackend.com\n// Submitted by Dani Biro <dani@pymet.com>\nqbuser.com\n\n// Rad Web Hosting: https://radwebhosting.com\n// Submitted by Scott Claeys <s.claeys@radwebhosting.com>\ncloudsite.builders\n\n// Redgate Software: https://red-gate.com\n// Submitted by Andrew Farries <andrew.farries@red-gate.com>\ninstances.spawn.cc\n\n// Redstar Consultants : https://www.redstarconsultants.com/\n// Submitted by Jons Slemmer <jons@redstarconsultants.com>\ninstantcloud.cn\n\n// Russian Academy of Sciences\n// Submitted by Tech Support <support@rasnet.ru>\nras.ru\n\n// QA2\n// Submitted by Daniel Dent (https://www.danieldent.com/)\nqa2.com\n\n// QCX\n// Submitted by Cassandra Beelen <cassandra@beelen.one>\nqcx.io\n*.sys.qcx.io\n\n// QNAP System Inc : https://www.qnap.com\n// Submitted by Nick Chang <nickchang@qnap.com>\ndev-myqnapcloud.com\nalpha-myqnapcloud.com\nmyqnapcloud.com\n\n// Quip : https://quip.com\n// Submitted by Patrick Linehan <plinehan@quip.com>\n*.quipelements.com\n\n// Qutheory LLC : http://qutheory.io\n// Submitted by Jonas Schwartz <jonas@qutheory.io>\nvapor.cloud\nvaporcloud.io\n\n// Rackmaze LLC : https://www.rackmaze.com\n// Submitted by Kirill Pertsev <kika@rackmaze.com>\nrackmaze.com\nrackmaze.net\n\n// Rakuten Games, Inc : https://dev.viberplay.io\n// Submitted by Joshua Zhang <public-suffix@rgames.jp>\ng.vbrplsbx.io\n\n// Rancher Labs, Inc : https://rancher.com\n// Submitted by Vincent Fiduccia <domains@rancher.com>\n*.on-k3s.io\n*.on-rancher.cloud\n*.on-rio.io\n\n// Read The Docs, Inc : https://www.readthedocs.org\n// Submitted by David Fischer <team@readthedocs.org>\nreadthedocs.io\n\n// Red Hat, Inc. OpenShift : https://openshift.redhat.com/\n// Submitted by Tim Kramer <tkramer@rhcloud.com>\nrhcloud.com\n\n// Render : https://render.com\n// Submitted by Anurag Goel <dev@render.com>\napp.render.com\nonrender.com\n\n// Repl.it : https://repl.it\n// Submitted by Lincoln Bergeson <lincoln@replit.com>\nfirewalledreplit.co\nid.firewalledreplit.co\nrepl.co\nid.repl.co\nrepl.run\n\n// Resin.io : https://resin.io\n// Submitted by Tim Perry <tim@resin.io>\nresindevice.io\ndevices.resinstaging.io\n\n// RethinkDB : https://www.rethinkdb.com/\n// Submitted by Chris Kastorff <info@rethinkdb.com>\nhzc.io\n\n// Revitalised Limited : http://www.revitalised.co.uk\n// Submitted by Jack Price <jack@revitalised.co.uk>\nwellbeingzone.eu\nwellbeingzone.co.uk\n\n// Rico Developments Limited : https://adimo.co\n// Submitted by Colin Brown <hello@adimo.co>\nadimo.co.uk\n\n// Riseup Networks : https://riseup.net\n// Submitted by Micah Anderson <micah@riseup.net>\nitcouldbewor.se\n\n// Rochester Institute of Technology : http://www.rit.edu/\n// Submitted by Jennifer Herting <jchits@rit.edu>\ngit-pages.rit.edu\n\n// Rocky Enterprise Software Foundation : https://resf.org\n// Submitted by Neil Hanlon <neil@resf.org>\nrocky.page\n\n// Rusnames Limited: http://rusnames.ru/\n// Submitted by Sergey Zotov <admin@rusnames.ru>\n\\u0431\\u0438\\u0437.\\u0440\\u0443\\u0441\n\\u043A\\u043E\\u043C.\\u0440\\u0443\\u0441\n\\u043A\\u0440\\u044B\\u043C.\\u0440\\u0443\\u0441\n\\u043C\\u0438\\u0440.\\u0440\\u0443\\u0441\n\\u043C\\u0441\\u043A.\\u0440\\u0443\\u0441\n\\u043E\\u0440\\u0433.\\u0440\\u0443\\u0441\n\\u0441\\u0430\\u043C\\u0430\\u0440\\u0430.\\u0440\\u0443\\u0441\n\\u0441\\u043E\\u0447\\u0438.\\u0440\\u0443\\u0441\n\\u0441\\u043F\\u0431.\\u0440\\u0443\\u0441\n\\u044F.\\u0440\\u0443\\u0441\n\n// SAKURA Internet Inc. : https://www.sakura.ad.jp/\n// Submitted by Internet Service Department <rs-vendor-ml@sakura.ad.jp>\n180r.com\ndojin.com\nsakuratan.com\nsakuraweb.com\nx0.com\n2-d.jp\nbona.jp\ncrap.jp\ndaynight.jp\neek.jp\nflop.jp\nhalfmoon.jp\njeez.jp\nmatrix.jp\nmimoza.jp\nivory.ne.jp\nmail-box.ne.jp\nmints.ne.jp\nmokuren.ne.jp\nopal.ne.jp\nsakura.ne.jp\nsumomo.ne.jp\ntopaz.ne.jp\nnetgamers.jp\nnyanta.jp\no0o0.jp\nrdy.jp\nrgr.jp\nrulez.jp\ns3.isk01.sakurastorage.jp\ns3.isk02.sakurastorage.jp\nsaloon.jp\nsblo.jp\nskr.jp\ntank.jp\nuh-oh.jp\nundo.jp\nrs.webaccel.jp\nuser.webaccel.jp\nwebsozai.jp\nxii.jp\nsquares.net\njpn.org\nkirara.st\nx0.to\nfrom.tv\nsakura.tv\n\n// Salesforce.com, Inc. https://salesforce.com/\n// Submitted by Michael Biven <mbiven@salesforce.com>\n*.builder.code.com\n*.dev-builder.code.com\n*.stg-builder.code.com\n\n// Sandstorm Development Group, Inc. : https://sandcats.io/\n// Submitted by Asheesh Laroia <asheesh@sandstorm.io>\nsandcats.io\n\n// SBE network solutions GmbH : https://www.sbe.de/\n// Submitted by Norman Meilick <nm@sbe.de>\nlogoip.de\nlogoip.com\n\n// Scaleway : https://www.scaleway.com/\n// Submitted by R\\xE9my L\\xE9one <rleone@scaleway.com>\nfr-par-1.baremetal.scw.cloud\nfr-par-2.baremetal.scw.cloud\nnl-ams-1.baremetal.scw.cloud\nfnc.fr-par.scw.cloud\nfunctions.fnc.fr-par.scw.cloud\nk8s.fr-par.scw.cloud\nnodes.k8s.fr-par.scw.cloud\ns3.fr-par.scw.cloud\ns3-website.fr-par.scw.cloud\nwhm.fr-par.scw.cloud\npriv.instances.scw.cloud\npub.instances.scw.cloud\nk8s.scw.cloud\nk8s.nl-ams.scw.cloud\nnodes.k8s.nl-ams.scw.cloud\ns3.nl-ams.scw.cloud\ns3-website.nl-ams.scw.cloud\nwhm.nl-ams.scw.cloud\nk8s.pl-waw.scw.cloud\nnodes.k8s.pl-waw.scw.cloud\ns3.pl-waw.scw.cloud\ns3-website.pl-waw.scw.cloud\nscalebook.scw.cloud\nsmartlabeling.scw.cloud\ndedibox.fr\n\n// schokokeks.org GbR : https://schokokeks.org/\n// Submitted by Hanno B\\xF6ck <hanno@schokokeks.org>\nschokokeks.net\n\n// Scottish Government: https://www.gov.scot\n// Submitted by Martin Ellis <martin.ellis@gov.scot>\ngov.scot\nservice.gov.scot\n\n// Scry Security : http://www.scrysec.com\n// Submitted by Shante Adam <shante@skyhat.io>\nscrysec.com\n\n// Securepoint GmbH : https://www.securepoint.de\n// Submitted by Erik Anders <erik.anders@securepoint.de>\nfirewall-gateway.com\nfirewall-gateway.de\nmy-gateway.de\nmy-router.de\nspdns.de\nspdns.eu\nfirewall-gateway.net\nmy-firewall.org\nmyfirewall.org\nspdns.org\n\n// Seidat : https://www.seidat.com\n// Submitted by Artem Kondratev <accounts@seidat.com>\nseidat.net\n\n// Sellfy : https://sellfy.com\n// Submitted by Yuriy Romadin <contact@sellfy.com>\nsellfy.store\n\n// Senseering GmbH : https://www.senseering.de\n// Submitted by Felix M\\xF6nckemeyer <f.moenckemeyer@senseering.de>\nsenseering.net\n\n// Sendmsg: https://www.sendmsg.co.il\n// Submitted by Assaf Stern <domains@comstar.co.il>\nminisite.ms\n\n// Service Magnet : https://myservicemagnet.com\n// Submitted by Dave Sanders <dave@myservicemagnet.com>\nmagnet.page\n\n// Service Online LLC : http://drs.ua/\n// Submitted by Serhii Bulakh <support@drs.ua>\nbiz.ua\nco.ua\npp.ua\n\n// Shift Crypto AG : https://shiftcrypto.ch\n// Submitted by alex <alex@shiftcrypto.ch>\nshiftcrypto.dev\nshiftcrypto.io\n\n// ShiftEdit : https://shiftedit.net/\n// Submitted by Adam Jimenez <adam@shiftcreate.com>\nshiftedit.io\n\n// Shopblocks : http://www.shopblocks.com/\n// Submitted by Alex Bowers <alex@shopblocks.com>\nmyshopblocks.com\n\n// Shopify : https://www.shopify.com\n// Submitted by Alex Richter <alex.richter@shopify.com>\nmyshopify.com\n\n// Shopit : https://www.shopitcommerce.com/\n// Submitted by Craig McMahon <craig@shopitcommerce.com>\nshopitsite.com\n\n// shopware AG : https://shopware.com\n// Submitted by Jens K\\xFCper <cloud@shopware.com>\nshopware.store\n\n// Siemens Mobility GmbH\n// Submitted by Oliver Graebner <security@mo-siemens.io>\nmo-siemens.io\n\n// SinaAppEngine : http://sae.sina.com.cn/\n// Submitted by SinaAppEngine <saesupport@sinacloud.com>\n1kapp.com\nappchizi.com\napplinzi.com\nsinaapp.com\nvipsinaapp.com\n\n// Siteleaf : https://www.siteleaf.com/\n// Submitted by Skylar Challand <support@siteleaf.com>\nsiteleaf.net\n\n// Skyhat : http://www.skyhat.io\n// Submitted by Shante Adam <shante@skyhat.io>\nbounty-full.com\nalpha.bounty-full.com\nbeta.bounty-full.com\n\n// Smallregistry by Promopixel SARL: https://www.smallregistry.net\n// Former AFNIC's SLDs \n// Submitted by J\\xE9r\\xF4me Lipowicz <support@promopixel.com>\naeroport.fr\navocat.fr\nchambagri.fr\nchirurgiens-dentistes.fr\nexperts-comptables.fr\nmedecin.fr\nnotaires.fr\npharmacien.fr\nport.fr\nveterinaire.fr\n\n// Small Technology Foundation : https://small-tech.org\n// Submitted by Aral Balkan <aral@small-tech.org>\nsmall-web.org\n\n// Smoove.io : https://www.smoove.io/\n// Submitted by Dan Kozak <dan@smoove.io>\nvp4.me\n\n// Snowflake Inc : https://www.snowflake.com/\n// Submitted by Faith Olapade <faith.olapade@snowflake.com>\nsnowflake.app\nprivatelink.snowflake.app\nstreamlit.app\nstreamlitapp.com\n\n// Snowplow Analytics : https://snowplowanalytics.com/\n// Submitted by Ian Streeter <ian@snowplowanalytics.com>\ntry-snowplow.com\n\n// SourceHut : https://sourcehut.org\n// Submitted by Drew DeVault <sir@cmpwn.com>\nsrht.site\n\n// Stackhero : https://www.stackhero.io\n// Submitted by Adrien Gillon <adrien+public-suffix-list@stackhero.io>\nstackhero-network.com\n\n// Staclar : https://staclar.com\n// Submitted by Q Misell <q@staclar.com>\nmusician.io\n// Submitted by Matthias Merkel <matthias.merkel@staclar.com>\nnovecore.site\n\n// staticland : https://static.land\n// Submitted by Seth Vincent <sethvincent@gmail.com>\nstatic.land\ndev.static.land\nsites.static.land\n\n// Storebase : https://www.storebase.io\n// Submitted by Tony Schirmer <tony@storebase.io>\nstorebase.store\n\n// Strategic System Consulting (eApps Hosting): https://www.eapps.com/\n// Submitted by Alex Oancea <aoancea@cloudscale365.com>\nvps-host.net\natl.jelastic.vps-host.net\nnjs.jelastic.vps-host.net\nric.jelastic.vps-host.net\n\n// Sony Interactive Entertainment LLC : https://sie.com/\n// Submitted by David Coles <david.coles@sony.com>\nplaystation-cloud.com\n\n// SourceLair PC : https://www.sourcelair.com\n// Submitted by Antonis Kalipetis <akalipetis@sourcelair.com>\napps.lair.io\n*.stolos.io\n\n// SpaceKit : https://www.spacekit.io/\n// Submitted by Reza Akhavan <spacekit.io@gmail.com>\nspacekit.io\n\n// SpeedPartner GmbH: https://www.speedpartner.de/\n// Submitted by Stefan Neufeind <info@speedpartner.de>\ncustomer.speedpartner.de\n\n// Spreadshop (sprd.net AG) : https://www.spreadshop.com/\n// Submitted by Martin Breest <security@spreadshop.com>\nmyspreadshop.at\nmyspreadshop.com.au\nmyspreadshop.be\nmyspreadshop.ca\nmyspreadshop.ch\nmyspreadshop.com\nmyspreadshop.de\nmyspreadshop.dk\nmyspreadshop.es\nmyspreadshop.fi\nmyspreadshop.fr\nmyspreadshop.ie\nmyspreadshop.it\nmyspreadshop.net\nmyspreadshop.nl\nmyspreadshop.no\nmyspreadshop.pl\nmyspreadshop.se\nmyspreadshop.co.uk\n\n// Standard Library : https://stdlib.com\n// Submitted by Jacob Lee <jacob@stdlib.com>\napi.stdlib.com\n\n// Storipress : https://storipress.com\n// Submitted by Benno Liu <benno@storipress.com>\nstoripress.app\n\n// Storj Labs Inc. : https://storj.io/\n// Submitted by Philip Hutchins <hostmaster@storj.io>\nstorj.farm\n\n// Studenten Net Twente : http://www.snt.utwente.nl/\n// Submitted by Silke Hofstra <syscom@snt.utwente.nl>\nutwente.io\n\n// Student-Run Computing Facility : https://www.srcf.net/\n// Submitted by Edwin Balani <sysadmins@srcf.net>\nsoc.srcf.net\nuser.srcf.net\n\n// Sub 6 Limited: http://www.sub6.com\n// Submitted by Dan Miller <dm@sub6.com>\ntemp-dns.com\n\n// Supabase : https://supabase.io\n// Submitted by Inian Parameshwaran <security@supabase.io>\nsupabase.co\nsupabase.in\nsupabase.net\nsu.paba.se\n\n// Symfony, SAS : https://symfony.com/\n// Submitted by Fabien Potencier <fabien@symfony.com>\n*.s5y.io\n*.sensiosite.cloud\n\n// Syncloud : https://syncloud.org\n// Submitted by Boris Rybalkin <syncloud@syncloud.it>\nsyncloud.it\n\n// Synology, Inc. : https://www.synology.com/\n// Submitted by Rony Weng <ronyweng@synology.com>\ndscloud.biz\ndirect.quickconnect.cn\ndsmynas.com\nfamilyds.com\ndiskstation.me\ndscloud.me\ni234.me\nmyds.me\nsynology.me\ndscloud.mobi\ndsmynas.net\nfamilyds.net\ndsmynas.org\nfamilyds.org\nvpnplus.to\ndirect.quickconnect.to\n\n// Tabit Technologies Ltd. : https://tabit.cloud/\n// Submitted by Oren Agiv <oren@tabit.cloud>\ntabitorder.co.il\nmytabit.co.il\nmytabit.com\n\n// TAIFUN Software AG : http://taifun-software.de\n// Submitted by Bjoern Henke <dev-server@taifun-software.de>\ntaifun-dns.de\n\n// Tailscale Inc. : https://www.tailscale.com\n// Submitted by David Anderson <danderson@tailscale.com>\nbeta.tailscale.net\nts.net\n\n// TASK geographical domains (www.task.gda.pl/uslugi/dns)\ngda.pl\ngdansk.pl\ngdynia.pl\nmed.pl\nsopot.pl\n\n// team.blue https://team.blue\n// Submitted by Cedric Dubois <cedric.dubois@team.blue>\nsite.tb-hosting.com\n\n// Teckids e.V. : https://www.teckids.org\n// Submitted by Dominik George <dominik.george@teckids.org>\nedugit.io\ns3.teckids.org\n\n// Telebit : https://telebit.cloud\n// Submitted by AJ ONeal <aj@telebit.cloud>\ntelebit.app\ntelebit.io\n*.telebit.xyz\n\n// Thingdust AG : https://thingdust.com/\n// Submitted by Adrian Imboden <adi@thingdust.com>\n*.firenet.ch\n*.svc.firenet.ch\nreservd.com\nthingdustdata.com\ncust.dev.thingdust.io\ncust.disrec.thingdust.io\ncust.prod.thingdust.io\ncust.testing.thingdust.io\nreservd.dev.thingdust.io\nreservd.disrec.thingdust.io\nreservd.testing.thingdust.io\n\n// ticket i/O GmbH : https://ticket.io\n// Submitted by Christian Franke <it@ticket.io>\ntickets.io\n\n// Tlon.io : https://tlon.io\n// Submitted by Mark Staarink <mark@tlon.io>\narvo.network\nazimuth.network\ntlon.network\n\n// Tor Project, Inc. : https://torproject.org\n// Submitted by Antoine Beaupr\\xE9 <anarcat@torproject.org\ntorproject.net\npages.torproject.net\n\n// TownNews.com : http://www.townnews.com\n// Submitted by Dustin Ward <dward@townnews.com>\nbloxcms.com\ntownnews-staging.com\n\n// TrafficPlex GmbH : https://www.trafficplex.de/\n// Submitted by Phillipp R\\xF6ll <phillipp.roell@trafficplex.de>\n12hp.at\n2ix.at\n4lima.at\nlima-city.at\n12hp.ch\n2ix.ch\n4lima.ch\nlima-city.ch\ntrafficplex.cloud\nde.cool\n12hp.de\n2ix.de\n4lima.de\nlima-city.de\n1337.pictures\nclan.rip\nlima-city.rocks\nwebspace.rocks\nlima.zone\n\n// TransIP : https://www.transip.nl\n// Submitted by Rory Breuk <rbreuk@transip.nl>\n*.transurl.be\n*.transurl.eu\n*.transurl.nl\n\n// TransIP: https://www.transip.nl\n// Submitted by Cedric Dubois <cedric.dubois@team.blue>\nsite.transip.me\n\n// TuxFamily : http://tuxfamily.org\n// Submitted by TuxFamily administrators <adm@staff.tuxfamily.org>\ntuxfamily.org\n\n// TwoDNS : https://www.twodns.de/\n// Submitted by TwoDNS-Support <support@two-dns.de>\ndd-dns.de\ndiskstation.eu\ndiskstation.org\ndray-dns.de\ndraydns.de\ndyn-vpn.de\ndynvpn.de\nmein-vigor.de\nmy-vigor.de\nmy-wan.de\nsyno-ds.de\nsynology-diskstation.de\nsynology-ds.de\n\n// Typedream : https://typedream.com\n// Submitted by Putri Karunia <putri@typedream.com>\ntypedream.app\n\n// Typeform : https://www.typeform.com\n// Submitted by Sergi Ferriz <sergi.ferriz@typeform.com>\npro.typeform.com\n\n// Uberspace : https://uberspace.de\n// Submitted by Moritz Werner <mwerner@jonaspasche.com>\nuber.space\n*.uberspace.de\n\n// UDR Limited : http://www.udr.hk.com\n// Submitted by registry <hostmaster@udr.hk.com>\nhk.com\nhk.org\nltd.hk\ninc.hk\n\n// UK Intis Telecom LTD : https://it.com\n// Submitted by ITComdomains <to@it.com>\nit.com\n\n// UNIVERSAL DOMAIN REGISTRY : https://www.udr.org.yt/\n// see also: whois -h whois.udr.org.yt help\n// Submitted by Atanunu Igbunuroghene <publicsuffixlist@udr.org.yt>\nname.pm\nsch.tf\nbiz.wf\nsch.wf\norg.yt\n\n// United Gameserver GmbH : https://united-gameserver.de\n// Submitted by Stefan Schwarz <sysadm@united-gameserver.de>\nvirtualuser.de\nvirtual-user.de\n\n// Upli : https://upli.io\n// Submitted by Lenny Bakkalian <lenny.bakkalian@gmail.com>\nupli.io\n\n// urown.net : https://urown.net\n// Submitted by Hostmaster <hostmaster@urown.net>\nurown.cloud\ndnsupdate.info\n\n// .US\n// Submitted by Ed Moore <Ed.Moore@lib.de.us>\nlib.de.us\n\n// VeryPositive SIA : http://very.lv\n// Submitted by Danko Aleksejevs <danko@very.lv>\n2038.io\n\n// Vercel, Inc : https://vercel.com/\n// Submitted by Connor Davis <security@vercel.com>\nvercel.app\nvercel.dev\nnow.sh\n\n// Viprinet Europe GmbH : http://www.viprinet.com\n// Submitted by Simon Kissel <hostmaster@viprinet.com>\nrouter.management\n\n// Virtual-Info : https://www.virtual-info.info/\n// Submitted by Adnan RIHAN <hostmaster@v-info.info>\nv-info.info\n\n// Voorloper.com: https://voorloper.com\n// Submitted by Nathan van Bakel <info@voorloper.com>\nvoorloper.cloud\n\n// Voxel.sh DNS : https://voxel.sh/dns/\n// Submitted by Mia Rehlinger <dns@voxel.sh>\nneko.am\nnyaa.am\nbe.ax\ncat.ax\nes.ax\neu.ax\ngg.ax\nmc.ax\nus.ax\nxy.ax\nnl.ci\nxx.gl\napp.gp\nblog.gt\nde.gt\nto.gt\nbe.gy\ncc.hn\nblog.kg\nio.kg\njp.kg\ntv.kg\nuk.kg\nus.kg\nde.ls\nat.md\nde.md\njp.md\nto.md\nindie.porn\nvxl.sh\nch.tc\nme.tc\nwe.tc\nnyan.to\nat.vg\nblog.vu\ndev.vu\nme.vu\n\n// V.UA Domain Administrator : https://domain.v.ua/\n// Submitted by Serhii Rostilo <sergey@rostilo.kiev.ua>\nv.ua\n\n// Vultr Objects : https://www.vultr.com/products/object-storage/\n// Submitted by Niels Maumenee <storage@vultr.com>\n*.vultrobjects.com\n\n// Waffle Computer Inc., Ltd. : https://docs.waffleinfo.com\n// Submitted by Masayuki Note <masa@blade.wafflecell.com>\nwafflecell.com\n\n// WebHare bv: https://www.webhare.com/\n// Submitted by Arnold Hendriks <info@webhare.com>\n*.webhare.dev\n\n// WebHotelier Technologies Ltd: https://www.webhotelier.net/\n// Submitted by Apostolos Tsakpinis <apostolos.tsakpinis@gmail.com>\nreserve-online.net\nreserve-online.com\nbookonline.app\nhotelwithflight.com\n\n// WeDeploy by Liferay, Inc. : https://www.wedeploy.com\n// Submitted by Henrique Vicente <security@wedeploy.com>\nwedeploy.io\nwedeploy.me\nwedeploy.sh\n\n// Western Digital Technologies, Inc : https://www.wdc.com\n// Submitted by Jung Jin <jungseok.jin@wdc.com>\nremotewd.com\n\n// WIARD Enterprises : https://wiardweb.com\n// Submitted by Kidd Hustle <kiddhustle@wiardweb.com>\npages.wiardweb.com\n\n// Wikimedia Labs : https://wikitech.wikimedia.org\n// Submitted by Arturo Borrero Gonzalez <aborrero@wikimedia.org>\nwmflabs.org\ntoolforge.org\nwmcloud.org\n\n// WISP : https://wisp.gg\n// Submitted by Stepan Fedotov <stepan@wisp.gg>\npanel.gg\ndaemon.panel.gg\n\n// Wizard Zines : https://wizardzines.com\n// Submitted by Julia Evans <julia@wizardzines.com>\nmesswithdns.com\n\n// WoltLab GmbH : https://www.woltlab.com\n// Submitted by Tim D\\xFCsterhus <security@woltlab.cloud>\nwoltlab-demo.com\nmyforum.community\ncommunity-pro.de\ndiskussionsbereich.de\ncommunity-pro.net\nmeinforum.net\n\n// Woods Valldata : https://www.woodsvalldata.co.uk/\n// Submitted by Chris Whittle <chris.whittle@woodsvalldata.co.uk>\naffinitylottery.org.uk\nraffleentry.org.uk\nweeklylottery.org.uk\n\n// WP Engine : https://wpengine.com/\n// Submitted by Michael Smith <michael.smith@wpengine.com>\n// Submitted by Brandon DuRette <brandon.durette@wpengine.com>\nwpenginepowered.com\njs.wpenginepowered.com\n\n// Wix.com, Inc. : https://www.wix.com\n// Submitted by Shahar Talmi <shahar@wix.com>\nwixsite.com\neditorx.io\nwixstudio.io\nwix.run\n\n// XenonCloud GbR: https://xenoncloud.net\n// Submitted by Julian Uphoff <publicsuffixlist@xenoncloud.net>\nhalf.host\n\n// XnBay Technology : http://www.xnbay.com/\n// Submitted by XnBay Developer <developer.xncloud@gmail.com>\nxnbay.com\nu2.xnbay.com\nu2-local.xnbay.com\n\n// XS4ALL Internet bv : https://www.xs4all.nl/\n// Submitted by Daniel Mostertman <unixbeheer+publicsuffix@xs4all.net>\ncistron.nl\ndemon.nl\nxs4all.space\n\n// Yandex.Cloud LLC: https://cloud.yandex.com\n// Submitted by Alexander Lodin <security+psl@yandex-team.ru>\nyandexcloud.net\nstorage.yandexcloud.net\nwebsite.yandexcloud.net\n\n// YesCourse Pty Ltd : https://yescourse.com\n// Submitted by Atul Bhouraskar <atul@yescourse.com>\nofficial.academy\n\n// Yola : https://www.yola.com/\n// Submitted by Stefano Rivera <stefano@yola.com>\nyolasite.com\n\n// Yombo : https://yombo.net\n// Submitted by Mitch Schwenk <mitch@yombo.net>\nybo.faith\nyombo.me\nhomelink.one\nybo.party\nybo.review\nybo.science\nybo.trade\n\n// Yunohost : https://yunohost.org\n// Submitted by Valentin Grimaud <security@yunohost.org>\nynh.fr\nnohost.me\nnoho.st\n\n// ZaNiC : http://www.za.net/\n// Submitted by registry <hostmaster@nic.za.net>\nza.net\nza.org\n\n// Zine EOOD : https://zine.bg/\n// Submitted by Martin Angelov <martin@zine.bg>\nbss.design\n\n// Zitcom A/S : https://www.zitcom.dk\n// Submitted by Emil Stahl <esp@zitcom.dk>\nbasicserver.io\nvirtualserver.io\nenterprisecloud.nu\n\n// ===END PRIVATE DOMAINS===\n`.split(`\n`).filter(e=>!e.startsWith(\"//\")&&e.trim().length>0).sort((e,t)=>t.length-e.length);async function sT(e,t,a){let o=await ew(a.filenameTemplate,a,e,t)||\"\";o=o.trim(),a.replaceEmojisInFilename&&nT.forEach(n=>o=St(o,n,\" _\"+Qg[n]+\"_ \"));let i=a.filenameReplacementCharacter;if(o=cT(o,a.filenameReplacedCharacters,i),a.backgroundSave||(o=o.replace(/\\//g,i)),!a.keepFilename&&(a.filenameMaxLengthUnit==\"bytes\"&&Fo(o)>a.filenameMaxLength||o.length>a.filenameMaxLength)){let n=o.match(/(\\.[^.]{3,4})$/),s=n&&n[0]&&n[0].length>1?n[0]:\"\";o=a.filenameMaxLengthUnit==\"bytes\"?await Yl(o,a.filenameMaxLength-s.length):o.substring(0,a.filenameMaxLength-s.length),o=o+\"\\u2026\"+s}return o||(o=\"Unnamed page\"),o.startsWith(\".\")&&(o=\"Unnamed page\"+o),o.trim()}async function ew(e=\"\",t,a,o,i){let n=new eT(t.saveUrl),s=Wt(n.href),r=Array.from(new tT(n.search)),l=t.bookmarkFolders&&t.bookmarkFolders.join(\"/\")||\"\",c=i===void 0?!0:i,d=rT.find(g=>n.hostname.endsWith(\".\"+g)&&g),m=d?n.hostname.substring(0,n.hostname.length-d.length-1):n.hostname,h=m.lastIndexOf(\".\"),u=m.substring(0,h==-1?0:h),p=m.substring(u.length?u.length+1:0),w=p+\".\"+d;u.startsWith(\"www.\")?u=u.substring(4):u==\"www\"&&(u=\"\");let b={\"page-title\":{getter:()=>t.title},\"page-heading\":{getter:()=>t.info.heading},\"page-language\":{getter:()=>t.info.lang},\"page-description\":{getter:()=>t.info.description},\"page-author\":{getter:()=>t.info.author},\"page-creator\":{getter:()=>t.info.creator},\"page-publisher\":{getter:()=>t.info.publisher},\"url-hash\":{getter:()=>n.hash.substring(1)},\"url-host\":{getter:()=>n.host.replace(/\\/$/,\"\")},\"url-hostname\":{getter:()=>n.hostname.replace(/\\/$/,\"\")},\"url-hostname-suffix\":{getter:()=>d},\"url-hostname-domain\":{getter:()=>p},\"url-hostname-root\":{getter:()=>w},\"url-hostname-subdomains\":{getter:()=>u},\"url-href\":{getter:()=>s,dontReplaceSlash:c},\"url-href-digest-sha-1\":{getter:s?async()=>Ut(\"SHA-1\",s):\"\"},\"url-href-flat\":{getter:()=>Wt(n.href),dontReplaceSlash:!1},\"url-referrer\":{getter:()=>Wt(t.referrer),dontReplaceSlash:c},\"url-referrer-flat\":{getter:()=>Wt(t.referrer),dontReplaceSlash:!1},\"url-password\":{getter:()=>n.password},\"url-pathname\":{getter:()=>Wt(n.pathname).replace(/^\\//,\"\").replace(/\\/$/,\"\"),dontReplaceSlash:c},\"url-pathname-flat\":{getter:()=>Wt(n.pathname),dontReplaceSlash:!1},\"url-port\":{getter:()=>n.port},\"url-protocol\":{getter:()=>n.protocol},\"url-search\":{getter:()=>n.search.substring(1)},\"url-username\":{getter:()=>n.username},\"tab-id\":{getter:()=>String(t.tabId)},\"tab-index\":{getter:()=>String(t.tabIndex)},\"url-last-segment\":{getter:()=>Wt($g(n,t.filenameReplacementCharacter))},\"bookmark-pathname\":{getter:()=>l,dontReplaceSlash:c},\"bookmark-pathname-flat\":{getter:()=>l,dontReplaceSlash:!1},\"profile-name\":{getter:()=>t.profileName},\"filename-extension\":{getter:()=>dT(t)},\"save-action\":{getter:()=>t.selected?\"selection\":\"page\"}};a&&(b[\"digest-sha-256\"]={getter:async()=>Ut(\"SHA-256\",a)},b[\"digest-sha-384\"]={getter:async()=>Ut(\"SHA-384\",a)},b[\"digest-sha-512\"]={getter:async()=>Ut(\"SHA-512\",a)}),t.saveDate&&y(t.saveDate),t.visitDate&&y(t.visitDate,\"visit-\");let E={\"if-empty\":(...g)=>{let j=g.pop(),C=g.find(z=>z);return C||j},\"if-not-empty\":(...g)=>{let j=g.pop(),C=g.find(z=>z);return C&&j},\"if-equals\":(g,j,C,z)=>g==j?C:z,\"if-not-equals\":(g,j,C,z)=>g!=j?C:z,\"if-contains\":(g,j,C,z)=>j&&g.includes(j)?C:z,\"if-not-contains\":(g,j,C,z)=>j&&!g.includes(j)?C:z,substring:(g,j,C)=>g.substring(j,C),lowercase:g=>g.toLowerCase(),uppercase:g=>g.toUpperCase(),capitalize:g=>g.charAt(0).toUpperCase()+g.slice(1),replace:(g,j,C)=>j&&C?St(g,j,C):g,trim:g=>g.trim(),\"trim-left\":g=>g.trimLeft(),\"trim-right\":g=>g.trimRight(),\"pad-left\":(g,j,C)=>j>0?g.padStart(j,C):g,\"pad-right\":(g,j,C)=>j>0?g.padEnd(j,C):g,repeat:(g,j)=>j>0?g.repeat(j):\"\",\"index-of\":(g,j,C)=>g.indexOf(j,C),\"last-index-of\":(g,j,C)=>g.lastIndexOf(j,C),length:g=>g.length,\"url-search-name\":(g=0)=>r[g]&&r[g][0],\"url-search-value\":(g=0)=>r[g]&&r[g][1],\"url-search-named-value\":g=>{let j=r.find(C=>C[0]==g);return j&&j[1]},\"url-search\":g=>{let j=r.find(C=>C[0]==g);return j&&j[1]},\"url-segment\":(g=0)=>{let j=Wt(n.pathname).split(\"/\");return j.pop(),j.push($g(n,t.filenameReplacementCharacter)),j[g]},\"url-hostname-subdomain\":(g=0)=>{let j=u.split(\".\");return j[j.length-g-1]},stringify:g=>{try{return JSON.stringify(g)}catch{return g}},\"encode-uri\":g=>{try{return encodeURI(g)}catch{return g}},\"decode-uri\":g=>{try{return decodeURI(g)}catch{return g}},\"encode-uri-component\":g=>{try{return encodeURIComponent(g)}catch{return g}},\"decode-uri-component\":g=>{try{return decodeURIComponent(g)}catch{return g}}};o&&(E[\"page-element-text\"]=g=>{let j=o.querySelector(g);return j&&j.textContent},E[\"page-element-attribute\"]=(g,j)=>{let C=o.querySelector(g);return C&&C.getAttribute(j)}),e=St(e,\"\\\\%\",\"\\\\\\\\%\"),e=St(e,\"\\\\{\",\"\\\\\\\\{\"),e=St(e,\"\\\\|\",\"\\\\\\\\|\"),e=St(e,\"\\\\>\",\"\\\\\\\\>\");let S=await Jg(e,{async callFunction(g,[j,C],z){let f=E[g];if(f)if(j=j.replace(/\\\\\\\\(.)/g,\"$1\"),C||(C=[]),C=C.map(k=>k.replace(/\\\\\\\\(.)/g,\"$1\")).filter(k=>k!=null&&k!=null&&k!=\"\"),j!=null&&j!=null&&j!=\"\"||C.length>0)try{return await Zg(()=>f(j,...C),!0,t.filenameReplacementCharacter,z)}catch{return\"\"}else return\"\";else return\"\"},getVariableValue(g,j){let C=b[g];return C?Zg(C.getter,C.dontReplaceSlash,t.filenameReplacementCharacter,j):\"\"}});return S=St(S,\"\\\\\\\\%\",\"%\"),S=St(S,\"\\\\\\\\{\",\"{\"),S=St(S,\"\\\\\\\\|\",\"|\"),S=St(S,\"\\\\\\\\>\",\">\"),S;function y(g,j=\"\"){b[j+\"datetime-iso\"]={getter:()=>g.toISOString()},b[j+\"date-iso\"]={getter:()=>g.toISOString().split(\"T\")[0]},b[j+\"time-iso\"]={getter:()=>g.toISOString().split(\"T\")[1].split(\"Z\")[0]},b[j+\"date-locale\"]={getter:()=>g.toLocaleDateString()},b[j+\"time-locale\"]={getter:()=>g.toLocaleTimeString()},b[j+\"day-locale\"]={getter:()=>String(g.getDate()).padStart(2,\"0\")},b[j+\"month-locale\"]={getter:()=>String(g.getMonth()+1).padStart(2,\"0\")},b[j+\"year-locale\"]={getter:()=>String(g.getFullYear())},b[j+\"datetime-locale\"]={getter:()=>g.toLocaleString()},b[j+\"datetime-utc\"]={getter:()=>g.toUTCString()},b[j+\"day-utc\"]={getter:()=>String(g.getUTCDate()).padStart(2,\"0\")},b[j+\"month-utc\"]={getter:()=>String(g.getUTCMonth()+1).padStart(2,\"0\")},b[j+\"year-utc\"]={getter:()=>String(g.getUTCFullYear())},b[j+\"hours-locale\"]={getter:()=>String(g.getHours()).padStart(2,\"0\")},b[j+\"minutes-locale\"]={getter:()=>String(g.getMinutes()).padStart(2,\"0\")},b[j+\"seconds-locale\"]={getter:()=>String(g.getSeconds()).padStart(2,\"0\")},b[j+\"hours-utc\"]={getter:()=>String(g.getUTCHours()).padStart(2,\"0\")},b[j+\"minutes-utc\"]={getter:()=>String(g.getUTCMinutes()).padStart(2,\"0\")},b[j+\"seconds-utc\"]={getter:()=>String(g.getUTCSeconds()).padStart(2,\"0\")},b[j+\"time-ms\"]={getter:()=>String(g.getTime())}}}function St(e,t,a){if(typeof e.replaceAll==\"function\")return e.replaceAll(t,a);{let o=new RegExp(t.replace(iT,\"\\\\$1\"),\"g\");return e.replace(o,a)}}async function Zg(e,t,a,o){let{maxLength:i,maxCharLength:n}=lT(o),s=await e()||\"\";return t||(s=s.replace(/\\/+/g,a)),i?s=await Yl(s,i):n&&(s=s.substring(0,n)),s}function lT(e){if(e){let{unit:t,length:a}=e,o,i;return t==\"char\"?i=a:o=a,{maxLength:o,maxCharLength:i}}else return{}}function Wt(e){try{return decodeURI(e)}catch{return e}}function $g(e,t){let a=e.pathname.match(/\\/([^/]+)$/),o=a&&a[0];return o||(a=e.href.match(/([^/]+)\\/?$/),o=a&&a[0]),o||(a=o.match(/(.*)\\.[^.]+$/),o=a&&a[0]),o||(o=e.hostname.replace(/\\/+/g,t).replace(/\\/$/,\"\")),a=o.match(/(.*)\\.[^.]+$/),a&&a[1]&&(o=a[1]),o=o.replace(/\\/$/,\"\").replace(/^\\//,\"\"),o}function cT(e,t=aT,a=oT){return t.forEach(o=>e=e.replace(new RegExp(\"[\"+o+\"]+\",\"g\"),a)),e=e.replace(/\\.\\.\\//g,\"\").replace(/^\\/+/,\"\").replace(/\\/+/g,\"/\").replace(/\\/$/,\"\").replace(/\\.$/,\"\").replace(/\\.\\//g,\".\"+a).replace(/\\/\\./g,\"/\"+a),e}function Yl(e,t){let a=new $0([e]),o=new Q0;return o.readAsText(a.slice(0,t)),new Promise((i,n)=>{o.addEventListener(\"load\",()=>{e.startsWith(o.result)?i(o.result):Yl(e,t-1).then(i).catch(n)},!1),o.addEventListener(\"error\",n,!1)})}function dT(e){return e.compressContent?e.selfExtractingArchive?e.extractDataFromPage?\"u.zip.html\":\"zip.html\":\"zip\":\"html\"}var $l=\"data:\",mT=\"about:blank\",hT=/(#.+?)$/,ow=\"blob:\",uT=/^https?:\\/\\//,pT=/^file:\\/\\//,gT=/^https?:\\/\\/+\\s*$/,wT=/^(https?:\\/\\/|file:\\/\\/|blob:).+/,fT=\"data:image/svg+xml\",bT=\"utf-8\",yT=/(url|local|-sf-url-original)\\(.*?\\)\\s*(,|$)/g,kT=/url\\s*\\(\\s*'(.*?)'\\s*\\)/i,vT=/url\\s*\\(\\s*\"(.*?)\"\\s*\\)/i,ST=/url\\s*\\(\\s*(.*?)\\s*\\)/i,ET=/^'(.*?)'$/,jT=/^\"(.*?)\"$/,AT=/^url\\(\\s*[\"']?data:font\\/(woff2?)/,xT=/^url\\(\\s*[\"']?data:application\\/x-font-(woff)/,CT=/\\.([^.?#]+)((\\?|#).*?)?$/,TT=/format\\((.*?)\\)\\s*,?$/,tw=/(.*?)\\s*,?$/,aw=\"all\",LT={\"ultra-condensed\":\"50%\",\"extra-condensed\":\"62.5%\",condensed:\"75%\",\"semi-condensed\":\"87.5%\",normal:\"100%\",\"semi-expanded\":\"112.5%\",expanded:\"125%\",\"extra-expanded\":\"150%\",\"ultra-expanded\":\"200%\"},RT=globalThis.Blob,zT=globalThis.FileReader,Be,it;function Mn(e,t){return Be=e,it=t,Zl}var Zl=class{async processPageResources(t,a,o,i,n,s){let r=[['link[href][rel*=\"icon\"]',\"href\",!0],['object[type=\"image/svg+xml\"], object[type=\"image/svg-xml\"], object[data*=\".svg\"]',\"data\"],[\"img[src], input[src][type=image]\",\"src\",!1,!0],['embed[src*=\".svg\"]',\"src\"],[\"video[poster]\",\"poster\"],[\"*[background]\",\"background\"],[\"image\",\"xlink:href\"],[\"image\",\"href\"]];o.blockImages&&t.querySelectorAll(\"svg\").forEach(c=>c.remove());let l=r.map(([c,d,m,h])=>this.processAttribute(t.querySelectorAll(c),d,a,o,\"image\",i,m,s,n,h));l=l.concat([this.processXLinks(t.querySelectorAll(\"use\"),t,a,o,s),this.processSrcset(t.querySelectorAll(\"img[srcset], source[srcset]\"),a,o,i,s)]),l.push(this.processAttribute(t.querySelectorAll('object[data*=\".pdf\"]'),\"data\",a,o,null,i,!1,s,n)),l.push(this.processAttribute(t.querySelectorAll('embed[src*=\".pdf\"]'),\"src\",a,o,null,i,!1,s,n)),l.push(this.processAttribute(t.querySelectorAll(\"audio[src], audio > source[src]\"),\"src\",a,o,\"audio\",i,!1,s,n)),l.push(this.processAttribute(t.querySelectorAll(\"video[src], video > source[src]\"),\"src\",a,o,\"video\",i,!1,s,n)),l.push(this.processAttribute(t.querySelectorAll(\"audio track[src], video track[src]\"),\"src\",a,o,null,i,!1,s,n)),l.push(this.processAttribute(t.querySelectorAll(\"model[src]\"),\"src\",a,o,null,i,!1,s,n)),await Promise.all(l),o.saveFavicon&&this.processShortcutIcons(t)}async processXLinks(t,a,o,i,n){let s=\"xlink:href\";await Promise.all(Array.from(t).map(async r=>{let l=r.getAttribute(s);l==null&&(s=\"href\",l=r.getAttribute(s)),i.saveOriginalURLs&&!ht(l)&&r.setAttribute(\"data-sf-original-href\",l);let c=Ue(l);if(i.blockImages)r.setAttribute(s,Be.EMPTY_RESOURCE);else if(Et(c)&&!Ye(c)){r.setAttribute(s,Be.EMPTY_RESOURCE);try{c=Be.resolveURL(c,o)}catch{}if(nt(c)){let d=l.match(hT);if(l.startsWith(o+\"#\"))r.setAttribute(s,d[0]);else{let m=await n.addURL(c,{expectedType:\"image\"}),h=Be.parseSVGContent(m.content);if(d&&d[0]){let u;try{u=h.querySelector(d[0])}catch{}u&&(r.setAttribute(s,d[0]),r.parentElement.insertBefore(u,r.parentElement.firstChild))}else r.setAttribute(s,fT+\",\"+m.content)}}}else c==i.url&&r.setAttribute(s,l.substring(c.length))}))}async processStylesheet(t,a,o,i,n){let s=[],r=[],l=this;for(let d=t.head;d;d=d.next){let m=d.data;m.type==\"Atrule\"&&m.name==\"charset\"?r.push(d):m.block&&m.block.children&&(m.type==\"Rule\"?s.push(l.processStyle(m,o,i,n)):m.type==\"Atrule\"&&(m.name==\"media\"||m.name==\"supports\")||m.type==\"Atrule\"&&(m.name==\"media\"||m.name==\"layer\")?s.push(l.processStylesheet(m.block.children,a,o,i,n)):m.type==\"Atrule\"&&m.name==\"font-face\"&&s.push(c(m)))}r.forEach(d=>t.remove(d)),await Promise.all(s);async function c(d){let m=to(d);await Promise.all(m.map(async h=>{let u=h.value;if(o.blockFonts)h.value=Be.EMPTY_RESOURCE;else{let p=Ue(u);!Ye(p)&&nt(p)&&await l.processFont(p,h,u,a,o,i,n)}}))}}async processSrcset(t,a,o,i,n){await Promise.all(Array.from(t).map(async s=>{let r=s.getAttribute(\"srcset\"),l=Be.parseSrcset(r);if(o.saveOriginalURLs&&!ht(r)&&s.setAttribute(\"data-sf-original-srcset\",r),o.blockImages)s.setAttribute(\"srcset\",\"\");else{let c=await Promise.all(l.map(async d=>{let m=Ue(d.url);if(Ye(m))return m+(d.w?\" \"+d.w+\"w\":d.d?\" \"+d.d+\"x\":\"\");if(Et(m)){try{m=Be.resolveURL(m,a)}catch{}return nt(m)?this.processImageSrcset(m,d,i,n):\"\"}else return\"\"}));s.setAttribute(\"srcset\",c.join(\", \"))}}))}setBackgroundImage(t,a,o){t.style.setProperty(\"background-blend-mode\",\"normal\",\"important\"),t.style.setProperty(\"background-clip\",\"content-box\",\"important\"),t.style.setProperty(\"background-position\",o&&o[\"background-position\"]?o[\"background-position\"]:\"center\",\"important\"),t.style.setProperty(\"background-color\",o&&o[\"background-color\"]?o[\"background-color\"]:\"transparent\",\"important\"),t.style.setProperty(\"background-image\",a,\"important\"),t.style.setProperty(\"background-size\",o&&o[\"background-size\"]?o[\"background-size\"]:\"100% 100%\",\"important\"),t.style.setProperty(\"background-origin\",\"content-box\",\"important\"),t.style.setProperty(\"background-repeat\",\"no-repeat\",\"important\")}async getStylesheetContent(t,a){let o=await Be.getContent(t,{inline:!a.compressContent,maxResourceSize:a.maxResourceSize,maxResourceSizeEnabled:a.maxResourceSizeEnabled,validateTextContentType:!0,frameId:a.frameId,charset:a.charset,resourceReferrer:a.resourceReferrer,baseURI:a.baseURI,blockMixedContent:a.blockMixedContent,expectedType:\"stylesheet\",acceptHeaders:a.acceptHeaders,networkTimeout:a.networkTimeout});return Kt(o.data,o.charset)||Kt(o.data,a.charset)?o:(a=Object.assign({},a,{charset:ao(o.data)}),Be.getContent(t,{inline:!a.compressContent,maxResourceSize:a.maxResourceSize,maxResourceSizeEnabled:a.maxResourceSizeEnabled,validateTextContentType:!0,frameId:a.frameId,charset:a.charset,resourceReferrer:a.resourceReferrer,baseURI:a.baseURI,blockMixedContent:a.blockMixedContent,expectedType:\"stylesheet\",acceptHeaders:a.acceptHeaders,networkTimeout:a.networkTimeout}))}processShortcutIcons(t){let a=Jl(Array.from(t.querySelectorAll('link[href][rel=\"shortcut icon\"]')));a||(a=Jl(Array.from(t.querySelectorAll('link[href][rel=\"icon\"]')))),a||(a=Jl(Array.from(t.querySelectorAll('link[href][rel*=\"icon\"]'))),a&&(a.rel=\"shortcut icon\")),a&&t.querySelectorAll('link[href][rel*=\"icon\"]').forEach(o=>{o!=a&&o.remove()})}removeSingleLineCssComments(t){if(t.children){let a=[];for(let o=t.children.head;o;o=o.next){let i=o.data;i.type==\"Raw\"&&i.value&&i.value.trim().startsWith(\"//\")&&a.push(o)}a.forEach(o=>t.children.remove(o))}}replacePseudoClassDefined(t){let a=[];if(t.children)for(let i=t.children.head;i;i=i.next){let n=i.data;if(n.type==\"Rule\"&&n.prelude&&n.prelude.children)for(let s=n.prelude.children.head;s;s=s.next)o(s,n.prelude)}a.length&&a.forEach(({parentSelector:i,selector:n})=>{i.data.children.size==0||!n.prev||n.prev.data.type==\"Combinator\"||n.prev.data.type==\"WhiteSpace\"?i.data.children.replace(n,it.parse(\"*\",{context:\"selector\"}).children.head):i.data.children.remove(n)});function o(i,n){if(i.data.children)for(let s=i.data.children.head;s;s=s.next)o(s,i);i.data.type==\"PseudoClassSelector\"&&i.data.name==\"defined\"&&a.push({parentSelector:n,selector:i})}}resolveStylesheetURLs(t,a,o){to(t).map(n=>{let s=n.value,r=Ue(s);if(!Ye(r)&&(o.textContent='tmp { content:\"'+r+'\"}',o.sheet&&o.sheet.cssRules&&(r=Be.removeQuotes(o.sheet.cssRules[0].style.getPropertyValue(\"content\"))),!Ye(r)))if(!r||Et(r)){let l;if(!s.startsWith(\"#\"))try{l=Be.resolveURL(r,a)}catch{}nt(l)&&(n.value=l)}else n.value=Be.EMPTY_RESOURCE})}async removeAlternativeFonts(t,a,o,i){let n={fonts:new Map,medias:new Map,supports:new Map,layers:new Map},s={rules:{processed:0,discarded:0},fonts:{processed:0,discarded:0}},r=0;return a.forEach(l=>{let c=l.stylesheet.children;if(c)if(s.rules.processed+=c.size,s.rules.discarded+=c.size,l.mediaText&&l.mediaText!=aw){let d=this.createFontsDetailsInfo();n.medias.set(\"media-\"+r+\"-\"+l.mediaText,d),this.getFontsDetails(t,c,r,d)}else this.getFontsDetails(t,c,r,n);r++}),ha(n),await Promise.all([...a].map(async([,l],c)=>{let d=l.stylesheet.children,m=l.mediaText;d&&(m&&m!=aw?await this.processFontFaceRules(d,c,n.medias.get(\"media-\"+c+\"-\"+m),o,i,s):await this.processFontFaceRules(d,c,n,o,i,s),s.rules.discarded-=d.size)})),s}async processFontFaceRules(t,a,o,i,n,s){let r=[],l=0,c=0,d=0;for(let m=t.head;m;m=m.next){let h=m.data;if(h.type==\"Atrule\"&&h.name==\"media\"&&h.block&&h.block.children&&h.prelude){let u=it.generate(h.prelude);await this.processFontFaceRules(h.block.children,a,o.medias.get(\"media-\"+a+\"-\"+l+\"-\"+u),i,n,s),l++}else if(h.type==\"Atrule\"&&h.name==\"supports\"&&h.block&&h.block.children&&h.prelude){let u=it.generate(h.prelude);await this.processFontFaceRules(h.block.children,a,o.supports.get(\"supports-\"+a+\"-\"+c+\"-\"+u),i,n,s),c++}else if(h.type==\"Atrule\"&&h.name==\"layer\"&&h.block&&h.block.children&&h.prelude){let u=it.generate(h.prelude);await this.processFontFaceRules(h.block.children,a,o.layers.get(\"layer-\"+a+\"-\"+d+\"-\"+u),i,n,s),d++}else if(h.type==\"Atrule\"&&h.name==\"font-face\"){let u=this.getFontKey(h),p=o.fonts.get(u);p?await this.processFontFaceRule(h,p,i,n,s):r.push(m)}}r.forEach(m=>t.remove(m))}getFontsDetails(t,a,o,i){let n=0,s=0,r=0;a.forEach(l=>{if(l.type==\"Atrule\"&&l.name==\"media\"&&l.block&&l.block.children&&l.prelude){let c=it.generate(l.prelude),d=this.createFontsDetailsInfo();i.medias.set(\"media-\"+o+\"-\"+n+\"-\"+c,d),n++,this.getFontsDetails(t,l.block.children,o,d)}else if(l.type==\"Atrule\"&&l.name==\"supports\"&&l.block&&l.block.children&&l.prelude){let c=it.generate(l.prelude),d=this.createFontsDetailsInfo();i.supports.set(\"supports-\"+o+\"-\"+s+\"-\"+c,d),s++,this.getFontsDetails(t,l.block.children,o,d)}else if(l.type==\"Atrule\"&&l.name==\"layer\"&&l.block&&l.block.children&&l.prelude){let c=it.generate(l.prelude),d=this.createFontsDetailsInfo();i.layers.set(\"layer-\"+o+\"-\"+r+\"-\"+c,d),r++,this.getFontsDetails(t,l.block.children,o,d)}else if(l.type==\"Atrule\"&&l.name==\"font-face\"&&l.block&&l.block.children){let c=this.getFontKey(l),d=i.fonts.get(c);d||(d=[],i.fonts.set(c,d));let m=this.getPropertyValue(l,\"src\");if(m){let h=m.match(yT);h&&h.forEach(u=>{d.includes(u)&&d.splice(d.indexOf(u),1),d.unshift(u)})}}})}createFontsDetailsInfo(){return{fonts:new Map,medias:new Map,supports:new Map,layers:new Map}}getFontKey(t){return JSON.stringify([oa(this.getPropertyValue(t,\"font-family\")),Na(this.getPropertyValue(t,\"font-weight\")||\"400\"),this.getPropertyValue(t,\"font-style\")||\"normal\",this.getPropertyValue(t,\"unicode-range\"),_T(this.getPropertyValue(t,\"font-stretch\")),this.getPropertyValue(t,\"font-variant\")||\"normal\",this.getPropertyValue(t,\"font-feature-settings\"),this.getPropertyValue(t,\"font-variation-settings\")])}getPropertyValue(t,a){let o;if(t.block.children&&(o=t.block.children.filter(i=>{try{return i.property==a&&!it.generate(i.value).match(/\\\\9$/)}catch{return i.property==a}}).tail),o)try{return it.generate(o.data.value)}catch{}}};function ha(e,t){e.fonts.forEach((a,o)=>{e.fonts.set(o,a.map(i=>{let n=i.match(TT),s,r=IT(i);if(n&&n[1]&&(s=n[1].replace(ET,\"$1\").replace(jT,\"$1\").toLowerCase()),!s){let l=i.match(AT);if(l&&l[1])s=l[1];else{let c=i.match(xT);c&&c[1]&&(s=c[1])}}if(!s&&r){let l=r.match(CT);l&&l[1]&&(s=l[1])}if(t){let l=Array.from(t.values()).find(c=>c.name==r);return{src:i.match(tw)[1],fontUrl:r,format:s,contentType:l&&l.contentType}}else return{src:i.match(tw)[1],fontUrl:r,format:s}}))}),t?(e.medias.forEach(a=>ha(a,t)),e.supports.forEach(a=>ha(a,t)),e.layers.forEach(a=>ha(a,t))):(e.medias.forEach(a=>ha(a)),e.supports.forEach(a=>ha(a)),e.layers.forEach(a=>ha(a)))}function Xt(e,t){if(t.rootDocument&&t.updatedResources[e])return t.updatedResources[e].retrieved=!0,t.updatedResources[e].content}function Ue(e){return!e||e.startsWith($l)?e:e.split(\"#\")[0]}function Kt(e=\"\",t=bT){let a=ao(e);return a?a==t.toLowerCase():!0}function ao(e=\"\"){let t=e.match(/^@charset\\s+\"([^\"]*)\";/i);if(t&&t[1])return t[1].toLowerCase().trim()}function to(e){return it.findAll(e,t=>t.type==\"Url\")}function Pn(e){return it.findAll(e,t=>t.type==\"Atrule\"&&t.name==\"import\")}function Jl(e){return e=e.filter(t=>t.href!=Be.EMPTY_RESOURCE),e.sort((t,a)=>(parseInt(a.sizes,10)||16)-(parseInt(t.sizes,10)||16)),e[0]}function ht(e){return e&&(e.startsWith($l)||e.startsWith(ow))}function Dn(e){return e.replace(/url\\(-sf-url-original\\\\\\(\\\\\"(.*?)\\\\\"\\\\\\)\\\\ /g,\"/* original URL: $1 */url(\")}function Ye(e){return e&&(e.startsWith($l)||e==mT)}function Et(e){return e&&!e.match(gT)}function nt(e){return Et(e)&&(e.match(uT)||e.match(pT)||e.startsWith(ow))&&e.match(wT)}function IT(e){e=e.replace(/url\\(-sf-url-original\\\\\\(\\\\\"(.*?)\\\\\"\\\\\\)\\\\ /g,\"\");let t=e.match(kT)||e.match(vT)||e.match(ST);return t&&t[1]}function _T(e){return LT[e]||e}function iw(e,t,a){return new Promise((o,i)=>{let n=new zT;n.onload=()=>o(n.result),n.onerror=()=>i(new Error(n.error)),n.readAsDataURL(new RT([e],{type:(t||\"\")+(a?\";charset=\"+a:\"\")}))})}var nw=globalThis.JSON,Ql=globalThis.FontFace,rw=globalThis.Set,MT=globalThis.setTimeout,PT=globalThis.clearTimeout,sw=globalThis.Image,DT=\"about:blank\",NT=\"utf-8\",lw=\"data:image/svg+xml\",cw=[\"data:text/\"],OT=/<script/gi,FT=/<noscript/gi,BT=/<canvas/gi,dw=\"--sf-img-\",mw=512*1024,hw=/^url\\([\"']?data:[^,]*,?[\"']?\\)/,uw=\"local(\",pw=5e3,je;function gw(e){je=e;let t=Mn(je,Ke);return class extends t{async processLinkElement(o,i,n,s,r,l){o.tagName.toUpperCase()==\"LINK\"&&o.charset&&(r.charset=o.charset),await this.processStylesheetElement(o,i,n,s,r,l)}async processStylesheetElement(o,i,n,s,r,l){let c;n.set(o,i),r.blockStylesheets||(o.tagName.toUpperCase()==\"LINK\"?c=await this.resolveLinkStylesheetURLs(o.href,s,r,l):(c=pe(o.textContent,{context:\"stylesheet\",parseCustomProperty:!0}),await this.resolveImportURLs(c,s,r,l)&&(c=pe(W(c),{context:\"stylesheet\",parseCustomProperty:!0})))),c&&c.children?(r.compressCSS&&this.removeSingleLineCssComments(c),this.replacePseudoClassDefined(c),i.stylesheet=c):n.delete(o)}replaceStylesheets(o,i,n){o.querySelectorAll(\"style\").forEach(s=>{let r=i.get(s);r?(i.delete(s),s.textContent=this.generateStylesheetContent(r.stylesheet,n),r.mediaText&&(s.media=r.mediaText)):s.remove()}),o.querySelectorAll(\"link[rel*=stylesheet]\").forEach(s=>{let r=i.get(s);if(r){i.delete(s);let l=o.createElement(\"style\");r.mediaText&&(l.media=r.mediaText),l.textContent=this.generateStylesheetContent(r.stylesheet,n),s.parentElement.replaceChild(l,s)}else s.remove()})}async resolveImportURLs(o,i,n,s,r=new rw){let l;this.resolveStylesheetURLs(o,i,s);let c=Pn(o);return await Promise.all(c.map(async d=>{let m=It(d,h=>h.type==\"Url\")||It(d,h=>h.type==\"String\");if(m){let h=Ue(m.value);if(!Ye(h)&&Et(h)){m.value=je.EMPTY_RESOURCE;try{h=je.resolveURL(h,i)}catch{}if(nt(h)&&!r.has(h)){n.inline=!0;let u=await this.getStylesheetContent(h,n);h=u.resourceURL,u.data=Xt(h,n)||u.data,u.data&&u.data.match(/^<!doctype /i)&&(u.data=\"\");let p=It(d,E=>E.type==\"MediaQueryList\");p&&(u.data=this.wrapMediaQuery(u.data,W(p))),u.data=u.data.replace(/:defined/gi,\"*\");let w=pe(u.data,{context:\"stylesheet\",parseCustomProperty:!0}),b=new rw(r);b.add(h),await this.resolveImportURLs(w,h,n,s,b);for(let E of Object.keys(w))d[E]=w[E];l=!0}}}})),l}async resolveLinkStylesheetURLs(o,i,n,s){if(o=Ue(o),o&&o!=i&&o!=DT){let r=await je.getContent(o,{inline:!0,maxResourceSize:n.maxResourceSize,maxResourceSizeEnabled:n.maxResourceSizeEnabled,charset:n.charset,frameId:n.frameId,resourceReferrer:n.resourceReferrer,validateTextContentType:!0,baseURI:i,blockMixedContent:n.blockMixedContent,expectedType:\"stylesheet\",acceptHeaders:n.acceptHeaders,networkTimeout:n.networkTimeout});if(!(Kt(r.data,r.charset)||Kt(r.data,n.charset)))return n=Object.assign({},n,{charset:ao(r.data)}),this.resolveLinkStylesheetURLs(o,i,n,s);o=r.resourceURL,r.data=Xt(r.resourceURL,n)||r.data,r.data&&r.data.match(/^<!doctype /i)&&(r.data=\"\"),r.data=r.data.replace(/:defined/gi,\"*\");let l=pe(r.data,{context:\"stylesheet\",parseCustomProperty:!0});return await this.resolveImportURLs(l,o,n,s)&&(l=pe(W(l),{context:\"stylesheet\",parseCustomProperty:!0})),l}}async processFrame(o,i){let n=\"allow-popups allow-top-navigation allow-top-navigation-by-user-activation\";(i.content.match(FT)||i.content.match(BT)||i.content.match(OT))&&(n+=\" allow-scripts allow-same-origin\"),o.setAttribute(\"sandbox\",n),o.tagName.toUpperCase()==\"OBJECT\"?o.setAttribute(\"data\",\"data:text/html,\"+i.content):o.tagName.toUpperCase()==\"FRAME\"?o.setAttribute(\"src\",\"data:text/html,\"+i.content.replace(/%/g,\"%25\").replace(/#/g,\"%23\")):(o.setAttribute(\"srcdoc\",i.content),o.removeAttribute(\"src\"))}async processFont(o,i,n,s,r,l,c){let{content:d}=await c.addURL(o,{asBinary:!0,expectedType:\"font\",baseURI:s,blockMixedContent:r.blockMixedContent}),m=l.fonts.get(i);m||(m=[],l.fonts.set(i,m)),m.push(o),!ht(o)&&r.saveOriginalURLs?i.value=\"-sf-url-original(\"+nw.stringify(n)+\") \"+d:i.value=d}async processStyle(o,i,n,s){let r=to(o);await Promise.all(r.map(async l=>{let c=l.value;if(i.blockImages)l.value=je.EMPTY_RESOURCE;else{let d=Ue(c);if(!Ye(d)&&nt(d)){let{content:m,indexResource:h,duplicate:u}=await s.addURL(d,{asBinary:!0,expectedType:\"image\",groupDuplicates:i.groupDuplicateImages});if(!c.startsWith(\"#\")){let p=i.maxSizeDuplicateImages||mw;if(u&&i.groupDuplicateImages&&je.getContentSize(m)<p){let w=pe(\"var(\"+dw+h+\")\",{context:\"value\"});for(let b of Object.keys(w.children.head.data))l[b]=w.children.head.data[b];n.cssVariables.set(h,{content:m,url:c})}else!ht(d)&&i.saveOriginalURLs?l.value=\"-sf-url-original(\"+nw.stringify(c)+\") \"+m:l.value=m}}}}))}async processAttribute(o,i,n,s,r,l,c,d,m,h){await Promise.all(Array.from(o).map(async p=>{let w=p.getAttribute(i);if(w!=null){w=Ue(w);let b=p.dataset.singleFileOriginURL;if(s.saveOriginalURLs&&!ht(w)&&p.setAttribute(\"data-sf-original-\"+i,w),delete p.dataset.singleFileOriginURL,!r||!s[\"block\"+r.charAt(0).toUpperCase()+r.substring(1)+\"s\"]){if(!Ye(w)&&(u(p,i,r),Et(w))){try{w=je.resolveURL(w,n)}catch{}if(nt(w)){let E=[\"OBJECT\",\"EMBED\"].includes(p.tagName.toUpperCase())?p.getAttribute(\"type\"):\"\",S=s.groupDuplicateImages&&p.tagName.toUpperCase()==\"IMG\"&&i==\"src\",{content:y,indexResource:g,duplicate:j}=await d.addURL(w,{asBinary:!0,expectedType:r,contentType:E,groupDuplicates:S});if(b&&this.testEmptyResource(y)){try{b=je.resolveURL(b,n)}catch{}try{w=b,y=(await je.getContent(w,{asBinary:!0,inline:!0,expectedType:r,contentType:E,maxResourceSize:s.maxResourceSize,maxResourceSizeEnabled:s.maxResourceSizeEnabled,frameId:s.windowId,resourceReferrer:s.resourceReferrer,acceptHeaders:s.acceptHeaders,networkTimeout:s.networkTimeout})).data}catch{}}if(c&&this.testEmptyResource(y))p.remove();else if(!this.testEmptyResource(y)){let C=cw.filter(z=>y.startsWith(z)).length;if(r==\"image\"){if(C&&sw&&(C=await new Promise(z=>{let f=new sw,k=MT(()=>z(!0),100);f.src=y,f.onload=()=>L(),f.onerror=()=>L(!0);function L(A){PT(k),z(A)}})),!C){let z=y.startsWith(lw),f=s.maxSizeDuplicateImages||mw;if(h&&j&&!z&&je.getContentSize(y)<f)if(this.replaceImageSource(p,dw+g,s)){l.cssVariables.set(g,{content:y,url:b});let k=pe(p.getAttribute(\"style\"),{context:\"declarationList\",parseCustomProperty:!0});m.set(p,k)}else p.setAttribute(i,y);else p.setAttribute(i,y)}}else p.setAttribute(i,y)}}}}else u(p,i,r)}}));function u(p,w,b){b==\"video\"||b==\"audio\"?p.removeAttribute(w):p.setAttribute(w,je.EMPTY_RESOURCE)}}async processImageSrcset(o,i,n,s){let{content:r}=await s.addURL(o,{asBinary:!0,expectedType:\"image\"});return cw.filter(c=>r.startsWith(c)).length?\"\":r+(i.w?\" \"+i.w+\"w\":i.d?\" \"+i.d+\"x\":\"\")}testEmptyResource(o){return o==je.EMPTY_RESOURCE}generateStylesheetContent(o,i){let n=W(o);return i.compressCSS&&(n=je.compressCSS(n)),i.saveOriginalURLs&&(n=Dn(n)),n}replaceImageSource(o,i,n){if(o.getAttribute(je.IMAGE_ATTRIBUTE_NAME)){let r=n.images[Number(o.getAttribute(je.IMAGE_ATTRIBUTE_NAME))];if(r&&r.replaceable){o.setAttribute(\"src\",`${lw},<svg xmlns=\"http://www.w3.org/2000/svg\" width=\"${r.size.pxWidth}\" height=\"${r.size.pxHeight}\"><rect fill-opacity=\"0\"/></svg>`);let l={};return(r.objectFit==\"content\"||r.objectFit==\"cover\")&&r.objectFit&&(l[\"background-size\"]=r.objectFit),r.objectPosition&&(l[\"background-position\"]=r.objectPosition),r.backgroundColor&&(l[\"background-color\"]=r.backgroundColor),this.setBackgroundImage(o,\"var(\"+i+\")\",l),o.removeAttribute(je.IMAGE_ATTRIBUTE_NAME),!0}}}wrapMediaQuery(o,i){return i?\"@media \"+i+\"{ \"+o+\" }\":o}getAdditionalPageData(){return{}}async processScript(o,i,n,s,r){let l=Xt(i,n);l?l=await iw(l,\"text/javascript\",s):l=(await r.addURL(i,{asBinary:!0,inline:!0,charset:s!=NT&&s,maxResourceSize:n.maxResourceSize,maxResourceSizeEnabled:n.maxResourceSizeEnabled,frameId:n.windowId,resourceReferrer:n.resourceReferrer,baseURI:n.baseURI,blockMixedContent:n.blockMixedContent,expectedType:\"script\",acceptHeaders:n.acceptHeaders,networkTimeout:n.networkTimeout})).content,o.setAttribute(\"src\",l)}setMetaCSP(o){o.content=\"default-src 'none'; font-src 'self' data:; img-src 'self' data:; style-src 'unsafe-inline'; media-src 'self' data:; script-src 'unsafe-inline' data:; object-src 'self' data:; frame-src 'self' data:;\"}removeUnusedStylesheets(o){o.querySelectorAll(\"link[rel*=stylesheet][rel*=alternate][title]\").forEach(i=>i.remove())}async processFontFaceRule(o,i,n,s,r){let l=[];for(let d=o.block.children.head;d;d=d.next)d.data.property==\"src\"&&l.push(d);l.pop(),l.forEach(d=>o.block.children.remove(d));let c=o.block.children.filter(d=>d.property==\"src\").tail;if(c){await Promise.all(i.map(async u=>{if(s.has(u.src))u.valid=s.get(u.src);else{if(Ql&&u.fontUrl){let p=new Ql(\"test-font\",u.src);try{let w;await Promise.race([p.load().then(()=>p.loaded).then(()=>{u.valid=!0,globalThis.clearTimeout(w)}),new Promise(b=>w=globalThis.setTimeout(()=>{u.valid=!0,b()},pw))])}catch{let b=Il(c.data,S=>S.type==\"Url\"),E=Array.from(n).find(([S])=>b.includes(S)&&S.value==u.fontUrl);if(E&&E[1].length){let S=E[1][0];if(S){let y=new Ql(\"test-font\",\"url(\"+S+\")\");try{let g;await Promise.race([y.load().then(()=>y.loaded).then(()=>{u.valid=!0,globalThis.clearTimeout(g)}),new Promise(j=>g=globalThis.setTimeout(()=>{u.valid=!0,j()},pw))])}catch{}}}else u.valid=!0}}else u.valid=!0;s.set(u.src,u.valid)}}));let d=(u,p)=>je.findLast(i,w=>!w.src.match(hw)&&w.format==u&&(!p||w.valid)),m=u=>i.filter(p=>p==u||p.src.startsWith(uw));r.fonts.processed+=i.length,r.fonts.discarded+=i.length;let h=d(\"woff2-variations\",!0)||d(\"woff2\",!0)||d(\"woff\",!0);if(h)i=m(h);else{let u=d(\"truetype-variations\",!0)||d(\"truetype\",!0);if(u)i=m(u);else{let p=d(\"opentype\")||d(\"embedded-opentype\");p?i=m(p):i=i.filter(w=>!w.src.match(hw)&&w.valid||w.src.startsWith(uw))}}r.fonts.discarded-=i.length,i.reverse();try{c.data.value=pe(i.map(u=>u.src).join(\",\"),{context:\"value\",parseCustomProperty:!0})}catch{}}}}}var ec=globalThis.JSON,tc=globalThis.FontFace,UT=\"about:blank\",HT=\"utf-8\",ac=/^url\\([\"']?data:[^,]*,?[\"']?\\)/,ww=\"local(\",fw=5e3,Me;function bw(e){Me=e;let t=Mn(Me,Ke);return class extends t{async processLinkElement(o,i,n,s,r,l,c){o.tagName.toUpperCase()==\"LINK\"&&(o.removeAttribute(\"integrity\"),o.charset&&(r.charset=o.charset),i.url=o.href),await this.processStylesheetElement(o,i,n,s,r,l,c)}async processStylesheetElement(o,i,n,s,r,l,c){r.blockStylesheets?o.tagName.toUpperCase()==\"LINK\"?o.href=Me.EMPTY_RESOURCE:o.textContent=\"\":(n.set({element:o},i),o.tagName.toUpperCase()==\"LINK\"?await this.resolveLinkStylesheetURLs(i,o,o.href,s,r,l,c,n):(i.stylesheet=pe(o.textContent,{context:\"stylesheet\",parseCustomProperty:!0}),await this.resolveImportURLs(i,s,r,l,c,n)))}replaceStylesheets(o,i,n,s){let r=Array.from(i).reverse();for(let[l,c]of r)if(l.urlNode){let d=\"stylesheet_\"+s.stylesheets.size+\".css\";!ht(c.url)&&n.saveOriginalURLs?l.urlNode.value=\"-sf-url-original(\"+ec.stringify(c.url)+\") \"+d:l.urlNode.value=d,s.stylesheets.set(s.stylesheets.size,{name:d,stylesheet:c.stylesheet})}else if(l.element.tagName.toUpperCase()==\"LINK\"){let d=l.element,m=\"stylesheet_\"+s.stylesheets.size+\".css\";d.setAttribute(\"href\",m),s.stylesheets.set(s.stylesheets.size,{name:m,stylesheet:c.stylesheet})}else{let d=l.element;d.textContent=this.generateStylesheetContent(c.stylesheet,n)}for(let[,l]of s.stylesheets)l.content=this.generateStylesheetContent(l.stylesheet,n),l.stylesheet=null}async resolveImportURLs(o,i,n,s,r,l){let c=o.stylesheet,d=o.scoped;this.resolveStylesheetURLs(c,i,s);let m=Pn(c);await Promise.all(m.map(async h=>{let u=It(h,p=>p.type==\"Url\")||It(h,p=>p.type==\"String\");if(u){let p=Ue(u.value);if(!Ye(p)&&Et(p)){u.value=Me.EMPTY_RESOURCE;try{p=Me.resolveURL(p,i)}catch{}if(nt(p)){let w=It(h,y=>y.type==\"MediaQueryList\"),b;w&&(b=W(w));let E=Array.from(l).find(([,y])=>y.resourceURL==p),S;if(E)S=E[1].stylesheet,l.set({urlNode:u},{url:p,stylesheet:S,scoped:d});else{let y={scoped:d,mediaText:b},g=await this.getStylesheetContent(p,n);y.url=p=g.resourceURL,g.data=Xt(p,n)||g.data,y.stylesheet=pe(g.data,{context:\"stylesheet\",parseCustomProperty:!0}),S=y.stylesheet,await this.resolveImportURLs(y,p,n,s,r,l),l.set({urlNode:u},y)}u.importedChildren=S.children}}}}))}async resolveLinkStylesheetURLs(o,i,n,s,r,l,c,d){if(n=Ue(n),n&&n!=s&&n!=UT){let m=Array.from(d).find(([,h])=>h.resourceURL==n);if(m)d.set({element:i},{url:n,stylesheet:m[1].stylesheet,mediaText:o.mediaText});else{let h=await Me.getContent(n,{maxResourceSize:r.maxResourceSize,maxResourceSizeEnabled:r.maxResourceSizeEnabled,charset:r.charset,frameId:r.frameId,resourceReferrer:r.resourceReferrer,validateTextContentType:!0,baseURI:s,blockMixedContent:r.blockMixedContent,expectedType:\"stylesheet\",acceptHeaders:r.acceptHeaders,networkTimeout:r.networkTimeout});Kt(h.data,h.charset)||Kt(h.data,r.charset)||(r=Object.assign({},r,{charset:ao(h.data)}),this.resolveLinkStylesheetURLs(o,i,n,s,r,l,c,d)),n=h.resourceURL,h.data=Xt(h.resourceURL,r)||h.data,o.stylesheet=pe(h.data,{context:\"stylesheet\",parseCustomProperty:!0}),await this.resolveImportURLs(o,n,r,l,c,d)}}}async processFrame(o,i,n,s,r){let l=\"frames/\"+n.frames.size+\"/\";o.tagName.toUpperCase()==\"OBJECT\"?o.setAttribute(\"data\",l+\"index.html\"):o.setAttribute(\"src\",l+\"index.html\"),n.frames.set(s,{name:l,content:i.content,resources:i.resources,url:r.url})}async processFont(o,i,n,s,r,l,c){let{content:d,extension:m,indexResource:h,contentType:u}=await c.addURL(o,{asBinary:!0,expectedType:\"font\",baseURI:s,blockMixedContent:r.blockMixedContent}),p=\"fonts/\"+h+m;!ht(o)&&r.saveOriginalURLs?i.value=\"-sf-url-original(\"+ec.stringify(n)+\") \"+p:i.value=p,l.fonts.set(h,{name:p,content:d,extension:m,contentType:u,url:o})}async processStyle(o,i,n,s){let r=to(o);await Promise.all(r.map(async l=>{let c=l.value;if(i.blockImages)l.value=Me.EMPTY_RESOURCE;else{let d=Ue(c);if(!Ye(d)&&nt(d)){let{content:m,indexResource:h,contentType:u,extension:p}=await s.addURL(d,{asBinary:!0,expectedType:\"image\"}),w=\"images/\"+h+p;!ht(d)&&i.saveOriginalURLs?l.value=\"-sf-url-original(\"+ec.stringify(c)+\") \"+w:l.value=w,n.images.set(h,{name:w,content:m,extension:p,contentType:u,url:d})}}}))}async processAttribute(o,i,n,s,r,l,c,d){await Promise.all(Array.from(o).map(async h=>{let u=h.getAttribute(i);if(u!=null){u=Ue(u);let p=h.dataset.singleFileOriginURL;if(s.saveOriginalURLs&&!ht(u)&&h.setAttribute(\"data-sf-original-\"+i,u),delete h.dataset.singleFileOriginURL,!r||!s[\"block\"+r.charAt(0).toUpperCase()+r.substring(1)+\"s\"]){if(!Ye(u)&&(m(h,i,r),Et(u))){try{u=Me.resolveURL(u,n)}catch{}if(nt(u)){let w=[\"OBJECT\",\"EMBED\"].includes(h.tagName.toUpperCase())?h.getAttribute(\"type\"):\"\",{content:b,indexResource:E,extension:S,contentType:y}=await d.addURL(u,{asBinary:!0,expectedType:r,contentType:w});if(p&&this.testEmptyResource(b)){try{p=Me.resolveURL(p,n)}catch{}try{u=p,b=(await Me.getContent(u,{asBinary:!0,expectedType:r,contentType:w,maxResourceSize:s.maxResourceSize,maxResourceSizeEnabled:s.maxResourceSizeEnabled,frameId:s.windowId,resourceReferrer:s.resourceReferrer,acceptHeaders:s.acceptHeaders,networkTimeout:s.networkTimeout})).data}catch{}}if(c&&this.testEmptyResource(b))h.remove();else if(!this.testEmptyResource(b)){let g=\"images/\"+E+S;h.setAttribute(i,g),l.images.set(E,{name:g,content:b,extension:S,contentType:y,url:u})}}}}else m(h,i,r)}}));function m(h,u,p){p==\"video\"||p==\"audio\"?h.removeAttribute(u):h.setAttribute(u,Me.EMPTY_RESOURCE)}}async processImageSrcset(o,i,n,s){let{content:r,indexResource:l,extension:c,contentType:d}=await s.addURL(o,{asBinary:!0,expectedType:\"image\"}),m=\"images/\"+l+c;return n.images.set(l,{name:m,content:r,extension:c,contentType:d,url:o}),m+(i.w?\" \"+i.w+\"w\":i.d?\" \"+i.d+\"x\":\"\")}testEmptyResource(o){return!o}generateStylesheetContent(o,i){i.compressCSS&&this.removeSingleLineCssComments(o),this.replacePseudoClassDefined(o);let n=W(o);return i.compressCSS&&(n=Me.compressCSS(n)),i.saveOriginalURLs&&(n=Dn(n)),n}getAdditionalPageData(o,i,n){let s={},r=i;n.stylesheets.forEach(m=>r+=m.content),Object.keys(n).forEach(m=>{Array.from(n[m]).filter(([,u])=>!r.includes(u.name)).forEach(([u])=>n[m].delete(u)),s[m]=Array.from(n[m].values())});let l=o.head.querySelector(\"meta[name=viewport]\"),c=l?l.content:null;return{doctype:Me.getDoctypeString(o),resources:s,viewport:c}}async processScript(o,i,n,s,r,l){let{content:c,indexResource:d,extension:m,contentType:h}=await r.addURL(i,{asBinary:!0,charset:s!=HT&&s,maxResourceSize:n.maxResourceSize,maxResourceSizeEnabled:n.maxResourceSizeEnabled,frameId:n.windowId,resourceReferrer:n.resourceReferrer,baseURI:n.baseURI,blockMixedContent:n.blockMixedContent,expectedType:\"script\",acceptHeaders:n.acceptHeaders,networkTimeout:n.networkTimeout});c=Xt(i,n)||c;let u=\"scripts/\"+d+m;o.setAttribute(\"src\",u),l.scripts.set(d,{name:u,content:c,extension:m,contentType:h,url:i})}setMetaCSP(o){o.content=\"default-src 'none'; connect-src 'self' data: blob:; font-src 'self' data: blob:; img-src 'self' data: blob:; style-src 'self' 'unsafe-inline' data: blob:; frame-src 'self' data: blob:; media-src 'self' data: blob:; script-src 'self' 'unsafe-inline' data: blob:; object-src 'self' data: blob:;\"}removeUnusedStylesheets(){}async processFontFaceRule(o,i,n,s,r){await Promise.all(i.map(async p=>{if(s.has(p.src))p.valid=s.get(p.src);else{if(tc&&p.fontUrl){let w=[...n].find(([,b])=>p.fontUrl&&b.name==p.fontUrl);if(w){let b=w[1],E=new tc(\"test-font\",new Uint8Array(b.content).buffer);try{let S;await Promise.race([E.load().then(()=>E.loaded).then(()=>{p.valid=!0,globalThis.clearTimeout(S)}),new Promise(y=>S=globalThis.setTimeout(()=>{p.valid=!0,y()},fw))])}catch{let y=new tc(\"test-font\",\"url(\"+b.url+\")\");try{let g;await Promise.race([y.load().then(()=>y.loaded).then(()=>{p.valid=!0,globalThis.clearTimeout(g)}),new Promise(j=>g=globalThis.setTimeout(()=>{p.valid=!0,j()},fw))])}catch{}}}else p.valid=!0}else p.valid=!0;s.set(p.src,p.valid)}}));let l=(p,w)=>Me.findLast(i,b=>!b.src.match(ac)&&b.format==p&&(!w||b.valid)),c=(p,w)=>Me.findLast(i,b=>!b.src.match(ac)&&b.contentType==p&&(!w||b.valid)),d=p=>i.filter(w=>w==p||w.src.startsWith(ww));r.fonts.processed+=i.length,r.fonts.discarded+=i.length;let m=l(\"woff2-variations\",!0)||l(\"woff2\",!0)||l(\"woff\",!0)||c(\"font/woff2\",!0)||c(\"font/woff\",!0)||c(\"application/font-woff\",!0)||c(\"application/x-font-woff\",!0);if(m)i=d(m);else{let p=l(\"truetype-variations\",!0)||l(\"truetype\",!0)||c(\"font/ttf\",!0)||c(\"application/x-font-ttf\",!0)||c(\"application/x-font-ttf\",!0)||c(\"application/x-font-truetype\",!0);if(p)i=d(p);else{let w=l(\"opentype\")||l(\"embedded-opentype\")||c(\"font/otf\")||c(\"application/x-font-opentype\")||c(\"application/font-sfnt\");w?i=d(w):i=i.filter(b=>!b.src.match(ac)&&b.valid||b.src.startsWith(ww))}}r.fonts.discarded-=i.length;let h=[];for(let p=o.block.children.head;p;p=p.next)p.data.property==\"src\"&&h.push(p);h.pop(),h.forEach(p=>o.block.children.remove(p));let u=o.block.children.filter(p=>p.property==\"src\").tail;if(u){i.reverse();try{u.data.value=pe(i.map(p=>p.src).join(\",\"),{context:\"value\",parseCustomProperty:!0})}catch{}}}}}function yw(e,t){return e.compressContent?bw(t):gw(t)}var oo=!1,GT=globalThis.Set,rt=globalThis.Map,no=globalThis.JSON,_;function vw(...e){return[_]=e,rc}var rc=class{constructor(t){this.options=t;let a=yw(t,_);this.processorHelper=new a}async run(){let t=globalThis[_.WAIT_FOR_USERSCRIPT_PROPERTY_NAME];this.options.userScriptEnabled&&t&&await t(_.ON_BEFORE_CAPTURE_EVENT_NAME),this.runner=new On(this.options,this.processorHelper,!0),await this.runner.loadPage(),await this.runner.initialize(),this.options.userScriptEnabled&&t&&await t(_.ON_AFTER_CAPTURE_EVENT_NAME),await this.runner.run()}cancel(){this.cancelled=!0,this.runner&&this.runner.cancel()}getPageData(){return this.runner.getPageData()}},Sw=\"page-loading\",Ew=\"page-loaded\",jw=\"resource-initializing\",Aw=\"resources-initialized\",xw=\"resource-loaded\",Cw=\"page-ended\",Tw=\"stage-started\",Lw=\"stage-ended\",sc=\"stage-task-started\",lc=\"stage-task-ended\",He=class{constructor(t,a){return{type:t,detail:a,PAGE_LOADING:Sw,PAGE_LOADED:Ew,RESOURCES_INITIALIZING:jw,RESOURCES_INITIALIZED:Aw,RESOURCE_LOADED:xw,PAGE_ENDED:Cw,STAGE_STARTED:Tw,STAGE_ENDED:Lw,STAGE_TASK_STARTED:sc,STAGE_TASK_ENDED:lc}}},qT=0,VT=1,WT=2,KT=3,XT=4,oc=[{sequential:[{action:\"preProcessPage\"},{option:\"loadDeferredImagesKeepZoomLevel\",action:\"resetZoomLevel\"},{action:\"replaceStyleContents\"},{action:\"replaceInvalidElements\"},{action:\"resetCharsetMeta\"},{action:\"resetReferrerMeta\"},{option:\"saveFavicon\",action:\"saveFavicon\"},{action:\"insertFonts\"},{action:\"insertShadowRootContents\"},{action:\"replaceCanvasElements\"},{action:\"setInputValues\"},{option:\"moveStylesInHead\",action:\"moveStylesInHead\"},{option:\"blockScripts\",action:\"removeEmbedScripts\"},{option:\"selected\",action:\"removeUnselectedElements\"},{option:\"blockVideos\",action:\"insertVideoPosters\"},{option:\"blockVideos\",action:\"insertVideoLinks\"},{option:\"removeFrames\",action:\"removeFrames\"},{action:\"removeDiscardedResources\"},{option:\"removeHiddenElements\",action:\"removeHiddenElements\"},{action:\"saveScrollPosition\"},{action:\"resolveHrefs\"},{action:\"resolveStyleAttributeURLs\"}],parallel:[{option:\"blockVideos\",action:\"insertMissingVideoPosters\"},{action:\"resolveStylesheetsURLs\"},{option:\"!removeFrames\",action:\"resolveFrameURLs\"}]},{sequential:[{option:\"removeUnusedStyles\",action:\"removeUnusedStyles\"},{option:\"removeAlternativeMedias\",action:\"removeAlternativeMedias\"},{option:\"removeUnusedFonts\",action:\"removeUnusedFonts\"}],parallel:[{action:\"processStylesheets\"},{action:\"processStyleAttributes\"},{action:\"processPageResources\"},{action:\"processScripts\"}]},{sequential:[{option:\"removeAlternativeImages\",action:\"removeAlternativeImages\"}],parallel:[{option:\"removeAlternativeFonts\",action:\"removeAlternativeFonts\"},{option:\"!removeFrames\",action:\"processFrames\"}]},{sequential:[{action:\"replaceStylesheets\"},{action:\"replaceStyleAttributes\"},{action:\"insertVariables\"},{option:\"compressHTML\",action:\"compressHTML\"},{action:\"cleanupPage\"}],parallel:[{option:\"enableMaff\",action:\"insertMAFFMetaData\"},{action:\"setDocInfo\"}]},{sequential:[{action:\"loadOptionsFromPage\"},{option:\"saveFilenameTemplateData\",action:\"saveFilenameTemplateData\"}]}],On=class{constructor(t,a,o){let i=o&&t.doc;this.root=o,this.options=t,this.options.url=this.options.url||i&&this.options.doc.location.href;let n=this.options.url.match(/^.*\\//);if(this.options.resourceReferrer=this.options.passReferrerOnError&&n&&n[0],this.options.baseURI=i&&this.options.doc.baseURI,this.options.rootDocument=o,this.options.updatedResources=this.options.updatedResources||{},this.options.fontTests=new rt,this.batchRequest=new cc,this.processor=new dc(t,a,this.batchRequest),i){let s=_.preProcessDoc(this.options.doc,this.options.win,this.options);this.options.canvases=s.canvases,this.options.fonts=s.fonts,this.options.stylesheets=s.stylesheets,this.options.images=s.images,this.options.posters=s.posters,this.options.videos=s.videos,this.options.usedFonts=s.usedFonts,this.options.shadowRoots=s.shadowRoots,this.options.referrer=s.referrer,this.options.adoptedStyleSheets=s.adoptedStyleSheets,this.markedElements=s.markedElements,this.invalidElements=s.invalidElements}this.options.saveRawPage&&(this.options.removeFrames=!0),this.options.content=this.options.content||(i?_.serialize(this.options.doc):null),this.onprogress=t.onprogress||(()=>{})}async loadPage(){this.onprogress(new He(Sw,{pageURL:this.options.url,frame:!this.root})),await this.processor.loadPage(this.options.content),this.onprogress(new He(Ew,{pageURL:this.options.url,frame:!this.root}))}async initialize(){this.onprogress(new He(jw,{pageURL:this.options.url})),await this.executeStage(qT),this.pendingPromises=this.executeStage(VT),this.root&&this.options.doc&&_.postProcessDoc(this.options.doc,this.markedElements,this.invalidElements)}cancel(){this.cancelled=!0,this.batchRequest.cancel(),this.root&&this.options.frames&&this.options.frames.forEach(t);function t(a){a.runner&&a.runner.cancel()}}async run(){this.root&&(this.processor.initialize(this.batchRequest),this.onprogress(new He(Aw,{pageURL:this.options.url,max:this.processor.maxResources}))),await this.batchRequest.run(t=>{t.pageURL=this.options.url,this.onprogress(new He(xw,t))},this.options),await this.pendingPromises,this.options.doc=null,this.options.win=null,await this.executeStage(WT),await this.executeStage(KT),await this.executeStage(XT),this.processor.finalize()}getDocument(){return this.processor.doc}getStyleSheets(){return this.processor.stylesheets}getPageData(){return this.root&&this.onprogress(new He(Cw,{pageURL:this.options.url})),this.processor.getPageData()}async executeStage(t){oo&&io(\"**** STARTED STAGE\",t,\"****\");let a=!this.root;this.onprogress(new He(Tw,{pageURL:this.options.url,step:t,frame:a})),oc[t].sequential.forEach(i=>{let n;oo&&(n=Date.now(),io(\" -- STARTED task =\",i.action)),this.onprogress(new He(sc,{pageURL:this.options.url,step:t,task:i.action,frame:a})),this.cancelled||this.executeTask(i),this.onprogress(new He(lc,{pageURL:this.options.url,step:t,task:i.action,frame:a})),oo&&io(\" -- ENDED task =\",i.action,\"delay =\",Date.now()-n)});let o;return oc[t].parallel?o=await Promise.all(oc[t].parallel.map(async i=>{let n;oo&&(n=Date.now(),io(\" // STARTED task =\",i.action)),this.onprogress(new He(sc,{pageURL:this.options.url,step:t,task:i.action,frame:a})),this.cancelled||await this.executeTask(i),this.onprogress(new He(lc,{pageURL:this.options.url,step:t,task:i.action,frame:a})),oo&&io(\" // ENDED task =\",i.action,\"delay =\",Date.now()-n)})):o=Promise.resolve(),this.onprogress(new He(Lw,{pageURL:this.options.url,step:t,frame:a})),oo&&io(\"**** ENDED STAGE\",t,\"****\"),o}executeTask(t){if(!t.option||t.option.startsWith(\"!\")&&!this.options[t.option]||this.options[t.option])return this.processor[t.action]()}},cc=class{constructor(){this.requests=new rt,this.duplicates=new rt}addURL(t,{asBinary:a,expectedType:o,groupDuplicates:i,baseURI:n,blockMixedContent:s,contentType:r}={}){return new Promise((l,c)=>{let d=no.stringify([t,a,o,n,s,r]),m=this.requests.get(d);m||(m=[],this.requests.set(d,m));let h={resolve:l,reject:c};if(m.push(h),i){let u=this.duplicates.get(d);u||(u=[],this.duplicates.set(d,u)),u.push(h)}})}getMaxResources(){return this.requests.size}run(t,a){let o=[...this.requests.keys()],i=0;return Promise.all(o.map(async n=>{let[s,r,l,c,d,m]=no.parse(n),h=this.requests.get(n);try{let u=i;i=i+1;let p=await _.getContent(s,{asBinary:r,inline:!a.compressContent,expectedType:l,contentType:m,maxResourceSize:a.maxResourceSize,maxResourceSizeEnabled:a.maxResourceSizeEnabled,frameId:a.windowId,resourceReferrer:a.resourceReferrer,baseURI:c,blockMixedContent:d,acceptHeaders:a.acceptHeaders,networkTimeout:a.networkTimeout});if(t({url:s}),!this.cancelled){let w=_.getContentTypeExtension(p.contentType)||_.getFilenameExtension(s,a.filenameReplacedCharacters,a.filenameReplacementCharacter);h.forEach(b=>{let E=this.duplicates.get(n),S=E&&E.length>1&&E.includes(b);b.resolve({content:p.data,indexResource:u,duplicate:S,contentType:p.contentType,extension:w})})}}catch(u){i=i+1,t({url:s}),h.forEach(p=>p.reject(u))}this.requests.delete(n)}))}cancel(){this.cancelled=!0,[...this.requests.keys()].forEach(a=>{this.requests.get(a).forEach(i=>i.reject()),this.requests.delete(a)})}},hi=\"shadowrootmode\",ic=\"data-template-shadow-root\",Nn=\"data-single-file-options\",YT=\"utf-8\",dc=class{constructor(t,a,o){this.options=t,this.processorHelper=a,this.stats=new mc(t),this.baseURI=kw(t.baseURI||t.url),this.batchRequest=o,this.stylesheets=new rt,this.styles=new rt,this.resources={cssVariables:new rt,fonts:new rt,stylesheets:new rt,scripts:new rt,images:new rt,frames:new rt},this.fontTests=t.fontTests}initialize(){this.options.saveDate=new Date,this.options.saveUrl=this.options.url,this.options.enableMaff&&(this.maffMetaDataPromise=this.batchRequest.addURL(_.resolveURL(\"index.rdf\",this.options.baseURI||this.options.url),{expectedType:\"document\"})),this.maxResources=this.batchRequest.getMaxResources(),!this.options.saveRawPage&&!this.options.removeFrames&&this.options.frames&&this.options.frames.forEach(t=>this.maxResources+=t.maxResources||0),this.stats.set(\"processed\",\"resources\",this.maxResources)}async loadPage(t,a){let o;if((!t||this.options.saveRawPage)&&(o=await _.getContent(this.baseURI,{inline:!this.options.compressContent,maxResourceSize:this.options.maxResourceSize,maxResourceSizeEnabled:this.options.maxResourceSizeEnabled,charset:a,frameId:this.options.windowId,resourceReferrer:this.options.resourceReferrer,expectedType:\"document\",acceptHeaders:this.options.acceptHeaders,networkTimeout:this.options.networkTimeout}),t=o.data||\"\"),this.doc=_.parseDocContent(t,this.baseURI),this.options.saveRawPage){let i;if(this.doc.querySelectorAll(\"meta[charset]\").forEach(n=>{i||(i=n.getAttribute(\"charset\").trim().toLowerCase())}),i||this.doc.querySelectorAll('meta[http-equiv=\"content-type\"]').forEach(n=>{let s=n.content.split(\";\")[1];s&&!i&&(i=s.split(\"=\")[1].trim().toLowerCase())}),i&&o.charset&&i!=o.charset.toLowerCase())return this.loadPage(t,i)}this.workStyleElement=this.doc.createElement(\"style\"),this.doc.body.appendChild(this.workStyleElement),this.onEventAttributeNames=t1(this.doc)}finalize(){this.workStyleElement.parentNode&&this.workStyleElement.remove()}async getPageData(){_.postProcessDoc(this.doc);let t=_.parseURL(this.baseURI);if(this.options.insertSingleFileComment){let h=this.doc.documentElement.firstChild,u=this.options.saveUrl,p=this.options.saveDate;if(h.nodeType==8&&(h.textContent.includes(_.COMMENT_HEADER_LEGACY)||h.textContent.includes(_.COMMENT_HEADER))){let E=this.doc.documentElement.firstChild.textContent.split(`\n`);try{let[,,S,y]=E;u=S.split(\"url: \")[1].trim(),p=y.split(\"saved date: \")[1],h.remove()}catch{}}let w=(this.options.infobarContent||\"\").replace(/\\\\n/g,`\n`).replace(/\\\\t/g,\"\t\"),b=this.doc.createComment(`\n `+(this.options.useLegacyCommentHeader?_.COMMENT_HEADER_LEGACY:_.COMMENT_HEADER)+` \n url: `+u+(this.options.removeSavedDate?\" \":` \n saved date: `+p)+(w?` \n info: `+w:\"\")+`\n`);this.doc.documentElement.insertBefore(b,this.doc.documentElement.firstChild)}let a=this.doc.querySelector(\"singlefile-infobar\");a&&a.remove();let o=this.doc.querySelector(_.INFOBAR_TAGNAME);if(o&&o.remove(),this.options.includeInfobar&&_.appendInfobar(this.doc,this.options),this.doc.querySelector(\"template[\"+hi+\"]\")||this.options.shadowRoots&&this.options.shadowRoots.length){this.options.blockScripts&&this.doc.querySelectorAll(\"script[\"+ic+\"]\").forEach(u=>u.remove());let h=this.doc.createElement(\"script\");h.setAttribute(ic,\"\"),h.textContent=`(()=>{document.currentScript.remove();processNode(document);function processNode(node){node.querySelectorAll(\"template[${hi}]\").forEach(element=>{let shadowRoot = element.parentElement.shadowRoot;if (!shadowRoot) {try {shadowRoot=element.parentElement.attachShadow({mode:element.getAttribute(\"${hi}\")});shadowRoot.innerHTML=element.innerHTML;element.remove()} catch (error) {} if (shadowRoot) {processNode(shadowRoot)}}})}})()`,this.doc.body.appendChild(h)}if(this.options.insertCanonicalLink&&this.options.saveUrl.match(zw)){let h=this.doc.querySelector(\"link[rel=canonical]\");h||(h=this.doc.createElement(\"link\"),h.setAttribute(\"rel\",\"canonical\"),this.doc.head.appendChild(h)),h&&!h.href&&(h.href=this.options.saveUrl)}if(this.options.insertMetaCSP){let h=this.doc.createElement(\"meta\");h.httpEquiv=\"content-security-policy\",this.processorHelper.setMetaCSP(h),this.doc.head.appendChild(h)}if(this.options.insertMetaNoIndex){let h=this.doc.querySelector(\"meta[name=robots][content*=noindex]\");h||(h=this.doc.createElement(\"meta\"),h.setAttribute(\"name\",\"robots\"),h.setAttribute(\"content\",\"noindex\"),this.doc.head.appendChild(h))}let i=this.doc.createElement(\"style\");i.textContent='img[src=\"data:,\"],source[src=\"data:,\"]{display:none!important}',this.doc.head.appendChild(i),this.doc.head.querySelectorAll(\"noscript\").forEach(h=>h.parentElement.appendChild(h));let n;this.options.displayStats&&(n=_.getContentSize(this.doc.documentElement.outerHTML));let s=_.serialize(this.doc,this.options.compressHTML);if(this.options.displayStats){let h=_.getContentSize(s);this.stats.set(\"processed\",\"HTML bytes\",h),this.stats.add(\"discarded\",\"HTML bytes\",n-h)}let r=await _.formatFilename(s,this.doc,this.options),l=_.getMimeType(this.options),c=this.baseURI.match(/([^/]*)\\/?(\\.html?.*)$/)||this.baseURI.match(/\\/\\/([^/]*)\\/?$/),d=this.processorHelper.getAdditionalPageData(this.doc,s,this.resources),m=Object.assign({stats:this.stats.data,title:this.options.title||(this.baseURI&&c?c[1]:t.hostname?t.hostname:\"\"),filename:r,mimeType:l,content:s},d);return this.options.addProof&&(m.hash=await _.digest(\"SHA-256\",s)),this.options.retrieveLinks&&(m.links=Array.from(new GT(Array.from(this.doc.links).map(h=>h.href)))),m}preProcessPage(){this.doc.body.querySelectorAll(':not(svg) title, meta, link[href][rel*=\"icon\"]').forEach(t=>{(this.options.win&&t instanceof this.options.win.HTMLElement||t instanceof globalThis.HTMLElement)&&this.doc.head.appendChild(t)}),this.options.images&&!this.options.saveRawPage&&(this.doc.querySelectorAll(\"img[\"+_.IMAGE_ATTRIBUTE_NAME+\"]\").forEach(t=>{let a=t.getAttribute(_.IMAGE_ATTRIBUTE_NAME);if(a){let o=this.options.images[Number(a)];o&&(this.options.removeHiddenElements&&(o.size&&!o.size.pxWidth&&!o.size.pxHeight||t.getAttribute(_.HIDDEN_CONTENT_ATTRIBUTE_NAME)==\"\")?t.setAttribute(\"src\",_.EMPTY_RESOURCE):(o.currentSrc&&(t.dataset.singleFileOriginURL=t.getAttribute(\"src\"),t.setAttribute(\"src\",o.currentSrc)),this.options.loadDeferredImages&&(!t.getAttribute(\"src\")||t.getAttribute(\"src\")==_.EMPTY_RESOURCE)&&t.getAttribute(\"data-src\")&&(o.src=t.dataset.src,t.setAttribute(\"src\",t.dataset.src),t.removeAttribute(\"data-src\"))))}}),this.options.loadDeferredImages&&this.doc.querySelectorAll(\"img[data-srcset]\").forEach(t=>{!t.getAttribute(\"srcset\")&&t.getAttribute(\"data-srcset\")&&(t.setAttribute(\"srcset\",t.dataset.srcset),t.removeAttribute(\"data-srcset\"))}))}loadOptionsFromPage(){let t=this.doc.body.querySelector('script[type=\"application/json\"]['+Nn+\"]\");if(t){let a=no.parse(t.textContent);Object.keys(a).forEach(o=>this.options[o]=a[o]),this.options.saveDate=new Date(this.options.saveDate),this.options.visitDate=new Date(this.options.visitDate)}}saveFilenameTemplateData(){if(!this.doc.querySelector(\"script[\"+Nn+'][type=\"application/json\"]')){let a=this.doc.createElement(\"script\");a.type=\"application/json\",a.setAttribute(Nn,\"\"),a.textContent=no.stringify({saveUrl:this.options.url,saveDate:this.options.saveDate.getTime(),visitDate:this.options.visitDate.getTime(),filenameTemplate:this.options.filenameTemplate,filenameReplacedCharacters:this.options.filenameReplacedCharacters,filenameReplacementCharacter:this.options.filenameReplacementCharacter,filenameMaxLengthUnit:this.options.filenameMaxLengthUnit,filenameMaxLength:this.options.filenameMaxLength,replaceEmojisInFilename:this.options.replaceEmojisInFilename,compressContent:this.options.compressContent,selfExtractingArchive:this.options.selfExtractingArchive,extractDataFromPage:this.options.extractDataFromPage,referrer:this.options.referrer,title:this.options.title,info:this.options.info}),this.doc.body.firstChild?this.doc.body.insertBefore(a,this.doc.body.firstChild):this.doc.body.appendChild(a)}}replaceStyleContents(){if(this.options.stylesheets&&this.doc.querySelectorAll(\"style\").forEach((t,a)=>{if(t.getAttribute(_.STYLESHEET_ATTRIBUTE_NAME)){let i=this.options.stylesheets[Number(a)];i&&(t.textContent=i)}}),this.options.adoptedStyleSheets&&this.options.adoptedStyleSheets.length){let t=this.doc.createElement(\"style\");t.textContent=this.options.adoptedStyleSheets.join(`\n`),this.doc.body.appendChild(t)}}removeUnselectedElements(){t(this.doc.body),this.doc.body.removeAttribute(_.SELECTED_CONTENT_ATTRIBUTE_NAME);function t(n){let s=!1;Array.from(n.childNodes).forEach(r=>{if(r.nodeType==1){let l=r.getAttribute(_.SELECTED_CONTENT_ATTRIBUTE_NAME)==\"\";s=s||l,l?(r.removeAttribute(_.SELECTED_CONTENT_ATTRIBUTE_NAME),t(r)):s?a(r):o(r)}})}function a(n){(n.nodeType!=1||!n.querySelector(\"svg,style,link\"))&&i(n)?n.remove():o(n)}function o(n){i(n)&&(n.style.setProperty(\"display\",\"none\",\"important\"),n.removeAttribute(\"src\"),n.removeAttribute(\"srcset\"),n.removeAttribute(\"srcdoc\"),Array.from(n.childNodes).forEach(a))}function i(n){if(n.nodeType==1){let s=n.tagName&&n.tagName.toUpperCase();return s!=\"SVG\"&&s!=\"STYLE\"&&s!=\"LINK\"}}}insertVideoPosters(){this.options.posters&&this.doc.querySelectorAll(\"video, video > source\").forEach(t=>{let a;t.tagName.toUpperCase()==\"VIDEO\"?a=t:a=t.parentElement;let o=t.getAttribute(_.POSTER_ATTRIBUTE_NAME);if(o){let i=this.options.posters[Number(o)];!a.getAttribute(\"poster\")&&i&&a.setAttribute(\"poster\",i)}})}insertVideoLinks(){let t=\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABAAgMAAADXB5lNAAABhmlDQ1BJQ0MgcHJvZmlsZQAAKJF9kj1Iw0AYht+mSkUrDnYQcchQnSyIijqWKhbBQmkrtOpgcukfNGlIUlwcBdeCgz+LVQcXZ10dXAVB8AfEydFJ0UVK/C4ptIjx4LiH9+59+e67A4RGhalm1wSgapaRisfEbG5VDLyiDwEAvZiVmKkn0osZeI6ve/j4ehfhWd7n/hz9St5kgE8kjjLdsIg3iGc2LZ3zPnGIlSSF+Jx43KACiR+5Lrv8xrnosMAzQ0YmNU8cIhaLHSx3MCsZKvE0cVhRNcoXsi4rnLc4q5Uaa9XJbxjMaytprtMcQRxLSCAJETJqKKMCCxFaNVJMpGg/5uEfdvxJcsnkKoORYwFVqJAcP/gb/O6tWZiadJOCMaD7xbY/RoHALtCs2/b3sW03TwD/M3Cltf3VBjD3SXq9rYWPgIFt4OK6rcl7wOUOMPSkS4bkSH6aQqEAvJ/RM+WAwVv6EGtu31r7OH0AMtSr5Rvg4BAYK1L2use9ezr79u+ZVv9+AFlNcp0UUpiqAAAACXBIWXMAAC4jAAAuIwF4pT92AAAAB3RJTUUH5AsHAB8H+DhhoQAAABl0RVh0Q29tbWVudABDcmVhdGVkIHdpdGggR0lNUFeBDhcAAAAJUExURQAAAICHi4qKioTuJAkAAAABdFJOUwBA5thmAAAAAWJLR0QCZgt8ZAAAAJJJREFUOI3t070NRCEMA2CnYAOyDyPwpHj/Va7hJ3FzV7zy3ET5JIwoAF6Jk4wzAJAkzxAYG9YRTgB+24wBgKmfrGAKTcEfAY4KRlRoIeBTgKOCERVaCPgU4Khge2GqKOBTgKOCERVaAEC/4PNcnyoSWHpjqkhwKxbcig0Q6AorXYF/+A6eIYD1lVbwG/jdA6/kA2THRAURVubcAAAAAElFTkSuQmCC\",a=\"16px\";this.doc.querySelectorAll(\"video\").forEach(o=>{let i=o.getAttribute(_.VIDEO_ATTRIBUTE_NAME);if(i){let n=this.options.videos[Number(i)],s=n.src||o.src;if(o&&s){let r=this.doc.createElement(\"a\"),l=this.doc.createElement(\"img\");r.href=s,r.target=\"_blank\",r.style.setProperty(\"z-index\",2147483647,\"important\"),r.style.setProperty(\"position\",\"absolute\",\"important\"),r.style.setProperty(\"top\",\"8px\",\"important\"),r.style.setProperty(\"left\",\"8px\",\"important\"),r.style.setProperty(\"width\",a,\"important\"),r.style.setProperty(\"height\",a,\"important\"),r.style.setProperty(\"min-width\",a,\"important\"),r.style.setProperty(\"min-height\",a,\"important\"),r.style.setProperty(\"max-width\",a,\"important\"),r.style.setProperty(\"max-height\",a,\"important\"),l.src=t,l.style.setProperty(\"width\",a,\"important\"),l.style.setProperty(\"height\",a,\"important\"),l.style.setProperty(\"min-width\",a,\"important\"),l.style.setProperty(\"min-height\",a,\"important\"),l.style.setProperty(\"max-width\",a,\"important\"),l.style.setProperty(\"max-height\",a,\"important\"),r.appendChild(l),o.insertAdjacentElement(\"afterend\",r);let c=o.parentNode.style.getPropertyValue(\"position\");(!n.positionParent&&(!c||c!=\"static\")||n.positionParent==\"static\")&&o.parentNode.style.setProperty(\"position\",\"relative\",\"important\")}}})}removeFrames(){let t=this.doc.querySelectorAll('iframe, frame, object[type=\"text/html\"][data]');this.stats.set(\"discarded\",\"frames\",t.length),this.stats.set(\"processed\",\"frames\",t.length),this.doc.querySelectorAll('iframe, frame, object[type=\"text/html\"][data]').forEach(a=>a.remove())}removeEmbedScripts(){let t=\"javascript:\",a=\"javascript:void(0)\";this.onEventAttributeNames.forEach(i=>this.doc.querySelectorAll(\"[\"+i+\"]\").forEach(n=>n.removeAttribute(i))),this.doc.querySelectorAll(\"[href]\").forEach(i=>{i.href&&i.href.match&&i.href.trim().startsWith(t)&&i.setAttribute(\"href\",a)}),this.doc.querySelectorAll(\"[src]\").forEach(i=>{i.src&&i.src.trim().startsWith(t)&&i.setAttribute(\"src\",a)});let o=this.doc.querySelectorAll('script:not([type=\"application/ld+json\"]):not(['+ic+\"]):not([\"+Nn+\"])\");this.stats.set(\"discarded\",\"scripts\",o.length),this.stats.set(\"processed\",\"scripts\",o.length),o.forEach(i=>i.remove())}removeDiscardedResources(){this.doc.querySelectorAll(\".\"+_.SINGLE_FILE_UI_ELEMENT_CLASS).forEach(i=>i.remove());let t=new rt;this.doc.querySelectorAll(\"noscript\").forEach(i=>{let n=this.doc.createElement(\"div\");n.innerHTML=i.dataset[_.NO_SCRIPT_PROPERTY_NAME],i.replaceWith(n),t.set(n,i)}),this.doc.querySelectorAll(\"meta[http-equiv=refresh], meta[disabled-http-equiv]\").forEach(i=>i.remove()),t.forEach((i,n)=>{i.dataset[_.NO_SCRIPT_PROPERTY_NAME]=n.innerHTML,n.replaceWith(i)}),this.doc.querySelectorAll('meta[http-equiv=\"content-security-policy\"]').forEach(i=>i.remove());let a=this.doc.querySelectorAll('applet, object[data]:not([type=\"image/svg+xml\"]):not([type=\"image/svg-xml\"]):not([type=\"text/html\"]):not([data*=\".svg\"]):not([data*=\".pdf\"]), embed[src]:not([src*=\".svg\"]):not([src*=\".pdf\"])');this.stats.set(\"discarded\",\"objects\",a.length),this.stats.set(\"processed\",\"objects\",a.length),a.forEach(i=>i.remove()),this.doc.querySelectorAll(\"link[rel~=preconnect], link[rel~=prerender], link[rel~=dns-prefetch], link[rel~=preload], link[rel~=manifest], link[rel~=prefetch], link[rel~=modulepreload]\").forEach(i=>{let n=i.getAttribute(\"rel\").replace(/(preconnect|prerender|dns-prefetch|preload|prefetch|manifest|modulepreload)/g,\"\").trim();n.length?i.setAttribute(\"rel\",n):i.remove()}),this.processorHelper.removeUnusedStylesheets(this.doc),this.doc.querySelectorAll('link[rel*=stylesheet]:not([href]),link[rel*=stylesheet][href=\"\"]').forEach(i=>i.remove()),this.options.removeHiddenElements&&this.doc.querySelectorAll(\"input[type=hidden]\").forEach(i=>i.remove()),this.options.saveFavicon||this.doc.querySelectorAll('link[rel*=\"icon\"]').forEach(i=>i.remove()),this.doc.querySelectorAll(\"a[ping]\").forEach(i=>i.removeAttribute(\"ping\")),this.doc.querySelectorAll(\"link[rel=import][href]\").forEach(i=>i.remove())}replaceInvalidElements(){this.doc.querySelectorAll(\"template[\"+_.INVALID_ELEMENT_ATTRIBUTE_NAME+\"]\").forEach(t=>{let a=this.doc.createElement(\"span\");if(t.content){let o=t.content.firstChild;o&&(o.hasAttributes()&&Array.from(o.attributes).forEach(i=>{try{a.setAttribute(i.name,i.value)}catch{}}),o.childNodes.forEach(i=>a.appendChild(i.cloneNode(!0)))),t.replaceWith(a)}})}resetCharsetMeta(){let t;this.doc.querySelectorAll('meta[charset], meta[http-equiv=\"content-type\"]').forEach(o=>{let i=o.content.split(\";\")[1];i&&!t&&(t=i.split(\"=\")[1],t&&(this.charset=t.trim().toLowerCase())),o.remove()});let a=this.doc.createElement(\"meta\");a.setAttribute(\"charset\",YT),this.doc.head.firstChild?this.doc.head.insertBefore(a,this.doc.head.firstChild):this.doc.head.appendChild(a)}resetReferrerMeta(){this.doc.querySelectorAll(\"meta[name=referrer]\").forEach(a=>a.remove());let t=this.doc.createElement(\"meta\");t.setAttribute(\"name\",\"referrer\"),t.setAttribute(\"content\",\"no-referrer\"),this.doc.head.appendChild(t)}setInputValues(){this.doc.querySelectorAll(\"input:not([type=radio]):not([type=checkbox])\").forEach(t=>{let a=t.getAttribute(_.INPUT_VALUE_ATTRIBUTE_NAME);t.setAttribute(\"value\",a||\"\")}),this.doc.querySelectorAll(\"input[type=radio], input[type=checkbox]\").forEach(t=>{t.getAttribute(_.INPUT_VALUE_ATTRIBUTE_NAME)==\"true\"&&t.setAttribute(\"checked\",\"\")}),this.doc.querySelectorAll(\"textarea\").forEach(t=>{let a=t.getAttribute(_.INPUT_VALUE_ATTRIBUTE_NAME);t.textContent=a||\"\"}),this.doc.querySelectorAll(\"select\").forEach(t=>{t.querySelectorAll(\"option\").forEach(a=>{a.getAttribute(_.INPUT_VALUE_ATTRIBUTE_NAME)!=null&&a.setAttribute(\"selected\",\"\")})})}moveStylesInHead(){this.doc.querySelectorAll(\"style\").forEach(t=>{t.getAttribute(_.STYLE_ATTRIBUTE_NAME)==\"\"&&this.doc.head.appendChild(t)})}saveFavicon(){let t=this.doc.querySelector('link[href][rel=\"shortcut icon\"]');t||(t=this.doc.querySelector('link[href][rel=\"icon\"]')),t||(t=this.doc.createElement(\"link\"),t.setAttribute(\"type\",\"image/x-icon\"),t.setAttribute(\"rel\",\"shortcut icon\"),t.setAttribute(\"href\",\"/favicon.ico\")),this.doc.head.appendChild(t)}saveScrollPosition(){if(this.options.scrollPosition&&this.options.scrolling==\"no\"&&(this.options.scrollPosition.x||this.options.scrollPosition.y)){let t=this.doc.createElement(\"script\");t.textContent='document.currentScript.remove();addEventListener(\"load\",()=>scrollTo('+this.options.scrollPosition.x+\",\"+this.options.scrollPosition.y+\"))\",this.doc.body.appendChild(t)}}replaceCanvasElements(){this.options.canvases&&this.doc.querySelectorAll(\"canvas\").forEach(t=>{let a=t.getAttribute(_.CANVAS_ATTRIBUTE_NAME);if(a){let o=this.options.canvases[Number(a)];if(o){let i={};o.backgroundColor&&(i[\"background-color\"]=o.backgroundColor),this.processorHelper.setBackgroundImage(t,\"url(\"+o.dataURI+\")\",i),this.stats.add(\"processed\",\"canvas\",1)}}})}insertFonts(){if(this.options.fonts&&this.options.fonts.length){let t=this.doc.querySelector(\"style, link[rel=stylesheet]\"),a;this.options.fonts.forEach(o=>{if(o[\"font-family\"]&&o.src){let i=\"@font-face{\",n=\"\";Object.keys(o).forEach(r=>{n&&(n+=\";\"),n+=r+\":\"+o[r]}),i+=n+\"}\";let s=this.doc.createElement(\"style\");s.textContent=i,a?a.insertAdjacentElement(\"afterend\",s):t?t.parentElement.insertBefore(s,t):this.doc.head.appendChild(s),a=s}})}}removeHiddenElements(){let t=this.doc.querySelectorAll(\"[\"+_.HIDDEN_CONTENT_ATTRIBUTE_NAME+\"]\"),a=this.doc.querySelectorAll(\"[\"+_.REMOVED_CONTENT_ATTRIBUTE_NAME+\"]\");if(this.stats.set(\"discarded\",\"hidden elements\",a.length),this.stats.set(\"processed\",\"hidden elements\",a.length),t.length){let o=\"sf-hidden\",i=\".\"+o+\"{display:none!important}\",n=!1;if(this.doc.querySelectorAll(\"style\").forEach(s=>{s.textContent==i&&(n=!0)}),!n){let s=this.doc.createElement(\"style\");s.textContent=i,this.doc.head.appendChild(s)}t.forEach(s=>{s.style.getPropertyValue(\"display\")!=\"none\"&&(s.style.getPropertyPriority(\"display\")==\"important\"?s.style.setProperty(\"display\",\"none\",\"important\"):s.classList.contains(o)||s.classList.add(o))})}a.forEach(o=>o.remove())}resolveHrefs(){this.doc.querySelectorAll(\"a[href], area[href], link[href]\").forEach(t=>{let a=t.getAttribute(\"href\").trim();if(t.tagName.toUpperCase()==\"LINK\"&&t.rel.includes(\"stylesheet\")&&this.options.saveOriginalURLs&&!nc(a)&&t.setAttribute(\"data-sf-original-href\",a),!a1(a)){let o;try{o=_.resolveURL(a,this.options.baseURI||this.options.url)}catch{}if(o){let i=kw(this.options.url);o.startsWith(i+\"#\")&&!o.startsWith(i+\"#!\")&&!this.options.resolveFragmentIdentifierURLs&&(o=o.substring(i.length));try{t.setAttribute(\"href\",o)}catch{}}}})}async insertMissingVideoPosters(){await Promise.all(Array.from(this.doc.querySelectorAll(\"video[src], video > source[src]\")).map(async t=>{let a;if(t.tagName.toUpperCase()==\"VIDEO\"?a=t:a=t.parentElement,!a.poster){let o=a.getAttribute(_.VIDEO_ATTRIBUTE_NAME);if(o){let i=this.options.videos[Number(o)],n=i.src||a.src;if(n){let s=this.doc.createElement(\"video\");s.src=n,s.style.setProperty(\"width\",i.size.pxWidth+\"px\",\"important\"),s.style.setProperty(\"height\",i.size.pxHeight+\"px\",\"important\"),s.style.setProperty(\"display\",\"none\",\"important\"),s.crossOrigin=\"anonymous\";let r=this.doc.createElement(\"canvas\"),l=r.getContext(\"2d\");return this.options.doc.body.appendChild(s),new Promise(c=>{s.currentTime=i.currentTime,s.oncanplay=()=>{r.width=i.size.pxWidth,r.height=i.size.pxHeight,l.drawImage(s,0,0,r.width,r.height);try{a.poster=r.toDataURL(\"image/png\",\"\")}catch{}s.remove(),c()},s.onerror=()=>{s.remove(),c()}})}}}}))}resolveStyleAttributeURLs(){this.doc.querySelectorAll(\"[style]\").forEach(t=>{if(this.options.blockStylesheets)t.removeAttribute(\"style\");else{let a=t.getAttribute(\"style\"),o=Ke.parse(a,{context:\"declarationList\",parseCustomProperty:!0});this.processorHelper.resolveStylesheetURLs(o,this.baseURI,this.workStyleElement),this.styles.set(t,o)}})}async resolveStylesheetsURLs(){if(await Promise.all(Array.from(this.doc.querySelectorAll(\"style, link[rel*=stylesheet]\")).map(async t=>{let a=Object.assign({},this.options,{charset:this.charset}),o;t.media&&(o=t.media.toLowerCase());let i=!!t.closest(\"[\"+hi+\"]\"),n={mediaText:o,scoped:i};await this.processorHelper.processLinkElement(t,n,this.stylesheets,this.baseURI,a,this.workStyleElement,this.resources)})),this.options.rootDocument){let t=Object.keys(this.options.updatedResources).filter(a=>this.options.updatedResources[a].type==\"stylesheet\"&&!this.options.updatedResources[a].retrieved).map(a=>this.options.updatedResources[a]);await Promise.all(t.map(async a=>{if(a.retrieved=!0,!this.options.blockStylesheets){let o={},i=this.doc.createElement(\"style\");this.doc.body.appendChild(i),i.textContent=a.content,await this.processorHelper.processStylesheetElement(i,o,this.stylesheets,this.baseURI,this.options,this.workStyleElement,this.resources)}}))}}async resolveFrameURLs(){let t=this.processorHelper;if(!this.options.saveRawPage){let o=Array.from(this.doc.querySelectorAll('iframe, frame, object[type=\"text/html\"][data]'));await Promise.all(o.map(async i=>{if(i.tagName.toUpperCase()==\"OBJECT\")i.setAttribute(\"data\",\"data:text/html,\");else{let s=i.getAttribute(\"src\");this.options.saveOriginalURLs&&s&&!nc(s)&&i.setAttribute(\"data-sf-original-src\",s),i.removeAttribute(\"src\"),i.removeAttribute(\"srcdoc\")}Array.from(i.childNodes).forEach(s=>s.remove());let n=i.getAttribute(_.WIN_ID_ATTRIBUTE_NAME);if(this.options.frames&&n){let s=this.options.frames.find(r=>r.windowId==n);s&&await a(s,i,n,this.batchRequest,Object.create(this.options))}}))}async function a(o,i,n,s,r){r.insertSingleFileComment=!1,r.insertCanonicalLink=!1,r.insertMetaNoIndex=!1,r.saveFavicon=!1,r.includeInfobar=!1,r.saveFilenameTemplateData=!1,r.selected=!1,r.embeddedImage=null,r.url=o.baseURI,r.windowId=n,o.content&&(r.content=o.content,r.canvases=o.canvases,r.fonts=o.fonts,r.stylesheets=o.stylesheets,r.images=o.images,r.posters=o.posters,r.videos=o.videos,r.usedFonts=o.usedFonts,r.shadowRoots=o.shadowRoots,r.scrollPosition=o.scrollPosition,r.scrolling=o.scrolling,r.adoptedStyleSheets=o.adoptedStyleSheets,o.runner=new On(r,t),o.frameElement=i,await o.runner.loadPage(),await o.runner.initialize(),o.maxResources=s.getMaxResources())}}insertShadowRootContents(){let t=this.doc,a=this.options;a.shadowRoots&&a.shadowRoots.length&&o(this.doc);function o(i){Array.from(i.querySelectorAll(\"[\"+_.SHADOW_ROOT_ATTRIBUTE_NAME+\"]\")).forEach(s=>{let r=s.getAttribute(_.SHADOW_ROOT_ATTRIBUTE_NAME);if(r){let l=a.shadowRoots[Number(r)];if(l){let c=t.createElement(\"template\");c.setAttribute(hi,l.mode),l.adoptedStyleSheets&&l.adoptedStyleSheets.length&&l.adoptedStyleSheets.forEach(m=>{let h=t.createElement(\"style\");h.textContent=m,c.appendChild(h)});let d=_.parseDocContent(l.content);if(d.head){let m=d.head.querySelector(\"meta[charset]\");m&&m.remove(),d.head.childNodes.forEach(h=>c.appendChild(d.importNode(h,!0)))}d.body&&d.body.childNodes.forEach(m=>c.appendChild(d.importNode(m,!0))),o(c),s.firstChild?s.insertBefore(c,s.firstChild):s.appendChild(c)}}})}}removeUnusedStyles(){this.mediaAllInfo||(this.mediaAllInfo=_.getMediaAllInfo(this.doc,this.stylesheets,this.styles));let t=_.minifyCSSRules(this.stylesheets,this.styles,this.mediaAllInfo);this.stats.set(\"processed\",\"CSS rules\",t.processed),this.stats.set(\"discarded\",\"CSS rules\",t.discarded)}removeUnusedFonts(){_.removeUnusedFonts(this.doc,this.stylesheets,this.styles,this.options)}removeAlternativeMedias(){let t=_.minifyMedias(this.stylesheets);this.stats.set(\"processed\",\"medias\",t.processed),this.stats.set(\"discarded\",\"medias\",t.discarded)}async processStylesheets(){await Promise.all([...this.stylesheets].map(([,t])=>this.processorHelper.processStylesheet(t.stylesheet.children,this.baseURI,this.options,this.resources,this.batchRequest)))}async processStyleAttributes(){return Promise.all([...this.styles].map(([,t])=>this.processorHelper.processStyle(t,this.options,this.resources,this.batchRequest)))}async processPageResources(){await this.processorHelper.processPageResources(this.doc,this.baseURI,this.options,this.resources,this.styles,this.batchRequest)}async processScripts(){await Promise.all(Array.from(this.doc.querySelectorAll(\"script[src]\")).map(async t=>{let a,o;if(o=t.getAttribute(\"src\"),this.options.saveOriginalURLs&&!nc(o)&&t.setAttribute(\"data-sf-original-src\",o),t.removeAttribute(\"integrity\"),this.options.blockScripts)t.removeAttribute(\"src\");else{t.textContent=\"\";try{a=_.resolveURL(o,this.baseURI)}catch{}i1(a)&&(t.removeAttribute(\"src\"),await this.processorHelper.processScript(t,a,this.options,this.charset,this.batchRequest,this.resources),(t.getAttribute(\"async\")==\"async\"||t.getAttribute(_.ASYNC_SCRIPT_ATTRIBUTE_NAME)==\"\")&&t.setAttribute(\"async\",\"\"))}this.stats.add(\"processed\",\"scripts\",1)}))}removeAlternativeImages(){_.removeAlternativeImages(this.doc)}async removeAlternativeFonts(){await this.processorHelper.removeAlternativeFonts(this.doc,this.stylesheets,this.resources.fonts,this.options.fontTests)}async processFrames(){if(this.options.frames){let t=Array.from(this.doc.querySelectorAll('iframe, frame, object[type=\"text/html\"][data]'));await Promise.all(t.map(async a=>{let o=a.getAttribute(_.WIN_ID_ATTRIBUTE_NAME);if(o){let i=this.options.frames.find(n=>n.windowId==o);if(i)if(this.options.frames=this.options.frames.filter(n=>n.windowId!=o),i.runner&&a.getAttribute(_.HIDDEN_FRAME_ATTRIBUTE_NAME)!=\"\"){this.stats.add(\"processed\",\"frames\",1),await i.runner.run();let n=await i.runner.getPageData();a.removeAttribute(_.WIN_ID_ATTRIBUTE_NAME),this.processorHelper.processFrame(a,n,this.resources,o,i),this.stats.addAll(n)}else a.removeAttribute(_.WIN_ID_ATTRIBUTE_NAME),this.stats.add(\"discarded\",\"frames\",1)}}))}}replaceStylesheets(){this.processorHelper.replaceStylesheets(this.doc,this.stylesheets,this.options,this.resources)}replaceStyleAttributes(){this.doc.querySelectorAll(\"[style]\").forEach(t=>{let a=this.styles.get(t);a?(this.styles.delete(t),t.setAttribute(\"style\",this.processorHelper.generateStylesheetContent(a,this.options))):t.setAttribute(\"style\",\"\")})}insertVariables(){let{cssVariables:t}=this.resources;if(t.size){let a=this.doc.createElement(\"style\"),o=this.doc.head.querySelector(\"style\");o?this.doc.head.insertBefore(a,o):this.doc.head.appendChild(a);let i=\"\";t.forEach(({content:n,url:s},r)=>{t.delete(r),i&&(i+=\";\"),i+=`${e1+r}: `,this.options.saveOriginalURLs&&(i+=`/* original URL: ${s} */ `),i+=`url(\"${n}\")`}),a.textContent=\":root{\"+i+\"}\"}}compressHTML(){let t;this.options.displayStats&&(t=_.getContentSize(this.doc.documentElement.outerHTML)),_.minifyHTML(this.doc,{PRESERVED_SPACE_ELEMENT_ATTRIBUTE_NAME:_.PRESERVED_SPACE_ELEMENT_ATTRIBUTE_NAME}),this.options.displayStats&&this.stats.add(\"discarded\",\"HTML bytes\",t-_.getContentSize(this.doc.documentElement.outerHTML))}cleanupPage(){this.doc.querySelectorAll(\"base\").forEach(a=>a.remove());let t=this.doc.head.querySelector(\"meta[charset]\");t&&(this.doc.head.insertBefore(t,this.doc.head.firstChild),this.doc.head.querySelectorAll(\"*\").length==1&&this.doc.body.childNodes.length==0&&this.doc.head.querySelector(\"meta[charset]\").remove())}resetZoomLevel(){let t=this.doc.documentElement.style.getPropertyValue(\"-sf-transform\"),a=this.doc.documentElement.style.getPropertyPriority(\"-sf-transform\"),o=this.doc.documentElement.style.getPropertyValue(\"-sf-transform-origin\"),i=this.doc.documentElement.style.getPropertyPriority(\"-sf-transform-origin\"),n=this.doc.documentElement.style.getPropertyValue(\"-sf-min-height\"),s=this.doc.documentElement.style.getPropertyPriority(\"-sf-min-height\");this.doc.documentElement.style.setProperty(\"transform\",t,a),this.doc.documentElement.style.setProperty(\"transform-origin\",o,i),this.doc.documentElement.style.setProperty(\"min-height\",n,s),this.doc.documentElement.style.removeProperty(\"-sf-transform\"),this.doc.documentElement.style.removeProperty(\"-sf-transform-origin\"),this.doc.documentElement.style.removeProperty(\"-sf-min-height\")}async insertMAFFMetaData(){let t=await this.maffMetaDataPromise;if(t&&t.content){let a=\"http://www.w3.org/1999/02/22-rdf-syntax-ns#\",o=_.parseXMLContent(t.content),i=o.querySelector(\"RDF > Description > originalurl\"),n=o.querySelector(\"RDF > Description > archivetime\");if(i&&(this.options.saveUrl=i.getAttributeNS(a,\"resource\")),n){let s=n.getAttributeNS(a,\"resource\");if(s){let r=new Date(s);isNaN(r.getTime())||(this.options.saveDate=new Date(s))}}}}async setDocInfo(){let t=this.doc.querySelector(\"title\"),a=this.doc.querySelector(\"meta[name=description]\"),o=this.doc.querySelector(\"meta[name=author]\"),i=this.doc.querySelector(\"meta[name=creator]\"),n=this.doc.querySelector(\"meta[name=publisher]\"),s=this.doc.querySelector(\"h1\");this.options.title=t?t.textContent.trim():\"\",this.options.info={description:a&&a.content?a.content.trim():\"\",lang:this.doc.documentElement.lang,author:o&&o.content?o.content.trim():\"\",creator:i&&i.content?i.content.trim():\"\",publisher:n&&n.content?n.content.trim():\"\",heading:s&&s.textContent?s.textContent.trim():\"\"},this.options.infobarContent=await _.evalTemplate(this.options.infobarTemplate,this.options,null,this.doc,!0)}},hc=\"data:\",JT=\"about:blank\",Rw=\"blob:\",zw=/^https?:\\/\\//,ZT=/^file:\\/\\//,$T=/^https?:\\/\\/+\\s*$/,QT=/^(https?:\\/\\/|file:\\/\\/|blob:).+/,e1=\"--sf-img-\";function kw(e){return!e||e.startsWith(hc)?e:e.split(\"#\")[0]}function t1(e){let t=e.createElement(\"div\"),a=[];for(let o in t)o.startsWith(\"on\")&&a.push(o);return a.push(\"onunload\"),a}function nc(e){return e&&(e.startsWith(hc)||e.startsWith(Rw))}function a1(e){return e&&(e.startsWith(hc)||e==JT)}function o1(e){return e&&!e.match($T)}function i1(e){return o1(e)&&(e.match(zw)||e.match(ZT)||e.startsWith(Rw))&&e.match(QT)}function io(...e){console.log(\"S-File <core> \",...e)}var n1={discarded:{\"HTML bytes\":0,\"hidden elements\":0,scripts:0,objects:0,\"audio sources\":0,\"video sources\":0,frames:0,\"CSS rules\":0,canvas:0,stylesheets:0,resources:0,medias:0},processed:{\"HTML bytes\":0,\"hidden elements\":0,scripts:0,objects:0,\"audio sources\":0,\"video sources\":0,frames:0,\"CSS rules\":0,canvas:0,stylesheets:0,resources:0,medias:0}},mc=class{constructor(t){this.options=t,t.displayStats&&(this.data=no.parse(no.stringify(n1)))}set(t,a,o){this.options.displayStats&&(this.data[t][a]=o)}add(t,a,o){this.options.displayStats&&(this.data[t][a]+=o)}addAll(t){this.options.displayStats&&(Object.keys(this.data.discarded).forEach(a=>this.add(\"discarded\",a,t.stats.discarded[a]||0)),Object.keys(this.data.processed).forEach(a=>this.add(\"processed\",a,t.stats.processed[a]||0)))}};var uc=!1,Iw=1024*1024,s1=\"text/\",l1=[\"~\",\"+\",\"\\\\\\\\\",\"?\",\"%\",\"*\",\":\",\"|\",'\"',\"<\",\">\",\"\\0-\u001f\",\"\\x7F\"],c1=\"_\",d1={\"image/svg+xml\":\".svg\",\"image/png\":\".png\",\"image/gif\":\".gif\",\"image/tiff\":\".tiff\",\"image/bmp\":\".bmp\",\"image/x-icon\":\".ico\",\"image/heif\":\".heif\",\"image/heic\":\".heic\",\"image/avif\":\".avif\",\"image/apng\":\".apng\",\"image/jpeg\":\".jpg\",\"image/webp\":\".webp\",\"audio/mpeg\":\".mp3\",\"audio/ogg\":\".ogg\",\"audio/wav\":\".wav\",\"audio/webm\":\".webm\",\"video/3gpp\":\".3gp\",\"video/3gpp2\":\".3g2\",\"video/mpeg\":\".mpeg\",\"video/quicktime\":\".mov\",\"video/x-msvideo\":\".avi\",\"video/webm\":\".webm\",\"video/ogg\":\".ogv\",\"video/mp4\":\".mp4\",\"video/mp2t\":\".ts\",\"font/otf\":\".otf\",\"font/ttf\":\".ttf\",\"font/woff\":\".woff\",\"font/woff2\":\".woff2\",\"application/vnd.ms-fontobject\":\".eot\",\"font/collection\":\".ttc\"},_w=\"application/octet-stream\",pc=globalThis.URL,Fn=globalThis.DOMParser,m1=globalThis.Blob,h1=globalThis.FileReader,Mw=(e,t)=>globalThis.fetch(e,t),Pw=globalThis.TextDecoder,u1=globalThis.URLSearchParams;function Dw(e){return e=e||{},e.fetch=e.fetch||Mw,e.frameFetch=e.frameFetch||e.fetch||Mw,{getDoctypeString:g1,getFilenameExtension(a,o,i){let n=new pc(a).pathname.match(/(\\.[^\\\\/.]*)$/);return(n&&n[1]&&this.getValidFilename(n[1],o,i)||\"\").toLowerCase()},getContentTypeExtension(a){return d1[a]||\"\"},getContent:t,parseURL(a,o){return o===void 0?new pc(a):new pc(a,o)},resolveURL(a,o){return this.parseURL(a,o).href},getSearchParams(a){return Array.from(new u1(a))},getValidFilename(a,o=l1,i=c1){return o.forEach(n=>a=a.replace(new RegExp(\"[\"+n+\"]+\",\"g\"),i)),a=a.replace(/\\.\\.\\//g,\"\").replace(/^\\/+/,\"\").replace(/\\/+/g,\"/\").replace(/\\/$/,\"\").replace(/\\.$/,\"\").replace(/\\.\\//g,\".\"+i).replace(/\\/\\./g,\"/\"+i),a},parseDocContent(a,o){let i=new Fn().parseFromString(a,\"text/html\");i.head||i.documentElement.insertBefore(i.createElement(\"HEAD\"),i.body);let n=i.querySelector(\"base\");return(!n||!n.getAttribute(\"href\"))&&(n&&n.remove(),n=i.createElement(\"base\"),n.setAttribute(\"href\",o),i.head.insertBefore(n,i.head.firstChild)),i},parseXMLContent(a){return new Fn().parseFromString(a,\"text/xml\")},parseSVGContent(a){let o=new Fn().parseFromString(a,\"image/svg+xml\");return o.querySelector(\"parsererror\")?new Fn().parseFromString(a,\"text/html\"):o},async digest(a,o){return Ut(a,o)},getContentSize(a){return Fo(a)},formatFilename(a,o,i){return eo.formatFilename(a,o,i)},getMimeType(a){return!a.compressContent||a.selfExtractingArchive?\"text/html\":\"application/zip\"},async evalTemplate(a,o,i,n,s){return eo.evalTemplate(a,o,i,n,s)},minifyHTML(a,o){return ci.process(a,o)},minifyCSSRules(a,o,i){return ni.process(a,o,i)},removeUnusedFonts(a,o,i,n){return ti.process(a,o,i,n)},getMediaAllInfo(a,o,i){return oi.getMediaAllInfo(a,o,i)},compressCSS(a,o){return $o.processString(a,o)},minifyMedias(a){return ii.process(a)},removeAlternativeImages(a){return si.process(a)},parseSrcset(a){return $a.process(a)},preProcessDoc(a,o,i){return No(a,o,i)},postProcessDoc(a,o,i){Oo(a,o,i)},serialize(a,o){return di.process(a,o)},removeQuotes(a){return Da(a)},appendInfobar(a,o){return hs(a,o)},findLast(a,o){if(a.findLast&&typeof a.findLast==\"function\")return a.findLast(o);{let i=a.length;for(;i--;)if(o(a[i],i,a))return a[i]}},ON_BEFORE_CAPTURE_EVENT_NAME:_o,ON_AFTER_CAPTURE_EVENT_NAME:Mo,WIN_ID_ATTRIBUTE_NAME:Po,REMOVED_CONTENT_ATTRIBUTE_NAME:ja,HIDDEN_CONTENT_ATTRIBUTE_NAME:Aa,HIDDEN_FRAME_ATTRIBUTE_NAME:xa,IMAGE_ATTRIBUTE_NAME:La,POSTER_ATTRIBUTE_NAME:Ra,VIDEO_ATTRIBUTE_NAME:za,CANVAS_ATTRIBUTE_NAME:Ia,STYLE_ATTRIBUTE_NAME:Do,INPUT_VALUE_ATTRIBUTE_NAME:Lt,SHADOW_ROOT_ATTRIBUTE_NAME:Ta,PRESERVED_SPACE_ELEMENT_ATTRIBUTE_NAME:Ca,STYLESHEET_ATTRIBUTE_NAME:_a,SELECTED_CONTENT_ATTRIBUTE_NAME:ds,INVALID_ELEMENT_ATTRIBUTE_NAME:Oi,COMMENT_HEADER:Ii,COMMENT_HEADER_LEGACY:ms,SINGLE_FILE_UI_ELEMENT_CLASS:Ma,EMPTY_RESOURCE:Pa,INFOBAR_TAGNAME:Fi,WAIT_FOR_USERSCRIPT_PROPERTY_NAME:ta,NO_SCRIPT_PROPERTY_NAME:_i};async function t(a,o){let i,n,s,r,l,c=e.fetch,d=e.frameFetch;if(uc&&(n=Date.now(),gc(\" // STARTED download url =\",a,\"asBinary =\",o.asBinary)),o.blockMixedContent&&/^https:/i.test(o.baseURI)&&!/^https:/i.test(a))return jt(a,o);o.networkTimeout?r=new Promise((p,w)=>{l=p,s=globalThis.setTimeout(()=>w(new Error(\"network timeout\")),o.networkTimeout)}):r=new Promise(p=>{l=p});try{let p=o.acceptHeaders?o.acceptHeaders[o.expectedType]:\"*/*\";if(o.frameId)try{i=await Promise.race([d(a,{frameId:o.frameId,referrer:o.resourceReferrer,headers:{accept:p}}),r])}catch{i=await Promise.race([c(a,{headers:{accept:p}}),r])}else i=await Promise.race([c(a,{referrer:o.resourceReferrer,headers:{accept:p}}),r])}catch{return jt(a,o)}finally{l(),o.networkTimeout&&globalThis.clearTimeout(s)}let m;try{m=await i.arrayBuffer()}catch{return o.inline?{data:o.asBinary?Pa:\"\",resourceURL:a}:{resourceURL:a}}a=i.url||a;let h=\"\",u;try{let p=new Qo(i.headers.get(\"content-type\"));h=p.type+\"/\"+p.subtype,u=p.parameters.get(\"charset\")}catch{}if((!h||h==_w&&o.asBinary)&&(h=p1(o.expectedType,m),h||(h=o.contentType?o.contentType:o.asBinary?_w:\"\")),!u&&o.charset&&(u=o.charset),o.asBinary){if(i.status>=400)return jt(a,o);try{return uc&&gc(\" // ENDED download url =\",a,\"delay =\",Date.now()-n),o.maxResourceSizeEnabled&&m.byteLength>o.maxResourceSize*Iw?jt(a,o):jt(a,o,m,null,h)}catch{return jt(a,o)}}else{if(i.status>=400||o.validateTextContentType&&h&&!h.startsWith(s1))return jt(a,o);if(u||(u=\"utf-8\"),uc&&gc(\" // ENDED download url =\",a,\"delay =\",Date.now()-n),o.maxResourceSizeEnabled&&m.byteLength>o.maxResourceSize*Iw)return jt(a,o,null,u);try{return jt(a,o,m,u,h)}catch{return jt(a,o,null,u)}}}}async function jt(e,t,a,o,i){if(a)if(t.asBinary)if(t.inline){let n=new h1;n.readAsDataURL(new m1([a],{type:i+(t.charset?\";charset=\"+t.charset:\"\")})),a=await new Promise((s,r)=>{n.addEventListener(\"load\",()=>s(n.result),!1),n.addEventListener(\"error\",r,!1)})}else a=new Uint8Array(a);else{let n=new Uint8Array(a.slice(0,4));n[0]==132&&n[1]==49&&n[2]==149&&n[3]==51?o=\"gb18030\":n[0]==255&&n[1]==254?o=\"utf-16le\":n[0]==254&&n[1]==255&&(o=\"utf-16be\");try{a=new Pw(o).decode(a)}catch{o=\"utf-8\",a=new Pw(o).decode(a)}a=a.replace(/\\ufeff/gi,\"\")}else t.inline&&(a=t.asBinary?Pa:\"\");return{data:a,resourceURL:e,charset:o,contentType:i}}function p1(e,t){if(e==\"image\"){if(a([255,255,255,255],[0,0,1,0])||a([255,255,255,255],[0,0,2,0]))return\"image/x-icon\";if(a([255,255],[78,77]))return\"image/bmp\";if(a([255,255,255,255,255,255],[71,73,70,56,57,97])||a([255,255,255,255,255,255],[71,73,70,56,59,97]))return\"image/gif\";if(a([255,255,255,255,0,0,0,0,255,255,255,255,255,255],[82,73,70,70,0,0,0,0,87,69,66,80,86,80]))return\"image/webp\";if(a([255,255,255,255,255,255,255,255],[137,80,78,71,13,10,26,10]))return\"image/png\";if(a([255,255,255],[255,216,255]))return\"image/jpeg\"}if(e==\"font\"){if(a([0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,76,80]))return\"application/vnd.ms-fontobject\";if(a([255,255,255,255],[0,1,0,0]))return\"font/ttf\";if(a([255,255,255,255],[79,84,84,79]))return\"font/otf\";if(a([255,255,255,255],[116,116,99,102]))return\"font/collection\";if(a([255,255,255,255],[119,79,70,70]))return\"font/woff\";if(a([255,255,255,255],[119,79,70,50]))return\"font/woff2\"}if(e==\"video\"){if(a([0,0,0,0,255,255,255,255,255,255,255,255],[0,0,0,0,102,116,121,112,105,115,111,109]))return\"video/mp4\";if(a([255,255,255,255,0,0,0,0,255,255,255,255],[82,73,70,70,0,0,0,0,87,65,86,69]))return\"video/x-msvideo\";if(a([255,255,255,255],[0,0,1,179])||a([255,255,255,255],[0,0,1,186]))return\"video/mpeg\";if(a([255,255,255,255],[79,103,103,83]))return\"video/ogg\";if(a([255],[71]))return\"video/mp2t\";if(a([255,255,255,255],[26,69,223,163]))return\"video/webm\";if(a([0,0,0,0,255,255,255,255,255,255],[0,0,0,0,102,116,121,112,51,103]))return\"video/3gpp\"}if(e==\"audio\"){if(a([255,255],[255,249])||a([255,255],[255,254]))return\"audio/aac\";if(a([255,255,255,255],[77,84,104,100]))return\"audio/midi\";if(a([255,255,255,255],[0,0,1,179])||a([255,255,255,255],[0,0,1,186])||a([255,255],[255,251])||a([255,255],[255,243])||a([255,255],[255,242])||a([255,255,255],[73,68,51]))return\"audio/mpeg\";if(a([255,255,255,255],[79,103,103,83]))return\"audio/ogg\";if(a([255,255,255,255,0,0,0,0,255,255,255,255],[82,73,70,70,0,0,0,0,87,65,86,69]))return\"audio/wav\";if(a([255,255,255,255],[26,69,223,163]))return\"audio/webm\";if(a([0,0,0,0,255,255,255,255,255,255],[0,0,0,0,102,116,121,112,51,103]))return\"audio/3gpp\"}function a(o,i){let n=!0,s=0;if(t.byteLength>=i.length){let r=new Uint8Array(t,0,o.length);for(s=0;s<o.length&&n;s++)n=n&&(r[s]&o[s])==i[s];return n}}}function g1(e){let t=e.doctype,a=\"\";return t&&(a=\"<!DOCTYPE \"+t.nodeName,t.publicId?(a+=' PUBLIC \"'+t.publicId+'\"',t.systemId&&(a+=' \"'+t.systemId+'\"')):t.systemId&&(a+=' SYSTEM \"'+t.systemId+'\"'),t.internalSubset&&(a+=\" [\"+t.internalSubset+\"]\"),a+=\"> \"),a}function gc(...e){console.log(\"S-File <browser>\",...e)}var Bn;function Nw(e){typeof Bn>\"u\"&&(Bn=vw(Dw(e)))}async function f1(e={},t,a=globalThis.document,o=globalThis){let i=Bo,n;if(Nw(t),a&&o){Bi(a);let c=[];if(!e.saveRawPage){let d;if(e.loadDeferredImages&&(d=ia.process(e),e.loadDeferredImagesBeforeFrames&&await d),!e.removeFrames&&i&&globalThis.frames){let m;e.loadDeferredImages?m=new Promise(h=>globalThis.setTimeout(()=>h(i.getAsync(e)),e.loadDeferredImagesBeforeFrames||!e.loadDeferredImages?0:e.loadDeferredImagesMaxIdleTime)):m=i.getAsync(e),e.loadDeferredImagesBeforeFrames?e.frames=await m:c.push(m)}e.loadDeferredImages&&!e.loadDeferredImagesBeforeFrames&&c.push(d)}e.loadDeferredImagesBeforeFrames||([e.frames]=await Promise.all(c)),n=e.frames&&e.frames.sessionId}e.doc=a,e.win=o,e.insertCanonicalLink=!0;let s=e.onprogress;e.onprogress=c=>{c.type===c.RESOURCES_INITIALIZED&&a&&o&&e.loadDeferredImages&&ia.resetZoomLevel(e),s&&s(c)};let r=new Bn(e);await r.run(),n&&i.cleanup(n);let l=await r.getPageData();if(e.compressContent){let c=await Lo.process(l,{insertTextBody:e.insertTextBody,url:e.url,createRootDirectory:e.createRootDirectory,selfExtractingArchive:e.selfExtractingArchive,insertEmbeddedImage:e.insertEmbeddedImage,extractDataFromPage:e.extractDataFromPage,preventAppendedData:e.preventAppendedData,insertCanonicalLink:e.insertCanonicalLink,insertMetaNoIndex:e.insertMetaNoIndex,insertMetaCSP:e.insertMetaCSP,password:e.password,zipScript:e.zipScript});delete l.resources;let d=new globalThis.FileReader;d.readAsArrayBuffer(c);let m=await new Promise((h,u)=>{d.addEventListener(\"load\",()=>h(d.result),!1),d.addEventListener(\"error\",p=>u(p.detail.error),!1)});l.content=Array.from(new Uint8Array(m))}return l}return Jw(b1);})();\n;var singlefileBootstrap=(()=>{var Z=Object.defineProperty;var gt=Object.getOwnPropertyDescriptor;var pt=Object.getOwnPropertyNames;var bt=Object.prototype.hasOwnProperty;var ve=(e,t)=>{for(var o in t)Z(e,o,{get:t[o],enumerable:!0})},mt=(e,t,o,s)=>{if(t&&typeof t==\"object\"||typeof t==\"function\")for(let n of pt(t))!bt.call(e,n)&&n!==o&&Z(e,n,{get:()=>t[n],enumerable:!(s=gt(t,n))||s.enumerable});return e};var _t=e=>mt(Z({},\"__esModule\",{value:!0}),e);var vo={};ve(vo,{helper:()=>Do,processors:()=>Lo});var ye={};ve(ye,{TIMEOUT_INIT_REQUEST_MESSAGE:()=>it,cleanup:()=>po,getAsync:()=>ho,getSync:()=>go,initResponse:()=>Oe});var It=\"single-file-load-deferred-images-start\",Rt=\"single-file-load-deferred-images-end\",Nt=\"single-file-load-deferred-images-keep-zoom-level-start\",St=\"single-file-load-deferred-images-keep-zoom-level-end\";var Ot=\"single-file-block-cookies-start\",Ct=\"single-file-block-cookies-end\",Mt=\"single-file-dispatch-scroll-event-start\",wt=\"single-file-dispatch-scroll-event-end\",yt=\"single-file-block-storage-start\",Lt=\"single-file-block-storage-end\",ee=\"single-file-load-image\",te=\"single-file-image-loaded\",Dt=\"single-file-new-font-face\",vt=\"single-file-delete-font\",Ut=\"single-file-clear-fonts\",$=\"_singleFile_fontFaces\",_=globalThis.CustomEvent,T=globalThis.document,Pt=globalThis.Document,Ue=globalThis.JSON,Ft=globalThis.MutationObserver,y;window[$]?y=window[$]:y=window[$]=new Map;Pe();new Ft(Pe).observe(T,{childList:!0});function Pe(){T instanceof Pt&&(T.addEventListener(Dt,e=>{let t=e.detail,o=Object.assign({},t);delete o.src,y.set(Ue.stringify(o),t)}),T.addEventListener(vt,e=>{let t=e.detail,o=Object.assign({},t);delete o.src,y.delete(Ue.stringify(o))}),T.addEventListener(Ut,()=>y=new Map))}function Fe(){return Array.from(y.values())}function Be(e){e.loadDeferredImagesBlockCookies&&T.dispatchEvent(new _(Ot)),e.loadDeferredImagesBlockStorage&&T.dispatchEvent(new _(yt)),e.loadDeferredImagesDispatchScrollEvent&&T.dispatchEvent(new _(Mt)),e.loadDeferredImagesKeepZoomLevel?T.dispatchEvent(new _(Nt)):T.dispatchEvent(new _(It))}function Ve(e){e.loadDeferredImagesBlockCookies&&T.dispatchEvent(new _(Ct)),e.loadDeferredImagesBlockStorage&&T.dispatchEvent(new _(Lt)),e.loadDeferredImagesDispatchScrollEvent&&T.dispatchEvent(new _(wt)),e.loadDeferredImagesKeepZoomLevel?T.dispatchEvent(new _(St)):T.dispatchEvent(new _(Rt))}var ke=\"[\\\\x20\\\\t\\\\r\\\\n\\\\f]\",Bt=new RegExp(\"\\\\\\\\([\\\\da-f]{1,6}\"+ke+\"?|(\"+ke+\")|.)\",\"ig\");function Ge(e){return e.replace(Bt,(t,o,s)=>{let n=\"0x\"+o-65536;return n!==n||s?o:n<0?String.fromCharCode(n+65536):String.fromCharCode(n>>10|55296,n&1023|56320)})}var E=\"single-file-\",oe=\"Page saved with SingleFile\";var L=\"_singleFile_waitForUserScript\",D=\"__frameTree__::\";var He=\"single-file-infobar\";var q=E+\"on-before-capture\",J=E+\"on-after-capture\",qe=E+\"request-get-adopted-stylesheets\",Je=E+\"response-get-adopted-stylesheets\",kt=E+\"unregister-request-get-adopted-stylesheets\",Gt=E+\"user-script-init\",ne=\"data-\"+E+\"removed-content\",re=\"data-\"+E+\"hidden-content\",ie=\"data-\"+E+\"kept-content\",ae=\"data-\"+E+\"hidden-frame\",ce=\"data-\"+E+\"preserved-space-element\",le=\"data-\"+E+\"shadow-root-element\",Ke=\"data-\"+E+\"win-id\",de=\"data-\"+E+\"image\",Ee=\"data-\"+E+\"poster\",fe=\"data-\"+E+\"video\",Ae=\"data-\"+E+\"canvas\",Qe=\"data-\"+E+\"movable-style\",v=\"data-\"+E+\"input-value\",H=\"data-\"+E+\"lazy-loaded-src\",ue=\"data-\"+E+\"stylesheet\",V=\"data-\"+E+\"disabled-noscript\",Go=\"data-\"+E+\"selected-content\",Ht=\"data-\"+E+\"invalid-element\",Te=\"data-\"+E+\"async-script\",se=\"*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)\",qt=[\"NOSCRIPT\",\"DISABLED-NOSCRIPT\",\"META\",\"LINK\",\"STYLE\",\"TITLE\",\"TEMPLATE\",\"SOURCE\",\"OBJECT\",\"SCRIPT\",\"HEAD\",\"BODY\"],Jt=[\"SCRIPT\",\"NOSCRIPT\",\"META\",\"LINK\",\"TEMPLATE\"],ze=/^'(.*?)'$/,zt=/^\"(.*?)\"$/,Yt={regular:\"400\",normal:\"400\",bold:\"700\",bolder:\"700\",lighter:\"100\"},je=\"Archive processed by SingleFile\",ge=\"single-file-ui-element\",Wt=He,Kt=\"data:,\",Ye=(e,t,o)=>globalThis.addEventListener(e,t,o),Qt=e=>{try{globalThis.dispatchEvent(e)}catch{}},jt=globalThis.JSON,Ho=globalThis.crypto,qo=globalThis.TextEncoder,Jo=globalThis.Blob,G=globalThis.CustomEvent,Xt=globalThis.MutationObserver;function pe(){Ye(Gt,()=>globalThis[L]=async e=>{let t=new G(e+\"-request\",{cancelable:!0}),o=new Promise(s=>Ye(e+\"-response\",s));Qt(t),t.defaultPrevented&&await o}),new Xt(pe).observe(globalThis.document,{childList:!0})}function Zt(e){e.querySelectorAll(\"meta[http-equiv=refresh]\").forEach(t=>{t.removeAttribute(\"http-equiv\"),t.setAttribute(\"disabled-http-equiv\",\"refresh\")})}function z(e,t,o){e.querySelectorAll(\"noscript:not([\"+V+\"])\").forEach(r=>{r.setAttribute(V,r.textContent),r.textContent=\"\"}),Zt(e),e.head&&e.head.querySelectorAll(se).forEach(r=>r.hidden=!0),e.querySelectorAll(\"svg foreignObject\").forEach(r=>{let a=r.querySelectorAll(\"html > head > \"+se+\", html > body > \"+se);a.length&&(Array.from(r.childNodes).forEach(i=>i.remove()),a.forEach(i=>r.appendChild(i)))});let s=new Map,n;return t&&e.documentElement?(e.querySelectorAll(\"button button, a a\").forEach(r=>{let a=e.createElement(\"template\");a.setAttribute(Ht,\"\"),a.content.appendChild(r.cloneNode(!0)),s.set(r,a),r.replaceWith(a)}),n=he(t,e,e.documentElement,o),o.moveStylesInHead&&e.querySelectorAll(\"body style, body ~ style\").forEach(r=>{let a=C(t,r);a&&Ze(r,a)&&(r.setAttribute(Qe,\"\"),n.markedElements.push(r))})):n={canvases:[],images:[],posters:[],videos:[],usedFonts:[],shadowRoots:[],markedElements:[]},{canvases:n.canvases,fonts:oo(e),stylesheets:eo(e),images:n.images,posters:n.posters,videos:n.videos,usedFonts:Array.from(n.usedFonts.values()),shadowRoots:n.shadowRoots,referrer:e.referrer,markedElements:n.markedElements,invalidElements:s,scrollPosition:{x:t.scrollX,y:t.scrollY},adoptedStyleSheets:Xe(e.adoptedStyleSheets)}}function he(e,t,o,s,n={usedFonts:new Map,canvases:[],images:[],posters:[],videos:[],shadowRoots:[],markedElements:[]},r){return o.childNodes&&Array.from(o.childNodes).filter(i=>i instanceof e.HTMLElement||i instanceof e.SVGElement||i instanceof globalThis.HTMLElement||i instanceof globalThis.SVGElement).forEach(i=>{let c,l,d;if(!s.autoSaveExternalSave&&(s.removeHiddenElements||s.removeUnusedFonts||s.compressHTML)&&(d=C(e,i),(i instanceof e.HTMLElement||i instanceof globalThis.HTMLElement)&&s.removeHiddenElements&&(l=(r||i.closest(\"html > head\"))&&qt.includes(i.tagName.toUpperCase())||i.closest(\"details\"),l||(c=r||Ze(i,d),c&&!Jt.includes(i.tagName.toUpperCase())&&(i.setAttribute(re,\"\"),n.markedElements.push(i)))),!c)){if(s.compressHTML&&d){let A=d.getPropertyValue(\"white-space\");A&&A.startsWith(\"pre\")&&(i.setAttribute(ce,\"\"),n.markedElements.push(i))}s.removeUnusedFonts&&(k(d,s,n.usedFonts),k(C(e,i,\":first-letter\"),s,n.usedFonts),k(C(e,i,\":before\"),s,n.usedFonts),k(C(e,i,\":after\"),s,n.usedFonts))}$t(e,t,i,s,n,c,d);let f=!(i instanceof e.SVGElement||i instanceof globalThis.SVGElement)&&x(i);if(f&&!i.classList.contains(ge)&&i.tagName.toLowerCase()!=Wt){let A={};i.setAttribute(le,n.shadowRoots.length),n.markedElements.push(i),n.shadowRoots.push(A);try{if(f.adoptedStyleSheets){if(f.adoptedStyleSheets.length)A.adoptedStyleSheets=Xe(f.adoptedStyleSheets);else if(f.adoptedStyleSheets.length===void 0){let S=B=>A.adoptedStyleSheets=B.detail.adoptedStyleSheets;f.addEventListener(Je,S),f.dispatchEvent(new G(qe,{bubbles:!0})),A.adoptedStyleSheets||i.dispatchEvent(new G(qe,{bubbles:!0})),f.removeEventListener(Je,S)}}}catch{}he(e,t,f,s,n,c),A.content=f.innerHTML,A.mode=f.mode;try{f.adoptedStyleSheets&&f.adoptedStyleSheets.length===void 0&&f.dispatchEvent(new G(kt,{bubbles:!0}))}catch{}}he(e,t,i,s,n,c),!s.autoSaveExternalSave&&s.removeHiddenElements&&r&&(l||i.getAttribute(ie)==\"\"?i.parentElement&&(i.parentElement.setAttribute(ie,\"\"),n.markedElements.push(i.parentElement)):c&&(i.setAttribute(ne,\"\"),n.markedElements.push(i)))}),n}function Xe(e){return e?Array.from(e).map(t=>Array.from(t.cssRules).map(o=>o.cssText).join(`\n`)):[]}function $t(e,t,o,s,n,r,a){let i=o.tagName&&o.tagName.toUpperCase();if(i==\"CANVAS\")try{n.canvases.push({dataURI:o.toDataURL(\"image/png\",\"\"),backgroundColor:a.getPropertyValue(\"background-color\")}),o.setAttribute(Ae,n.canvases.length-1),n.markedElements.push(o)}catch{}if(i==\"IMG\"){let c={currentSrc:r?Kt:s.loadDeferredImages&&o.getAttribute(H)||o.currentSrc};if(n.images.push(c),o.setAttribute(de,n.images.length-1),n.markedElements.push(o),o.removeAttribute(H),a=a||C(e,o),a){c.size=to(e,o,a);let l=a.getPropertyValue(\"box-shadow\"),d=a.getPropertyValue(\"background-image\");(!l||l==\"none\")&&(!d||d==\"none\")&&(c.size.pxWidth>1||c.size.pxHeight>1)&&(c.replaceable=!0,c.backgroundColor=a.getPropertyValue(\"background-color\"),c.objectFit=a.getPropertyValue(\"object-fit\"),c.boxSizing=a.getPropertyValue(\"box-sizing\"),c.objectPosition=a.getPropertyValue(\"object-position\"))}}if(i==\"VIDEO\"){let c=o.currentSrc;if(c&&!c.startsWith(\"blob:\")&&!c.startsWith(\"data:\")){let l=C(e,o.parentNode);n.videos.push({positionParent:l&&l.getPropertyValue(\"position\"),src:c,size:{pxWidth:o.clientWidth,pxHeight:o.clientHeight},currentTime:o.currentTime}),o.setAttribute(fe,n.videos.length-1)}if(!o.getAttribute(\"poster\")){let l=t.createElement(\"canvas\"),d=l.getContext(\"2d\");l.width=o.clientWidth,l.height=o.clientHeight;try{d.drawImage(o,0,0,l.width,l.height),n.posters.push(l.toDataURL(\"image/png\",\"\")),o.setAttribute(Ee,n.posters.length-1),n.markedElements.push(o)}catch{}}}i==\"IFRAME\"&&r&&s.removeHiddenElements&&(o.setAttribute(ae,\"\"),n.markedElements.push(o)),i==\"INPUT\"&&(o.type!=\"password\"&&(o.setAttribute(v,o.value),n.markedElements.push(o)),(o.type==\"radio\"||o.type==\"checkbox\")&&(o.setAttribute(v,o.checked),n.markedElements.push(o))),i==\"TEXTAREA\"&&(o.setAttribute(v,o.value),n.markedElements.push(o)),i==\"SELECT\"&&o.querySelectorAll(\"option\").forEach(c=>{c.selected&&(c.setAttribute(v,\"\"),n.markedElements.push(c))}),i==\"SCRIPT\"&&(o.async&&o.getAttribute(\"async\")!=\"\"&&o.getAttribute(\"async\")!=\"async\"&&(o.setAttribute(Te,\"\"),n.markedElements.push(o)),o.textContent=o.textContent.replace(/<\\/script>/gi,\"<\\\\/script>\"))}function k(e,t,o){if(e){let s=e.getPropertyValue(\"font-style\")||\"normal\";e.getPropertyValue(\"font-family\").split(\",\").forEach(n=>{if(n=We(n),!t.loadedFonts||t.loadedFonts.find(r=>We(r.family)==n&&r.style==s)){let r=no(e.getPropertyValue(\"font-weight\")),a=e.getPropertyValue(\"font-variant\")||\"normal\",i=[n,r,s,a];o.set(jt.stringify(i),[n,r,s,a])}})}}function x(e){let t=globalThis.chrome;if(e.openOrClosedShadowRoot)return e.openOrClosedShadowRoot;if(t&&t.dom&&t.dom.openOrClosedShadowRoot)try{return t.dom.openOrClosedShadowRoot(e)}catch{return e.shadowRoot}else return e.shadowRoot}function We(e=\"\"){return so(Ge(e.trim())).toLowerCase()}function Ze(e,t){let o=!1;if(t){let s=t.getPropertyValue(\"display\"),n=t.getPropertyValue(\"opacity\"),r=t.getPropertyValue(\"visibility\");if(o=s==\"none\",!o&&(n==\"0\"||r==\"hidden\")&&e.getBoundingClientRect){let a=e.getBoundingClientRect();o=!a.width&&!a.height}}return!!o}function Y(e,t,o){if(e.querySelectorAll(\"[\"+V+\"]\").forEach(s=>{s.textContent=s.getAttribute(V),s.removeAttribute(V)}),e.querySelectorAll(\"meta[disabled-http-equiv]\").forEach(s=>{s.setAttribute(\"http-equiv\",s.getAttribute(\"disabled-http-equiv\")),s.removeAttribute(\"disabled-http-equiv\")}),e.head&&e.head.querySelectorAll(\"*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)\").forEach(s=>s.removeAttribute(\"hidden\")),!t){let s=[ne,ae,re,ce,de,Ee,fe,Ae,v,le,ue,Te];t=e.querySelectorAll(s.map(n=>\"[\"+n+\"]\").join(\",\"))}t.forEach(s=>{s.removeAttribute(ne),s.removeAttribute(re),s.removeAttribute(ie),s.removeAttribute(ae),s.removeAttribute(ce),s.removeAttribute(de),s.removeAttribute(Ee),s.removeAttribute(fe),s.removeAttribute(Ae),s.removeAttribute(v),s.removeAttribute(le),s.removeAttribute(ue),s.removeAttribute(Te),s.removeAttribute(Qe)}),o&&o.forEach((s,n)=>s.replaceWith(n))}function eo(e){if(e){let t=[];return e.querySelectorAll(\"style\").forEach((o,s)=>{try{if(!o.sheet.disabled){let n=e.createElement(\"style\");n.textContent=o.textContent,e.body.appendChild(n);let r=n.sheet;n.remove();let a=Array.from(r.cssRules).map(c=>c.cssText).join(`\n`),i=Array.from(o.sheet.cssRules).map(c=>c.cssText).join(`\n`);(!r||a!=i)&&(o.setAttribute(ue,s),t[s]=Array.from(o.sheet.cssRules).map(c=>c.cssText).join(`\n`))}}catch{}}),t}}function to(e,t,o){let s=t.naturalWidth,n=t.naturalHeight;if(!s&&!n){let r=t.getAttribute(\"style\")==null;if(o=o||C(e,t),o){let a=!1;if(o.getPropertyValue(\"box-sizing\")==\"content-box\"){let De=t.style.getPropertyValue(\"box-sizing\"),Tt=t.style.getPropertyPriority(\"box-sizing\"),ht=t.clientWidth;t.style.setProperty(\"box-sizing\",\"border-box\",\"important\"),a=t.clientWidth!=ht,De?t.style.setProperty(\"box-sizing\",De,Tt):t.style.removeProperty(\"box-sizing\")}let i,c,l,d,f,A,S,B;i=O(\"padding-left\",o),c=O(\"padding-right\",o),l=O(\"padding-top\",o),d=O(\"padding-bottom\",o),a?(f=O(\"border-left-width\",o),A=O(\"border-right-width\",o),S=O(\"border-top-width\",o),B=O(\"border-bottom-width\",o)):f=A=S=B=0,s=Math.max(0,t.clientWidth-i-c-f-A),n=Math.max(0,t.clientHeight-l-d-S-B),r&&t.removeAttribute(\"style\")}}return{pxWidth:s,pxHeight:n}}function O(e,t){if(t.getPropertyValue(e).endsWith(\"px\"))return parseFloat(t.getPropertyValue(e))}function oo(){return Fe()}function $e(e){let t=e.doctype,o=\"\";return t&&(o=\"<!DOCTYPE \"+t.nodeName,t.publicId?(o+=' PUBLIC \"'+t.publicId+'\"',t.systemId&&(o+=' \"'+t.systemId+'\"')):t.systemId&&(o+=' SYSTEM \"'+t.systemId+'\"'),t.internalSubset&&(o+=\" [\"+t.internalSubset+\"]\"),o+=\"> \"),o+e.documentElement.outerHTML}function so(e){return e.match(ze)?e=e.replace(ze,\"$1\"):e=e.replace(zt,\"$1\"),e.trim()}function no(e){return Yt[e.toLowerCase().trim()]||e}function C(e,t,o){try{return e.getComputedStyle(t,o)}catch{}}var be={LAZY_SRC_ATTRIBUTE_NAME:H,SINGLE_FILE_UI_ELEMENT_CLASS:ge},ro=10,io=\"attributes\",g=globalThis.browser,h=globalThis.document,ao=globalThis.MutationObserver,I=new Map,me;g&&g.runtime&&g.runtime.onMessage&&g.runtime.onMessage.addListener&&g.runtime.onMessage.addListener(e=>{if(e.method==\"singlefile.lazyTimeout.onTimeout\"){let t=I.get(e.type);if(t){I.delete(e.type);try{t.callback()}catch{_e(e.type)}}}});async function tt(e){if(h.documentElement){I.clear();let t=h.body?Math.max(h.body.scrollHeight,h.documentElement.scrollHeight):h.documentElement.scrollHeight,o=h.body?Math.max(h.body.scrollWidth,h.documentElement.scrollWidth):h.documentElement.scrollWidth;if(t>globalThis.innerHeight||o>globalThis.innerWidth){let s=Math.max(t-globalThis.innerHeight*1.5,0),n=Math.max(o-globalThis.innerWidth*1.5,0);if(globalThis.scrollY<s||globalThis.scrollX<n)return co(e)}}}function co(e){return me=0,new Promise(async t=>{let o,s=new Set,n=new ao(async d=>{d=d.filter(f=>f.type==io),d.length&&d.filter(A=>{if(A.attributeName==\"src\"&&(A.target.setAttribute(be.LAZY_SRC_ATTRIBUTE_NAME,A.target.src),A.target.addEventListener(\"load\",a)),A.attributeName==\"src\"||A.attributeName==\"srcset\"||A.target.tagName&&A.target.tagName.toUpperCase()==\"SOURCE\")return!A.target.classList||!A.target.classList.contains(be.SINGLE_FILE_UI_ELEMENT_CLASS)}).length&&(o=!0,await K(n,e,l),s.size||await W(n,e,l))});await r(e.loadDeferredImagesMaxIdleTime*2),await K(n,e,l),n.observe(h,{subtree:!0,childList:!0,attributes:!0}),h.addEventListener(ee,i),h.addEventListener(te,c),Be(e);async function r(d){await Q(\"idleTimeout\",async()=>{o?me<ro&&(me++,U(\"idleTimeout\"),await r(Math.max(500,d/2))):(U(\"loadTimeout\"),U(\"maxTimeout\"),Ie(n,e,l))},d,e.loadDeferredImagesNativeTimeout)}function a(d){let f=d.target;f.removeAttribute(be.LAZY_SRC_ATTRIBUTE_NAME),f.removeEventListener(\"load\",a)}async function i(d){o=!0,await K(n,e,l),await W(n,e,l),d.detail&&s.add(d.detail)}async function c(d){await K(n,e,l),await W(n,e,l),s.delete(d.detail),s.size||await W(n,e,l)}function l(d){n.disconnect(),h.removeEventListener(ee,i),h.removeEventListener(te,c),t(d)}})}async function W(e,t,o){await Q(\"loadTimeout\",()=>Ie(e,t,o),t.loadDeferredImagesMaxIdleTime,t.loadDeferredImagesNativeTimeout)}async function K(e,t,o){await Q(\"maxTimeout\",async()=>{await U(\"loadTimeout\"),await Ie(e,t,o)},t.loadDeferredImagesMaxIdleTime*10,t.loadDeferredImagesNativeTimeout)}async function Ie(e,t,o){await U(\"idleTimeout\"),Ve(t),await Q(\"endTimeout\",async()=>{await U(\"maxTimeout\"),o()},t.loadDeferredImagesMaxIdleTime/2,t.loadDeferredImagesNativeTimeout),e.disconnect()}async function Q(e,t,o,s){if(g&&g.runtime&&g.runtime.sendMessage&&!s){if(!I.get(e)||!I.get(e).pending){let n={callback:t,pending:!0};I.set(e,n);try{await g.runtime.sendMessage({method:\"singlefile.lazyTimeout.setTimeout\",type:e,delay:o})}catch{et(e,t,o)}n.pending=!1}}else et(e,t,o)}function et(e,t,o){let s=I.get(e);s&&globalThis.clearTimeout(s),I.set(e,t),globalThis.setTimeout(t,o)}async function U(e){if(g&&g.runtime&&g.runtime.sendMessage)try{await g.runtime.sendMessage({method:\"singlefile.lazyTimeout.clearTimeout\",type:e})}catch{_e(e)}else _e(e)}function _e(e){let t=I.get(e);I.delete(e),t&&globalThis.clearTimeout(t)}var m={ON_BEFORE_CAPTURE_EVENT_NAME:q,ON_AFTER_CAPTURE_EVENT_NAME:J,WIN_ID_ATTRIBUTE_NAME:Ke,WAIT_FOR_USERSCRIPT_PROPERTY_NAME:L,preProcessDoc:z,serialize:$e,postProcessDoc:Y,getShadowRoot:x},ot='iframe, frame, object[type=\"text/html\"][data]',Eo=\"*\",nt=\"singlefile.frameTree.initRequest\",Re=\"singlefile.frameTree.ackInitRequest\",rt=\"singlefile.frameTree.cleanupRequest\",Se=\"singlefile.frameTree.initResponse\",st=\"*\",it=5e3,fo=1e4,Ao=\"0\",M=\".\",P=globalThis.window==globalThis.top,N=globalThis.browser,Ne=globalThis.top,uo=globalThis.MessageChannel,R=globalThis.document,w=globalThis.JSON,To=globalThis.MutationObserver,p=globalThis.sessions;p||(p=globalThis.sessions=new Map);var b;P&&(b=Ao,N&&N.runtime&&N.runtime.onMessage&&N.runtime.onMessage.addListener&&N.runtime.onMessage.addListener(e=>{if(e.method==Se)return Oe(e),Promise.resolve({});if(e.method==Re)return j(\"requestTimeouts\",e.sessionId,e.windowId),Et(e.sessionId,e.windowId),Promise.resolve({})}));at();new To(at).observe(R,{childList:!0});function at(){globalThis.addEventListener(\"message\",async e=>{if(typeof e.data==\"string\"&&e.data.startsWith(D)){e.preventDefault(),e.stopPropagation();let t=w.parse(e.data.substring(D.length));if(t.method==nt)e.source&&X(e.source,{method:Re,windowId:t.windowId,sessionId:t.sessionId}),P||(globalThis.stop(),t.options.loadDeferredImages&&tt(t.options),await lt(t));else if(t.method==Re)j(\"requestTimeouts\",t.sessionId,t.windowId),Et(t.sessionId,t.windowId);else if(t.method==rt)dt(t);else if(t.method==Se&&p.get(t.sessionId)){let o=e.ports[0];o.onmessage=s=>Oe(s.data)}}},!0)}function ho(e){let t=ct();return e=w.parse(w.stringify(e)),new Promise(o=>{p.set(t,{frames:[],requestTimeouts:{},responseTimeouts:{},resolve:s=>{s.sessionId=t,o(s)}}),lt({windowId:b,sessionId:t,options:e})})}function go(e){let t=ct();e=w.parse(w.stringify(e)),p.set(t,{frames:[],requestTimeouts:{},responseTimeouts:{}}),bo({windowId:b,sessionId:t,options:e});let o=p.get(t).frames;return o.sessionId=t,o}function po(e){p.delete(e),dt({windowId:b,sessionId:e,options:{sessionId:e}})}function ct(){return globalThis.crypto.getRandomValues(new Uint32Array(32)).join(\"\")}function bo(e){let t=e.sessionId,o=globalThis[m.WAIT_FOR_USERSCRIPT_PROPERTY_NAME];delete globalThis._singleFile_cleaningUp,P||(b=globalThis.frameId=e.windowId),Ce(R,e.options,b,t),P||(e.options.userScriptEnabled&&o&&o(m.ON_BEFORE_CAPTURE_EVENT_NAME),F({frames:[Me(R,globalThis,b,e.options,e.scrolling)],sessionId:t,requestedFrameId:R.documentElement.dataset.requestedFrameId&&b}),e.options.userScriptEnabled&&o&&o(m.ON_AFTER_CAPTURE_EVENT_NAME),delete R.documentElement.dataset.requestedFrameId)}async function lt(e){let t=e.sessionId,o=globalThis[m.WAIT_FOR_USERSCRIPT_PROPERTY_NAME];delete globalThis._singleFile_cleaningUp,P||(b=globalThis.frameId=e.windowId),Ce(R,e.options,b,t),P||(e.options.userScriptEnabled&&o&&await o(m.ON_BEFORE_CAPTURE_EVENT_NAME),F({frames:[Me(R,globalThis,b,e.options,e.scrolling)],sessionId:t,requestedFrameId:R.documentElement.dataset.requestedFrameId&&b}),e.options.userScriptEnabled&&o&&await o(m.ON_AFTER_CAPTURE_EVENT_NAME),delete R.documentElement.dataset.requestedFrameId)}function dt(e){if(!globalThis._singleFile_cleaningUp){globalThis._singleFile_cleaningUp=!0;let t=e.sessionId;ft(we(R),e.windowId,t)}}function Oe(e){e.frames.forEach(o=>j(\"responseTimeouts\",e.sessionId,o.windowId));let t=p.get(e.sessionId);t&&(e.requestedFrameId&&(t.requestedFrameId=e.requestedFrameId),e.frames.forEach(s=>{let n=t.frames.find(r=>s.windowId==r.windowId);n||(n={windowId:s.windowId},t.frames.push(n)),n.processed||(n.content=s.content,n.baseURI=s.baseURI,n.title=s.title,n.url=s.url,n.canvases=s.canvases,n.fonts=s.fonts,n.stylesheets=s.stylesheets,n.images=s.images,n.posters=s.posters,n.videos=s.videos,n.usedFonts=s.usedFonts,n.shadowRoots=s.shadowRoots,n.processed=s.processed,n.scrollPosition=s.scrollPosition,n.scrolling=s.scrolling,n.adoptedStyleSheets=s.adoptedStyleSheets)}),t.frames.filter(s=>!s.processed).length||(t.frames=t.frames.sort((s,n)=>n.windowId.split(M).length-s.windowId.split(M).length),t.resolve&&(t.requestedFrameId&&t.frames.forEach(s=>{s.windowId==t.requestedFrameId&&(s.requestedFrame=!0)}),t.resolve(t.frames))))}function Ce(e,t,o,s){let n=we(e);mo(e,n,t,o,s),n.length&&_o(e,n,t,o,s)}function mo(e,t,o,s,n){let r=[],a;p.get(n)?a=p.get(n).requestTimeouts:(a={},p.set(n,{requestTimeouts:a})),t.forEach((i,c)=>{let l=s+M+c;i.setAttribute(m.WIN_ID_ATTRIBUTE_NAME,l),r.push({windowId:l})}),F({frames:r,sessionId:n,requestedFrameId:e.documentElement.dataset.requestedFrameId&&s}),t.forEach((i,c)=>{let l=s+M+c;try{X(i.contentWindow,{method:nt,windowId:l,sessionId:n,options:o,scrolling:i.scrolling})}catch{}a[l]=globalThis.setTimeout(()=>F({frames:[{windowId:l,processed:!0}],sessionId:n}),it)}),delete e.documentElement.dataset.requestedFrameId}function _o(e,t,o,s,n){let r=[];t.forEach((a,i)=>{let c=s+M+i,l;try{l=a.contentDocument}catch{}if(l)try{let d=a.contentWindow;d.stop(),j(\"requestTimeouts\",n,c),Ce(l,o,c,n),r.push(Me(l,d,c,o,a.scrolling))}catch{r.push({windowId:c,processed:!0})}}),F({frames:r,sessionId:n,requestedFrameId:e.documentElement.dataset.requestedFrameId&&s}),delete e.documentElement.dataset.requestedFrameId}function j(e,t,o){let s=p.get(t);if(s&&s[e]){let n=s[e][o];n&&(globalThis.clearTimeout(n),delete s[e][o])}}function Et(e,t){let o=p.get(e);o&&o.responseTimeouts&&(o.responseTimeouts[t]=globalThis.setTimeout(()=>F({frames:[{windowId:t,processed:!0}],sessionId:e}),fo))}function ft(e,t,o){e.forEach((s,n)=>{let r=t+M+n;s.removeAttribute(m.WIN_ID_ATTRIBUTE_NAME);try{X(s.contentWindow,{method:rt,windowId:r,sessionId:o})}catch{}}),e.forEach((s,n)=>{let r=t+M+n,a;try{a=s.contentDocument}catch{}if(a)try{ft(we(a),r,o)}catch{}})}function F(e){e.method=Se;try{Ne.singlefile.processors.frameTree.initResponse(e)}catch{X(Ne,e,!0)}}function X(e,t,o){if(e==Ne&&N&&N.runtime&&N.runtime.sendMessage)N.runtime.sendMessage(t);else if(o){let s=new uo;e.postMessage(D+w.stringify({method:t.method,sessionId:t.sessionId}),st,[s.port2]),s.port1.postMessage(t)}else e.postMessage(D+w.stringify(t),st)}function Me(e,t,o,s,n){let r=m.preProcessDoc(e,t,s),a=m.serialize(e);m.postProcessDoc(e,r.markedElements,r.invalidElements);let i=e.baseURI.split(\"#\")[0];return{windowId:o,content:a,baseURI:i,url:e.location.href,title:e.title,canvases:r.canvases,fonts:r.fonts,stylesheets:r.stylesheets,images:r.images,posters:r.posters,videos:r.videos,usedFonts:r.usedFonts,shadowRoots:r.shadowRoots,scrollPosition:r.scrollPosition,scrolling:n,adoptedStyleSheets:r.adoptedStyleSheets,processed:!0}}function we(e){let t=Array.from(e.querySelectorAll(ot));return e.querySelectorAll(Eo).forEach(o=>{let s=m.getShadowRoot(o);s&&(t=t.concat(...s.querySelectorAll(ot)))}),t}var Io=[\"AREA\",\"BASE\",\"BR\",\"COL\",\"COMMAND\",\"EMBED\",\"HR\",\"IMG\",\"INPUT\",\"KEYGEN\",\"LINK\",\"META\",\"PARAM\",\"SOURCE\",\"TRACK\",\"WBR\"];var Ro=[{tagName:\"HEAD\",accept:e=>!e.childNodes.length||e.childNodes[0].nodeType==1},{tagName:\"BODY\",accept:e=>!e.childNodes.length}],No=[{tagName:\"HTML\",accept:e=>!e||e.nodeType!=8},{tagName:\"HEAD\",accept:e=>!e||e.nodeType!=8&&(e.nodeType!=3||!Le(e.textContent))},{tagName:\"BODY\",accept:e=>!e||e.nodeType!=8},{tagName:\"LI\",accept:(e,t)=>!e&&t.parentElement&&(u(t.parentElement)==\"UL\"||u(t.parentElement)==\"OL\")||e&&[\"LI\"].includes(u(e))},{tagName:\"DT\",accept:e=>!e||[\"DT\",\"DD\"].includes(u(e))},{tagName:\"P\",accept:e=>e&&[\"ADDRESS\",\"ARTICLE\",\"ASIDE\",\"BLOCKQUOTE\",\"DETAILS\",\"DIV\",\"DL\",\"FIELDSET\",\"FIGCAPTION\",\"FIGURE\",\"FOOTER\",\"FORM\",\"H1\",\"H2\",\"H3\",\"H4\",\"H5\",\"H6\",\"HEADER\",\"HR\",\"MAIN\",\"NAV\",\"OL\",\"P\",\"PRE\",\"SECTION\",\"TABLE\",\"UL\"].includes(u(e))},{tagName:\"DD\",accept:e=>!e||[\"DT\",\"DD\"].includes(u(e))},{tagName:\"RT\",accept:e=>!e||[\"RT\",\"RP\"].includes(u(e))},{tagName:\"RP\",accept:e=>!e||[\"RT\",\"RP\"].includes(u(e))},{tagName:\"OPTGROUP\",accept:e=>!e||[\"OPTGROUP\"].includes(u(e))},{tagName:\"OPTION\",accept:e=>!e||[\"OPTION\",\"OPTGROUP\"].includes(u(e))},{tagName:\"COLGROUP\",accept:e=>!e||e.nodeType!=8&&(e.nodeType!=3||!Le(e.textContent))},{tagName:\"CAPTION\",accept:e=>!e||e.nodeType!=8&&(e.nodeType!=3||!Le(e.textContent))},{tagName:\"THEAD\",accept:e=>!e||[\"TBODY\",\"TFOOT\"].includes(u(e))},{tagName:\"TBODY\",accept:e=>!e||[\"TBODY\",\"TFOOT\"].includes(u(e))},{tagName:\"TFOOT\",accept:e=>!e},{tagName:\"TR\",accept:e=>!e||[\"TR\"].includes(u(e))},{tagName:\"TD\",accept:e=>!e||[\"TD\",\"TH\"].includes(u(e))},{tagName:\"TH\",accept:e=>!e||[\"TD\",\"TH\"].includes(u(e))}],So=[\"STYLE\",\"SCRIPT\",\"XMP\",\"IFRAME\",\"NOEMBED\",\"NOFRAMES\",\"PLAINTEXT\",\"NOSCRIPT\"];function At(e,t){let o=e.doctype,s=\"\";return o&&(s=\"<!DOCTYPE \"+o.nodeName,o.publicId?(s+=' PUBLIC \"'+o.publicId+'\"',o.systemId&&(s+=' \"'+o.systemId+'\"')):o.systemId&&(s+=' SYSTEM \"'+o.systemId+'\"'),o.internalSubset&&(s+=\" [\"+o.internalSubset+\"]\"),s+=\"> \"),s+ut(e.documentElement,t)}function ut(e,t,o){if(e.nodeType==3)return Oo(e);if(e.nodeType==8)return Co(e);if(e.nodeType==1)return Mo(e,t,o)}function Oo(e){let t=e.parentNode,o;return t&&t.nodeType==1&&(o=u(t)),!o||So.includes(o)?o==\"SCRIPT\"||o==\"STYLE\"?e.textContent.replace(/<\\//gi,\"<\\\\/\").replace(/\\/>/gi,\"\\\\/>\"):e.textContent:e.textContent.replace(/&/g,\"&\").replace(/\\u00a0/g,\" \").replace(/</g,\"<\").replace(/>/g,\">\")}function Co(e){return\"<!--\"+e.textContent+\"-->\"}function Mo(e,t,o){let s=u(e),n=t&&Ro.find(i=>s==u(i)&&i.accept(e)),r=\"\";(!n||e.attributes.length)&&(r=\"<\"+s.toLowerCase(),Array.from(e.attributes).forEach(i=>r+=wo(i,e,t)),r+=\">\"),s==\"TEMPLATE\"&&!e.childNodes.length?r+=e.innerHTML:Array.from(e.childNodes).forEach(i=>r+=ut(i,t,o||s==\"svg\"));let a=t&&No.find(i=>s==u(i)&&i.accept(e.nextSibling,e));return(o||!a&&!Io.includes(s))&&(r+=\"</\"+s.toLowerCase()+\">\"),r}function wo(e,t,o){let s=e.name,n=\"\";if(!s.match(/[\"'>/=]/)){let r=e.value;o&&s==\"class\"&&(r=Array.from(t.classList).map(c=>c.trim()).join(\" \"));let a;r=r.replace(/&/g,\"&\").replace(/\\u00a0/g,\" \"),r.includes('\"')&&(r.includes(\"'\")||!o?r=r.replace(/\"/g,\""\"):a=!0);let i=!o||r.match(/[ \\t\\n\\f\\r'\"`=<>]/);n+=\" \",e.namespace?e.namespaceURI==\"http://www.w3.org/XML/1998/namespace\"?n+=\"xml:\"+s:e.namespaceURI==\"http://www.w3.org/2000/xmlns/\"?(s!==\"xmlns\"&&(n+=\"xmlns:\"),n+=s):e.namespaceURI==\"http://www.w3.org/1999/xlink\"?n+=\"xlink:\"+s:n+=s:n+=s,r!=\"\"&&(n+=\"=\",i&&(n+=a?\"'\":'\"'),n+=r,i&&(n+=a?\"'\":'\"'))}return n}function Le(e){return!!e.match(/^[ \\t\\n\\f\\r]/)}function u(e){return e.tagName&&e.tagName.toUpperCase()}var Lo={frameTree:ye},Do={COMMENT_HEADER:oe,COMMENT_HEADER_LEGACY:je,ON_BEFORE_CAPTURE_EVENT_NAME:q,ON_AFTER_CAPTURE_EVENT_NAME:J,WAIT_FOR_USERSCRIPT_PROPERTY_NAME:L,preProcessDoc:z,postProcessDoc:Y,serialize(e,t){return At(e,t)},getShadowRoot:x};pe();return _t(vo);})();\n;var zip=(()=>{var cr=(x,oe)=>()=>(oe||x((oe={exports:{}}).exports,oe),oe.exports);var lr=cr((rt,ws)=>{((x,oe)=>{typeof rt==\"object\"&&typeof ws<\"u\"?oe(rt):typeof define==\"function\"&&define.amd?define([\"exports\"],oe):oe((x=typeof globalThis<\"u\"?globalThis:x||self).zip={})})(rt,function(x){\"use strict\";let{Array:oe,Object:_,String:Bt,Number:at,BigInt:Vt,Math:W,Date:it,Map:gs,Set:fr,Response:Ht,URL:ms,Error:U,Uint8Array:O,Uint16Array:ys,Uint32Array:jt,DataView:We,Blob:ur,Promise:be,TextEncoder:Gt,TextDecoder:ot,document:hr,crypto:xe,btoa:Xt,TransformStream:ce,ReadableStream:qt,WritableStream:Le,CompressionStream:Jt,DecompressionStream:$t,navigator:ct,Worker:Xe}=typeof globalThis<\"u\"?globalThis:this||self;var H=O,le=ys,lt=Int32Array,qe=new H([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Je=new H([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),ft=new H([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Qt=(t,e)=>{for(var n=new le(31),s=0;31>s;++s)n[s]=e+=1<<t[s-1];var r=new lt(n[30]);for(s=1;30>s;++s)for(var a=n[s];a<n[s+1];++a)r[a]=a-n[s]<<5|s;return{b:n,r}},Zt=Qt(qe,2),Yt=Zt.b,ut=Zt.r;Yt[28]=258,ut[258]=28;for(var Kt=Qt(Je,0),bs=Kt.b,en=Kt.r,ht=new le(32768),M=0;32768>M;++M){var Ee=(43690&M)>>1|(21845&M)<<1;Ee=(61680&(Ee=(52428&Ee)>>2|(13107&Ee)<<2))>>4|(3855&Ee)<<4,ht[M]=((65280&Ee)>>8|(255&Ee)<<8)>>1}var we=(t,e,n)=>{for(var s=t.length,r=0,a=new le(e);s>r;++r)t[r]&&++a[t[r]-1];var i,o=new le(e);for(r=1;e>r;++r)o[r]=o[r-1]+a[r-1]<<1;if(n){i=new le(1<<e);var l=15-e;for(r=0;s>r;++r)if(t[r])for(var f=r<<4|t[r],c=e-t[r],h=o[t[r]-1]++<<c,p=h|(1<<c)-1;p>=h;++h)i[ht[h]>>l]=f}else for(i=new le(s),r=0;s>r;++r)t[r]&&(i[r]=ht[o[t[r]-1]++]>>15-t[r]);return i},ve=new H(288);for(M=0;144>M;++M)ve[M]=8;for(M=144;256>M;++M)ve[M]=9;for(M=256;280>M;++M)ve[M]=7;for(M=280;288>M;++M)ve[M]=8;var Ne=new H(32);for(M=0;32>M;++M)Ne[M]=5;var vs=we(ve,9,0),ks=we(ve,9,1),Ss=we(Ne,5,0),_s=we(Ne,5,1),dt=t=>{for(var e=t[0],n=1;n<t.length;++n)t[n]>e&&(e=t[n]);return e},de=(t,e,n)=>{var s=e/8|0;return(t[s]|t[s+1]<<8)>>(7&e)&n},pt=(t,e)=>{var n=e/8|0;return(t[n]|t[n+1]<<8|t[n+2]<<16)>>(7&e)},wt=t=>(t+7)/8|0,Me=(t,e,n)=>((e==null||0>e)&&(e=0),(n==null||n>t.length)&&(n=t.length),new H(t.subarray(e,n))),zs=[\"unexpected EOF\",\"invalid block type\",\"invalid length/literal\",\"invalid distance\",\"stream finished\",\"no stream handler\",,\"no callback\",\"invalid UTF-8 data\",\"extra field too long\",\"date not in range 1980-2099\",\"filename too long\",\"stream finishing\",\"invalid zip data\"],fe=(t,e,n)=>{var s=new U(e||zs[t]);if(s.code=t,U.captureStackTrace&&U.captureStackTrace(s,fe),!n)throw s;return s},ye=(t,e,n)=>{n<<=7&e;var s=e/8|0;t[s]|=n,t[s+1]|=n>>8},Ie=(t,e,n)=>{n<<=7&e;var s=e/8|0;t[s]|=n,t[s+1]|=n>>8,t[s+2]|=n>>16},gt=(t,e)=>{for(var n=[],s=0;s<t.length;++s)t[s]&&n.push({s,f:t[s]});var r=n.length,a=n.slice();if(!r)return{t:rn,l:0};if(r==1){var i=new H(n[0].s+1);return i[n[0].s]=1,{t:i,l:1}}n.sort((R,E)=>R.f-E.f),n.push({s:-1,f:25001});var o=n[0],l=n[1],f=0,c=1,h=2;for(n[0]={s:-1,f:o.f+l.f,l:o,r:l};c!=r-1;)o=n[n[f].f<n[h].f?f++:h++],l=n[f!=c&&n[f].f<n[h].f?f++:h++],n[c++]={s:-1,f:o.f+l.f,l:o,r:l};var p=a[0].s;for(s=1;r>s;++s)a[s].s>p&&(p=a[s].s);var u=new le(p+1),d=mt(n[c-1],u,0);if(d>e){s=0;var w=0,y=d-e,g=1<<y;for(a.sort((R,E)=>u[E.s]-u[R.s]||R.f-E.f);r>s;++s){var m=a[s].s;if(u[m]<=e)break;w+=g-(1<<d-u[m]),u[m]=e}for(w>>=y;w>0;){var v=a[s].s;u[v]<e?w-=1<<e-u[v]++-1:++s}for(;s>=0&&w;--s){var b=a[s].s;u[b]==e&&(--u[b],++w)}d=e}return{t:new H(u),l:d}},mt=(t,e,n)=>t.s==-1?W.max(mt(t.l,e,n+1),mt(t.r,e,n+1)):e[t.s]=n,tn=t=>{for(var e=t.length;e&&!t[--e];);for(var n=new le(++e),s=0,r=t[0],a=1,i=l=>{n[s++]=l},o=1;e>=o;++o)if(t[o]==r&&o!=e)++a;else{if(!r&&a>2){for(;a>138;a-=138)i(32754);a>2&&(i(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(i(r),--a;a>6;a-=6)i(8304);a>2&&(i(a-3<<5|8208),a=0)}for(;a--;)i(r);a=1,r=t[o]}return{c:n.subarray(0,s),n:e}},Pe=(t,e)=>{for(var n=0,s=0;s<e.length;++s)n+=t[s]*e[s];return n},nn=(t,e,n)=>{var s=n.length,r=wt(e+2);t[r]=255&s,t[r+1]=s>>8,t[r+2]=255^t[r],t[r+3]=255^t[r+1];for(var a=0;s>a;++a)t[r+a+4]=n[a];return 8*(r+4+s)},sn=(t,e,n,s,r,a,i,o,l,f,c)=>{ye(e,c++,n),++r[256];for(var h=gt(r,15),p=h.t,u=h.l,d=gt(a,15),w=d.t,y=d.l,g=tn(p),m=g.c,v=g.n,b=tn(w),R=b.c,E=b.n,F=new le(19),z=0;z<m.length;++z)++F[31&m[z]];for(z=0;z<R.length;++z)++F[31&R[z]];for(var C=gt(F,7),D=C.t,L=C.l,T=19;T>4&&!D[ft[T-1]];--T);var B,V,G,k,A=f+5<<3,q=Pe(r,ve)+Pe(a,Ne)+i,S=Pe(r,p)+Pe(a,w)+i+14+3*T+Pe(F,D)+2*F[16]+3*F[17]+7*F[18];if(l>=0&&q>=A&&S>=A)return nn(e,c,t.subarray(l,l+f));if(ye(e,c,1+(q>S)),c+=2,q>S){B=we(p,u,0),V=p,G=we(w,y,0),k=w;var Z=we(D,L,0);for(ye(e,c,v-257),ye(e,c+5,E-1),ye(e,c+10,T-4),c+=14,z=0;T>z;++z)ye(e,c+3*z,D[ft[z]]);c+=3*T;for(var X=[m,R],Y=0;2>Y;++Y){var ae=X[Y];for(z=0;z<ae.length;++z){var P=31&ae[z];ye(e,c,Z[P]),c+=D[P],P>15&&(ye(e,c,ae[z]>>5&127),c+=ae[z]>>12)}}}else B=vs,V=ve,G=Ss,k=Ne;for(z=0;o>z;++z){var N=s[z];if(N>255){Ie(e,c,B[257+(P=N>>18&31)]),c+=V[P+257],P>7&&(ye(e,c,N>>23&31),c+=qe[P]);var te=31&N;Ie(e,c,G[te]),c+=k[te],te>3&&(Ie(e,c,N>>5&8191),c+=Je[te])}else Ie(e,c,B[N]),c+=V[N]}return Ie(e,c,B[256]),c+V[256]},Ds=new lt([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),rn=new H(0),Rs=function(){function t(e,n){if(typeof e==\"function\"&&(n=e,e={}),this.ondata=n,this.o=e||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new H(98304),this.o.dictionary){var s=this.o.dictionary.subarray(-32768);this.b.set(s,32768-s.length),this.s.i=32768-s.length}}return t.prototype.p=function(e,n){this.ondata(((s,r,a,i,o)=>{if(!o&&(o={l:1},r.dictionary)){var l=r.dictionary.subarray(-32768),f=new H(l.length+s.length);f.set(l),f.set(s,l.length),s=f,o.w=l.length}return((c,h,p,u,d,w)=>{var y=w.z||c.length,g=new H(0+y+5*(1+W.ceil(y/7e3))+0),m=g.subarray(0,g.length-0),v=w.l,b=7&(w.r||0);if(h){b&&(m[0]=w.r>>3);for(var R=Ds[h-1],E=R>>13,F=8191&R,z=(1<<p)-1,C=w.p||new le(32768),D=w.h||new le(z+1),L=W.ceil(p/3),T=2*L,B=Pt=>(c[Pt]^c[Pt+1]<<L^c[Pt+2]<<T)&z,V=new lt(25e3),G=new le(288),k=new le(32),A=0,q=0,S=w.i||0,Z=0,X=w.w||0,Y=0;y>S+2;++S){var ae=B(S),P=32767&S,N=D[ae];if(C[P]=N,D[ae]=P,S>=X){var te=y-S;if((A>7e3||Z>24576)&&(te>423||!v)){b=sn(c,m,0,V,G,k,q,Z,Y,S-Y,b),Z=A=q=0,Y=S;for(var I=0;286>I;++I)G[I]=0;for(I=0;30>I;++I)k[I]=0}var ne=2,ie=0,De=F,se=P-N&32767;if(te>2&&ae==B(S-se))for(var Te=W.min(E,te)-1,Re=W.min(32767,S),J=W.min(258,te);Re>=se&&--De&&P!=N;){if(c[S+ne]==c[S+ne-se]){for(var K=0;J>K&&c[S+K]==c[S+K-se];++K);if(K>ne){if(ne=K,ie=se,K>Te)break;var Nt=W.min(se,K-2),st=0;for(I=0;Nt>I;++I){var Mt=S-se+I&32767,hs=Mt-C[Mt]&32767;hs>st&&(st=hs,N=Mt)}}}se+=(P=N)-(N=C[P])&32767}if(ie){V[Z++]=268435456|ut[ne]<<18|en[ie];var ds=31&ut[ne],ps=31&en[ie];q+=qe[ds]+Je[ps],++G[257+ds],++k[ps],X=S+ne,++A}else V[Z++]=c[S],++G[c[S]]}}for(S=W.max(S,X);y>S;++S)V[Z++]=c[S],++G[c[S]];b=sn(c,m,v,V,G,k,q,Z,Y,S-Y,b),v||(w.r=7&b|m[b/8|0]<<3,b-=7,w.h=D,w.p=C,w.i=S,w.w=X)}else{for(S=w.w||0;y+v>S;S+=65535){var It=S+65535;y>It||(m[b/8|0]=v,It=y),b=nn(m,b+1,c.subarray(S,It))}w.i=y}return Me(g,0,0+wt(b)+0)})(s,r.level==null?6:r.level,r.mem==null?W.ceil(1.5*W.max(8,W.min(13,W.log(s.length)))):12+r.mem,0,0,o)})(e,this.o,0,0,this.s),n)},t.prototype.push=function(e,n){this.ondata||fe(5),this.s.l&&fe(4);var s=e.length+this.s.z;if(s>this.b.length){if(s>2*this.b.length-32768){var r=new H(-32768&s);r.set(this.b.subarray(0,this.s.z)),this.b=r}var a=this.b.length-this.s.z;a&&(this.b.set(e.subarray(0,a),this.s.z),this.s.z=this.b.length,this.p(this.b,!1)),this.b.set(this.b.subarray(-32768)),this.b.set(e.subarray(a),32768),this.s.z=e.length-a+32768,this.s.i=32766,this.s.w=32768}else this.b.set(e,this.s.z),this.s.z+=e.length;this.s.l=1&n,(this.s.z>this.s.w+8191||n)&&(this.p(this.b,n||!1),this.s.w=this.s.i,this.s.i-=2)},t}(),Es=function(){function t(e,n){typeof e==\"function\"&&(n=e,e={}),this.ondata=n;var s=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:s?s.length:0},this.o=new H(32768),this.p=new H(0),s&&this.o.set(s)}return t.prototype.e=function(e){if(this.ondata||fe(5),this.d&&fe(4),this.p.length){if(e.length){var n=new H(this.p.length+e.length);n.set(this.p),n.set(e,this.p.length),this.p=n}}else this.p=e},t.prototype.c=function(e){this.s.i=+(this.d=e||!1);var n=this.s.b,s=((r,a,i)=>{var o=r.length;if(!o||a.f&&!a.l)return i||new H(0);var l=!i,f=l||a.i!=2,c=a.i;l&&(i=new H(3*o));var h=Re=>{var J=i.length;if(Re>J){var K=new H(W.max(2*J,Re));K.set(i),i=K}},p=a.f||0,u=a.p||0,d=a.b||0,w=a.l,y=a.d,g=a.m,m=a.n,v=8*o;do{if(!w){p=de(r,u,1);var b=de(r,u+1,3);if(u+=3,!b){var R=r[(k=wt(u)+4)-4]|r[k-3]<<8,E=k+R;if(E>o){c&&fe(0);break}f&&h(d+R),i.set(r.subarray(k,E),d),a.b=d+=R,a.p=u=8*E,a.f=p;continue}if(b==1)w=ks,y=_s,g=9,m=5;else if(b==2){var F=de(r,u,31)+257,z=de(r,u+10,15)+4,C=F+de(r,u+5,31)+1;u+=14;for(var D=new H(C),L=new H(19),T=0;z>T;++T)L[ft[T]]=de(r,u+3*T,7);u+=3*z;var B=dt(L),V=(1<<B)-1,G=we(L,B,1);for(T=0;C>T;){var k,A=G[de(r,u,V)];if(u+=15&A,16>(k=A>>4))D[T++]=k;else{var q=0,S=0;for(k==16?(S=3+de(r,u,3),u+=2,q=D[T-1]):k==17?(S=3+de(r,u,7),u+=3):k==18&&(S=11+de(r,u,127),u+=7);S--;)D[T++]=q}}var Z=D.subarray(0,F),X=D.subarray(F);g=dt(Z),m=dt(X),w=we(Z,g,1),y=we(X,m,1)}else fe(1);if(u>v){c&&fe(0);break}}f&&h(d+131072);for(var Y=(1<<g)-1,ae=(1<<m)-1,P=u;;P=u){var N=(q=w[pt(r,u)&Y])>>4;if((u+=15&q)>v){c&&fe(0);break}if(q||fe(2),256>N)i[d++]=N;else{if(N==256){P=u,w=null;break}var te=N-254;if(N>264){var I=qe[T=N-257];te=de(r,u,(1<<I)-1)+Yt[T],u+=I}var ne=y[pt(r,u)&ae],ie=ne>>4;if(ne||fe(3),u+=15&ne,X=bs[ie],ie>3&&(I=Je[ie],X+=pt(r,u)&(1<<I)-1,u+=I),u>v){c&&fe(0);break}f&&h(d+131072);var De=d+te;if(X>d){var se=0-X,Te=W.min(X,De);for(0>se+d&&fe(3);Te>d;++d)i[d]=(void 0)[se+d]}for(;De>d;++d)i[d]=i[d-X]}}a.l=w,a.p=P,a.b=d,a.f=p,w&&(p=1,a.m=g,a.d=y,a.n=m)}while(!p);return d!=i.length&&l?Me(i,0,d):i.subarray(0,d)})(this.p,this.s,this.o);this.ondata(Me(s,n,this.s.b),this.d),this.o=Me(s,this.s.b-32768),this.s.b=this.o.length,this.p=Me(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(e,n){this.e(e),this.c(n)},t}(),Cs=ot!==void 0&&new ot;try{Cs.decode(rn,{stream:!0})}catch{}function an(t,e,n){return class{constructor(r){let a=this;var i,o;i=r,o=\"level\",(typeof _.hasOwn==\"function\"?_.hasOwn(i,o):i.hasOwnProperty(o))&&r.level===void 0&&delete r.level,a.codec=new t(_.assign({},e,r)),n(a.codec,l=>{if(a.pendingData){let f=a.pendingData;a.pendingData=new O(f.length+l.length);let{pendingData:c}=a;c.set(f,0),c.set(l,f.length)}else a.pendingData=new O(l)})}append(r){return this.codec.push(r),s(this)}flush(){return this.codec.push(new O,!0),s(this)}};function s(r){if(r.pendingData){let a=r.pendingData;return r.pendingData=null,a}return new O}}let{Deflate:dr,Inflate:Fs}=((t,e={},n)=>({Deflate:an(t.Deflate,e.deflate,n),Inflate:an(t.Inflate,e.inflate,n)}))({Deflate:Rs,Inflate:Es},void 0,(t,e)=>t.ondata=e),Ce=4294967295,Fe=65535,on=33639248,cn=101075792,pe=void 0,$e=\"undefined\",ln=\"function\";class fn{constructor(e){return class extends ce{constructor(n,s){let r=new e(s);super({transform(a,i){i.enqueue(r.append(a))},flush(a){let i=r.flush();i&&a.enqueue(i)}})}}}}let un=2;try{typeof ct!=$e&&ct.hardwareConcurrency&&(un=ct.hardwareConcurrency)}catch{}let Ts={chunkSize:524288,maxWorkers:un,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:pe,CompressionStreamNative:typeof Jt!=$e&&Jt,DecompressionStreamNative:typeof $t!=$e&&$t},ke=_.assign({},Ts);function hn(t){let{baseURL:e,chunkSize:n,maxWorkers:s,terminateWorkerTimeout:r,useCompressionStream:a,useWebWorkers:i,Deflate:o,Inflate:l,CompressionStream:f,DecompressionStream:c,workerScripts:h}=t;if(Se(\"baseURL\",e),Se(\"chunkSize\",n),Se(\"maxWorkers\",s),Se(\"terminateWorkerTimeout\",r),Se(\"useCompressionStream\",a),Se(\"useWebWorkers\",i),o&&(ke.CompressionStream=new fn(o)),l&&(ke.DecompressionStream=new fn(l)),Se(\"CompressionStream\",f),Se(\"DecompressionStream\",c),h!==pe){let{deflate:p,inflate:u}=h;if((p||u)&&(ke.workerScripts||(ke.workerScripts={})),p){if(!oe.isArray(p))throw new U(\"workerScripts.deflate must be an array\");ke.workerScripts.deflate=p}if(u){if(!oe.isArray(u))throw new U(\"workerScripts.inflate must be an array\");ke.workerScripts.inflate=u}}}function Se(t,e){e!==pe&&(ke[t]=e)}let dn=[];for(let t=0;256>t;t++){let e=t;for(let n=0;8>n;n++)1&e?e=e>>>1^3988292384:e>>>=1;dn[t]=e}class Qe{constructor(e){this.crc=e||-1}append(e){let n=0|this.crc;for(let s=0,r=0|e.length;r>s;s++)n=n>>>8^dn[255&(n^e[s])];this.crc=n}get(){return~this.crc}}class pn extends ce{constructor(){let e,n=new Qe;super({transform(s,r){n.append(s),r.enqueue(s)},flush(){let s=new O(4);new We(s.buffer).setUint32(0,n.get()),e.value=s}}),e=this}}let re={concat(t,e){if(t.length===0||e.length===0)return t.concat(e);let n=t[t.length-1],s=re.getPartial(n);return s===32?t.concat(e):re._shiftRight(e,s,0|n,t.slice(0,t.length-1))},bitLength(t){let e=t.length;if(e===0)return 0;let n=t[e-1];return 32*(e-1)+re.getPartial(n)},clamp(t,e){if(32*t.length<e)return t;let n=(t=t.slice(0,W.ceil(e/32))).length;return e&=31,n>0&&e&&(t[n-1]=re.partial(e,t[n-1]&2147483648>>e-1,1)),t},partial:(t,e,n)=>t===32?e:(n?0|e:e<<32-t)+1099511627776*t,getPartial:t=>W.round(t/1099511627776)||32,_shiftRight(t,e,n,s){for(s===void 0&&(s=[]);e>=32;e-=32)s.push(n),n=0;if(e===0)return s.concat(t);for(let i=0;i<t.length;i++)s.push(n|t[i]>>>e),n=t[i]<<32-e;let r=t.length?t[t.length-1]:0,a=re.getPartial(r);return s.push(re.partial(e+a&31,e+a>32?n:s.pop(),1)),s}},Ze={bytes:{fromBits(t){let e=re.bitLength(t)/8,n=new O(e),s;for(let r=0;e>r;r++)!(3&r)&&(s=t[r/4]),n[r]=s>>>24,s<<=8;return n},toBits(t){let e=[],n,s=0;for(n=0;n<t.length;n++)s=s<<8|t[n],(3&n)==3&&(e.push(s),s=0);return 3&n&&e.push(re.partial(8*(3&n),s)),e}}},As=class{constructor(t){let e=this;e.blockSize=512,e._init=[1732584193,4023233417,2562383102,271733878,3285377520],e._key=[1518500249,1859775393,2400959708,3395469782],t?(e._h=t._h.slice(0),e._buffer=t._buffer.slice(0),e._length=t._length):e.reset()}reset(){let t=this;return t._h=t._init.slice(0),t._buffer=[],t._length=0,t}update(t){let e=this;typeof t==\"string\"&&(t=Ze.utf8String.toBits(t));let n=e._buffer=re.concat(e._buffer,t),s=e._length,r=e._length=s+re.bitLength(t);if(r>9007199254740991)throw new U(\"Cannot hash more than 2^53 - 1 bits\");let a=new jt(n),i=0;for(let o=e.blockSize+s-(e.blockSize+s&e.blockSize-1);r>=o;o+=e.blockSize)e._block(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),e}finalize(){let t=this,e=t._buffer,n=t._h;e=re.concat(e,[re.partial(1,1)]);for(let s=e.length+2;15&s;s++)e.push(0);for(e.push(W.floor(t._length/4294967296)),e.push(0|t._length);e.length;)t._block(e.splice(0,16));return t.reset(),n}_f(t,e,n,s){return t>19?t>39?t>59?t>79?void 0:e^n^s:e&n|e&s|n&s:e^n^s:e&n|~e&s}_S(t,e){return e<<t|e>>>32-t}_block(t){let e=this,n=e._h,s=oe(80);for(let f=0;16>f;f++)s[f]=t[f];let r=n[0],a=n[1],i=n[2],o=n[3],l=n[4];for(let f=0;79>=f;f++){16>f||(s[f]=e._S(1,s[f-3]^s[f-8]^s[f-14]^s[f-16]));let c=e._S(5,r)+e._f(f,a,i,o)+l+s[f]+e._key[W.floor(f/20)]|0;l=o,o=i,i=e._S(30,a),a=r,r=c}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+i|0,n[3]=n[3]+o|0,n[4]=n[4]+l|0}},Os={getRandomValues(t){let e=new jt(t.buffer),n=s=>{let r=987654321,a=4294967295;return()=>(r=36969*(65535&r)+(r>>16)&a,(((r<<16)+(s=18e3*(65535&s)+(s>>16)&a)&a)/4294967296+.5)*(W.random()>.5?1:-1))};for(let s,r=0;r<t.length;r+=4){let a=n(4294967296*(s||W.random()));s=987654071*a(),e[r/4]=4294967296*a()|0}return t}},Ae={importKey:t=>new Ae.hmacSha1(Ze.bytes.toBits(t)),pbkdf2(t,e,n,s){if(n=n||1e4,0>s||0>n)throw new U(\"invalid params to pbkdf2\");let r=1+(s>>5)<<2,a,i,o,l,f,c=new ArrayBuffer(r),h=new We(c),p=0,u=re;for(e=Ze.bytes.toBits(e),f=1;(r||1)>p;f++){for(a=i=t.encrypt(u.concat(e,[f])),o=1;n>o;o++)for(i=t.encrypt(i),l=0;l<i.length;l++)a[l]^=i[l];for(o=0;(r||1)>p&&o<a.length;o++)h.setInt32(p,a[o]),p+=4}return c.slice(0,s/8)},hmacSha1:class{constructor(t){let e=this,n=e._hash=As,s=[[],[]];e._baseHash=[new n,new n];let r=e._baseHash[0].blockSize/32;t.length>r&&(t=new n().update(t).finalize());for(let a=0;r>a;a++)s[0][a]=909522486^t[a],s[1][a]=1549556828^t[a];e._baseHash[0].update(s[0]),e._baseHash[1].update(s[1]),e._resultHash=new n(e._baseHash[0])}reset(){let t=this;t._resultHash=new t._hash(t._baseHash[0]),t._updated=!1}update(t){this._updated=!0,this._resultHash.update(t)}digest(){let t=this,e=t._resultHash.finalize(),n=new t._hash(t._baseHash[1]).update(e).finalize();return t.reset(),n}encrypt(t){if(this._updated)throw new U(\"encrypt on already updated hmac called!\");return this.update(t),this.digest(t)}}},Us=xe!==void 0&&typeof xe.getRandomValues==\"function\",yt=\"Invalid password\",bt=\"Invalid signature\",vt=\"zipjs-abort-check-password\";function wn(t){return Us?xe.getRandomValues(t):Os.getRandomValues(t)}let Oe=16,gn={name:\"PBKDF2\"},Ws=_.assign({hash:{name:\"HMAC\"}},gn),kt=_.assign({iterations:1e3,hash:{name:\"SHA-1\"}},gn),xs=[\"deriveBits\"],Be=[8,12,16],Ve=[16,24,32],_e=10,Ls=[0,0,0,0],mn=\"undefined\",yn=\"function\",Ye=typeof xe!=mn,He=Ye&&xe.subtle,bn=Ye&&typeof He!=mn,ge=Ze.bytes,Ns=class{constructor(t){let e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();let n=e._tables[0][4],s=e._tables[1],r=t.length,a,i,o,l=1;if(r!==4&&r!==6&&r!==8)throw new U(\"invalid aes key size\");for(e._key=[i=t.slice(0),o=[]],a=r;4*r+28>a;a++){let f=i[a-1];(a%r==0||r===8&&a%r==4)&&(f=n[f>>>24]<<24^n[f>>16&255]<<16^n[f>>8&255]<<8^n[255&f],a%r==0&&(f=f<<8^f>>>24^l<<24,l=l<<1^283*(l>>7))),i[a]=i[a-r]^f}for(let f=0;a;f++,a--){let c=i[3&f?a:a-4];o[f]=4>=a||4>f?c:s[0][n[c>>>24]]^s[1][n[c>>16&255]]^s[2][n[c>>8&255]]^s[3][n[255&c]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){let t=this._tables[0],e=this._tables[1],n=t[4],s=e[4],r=[],a=[],i,o,l,f;for(let c=0;256>c;c++)a[(r[c]=c<<1^283*(c>>7))^c]=c;for(let c=i=0;!n[c];c^=o||1,i=a[i]||1){let h=i^i<<1^i<<2^i<<3^i<<4;h=h>>8^255&h^99,n[c]=h,s[h]=c,f=r[l=r[o=r[c]]];let p=16843009*f^65537*l^257*o^16843008*c,u=257*r[h]^16843008*h;for(let d=0;4>d;d++)t[d][c]=u=u<<24^u>>>8,e[d][h]=p=p<<24^p>>>8}for(let c=0;5>c;c++)t[c]=t[c].slice(0),e[c]=e[c].slice(0)}_crypt(t,e){if(t.length!==4)throw new U(\"invalid aes block size\");let n=this._key[e],s=n.length/4-2,r=[0,0,0,0],a=this._tables[e],i=a[0],o=a[1],l=a[2],f=a[3],c=a[4],h,p,u,d=t[0]^n[0],w=t[e?3:1]^n[1],y=t[2]^n[2],g=t[e?1:3]^n[3],m=4;for(let v=0;s>v;v++)h=i[d>>>24]^o[w>>16&255]^l[y>>8&255]^f[255&g]^n[m],p=i[w>>>24]^o[y>>16&255]^l[g>>8&255]^f[255&d]^n[m+1],u=i[y>>>24]^o[g>>16&255]^l[d>>8&255]^f[255&w]^n[m+2],g=i[g>>>24]^o[d>>16&255]^l[w>>8&255]^f[255&y]^n[m+3],m+=4,d=h,w=p,y=u;for(let v=0;4>v;v++)r[e?3&-v:v]=c[d>>>24]<<24^c[w>>16&255]<<16^c[y>>8&255]<<8^c[255&g]^n[m++],h=d,d=w,w=y,y=g,g=h;return r}},Ms=class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if((t>>24&255)==255){let e=t>>16&255,n=t>>8&255,s=255&t;e===255?(e=0,n===255?(n=0,s===255?s=0:++s):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=s}else t+=1<<24;return t}incCounter(t){(t[0]=this.incWord(t[0]))===0&&(t[1]=this.incWord(t[1]))}calculate(t,e,n){let s;if(!(s=e.length))return[];let r=re.bitLength(e);for(let a=0;s>a;a+=4){this.incCounter(n);let i=t.encrypt(n);e[a]^=i[0],e[a+1]^=i[1],e[a+2]^=i[2],e[a+3]^=i[3]}return re.clamp(e,r)}},Is=Ae.hmacSha1,vn=Ye&&bn&&typeof He.importKey==yn,kn=Ye&&bn&&typeof He.deriveBits==yn;class Ps extends ce{constructor({password:e,signed:n,encryptionStrength:s,checkPasswordOnly:r}){super({start(){_.assign(this,{ready:new be(a=>this.resolveReady=a),password:e,signed:n,strength:s-1,pending:new O})},async transform(a,i){let o=this,{password:l,strength:f,resolveReady:c,ready:h}=o;l?(await(async(u,d,w,y)=>{let g=await _n(u,d,w,ue(y,0,Be[d])),m=ue(y,Be[d]);if(g[0]!=m[0]||g[1]!=m[1])throw new U(yt)})(o,f,l,ue(a,0,Be[f]+2)),a=ue(a,Be[f]+2),r?i.error(new U(vt)):c()):await h;let p=new O(a.length-_e-(a.length-_e)%Oe);i.enqueue(Sn(o,a,p,0,_e,!0))},async flush(a){let{signed:i,ctr:o,hmac:l,pending:f,ready:c}=this;if(l&&o){await c;let h=ue(f,0,f.length-_e),p=ue(f,f.length-_e),u=new O;if(h.length){let d=Ge(ge,h);l.update(d);let w=o.update(d);u=je(ge,w)}if(i){let d=ue(je(ge,l.digest()),0,_e);for(let w=0;_e>w;w++)if(d[w]!=p[w])throw new U(bt)}a.enqueue(u)}}})}}class Bs extends ce{constructor({password:e,encryptionStrength:n}){let s;super({start(){_.assign(this,{ready:new be(r=>this.resolveReady=r),password:e,strength:n-1,pending:new O})},async transform(r,a){let i=this,{password:o,strength:l,resolveReady:f,ready:c}=i,h=new O;o?(h=await(async(u,d,w)=>{let y=wn(new O(Be[d]));return St(y,await _n(u,d,w,y))})(i,l,o),f()):await c;let p=new O(h.length+r.length-r.length%Oe);p.set(h,0),a.enqueue(Sn(i,r,p,h.length,0))},async flush(r){let{ctr:a,hmac:i,pending:o,ready:l}=this;if(i&&a){await l;let f=new O;if(o.length){let c=a.update(Ge(ge,o));i.update(c),f=je(ge,c)}s.signature=je(ge,i.digest()).slice(0,_e),r.enqueue(St(f,s.signature))}}}),s=this}}function Sn(t,e,n,s,r,a){let{ctr:i,hmac:o,pending:l}=t,f=e.length-r,c;for(l.length&&(e=St(l,e),n=((h,p)=>{if(p&&p>h.length){let u=h;(h=new O(p)).set(u,0)}return h})(n,f-f%Oe)),c=0;f-Oe>=c;c+=Oe){let h=Ge(ge,ue(e,c,c+Oe));a&&o.update(h);let p=i.update(h);a||o.update(p),n.set(je(ge,p),c+s)}return t.pending=ue(e,c),n}async function _n(t,e,n,s){t.password=null;let r=(h=>{if(Gt===void 0){let p=new O((h=unescape(encodeURIComponent(h))).length);for(let u=0;u<p.length;u++)p[u]=h.charCodeAt(u);return p}return new Gt().encode(h)})(n),a=await(async(h,p,u,d,w)=>{if(!vn)return Ae.importKey(p);try{return await He.importKey(\"raw\",p,u,!1,w)}catch{return vn=!1,Ae.importKey(p)}})(0,r,Ws,0,xs),i=await(async(h,p,u)=>{if(!kn)return Ae.pbkdf2(p,h.salt,kt.iterations,u);try{return await He.deriveBits(h,p,u)}catch{return kn=!1,Ae.pbkdf2(p,h.salt,kt.iterations,u)}})(_.assign({salt:s},kt),a,8*(2*Ve[e]+2)),o=new O(i),l=Ge(ge,ue(o,0,Ve[e])),f=Ge(ge,ue(o,Ve[e],2*Ve[e])),c=ue(o,2*Ve[e]);return _.assign(t,{keys:{key:l,authentication:f,passwordVerification:c},ctr:new Ms(new Ns(l),oe.from(Ls)),hmac:new Is(f)}),c}function St(t,e){let n=t;return t.length+e.length&&(n=new O(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function ue(t,e,n){return t.subarray(e,n)}function je(t,e){return t.fromBits(e)}function Ge(t,e){return t.toBits(e)}class Vs extends ce{constructor({password:e,passwordVerification:n,checkPasswordOnly:s}){super({start(){_.assign(this,{password:e,passwordVerification:n}),Rn(this,e)},transform(r,a){let i=this;if(i.password){let o=zn(i,r.subarray(0,12));if(i.password=null,o[11]!=i.passwordVerification)throw new U(yt);r=r.subarray(12)}s?a.error(new U(vt)):a.enqueue(zn(i,r))}})}}class Hs extends ce{constructor({password:e,passwordVerification:n}){super({start(){_.assign(this,{password:e,passwordVerification:n}),Rn(this,e)},transform(s,r){let a=this,i,o;if(a.password){a.password=null;let l=wn(new O(12));l[11]=a.passwordVerification,i=new O(s.length+l.length),i.set(Dn(a,l),0),o=12}else i=new O(s.length),o=0;i.set(Dn(a,s),o),r.enqueue(i)}})}}function zn(t,e){let n=new O(e.length);for(let s=0;s<e.length;s++)n[s]=En(t)^e[s],_t(t,n[s]);return n}function Dn(t,e){let n=new O(e.length);for(let s=0;s<e.length;s++)n[s]=En(t)^e[s],_t(t,e[s]);return n}function Rn(t,e){let n=[305419896,591751049,878082192];_.assign(t,{keys:n,crcKey0:new Qe(n[0]),crcKey2:new Qe(n[2])});for(let s=0;s<e.length;s++)_t(t,e.charCodeAt(s))}function _t(t,e){let[n,s,r]=t.keys;t.crcKey0.append([e]),n=~t.crcKey0.get(),s=Fn(W.imul(Fn(s+Cn(n)),134775813)+1),t.crcKey2.append([s>>>24]),r=~t.crcKey2.get(),t.keys=[n,s,r]}function En(t){let e=2|t.keys[2];return Cn(W.imul(e,1^e)>>>8)}function Cn(t){return 255&t}function Fn(t){return 4294967295&t}let Tn=\"deflate-raw\";class js extends ce{constructor(e,{chunkSize:n,CompressionStream:s,CompressionStreamNative:r}){super({});let{compressed:a,encrypted:i,useCompressionStream:o,zipCrypto:l,signed:f,level:c}=e,h=this,p,u,d=An(super.readable);i&&!l||!f||(p=new pn,d=me(d,p)),a&&(d=Un(d,o,{level:c,chunkSize:n},r,s)),i&&(l?d=me(d,new Hs(e)):(u=new Bs(e),d=me(d,u))),On(h,d,()=>{let w;i&&!l&&(w=u.signature),i&&!l||!f||(w=new We(p.value.buffer).getUint32(0)),h.signature=w})}}class Gs extends ce{constructor(e,{chunkSize:n,DecompressionStream:s,DecompressionStreamNative:r}){super({});let{zipCrypto:a,encrypted:i,signed:o,signature:l,compressed:f,useCompressionStream:c}=e,h,p,u=An(super.readable);i&&(a?u=me(u,new Vs(e)):(p=new Ps(e),u=me(u,p))),f&&(u=Un(u,c,{chunkSize:n},r,s)),i&&!a||!o||(h=new pn,u=me(u,h)),On(this,u,()=>{if((!i||a)&&o){let d=new We(h.value.buffer);if(l!=d.getUint32(0,!1))throw new U(bt)}})}}function An(t){return me(t,new ce({transform(e,n){e&&e.length&&n.enqueue(e)}}))}function On(t,e,n){e=me(e,new ce({flush:n})),_.defineProperty(t,\"readable\",{get:()=>e})}function Un(t,e,n,s,r){try{t=me(t,new(e&&s?s:r)(Tn,n))}catch(a){if(!e)throw a;t=me(t,new r(Tn,n))}return t}function me(t,e){return t.pipeThrough(e)}let Wn=\"data\",xn=\"inflate\";class Xs extends ce{constructor(e,n){super({});let s=this,{codecType:r}=e,a;r.startsWith(\"deflate\")?a=js:r.startsWith(xn)&&(a=Gs);let i=0,o=new a(e,n),l=super.readable,f=new ce({transform(c,h){c&&c.length&&(i+=c.length,h.enqueue(c))},flush(){let{signature:c}=o;_.assign(s,{signature:c,size:i})}});_.defineProperty(s,\"readable\",{get:()=>l.pipeThrough(o).pipeThrough(f)})}}let qs=typeof Xe!=$e;class zt{constructor(e,{readable:n,writable:s},{options:r,config:a,streamOptions:i,useWebWorkers:o,transferStreams:l,scripts:f},c){let{signal:h}=i;return _.assign(e,{busy:!0,readable:n.pipeThrough(new Js(n,i,a),{signal:h}),writable:s,options:_.assign({},r),scripts:f,transferStreams:l,terminate(){let{worker:p,busy:u}=e;p&&!u&&(p.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,c(e)}}),(o&&qs?Qs:$s)(e,a)}}class Js extends ce{constructor(e,{onstart:n,onprogress:s,size:r,onend:a},{chunkSize:i}){let o=0;super({start(){n&&Dt(n,r)},async transform(l,f){o+=l.length,s&&await Dt(s,o,r),f.enqueue(l)},flush(){e.size=o,a&&Dt(a,o)}},{highWaterMark:1,size:()=>i})}}async function Dt(t,...e){try{await t(...e)}catch{}}function $s(t,e){return{run:()=>(async({options:n,readable:s,writable:r,onTaskFinished:a},i)=>{let o=new Xs(n,i);try{await s.pipeThrough(o).pipeTo(r,{preventClose:!0,preventAbort:!0});let{signature:l,size:f}=o;return{signature:l,size:f}}finally{a()}})(t,e)}}function Qs(t,{baseURL:e,chunkSize:n}){return t.interface||_.assign(t,{worker:Zs(t.scripts[0],e,t),interface:{run:()=>(async(s,r)=>{let a,i,o=new be((d,w)=>{a=d,i=w});_.assign(s,{reader:null,writer:null,resolveResult:a,rejectResult:i,result:o});let{readable:l,options:f,scripts:c}=s,{writable:h,closed:p}=(d=>{let w=d.getWriter(),y,g=new be(m=>y=m);return{writable:new Le({async write(m){await w.ready,await w.write(m)},close(){w.releaseLock(),y()},abort:m=>w.abort(m)}),closed:g}})(s.writable);Rt({type:\"start\",scripts:c.slice(1),options:f,config:r,readable:l,writable:h},s)||_.assign(s,{reader:l.getReader(),writer:h.getWriter()});let u=await o;try{await h.getWriter().close()}catch{}return await p,u})(t,{chunkSize:n})}}),t.interface}let Ln=!0,Nn=!0;function Zs(t,e,n){let s={type:\"module\"},r,a;typeof t==ln&&(t=t());try{r=new ms(t,e)}catch{r=t}if(Ln)try{a=new Xe(r)}catch{Ln=!1,a=new Xe(r,s)}else a=new Xe(r,s);return a.addEventListener(\"message\",i=>(async({data:o},l)=>{let{type:f,value:c,messageId:h,result:p,error:u}=o,{reader:d,writer:w,resolveResult:y,rejectResult:g,onTaskFinished:m}=l;try{if(u){let{message:b,stack:R,code:E,name:F}=u,z=new U(b);_.assign(z,{stack:R,code:E,name:F}),v(z)}else{if(f==\"pull\"){let{value:b,done:R}=await d.read();Rt({type:Wn,value:b,done:R,messageId:h},l)}f==Wn&&(await w.ready,await w.write(new O(c)),Rt({type:\"ack\",messageId:h},l)),f==\"close\"&&v(null,p)}}catch(b){v(b)}function v(b,R){b?g(b):y(R),w&&w.releaseLock(),m()}})(i,n)),a}function Rt(t,{worker:e,writer:n,onTaskFinished:s,transferStreams:r}){try{let{value:a,readable:i,writable:o}=t,l=[];if(a&&(t.value=a.buffer,l.push(t.value)),r&&Nn?(i&&l.push(i),o&&l.push(o)):t.readable=t.writable=null,l.length)try{return e.postMessage(t,l),!0}catch{Nn=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(a){throw n&&n.releaseLock(),s(),a}}let ze=[],Et=[],Mn=0;function Ct(t){let{terminateTimeout:e}=t;e&&(clearTimeout(e),t.terminateTimeout=null)}let Ys=65536,Ft=\"writable\";class Ke{constructor(){this.size=0}init(){this.initialized=!0}}class In extends Ke{get readable(){let e=this,{chunkSize:n=Ys}=e,s=new qt({start(){this.chunkOffset=0},async pull(r){let{offset:a=0,size:i,diskNumberStart:o}=s,{chunkOffset:l}=this;r.enqueue(await ee(e,a+l,W.min(n,i-l),o)),l+n>i?r.close():this.chunkOffset+=n}});return s}}class Ks extends Ke{constructor(){super();let e=this,n=new Le({write:s=>e.writeUint8Array(s)});_.defineProperty(e,Ft,{get:()=>n})}writeUint8Array(){}}class Pn extends In{constructor(e){super(),_.assign(this,{blob:e,size:e.size})}async readUint8Array(e,n){let s=this,r=e+n,i=await(e||r<s.size?s.blob.slice(e,r):s.blob).arrayBuffer();return i.byteLength>n&&(i=i.slice(e,r)),new O(i)}}class Bn extends Ke{constructor(e){super();let n=new ce,s=[];e&&s.push([\"Content-Type\",e]),_.defineProperty(this,Ft,{get:()=>n.writable}),this.blob=new Ht(n.readable,{headers:s}).blob()}getData(){return this.blob}}class er extends In{constructor(e){super(),this.readers=e}async init(){let e=this,{readers:n}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await be.all(n.map(async(s,r)=>{await s.init(),r!=n.length-1&&(e.lastDiskOffset+=s.size),e.size+=s.size})),super.init()}async readUint8Array(e,n,s=0){let r=this,{readers:a}=this,i,o=s;o==-1&&(o=a.length-1);let l=e;for(;l>=a[o].size;)l-=a[o].size,o++;let f=a[o],c=f.size;if(l+n>c){let h=c-l;i=new O(n),i.set(await ee(f,l,h)),i.set(await r.readUint8Array(e+h,n-h,s),h)}else i=await ee(f,l,n);return r.lastDiskNumber=W.max(o,r.lastDiskNumber),i}}class Vn extends Ke{constructor(e,n=4294967295){super();let s=this,r,a,i;_.assign(s,{diskNumber:0,diskOffset:0,size:0,maxSize:n,availableSize:n});let o=new Le({async write(c){let{availableSize:h}=s;if(i)c.length<h?await l(c):(await l(c.slice(0,h)),await f(),s.diskOffset+=r.size,s.diskNumber++,i=null,await this.write(c.slice(h)));else{let{value:p,done:u}=await e.next();if(u&&!p)throw new U(\"Writer iterator completed too soon\");r=p,r.size=0,r.maxSize&&(s.maxSize=r.maxSize),s.availableSize=s.maxSize,await et(r),a=p.writable,i=a.getWriter(),await this.write(c)}},async close(){await i.ready,await f()}});async function l(c){let h=c.length;h&&(await i.ready,await i.write(c),r.size+=h,s.size+=h,s.availableSize-=h)}async function f(){a.size=r.size,await i.close()}_.defineProperty(s,Ft,{get:()=>o})}}async function et(t,e){t.init&&!t.initialized&&await t.init(e)}function tr(t){return oe.isArray(t)&&(t=new er(t)),t instanceof qt&&(t={readable:t}),t}function ee(t,e,n,s){return t.readUint8Array(e,n,s)}let nr=\"\\0\\u263A\\u263B\\u2665\\u2666\\u2663\\u2660\\u2022\\u25D8\\u25CB\\u25D9\\u2642\\u2640\\u266A\\u266B\\u263C\\u25BA\\u25C4\\u2195\\u203C\\xB6\\xA7\\u25AC\\u21A8\\u2191\\u2193\\u2192\\u2190\\u221F\\u2194\\u25B2\\u25BC !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\\u2302\\xC7\\xFC\\xE9\\xE2\\xE4\\xE0\\xE5\\xE7\\xEA\\xEB\\xE8\\xEF\\xEE\\xEC\\xC4\\xC5\\xC9\\xE6\\xC6\\xF4\\xF6\\xF2\\xFB\\xF9\\xFF\\xD6\\xDC\\xA2\\xA3\\xA5\\u20A7\\u0192\\xE1\\xED\\xF3\\xFA\\xF1\\xD1\\xAA\\xBA\\xBF\\u2310\\xAC\\xBD\\xBC\\xA1\\xAB\\xBB\\u2591\\u2592\\u2593\\u2502\\u2524\\u2561\\u2562\\u2556\\u2555\\u2563\\u2551\\u2557\\u255D\\u255C\\u255B\\u2510\\u2514\\u2534\\u252C\\u251C\\u2500\\u253C\\u255E\\u255F\\u255A\\u2554\\u2569\\u2566\\u2560\\u2550\\u256C\\u2567\\u2568\\u2564\\u2565\\u2559\\u2558\\u2552\\u2553\\u256B\\u256A\\u2518\\u250C\\u2588\\u2584\\u258C\\u2590\\u2580\\u03B1\\xDF\\u0393\\u03C0\\u03A3\\u03C3\\xB5\\u03C4\\u03A6\\u0398\\u03A9\\u03B4\\u221E\\u03C6\\u03B5\\u2229\\u2261\\xB1\\u2265\\u2264\\u2320\\u2321\\xF7\\u2248\\xB0\\u2219\\xB7\\u221A\\u207F\\xB2\\u25A0 \".split(\"\");function Tt(t,e){return e&&e.trim().toLowerCase()==\"cp437\"?(n=>{{let s=\"\";for(let r=0;r<n.length;r++)s+=nr[n[r]];return s}})(t):new ot(e).decode(t)}let Hn=\"filename\",jn=\"rawFilename\",Gn=\"comment\",Xn=\"rawComment\",qn=\"uncompressedSize\",Jn=\"compressedSize\",$n=\"offset\",At=\"diskNumberStart\",Ot=\"lastModDate\",Ut=\"rawLastModDate\",Qn=\"lastAccessDate\",Zn=\"creationDate\",sr=[Hn,jn,Jn,qn,Ot,Ut,Gn,Xn,Qn,Zn,$n,At,At,\"internalFileAttribute\",\"externalFileAttribute\",\"msDosCompatible\",\"zip64\",\"directory\",\"bitFlag\",\"encrypted\",\"signature\",\"filenameUTF8\",\"commentUTF8\",\"compressionMethod\",\"version\",\"versionMadeBy\",\"extraField\",\"rawExtraField\",\"extraFieldZip64\",\"extraFieldUnicodePath\",\"extraFieldUnicodeComment\",\"extraFieldAES\",\"extraFieldNTFS\",\"extraFieldExtendedTimestamp\"];class Yn{constructor(e){sr.forEach(n=>this[n]=e[n])}}let tt=\"File format is not recognized\",Kn=\"End of central directory not found\",es=\"End of Zip64 central directory not found\",ts=\"End of Zip64 central directory locator not found\",ns=\"Central directory header not found\",ss=\"Local file header not found\",rs=\"Zip64 extra field not found\",as=\"File contains encrypted entry\",is=\"Encryption method not supported\",Wt=\"Compression method not supported\",xt=\"Split zip file\",os=\"utf-8\",cs=\"cp437\",rr=[[qn,Ce],[Jn,Ce],[$n,Ce],[At,Fe]],ar={[Fe]:{getValue:j,bytes:4},[Ce]:{getValue:nt,bytes:8}};class ir{constructor(e,n,s){_.assign(this,{reader:e,config:n,options:s})}async getData(e,n,s={}){let r=this,{reader:a,offset:i,diskNumberStart:o,extraFieldAES:l,compressionMethod:f,config:c,bitFlag:h,signature:p,rawLastModDate:u,uncompressedSize:d,compressedSize:w}=r,y=n.localDirectory={},g=Q(await ee(a,i,30,o)),m=he(r,s,\"password\");if(m=m&&m.length&&m,l&&l.originalCompressionMethod!=99)throw new U(Wt);if(f!=0&&f!=8)throw new U(Wt);if(j(g,0)!=67324752)throw new U(ss);ls(y,g,4),y.rawExtraField=y.extraFieldLength?await ee(a,i+30+y.filenameLength,y.extraFieldLength,o):new O,await fs(r,y,g,4,!0),_.assign(n,{lastAccessDate:y.lastAccessDate,creationDate:y.creationDate});let v=r.encrypted&&y.encrypted,b=v&&!l;if(v){if(!b&&l.strength===pe)throw new U(is);if(!m)throw new U(as)}let R=i+30+y.filenameLength+y.extraFieldLength,E=w,F=a.readable;_.assign(F,{diskNumberStart:o,offset:R,size:E});let z=he(r,s,\"signal\"),C=he(r,s,\"checkPasswordOnly\");C&&(e=new Le),e=(k=>{k.writable===pe&&typeof k.next==ln&&(k=new Vn(k)),k instanceof Le&&(k={writable:k});let{writable:A}=k;return A.size===pe&&(A.size=0),k instanceof Vn||_.assign(k,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),k})(e),await et(e,d);let{writable:D}=e,{onstart:L,onprogress:T,onend:B}=s,V={options:{codecType:xn,password:m,zipCrypto:b,encryptionStrength:l&&l.strength,signed:he(r,s,\"checkSignature\"),passwordVerification:b&&(h.dataDescriptor?u>>>8&255:p>>>24&255),signature:p,compressed:f!=0,encrypted:v,useWebWorkers:he(r,s,\"useWebWorkers\"),useCompressionStream:he(r,s,\"useCompressionStream\"),transferStreams:he(r,s,\"transferStreams\"),checkPasswordOnly:C},config:c,streamOptions:{signal:z,size:E,onstart:L,onprogress:T,onend:B}},G=0;try{({outputSize:G}=await(async(k,A)=>{let{options:q,config:S}=A,{transferStreams:Z,useWebWorkers:X,useCompressionStream:Y,codecType:ae,compressed:P,signed:N,encrypted:te}=q,{workerScripts:I,maxWorkers:ne,terminateWorkerTimeout:ie}=S;A.transferStreams=Z||Z===pe;let De=!(P||N||te||A.transferStreams),se;A.useWebWorkers=!De&&(X||X===pe&&S.useWebWorkers),A.scripts=A.useWebWorkers&&I?I[ae]:[],q.useCompressionStream=Y||Y===pe&&S.useCompressionStream;let Te=ze.find(J=>!J.busy);if(Te)Ct(Te),se=new zt(Te,k,A,Re);else if(ze.length<ne){let J={indexWorker:Mn};Mn++,ze.push(J),se=new zt(J,k,A,Re)}else se=await new be(J=>Et.push({resolve:J,stream:k,workerOptions:A}));return se.run();function Re(J){if(Et.length){let[{resolve:K,stream:Nt,workerOptions:st}]=Et.splice(0,1);K(new zt(J,Nt,st,Re))}else J.worker?(Ct(J),at.isFinite(ie)&&ie>=0&&(J.terminateTimeout=setTimeout(()=>{ze=ze.filter(K=>K!=J),J.terminate()},ie))):ze=ze.filter(K=>K!=J)}})({readable:F,writable:D},V))}catch(k){if(!C||k.message!=vt)throw k}finally{let k=he(r,s,\"preventClose\");D.size+=G,k||D.locked||await D.getWriter().close()}return C?void 0:e.getData?e.getData():D}}function ls(t,e,n){let s=t.rawBitFlag=$(e,n+2),r=(1&s)==1,a=j(e,n+6);_.assign(t,{encrypted:r,version:$(e,n),bitFlag:{level:(6&s)>>1,dataDescriptor:(8&s)==8,languageEncodingFlag:(2048&s)==2048},rawLastModDate:a,lastModDate:or(a),filenameLength:$(e,n+22),extraFieldLength:$(e,n+24)})}async function fs(t,e,n,s,r){let{rawExtraField:a}=e,i=e.extraField=new gs,o=Q(new O(a)),l=0;try{for(;l<a.length;){let g=$(o,l),m=$(o,l+2);i.set(g,{type:g,data:a.slice(l+4,l+4+m)}),l+=4+m}}catch{}let f=$(n,s+4);_.assign(e,{signature:j(n,s+10),uncompressedSize:j(n,s+18),compressedSize:j(n,s+14)});let c=i.get(1);c&&(((g,m)=>{m.zip64=!0;let v=Q(g.data),b=rr.filter(([R,E])=>m[R]==E);for(let R=0,E=0;R<b.length;R++){let[F,z]=b[R];if(m[F]==z){let C=ar[z];m[F]=g[F]=C.getValue(v,E),E+=C.bytes}else if(g[F])throw new U(rs)}})(c,e),e.extraFieldZip64=c);let h=i.get(28789);h&&(await us(h,Hn,jn,e,t),e.extraFieldUnicodePath=h);let p=i.get(25461);p&&(await us(p,Gn,Xn,e,t),e.extraFieldUnicodeComment=p);let u=i.get(39169);u?(((g,m,v)=>{let b=Q(g.data),R=Ue(b,4);_.assign(g,{vendorVersion:Ue(b,0),vendorId:Ue(b,2),strength:R,originalCompressionMethod:v,compressionMethod:$(b,5)}),m.compressionMethod=g.compressionMethod})(u,e,f),e.extraFieldAES=u):e.compressionMethod=f;let d=i.get(10);d&&(((g,m)=>{let v=Q(g.data),b,R=4;try{for(;R<g.data.length&&!b;){let E=$(v,R),F=$(v,R+2);E==1&&(b=g.data.slice(R+4,R+4+F)),R+=4+F}}catch{}try{if(b&&b.length==24){let E=Q(b),F=E.getBigUint64(0,!0),z=E.getBigUint64(8,!0),C=E.getBigUint64(16,!0);_.assign(g,{rawLastModDate:F,rawLastAccessDate:z,rawCreationDate:C});let D={lastModDate:Lt(F),lastAccessDate:Lt(z),creationDate:Lt(C)};_.assign(g,D),_.assign(m,D)}}catch{}})(d,e),e.extraFieldNTFS=d);let w=i.get(21589);w&&(((g,m,v)=>{let b=Q(g.data),R=Ue(b,0),E=[],F=[];v?((1&R)==1&&(E.push(Ot),F.push(Ut)),(2&R)==2&&(E.push(Qn),F.push(\"rawLastAccessDate\")),(4&R)==4&&(E.push(Zn),F.push(\"rawCreationDate\"))):5>g.data.length||(E.push(Ot),F.push(Ut));let z=1;E.forEach((C,D)=>{if(g.data.length>=z+4){let L=j(b,z);m[C]=g[C]=new it(1e3*L);let T=F[D];g[T]=L}z+=4})})(w,e,r),e.extraFieldExtendedTimestamp=w);let y=i.get(6534);y&&(e.extraFieldUSDZ=y)}async function us(t,e,n,s,r){let a=Q(t.data),i=new Qe;i.append(r[n]);let o=Q(new O(4));o.setUint32(0,i.get(),!0);let l=j(a,1);_.assign(t,{version:Ue(a,0),[e]:Tt(t.data.subarray(5)),valid:!r.bitFlag.languageEncodingFlag&&l==j(o,0)}),t.valid&&(s[e]=t[e],s[e+\"UTF8\"]=!0)}function he(t,e,n){return e[n]===pe?t.options[n]:e[n]}function or(t){let e=(4294901760&t)>>16,n=65535&t;try{return new it(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch{}}function Lt(t){return new it(at(t/Vt(1e4)-Vt(116444736e5)))}function Ue(t,e){return t.getUint8(e)}function $(t,e){return t.getUint16(e,!0)}function j(t,e){return t.getUint32(e,!0)}function nt(t,e){return at(t.getBigUint64(e,!0))}function Q(t){return new We(t.buffer)}hn({Inflate:Fs}),x.BlobReader=Pn,x.BlobWriter=Bn,x.Data64URIWriter=class extends Ks{constructor(t){super(),_.assign(this,{data:\"data:\"+(t||\"\")+\";base64,\",pending:[]})}writeUint8Array(t){let e=this,n=0,s=e.pending,r=e.pending.length;for(e.pending=\"\",n=0;n<3*W.floor((r+t.length)/3)-r;n++)s+=Bt.fromCharCode(t[n]);for(;n<t.length;n++)e.pending+=Bt.fromCharCode(t[n]);s.length>2?e.data+=Xt(s):e.pending=s}getData(){return this.data+Xt(this.pending)}},x.ERR_BAD_FORMAT=tt,x.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ns,x.ERR_ENCRYPTED=as,x.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=ts,x.ERR_EOCDR_NOT_FOUND=Kn,x.ERR_EOCDR_ZIP64_NOT_FOUND=es,x.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=rs,x.ERR_INVALID_PASSWORD=yt,x.ERR_INVALID_SIGNATURE=bt,x.ERR_LOCAL_FILE_HEADER_NOT_FOUND=ss,x.ERR_SPLIT_ZIP_FILE=xt,x.ERR_UNSUPPORTED_COMPRESSION=Wt,x.ERR_UNSUPPORTED_ENCRYPTION=is,x.TextWriter=class extends Bn{constructor(t){super(t),_.assign(this,{encoding:t,utf8:!t||t.toLowerCase()==\"utf-8\"})}async getData(){let{encoding:t,utf8:e}=this,n=await super.getData();if(n.text&&e)return n.text();{let s=new FileReader;return new be((r,a)=>{_.assign(s,{onload:({target:i})=>r(i.result),onerror:()=>a(s.error)}),s.readAsText(n,t)})}}},x.ZipReader=class{constructor(t,e={}){_.assign(this,{reader:tr(t),options:e,config:ke})}async*getEntriesGenerator(t={}){let e=this,{reader:n}=e,{config:s}=e;if(await et(n),n.size!==pe&&n.readUint8Array||(n=new Pn(await new Ht(n.readable).blob()),await et(n)),22>n.size)throw new U(tt);n.chunkSize=(C=>W.max(C.chunkSize,64))(s);let r=await(async(C,D,L)=>{let T=new O(4);return Q(T).setUint32(0,101010256,!0),await B(22)||await B(W.min(1048582,L));async function B(V){let G=L-V,k=await ee(C,G,V);for(let A=k.length-22;A>=0;A--)if(k[A]==T[0]&&k[A+1]==T[1]&&k[A+2]==T[2]&&k[A+3]==T[3])return{offset:G+A,buffer:k.slice(A,A+22).buffer}}})(n,0,n.size);if(!r)throw j(Q(await ee(n,0,4)))==134695760?new U(xt):new U(Kn);let a=Q(r),i=j(a,12),o=j(a,16),l=r.offset,f=$(a,20),c=l+22+f,h=$(a,4),p=n.lastDiskNumber||0,u=$(a,6),d=$(a,8),w=0,y=0;if(o==Ce||i==Ce||d==Fe||u==Fe){let C=Q(await ee(n,r.offset-20,20));if(j(C,0)!=117853008)throw new U(es);o=nt(C,8);let D=await ee(n,o,56,-1),L=Q(D),T=r.offset-20-56;if(j(L,0)!=cn&&o!=T){let B=o;o=T,w=o-B,D=await ee(n,o,56,-1),L=Q(D)}if(j(L,0)!=cn)throw new U(ts);h==Fe&&(h=j(L,16)),u==Fe&&(u=j(L,20)),d==Fe&&(d=nt(L,32)),i==Ce&&(i=nt(L,40)),o-=i}if(o<n.size||(w=n.size-o-i-22,o=n.size-i-22),p!=h)throw new U(xt);if(0>o)throw new U(tt);let g=0,m=await ee(n,o,i,u),v=Q(m);if(i){let C=r.offset-i;if(j(v,g)!=on&&o!=C){let D=o;o=C,w+=o-D,m=await ee(n,o,i,u),v=Q(m)}}let b=r.offset-o-(n.lastDiskOffset||0);if(i==b||0>b||(i=b,m=await ee(n,o,i,u),v=Q(m)),0>o||o>=n.size)throw new U(tt);let R=he(e,t,\"filenameEncoding\"),E=he(e,t,\"commentEncoding\");for(let C=0;d>C;C++){let D=new ir(n,s,e.options);if(j(v,g)!=on)throw new U(ns);ls(D,v,g+6);let L=!!D.bitFlag.languageEncodingFlag,T=g+46,B=T+D.filenameLength,V=B+D.extraFieldLength,G=$(v,g+4),k=(0&G)==0,A=m.subarray(T,B),q=$(v,g+32),S=V+q,Z=m.subarray(V,S),X=L,Y=L,ae=k&&(16&Ue(v,g+38))==16,P=j(v,g+42)+w;_.assign(D,{versionMadeBy:G,msDosCompatible:k,compressedSize:0,uncompressedSize:0,commentLength:q,directory:ae,offset:P,diskNumberStart:$(v,g+34),internalFileAttribute:$(v,g+36),externalFileAttribute:j(v,g+38),rawFilename:A,filenameUTF8:X,commentUTF8:Y,rawExtraField:m.subarray(B,V)});let[N,te]=await be.all([Tt(A,X?os:R||cs),Tt(Z,Y?os:E||cs)]);_.assign(D,{rawComment:Z,filename:N,comment:te,directory:ae||N.endsWith(\"/\")}),y=W.max(P,y),await fs(D,D,v,g+6);let I=new Yn(D);I.getData=(ie,De)=>D.getData(ie,I,De),g=S;let{onprogress:ne}=t;if(ne)try{await ne(C+1,d,new Yn(D))}catch{}yield I}let F=he(e,t,\"extractPrependedData\"),z=he(e,t,\"extractAppendedData\");return F&&(e.prependedData=y>0?await ee(n,0,y):new O),e.comment=f?await ee(n,l+22,f):new O,z&&(e.appendedData=c<n.size?await ee(n,c,n.size-c):new O),!0}async getEntries(t={}){let e=[];for await(let n of this.getEntriesGenerator(t))e.push(n);return e}async close(){}},x.configure=hn,x.getMimeType=()=>\"application/octet-stream\",x.terminateWorkers=()=>{ze.forEach(t=>{Ct(t),t.terminate()})},_.defineProperty(x,\"__esModule\",{value:!0})})});return lr();})();\n";const hookScript = "(()=>{(e=>{let M=\"single-file-load-deferred-images-start\",W=\"single-file-load-deferred-images-end\",k=\"single-file-load-deferred-images-keep-zoom-level-start\",x=\"single-file-load-deferred-images-keep-zoom-level-end\",z=\"single-file-load-deferred-images-keep-zoom-level-reset\",K=\"single-file-load-deferred-images-reset\",U=\"single-file-block-cookies-start\",Y=\"single-file-block-cookies-end\",q=\"single-file-block-storage-start\",j=\"single-file-block-storage-end\",Q=\"single-file-dispatch-scroll-event-start\",J=\"single-file-dispatch-scroll-event-end\",F=\"single-file-lazy-load\",L=\"single-file-load-image\",X=\"single-file-image-loaded\",Z=\"single-file-request-fetch\",$=\"single-file-ack-fetch\",T=\"single-file-response-fetch\",v=\"single-file-request-get-adopted-stylesheets\",b=\"single-file-unregister-request-get-adopted-stylesheets\",ee=\"single-file-response-get-adopted-stylesheets\",te=\"single-file-new-font-face\",ne=\"single-file-delete-font\",re=\"single-file-clear-fonts\",w={family:\"font-family\",style:\"font-style\",weight:\"font-weight\",stretch:\"font-stretch\",unicodeRange:\"unicode-range\",variant:\"font-variant\",featureSettings:\"font-feature-settings\"},ie=(r,n)=>e.fetch(r,n),m=e.CustomEvent,t=e.document,p=e.screen,R=e.Element,A=e.UIEvent,oe=e.Event,se=e.FileReader,ce=e.Blob,de=e.JSON,le=e.MutationObserver,h=new Map,g=new Map,O;I(),new le(I).observe(t,{childList:!0});function I(){t.addEventListener(M,()=>N()),t.addEventListener(k,()=>N(!0)),t.addEventListener(W,()=>B()),t.addEventListener(x,()=>B(!0)),t.addEventListener(K,G),t.addEventListener(z,()=>{let r=t.documentElement.style.getPropertyValue(\"-sf-transform\"),n=t.documentElement.style.getPropertyPriority(\"-sf-transform\"),c=t.documentElement.style.getPropertyValue(\"-sf-transform-origin\"),i=t.documentElement.style.getPropertyPriority(\"-sf-transform-origin\"),o=t.documentElement.style.getPropertyValue(\"-sf-min-height\"),_=t.documentElement.style.getPropertyPriority(\"-sf-min-height\");t.documentElement.style.setProperty(\"transform\",r,n),t.documentElement.style.setProperty(\"transform-origin\",c,i),t.documentElement.style.setProperty(\"min-height\",o,_),t.documentElement.style.removeProperty(\"-sf-transform\"),t.documentElement.style.removeProperty(\"-sf-transform-origin\"),t.documentElement.style.removeProperty(\"-sf-min-height\"),G()}),t.addEventListener(Q,()=>{O=!0}),t.addEventListener(J,()=>{O=!1}),t.addEventListener(U,()=>{try{t.__defineGetter__(\"cookie\",()=>{throw new Error(\"document.cookie temporary blocked by SingleFile\")})}catch{}}),t.addEventListener(Y,()=>{delete t.cookie}),t.addEventListener(q,()=>{e._singleFile_localStorage||(e._singleFile_localStorage=e.localStorage,e.__defineGetter__(\"localStorage\",()=>{throw new Error(\"localStorage temporary blocked by SingleFile\")})),e._singleFile_indexedDB||(e._singleFile_indexedDB=e.indexedDB,e.__defineGetter__(\"indexedDB\",()=>{throw new Error(\"indexedDB temporary blocked by SingleFile\")}))}),t.addEventListener(j,()=>{e._singleFile_localStorage&&(delete e.localStorage,e.localStorage=e._singleFile_localStorage,delete e._singleFile_localStorage),e._singleFile_indexedDB||(delete e.indexedDB,e.indexedDB=e._singleFile_indexedDB,delete e._singleFile_indexedDB)}),t.addEventListener(Z,async r=>{t.dispatchEvent(new m($));let{url:n,options:c}=de.parse(r.detail),i;try{let o=await ie(n,c);i={url:n,response:await o.arrayBuffer(),headers:[...o.headers],status:o.status}}catch(o){i={url:n,error:o&&o.toString()}}t.dispatchEvent(new m(T,{detail:i}))}),t.addEventListener(v,P)}function N(r){let n=t.scrollingElement||t.documentElement,c=n.clientHeight,i=n.clientWidth,o=Math.max(n.scrollHeight-c,c),_=Math.max(n.scrollWidth-i,i);if(t.querySelectorAll(\"[loading=lazy]\").forEach(l=>{l.loading=\"eager\",l.setAttribute(F,\"\")}),n.__defineGetter__(\"clientHeight\",()=>o),n.__defineGetter__(\"clientWidth\",()=>_),p.__defineGetter__(\"height\",()=>o),p.__defineGetter__(\"width\",()=>_),e._singleFile_innerHeight=e.innerHeight,e._singleFile_innerWidth=e.innerWidth,e.__defineGetter__(\"innerHeight\",()=>o),e.__defineGetter__(\"innerWidth\",()=>_),r||e._singleFile_getBoundingClientRect||(e._singleFile_getBoundingClientRect=R.prototype.getBoundingClientRect,R.prototype.getBoundingClientRect=function(){let l=e._singleFile_getBoundingClientRect.call(this);return this==n&&(l.__defineGetter__(\"height\",()=>o),l.__defineGetter__(\"bottom\",()=>o+l.top),l.__defineGetter__(\"width\",()=>_),l.__defineGetter__(\"right\",()=>_+l.left)),l}),!e._singleFileImage){let l=e.Image;e._singleFileImage=e.Image,e.__defineGetter__(\"Image\",function(){return function(){let s=new l(...arguments),d=new l(...arguments);return d.__defineSetter__(\"src\",f=>{s.src=f,t.dispatchEvent(new m(L,{detail:s.src}))}),d.__defineGetter__(\"src\",()=>s.src),d.__defineSetter__(\"srcset\",f=>{t.dispatchEvent(new m(L)),s.srcset=f}),d.__defineGetter__(\"srcset\",()=>s.srcset),d.__defineGetter__(\"height\",()=>s.height),d.__defineGetter__(\"width\",()=>s.width),d.__defineGetter__(\"naturalHeight\",()=>s.naturalHeight),d.__defineGetter__(\"naturalWidth\",()=>s.naturalWidth),s.decode&&d.__defineGetter__(\"decode\",()=>()=>s.decode()),s.onload=s.onloadend=s.onerror=f=>{t.dispatchEvent(new m(X,{detail:s.src})),d.dispatchEvent(new oe(f.type,f))},d}})}let a,E;r?(a=c/o,E=i/_):(a=(c+e.scrollY)/o,E=(i+e.scrollX)/_);let u=Math.min(a,E);if(u<1){let l=t.documentElement.style.getPropertyValue(\"transform\"),s=t.documentElement.style.getPropertyPriority(\"transform\"),d=t.documentElement.style.getPropertyValue(\"transform-origin\"),f=t.documentElement.style.getPropertyPriority(\"transform-origin\"),S=t.documentElement.style.getPropertyValue(\"min-height\"),y=t.documentElement.style.getPropertyPriority(\"min-height\");t.documentElement.style.setProperty(\"transform-origin\",(a<1?\"50%\":\"0\")+\" \"+(E<1?\"50%\":\"0\")+\" 0\",\"important\"),t.documentElement.style.setProperty(\"transform\",\"scale3d(\"+u+\", \"+u+\", 1)\",\"important\"),t.documentElement.style.setProperty(\"min-height\",100/u+\"vh\",\"important\"),D(),r?(t.documentElement.style.setProperty(\"-sf-transform\",l,s),t.documentElement.style.setProperty(\"-sf-transform-origin\",d,f),t.documentElement.style.setProperty(\"-sf-min-height\",S,y)):(t.documentElement.style.setProperty(\"transform\",l,s),t.documentElement.style.setProperty(\"transform-origin\",d,f),t.documentElement.style.setProperty(\"min-height\",S,y))}if(!r){D();let l=n.getBoundingClientRect();window==window.top&&[...h].forEach(([s,d])=>{let f=d.options&&d.options.root&&d.options.root.getBoundingClientRect,S=f&&d.options.root.getBoundingClientRect(),y=g.get(s);if(y){let _e=y.map(V=>{let H=V.getBoundingClientRect();return{target:V,intersectionRatio:1,boundingClientRect:H,intersectionRect:H,isIntersecting:!0,rootBounds:f?S:l,time:0}});d.callback.call(s,_e,s)}})}}function B(r){t.querySelectorAll(\"[\"+F+\"]\").forEach(n=>{n.loading=\"lazy\",n.removeAttribute(F)}),r||e._singleFile_getBoundingClientRect&&(R.prototype.getBoundingClientRect=e._singleFile_getBoundingClientRect,delete e._singleFile_getBoundingClientRect),e._singleFileImage&&(delete e.Image,e.Image=e._singleFileImage,delete e._singleFileImage),r||D()}function G(){let r=t.scrollingElement||t.documentElement;e._singleFile_innerHeight!=null&&(delete e.innerHeight,e.innerHeight=e._singleFile_innerHeight,delete e._singleFile_innerHeight),e._singleFile_innerWidth!=null&&(delete e.innerWidth,e.innerWidth=e._singleFile_innerWidth,delete e._singleFile_innerWidth),delete r.clientHeight,delete r.clientWidth,delete p.height,delete p.width}if(e.FontFace){let r=e.FontFace;e.FontFace=function(){return C(...arguments).then(i=>t.dispatchEvent(new m(te,{detail:i}))),new r(...arguments)},e.FontFace.prototype=r.prototype,e.FontFace.toString=function(){return\"function FontFace() { [native code] }\"};let n=t.fonts.delete;t.fonts.delete=function(i){return C(i.family).then(o=>t.dispatchEvent(new m(ne,{detail:o}))),n.call(t.fonts,i)},t.fonts.delete.toString=function(){return\"function delete() { [native code] }\"};let c=t.fonts.clear;t.fonts.clear=function(){return t.dispatchEvent(new m(re)),c.call(t.fonts)},t.fonts.clear.toString=function(){return\"function clear() { [native code] }\"}}if(e.IntersectionObserver){let r=e.IntersectionObserver;e.IntersectionObserver=function(){let n=new r(...arguments),c=r.prototype.observe||n.observe,i=r.prototype.unobserve||n.unobserve,o=arguments[0],_=arguments[1];return c&&(n.observe=function(a){let E=g.get(n);return E||(E=[],g.set(n,E)),E.push(a),c.call(n,a)}),i&&(n.unobserve=function(a){let E=g.get(n);return E&&(E=E.filter(u=>u!=a),E.length?g.set(n,E):(g.delete(n),h.delete(n))),i.call(n,a)}),h.set(n,{callback:o,options:_}),n},e.IntersectionObserver.prototype=r.prototype,e.IntersectionObserver.toString=function(){return\"function IntersectionObserver() { [native code] }\"}}function P(r){let n=r.target.shadowRoot;if(r.stopPropagation(),n){n.addEventListener(v,P,{capture:!0}),n.addEventListener(b,()=>n.removeEventListener(v,P),{once:!0});let c=Array.from(n.adoptedStyleSheets).map(i=>Array.from(i.cssRules).map(o=>o.cssText).join(`\n`));c.length&&n.dispatchEvent(new m(ee,{detail:{adoptedStyleSheets:c}}))}}async function C(r,n,c){let i={};return i[\"font-family\"]=r,i.src=n,c&&Object.keys(c).forEach(o=>{w[o]&&(i[w[o]]=c[o])}),new Promise(o=>{if(i.src instanceof ArrayBuffer){let _=new se;_.readAsDataURL(new ce([i.src])),_.addEventListener(\"load\",()=>{i.src=\"url(\"+_.result+\")\",o(i)})}else o(i)})}function D(){try{e.dispatchEvent(new A(\"resize\")),O&&e.dispatchEvent(new A(\"scroll\"))}catch{}}})(typeof globalThis==\"object\"?globalThis:window);})();\n";const zipScript = "var zip=(()=>{var cr=(x,oe)=>()=>(oe||x((oe={exports:{}}).exports,oe),oe.exports);var lr=cr((rt,ws)=>{((x,oe)=>{typeof rt==\"object\"&&typeof ws<\"u\"?oe(rt):typeof define==\"function\"&&define.amd?define([\"exports\"],oe):oe((x=typeof globalThis<\"u\"?globalThis:x||self).zip={})})(rt,function(x){\"use strict\";let{Array:oe,Object:_,String:Bt,Number:at,BigInt:Vt,Math:W,Date:it,Map:gs,Set:fr,Response:Ht,URL:ms,Error:U,Uint8Array:O,Uint16Array:ys,Uint32Array:jt,DataView:We,Blob:ur,Promise:be,TextEncoder:Gt,TextDecoder:ot,document:hr,crypto:xe,btoa:Xt,TransformStream:ce,ReadableStream:qt,WritableStream:Le,CompressionStream:Jt,DecompressionStream:$t,navigator:ct,Worker:Xe}=typeof globalThis<\"u\"?globalThis:this||self;var H=O,le=ys,lt=Int32Array,qe=new H([0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4,5,5,5,5,0,0,0,0]),Je=new H([0,0,0,0,1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0]),ft=new H([16,17,18,0,8,7,9,6,10,5,11,4,12,3,13,2,14,1,15]),Qt=(t,e)=>{for(var n=new le(31),s=0;31>s;++s)n[s]=e+=1<<t[s-1];var r=new lt(n[30]);for(s=1;30>s;++s)for(var a=n[s];a<n[s+1];++a)r[a]=a-n[s]<<5|s;return{b:n,r}},Zt=Qt(qe,2),Yt=Zt.b,ut=Zt.r;Yt[28]=258,ut[258]=28;for(var Kt=Qt(Je,0),bs=Kt.b,en=Kt.r,ht=new le(32768),M=0;32768>M;++M){var Ee=(43690&M)>>1|(21845&M)<<1;Ee=(61680&(Ee=(52428&Ee)>>2|(13107&Ee)<<2))>>4|(3855&Ee)<<4,ht[M]=((65280&Ee)>>8|(255&Ee)<<8)>>1}var we=(t,e,n)=>{for(var s=t.length,r=0,a=new le(e);s>r;++r)t[r]&&++a[t[r]-1];var i,o=new le(e);for(r=1;e>r;++r)o[r]=o[r-1]+a[r-1]<<1;if(n){i=new le(1<<e);var l=15-e;for(r=0;s>r;++r)if(t[r])for(var f=r<<4|t[r],c=e-t[r],h=o[t[r]-1]++<<c,p=h|(1<<c)-1;p>=h;++h)i[ht[h]>>l]=f}else for(i=new le(s),r=0;s>r;++r)t[r]&&(i[r]=ht[o[t[r]-1]++]>>15-t[r]);return i},ve=new H(288);for(M=0;144>M;++M)ve[M]=8;for(M=144;256>M;++M)ve[M]=9;for(M=256;280>M;++M)ve[M]=7;for(M=280;288>M;++M)ve[M]=8;var Ne=new H(32);for(M=0;32>M;++M)Ne[M]=5;var vs=we(ve,9,0),ks=we(ve,9,1),Ss=we(Ne,5,0),_s=we(Ne,5,1),dt=t=>{for(var e=t[0],n=1;n<t.length;++n)t[n]>e&&(e=t[n]);return e},de=(t,e,n)=>{var s=e/8|0;return(t[s]|t[s+1]<<8)>>(7&e)&n},pt=(t,e)=>{var n=e/8|0;return(t[n]|t[n+1]<<8|t[n+2]<<16)>>(7&e)},wt=t=>(t+7)/8|0,Me=(t,e,n)=>((e==null||0>e)&&(e=0),(n==null||n>t.length)&&(n=t.length),new H(t.subarray(e,n))),zs=[\"unexpected EOF\",\"invalid block type\",\"invalid length/literal\",\"invalid distance\",\"stream finished\",\"no stream handler\",,\"no callback\",\"invalid UTF-8 data\",\"extra field too long\",\"date not in range 1980-2099\",\"filename too long\",\"stream finishing\",\"invalid zip data\"],fe=(t,e,n)=>{var s=new U(e||zs[t]);if(s.code=t,U.captureStackTrace&&U.captureStackTrace(s,fe),!n)throw s;return s},ye=(t,e,n)=>{n<<=7&e;var s=e/8|0;t[s]|=n,t[s+1]|=n>>8},Ie=(t,e,n)=>{n<<=7&e;var s=e/8|0;t[s]|=n,t[s+1]|=n>>8,t[s+2]|=n>>16},gt=(t,e)=>{for(var n=[],s=0;s<t.length;++s)t[s]&&n.push({s,f:t[s]});var r=n.length,a=n.slice();if(!r)return{t:rn,l:0};if(r==1){var i=new H(n[0].s+1);return i[n[0].s]=1,{t:i,l:1}}n.sort((R,E)=>R.f-E.f),n.push({s:-1,f:25001});var o=n[0],l=n[1],f=0,c=1,h=2;for(n[0]={s:-1,f:o.f+l.f,l:o,r:l};c!=r-1;)o=n[n[f].f<n[h].f?f++:h++],l=n[f!=c&&n[f].f<n[h].f?f++:h++],n[c++]={s:-1,f:o.f+l.f,l:o,r:l};var p=a[0].s;for(s=1;r>s;++s)a[s].s>p&&(p=a[s].s);var u=new le(p+1),d=mt(n[c-1],u,0);if(d>e){s=0;var w=0,y=d-e,g=1<<y;for(a.sort((R,E)=>u[E.s]-u[R.s]||R.f-E.f);r>s;++s){var m=a[s].s;if(u[m]<=e)break;w+=g-(1<<d-u[m]),u[m]=e}for(w>>=y;w>0;){var v=a[s].s;u[v]<e?w-=1<<e-u[v]++-1:++s}for(;s>=0&&w;--s){var b=a[s].s;u[b]==e&&(--u[b],++w)}d=e}return{t:new H(u),l:d}},mt=(t,e,n)=>t.s==-1?W.max(mt(t.l,e,n+1),mt(t.r,e,n+1)):e[t.s]=n,tn=t=>{for(var e=t.length;e&&!t[--e];);for(var n=new le(++e),s=0,r=t[0],a=1,i=l=>{n[s++]=l},o=1;e>=o;++o)if(t[o]==r&&o!=e)++a;else{if(!r&&a>2){for(;a>138;a-=138)i(32754);a>2&&(i(a>10?a-11<<5|28690:a-3<<5|12305),a=0)}else if(a>3){for(i(r),--a;a>6;a-=6)i(8304);a>2&&(i(a-3<<5|8208),a=0)}for(;a--;)i(r);a=1,r=t[o]}return{c:n.subarray(0,s),n:e}},Pe=(t,e)=>{for(var n=0,s=0;s<e.length;++s)n+=t[s]*e[s];return n},nn=(t,e,n)=>{var s=n.length,r=wt(e+2);t[r]=255&s,t[r+1]=s>>8,t[r+2]=255^t[r],t[r+3]=255^t[r+1];for(var a=0;s>a;++a)t[r+a+4]=n[a];return 8*(r+4+s)},sn=(t,e,n,s,r,a,i,o,l,f,c)=>{ye(e,c++,n),++r[256];for(var h=gt(r,15),p=h.t,u=h.l,d=gt(a,15),w=d.t,y=d.l,g=tn(p),m=g.c,v=g.n,b=tn(w),R=b.c,E=b.n,F=new le(19),z=0;z<m.length;++z)++F[31&m[z]];for(z=0;z<R.length;++z)++F[31&R[z]];for(var C=gt(F,7),D=C.t,L=C.l,T=19;T>4&&!D[ft[T-1]];--T);var B,V,G,k,A=f+5<<3,q=Pe(r,ve)+Pe(a,Ne)+i,S=Pe(r,p)+Pe(a,w)+i+14+3*T+Pe(F,D)+2*F[16]+3*F[17]+7*F[18];if(l>=0&&q>=A&&S>=A)return nn(e,c,t.subarray(l,l+f));if(ye(e,c,1+(q>S)),c+=2,q>S){B=we(p,u,0),V=p,G=we(w,y,0),k=w;var Z=we(D,L,0);for(ye(e,c,v-257),ye(e,c+5,E-1),ye(e,c+10,T-4),c+=14,z=0;T>z;++z)ye(e,c+3*z,D[ft[z]]);c+=3*T;for(var X=[m,R],Y=0;2>Y;++Y){var ae=X[Y];for(z=0;z<ae.length;++z){var P=31&ae[z];ye(e,c,Z[P]),c+=D[P],P>15&&(ye(e,c,ae[z]>>5&127),c+=ae[z]>>12)}}}else B=vs,V=ve,G=Ss,k=Ne;for(z=0;o>z;++z){var N=s[z];if(N>255){Ie(e,c,B[257+(P=N>>18&31)]),c+=V[P+257],P>7&&(ye(e,c,N>>23&31),c+=qe[P]);var te=31&N;Ie(e,c,G[te]),c+=k[te],te>3&&(Ie(e,c,N>>5&8191),c+=Je[te])}else Ie(e,c,B[N]),c+=V[N]}return Ie(e,c,B[256]),c+V[256]},Ds=new lt([65540,131080,131088,131104,262176,1048704,1048832,2114560,2117632]),rn=new H(0),Rs=function(){function t(e,n){if(typeof e==\"function\"&&(n=e,e={}),this.ondata=n,this.o=e||{},this.s={l:0,i:32768,w:32768,z:32768},this.b=new H(98304),this.o.dictionary){var s=this.o.dictionary.subarray(-32768);this.b.set(s,32768-s.length),this.s.i=32768-s.length}}return t.prototype.p=function(e,n){this.ondata(((s,r,a,i,o)=>{if(!o&&(o={l:1},r.dictionary)){var l=r.dictionary.subarray(-32768),f=new H(l.length+s.length);f.set(l),f.set(s,l.length),s=f,o.w=l.length}return((c,h,p,u,d,w)=>{var y=w.z||c.length,g=new H(0+y+5*(1+W.ceil(y/7e3))+0),m=g.subarray(0,g.length-0),v=w.l,b=7&(w.r||0);if(h){b&&(m[0]=w.r>>3);for(var R=Ds[h-1],E=R>>13,F=8191&R,z=(1<<p)-1,C=w.p||new le(32768),D=w.h||new le(z+1),L=W.ceil(p/3),T=2*L,B=Pt=>(c[Pt]^c[Pt+1]<<L^c[Pt+2]<<T)&z,V=new lt(25e3),G=new le(288),k=new le(32),A=0,q=0,S=w.i||0,Z=0,X=w.w||0,Y=0;y>S+2;++S){var ae=B(S),P=32767&S,N=D[ae];if(C[P]=N,D[ae]=P,S>=X){var te=y-S;if((A>7e3||Z>24576)&&(te>423||!v)){b=sn(c,m,0,V,G,k,q,Z,Y,S-Y,b),Z=A=q=0,Y=S;for(var I=0;286>I;++I)G[I]=0;for(I=0;30>I;++I)k[I]=0}var ne=2,ie=0,De=F,se=P-N&32767;if(te>2&&ae==B(S-se))for(var Te=W.min(E,te)-1,Re=W.min(32767,S),J=W.min(258,te);Re>=se&&--De&&P!=N;){if(c[S+ne]==c[S+ne-se]){for(var K=0;J>K&&c[S+K]==c[S+K-se];++K);if(K>ne){if(ne=K,ie=se,K>Te)break;var Nt=W.min(se,K-2),st=0;for(I=0;Nt>I;++I){var Mt=S-se+I&32767,hs=Mt-C[Mt]&32767;hs>st&&(st=hs,N=Mt)}}}se+=(P=N)-(N=C[P])&32767}if(ie){V[Z++]=268435456|ut[ne]<<18|en[ie];var ds=31&ut[ne],ps=31&en[ie];q+=qe[ds]+Je[ps],++G[257+ds],++k[ps],X=S+ne,++A}else V[Z++]=c[S],++G[c[S]]}}for(S=W.max(S,X);y>S;++S)V[Z++]=c[S],++G[c[S]];b=sn(c,m,v,V,G,k,q,Z,Y,S-Y,b),v||(w.r=7&b|m[b/8|0]<<3,b-=7,w.h=D,w.p=C,w.i=S,w.w=X)}else{for(S=w.w||0;y+v>S;S+=65535){var It=S+65535;y>It||(m[b/8|0]=v,It=y),b=nn(m,b+1,c.subarray(S,It))}w.i=y}return Me(g,0,0+wt(b)+0)})(s,r.level==null?6:r.level,r.mem==null?W.ceil(1.5*W.max(8,W.min(13,W.log(s.length)))):12+r.mem,0,0,o)})(e,this.o,0,0,this.s),n)},t.prototype.push=function(e,n){this.ondata||fe(5),this.s.l&&fe(4);var s=e.length+this.s.z;if(s>this.b.length){if(s>2*this.b.length-32768){var r=new H(-32768&s);r.set(this.b.subarray(0,this.s.z)),this.b=r}var a=this.b.length-this.s.z;a&&(this.b.set(e.subarray(0,a),this.s.z),this.s.z=this.b.length,this.p(this.b,!1)),this.b.set(this.b.subarray(-32768)),this.b.set(e.subarray(a),32768),this.s.z=e.length-a+32768,this.s.i=32766,this.s.w=32768}else this.b.set(e,this.s.z),this.s.z+=e.length;this.s.l=1&n,(this.s.z>this.s.w+8191||n)&&(this.p(this.b,n||!1),this.s.w=this.s.i,this.s.i-=2)},t}(),Es=function(){function t(e,n){typeof e==\"function\"&&(n=e,e={}),this.ondata=n;var s=e&&e.dictionary&&e.dictionary.subarray(-32768);this.s={i:0,b:s?s.length:0},this.o=new H(32768),this.p=new H(0),s&&this.o.set(s)}return t.prototype.e=function(e){if(this.ondata||fe(5),this.d&&fe(4),this.p.length){if(e.length){var n=new H(this.p.length+e.length);n.set(this.p),n.set(e,this.p.length),this.p=n}}else this.p=e},t.prototype.c=function(e){this.s.i=+(this.d=e||!1);var n=this.s.b,s=((r,a,i)=>{var o=r.length;if(!o||a.f&&!a.l)return i||new H(0);var l=!i,f=l||a.i!=2,c=a.i;l&&(i=new H(3*o));var h=Re=>{var J=i.length;if(Re>J){var K=new H(W.max(2*J,Re));K.set(i),i=K}},p=a.f||0,u=a.p||0,d=a.b||0,w=a.l,y=a.d,g=a.m,m=a.n,v=8*o;do{if(!w){p=de(r,u,1);var b=de(r,u+1,3);if(u+=3,!b){var R=r[(k=wt(u)+4)-4]|r[k-3]<<8,E=k+R;if(E>o){c&&fe(0);break}f&&h(d+R),i.set(r.subarray(k,E),d),a.b=d+=R,a.p=u=8*E,a.f=p;continue}if(b==1)w=ks,y=_s,g=9,m=5;else if(b==2){var F=de(r,u,31)+257,z=de(r,u+10,15)+4,C=F+de(r,u+5,31)+1;u+=14;for(var D=new H(C),L=new H(19),T=0;z>T;++T)L[ft[T]]=de(r,u+3*T,7);u+=3*z;var B=dt(L),V=(1<<B)-1,G=we(L,B,1);for(T=0;C>T;){var k,A=G[de(r,u,V)];if(u+=15&A,16>(k=A>>4))D[T++]=k;else{var q=0,S=0;for(k==16?(S=3+de(r,u,3),u+=2,q=D[T-1]):k==17?(S=3+de(r,u,7),u+=3):k==18&&(S=11+de(r,u,127),u+=7);S--;)D[T++]=q}}var Z=D.subarray(0,F),X=D.subarray(F);g=dt(Z),m=dt(X),w=we(Z,g,1),y=we(X,m,1)}else fe(1);if(u>v){c&&fe(0);break}}f&&h(d+131072);for(var Y=(1<<g)-1,ae=(1<<m)-1,P=u;;P=u){var N=(q=w[pt(r,u)&Y])>>4;if((u+=15&q)>v){c&&fe(0);break}if(q||fe(2),256>N)i[d++]=N;else{if(N==256){P=u,w=null;break}var te=N-254;if(N>264){var I=qe[T=N-257];te=de(r,u,(1<<I)-1)+Yt[T],u+=I}var ne=y[pt(r,u)&ae],ie=ne>>4;if(ne||fe(3),u+=15&ne,X=bs[ie],ie>3&&(I=Je[ie],X+=pt(r,u)&(1<<I)-1,u+=I),u>v){c&&fe(0);break}f&&h(d+131072);var De=d+te;if(X>d){var se=0-X,Te=W.min(X,De);for(0>se+d&&fe(3);Te>d;++d)i[d]=(void 0)[se+d]}for(;De>d;++d)i[d]=i[d-X]}}a.l=w,a.p=P,a.b=d,a.f=p,w&&(p=1,a.m=g,a.d=y,a.n=m)}while(!p);return d!=i.length&&l?Me(i,0,d):i.subarray(0,d)})(this.p,this.s,this.o);this.ondata(Me(s,n,this.s.b),this.d),this.o=Me(s,this.s.b-32768),this.s.b=this.o.length,this.p=Me(this.p,this.s.p/8|0),this.s.p&=7},t.prototype.push=function(e,n){this.e(e),this.c(n)},t}(),Cs=ot!==void 0&&new ot;try{Cs.decode(rn,{stream:!0})}catch{}function an(t,e,n){return class{constructor(r){let a=this;var i,o;i=r,o=\"level\",(typeof _.hasOwn==\"function\"?_.hasOwn(i,o):i.hasOwnProperty(o))&&r.level===void 0&&delete r.level,a.codec=new t(_.assign({},e,r)),n(a.codec,l=>{if(a.pendingData){let f=a.pendingData;a.pendingData=new O(f.length+l.length);let{pendingData:c}=a;c.set(f,0),c.set(l,f.length)}else a.pendingData=new O(l)})}append(r){return this.codec.push(r),s(this)}flush(){return this.codec.push(new O,!0),s(this)}};function s(r){if(r.pendingData){let a=r.pendingData;return r.pendingData=null,a}return new O}}let{Deflate:dr,Inflate:Fs}=((t,e={},n)=>({Deflate:an(t.Deflate,e.deflate,n),Inflate:an(t.Inflate,e.inflate,n)}))({Deflate:Rs,Inflate:Es},void 0,(t,e)=>t.ondata=e),Ce=4294967295,Fe=65535,on=33639248,cn=101075792,pe=void 0,$e=\"undefined\",ln=\"function\";class fn{constructor(e){return class extends ce{constructor(n,s){let r=new e(s);super({transform(a,i){i.enqueue(r.append(a))},flush(a){let i=r.flush();i&&a.enqueue(i)}})}}}}let un=2;try{typeof ct!=$e&&ct.hardwareConcurrency&&(un=ct.hardwareConcurrency)}catch{}let Ts={chunkSize:524288,maxWorkers:un,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:pe,CompressionStreamNative:typeof Jt!=$e&&Jt,DecompressionStreamNative:typeof $t!=$e&&$t},ke=_.assign({},Ts);function hn(t){let{baseURL:e,chunkSize:n,maxWorkers:s,terminateWorkerTimeout:r,useCompressionStream:a,useWebWorkers:i,Deflate:o,Inflate:l,CompressionStream:f,DecompressionStream:c,workerScripts:h}=t;if(Se(\"baseURL\",e),Se(\"chunkSize\",n),Se(\"maxWorkers\",s),Se(\"terminateWorkerTimeout\",r),Se(\"useCompressionStream\",a),Se(\"useWebWorkers\",i),o&&(ke.CompressionStream=new fn(o)),l&&(ke.DecompressionStream=new fn(l)),Se(\"CompressionStream\",f),Se(\"DecompressionStream\",c),h!==pe){let{deflate:p,inflate:u}=h;if((p||u)&&(ke.workerScripts||(ke.workerScripts={})),p){if(!oe.isArray(p))throw new U(\"workerScripts.deflate must be an array\");ke.workerScripts.deflate=p}if(u){if(!oe.isArray(u))throw new U(\"workerScripts.inflate must be an array\");ke.workerScripts.inflate=u}}}function Se(t,e){e!==pe&&(ke[t]=e)}let dn=[];for(let t=0;256>t;t++){let e=t;for(let n=0;8>n;n++)1&e?e=e>>>1^3988292384:e>>>=1;dn[t]=e}class Qe{constructor(e){this.crc=e||-1}append(e){let n=0|this.crc;for(let s=0,r=0|e.length;r>s;s++)n=n>>>8^dn[255&(n^e[s])];this.crc=n}get(){return~this.crc}}class pn extends ce{constructor(){let e,n=new Qe;super({transform(s,r){n.append(s),r.enqueue(s)},flush(){let s=new O(4);new We(s.buffer).setUint32(0,n.get()),e.value=s}}),e=this}}let re={concat(t,e){if(t.length===0||e.length===0)return t.concat(e);let n=t[t.length-1],s=re.getPartial(n);return s===32?t.concat(e):re._shiftRight(e,s,0|n,t.slice(0,t.length-1))},bitLength(t){let e=t.length;if(e===0)return 0;let n=t[e-1];return 32*(e-1)+re.getPartial(n)},clamp(t,e){if(32*t.length<e)return t;let n=(t=t.slice(0,W.ceil(e/32))).length;return e&=31,n>0&&e&&(t[n-1]=re.partial(e,t[n-1]&2147483648>>e-1,1)),t},partial:(t,e,n)=>t===32?e:(n?0|e:e<<32-t)+1099511627776*t,getPartial:t=>W.round(t/1099511627776)||32,_shiftRight(t,e,n,s){for(s===void 0&&(s=[]);e>=32;e-=32)s.push(n),n=0;if(e===0)return s.concat(t);for(let i=0;i<t.length;i++)s.push(n|t[i]>>>e),n=t[i]<<32-e;let r=t.length?t[t.length-1]:0,a=re.getPartial(r);return s.push(re.partial(e+a&31,e+a>32?n:s.pop(),1)),s}},Ze={bytes:{fromBits(t){let e=re.bitLength(t)/8,n=new O(e),s;for(let r=0;e>r;r++)!(3&r)&&(s=t[r/4]),n[r]=s>>>24,s<<=8;return n},toBits(t){let e=[],n,s=0;for(n=0;n<t.length;n++)s=s<<8|t[n],(3&n)==3&&(e.push(s),s=0);return 3&n&&e.push(re.partial(8*(3&n),s)),e}}},As=class{constructor(t){let e=this;e.blockSize=512,e._init=[1732584193,4023233417,2562383102,271733878,3285377520],e._key=[1518500249,1859775393,2400959708,3395469782],t?(e._h=t._h.slice(0),e._buffer=t._buffer.slice(0),e._length=t._length):e.reset()}reset(){let t=this;return t._h=t._init.slice(0),t._buffer=[],t._length=0,t}update(t){let e=this;typeof t==\"string\"&&(t=Ze.utf8String.toBits(t));let n=e._buffer=re.concat(e._buffer,t),s=e._length,r=e._length=s+re.bitLength(t);if(r>9007199254740991)throw new U(\"Cannot hash more than 2^53 - 1 bits\");let a=new jt(n),i=0;for(let o=e.blockSize+s-(e.blockSize+s&e.blockSize-1);r>=o;o+=e.blockSize)e._block(a.subarray(16*i,16*(i+1))),i+=1;return n.splice(0,16*i),e}finalize(){let t=this,e=t._buffer,n=t._h;e=re.concat(e,[re.partial(1,1)]);for(let s=e.length+2;15&s;s++)e.push(0);for(e.push(W.floor(t._length/4294967296)),e.push(0|t._length);e.length;)t._block(e.splice(0,16));return t.reset(),n}_f(t,e,n,s){return t>19?t>39?t>59?t>79?void 0:e^n^s:e&n|e&s|n&s:e^n^s:e&n|~e&s}_S(t,e){return e<<t|e>>>32-t}_block(t){let e=this,n=e._h,s=oe(80);for(let f=0;16>f;f++)s[f]=t[f];let r=n[0],a=n[1],i=n[2],o=n[3],l=n[4];for(let f=0;79>=f;f++){16>f||(s[f]=e._S(1,s[f-3]^s[f-8]^s[f-14]^s[f-16]));let c=e._S(5,r)+e._f(f,a,i,o)+l+s[f]+e._key[W.floor(f/20)]|0;l=o,o=i,i=e._S(30,a),a=r,r=c}n[0]=n[0]+r|0,n[1]=n[1]+a|0,n[2]=n[2]+i|0,n[3]=n[3]+o|0,n[4]=n[4]+l|0}},Os={getRandomValues(t){let e=new jt(t.buffer),n=s=>{let r=987654321,a=4294967295;return()=>(r=36969*(65535&r)+(r>>16)&a,(((r<<16)+(s=18e3*(65535&s)+(s>>16)&a)&a)/4294967296+.5)*(W.random()>.5?1:-1))};for(let s,r=0;r<t.length;r+=4){let a=n(4294967296*(s||W.random()));s=987654071*a(),e[r/4]=4294967296*a()|0}return t}},Ae={importKey:t=>new Ae.hmacSha1(Ze.bytes.toBits(t)),pbkdf2(t,e,n,s){if(n=n||1e4,0>s||0>n)throw new U(\"invalid params to pbkdf2\");let r=1+(s>>5)<<2,a,i,o,l,f,c=new ArrayBuffer(r),h=new We(c),p=0,u=re;for(e=Ze.bytes.toBits(e),f=1;(r||1)>p;f++){for(a=i=t.encrypt(u.concat(e,[f])),o=1;n>o;o++)for(i=t.encrypt(i),l=0;l<i.length;l++)a[l]^=i[l];for(o=0;(r||1)>p&&o<a.length;o++)h.setInt32(p,a[o]),p+=4}return c.slice(0,s/8)},hmacSha1:class{constructor(t){let e=this,n=e._hash=As,s=[[],[]];e._baseHash=[new n,new n];let r=e._baseHash[0].blockSize/32;t.length>r&&(t=new n().update(t).finalize());for(let a=0;r>a;a++)s[0][a]=909522486^t[a],s[1][a]=1549556828^t[a];e._baseHash[0].update(s[0]),e._baseHash[1].update(s[1]),e._resultHash=new n(e._baseHash[0])}reset(){let t=this;t._resultHash=new t._hash(t._baseHash[0]),t._updated=!1}update(t){this._updated=!0,this._resultHash.update(t)}digest(){let t=this,e=t._resultHash.finalize(),n=new t._hash(t._baseHash[1]).update(e).finalize();return t.reset(),n}encrypt(t){if(this._updated)throw new U(\"encrypt on already updated hmac called!\");return this.update(t),this.digest(t)}}},Us=xe!==void 0&&typeof xe.getRandomValues==\"function\",yt=\"Invalid password\",bt=\"Invalid signature\",vt=\"zipjs-abort-check-password\";function wn(t){return Us?xe.getRandomValues(t):Os.getRandomValues(t)}let Oe=16,gn={name:\"PBKDF2\"},Ws=_.assign({hash:{name:\"HMAC\"}},gn),kt=_.assign({iterations:1e3,hash:{name:\"SHA-1\"}},gn),xs=[\"deriveBits\"],Be=[8,12,16],Ve=[16,24,32],_e=10,Ls=[0,0,0,0],mn=\"undefined\",yn=\"function\",Ye=typeof xe!=mn,He=Ye&&xe.subtle,bn=Ye&&typeof He!=mn,ge=Ze.bytes,Ns=class{constructor(t){let e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();let n=e._tables[0][4],s=e._tables[1],r=t.length,a,i,o,l=1;if(r!==4&&r!==6&&r!==8)throw new U(\"invalid aes key size\");for(e._key=[i=t.slice(0),o=[]],a=r;4*r+28>a;a++){let f=i[a-1];(a%r==0||r===8&&a%r==4)&&(f=n[f>>>24]<<24^n[f>>16&255]<<16^n[f>>8&255]<<8^n[255&f],a%r==0&&(f=f<<8^f>>>24^l<<24,l=l<<1^283*(l>>7))),i[a]=i[a-r]^f}for(let f=0;a;f++,a--){let c=i[3&f?a:a-4];o[f]=4>=a||4>f?c:s[0][n[c>>>24]]^s[1][n[c>>16&255]]^s[2][n[c>>8&255]]^s[3][n[255&c]]}}encrypt(t){return this._crypt(t,0)}decrypt(t){return this._crypt(t,1)}_precompute(){let t=this._tables[0],e=this._tables[1],n=t[4],s=e[4],r=[],a=[],i,o,l,f;for(let c=0;256>c;c++)a[(r[c]=c<<1^283*(c>>7))^c]=c;for(let c=i=0;!n[c];c^=o||1,i=a[i]||1){let h=i^i<<1^i<<2^i<<3^i<<4;h=h>>8^255&h^99,n[c]=h,s[h]=c,f=r[l=r[o=r[c]]];let p=16843009*f^65537*l^257*o^16843008*c,u=257*r[h]^16843008*h;for(let d=0;4>d;d++)t[d][c]=u=u<<24^u>>>8,e[d][h]=p=p<<24^p>>>8}for(let c=0;5>c;c++)t[c]=t[c].slice(0),e[c]=e[c].slice(0)}_crypt(t,e){if(t.length!==4)throw new U(\"invalid aes block size\");let n=this._key[e],s=n.length/4-2,r=[0,0,0,0],a=this._tables[e],i=a[0],o=a[1],l=a[2],f=a[3],c=a[4],h,p,u,d=t[0]^n[0],w=t[e?3:1]^n[1],y=t[2]^n[2],g=t[e?1:3]^n[3],m=4;for(let v=0;s>v;v++)h=i[d>>>24]^o[w>>16&255]^l[y>>8&255]^f[255&g]^n[m],p=i[w>>>24]^o[y>>16&255]^l[g>>8&255]^f[255&d]^n[m+1],u=i[y>>>24]^o[g>>16&255]^l[d>>8&255]^f[255&w]^n[m+2],g=i[g>>>24]^o[d>>16&255]^l[w>>8&255]^f[255&y]^n[m+3],m+=4,d=h,w=p,y=u;for(let v=0;4>v;v++)r[e?3&-v:v]=c[d>>>24]<<24^c[w>>16&255]<<16^c[y>>8&255]<<8^c[255&g]^n[m++],h=d,d=w,w=y,y=g,g=h;return r}},Ms=class{constructor(t,e){this._prf=t,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(t){return this.calculate(this._prf,t,this._iv)}incWord(t){if((t>>24&255)==255){let e=t>>16&255,n=t>>8&255,s=255&t;e===255?(e=0,n===255?(n=0,s===255?s=0:++s):++n):++e,t=0,t+=e<<16,t+=n<<8,t+=s}else t+=1<<24;return t}incCounter(t){(t[0]=this.incWord(t[0]))===0&&(t[1]=this.incWord(t[1]))}calculate(t,e,n){let s;if(!(s=e.length))return[];let r=re.bitLength(e);for(let a=0;s>a;a+=4){this.incCounter(n);let i=t.encrypt(n);e[a]^=i[0],e[a+1]^=i[1],e[a+2]^=i[2],e[a+3]^=i[3]}return re.clamp(e,r)}},Is=Ae.hmacSha1,vn=Ye&&bn&&typeof He.importKey==yn,kn=Ye&&bn&&typeof He.deriveBits==yn;class Ps extends ce{constructor({password:e,signed:n,encryptionStrength:s,checkPasswordOnly:r}){super({start(){_.assign(this,{ready:new be(a=>this.resolveReady=a),password:e,signed:n,strength:s-1,pending:new O})},async transform(a,i){let o=this,{password:l,strength:f,resolveReady:c,ready:h}=o;l?(await(async(u,d,w,y)=>{let g=await _n(u,d,w,ue(y,0,Be[d])),m=ue(y,Be[d]);if(g[0]!=m[0]||g[1]!=m[1])throw new U(yt)})(o,f,l,ue(a,0,Be[f]+2)),a=ue(a,Be[f]+2),r?i.error(new U(vt)):c()):await h;let p=new O(a.length-_e-(a.length-_e)%Oe);i.enqueue(Sn(o,a,p,0,_e,!0))},async flush(a){let{signed:i,ctr:o,hmac:l,pending:f,ready:c}=this;if(l&&o){await c;let h=ue(f,0,f.length-_e),p=ue(f,f.length-_e),u=new O;if(h.length){let d=Ge(ge,h);l.update(d);let w=o.update(d);u=je(ge,w)}if(i){let d=ue(je(ge,l.digest()),0,_e);for(let w=0;_e>w;w++)if(d[w]!=p[w])throw new U(bt)}a.enqueue(u)}}})}}class Bs extends ce{constructor({password:e,encryptionStrength:n}){let s;super({start(){_.assign(this,{ready:new be(r=>this.resolveReady=r),password:e,strength:n-1,pending:new O})},async transform(r,a){let i=this,{password:o,strength:l,resolveReady:f,ready:c}=i,h=new O;o?(h=await(async(u,d,w)=>{let y=wn(new O(Be[d]));return St(y,await _n(u,d,w,y))})(i,l,o),f()):await c;let p=new O(h.length+r.length-r.length%Oe);p.set(h,0),a.enqueue(Sn(i,r,p,h.length,0))},async flush(r){let{ctr:a,hmac:i,pending:o,ready:l}=this;if(i&&a){await l;let f=new O;if(o.length){let c=a.update(Ge(ge,o));i.update(c),f=je(ge,c)}s.signature=je(ge,i.digest()).slice(0,_e),r.enqueue(St(f,s.signature))}}}),s=this}}function Sn(t,e,n,s,r,a){let{ctr:i,hmac:o,pending:l}=t,f=e.length-r,c;for(l.length&&(e=St(l,e),n=((h,p)=>{if(p&&p>h.length){let u=h;(h=new O(p)).set(u,0)}return h})(n,f-f%Oe)),c=0;f-Oe>=c;c+=Oe){let h=Ge(ge,ue(e,c,c+Oe));a&&o.update(h);let p=i.update(h);a||o.update(p),n.set(je(ge,p),c+s)}return t.pending=ue(e,c),n}async function _n(t,e,n,s){t.password=null;let r=(h=>{if(Gt===void 0){let p=new O((h=unescape(encodeURIComponent(h))).length);for(let u=0;u<p.length;u++)p[u]=h.charCodeAt(u);return p}return new Gt().encode(h)})(n),a=await(async(h,p,u,d,w)=>{if(!vn)return Ae.importKey(p);try{return await He.importKey(\"raw\",p,u,!1,w)}catch{return vn=!1,Ae.importKey(p)}})(0,r,Ws,0,xs),i=await(async(h,p,u)=>{if(!kn)return Ae.pbkdf2(p,h.salt,kt.iterations,u);try{return await He.deriveBits(h,p,u)}catch{return kn=!1,Ae.pbkdf2(p,h.salt,kt.iterations,u)}})(_.assign({salt:s},kt),a,8*(2*Ve[e]+2)),o=new O(i),l=Ge(ge,ue(o,0,Ve[e])),f=Ge(ge,ue(o,Ve[e],2*Ve[e])),c=ue(o,2*Ve[e]);return _.assign(t,{keys:{key:l,authentication:f,passwordVerification:c},ctr:new Ms(new Ns(l),oe.from(Ls)),hmac:new Is(f)}),c}function St(t,e){let n=t;return t.length+e.length&&(n=new O(t.length+e.length),n.set(t,0),n.set(e,t.length)),n}function ue(t,e,n){return t.subarray(e,n)}function je(t,e){return t.fromBits(e)}function Ge(t,e){return t.toBits(e)}class Vs extends ce{constructor({password:e,passwordVerification:n,checkPasswordOnly:s}){super({start(){_.assign(this,{password:e,passwordVerification:n}),Rn(this,e)},transform(r,a){let i=this;if(i.password){let o=zn(i,r.subarray(0,12));if(i.password=null,o[11]!=i.passwordVerification)throw new U(yt);r=r.subarray(12)}s?a.error(new U(vt)):a.enqueue(zn(i,r))}})}}class Hs extends ce{constructor({password:e,passwordVerification:n}){super({start(){_.assign(this,{password:e,passwordVerification:n}),Rn(this,e)},transform(s,r){let a=this,i,o;if(a.password){a.password=null;let l=wn(new O(12));l[11]=a.passwordVerification,i=new O(s.length+l.length),i.set(Dn(a,l),0),o=12}else i=new O(s.length),o=0;i.set(Dn(a,s),o),r.enqueue(i)}})}}function zn(t,e){let n=new O(e.length);for(let s=0;s<e.length;s++)n[s]=En(t)^e[s],_t(t,n[s]);return n}function Dn(t,e){let n=new O(e.length);for(let s=0;s<e.length;s++)n[s]=En(t)^e[s],_t(t,e[s]);return n}function Rn(t,e){let n=[305419896,591751049,878082192];_.assign(t,{keys:n,crcKey0:new Qe(n[0]),crcKey2:new Qe(n[2])});for(let s=0;s<e.length;s++)_t(t,e.charCodeAt(s))}function _t(t,e){let[n,s,r]=t.keys;t.crcKey0.append([e]),n=~t.crcKey0.get(),s=Fn(W.imul(Fn(s+Cn(n)),134775813)+1),t.crcKey2.append([s>>>24]),r=~t.crcKey2.get(),t.keys=[n,s,r]}function En(t){let e=2|t.keys[2];return Cn(W.imul(e,1^e)>>>8)}function Cn(t){return 255&t}function Fn(t){return 4294967295&t}let Tn=\"deflate-raw\";class js extends ce{constructor(e,{chunkSize:n,CompressionStream:s,CompressionStreamNative:r}){super({});let{compressed:a,encrypted:i,useCompressionStream:o,zipCrypto:l,signed:f,level:c}=e,h=this,p,u,d=An(super.readable);i&&!l||!f||(p=new pn,d=me(d,p)),a&&(d=Un(d,o,{level:c,chunkSize:n},r,s)),i&&(l?d=me(d,new Hs(e)):(u=new Bs(e),d=me(d,u))),On(h,d,()=>{let w;i&&!l&&(w=u.signature),i&&!l||!f||(w=new We(p.value.buffer).getUint32(0)),h.signature=w})}}class Gs extends ce{constructor(e,{chunkSize:n,DecompressionStream:s,DecompressionStreamNative:r}){super({});let{zipCrypto:a,encrypted:i,signed:o,signature:l,compressed:f,useCompressionStream:c}=e,h,p,u=An(super.readable);i&&(a?u=me(u,new Vs(e)):(p=new Ps(e),u=me(u,p))),f&&(u=Un(u,c,{chunkSize:n},r,s)),i&&!a||!o||(h=new pn,u=me(u,h)),On(this,u,()=>{if((!i||a)&&o){let d=new We(h.value.buffer);if(l!=d.getUint32(0,!1))throw new U(bt)}})}}function An(t){return me(t,new ce({transform(e,n){e&&e.length&&n.enqueue(e)}}))}function On(t,e,n){e=me(e,new ce({flush:n})),_.defineProperty(t,\"readable\",{get:()=>e})}function Un(t,e,n,s,r){try{t=me(t,new(e&&s?s:r)(Tn,n))}catch(a){if(!e)throw a;t=me(t,new r(Tn,n))}return t}function me(t,e){return t.pipeThrough(e)}let Wn=\"data\",xn=\"inflate\";class Xs extends ce{constructor(e,n){super({});let s=this,{codecType:r}=e,a;r.startsWith(\"deflate\")?a=js:r.startsWith(xn)&&(a=Gs);let i=0,o=new a(e,n),l=super.readable,f=new ce({transform(c,h){c&&c.length&&(i+=c.length,h.enqueue(c))},flush(){let{signature:c}=o;_.assign(s,{signature:c,size:i})}});_.defineProperty(s,\"readable\",{get:()=>l.pipeThrough(o).pipeThrough(f)})}}let qs=typeof Xe!=$e;class zt{constructor(e,{readable:n,writable:s},{options:r,config:a,streamOptions:i,useWebWorkers:o,transferStreams:l,scripts:f},c){let{signal:h}=i;return _.assign(e,{busy:!0,readable:n.pipeThrough(new Js(n,i,a),{signal:h}),writable:s,options:_.assign({},r),scripts:f,transferStreams:l,terminate(){let{worker:p,busy:u}=e;p&&!u&&(p.terminate(),e.interface=null)},onTaskFinished(){e.busy=!1,c(e)}}),(o&&qs?Qs:$s)(e,a)}}class Js extends ce{constructor(e,{onstart:n,onprogress:s,size:r,onend:a},{chunkSize:i}){let o=0;super({start(){n&&Dt(n,r)},async transform(l,f){o+=l.length,s&&await Dt(s,o,r),f.enqueue(l)},flush(){e.size=o,a&&Dt(a,o)}},{highWaterMark:1,size:()=>i})}}async function Dt(t,...e){try{await t(...e)}catch{}}function $s(t,e){return{run:()=>(async({options:n,readable:s,writable:r,onTaskFinished:a},i)=>{let o=new Xs(n,i);try{await s.pipeThrough(o).pipeTo(r,{preventClose:!0,preventAbort:!0});let{signature:l,size:f}=o;return{signature:l,size:f}}finally{a()}})(t,e)}}function Qs(t,{baseURL:e,chunkSize:n}){return t.interface||_.assign(t,{worker:Zs(t.scripts[0],e,t),interface:{run:()=>(async(s,r)=>{let a,i,o=new be((d,w)=>{a=d,i=w});_.assign(s,{reader:null,writer:null,resolveResult:a,rejectResult:i,result:o});let{readable:l,options:f,scripts:c}=s,{writable:h,closed:p}=(d=>{let w=d.getWriter(),y,g=new be(m=>y=m);return{writable:new Le({async write(m){await w.ready,await w.write(m)},close(){w.releaseLock(),y()},abort:m=>w.abort(m)}),closed:g}})(s.writable);Rt({type:\"start\",scripts:c.slice(1),options:f,config:r,readable:l,writable:h},s)||_.assign(s,{reader:l.getReader(),writer:h.getWriter()});let u=await o;try{await h.getWriter().close()}catch{}return await p,u})(t,{chunkSize:n})}}),t.interface}let Ln=!0,Nn=!0;function Zs(t,e,n){let s={type:\"module\"},r,a;typeof t==ln&&(t=t());try{r=new ms(t,e)}catch{r=t}if(Ln)try{a=new Xe(r)}catch{Ln=!1,a=new Xe(r,s)}else a=new Xe(r,s);return a.addEventListener(\"message\",i=>(async({data:o},l)=>{let{type:f,value:c,messageId:h,result:p,error:u}=o,{reader:d,writer:w,resolveResult:y,rejectResult:g,onTaskFinished:m}=l;try{if(u){let{message:b,stack:R,code:E,name:F}=u,z=new U(b);_.assign(z,{stack:R,code:E,name:F}),v(z)}else{if(f==\"pull\"){let{value:b,done:R}=await d.read();Rt({type:Wn,value:b,done:R,messageId:h},l)}f==Wn&&(await w.ready,await w.write(new O(c)),Rt({type:\"ack\",messageId:h},l)),f==\"close\"&&v(null,p)}}catch(b){v(b)}function v(b,R){b?g(b):y(R),w&&w.releaseLock(),m()}})(i,n)),a}function Rt(t,{worker:e,writer:n,onTaskFinished:s,transferStreams:r}){try{let{value:a,readable:i,writable:o}=t,l=[];if(a&&(t.value=a.buffer,l.push(t.value)),r&&Nn?(i&&l.push(i),o&&l.push(o)):t.readable=t.writable=null,l.length)try{return e.postMessage(t,l),!0}catch{Nn=!1,t.readable=t.writable=null,e.postMessage(t)}else e.postMessage(t)}catch(a){throw n&&n.releaseLock(),s(),a}}let ze=[],Et=[],Mn=0;function Ct(t){let{terminateTimeout:e}=t;e&&(clearTimeout(e),t.terminateTimeout=null)}let Ys=65536,Ft=\"writable\";class Ke{constructor(){this.size=0}init(){this.initialized=!0}}class In extends Ke{get readable(){let e=this,{chunkSize:n=Ys}=e,s=new qt({start(){this.chunkOffset=0},async pull(r){let{offset:a=0,size:i,diskNumberStart:o}=s,{chunkOffset:l}=this;r.enqueue(await ee(e,a+l,W.min(n,i-l),o)),l+n>i?r.close():this.chunkOffset+=n}});return s}}class Ks extends Ke{constructor(){super();let e=this,n=new Le({write:s=>e.writeUint8Array(s)});_.defineProperty(e,Ft,{get:()=>n})}writeUint8Array(){}}class Pn extends In{constructor(e){super(),_.assign(this,{blob:e,size:e.size})}async readUint8Array(e,n){let s=this,r=e+n,i=await(e||r<s.size?s.blob.slice(e,r):s.blob).arrayBuffer();return i.byteLength>n&&(i=i.slice(e,r)),new O(i)}}class Bn extends Ke{constructor(e){super();let n=new ce,s=[];e&&s.push([\"Content-Type\",e]),_.defineProperty(this,Ft,{get:()=>n.writable}),this.blob=new Ht(n.readable,{headers:s}).blob()}getData(){return this.blob}}class er extends In{constructor(e){super(),this.readers=e}async init(){let e=this,{readers:n}=e;e.lastDiskNumber=0,e.lastDiskOffset=0,await be.all(n.map(async(s,r)=>{await s.init(),r!=n.length-1&&(e.lastDiskOffset+=s.size),e.size+=s.size})),super.init()}async readUint8Array(e,n,s=0){let r=this,{readers:a}=this,i,o=s;o==-1&&(o=a.length-1);let l=e;for(;l>=a[o].size;)l-=a[o].size,o++;let f=a[o],c=f.size;if(l+n>c){let h=c-l;i=new O(n),i.set(await ee(f,l,h)),i.set(await r.readUint8Array(e+h,n-h,s),h)}else i=await ee(f,l,n);return r.lastDiskNumber=W.max(o,r.lastDiskNumber),i}}class Vn extends Ke{constructor(e,n=4294967295){super();let s=this,r,a,i;_.assign(s,{diskNumber:0,diskOffset:0,size:0,maxSize:n,availableSize:n});let o=new Le({async write(c){let{availableSize:h}=s;if(i)c.length<h?await l(c):(await l(c.slice(0,h)),await f(),s.diskOffset+=r.size,s.diskNumber++,i=null,await this.write(c.slice(h)));else{let{value:p,done:u}=await e.next();if(u&&!p)throw new U(\"Writer iterator completed too soon\");r=p,r.size=0,r.maxSize&&(s.maxSize=r.maxSize),s.availableSize=s.maxSize,await et(r),a=p.writable,i=a.getWriter(),await this.write(c)}},async close(){await i.ready,await f()}});async function l(c){let h=c.length;h&&(await i.ready,await i.write(c),r.size+=h,s.size+=h,s.availableSize-=h)}async function f(){a.size=r.size,await i.close()}_.defineProperty(s,Ft,{get:()=>o})}}async function et(t,e){t.init&&!t.initialized&&await t.init(e)}function tr(t){return oe.isArray(t)&&(t=new er(t)),t instanceof qt&&(t={readable:t}),t}function ee(t,e,n,s){return t.readUint8Array(e,n,s)}let nr=\"\\0\\u263A\\u263B\\u2665\\u2666\\u2663\\u2660\\u2022\\u25D8\\u25CB\\u25D9\\u2642\\u2640\\u266A\\u266B\\u263C\\u25BA\\u25C4\\u2195\\u203C\\xB6\\xA7\\u25AC\\u21A8\\u2191\\u2193\\u2192\\u2190\\u221F\\u2194\\u25B2\\u25BC !\\\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\\u2302\\xC7\\xFC\\xE9\\xE2\\xE4\\xE0\\xE5\\xE7\\xEA\\xEB\\xE8\\xEF\\xEE\\xEC\\xC4\\xC5\\xC9\\xE6\\xC6\\xF4\\xF6\\xF2\\xFB\\xF9\\xFF\\xD6\\xDC\\xA2\\xA3\\xA5\\u20A7\\u0192\\xE1\\xED\\xF3\\xFA\\xF1\\xD1\\xAA\\xBA\\xBF\\u2310\\xAC\\xBD\\xBC\\xA1\\xAB\\xBB\\u2591\\u2592\\u2593\\u2502\\u2524\\u2561\\u2562\\u2556\\u2555\\u2563\\u2551\\u2557\\u255D\\u255C\\u255B\\u2510\\u2514\\u2534\\u252C\\u251C\\u2500\\u253C\\u255E\\u255F\\u255A\\u2554\\u2569\\u2566\\u2560\\u2550\\u256C\\u2567\\u2568\\u2564\\u2565\\u2559\\u2558\\u2552\\u2553\\u256B\\u256A\\u2518\\u250C\\u2588\\u2584\\u258C\\u2590\\u2580\\u03B1\\xDF\\u0393\\u03C0\\u03A3\\u03C3\\xB5\\u03C4\\u03A6\\u0398\\u03A9\\u03B4\\u221E\\u03C6\\u03B5\\u2229\\u2261\\xB1\\u2265\\u2264\\u2320\\u2321\\xF7\\u2248\\xB0\\u2219\\xB7\\u221A\\u207F\\xB2\\u25A0 \".split(\"\");function Tt(t,e){return e&&e.trim().toLowerCase()==\"cp437\"?(n=>{{let s=\"\";for(let r=0;r<n.length;r++)s+=nr[n[r]];return s}})(t):new ot(e).decode(t)}let Hn=\"filename\",jn=\"rawFilename\",Gn=\"comment\",Xn=\"rawComment\",qn=\"uncompressedSize\",Jn=\"compressedSize\",$n=\"offset\",At=\"diskNumberStart\",Ot=\"lastModDate\",Ut=\"rawLastModDate\",Qn=\"lastAccessDate\",Zn=\"creationDate\",sr=[Hn,jn,Jn,qn,Ot,Ut,Gn,Xn,Qn,Zn,$n,At,At,\"internalFileAttribute\",\"externalFileAttribute\",\"msDosCompatible\",\"zip64\",\"directory\",\"bitFlag\",\"encrypted\",\"signature\",\"filenameUTF8\",\"commentUTF8\",\"compressionMethod\",\"version\",\"versionMadeBy\",\"extraField\",\"rawExtraField\",\"extraFieldZip64\",\"extraFieldUnicodePath\",\"extraFieldUnicodeComment\",\"extraFieldAES\",\"extraFieldNTFS\",\"extraFieldExtendedTimestamp\"];class Yn{constructor(e){sr.forEach(n=>this[n]=e[n])}}let tt=\"File format is not recognized\",Kn=\"End of central directory not found\",es=\"End of Zip64 central directory not found\",ts=\"End of Zip64 central directory locator not found\",ns=\"Central directory header not found\",ss=\"Local file header not found\",rs=\"Zip64 extra field not found\",as=\"File contains encrypted entry\",is=\"Encryption method not supported\",Wt=\"Compression method not supported\",xt=\"Split zip file\",os=\"utf-8\",cs=\"cp437\",rr=[[qn,Ce],[Jn,Ce],[$n,Ce],[At,Fe]],ar={[Fe]:{getValue:j,bytes:4},[Ce]:{getValue:nt,bytes:8}};class ir{constructor(e,n,s){_.assign(this,{reader:e,config:n,options:s})}async getData(e,n,s={}){let r=this,{reader:a,offset:i,diskNumberStart:o,extraFieldAES:l,compressionMethod:f,config:c,bitFlag:h,signature:p,rawLastModDate:u,uncompressedSize:d,compressedSize:w}=r,y=n.localDirectory={},g=Q(await ee(a,i,30,o)),m=he(r,s,\"password\");if(m=m&&m.length&&m,l&&l.originalCompressionMethod!=99)throw new U(Wt);if(f!=0&&f!=8)throw new U(Wt);if(j(g,0)!=67324752)throw new U(ss);ls(y,g,4),y.rawExtraField=y.extraFieldLength?await ee(a,i+30+y.filenameLength,y.extraFieldLength,o):new O,await fs(r,y,g,4,!0),_.assign(n,{lastAccessDate:y.lastAccessDate,creationDate:y.creationDate});let v=r.encrypted&&y.encrypted,b=v&&!l;if(v){if(!b&&l.strength===pe)throw new U(is);if(!m)throw new U(as)}let R=i+30+y.filenameLength+y.extraFieldLength,E=w,F=a.readable;_.assign(F,{diskNumberStart:o,offset:R,size:E});let z=he(r,s,\"signal\"),C=he(r,s,\"checkPasswordOnly\");C&&(e=new Le),e=(k=>{k.writable===pe&&typeof k.next==ln&&(k=new Vn(k)),k instanceof Le&&(k={writable:k});let{writable:A}=k;return A.size===pe&&(A.size=0),k instanceof Vn||_.assign(k,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),k})(e),await et(e,d);let{writable:D}=e,{onstart:L,onprogress:T,onend:B}=s,V={options:{codecType:xn,password:m,zipCrypto:b,encryptionStrength:l&&l.strength,signed:he(r,s,\"checkSignature\"),passwordVerification:b&&(h.dataDescriptor?u>>>8&255:p>>>24&255),signature:p,compressed:f!=0,encrypted:v,useWebWorkers:he(r,s,\"useWebWorkers\"),useCompressionStream:he(r,s,\"useCompressionStream\"),transferStreams:he(r,s,\"transferStreams\"),checkPasswordOnly:C},config:c,streamOptions:{signal:z,size:E,onstart:L,onprogress:T,onend:B}},G=0;try{({outputSize:G}=await(async(k,A)=>{let{options:q,config:S}=A,{transferStreams:Z,useWebWorkers:X,useCompressionStream:Y,codecType:ae,compressed:P,signed:N,encrypted:te}=q,{workerScripts:I,maxWorkers:ne,terminateWorkerTimeout:ie}=S;A.transferStreams=Z||Z===pe;let De=!(P||N||te||A.transferStreams),se;A.useWebWorkers=!De&&(X||X===pe&&S.useWebWorkers),A.scripts=A.useWebWorkers&&I?I[ae]:[],q.useCompressionStream=Y||Y===pe&&S.useCompressionStream;let Te=ze.find(J=>!J.busy);if(Te)Ct(Te),se=new zt(Te,k,A,Re);else if(ze.length<ne){let J={indexWorker:Mn};Mn++,ze.push(J),se=new zt(J,k,A,Re)}else se=await new be(J=>Et.push({resolve:J,stream:k,workerOptions:A}));return se.run();function Re(J){if(Et.length){let[{resolve:K,stream:Nt,workerOptions:st}]=Et.splice(0,1);K(new zt(J,Nt,st,Re))}else J.worker?(Ct(J),at.isFinite(ie)&&ie>=0&&(J.terminateTimeout=setTimeout(()=>{ze=ze.filter(K=>K!=J),J.terminate()},ie))):ze=ze.filter(K=>K!=J)}})({readable:F,writable:D},V))}catch(k){if(!C||k.message!=vt)throw k}finally{let k=he(r,s,\"preventClose\");D.size+=G,k||D.locked||await D.getWriter().close()}return C?void 0:e.getData?e.getData():D}}function ls(t,e,n){let s=t.rawBitFlag=$(e,n+2),r=(1&s)==1,a=j(e,n+6);_.assign(t,{encrypted:r,version:$(e,n),bitFlag:{level:(6&s)>>1,dataDescriptor:(8&s)==8,languageEncodingFlag:(2048&s)==2048},rawLastModDate:a,lastModDate:or(a),filenameLength:$(e,n+22),extraFieldLength:$(e,n+24)})}async function fs(t,e,n,s,r){let{rawExtraField:a}=e,i=e.extraField=new gs,o=Q(new O(a)),l=0;try{for(;l<a.length;){let g=$(o,l),m=$(o,l+2);i.set(g,{type:g,data:a.slice(l+4,l+4+m)}),l+=4+m}}catch{}let f=$(n,s+4);_.assign(e,{signature:j(n,s+10),uncompressedSize:j(n,s+18),compressedSize:j(n,s+14)});let c=i.get(1);c&&(((g,m)=>{m.zip64=!0;let v=Q(g.data),b=rr.filter(([R,E])=>m[R]==E);for(let R=0,E=0;R<b.length;R++){let[F,z]=b[R];if(m[F]==z){let C=ar[z];m[F]=g[F]=C.getValue(v,E),E+=C.bytes}else if(g[F])throw new U(rs)}})(c,e),e.extraFieldZip64=c);let h=i.get(28789);h&&(await us(h,Hn,jn,e,t),e.extraFieldUnicodePath=h);let p=i.get(25461);p&&(await us(p,Gn,Xn,e,t),e.extraFieldUnicodeComment=p);let u=i.get(39169);u?(((g,m,v)=>{let b=Q(g.data),R=Ue(b,4);_.assign(g,{vendorVersion:Ue(b,0),vendorId:Ue(b,2),strength:R,originalCompressionMethod:v,compressionMethod:$(b,5)}),m.compressionMethod=g.compressionMethod})(u,e,f),e.extraFieldAES=u):e.compressionMethod=f;let d=i.get(10);d&&(((g,m)=>{let v=Q(g.data),b,R=4;try{for(;R<g.data.length&&!b;){let E=$(v,R),F=$(v,R+2);E==1&&(b=g.data.slice(R+4,R+4+F)),R+=4+F}}catch{}try{if(b&&b.length==24){let E=Q(b),F=E.getBigUint64(0,!0),z=E.getBigUint64(8,!0),C=E.getBigUint64(16,!0);_.assign(g,{rawLastModDate:F,rawLastAccessDate:z,rawCreationDate:C});let D={lastModDate:Lt(F),lastAccessDate:Lt(z),creationDate:Lt(C)};_.assign(g,D),_.assign(m,D)}}catch{}})(d,e),e.extraFieldNTFS=d);let w=i.get(21589);w&&(((g,m,v)=>{let b=Q(g.data),R=Ue(b,0),E=[],F=[];v?((1&R)==1&&(E.push(Ot),F.push(Ut)),(2&R)==2&&(E.push(Qn),F.push(\"rawLastAccessDate\")),(4&R)==4&&(E.push(Zn),F.push(\"rawCreationDate\"))):5>g.data.length||(E.push(Ot),F.push(Ut));let z=1;E.forEach((C,D)=>{if(g.data.length>=z+4){let L=j(b,z);m[C]=g[C]=new it(1e3*L);let T=F[D];g[T]=L}z+=4})})(w,e,r),e.extraFieldExtendedTimestamp=w);let y=i.get(6534);y&&(e.extraFieldUSDZ=y)}async function us(t,e,n,s,r){let a=Q(t.data),i=new Qe;i.append(r[n]);let o=Q(new O(4));o.setUint32(0,i.get(),!0);let l=j(a,1);_.assign(t,{version:Ue(a,0),[e]:Tt(t.data.subarray(5)),valid:!r.bitFlag.languageEncodingFlag&&l==j(o,0)}),t.valid&&(s[e]=t[e],s[e+\"UTF8\"]=!0)}function he(t,e,n){return e[n]===pe?t.options[n]:e[n]}function or(t){let e=(4294901760&t)>>16,n=65535&t;try{return new it(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&n)>>11,(2016&n)>>5,2*(31&n),0)}catch{}}function Lt(t){return new it(at(t/Vt(1e4)-Vt(116444736e5)))}function Ue(t,e){return t.getUint8(e)}function $(t,e){return t.getUint16(e,!0)}function j(t,e){return t.getUint32(e,!0)}function nt(t,e){return at(t.getBigUint64(e,!0))}function Q(t){return new We(t.buffer)}hn({Inflate:Fs}),x.BlobReader=Pn,x.BlobWriter=Bn,x.Data64URIWriter=class extends Ks{constructor(t){super(),_.assign(this,{data:\"data:\"+(t||\"\")+\";base64,\",pending:[]})}writeUint8Array(t){let e=this,n=0,s=e.pending,r=e.pending.length;for(e.pending=\"\",n=0;n<3*W.floor((r+t.length)/3)-r;n++)s+=Bt.fromCharCode(t[n]);for(;n<t.length;n++)e.pending+=Bt.fromCharCode(t[n]);s.length>2?e.data+=Xt(s):e.pending=s}getData(){return this.data+Xt(this.pending)}},x.ERR_BAD_FORMAT=tt,x.ERR_CENTRAL_DIRECTORY_NOT_FOUND=ns,x.ERR_ENCRYPTED=as,x.ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND=ts,x.ERR_EOCDR_NOT_FOUND=Kn,x.ERR_EOCDR_ZIP64_NOT_FOUND=es,x.ERR_EXTRAFIELD_ZIP64_NOT_FOUND=rs,x.ERR_INVALID_PASSWORD=yt,x.ERR_INVALID_SIGNATURE=bt,x.ERR_LOCAL_FILE_HEADER_NOT_FOUND=ss,x.ERR_SPLIT_ZIP_FILE=xt,x.ERR_UNSUPPORTED_COMPRESSION=Wt,x.ERR_UNSUPPORTED_ENCRYPTION=is,x.TextWriter=class extends Bn{constructor(t){super(t),_.assign(this,{encoding:t,utf8:!t||t.toLowerCase()==\"utf-8\"})}async getData(){let{encoding:t,utf8:e}=this,n=await super.getData();if(n.text&&e)return n.text();{let s=new FileReader;return new be((r,a)=>{_.assign(s,{onload:({target:i})=>r(i.result),onerror:()=>a(s.error)}),s.readAsText(n,t)})}}},x.ZipReader=class{constructor(t,e={}){_.assign(this,{reader:tr(t),options:e,config:ke})}async*getEntriesGenerator(t={}){let e=this,{reader:n}=e,{config:s}=e;if(await et(n),n.size!==pe&&n.readUint8Array||(n=new Pn(await new Ht(n.readable).blob()),await et(n)),22>n.size)throw new U(tt);n.chunkSize=(C=>W.max(C.chunkSize,64))(s);let r=await(async(C,D,L)=>{let T=new O(4);return Q(T).setUint32(0,101010256,!0),await B(22)||await B(W.min(1048582,L));async function B(V){let G=L-V,k=await ee(C,G,V);for(let A=k.length-22;A>=0;A--)if(k[A]==T[0]&&k[A+1]==T[1]&&k[A+2]==T[2]&&k[A+3]==T[3])return{offset:G+A,buffer:k.slice(A,A+22).buffer}}})(n,0,n.size);if(!r)throw j(Q(await ee(n,0,4)))==134695760?new U(xt):new U(Kn);let a=Q(r),i=j(a,12),o=j(a,16),l=r.offset,f=$(a,20),c=l+22+f,h=$(a,4),p=n.lastDiskNumber||0,u=$(a,6),d=$(a,8),w=0,y=0;if(o==Ce||i==Ce||d==Fe||u==Fe){let C=Q(await ee(n,r.offset-20,20));if(j(C,0)!=117853008)throw new U(es);o=nt(C,8);let D=await ee(n,o,56,-1),L=Q(D),T=r.offset-20-56;if(j(L,0)!=cn&&o!=T){let B=o;o=T,w=o-B,D=await ee(n,o,56,-1),L=Q(D)}if(j(L,0)!=cn)throw new U(ts);h==Fe&&(h=j(L,16)),u==Fe&&(u=j(L,20)),d==Fe&&(d=nt(L,32)),i==Ce&&(i=nt(L,40)),o-=i}if(o<n.size||(w=n.size-o-i-22,o=n.size-i-22),p!=h)throw new U(xt);if(0>o)throw new U(tt);let g=0,m=await ee(n,o,i,u),v=Q(m);if(i){let C=r.offset-i;if(j(v,g)!=on&&o!=C){let D=o;o=C,w+=o-D,m=await ee(n,o,i,u),v=Q(m)}}let b=r.offset-o-(n.lastDiskOffset||0);if(i==b||0>b||(i=b,m=await ee(n,o,i,u),v=Q(m)),0>o||o>=n.size)throw new U(tt);let R=he(e,t,\"filenameEncoding\"),E=he(e,t,\"commentEncoding\");for(let C=0;d>C;C++){let D=new ir(n,s,e.options);if(j(v,g)!=on)throw new U(ns);ls(D,v,g+6);let L=!!D.bitFlag.languageEncodingFlag,T=g+46,B=T+D.filenameLength,V=B+D.extraFieldLength,G=$(v,g+4),k=(0&G)==0,A=m.subarray(T,B),q=$(v,g+32),S=V+q,Z=m.subarray(V,S),X=L,Y=L,ae=k&&(16&Ue(v,g+38))==16,P=j(v,g+42)+w;_.assign(D,{versionMadeBy:G,msDosCompatible:k,compressedSize:0,uncompressedSize:0,commentLength:q,directory:ae,offset:P,diskNumberStart:$(v,g+34),internalFileAttribute:$(v,g+36),externalFileAttribute:j(v,g+38),rawFilename:A,filenameUTF8:X,commentUTF8:Y,rawExtraField:m.subarray(B,V)});let[N,te]=await be.all([Tt(A,X?os:R||cs),Tt(Z,Y?os:E||cs)]);_.assign(D,{rawComment:Z,filename:N,comment:te,directory:ae||N.endsWith(\"/\")}),y=W.max(P,y),await fs(D,D,v,g+6);let I=new Yn(D);I.getData=(ie,De)=>D.getData(ie,I,De),g=S;let{onprogress:ne}=t;if(ne)try{await ne(C+1,d,new Yn(D))}catch{}yield I}let F=he(e,t,\"extractPrependedData\"),z=he(e,t,\"extractAppendedData\");return F&&(e.prependedData=y>0?await ee(n,0,y):new O),e.comment=f?await ee(n,l+22,f):new O,z&&(e.appendedData=c<n.size?await ee(n,c,n.size-c):new O),!0}async getEntries(t={}){let e=[];for await(let n of this.getEntriesGenerator(t))e.push(n);return e}async close(){}},x.configure=hn,x.getMimeType=()=>\"application/octet-stream\",x.terminateWorkers=()=>{ze.forEach(t=>{Ct(t),t.terminate()})},_.defineProperty(x,\"__esModule\",{value:!0})})});return lr();})();\n";export { script, zipScript, hookScript };
|