| 1 |
- !function(n,e){"object"==typeof exports&&"undefined"!=typeof module?e(exports):"function"==typeof define&&define.amd?define(["exports"],e):e((n="undefined"!=typeof globalThis?globalThis:n||self).singlefile={})}(this,(function(n){"use strict";const e=["AREA","BASE","BR","COL","COMMAND","EMBED","HR","IMG","INPUT","KEYGEN","LINK","META","PARAM","SOURCE","TRACK","WBR"],t=1,a=3,o=8,i=[{tagName:"HEAD",accept:n=>!n.childNodes.length||n.childNodes[0].nodeType==t},{tagName:"BODY",accept:n=>!n.childNodes.length}],r=[{tagName:"HTML",accept:n=>!n||n.nodeType!=o},{tagName:"HEAD",accept:n=>!n||n.nodeType!=o&&(n.nodeType!=a||!m(n.textContent))},{tagName:"BODY",accept:n=>!n||n.nodeType!=o},{tagName:"LI",accept:(n,e)=>!n&&e.parentElement&&("UL"==d(e.parentElement)||"OL"==d(e.parentElement))||n&&["LI"].includes(d(n))},{tagName:"DT",accept:n=>!n||["DT","DD"].includes(d(n))},{tagName:"P",accept:n=>n&&["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(d(n))},{tagName:"DD",accept:n=>!n||["DT","DD"].includes(d(n))},{tagName:"RT",accept:n=>!n||["RT","RP"].includes(d(n))},{tagName:"RP",accept:n=>!n||["RT","RP"].includes(d(n))},{tagName:"OPTGROUP",accept:n=>!n||["OPTGROUP"].includes(d(n))},{tagName:"OPTION",accept:n=>!n||["OPTION","OPTGROUP"].includes(d(n))},{tagName:"COLGROUP",accept:n=>!n||n.nodeType!=o&&(n.nodeType!=a||!m(n.textContent))},{tagName:"CAPTION",accept:n=>!n||n.nodeType!=o&&(n.nodeType!=a||!m(n.textContent))},{tagName:"THEAD",accept:n=>!n||["TBODY","TFOOT"].includes(d(n))},{tagName:"TBODY",accept:n=>!n||["TBODY","TFOOT"].includes(d(n))},{tagName:"TFOOT",accept:n=>!n},{tagName:"TR",accept:n=>!n||["TR"].includes(d(n))},{tagName:"TD",accept:n=>!n||["TD","TH"].includes(d(n))},{tagName:"TH",accept:n=>!n||["TD","TH"].includes(d(n))}],s=["STYLE","SCRIPT","XMP","IFRAME","NOEMBED","NOFRAMES","PLAINTEXT","NOSCRIPT"];function l(n,e){const t=n.doctype;let 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+c(n.documentElement,e)}function c(n,l,m){return n.nodeType==a?function(n){const e=n.parentNode;let a;e&&e.nodeType==t&&(a=d(e));return!a||s.includes(a)?"SCRIPT"==a||"STYLE"==a?n.textContent.replace(/<\//gi,"<\\/").replace(/\/>/gi,"\\/>"):n.textContent:n.textContent.replace(/&/g,"&").replace(/\u00a0/g," ").replace(/</g,"<").replace(/>/g,">")}(n):n.nodeType==o?"\x3c!--"+n.textContent+"--\x3e":n.nodeType==t?function(n,t,a){const o=d(n),s=t&&i.find((e=>o==d(e)&&e.accept(n)));let l="";s&&!n.attributes.length||(l="<"+o.toLowerCase(),Array.from(n.attributes).forEach((e=>l+=function(n,e,t){const a=n.name;let o="";if(!a.match(/["'>/=]/)){let i,r=n.value;t&&"class"==a&&(r=Array.from(e.classList).map((n=>n.trim())).join(" ")),r=r.replace(/&/g,"&").replace(/\u00a0/g," "),r.includes('"')&&(r.includes("'")||!t?r=r.replace(/"/g,"""):i=!0);const s=!t||r.match(/[ \t\n\f\r'"`=<>]/);o+=" ",n.namespace?"http://www.w3.org/XML/1998/namespace"==n.namespaceURI?o+="xml:"+a:"http://www.w3.org/2000/xmlns/"==n.namespaceURI?("xmlns"!==a&&(o+="xmlns:"),o+=a):"http://www.w3.org/1999/xlink"==n.namespaceURI?o+="xlink:"+a:o+=a:o+=a,""!=r&&(o+="=",s&&(o+=i?"'":'"'),o+=r,s&&(o+=i?"'":'"'))}return o}(e,n,t))),l+=">");"TEMPLATE"!=o||n.childNodes.length?Array.from(n.childNodes).forEach((n=>l+=c(n,t,a||"svg"==o))):l+=n.innerHTML;const m=t&&r.find((e=>o==d(e)&&e.accept(n.nextSibling,n)));(a||!m&&!e.includes(o))&&(l+="</"+o.toLowerCase()+">");return l}(n,l,m):void 0}function m(n){return Boolean(n.match(/^[ \t\n\f\r]/))}function d(n){return n.tagName&&n.tagName.toUpperCase()}const h="single-file-",p="SingleFile",u="single-file-infobar",g="\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 w(n,e,t){if(!n.querySelector(u)){let a;e.infobarContent?a=e.infobarContent.replace(/\\n/g,"\n").replace(/\\t/g,"\t"):e.saveDate&&(a=e.saveDate),a=a||"No info";const o=function(n,e,t){const a=n.createElement(e);return t.appendChild(a),Array.from(getComputedStyle(a)).forEach((n=>a.style.setProperty(n,"initial","important"))),a}(n,u,n.body);let i;if(t)i=o.attachShadow({mode:"open"});else{const e=n.createElement("template");e.setAttribute("shadowrootmode","open"),o.appendChild(e),i=e}const r=n.createElement("div"),s=n.createElement("style");s.textContent=g.replace(/ {2}/g,"").replace(/\n/g,"").replace(/: /g,":").replace(/, /g,","),r.appendChild(s);const l=n.createElement("form");l.classList.add("infobar"),r.appendChild(l);const c=n.createElement("span");c.tabIndex=-1,c.classList.add("infobar-icon"),l.appendChild(c);const m=n.createElement("span");m.tabIndex=-1,m.classList.add("infobar-content");const d=n.createElement("input");d.type="checkbox",d.required=!0,d.classList.add("infobar-close-icon"),d.title="Close",m.appendChild(d);const h=n.createElement("span");h.textContent=a,m.appendChild(h);const p=n.createElement("a");if(p.classList.add("infobar-link-icon"),p.target="_blank",p.rel="noopener noreferrer",p.title="Open source URL: "+e.saveUrl,p.href=e.saveUrl,m.appendChild(p),l.appendChild(m),t)i.appendChild(r);else{const e=n.createElement("script");let t=f.toString();t+=b.toString(),t+="("+k.toString()+")(document)",e.textContent=t,r.appendChild(e),i.innerHTML=r.outerHTML}n.body.appendChild(o)}}function b(n){const e=n.evaluate("//comment()",n,null,XPathResult.FIRST_ORDERED_NODE_TYPE,null);let t=e&&e.singleNodeValue;if(t&&t.nodeType==Node.COMMENT_NODE&&t.textContent.includes(p)){const n=t.textContent.split("\n"),[,,e,...a]=n,o=e.match(/^ url: (.*) ?$/),i=o&&o[1];if(i){let n,e;if(a.length&&(e=a[0].split("saved date: ")[1],e&&a.shift(),a.length>1)){let e=a[0].split("info: ")[1].trim();for(let n=1;n<a.length-1;n++)e+="\n"+a[n].trim();n=e.trim()}return{saveUrl:i,infobarContent:n,saveDate:e}}}}function f(n,{saveUrl:e,infobarContent:t,saveDate:a}){if(e){const o=n.querySelector("single-file-infobar").shadowRoot;o.querySelector(".infobar-content span").textContent=t||a;const i=o.querySelector(".infobar-content .infobar-link-icon");i.href=e,i.title="Open source URL: "+e}}function k(n){const e=b(n);e&&e.saveUrl&&f(n,e)}const{Array:y,Object:v,String:j,Number:S,BigInt:x,Math:C,Date:z,Map:L,Set:A,Response:I,URL:T,Error:R,Uint8Array:E,Uint16Array:D,Uint32Array:M,DataView:B,Blob:N,Promise:O,TextEncoder:P,TextDecoder:_,document:F,crypto:q,btoa:H,TransformStream:U,ReadableStream:G,WritableStream:W,CompressionStream:V,DecompressionStream:K,navigator:J,Worker:Y}=globalThis,Z=4294967295,X=65535,$=8,Q=0,nn=99,en=67324752,tn=134695760,an=tn,on=33639248,rn=101010256,sn=101075792,ln=117853008,cn=22,mn=1,dn=39169,hn=10,pn=1,un=21589,gn=6534,wn=1,bn=8,fn=2048,kn=45,yn=51,vn="/",jn=new z(2107,11,31),Sn=new z(1980,0,1),xn=void 0,Cn="undefined",zn="function";class Ln{constructor(n){return class extends U{constructor(e,t){const a=new n(t);super({transform(n,e){e.enqueue(a.append(n))},flush(n){const e=a.flush();e&&n.enqueue(e)}})}}}}const An=64;let In=2;try{typeof J!=Cn&&J.hardwareConcurrency&&(In=J.hardwareConcurrency)}catch(n){}const Tn={chunkSize:524288,maxWorkers:In,terminateWorkerTimeout:5e3,useWebWorkers:!0,useCompressionStream:!0,workerScripts:xn,CompressionStreamNative:typeof V!=Cn&&V,DecompressionStreamNative:typeof K!=Cn&&K},Rn=v.assign({},Tn);function En(){return Rn}function Dn(n){return C.max(n.chunkSize,An)}function Mn(n){const{baseURL:e,chunkSize:t,maxWorkers:a,terminateWorkerTimeout:o,useCompressionStream:i,useWebWorkers:r,Deflate:s,Inflate:l,CompressionStream:c,DecompressionStream:m,workerScripts:d}=n;if(Bn("baseURL",e),Bn("chunkSize",t),Bn("maxWorkers",a),Bn("terminateWorkerTimeout",o),Bn("useCompressionStream",i),Bn("useWebWorkers",r),s&&(Rn.CompressionStream=new Ln(s)),l&&(Rn.DecompressionStream=new Ln(l)),Bn("CompressionStream",c),Bn("DecompressionStream",m),d!==xn){const{deflate:n,inflate:e}=d;if((n||e)&&(Rn.workerScripts||(Rn.workerScripts={})),n){if(!y.isArray(n))throw new R("workerScripts.deflate must be an array");Rn.workerScripts.deflate=n}if(e){if(!y.isArray(e))throw new R("workerScripts.inflate must be an array");Rn.workerScripts.inflate=e}}}function Bn(n,e){e!==xn&&(Rn[n]=e)}function Nn(n,e,t){return class{constructor(a){const o=this;var i,r;i=a,r="level",("function"==typeof v.hasOwn?v.hasOwn(i,r):i.hasOwnProperty(r))&&void 0===a.level&&delete a.level,o.codec=new n(v.assign({},e,a)),t(o.codec,(n=>{if(o.pendingData){const e=o.pendingData;o.pendingData=new E(e.length+n.length);const{pendingData:t}=o;t.set(e,0),t.set(n,e.length)}else o.pendingData=new E(n)}))}append(n){return this.codec.push(n),a(this)}flush(){return this.codec.push(new E,!0),a(this)}};function a(n){if(n.pendingData){const e=n.pendingData;return n.pendingData=null,e}return new E}}const On=[];for(let n=0;n<256;n++){let e=n;for(let n=0;n<8;n++)1&e?e=e>>>1^3988292384:e>>>=1;On[n]=e}class Pn{constructor(n){this.crc=n||-1}append(n){let e=0|this.crc;for(let t=0,a=0|n.length;t<a;t++)e=e>>>8^On[255&(e^n[t])];this.crc=e}get(){return~this.crc}}class _n extends U{constructor(){let n;const e=new Pn;super({transform(n,t){e.append(n),t.enqueue(n)},flush(){const t=new E(4);new B(t.buffer).setUint32(0,e.get()),n.value=t}}),n=this}}function Fn(n){if(void 0===P){n=unescape(encodeURIComponent(n));const e=new E(n.length);for(let t=0;t<e.length;t++)e[t]=n.charCodeAt(t);return e}return(new P).encode(n)}const qn={concat(n,e){if(0===n.length||0===e.length)return n.concat(e);const t=n[n.length-1],a=qn.getPartial(t);return 32===a?n.concat(e):qn._shiftRight(e,a,0|t,n.slice(0,n.length-1))},bitLength(n){const e=n.length;if(0===e)return 0;const t=n[e-1];return 32*(e-1)+qn.getPartial(t)},clamp(n,e){if(32*n.length<e)return n;const t=(n=n.slice(0,C.ceil(e/32))).length;return e&=31,t>0&&e&&(n[t-1]=qn.partial(e,n[t-1]&2147483648>>e-1,1)),n},partial:(n,e,t)=>32===n?e:(t?0|e:e<<32-n)+1099511627776*n,getPartial:n=>C.round(n/1099511627776)||32,_shiftRight(n,e,t,a){for(void 0===a&&(a=[]);e>=32;e-=32)a.push(t),t=0;if(0===e)return a.concat(n);for(let o=0;o<n.length;o++)a.push(t|n[o]>>>e),t=n[o]<<32-e;const o=n.length?n[n.length-1]:0,i=qn.getPartial(o);return a.push(qn.partial(e+i&31,e+i>32?t:a.pop(),1)),a}},Hn={bytes:{fromBits(n){const e=qn.bitLength(n)/8,t=new E(e);let a;for(let o=0;o<e;o++)0==(3&o)&&(a=n[o/4]),t[o]=a>>>24,a<<=8;return t},toBits(n){const e=[];let t,a=0;for(t=0;t<n.length;t++)a=a<<8|n[t],3==(3&t)&&(e.push(a),a=0);return 3&t&&e.push(qn.partial(8*(3&t),a)),e}}},Un={sha1:class{constructor(n){const e=this;e.blockSize=512,e._init=[1732584193,4023233417,2562383102,271733878,3285377520],e._key=[1518500249,1859775393,2400959708,3395469782],n?(e._h=n._h.slice(0),e._buffer=n._buffer.slice(0),e._length=n._length):e.reset()}reset(){const n=this;return n._h=n._init.slice(0),n._buffer=[],n._length=0,n}update(n){const e=this;"string"==typeof n&&(n=Hn.utf8String.toBits(n));const t=e._buffer=qn.concat(e._buffer,n),a=e._length,o=e._length=a+qn.bitLength(n);if(o>9007199254740991)throw new R("Cannot hash more than 2^53 - 1 bits");const i=new M(t);let r=0;for(let n=e.blockSize+a-(e.blockSize+a&e.blockSize-1);n<=o;n+=e.blockSize)e._block(i.subarray(16*r,16*(r+1))),r+=1;return t.splice(0,16*r),e}finalize(){const n=this;let e=n._buffer;const t=n._h;e=qn.concat(e,[qn.partial(1,1)]);for(let n=e.length+2;15&n;n++)e.push(0);for(e.push(C.floor(n._length/4294967296)),e.push(0|n._length);e.length;)n._block(e.splice(0,16));return n.reset(),t}_f(n,e,t,a){return n<=19?e&t|~e&a:n<=39?e^t^a:n<=59?e&t|e&a|t&a:n<=79?e^t^a:void 0}_S(n,e){return e<<n|e>>>32-n}_block(n){const e=this,t=e._h,a=y(80);for(let e=0;e<16;e++)a[e]=n[e];let o=t[0],i=t[1],r=t[2],s=t[3],l=t[4];for(let n=0;n<=79;n++){n>=16&&(a[n]=e._S(1,a[n-3]^a[n-8]^a[n-14]^a[n-16]));const t=e._S(5,o)+e._f(n,i,r,s)+l+a[n]+e._key[C.floor(n/20)]|0;l=s,s=r,r=e._S(30,i),i=o,o=t}t[0]=t[0]+o|0,t[1]=t[1]+i|0,t[2]=t[2]+r|0,t[3]=t[3]+s|0,t[4]=t[4]+l|0}}},Gn={aes:class{constructor(n){const e=this;e._tables=[[[],[],[],[],[]],[[],[],[],[],[]]],e._tables[0][0][0]||e._precompute();const t=e._tables[0][4],a=e._tables[1],o=n.length;let i,r,s,l=1;if(4!==o&&6!==o&&8!==o)throw new R("invalid aes key size");for(e._key=[r=n.slice(0),s=[]],i=o;i<4*o+28;i++){let n=r[i-1];(i%o==0||8===o&&i%o==4)&&(n=t[n>>>24]<<24^t[n>>16&255]<<16^t[n>>8&255]<<8^t[255&n],i%o==0&&(n=n<<8^n>>>24^l<<24,l=l<<1^283*(l>>7))),r[i]=r[i-o]^n}for(let n=0;i;n++,i--){const e=r[3&n?i:i-4];s[n]=i<=4||n<4?e:a[0][t[e>>>24]]^a[1][t[e>>16&255]]^a[2][t[e>>8&255]]^a[3][t[255&e]]}}encrypt(n){return this._crypt(n,0)}decrypt(n){return this._crypt(n,1)}_precompute(){const n=this._tables[0],e=this._tables[1],t=n[4],a=e[4],o=[],i=[];let r,s,l,c;for(let n=0;n<256;n++)i[(o[n]=n<<1^283*(n>>7))^n]=n;for(let m=r=0;!t[m];m^=s||1,r=i[r]||1){let i=r^r<<1^r<<2^r<<3^r<<4;i=i>>8^255&i^99,t[m]=i,a[i]=m,c=o[l=o[s=o[m]]];let d=16843009*c^65537*l^257*s^16843008*m,h=257*o[i]^16843008*i;for(let t=0;t<4;t++)n[t][m]=h=h<<24^h>>>8,e[t][i]=d=d<<24^d>>>8}for(let t=0;t<5;t++)n[t]=n[t].slice(0),e[t]=e[t].slice(0)}_crypt(n,e){if(4!==n.length)throw new R("invalid aes block size");const t=this._key[e],a=t.length/4-2,o=[0,0,0,0],i=this._tables[e],r=i[0],s=i[1],l=i[2],c=i[3],m=i[4];let d,h,p,u=n[0]^t[0],g=n[e?3:1]^t[1],w=n[2]^t[2],b=n[e?1:3]^t[3],f=4;for(let n=0;n<a;n++)d=r[u>>>24]^s[g>>16&255]^l[w>>8&255]^c[255&b]^t[f],h=r[g>>>24]^s[w>>16&255]^l[b>>8&255]^c[255&u]^t[f+1],p=r[w>>>24]^s[b>>16&255]^l[u>>8&255]^c[255&g]^t[f+2],b=r[b>>>24]^s[u>>16&255]^l[g>>8&255]^c[255&w]^t[f+3],f+=4,u=d,g=h,w=p;for(let n=0;n<4;n++)o[e?3&-n:n]=m[u>>>24]<<24^m[g>>16&255]<<16^m[w>>8&255]<<8^m[255&b]^t[f++],d=u,u=g,g=w,w=b,b=d;return o}}},Wn={getRandomValues(n){const e=new M(n.buffer),t=n=>{let e=987654321;const t=4294967295;return function(){e=36969*(65535&e)+(e>>16)&t;return(((e<<16)+(n=18e3*(65535&n)+(n>>16)&t)&t)/4294967296+.5)*(C.random()>.5?1:-1)}};for(let a,o=0;o<n.length;o+=4){const n=t(4294967296*(a||C.random()));a=987654071*n(),e[o/4]=4294967296*n()|0}return n}},Vn={ctrGladman:class{constructor(n,e){this._prf=n,this._initIv=e,this._iv=e}reset(){this._iv=this._initIv}update(n){return this.calculate(this._prf,n,this._iv)}incWord(n){if(255==(n>>24&255)){let e=n>>16&255,t=n>>8&255,a=255&n;255===e?(e=0,255===t?(t=0,255===a?a=0:++a):++t):++e,n=0,n+=e<<16,n+=t<<8,n+=a}else n+=1<<24;return n}incCounter(n){0===(n[0]=this.incWord(n[0]))&&(n[1]=this.incWord(n[1]))}calculate(n,e,t){let a;if(!(a=e.length))return[];const o=qn.bitLength(e);for(let o=0;o<a;o+=4){this.incCounter(t);const a=n.encrypt(t);e[o]^=a[0],e[o+1]^=a[1],e[o+2]^=a[2],e[o+3]^=a[3]}return qn.clamp(e,o)}}},Kn={importKey:n=>new Kn.hmacSha1(Hn.bytes.toBits(n)),pbkdf2(n,e,t,a){if(t=t||1e4,a<0||t<0)throw new R("invalid params to pbkdf2");const o=1+(a>>5)<<2;let i,r,s,l,c;const m=new ArrayBuffer(o),d=new B(m);let h=0;const p=qn;for(e=Hn.bytes.toBits(e),c=1;h<(o||1);c++){for(i=r=n.encrypt(p.concat(e,[c])),s=1;s<t;s++)for(r=n.encrypt(r),l=0;l<r.length;l++)i[l]^=r[l];for(s=0;h<(o||1)&&s<i.length;s++)d.setInt32(h,i[s]),h+=4}return m.slice(0,a/8)},hmacSha1:class{constructor(n){const e=this,t=e._hash=Un.sha1,a=[[],[]];e._baseHash=[new t,new t];const o=e._baseHash[0].blockSize/32;n.length>o&&(n=(new t).update(n).finalize());for(let e=0;e<o;e++)a[0][e]=909522486^n[e],a[1][e]=1549556828^n[e];e._baseHash[0].update(a[0]),e._baseHash[1].update(a[1]),e._resultHash=new t(e._baseHash[0])}reset(){const n=this;n._resultHash=new n._hash(n._baseHash[0]),n._updated=!1}update(n){this._updated=!0,this._resultHash.update(n)}digest(){const n=this,e=n._resultHash.finalize(),t=new n._hash(n._baseHash[1]).update(e).finalize();return n.reset(),t}encrypt(n){if(this._updated)throw new R("encrypt on already updated hmac called!");return this.update(n),this.digest(n)}}},Jn=void 0!==q&&"function"==typeof q.getRandomValues,Yn="Invalid password",Zn="Invalid signature",Xn="zipjs-abort-check-password";function $n(n){return Jn?q.getRandomValues(n):Wn.getRandomValues(n)}const Qn=16,ne="raw",ee={name:"PBKDF2"},te=v.assign({hash:{name:"HMAC"}},ee),ae=v.assign({iterations:1e3,hash:{name:"SHA-1"}},ee),oe=["deriveBits"],ie=[8,12,16],re=[16,24,32],se=10,le=[0,0,0,0],ce="undefined",me="function",de=typeof q!=ce,he=de&&q.subtle,pe=de&&typeof he!=ce,ue=Hn.bytes,ge=Gn.aes,we=Vn.ctrGladman,be=Kn.hmacSha1;let fe=de&&pe&&typeof he.importKey==me,ke=de&&pe&&typeof he.deriveBits==me;class ye extends U{constructor({password:n,signed:e,encryptionStrength:t,checkPasswordOnly:a}){super({start(){v.assign(this,{ready:new O((n=>this.resolveReady=n)),password:n,signed:e,strength:t-1,pending:new E})},async transform(n,e){const t=this,{password:o,strength:i,resolveReady:r,ready:s}=t;o?(await async function(n,e,t,a){const o=await Se(n,e,t,Ce(a,0,ie[e])),i=Ce(a,ie[e]);if(o[0]!=i[0]||o[1]!=i[1])throw new R(Yn)}(t,i,o,Ce(n,0,ie[i]+2)),n=Ce(n,ie[i]+2),a?e.error(new R(Xn)):r()):await s;const l=new E(n.length-se-(n.length-se)%Qn);e.enqueue(je(t,n,l,0,se,!0))},async flush(n){const{signed:e,ctr:t,hmac:a,pending:o,ready:i}=this;await i;const r=Ce(o,0,o.length-se),s=Ce(o,o.length-se);let l=new E;if(r.length){const n=Le(ue,r);a.update(n);const e=t.update(n);l=ze(ue,e)}if(e){const n=Ce(ze(ue,a.digest()),0,se);for(let e=0;e<se;e++)if(n[e]!=s[e])throw new R(Zn)}n.enqueue(l)}})}}class ve extends U{constructor({password:n,encryptionStrength:e}){let t;super({start(){v.assign(this,{ready:new O((n=>this.resolveReady=n)),password:n,strength:e-1,pending:new E})},async transform(n,e){const t=this,{password:a,strength:o,resolveReady:i,ready:r}=t;let s=new E;a?(s=await async function(n,e,t){const a=$n(new E(ie[e])),o=await Se(n,e,t,a);return xe(a,o)}(t,o,a),i()):await r;const l=new E(s.length+n.length-n.length%Qn);l.set(s,0),e.enqueue(je(t,n,l,s.length,0))},async flush(n){const{ctr:e,hmac:a,pending:o,ready:i}=this;await i;let r=new E;if(o.length){const n=e.update(Le(ue,o));a.update(n),r=ze(ue,n)}t.signature=ze(ue,a.digest()).slice(0,se),n.enqueue(xe(r,t.signature))}}),t=this}}function je(n,e,t,a,o,i){const{ctr:r,hmac:s,pending:l}=n,c=e.length-o;let m;for(l.length&&(e=xe(l,e),t=function(n,e){if(e&&e>n.length){const t=n;(n=new E(e)).set(t,0)}return n}(t,c-c%Qn)),m=0;m<=c-Qn;m+=Qn){const n=Le(ue,Ce(e,m,m+Qn));i&&s.update(n);const o=r.update(n);i||s.update(o),t.set(ze(ue,o),m+a)}return n.pending=Ce(e,m),t}async function Se(n,e,t,a){n.password=null;const o=Fn(t),i=await async function(n,e,t,a,o){if(!fe)return Kn.importKey(e);try{return await he.importKey(n,e,t,a,o)}catch(n){return fe=!1,Kn.importKey(e)}}(ne,o,te,!1,oe),r=await async function(n,e,t){if(!ke)return Kn.pbkdf2(e,n.salt,ae.iterations,t);try{return await he.deriveBits(n,e,t)}catch(a){return ke=!1,Kn.pbkdf2(e,n.salt,ae.iterations,t)}}(v.assign({salt:a},ae),i,8*(2*re[e]+2)),s=new E(r),l=Le(ue,Ce(s,0,re[e])),c=Le(ue,Ce(s,re[e],2*re[e])),m=Ce(s,2*re[e]);return v.assign(n,{keys:{key:l,authentication:c,passwordVerification:m},ctr:new we(new ge(l),y.from(le)),hmac:new be(c)}),m}function xe(n,e){let t=n;return n.length+e.length&&(t=new E(n.length+e.length),t.set(n,0),t.set(e,n.length)),t}function Ce(n,e,t){return n.subarray(e,t)}function ze(n,e){return n.fromBits(e)}function Le(n,e){return n.toBits(e)}const Ae=12;class Ie extends U{constructor({password:n,passwordVerification:e,checkPasswordOnly:t}){super({start(){v.assign(this,{password:n,passwordVerification:e}),De(this,n)},transform(n,e){const a=this;if(a.password){const e=Re(a,n.subarray(0,Ae));if(a.password=null,e[11]!=a.passwordVerification)throw new R(Yn);n=n.subarray(Ae)}t?e.error(new R(Xn)):e.enqueue(Re(a,n))}})}}class Te extends U{constructor({password:n,passwordVerification:e}){super({start(){v.assign(this,{password:n,passwordVerification:e}),De(this,n)},transform(n,e){const t=this;let a,o;if(t.password){t.password=null;const e=$n(new E(Ae));e[11]=t.passwordVerification,a=new E(n.length+e.length),a.set(Ee(t,e),0),o=Ae}else a=new E(n.length),o=0;a.set(Ee(t,n),o),e.enqueue(a)}})}}function Re(n,e){const t=new E(e.length);for(let a=0;a<e.length;a++)t[a]=Be(n)^e[a],Me(n,t[a]);return t}function Ee(n,e){const t=new E(e.length);for(let a=0;a<e.length;a++)t[a]=Be(n)^e[a],Me(n,e[a]);return t}function De(n,e){const t=[305419896,591751049,878082192];v.assign(n,{keys:t,crcKey0:new Pn(t[0]),crcKey2:new Pn(t[2])});for(let t=0;t<e.length;t++)Me(n,e.charCodeAt(t))}function Me(n,e){let[t,a,o]=n.keys;n.crcKey0.append([e]),t=~n.crcKey0.get(),a=Oe(C.imul(Oe(a+Ne(t)),134775813)+1),n.crcKey2.append([a>>>24]),o=~n.crcKey2.get(),n.keys=[t,a,o]}function Be(n){const e=2|n.keys[2];return Ne(C.imul(e,1^e)>>>8)}function Ne(n){return 255&n}function Oe(n){return 4294967295&n}const Pe="deflate-raw";class _e extends U{constructor(n,{chunkSize:e,CompressionStream:t,CompressionStreamNative:a}){super({});const{compressed:o,encrypted:i,useCompressionStream:r,zipCrypto:s,signed:l,level:c}=n,m=this;let d,h,p=qe(super.readable);i&&!s||!l||(d=new _n,p=Ge(p,d)),o&&(p=Ue(p,r,{level:c,chunkSize:e},a,t)),i&&(s?p=Ge(p,new Te(n)):(h=new ve(n),p=Ge(p,h))),He(m,p,(()=>{let n;i&&!s&&(n=h.signature),i&&!s||!l||(n=new B(d.value.buffer).getUint32(0)),m.signature=n}))}}class Fe extends U{constructor(n,{chunkSize:e,DecompressionStream:t,DecompressionStreamNative:a}){super({});const{zipCrypto:o,encrypted:i,signed:r,signature:s,compressed:l,useCompressionStream:c}=n;let m,d,h=qe(super.readable);i&&(o?h=Ge(h,new Ie(n)):(d=new ye(n),h=Ge(h,d))),l&&(h=Ue(h,c,{chunkSize:e},a,t)),i&&!o||!r||(m=new _n,h=Ge(h,m)),He(this,h,(()=>{if((!i||o)&&r){const n=new B(m.value.buffer);if(s!=n.getUint32(0,!1))throw new R(Zn)}}))}}function qe(n){return Ge(n,new U({transform(n,e){n&&n.length&&e.enqueue(n)}}))}function He(n,e,t){e=Ge(e,new U({flush:t})),v.defineProperty(n,"readable",{get:()=>e})}function Ue(n,e,t,a,o){try{n=Ge(n,new(e&&a?a:o)(Pe,t))}catch(a){if(!e)throw a;n=Ge(n,new o(Pe,t))}return n}function Ge(n,e){return n.pipeThrough(e)}const We="message",Ve="start",Ke="pull",Je="data",Ye="ack",Ze="close",Xe="deflate",$e="inflate";class Qe extends U{constructor(n,e){super({});const t=this,{codecType:a}=n;let o;a.startsWith(Xe)?o=_e:a.startsWith($e)&&(o=Fe);let i=0;const r=new o(n,e),s=super.readable,l=new U({transform(n,e){n&&n.length&&(i+=n.length,e.enqueue(n))},flush(){const{signature:n}=r;v.assign(t,{signature:n,size:i})}});v.defineProperty(t,"readable",{get:()=>s.pipeThrough(r).pipeThrough(l)})}}const nt=typeof Y!=Cn;class et{constructor(n,{readable:e,writable:t},{options:a,config:o,streamOptions:i,useWebWorkers:r,transferStreams:s,scripts:l},c){const{signal:m}=i;return v.assign(n,{busy:!0,readable:e.pipeThrough(new tt(e,i,o),{signal:m}),writable:t,options:v.assign({},a),scripts:l,transferStreams:s,terminate(){const{worker:e,busy:t}=n;e&&!t&&(e.terminate(),n.interface=null)},onTaskFinished(){n.busy=!1,c(n)}}),(r&&nt?it:ot)(n,o)}}class tt extends U{constructor(n,{onstart:e,onprogress:t,size:a,onend:o},{chunkSize:i}){let r=0;super({start(){e&&at(e,a)},async transform(n,e){r+=n.length,t&&await at(t,r,a),e.enqueue(n)},flush(){n.size=r,o&&at(o,r)}},{highWaterMark:1,size:()=>i})}}async function at(n,...e){try{await n(...e)}catch(n){}}function ot(n,e){return{run:()=>async function({options:n,readable:e,writable:t,onTaskFinished:a},o){const i=new Qe(n,o);try{await e.pipeThrough(i).pipeTo(t,{preventClose:!0,preventAbort:!0});const{signature:n,size:a}=i;return{signature:n,size:a}}finally{a()}}(n,e)}}function it(n,{baseURL:e,chunkSize:t}){return n.interface||v.assign(n,{worker:lt(n.scripts[0],e,n),interface:{run:()=>async function(n,e){let t,a;const o=new O(((n,e)=>{t=n,a=e}));v.assign(n,{reader:null,writer:null,resolveResult:t,rejectResult:a,result:o});const{readable:i,options:r,scripts:s}=n,{writable:l,closed:c}=function(n){const e=n.getWriter();let t;const a=new O((n=>t=n)),o=new W({async write(n){await e.ready,await e.write(n)},close(){e.releaseLock(),t()},abort:n=>e.abort(n)});return{writable:o,closed:a}}(n.writable),m=ct({type:Ve,scripts:s.slice(1),options:r,config:e,readable:i,writable:l},n);m||v.assign(n,{reader:i.getReader(),writer:l.getWriter()});const d=await o;try{await l.getWriter().close()}catch(n){}return await c,d}(n,{chunkSize:t})}}),n.interface}let rt=!0,st=!0;function lt(n,e,t){const a={type:"module"};let o,i;typeof n==zn&&(n=n());try{o=new T(n,e)}catch(e){o=n}if(rt)try{i=new Y(o)}catch(n){rt=!1,i=new Y(o,a)}else i=new Y(o,a);return i.addEventListener(We,(n=>async function({data:n},e){const{type:t,value:a,messageId:o,result:i,error:r}=n,{reader:s,writer:l,resolveResult:c,rejectResult:m,onTaskFinished:d}=e;try{if(r){const{message:n,stack:e,code:t,name:a}=r,o=new R(n);v.assign(o,{stack:e,code:t,name:a}),h(o)}else{if(t==Ke){const{value:n,done:t}=await s.read();ct({type:Je,value:n,done:t,messageId:o},e)}t==Je&&(await l.ready,await l.write(new E(a)),ct({type:Ye,messageId:o},e)),t==Ze&&h(null,i)}}catch(r){h(r)}function h(n,e){n?m(n):c(e),l&&l.releaseLock(),d()}}(n,t))),i}function ct(n,{worker:e,writer:t,onTaskFinished:a,transferStreams:o}){try{let{value:t,readable:a,writable:i}=n;const r=[];if(t&&(n.value=t.buffer,r.push(n.value)),o&&st?(a&&r.push(a),i&&r.push(i)):n.readable=n.writable=null,r.length)try{return e.postMessage(n,r),!0}catch(t){st=!1,n.readable=n.writable=null,e.postMessage(n)}else e.postMessage(n)}catch(n){throw t&&t.releaseLock(),a(),n}}let mt=[];const dt=[];let ht=0;async function pt(n,e){const{options:t,config:a}=e,{transferStreams:o,useWebWorkers:i,useCompressionStream:r,codecType:s,compressed:l,signed:c,encrypted:m}=t,{workerScripts:d,maxWorkers:h,terminateWorkerTimeout:p}=a;e.transferStreams=o||o===xn;const u=!(l||c||m||e.transferStreams);let g;e.useWebWorkers=!u&&(i||i===xn&&a.useWebWorkers),e.scripts=e.useWebWorkers&&d?d[s]:[],t.useCompressionStream=r||r===xn&&a.useCompressionStream;const w=mt.find((n=>!n.busy));if(w)ut(w),g=new et(w,n,e,b);else if(mt.length<h){const t={indexWorker:ht};ht++,mt.push(t),g=new et(t,n,e,b)}else g=await new O((t=>dt.push({resolve:t,stream:n,workerOptions:e})));return g.run();function b(n){if(dt.length){const[{resolve:e,stream:t,workerOptions:a}]=dt.splice(0,1);e(new et(n,t,a,b))}else n.worker?(ut(n),S.isFinite(p)&&p>=0&&(n.terminateTimeout=setTimeout((()=>{mt=mt.filter((e=>e!=n)),n.terminate()}),p))):mt=mt.filter((e=>e!=n))}}function ut(n){const{terminateTimeout:e}=n;e&&(clearTimeout(e),n.terminateTimeout=null)}const gt="HTTP error ",wt="HTTP Range not supported",bt="Writer iterator completed too soon",ft="Content-Length",kt="Range",yt="HEAD",vt="GET",jt="bytes",St=65536,xt="writable";class Ct{constructor(){this.size=0}init(){this.initialized=!0}}class zt extends Ct{get readable(){const n=this,{chunkSize:e=St}=n,t=new G({start(){this.chunkOffset=0},async pull(a){const{offset:o=0,size:i,diskNumberStart:r}=t,{chunkOffset:s}=this;a.enqueue(await Yt(n,o+s,C.min(e,i-s),r)),s+e>i?a.close():this.chunkOffset+=e}});return t}}class Lt extends Ct{constructor(){super();const n=this,e=new W({write:e=>n.writeUint8Array(e)});v.defineProperty(n,xt,{get:()=>e})}writeUint8Array(){}}class At extends zt{constructor(n){super(),v.assign(this,{blob:n,size:n.size})}async readUint8Array(n,e){const t=this,a=n+e,o=n||a<t.size?t.blob.slice(n,a):t.blob;let i=await o.arrayBuffer();return i.byteLength>e&&(i=i.slice(n,a)),new E(i)}}class It extends Ct{constructor(n){super();const e=new U,t=[];n&&t.push(["Content-Type",n]),v.defineProperty(this,xt,{get:()=>e.writable}),this.blob=new I(e.readable,{headers:t}).blob()}getData(){return this.blob}}class Tt extends zt{constructor(n,e){super(),Et(this,n,e)}async init(){await Dt(this,qt,Ot),super.init()}readUint8Array(n,e){return Mt(this,n,e,qt,Ot)}}class Rt extends zt{constructor(n,e){super(),Et(this,n,e)}async init(){await Dt(this,Ht,Pt),super.init()}readUint8Array(n,e){return Mt(this,n,e,Ht,Pt)}}function Et(n,e,t){const{preventHeadRequest:a,useRangeHeader:o,forceRangeRequests:i}=t;delete(t=v.assign({},t)).preventHeadRequest,delete t.useRangeHeader,delete t.forceRangeRequests,delete t.useXHR,v.assign(n,{url:e,options:t,preventHeadRequest:a,useRangeHeader:o,forceRangeRequests:i})}async function Dt(n,e,t){const{url:a,useRangeHeader:o,forceRangeRequests:i}=n;if(function(n){const{baseURL:e}=En(),{protocol:t}=new T(n,e);return"http:"==t||"https:"==t}(a)&&(o||i)){const{headers:a}=await e(vt,n,Bt(n));if(!i&&a.get("Accept-Ranges")!=jt)throw new R(wt);{let o;const i=a.get("Content-Range");if(i){const n=i.trim().split(/\s*\/\s*/);if(n.length){const e=n[1];e&&"*"!=e&&(o=S(e))}}o===xn?await Ft(n,e,t):n.size=o}}else await Ft(n,e,t)}async function Mt(n,e,t,a,o){const{useRangeHeader:i,forceRangeRequests:r,options:s}=n;if(i||r){const o=await a(vt,n,Bt(n,e,t));if(206!=o.status)throw new R(wt);return new E(await o.arrayBuffer())}{const{data:a}=n;return a||await o(n,s),new E(n.data.subarray(e,e+t))}}function Bt(n,e=0,t=1){return v.assign({},Nt(n),{[kt]:jt+"="+e+"-"+(e+t-1)})}function Nt({options:n}){const{headers:e}=n;if(e)return Symbol.iterator in e?v.fromEntries(e):e}async function Ot(n){await _t(n,qt)}async function Pt(n){await _t(n,Ht)}async function _t(n,e){const t=await e(vt,n,Nt(n));n.data=new E(await t.arrayBuffer()),n.size||(n.size=n.data.length)}async function Ft(n,e,t){if(n.preventHeadRequest)await t(n,n.options);else{const a=(await e(yt,n,Nt(n))).headers.get(ft);a?n.size=S(a):await t(n,n.options)}}async function qt(n,{options:e,url:t},a){const o=await fetch(t,v.assign({},e,{method:n,headers:a}));if(o.status<400)return o;throw 416==o.status?new R(wt):new R(gt+(o.statusText||o.status))}function Ht(n,{url:e},t){return new O(((a,o)=>{const i=new XMLHttpRequest;if(i.addEventListener("load",(()=>{if(i.status<400){const n=[];i.getAllResponseHeaders().trim().split(/[\r\n]+/).forEach((e=>{const t=e.trim().split(/\s*:\s*/);t[0]=t[0].trim().replace(/^[a-z]|-[a-z]/g,(n=>n.toUpperCase())),n.push(t)})),a({status:i.status,arrayBuffer:()=>i.response,headers:new L(n)})}else o(416==i.status?new R(wt):new R(gt+(i.statusText||i.status)))}),!1),i.addEventListener("error",(n=>o(n.detail?n.detail.error:new R("Network error"))),!1),i.open(n,e),t)for(const n of v.entries(t))i.setRequestHeader(n[0],n[1]);i.responseType="arraybuffer",i.send()}))}class Ut extends zt{constructor(n,e={}){super(),v.assign(this,{url:n,reader:e.useXHR?new Rt(n,e):new Tt(n,e)})}set size(n){}get size(){return this.reader.size}async init(){await this.reader.init(),super.init()}readUint8Array(n,e){return this.reader.readUint8Array(n,e)}}class Gt extends zt{constructor(n){super(),this.readers=n}async init(){const n=this,{readers:e}=n;n.lastDiskNumber=0,n.lastDiskOffset=0,await O.all(e.map((async(t,a)=>{await t.init(),a!=e.length-1&&(n.lastDiskOffset+=t.size),n.size+=t.size}))),super.init()}async readUint8Array(n,e,t=0){const a=this,{readers:o}=this;let i,r=t;-1==r&&(r=o.length-1);let s=n;for(;s>=o[r].size;)s-=o[r].size,r++;const l=o[r],c=l.size;if(s+e<=c)i=await Yt(l,s,e);else{const o=c-s;i=new E(e),i.set(await Yt(l,s,o)),i.set(await a.readUint8Array(n+o,e-o,t),o)}return a.lastDiskNumber=C.max(r,a.lastDiskNumber),i}}class Wt extends Ct{constructor(n,e=4294967295){super();const t=this;let a,o,i;v.assign(t,{diskNumber:0,diskOffset:0,size:0,maxSize:e,availableSize:e});const r=new W({async write(e){const{availableSize:r}=t;if(i)e.length>=r?(await s(e.slice(0,r)),await l(),t.diskOffset+=a.size,t.diskNumber++,i=null,await this.write(e.slice(r))):await s(e);else{const{value:r,done:s}=await n.next();if(s&&!r)throw new R(bt);a=r,a.size=0,a.maxSize&&(t.maxSize=a.maxSize),t.availableSize=t.maxSize,await Vt(a),o=r.writable,i=o.getWriter(),await this.write(e)}},async close(){await i.ready,await l()}});async function s(n){const e=n.length;e&&(await i.ready,await i.write(n),a.size+=e,t.size+=e,t.availableSize-=e)}async function l(){o.size=a.size,await i.close()}v.defineProperty(t,xt,{get:()=>r})}}async function Vt(n,e){n.init&&!n.initialized&&await n.init(e)}function Kt(n){return y.isArray(n)&&(n=new Gt(n)),n instanceof G&&(n={readable:n}),n}function Jt(n){n.writable===xn&&typeof n.next==zn&&(n=new Wt(n)),n instanceof W&&(n={writable:n});const{writable:e}=n;e.size===xn&&(e.size=0);return n instanceof Wt||v.assign(n,{diskNumber:0,diskOffset:0,availableSize:1/0,maxSize:1/0}),n}function Yt(n,e,t,a){return n.readUint8Array(e,t,a)}const Zt=Gt,Xt=Wt,$t="\0☺☻♥♦♣♠•◘○◙♂♀♪♫☼►◄↕‼¶§▬↨↑↓→←∟↔▲▼ !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~⌂ÇüéâäàåçêëèïîìÄÅÉæÆôöòûùÿÖÜ¢£¥₧ƒáíóúñѪº¿⌐¬½¼¡«»░▒▓│┤╡╢╖╕╣║╗╝╜╛┐└┴┬├─┼╞╟╚╔╩╦╠═╬╧╨╤╥╙╘╒╓╫╪┘┌█▄▌▐▀αßΓπΣσµτΦΘΩδ∞φε∩≡±≥≤⌠⌡÷≈°∙·√ⁿ²■ ".split(""),Qt=256==$t.length;function na(n,e){return e&&"cp437"==e.trim().toLowerCase()?function(n){if(Qt){let e="";for(let t=0;t<n.length;t++)e+=$t[n[t]];return e}return(new _).decode(n)}(n):new _(e).decode(n)}const ea="filename",ta="rawFilename",aa="comment",oa="rawComment",ia="uncompressedSize",ra="compressedSize",sa="offset",la="diskNumberStart",ca="lastModDate",ma="rawLastModDate",da="lastAccessDate",ha="rawLastAccessDate",pa="creationDate",ua="rawCreationDate",ga="internalFileAttribute",wa="externalFileAttribute",ba="msDosCompatible",fa="zip64",ka=[ea,ta,ra,ia,ca,ma,aa,oa,da,pa,sa,la,la,ga,wa,ba,fa,"directory","bitFlag","encrypted","signature","filenameUTF8","commentUTF8","compressionMethod","version","versionMadeBy","extraField","rawExtraField","extraFieldZip64","extraFieldUnicodePath","extraFieldUnicodeComment","extraFieldAES","extraFieldNTFS","extraFieldExtendedTimestamp"];class ya{constructor(n){ka.forEach((e=>this[e]=n[e]))}}const va="File format is not recognized",ja="End of central directory not found",Sa="End of Zip64 central directory not found",xa="End of Zip64 central directory locator not found",Ca="Central directory header not found",za="Local file header not found",La="Zip64 extra field not found",Aa="File contains encrypted entry",Ia="Encryption method not supported",Ta="Compression method not supported",Ra="Split zip file",Ea="utf-8",Da="cp437",Ma=[[ia,Z],[ra,Z],[sa,Z],[la,X]],Ba={[X]:{getValue:Wa,bytes:4},[Z]:{getValue:Va,bytes:8}};class Na{constructor(n,e,t){v.assign(this,{reader:n,config:e,options:t})}async getData(n,e,t={}){const a=this,{reader:o,offset:i,diskNumberStart:r,extraFieldAES:s,compressionMethod:l,config:c,bitFlag:m,signature:d,rawLastModDate:h,uncompressedSize:p,compressedSize:u}=a,g=e.localDirectory={},w=Ka(await Yt(o,i,30,r));let b=Fa(a,t,"password");if(b=b&&b.length&&b,s&&s.originalCompressionMethod!=nn)throw new R(Ta);if(l!=Q&&l!=$)throw new R(Ta);if(Wa(w,0)!=en)throw new R(za);Oa(g,w,4),g.rawExtraField=g.extraFieldLength?await Yt(o,i+30+g.filenameLength,g.extraFieldLength,r):new E,await Pa(a,g,w,4,!0),v.assign(e,{lastAccessDate:g.lastAccessDate,creationDate:g.creationDate});const f=a.encrypted&&g.encrypted,k=f&&!s;if(f){if(!k&&s.strength===xn)throw new R(Ia);if(!b)throw new R(Aa)}const y=i+30+g.filenameLength+g.extraFieldLength,j=u,S=o.readable;v.assign(S,{diskNumberStart:r,offset:y,size:j});const x=Fa(a,t,"signal"),C=Fa(a,t,"checkPasswordOnly");C&&(n=new W),n=Jt(n),await Vt(n,p);const{writable:z}=n,{onstart:L,onprogress:A,onend:I}=t,T={options:{codecType:$e,password:b,zipCrypto:k,encryptionStrength:s&&s.strength,signed:Fa(a,t,"checkSignature"),passwordVerification:k&&(m.dataDescriptor?h>>>8&255:d>>>24&255),signature:d,compressed:0!=l,encrypted:f,useWebWorkers:Fa(a,t,"useWebWorkers"),useCompressionStream:Fa(a,t,"useCompressionStream"),transferStreams:Fa(a,t,"transferStreams"),checkPasswordOnly:C},config:c,streamOptions:{signal:x,size:j,onstart:L,onprogress:A,onend:I}};let D=0;try{({outputSize:D}=await pt({readable:S,writable:z},T))}catch(n){if(!C||n.message!=Xn)throw n}finally{const n=Fa(a,t,"preventClose");z.size+=D,n||z.locked||await z.getWriter().close()}return C?void 0:n.getData?n.getData():z}}function Oa(n,e,t){const a=n.rawBitFlag=Ga(e,t+2),o=(a&wn)==wn,i=Wa(e,t+6);v.assign(n,{encrypted:o,version:Ga(e,t),bitFlag:{level:(6&a)>>1,dataDescriptor:(a&bn)==bn,languageEncodingFlag:(a&fn)==fn},rawLastModDate:i,lastModDate:qa(i),filenameLength:Ga(e,t+22),extraFieldLength:Ga(e,t+24)})}async function Pa(n,e,t,a,o){const{rawExtraField:i}=e,r=e.extraField=new L,s=Ka(new E(i));let l=0;try{for(;l<i.length;){const n=Ga(s,l),e=Ga(s,l+2);r.set(n,{type:n,data:i.slice(l+4,l+4+e)}),l+=4+e}}catch(n){}const c=Ga(t,a+4);v.assign(e,{signature:Wa(t,a+10),uncompressedSize:Wa(t,a+18),compressedSize:Wa(t,a+14)});const m=r.get(mn);m&&(!function(n,e){e.zip64=!0;const t=Ka(n.data),a=Ma.filter((([n,t])=>e[n]==t));for(let o=0,i=0;o<a.length;o++){const[r,s]=a[o];if(e[r]==s){const a=Ba[s];e[r]=n[r]=a.getValue(t,i),i+=a.bytes}else if(n[r])throw new R(La)}}(m,e),e.extraFieldZip64=m);const d=r.get(28789);d&&(await _a(d,ea,ta,e,n),e.extraFieldUnicodePath=d);const h=r.get(25461);h&&(await _a(h,aa,oa,e,n),e.extraFieldUnicodeComment=h);const p=r.get(dn);p?(!function(n,e,t){const a=Ka(n.data),o=Ua(a,4);v.assign(n,{vendorVersion:Ua(a,0),vendorId:Ua(a,2),strength:o,originalCompressionMethod:t,compressionMethod:Ga(a,5)}),e.compressionMethod=n.compressionMethod}(p,e,c),e.extraFieldAES=p):e.compressionMethod=c;const u=r.get(hn);u&&(!function(n,e){const t=Ka(n.data);let a,o=4;try{for(;o<n.data.length&&!a;){const e=Ga(t,o),i=Ga(t,o+2);e==pn&&(a=n.data.slice(o+4,o+4+i)),o+=4+i}}catch(n){}try{if(a&&24==a.length){const t=Ka(a),o=t.getBigUint64(0,!0),i=t.getBigUint64(8,!0),r=t.getBigUint64(16,!0);v.assign(n,{rawLastModDate:o,rawLastAccessDate:i,rawCreationDate:r});const s=Ha(o),l=Ha(i),c={lastModDate:s,lastAccessDate:l,creationDate:Ha(r)};v.assign(n,c),v.assign(e,c)}}catch(n){}}(u,e),e.extraFieldNTFS=u);const g=r.get(un);g&&(!function(n,e,t){const a=Ka(n.data),o=Ua(a,0),i=[],r=[];t?(1==(1&o)&&(i.push(ca),r.push(ma)),2==(2&o)&&(i.push(da),r.push(ha)),4==(4&o)&&(i.push(pa),r.push(ua))):n.data.length>=5&&(i.push(ca),r.push(ma));let s=1;i.forEach(((t,o)=>{if(n.data.length>=s+4){const i=Wa(a,s);e[t]=n[t]=new z(1e3*i);const l=r[o];n[l]=i}s+=4}))}(g,e,o),e.extraFieldExtendedTimestamp=g);const w=r.get(gn);w&&(e.extraFieldUSDZ=w)}async function _a(n,e,t,a,o){const i=Ka(n.data),r=new Pn;r.append(o[t]);const s=Ka(new E(4));s.setUint32(0,r.get(),!0);const l=Wa(i,1);v.assign(n,{version:Ua(i,0),[e]:na(n.data.subarray(5)),valid:!o.bitFlag.languageEncodingFlag&&l==Wa(s,0)}),n.valid&&(a[e]=n[e],a[e+"UTF8"]=!0)}function Fa(n,e,t){return e[t]===xn?n.options[t]:e[t]}function qa(n){const e=(4294901760&n)>>16,t=65535&n;try{return new z(1980+((65024&e)>>9),((480&e)>>5)-1,31&e,(63488&t)>>11,(2016&t)>>5,2*(31&t),0)}catch(n){}}function Ha(n){return new z(S(n/x(1e4)-x(116444736e5)))}function Ua(n,e){return n.getUint8(e)}function Ga(n,e){return n.getUint16(e,!0)}function Wa(n,e){return n.getUint32(e,!0)}function Va(n,e){return S(n.getBigUint64(e,!0))}function Ka(n){return new B(n.buffer)}const Ja="File already exists",Ya="Zip file comment exceeds 64KB",Za="File entry comment exceeds 64KB",Xa="File entry name exceeds 64KB",$a="Version exceeds 65535",Qa="The strength must equal 1, 2, or 3",no="Extra field type exceeds 65535",eo="Extra field data exceeds 64KB",to="Zip64 is not supported (make sure 'keepOrder' is set to 'true')",ao=new E([7,0,2,0,65,69,3,0,0]);let oo=0;const io=[];async function ro(n,e){const t=n.getWriter();await t.ready,n.size+=wo(e),await t.write(e),t.releaseLock()}function so(n){if(n)return(x(n.getTime())+x(116444736e5))*x(1e4)}function lo(n,e,t,a){const o=e[t]===xn?n.options[t]:e[t];return o===xn?a:o}function co(n,e,t){n.setUint8(e,t)}function mo(n,e,t){n.setUint16(e,t,!0)}function ho(n,e,t){n.setUint32(e,t,!0)}function po(n,e,t){n.setBigUint64(e,t,!0)}function uo(n,e,t){n.set(e,t)}function go(n){return new B(n.buffer)}function wo(...n){let e=0;return n.forEach((n=>n&&(e+=n.length))),e}let bo;try{bo="undefined"==typeof document&&"undefined"==typeof location?new(require("url").URL)("file:"+__filename).href:"undefined"==typeof document?location.href:document.currentScript&&document.currentScript.src||new URL("single-file-extension-editor-helper.js",document.baseURI).href}catch(n){}Mn({baseURL:bo}),function(n){const e=()=>T.createObjectURL(new N(['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;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;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);var r=new He(n-t);return r.set(e.subarray(t,n)),r},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||2!=t.i,i=t.i;n||(n=new He(3*s));var o=e=>{var t=n.length;if(e>t){var s=new He(r.max(2*t,e));s.set(n),n=s}},l=t.f||0,c=t.p||0,h=t.b||0,f=t.l,u=t.d,p=t.m,d=t.n,g=8*s;do{if(!f){l=nt(e,c,1);var w=nt(e,c+1,3);if(c+=3,!w){var v=e[(x=st(c)+4)-4]|e[x-3]<<8,y=x+v;if(y>s){i&&ot(0);break}a&&o(h+v),n.set(e.subarray(x,y),h),t.b=h+=v,t.p=c=8*y,t.f=l;continue}if(1==w)f=Ze,u=et,p=9,d=5;else if(2==w){var b=nt(e,c,31)+257,m=nt(e,c+10,15)+4,_=b+nt(e,c+5,31)+1;c+=14;for(var k=new He(_),S=new He(19),z=0;m>z;++z)S[Pe[z]]=nt(e,c+3*z,7);c+=3*m;var D=tt(S),C=(1<<D)-1,I=Xe(S,D,1);for(z=0;_>z;){var x,A=I[nt(e,c,C)];if(c+=15&A,16>(x=A>>4))k[z++]=x;else{var T=0,R=0;for(16==x?(R=3+nt(e,c,3),c+=2,T=k[z-1]):17==x?(R=3+nt(e,c,7),c+=3):18==x&&(R=11+nt(e,c,127),c+=7);R--;)k[z++]=T}}var H=k.subarray(0,b),q=k.subarray(b);p=tt(H),d=tt(q),f=Xe(H,p,1),u=Xe(q,d,1)}else ot(1);if(c>g){i&&ot(0);break}}a&&o(h+131072);for(var B=(1<<p)-1,K=(1<<d)-1,V=c;;V=c){var P=(T=f[rt(e,c)&B])>>4;if((c+=15&T)>g){i&&ot(0);break}if(T||ot(2),256>P)n[h++]=P;else{if(256==P){V=c,f=null;break}var E=P-254;if(P>264){var U=Ke[z=P-257];E=nt(e,c,(1<<U)-1)+We[z],c+=U}var W=u[rt(e,c)&K],M=W>>4;if(W||ot(3),c+=15&W,q=Oe[M],M>3&&(U=Ve[M],q+=rt(e,c)&(1<<U)-1,c+=U),c>g){i&&ot(0);break}a&&o(h+131072);var N=h+E;if(q>h){var O=0-q,F=r.min(q,N);for(0>O+h&&ot(3);F>h;++h)n[h]=undefined[O+h]}for(;N>h;h+=4)n[h]=n[h-q],n[h+1]=n[h+1-q],n[h+2]=n[h+2-q],n[h+3]=n[h+3-q];h=N}}t.l=f,t.p=V,t.b=h,t.f=l,f&&(l=1,t.m=p,t.d=u,t.n=d)}while(!l);return h==n.length?n:at(n,0,h)})(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"}));n({workerScripts:{inflate:[e],deflate:[e]}})}(Mn);var fo=Object.freeze({__proto__:null,BlobReader:At,BlobWriter:It,Data64URIReader:class extends zt{constructor(n){super();let e=n.length;for(;"="==n.charAt(e-1);)e--;const t=n.indexOf(",")+1;v.assign(this,{dataURI:n,dataStart:t,size:C.floor(.75*(e-t))})}readUint8Array(n,e){const{dataStart:t,dataURI:a}=this,o=new E(e),i=4*C.floor(n/3),r=atob(a.substring(i+t,4*C.ceil((n+e)/3)+t)),s=n-3*C.floor(i/4);for(let n=s;n<s+e;n++)o[n-s]=r.charCodeAt(n);return o}},Data64URIWriter:class extends Lt{constructor(n){super(),v.assign(this,{data:"data:"+(n||"")+";base64,",pending:[]})}writeUint8Array(n){const e=this;let t=0,a=e.pending;const o=e.pending.length;for(e.pending="",t=0;t<3*C.floor((o+n.length)/3)-o;t++)a+=j.fromCharCode(n[t]);for(;t<n.length;t++)e.pending+=j.fromCharCode(n[t]);a.length>2?e.data+=H(a):e.pending=a}getData(){return this.data+H(this.pending)}},ERR_BAD_FORMAT:va,ERR_CENTRAL_DIRECTORY_NOT_FOUND:Ca,ERR_DUPLICATED_NAME:Ja,ERR_ENCRYPTED:Aa,ERR_EOCDR_LOCATOR_ZIP64_NOT_FOUND:xa,ERR_EOCDR_NOT_FOUND:ja,ERR_EOCDR_ZIP64_NOT_FOUND:Sa,ERR_EXTRAFIELD_ZIP64_NOT_FOUND:La,ERR_HTTP_RANGE:wt,ERR_INVALID_COMMENT:Ya,ERR_INVALID_ENCRYPTION_STRENGTH:Qa,ERR_INVALID_ENTRY_COMMENT:Za,ERR_INVALID_ENTRY_NAME:Xa,ERR_INVALID_EXTRAFIELD_DATA:eo,ERR_INVALID_EXTRAFIELD_TYPE:no,ERR_INVALID_PASSWORD:Yn,ERR_INVALID_SIGNATURE:Zn,ERR_INVALID_VERSION:$a,ERR_ITERATOR_COMPLETED_TOO_SOON:bt,ERR_LOCAL_FILE_HEADER_NOT_FOUND:za,ERR_SPLIT_ZIP_FILE:Ra,ERR_UNSUPPORTED_COMPRESSION:Ta,ERR_UNSUPPORTED_ENCRYPTION:Ia,ERR_UNSUPPORTED_FORMAT:to,HttpRangeReader:class extends Ut{constructor(n,e={}){e.useRangeHeader=!0,super(n,e)}},HttpReader:Ut,Reader:zt,SplitDataReader:Gt,SplitDataWriter:Wt,SplitZipReader:Zt,SplitZipWriter:Xt,TextReader:class extends At{constructor(n){super(new N([n],{type:"text/plain"}))}},TextWriter:class extends It{constructor(n){super(n),v.assign(this,{encoding:n,utf8:!n||"utf-8"==n.toLowerCase()})}async getData(){const{encoding:n,utf8:e}=this,t=await super.getData();if(t.text&&e)return t.text();{const e=new FileReader;return new O(((a,o)=>{v.assign(e,{onload:({target:n})=>a(n.result),onerror:()=>o(e.error)}),e.readAsText(t,n)}))}}},Uint8ArrayReader:class extends zt{constructor(n){super(),v.assign(this,{array:n,size:n.length})}readUint8Array(n,e){return this.array.slice(n,n+e)}},Uint8ArrayWriter:class extends Lt{init(n=0){v.assign(this,{offset:0,array:new E(n)}),super.init()}writeUint8Array(n){const e=this;if(e.offset+n.length>e.array.length){const t=e.array;e.array=new E(t.length+n.length),e.array.set(t)}e.array.set(n,e.offset),e.offset+=n.length}getData(){return this.array}},Writer:Lt,ZipReader:class{constructor(n,e={}){v.assign(this,{reader:Kt(n),options:e,config:En()})}async*getEntriesGenerator(n={}){const e=this;let{reader:t}=e;const{config:a}=e;if(await Vt(t),t.size!==xn&&t.readUint8Array||(t=new At(await new I(t.readable).blob()),await Vt(t)),t.size<cn)throw new R(va);t.chunkSize=Dn(a);const o=await async function(n,e,t,a,o){const i=new E(4);!function(n,e,t){n.setUint32(e,t,!0)}(Ka(i),0,e);const r=a+o;return await s(a)||await s(C.min(r,t));async function s(e){const o=t-e,r=await Yt(n,o,e);for(let n=r.length-a;n>=0;n--)if(r[n]==i[0]&&r[n+1]==i[1]&&r[n+2]==i[2]&&r[n+3]==i[3])return{offset:o+n,buffer:r.slice(n,n+a).buffer}}}(t,rn,t.size,cn,1048560);if(!o){throw Wa(Ka(await Yt(t,0,4)))==tn?new R(Ra):new R(ja)}const i=Ka(o);let r=Wa(i,12),s=Wa(i,16);const l=o.offset,c=Ga(i,20),m=l+cn+c;let d=Ga(i,4);const h=t.lastDiskNumber||0;let p=Ga(i,6),u=Ga(i,8),g=0,w=0;if(s==Z||r==Z||u==X||p==X){const n=Ka(await Yt(t,o.offset-20,20));if(Wa(n,0)!=ln)throw new R(Sa);s=Va(n,8);let e=await Yt(t,s,56,-1),a=Ka(e);const i=o.offset-20-56;if(Wa(a,0)!=sn&&s!=i){const n=s;s=i,g=s-n,e=await Yt(t,s,56,-1),a=Ka(e)}if(Wa(a,0)!=sn)throw new R(xa);d==X&&(d=Wa(a,16)),p==X&&(p=Wa(a,20)),u==X&&(u=Va(a,32)),r==Z&&(r=Va(a,40)),s-=r}if(h!=d)throw new R(Ra);if(s<0||s>=t.size)throw new R(va);let b=0,f=await Yt(t,s,r,p),k=Ka(f);if(r){const n=o.offset-r;if(Wa(k,b)!=on&&s!=n){const e=s;s=n,g=s-e,f=await Yt(t,s,r,p),k=Ka(f)}}const y=o.offset-s-(t.lastDiskOffset||0);if(r!=y&&y>=0&&(r=y,f=await Yt(t,s,r,p),k=Ka(f)),s<0||s>=t.size)throw new R(va);const j=Fa(e,n,"filenameEncoding"),S=Fa(e,n,"commentEncoding");for(let o=0;o<u;o++){const i=new Na(t,a,e.options);if(Wa(k,b)!=on)throw new R(Ca);Oa(i,k,b+6);const r=Boolean(i.bitFlag.languageEncodingFlag),s=b+46,l=s+i.filenameLength,c=l+i.extraFieldLength,m=Ga(k,b+4),d=0==(0&m),h=f.subarray(s,l),p=Ga(k,b+32),y=c+p,x=f.subarray(c,y),z=r,L=r,A=d&&16==(16&Ua(k,b+38)),I=Wa(k,b+42)+g;v.assign(i,{versionMadeBy:m,msDosCompatible:d,compressedSize:0,uncompressedSize:0,commentLength:p,directory:A,offset:I,diskNumberStart:Ga(k,b+34),internalFileAttribute:Ga(k,b+36),externalFileAttribute:Wa(k,b+38),rawFilename:h,filenameUTF8:z,commentUTF8:L,rawExtraField:f.subarray(l,c)});const[T,E]=await O.all([na(h,z?Ea:j||Da),na(x,L?Ea:S||Da)]);v.assign(i,{rawComment:x,filename:T,comment:E,directory:A||T.endsWith(vn)}),w=C.max(I,w),await Pa(i,i,k,b+6);const D=new ya(i);D.getData=(n,e)=>i.getData(n,D,e),b=y;const{onprogress:M}=n;if(M)try{await M(o+1,u,new ya(i))}catch(n){}yield D}const x=Fa(e,n,"extractPrependedData"),z=Fa(e,n,"extractAppendedData");return x&&(e.prependedData=w>0?await Yt(t,0,w):new E),e.comment=c?await Yt(t,l+cn,c):new E,z&&(e.appendedData=m<t.size?await Yt(t,m,t.size-m):new E),!0}async getEntries(n={}){const e=[];for await(const t of this.getEntriesGenerator(n))e.push(t);return e}async close(){}},ZipWriter:class{constructor(n,e={}){n=Jt(n),v.assign(this,{writer:n,addSplitZipSignature:n instanceof Wt,options:e,config:En(),files:new L,filenames:new A,offset:n.writable.size,pendingEntriesSize:0,pendingAddFileCalls:new A,bufferedWrites:0})}async add(n="",e,t={}){const a=this,{pendingAddFileCalls:o,config:i}=a;let r;oo<i.maxWorkers?oo++:await new O((n=>io.push(n)));try{if(n=n.trim(),a.filenames.has(n))throw new R(Ja);return a.filenames.add(n),r=async function(n,e,t,a){e=e.trim(),a.directory&&!e.endsWith(vn)?e+=vn:a.directory=e.endsWith(vn);const o=Fn(e);if(wo(o)>X)throw new R(Xa);const i=a.comment||"",r=Fn(i);if(wo(r)>X)throw new R(Za);const s=lo(n,a,"version",20);if(s>X)throw new R($a);const l=lo(n,a,"versionMadeBy",20);if(l>X)throw new R($a);const c=lo(n,a,ca,new z),m=lo(n,a,da),d=lo(n,a,pa),h=lo(n,a,ba,!0),p=lo(n,a,ga,0),u=lo(n,a,wa,0),g=lo(n,a,"password"),w=lo(n,a,"encryptionStrength",3),b=lo(n,a,"zipCrypto"),f=lo(n,a,"extendedTimestamp",!0),k=lo(n,a,"keepOrder",!0),j=lo(n,a,"level"),S=lo(n,a,"useWebWorkers"),L=lo(n,a,"bufferedWrite"),A=lo(n,a,"dataDescriptorSignature",!1),I=lo(n,a,"signal"),T=lo(n,a,"useCompressionStream");let N=lo(n,a,"dataDescriptor",!0),P=lo(n,a,fa);if(g!==xn&&w!==xn&&(w<1||w>3))throw new R(Qa);let _=new E;const{extraField:F}=a;if(F){let n=0,e=0;F.forEach((e=>n+=4+wo(e))),_=new E(n),F.forEach(((n,t)=>{if(t>X)throw new R(no);if(wo(n)>X)throw new R(eo);uo(_,new D([t]),e),uo(_,new D([wo(n)]),e+2),uo(_,n,e+4),e+=4+wo(n)}))}let q=0,H=0,U=0;const G=!0===P;t&&(t=Kt(t),await Vt(t),t.size===xn?(N=!0,(P||P===xn)&&(P=!0,U=q=Z)):(U=t.size,q=function(n){return n+5*(C.floor(n/16383)+1)}(U)));const{diskOffset:W,diskNumber:V,maxSize:K}=n.writer,J=G||U>=Z,Y=G||q>=Z,on=G||n.offset+n.pendingEntriesSize-W>=Z,rn=lo(n,a,"supportZip64SplitFile",!0),sn=rn&&G||V+C.ceil(n.pendingEntriesSize/K)>=X;if(on||J||Y||sn){if(!1===P||!k)throw new R(to);P=!0}P=P||!1,a=v.assign({},a,{rawFilename:o,rawComment:r,version:s,versionMadeBy:l,lastModDate:c,lastAccessDate:m,creationDate:d,rawExtraField:_,zip64:P,zip64UncompressedSize:J,zip64CompressedSize:Y,zip64Offset:on,zip64DiskNumberStart:sn,password:g,level:j,useWebWorkers:S,encryptionStrength:w,extendedTimestamp:f,zipCrypto:b,bufferedWrite:L,keepOrder:k,dataDescriptor:N,dataDescriptorSignature:A,signal:I,msDosCompatible:h,internalFileAttribute:p,externalFileAttribute:u,useCompressionStream:T});const ln=function(n){const{rawFilename:e,lastModDate:t,lastAccessDate:a,creationDate:o,password:i,level:r,zip64:s,zipCrypto:l,dataDescriptor:c,directory:m,rawExtraField:d,encryptionStrength:h,extendedTimestamp:p}=n,u=0!==r&&!m,g=Boolean(i&&wo(i));let w,b,f,k,y=n.version;if(g&&!l){w=new E(wo(ao)+2);const n=go(w);mo(n,0,dn),uo(w,ao,2),co(n,8,h)}else w=new E;if(p){f=new E(9+(a?4:0)+(o?4:0));const n=go(f);mo(n,0,un),mo(n,2,wo(f)-4),k=1+(a?2:0)+(o?4:0),co(n,4,k);let e=5;ho(n,e,C.floor(t.getTime()/1e3)),e+=4,a&&(ho(n,e,C.floor(a.getTime()/1e3)),e+=4),o&&ho(n,e,C.floor(o.getTime()/1e3));try{b=new E(36);const n=go(b),e=so(t);mo(n,0,hn),mo(n,2,32),mo(n,8,pn),mo(n,10,24),po(n,12,e),po(n,20,so(a)||e),po(n,28,so(o)||e)}catch(n){b=new E}}else b=f=new E;let v=fn;c&&(v|=bn);let j=Q;u&&(j=$);s&&(y=y>kn?y:kn);g&&(v|=wn,l||(y=y>yn?y:yn,j=nn,u&&(w[9]=$)));const S=new E(26),x=go(S);mo(x,0,y),mo(x,2,v),mo(x,4,j);const z=new M(1),L=go(z);let A;A=t<Sn?Sn:t>jn?jn:t;mo(L,0,(A.getHours()<<6|A.getMinutes())<<5|A.getSeconds()/2),mo(L,2,(A.getFullYear()-1980<<4|A.getMonth()+1)<<5|A.getDate());const I=z[0];ho(x,6,I),mo(x,22,wo(e));const T=wo(w,f,b,d);mo(x,24,T);const R=new E(30+wo(e)+T);return ho(go(R),0,en),uo(R,S,4),uo(R,e,30),uo(R,w,30+wo(e)),uo(R,f,30+wo(e,w)),uo(R,b,30+wo(e,w,f)),uo(R,d,30+wo(e,w,f,b)),{localHeaderArray:R,headerArray:S,headerView:x,lastModDate:t,rawLastModDate:I,encrypted:g,compressed:u,version:y,compressionMethod:j,extraFieldExtendedTimestampFlag:k,rawExtraFieldExtendedTimestamp:f,rawExtraFieldNTFS:b,rawExtraFieldAES:w,extraFieldLength:T}}(a),cn=function(n){const{zip64:e,dataDescriptor:t,dataDescriptorSignature:a}=n;let o,i=new E,r=0;t&&(i=new E(e?a?24:20:a?16:12),o=go(i),a&&(r=4,ho(o,0,an)));return{dataDescriptorArray:i,dataDescriptorView:o,dataDescriptorOffset:r}}(a),Cn=wo(ln.localHeaderArray,cn.dataDescriptorArray);H=Cn+q,n.options.usdz&&(H+=H+64);let zn;n.pendingEntriesSize+=H;try{zn=await async function(n,e,t,a,o){const{files:i,writer:r}=n,{keepOrder:s,dataDescriptor:l,signal:c}=o,{headerInfo:m}=a,{usdz:d}=n.options,h=y.from(i.values()).pop();let p,u,g,w,b,f,k={};i.set(e,k);try{let m;s&&(m=h&&h.lock,j()),!(o.bufferedWrite||n.writerLocked||n.bufferedWrites&&s)&&l||d?(f=r,await S()):(f=new It,f.writable.size=0,p=!0,n.bufferedWrites++,await Vt(r)),await Vt(f);const{writable:u}=r;let{diskOffset:g}=r;if(n.addSplitZipSignature){delete n.addSplitZipSignature;const e=new E(4);ho(go(e),0,tn),await ro(u,e),n.offset+=4}p||(await m,await C(u));const{diskNumber:y}=r;if(b=!0,k.diskNumberStart=y,d&&function(n,e){const{headerInfo:t}=n;let{localHeaderArray:a,extraFieldLength:o}=t,i=go(a),r=64-(e+a.length)%64;r<4&&(r+=64);const s=new E(r),l=go(s);mo(l,0,gn),mo(l,2,r-2);const c=a;t.localHeaderArray=a=new E(c.length+r),uo(a,c),uo(a,s,c.length),i=go(a),mo(i,28,o+r),n.metadataSize+=r}(a,n.offset-g),k=await async function(n,e,{diskNumberStart:t,lock:a},o,i,r){const{headerInfo:s,dataDescriptorInfo:l,metadataSize:c}=o,{localHeaderArray:m,headerArray:d,lastModDate:h,rawLastModDate:p,encrypted:u,compressed:g,version:w,compressionMethod:b,rawExtraFieldExtendedTimestamp:f,extraFieldExtendedTimestampFlag:k,rawExtraFieldNTFS:y,rawExtraFieldAES:j}=s,{dataDescriptorArray:S}=l,{rawFilename:C,lastAccessDate:z,creationDate:L,password:A,level:I,zip64:T,zip64UncompressedSize:R,zip64CompressedSize:D,zip64Offset:M,zip64DiskNumberStart:B,zipCrypto:N,dataDescriptor:O,directory:P,versionMadeBy:_,rawComment:F,rawExtraField:q,useWebWorkers:H,onstart:U,onprogress:G,onend:W,signal:V,encryptionStrength:K,extendedTimestamp:J,msDosCompatible:Y,internalFileAttribute:X,externalFileAttribute:$,useCompressionStream:Q}=r,nn={lock:a,versionMadeBy:_,zip64:T,directory:Boolean(P),filenameUTF8:!0,rawFilename:C,commentUTF8:!0,rawComment:F,rawExtraFieldExtendedTimestamp:f,rawExtraFieldNTFS:y,rawExtraFieldAES:j,rawExtraField:q,extendedTimestamp:J,msDosCompatible:Y,internalFileAttribute:X,externalFileAttribute:$,diskNumberStart:t};let en,tn=0,an=0;const{writable:on}=e;if(n){n.chunkSize=Dn(i),await ro(on,m);const e=n.readable,t=e.size=n.size,a={options:{codecType:Xe,level:I,password:A,encryptionStrength:K,zipCrypto:u&&N,passwordVerification:u&&N&&p>>8&255,signed:!0,compressed:g,encrypted:u,useWebWorkers:H,useCompressionStream:Q,transferStreams:!1},config:i,streamOptions:{signal:V,size:t,onstart:U,onprogress:G,onend:W}},o=await pt({readable:e,writable:on},a);on.size+=o.size,en=o.signature,an=n.size=e.size,tn=o.size}else await ro(on,m);let rn;if(T){let n=4;R&&(n+=8),D&&(n+=8),M&&(n+=8),B&&(n+=4),rn=new E(n)}else rn=new E;(function(n,e){const{signature:t,rawExtraFieldZip64:a,compressedSize:o,uncompressedSize:i,headerInfo:r,dataDescriptorInfo:s}=n,{headerView:l,encrypted:c}=r,{dataDescriptorView:m,dataDescriptorOffset:d}=s,{zip64:h,zip64UncompressedSize:p,zip64CompressedSize:u,zipCrypto:g,dataDescriptor:w}=e;c&&!g||t===xn||(ho(l,10,t),w&&ho(m,d,t));if(h){const n=go(a);mo(n,0,mn),mo(n,2,a.length-4);let e=4;p&&(ho(l,18,Z),po(n,e,x(i)),e+=8),u&&(ho(l,14,Z),po(n,e,x(o))),w&&(po(m,d+4,x(o)),po(m,d+12,x(i)))}else ho(l,14,o),ho(l,18,i),w&&(ho(m,d+4,o),ho(m,d+8,i))})({signature:en,rawExtraFieldZip64:rn,compressedSize:tn,uncompressedSize:an,headerInfo:s,dataDescriptorInfo:l},r),O&&await ro(on,S);return v.assign(nn,{uncompressedSize:an,compressedSize:tn,lastModDate:h,rawLastModDate:p,creationDate:L,lastAccessDate:z,encrypted:u,length:c+tn,compressionMethod:b,version:w,headerArray:d,signature:en,rawExtraFieldZip64:rn,extraFieldExtendedTimestampFlag:k,zip64UncompressedSize:R,zip64CompressedSize:D,zip64Offset:M,zip64DiskNumberStart:B}),nn}(t,f,k,a,n.config,o),b=!1,i.set(e,k),k.filename=e,p){await f.writable.getWriter().close();let n=await f.getData();await m,await S(),w=!0,l||(n=await async function(n,e,t,{zipCrypto:a}){let o;o=await e.slice(0,26).arrayBuffer(),26!=o.byteLength&&(o=o.slice(0,26));const i=new B(o);n.encrypted&&!a||ho(i,14,n.signature);n.zip64?(ho(i,18,Z),ho(i,22,Z)):(ho(i,18,n.compressedSize),ho(i,22,n.uncompressedSize));return await ro(t,new E(o)),e.slice(o.byteLength)}(k,n,u,o)),await C(u),k.diskNumberStart=r.diskNumber,g=r.diskOffset,await n.stream().pipeTo(u,{preventClose:!0,preventAbort:!0,signal:c}),u.size+=n.size,w=!1}if(k.offset=n.offset-g,k.zip64)!function(n,e){const{rawExtraFieldZip64:t,offset:a,diskNumberStart:o}=n,{zip64UncompressedSize:i,zip64CompressedSize:r,zip64Offset:s,zip64DiskNumberStart:l}=e,c=go(t);let m=4;i&&(m+=8);r&&(m+=8);s&&(po(c,m,x(a)),m+=8);l&&ho(c,m,o)}(k,o);else if(k.offset>=Z)throw new R(to);return n.offset+=k.length,k}catch(t){if(p&&w||!p&&b){if(n.hasCorruptedEntries=!0,t)try{t.corruptedEntry=!0}catch(n){}p?n.offset+=f.writable.size:n.offset=f.writable.size}throw i.delete(e),t}finally{p&&n.bufferedWrites--,g&&g(),u&&u()}function j(){k.lock=new O((n=>g=n))}async function S(){n.writerLocked=!0;const{lockWriter:e}=n;n.lockWriter=new O((e=>u=()=>{n.writerLocked=!1,e()})),await e}async function C(n){m.localHeaderArray.length>r.availableSize&&(r.availableSize=0,await ro(n,new E))}}(n,e,t,{headerInfo:ln,dataDescriptorInfo:cn,metadataSize:Cn},a)}finally{n.pendingEntriesSize-=H}return v.assign(zn,{name:e,comment:i,extraField:F}),new ya(zn)}(a,n,e,t),o.add(r),await r}catch(e){throw a.filenames.delete(n),e}finally{o.delete(r);const n=io.shift();n?n():oo--}}async close(n=new E,e={}){const{pendingAddFileCalls:t,writer:a}=this,{writable:o}=a;for(;t.size;)await O.all(y.from(t));await async function(n,e,t){const{files:a,writer:o}=n,{diskOffset:i,writable:r}=o;let{diskNumber:s}=o,l=0,c=0,m=n.offset-i,d=a.size;for(const[,n]of a){const{rawFilename:e,rawExtraFieldZip64:t,rawExtraFieldAES:a,rawComment:o,rawExtraFieldNTFS:i,rawExtraField:r,extendedTimestamp:s,extraFieldExtendedTimestampFlag:l,lastModDate:m}=n;let d;if(s){d=new E(9);const n=go(d);mo(n,0,un),mo(n,2,5),co(n,4,l),ho(n,5,C.floor(m.getTime()/1e3))}else d=new E;n.rawExtraFieldCDExtendedTimestamp=d,c+=46+wo(e,o,t,a,i,d,r)}const h=new E(c),p=go(h);await Vt(o);let u=0;for(const[n,e]of y.from(a.values()).entries()){const{offset:i,rawFilename:s,rawExtraFieldZip64:c,rawExtraFieldAES:m,rawExtraFieldCDExtendedTimestamp:d,rawExtraFieldNTFS:g,rawExtraField:w,rawComment:b,versionMadeBy:f,headerArray:k,directory:y,zip64:v,zip64UncompressedSize:j,zip64CompressedSize:S,zip64DiskNumberStart:x,zip64Offset:C,msDosCompatible:z,internalFileAttribute:L,externalFileAttribute:A,diskNumberStart:I,uncompressedSize:T,compressedSize:R}=e,E=wo(c,m,d,g,w);ho(p,l,on),mo(p,l+4,f);const D=go(k);j||ho(D,18,T),S||ho(D,14,R),uo(h,k,l+6),mo(p,l+30,E),mo(p,l+32,wo(b)),mo(p,l+34,v&&x?X:I),mo(p,l+36,L),A?ho(p,l+38,A):y&&z&&co(p,l+38,16),ho(p,l+42,v&&C?Z:i),uo(h,s,l+46),uo(h,c,l+46+wo(s)),uo(h,m,l+46+wo(s,c)),uo(h,d,l+46+wo(s,c,m)),uo(h,g,l+46+wo(s,c,m,d)),uo(h,w,l+46+wo(s,c,m,d,g)),uo(h,b,l+46+wo(s)+E);const M=46+wo(s,b)+E;if(l-u>o.availableSize&&(o.availableSize=0,await ro(r,h.slice(u,l)),u=l),l+=M,t.onprogress)try{await t.onprogress(n+1,a.size,new ya(e))}catch(n){}}await ro(r,u?h.slice(u):h);let g=o.diskNumber;const{availableSize:w}=o;w<cn&&g++;let b=lo(n,t,"zip64");if(m>=Z||c>=Z||d>=X||g>=X){if(!1===b)throw new R(to);b=!0}const f=new E(b?98:cn),k=go(f);if(l=0,b){ho(k,0,sn),po(k,4,x(44)),mo(k,12,45),mo(k,14,45),ho(k,16,g),ho(k,20,s),po(k,24,x(d)),po(k,32,x(d)),po(k,40,x(c)),po(k,48,x(m)),ho(k,56,ln),po(k,64,x(m)+x(c)),ho(k,72,g+1);lo(n,t,"supportZip64SplitFile",!0)&&(g=X,s=X),d=X,m=Z,c=Z,l+=76}ho(k,l,rn),mo(k,l+4,g),mo(k,l+6,s),mo(k,l+8,d),mo(k,l+10,d),ho(k,l+12,c),ho(k,l+16,m);const v=wo(e);if(v){if(!(v<=X))throw new R(Ya);mo(k,l+20,v)}await ro(r,f),v&&await ro(r,e)}(this,n,e);return lo(this,e,"preventClose")||await o.getWriter().close(),a.getData?a.getData():o}},configure:Mn,getMimeType:function(){return"application/octet-stream"},initReader:Kt,initShimAsyncCodec:function(n,e={},t){return{Deflate:Nn(n.Deflate,e.deflate,t),Inflate:Nn(n.Inflate,e.inflate,t)}},initStream:Vt,initWriter:Jt,readUint8Array:Yt,terminateWorkers:function(){mt.forEach((n=>{ut(n),n.terminate()}))}}),ko=Object.create,yo=Object.defineProperty,vo=Object.getOwnPropertyDescriptor,jo=Object.getOwnPropertyNames,So=Object.getPrototypeOf,xo=Object.prototype.hasOwnProperty,Co=(n,e)=>()=>(e||n((e={exports:{}}).exports,e),e.exports),zo=(n,e)=>{for(var t in e)yo(n,t,{get:e[t],enumerable:!0})},Lo=Co((n=>{var e="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");n.encode=function(n){if(0<=n&&n<e.length)return e[n];throw new TypeError("Must be between 0 and 63: "+n)},n.decode=function(n){return 65<=n&&n<=90?n-65:97<=n&&n<=122?n-97+26:48<=n&&n<=57?n-48+52:43==n?62:47==n?63:-1}})),Ao=Co((n=>{var e=Lo();n.encode=function(n){var t,a="",o=function(n){return n<0?1+(-n<<1):0+(n<<1)}(n);do{t=31&o,(o>>>=5)>0&&(t|=32),a+=e.encode(t)}while(o>0);return a},n.decode=function(n,t,a){var o,i,r=n.length,s=0,l=0;do{if(t>=r)throw new Error("Expected more digits in base 64 VLQ value.");if(-1===(i=e.decode(n.charCodeAt(t++))))throw new Error("Invalid base64 digit: "+n.charAt(t-1));o=!!(32&i),s+=(i&=31)<<l,l+=5}while(o);a.value=function(n){var e=n>>1;return 1==(1&n)?-e:e}(s),a.rest=t}})),Io=Co((n=>{n.getArg=function(n,e,t){if(e in n)return n[e];if(3===arguments.length)return t;throw new Error('"'+e+'" is a required argument.')};var e=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,t=/^data:.+\,.+$/;function a(n){var t=n.match(e);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}function o(n){var e="";return n.scheme&&(e+=n.scheme+":"),e+="//",n.auth&&(e+=n.auth+"@"),n.host&&(e+=n.host),n.port&&(e+=":"+n.port),n.path&&(e+=n.path),e}n.urlParse=a,n.urlGenerate=o;var i=function(n){var e=[];return function(t){for(var a=0;a<e.length;a++)if(e[a].input===t){var o=e[0];return e[0]=e[a],e[a]=o,e[0].result}var i=n(t);return e.unshift({input:t,result:i}),e.length>32&&e.pop(),i}}((function(e){var t=e,i=a(e);if(i){if(!i.path)return e;t=i.path}for(var r=n.isAbsolute(t),s=[],l=0,c=0;;){if(l=c,-1===(c=t.indexOf("/",l))){s.push(t.slice(l));break}for(s.push(t.slice(l,c));c<t.length&&"/"===t[c];)c++}var m,d=0;for(c=s.length-1;c>=0;c--)"."===(m=s[c])?s.splice(c,1):".."===m?d++:d>0&&(""===m?(s.splice(c+1,d),d=0):(s.splice(c,2),d--));return""===(t=s.join("/"))&&(t=r?"/":"."),i?(i.path=t,o(i)):t}));function r(n,e){""===n&&(n="."),""===e&&(e=".");var r=a(e),s=a(n);if(s&&(n=s.path||"/"),r&&!r.scheme)return s&&(r.scheme=s.scheme),o(r);if(r||e.match(t))return e;if(s&&!s.host&&!s.path)return s.host=e,o(s);var l="/"===e.charAt(0)?e:i(n.replace(/\/+$/,"")+"/"+e);return s?(s.path=l,o(s)):l}n.normalize=i,n.join=r,n.isAbsolute=function(n){return"/"===n.charAt(0)||e.test(n)},n.relative=function(n,e){""===n&&(n="."),n=n.replace(/\/$/,"");for(var t=0;0!==e.indexOf(n+"/");){var a=n.lastIndexOf("/");if(a<0||(n=n.slice(0,a)).match(/^([^\/]+:\/)?\/*$/))return e;++t}return Array(t+1).join("../")+e.substr(n.length+1)};var s=!("__proto__"in Object.create(null));function l(n){return n}function c(n){if(!n)return!1;var e=n.length;if(e<9||95!==n.charCodeAt(e-1)||95!==n.charCodeAt(e-2)||111!==n.charCodeAt(e-3)||116!==n.charCodeAt(e-4)||111!==n.charCodeAt(e-5)||114!==n.charCodeAt(e-6)||112!==n.charCodeAt(e-7)||95!==n.charCodeAt(e-8)||95!==n.charCodeAt(e-9))return!1;for(var t=e-10;t>=0;t--)if(36!==n.charCodeAt(t))return!1;return!0}function m(n,e){return n===e?0:null===n?1:null===e?-1:n>e?1:-1}n.toSetString=s?l:function(n){return c(n)?"$"+n:n},n.fromSetString=s?l:function(n){return c(n)?n.slice(1):n},n.compareByOriginalPositions=function(n,e,t){var a=m(n.source,e.source);return 0!==a||0!==(a=n.originalLine-e.originalLine)||(0!==(a=n.originalColumn-e.originalColumn)||t)||0!==(a=n.generatedColumn-e.generatedColumn)||0!==(a=n.generatedLine-e.generatedLine)?a:m(n.name,e.name)},n.compareByOriginalPositionsNoSource=function(n,e,t){var a;return 0!==(a=n.originalLine-e.originalLine)||(0!==(a=n.originalColumn-e.originalColumn)||t)||0!==(a=n.generatedColumn-e.generatedColumn)||0!==(a=n.generatedLine-e.generatedLine)?a:m(n.name,e.name)},n.compareByGeneratedPositionsDeflated=function(n,e,t){var a=n.generatedLine-e.generatedLine;return 0!==a||(0!==(a=n.generatedColumn-e.generatedColumn)||t)||0!==(a=m(n.source,e.source))||0!==(a=n.originalLine-e.originalLine)||0!==(a=n.originalColumn-e.originalColumn)?a:m(n.name,e.name)},n.compareByGeneratedPositionsDeflatedNoLine=function(n,e,t){var a=n.generatedColumn-e.generatedColumn;return 0!==a||t||0!==(a=m(n.source,e.source))||0!==(a=n.originalLine-e.originalLine)||0!==(a=n.originalColumn-e.originalColumn)?a:m(n.name,e.name)},n.compareByGeneratedPositionsInflated=function(n,e){var t=n.generatedLine-e.generatedLine;return 0!==t||0!==(t=n.generatedColumn-e.generatedColumn)||0!==(t=m(n.source,e.source))||0!==(t=n.originalLine-e.originalLine)||0!==(t=n.originalColumn-e.originalColumn)?t:m(n.name,e.name)},n.parseSourceMapInput=function(n){return JSON.parse(n.replace(/^\)]}'[^\n]*\n/,""))},n.computeSourceURL=function(n,e,t){if(e=e||"",n&&("/"!==n[n.length-1]&&"/"!==e[0]&&(n+="/"),e=n+e),t){var s=a(t);if(!s)throw new Error("sourceMapURL could not be parsed");if(s.path){var l=s.path.lastIndexOf("/");l>=0&&(s.path=s.path.substring(0,l+1))}e=r(o(s),e)}return i(e)}})),To=Co((n=>{var e=Io(),t=Object.prototype.hasOwnProperty,a=typeof Map<"u";function o(){this._array=[],this._set=a?new Map:Object.create(null)}o.fromArray=function(n,e){for(var t=new o,a=0,i=n.length;a<i;a++)t.add(n[a],e);return t},o.prototype.size=function(){return a?this._set.size:Object.getOwnPropertyNames(this._set).length},o.prototype.add=function(n,o){var i=a?n:e.toSetString(n),r=a?this.has(n):t.call(this._set,i),s=this._array.length;(!r||o)&&this._array.push(n),r||(a?this._set.set(n,s):this._set[i]=s)},o.prototype.has=function(n){if(a)return this._set.has(n);var o=e.toSetString(n);return t.call(this._set,o)},o.prototype.indexOf=function(n){if(a){var o=this._set.get(n);if(o>=0)return o}else{var i=e.toSetString(n);if(t.call(this._set,i))return this._set[i]}throw new Error('"'+n+'" is not in the set.')},o.prototype.at=function(n){if(n>=0&&n<this._array.length)return this._array[n];throw new Error("No element indexed by "+n)},o.prototype.toArray=function(){return this._array.slice()},n.ArraySet=o})),Ro=Co((n=>{var e=Io();function t(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}t.prototype.unsortedForEach=function(n,e){this._array.forEach(n,e)},t.prototype.add=function(n){!function(n,t){var a=n.generatedLine,o=t.generatedLine,i=n.generatedColumn,r=t.generatedColumn;return o>a||o==a&&r>=i||e.compareByGeneratedPositionsInflated(n,t)<=0}(this._last,n)?(this._sorted=!1,this._array.push(n)):(this._last=n,this._array.push(n))},t.prototype.toArray=function(){return this._sorted||(this._array.sort(e.compareByGeneratedPositionsInflated),this._sorted=!0),this._array},n.MappingList=t})),Eo=Co((n=>{var e=Ao(),t=Io(),a=To().ArraySet,o=Ro().MappingList;function i(n){n||(n={}),this._file=t.getArg(n,"file",null),this._sourceRoot=t.getArg(n,"sourceRoot",null),this._skipValidation=t.getArg(n,"skipValidation",!1),this._sources=new a,this._names=new a,this._mappings=new o,this._sourcesContents=null}i.prototype._version=3,i.fromSourceMap=function(n){var e=n.sourceRoot,a=new i({file:n.file,sourceRoot:e});return n.eachMapping((function(n){var o={generated:{line:n.generatedLine,column:n.generatedColumn}};null!=n.source&&(o.source=n.source,null!=e&&(o.source=t.relative(e,o.source)),o.original={line:n.originalLine,column:n.originalColumn},null!=n.name&&(o.name=n.name)),a.addMapping(o)})),n.sources.forEach((function(o){var i=o;null!==e&&(i=t.relative(e,o)),a._sources.has(i)||a._sources.add(i);var r=n.sourceContentFor(o);null!=r&&a.setSourceContent(o,r)})),a},i.prototype.addMapping=function(n){var e=t.getArg(n,"generated"),a=t.getArg(n,"original",null),o=t.getArg(n,"source",null),i=t.getArg(n,"name",null);this._skipValidation||this._validateMapping(e,a,o,i),null!=o&&(o=String(o),this._sources.has(o)||this._sources.add(o)),null!=i&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:e.line,generatedColumn:e.column,originalLine:null!=a&&a.line,originalColumn:null!=a&&a.column,source:o,name:i})},i.prototype.setSourceContent=function(n,e){var a=n;null!=this._sourceRoot&&(a=t.relative(this._sourceRoot,a)),null!=e?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[t.toSetString(a)]=e):this._sourcesContents&&(delete this._sourcesContents[t.toSetString(a)],0===Object.keys(this._sourcesContents).length&&(this._sourcesContents=null))},i.prototype.applySourceMap=function(n,e,o){var i=e;if(null==e){if(null==n.file)throw new Error('SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map\'s "file" property. Both were omitted.');i=n.file}var r=this._sourceRoot;null!=r&&(i=t.relative(r,i));var s=new a,l=new a;this._mappings.unsortedForEach((function(e){if(e.source===i&&null!=e.originalLine){var a=n.originalPositionFor({line:e.originalLine,column:e.originalColumn});null!=a.source&&(e.source=a.source,null!=o&&(e.source=t.join(o,e.source)),null!=r&&(e.source=t.relative(r,e.source)),e.originalLine=a.line,e.originalColumn=a.column,null!=a.name&&(e.name=a.name))}var c=e.source;null!=c&&!s.has(c)&&s.add(c);var m=e.name;null!=m&&!l.has(m)&&l.add(m)}),this),this._sources=s,this._names=l,n.sources.forEach((function(e){var a=n.sourceContentFor(e);null!=a&&(null!=o&&(e=t.join(o,e)),null!=r&&(e=t.relative(r,e)),this.setSourceContent(e,a))}),this)},i.prototype._validateMapping=function(n,e,t,a){if(e&&"number"!=typeof e.line&&"number"!=typeof e.column)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(!(n&&"line"in n&&"column"in n&&n.line>0&&n.column>=0)||e||t||a){if(n&&"line"in n&&"column"in n&&e&&"line"in e&&"column"in e&&n.line>0&&n.column>=0&&e.line>0&&e.column>=0&&t)return;throw new Error("Invalid mapping: "+JSON.stringify({generated:n,source:t,original:e,name:a}))}},i.prototype._serializeMappings=function(){for(var n,a,o,i,r=0,s=1,l=0,c=0,m=0,d=0,h="",p=this._mappings.toArray(),u=0,g=p.length;u<g;u++){if(n="",(a=p[u]).generatedLine!==s)for(r=0;a.generatedLine!==s;)n+=";",s++;else if(u>0){if(!t.compareByGeneratedPositionsInflated(a,p[u-1]))continue;n+=","}n+=e.encode(a.generatedColumn-r),r=a.generatedColumn,null!=a.source&&(i=this._sources.indexOf(a.source),n+=e.encode(i-d),d=i,n+=e.encode(a.originalLine-1-c),c=a.originalLine-1,n+=e.encode(a.originalColumn-l),l=a.originalColumn,null!=a.name&&(o=this._names.indexOf(a.name),n+=e.encode(o-m),m=o)),h+=n}return h},i.prototype._generateSourcesContent=function(n,e){return n.map((function(n){if(!this._sourcesContents)return null;null!=e&&(n=t.relative(e,n));var a=t.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,a)?this._sourcesContents[a]:null}),this)},i.prototype.toJSON=function(){var n={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return null!=this._file&&(n.file=this._file),null!=this._sourceRoot&&(n.sourceRoot=this._sourceRoot),this._sourcesContents&&(n.sourcesContent=this._generateSourcesContent(n.sources,n.sourceRoot)),n},i.prototype.toString=function(){return JSON.stringify(this.toJSON())},n.SourceMapGenerator=i}));zo({},{AtKeyword:()=>No,BadString:()=>_o,BadUrl:()=>qo,CDC:()=>Jo,CDO:()=>Ko,Colon:()=>Yo,Comma:()=>Xo,Comment:()=>oi,Delim:()=>Ho,Dimension:()=>Wo,EOF:()=>Do,Function:()=>Bo,Hash:()=>Oo,Ident:()=>Mo,LeftCurlyBracket:()=>ti,LeftParenthesis:()=>ni,LeftSquareBracket:()=>$o,Number:()=>Uo,Percentage:()=>Go,RightCurlyBracket:()=>ai,RightParenthesis:()=>ei,RightSquareBracket:()=>Qo,Semicolon:()=>Zo,String:()=>Po,Url:()=>Fo,WhiteSpace:()=>Vo});var Do=0,Mo=1,Bo=2,No=3,Oo=4,Po=5,_o=6,Fo=7,qo=8,Ho=9,Uo=10,Go=11,Wo=12,Vo=13,Ko=14,Jo=15,Yo=16,Zo=17,Xo=18,$o=19,Qo=20,ni=21,ei=22,ti=23,ai=24,oi=25;function ii(n){return n>=48&&n<=57}function ri(n){return ii(n)||n>=65&&n<=70||n>=97&&n<=102}function si(n){return n>=65&&n<=90}function li(n){return function(n){return si(n)||function(n){return n>=97&&n<=122}(n)}(n)||function(n){return n>=128}(n)||95===n}function ci(n){return li(n)||ii(n)||45===n}function mi(n){return n>=0&&n<=8||11===n||n>=14&&n<=31||127===n}function di(n){return 10===n||13===n||12===n}function hi(n){return di(n)||32===n||9===n}function pi(n,e){return!(92!==n||di(e)||0===e)}function ui(n,e,t){return 45===n?li(e)||45===e||pi(e,t):!!li(n)||92===n&&pi(n,e)}function gi(n,e,t){return 43===n||45===n?ii(e)?2:46===e&&ii(t)?3:0:46===n?ii(e)?2:0:ii(n)?1:0}function wi(n){return 65279===n||65534===n?1:0}var bi=new Array(128),fi=130,ki=131,yi=132,vi=133;for(let n=0;n<bi.length;n++)bi[n]=hi(n)&&fi||ii(n)&&ki||li(n)&&yi||mi(n)&&vi||n||128;function ji(n){return n<128?bi[n]:yi}function Si(n,e){return e<n.length?n.charCodeAt(e):0}function xi(n,e,t){return 13===t&&10===Si(n,e+1)?2:1}function Ci(n,e,t){let a=n.charCodeAt(e);return si(a)&&(a|=32),a===t}function zi(n,e,t,a){if(t-e!==a.length||e<0||t>n.length)return!1;for(let o=e;o<t;o++){let t=a.charCodeAt(o-e),i=n.charCodeAt(o);if(si(i)&&(i|=32),i!==t)return!1}return!0}function Li(n,e){for(;e<n.length&&hi(n.charCodeAt(e));e++);return e}function Ai(n,e){for(;e<n.length&&ii(n.charCodeAt(e));e++);return e}function Ii(n,e){if(ri(Si(n,(e+=2)-1))){for(let t=Math.min(n.length,e+5);e<t&&ri(Si(n,e));e++);let t=Si(n,e);hi(t)&&(e+=xi(n,e,t))}return e}function Ti(n,e){for(;e<n.length;e++){let t=n.charCodeAt(e);if(!ci(t)){if(pi(t,Si(n,e+1))){e=Ii(n,e)-1;continue}break}}return e}function Ri(n,e){let t=n.charCodeAt(e);if((43===t||45===t)&&(t=n.charCodeAt(e+=1)),ii(t)&&(e=Ai(n,e+1),t=n.charCodeAt(e)),46===t&&ii(n.charCodeAt(e+1))&&(e=Ai(n,e+=2)),Ci(n,e,101)){let a=0;t=n.charCodeAt(e+1),(45===t||43===t)&&(a=1,t=n.charCodeAt(e+2)),ii(t)&&(e=Ai(n,e+1+a+1))}return e}function Ei(n,e){for(;e<n.length;e++){let t=n.charCodeAt(e);if(41===t){e++;break}pi(t,Si(n,e+1))&&(e=Ii(n,e))}return e}function Di(n){if(1===n.length&&!ri(n.charCodeAt(0)))return n[0];let e=parseInt(n,16);return(0===e||e>=55296&&e<=57343||e>1114111)&&(e=65533),String.fromCodePoint(e)}var Mi=["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 Bi(n=null,e){return null===n||n.length<e?new Uint32Array(Math.max(e+1024,16384)):n}function Ni(n){let e=n.source,t=e.length,a=e.length>0?wi(e.charCodeAt(0)):0,o=Bi(n.lines,t),i=Bi(n.columns,t),r=n.startLine,s=n.startColumn;for(let n=a;n<t;n++){let a=e.charCodeAt(n);o[n]=r,i[n]=s++,(10===a||13===a||12===a)&&(13===a&&n+1<t&&10===e.charCodeAt(n+1)&&(n++,o[n]=r,i[n]=s),r++,s=1)}o[t]=r,i[t]=s,n.lines=o,n.columns=i,n.computed=!0}var Oi=class{constructor(){this.lines=null,this.columns=null,this.computed=!1}setSource(n,e=0,t=1,a=1){this.source=n,this.startOffset=e,this.startLine=t,this.startColumn=a,this.computed=!1}getLocation(n,e){return this.computed||Ni(this),{source:e,offset:this.startOffset+n,line:this.lines[n],column:this.columns[n]}}getLocationRange(n,e,t){return this.computed||Ni(this),{source:t,start:{offset:this.startOffset+n,line:this.lines[n],column:this.columns[n]},end:{offset:this.startOffset+e,line:this.lines[e],column:this.columns[e]}}}},Pi=16777215,_i=24,Fi=new Map([[2,22],[21,22],[19,20],[23,24]]),qi=class{constructor(n,e){this.setSource(n,e)}reset(){this.eof=!1,this.tokenIndex=-1,this.tokenType=0,this.tokenStart=this.firstCharOffset,this.tokenEnd=this.firstCharOffset}setSource(n="",e=(()=>{})){let t=(n=String(n||"")).length,a=Bi(this.offsetAndType,n.length+1),o=Bi(this.balance,n.length+1),i=0,r=0,s=0,l=-1;for(this.offsetAndType=null,this.balance=null,e(n,((n,e,c)=>{switch(n){default:o[i]=t;break;case r:{let n=sΠfor(s=o[n],r=s>>_i,o[i]=n,o[n++]=i;n<i;n++)o[n]===t&&(o[n]=i);break}case 21:case 2:case 19:case 23:o[i]=s,r=Fi.get(n),s=r<<_i|i}a[i++]=n<<_i|c,-1===l&&(l=e)})),a[i]=0|t,o[i]=t,o[t]=t;0!==s;){let n=sΠs=o[n],o[n]=t}this.source=n,this.firstCharOffset=-1===l?0:l,this.tokenCount=i,this.offsetAndType=a,this.balance=o,this.reset(),this.next()}lookupType(n){return(n+=this.tokenIndex)<this.tokenCount?this.offsetAndType[n]>>_i:0}lookupOffset(n){return(n+=this.tokenIndex)<this.tokenCount?this.offsetAndType[n-1]&Pi:this.source.length}lookupValue(n,e){return(n+=this.tokenIndex)<this.tokenCount&&zi(this.source,this.offsetAndType[n-1]&Pi,this.offsetAndType[n]&Pi,e)}getTokenStart(n){return n===this.tokenIndex?this.tokenStart:n>0?n<this.tokenCount?this.offsetAndType[n-1]&Pi:this.offsetAndType[this.tokenCount]&Pi:this.firstCharOffset}substrToCursor(n){return this.source.substring(n,this.tokenStart)}isBalanceEdge(n){return this.balance[this.tokenIndex]<n}isDelim(n,e){return e?9===this.lookupType(e)&&this.source.charCodeAt(this.lookupOffset(e))===n:9===this.tokenType&&this.source.charCodeAt(this.tokenStart)===n}skip(n){let e=this.tokenIndex+n;e<this.tokenCount?(this.tokenIndex=e,this.tokenStart=this.offsetAndType[e-1]&Pi,e=this.offsetAndType[e],this.tokenType=e>>_i,this.tokenEnd=e&Pi):(this.tokenIndex=this.tokenCount,this.next())}next(){let n=this.tokenIndex+1;n<this.tokenCount?(this.tokenIndex=n,this.tokenStart=this.tokenEnd,n=this.offsetAndType[n],this.tokenType=n>>_i,this.tokenEnd=n&Pi):(this.eof=!0,this.tokenIndex=this.tokenCount,this.tokenType=0,this.tokenStart=this.tokenEnd=this.source.length)}skipSC(){for(;13===this.tokenType||25===this.tokenType;)this.next()}skipUntilBalanced(n,e){let t,a,o=n;n:for(;o<this.tokenCount&&(t=this.balance[o],!(t<n));o++)switch(a=o>0?this.offsetAndType[o-1]&Pi:this.firstCharOffset,e(this.source.charCodeAt(a))){case 1:break n;case 2:o++;break n;default:this.balance[t]===o&&(o=t)}this.skip(o-this.tokenIndex)}forEachToken(n){for(let e=0,t=this.firstCharOffset;e<this.tokenCount;e++){let a=t,o=this.offsetAndType[e],i=oΠt=i,n(o>>_i,a,i,e)}}dump(){let n=new Array(this.tokenCount);return this.forEachToken(((e,t,a,o)=>{n[o]={idx:o,type:Mi[e],chunk:this.source.substring(t,a),balance:this.balance[o]}})),n}};function Hi(n,e){function t(e){return e<s?n.charCodeAt(e):0}function a(){return c=Ri(n,c),ui(t(c),t(c+1),t(c+2))?(r=12,void(c=Ti(n,c))):37===t(c)?(r=11,void c++):void(r=10)}function o(){let e=c;return c=Ti(n,c),zi(n,e,c,"url")&&40===t(c)?(c=Li(n,c+1),34===t(c)||39===t(c)?(r=2,void(c=e+4)):void function(){for(r=7,c=Li(n,c);c<n.length;c++){let e=n.charCodeAt(c);switch(ji(e)){case 41:return void c++;case fi:return c=Li(n,c),41===t(c)||c>=n.length?void(c<n.length&&c++):(c=Ei(n,c),void(r=8));case 34:case 39:case 40:case vi:return c=Ei(n,c),void(r=8);case 92:if(pi(e,t(c+1))){c=Ii(n,c)-1;break}return c=Ei(n,c),void(r=8)}}}()):40===t(c)?(r=2,void c++):void(r=1)}function i(e){for(e||(e=t(c++)),r=5;c<n.length;c++){let a=n.charCodeAt(c);switch(ji(a)){case e:return void c++;case fi:if(di(a))return c+=xi(n,c,a),void(r=6);break;case 92:if(c===n.length-1)break;let o=t(c+1);di(o)?c+=xi(n,c+1,o):pi(a,o)&&(c=Ii(n,c)-1)}}}let r,s=(n=String(n||"")).length,l=wi(t(0)),c=l;for(;c<s;){let s=n.charCodeAt(c);switch(ji(s)){case fi:r=13,c=Li(n,c+1);break;case 34:i();break;case 35:ci(t(c+1))||pi(t(c+1),t(c+2))?(r=4,c=Ti(n,c+1)):(r=9,c++);break;case 39:i();break;case 40:r=21,c++;break;case 41:r=22,c++;break;case 43:gi(s,t(c+1),t(c+2))?a():(r=9,c++);break;case 44:r=18,c++;break;case 45:gi(s,t(c+1),t(c+2))?a():45===t(c+1)&&62===t(c+2)?(r=15,c+=3):ui(s,t(c+1),t(c+2))?o():(r=9,c++);break;case 46:gi(s,t(c+1),t(c+2))?a():(r=9,c++);break;case 47:42===t(c+1)?(r=25,c=n.indexOf("*/",c+2),c=-1===c?n.length:c+2):(r=9,c++);break;case 58:r=16,c++;break;case 59:r=17,c++;break;case 60:33===t(c+1)&&45===t(c+2)&&45===t(c+3)?(r=14,c+=4):(r=9,c++);break;case 64:ui(t(c+1),t(c+2),t(c+3))?(r=3,c=Ti(n,c+1)):(r=9,c++);break;case 91:r=19,c++;break;case 92:pi(s,t(c+1))?o():(r=9,c++);break;case 93:r=20,c++;break;case 123:r=23,c++;break;case 125:r=24,c++;break;case ki:a();break;case yi:o();break;default:r=9,c++}e(r,l,l=c)}}var Ui=null,Gi=class{static createItem(n){return{prev:null,next:null,data:n}}constructor(){this.head=null,this.tail=null,this.cursor=null}createItem(n){return Gi.createItem(n)}allocateCursor(n,e){let t;return null!==Ui?(t=Ui,Ui=Ui.cursor,t.prev=n,t.next=e,t.cursor=this.cursor):t={prev:n,next:e,cursor:this.cursor},this.cursor=t,t}releaseCursor(){let{cursor:n}=this;this.cursor=n.cursor,n.prev=null,n.next=null,n.cursor=Ui,Ui=n}updateCursors(n,e,t,a){let{cursor:o}=this;for(;null!==o;)o.prev===n&&(o.prev=e),o.next===t&&(o.next=a),o=o.cursor}*[Symbol.iterator](){for(let n=this.head;null!==n;n=n.next)yield n.data}get size(){let n=0;for(let e=this.head;null!==e;e=e.next)n++;return n}get isEmpty(){return null===this.head}get first(){return this.head&&this.head.data}get last(){return this.tail&&this.tail.data}fromArray(n){let e=null;this.head=null;for(let t of n){let n=Gi.createItem(t);null!==e?e.next=n:this.head=n,n.prev=e,e=n}return this.tail=e,this}toArray(){return[...this]}toJSON(){return[...this]}forEach(n,e=this){let t=this.allocateCursor(null,this.head);for(;null!==t.next;){let a=t.next;t.next=a.next,n.call(e,a.data,a,this)}this.releaseCursor()}forEachRight(n,e=this){let t=this.allocateCursor(this.tail,null);for(;null!==t.prev;){let a=t.prev;t.prev=a.prev,n.call(e,a.data,a,this)}this.releaseCursor()}reduce(n,e,t=this){let a,o=this.allocateCursor(null,this.head),i=e;for(;null!==o.next;)a=o.next,o.next=a.next,i=n.call(t,i,a.data,a,this);return this.releaseCursor(),i}reduceRight(n,e,t=this){let a,o=this.allocateCursor(this.tail,null),i=e;for(;null!==o.prev;)a=o.prev,o.prev=a.prev,i=n.call(t,i,a.data,a,this);return this.releaseCursor(),i}some(n,e=this){for(let t=this.head;null!==t;t=t.next)if(n.call(e,t.data,t,this))return!0;return!1}map(n,e=this){let t=new Gi;for(let a=this.head;null!==a;a=a.next)t.appendData(n.call(e,a.data,a,this));return t}filter(n,e=this){let t=new Gi;for(let a=this.head;null!==a;a=a.next)n.call(e,a.data,a,this)&&t.appendData(a.data);return t}nextUntil(n,e,t=this){if(null===n)return;let a=this.allocateCursor(null,n);for(;null!==a.next;){let n=a.next;if(a.next=n.next,e.call(t,n.data,n,this))break}this.releaseCursor()}prevUntil(n,e,t=this){if(null===n)return;let a=this.allocateCursor(n,null);for(;null!==a.prev;){let n=a.prev;if(a.prev=n.prev,e.call(t,n.data,n,this))break}this.releaseCursor()}clear(){this.head=null,this.tail=null}copy(){let n=new Gi;for(let e of this)n.appendData(e);return n}prepend(n){return this.updateCursors(null,n,this.head,n),null!==this.head?(this.head.prev=n,n.next=this.head):this.tail=n,this.head=n,this}prependData(n){return this.prepend(Gi.createItem(n))}append(n){return this.insert(n)}appendData(n){return this.insert(Gi.createItem(n))}insert(n,e=null){if(null!==e)if(this.updateCursors(e.prev,n,e,n),null===e.prev){if(this.head!==e)throw new Error("before doesn't belong to list");this.head=n,e.prev=n,n.next=e,this.updateCursors(null,n)}else e.prev.next=n,n.prev=e.prev,e.prev=n,n.next=e;else this.updateCursors(this.tail,n,null,n),null!==this.tail?(this.tail.next=n,n.prev=this.tail):this.head=n,this.tail=n;return this}insertData(n,e){return this.insert(Gi.createItem(n),e)}remove(n){if(this.updateCursors(n,n.prev,n,n.next),null!==n.prev)n.prev.next=n.next;else{if(this.head!==n)throw new Error("item doesn't belong to list");this.head=n.next}if(null!==n.next)n.next.prev=n.prev;else{if(this.tail!==n)throw new Error("item doesn't belong to list");this.tail=n.prev}return n.prev=null,n.next=null,n}push(n){this.insert(Gi.createItem(n))}pop(){return null!==this.tail?this.remove(this.tail):null}unshift(n){this.prepend(Gi.createItem(n))}shift(){return null!==this.head?this.remove(this.head):null}prependList(n){return this.insertList(n,this.head)}appendList(n){return this.insertList(n)}insertList(n,e){return null===n.head||(null!=e?(this.updateCursors(e.prev,n.tail,e,n.head),null!==e.prev?(e.prev.next=n.head,n.head.prev=e.prev):this.head=n.head,e.prev=n.tail,n.tail.next=e):(this.updateCursors(this.tail,n.tail,null,n.head),null!==this.tail?(this.tail.next=n.head,n.head.prev=this.tail):this.head=n.head,this.tail=n.tail),n.head=null,n.tail=null),this}replace(n,e){"head"in e?this.insertList(e,n):this.insert(e,n),this.remove(n)}};function Wi(n,e){let t=Object.create(SyntaxError.prototype),a=new Error;return Object.assign(t,{name:n,message:e,get stack(){return(a.stack||"").replace(/^(.+\n){1,3}/,`${n}: ${e}\n`)}})}var Vi=100,Ki=60,Ji=" ";function Yi({source:n,line:e,column:t},a){function o(n,e){return i.slice(n,e).map(((e,t)=>String(n+t+1).padStart(l)+" |"+e)).join("\n")}let i=n.split(/\r\n?|\n|\f/),r=Math.max(1,e-a)-1,s=Math.min(e+a,i.length+1),l=Math.max(4,String(s).length)+1,c=0;(t+=(Ji.length-1)*(i[e-1].substr(0,t-1).match(/\t/g)||[]).length)>Vi&&(c=t-Ki+3,t=Ki-2);for(let n=r;n<=s;n++)n>=0&&n<i.length&&(i[n]=i[n].replace(/\t/g,Ji),i[n]=(c>0&&i[n].length>c?"…":"")+i[n].substr(c,Vi-2)+(i[n].length>c+Vi-1?"…":""));return[o(r,e),new Array(t+l+2).join("-")+"^",o(e,s)].filter(Boolean).join("\n")}function Zi(n,e,t,a,o){return Object.assign(Wi("SyntaxError",n),{source:e,offset:t,line:a,column:o,sourceFragment:n=>Yi({source:e,line:a,column:o},isNaN(n)?0:n),get formattedMessage(){return`Parse error: ${n}\n`+Yi({source:e,line:a,column:o},2)}})}function Xi(n){let e=this.createList(),t=!1,a={recognizer:n};for(;!this.eof;){switch(this.tokenType){case 25:this.next();continue;case 13:t=!0,this.next();continue}let o=n.getNode.call(this,a);if(void 0===o)break;t&&(n.onWhiteSpace&&n.onWhiteSpace.call(this,o,e,a),t=!1),e.push(o)}return t&&n.onWhiteSpace&&n.onWhiteSpace.call(this,null,e,a),e}var $i=()=>{},Qi=33,nr=35,er=59,tr=123,ar=0;function or(n){return function(){return this[n]()}}function ir(n){let e=Object.create(null);for(let t in n){let a=n[t],o=a.parse||a;o&&(e[t]=o)}return e}function rr(n){let e="",t="<unknown>",a=!1,o=$i,i=!1,r=new Oi,s=Object.assign(new qi,function(n){let e={context:Object.create(null),scope:Object.assign(Object.create(null),n.scope),atrule:ir(n.atrule),pseudo:ir(n.pseudo),node:ir(n.node)};for(let t in n.parseContext)switch(typeof n.parseContext[t]){case"function":e.context[t]=n.parseContext[t];break;case"string":e.context[t]=or(n.parseContext[t])}return{config:e,...e,...e.node}}(n||{}),{parseAtrulePrelude:!0,parseRulePrelude:!0,parseValue:!0,parseCustomProperty:!1,readSequence:Xi,consumeUntilBalanceEnd:()=>0,consumeUntilLeftCurlyBracket:n=>n===tr?1:0,consumeUntilLeftCurlyBracketOrSemicolon:n=>n===tr||n===er?1:0,consumeUntilExclamationMarkOrSemicolon:n=>n===Qi||n===er?1:0,consumeUntilSemicolonIncluded:n=>n===er?2:0,createList:()=>new Gi,createSingleNodeList:n=>(new Gi).appendData(n),getFirstListNode:n=>n&&n.first,getLastListNode:n=>n&&n.last,parseWithFallback(n,e){let t=this.tokenIndex;try{return n.call(this)}catch(n){if(i)throw n;let a=e.call(this,t);return i=!0,o(n,a),i=!1,a}},lookupNonWSType(n){let e;do{if(e=this.lookupType(n++),13!==e)return e}while(e!==ar);return ar},charCodeAt:n=>n>=0&&n<e.length?e.charCodeAt(n):0,substring:(n,t)=>e.substring(n,t),substrToCursor(n){return this.source.substring(n,this.tokenStart)},cmpChar:(n,t)=>Ci(e,n,t),cmpStr:(n,t,a)=>zi(e,n,t,a),consume(n){let e=this.tokenStart;return this.eat(n),this.substrToCursor(e)},consumeFunctionName(){let n=e.substring(this.tokenStart,this.tokenEnd-1);return this.eat(2),n},consumeNumber(n){let t=e.substring(this.tokenStart,Ri(e,this.tokenStart));return this.eat(n),t},eat(n){if(this.tokenType!==n){let e=Mi[n].slice(0,-6).replace(/-/g," ").replace(/^./,(n=>n.toUpperCase())),t=`${/[[\](){}]/.test(e)?`"${e}"`:e} is expected`,a=this.tokenStart;switch(n){case 1:2===this.tokenType||7===this.tokenType?(a=this.tokenEnd-1,t="Identifier is expected but function found"):t="Identifier is expected";break;case 4:this.isDelim(nr)&&(this.next(),a++,t="Name is expected");break;case 11:10===this.tokenType&&(a=this.tokenEnd,t="Percent sign is expected")}this.error(t,a)}this.next()},eatIdent(n){(1!==this.tokenType||!1===this.lookupValue(0,n))&&this.error(`Identifier "${n}" is expected`),this.next()},eatDelim(n){this.isDelim(n)||this.error(`Delim "${String.fromCharCode(n)}" is expected`),this.next()},getLocation:(n,e)=>a?r.getLocationRange(n,e,t):null,getLocationFromList(n){if(a){let e=this.getFirstListNode(n),a=this.getLastListNode(n);return r.getLocationRange(null!==e?e.loc.start.offset-r.startOffset:this.tokenStart,null!==a?a.loc.end.offset-r.startOffset:this.tokenStart,t)}return null},error(n,t){let a=typeof t<"u"&&t<e.length?r.getLocation(t):this.eof?r.getLocation(function(n,e){for(;e>=0&&hi(n.charCodeAt(e));e--);return e+1}(e,e.length-1)):r.getLocation(this.tokenStart);throw new Zi(n||"Unexpected input",e,a.offset,a.line,a.column)}});return Object.assign((function(n,l){e=n,l=l||{},s.setSource(e,Hi),r.setSource(e,l.offset,l.line,l.column),t=l.filename||"<unknown>",a=Boolean(l.positions),o="function"==typeof l.onParseError?l.onParseError:$i,i=!1,s.parseAtrulePrelude=!("parseAtrulePrelude"in l)||Boolean(l.parseAtrulePrelude),s.parseRulePrelude=!("parseRulePrelude"in l)||Boolean(l.parseRulePrelude),s.parseValue=!("parseValue"in l)||Boolean(l.parseValue),s.parseCustomProperty="parseCustomProperty"in l&&Boolean(l.parseCustomProperty);let{context:c="default",onComment:m}=l;if(!(c in s.context))throw new Error("Unknown context `"+c+"`");"function"==typeof m&&s.forEachToken(((n,t,a)=>{if(25===n){let n=s.getLocation(t,a),o=zi(e,a-2,a,"*/")?e.slice(t+2,a-2):e.slice(t+2,a);m(o,n)}}));let d=s.context[c].call(s,l);return s.eof||s.error(),d}),{SyntaxError:Zi,config:s.config})}var sr=((n,e,t)=>(t=null!=n?ko(So(n)):{},((n,e,t,a)=>{if(e&&"object"==typeof e||"function"==typeof e)for(let o of jo(e))!xo.call(n,o)&&o!==t&&yo(n,o,{get:()=>e[o],enumerable:!(a=vo(e,o))||a.enumerable});return n})(!e&&n&&n.__esModule?t:yo(t,"default",{value:n,enumerable:!0}),n)))(Eo(),1),lr=new Set(["Atrule","Selector","Declaration"]);var cr={};zo(cr,{safe:()=>gr,spec:()=>ur});var mr=(n,e)=>{if(9===n&&(n=e),"string"==typeof n){let e=n.charCodeAt(0);return e>127?32768:e<<8}return n},dr=[[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],["/","*"]],hr=dr.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 pr(n){let e=new Set(n.map((([n,e])=>mr(n)<<16|mr(e))));return function(n,t,a){let o=mr(t,a),i=a.charCodeAt(0);return(45===i&&1!==t&&2!==t&&15!==t||43===i?e.has(n<<16|i<<8):e.has(n<<16|o))&&this.emit(" ",13,!0),o}}var ur=pr(dr),gr=pr(hr),wr=92;function br(n,e){if("function"!=typeof e)n.children.forEach(this.node,this);else{let t=null;n.children.forEach((n=>{null!==t&&e.call(this,t),this.node(n),t=n}))}}function fr(n){Hi(n,((e,t,a)=>{this.token(e,n.slice(t,a))}))}function kr(n){let e=new Map;for(let t in n.node){let a=n.node[t];"function"==typeof(a.generate||a)&&e.set(t,a.generate||a)}return function(n,t){let a="",o=0,i={node(n){if(!e.has(n.type))throw new Error("Unknown node type: "+n.type);e.get(n.type).call(r,n)},tokenBefore:gr,token(n,e){o=this.tokenBefore(o,n,e),this.emit(e,n,!1),9===n&&e.charCodeAt(0)===wr&&this.emit("\n",13,!0)},emit(n){a+=n},result:()=>a};t&&("function"==typeof t.decorator&&(i=t.decorator(i)),t.sourceMap&&(i=function(n){let e=new sr.SourceMapGenerator,t={line:1,column:0},a={line:0,column:0},o={line:1,column:0},i={generated:o},r=1,s=0,l=!1,c=n.node;n.node=function(n){if(n.loc&&n.loc.start&&lr.has(n.type)){let c=n.loc.start.line,m=n.loc.start.column-1;(a.line!==c||a.column!==m)&&(a.line=c,a.column=m,t.line=r,t.column=s,l&&(l=!1,(t.line!==o.line||t.column!==o.column)&&e.addMapping(i)),l=!0,e.addMapping({source:n.loc.source,original:a,generated:t}))}c.call(this,n),l&&lr.has(n.type)&&(o.line=r,o.column=s)};let m=n.emit;n.emit=function(n,e,t){for(let e=0;e<n.length;e++)10===n.charCodeAt(e)?(r++,s=0):s++;m(n,e,t)};let d=n.result;return n.result=function(){return l&&e.addMapping(i),{css:d(),map:e}},n}(i)),t.mode in cr&&(i.tokenBefore=cr[t.mode]));let r={node:n=>i.node(n),children:br,token:(n,e)=>i.token(n,e),tokenize:fr};return i.node(n),i.result()}}var{hasOwnProperty:yr}=Object.prototype,vr=function(){};function jr(n){return"function"==typeof n?n:vr}function Sr(n,e){return function(t,a,o){t.type===e&&n.call(this,t,a,o)}}function xr(n,e){let t=e.structure,a=[];for(let n in t){if(!1===yr.call(t,n))continue;let e=t[n],o={name:n,type:!1,nullable:!1};Array.isArray(e)||(e=[e]);for(let n of e)null===n?o.nullable=!0:"string"==typeof n?o.type="node":Array.isArray(n)&&(o.type="list");o.type&&a.push(o)}return a.length?{context:e.walkContext,fields:a}:null}function Cr(n,e){let t=n.fields.slice(),a=n.context,o="string"==typeof a;return e&&t.reverse(),function(n,i,r,s){let l;o&&(l=i[a],i[a]=n);for(let a of t){let t=n[a.name];if(!a.nullable||t)if("list"===a.type){if(e?t.reduceRight(s,!1):t.reduce(s,!1))return!0}else if(r(t))return!0}o&&(i[a]=l)}}function zr({StyleSheet:n,Atrule:e,Rule:t,Block:a,DeclarationList:o}){return{Atrule:{StyleSheet:n,Atrule:e,Rule:t,Block:a},Rule:{StyleSheet:n,Atrule:e,Rule:t,Block:a},Declaration:{StyleSheet:n,Atrule:e,Rule:t,Block:a,DeclarationList:o}}}function Lr(n){let e=function(n){let e={};for(let t in n.node)if(yr.call(n.node,t)){let a=n.node[t];if(!a.structure)throw new Error("Missed `structure` field in `"+t+"` node type definition");e[t]=xr(0,a)}return e}(n),t={},a={},o=Symbol("break-walk"),i=Symbol("skip-node");for(let n in e)yr.call(e,n)&&null!==e[n]&&(t[n]=Cr(e[n],!1),a[n]=Cr(e[n],!0));let r=zr(t),s=zr(a),l=function(n,l){function c(n,e,t){let a=m.call(u,n,e,t);return a===o||a!==i&&!!(h.hasOwnProperty(n.type)&&h[n.type](n,u,c,p)||d.call(u,n,e,t)===o)}let m=vr,d=vr,h=t,p=(n,e,t,a)=>n||c(e,t,a),u={break:o,skip:i,root:n,stylesheet:null,atrule:null,atrulePrelude:null,rule:null,selector:null,block:null,declaration:null,function:null};if("function"==typeof l)m=l;else if(l&&(m=jr(l.enter),d=jr(l.leave),l.reverse&&(h=a),l.visit)){if(r.hasOwnProperty(l.visit))h=l.reverse?s[l.visit]:r[l.visit];else if(!e.hasOwnProperty(l.visit))throw new Error("Bad value `"+l.visit+"` for `visit` option (should be: "+Object.keys(e).sort().join(", ")+")");m=Sr(m,l.visit),d=Sr(d,l.visit)}if(m===vr&&d===vr)throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function");c(n)};return l.break=o,l.skip=i,l.find=function(n,e){let t=null;return l(n,(function(n,a,i){if(e.call(this,n,a,i))return t=n,o})),t},l.findLast=function(n,e){let t=null;return l(n,{reverse:!0,enter(n,a,i){if(e.call(this,n,a,i))return t=n,o}}),t},l.findAll=function(n,e){let t=[];return l(n,(function(n,a,o){e.call(this,n,a,o)&&t.push(n)})),t},l}function Ar(n){return n}function Ir(n,e,t,a){let o;switch(n.type){case"Group":o=function(n,e,t,a){let o=" "===n.combinator||a?n.combinator:" "+n.combinator+" ",i=n.terms.map((n=>Ir(n,e,t,a))).join(o);return n.explicit||t?(a||","===i[0]?"[":"[ ")+i+(a?"]":" ]"):i}(n,e,t,a)+(n.disallowEmpty?"!":"");break;case"Multiplier":return Ir(n.term,e,t,a)+e(function(n){let{min:e,max:t,comma:a}=n;return 0===e&&0===t?a?"#?":"*":0===e&&1===t?"?":1===e&&0===t?a?"#":"+":1===e&&1===t?"":(a?"#":"")+(e===t?"{"+e+"}":"{"+e+","+(0!==t?t:"")+"}")}(n),n);case"Type":o="<"+n.name+(n.opts?e(function(n){if("Range"===n.type)return" ["+(null===n.min?"-∞":n.min)+","+(null===n.max?"∞":n.max)+"]";throw new Error("Unknown node type `"+n.type+"`")}(n.opts),n.opts):"")+">";break;case"Property":o="<'"+n.name+"'>";break;case"Keyword":o=n.name;break;case"AtKeyword":o="@"+n.name;break;case"Function":o=n.name+"(";break;case"String":case"Token":o=n.value;break;case"Comma":o=",";break;default:throw new Error("Unknown node type `"+n.type+"`")}return e(o,n)}function Tr(n,e){let t=Ar,a=!1,o=!1;return"function"==typeof e?t=e:e&&(a=Boolean(e.forceBraces),o=Boolean(e.compact),"function"==typeof e.decorate&&(t=e.decorate)),Ir(n,t,a,o)}var Rr={offset:0,line:1,column:1};function Er(n,e){let t=n&&n.loc&&n.loc[e];return t?"line"in t?Dr(t):t:null}function Dr({offset:n,line:e,column:t},a){let o={offset:n,line:e,column:t};if(a){let n=a.split(/\n|\r\n?|\f/);o.offset+=a.length,o.line+=n.length-1,o.column=1===n.length?o.column+a.length:n.pop().length+1}return o}var Mr=function(n,e){let t=Wi("SyntaxReferenceError",n+(e?" `"+e+"`":""));return t.reference=e,t},Br=function(n,e,t,a){let o=Wi("SyntaxMatchError",n),{css:i,mismatchOffset:r,mismatchLength:s,start:l,end:c}=function(n,e){let t,a,o=n.tokens,i=n.longestMatch,r=i<o.length&&o[i].node||null,s=r!==e?r:null,l=0,c=0,m=0,d="";for(let n=0;n<o.length;n++){let e=o[n].value;n===i&&(c=e.length,l=d.length),null!==s&&o[n].node===s&&(n<=i?m++:m=0),d+=e}return i===o.length||m>1?(t=Er(s||e,"end")||Dr(Rr,d),a=Dr(t)):(t=Er(s,"start")||Dr(Er(e,"start")||Rr,d.slice(0,l)),a=Er(s,"end")||Dr(t,d.substr(l,c))),{css:d,mismatchOffset:l,mismatchLength:c,start:t,end:a}}(a,t);return o.rawMessage=n,o.syntax=e?Tr(e):"<generic>",o.css=i,o.mismatchOffset=r,o.mismatchLength=s,o.message=n+"\n syntax: "+o.syntax+"\n value: "+(i||"<empty string>")+"\n --------"+new Array(o.mismatchOffset+1).join("-")+"^",Object.assign(o,l),o.loc={source:t&&t.loc&&t.loc.source||"<unknown>",start:l,end:c},o},Nr=new Map,Or=new Map,Pr=45,_r=function(n){if(Nr.has(n))return Nr.get(n);let e=n.toLowerCase(),t=Nr.get(e);if(void 0===t){let n=qr(e,0),a=n?"":Hr(e,0);t=Object.freeze({basename:e.substr(a.length),name:e,prefix:a,vendor:a,custom:n})}return Nr.set(n,t),t},Fr=function(n){if(Or.has(n))return Or.get(n);let e=n,t=n[0];"/"===t?t="/"===n[1]?"//":"/":"_"!==t&&"*"!==t&&"$"!==t&&"#"!==t&&"+"!==t&&"&"!==t&&(t="");let a=qr(e,t.length);if(!a&&(e=e.toLowerCase(),Or.has(e))){let t=Or.get(e);return Or.set(n,t),t}let o=a?"":Hr(e,t.length),i=e.substr(0,t.length+o.length),r=Object.freeze({basename:e.substr(i.length),name:e.substr(t.length),hack:t,vendor:o,prefix:i,custom:a});return Or.set(n,r),r};function qr(n,e){return e=e||0,n.length-e>=2&&n.charCodeAt(e)===Pr&&n.charCodeAt(e+1)===Pr}function Hr(n,e){if(e=e||0,n.length-e>=3&&n.charCodeAt(e)===Pr&&n.charCodeAt(e+1)!==Pr){let t=n.indexOf("-",e+2);if(-1!==t)return n.substring(e,t+1)}return""}var Ur=["initial","inherit","unset","revert","revert-layer"],Gr=43,Wr=45,Vr=!0;function Kr(n,e){return null!==n&&9===n.type&&n.value.charCodeAt(0)===e}function Jr(n,e,t){for(;null!==n&&(13===n.type||25===n.type);)n=t(++e);return e}function Yr(n,e,t,a){if(!n)return 0;let o=n.value.charCodeAt(e);if(o===Gr||o===Wr){if(t)return 0;e++}for(;e<n.value.length;e++)if(!ii(n.value.charCodeAt(e)))return 0;return a+1}function Zr(n,e,t){let a=!1,o=Jr(n,e,t);if(null===(n=t(o)))return e;if(10!==n.type){if(!Kr(n,Gr)&&!Kr(n,Wr))return e;if(a=!0,o=Jr(t(++o),o,t),null===(n=t(o))||10!==n.type)return 0}if(!a){let e=n.value.charCodeAt(0);if(e!==Gr&&e!==Wr)return 0}return Yr(n,a?0:1,a,o)}var Xr=45,$r=63;function Qr(n,e){return null!==n&&9===n.type&&n.value.charCodeAt(0)===e}function ns(n,e,t){let a=0;for(let o=e;o<n.value.length;o++){let i=n.value.charCodeAt(o);if(i===Xr&&t&&0!==a)return ns(n,e+a+1,!1),6;if(!ri(i)||++a>6)return 0}return a}function es(n,e,t){if(!n)return 0;for(;Qr(t(e),$r);){if(++n>6)return 0;e++}return e}var ts=["calc(","-moz-calc(","-webkit-calc("],as=new Map([[2,22],[21,22],[19,20],[23,24]]);function os(n,e){return e<n.length?n.charCodeAt(e):0}function is(n,e){return zi(n,0,n.length,e)}function rs(n,e){for(let t=0;t<e.length;t++)if(is(n,e[t]))return!0;return!1}function ss(n,e){return e===n.length-2&&(92===os(n,e)&&ii(os(n,e+1)))}function ls(n,e,t){if(n&&"Range"===n.type){let a=Number(void 0!==t&&t!==e.length?e.substr(0,t):e);if(isNaN(a)||null!==n.min&&a<n.min&&"string"!=typeof n.min||null!==n.max&&a>n.max&&"string"!=typeof n.max)return!0}return!1}function cs(n){return function(e,t,a){return null===e?0:2===e.type&&rs(e.value,ts)?function(n,e){let t=0,a=[],o=0;n:do{switch(n.type){case 24:case 22:case 20:if(n.type!==t)break n;if(t=a.pop(),0===a.length){o++;break n}break;case 2:case 21:case 19:case 23:a.push(t),t=as.get(n.type)}o++}while(n=e(o));return o}(e,t):n(e,t,a)}}function ms(n){return function(e){return null===e||e.type!==n?0:1}}function ds(n){return n&&(n=new Set(n)),function(e,t,a){if(null===e||12!==e.type)return 0;let o=Ri(e.value,0);if(null!==n){let t=e.value.indexOf("\\",o),a=-1!==t&&ss(e.value,t)?e.value.substring(o,t):e.value.substr(o);if(!1===n.has(a.toLowerCase()))return 0}return ls(a,e.value,o)?0:1}}function hs(n){return"function"!=typeof n&&(n=function(){return 0}),function(e,t,a){return null!==e&&10===e.type&&0===Number(e.value)?1:n(e,t,a)}}var ps={"ident-token":ms(1),"function-token":ms(2),"at-keyword-token":ms(3),"hash-token":ms(4),"string-token":ms(5),"bad-string-token":ms(6),"url-token":ms(7),"bad-url-token":ms(8),"delim-token":ms(9),"number-token":ms(10),"percentage-token":ms(11),"dimension-token":ms(12),"whitespace-token":ms(13),"CDO-token":ms(14),"CDC-token":ms(15),"colon-token":ms(16),"semicolon-token":ms(17),"comma-token":ms(18),"[-token":ms(19),"]-token":ms(20),"(-token":ms(21),")-token":ms(22),"{-token":ms(23),"}-token":ms(24)},us={string:ms(5),ident:ms(1),percentage:cs((function(n,e,t){return null===n||11!==n.type||ls(t,n.value,n.value.length-1)?0:1})),zero:hs(),number:cs((function(n,e,t){if(null===n)return 0;let a=Ri(n.value,0);return a!==n.value.length&&!ss(n.value,a)||ls(t,n.value,a)?0:1})),integer:cs((function(n,e,t){if(null===n||10!==n.type)return 0;let a=43===os(n.value,0)||45===os(n.value,0)?1:0;for(;a<n.value.length;a++)if(!ii(os(n.value,a)))return 0;return ls(t,n.value,a)?0:1})),"custom-ident":function(n){if(null===n||1!==n.type)return 0;let e=n.value.toLowerCase();return rs(e,Ur)||is(e,"default")?0:1},"custom-property-name":function(n){return null===n||1!==n.type||45!==os(n.value,0)||45!==os(n.value,1)?0:1},"hex-color":function(n){if(null===n||4!==n.type)return 0;let e=n.value.length;if(4!==e&&5!==e&&7!==e&&9!==e)return 0;for(let t=1;t<e;t++)if(!ri(os(n.value,t)))return 0;return 1},"id-selector":function(n){return null!==n&&4===n.type&&ui(os(n.value,1),os(n.value,2),os(n.value,3))?1:0},"an-plus-b":function(n,e){let t=0;if(!n)return 0;if(10===n.type)return Yr(n,0,false,t);if(1===n.type&&n.value.charCodeAt(0)===Wr){if(!Ci(n.value,1,110))return 0;switch(n.value.length){case 2:return Zr(e(++t),t,e);case 3:return n.value.charCodeAt(2)!==Wr?0:(t=Jr(e(++t),t,e),Yr(n=e(t),0,Vr,t));default:return n.value.charCodeAt(2)!==Wr?0:Yr(n,3,Vr,t)}}else if(1===n.type||Kr(n,Gr)&&1===e(t+1).type){if(1!==n.type&&(n=e(++t)),null===n||!Ci(n.value,0,110))return 0;switch(n.value.length){case 1:return Zr(e(++t),t,e);case 2:return n.value.charCodeAt(1)!==Wr?0:(t=Jr(e(++t),t,e),Yr(n=e(t),0,Vr,t));default:return n.value.charCodeAt(1)!==Wr?0:Yr(n,2,Vr,t)}}else if(12===n.type){let a=n.value.charCodeAt(0),o=a===Gr||a===Wr?1:0,i=o;for(;i<n.value.length&&ii(n.value.charCodeAt(i));i++);return i!==o&&Ci(n.value,i,110)?i+1===n.value.length?Zr(e(++t),t,e):n.value.charCodeAt(i+1)!==Wr?0:i+2===n.value.length?(t=Jr(e(++t),t,e),Yr(n=e(t),0,Vr,t)):Yr(n,i+2,Vr,t):0}return 0},urange:function(n,e){let t=0;if(null===n||1!==n.type||!Ci(n.value,0,117)||null===(n=e(++t)))return 0;if(Qr(n,43))return null===(n=e(++t))?0:1===n.type?es(ns(n,0,!0),++t,e):Qr(n,$r)?es(1,++t,e):0;if(10===n.type){let a=ns(n,1,!0);return 0===a?0:null===(n=e(++t))?t:12===n.type||10===n.type?function(n,e){return n.value.charCodeAt(0)===e}(n,Xr)&&ns(n,1,!1)?t+1:0:es(a,t,e)}return 12===n.type?es(ns(n,1,!0),++t,e):0},"declaration-value":function(n,e){if(!n)return 0;let t=0,a=[],o=0;n:do{switch(n.type){case 6:case 8:break n;case 24:case 22:case 20:if(n.type!==t)break n;t=a.pop();break;case 17:if(0===t)break n;break;case 9:if(0===t&&"!"===n.value)break n;break;case 2:case 21:case 19:case 23:a.push(t),t=as.get(n.type)}o++}while(n=e(o));return o},"any-value":function(n,e){if(!n)return 0;let t=0,a=[],o=0;n:do{switch(n.type){case 6:case 8:break n;case 24:case 22:case 20:if(n.type!==t)break n;t=a.pop();break;case 2:case 21:case 19:case 23:a.push(t),t=as.get(n.type)}o++}while(n=e(o));return o}};function gs(n){let{angle:e,decibel:t,frequency:a,flex:o,length:i,resolution:r,semitones:s,time:l}=n||{};return{dimension:cs(ds(null)),angle:cs(ds(e)),decibel:cs(ds(t)),frequency:cs(ds(a)),flex:cs(ds(o)),length:cs(hs(ds(i))),resolution:cs(ds(r)),semitones:cs(ds(s)),time:cs(ds(l))}}var ws={};zo(ws,{angle:()=>fs,decibel:()=>Ss,flex:()=>js,frequency:()=>ys,length:()=>bs,resolution:()=>vs,semitones:()=>xs,time:()=>ks});var bs=["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"],fs=["deg","grad","rad","turn"],ks=["s","ms"],ys=["hz","khz"],vs=["dpi","dpcm","dppx","x"],js=["fr"],Ss=["db"],xs=["st"];function Cs(n,e,t){return Object.assign(Wi("SyntaxError",n),{input:e,offset:t,rawMessage:n,message:n+"\n "+e+"\n--"+new Array((t||e.length)+1).join("-")+"^"})}zo({},{SyntaxError:()=>Cs,generate:()=>Tr,parse:()=>dl,walk:()=>ul});var zs=class{constructor(n){this.str=n,this.pos=0}charCodeAt(n){return n<this.str.length?this.str.charCodeAt(n):0}charCode(){return this.charCodeAt(this.pos)}nextCharCode(){return this.charCodeAt(this.pos+1)}nextNonWsCode(n){return this.charCodeAt(this.findWsEnd(n))}findWsEnd(n){for(;n<this.str.length;n++){let e=this.str.charCodeAt(n);if(13!==e&&10!==e&&12!==e&&32!==e&&9!==e)break}return n}substringToPos(n){return this.str.substring(this.pos,this.pos=n)}eat(n){this.charCode()!==n&&this.error("Expect `"+String.fromCharCode(n)+"`"),this.pos++}peek(){return this.pos<this.str.length?this.str.charAt(this.pos++):""}error(n){throw new Cs(n,this.str,this.pos)}},Ls=9,As=10,Is=12,Ts=13,Rs=32,Es=33,Ds=35,Ms=38,Bs=39,Ns=40,Os=41,Ps=42,_s=43,Fs=44,qs=45,Hs=60,Us=62,Gs=63,Ws=64,Vs=91,Ks=93,Js=123,Ys=124,Zs=125,Xs=8734,$s=new Uint8Array(128).map(((n,e)=>/[a-zA-Z0-9\-]/.test(String.fromCharCode(e))?1:0)),Qs={" ":1,"&&":2,"||":3,"|":4};function nl(n){return n.substringToPos(n.findWsEnd(n.pos))}function el(n){let e=n.pos;for(;e<n.str.length;e++){let t=n.str.charCodeAt(e);if(t>=128||0===$s[t])break}return n.pos===e&&n.error("Expect a keyword"),n.substringToPos(e)}function tl(n){let e=n.pos;for(;e<n.str.length;e++){let t=n.str.charCodeAt(e);if(t<48||t>57)break}return n.pos===e&&n.error("Expect a number"),n.substringToPos(e)}function al(n){let e=n.str.indexOf("'",n.pos+1);return-1===e&&(n.pos=n.str.length,n.error("Expect an apostrophe")),n.substringToPos(e+1)}function ol(n){let e=null,t=null;return n.eat(Js),e=tl(n),n.charCode()===Fs?(n.pos++,n.charCode()!==Zs&&(t=tl(n))):t=e,n.eat(Zs),{min:Number(e),max:t?Number(t):0}}function il(n,e){let t=function(n){let e=null,t=!1;switch(n.charCode()){case Ps:n.pos++,e={min:0,max:0};break;case _s:n.pos++,e={min:1,max:0};break;case Gs:n.pos++,e={min:0,max:1};break;case Ds:n.pos++,t=!0,n.charCode()===Js?e=ol(n):n.charCode()===Gs?(n.pos++,e={min:0,max:0}):e={min:1,max:0};break;case Js:e=ol(n);break;default:return null}return{type:"Multiplier",comma:t,min:e.min,max:e.max,term:null}}(n);return null!==t?(t.term=e,n.charCode()===Ds&&n.charCodeAt(n.pos-1)===_s?il(n,t):t):e}function rl(n){let e=n.peek();return""===e?null:{type:"Token",value:e}}function sl(n){let e,t=null;return n.eat(Hs),e=el(n),n.charCode()===Ns&&n.nextCharCode()===Os&&(n.pos+=2,e+="()"),n.charCodeAt(n.findWsEnd(n.pos))===Vs&&(nl(n),t=function(n){let e=null,t=null,a=1;return n.eat(Vs),n.charCode()===qs&&(n.peek(),a=-1),-1==a&&n.charCode()===Xs?n.peek():(e=a*Number(tl(n)),0!==$s[n.charCode()]&&(e+=el(n))),nl(n),n.eat(Fs),nl(n),n.charCode()===Xs?n.peek():(a=1,n.charCode()===qs&&(n.peek(),a=-1),t=a*Number(tl(n)),0!==$s[n.charCode()]&&(t+=el(n))),n.eat(Ks),{type:"Range",min:e,max:t}}(n)),n.eat(Us),il(n,{type:"Type",name:e,opts:t})}function ll(n,e){function t(n,e){return{type:"Group",terms:n,combinator:e,disallowEmpty:!1,explicit:!1}}let a;for(e=Object.keys(e).sort(((n,e)=>Qs[n]-Qs[e]));e.length>0;){a=e.shift();let o=0,i=0;for(;o<n.length;o++){let e=n[o];"Combinator"===e.type&&(e.value===a?(-1===i&&(i=o-1),n.splice(o,1),o--):(-1!==i&&o-i>1&&(n.splice(i,o-i,t(n.slice(i,o),a)),o=i+1),i=-1))}-1!==i&&e.length&&n.splice(i,o-i,t(n.slice(i,o),a))}return a}function cl(n){let e,t=[],a={},o=null,i=n.pos;for(;e=ml(n);)"Spaces"!==e.type&&("Combinator"===e.type?((null===o||"Combinator"===o.type)&&(n.pos=i,n.error("Unexpected combinator")),a[e.value]=!0):null!==o&&"Combinator"!==o.type&&(a[" "]=!0,t.push({type:"Combinator",value:" "})),t.push(e),o=e,i=n.pos);return null!==o&&"Combinator"===o.type&&(n.pos-=i,n.error("Unexpected combinator")),{type:"Group",terms:t,combinator:ll(t,a)||" ",disallowEmpty:!1,explicit:!1}}function ml(n){let e=n.charCode();if(e<128&&1===$s[e])return function(n){let e=el(n);return n.charCode()===Ns?(n.pos++,{type:"Function",name:e}):il(n,{type:"Keyword",name:e})}(n);switch(e){case Ks:break;case Vs:return il(n,function(n){let e;return n.eat(Vs),e=cl(n),n.eat(Ks),e.explicit=!0,n.charCode()===Es&&(n.pos++,e.disallowEmpty=!0),e}(n));case Hs:return n.nextCharCode()===Bs?function(n){let e;return n.eat(Hs),n.eat(Bs),e=el(n),n.eat(Bs),n.eat(Us),il(n,{type:"Property",name:e})}(n):sl(n);case Ys:return{type:"Combinator",value:n.substringToPos(n.pos+(n.nextCharCode()===Ys?2:1))};case Ms:return n.pos++,n.eat(Ms),{type:"Combinator",value:"&&"};case Fs:return n.pos++,{type:"Comma"};case Bs:return il(n,{type:"String",value:al(n)});case Rs:case Ls:case As:case Ts:case Is:return{type:"Spaces",value:nl(n)};case Ws:return e=n.nextCharCode(),e<128&&1===$s[e]?(n.pos++,{type:"AtKeyword",name:el(n)}):rl(n);case Ps:case _s:case Gs:case Ds:case Es:break;case Js:if(e=n.nextCharCode(),e<48||e>57)return rl(n);break;default:return rl(n)}}function dl(n){let e=new zs(n),t=cl(e);return e.pos!==n.length&&e.error("Unexpected input"),1===t.terms.length&&"Group"===t.terms[0].type?t.terms[0]:t}var hl=function(){};function pl(n){return"function"==typeof n?n:hl}function ul(n,e,t){let a=hl,o=hl;if("function"==typeof e?a=e:e&&(a=pl(e.enter),o=pl(e.leave)),a===hl&&o===hl)throw new Error("Neither `enter` nor `leave` walker handler is set or both aren't a function");!function n(e){switch(a.call(t,e),e.type){case"Group":e.terms.forEach(n);break;case"Multiplier":n(e.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: "+e.type)}o.call(t,e)}(n)}var gl={decorator(n){let e=[],t=null;return{...n,node(e){let a=t;t=e,n.node.call(this,e),t=a},emit(n,a,o){e.push({type:a,value:n,node:o?null:t})},result:()=>e}}};function wl(n,e){return"string"==typeof n?function(n){let e=[];return Hi(n,((t,a,o)=>e.push({type:t,value:n.slice(a,o),node:null}))),e}(n):e.generate(n,gl)}var bl={type:"Match"},fl={type:"Mismatch"},kl={type:"DisallowEmpty"},yl=40,vl=41;function jl(n,e,t){return e===bl&&t===fl||n===bl&&e===bl&&t===bl?n:("If"===n.type&&n.else===fl&&e===bl&&(e=n.then,n=n.match),{type:"If",match:n,then:e,else:t})}function Sl(n){return n.length>2&&n.charCodeAt(n.length-2)===yl&&n.charCodeAt(n.length-1)===vl}function xl(n){return"Keyword"===n.type||"AtKeyword"===n.type||"Function"===n.type||"Type"===n.type&&Sl(n.name)}function Cl(n,e,t){switch(n){case" ":{let n=bl;for(let t=e.length-1;t>=0;t--){n=jl(e[t],n,fl)}return n}case"|":{let n=fl,t=null;for(let a=e.length-1;a>=0;a--){let o=e[a];if(xl(o)&&(null===t&&a>0&&xl(e[a-1])&&(t=Object.create(null),n=jl({type:"Enum",map:t},bl,n)),null!==t)){let n=(Sl(o.name)?o.name.slice(0,-1):o.name).toLowerCase();if(!(n in t)){t[n]=o;continue}}t=null,n=jl(o,bl,n)}return n}case"&&":{if(e.length>5)return{type:"MatchOnce",terms:e,all:!0};let t=fl;for(let a=e.length-1;a>=0;a--){let o,i=e[a];o=e.length>1?Cl(n,e.filter((function(n){return n!==i})),!1):bl,t=jl(i,o,t)}return t}case"||":{if(e.length>5)return{type:"MatchOnce",terms:e,all:!1};let a=t?bl:fl;for(let t=e.length-1;t>=0;t--){let o,i=e[t];o=e.length>1?Cl(n,e.filter((function(n){return n!==i})),!0):bl,a=jl(i,o,a)}return a}}}function zl(n){if("function"==typeof n)return{type:"Generic",fn:n};switch(n.type){case"Group":{let e=Cl(n.combinator,n.terms.map(zl),!1);return n.disallowEmpty&&(e=jl(e,kl,fl)),e}case"Multiplier":return function(n){let e=bl,t=zl(n.term);if(0===n.max)t=jl(t,kl,fl),e=jl(t,null,fl),e.then=jl(bl,bl,e),n.comma&&(e.then.else=jl({type:"Comma",syntax:n},e,fl));else for(let a=n.min||1;a<=n.max;a++)n.comma&&e!==bl&&(e=jl({type:"Comma",syntax:n},e,fl)),e=jl(t,jl(bl,bl,e),fl);if(0===n.min)e=jl(bl,bl,e);else for(let a=0;a<n.min-1;a++)n.comma&&e!==bl&&(e=jl({type:"Comma",syntax:n},e,fl)),e=jl(t,e,fl);return e}(n);case"Type":case"Property":return{type:n.type,name:n.name,syntax:n};case"Keyword":return{type:n.type,name:n.name.toLowerCase(),syntax:n};case"AtKeyword":return{type:n.type,name:"@"+n.name.toLowerCase(),syntax:n};case"Function":return{type:n.type,name:n.name.toLowerCase()+"(",syntax:n};case"String":return 3===n.value.length?{type:"Token",value:n.value.charAt(1),syntax:n}:{type:n.type,value:n.value.substr(1,n.value.length-2).replace(/\\'/g,"'"),syntax:n};case"Token":return{type:n.type,value:n.value,syntax:n};case"Comma":return{type:n.type,syntax:n};default:throw new Error("Unknown node type:",n.type)}}function Ll(n,e){return"string"==typeof n&&(n=dl(n)),{type:"MatchGraph",match:zl(n),syntax:e||null,source:n}}var{hasOwnProperty:Al}=Object.prototype,Il=0,Tl=1,Rl=2,El=3,Dl="Match",Ml="Mismatch",Bl="Maximum iteration number exceeded (please fill an issue on https://github.com/csstree/csstree/issues)",Nl=15e3;function Ol(n,e){if(n.length!==e.length)return!1;for(let t=0;t<n.length;t++){let a=e.charCodeAt(t),o=n.charCodeAt(t);if(o>=65&&o<=90&&(o|=32),o!==a)return!1}return!0}function Pl(n){return null===n||(18===n.type||2===n.type||21===n.type||19===n.type||23===n.type||function(n){return 9===n.type&&"?"!==n.value}(n))}function _l(n){return null===n||(22===n.type||20===n.type||24===n.type||9===n.type&&"/"===n.value)}function Fl(n,e,t){let a=function(n,e,t){function a(){do{b++,w=b<n.length?n[b]:null}while(null!==w&&(13===w.type||25===w.type))}function o(e){let t=b+e;return t<n.length?n[t]:null}function i(n,e){return{nextState:n,matchStack:k,syntaxStack:m,thenStack:d,tokenIndex:b,prev:e}}function r(n){d={nextState:n,matchStack:k,syntaxStack:m,prev:d}}function s(n){h=i(n,h)}function l(){k={type:Tl,syntax:e.syntax,token:w,prev:k},a(),p=null,b>f&&(f=b)}function c(){k=k.type===Rl?k.prev:{type:El,syntax:m.syntax,token:k.token,prev:k},m=m.prev}let m=null,d=null,h=null,p=null,u=0,g=null,w=null,b=-1,f=0,k={type:Il,syntax:null,token:null,prev:null};for(a();null===g&&++u<Nl;)switch(e.type){case"Match":if(null===d){if(null!==w&&(b!==n.length-1||"\\0"!==w.value&&"\\9"!==w.value)){e=fl;break}g=Dl;break}if((e=d.nextState)===kl){if(d.matchStack===k){e=fl;break}e=bl}for(;d.syntaxStack!==m;)c();d=d.prev;break;case"Mismatch":if(null!==p&&!1!==p)(null===h||b>h.tokenIndex)&&(h=p,p=!1);else if(null===h){g=Ml;break}e=h.nextState,d=h.thenStack,m=h.syntaxStack,k=h.matchStack,b=h.tokenIndex,w=b<n.length?n[b]:null,h=h.prev;break;case"MatchGraph":e=e.match;break;case"If":e.else!==fl&&s(e.else),e.then!==bl&&r(e.then),e=e.match;break;case"MatchOnce":e={type:"MatchOnceBuffer",syntax:e,index:0,mask:0};break;case"MatchOnceBuffer":{let n=e.syntax.terms;if(e.index===n.length){if(0===e.mask||e.syntax.all){e=fl;break}e=bl;break}if(e.mask===(1<<n.length)-1){e=bl;break}for(;e.index<n.length;e.index++){let t=1<<e.index;if(0==(e.mask&t)){s(e),r({type:"AddMatchOnce",syntax:e.syntax,mask:e.mask|t}),e=n[e.index++];break}}break}case"AddMatchOnce":e={type:"MatchOnceBuffer",syntax:e.syntax,index:0,mask:e.mask};break;case"Enum":if(null!==w){let n=w.value.toLowerCase();if(-1!==n.indexOf("\\")&&(n=n.replace(/\\[09].*$/,"")),Al.call(e.map,n)){e=e.map[n];break}}e=fl;break;case"Generic":{let n=null!==m?m.opts:null,t=b+Math.floor(e.fn(w,o,n));if(!isNaN(t)&&t>b){for(;b<t;)l();e=bl}else e=fl;break}case"Type":case"Property":{let n="Type"===e.type?"types":"properties",a=Al.call(t,n)?t[n][e.name]:null;if(!a||!a.match)throw new Error("Bad syntax reference: "+("Type"===e.type?"<"+e.name+">":"<'"+e.name+"'>"));if(!1!==p&&null!==w&&"Type"===e.type&&("custom-ident"===e.name&&1===w.type||"length"===e.name&&"0"===w.value)){null===p&&(p=i(e,h)),e=fl;break}m={syntax:e.syntax,opts:e.syntax.opts||null!==m&&m.opts||null,prev:m},k={type:Rl,syntax:e.syntax,token:k.token,prev:k},e=a.match;break}case"Keyword":{let n=e.name;if(null!==w){let t=w.value;if(-1!==t.indexOf("\\")&&(t=t.replace(/\\[09].*$/,"")),Ol(t,n)){l(),e=bl;break}}e=fl;break}case"AtKeyword":case"Function":if(null!==w&&Ol(w.value,e.name)){l(),e=bl;break}e=fl;break;case"Token":if(null!==w&&w.value===e.value){l(),e=bl;break}e=fl;break;case"Comma":null!==w&&18===w.type?Pl(k.token)?e=fl:(l(),e=_l(w)?fl:bl):e=Pl(k.token)||_l(w)?bl:fl;break;case"String":let a="",u=b;for(;u<n.length&&a.length<e.value.length;u++)a+=n[u].value;if(Ol(a,e.value)){for(;b<u;)l();e=bl}else e=fl;break;default:throw new Error("Unknown node type: "+e.type)}switch(g){case null:console.warn("[csstree-match] BREAK after "+Nl+" iterations"),g=Bl,k=null;break;case Dl:for(;null!==m;)c();break;default:k=null}return{tokens:n,reason:g,iterations:u,match:k,longestMatch:f}}(n,e,t||{});if(null===a.match)return a;let o=a.match,i=a.match={syntax:e.syntax||null,match:[]},r=[i];for(o=function(n){let e=null,t=null,a=n;for(;null!==a;)t=a.prev,a.prev=e,e=a,a=t;return e}(o).prev;null!==o;){switch(o.type){case Rl:i.match.push(i={syntax:o.syntax,match:[]}),r.push(i);break;case El:r.pop(),i=r[r.length-1];break;default:i.match.push({syntax:o.syntax||null,token:o.token.value,node:o.token.node})}o=o.prev}return a}var ql={};function Hl(n){function e(n){return null!==n&&("Type"===n.type||"Property"===n.type||"Keyword"===n.type)}let t=null;return null!==this.matched&&function a(o){if(Array.isArray(o.match)){for(let n=0;n<o.match.length;n++)if(a(o.match[n]))return e(o.syntax)&&t.unshift(o.syntax),!0}else if(o.node===n)return t=e(o.syntax)?[o.syntax]:[],!0;return!1}(this.matched),t}function Ul(n,e){return Vl(this,n,(n=>"Type"===n.type&&n.name===e))}function Gl(n,e){return Vl(this,n,(n=>"Property"===n.type&&n.name===e))}function Wl(n){return Vl(this,n,(n=>"Keyword"===n.type))}function Vl(n,e,t){let a=Hl.call(n,e);return null!==a&&a.some(t)}function Kl(n){return"node"in n?n.node:Kl(n.match[0])}function Jl(n){return"node"in n?n.node:Jl(n.match[n.match.length-1])}function Yl(n,e,t,a,o){let i=[];return null!==t.matched&&function t(r){if(null!==r.syntax&&r.syntax.type===a&&r.syntax.name===o){let t=Kl(r),a=Jl(r);n.syntax.walk(e,(function(n,e,o){if(n===t){let n=new Gi;do{if(n.appendData(e.data),e.data===a)break;e=e.next}while(null!==e);i.push({parent:o,nodes:n})}}))}Array.isArray(r.match)&&r.match.forEach(t)}(t.matched),i}zo(ql,{getTrace:()=>Hl,isKeyword:()=>Wl,isProperty:()=>Gl,isType:()=>Ul});var{hasOwnProperty:Zl}=Object.prototype;function Xl(n){return"number"==typeof n&&isFinite(n)&&Math.floor(n)===n&&n>=0}function $l(n){return Boolean(n)&&Xl(n.offset)&&Xl(n.line)&&Xl(n.column)}function Ql(n,e){return function(t,a){if(!t||t.constructor!==Object)return a(t,"Type of node should be an Object");for(let o in t){let i=!0;if(!1!==Zl.call(t,o)){if("type"===o)t.type!==n&&a(t,"Wrong node type `"+t.type+"`, expected `"+n+"`");else if("loc"===o){if(null===t.loc)continue;if(t.loc&&t.loc.constructor===Object)if("string"!=typeof t.loc.source)o+=".source";else if($l(t.loc.start)){if($l(t.loc.end))continue;o+=".end"}else o+=".start";i=!1}else if(e.hasOwnProperty(o)){i=!1;for(let n=0;!i&&n<e[o].length;n++){let a=e[o][n];switch(a){case String:i="string"==typeof t[o];break;case Boolean:i="boolean"==typeof t[o];break;case null:i=null===t[o];break;default:"string"==typeof a?i=t[o]&&t[o].type===a:Array.isArray(a)&&(i=t[o]instanceof Gi)}}}else a(t,"Unknown field `"+o+"` for "+n+" node type");i||a(t,"Bad value for `"+n+"."+o+"`")}}for(let o in e)Zl.call(e,o)&&!1===Zl.call(t,o)&&a(t,"Field `"+n+"."+o+"` is missed")}}function nc(n,e){let t=e.structure,a={type:String,loc:!0},o={type:'"'+n+'"'};for(let e in t){if(!1===Zl.call(t,e))continue;let i=[],r=a[e]=Array.isArray(t[e])?t[e].slice():[t[e]];for(let t=0;t<r.length;t++){let a=r[t];if(a===String||a===Boolean)i.push(a.name);else if(null===a)i.push("null");else if("string"==typeof a)i.push("<"+a+">");else{if(!Array.isArray(a))throw new Error("Wrong value `"+a+"` in `"+n+"."+e+"` structure definition");i.push("List")}}o[e]=i.join(" | ")}return{docs:o,check:Ql(n,a)}}var ec=Ll(Ur.join(" | "));function tc(n,e,t){let a={};for(let o in n)n[o].syntax&&(a[o]=t?n[o].syntax:Tr(n[o].syntax,{compact:e}));return a}function ac(n,e,t){let a={};for(let[o,i]of Object.entries(n))a[o]={prelude:i.prelude&&(t?i.prelude.syntax:Tr(i.prelude.syntax,{compact:e})),descriptors:i.descriptors&&tc(i.descriptors,e,t)};return a}function oc(n,e,t){return{matched:n,iterations:t,error:e,...ql}}function ic(n,e,t,a){let o,i=wl(t,n.syntax);return function(n){for(let e=0;e<n.length;e++)if("var("===n[e].value.toLowerCase())return!0;return!1}(i)?oc(null,new Error("Matching for a tree with var() is not supported")):(a&&(o=Fl(i,n.cssWideKeywordsSyntax,n)),a&&o.match||(o=Fl(i,e.match,n),o.match)?oc(o.match,null,o.iterations):oc(null,new Br(o.reason,e.syntax,t,o),o.iterations))}var rc=class{constructor(n,e,t){if(this.cssWideKeywordsSyntax=ec,this.syntax=e,this.generic=!1,this.units={...ws},this.atrules=Object.create(null),this.properties=Object.create(null),this.types=Object.create(null),this.structure=t||function(n){let e={};if(n.node)for(let t in n.node)if(Zl.call(n.node,t)){let a=n.node[t];if(!a.structure)throw new Error("Missed `structure` field in `"+t+"` node type definition");e[t]=nc(t,a)}return e}(n),n){if(n.units)for(let e of Object.keys(ws))Array.isArray(n.units[e])&&(this.units[e]=n.units[e]);if(n.types)for(let e in n.types)this.addType_(e,n.types[e]);if(n.generic){this.generic=!0;for(let[n,e]of Object.entries(function(n){return{...ps,...us,...gs(n)}}(this.units)))this.addType_(n,e)}if(n.atrules)for(let e in n.atrules)this.addAtrule_(e,n.atrules[e]);if(n.properties)for(let e in n.properties)this.addProperty_(e,n.properties[e])}}checkStructure(n){function e(n,e){a.push({node:n,message:e})}let t=this.structure,a=[];return this.syntax.walk(n,(function(n){t.hasOwnProperty(n.type)?t[n.type].check(n,e):e(n,"Unknown node type `"+n.type+"`")})),!!a.length&&a}createDescriptor(n,e,t,a=null){let o={type:e,name:t},i={type:e,name:t,parent:a,serializable:"string"==typeof n||n&&"string"==typeof n.type,syntax:null,match:null};return"function"==typeof n?i.match=Ll(n,o):("string"==typeof n?Object.defineProperty(i,"syntax",{get:()=>(Object.defineProperty(i,"syntax",{value:dl(n)}),i.syntax)}):i.syntax=n,Object.defineProperty(i,"match",{get:()=>(Object.defineProperty(i,"match",{value:Ll(i.syntax,o)}),i.match)})),i}addAtrule_(n,e){!e||(this.atrules[n]={type:"Atrule",name:n,prelude:e.prelude?this.createDescriptor(e.prelude,"AtrulePrelude",n):null,descriptors:e.descriptors?Object.keys(e.descriptors).reduce(((t,a)=>(t[a]=this.createDescriptor(e.descriptors[a],"AtruleDescriptor",a,n),t)),Object.create(null)):null})}addProperty_(n,e){!e||(this.properties[n]=this.createDescriptor(e,"Property",n))}addType_(n,e){!e||(this.types[n]=this.createDescriptor(e,"Type",n))}checkAtruleName(n){if(!this.getAtrule(n))return new Mr("Unknown at-rule","@"+n)}checkAtrulePrelude(n,e){let t=this.checkAtruleName(n);if(t)return t;let a=this.getAtrule(n);return!a.prelude&&e?new SyntaxError("At-rule `@"+n+"` should not contain a prelude"):!a.prelude||e||ic(this,a.prelude,"",!1).matched?void 0:new SyntaxError("At-rule `@"+n+"` should contain a prelude")}checkAtruleDescriptorName(n,e){let t=this.checkAtruleName(n);if(t)return t;let a=this.getAtrule(n),o=_r(e);return a.descriptors?a.descriptors[o.name]||a.descriptors[o.basename]?void 0:new Mr("Unknown at-rule descriptor",e):new SyntaxError("At-rule `@"+n+"` has no known descriptors")}checkPropertyName(n){if(!this.getProperty(n))return new Mr("Unknown property",n)}matchAtrulePrelude(n,e){let t=this.checkAtrulePrelude(n,e);if(t)return oc(null,t);let a=this.getAtrule(n);return a.prelude?ic(this,a.prelude,e||"",!1):oc(null,null)}matchAtruleDescriptor(n,e,t){let a=this.checkAtruleDescriptorName(n,e);if(a)return oc(null,a);let o=this.getAtrule(n),i=_r(e);return ic(this,o.descriptors[i.name]||o.descriptors[i.basename],t,!1)}matchDeclaration(n){return"Declaration"!==n.type?oc(null,new Error("Not a Declaration node")):this.matchProperty(n.property,n.value)}matchProperty(n,e){if(Fr(n).custom)return oc(null,new Error("Lexer matching doesn't applicable for custom properties"));let t=this.checkPropertyName(n);return t?oc(null,t):ic(this,this.getProperty(n),e,!0)}matchType(n,e){let t=this.getType(n);return t?ic(this,t,e,!1):oc(null,new Mr("Unknown type",n))}match(n,e){return"string"==typeof n||n&&n.type?(("string"==typeof n||!n.match)&&(n=this.createDescriptor(n,"Type","anonymous")),ic(this,n,e,!1)):oc(null,new Mr("Bad syntax"))}findValueFragments(n,e,t,a){return Yl(this,e,this.matchProperty(n,e),t,a)}findDeclarationValueFragments(n,e,t){return Yl(this,n.value,this.matchDeclaration(n),e,t)}findAllFragments(n,e,t){let a=[];return this.syntax.walk(n,{visit:"Declaration",enter:n=>{a.push.apply(a,this.findDeclarationValueFragments(n,e,t))}}),a}getAtrule(n,e=!0){let t=_r(n);return(t.vendor&&e?this.atrules[t.name]||this.atrules[t.basename]:this.atrules[t.name])||null}getAtrulePrelude(n,e=!0){let t=this.getAtrule(n,e);return t&&t.prelude||null}getAtruleDescriptor(n,e){return this.atrules.hasOwnProperty(n)&&this.atrules.declarators&&this.atrules[n].declarators[e]||null}getProperty(n,e=!0){let t=Fr(n);return(t.vendor&&e?this.properties[t.name]||this.properties[t.basename]:this.properties[t.name])||null}getType(n){return hasOwnProperty.call(this.types,n)?this.types[n]:null}validate(){function n(a,o,i,r){if(i.has(o))return i.get(o);i.set(o,!1),null!==r.syntax&&ul(r.syntax,(function(r){if("Type"!==r.type&&"Property"!==r.type)return;let s="Type"===r.type?a.types:a.properties,l="Type"===r.type?e:t;(!hasOwnProperty.call(s,r.name)||n(a,r.name,l,s[r.name]))&&i.set(o,!0)}),this)}let e=new Map,t=new Map;for(let t in this.types)n(this,t,e,this.types[t]);for(let e in this.properties)n(this,e,t,this.properties[e]);return e=[...e.keys()].filter((n=>e.get(n))),t=[...t.keys()].filter((n=>t.get(n))),e.length||t.length?{types:e,properties:t}:null}dump(n,e){return{generic:this.generic,units:this.units,types:tc(this.types,!e,n),properties:tc(this.properties,!e,n),atrules:ac(this.atrules,!e,n)}}toString(){return JSON.stringify(this.dump())}};function sc(n,e){return"string"==typeof e&&/^\s*\|/.test(e)?"string"==typeof n?n+e:e.replace(/^\s*\|\s*/,""):e||null}function lc(n,e){let t=Object.create(null);for(let[a,o]of Object.entries(n))if(o){t[a]={};for(let n of Object.keys(o))e.includes(n)&&(t[a][n]=o[n])}return t}function cc(n,e){let t={...n};for(let[a,o]of Object.entries(e))switch(a){case"generic":t[a]=Boolean(o);break;case"units":t[a]={...n[a]};for(let[n,e]of Object.entries(o))t[a][n]=Array.isArray(e)?e:[];break;case"atrules":t[a]={...n[a]};for(let[n,e]of Object.entries(o)){let o=t[a][n]||{},i=t[a][n]={prelude:o.prelude||null,descriptors:{...o.descriptors}};if(e){i.prelude=e.prelude?sc(i.prelude,e.prelude):i.prelude||null;for(let[n,t]of Object.entries(e.descriptors||{}))i.descriptors[n]=t?sc(i.descriptors[n],t):null;Object.keys(i.descriptors).length||(i.descriptors=null)}}break;case"types":case"properties":t[a]={...n[a]};for(let[n,e]of Object.entries(o))t[a][n]=sc(t[a][n],e);break;case"scope":t[a]={...n[a]};for(let[n,e]of Object.entries(o))t[a][n]={...t[a][n],...e};break;case"parseContext":t[a]={...n[a],...o};break;case"atrule":case"pseudo":t[a]={...n[a],...lc(o,["parse"])};break;case"node":t[a]={...n[a],...lc(o,["name","structure","parse","generate","walkContext"])}}return t}function mc(n){let e=rr(n),t=Lr(n),a=kr(n),{fromPlainObject:o,toPlainObject:i}=function(n){return{fromPlainObject:e=>(n(e,{enter(n){n.children&&!(n.children instanceof Gi)&&(n.children=(new Gi).fromArray(n.children))}}),e),toPlainObject:e=>(n(e,{leave(n){n.children&&n.children instanceof Gi&&(n.children=n.children.toArray())}}),e)}}(t),r={lexer:null,createLexer:n=>new rc(n,r,r.lexer.structure),tokenize:Hi,parse:e,generate:a,walk:t,find:t.find,findLast:t.findLast,findAll:t.findAll,fromPlainObject:o,toPlainObject:i,fork(e){let t=cc({},n);return mc("function"==typeof e?e(t,Object.assign):cc(t,e))}};return r.lexer=new rc({generic:!0,units:n.units,types:n.types,atrules:n.atrules,properties:n.properties,node:n.node},r),r}var dc={};zo(dc,{AnPlusB:()=>hc,Atrule:()=>zc,AtrulePrelude:()=>Mc,AttributeSelector:()=>Fc,Block:()=>Qc,Brackets:()=>mm,CDC:()=>gm,CDO:()=>ym,ClassSelector:()=>Cm,Combinator:()=>Rm,Comment:()=>Fm,Declaration:()=>Km,DeclarationList:()=>dd,Dimension:()=>fd,Function:()=>Sd,Hash:()=>Id,IdSelector:()=>Fd,Identifier:()=>Bd,MediaFeature:()=>Wd,MediaQuery:()=>Zd,MediaQueryList:()=>eh,NestingSelector:()=>rh,Nth:()=>hh,Number:()=>bh,Operator:()=>jh,Parentheses:()=>Lh,Percentage:()=>Eh,PseudoClassSelector:()=>Oh,PseudoElementSelector:()=>Uh,Ratio:()=>Yh,Raw:()=>ap,Rule:()=>cp,Selector:()=>bp,SelectorList:()=>jp,String:()=>Ap,StyleSheet:()=>Pp,TypeSelector:()=>Vp,UnicodeRange:()=>nu,Url:()=>hu,Value:()=>Cu,WhiteSpace:()=>Tu});var hc={};zo(hc,{generate:()=>Cc,name:()=>jc,parse:()=>xc,structure:()=>Sc});var pc=43,uc=45,gc=110,wc=!0,bc=!1;function fc(n,e){let t=this.tokenStart+n,a=this.charCodeAt(t);for((a===pc||a===uc)&&(e&&this.error("Number sign is not allowed"),t++);t<this.tokenEnd;t++)ii(this.charCodeAt(t))||this.error("Integer is expected",t)}function kc(n){return fc.call(this,0,n)}function yc(n,e){if(!this.cmpChar(this.tokenStart+n,e)){let t="";switch(e){case gc:t="N is expected";break;case uc:t="HyphenMinus is expected"}this.error(t,this.tokenStart+n)}}function vc(){let n=0,e=0,t=this.tokenType;for(;13===t||25===t;)t=this.lookupType(++n);if(10!==t){if(!this.isDelim(pc,n)&&!this.isDelim(uc,n))return null;e=this.isDelim(pc,n)?pc:uc;do{t=this.lookupType(++n)}while(13===t||25===t);10!==t&&(this.skip(n),kc.call(this,wc))}return n>0&&this.skip(n),0===e&&(t=this.charCodeAt(this.tokenStart),t!==pc&&t!==uc&&this.error("Number sign is expected")),kc.call(this,0!==e),e===uc?"-"+this.consume(10):this.consume(10)}var jc="AnPlusB",Sc={a:[String,null],b:[String,null]};function xc(){let n=this.tokenStart,e=null,t=null;if(10===this.tokenType)kc.call(this,bc),t=this.consume(10);else if(1===this.tokenType&&this.cmpChar(this.tokenStart,uc))switch(e="-1",yc.call(this,1,gc),this.tokenEnd-this.tokenStart){case 2:this.next(),t=vc.call(this);break;case 3:yc.call(this,2,uc),this.next(),this.skipSC(),kc.call(this,wc),t="-"+this.consume(10);break;default:yc.call(this,2,uc),fc.call(this,3,wc),this.next(),t=this.substrToCursor(n+2)}else if(1===this.tokenType||this.isDelim(pc)&&1===this.lookupType(1)){let a=0;switch(e="1",this.isDelim(pc)&&(a=1,this.next()),yc.call(this,0,gc),this.tokenEnd-this.tokenStart){case 1:this.next(),t=vc.call(this);break;case 2:yc.call(this,1,uc),this.next(),this.skipSC(),kc.call(this,wc),t="-"+this.consume(10);break;default:yc.call(this,1,uc),fc.call(this,2,wc),this.next(),t=this.substrToCursor(n+a+1)}}else if(12===this.tokenType){let a=this.charCodeAt(this.tokenStart),o=a===pc||a===uc,i=this.tokenStart+o;for(;i<this.tokenEnd&&ii(this.charCodeAt(i));i++);i===this.tokenStart+o&&this.error("Integer is expected",this.tokenStart+o),yc.call(this,i-this.tokenStart,gc),e=this.substring(n,i),i+1===this.tokenEnd?(this.next(),t=vc.call(this)):(yc.call(this,i-this.tokenStart+1,uc),i+2===this.tokenEnd?(this.next(),this.skipSC(),kc.call(this,wc),t="-"+this.consume(10)):(fc.call(this,i-this.tokenStart+2,wc),this.next(),t=this.substrToCursor(i+1)))}else this.error();return null!==e&&e.charCodeAt(0)===pc&&(e=e.substr(1)),null!==t&&t.charCodeAt(0)===pc&&(t=t.substr(1)),{type:"AnPlusB",loc:this.getLocation(n,this.tokenStart),a:e,b:t}}function Cc(n){if(n.a){let e=("+1"===n.a||"1"===n.a?"n":"-1"===n.a&&"-n")||n.a+"n";if(n.b){let t="-"===n.b[0]||"+"===n.b[0]?n.b:"+"+n.b;this.tokenize(e+t)}else this.tokenize(e)}else this.tokenize(n.b)}var zc={};function Lc(n){return this.Raw(n,this.consumeUntilLeftCurlyBracketOrSemicolon,!0)}function Ac(){for(let n,e=1;n=this.lookupType(e);e++){if(24===n)return!0;if(23===n||3===n)return!1}return!1}zo(zc,{generate:()=>Dc,name:()=>Ic,parse:()=>Ec,structure:()=>Rc,walkContext:()=>Tc});var Ic="Atrule",Tc="atrule",Rc={name:String,prelude:["AtrulePrelude","Raw",null],block:["Block",null]};function Ec(n=!1){let e,t,a=this.tokenStart,o=null,i=null;switch(this.eat(3),e=this.substrToCursor(a+1),t=e.toLowerCase(),this.skipSC(),!1===this.eof&&23!==this.tokenType&&17!==this.tokenType&&(o=this.parseAtrulePrelude?this.parseWithFallback(this.AtrulePrelude.bind(this,e,n),Lc):Lc.call(this,this.tokenIndex),this.skipSC()),this.tokenType){case 17:this.next();break;case 23:i=hasOwnProperty.call(this.atrule,t)&&"function"==typeof this.atrule[t].block?this.atrule[t].block.call(this,n):this.Block(Ac.call(this))}return{type:"Atrule",loc:this.getLocation(a,this.tokenStart),name:e,prelude:o,block:i}}function Dc(n){this.token(3,"@"+n.name),null!==n.prelude&&this.node(n.prelude),n.block?this.node(n.block):this.token(17,";")}var Mc={};zo(Mc,{generate:()=>_c,name:()=>Bc,parse:()=>Pc,structure:()=>Oc,walkContext:()=>Nc});var Bc="AtrulePrelude",Nc="atrulePrelude",Oc={children:[[]]};function Pc(n){let e=null;return null!==n&&(n=n.toLowerCase()),this.skipSC(),e=hasOwnProperty.call(this.atrule,n)&&"function"==typeof this.atrule[n].prelude?this.atrule[n].prelude.call(this):this.readSequence(this.scope.AtrulePrelude),this.skipSC(),!0!==this.eof&&23!==this.tokenType&&17!==this.tokenType&&this.error("Semicolon or block is expected"),{type:"AtrulePrelude",loc:this.getLocationFromList(e),children:e}}function _c(n){this.children(n)}var Fc={};zo(Fc,{generate:()=>$c,name:()=>Yc,parse:()=>Xc,structure:()=>Zc});var qc=36,Hc=42,Uc=61,Gc=94,Wc=124,Vc=126;function Kc(){this.eof&&this.error("Unexpected end of input");let n=this.tokenStart,e=!1;return this.isDelim(Hc)?(e=!0,this.next()):this.isDelim(Wc)||this.eat(1),this.isDelim(Wc)?this.charCodeAt(this.tokenStart+1)!==Uc?(this.next(),this.eat(1)):e&&this.error("Identifier is expected",this.tokenEnd):e&&this.error("Vertical line is expected"),{type:"Identifier",loc:this.getLocation(n,this.tokenStart),name:this.substrToCursor(n)}}function Jc(){let n=this.tokenStart,e=this.charCodeAt(n);return e!==Uc&&e!==Vc&&e!==Gc&&e!==qc&&e!==Hc&&e!==Wc&&this.error("Attribute selector (=, ~=, ^=, $=, *=, |=) is expected"),this.next(),e!==Uc&&(this.isDelim(Uc)||this.error("Equal sign is expected"),this.next()),this.substrToCursor(n)}var Yc="AttributeSelector",Zc={name:"Identifier",matcher:[String,null],value:["String","Identifier",null],flags:[String,null]};function Xc(){let n,e=this.tokenStart,t=null,a=null,o=null;return this.eat(19),this.skipSC(),n=Kc.call(this),this.skipSC(),20!==this.tokenType&&(1!==this.tokenType&&(t=Jc.call(this),this.skipSC(),a=5===this.tokenType?this.String():this.Identifier(),this.skipSC()),1===this.tokenType&&(o=this.consume(1),this.skipSC())),this.eat(20),{type:"AttributeSelector",loc:this.getLocation(e,this.tokenStart),name:n,matcher:t,value:a,flags:o}}function $c(n){this.token(9,"["),this.node(n.name),null!==n.matcher&&(this.tokenize(n.matcher),this.node(n.value)),null!==n.flags&&this.token(1,n.flags),this.token(9,"]")}var Qc={};zo(Qc,{generate:()=>cm,name:()=>im,parse:()=>lm,structure:()=>sm,walkContext:()=>rm});var nm=38;function em(n){return this.Raw(n,null,!0)}function tm(){return this.parseWithFallback(this.Rule,em)}function am(n){return this.Raw(n,this.consumeUntilSemicolonIncluded,!0)}function om(){if(17===this.tokenType)return am.call(this,this.tokenIndex);let n=this.parseWithFallback(this.Declaration,am);return 17===this.tokenType&&this.next(),n}var im="Block",rm="block",sm={children:[["Atrule","Rule","Declaration"]]};function lm(n){let e=n?om:tm,t=this.tokenStart,a=this.createList();this.eat(23);n:for(;!this.eof;)switch(this.tokenType){case 24:break n;case 13:case 25:this.next();break;case 3:a.push(this.parseWithFallback(this.Atrule.bind(this,n),em));break;default:n&&this.isDelim(nm)?a.push(tm.call(this)):a.push(e.call(this))}return this.eof||this.eat(24),{type:"Block",loc:this.getLocation(t,this.tokenStart),children:a}}function cm(n){this.token(23,"{"),this.children(n,(n=>{"Declaration"===n.type&&this.token(17,";")})),this.token(24,"}")}var mm={};zo(mm,{generate:()=>um,name:()=>dm,parse:()=>pm,structure:()=>hm});var dm="Brackets",hm={children:[[]]};function pm(n,e){let t=this.tokenStart,a=null;return this.eat(19),a=n.call(this,e),this.eof||this.eat(20),{type:"Brackets",loc:this.getLocation(t,this.tokenStart),children:a}}function um(n){this.token(9,"["),this.children(n),this.token(9,"]")}var gm={};zo(gm,{generate:()=>km,name:()=>wm,parse:()=>fm,structure:()=>bm});var wm="CDC",bm=[];function fm(){let n=this.tokenStart;return this.eat(15),{type:"CDC",loc:this.getLocation(n,this.tokenStart)}}function km(){this.token(15,"--\x3e")}var ym={};zo(ym,{generate:()=>xm,name:()=>vm,parse:()=>Sm,structure:()=>jm});var vm="CDO",jm=[];function Sm(){let n=this.tokenStart;return this.eat(14),{type:"CDO",loc:this.getLocation(n,this.tokenStart)}}function xm(){this.token(14,"\x3c!--")}var Cm={};zo(Cm,{generate:()=>Tm,name:()=>Lm,parse:()=>Im,structure:()=>Am});var zm=46,Lm="ClassSelector",Am={name:String};function Im(){return this.eatDelim(zm),{type:"ClassSelector",loc:this.getLocation(this.tokenStart-1,this.tokenEnd),name:this.consume(1)}}function Tm(n){this.token(9,"."),this.token(1,n.name)}var Rm={};zo(Rm,{generate:()=>_m,name:()=>Nm,parse:()=>Pm,structure:()=>Om});var Em=43,Dm=47,Mm=62,Bm=126,Nm="Combinator",Om={name:String};function Pm(){let n,e=this.tokenStart;switch(this.tokenType){case 13:n=" ";break;case 9:switch(this.charCodeAt(this.tokenStart)){case Mm:case Em:case Bm:this.next();break;case Dm:this.next(),this.eatIdent("deep"),this.eatDelim(Dm);break;default:this.error("Combinator is expected")}n=this.substrToCursor(e)}return{type:"Combinator",loc:this.getLocation(e,this.tokenStart),name:n}}function _m(n){this.tokenize(n.name)}var Fm={};zo(Fm,{generate:()=>Vm,name:()=>Um,parse:()=>Wm,structure:()=>Gm});var qm=42,Hm=47,Um="Comment",Gm={value:String};function Wm(){let n=this.tokenStart,e=this.tokenEnd;return this.eat(25),e-n+2>=2&&this.charCodeAt(e-2)===qm&&this.charCodeAt(e-1)===Hm&&(e-=2),{type:"Comment",loc:this.getLocation(n,this.tokenStart),value:this.substring(n+2,e)}}function Vm(n){this.token(25,"/*"+n.value+"*/")}var Km={};zo(Km,{generate:()=>ld,name:()=>od,parse:()=>sd,structure:()=>rd,walkContext:()=>id});var Jm=33,Ym=35,Zm=36,Xm=38,$m=42,Qm=43,nd=47;function ed(n){return this.Raw(n,this.consumeUntilExclamationMarkOrSemicolon,!0)}function td(n){return this.Raw(n,this.consumeUntilExclamationMarkOrSemicolon,!1)}function ad(){let n=this.tokenIndex,e=this.Value();return"Raw"!==e.type&&!1===this.eof&&17!==this.tokenType&&!1===this.isDelim(Jm)&&!1===this.isBalanceEdge(n)&&this.error(),e}var od="Declaration",id="declaration",rd={important:[Boolean,String],property:String,value:["Value","Raw"]};function sd(){let n,e=this.tokenStart,t=this.tokenIndex,a=cd.call(this),o=qr(a),i=o?this.parseCustomProperty:this.parseValue,r=o?td:ed,s=!1;this.skipSC(),this.eat(16);let l=this.tokenIndex;if(o||this.skipSC(),n=i?this.parseWithFallback(ad,r):r.call(this,this.tokenIndex),o&&"Value"===n.type&&n.children.isEmpty)for(let e=l-this.tokenIndex;e<=0;e++)if(13===this.lookupType(e)){n.children.appendData({type:"WhiteSpace",loc:null,value:" "});break}return this.isDelim(Jm)&&(s=md.call(this),this.skipSC()),!1===this.eof&&17!==this.tokenType&&!1===this.isBalanceEdge(t)&&this.error(),{type:"Declaration",loc:this.getLocation(e,this.tokenStart),important:s,property:a,value:n}}function ld(n){this.token(1,n.property),this.token(16,":"),this.node(n.value),n.important&&(this.token(9,"!"),this.token(1,!0===n.important?"important":n.important))}function cd(){let n=this.tokenStart;if(9===this.tokenType)switch(this.charCodeAt(this.tokenStart)){case $m:case Zm:case Qm:case Ym:case Xm:this.next();break;case nd:this.next(),this.isDelim(nd)&&this.next()}return 4===this.tokenType?this.eat(4):this.eat(1),this.substrToCursor(n)}function md(){this.eat(9),this.skipSC();let n=this.consume(1);return"important"===n||n}var dd={};zo(dd,{generate:()=>bd,name:()=>ud,parse:()=>wd,structure:()=>gd});var hd=38;function pd(n){return this.Raw(n,this.consumeUntilSemicolonIncluded,!0)}var ud="DeclarationList",gd={children:[["Declaration","Atrule","Rule"]]};function wd(){let n=this.createList();for(;!this.eof;)switch(this.tokenType){case 13:case 25:case 17:this.next();break;case 3:n.push(this.parseWithFallback(this.Atrule.bind(this,!0),pd));break;default:this.isDelim(hd)?n.push(this.parseWithFallback(this.Rule,pd)):n.push(this.parseWithFallback(this.Declaration,pd))}return{type:"DeclarationList",loc:this.getLocationFromList(n),children:n}}function bd(n){this.children(n,(n=>{"Declaration"===n.type&&this.token(17,";")}))}var fd={};zo(fd,{generate:()=>jd,name:()=>kd,parse:()=>vd,structure:()=>yd});var kd="Dimension",yd={value:String,unit:String};function vd(){let n=this.tokenStart,e=this.consumeNumber(12);return{type:"Dimension",loc:this.getLocation(n,this.tokenStart),value:e,unit:this.substring(n+e.length,this.tokenStart)}}function jd(n){this.token(12,n.value+n.unit)}var Sd={};zo(Sd,{generate:()=>Ad,name:()=>xd,parse:()=>Ld,structure:()=>zd,walkContext:()=>Cd});var xd="Function",Cd="function",zd={name:String,children:[[]]};function Ld(n,e){let t,a=this.tokenStart,o=this.consumeFunctionName(),i=o.toLowerCase();return t=e.hasOwnProperty(i)?e[i].call(this,e):n.call(this,e),this.eof||this.eat(22),{type:"Function",loc:this.getLocation(a,this.tokenStart),name:o,children:t}}function Ad(n){this.token(2,n.name+"("),this.children(n),this.token(22,")")}var Id={};zo(Id,{generate:()=>Md,name:()=>Rd,parse:()=>Dd,structure:()=>Ed,xxx:()=>Td});var Td="XXX",Rd="Hash",Ed={value:String};function Dd(){let n=this.tokenStart;return this.eat(4),{type:"Hash",loc:this.getLocation(n,this.tokenStart),value:this.substrToCursor(n+1)}}function Md(n){this.token(4,"#"+n.value)}var Bd={};zo(Bd,{generate:()=>_d,name:()=>Nd,parse:()=>Pd,structure:()=>Od});var Nd="Identifier",Od={name:String};function Pd(){return{type:"Identifier",loc:this.getLocation(this.tokenStart,this.tokenEnd),name:this.consume(1)}}function _d(n){this.token(1,n.name)}var Fd={};zo(Fd,{generate:()=>Gd,name:()=>qd,parse:()=>Ud,structure:()=>Hd});var qd="IdSelector",Hd={name:String};function Ud(){let n=this.tokenStart;return this.eat(4),{type:"IdSelector",loc:this.getLocation(n,this.tokenStart),name:this.substrToCursor(n+1)}}function Gd(n){this.token(9,"#"+n.name)}var Wd={};zo(Wd,{generate:()=>Yd,name:()=>Vd,parse:()=>Jd,structure:()=>Kd});var Vd="MediaFeature",Kd={name:String,value:["Identifier","Number","Dimension","Ratio",null]};function Jd(){let n,e=this.tokenStart,t=null;if(this.eat(21),this.skipSC(),n=this.consume(1),this.skipSC(),22!==this.tokenType){switch(this.eat(16),this.skipSC(),this.tokenType){case 10:t=9===this.lookupNonWSType(1)?this.Ratio():this.Number();break;case 12:t=this.Dimension();break;case 1:t=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:n,value:t}}function Yd(n){this.token(21,"("),this.token(1,n.name),null!==n.value&&(this.token(16,":"),this.node(n.value)),this.token(22,")")}var Zd={};zo(Zd,{generate:()=>nh,name:()=>Xd,parse:()=>Qd,structure:()=>$d});var Xd="MediaQuery",$d={children:[["Identifier","MediaFeature","WhiteSpace"]]};function Qd(){let n=this.createList(),e=null;this.skipSC();n:for(;!this.eof;){switch(this.tokenType){case 25:case 13:this.next();continue;case 1:e=this.Identifier();break;case 21:e=this.MediaFeature();break;default:break n}n.push(e)}return null===e&&this.error("Identifier or parenthesis is expected"),{type:"MediaQuery",loc:this.getLocationFromList(n),children:n}}function nh(n){this.children(n)}var eh={};zo(eh,{generate:()=>ih,name:()=>th,parse:()=>oh,structure:()=>ah});var th="MediaQueryList",ah={children:[["MediaQuery"]]};function oh(){let n=this.createList();for(this.skipSC();!this.eof&&(n.push(this.MediaQuery()),18===this.tokenType);)this.next();return{type:"MediaQueryList",loc:this.getLocationFromList(n),children:n}}function ih(n){this.children(n,(()=>this.token(18,",")))}var rh={};zo(rh,{generate:()=>dh,name:()=>lh,parse:()=>mh,structure:()=>ch});var sh=38,lh="NestingSelector",ch={};function mh(){let n=this.tokenStart;return this.eatDelim(sh),{type:"NestingSelector",loc:this.getLocation(n,this.tokenStart)}}function dh(){this.token(9,"&")}var hh={};zo(hh,{generate:()=>wh,name:()=>ph,parse:()=>gh,structure:()=>uh});var ph="Nth",uh={nth:["AnPlusB","Identifier"],selector:["SelectorList",null]};function gh(){this.skipSC();let n,e=this.tokenStart,t=e,a=null;return n=this.lookupValue(0,"odd")||this.lookupValue(0,"even")?this.Identifier():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:n,selector:a}}function wh(n){this.node(n.nth),null!==n.selector&&(this.token(1,"of"),this.node(n.selector))}var bh={};zo(bh,{generate:()=>vh,name:()=>fh,parse:()=>yh,structure:()=>kh});var fh="Number",kh={value:String};function yh(){return{type:"Number",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consume(10)}}function vh(n){this.token(10,n.value)}var jh={};zo(jh,{generate:()=>zh,name:()=>Sh,parse:()=>Ch,structure:()=>xh});var Sh="Operator",xh={value:String};function Ch(){let n=this.tokenStart;return this.next(),{type:"Operator",loc:this.getLocation(n,this.tokenStart),value:this.substrToCursor(n)}}function zh(n){this.tokenize(n.value)}var Lh={};zo(Lh,{generate:()=>Rh,name:()=>Ah,parse:()=>Th,structure:()=>Ih});var Ah="Parentheses",Ih={children:[[]]};function Th(n,e){let t=this.tokenStart,a=null;return this.eat(21),a=n.call(this,e),this.eof||this.eat(22),{type:"Parentheses",loc:this.getLocation(t,this.tokenStart),children:a}}function Rh(n){this.token(21,"("),this.children(n),this.token(22,")")}var Eh={};zo(Eh,{generate:()=>Nh,name:()=>Dh,parse:()=>Bh,structure:()=>Mh});var Dh="Percentage",Mh={value:String};function Bh(){return{type:"Percentage",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:this.consumeNumber(11)}}function Nh(n){this.token(11,n.value+"%")}var Oh={};zo(Oh,{generate:()=>Hh,name:()=>Ph,parse:()=>qh,structure:()=>Fh,walkContext:()=>_h});var Ph="PseudoClassSelector",_h="function",Fh={name:String,children:[["Raw"],null]};function qh(){let n,e,t=this.tokenStart,a=null;return this.eat(16),2===this.tokenType?(n=this.consumeFunctionName(),e=n.toLowerCase(),22==this.lookupNonWSType(0)?a=this.createList():hasOwnProperty.call(this.pseudo,e)?(this.skipSC(),a=this.pseudo[e].call(this),this.skipSC()):(a=this.createList(),a.push(this.Raw(this.tokenIndex,null,!1))),this.eat(22)):n=this.consume(1),{type:"PseudoClassSelector",loc:this.getLocation(t,this.tokenStart),name:n,children:a}}function Hh(n){this.token(16,":"),null===n.children?this.token(1,n.name):(this.token(2,n.name+"("),this.children(n),this.token(22,")"))}var Uh={};zo(Uh,{generate:()=>Jh,name:()=>Gh,parse:()=>Kh,structure:()=>Vh,walkContext:()=>Wh});var Gh="PseudoElementSelector",Wh="function",Vh={name:String,children:[["Raw"],null]};function Kh(){let n,e,t=this.tokenStart,a=null;return this.eat(16),this.eat(16),2===this.tokenType?(n=this.consumeFunctionName(),e=n.toLowerCase(),22==this.lookupNonWSType(0)?a=this.createList():hasOwnProperty.call(this.pseudo,e)?(this.skipSC(),a=this.pseudo[e].call(this),this.skipSC()):(a=this.createList(),a.push(this.Raw(this.tokenIndex,null,!1))),this.eat(22)):n=this.consume(1),{type:"PseudoElementSelector",loc:this.getLocation(t,this.tokenStart),name:n,children:a}}function Jh(n){this.token(16,":"),this.token(16,":"),null===n.children?this.token(1,n.name):(this.token(2,n.name+"("),this.children(n),this.token(22,")"))}var Yh={};zo(Yh,{generate:()=>tp,name:()=>Qh,parse:()=>ep,structure:()=>np});var Zh=47,Xh=46;function $h(){this.skipSC();let n=this.consume(10);for(let e=0;e<n.length;e++){let t=n.charCodeAt(e);!ii(t)&&t!==Xh&&this.error("Unsigned number is expected",this.tokenStart-n.length+e)}return 0===Number(n)&&this.error("Zero number is not allowed",this.tokenStart-n.length),n}var Qh="Ratio",np={left:String,right:String};function ep(){let n,e=this.tokenStart,t=$h.call(this);return this.skipSC(),this.eatDelim(Zh),n=$h.call(this),{type:"Ratio",loc:this.getLocation(e,this.tokenStart),left:t,right:n}}function tp(n){this.token(10,n.left),this.token(9,"/"),this.token(10,n.right)}var ap={};function op(){return this.tokenIndex>0&&13===this.lookupType(-1)?this.tokenIndex>1?this.getTokenStart(this.tokenIndex-1):this.firstCharOffset:this.tokenStart}zo(ap,{generate:()=>lp,name:()=>ip,parse:()=>sp,structure:()=>rp});var ip="Raw",rp={value:String};function sp(n,e,t){let a,o=this.getTokenStart(n);return this.skipUntilBalanced(n,e||this.consumeUntilBalanceEnd),a=t&&this.tokenStart>o?op.call(this):this.tokenStart,{type:"Raw",loc:this.getLocation(o,a),value:this.substring(o,a)}}function lp(n){this.tokenize(n.value)}var cp={};function mp(n){return this.Raw(n,this.consumeUntilLeftCurlyBracket,!0)}function dp(){let n=this.SelectorList();return"Raw"!==n.type&&!1===this.eof&&23!==this.tokenType&&this.error(),n}zo(cp,{generate:()=>wp,name:()=>hp,parse:()=>gp,structure:()=>up,walkContext:()=>pp});var hp="Rule",pp="rule",up={prelude:["SelectorList","Raw"],block:["Block"]};function gp(){let n,e,t=this.tokenIndex,a=this.tokenStart;return n=this.parseRulePrelude?this.parseWithFallback(dp,mp):mp.call(this,t),e=this.Block(!0),{type:"Rule",loc:this.getLocation(a,this.tokenStart),prelude:n,block:e}}function wp(n){this.node(n.prelude),this.node(n.block)}var bp={};zo(bp,{generate:()=>vp,name:()=>fp,parse:()=>yp,structure:()=>kp});var fp="Selector",kp={children:[["TypeSelector","IdSelector","ClassSelector","AttributeSelector","PseudoClassSelector","PseudoElementSelector","Combinator","WhiteSpace"]]};function yp(){let n=this.readSequence(this.scope.Selector);return null===this.getFirstListNode(n)&&this.error("Selector is expected"),{type:"Selector",loc:this.getLocationFromList(n),children:n}}function vp(n){this.children(n)}var jp={};zo(jp,{generate:()=>Lp,name:()=>Sp,parse:()=>zp,structure:()=>Cp,walkContext:()=>xp});var Sp="SelectorList",xp="selector",Cp={children:[["Selector","Raw"]]};function zp(){let n=this.createList();for(;!this.eof&&(n.push(this.Selector()),18===this.tokenType);)this.next();return{type:"SelectorList",loc:this.getLocationFromList(n),children:n}}function Lp(n){this.children(n,(()=>this.token(18,",")))}var Ap={};zo(Ap,{generate:()=>Op,name:()=>Mp,parse:()=>Np,structure:()=>Bp});zo({},{decode:()=>Ep,encode:()=>Dp});var Ip=92,Tp=34,Rp=39;function Ep(n){let e=n.length,t=n.charCodeAt(0),a=t===Tp||t===Rp?1:0,o=1===a&&e>1&&n.charCodeAt(e-1)===t?e-2:e-1,i="";for(let t=a;t<=o;t++){let a=n.charCodeAt(t);if(a===Ip){if(t===o){t!==e-1&&(i=n.substr(t+1));break}if(a=n.charCodeAt(++t),pi(Ip,a)){let e=t-1,a=Ii(n,e);t=a-1,i+=Di(n.substring(e+1,a))}else 13===a&&10===n.charCodeAt(t+1)&&t++}else i+=n[t]}return i}function Dp(n,e){let t=e?"'":'"',a=e?Rp:Tp,o="",i=!1;for(let e=0;e<n.length;e++){let t=n.charCodeAt(e);0!==t?t<=31||127===t?(o+="\\"+t.toString(16),i=!0):t===a||t===Ip?(o+="\\"+n.charAt(e),i=!1):(i&&(ri(t)||hi(t))&&(o+=" "),o+=n.charAt(e),i=!1):o+="�"}return t+o+t}var Mp="String",Bp={value:String};function Np(){return{type:"String",loc:this.getLocation(this.tokenStart,this.tokenEnd),value:Ep(this.consume(5))}}function Op(n){this.token(5,Dp(n.value))}var Pp={};zo(Pp,{generate:()=>Wp,name:()=>qp,parse:()=>Gp,structure:()=>Up,walkContext:()=>Hp});var _p=33;function Fp(n){return this.Raw(n,null,!1)}var qp="StyleSheet",Hp="stylesheet",Up={children:[["Comment","CDO","CDC","Atrule","Rule","Raw"]]};function Gp(){let n,e=this.tokenStart,t=this.createList();for(;!this.eof;){switch(this.tokenType){case 13:this.next();continue;case 25:if(this.charCodeAt(this.tokenStart+2)!==_p){this.next();continue}n=this.Comment();break;case 14:n=this.CDO();break;case 15:n=this.CDC();break;case 3:n=this.parseWithFallback(this.Atrule,Fp);break;default:n=this.parseWithFallback(this.Rule,Fp)}t.push(n)}return{type:"StyleSheet",loc:this.getLocation(e,this.tokenStart),children:t}}function Wp(n){this.children(n)}var Vp={};zo(Vp,{generate:()=>Qp,name:()=>Zp,parse:()=>$p,structure:()=>Xp});var Kp=42,Jp=124;function Yp(){1!==this.tokenType&&!1===this.isDelim(Kp)&&this.error("Identifier or asterisk is expected"),this.next()}var Zp="TypeSelector",Xp={name:String};function $p(){let n=this.tokenStart;return this.isDelim(Jp)?(this.next(),Yp.call(this)):(Yp.call(this),this.isDelim(Jp)&&(this.next(),Yp.call(this))),{type:"TypeSelector",loc:this.getLocation(n,this.tokenStart),name:this.substrToCursor(n)}}function Qp(n){this.tokenize(n.name)}var nu={};zo(nu,{generate:()=>du,name:()=>lu,parse:()=>mu,structure:()=>cu});var eu=43,tu=45,au=63;function ou(n,e){let t=0;for(let a=this.tokenStart+n;a<this.tokenEnd;a++){let o=this.charCodeAt(a);if(o===tu&&e&&0!==t)return ou.call(this,n+t+1,!1),-1;ri(o)||this.error(e&&0!==t?"Hyphen minus"+(t<6?" or hex digit":"")+" is expected":t<6?"Hex digit is expected":"Unexpected input",a),++t>6&&this.error("Too many hex digits",a)}return this.next(),t}function iu(n){let e=0;for(;this.isDelim(au);)++e>n&&this.error("Too many question marks"),this.next()}function ru(n){this.charCodeAt(this.tokenStart)!==n&&this.error((n===eu?"Plus sign":"Hyphen minus")+" is expected")}function su(){let n=0;switch(this.tokenType){case 10:if(n=ou.call(this,1,!0),this.isDelim(au)){iu.call(this,6-n);break}if(12===this.tokenType||10===this.tokenType){ru.call(this,tu),ou.call(this,1,!1);break}break;case 12:n=ou.call(this,1,!0),n>0&&iu.call(this,6-n);break;default:if(this.eatDelim(eu),1===this.tokenType){n=ou.call(this,0,!0),n>0&&iu.call(this,6-n);break}if(this.isDelim(au)){this.next(),iu.call(this,5);break}this.error("Hex digit or question mark is expected")}}var lu="UnicodeRange",cu={value:String};function mu(){let n=this.tokenStart;return this.eatIdent("u"),su.call(this),{type:"UnicodeRange",loc:this.getLocation(n,this.tokenStart),value:this.substrToCursor(n)}}function du(n){this.tokenize(n.value)}var hu={};zo(hu,{generate:()=>xu,name:()=>vu,parse:()=>Su,structure:()=>ju});zo({},{decode:()=>ku,encode:()=>yu});var pu=32,uu=92,gu=34,wu=39,bu=40,fu=41;function ku(n){let e=n.length,t=4,a=n.charCodeAt(e-1)===fu?e-2:e-1,o="";for(;t<a&&hi(n.charCodeAt(t));)t++;for(;t<a&&hi(n.charCodeAt(a));)a--;for(let i=t;i<=a;i++){let t=n.charCodeAt(i);if(t===uu){if(i===a){i!==e-1&&(o=n.substr(i+1));break}if(t=n.charCodeAt(++i),pi(uu,t)){let e=i-1,t=Ii(n,e);i=t-1,o+=Di(n.substring(e+1,t))}else 13===t&&10===n.charCodeAt(i+1)&&i++}else o+=n[i]}return o}function yu(n){let e="",t=!1;for(let a=0;a<n.length;a++){let o=n.charCodeAt(a);0!==o?o<=31||127===o?(e+="\\"+o.toString(16),t=!0):o===pu||o===uu||o===gu||o===wu||o===bu||o===fu?(e+="\\"+n.charAt(a),t=!1):(t&&ri(o)&&(e+=" "),e+=n.charAt(a),t=!1):e+="�"}return"url("+e+")"}var vu="Url",ju={value:String};function Su(){let n,e=this.tokenStart;switch(this.tokenType){case 7:n=ku(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(),n=Ep(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:n}}function xu(n){this.token(7,yu(n.value))}var Cu={};zo(Cu,{generate:()=>Iu,name:()=>zu,parse:()=>Au,structure:()=>Lu});var zu="Value",Lu={children:[[]]};function Au(){let n=this.tokenStart,e=this.readSequence(this.scope.Value);return{type:"Value",loc:this.getLocation(n,this.tokenStart),children:e}}function Iu(n){this.children(n)}var Tu={};zo(Tu,{generate:()=>Bu,name:()=>Eu,parse:()=>Mu,structure:()=>Du});var Ru=Object.freeze({type:"WhiteSpace",loc:null,value:" "}),Eu="WhiteSpace",Du={value:String};function Mu(){return this.eat(13),Ru}function Bu(n){this.token(13,n.value)}var Nu={generic:!0,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,∞]>] , [<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,∞]>|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,∞]>|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,∞]> [/ <number [0,∞]>]?","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,∞]>] , [<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,∞]>","-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,∞]>","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}},node:dc},Ou={};zo(Ou,{AtrulePrelude:()=>_u,Selector:()=>Fu,Value:()=>Hu});function Pu(n){switch(this.tokenType){case 4:return this.Hash();case 18:return this.Operator();case 21:return this.Parentheses(this.readSequence,n.recognizer);case 19:return this.Brackets(this.readSequence,n.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,n.recognizer);case 7:return this.Url();case 1:return this.cmpChar(this.tokenStart,117)&&this.cmpChar(this.tokenStart+1,43)?this.UnicodeRange():this.Identifier();case 9:{let n=this.charCodeAt(this.tokenStart);if(47===n||42===n||43===n||45===n)return this.Operator();35===n&&this.error("Hex or identifier is expected",this.tokenStart+1);break}}}var _u={getNode:Pu};var Fu={onWhiteSpace:function(n,e){null!==e.last&&"Combinator"!==e.last.type&&null!==n&&"Combinator"!==n.type&&e.push({type:"Combinator",loc:null,name:" "})},getNode:function(){switch(this.tokenType){case 19:return this.AttributeSelector();case 4:return this.IdSelector();case 16:return 16===this.lookupType(1)?this.PseudoElementSelector():this.PseudoClassSelector();case 1:return this.TypeSelector();case 10:case 11:return this.Percentage();case 12:46===this.charCodeAt(this.tokenStart)&&this.error("Identifier is expected",this.tokenStart+1);break;case 9:switch(this.charCodeAt(this.tokenStart)){case 43:case 62:case 126:case 47:return this.Combinator();case 46:return this.ClassSelector();case 42:case 124:return this.TypeSelector();case 35:return this.IdSelector();case 38:return this.NestingSelector()}}}};function qu(n){return null!==n&&"Operator"===n.type&&("-"===n.value[n.value.length-1]||"+"===n.value[n.value.length-1])}var Hu={getNode:Pu,onWhiteSpace(n,e){qu(n)&&(n.value=" "+n.value),qu(e.last)&&(e.last.value+=" ")},expression:function(){return this.createSingleNodeList(this.Raw(this.tokenIndex,null,!1))},var:function(){let n=this.createList();if(this.skipSC(),n.push(this.Identifier()),this.skipSC(),18===this.tokenType){n.push(this.Operator());let e=this.tokenIndex,t=this.parseCustomProperty?this.Value(null):this.Raw(this.tokenIndex,this.consumeUntilExclamationMarkOrSemicolon,!1);if("Value"===t.type&&t.children.isEmpty)for(let n=e-this.tokenIndex;n<=0;n++)if(13===this.lookupType(n)){t.children.appendData({type:"WhiteSpace",loc:null,value:" "});break}n.push(t)}return n}},Uu={parse:{prelude(){let n=this.createList();switch(this.skipSC(),this.tokenType){case 5:n.push(this.String());break;case 7:case 2:n.push(this.Url());break;default:this.error("String or url() is expected")}return(1===this.lookupNonWSType(0)||21===this.lookupNonWSType(0))&&n.push(this.MediaQueryList()),n},block:null}},Gu={parse:{prelude(){return this.createSingleNodeList(this.MediaQueryList())},block(n=!1){return this.Block(n)}}};function Wu(){return this.createSingleNodeList(this.Raw(this.tokenIndex,null,!1))}function Vu(){return this.skipSC(),1===this.tokenType&&16===this.lookupNonWSType(1)?this.createSingleNodeList(this.Declaration()):Ku.call(this)}function Ku(){let n,e=this.createList();this.skipSC();n:for(;!this.eof;){switch(this.tokenType){case 25:case 13:this.next();continue;case 2:n=this.Function(Wu,this.scope.AtrulePrelude);break;case 1:n=this.Identifier();break;case 21:n=this.Parentheses(Vu,this.scope.AtrulePrelude);break;default:break n}e.push(n)}return e}var Ju={parse:{prelude(){let n=Ku.call(this);return null===this.getFirstListNode(n)&&this.error("Condition is expected"),n},block(n=!1){return this.Block(n)}}},Yu={"font-face":{parse:{prelude:null,block(){return this.Block(!0)}}},import:Uu,media:Gu,nest:{parse:{prelude(){return this.createSingleNodeList(this.SelectorList())},block(){return this.Block(!0)}}},page:{parse:{prelude(){return this.createSingleNodeList(this.SelectorList())},block(){return this.Block(!0)}}},supports:Ju},Zu={parse(){return this.createSingleNodeList(this.SelectorList())}},Xu={parse(){return this.createSingleNodeList(this.Selector())}},$u={parse(){return this.createSingleNodeList(this.Identifier())}},Qu={parse(){return this.createSingleNodeList(this.Nth())}},ng={dir:$u,has:Zu,lang:$u,matches:Zu,is:Zu,"-moz-any":Zu,"-webkit-any":Zu,where:Zu,not:Zu,"nth-child":Qu,"nth-last-child":Qu,"nth-last-of-type":Qu,"nth-of-type":Qu,slotted:Xu,host:Xu,"host-context":Xu},eg={};zo(eg,{AnPlusB:()=>xc,Atrule:()=>Ec,AtrulePrelude:()=>Pc,AttributeSelector:()=>Xc,Block:()=>lm,Brackets:()=>pm,CDC:()=>fm,CDO:()=>Sm,ClassSelector:()=>Im,Combinator:()=>Pm,Comment:()=>Wm,Declaration:()=>sd,DeclarationList:()=>wd,Dimension:()=>vd,Function:()=>Ld,Hash:()=>Dd,IdSelector:()=>Ud,Identifier:()=>Pd,MediaFeature:()=>Jd,MediaQuery:()=>Qd,MediaQueryList:()=>oh,NestingSelector:()=>mh,Nth:()=>gh,Number:()=>yh,Operator:()=>Ch,Parentheses:()=>Th,Percentage:()=>Bh,PseudoClassSelector:()=>qh,PseudoElementSelector:()=>Kh,Ratio:()=>ep,Raw:()=>sp,Rule:()=>gp,Selector:()=>yp,SelectorList:()=>zp,String:()=>Np,StyleSheet:()=>Gp,TypeSelector:()=>$p,UnicodeRange:()=>mu,Url:()=>Su,Value:()=>Au,WhiteSpace:()=>Mu});var tg={parseContext:{default:"StyleSheet",stylesheet:"StyleSheet",atrule:"Atrule",atrulePrelude(n){return this.AtrulePrelude(n.atrule?String(n.atrule):null)},mediaQueryList:"MediaQueryList",mediaQuery:"MediaQuery",rule:"Rule",selectorList:"SelectorList",selector:"Selector",block(){return this.Block(!0)},declarationList:"DeclarationList",declaration:"Declaration",value:"Value"},scope:Ou,atrule:Yu,pseudo:ng,node:eg},ag=(n=>mc(cc({},n)))({...Nu,...tg,...{node:dc}});zo({},{decode:()=>ig,encode:()=>rg});var og=92;function ig(n){let e=n.length-1,t="";for(let a=0;a<n.length;a++){let o=n.charCodeAt(a);if(o===og){if(a===e)break;if(o=n.charCodeAt(++a),pi(og,o)){let e=a-1,o=Ii(n,e);a=o-1,t+=Di(n.substring(e+1,o))}else 13===o&&10===n.charCodeAt(a+1)&&a++}else t+=n[a]}return t}function rg(n){let e="";if(1===n.length&&45===n.charCodeAt(0))return"\\-";for(let t=0;t<n.length;t++){let a=n.charCodeAt(t);0!==a?a<=31||127===a||a>=48&&a<=57&&(0===t||1===t&&45===n.charCodeAt(0))?e+="\\"+a.toString(16)+" ":ci(a)?e+=n.charAt(t):e+="\\"+n.charAt(t):e+="�"}return e}var{tokenize:sg,parse:lg,generate:cg,lexer:mg,createLexer:dg,walk:hg,find:pg,findLast:ug,findAll:gg,toPlainObject:wg,fromPlainObject:bg,fork:fg}=ag;const kg=/^'(.*?)'$/,yg=/^"(.*?)"$/,vg=["inherit","initial","unset"],jg=["caption","icon","menu","message-box","small-caption","status-bar"],Sg=["normal","bold","bolder","lighter","100","200","300","400","500","600","700","800","900"],xg=["normal","italic","oblique"],Cg=["normal","condensed","semi-condensed","extra-condensed","ultra-condensed","expanded","semi-expanded","extra-expanded","ultra-expanded"],zg="[parse-css-font] ";function Lg(n){return new Error(zg+n)}function Ag(n){return(n=n.match(kg)?n.replace(kg,"$1"):n.replace(yg,"$1")).trim()}function Ig(n,e=0){const t=[{mode:"normal",character:null}],a=[];let o=0,i="",r=null,s=null,l=e,c=n;"("===n[0]&&")"===n[n.length-1]&&(c=n.substring(1,n.length-1),l++);for(let n=0;n<c.length;n++){const e=c[n];if("'"!==e&&'"'!==e||(!0===t[o].isCalculationEnabled?(t.push({mode:"string",isCalculationEnabled:!1,character:e}),o++):"string"===t[o].mode&&t[o].character===e&&"\\"!==c[n-1]&&(t.pop(),o--)),"{"===e?(t.push({mode:"interpolation",isCalculationEnabled:!0}),o++):"}"===e&&(t.pop(),o--),"normal"===t[o].mode&&":"===e){const e=c.substring(n+1);s={type:"value",before:/^(\s*)/.exec(e)[1],after:/(\s*)$/.exec(e)[1],value:e.trim()},s.sourceIndex=s.before.length+n+1+l,r={type:"colon",sourceIndex:n+l,after:s.before,value:":"};break}i+=e}return i={type:"media-feature",before:/^(\s*)/.exec(i)[1],after:/(\s*)$/.exec(i)[1],value:i.trim()},i.sourceIndex=i.before.length+l,a.push(i),null!==r&&(r.before=i.after,a.push(r)),null!==s&&a.push(s),a}function Tg(n,e=0){const t=[];let a,o=0,i=!1;a={before:"",after:"",value:""};for(let r=0;r<n.length;r++){const s=n[r];i?(a.value+=s,"{"!==s&&"("!==s||o++,")"!==s&&"}"!==s||o--):-1!==s.search(/\s/)?a.before+=s:("("===s&&(a.type="media-feature-expression",o++),a.value=s,a.sourceIndex=e+r,i=!0),!i||0!==o||")"!==s&&r!==n.length-1&&-1===n[r+1].search(/\s/)||(-1!==["not","only","and"].indexOf(a.value)&&(a.type="keyword"),"media-feature-expression"===a.type&&(a.nodes=Ig(a.value,a.sourceIndex)),t.push(Array.isArray(a.nodes)?new Rg(a):new Eg(a)),a={before:"",after:"",value:""},i=!1)}for(let n=0;n<t.length;n++)if(a=t[n],n>0&&(t[n-1].after=a.before),void 0===a.type){if(n>0){if("media-feature-expression"===t[n-1].type){a.type="keyword";continue}if("not"===t[n-1].value||"only"===t[n-1].value){a.type="media-type";continue}if("and"===t[n-1].value){a.type="media-feature-expression";continue}"media-type"===t[n-1].type&&(t[n+1]?a.type="media-feature-expression"===t[n+1].type?"keyword":"media-feature-expression":a.type="media-feature-expression")}if(0===n){if(!t[n+1]){a.type="media-type";continue}if(t[n+1]&&("media-feature-expression"===t[n+1].type||"keyword"===t[n+1].type)){a.type="media-type";continue}if(t[n+2]){if("media-feature-expression"===t[n+2].type){a.type="media-type",t[n+1].type="keyword";continue}if("keyword"===t[n+2].type){a.type="keyword",t[n+1].type="media-type";continue}}if(t[n+3]&&"media-feature-expression"===t[n+3].type){a.type="keyword",t[n+1].type="media-type",t[n+2].type="keyword";continue}}}return t}function Rg(n){this.constructor(n),this.nodes=n.nodes,void 0===this.after&&(this.after=this.nodes.length>0?this.nodes[this.nodes.length-1].after:""),void 0===this.before&&(this.before=this.nodes.length>0?this.nodes[0].before:""),void 0===this.sourceIndex&&(this.sourceIndex=this.before.length),this.nodes.forEach((n=>{n.parent=this}))}function Eg(n){this.after=n.after,this.before=n.before,this.type=n.type,this.value=n.value,this.sourceIndex=n.sourceIndex}Rg.prototype=Object.create(Eg.prototype),Rg.constructor=Eg,Rg.prototype.walk=function(n,e){const t="string"==typeof n||n instanceof RegExp,a=t?e:n,o="string"==typeof n?new RegExp(n):n;for(let i=0;i<this.nodes.length;i++){const r=this.nodes[i];if((!t||o.test(r.type))&&a&&!1===a(r,i,this.nodes))return!1;if(r.nodes&&!1===r.walk(n,e))return!1}return!0},Rg.prototype.each=function(n=(()=>{})){for(let e=0;e<this.nodes.length;e++){if(!1===n(this.nodes[e],e,this.nodes))return!1}return!0};const Dg="___PRESERVED_TOKEN_",Mg={maxLineLen:0,expandVars:!1,uglyComments:!1,cuteComments:!1,debug:!1,output:""},Bg=/url\(\s*(["']?)data:/g,Ng=/\s+/g,Og=/\n/g;const Pg=/(=\s*?["']?)?#([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])([0-9a-f])(\}|[^0-9a-f{][^{]*?\})/gi;const _g=/@[a-z0-9-_]*keyframes\s+[a-z0-9-_]+\s*{/gi,Fg=/(^\s|\s$)/g;const qg=/"([^\\"])*"/g,Hg=/"(\\.)*"/g,Ug=/"(\\)*"/g,Gg=/'([^\\']|\\.|\\)*'/g,Wg=/progid:DXImageTransform.Microsoft.Alpha\(Opacity=/gi,Vg=/\r\n/g,Kg=/[\r\n]/g,Jg=/@variables\s*\{\s*([^}]+)\s*\}/g,Yg=/\s*([a-z0-9-]+)\s*:\s*([^;}]+)\s*/gi,Zg=/var\s*\(\s*([^)]+)\s*\)/g,Xg=/calc\(([^;}]*)\)/g,$g=/(^\s*|\s*$)/g,Qg=/\( /g,nw=/ \)/g,ew=/\s*filter:\s*progid:DXImageTransform.Microsoft.Matrix\(([^)]+)\);/g,tw=/(^|\})(([^{:])+:)+([^{]*{)/g,aw=/\s+([!{;:>+()\],])/g,ow=/([^\\])\s+([}])/g,iw=/!important/g,rw=/___PSEUDOCLASSCOLON___/g,sw=/:/g,lw=/\s*(animation|animation-delay|animation-duration|transition|transition-delay|transition-duration):\s*([^;}]+)/gi,cw=/(^|\D)0?\.?0(m?s)/gi,mw=/\s*(flex|flex-basis):\s*([^;}]+)/gi,dw=/\s+/,hw=/(hsla?)\(([^)]+)\)/g,pw=/(^\s+|\s+$)/g,uw=/:first-(line|letter)(\{|,)/gi,gw=/^(.*)(@charset)( "[^"]*";)/gi,ww=/^((\s*)(@charset)( [^;]+;\s*))+/gi,bw=/@(font-face|import|(?:-(?:atsc|khtml|moz|ms|o|wap|webkit)-)?keyframe|media|page|namespace)/gi,fw=/:(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,kw=/^(.*)(@charset "[^"]*";)/g,yw=/^(\s*@charset [^;]+;\s*)+/g,vw=/:(lang|not|nth-child|nth-last-child|nth-last-of-type|nth-of-type|(?:-(?:atsc|khtml|moz|ms|o|wap|webkit)-)?any)\(/gi,jw=/([:,( ]\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,Sw=/\s*\/\*/g,xw=/\*\/\s*/g,Cw=/\band\(/gi,zw=/([^:])not\(/gi,Lw=/\bor\(/gi,Aw=/([!{}:;>+([,])\s+/g,Iw=/;+\}/g,Tw=/([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,Rw=/:0 0 0 0(;|\})/g,Ew=/:0 0 0(;|\})/g,Dw=/(transform-origin|webkit-transform-origin|moz-transform-origin|o-transform-origin|ms-transform-origin|box-shadow):0(;|\})/gi,Mw=/(:|\s)0+\.(\d+)/g,Bw=/rgb\s*\(\s*([0-9,\s]+)\s*\)/gi,Nw=/(border|border-top|border-right|border-bottom|border-left|outline|background):none(;|\})/gi,Ow=/progid:DXImageTransform\.Microsoft\.Alpha\(Opacity=/gi,Pw=/\(([-A-Za-z]+):([0-9]+)\/([0-9]+)\)/g,_w=/___QUERY_FRACTION___/g,Fw=/;;+/g,qw=/(:|\s)(#f00)(;|})/g,Hw=/___PRESERVED_NEWLINE___/g,Uw=/(:|\s)(#000080)(;|})/g,Gw=/(:|\s)(#808080)(;|})/g,Ww=/(:|\s)(#808000)(;|})/g,Vw=/(:|\s)(#800080)(;|})/g,Kw=/(:|\s)(#c0c0c0)(;|})/g,Jw=/(:|\s)(#008080)(;|})/g,Yw=/(:|\s)(#ffa500)(;|})/g,Zw=/(:|\s)(#800000)(;|})/g;function Xw(n="",e=Mg){const t=[],a=[];let o;const i=n;function r(e){n=n.replace(e,(n=>{const e=n.substring(0,1);if((n=n.slice(1,-1)).indexOf("___PRESERVE_CANDIDATE_COMMENT_")>=0)for(let e=0,a=t.length;e<a;e+=1)n=n.replace("___PRESERVE_CANDIDATE_COMMENT_"+e+"___",t[e]);return n=n.replace(Wg,"alpha(opacity="),a.push(n),e+Dg+(a.length-1)+"___"+e}))}n=function(n,e){const t=Bg,a=n.length-1,o=[];let i,r=0;for(;null!==(i=t.exec(n));){const s=i.index+4;let l=i[1];0===l.length&&(l=")");let c=!1,m=t.lastIndex-1;for(;!1===c&&m+1<=a&&-1!=m;)m=n.indexOf(l,m+1),m>0&&"\\"!==n.charAt(m-1)&&(c=!0,")"!=l&&(m=n.indexOf(")",m)));if(o.push(n.substring(r,i.index)),c){let t=n.substring(s,m);const a=t.split(",");a.length>1&&";base64"==a[0].slice(-7)?t=t.replace(Ng,""):(t=t.replace(Og," "),t=t.replace(Ng," "),t=t.replace(pw,"")),e.push(t);const i="url("+Dg+(e.length-1)+"___)";o.push(i),r=m+1}else o.push(n.substring(i.index,t.lastIndex)),r=t.lastIndex}return o.push(n.substring(r)),o.join("")}(n,a),n=function(n,e){const t=[];let a,o=0;for(;;){const i=n.indexOf("/*",o);if(!(i>-1))break;if(a=n.indexOf("*/",i+2),!(a>-1)){a=-2;break}e.push(n.slice(i+2,a)),t.push(n.slice(o,i)),t.push("/*___PRESERVE_CANDIDATE_COMMENT_"+(e.length-1)+"___*/"),o=a+2}return t.push(n.slice(a+2)),t.join("")}(n,t),r(qg),r(Hg),r(Ug),r(Gg);for(let o=0,i=t.length;o<i;o+=1){const i=t[o],r="___PRESERVE_CANDIDATE_COMMENT_"+o+"___";if("!"!==i.charAt(0))if("\\"!==i.charAt(i.length-1)){if(0===i.length){const e=n.indexOf(r);e>2&&">"===n.charAt(e-3)&&(a.push(""),n=n.replace(r,Dg+(a.length-1)+"___"))}n=n.replace(`/*${r}*/`,"")}else a.push("\\"),n=n.replace(r,Dg+(a.length-1)+"___"),o+=1,a.push(""),n=n.replace("___PRESERVE_CANDIDATE_COMMENT_"+o+"___",Dg+(a.length-1)+"___");else e.cuteComments?a.push(i.substring(1).replace(Vg,"\n")):e.uglyComments?a.push(i.substring(1).replace(Kg,"")):a.push(i),n=n.replace(r,Dg+(a.length-1)+"___")}if(e.expandVars){const e={};o=Jg,n=n.replace(o,((n,t)=>(o=Yg,t.replace(o,((n,t,a)=>(t&&a&&(e[t]=a),""))),""))),o=Zg,n=n.replace(o,((n,t)=>e[t]||"none"))}n=n.replace(Ng," "),o=Xg,n=n.replace(o,((n,e)=>(a.push("calc("+e.replace($g,"").replace(Qg,"(").replace(nw,")")+")"),Dg+(a.length-1)+"___"))),o=ew,n=n.replace(o,((n,e)=>(a.push(e),"filter:progid:DXImageTransform.Microsoft.Matrix("+Dg+(a.length-1)+"___);")));try{o=tw,n=n.replace(o,(n=>n.replace(sw,"___PSEUDOCLASSCOLON___")))}catch(n){}if(n=(n=(n=(n=n.replace(aw,"$1")).replace(ow,"$1$2")).replace(iw," !important")).replace(rw,":"),o=lw,n=n.replace(o,((n,e,t)=>e+":"+(t=t.replace(cw,((n,e,t)=>(a.push("0"+t),e+Dg+(a.length-1)+"___")))))),o=mw,n=function(n,e){const t=_g;let a,o=0;const i=(n,t)=>{"0"===(n=n.replace(Fg,"")).charAt(0)&&(e.push(n),a[t]=Dg+(e.length-1)+"___")};for(;;){let e=0;a="";let r=n.slice(o).search(t);if(r<0)break;o+=r,r=o;const s=n.length,l=[];for(;o<s;++o){const t=n.charAt(o);if("{"===t)0===e?l.push(a.replace(Fg,"")):1===e&&(a=a.split(","),a.forEach(i),l.push(a.join(",").replace(Fg,""))),a="",e+=1;else if("}"===t){if(2===e)l.push("{"+a.replace(Fg,"")+"}"),a="";else if(1===e){n=n.slice(0,r)+l.shift()+"{"+l.join("")+n.slice(o);break}e-=1}if(e<0)break;"{"!==t&&"}"!==t&&(a+=t)}}return n}(n=(n=n.replace(o,((n,e,t)=>{let o=t.split(dw);return a.push(o.pop()),o.push(Dg+(a.length-1)+"___"),o=o.join(" "),`${e}:${o}`}))).replace(hw,((n,e,t)=>{const o=[];return t.split(",").forEach((n=>{"0%"===(n=n.replace(pw,""))?(a.push("0%"),o.push(Dg+(a.length-1)+"___")):o.push(n)})),e+"("+o.join(",")+")"})),a),n=n.replace(uw,((n,e,t)=>":first-"+e.toLowerCase()+" "+t)),n=e.cuteComments?(n=n.replace(Sw,"___PRESERVED_NEWLINE___/*")).replace(xw,"*/___PRESERVED_NEWLINE___"):n.replace(xw,"*/"),o=gw,n=n.replace(o,((n,e,t,a)=>t.toLowerCase()+a+e)),o=ww,n=n.replace(o,((n,e,t,a,o)=>t+a.toLowerCase()+o)),o=bw,n=n.replace(o,((n,e)=>"@"+e.toLowerCase())),o=fw,n=(n=(n=n.replace(o,((n,e)=>":"+e.toLowerCase()))).replace(kw,"$2$1")).replace(yw,"$1"),o=vw,n=n.replace(o,((n,e)=>":"+e.toLowerCase()+"(")),o=jw,n=(n=(n=(n=(n=(n=(n=(n=(n=n.replace(o,((n,e,t)=>e+t.toLowerCase()))).replace(Cw,"and (")).replace(zw,"$1not (")).replace(Lw,"or (")).replace(Aw,"$1")).replace(Iw,"}")).replace(Tw,"$1$2")).replace(Rw,":0$1")).replace(Ew,":0$1"),o=Dw,n=(n=n.replace(o,((n,e,t)=>e.toLowerCase()+":0 0"+t))).replace(Mw,"$1.$2"),o=Bw,n=function(n){const e=Pg,t=[];let a,o=0;for(;null!==(a=e.exec(n));)t.push(n.substring(o,a.index)),a[1]?t.push(a[1]+"#"+(a[2]+a[3]+a[4]+a[5]+a[6]+a[7])):a[2].toLowerCase()==a[3].toLowerCase()&&a[4].toLowerCase()==a[5].toLowerCase()&&a[6].toLowerCase()==a[7].toLowerCase()?t.push("#"+(a[3]+a[5]+a[7]).toLowerCase()):t.push("#"+(a[2]+a[3]+a[4]+a[5]+a[6]+a[7]).toLowerCase()),o=e.lastIndex=e.lastIndex-a[8].length;return t.push(n.substring(o)),t.join("")}(n=n.replace(o,((n,e)=>{const t=e.split(",");let a="#";for(let n=0;n<t.length;n+=1){let e=parseInt(t[n],10);e<16&&(a+="0"),e>255&&(e=255),a+=e.toString(16)}return a}))),n=(n=(n=(n=(n=(n=(n=(n=(n=n.replace(qw,"$1red$3")).replace(Uw,"$1navy$3")).replace(Gw,"$1gray$3")).replace(Ww,"$1olive$3")).replace(Vw,"$1purple$3")).replace(Kw,"$1silver$3")).replace(Jw,"$1teal$3")).replace(Yw,"$1orange$3")).replace(Zw,"$1maroon$3"),o=Nw,n=(n=(n=(n=n.replace(o,((n,e,t)=>e.toLowerCase()+":0"+t))).replace(Ow,"alpha(opacity=")).replace(Pw,"($1:$2___QUERY_FRACTION___$3)")).replace(_w,"/"),e.maxLineLen>0){const t=[];let a=[];for(let o=0,i=n.length;o<i;o+=1){const i=n.charAt(o);a.push(i),"}"===i&&a.length>e.maxLineLen&&(t.push(a.join("")),a=[])}a.length&&t.push(a.join("")),n=t.join("\n")}if(n=(n=n.replace(Fw,";")).replace($g,""),a.length>1e3)return i;for(let e=a.length-1;e>=0;e--)n=n.replace(Dg+e+"___",a[e],"g");return n=n.replace(Hw,"\n")}const $w="[\\x20\\t\\r\\n\\f]",Qw=new RegExp("\\\\([\\da-f]{1,6}"+$w+"?|("+$w+")|.)","ig");function nb(n){function e(n){return" "===n||"\t"===n||"\n"===n||"\f"===n||"\r"===n}function t(e){let t;const a=e.exec(n.substring(g));if(a)return t=a[0],g+=t.length,t}const a=n.length,o=/^[ \t\n\r\u000c]+/,i=/^[, \t\n\r\u000c]+/,r=/^[^ \t\n\r\u000c]+/,s=/[,]+$/,l=/^\d+$/,c=/^-?(?:[0-9]+|[0-9]*\.[0-9]+)(?:[eE][+-]?[0-9]+)?$/;let m,d,h,p,u,g=0;const w=[];for(;;){if(t(i),g>=a)return w;m=t(r),d=[],","===m.slice(-1)?(m=m.replace(s,""),f()):b()}function b(){for(t(o),h="",p="in descriptor";;){if(u=n.charAt(g),"in descriptor"===p)if(e(u))h&&(d.push(h),h="",p="after descriptor");else{if(","===u)return g+=1,h&&d.push(h),void f();if("("===u)h+=u,p="in parens";else{if(""===u)return h&&d.push(h),void f();h+=u}}else if("in parens"===p)if(")"===u)h+=u,p="in descriptor";else{if(""===u)return d.push(h),void f();h+=u}else if("after descriptor"===p)if(e(u));else{if(""===u)return void f();p="in descriptor",g-=1}g+=1}}function f(){let e,t,a,o,i,r,s,h,p,u=!1;const g={};for(o=0;o<d.length;o++)i=d[o],r=i[i.length-1],s=i.substring(0,i.length-1),h=parseInt(s,10),p=parseFloat(s),l.test(s)&&"w"===r?((e||t)&&(u=!0),0===h?u=!0:e=h):c.test(s)&&"x"===r?((e||t||a)&&(u=!0),p<0?u=!0:t=p):l.test(s)&&"h"===r?((a||t)&&(u=!0),0===h?u=!0:a=h):u=!0;u?console&&console.log&&console.log('Invalid srcset descriptor found in "'+n+'" at "'+i+'".'):(g.url=m,e&&(g.w=e),t&&(g.d=t),a&&(g.h=a),w.push(g))}}let eb,tb,ab,ob;eb={},eb.removeLeadingAndTrailingHTTPWhitespace=n=>n.replace(/^[ \t\n\r]+/,"").replace(/[ \t\n\r]+$/,""),eb.removeTrailingHTTPWhitespace=n=>n.replace(/[ \t\n\r]+$/,""),eb.isHTTPWhitespaceChar=n=>" "===n||"\t"===n||"\n"===n||"\r"===n,eb.solelyContainsHTTPTokenCodePoints=n=>/^[-!#$%&'*+.^_`|~A-Za-z0-9]*$/.test(n),eb.soleyContainsHTTPQuotedStringTokenCodePoints=n=>/^[\t\u0020-\u007E\u0080-\u00FF]*$/.test(n),eb.asciiLowercase=n=>n.replace(/[A-Z]/g,(n=>n.toLowerCase())),eb.collectAnHTTPQuotedString=(n,e)=>{let t="";for(e++;;){for(;e<n.length&&'"'!==n[e]&&"\\"!==n[e];)t+=n[e],++e;if(e>=n.length)break;const a=n[e];if(++e,"\\"!==a)break;if(e>=n.length){t+="\\";break}t+=n[e],++e}return[t,e]};{const{solelyContainsHTTPTokenCodePoints:n}=eb;ab=e=>{let t=`${e.type}/${e.subtype}`;if(0===e.parameters.size)return t;for(let[a,o]of e.parameters)t+=";",t+=a,t+="=",n(o)&&0!==o.length||(o=o.replace(/(["\\])/g,"\\$1"),o=`"${o}"`),t+=o;return t}}{const{removeLeadingAndTrailingHTTPWhitespace:n,removeTrailingHTTPWhitespace:e,isHTTPWhitespaceChar:t,solelyContainsHTTPTokenCodePoints:a,soleyContainsHTTPQuotedStringTokenCodePoints:o,asciiLowercase:i,collectAnHTTPQuotedString:r}=eb;tb=s=>{s=n(s);let l=0,c="";for(;l<s.length&&"/"!==s[l];)c+=s[l],++l;if(0===c.length||!a(c))return null;if(l>=s.length)return null;++l;let m="";for(;l<s.length&&";"!==s[l];)m+=s[l],++l;if(m=e(m),0===m.length||!a(m))return null;const d={type:i(c),subtype:i(m),parameters:new Map};for(;l<s.length;){for(++l;t(s[l]);)++l;let n="";for(;l<s.length&&";"!==s[l]&&"="!==s[l];)n+=s[l],++l;if(n=i(n),l<s.length){if(";"===s[l])continue;++l}let c=null;if('"'===s[l])for([c,l]=r(s,l);l<s.length&&";"!==s[l];)++l;else{for(c="";l<s.length&&";"!==s[l];)c+=s[l],++l;if(c=e(c),""===c)continue}n.length>0&&a(n)&&o(c)&&!d.parameters.has(n)&&d.parameters.set(n,c)}return d}}{const n=tb,e=ab,{asciiLowercase:t,solelyContainsHTTPTokenCodePoints:a,soleyContainsHTTPQuotedStringTokenCodePoints:o}=eb;ob=class{constructor(e){e=String(e);const t=n(e);if(null===t)throw new Error(`Could not parse MIME type string "${e}"`);this._type=t.type,this._subtype=t.subtype,this._parameters=new i(t.parameters)}static parse(n){try{return new this(n)}catch(n){return null}}get essence(){return`${this.type}/${this.subtype}`}get type(){return this._type}set type(n){if(0===(n=t(String(n))).length)throw new Error("Invalid type: must be a non-empty string");if(!a(n))throw new Error(`Invalid type ${n}: must contain only HTTP token code points`);this._type=n}get subtype(){return this._subtype}set subtype(n){if(0===(n=t(String(n))).length)throw new Error("Invalid subtype: must be a non-empty string");if(!a(n))throw new Error(`Invalid subtype ${n}: must contain only HTTP token code points`);this._subtype=n}get parameters(){return this._parameters}toString(){return e(this)}isJavaScript({allowParameters:n=!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 n||0===this._parameters.size;default:return!1}case"application":switch(this._subtype){case"ecmascript":case"javascript":case"x-ecmascript":case"x-javascript":return n||0===this._parameters.size;default:return!1}default:return!1}}isXML(){return"xml"===this._subtype&&("text"===this._type||"application"===this._type)||this._subtype.endsWith("+xml")}isHTML(){return"html"===this._subtype&&"text"===this._type}};class i{constructor(n){this._map=n}get size(){return this._map.size}get(n){return n=t(String(n)),this._map.get(n)}has(n){return n=t(String(n)),this._map.has(n)}set(n,e){if(n=t(String(n)),e=String(e),!a(n))throw new Error(`Invalid MIME type parameter name "${n}": only HTTP token code points are valid.`);if(!o(e))throw new Error(`Invalid MIME type parameter value "${e}": only HTTP quoted-string token code points are valid.`);return this._map.set(n,e)}clear(){this._map.clear()}delete(n){return n=t(String(n)),this._map.delete(n)}forEach(n,e){this._map.forEach(n,e)}keys(){return this._map.keys()}values(){return this._map.values()}entries(){return this._map.entries()}[Symbol.iterator](){return this._map[Symbol.iterator]()}}}const ib="_singleFile_fontFaces",rb=(n,e,t)=>globalThis.addEventListener(n,e,t),sb=globalThis.document,lb=globalThis.Document,cb=globalThis.JSON;let mb;mb=window[ib]?window[ib]:window[ib]=new Map,sb instanceof lb&&(rb("single-file-new-font-face",(n=>{const e=n.detail,t=Object.assign({},e);delete t.src,mb.set(cb.stringify(t),e)})),rb("single-file-delete-font",(n=>{const e=n.detail,t=Object.assign({},e);delete t.src,mb.delete(cb.stringify(t))})),rb("single-file-clear-fonts",(()=>mb=new Map)));const db=h+"on-before-capture",hb=h+"on-after-capture",pb=h+"request-get-adopted-stylesheets",ub=h+"response-get-adopted-stylesheets",gb=h+"unregister-request-get-adopted-stylesheets",wb="data-"+h+"removed-content",bb="data-"+h+"hidden-content",fb="data-"+h+"kept-content",kb="data-"+h+"hidden-frame",yb="data-"+h+"preserved-space-element",vb="data-"+h+"shadow-root-element",jb="data-"+h+"win-id",Sb="data-"+h+"image",xb="data-"+h+"poster",Cb="data-"+h+"video",zb="data-"+h+"canvas",Lb="data-"+h+"movable-style",Ab="data-"+h+"input-value",Ib="data-"+h+"lazy-loaded-src",Tb="data-"+h+"stylesheet",Rb="data-"+h+"disabled-noscript",Eb="data-"+h+"selected-content",Db="data-"+h+"invalid-element",Mb="data-"+h+"async-script",Bb="*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)",Nb=["NOSCRIPT","DISABLED-NOSCRIPT","META","LINK","STYLE","TITLE","TEMPLATE","SOURCE","OBJECT","SCRIPT","HEAD","BODY"],Ob=/^'(.*?)'$/,Pb=/^"(.*?)"$/,_b={regular:"400",normal:"400",bold:"700",bolder:"700",lighter:"100"},Fb="single-file-ui-element",qb=u,Hb="data:,",Ub=globalThis.JSON;function Gb(n,e,t){n.querySelectorAll("noscript:not(["+Rb+"])").forEach((n=>{n.setAttribute(Rb,n.textContent),n.textContent=""})),function(n){n.querySelectorAll("meta[http-equiv=refresh]").forEach((n=>{n.removeAttribute("http-equiv"),n.setAttribute("disabled-http-equiv","refresh")}))}(n),n.head&&n.head.querySelectorAll(Bb).forEach((n=>n.hidden=!0)),n.querySelectorAll("svg foreignObject").forEach((n=>{const e=n.querySelectorAll("html > head > "+Bb+", html > body > "+Bb);e.length&&(Array.from(n.childNodes).forEach((n=>n.remove())),e.forEach((e=>n.appendChild(e))))}));const a=new Map;let o;return e&&n.documentElement?(n.querySelectorAll("button button, a a").forEach((e=>{const t=n.createElement("template");t.setAttribute(Db,""),t.content.appendChild(e.cloneNode(!0)),a.set(e,t),e.replaceWith(t)})),o=Wb(e,n,n.documentElement,t),t.moveStylesInHead&&n.querySelectorAll("body style, body ~ style").forEach((n=>{const t=ef(e,n);t&&Yb(n,t)&&(n.setAttribute(Lb,""),o.markedElements.push(n))}))):o={canvases:[],images:[],posters:[],videos:[],usedFonts:[],shadowRoots:[],markedElements:[]},{canvases:o.canvases,fonts:Array.from(mb.values()),stylesheets:Zb(n),images:o.images,posters:o.posters,videos:o.videos,usedFonts:Array.from(o.usedFonts.values()),shadowRoots:o.shadowRoots,referrer:n.referrer,markedElements:o.markedElements,invalidElements:a,scrollPosition:{x:e.scrollX,y:e.scrollY},adoptedStyleSheets:Vb(n.adoptedStyleSheets)}}function Wb(n,e,t,a,o={usedFonts:new Map,canvases:[],images:[],posters:[],videos:[],shadowRoots:[],markedElements:[]},i){if(t.childNodes){Array.from(t.childNodes).filter((e=>e instanceof n.HTMLElement||e instanceof n.SVGElement||e instanceof globalThis.HTMLElement||e instanceof globalThis.SVGElement)).forEach((t=>{let r,s,l;if(!a.autoSaveExternalSave&&(a.removeHiddenElements||a.removeUnusedFonts||a.compressHTML)&&(l=ef(n,t),(t instanceof n.HTMLElement||t instanceof globalThis.HTMLElement)&&a.removeHiddenElements&&(s=(i||t.closest("html > head"))&&Nb.includes(t.tagName.toUpperCase())||t.closest("details"),s||(r=i||Yb(t,l),r&&(t.setAttribute(bb,""),o.markedElements.push(t)))),!r)){if(a.compressHTML&&l){const n=l.getPropertyValue("white-space");n&&n.startsWith("pre")&&(t.setAttribute(yb,""),o.markedElements.push(t))}a.removeUnusedFonts&&(Kb(l,a,o.usedFonts),Kb(ef(n,t,":first-letter"),a,o.usedFonts),Kb(ef(n,t,":before"),a,o.usedFonts),Kb(ef(n,t,":after"),a,o.usedFonts))}!function(n,e,t,a,o,i,r){const s=t.tagName&&t.tagName.toUpperCase();if("CANVAS"==s)try{o.canvases.push({dataURI:t.toDataURL("image/png",""),backgroundColor:r.getPropertyValue("background-color")}),t.setAttribute(zb,o.canvases.length-1),o.markedElements.push(t)}catch(n){}if("IMG"==s){const e={currentSrc:i?Hb:a.loadDeferredImages&&t.getAttribute(Ib)||t.currentSrc};if(o.images.push(e),t.setAttribute(Sb,o.images.length-1),o.markedElements.push(t),t.removeAttribute(Ib),r=r||ef(n,t)){e.size=function(n,e,t){let a=e.naturalWidth,o=e.naturalHeight;if(!a&&!o){const i=null==e.getAttribute("style");if(t=t||ef(n,e)){let n,r,s,l,c,m,d,h,p=!1;if("content-box"==t.getPropertyValue("box-sizing")){const n=e.style.getPropertyValue("box-sizing"),t=e.style.getPropertyPriority("box-sizing"),a=e.clientWidth;e.style.setProperty("box-sizing","border-box","important"),p=e.clientWidth!=a,n?e.style.setProperty("box-sizing",n,t):e.style.removeProperty("box-sizing")}n=Xb("padding-left",t),r=Xb("padding-right",t),s=Xb("padding-top",t),l=Xb("padding-bottom",t),p?(c=Xb("border-left-width",t),m=Xb("border-right-width",t),d=Xb("border-top-width",t),h=Xb("border-bottom-width",t)):c=m=d=h=0,a=Math.max(0,e.clientWidth-n-r-c-m),o=Math.max(0,e.clientHeight-s-l-d-h),i&&e.removeAttribute("style")}}return{pxWidth:a,pxHeight:o}}(n,t,r);const a=r.getPropertyValue("box-shadow"),o=r.getPropertyValue("background-image");a&&"none"!=a||o&&"none"!=o||!(e.size.pxWidth>1||e.size.pxHeight>1)||(e.replaceable=!0,e.backgroundColor=r.getPropertyValue("background-color"),e.objectFit=r.getPropertyValue("object-fit"),e.boxSizing=r.getPropertyValue("box-sizing"),e.objectPosition=r.getPropertyValue("object-position"))}}if("VIDEO"==s){const a=t.currentSrc;if(a&&!a.startsWith("blob:")&&!a.startsWith("data:")){const e=ef(n,t.parentNode);o.videos.push({positionParent:e&&e.getPropertyValue("position"),src:a,size:{pxWidth:t.clientWidth,pxHeight:t.clientHeight},currentTime:t.currentTime}),t.setAttribute(Cb,o.videos.length-1)}if(!t.getAttribute("poster")){const n=e.createElement("canvas"),a=n.getContext("2d");n.width=t.clientWidth,n.height=t.clientHeight;try{a.drawImage(t,0,0,n.width,n.height),o.posters.push(n.toDataURL("image/png","")),t.setAttribute(xb,o.posters.length-1),o.markedElements.push(t)}catch(n){}}}"IFRAME"==s&&i&&a.removeHiddenElements&&(t.setAttribute(kb,""),o.markedElements.push(t));"INPUT"==s&&("password"!=t.type&&(t.setAttribute(Ab,t.value),o.markedElements.push(t)),"radio"!=t.type&&"checkbox"!=t.type||(t.setAttribute(Ab,t.checked),o.markedElements.push(t)));"TEXTAREA"==s&&(t.setAttribute(Ab,t.value),o.markedElements.push(t));"SELECT"==s&&t.querySelectorAll("option").forEach((n=>{n.selected&&(n.setAttribute(Ab,""),o.markedElements.push(n))}));"SCRIPT"==s&&(t.async&&""!=t.getAttribute("async")&&"async"!=t.getAttribute("async")&&(t.setAttribute(Mb,""),o.markedElements.push(t)),t.textContent=t.textContent.replace(/<\/script>/gi,"<\\/script>"))}(n,e,t,a,o,r,l);const c=!(t instanceof n.SVGElement||t instanceof globalThis.SVGElement)&&function(n){const e=globalThis.chrome;if(n.openOrClosedShadowRoot)return n.openOrClosedShadowRoot;if(!(e&&e.dom&&e.dom.openOrClosedShadowRoot))return n.shadowRoot;try{return e.dom.openOrClosedShadowRoot(n)}catch(e){return n.shadowRoot}}(t);if(c&&!t.classList.contains(Fb)){const i={};t.setAttribute(vb,o.shadowRoots.length),o.markedElements.push(t),o.shadowRoots.push(i);try{if(c.adoptedStyleSheets)if(c.adoptedStyleSheets.length)i.adoptedStyleSheets=Vb(c.adoptedStyleSheets);else if(void 0===c.adoptedStyleSheets.length){const n=n=>i.adoptedStyleSheets=n.detail.adoptedStyleSheets;t.addEventListener(ub,n),t.dispatchEvent(new CustomEvent(pb,{bubbles:!0})),t.removeEventListener(ub,n)}}catch(n){}Wb(n,e,c,a,o,r),i.content=c.innerHTML,i.mode=c.mode;try{c.adoptedStyleSheets&&void 0===c.adoptedStyleSheets.length&&t.dispatchEvent(new CustomEvent(gb,{bubbles:!0}))}catch(n){}}Wb(n,e,t,a,o,r),!a.autoSaveExternalSave&&a.removeHiddenElements&&i&&(s||""==t.getAttribute(fb)?t.parentElement&&(t.parentElement.setAttribute(fb,""),o.markedElements.push(t.parentElement)):r&&(t.setAttribute(wb,""),o.markedElements.push(t)))}))}return o}function Vb(n){return n?Array.from(n).map((n=>Array.from(n.cssRules).map((n=>n.cssText)).join("\n"))):[]}function Kb(n,e,t){if(n){const a=n.getPropertyValue("font-style")||"normal";n.getPropertyValue("font-family").split(",").forEach((o=>{if(o=Jb(o),!e.loadedFonts||e.loadedFonts.find((n=>Jb(n.family)==o&&n.style==a))){const e=Qb(n.getPropertyValue("font-weight")),i=n.getPropertyValue("font-variant")||"normal",r=[o,e,a,i];t.set(Ub.stringify(r),[o,e,a,i])}}))}}function Jb(n=""){return $b((e=n.trim(),e.replace(Qw,((n,e,t)=>{const a="0x"+e-65536;return a!=a||t?e:a<0?String.fromCharCode(a+65536):String.fromCharCode(a>>10|55296,1023&a|56320)})))).toLowerCase();var e}function Yb(n,e){let t=!1;if(e){const a=e.getPropertyValue("display"),o=e.getPropertyValue("opacity"),i=e.getPropertyValue("visibility");if(t="none"==a,!t&&("0"==o||"hidden"==i)&&n.getBoundingClientRect){const e=n.getBoundingClientRect();t=!e.width&&!e.height}}return Boolean(t)}function Zb(n){if(n){const e=[];return n.querySelectorAll("style").forEach(((t,a)=>{try{const o=n.createElement("style");o.textContent=t.textContent,n.body.appendChild(o);const i=o.sheet;o.remove();const r=Array.from(i.cssRules).map((n=>n.cssText)).join("\n"),s=Array.from(t.sheet.cssRules).map((n=>n.cssText)).join("\n");i&&r==s||(t.setAttribute(Tb,a),e[a]=Array.from(t.sheet.cssRules).map((n=>n.cssText)).join("\n"))}catch(n){}})),e}}function Xb(n,e){if(e.getPropertyValue(n).endsWith("px"))return parseFloat(e.getPropertyValue(n))}function $b(n){return(n=n.match(Ob)?n.replace(Ob,"$1"):n.replace(Pb,"$1")).trim()}function Qb(n){return _b[n.toLowerCase().trim()]||n}function nf(n){return n.flat?n.flat():n.reduce(((n,e)=>n.concat(Array.isArray(e)?nf(e):e)),[])}function ef(n,e,t){try{return n.getComputedStyle(e,t)}catch(n){}}const tf={normalizeFontFamily:Jb,flatten:nf,getFontWeight:Qb,removeQuotes:$b},af=/\s*,\s*/,of=/-/,rf=/\?/g,sf=/^U\+/i,lf=[/^normal$/,/^italic$/,/^oblique$/,/^oblique\s+/];function cf(n,e,t,a){const o={rules:{processed:0,discarded:0},fonts:{processed:0,discarded:0}},i={declared:[],used:[]},r=n.createElement("style");let s="";n.body.appendChild(r),e.forEach((e=>{const t=e.stylesheet.children;t&&(o.processed+=t.size,o.discarded+=t.size,mf(t,i),s=yf(n,t,r,s))})),t.forEach((n=>{const e=gf(n);e.length&&i.used.push(e),s=vf(n.children,r,s)})),r.remove(),s+=n.body.innerText,globalThis.getComputedStyle&&a.doc&&(i.used=i.used.map((n=>n.map((n=>{const e=n.match(/^var\((--.*)\)$/);if(e&&e[1]){const t=globalThis.getComputedStyle(a.doc.body).getPropertyValue(e[1]);return t&&t.split(",").map((n=>tf.normalizeFontFamily(n)))||n}return n})))),i.used=i.used.map((n=>tf.flatten(n))));let l,c;return i.used.find((n=>n.find((n=>n.match(/^var\(--/)))))?l=[]:(c=new Map,i.used.forEach((n=>n.forEach((n=>{if(i.declared.find((e=>e.fontFamily==n))){const e=a.usedFonts&&a.usedFonts.filter((e=>e[0]==n));e&&e.length&&c.set(n,e)}})))),l=i.declared.filter((n=>!c.has(n.fontFamily)))),e.forEach((n=>{const e=n.stylesheet.children;e&&(df(e,i.declared,l,c,s),o.rules.discarded-=e.size)})),o}function mf(n,e){n.forEach((n=>{if("Atrule"==n.type&&("media"==n.name||"supports"==n.name)&&n.block&&n.block.children)mf(n.block.children,e);else if("Rule"==n.type){const t=gf(n.block);t.length&&e.used.push(t)}else if("Atrule"==n.type&&"font-face"==n.name){const t=tf.normalizeFontFamily(uf(n.block.children,"font-family"));if(t){const a=uf(n.block.children,"font-weight")||"400",o=uf(n.block.children,"font-style")||"normal",i=uf(n.block.children,"font-variant")||"normal";a.split(",").forEach((n=>e.declared.push({fontFamily:t,fontWeight:tf.getFontWeight(tf.removeQuotes(n)),fontStyle:o,fontVariant:i})))}}}))}function df(n,e,t,a,o){const i=[];for(let r=n.head;r;r=r.next){const n=r.data;if("Atrule"==n.type&&("media"==n.name||"supports"==n.name)&&n.block&&n.block.children)df(n.block.children,e,t,a,o);else if("Atrule"==n.type&&"font-face"==n.name){const s=tf.normalizeFontFamily(uf(n.block.children,"font-family"));if(s){const l=uf(n.block.children,"unicode-range");!t.find((n=>n.fontFamily==s))&&Sf(o,l)&&hf(n,s,e,a)||i.push(r)}const l=[];for(let e=n.block.children.head;e;e=e.next)"font-display"==e.data.property&&l.push(e);l.length&&l.forEach((e=>n.block.children.remove(e)))}}i.forEach((e=>n.remove(e)))}function hf(n,e,t,a){let o;const i=a&&a.get(e);if(i&&i.length){let a=uf(n.block.children,"font-style")||"normal";if(lf.find((n=>a.trim().match(n)))){const r=tf.getFontWeight(uf(n.block.children,"font-weight")||"400"),s=t.filter((n=>n.fontFamily==e&&n.fontStyle==a)).map((n=>n.fontWeight)).sort(((n,e)=>Number.parseInt(n,10)-Number.parseInt(e,10)));let l=i.map((n=>bf(n,a,s)));o=pf(r,l),o||(l=i.map((n=>((n=Array.from(n))[2]="normal",bf(n,a,s))))),o=pf(r,l)}else o=!0}else o=!0;return o}function pf(n,e){let t;for(const a of n.split(/[ ,]/))t=t||e.includes(tf.getFontWeight(tf.removeQuotes(a)));return t}function uf(n,e){let t;if(n&&(t=n.filter((n=>n.property==e)).tail),t)try{return tf.removeQuotes(cg(t.data.value)).toLowerCase()}catch(n){}}function gf(n){let e=n.children.filter((n=>"font-family"==n.property)).tail,t=[];e&&(e.data.value.children?wf(e.data.value,t):(e=cg(e.data.value),e&&t.push(tf.normalizeFontFamily(e))));const a=n.children.filter((n=>"font"==n.property)).tail;if(a&&a.data&&a.data.value)try{const n=function(n){const e=cg(n);if(-1!==jg.indexOf(e))return{system:e};const t=n.children,a={lineHeight:"normal",stretch:"normal",style:"normal",variant:"normal",weight:"normal"};let o=!1;for(let n=t.head;n;n=n.next){const e=cg(n.data);if("normal"!==e&&-1===vg.indexOf(e))if(-1===Sg.indexOf(e))if(-1===xg.indexOf(e))if(-1===Cg.indexOf(e)){if("Dimension"==n.data.type){if(a.size=cg(n.data),n=n.next,n&&"Operator"==n.data.type&&"/"==n.data.value&&n.next?(n=n.next,a.lineHeight=cg(n.data),n=n.next):"Operator"==t.head.data.type&&"/"==t.head.data.value&&t.head.next&&(a.lineHeight=cg(t.head.next.data),n=t.head.next.next),!n)throw Lg("Missing required font-family.");a.family=[];let e="";for(;n;){for(;n&&"Operator"==n.data.type&&","==n.data.value;)n=n.next;if(n)if("Identifier"==n.data.type)for(;n&&"Identifier"==n.data.type;)e+=" "+cg(n.data),n=n.next;else e=Ag(cg(n.data)),n=n.next;e=e.trim(),e&&(a.family.push(e),e="")}return a}if("normal"!==a.variant)throw Lg("Unknown or unsupported font token: "+a.variant);o||(a.variant=e)}else{if(o)continue;a.stretch=e}else{if(o)continue;a.style=e}else{if(o)continue;a.weight=e}else["style","variant","weight","stretch"].forEach((n=>{a[n]=e})),o=!0}throw Lg("Missing required font-size.")}(a.data.value);n.family.forEach((n=>t.push(tf.normalizeFontFamily(n))))}catch(n){}return t}function wf(n,e){let t=n.children.head;for(;t;)if("Identifier"==t.data.type){let n=t.data.name,a=t.next;for(;a&&"Operator"!=a.data.type&&","!=a.data.value;)n+=" "+a.data.name,a=a.next;e.push(tf.normalizeFontFamily(n)),t=t.next}else if("Function"==t.data.type&&"var"==t.data.name&&t.data.children){const n=t.data.children.head.data.name;e.push(tf.normalizeFontFamily("var("+n+")"));let a=t.data.children.head.next;for(;a&&"Operator"==a.data.type&&","==a.data.value;)a=a.next;const o=a;o&&(o.data.children?wf(o.data,e):e.push(tf.normalizeFontFamily(o.data.value))),t=t.next}else"String"==t.data.type?(e.push(tf.normalizeFontFamily(t.data.value)),t=t.next):"Number"==t.data.type?(e.push(tf.normalizeFontFamily(String(t.data.value))),t=t.next):t=t.next}function bf(n,e,t){let a;if(t=t.map((n=>String(Number.parseInt(n,10)))),n[2]==e){let e=Number(n[1]);t.length>1?(e>=400&&e<=500&&(a=t.find((n=>n>=e&&n<=500)),a||(a=ff(e,t)),a||(a=kf(e,t))),e<400&&(a=t.slice().reverse().find((n=>n<=e)),a||(a=kf(e,t))),e>500&&(a=t.find((n=>n>=e)),a||(a=ff(e,t)))):a=t[0]}return a}function ff(n,e){return e.slice().reverse().find((e=>e<n))}function kf(n,e){return e.find((e=>e>n))}function yf(n,e,t,a){return e.forEach((e=>{e.block&&e.block.children&&e.prelude&&e.prelude.children&&("Atrule"!=e.type||"media"!=e.name&&"supports"!=e.name?"Rule"==e.type&&(a=vf(e.block.children,t,a)):a=yf(n,e.block.children,t,a))})),a}function vf(n,e,t){const a=jf(n,"content",e),o=jf(n,"quotes",e);return t.includes(a)||(t+=a),t.includes(o)||(t+=o),t}function jf(n,e,t){const a=uf(n,e)||"";return a?(t.textContent='tmp { content:"'+a+'"}',t.sheet&&t.sheet.cssRules?tf.removeQuotes(t.sheet.cssRules[0].style.getPropertyValue("content")):a):""}function Sf(n,e){if(e){const t=e.split(af);let a;const o=t.filter((e=>{const t=e.split(of);let o;if(2==t.length&&(t[0]=xf(t[0]),o="["+t[0]+"-"+xf("U+"+t[1])+"]"),1==t.length)if(t[0].includes("?")){const n=xf(t[0]),e=n;o="["+n.replace(rf,"0")+"-"+e.replace(rf,"F")+"]"}else t[0]&&(o="["+xf(t[0])+"]");if(o)try{return new RegExp(o,"u").test(n)}catch(n){return a=!0,!1}return!0}));return!a&&(!t.length||o.length)}return!0}function xf(n){for(n=n.replace(sf,"");n.length<6;)n="0"+n;return"\\u{"+n+"}"}const Cf="all",zf=["after","before","first-letter","first-line","placeholder","selection","part","marker"],Lf="sf-hidden",Af="display",If=/-(ms|webkit|moz|o)-/;class Tf{constructor(n,e,t){this.doc=n,this.mediaAllInfo=Rf(Cf);const a=new Map;let o=0;const i=n.createElement("style");n.body.appendChild(i);const r=n.createElement("span");n.body.appendChild(r),e.forEach((e=>{if(!e.scoped){const r=e.stylesheet.children;if(r)if(e.mediaText&&e.mediaText!=Cf){const s=Rf(e.mediaText);this.mediaAllInfo.medias.set("style-"+o+"-"+e.mediaText,s),Ef(n,r,s,o,t,a,i)}else Ef(n,r,this.mediaAllInfo,o,t,a,i)}o++})),Nf(this.mediaAllInfo),Mf(this.mediaAllInfo,[],this.mediaAllInfo,i,r),i.remove(),r.remove()}getMediaAllInfo(){return this.mediaAllInfo}}function Rf(n){const e={media:n,elements:new Map,medias:new Map,rules:new Map,pseudoRules:new Map};return n==Cf&&(e.matchedStyles=new Map),e}function Ef(n,e,t,a,o,i,r){let s=0,l=0;e.forEach((e=>{if(e.block&&e.block.children&&e.prelude&&e.prelude.children)if("Atrule"==e.type&&"media"==e.name){const l=cg(e.prelude),c=Rf(l);t.medias.set("rule-"+a+"-"+s+"-"+l,c),s++,Ef(n,e.block.children,c,a,o,i,r)}else if("Rule"==e.type){const s=e.prelude.children.toArray(),c=e.prelude.children.toArray().map((n=>cg(n))),m={ruleData:e,mediaInfo:t,ruleIndex:l,sheetIndex:a,matchedSelectors:new Set,declarations:new Set,selectors:s,selectorsText:c};if(!function(n,e){return e.textContent=n+"{}",e.sheet?!e.sheet.cssRules.length:e.sheet}(c.join(","),r)||c.find((n=>n.includes("|"))))for(let t=e.prelude.children.head,a=0;t;t=t.next,a++){const e=c[a];Df(n,{selector:t,selectorText:e,ruleInfo:m},o,i)}l++}}))}function Df(n,e,t,a){const o=function(n,e){const t=[];let a;i(n={data:lg(cg(n.data),{context:"selector"})}),a&&(e=cg(n.data).trim());o(n),t.length&&(t.forEach((({parentSelector:n,selector:e})=>{0!=n.data.children.size&&e.prev&&"Combinator"!=e.prev.data.type&&"WhiteSpace"!=e.prev.data.type?n.data.children.remove(e):n.data.children.replace(e,lg("*",{context:"selector"}).children.head)})),e=cg(n.data).trim());return e;function o(n,e){if(n.data.children)for(let e=n.data.children.head;e;e=e.next)o(e,n);("PseudoClassSelector"==n.data.type||"PseudoElementSelector"==n.data.type&&(r(n)||zf.includes(n.data.name)))&&t.push({parentSelector:e,selector:n})}function i(n){if(n.data.children)for(let e=n.data.children.head;e;e=e.next)i(e);"TypeSelector"==n.data.type&&n.data.name.includes("|")&&(a=!0,n.data.name=n.data.name.substring(n.data.name.lastIndexOf("|")+1))}function r(n){const e=n.data.name;return e.startsWith("-")||e.startsWith("\\-")}}(e.selector,e.selectorText),i=o!=e.selectorText?o:e.selectorText,r=a.get(i);let s=r;if(!s)try{s=n.querySelectorAll(i),i!="."+Lf&&(s=Array.from(n.querySelectorAll(i)).filter((n=>!n.classList.contains(Lf)&&("none"!=n.style.getPropertyValue(Af)||"important"!=n.style.getPropertyPriority("display")))))}catch(n){}if(s&&(r||a.set(i,s),s.length))if(o==e.selectorText)s.forEach((n=>function(n,e,t){const a=e.ruleInfo.mediaInfo,o=t.get(n);let i=a.elements.get(n);i||(i=[],o&&i.push({styleInfo:{styleData:o,declarations:new Set}}),a.elements.set(n,i));const r=Of(e.selector.data);r.ruleIndex=e.ruleInfo.ruleIndex,r.sheetIndex=e.ruleInfo.sheetIndex,e.specificity=r,i.push(e)}(n,e,t)));else{let n=e.ruleInfo.mediaInfo.pseudoRules.get(e.ruleInfo.ruleData);n||(n=new Set,e.ruleInfo.mediaInfo.pseudoRules.set(e.ruleInfo.ruleData,n)),n.add(e.selectorText)}}function Mf(n,e,t,a,o){n.elements.forEach((a=>function(n,e,t){const a=new Map,o=new Set;return n.forEach((n=>{let e;e=n.styleInfo?n.styleInfo.styleData.children:n.ruleInfo.ruleData.block.children,function(n,e,t,a,o,i){for(let o=e.tail;o;o=o.prev){const e=o.data,r=cg(e);if("Declaration"==e.type&&(r.match(If)||!a.has(e.property)||e.important)&&!Bf(r,i)){const o=n.get(e);(!o||e.important&&!o.important)&&(n.set(e,{selectorInfo:t,important:e.important}),r.match(If)||a.add(e.property))}}}(a,e,n,o,0,t)})),a}(a,0,o).forEach(((a,o)=>{if(a.selectorInfo.ruleInfo||n==t){let i;if(a.selectorInfo.ruleInfo){i=a.selectorInfo.ruleInfo;const t=i.ruleData;([n,...e].find((n=>n.rules.get(t)))||n).rules.set(t,i),t&&i.matchedSelectors.add(a.selectorInfo.selectorText)}else{i=a.selectorInfo.styleInfo;const n=i.styleData;t.matchedStyles.get(n)||t.matchedStyles.set(n,i)}i.declarations.has(o)||i.declarations.add(o)}})))),delete n.elements,n.medias.forEach((i=>Mf(i,[n,...e],t,a,o)))}function Bf(n,e){let t;return e.style=n,e.style.length||n.match(If)||(t=!0),t}function Nf(n){n.elements.forEach((n=>n.sort(((n,e)=>{return n.styleInfo&&!e.styleInfo?-1:!n.styleInfo&&e.styleInfo?1:(t=n.specificity,a=e.specificity,t.a>a.a?-1:t.a<a.a?1:t.b>a.b?-1:t.b<a.b?1:t.c>a.c?-1:t.c<a.c?1:t.sheetIndex>a.sheetIndex?-1:t.sheetIndex<a.sheetIndex?1:t.ruleIndex>a.ruleIndex?-1:t.ruleIndex<a.ruleIndex?1:-1);var t,a})))),n.medias.forEach(Nf)}function Of(n,e={a:0,b:0,c:0}){return"IdSelector"==n.type&&e.a++,("ClassSelector"==n.type||"AttributeSelector"==n.type||"PseudoClassSelector"==n.type&&"not"!=n.name)&&e.b++,("TypeSelector"==n.type&&"*"!=n.name||"PseudoElementSelector"==n.type)&&e.c++,n.children&&n.children.forEach((n=>Of(n,e))),e}const Pf={flatten:nf},_f="all",Ff="screen";function qf(n){const e={processed:0,discarded:0};return n.forEach(((t,a)=>{if(Uf(t.mediaText||_f,Ff)&&t.stylesheet.children){Hf(t.stylesheet.children,e).forEach((({cssRules:n,cssRule:e})=>n.remove(e)))}else n.delete(a),a.element&&a.element.remove()})),e}function Hf(n,e,t=[]){for(let a=n.head;a;a=a.next){const o=a.data;"Atrule"==o.type&&"media"==o.name&&o.block&&o.block.children&&o.prelude&&o.prelude.children&&(e.processed++,Uf(cg(o.prelude),Ff)?Hf(o.block.children,e,t):(t.push({cssRules:n,cssRule:a}),e.discarded++))}return t}function Uf(n,e){return Pf.flatten(function(n){const e=[];let t=0,a=0;const o=/^(\s*)url\s*\(/.exec(n);if(null!==o){let a=o[0].length,i=1;for(;i>0;){const e=n[a];"("===e&&i++,")"===e&&i--,a++}e.unshift(new Eg({type:"url",value:n.substring(0,a).trim(),sourceIndex:o[1].length,before:o[1],after:/^(\s*)/.exec(n.substring(a))[1]})),t=a}for(let o=t;o<n.length;o++){const i=n[o];if("("===i&&a++,")"===i&&a--,0===a&&","===i){const a=n.substring(t,o),i=/^(\s*)/.exec(a)[1];e.push(new Rg({type:"media-query",value:a.trim(),sourceIndex:t+i.length,nodes:Tg(a,t),before:i,after:/(\s*)$/.exec(a)[1]})),t=o+1}}const i=n.substring(t),r=/^(\s*)/.exec(i)[1];return e.push(new Rg({type:"media-query",value:i.trim(),sourceIndex:t+r.length,nodes:Tg(i,t),before:r,after:/(\s*)$/.exec(i)[1]})),e}(n).map((n=>Gf(n,e)))).find((n=>!n.not&&(n.value==e||n.value==_f)||n.not&&(n.value==_f||n.value!=e)))}function Gf(n,e,t=[]){return n.nodes.map(((a,o)=>{if("media-query"==a.type)return Gf(a,e,t);if("media-type"==a.type){const e={not:Boolean(o&&"keyword"==n.nodes[0].type&&"not"==n.nodes[0].value),value:a.value};t.find((n=>e.not==n.not&&e.value==n.value))||t.push(e)}})),t.length||t.push({not:!1,value:_f}),t}function Wf(n,e,t){const a={processed:0,discarded:0};let o=0;return n.forEach((n=>{if(!n.scoped){const e=n.stylesheet.children;if(e){let i;a.processed+=e.size,a.discarded+=e.size,i=n.mediaText&&"all"!=n.mediaText?t.medias.get("style-"+o+"-"+n.mediaText):t,Vf(e,o,i),a.discarded-=e.size}}o++})),e.forEach((n=>function(n,e){const t=[],a=e.matchedStyles.get(n);if(a){let e;for(let o=n.children.head;o&&!e;o=o.next)a.declarations.has(o.data)||t.push(o);t.forEach((e=>n.children.remove(e)))}}(n,t))),a}function Vf(n,e,t){let a=0;const o=[];for(let i=n.head;i;i=i.next){const n=i.data;if(n.block&&n.block.children&&n.prelude&&n.prelude.children){if("Atrule"==n.type&&"media"==n.name){const r=cg(n.prelude);Vf(n.block.children,e,t.medias.get("rule-"+e+"-"+a+"-"+r)),n.prelude.children.size&&n.block.children.size||o.push(i),a++}else if("Rule"==n.type){const e=t.rules.get(n),a=t.pseudoRules.get(n);e||a?e&&(Kf(n,e,a),n.prelude.children.size&&n.block.children.size||o.push(i)):o.push(i)}}else n&&"Raw"!=n.type&&("Rule"!=n.type||n.prelude&&"Raw"!=n.prelude.type)||o.push(i)}o.forEach((e=>n.remove(e)))}function Kf(n,e,t){const a=[],o=[];let i;for(let a=n.prelude.children.head;a;a=a.next){const n=cg(a.data);t&&t.has(n)&&(i=!0),e.matchedSelectors.has(n)||t&&t.has(n)||o.push(a)}if(!i)for(let t=n.block.children.tail;t;t=t.prev)e.declarations.has(t.data)||a.push(t);a.forEach((e=>n.block.children.remove(e))),o.forEach((e=>n.prelude.children.remove(e)))}const Jf="data:,";function Yf(n){n.querySelectorAll("picture").forEach((n=>{const e=n.querySelector("img");if(e){let{src:t,srcset:a}=Zf(e);if(!t){const e=function(n){let e=n.find((n=>n.src)),t=e&&e.src,a=e&&e.srcset;t||(e=n.find((n=>$f(n.src))),t=e&&e.src,t==Jf&&(t=null));a||(e=n.find((n=>$f(n.srcset))),a=e&&e.srcset,a==Jf&&(a=null));return{src:t,srcset:a}}(Array.from(n.querySelectorAll("source")).reverse());t=e.src,a||(a=e.srcset)}Xf({src:t,srcset:a},e,n)}})),n.querySelectorAll(":not(picture) > img[srcset]").forEach((n=>Xf(Zf(n),n)))}function Zf(n){let e=n.getAttribute("src");e==Jf&&(e=null);let t=$f(n.getAttribute("srcset"));return t==Jf&&(t=null),{src:e,srcset:t}}function Xf(n,e,t){n.src?(e.setAttribute("src",n.src),e.setAttribute("srcset",""),e.setAttribute("sizes","")):(e.setAttribute("src",Jf),n.srcset?e.setAttribute("srcset",n.srcset):(e.setAttribute("srcset",""),e.setAttribute("sizes",""))),t&&t.querySelectorAll("source").forEach((n=>n.remove()))}function $f(n){if(n)try{const e=nb(n);if(e.length)return e.find((n=>n.url)).url}catch(n){}}const Qf=["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"],nk=["SCRIPT","STYLE","PRE","TEXTAREA"],ek=["id","class","style","lang","dir","onclick","ondblclick","onmousedown","onmouseup","onmouseover","onmousemove","onmouseout","onkeypress","onkeydown","onkeyup"],tk={FORM:{method:"get"},SCRIPT:{language:"javascript",type:"text/javascript",charset:n=>!n.getAttribute("src")},STYLE:{media:"all",type:"text/css"},LINK:{media:"all"}},ak=/[ \t\f\r]+/g,ok=/[\n]+/g,ik=/^\s+$/,rk=4294967295,sk=[function(n){1==n.nodeType&&Array.from(n.attributes).forEach((e=>{Qf.includes(e.name)&&n.setAttribute(e.name,"")}))},function(n){3==n.nodeType&&n.previousSibling&&3==n.previousSibling.nodeType&&(n.textContent=n.previousSibling.textContent+n.textContent,n.previousSibling.remove())},function(n,e){if(3==n.nodeType){let t=n.parentElement;if(!(""==t.getAttribute(e.PRESERVED_SPACE_ELEMENT_ATTRIBUTE_NAME))){const e=n.textContent;let a=lk(t);for(;a;)t=t.parentElement,a=t&&lk(t);(!t||a)&&e.length>1&&(n.textContent=e.replace(ak,function(n){return n.parentElement&&"HEAD"==ck(n.parentElement)?"\n":" "}(n)).replace(ok,"\n"))}}},function(n){if(8==n.nodeType&&"HTML"!=ck(n.parentElement))return!n.textContent.toLowerCase().trim().startsWith("[if")},function(n){1==n.nodeType&&Array.from(n.attributes).forEach((e=>{if(ek.includes(e.name.toLowerCase())){const t=n.getAttribute(e.name);(""==t||(t||"").match(ik))&&n.removeAttribute(e.name)}}))},function(n){if(1==n.nodeType){const e=tk[ck(n)];e&&Object.keys(e).forEach((t=>{const a=e[t];("function"==typeof a?a(n):n.getAttribute(t)==a)&&n.removeAttribute(t)}))}},function(n){if(1==n.nodeType&&"SCRIPT"==ck(n)&&"application/ld+json"==n.type&&n.textContent.trim())try{n.textContent=JSON.stringify(JSON.parse(n.textContent))}catch(n){}},n=>function(n,e,t){if(1==n.nodeType&&ck(n)==e.toUpperCase()){let e=n.previousSibling;const a=[];for(;e&&3==e.nodeType&&!e.textContent.trim();)a.push(e),e=e.previousSibling;e&&1==e.nodeType&&e.tagName==n.tagName&&t(n,e)&&(n.textContent=e.textContent+n.textContent,a.forEach((n=>n.remove())),e.remove())}}(n,"style",((n,e)=>n.parentElement&&"HEAD"==ck(n.parentElement)&&n.media==e.media&&n.title==e.title))];function lk(n){return n&&!nk.includes(ck(n))}function ck(n){return n.tagName&&n.tagName.toUpperCase()}function mk(n,e,t,a){this.message=n,this.expected=e,this.found=t,this.location=a,this.name="SyntaxError","function"==typeof Error.captureStackTrace&&Error.captureStackTrace(this,mk)}async function dk(n,e){e=void 0!==e?e:{};var t,a={},o={start:en},i=en,r="|",s=Z("|",!1),l=function(n){return n},c="%",m=Z("%",!1),d="<",h=Z("<",!1),p=">",u=Z(">",!1),g=function(n,t,a){return e.callFunction(n,t,a)},w="{",b=Z("{",!1),f="}",k=Z("}",!1),y=function(n,t){return e.getVariableValue(n,t)},v="[",j=Z("[",!1),S="]",x=Z("]",!1),C=function(n,e){return{length:n,unit:e}},z="ch",L=Z("ch",!1),A=/^[a-z0-9-]/,I=X([["a","z"],["0","9"],"-"],!1,!1),T=function(){return Y()},R=/^[0-9]/,E=X([["0","9"]],!1,!1),D=function(){return Number(Y())},M="\\\\{",B=Z("\\\\{",!1),N="\\\\>",O=Z("\\\\>",!1),P="\\\\%",_=Z("\\\\%",!1),F="\\\\|",q=Z("\\\\|",!1),H={type:"any"},U=0,G=0,W=[{line:1,column:1}],V=0,K=[],J=0;if("startRule"in e){if(!(e.startRule in o))throw new Error("Can't start parsing from rule \""+e.startRule+'".');i=o[e.startRule]}function Y(){return n.substring(G,U)}function Z(n,e){return{type:"literal",text:n,ignoreCase:e}}function X(n,e,t){return{type:"class",parts:n,inverted:e,ignoreCase:t}}function $(e){var t,a=W[e];if(a)return a;for(t=e-1;!W[t];)t--;for(a={line:(a=W[t]).line,column:a.column};t<e;)10===n.charCodeAt(t)?(a.line++,a.column=1):a.column++,t++;return W[e]=a,a}function Q(n,e){var t=$(n),a=$(e);return{start:{offset:n,line:t.line,column:t.column},end:{offset:e,line:a.line,column:a.column}}}function nn(n){U<V||(U>V&&(V=U,K=[]),K.push(n))}async function en(){return await async function(){var n,e;n=[],e=await tn();for(;e!==a;)n.push(e),e=await tn();return n}()}async function tn(){var e;return(e=await async function(){var e,t,o,i,r,s,l;e=U,37===n.charCodeAt(U)?(t=c,U++):(t=a,0===J&&nn(m));t!==a&&(o=rn())!==a?(60===n.charCodeAt(U)?(i=d,U++):(i=a,0===J&&nn(h)),i!==a?(r=await async function(){var n,e,t,o;if(n=U,e=await an(),e!==a){for(t=[],o=await an();o!==a;)t.push(o),o=await an();t!==a?n=e=[e,t]:(U=n,n=a)}else U=n,n=a;return n}(),r!==a?(62===n.charCodeAt(U)?(s=p,U++):(s=a,0===J&&nn(u)),s!==a?((l=on())===a&&(l=null),l!==a?(G=e,e=t=await g(o,r,l)):(U=e,e=a)):(U=e,e=a)):(U=e,e=a)):(U=e,e=a)):(U=e,e=a);return e}())===a&&(e=await async function(){var e,t,o,i,r;e=U,123===n.charCodeAt(U)?(t=w,U++):(t=a,0===J&&nn(b));t!==a&&(o=rn())!==a?(125===n.charCodeAt(U)?(i=f,U++):(i=a,0===J&&nn(k)),i!==a?((r=on())===a&&(r=null),r!==a?(G=e,e=t=await y(o,r)):(U=e,e=a)):(U=e,e=a)):(U=e,e=a);return e}())===a&&(e=function(){var n,e,t;if(n=U,e=[],(t=sn())!==a)for(;t!==a;)e.push(t),t=sn();else e=a;e!==a&&(G=n,e=T());return n=e,n}()),e}async function an(){var e,t,o;return e=U,124===n.charCodeAt(U)?(t=r,U++):(t=a,0===J&&nn(s)),t===a&&(t=null),t!==a&&(o=await tn())!==a?(G=e,e=t=l(o)):(U=e,e=a),e}function on(){var e,t,o,i,r;return e=U,91===n.charCodeAt(U)?(t=v,U++):(t=a,0===J&&nn(j)),t!==a?(o=function(){var e,t,o;e=U,t=[],R.test(n.charAt(U))?(o=n.charAt(U),U++):(o=a,0===J&&nn(E));if(o!==a)for(;o!==a;)t.push(o),R.test(n.charAt(U))?(o=n.charAt(U),U++):(o=a,0===J&&nn(E));else t=a;t!==a&&(G=e,t=D());return e=t,e}(),o!==a?(i=function(){var e;n.substr(U,2)===z?(e=z,U+=2):(e=a,0===J&&nn(L));e===a&&(e=null);return e}(),i!==a?(93===n.charCodeAt(U)?(r=S,U++):(r=a,0===J&&nn(x)),r!==a?(G=e,e=t=C(o,i)):(U=e,e=a)):(U=e,e=a)):(U=e,e=a)):(U=e,e=a),e}function rn(){var e,t,o;if(e=U,t=[],A.test(n.charAt(U))?(o=n.charAt(U),U++):(o=a,0===J&&nn(I)),o!==a)for(;o!==a;)t.push(o),A.test(n.charAt(U))?(o=n.charAt(U),U++):(o=a,0===J&&nn(I));else t=a;return t!==a&&(G=e,t=T()),e=t}function sn(){var e,t,o,i,l,d;return e=U,t=U,J++,123===n.charCodeAt(U)?(o=w,U++):(o=a,0===J&&nn(b)),J--,o===a?t=void 0:(U=t,t=a),t!==a?(o=U,J++,62===n.charCodeAt(U)?(i=p,U++):(i=a,0===J&&nn(u)),J--,i===a?o=void 0:(U=o,o=a),o!==a?(i=U,J++,37===n.charCodeAt(U)?(l=c,U++):(l=a,0===J&&nn(m)),J--,l===a?i=void 0:(U=i,i=a),i!==a?(l=U,J++,124===n.charCodeAt(U)?(d=r,U++):(d=a,0===J&&nn(s)),J--,d===a?l=void 0:(U=l,l=a),l!==a?(d=function(){var e;n.substr(U,3)===M?(e=M,U+=3):(e=a,0===J&&nn(B));e===a&&(n.substr(U,3)===N?(e=N,U+=3):(e=a,0===J&&nn(O)),e===a&&(n.substr(U,3)===P?(e=P,U+=3):(e=a,0===J&&nn(_)),e===a&&(n.substr(U,3)===F?(e=F,U+=3):(e=a,0===J&&nn(q)),e===a&&(n.length>U?(e=n.charAt(U),U++):(e=a,0===J&&nn(H))))));return e}(),d!==a?e=t=[t,o,i,l,d]:(U=e,e=a)):(U=e,e=a)):(U=e,e=a)):(U=e,e=a)):(U=e,e=a),e}if((t=await i())!==a&&U===n.length)return t;throw t!==a&&U<n.length&&nn({type:"end"}),function(n,e,t){return new mk(mk.buildMessage(n,e),n,e,t)}(K,V<n.length?n.charAt(V):null,V<n.length?Q(V,V+1):Q(V,V))}!function(n,e){function t(){this.constructor=n}t.prototype=e.prototype,n.prototype=new t}(mk,Error),mk.buildMessage=function(n,e){var t={literal:function(n){return'"'+o(n.text)+'"'},class:function(n){var e,t="";for(e=0;e<n.parts.length;e++)t+=n.parts[e]instanceof Array?i(n.parts[e][0])+"-"+i(n.parts[e][1]):i(n.parts[e]);return"["+(n.inverted?"^":"")+t+"]"},any:function(){return"any character"},end:function(){return"end of input"},other:function(n){return n.description}};function a(n){return n.charCodeAt(0).toString(16).toUpperCase()}function o(n){return n.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(n){return"\\x0"+a(n)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(n){return"\\x"+a(n)}))}function i(n){return n.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(n){return"\\x0"+a(n)})).replace(/[\x10-\x1F\x7F-\x9F]/g,(function(n){return"\\x"+a(n)}))}return"Expected "+function(n){var e,a,o,i=new Array(n.length);for(e=0;e<n.length;e++)i[e]=(o=n[e],t[o.type](o));if(i.sort(),i.length>0){for(e=1,a=1;e<i.length;e++)i[e-1]!==i[e]&&(i[a]=i[e],a++);i.length=a}switch(i.length){case 1:return i[0];case 2:return i[0]+" or "+i[1];default:return i.slice(0,-1).join(", ")+", or "+i[i.length-1]}}(n)+" but "+function(n){return n?'"'+o(n)+'"':"end of input"}(e)+" found."};const hk=["~","+","\\\\","?","%","*",":","|",'"',"<",">","\0-",""],pk="_",uk={"😀":"grinning-face","😃":"grinning-face-with-big-eyes","😄":"grinning-face-with-smiling-eyes","😁":"beaming-face-with-smiling-eyes","😆":"grinning-squinting-face","😅":"grinning-face-with-sweat","🤣":"rolling-on-the-floor-laughing","😂":"face-with-tears-of-joy","🙂":"slightly-smiling-face","🙃":"upside-down-face","🫠":"melting-face","😉":"winking-face","😊":"smiling-face-with-smiling-eyes","😇":"smiling-face-with-halo","🥰":"smiling-face-with-hearts","😍":"smiling-face-with-heart-eyes","🤩":"star-struck","😘":"face-blowing-a-kiss","😗":"kissing-face","☺":"smiling-face","😚":"kissing-face-with-closed-eyes","😙":"kissing-face-with-smiling-eyes","🥲":"smiling-face-with-tear","😋":"face-savoring-food","😛":"face-with-tongue","😜":"winking-face-with-tongue","🤪":"zany-face","😝":"squinting-face-with-tongue","🤑":"money-mouth-face","🤗":"smiling-face-with-open-hands","🤭":"face-with-hand-over-mouth","🫢":"face-with-open-eyes-and-hand-over-mouth","🫣":"face-with-peeking-eye","🤫":"shushing-face","🤔":"thinking-face","🫡":"saluting-face","🤐":"zipper-mouth-face","🤨":"face-with-raised-eyebrow","😐":"neutral-face","😑":"expressionless-face","😶":"face-without-mouth","🫥":"dotted-line-face","😶🌫️":"face-in-clouds","😏":"smirking-face","😒":"unamused-face","🙄":"face-with-rolling-eyes","😬":"grimacing-face","😮💨":"face-exhaling","🤥":"lying-face","🫨":"⊛-shaking-face","😌":"relieved-face","😔":"pensive-face","😪":"sleepy-face","🤤":"drooling-face","😴":"sleeping-face","😷":"face-with-medical-mask","🤒":"face-with-thermometer","🤕":"face-with-head-bandage","🤢":"nauseated-face","🤮":"face-vomiting","🤧":"sneezing-face","🥵":"hot-face","🥶":"cold-face","🥴":"woozy-face","😵":"face-with-crossed-out-eyes","😵💫":"face-with-spiral-eyes","🤯":"exploding-head","🤠":"cowboy-hat-face","🥳":"partying-face","🥸":"disguised-face","😎":"smiling-face-with-sunglasses","🤓":"nerd-face","🧐":"face-with-monocle","😕":"confused-face","🫤":"face-with-diagonal-mouth","😟":"worried-face","🙁":"slightly-frowning-face","☹":"frowning-face","😮":"face-with-open-mouth","😯":"hushed-face","😲":"astonished-face","😳":"flushed-face","🥺":"pleading-face","🥹":"face-holding-back-tears","😦":"frowning-face-with-open-mouth","😧":"anguished-face","😨":"fearful-face","😰":"anxious-face-with-sweat","😥":"sad-but-relieved-face","😢":"crying-face","😭":"loudly-crying-face","😱":"face-screaming-in-fear","😖":"confounded-face","😣":"persevering-face","😞":"disappointed-face","😓":"downcast-face-with-sweat","😩":"weary-face","😫":"tired-face","🥱":"yawning-face","😤":"face-with-steam-from-nose","😡":"enraged-face","😠":"angry-face","🤬":"face-with-symbols-on-mouth","😈":"smiling-face-with-horns","👿":"angry-face-with-horns","💀":"skull","☠":"skull-and-crossbones","💩":"pile-of-poo","🤡":"clown-face","👹":"ogre","👺":"goblin","👻":"ghost","👽":"alien","👾":"alien-monster","🤖":"robot","😺":"grinning-cat","😸":"grinning-cat-with-smiling-eyes","😹":"cat-with-tears-of-joy","😻":"smiling-cat-with-heart-eyes","😼":"cat-with-wry-smile","😽":"kissing-cat","🙀":"weary-cat","😿":"crying-cat","😾":"pouting-cat","🙈":"see-no-evil-monkey","🙉":"hear-no-evil-monkey","🙊":"speak-no-evil-monkey","💌":"love-letter","💘":"heart-with-arrow","💝":"heart-with-ribbon","💖":"sparkling-heart","💗":"growing-heart","💓":"beating-heart","💞":"revolving-hearts","💕":"two-hearts","💟":"heart-decoration","❣":"heart-exclamation","💔":"broken-heart","❤️🔥":"heart-on-fire","❤️🩹":"mending-heart","❤":"red-heart","🩷":"⊛-pink-heart","🧡":"orange-heart","💛":"yellow-heart","💚":"green-heart","💙":"blue-heart","🩵":"⊛-light-blue-heart","💜":"purple-heart","🤎":"brown-heart","🖤":"black-heart","🩶":"⊛-grey-heart","🤍":"white-heart","💋":"kiss-mark","💯":"hundred-points","💢":"anger-symbol","💥":"collision","💫":"dizzy","💦":"sweat-droplets","💨":"dashing-away","🕳":"hole","💬":"speech-balloon","👁️🗨️":"eye-in-speech-bubble","🗨":"left-speech-bubble","🗯":"right-anger-bubble","💭":"thought-balloon","💤":"zzz","👋":"waving-hand","🤚":"raised-back-of-hand","🖐":"hand-with-fingers-splayed","✋":"raised-hand","🖖":"vulcan-salute","🫱":"rightwards-hand","🫲":"leftwards-hand","🫳":"palm-down-hand","🫴":"palm-up-hand","🫷":"⊛-leftwards-pushing-hand","🫸":"⊛-rightwards-pushing-hand","👌":"ok-hand","🤌":"pinched-fingers","🤏":"pinching-hand","✌":"victory-hand","🤞":"crossed-fingers","🫰":"hand-with-index-finger-and-thumb-crossed","🤟":"love-you-gesture","🤘":"sign-of-the-horns","🤙":"call-me-hand","👈":"backhand-index-pointing-left","👉":"backhand-index-pointing-right","👆":"backhand-index-pointing-up","🖕":"middle-finger","👇":"backhand-index-pointing-down","☝":"index-pointing-up","🫵":"index-pointing-at-the-viewer","👍":"thumbs-up","👎":"thumbs-down","✊":"raised-fist","👊":"oncoming-fist","🤛":"left-facing-fist","🤜":"right-facing-fist","👏":"clapping-hands","🙌":"raising-hands","🫶":"heart-hands","👐":"open-hands","🤲":"palms-up-together","🤝":"handshake","🙏":"folded-hands","✍":"writing-hand","💅":"nail-polish","🤳":"selfie","💪":"flexed-biceps","🦾":"mechanical-arm","🦿":"mechanical-leg","🦵":"leg","🦶":"foot","👂":"ear","🦻":"ear-with-hearing-aid","👃":"nose","🧠":"brain","🫀":"anatomical-heart","🫁":"lungs","🦷":"tooth","🦴":"bone","👀":"eyes","👁":"eye","👅":"tongue","👄":"mouth","🫦":"biting-lip","👶":"baby","🧒":"child","👦":"boy","👧":"girl","🧑":"person","👱":"person-blond-hair","👨":"man","🧔":"person-beard","🧔♂️":"man-beard","🧔♀️":"woman-beard","👨🦰":"man-red-hair","👨🦱":"man-curly-hair","👨🦳":"man-white-hair","👨🦲":"man-bald","👩":"woman","👩🦰":"woman-red-hair","🧑🦰":"person-red-hair","👩🦱":"woman-curly-hair","🧑🦱":"person-curly-hair","👩🦳":"woman-white-hair","🧑🦳":"person-white-hair","👩🦲":"woman-bald","🧑🦲":"person-bald","👱♀️":"woman-blond-hair","👱♂️":"man-blond-hair","🧓":"older-person","👴":"old-man","👵":"old-woman","🙍":"person-frowning","🙍♂️":"man-frowning","🙍♀️":"woman-frowning","🙎":"person-pouting","🙎♂️":"man-pouting","🙎♀️":"woman-pouting","🙅":"person-gesturing-no","🙅♂️":"man-gesturing-no","🙅♀️":"woman-gesturing-no","🙆":"person-gesturing-ok","🙆♂️":"man-gesturing-ok","🙆♀️":"woman-gesturing-ok","💁":"person-tipping-hand","💁♂️":"man-tipping-hand","💁♀️":"woman-tipping-hand","🙋":"person-raising-hand","🙋♂️":"man-raising-hand","🙋♀️":"woman-raising-hand","🧏":"deaf-person","🧏♂️":"deaf-man","🧏♀️":"deaf-woman","🙇":"person-bowing","🙇♂️":"man-bowing","🙇♀️":"woman-bowing","🤦":"person-facepalming","🤦♂️":"man-facepalming","🤦♀️":"woman-facepalming","🤷":"person-shrugging","🤷♂️":"man-shrugging","🤷♀️":"woman-shrugging","🧑⚕️":"health-worker","👨⚕️":"man-health-worker","👩⚕️":"woman-health-worker","🧑🎓":"student","👨🎓":"man-student","👩🎓":"woman-student","🧑🏫":"teacher","👨🏫":"man-teacher","👩🏫":"woman-teacher","🧑⚖️":"judge","👨⚖️":"man-judge","👩⚖️":"woman-judge","🧑🌾":"farmer","👨🌾":"man-farmer","👩🌾":"woman-farmer","🧑🍳":"cook","👨🍳":"man-cook","👩🍳":"woman-cook","🧑🔧":"mechanic","👨🔧":"man-mechanic","👩🔧":"woman-mechanic","🧑🏭":"factory-worker","👨🏭":"man-factory-worker","👩🏭":"woman-factory-worker","🧑💼":"office-worker","👨💼":"man-office-worker","👩💼":"woman-office-worker","🧑🔬":"scientist","👨🔬":"man-scientist","👩🔬":"woman-scientist","🧑💻":"technologist","👨💻":"man-technologist","👩💻":"woman-technologist","🧑🎤":"singer","👨🎤":"man-singer","👩🎤":"woman-singer","🧑🎨":"artist","👨🎨":"man-artist","👩🎨":"woman-artist","🧑✈️":"pilot","👨✈️":"man-pilot","👩✈️":"woman-pilot","🧑🚀":"astronaut","👨🚀":"man-astronaut","👩🚀":"woman-astronaut","🧑🚒":"firefighter","👨🚒":"man-firefighter","👩🚒":"woman-firefighter","👮":"police-officer","👮♂️":"man-police-officer","👮♀️":"woman-police-officer","🕵":"detective","🕵️♂️":"man-detective","🕵️♀️":"woman-detective","💂":"guard","💂♂️":"man-guard","💂♀️":"woman-guard","🥷":"ninja","👷":"construction-worker","👷♂️":"man-construction-worker","👷♀️":"woman-construction-worker","🫅":"person-with-crown","🤴":"prince","👸":"princess","👳":"person-wearing-turban","👳♂️":"man-wearing-turban","👳♀️":"woman-wearing-turban","👲":"person-with-skullcap","🧕":"woman-with-headscarf","🤵":"person-in-tuxedo","🤵♂️":"man-in-tuxedo","🤵♀️":"woman-in-tuxedo","👰":"person-with-veil","👰♂️":"man-with-veil","👰♀️":"woman-with-veil","🤰":"pregnant-woman","🫃":"pregnant-man","🫄":"pregnant-person","🤱":"breast-feeding","👩🍼":"woman-feeding-baby","👨🍼":"man-feeding-baby","🧑🍼":"person-feeding-baby","👼":"baby-angel","🎅":"santa-claus","🤶":"mrs-claus","🧑🎄":"mx-claus","🦸":"superhero","🦸♂️":"man-superhero","🦸♀️":"woman-superhero","🦹":"supervillain","🦹♂️":"man-supervillain","🦹♀️":"woman-supervillain","🧙":"mage","🧙♂️":"man-mage","🧙♀️":"woman-mage","🧚":"fairy","🧚♂️":"man-fairy","🧚♀️":"woman-fairy","🧛":"vampire","🧛♂️":"man-vampire","🧛♀️":"woman-vampire","🧜":"merperson","🧜♂️":"merman","🧜♀️":"mermaid","🧝":"elf","🧝♂️":"man-elf","🧝♀️":"woman-elf","🧞":"genie","🧞♂️":"man-genie","🧞♀️":"woman-genie","🧟":"zombie","🧟♂️":"man-zombie","🧟♀️":"woman-zombie","🧌":"troll","💆":"person-getting-massage","💆♂️":"man-getting-massage","💆♀️":"woman-getting-massage","💇":"person-getting-haircut","💇♂️":"man-getting-haircut","💇♀️":"woman-getting-haircut","🚶":"person-walking","🚶♂️":"man-walking","🚶♀️":"woman-walking","🧍":"person-standing","🧍♂️":"man-standing","🧍♀️":"woman-standing","🧎":"person-kneeling","🧎♂️":"man-kneeling","🧎♀️":"woman-kneeling","🧑🦯":"person-with-white-cane","👨🦯":"man-with-white-cane","👩🦯":"woman-with-white-cane","🧑🦼":"person-in-motorized-wheelchair","👨🦼":"man-in-motorized-wheelchair","👩🦼":"woman-in-motorized-wheelchair","🧑🦽":"person-in-manual-wheelchair","👨🦽":"man-in-manual-wheelchair","👩🦽":"woman-in-manual-wheelchair","🏃":"person-running","🏃♂️":"man-running","🏃♀️":"woman-running","💃":"woman-dancing","🕺":"man-dancing","🕴":"person-in-suit-levitating","👯":"people-with-bunny-ears","👯♂️":"men-with-bunny-ears","👯♀️":"women-with-bunny-ears","🧖":"person-in-steamy-room","🧖♂️":"man-in-steamy-room","🧖♀️":"woman-in-steamy-room","🧗":"person-climbing","🧗♂️":"man-climbing","🧗♀️":"woman-climbing","🤺":"person-fencing","🏇":"horse-racing","⛷":"skier","🏂":"snowboarder","🏌":"person-golfing","🏌️♂️":"man-golfing","🏌️♀️":"woman-golfing","🏄":"person-surfing","🏄♂️":"man-surfing","🏄♀️":"woman-surfing","🚣":"person-rowing-boat","🚣♂️":"man-rowing-boat","🚣♀️":"woman-rowing-boat","🏊":"person-swimming","🏊♂️":"man-swimming","🏊♀️":"woman-swimming","⛹":"person-bouncing-ball","⛹️♂️":"man-bouncing-ball","⛹️♀️":"woman-bouncing-ball","🏋":"person-lifting-weights","🏋️♂️":"man-lifting-weights","🏋️♀️":"woman-lifting-weights","🚴":"person-biking","🚴♂️":"man-biking","🚴♀️":"woman-biking","🚵":"person-mountain-biking","🚵♂️":"man-mountain-biking","🚵♀️":"woman-mountain-biking","🤸":"person-cartwheeling","🤸♂️":"man-cartwheeling","🤸♀️":"woman-cartwheeling","🤼":"people-wrestling","🤼♂️":"men-wrestling","🤼♀️":"women-wrestling","🤽":"person-playing-water-polo","🤽♂️":"man-playing-water-polo","🤽♀️":"woman-playing-water-polo","🤾":"person-playing-handball","🤾♂️":"man-playing-handball","🤾♀️":"woman-playing-handball","🤹":"person-juggling","🤹♂️":"man-juggling","🤹♀️":"woman-juggling","🧘":"person-in-lotus-position","🧘♂️":"man-in-lotus-position","🧘♀️":"woman-in-lotus-position","🛀":"person-taking-bath","🛌":"person-in-bed","🧑🤝🧑":"people-holding-hands","👭":"women-holding-hands","👫":"woman-and-man-holding-hands","👬":"men-holding-hands","💏":"kiss","👩❤️💋👨":"kiss-woman,-man","👨❤️💋👨":"kiss-man,-man","👩❤️💋👩":"kiss-woman,-woman","💑":"couple-with-heart","👩❤️👨":"couple-with-heart-woman,-man","👨❤️👨":"couple-with-heart-man,-man","👩❤️👩":"couple-with-heart-woman,-woman","👪":"family","👨👩👦":"family-man,-woman,-boy","👨👩👧":"family-man,-woman,-girl","👨👩👧👦":"family-man,-woman,-girl,-boy","👨👩👦👦":"family-man,-woman,-boy,-boy","👨👩👧👧":"family-man,-woman,-girl,-girl","👨👨👦":"family-man,-man,-boy","👨👨👧":"family-man,-man,-girl","👨👨👧👦":"family-man,-man,-girl,-boy","👨👨👦👦":"family-man,-man,-boy,-boy","👨👨👧👧":"family-man,-man,-girl,-girl","👩👩👦":"family-woman,-woman,-boy","👩👩👧":"family-woman,-woman,-girl","👩👩👧👦":"family-woman,-woman,-girl,-boy","👩👩👦👦":"family-woman,-woman,-boy,-boy","👩👩👧👧":"family-woman,-woman,-girl,-girl","👨👦":"family-man,-boy","👨👦👦":"family-man,-boy,-boy","👨👧":"family-man,-girl","👨👧👦":"family-man,-girl,-boy","👨👧👧":"family-man,-girl,-girl","👩👦":"family-woman,-boy","👩👦👦":"family-woman,-boy,-boy","👩👧":"family-woman,-girl","👩👧👦":"family-woman,-girl,-boy","👩👧👧":"family-woman,-girl,-girl","🗣":"speaking-head","👤":"bust-in-silhouette","👥":"busts-in-silhouette","🫂":"people-hugging","👣":"footprints","🦰":"red-hair","🦱":"curly-hair","🦳":"white-hair","🦲":"bald","🐵":"monkey-face","🐒":"monkey","🦍":"gorilla","🦧":"orangutan","🐶":"dog-face","🐕":"dog","🦮":"guide-dog","🐕🦺":"service-dog","🐩":"poodle","🐺":"wolf","🦊":"fox","🦝":"raccoon","🐱":"cat-face","🐈":"cat","🐈⬛":"black-cat","🦁":"lion","🐯":"tiger-face","🐅":"tiger","🐆":"leopard","🐴":"horse-face","🫎":"⊛-moose","🫏":"⊛-donkey","🐎":"horse","🦄":"unicorn","🦓":"zebra","🦌":"deer","🦬":"bison","🐮":"cow-face","🐂":"ox","🐃":"water-buffalo","🐄":"cow","🐷":"pig-face","🐖":"pig","🐗":"boar","🐽":"pig-nose","🐏":"ram","🐑":"ewe","🐐":"goat","🐪":"camel","🐫":"two-hump-camel","🦙":"llama","🦒":"giraffe","🐘":"elephant","🦣":"mammoth","🦏":"rhinoceros","🦛":"hippopotamus","🐭":"mouse-face","🐁":"mouse","🐀":"rat","🐹":"hamster","🐰":"rabbit-face","🐇":"rabbit","🐿":"chipmunk","🦫":"beaver","🦔":"hedgehog","🦇":"bat","🐻":"bear","🐻❄️":"polar-bear","🐨":"koala","🐼":"panda","🦥":"sloth","🦦":"otter","🦨":"skunk","🦘":"kangaroo","🦡":"badger","🐾":"paw-prints","🦃":"turkey","🐔":"chicken","🐓":"rooster","🐣":"hatching-chick","🐤":"baby-chick","🐥":"front-facing-baby-chick","🐦":"bird","🐧":"penguin","🕊":"dove","🦅":"eagle","🦆":"duck","🦢":"swan","🦉":"owl","🦤":"dodo","🪶":"feather","🦩":"flamingo","🦚":"peacock","🦜":"parrot","🪽":"⊛-wing","🐦⬛":"⊛-black-bird","🪿":"⊛-goose","🐸":"frog","🐊":"crocodile","🐢":"turtle","🦎":"lizard","🐍":"snake","🐲":"dragon-face","🐉":"dragon","🦕":"sauropod","🦖":"t-rex","🐳":"spouting-whale","🐋":"whale","🐬":"dolphin","🦭":"seal","🐟":"fish","🐠":"tropical-fish","🐡":"blowfish","🦈":"shark","🐙":"octopus","🐚":"spiral-shell","🪸":"coral","🪼":"⊛-jellyfish","🐌":"snail","🦋":"butterfly","🐛":"bug","🐜":"ant","🐝":"honeybee","🪲":"beetle","🐞":"lady-beetle","🦗":"cricket","🪳":"cockroach","🕷":"spider","🕸":"spider-web","🦂":"scorpion","🦟":"mosquito","🪰":"fly","🪱":"worm","🦠":"microbe","💐":"bouquet","🌸":"cherry-blossom","💮":"white-flower","🪷":"lotus","🏵":"rosette","🌹":"rose","🥀":"wilted-flower","🌺":"hibiscus","🌻":"sunflower","🌼":"blossom","🌷":"tulip","🪻":"⊛-hyacinth","🌱":"seedling","🪴":"potted-plant","🌲":"evergreen-tree","🌳":"deciduous-tree","🌴":"palm-tree","🌵":"cactus","🌾":"sheaf-of-rice","🌿":"herb","☘":"shamrock","🍀":"four-leaf-clover","🍁":"maple-leaf","🍂":"fallen-leaf","🍃":"leaf-fluttering-in-wind","🪹":"empty-nest","🪺":"nest-with-eggs","🍄":"mushroom","🍇":"grapes","🍈":"melon","🍉":"watermelon","🍊":"tangerine","🍋":"lemon","🍌":"banana","🍍":"pineapple","🥭":"mango","🍎":"red-apple","🍏":"green-apple","🍐":"pear","🍑":"peach","🍒":"cherries","🍓":"strawberry","🫐":"blueberries","🥝":"kiwi-fruit","🍅":"tomato","🫒":"olive","🥥":"coconut","🥑":"avocado","🍆":"eggplant","🥔":"potato","🥕":"carrot","🌽":"ear-of-corn","🌶":"hot-pepper","🫑":"bell-pepper","🥒":"cucumber","🥬":"leafy-green","🥦":"broccoli","🧄":"garlic","🧅":"onion","🥜":"peanuts","🫘":"beans","🌰":"chestnut","🫚":"⊛-ginger-root","🫛":"⊛-pea-pod","🍞":"bread","🥐":"croissant","🥖":"baguette-bread","🫓":"flatbread","🥨":"pretzel","🥯":"bagel","🥞":"pancakes","🧇":"waffle","🧀":"cheese-wedge","🍖":"meat-on-bone","🍗":"poultry-leg","🥩":"cut-of-meat","🥓":"bacon","🍔":"hamburger","🍟":"french-fries","🍕":"pizza","🌭":"hot-dog","🥪":"sandwich","🌮":"taco","🌯":"burrito","🫔":"tamale","🥙":"stuffed-flatbread","🧆":"falafel","🥚":"egg","🍳":"cooking","🥘":"shallow-pan-of-food","🍲":"pot-of-food","🫕":"fondue","🥣":"bowl-with-spoon","🥗":"green-salad","🍿":"popcorn","🧈":"butter","🧂":"salt","🥫":"canned-food","🍱":"bento-box","🍘":"rice-cracker","🍙":"rice-ball","🍚":"cooked-rice","🍛":"curry-rice","🍜":"steaming-bowl","🍝":"spaghetti","🍠":"roasted-sweet-potato","🍢":"oden","🍣":"sushi","🍤":"fried-shrimp","🍥":"fish-cake-with-swirl","🥮":"moon-cake","🍡":"dango","🥟":"dumpling","🥠":"fortune-cookie","🥡":"takeout-box","🦀":"crab","🦞":"lobster","🦐":"shrimp","🦑":"squid","🦪":"oyster","🍦":"soft-ice-cream","🍧":"shaved-ice","🍨":"ice-cream","🍩":"doughnut","🍪":"cookie","🎂":"birthday-cake","🍰":"shortcake","🧁":"cupcake","🥧":"pie","🍫":"chocolate-bar","🍬":"candy","🍭":"lollipop","🍮":"custard","🍯":"honey-pot","🍼":"baby-bottle","🥛":"glass-of-milk","☕":"hot-beverage","🫖":"teapot","🍵":"teacup-without-handle","🍶":"sake","🍾":"bottle-with-popping-cork","🍷":"wine-glass","🍸":"cocktail-glass","🍹":"tropical-drink","🍺":"beer-mug","🍻":"clinking-beer-mugs","🥂":"clinking-glasses","🥃":"tumbler-glass","🫗":"pouring-liquid","🥤":"cup-with-straw","🧋":"bubble-tea","🧃":"beverage-box","🧉":"mate","🧊":"ice","🥢":"chopsticks","🍽":"fork-and-knife-with-plate","🍴":"fork-and-knife","🥄":"spoon","🔪":"kitchen-knife","🫙":"jar","🏺":"amphora","🌍":"globe-showing-europe-africa","🌎":"globe-showing-americas","🌏":"globe-showing-asia-australia","🌐":"globe-with-meridians","🗺":"world-map","🗾":"map-of-japan","🧭":"compass","🏔":"snow-capped-mountain","⛰":"mountain","🌋":"volcano","🗻":"mount-fuji","🏕":"camping","🏖":"beach-with-umbrella","🏜":"desert","🏝":"desert-island","🏞":"national-park","🏟":"stadium","🏛":"classical-building","🏗":"building-construction","🧱":"brick","🪨":"rock","🪵":"wood","🛖":"hut","🏘":"houses","🏚":"derelict-house","🏠":"house","🏡":"house-with-garden","🏢":"office-building","🏣":"japanese-post-office","🏤":"post-office","🏥":"hospital","🏦":"bank","🏨":"hotel","🏩":"love-hotel","🏪":"convenience-store","🏫":"school","🏬":"department-store","🏭":"factory","🏯":"japanese-castle","🏰":"castle","💒":"wedding","🗼":"tokyo-tower","🗽":"statue-of-liberty","⛪":"church","🕌":"mosque","🛕":"hindu-temple","🕍":"synagogue","⛩":"shinto-shrine","🕋":"kaaba","⛲":"fountain","⛺":"tent","🌁":"foggy","🌃":"night-with-stars","🏙":"cityscape","🌄":"sunrise-over-mountains","🌅":"sunrise","🌆":"cityscape-at-dusk","🌇":"sunset","🌉":"bridge-at-night","♨":"hot-springs","🎠":"carousel-horse","🛝":"playground-slide","🎡":"ferris-wheel","🎢":"roller-coaster","💈":"barber-pole","🎪":"circus-tent","🚂":"locomotive","🚃":"railway-car","🚄":"high-speed-train","🚅":"bullet-train","🚆":"train","🚇":"metro","🚈":"light-rail","🚉":"station","🚊":"tram","🚝":"monorail","🚞":"mountain-railway","🚋":"tram-car","🚌":"bus","🚍":"oncoming-bus","🚎":"trolleybus","🚐":"minibus","🚑":"ambulance","🚒":"fire-engine","🚓":"police-car","🚔":"oncoming-police-car","🚕":"taxi","🚖":"oncoming-taxi","🚗":"automobile","🚘":"oncoming-automobile","🚙":"sport-utility-vehicle","🛻":"pickup-truck","🚚":"delivery-truck","🚛":"articulated-lorry","🚜":"tractor","🏎":"racing-car","🏍":"motorcycle","🛵":"motor-scooter","🦽":"manual-wheelchair","🦼":"motorized-wheelchair","🛺":"auto-rickshaw","🚲":"bicycle","🛴":"kick-scooter","🛹":"skateboard","🛼":"roller-skate","🚏":"bus-stop","🛣":"motorway","🛤":"railway-track","🛢":"oil-drum","⛽":"fuel-pump","🛞":"wheel","🚨":"police-car-light","🚥":"horizontal-traffic-light","🚦":"vertical-traffic-light","🛑":"stop-sign","🚧":"construction","⚓":"anchor","🛟":"ring-buoy","⛵":"sailboat","🛶":"canoe","🚤":"speedboat","🛳":"passenger-ship","⛴":"ferry","🛥":"motor-boat","🚢":"ship","✈":"airplane","🛩":"small-airplane","🛫":"airplane-departure","🛬":"airplane-arrival","🪂":"parachute","💺":"seat","🚁":"helicopter","🚟":"suspension-railway","🚠":"mountain-cableway","🚡":"aerial-tramway","🛰":"satellite","🚀":"rocket","🛸":"flying-saucer","🛎":"bellhop-bell","🧳":"luggage","⌛":"hourglass-done","⏳":"hourglass-not-done","⌚":"watch","⏰":"alarm-clock","⏱":"stopwatch","⏲":"timer-clock","🕰":"mantelpiece-clock","🕛":"twelve-o-clock","🕧":"twelve-thirty","🕐":"one-o-clock","🕜":"one-thirty","🕑":"two-o-clock","🕝":"two-thirty","🕒":"three-o-clock","🕞":"three-thirty","🕓":"four-o-clock","🕟":"four-thirty","🕔":"five-o-clock","🕠":"five-thirty","🕕":"six-o-clock","🕡":"six-thirty","🕖":"seven-o-clock","🕢":"seven-thirty","🕗":"eight-o-clock","🕣":"eight-thirty","🕘":"nine-o-clock","🕤":"nine-thirty","🕙":"ten-o-clock","🕥":"ten-thirty","🕚":"eleven-o-clock","🕦":"eleven-thirty","🌑":"new-moon","🌒":"waxing-crescent-moon","🌓":"first-quarter-moon","🌔":"waxing-gibbous-moon","🌕":"full-moon","🌖":"waning-gibbous-moon","🌗":"last-quarter-moon","🌘":"waning-crescent-moon","🌙":"crescent-moon","🌚":"new-moon-face","🌛":"first-quarter-moon-face","🌜":"last-quarter-moon-face","🌡":"thermometer","☀":"sun","🌝":"full-moon-face","🌞":"sun-with-face","🪐":"ringed-planet","⭐":"star","🌟":"glowing-star","🌠":"shooting-star","🌌":"milky-way","☁":"cloud","⛅":"sun-behind-cloud","⛈":"cloud-with-lightning-and-rain","🌤":"sun-behind-small-cloud","🌥":"sun-behind-large-cloud","🌦":"sun-behind-rain-cloud","🌧":"cloud-with-rain","🌨":"cloud-with-snow","🌩":"cloud-with-lightning","🌪":"tornado","🌫":"fog","🌬":"wind-face","🌀":"cyclone","🌈":"rainbow","🌂":"closed-umbrella","☂":"umbrella","☔":"umbrella-with-rain-drops","⛱":"umbrella-on-ground","⚡":"high-voltage","❄":"snowflake","☃":"snowman","⛄":"snowman-without-snow","☄":"comet","🔥":"fire","💧":"droplet","🌊":"water-wave","🎃":"jack-o-lantern","🎄":"christmas-tree","🎆":"fireworks","🎇":"sparkler","🧨":"firecracker","✨":"sparkles","🎈":"balloon","🎉":"party-popper","🎊":"confetti-ball","🎋":"tanabata-tree","🎍":"pine-decoration","🎎":"japanese-dolls","🎏":"carp-streamer","🎐":"wind-chime","🎑":"moon-viewing-ceremony","🧧":"red-envelope","🎀":"ribbon","🎁":"wrapped-gift","🎗":"reminder-ribbon","🎟":"admission-tickets","🎫":"ticket","🎖":"military-medal","🏆":"trophy","🏅":"sports-medal","🥇":"1st-place-medal","🥈":"2nd-place-medal","🥉":"3rd-place-medal","⚽":"soccer-ball","⚾":"baseball","🥎":"softball","🏀":"basketball","🏐":"volleyball","🏈":"american-football","🏉":"rugby-football","🎾":"tennis","🥏":"flying-disc","🎳":"bowling","🏏":"cricket-game","🏑":"field-hockey","🏒":"ice-hockey","🥍":"lacrosse","🏓":"ping-pong","🏸":"badminton","🥊":"boxing-glove","🥋":"martial-arts-uniform","🥅":"goal-net","⛳":"flag-in-hole","⛸":"ice-skate","🎣":"fishing-pole","🤿":"diving-mask","🎽":"running-shirt","🎿":"skis","🛷":"sled","🥌":"curling-stone","🎯":"bullseye","🪀":"yo-yo","🪁":"kite","🔫":"water-pistol","🎱":"pool-8-ball","🔮":"crystal-ball","🪄":"magic-wand","🎮":"video-game","🕹":"joystick","🎰":"slot-machine","🎲":"game-die","🧩":"puzzle-piece","🧸":"teddy-bear","🪅":"piñata","🪩":"mirror-ball","🪆":"nesting-dolls","♠":"spade-suit","♥":"heart-suit","♦":"diamond-suit","♣":"club-suit","♟":"chess-pawn","🃏":"joker","🀄":"mahjong-red-dragon","🎴":"flower-playing-cards","🎭":"performing-arts","🖼":"framed-picture","🎨":"artist-palette","🧵":"thread","🪡":"sewing-needle","🧶":"yarn","🪢":"knot","👓":"glasses","🕶":"sunglasses","🥽":"goggles","🥼":"lab-coat","🦺":"safety-vest","👔":"necktie","👕":"t-shirt","👖":"jeans","🧣":"scarf","🧤":"gloves","🧥":"coat","🧦":"socks","👗":"dress","👘":"kimono","🥻":"sari","🩱":"one-piece-swimsuit","🩲":"briefs","🩳":"shorts","👙":"bikini","👚":"woman-s-clothes","🪭":"⊛-folding-hand-fan","👛":"purse","👜":"handbag","👝":"clutch-bag","🛍":"shopping-bags","🎒":"backpack","🩴":"thong-sandal","👞":"man-s-shoe","👟":"running-shoe","🥾":"hiking-boot","🥿":"flat-shoe","👠":"high-heeled-shoe","👡":"woman-s-sandal","🩰":"ballet-shoes","👢":"woman-s-boot","🪮":"⊛-hair-pick","👑":"crown","👒":"woman-s-hat","🎩":"top-hat","🎓":"graduation-cap","🧢":"billed-cap","🪖":"military-helmet","⛑":"rescue-worker-s-helmet","📿":"prayer-beads","💄":"lipstick","💍":"ring","💎":"gem-stone","🔇":"muted-speaker","🔈":"speaker-low-volume","🔉":"speaker-medium-volume","🔊":"speaker-high-volume","📢":"loudspeaker","📣":"megaphone","📯":"postal-horn","🔔":"bell","🔕":"bell-with-slash","🎼":"musical-score","🎵":"musical-note","🎶":"musical-notes","🎙":"studio-microphone","🎚":"level-slider","🎛":"control-knobs","🎤":"microphone","🎧":"headphone","📻":"radio","🎷":"saxophone","🪗":"accordion","🎸":"guitar","🎹":"musical-keyboard","🎺":"trumpet","🎻":"violin","🪕":"banjo","🥁":"drum","🪘":"long-drum","🪇":"maracas","🪈":"flute","📱":"mobile-phone","📲":"mobile-phone-with-arrow","☎":"telephone","📞":"telephone-receiver","📟":"pager","📠":"fax-machine","🔋":"battery","🪫":"low-battery","🔌":"electric-plug","💻":"laptop","🖥":"desktop-computer","🖨":"printer","⌨":"keyboard","🖱":"computer-mouse","🖲":"trackball","💽":"computer-disk","💾":"floppy-disk","💿":"optical-disk","📀":"dvd","🧮":"abacus","🎥":"movie-camera","🎞":"film-frames","📽":"film-projector","🎬":"clapper-board","📺":"television","📷":"camera","📸":"camera-with-flash","📹":"video-camera","📼":"videocassette","🔍":"magnifying-glass-tilted-left","🔎":"magnifying-glass-tilted-right","🕯":"candle","💡":"light-bulb","🔦":"flashlight","🏮":"red-paper-lantern","🪔":"diya-lamp","📔":"notebook-with-decorative-cover","📕":"closed-book","📖":"open-book","📗":"green-book","📘":"blue-book","📙":"orange-book","📚":"books","📓":"notebook","📒":"ledger","📃":"page-with-curl","📜":"scroll","📄":"page-facing-up","📰":"newspaper","🗞":"rolled-up-newspaper","📑":"bookmark-tabs","🔖":"bookmark","🏷":"label","💰":"money-bag","🪙":"coin","💴":"yen-banknote","💵":"dollar-banknote","💶":"euro-banknote","💷":"pound-banknote","💸":"money-with-wings","💳":"credit-card","🧾":"receipt","💹":"chart-increasing-with-yen","✉":"envelope","📧":"e-mail","📨":"incoming-envelope","📩":"envelope-with-arrow","📤":"outbox-tray","📥":"inbox-tray","📦":"package","📫":"closed-mailbox-with-raised-flag","📪":"closed-mailbox-with-lowered-flag","📬":"open-mailbox-with-raised-flag","📭":"open-mailbox-with-lowered-flag","📮":"postbox","🗳":"ballot-box-with-ballot","✏":"pencil","✒":"black-nib","🖋":"fountain-pen","🖊":"pen","🖌":"paintbrush","🖍":"crayon","📝":"memo","💼":"briefcase","📁":"file-folder","📂":"open-file-folder","🗂":"card-index-dividers","📅":"calendar","📆":"tear-off-calendar","🗒":"spiral-notepad","🗓":"spiral-calendar","📇":"card-index","📈":"chart-increasing","📉":"chart-decreasing","📊":"bar-chart","📋":"clipboard","📌":"pushpin","📍":"round-pushpin","📎":"paperclip","🖇":"linked-paperclips","📏":"straight-ruler","📐":"triangular-ruler","✂":"scissors","🗃":"card-file-box","🗄":"file-cabinet","🗑":"wastebasket","🔒":"locked","🔓":"unlocked","🔏":"locked-with-pen","🔐":"locked-with-key","🔑":"key","🗝":"old-key","🔨":"hammer","🪓":"axe","⛏":"pick","⚒":"hammer-and-pick","🛠":"hammer-and-wrench","🗡":"dagger","⚔":"crossed-swords","💣":"bomb","🪃":"boomerang","🏹":"bow-and-arrow","🛡":"shield","🪚":"carpentry-saw","🔧":"wrench","🪛":"screwdriver","🔩":"nut-and-bolt","⚙":"gear","🗜":"clamp","⚖":"balance-scale","🦯":"white-cane","🔗":"link","⛓":"chains","🪝":"hook","🧰":"toolbox","🧲":"magnet","🪜":"ladder","⚗":"alembic","🧪":"test-tube","🧫":"petri-dish","🧬":"dna","🔬":"microscope","🔭":"telescope","📡":"satellite-antenna","💉":"syringe","🩸":"drop-of-blood","💊":"pill","🩹":"adhesive-bandage","🩼":"crutch","🩺":"stethoscope","🩻":"x-ray","🚪":"door","🛗":"elevator","🪞":"mirror","🪟":"window","🛏":"bed","🛋":"couch-and-lamp","🪑":"chair","🚽":"toilet","🪠":"plunger","🚿":"shower","🛁":"bathtub","🪤":"mouse-trap","🪒":"razor","🧴":"lotion-bottle","🧷":"safety-pin","🧹":"broom","🧺":"basket","🧻":"roll-of-paper","🪣":"bucket","🧼":"soap","🫧":"bubbles","🪥":"toothbrush","🧽":"sponge","🧯":"fire-extinguisher","🛒":"shopping-cart","🚬":"cigarette","⚰":"coffin","🪦":"headstone","⚱":"funeral-urn","🧿":"nazar-amulet","🪬":"hamsa","🗿":"moai","🪧":"placard","🪪":"identification-card","🏧":"atm-sign","🚮":"litter-in-bin-sign","🚰":"potable-water","♿":"wheelchair-symbol","🚹":"men-s-room","🚺":"women-s-room","🚻":"restroom","🚼":"baby-symbol","🚾":"water-closet","🛂":"passport-control","🛃":"customs","🛄":"baggage-claim","🛅":"left-luggage","⚠":"warning","🚸":"children-crossing","⛔":"no-entry","🚫":"prohibited","🚳":"no-bicycles","🚭":"no-smoking","🚯":"no-littering","🚱":"non-potable-water","🚷":"no-pedestrians","📵":"no-mobile-phones","🔞":"no-one-under-eighteen","☢":"radioactive","☣":"biohazard","⬆":"up-arrow","↗":"up-right-arrow","➡":"right-arrow","↘":"down-right-arrow","⬇":"down-arrow","↙":"down-left-arrow","⬅":"left-arrow","↖":"up-left-arrow","↕":"up-down-arrow","↔":"left-right-arrow","↩":"right-arrow-curving-left","↪":"left-arrow-curving-right","⤴":"right-arrow-curving-up","⤵":"right-arrow-curving-down","🔃":"clockwise-vertical-arrows","🔄":"counterclockwise-arrows-button","🔙":"back-arrow","🔚":"end-arrow","🔛":"on!-arrow","🔜":"soon-arrow","🔝":"top-arrow","🛐":"place-of-worship","⚛":"atom-symbol","🕉":"om","✡":"star-of-david","☸":"wheel-of-dharma","☯":"yin-yang","✝":"latin-cross","☦":"orthodox-cross","☪":"star-and-crescent","☮":"peace-symbol","🕎":"menorah","🔯":"dotted-six-pointed-star","🪯":"⊛-khanda","♈":"aries","♉":"taurus","♊":"gemini","♋":"cancer","♌":"leo","♍":"virgo","♎":"libra","♏":"scorpio","♐":"sagittarius","♑":"capricorn","♒":"aquarius","♓":"pisces","⛎":"ophiuchus","🔀":"shuffle-tracks-button","🔁":"repeat-button","🔂":"repeat-single-button","▶":"play-button","⏩":"fast-forward-button","⏭":"next-track-button","⏯":"play-or-pause-button","◀":"reverse-button","⏪":"fast-reverse-button","⏮":"last-track-button","🔼":"upwards-button","⏫":"fast-up-button","🔽":"downwards-button","⏬":"fast-down-button","⏸":"pause-button","⏹":"stop-button","⏺":"record-button","⏏":"eject-button","🎦":"cinema","🔅":"dim-button","🔆":"bright-button","📶":"antenna-bars","🛜":"⊛-wireless","📳":"vibration-mode","📴":"mobile-phone-off","♀":"female-sign","♂":"male-sign","⚧":"transgender-symbol","✖":"multiply","➕":"plus","➖":"minus","➗":"divide","🟰":"heavy-equals-sign","♾":"infinity","‼":"double-exclamation-mark","⁉":"exclamation-question-mark","❓":"red-question-mark","❔":"white-question-mark","❕":"white-exclamation-mark","❗":"red-exclamation-mark","〰":"wavy-dash","💱":"currency-exchange","💲":"heavy-dollar-sign","⚕":"medical-symbol","♻":"recycling-symbol","⚜":"fleur-de-lis","🔱":"trident-emblem","📛":"name-badge","🔰":"japanese-symbol-for-beginner","⭕":"hollow-red-circle","✅":"check-mark-button","☑":"check-box-with-check","✔":"check-mark","❌":"cross-mark","❎":"cross-mark-button","➰":"curly-loop","➿":"double-curly-loop","〽":"part-alternation-mark","✳":"eight-spoked-asterisk","✴":"eight-pointed-star","❇":"sparkle","©":"copyright","®":"registered","™":"trade-mark","#️⃣":"keycap-#","*️⃣":"keycap-*","0️⃣":"keycap-0","1️⃣":"keycap-1","2️⃣":"keycap-2","3️⃣":"keycap-3","4️⃣":"keycap-4","5️⃣":"keycap-5","6️⃣":"keycap-6","7️⃣":"keycap-7","8️⃣":"keycap-8","9️⃣":"keycap-9","🔟":"keycap-10","🔠":"input-latin-uppercase","🔡":"input-latin-lowercase","🔢":"input-numbers","🔣":"input-symbols","🔤":"input-latin-letters","🅰":"a-button-(blood-type)","🆎":"ab-button-(blood-type)","🅱":"b-button-(blood-type)","🆑":"cl-button","🆒":"cool-button","🆓":"free-button","ℹ":"information","🆔":"id-button","Ⓜ":"circled-m","🆕":"new-button","🆖":"ng-button","🅾":"o-button-(blood-type)","🆗":"ok-button","🅿":"p-button","🆘":"sos-button","🆙":"up!-button","🆚":"vs-button","🈁":"japanese-here-button","🈂":"japanese-service-charge-button","🈷":"japanese-monthly-amount-button","🈶":"japanese-not-free-of-charge-button","🈯":"japanese-reserved-button","🉐":"japanese-bargain-button","🈹":"japanese-discount-button","🈚":"japanese-free-of-charge-button","🈲":"japanese-prohibited-button","🉑":"japanese-acceptable-button","🈸":"japanese-application-button","🈴":"japanese-passing-grade-button","🈳":"japanese-vacancy-button","㊗":"japanese-congratulations-button","㊙":"japanese-secret-button","🈺":"japanese-open-for-business-button","🈵":"japanese-no-vacancy-button","🔴":"red-circle","🟠":"orange-circle","🟡":"yellow-circle","🟢":"green-circle","🔵":"blue-circle","🟣":"purple-circle","🟤":"brown-circle","⚫":"black-circle","⚪":"white-circle","🟥":"red-square","🟧":"orange-square","🟨":"yellow-square","🟩":"green-square","🟦":"blue-square","🟪":"purple-square","🟫":"brown-square","⬛":"black-large-square","⬜":"white-large-square","◼":"black-medium-square","◻":"white-medium-square","◾":"black-medium-small-square","◽":"white-medium-small-square","▪":"black-small-square","▫":"white-small-square","🔶":"large-orange-diamond","🔷":"large-blue-diamond","🔸":"small-orange-diamond","🔹":"small-blue-diamond","🔺":"red-triangle-pointed-up","🔻":"red-triangle-pointed-down","💠":"diamond-with-a-dot","🔘":"radio-button","🔳":"white-square-button","🔲":"black-square-button","🏁":"chequered-flag","🚩":"triangular-flag","🎌":"crossed-flags","🏴":"black-flag","🏳":"white-flag","🏳️🌈":"rainbow-flag","🏳️⚧️":"transgender-flag","🏴☠️":"pirate-flag","🇦🇨":"flag-ascension-island","🇦🇩":"flag-andorra","🇦🇪":"flag-united-arab-emirates","🇦🇫":"flag-afghanistan","🇦🇬":"flag-antigua-and-barbuda","🇦🇮":"flag-anguilla","🇦🇱":"flag-albania","🇦🇲":"flag-armenia","🇦🇴":"flag-angola","🇦🇶":"flag-antarctica","🇦🇷":"flag-argentina","🇦🇸":"flag-american-samoa","🇦🇹":"flag-austria","🇦🇺":"flag-australia","🇦🇼":"flag-aruba","🇦🇽":"flag-åland-islands","🇦🇿":"flag-azerbaijan","🇧🇦":"flag-bosnia-and-herzegovina","🇧🇧":"flag-barbados","🇧🇩":"flag-bangladesh","🇧🇪":"flag-belgium","🇧🇫":"flag-burkina-faso","🇧🇬":"flag-bulgaria","🇧🇭":"flag-bahrain","🇧🇮":"flag-burundi","🇧🇯":"flag-benin","🇧🇱":"flag-st-barthelemy","🇧🇲":"flag-bermuda","🇧🇳":"flag-brunei","🇧🇴":"flag-bolivia","🇧🇶":"flag-caribbean-netherlands","🇧🇷":"flag-brazil","🇧🇸":"flag-bahamas","🇧🇹":"flag-bhutan","🇧🇻":"flag-bouvet-island","🇧🇼":"flag-botswana","🇧🇾":"flag-belarus","🇧🇿":"flag-belize","🇨🇦":"flag-canada","🇨🇨":"flag-cocos-(keeling)-islands","🇨🇩":"flag-congo---kinshasa","🇨🇫":"flag-central-african-republic","🇨🇬":"flag-congo---brazzaville","🇨🇭":"flag-switzerland","🇨🇮":"flag-côte-d-ivoire","🇨🇰":"flag-cook-islands","🇨🇱":"flag-chile","🇨🇲":"flag-cameroon","🇨🇳":"flag-china","🇨🇴":"flag-colombia","🇨🇵":"flag-clipperton-island","🇨🇷":"flag-costa-rica","🇨🇺":"flag-cuba","🇨🇻":"flag-cape-verde","🇨🇼":"flag-curaçao","🇨🇽":"flag-christmas-island","🇨🇾":"flag-cyprus","🇨🇿":"flag-czechia","🇩🇪":"flag-germany","🇩🇬":"flag-diego-garcia","🇩🇯":"flag-djibouti","🇩🇰":"flag-denmark","🇩🇲":"flag-dominica","🇩🇴":"flag-dominican-republic","🇩🇿":"flag-algeria","🇪🇦":"flag-ceuta-and-melilla","🇪🇨":"flag-ecuador","🇪🇪":"flag-estonia","🇪🇬":"flag-egypt","🇪🇭":"flag-western-sahara","🇪🇷":"flag-eritrea","🇪🇸":"flag-spain","🇪🇹":"flag-ethiopia","🇪🇺":"flag-european-union","🇫🇮":"flag-finland","🇫🇯":"flag-fiji","🇫🇰":"flag-falkland-islands","🇫🇲":"flag-micronesia","🇫🇴":"flag-faroe-islands","🇫🇷":"flag-france","🇬🇦":"flag-gabon","🇬🇧":"flag-united-kingdom","🇬🇩":"flag-grenada","🇬🇪":"flag-georgia","🇬🇫":"flag-french-guiana","🇬🇬":"flag-guernsey","🇬🇭":"flag-ghana","🇬🇮":"flag-gibraltar","🇬🇱":"flag-greenland","🇬🇲":"flag-gambia","🇬🇳":"flag-guinea","🇬🇵":"flag-guadeloupe","🇬🇶":"flag-equatorial-guinea","🇬🇷":"flag-greece","🇬🇸":"flag-south-georgia-and-south-sandwich-islands","🇬🇹":"flag-guatemala","🇬🇺":"flag-guam","🇬🇼":"flag-guinea-bissau","🇬🇾":"flag-guyana","🇭🇰":"flag-hong-kong-sar-china","🇭🇲":"flag-heard-and-mcdonald-islands","🇭🇳":"flag-honduras","🇭🇷":"flag-croatia","🇭🇹":"flag-haiti","🇭🇺":"flag-hungary","🇮🇨":"flag-canary-islands","🇮🇩":"flag-indonesia","🇮🇪":"flag-ireland","🇮🇱":"flag-israel","🇮🇲":"flag-isle-of-man","🇮🇳":"flag-india","🇮🇴":"flag-british-indian-ocean-territory","🇮🇶":"flag-iraq","🇮🇷":"flag-iran","🇮🇸":"flag-iceland","🇮🇹":"flag-italy","🇯🇪":"flag-jersey","🇯🇲":"flag-jamaica","🇯🇴":"flag-jordan","🇯🇵":"flag-japan","🇰🇪":"flag-kenya","🇰🇬":"flag-kyrgyzstan","🇰🇭":"flag-cambodia","🇰🇮":"flag-kiribati","🇰🇲":"flag-comoros","🇰🇳":"flag-st-kitts-and-nevis","🇰🇵":"flag-north-korea","🇰🇷":"flag-south-korea","🇰🇼":"flag-kuwait","🇰🇾":"flag-cayman-islands","🇰🇿":"flag-kazakhstan","🇱🇦":"flag-laos","🇱🇧":"flag-lebanon","🇱🇨":"flag-st-lucia","🇱🇮":"flag-liechtenstein","🇱🇰":"flag-sri-lanka","🇱🇷":"flag-liberia","🇱🇸":"flag-lesotho","🇱🇹":"flag-lithuania","🇱🇺":"flag-luxembourg","🇱🇻":"flag-latvia","🇱🇾":"flag-libya","🇲🇦":"flag-morocco","🇲🇨":"flag-monaco","🇲🇩":"flag-moldova","🇲🇪":"flag-montenegro","🇲🇫":"flag-st-martin","🇲🇬":"flag-madagascar","🇲🇭":"flag-marshall-islands","🇲🇰":"flag-north-macedonia","🇲🇱":"flag-mali","🇲🇲":"flag-myanmar-(burma)","🇲🇳":"flag-mongolia","🇲🇴":"flag-macao-sar-china","🇲🇵":"flag-northern-mariana-islands","🇲🇶":"flag-martinique","🇲🇷":"flag-mauritania","🇲🇸":"flag-montserrat","🇲🇹":"flag-malta","🇲🇺":"flag-mauritius","🇲🇻":"flag-maldives","🇲🇼":"flag-malawi","🇲🇽":"flag-mexico","🇲🇾":"flag-malaysia","🇲🇿":"flag-mozambique","🇳🇦":"flag-namibia","🇳🇨":"flag-new-caledonia","🇳🇪":"flag-niger","🇳🇫":"flag-norfolk-island","🇳🇬":"flag-nigeria","🇳🇮":"flag-nicaragua","🇳🇱":"flag-netherlands","🇳🇴":"flag-norway","🇳🇵":"flag-nepal","🇳🇷":"flag-nauru","🇳🇺":"flag-niue","🇳🇿":"flag-new-zealand","🇴🇲":"flag-oman","🇵🇦":"flag-panama","🇵🇪":"flag-peru","🇵🇫":"flag-french-polynesia","🇵🇬":"flag-papua-new-guinea","🇵🇭":"flag-philippines","🇵🇰":"flag-pakistan","🇵🇱":"flag-poland","🇵🇲":"flag-st-pierre-and-miquelon","🇵🇳":"flag-pitcairn-islands","🇵🇷":"flag-puerto-rico","🇵🇸":"flag-palestinian-territories","🇵🇹":"flag-portugal","🇵🇼":"flag-palau","🇵🇾":"flag-paraguay","🇶🇦":"flag-qatar","🇷🇪":"flag-reunion","🇷🇴":"flag-romania","🇷🇸":"flag-serbia","🇷🇺":"flag-russia","🇷🇼":"flag-rwanda","🇸🇦":"flag-saudi-arabia","🇸🇧":"flag-solomon-islands","🇸🇨":"flag-seychelles","🇸🇩":"flag-sudan","🇸🇪":"flag-sweden","🇸🇬":"flag-singapore","🇸🇭":"flag-st-helena","🇸🇮":"flag-slovenia","🇸🇯":"flag-svalbard-and-jan-mayen","🇸🇰":"flag-slovakia","🇸🇱":"flag-sierra-leone","🇸🇲":"flag-san-marino","🇸🇳":"flag-senegal","🇸🇴":"flag-somalia","🇸🇷":"flag-suriname","🇸🇸":"flag-south-sudan","🇸🇹":"flag-são-tome-and-príncipe","🇸🇻":"flag-el-salvador","🇸🇽":"flag-sint-maarten","🇸🇾":"flag-syria","🇸🇿":"flag-eswatini","🇹🇦":"flag-tristan-da-cunha","🇹🇨":"flag-turks-and-caicos-islands","🇹🇩":"flag-chad","🇹🇫":"flag-french-southern-territories","🇹🇬":"flag-togo","🇹🇭":"flag-thailand","🇹🇯":"flag-tajikistan","🇹🇰":"flag-tokelau","🇹🇱":"flag-timor-leste","🇹🇲":"flag-turkmenistan","🇹🇳":"flag-tunisia","🇹🇴":"flag-tonga","🇹🇷":"flag-turkey","🇹🇹":"flag-trinidad-and-tobago","🇹🇻":"flag-tuvalu","🇹🇼":"flag-taiwan","🇹🇿":"flag-tanzania","🇺🇦":"flag-ukraine","🇺🇬":"flag-uganda","🇺🇲":"flag-us-outlying-islands","🇺🇳":"flag-united-nations","🇺🇸":"flag-united-states","🇺🇾":"flag-uruguay","🇺🇿":"flag-uzbekistan","🇻🇦":"flag-vatican-city","🇻🇨":"flag-st-vincent-and-grenadines","🇻🇪":"flag-venezuela","🇻🇬":"flag-british-virgin-islands","🇻🇮":"flag-us-virgin-islands","🇻🇳":"flag-vietnam","🇻🇺":"flag-vanuatu","🇼🇫":"flag-wallis-and-futuna","🇼🇸":"flag-samoa","🇽🇰":"flag-kosovo","🇾🇪":"flag-yemen","🇾🇹":"flag-mayotte","🇿🇦":"flag-south-africa","🇿🇲":"flag-zambia","🇿🇼":"flag-zimbabwe","🏴":"flag-england","🏴":"flag-scotland","🏴":"flag-wales"},gk=Object.keys(uk),wk='\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éroport.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公司.cn\n网络.cn\n網絡.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公司.hk\n教育.hk\n敎育.hk\n政府.hk\n個人.hk\n个人.hk\n箇人.hk\n網络.hk\n网络.hk\n组織.hk\n網絡.hk\n网絡.hk\n组织.hk\n組織.hk\n組织.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ישראל\n// xn--4dbgdty6c.xn--4dbrk0ce.\nאקדמיה.ישראל\n// xn--5dbhl8d.xn--4dbrk0ce.\nישוב.ישראל\n// xn--8dbq2a.xn--4dbrk0ce.\nצהל.ישראל\n// xn--hebda8b.xn--4dbrk0ce.\nממשל.ישראל\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ایران.ir\n// xn--mgba3a4fra.ir (<iran>.ir, Arabic YEH)\nايران.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üd-tirol.it\ntrentin-sudtirol.it\ntrentin-südtirol.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üd-tirol.it\ntrentino-sudtirol.it\ntrentino-südtirol.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üd-tirol.it\ntrentinosudtirol.it\ntrentinosüdtirol.it\ntrentinosued-tirol.it\ntrentinosuedtirol.it\ntrentinsud-tirol.it\ntrentinsüd-tirol.it\ntrentinsudtirol.it\ntrentinsüdtirol.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ée-aoste.it\nvallee-d-aoste.it\nvallée-d-aoste.it\nvalleeaoste.it\nvalléeaoste.it\nvalleedaoste.it\nvalléedaoste.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üdtirol.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üdtirol.it\nbozen-suedtirol.it\nbozen.it\nbr.it\nbrescia.it\nbrindisi.it\nbs.it\nbt.it\nbulsan-sudtirol.it\nbulsan-südtirol.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ì.it\ncesenaforli.it\ncesenaforlì.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ì-cesena.it\nforlicesena.it\nforlìcesena.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üdtirol.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栃木.jp\n愛知.jp\n愛媛.jp\n兵庫.jp\n熊本.jp\n茨城.jp\n北海道.jp\n千葉.jp\n和歌山.jp\n長崎.jp\n長野.jp\n新潟.jp\n青森.jp\n静岡.jp\n東京.jp\n石川.jp\n埼玉.jp\n三重.jp\n京都.jp\n佐賀.jp\n大分.jp\n大阪.jp\n奈良.jp\n宮城.jp\n宮崎.jp\n富山.jp\n山口.jp\n山形.jp\n山梨.jp\n岩手.jp\n岐阜.jp\n岡山.jp\n島根.jp\n広島.jp\n徳島.jp\n沖縄.jp\n滋賀.jp\n神奈川.jp\n福井.jp\n福岡.jp\n福島.jp\n秋田.jp\n群馬.jp\n香川.jp\n高知.jp\n鳥取.jp\n鹿児島.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åkrehamn.no\nalgard.no\nålgård.no\narna.no\nbrumunddal.no\nbryne.no\nbronnoysund.no\nbrønnøysund.no\ndrobak.no\ndrøbak.no\negersund.no\nfetsund.no\nfloro.no\nflorø.no\nfredrikstad.no\nhokksund.no\nhonefoss.no\nhønefoss.no\njessheim.no\njorpeland.no\njørpeland.no\nkirkenes.no\nkopervik.no\nkrokstadelva.no\nlangevag.no\nlangevåg.no\nleirvik.no\nmjondalen.no\nmjøndalen.no\nmo-i-rana.no\nmosjoen.no\nmosjøen.no\nnesoddtangen.no\norkanger.no\nosoyro.no\nosøyro.no\nraholt.no\nråholt.no\nsandnessjoen.no\nsandnessjøen.no\nskedsmokorset.no\nslattum.no\nspjelkavik.no\nstathelle.no\nstavern.no\nstjordalshalsen.no\nstjørdalshalsen.no\ntananger.no\ntranby.no\nvossevangen.no\n// communities\nafjord.no\nåfjord.no\nagdenes.no\nal.no\nål.no\nalesund.no\nålesund.no\nalstahaug.no\nalta.no\náltá.no\nalaheadju.no\nálaheadju.no\nalvdal.no\namli.no\nåmli.no\namot.no\nåmot.no\nandebu.no\nandoy.no\nandøy.no\nandasuolo.no\nardal.no\nårdal.no\naremark.no\narendal.no\nås.no\naseral.no\nåseral.no\nasker.no\naskim.no\naskvoll.no\naskoy.no\naskøy.no\nasnes.no\nåsnes.no\naudnedaln.no\naukra.no\naure.no\naurland.no\naurskog-holand.no\naurskog-høland.no\naustevoll.no\naustrheim.no\naveroy.no\naverøy.no\nbalestrand.no\nballangen.no\nbalat.no\nbálát.no\nbalsfjord.no\nbahccavuotna.no\nbáhccavuotna.no\nbamble.no\nbardu.no\nbeardu.no\nbeiarn.no\nbajddar.no\nbájddar.no\nbaidar.no\nbáidár.no\nberg.no\nbergen.no\nberlevag.no\nberlevåg.no\nbearalvahki.no\nbearalváhki.no\nbindal.no\nbirkenes.no\nbjarkoy.no\nbjarkøy.no\nbjerkreim.no\nbjugn.no\nbodo.no\nbodø.no\nbadaddja.no\nbådåddjå.no\nbudejju.no\nbokn.no\nbremanger.no\nbronnoy.no\nbrønnøy.no\nbygland.no\nbykle.no\nbarum.no\nbærum.no\nbo.telemark.no\nbø.telemark.no\nbo.nordland.no\nbø.nordland.no\nbievat.no\nbievát.no\nbomlo.no\nbømlo.no\nbatsfjord.no\nbåtsfjord.no\nbahcavuotna.no\nbáhcavuotna.no\ndovre.no\ndrammen.no\ndrangedal.no\ndyroy.no\ndyrøy.no\ndonna.no\ndønna.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ášši.no\nevje-og-hornnes.no\nfarsund.no\nfauske.no\nfuossko.no\nfuoisku.no\nfedje.no\nfet.no\nfinnoy.no\nfinnøy.no\nfitjar.no\nfjaler.no\nfjell.no\nflakstad.no\nflatanger.no\nflekkefjord.no\nflesberg.no\nflora.no\nfla.no\nflå.no\nfolldal.no\nforsand.no\nfosnes.no\nfrei.no\nfrogn.no\nfroland.no\nfrosta.no\nfrana.no\nfræna.no\nfroya.no\nfrøya.no\nfusa.no\nfyresdal.no\nforde.no\nførde.no\ngamvik.no\ngangaviika.no\ngáŋgaviika.no\ngaular.no\ngausdal.no\ngildeskal.no\ngildeskål.no\ngiske.no\ngjemnes.no\ngjerdrum.no\ngjerstad.no\ngjesdal.no\ngjovik.no\ngjøvik.no\ngloppen.no\ngol.no\ngran.no\ngrane.no\ngranvin.no\ngratangen.no\ngrimstad.no\ngrong.no\nkraanghke.no\nkråanghke.no\ngrue.no\ngulen.no\nhadsel.no\nhalden.no\nhalsa.no\nhamar.no\nhamaroy.no\nhabmer.no\nhábmer.no\nhapmir.no\nhápmir.no\nhammerfest.no\nhammarfeasta.no\nhámmárfeasta.no\nharam.no\nhareid.no\nharstad.no\nhasvik.no\naknoluokta.no\nákŋoluokta.no\nhattfjelldal.no\naarborte.no\nhaugesund.no\nhemne.no\nhemnes.no\nhemsedal.no\nheroy.more-og-romsdal.no\nherøy.møre-og-romsdal.no\nheroy.nordland.no\nherøy.nordland.no\nhitra.no\nhjartdal.no\nhjelmeland.no\nhobol.no\nhobøl.no\nhof.no\nhol.no\nhole.no\nholmestrand.no\nholtalen.no\nholtålen.no\nhornindal.no\nhorten.no\nhurdal.no\nhurum.no\nhvaler.no\nhyllestad.no\nhagebostad.no\nhægebostad.no\nhoyanger.no\nhøyanger.no\nhoylandet.no\nhøylandet.no\nha.no\nhå.no\nibestad.no\ninderoy.no\ninderøy.no\niveland.no\njevnaker.no\njondal.no\njolster.no\njølster.no\nkarasjok.no\nkarasjohka.no\nkárášjohka.no\nkarlsoy.no\ngalsa.no\ngálsá.no\nkarmoy.no\nkarmøy.no\nkautokeino.no\nguovdageaidnu.no\nklepp.no\nklabu.no\nklæbu.no\nkongsberg.no\nkongsvinger.no\nkragero.no\nkragerø.no\nkristiansand.no\nkristiansund.no\nkrodsherad.no\nkrødsherad.no\nkvalsund.no\nrahkkeravju.no\nráhkkerávju.no\nkvam.no\nkvinesdal.no\nkvinnherad.no\nkviteseid.no\nkvitsoy.no\nkvitsøy.no\nkvafjord.no\nkvæfjord.no\ngiehtavuoatna.no\nkvanangen.no\nkvænangen.no\nnavuotna.no\nnávuotna.no\nkafjord.no\nkåfjord.no\ngaivuotna.no\ngáivuotna.no\nlarvik.no\nlavangen.no\nlavagis.no\nloabat.no\nloabát.no\nlebesby.no\ndavvesiida.no\nleikanger.no\nleirfjord.no\nleka.no\nleksvik.no\nlenvik.no\nleangaviika.no\nleaŋgaviika.no\nlesja.no\nlevanger.no\nlier.no\nlierne.no\nlillehammer.no\nlillesand.no\nlindesnes.no\nlindas.no\nlindås.no\nlom.no\nloppa.no\nlahppi.no\nláhppi.no\nlund.no\nlunner.no\nluroy.no\nlurøy.no\nluster.no\nlyngdal.no\nlyngen.no\nivgu.no\nlardal.no\nlerdal.no\nlærdal.no\nlodingen.no\nlødingen.no\nlorenskog.no\nlørenskog.no\nloten.no\nløten.no\nmalvik.no\nmasoy.no\nmåsøy.no\nmuosat.no\nmuosát.no\nmandal.no\nmarker.no\nmarnardal.no\nmasfjorden.no\nmeland.no\nmeldal.no\nmelhus.no\nmeloy.no\nmeløy.no\nmeraker.no\nmeråker.no\nmoareke.no\nmoåreke.no\nmidsund.no\nmidtre-gauldal.no\nmodalen.no\nmodum.no\nmolde.no\nmoskenes.no\nmoss.no\nmosvik.no\nmalselv.no\nmålselv.no\nmalatvuopmi.no\nmálatvuopmi.no\nnamdalseid.no\naejrie.no\nnamsos.no\nnamsskogan.no\nnaamesjevuemie.no\nnååmesjevuemie.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árga.no\nnesset.no\nnissedal.no\nnittedal.no\nnord-aurdal.no\nnord-fron.no\nnord-odal.no\nnorddal.no\nnordkapp.no\ndavvenjarga.no\ndavvenjárga.no\nnordre-land.no\nnordreisa.no\nraisa.no\nráisa.no\nnore-og-uvdal.no\nnotodden.no\nnaroy.no\nnærøy.no\nnotteroy.no\nnøtterøy.no\nodda.no\noksnes.no\nøksnes.no\noppdal.no\noppegard.no\noppegård.no\norkdal.no\norland.no\nørland.no\norskog.no\nørskog.no\norsta.no\nørsta.no\nos.hedmark.no\nos.hordaland.no\nosen.no\nosteroy.no\nosterøy.no\nostre-toten.no\nøstre-toten.no\noverhalla.no\novre-eiker.no\nøvre-eiker.no\noyer.no\nøyer.no\noygarden.no\nøygarden.no\noystre-slidre.no\nøystre-slidre.no\nporsanger.no\nporsangu.no\nporsáŋgu.no\nporsgrunn.no\nradoy.no\nradøy.no\nrakkestad.no\nrana.no\nruovat.no\nrandaberg.no\nrauma.no\nrendalen.no\nrennebu.no\nrennesoy.no\nrennesøy.no\nrindal.no\nringebu.no\nringerike.no\nringsaker.no\nrissa.no\nrisor.no\nrisør.no\nroan.no\nrollag.no\nrygge.no\nralingen.no\nrælingen.no\nrodoy.no\nrødøy.no\nromskog.no\nrømskog.no\nroros.no\nrøros.no\nrost.no\nrøst.no\nroyken.no\nrøyken.no\nroyrvik.no\nrøyrvik.no\nrade.no\nråde.no\nsalangen.no\nsiellak.no\nsaltdal.no\nsalat.no\nsálát.no\nsálat.no\nsamnanger.no\nsande.more-og-romsdal.no\nsande.møre-og-romsdal.no\nsande.vestfold.no\nsandefjord.no\nsandnes.no\nsandoy.no\nsandøy.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øy.no\nskierva.no\nskiervá.no\nskjak.no\nskjåk.no\nskodje.no\nskanland.no\nskånland.no\nskanit.no\nskánit.no\nsmola.no\nsmøla.no\nsnillfjord.no\nsnasa.no\nsnåsa.no\nsnoasa.no\nsnaase.no\nsnåase.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ørdal.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øgne.no\nsomna.no\nsømna.no\nsondre-land.no\nsøndre-land.no\nsor-aurdal.no\nsør-aurdal.no\nsor-fron.no\nsør-fron.no\nsor-odal.no\nsør-odal.no\nsor-varanger.no\nsør-varanger.no\nmatta-varjjat.no\nmátta-várjjat.no\nsorfold.no\nsørfold.no\nsorreisa.no\nsørreisa.no\nsorum.no\nsørum.no\ntana.no\ndeatnu.no\ntime.no\ntingvoll.no\ntinn.no\ntjeldsund.no\ndielddanuorri.no\ntjome.no\ntjøme.no\ntokke.no\ntolga.no\ntorsken.no\ntranoy.no\ntranøy.no\ntromso.no\ntromsø.no\ntromsa.no\nromsa.no\ntrondheim.no\ntroandin.no\ntrysil.no\ntrana.no\ntræna.no\ntrogstad.no\ntrøgstad.no\ntvedestrand.no\ntydal.no\ntynset.no\ntysfjord.no\ndivtasvuodna.no\ndivttasvuotna.no\ntysnes.no\ntysvar.no\ntysvær.no\ntonsberg.no\ntønsberg.no\nullensaker.no\nullensvang.no\nulvik.no\nutsira.no\nvadso.no\nvadsø.no\ncahcesuolo.no\nčáhcesuolo.no\nvaksdal.no\nvalle.no\nvang.no\nvanylven.no\nvardo.no\nvardø.no\nvarggat.no\nvárggát.no\nvefsn.no\nvaapste.no\nvega.no\nvegarshei.no\nvegårshei.no\nvennesla.no\nverdal.no\nverran.no\nvestby.no\nvestnes.no\nvestre-slidre.no\nvestre-toten.no\nvestvagoy.no\nvestvågøy.no\nvevelstad.no\nvik.no\nvikna.no\nvindafjord.no\nvolda.no\nvoss.no\nvaroy.no\nværøy.no\nvagan.no\nvågan.no\nvoagat.no\nvagsoy.no\nvågsøy.no\nvaga.no\nvågå.no\nvaler.ostfold.no\nvåler.østfold.no\nvaler.hedmark.no\nvåler.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āori.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網路.tw\n組織.tw\n商業.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امارات\n\n// xn--y9a3aq ("hye", Armenian) : AM\n// ISOC AM (operated by .am Registry)\nհայ\n\n// xn--54b7fta0cc ("Bangla", Bangla) : BD\nবাংলা\n\n// xn--90ae ("bg", Bulgarian) : BG\nбг\n\n// xn--mgbcpq6gpa1a ("albahrain", Arabic) : BH\nالبحرين\n\n// xn--90ais ("bel", Belarusian/Russian Cyrillic) : BY\n// Operated by .by registry\nбел\n\n// xn--fiqs8s ("Zhongguo/China", Chinese, Simplified) : CN\n// CNNIC\n// http://cnnic.cn/html/Dir/2005/10/11/3218.htm\n中国\n\n// xn--fiqz9s ("Zhongguo/China", Chinese, Traditional) : CN\n// CNNIC\n// http://cnnic.cn/html/Dir/2005/10/11/3218.htm\n中國\n\n// xn--lgbbat1ad8j ("Algeria/Al Jazair", Arabic) : DZ\nالجزائر\n\n// xn--wgbh1c ("Egypt/Masr", Arabic) : EG\n// http://www.dotmasr.eg/\nمصر\n\n// xn--e1a4c ("eu", Cyrillic) : EU\n// https://eurid.eu\nею\n\n// xn--qxa6a ("eu", Greek) : EU\n// https://eurid.eu\nευ\n\n// xn--mgbah1a3hjkrd ("Mauritania", Arabic) : MR\nموريتانيا\n\n// xn--node ("ge", Georgian Mkhedruli) : GE\nგე\n\n// xn--qxam ("el", Greek) : GR\n// Hellenic Ministry of Infrastructure, Transport, and Networks\nελ\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香港\n公司.香港\n教育.香港\n政府.香港\n個人.香港\n網絡.香港\n組織.香港\n\n// xn--2scrj9c ("Bharat", Kannada) : IN\n// India\nಭಾರತ\n\n// xn--3hcrj9c ("Bharat", Oriya) : IN\n// India\nଭାରତ\n\n// xn--45br5cyl ("Bharatam", Assamese) : IN\n// India\nভাৰত\n\n// xn--h2breg3eve ("Bharatam", Sanskrit) : IN\n// India\nभारतम्\n\n// xn--h2brj9c8c ("Bharot", Santali) : IN\n// India\nभारोत\n\n// xn--mgbgu82a ("Bharat", Sindhi) : IN\n// India\nڀارت\n\n// xn--rvc1e0am3e ("Bharatam", Malayalam) : IN\n// India\nഭാരതം\n\n// xn--h2brj9c ("Bharat", Devanagari) : IN\n// India\nभारत\n\n// xn--mgbbh1a ("Bharat", Kashmiri) : IN\n// India\nبارت\n\n// xn--mgbbh1a71e ("Bharat", Arabic) : IN\n// India\nبھارت\n\n// xn--fpcrj9c3d ("Bharat", Telugu) : IN\n// India\nభారత్\n\n// xn--gecrj9c ("Bharat", Gujarati) : IN\n// India\nભારત\n\n// xn--s9brj9c ("Bharat", Gurmukhi) : IN\n// India\nਭਾਰਤ\n\n// xn--45brj9c ("Bharat", Bengali) : IN\n// India\nভারত\n\n// xn--xkc2dl3a5ee0h ("India", Tamil) : IN\n// India\nஇந்தியா\n\n// xn--mgba3a4f16a ("Iran", Persian) : IR\nایران\n\n// xn--mgba3a4fra ("Iran", Arabic) : IR\nايران\n\n// xn--mgbtx2b ("Iraq", Arabic) : IQ\n// Communications and Media Commission\nعراق\n\n// xn--mgbayh7gpa ("al-Ordon", Arabic) : JO\n// National Information Technology Center (NITC)\n// Royal Scientific Society, Al-Jubeiha\nالاردن\n\n// xn--3e0b707e ("Republic of Korea", Hangul) : KR\n한국\n\n// xn--80ao21a ("Kaz", Kazakh) : KZ\nқаз\n\n// xn--q7ce6a ("Lao", Lao) : LA\nລາວ\n\n// xn--fzc2c9e2c ("Lanka", Sinhalese-Sinhala) : LK\n// https://nic.lk\nලංකා\n\n// xn--xkc2al3hye2a ("Ilangai", Tamil) : LK\n// https://nic.lk\nஇலங்கை\n\n// xn--mgbc0a9azcg ("Morocco/al-Maghrib", Arabic) : MA\nالمغرب\n\n// xn--d1alf ("mkd", Macedonian) : MK\n// MARnet\nмкд\n\n// xn--l1acc ("mon", Mongolian) : MN\nмон\n\n// xn--mix891f ("Macao", Chinese, Traditional) : MO\n// MONIC / HNET Asia (Registry Operator for .mo)\n澳門\n\n// xn--mix082f ("Macao", Chinese, Simplified) : MO\n澳门\n\n// xn--mgbx4cd0ab ("Malaysia", Malay) : MY\nمليسيا\n\n// xn--mgb9awbf ("Oman", Arabic) : OM\nعمان\n\n// xn--mgbai9azgqp6j ("Pakistan", Urdu/Arabic) : PK\nپاکستان\n\n// xn--mgbai9a5eva00b ("Pakistan", Urdu/Arabic, variant) : PK\nپاكستان\n\n// xn--ygbi2ammx ("Falasteen", Arabic) : PS\n// The Palestinian National Internet Naming Authority (PNINA)\n// http://www.pnina.ps\nفلسطين\n\n// xn--90a3ac ("srb", Cyrillic) : RS\n// https://www.rnids.rs/en/domains/national-domains\nсрб\nпр.срб\nорг.срб\nобр.срб\nод.срб\nупр.срб\nак.срб\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рф\n\n// xn--wgbl6a ("Qatar", Arabic) : QA\n// http://www.ict.gov.qa/\nقطر\n\n// xn--mgberp4a5d4ar ("AlSaudiah", Arabic) : SA\n// http://www.nic.net.sa/\nالسعودية\n\n// xn--mgberp4a5d4a87g ("AlSaudiah", Arabic, variant) : SA\nالسعودیة\n\n// xn--mgbqly7c0a67fbc ("AlSaudiah", Arabic, variant) : SA\nالسعودیۃ\n\n// xn--mgbqly7cvafr ("AlSaudiah", Arabic, variant) : SA\nالسعوديه\n\n// xn--mgbpl2fh ("sudan", Arabic) : SD\n// Operated by .sd registry\nسودان\n\n// xn--yfro4i67o Singapore ("Singapore", Chinese) : SG\n新加坡\n\n// xn--clchc0ea0b2g2a9gcd ("Singapore", Tamil) : SG\nசிங்கப்பூர்\n\n// xn--ogbpf8fl ("Syria", Arabic) : SY\nسورية\n\n// xn--mgbtf8fl ("Syria", Arabic, variant) : SY\nسوريا\n\n// xn--o3cw4h ("Thai", Thai) : TH\n// http://www.thnic.co.th\nไทย\nศึกษา.ไทย\nธุรกิจ.ไทย\nรัฐบาล.ไทย\nทหาร.ไทย\nเน็ต.ไทย\nองค์กร.ไทย\n\n// xn--pgbs0dh ("Tunisia", Arabic) : TN\n// http://nic.tn\nتونس\n\n// xn--kpry57d ("Taiwan", Chinese, Traditional) : TW\n// http://www.twnic.net/english/dn/dn_07a.htm\n台灣\n\n// xn--kprw13d ("Taiwan", Chinese, Simplified) : TW\n// http://www.twnic.net/english/dn/dn_07a.htm\n台湾\n\n// xn--nnx388a ("Taiwan", Chinese, variant) : TW\n臺灣\n\n// xn--j1amh ("ukr", Cyrillic) : UA\nукр\n\n// xn--mgb2ddes ("AlYemen", Arabic) : YE\nاليمن\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ögensberatung 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 à la Télévision Européenne 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édération 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úcleo de Informação e Coordenação 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ée 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éditerranée 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é 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ögensberatung 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ännischer 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úcleo de Informação e Coordenação 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ón 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ção e Participações 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ón Bancaria Caixa d’Estalvis i Pensions de Barcelona, “la Caixa”\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ée 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ÉTICOS 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ée 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édiaBC\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ögensberatung 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ébec 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ática 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ía 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‐La 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été 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कॉम\n\n// xn--1ck2e1b : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--1ck2e1b.html\nセール\n\n// xn--1qqw23a : Guangzhou YU Wei Information Technology Co., Ltd.\n// https://www.iana.org/domains/root/db/xn--1qqw23a.html\n佛山\n\n// xn--30rr7y : Excellent First Limited\n// https://www.iana.org/domains/root/db/xn--30rr7y.html\n慈善\n\n// xn--3bst00m : Eagle Horizon Limited\n// https://www.iana.org/domains/root/db/xn--3bst00m.html\n集团\n\n// xn--3ds443g : TLD REGISTRY LIMITED OY\n// https://www.iana.org/domains/root/db/xn--3ds443g.html\n在线\n\n// xn--3pxu8k : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--3pxu8k.html\n点看\n\n// xn--42c2d9a : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--42c2d9a.html\nคอม\n\n// xn--45q11c : Zodiac Gemini Ltd\n// https://www.iana.org/domains/root/db/xn--45q11c.html\n八卦\n\n// xn--4gbrim : Helium TLDs Ltd\n// https://www.iana.org/domains/root/db/xn--4gbrim.html\nموقع\n\n// xn--55qw42g : China Organizational Name Administration Center\n// https://www.iana.org/domains/root/db/xn--55qw42g.html\n公益\n\n// xn--55qx5d : China Internet Network Information Center (CNNIC)\n// https://www.iana.org/domains/root/db/xn--55qx5d.html\n公司\n\n// xn--5su34j936bgsg : Shangri‐La International Hotel Management Limited\n// https://www.iana.org/domains/root/db/xn--5su34j936bgsg.html\n香格里拉\n\n// xn--5tzm5g : Global Website TLD Asia Limited\n// https://www.iana.org/domains/root/db/xn--5tzm5g.html\n网站\n\n// xn--6frz82g : Identity Digital Limited\n// https://www.iana.org/domains/root/db/xn--6frz82g.html\n移动\n\n// xn--6qq986b3xl : Tycoon Treasure Limited\n// https://www.iana.org/domains/root/db/xn--6qq986b3xl.html\n我爱你\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москва\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католик\n\n// xn--80asehdb : CORE Association\n// https://www.iana.org/domains/root/db/xn--80asehdb.html\nонлайн\n\n// xn--80aswg : CORE Association\n// https://www.iana.org/domains/root/db/xn--80aswg.html\nсайт\n\n// xn--8y0a063a : China United Network Communications Corporation Limited\n// https://www.iana.org/domains/root/db/xn--8y0a063a.html\n联通\n\n// xn--9dbq2a : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--9dbq2a.html\nקום\n\n// xn--9et52u : RISE VICTORY LIMITED\n// https://www.iana.org/domains/root/db/xn--9et52u.html\n时尚\n\n// xn--9krt00a : Sina Corporation\n// https://www.iana.org/domains/root/db/xn--9krt00a.html\n微博\n\n// xn--b4w605ferd : Temasek Holdings (Private) Limited\n// https://www.iana.org/domains/root/db/xn--b4w605ferd.html\n淡马锡\n\n// xn--bck1b9a5dre4c : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--bck1b9a5dre4c.html\nファッション\n\n// xn--c1avg : Public Interest Registry\n// https://www.iana.org/domains/root/db/xn--c1avg.html\nорг\n\n// xn--c2br7g : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--c2br7g.html\nनेट\n\n// xn--cck2b3b : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--cck2b3b.html\nストア\n\n// xn--cckwcxetd : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--cckwcxetd.html\nアマゾン\n\n// xn--cg4bki : SAMSUNG SDS CO., LTD\n// https://www.iana.org/domains/root/db/xn--cg4bki.html\n삼성\n\n// xn--czr694b : Internet DotTrademark Organisation Limited\n// https://www.iana.org/domains/root/db/xn--czr694b.html\n商标\n\n// xn--czrs0t : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/xn--czrs0t.html\n商店\n\n// xn--czru2d : Zodiac Aquarius Limited\n// https://www.iana.org/domains/root/db/xn--czru2d.html\n商城\n\n// xn--d1acj3b : The Foundation for Network Initiatives “The Smart Internet”\n// https://www.iana.org/domains/root/db/xn--d1acj3b.html\nдети\n\n// xn--eckvdtc9d : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--eckvdtc9d.html\nポイント\n\n// xn--efvy88h : Guangzhou YU Wei Information Technology Co., Ltd.\n// https://www.iana.org/domains/root/db/xn--efvy88h.html\n新闻\n\n// xn--fct429k : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--fct429k.html\n家電\n\n// xn--fhbei : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--fhbei.html\nكوم\n\n// xn--fiq228c5hs : TLD REGISTRY LIMITED OY\n// https://www.iana.org/domains/root/db/xn--fiq228c5hs.html\n中文网\n\n// xn--fiq64b : CITIC Group Corporation\n// https://www.iana.org/domains/root/db/xn--fiq64b.html\n中信\n\n// xn--fjq720a : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/xn--fjq720a.html\n娱乐\n\n// xn--flw351e : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/xn--flw351e.html\n谷歌\n\n// xn--fzys8d69uvgm : PCCW Enterprises Limited\n// https://www.iana.org/domains/root/db/xn--fzys8d69uvgm.html\n電訊盈科\n\n// xn--g2xx48c : Nawang Heli(Xiamen) Network Service Co., LTD.\n// https://www.iana.org/domains/root/db/xn--g2xx48c.html\n购物\n\n// xn--gckr3f0f : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--gckr3f0f.html\nクラウド\n\n// xn--gk3at1e : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--gk3at1e.html\n通販\n\n// xn--hxt814e : Zodiac Taurus Limited\n// https://www.iana.org/domains/root/db/xn--hxt814e.html\n网店\n\n// xn--i1b6b1a6a2e : Public Interest Registry\n// https://www.iana.org/domains/root/db/xn--i1b6b1a6a2e.html\nसंगठन\n\n// xn--imr513n : Internet DotTrademark Organisation Limited\n// https://www.iana.org/domains/root/db/xn--imr513n.html\n餐厅\n\n// xn--io0a7i : China Internet Network Information Center (CNNIC)\n// https://www.iana.org/domains/root/db/xn--io0a7i.html\n网络\n\n// xn--j1aef : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--j1aef.html\nком\n\n// xn--jlq480n2rg : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--jlq480n2rg.html\n亚马逊\n\n// xn--jvr189m : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--jvr189m.html\n食品\n\n// xn--kcrx77d1x4a : Koninklijke Philips N.V.\n// https://www.iana.org/domains/root/db/xn--kcrx77d1x4a.html\n飞利浦\n\n// xn--kput3i : Beijing RITT-Net Technology Development Co., Ltd\n// https://www.iana.org/domains/root/db/xn--kput3i.html\n手机\n\n// xn--mgba3a3ejt : Aramco Services Company\n// https://www.iana.org/domains/root/db/xn--mgba3a3ejt.html\nارامكو\n\n// xn--mgba7c0bbn0a : Competrol (Luxembourg) Sarl\n// https://www.iana.org/domains/root/db/xn--mgba7c0bbn0a.html\nالعليان\n\n// xn--mgbaakc7dvf : Emirates Telecommunications Corporation (trading as Etisalat)\n// https://www.iana.org/domains/root/db/xn--mgbaakc7dvf.html\nاتصالات\n\n// xn--mgbab2bd : CORE Association\n// https://www.iana.org/domains/root/db/xn--mgbab2bd.html\nبازار\n\n// xn--mgbca7dzdo : Abu Dhabi Systems and Information Centre\n// https://www.iana.org/domains/root/db/xn--mgbca7dzdo.html\nابوظبي\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كاثوليك\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همراه\n\n// xn--mk1bu44c : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--mk1bu44c.html\n닷컴\n\n// xn--mxtq1m : Net-Chinese Co., Ltd.\n// https://www.iana.org/domains/root/db/xn--mxtq1m.html\n政府\n\n// xn--ngbc5azd : International Domain Registry Pty. Ltd.\n// https://www.iana.org/domains/root/db/xn--ngbc5azd.html\nشبكة\n\n// xn--ngbe9e0a : Kuwait Finance House\n// https://www.iana.org/domains/root/db/xn--ngbe9e0a.html\nبيتك\n\n// xn--ngbrx : League of Arab States\n// https://www.iana.org/domains/root/db/xn--ngbrx.html\nعرب\n\n// xn--nqv7f : Public Interest Registry\n// https://www.iana.org/domains/root/db/xn--nqv7f.html\n机构\n\n// xn--nqv7fs00ema : Public Interest Registry\n// https://www.iana.org/domains/root/db/xn--nqv7fs00ema.html\n组织机构\n\n// xn--nyqy26a : Stable Tone Limited\n// https://www.iana.org/domains/root/db/xn--nyqy26a.html\n健康\n\n// xn--otu796d : Jiang Yu Liang Cai Technology Company Limited\n// https://www.iana.org/domains/root/db/xn--otu796d.html\n招聘\n\n// xn--p1acf : Rusnames Limited\n// https://www.iana.org/domains/root/db/xn--p1acf.html\nрус\n\n// xn--pssy2u : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--pssy2u.html\n大拿\n\n// xn--q9jyb4c : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/xn--q9jyb4c.html\nみんな\n\n// xn--qcka1pmc : Charleston Road Registry Inc.\n// https://www.iana.org/domains/root/db/xn--qcka1pmc.html\nグーグル\n\n// xn--rhqv96g : Stable Tone Limited\n// https://www.iana.org/domains/root/db/xn--rhqv96g.html\n世界\n\n// xn--rovu88b : Amazon Registry Services, Inc.\n// https://www.iana.org/domains/root/db/xn--rovu88b.html\n書籍\n\n// xn--ses554g : KNET Co., Ltd.\n// https://www.iana.org/domains/root/db/xn--ses554g.html\n网址\n\n// xn--t60b56a : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--t60b56a.html\n닷넷\n\n// xn--tckwe : VeriSign Sarl\n// https://www.iana.org/domains/root/db/xn--tckwe.html\nコム\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天主教\n\n// xn--unup4y : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/xn--unup4y.html\n游戏\n\n// xn--vermgensberater-ctb : Deutsche Vermögensberatung Aktiengesellschaft DVAG\n// https://www.iana.org/domains/root/db/xn--vermgensberater-ctb.html\nvermögensberater\n\n// xn--vermgensberatung-pwb : Deutsche Vermögensberatung Aktiengesellschaft DVAG\n// https://www.iana.org/domains/root/db/xn--vermgensberatung-pwb.html\nvermögensberatung\n\n// xn--vhquv : Binky Moon, LLC\n// https://www.iana.org/domains/root/db/xn--vhquv.html\n企业\n\n// xn--vuq861b : Beijing Tele-info Technology Co., Ltd.\n// https://www.iana.org/domains/root/db/xn--vuq861b.html\n信息\n\n// xn--w4r85el8fhu5dnra : Kerry Trading Co. Limited\n// https://www.iana.org/domains/root/db/xn--w4r85el8fhu5dnra.html\n嘉里大酒店\n\n// xn--w4rs40l : Kerry Trading Co. Limited\n// https://www.iana.org/domains/root/db/xn--w4rs40l.html\n嘉里\n\n// xn--xhq521b : Guangzhou YU Wei Information Technology Co., Ltd.\n// https://www.iana.org/domains/root/db/xn--xhq521b.html\n广东\n\n// xn--zfr164b : China Organizational Name Administration Center\n// https://www.iana.org/domains/root/db/xn--zfr164b.html\n政务\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ño 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ürich (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änkt) : 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ón Amigos de la Informática "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änkt) : 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‽ : 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é 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örderung 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ž 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ünstigBestellen : https://günstigbestellen.de\n// Submitted by Furkan Akkoc <info@hendelzon.de>\ngünstigbestellen.de\ngünstigliefern.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äkkinen.fi\n// Submitted by Eero Häkkinen <Eero+psl@Häkkinen.fi>\nhäkkinen.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ña <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án 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émi 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õhmus Family, The\n// Submitted by Heiki Lõhmus <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ěk Šustr <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ča <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öttinger <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é <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édéric VANNIÈRE <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биз.рус\nком.рус\nкрым.рус\nмир.рус\nмск.рус\nорг.рус\nсамара.рус\nсочи.рус\nспб.рус\nя.рус\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émy Léone <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öck <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önckemeyer <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üper <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érôme 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é <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öll <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üsterhus <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((n=>!n.startsWith("//")&&n.trim().length>0)).sort(((n,e)=>e.length-n.length));async function bk(n,e,t,a){let o=await fk(t.filenameTemplate,t,a,n,e)||"";t.replaceEmojisInFilename&&gk.forEach((n=>o=o.replaceAll(n," _"+uk[n]+"_ ")));const i=t.filenameReplacementCharacter;if(o=function(n,e=hk,t=pk){return e.forEach((e=>n=n.replace(new RegExp("["+e+"]+","g"),t))),n=n.replace(/\.\.\//g,"").replace(/^\/+/,"").replace(/\/+/g,"/").replace(/\/$/,"").replace(/\.$/,"").replace(/\.\//g,"."+t).replace(/\/\./g,"/"+t),n}(o,t.filenameReplacedCharacters,i),t.backgroundSave||(o=o.replace(/\//g,i)),!t.keepFilename&&("bytes"==t.filenameMaxLengthUnit&&a.getContentSize(o)>t.filenameMaxLength||o.length>t.filenameMaxLength)){const n=o.match(/(\.[^.]{3,4})$/),e=n&&n[0]&&n[0].length>1?n[0]:"";o="bytes"==t.filenameMaxLengthUnit?await vk(o,t.filenameMaxLength-e.length):o.substring(0,t.filenameMaxLength-e.length),o=o+"…"+e}return o||(o="Unnamed page"),o}async function fk(n="",e,t,a,o,i){const r=new URL(e.saveUrl),s=yk(r.href),l=Array.from(new URLSearchParams(r.search)),c=e.bookmarkFolders&&e.bookmarkFolders.join("/")||"",m=void 0===i||i,d=wk.find((n=>r.hostname.endsWith("."+n)&&n)),h=d?r.hostname.substring(0,r.hostname.length-d.length-1):r.hostname;let p=h.substring(0,h.lastIndexOf("."));const u=h.substring(p.length+1),g=u+"."+d;p.startsWith("www.")?p=p.substring(4):"www"==p&&(p="");const w={"page-title":{getter:()=>e.title},"page-heading":{getter:()=>e.info.heading},"page-language":{getter:()=>e.info.lang},"page-description":{getter:()=>e.info.description},"page-author":{getter:()=>e.info.author},"page-creator":{getter:()=>e.info.creator},"page-publisher":{getter:()=>e.info.publisher},"url-hash":{getter:()=>r.hash.substring(1)},"url-host":{getter:()=>r.host.replace(/\/$/,"")},"url-hostname":{getter:()=>r.hostname.replace(/\/$/,"")},"url-hostname-suffix":{getter:()=>d},"url-hostname-domain":{getter:()=>u},"url-hostname-root":{getter:()=>g},"url-hostname-subdomains":{getter:()=>p},"url-href":{getter:()=>s,dontReplaceSlash:m},"url-href-digest-sha-1":{getter:s?async()=>t.digest("SHA-1",s):""},"url-href-flat":{getter:()=>yk(r.href),dontReplaceSlash:!1},"url-referrer":{getter:()=>yk(e.referrer),dontReplaceSlash:m},"url-referrer-flat":{getter:()=>yk(e.referrer),dontReplaceSlash:!1},"url-password":{getter:()=>r.password},"url-pathname":{getter:()=>yk(r.pathname).replace(/^\//,"").replace(/\/$/,""),dontReplaceSlash:m},"url-pathname-flat":{getter:()=>yk(r.pathname),dontReplaceSlash:!1},"url-port":{getter:()=>r.port},"url-protocol":{getter:()=>r.protocol},"url-search":{getter:()=>r.search.substring(1)},"url-username":{getter:()=>r.username},"tab-id":{getter:()=>String(e.tabId)},"tab-index":{getter:()=>String(e.tabIndex)},"url-last-segment":{getter:()=>yk(function(n,e){let t=n.pathname.match(/\/([^/]+)$/),a=t&&t[0];a||(t=n.href.match(/([^/]+)\/?$/),a=t&&t[0]);a||(t=a.match(/(.*)\.[^.]+$/),a=t&&t[0]);a||(a=n.hostname.replace(/\/+/g,e).replace(/\/$/,""));t=a.match(/(.*)\.[^.]+$/),t&&t[1]&&(a=t[1]);return a=a.replace(/\/$/,"").replace(/^\//,""),a}(r,e.filenameReplacementCharacter))},"bookmark-pathname":{getter:()=>c,dontReplaceSlash:m},"bookmark-pathname-flat":{getter:()=>c,dontReplaceSlash:!1},"profile-name":{getter:()=>e.profileName},"filename-extension":{getter:()=>function(n){return n.compressContent?n.selfExtractingArchive?n.extractDataFromPage?"u.zip.html":"zip.html":"zip":"html"}(e)}};a&&(w["digest-sha-256"]={getter:async()=>t.digest("SHA-256",a)},w["digest-sha-384"]={getter:async()=>t.digest("SHA-384",a)},w["digest-sha-512"]={getter:async()=>t.digest("SHA-512",a)}),e.saveDate&&y(e.saveDate),e.visitDate&&y(e.visitDate,"visit-");const b={"if-empty":(...n)=>{const e=n.pop(),t=n.find((n=>n));return t||e},"if-not-empty":n=>{const e=n.pop(),t=n.find((n=>n));return t?e:t},substring:(n,e,t)=>n.substring(e,t),lowercase:n=>n.toLowerCase(),uppercase:n=>n.toUpperCase(),capitalize:n=>n.replace(/(?:^|\s)\S/g,(n=>n.toUpperCase())),replace:(n,e,t)=>n.replaceAll(e,t),trim:n=>n.trim(),"trim-left":n=>n.trimLeft(),"trim-right":n=>n.trimRight(),"pad-left":(n,e,t)=>n.padStart(e,t),"pad-right":(n,e,t)=>n.padEnd(e,t),"url-search-name":(n=0)=>l[n]&&l[n][0],"url-search-value":(n=0)=>l[n]&&l[n][1],"url-search":n=>{const e=l.find((e=>e[0]==n));return e&&e[1]}};o&&(b["page-element-text"]=n=>{const e=o.querySelector(n);return e&&e.textContent},b["page-element-attribute"]=(n,e)=>{const t=o.querySelector(n);return t&&t.getAttribute(e)}),n=(n=(n=(n=n.replaceAll("\\%","\\\\%")).replaceAll("\\{","\\\\{")).replaceAll("\\|","\\\\|")).replaceAll("\\>","\\\\>");const f=await dk(n,{callFunction(n,[t,a],o){const i=b[n];return i?(t=t.replace(/\\\\(.)/g,"$1"),a=a.map((n=>n.replace(/\\\\(.)/g,"$1"))),kk((()=>i(t,...a)),!0,e.filenameReplacementCharacter,o)):""},getVariableValue(n,t){const a=w[n];return a?kk(a.getter,a.dontReplaceSlash,e.filenameReplacementCharacter,t):""}});let k=f.join("");return k=k.replaceAll("\\\\%","%"),k=k.replaceAll("\\\\{","{"),k=k.replaceAll("\\\\|","|"),k=k.replaceAll("\\\\>",">"),k;function y(n,e=""){w[e+"datetime-iso"]={getter:()=>n.toISOString()},w[e+"date-iso"]={getter:()=>n.toISOString().split("T")[0]},w[e+"time-iso"]={getter:()=>n.toISOString().split("T")[1].split("Z")[0]},w[e+"date-locale"]={getter:()=>n.toLocaleDateString()},w[e+"time-locale"]={getter:()=>n.toLocaleTimeString()},w[e+"day-locale"]={getter:()=>String(n.getDate()).padStart(2,"0")},w[e+"month-locale"]={getter:()=>String(n.getMonth()+1).padStart(2,"0")},w[e+"year-locale"]={getter:()=>String(n.getFullYear())},w[e+"datetime-locale"]={getter:()=>n.toLocaleString()},w[e+"datetime-utc"]={getter:()=>n.toUTCString()},w[e+"day-utc"]={getter:()=>String(n.getUTCDate()).padStart(2,"0")},w[e+"month-utc"]={getter:()=>String(n.getUTCMonth()+1).padStart(2,"0")},w[e+"year-utc"]={getter:()=>String(n.getUTCFullYear())},w[e+"hours-locale"]={getter:()=>String(n.getHours()).padStart(2,"0")},w[e+"minutes-locale"]={getter:()=>String(n.getMinutes()).padStart(2,"0")},w[e+"seconds-locale"]={getter:()=>String(n.getSeconds()).padStart(2,"0")},w[e+"hours-utc"]={getter:()=>String(n.getUTCHours()).padStart(2,"0")},w[e+"minutes-utc"]={getter:()=>String(n.getUTCMinutes()).padStart(2,"0")},w[e+"seconds-utc"]={getter:()=>String(n.getUTCSeconds()).padStart(2,"0")},w[e+"time-ms"]={getter:()=>String(n.getTime())}}}async function kk(n,e,t,a){const{maxLength:o,maxCharLength:i}=function(n){if(n){const{unit:e,length:t}=n;let a,o;return"char"==e?o=t:a=t,{maxLength:a,maxCharLength:o}}return{}}(a);let r=await n();return e||(r=r.replace(/\/+/g,t)),o?r=await vk(r,o):i&&(r=r.substring(0,i)),r}function yk(n){try{return decodeURI(n)}catch(e){return n}}function vk(n,e){const t=new Blob([n]),a=new FileReader;return a.readAsText(t.slice(0,e)),new Promise(((t,o)=>{a.addEventListener("load",(()=>{n.startsWith(a.result)?t(a.result):vk(n,e-1).then(t).catch(o)}),!1),a.addEventListener("error",o,!1)}))}const jk=1048576,Sk=["~","+","\\\\","?","%","*",":","|",'"',"<",">","\0-",""],xk={"image/svg+xml":".svg","image/png":".png","image/jpeg":".jpg","image/gif":".gif","image/webp":".webp"},Ck=globalThis.URL,zk=globalThis.DOMParser,Lk=globalThis.Blob,Ak=globalThis.FileReader,Ik=(n,e)=>globalThis.fetch(n,e),Tk=globalThis.crypto,Rk=globalThis.TextDecoder,Ek=globalThis.TextEncoder;async function Dk(n,e,t,a,o){if(t)if(e.asBinary)if(e.inline){const n=new Ak;n.readAsDataURL(new Lk([t],{type:o+(e.charset?";charset="+e.charset:"")})),t=await new Promise(((e,t)=>{n.addEventListener("load",(()=>e(n.result)),!1),n.addEventListener("error",t,!1)}))}else t=new Uint8Array(t);else{const n=new Uint8Array(t.slice(0,4));132==n[0]&&49==n[1]&&149==n[2]&&51==n[3]?a="gb18030":255==n[0]&&254==n[1]?a="utf-16le":254==n[0]&&255==n[1]&&(a="utf-16be");try{t=new Rk(a).decode(t)}catch(n){t=new Rk(a="utf-8").decode(t)}t=t.replace(/\ufeff/gi,"")}else e.inline&&(t=e.asBinary?Hb:"");return{data:t,resourceURL:n,charset:a,contentType:o}}function Mk(n){const e=n.doctype;let t="";return e&&(t="<!DOCTYPE "+e.nodeName,e.publicId?(t+=' PUBLIC "'+e.publicId+'"',e.systemId&&(t+=' "'+e.systemId+'"')):e.systemId&&(t+=' SYSTEM "'+e.systemId+'"'),e.internalSubset&&(t+=" ["+e.internalSubset+"]"),t+="> "),t}const Bk=((Nk=Nk||{}).fetch=Nk.fetch||Ik,Nk.frameFetch=Nk.frameFetch||Nk.fetch||Ik,{getDoctypeString:Mk,getFilenameExtension(n,e,t){const a=new Ck(n).pathname.match(/(\.[^\\/.]*)$/);return(a&&a[1]&&this.getValidFilename(a[1],e,t)||"").toLowerCase()},getContentTypeExtension:n=>xk[n]||"",getContent:async function(n,e){let t,a,o,i;const r=Nk.fetch,s=Nk.frameFetch;if(e.blockMixedContent&&/^https:/i.test(e.baseURI)&&!/^https:/i.test(n))return Dk(n,e);o=e.networkTimeout?new Promise(((n,t)=>{i=n,a=globalThis.setTimeout((()=>t(new Error("network timeout"))),e.networkTimeout)})):new Promise((n=>{i=n}));try{const a=e.acceptHeaders?e.acceptHeaders[e.expectedType]:"*/*";if(e.frameId)try{t=await Promise.race([s(n,{frameId:e.frameId,referrer:e.resourceReferrer,headers:{accept:a}}),o])}catch(e){t=await Promise.race([r(n,{headers:{accept:a}}),o])}else t=await Promise.race([r(n,{referrer:e.resourceReferrer,headers:{accept:a}}),o])}catch(t){return Dk(n,e)}finally{i(),e.networkTimeout&&globalThis.clearTimeout(a)}let l;try{l=await t.arrayBuffer()}catch(t){return e.inline?{data:e.asBinary?Hb:"",resourceURL:n}:{resourceURL:n}}n=t.url||n;let c,m="";try{const n=new ob(t.headers.get("content-type"));m=n.type+"/"+n.subtype,c=n.parameters.get("charset")}catch(n){}if(m||(m=function(n,e){if("image"==n){if(t([255,255,255,255],[0,0,1,0]))return"image/x-icon";if(t([255,255,255,255],[0,0,2,0]))return"image/x-icon";if(t([255,255],[78,77]))return"image/bmp";if(t([255,255,255,255,255,255],[71,73,70,56,57,97]))return"image/gif";if(t([255,255,255,255,255,255],[71,73,70,56,59,97]))return"image/gif";if(t([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(t([255,255,255,255,255,255,255,255],[137,80,78,71,13,10,26,10]))return"image/png";if(t([255,255,255],[255,216,255]))return"image/jpeg"}if("font"==n){if(t([0,0,0,0,0,0,0,0,0,0,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(t([255,255,255,255],[0,1,0,0]))return"font/ttf";if(t([255,255,255,255],[79,84,84,79]))return"font/otf";if(t([255,255,255,255],[116,116,99,102]))return"font/collection";if(t([255,255,255,255],[119,79,70,70]))return"font/woff";if(t([255,255,255,255],[119,79,70,50]))return"font/woff2"}function t(n,t){let a=!0,o=0;if(e.byteLength>=t.length){const i=new Uint8Array(e,0,n.length);for(o=0;o<n.length&&a;o++)a=a&&(i[o]&n[o])==t[o];return a}}}(e.expectedType,l)),!c&&e.charset&&(c=e.charset),e.asBinary){if(t.status>=400)return Dk(n,e);try{return e.maxResourceSizeEnabled&&l.byteLength>e.maxResourceSize*jk?Dk(n,e):Dk(n,e,l,null,m)}catch(t){return Dk(n,e)}}else{if(t.status>=400||e.validateTextContentType&&m&&!m.startsWith("text/"))return Dk(n,e);if(c||(c="utf-8"),e.maxResourceSizeEnabled&&l.byteLength>e.maxResourceSize*jk)return Dk(n,e,null,c);try{return Dk(n,e,l,c,m)}catch(t){return Dk(n,e,null,c)}}},parseURL:(n,e)=>void 0===e?new Ck(n):new Ck(n,e),resolveURL(n,e){return this.parseURL(n,e).href},getSearchParams:n=>Array.from(new URLSearchParams(n)),getValidFilename:(n,e=Sk,t="_")=>(e.forEach((e=>n=n.replace(new RegExp("["+e+"]+","g"),t))),n=n.replace(/\.\.\//g,"").replace(/^\/+/,"").replace(/\/+/g,"/").replace(/\/$/,"").replace(/\.$/,"").replace(/\.\//g,"."+t).replace(/\/\./g,"/"+t)),parseDocContent(n,e){const t=(new zk).parseFromString(n,"text/html");t.head||t.documentElement.insertBefore(t.createElement("HEAD"),t.body);let a=t.querySelector("base");return a&&a.getAttribute("href")||(a&&a.remove(),a=t.createElement("base"),a.setAttribute("href",e),t.head.insertBefore(a,t.head.firstChild)),t},parseXMLContent:n=>(new zk).parseFromString(n,"text/xml"),parseSVGContent(n){const e=(new zk).parseFromString(n,"image/svg+xml");return e.querySelector("parsererror")?(new zk).parseFromString(n,"text/html"):e},async digest(n,e){try{return function(n){const e=[],t=new DataView(n);for(let n=0;n<t.byteLength;n+=4){const a="00000000",o=(a+t.getUint32(n).toString(16)).slice(-a.length);e.push(o)}return e.join("")}(await Tk.subtle.digest(n,new Ek("utf-8").encode(e)))}catch(n){return""}},getContentSize:n=>new Lk([n]).size,formatFilename(n,e,t){return bk(n,e,t,this)},async evalTemplate(n,e,t,a,o){return fk(n,e,this,t,a,o)},minifyHTML:(n,e)=>function(n,e){!function(n){n.querySelectorAll("style, script:not([src])").forEach((n=>{n.textContent.trim()||n.remove()}))}(n);const t=n.createTreeWalker(n.documentElement,rk,null,!1);let a=t.nextNode();for(;a;){const n=sk.find((n=>n(a,e))),o=a;a=t.nextNode(),n&&o.remove()}}(n,e),minifyCSSRules:(n,e,t)=>Wf(n,e,t),removeUnusedFonts:(n,e,t,a)=>cf(n,e,t,a),getMediaAllInfo:(n,e,t)=>function(n,e,t){return new Tf(n,e,t).getMediaAllInfo()}(n,e,t),compressCSS:(n,e)=>Xw(n,e),minifyMedias:n=>qf(n),removeAlternativeImages:n=>Yf(n),parseSrcset:n=>nb(n),preProcessDoc:(n,e,t)=>Gb(n,e,t),postProcessDoc(n,e,t){!function(n,e,t){if(n.querySelectorAll("["+Rb+"]").forEach((n=>{n.textContent=n.getAttribute(Rb),n.removeAttribute(Rb)})),n.querySelectorAll("meta[disabled-http-equiv]").forEach((n=>{n.setAttribute("http-equiv",n.getAttribute("disabled-http-equiv")),n.removeAttribute("disabled-http-equiv")})),n.head&&n.head.querySelectorAll("*:not(base):not(link):not(meta):not(noscript):not(script):not(style):not(template):not(title)").forEach((n=>n.removeAttribute("hidden"))),!e){const t=[wb,kb,bb,yb,Sb,xb,Cb,zb,Ab,vb,Tb,Mb];e=n.querySelectorAll(t.map((n=>"["+n+"]")).join(","))}e.forEach((n=>{n.removeAttribute(wb),n.removeAttribute(bb),n.removeAttribute(fb),n.removeAttribute(kb),n.removeAttribute(yb),n.removeAttribute(Sb),n.removeAttribute(xb),n.removeAttribute(Cb),n.removeAttribute(zb),n.removeAttribute(Ab),n.removeAttribute(vb),n.removeAttribute(Tb),n.removeAttribute(Mb),n.removeAttribute(Lb)})),t&&t.forEach(((n,e)=>n.replaceWith(e)))}(n,e,t)},serialize:(n,e)=>l(n,e),removeQuotes:n=>$b(n),appendInfobar:(n,e)=>function(n,e,t){return w(n,e,t)}(n,e),ON_BEFORE_CAPTURE_EVENT_NAME:db,ON_AFTER_CAPTURE_EVENT_NAME:hb,WIN_ID_ATTRIBUTE_NAME:jb,REMOVED_CONTENT_ATTRIBUTE_NAME:wb,HIDDEN_CONTENT_ATTRIBUTE_NAME:bb,HIDDEN_FRAME_ATTRIBUTE_NAME:kb,IMAGE_ATTRIBUTE_NAME:Sb,POSTER_ATTRIBUTE_NAME:xb,VIDEO_ATTRIBUTE_NAME:Cb,CANVAS_ATTRIBUTE_NAME:zb,STYLE_ATTRIBUTE_NAME:Lb,INPUT_VALUE_ATTRIBUTE_NAME:Ab,SHADOW_ROOT_ATTRIBUTE_NAME:vb,PRESERVED_SPACE_ELEMENT_ATTRIBUTE_NAME:yb,STYLESHEET_ATTRIBUTE_NAME:Tb,SELECTED_CONTENT_ATTRIBUTE_NAME:Eb,INVALID_ELEMENT_ATTRIBUTE_NAME:Db,COMMENT_HEADER:"Page saved with SingleFile",COMMENT_HEADER_LEGACY:"Archive processed by SingleFile",SINGLE_FILE_UI_ELEMENT_CLASS:Fb,EMPTY_RESOURCE:Hb,INFOBAR_TAGNAME:qb,WAIT_FOR_USERSCRIPT_PROPERTY_NAME:"_singleFile_waitForUserScript",NO_SCRIPT_PROPERTY_NAME:"singleFileDisabledNoscript"});var Nk;const Ok={serialize:(n,e)=>l(n,e),getDoctypeString:n=>Bk.getDoctypeString(n),appendInfobar:(n,e,t)=>w(n,e,t),extractInfobarData:n=>b(n),displayIcon:(n,e)=>function(n,e){const t=b(n);t.saveUrl&&(w(n,t,e),f(n,t))}(n,e),zip:fo,extract:async function(n,{password:e,prompt:t=(()=>{}),shadowRootScriptURL:a,zipOptions:o={useWebWorkers:!1},noBlobURL:i}={}){const r={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"},s=/stylesheet_[0-9]+\.css/,l=/scripts\/[0-9]+\.js/,c=/^([0-9_]+\/)?index\.html$/,m=/index\.html$/,d=/frames\//,h=";charset=utf-8";Array.isArray(n)&&(n=new Blob([new Uint8Array(n)])),zip.configure(o);const p=new zip.BlobReader(n),u=new zip.ZipReader(p),g=await u.getEntries(),w={password:e};let b,f,k,y=[];await Promise.all(g.map((async n=>{const{filename:e}=n;let a,o,c,p;if(!w.password&&n.encrypted&&(w.password=t("Please enter the password to view the page")),e.match(m)||e.match(s)||e.match(l))a=new zip.TextWriter,c=await n.getData(a,w),e.match(m)?p="text/html"+h:(e.match(s)?p="text/css"+h:e.match(l)&&(p="text/javascript"+h),o=void 0!==c?i?await v(c,p):URL.createObjectURL(new Blob([c],{type:p})):"data:text/plain,");else{const t=e.match(/\.([^.]+)/);if(p=t&&t[1]&&r[t[1]]?r[t[1]]:"application/octet-stream",e.match(d)||i)o=await n.getData(new zip.Data64URIWriter(p),w);else{const e=await n.getData(new zip.BlobWriter(p),w);o=URL.createObjectURL(e)}}const u=n.filename.match(/^([0-9_]+\/)?(.*)$/)[2];y.push({filename:n.filename,name:u,url:n.comment,content:o,mimeType:p,textContent:c,parentResources:[]})}))),await u.close(),y=y.sort(((n,e)=>e.filename.length-n.filename.length));for(const n of y){let{textContent:e,mimeType:t,filename:o}=n;if(void 0!==e){let r="";const s=o.match(/(.*\/)[^/]+$/);if(s&&s[1]&&(r=s[1]),o.match(c)&&(f=e),!o.match(l)){const a=o;await Promise.all(y.map((async n=>{const{filename:t,parentResources:o,content:i}=n;if(t.startsWith(r)&&t!=a){const n=t.substring(r.length);if(!n.match(/manifest\.json$/)){-1!=e.indexOf(n)&&(o.push(a),e=e.replaceAll(n,i))}}}))),o.match(m)||o.match(d)||i?n.content=await v(e,t):n.content=URL.createObjectURL(new Blob([e],{type:t})),n.textContent=e}o.match(m)&&a&&(n.textContent=e.replace(/<script data-template-shadow-root.*<\/script>/g,"<script data-template-shadow-root src="+a+"><\/script>")),o.match(c)&&(b=e,k=n.url)}}return{docContent:b,origDocContent:f,resources:y,url:k};async function v(n,e){const t=new FileReader;return t.readAsDataURL(new Blob([n],{type:e})),new Promise(((n,e)=>{t.onload=()=>n(t.result.replace(h,"")),t.onerror=e}))}},display:async function(n,e,{disableFramePointerEvents:t}={}){const a="data-single-file-disabled-noscript",o=(new DOMParser).parseFromString(e,"text/html");o.querySelectorAll("noscript:not(["+a+"])").forEach((n=>{n.setAttribute(a,n.innerHTML),n.textContent=""})),o.doctype?n.doctype?n.replaceChild(o.doctype,n.doctype):n.insertBefore(o.doctype,n.documentElement):n.doctype&&n.doctype.remove(),t&&o.querySelectorAll("iframe").forEach((n=>{const e="pointer-events";n.style.setProperty("-sf-"+e,n.style.getPropertyValue(e),n.style.getPropertyPriority(e)),n.style.setProperty(e,"none","important")})),n.replaceChild(n.importNode(o.documentElement,!0),n.documentElement),n.querySelectorAll("["+a+"]").forEach((n=>{n.textContent=n.getAttribute(a),n.removeAttribute(a)})),n.documentElement.setAttribute("data-sfz",""),n.querySelectorAll("link[rel*=icon]").forEach((n=>n.parentElement.replaceChild(n,n))),n.open=n.write=n.close=()=>{};for(let e of Array.from(n.querySelectorAll("script")))await new Promise((t=>{const a=n.createElement("script");Array.from(e.attributes).forEach((n=>a.setAttribute(n.name,n.value)));const o=""==e.getAttribute("async")||"async"==e.getAttribute("async");e.textContent?a.textContent=e.textContent:o||(a.addEventListener("load",t),a.addEventListener("error",(()=>t()))),e.parentElement.replaceChild(a,e),(e.textContent||o)&&t()}))},INFOBAR_TAGNAME:u};n.helper=Ok,Object.defineProperty(n,"__esModule",{value:!0})}));
|