@heycys/gallery 0.2.3 → 0.2.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/THIRD-PARTY-NOTICES.md +1 -1
- package/assets/preview/runtime.js +156 -0
- package/assets/preview/shell.html +107 -0
- package/assets/writing-preferences.md +1 -1
- package/browser/editor/components/divider/index.mjs +1 -1
- package/browser/editor/page/annotate/card.mjs +6 -0
- package/browser/editor/page/annotate/index.mjs +22 -2
- package/browser/editor/page/columns/index.mjs +1 -1
- package/browser/editor/page/conflicts.mjs +1 -1
- package/browser/editor/page/drag/index.mjs +1 -1
- package/browser/editor/page/editor.mjs +39 -3
- package/browser/editor/page/focus.mjs +104 -0
- package/browser/editor/page/handle/index.mjs +14 -2
- package/browser/editor/page/links/index.mjs +2 -2
- package/browser/editor/page/quiet.mjs +3 -3
- package/browser/editor/page/resize/index.mjs +1 -1
- package/browser/editor/page/session.mjs +4 -1
- package/browser/editor/page/ui.mjs +1 -1
- package/browser/shared/annotations.mjs +22 -3
- package/browser/shared/block-packs.mjs +13 -4
- package/browser/shared/document-look.mjs +14 -0
- package/browser/shared/drafts.mjs +1 -1
- package/browser/shared/extension-manifest.mjs +40 -12
- package/browser/shared/favorite-merge.mjs +17 -0
- package/browser/shared/favorites.mjs +77 -0
- package/browser/shared/i18n/en.mjs +123 -24
- package/browser/shared/outline-ops.mjs +109 -0
- package/browser/shared/outline.mjs +6 -0
- package/browser/shared/pages.mjs +20 -8
- package/browser/shared/paths.mjs +5 -2
- package/browser/shared/preference-documents.mjs +137 -0
- package/browser/shared/presence.mjs +94 -0
- package/browser/shared/preview-server.mjs +8 -5
- package/browser/shared/qa-levels.mjs +9 -1
- package/browser/shared/session.mjs +4 -0
- package/browser/shared/shipped-blocks.mjs +22 -4
- package/browser/shared/startup.mjs +101 -0
- package/browser/shared/workspace-columns.mjs +1 -1
- package/browser/shared/workspace-look.mjs +21 -8
- package/browser/shared/workspace-registry.mjs +6 -3
- package/browser/shared/workspace.mjs +37 -10
- package/browser/shared/writing-preferences.mjs +2 -42
- package/dist/chunk-25LYSMAE.mjs +2 -0
- package/dist/chunk-2I6ZVC5O.mjs +2 -0
- package/dist/{chunk-M4NRDYI5.mjs → chunk-2MYTOOP6.mjs} +1 -1
- package/dist/chunk-2VNENLER.mjs +2 -0
- package/dist/chunk-3FERXZF5.mjs +4 -0
- package/dist/chunk-3M6SBBGU.mjs +2 -0
- package/dist/chunk-3VCAAF34.mjs +2 -0
- package/dist/{chunk-WD4U6XXT.mjs → chunk-3ZTRLGSA.mjs} +1 -1
- package/dist/chunk-4FRA5AUE.mjs +2 -0
- package/dist/chunk-4LR2QEC2.mjs +4 -0
- package/dist/chunk-56SVJENP.mjs +966 -0
- package/dist/chunk-5CQISL2G.mjs +4 -0
- package/dist/{chunk-RRKJMHNX.mjs → chunk-5I5ZDDWC.mjs} +5 -5
- package/dist/chunk-5IHDLEB4.mjs +10 -0
- package/dist/chunk-5LRDMV7O.mjs +2 -0
- package/dist/chunk-5MVUYRKG.mjs +5 -0
- package/dist/chunk-5TLLIZT7.mjs +2 -0
- package/dist/chunk-6ILJWFYW.mjs +4 -0
- package/dist/chunk-6N25CJ6Y.mjs +3 -0
- package/dist/{chunk-SQ6Y2ZMA.mjs → chunk-7DTINW6U.mjs} +2 -2
- package/dist/chunk-7KWAGKIK.mjs +2 -0
- package/dist/chunk-7WNUOAFK.mjs +2 -0
- package/dist/chunk-7XCRW5RC.mjs +2 -0
- package/dist/{chunk-BYNPEUDS.mjs → chunk-7XSDTILF.mjs} +1 -1
- package/dist/chunk-ABKYFOVR.mjs +2 -0
- package/dist/chunk-AMUF7PUN.mjs +2 -0
- package/dist/{chunk-FJLM7YE7.mjs → chunk-B2EIMERT.mjs} +2 -2
- package/dist/{chunk-QNECWMGR.mjs → chunk-B45IAAU6.mjs} +1 -1
- package/dist/chunk-B6RAGF4R.mjs +2 -0
- package/dist/chunk-BSJKFE7I.mjs +4 -0
- package/dist/chunk-C72EEVLK.mjs +2 -0
- package/dist/chunk-CRAUKZ23.mjs +4 -0
- package/dist/chunk-F4CT35KL.mjs +2 -0
- package/dist/chunk-F63BNJLG.mjs +2 -0
- package/dist/chunk-FBKUPS44.mjs +2 -0
- package/dist/chunk-FL52ZL5Z.mjs +15 -0
- package/dist/chunk-FOZCU4VW.mjs +2 -0
- package/dist/chunk-G5HV7BC3.mjs +2 -0
- package/dist/{chunk-ERLAIBOA.mjs → chunk-GB5SOYQJ.mjs} +2 -2
- package/dist/chunk-GN3SG3IF.mjs +2 -0
- package/dist/{chunk-6QWQXHAV.mjs → chunk-HFTBVEZK.mjs} +1 -1
- package/dist/chunk-IOW5HLRK.mjs +2 -0
- package/dist/chunk-IQ3GJNTI.mjs +6 -0
- package/dist/chunk-K6SPFBUJ.mjs +2 -0
- package/dist/chunk-K7Y7SPTS.mjs +2 -0
- package/dist/chunk-L2IJCEUH.mjs +2 -0
- package/dist/{chunk-GPIWQ4X4.mjs → chunk-L3VT6LM4.mjs} +1 -1
- package/dist/chunk-L4WLQYFC.mjs +5 -0
- package/dist/{chunk-NLDF35P5.mjs → chunk-LAMCAGK6.mjs} +1 -1
- package/dist/chunk-LHGKPMTI.mjs +2 -0
- package/dist/chunk-LJZIYVNA.mjs +3 -0
- package/dist/chunk-LSVCTLS2.mjs +2 -0
- package/dist/chunk-LZY74XTP.mjs +2 -0
- package/dist/chunk-MC4LRSVH.mjs +2 -0
- package/dist/chunk-MCEXN4G5.mjs +2 -0
- package/dist/chunk-MTLAOCFF.mjs +181 -0
- package/dist/chunk-MZ66LN3B.mjs +2 -0
- package/dist/chunk-N5QWJRRI.mjs +2 -0
- package/dist/chunk-NF4MMOUB.mjs +2 -0
- package/dist/chunk-NHJYAJ73.mjs +3 -0
- package/dist/chunk-NRSD7SVY.mjs +2 -0
- package/dist/chunk-NT23I4XW.mjs +2 -0
- package/dist/chunk-NUALABIS.mjs +3 -0
- package/dist/chunk-NW6LAU22.mjs +2 -0
- package/dist/chunk-NWWHDGKF.mjs +5 -0
- package/dist/chunk-OFRCVMSJ.mjs +2 -0
- package/dist/chunk-OKVQQ3CX.mjs +4 -0
- package/dist/chunk-OM24O4KR.mjs +8 -0
- package/dist/{chunk-4B2TB5K2.mjs → chunk-PBMOC7KA.mjs} +2 -2
- package/dist/chunk-PVTCP43W.mjs +2 -0
- package/dist/chunk-Q62HZAJS.mjs +2 -0
- package/dist/chunk-QBJWIR3Q.mjs +2 -0
- package/dist/chunk-QDSEZX7Z.mjs +6 -0
- package/dist/chunk-QR4V4A2Z.mjs +15 -0
- package/dist/{chunk-QVGOPHOF.mjs → chunk-QRLVVZ3R.mjs} +1 -1
- package/dist/chunk-QW3QG67J.mjs +2 -0
- package/dist/chunk-R2T2EVWY.mjs +8 -0
- package/dist/{chunk-JJNHKGTD.mjs → chunk-R5RERE6G.mjs} +1 -1
- package/dist/chunk-RFHEWT3Y.mjs +5 -0
- package/dist/chunk-RS2Z2JQP.mjs +2 -0
- package/dist/chunk-S6YEC4GE.mjs +16 -0
- package/dist/chunk-SHZLMGGW.mjs +2 -0
- package/dist/chunk-TALJQM2O.mjs +2 -0
- package/dist/chunk-TLNJWEFY.mjs +22 -0
- package/dist/{chunk-ZLS2FRS6.mjs → chunk-TQZU7D7C.mjs} +1 -1
- package/dist/chunk-UTKNWYBA.mjs +2 -0
- package/dist/chunk-V3TM3TEN.mjs +2 -0
- package/dist/chunk-V3XROSP5.mjs +7 -0
- package/dist/{chunk-6QBHU4DF.mjs → chunk-V5JTW2LH.mjs} +1 -1
- package/dist/chunk-VAXLSISW.mjs +4 -0
- package/dist/chunk-VBHI3RG6.mjs +2 -0
- package/dist/{chunk-CRDG6EF2.mjs → chunk-VKZJRGDR.mjs} +1 -1
- package/dist/chunk-VZXZM7NS.mjs +2 -0
- package/dist/chunk-WDS6HEPE.mjs +2 -0
- package/dist/chunk-WHGANNEY.mjs +13 -0
- package/dist/chunk-WMJWC4QY.mjs +56 -0
- package/dist/{chunk-UTMAY3WK.mjs → chunk-WWONJJQS.mjs} +1 -1
- package/dist/chunk-X4WNLFIK.mjs +2 -0
- package/dist/chunk-XNNCQROX.mjs +11 -0
- package/dist/chunk-XRYECF23.mjs +170 -0
- package/dist/{chunk-225ALKYI.mjs → chunk-Z4NEXXFK.mjs} +1 -1
- package/dist/{chunk-PKVK6WFC.mjs → chunk-ZFVF2YPV.mjs} +2 -2
- package/dist/chunk-ZM2IX3R2.mjs +2 -0
- package/dist/chunk-ZNGGDUZI.mjs +2 -0
- package/dist/chunk-ZOEJQOKT.mjs +2 -0
- package/dist/cli.mjs +1 -1
- package/dist/server.mjs +1 -1
- package/dist/update-fetch.mjs +1 -1
- package/dist/worker.mjs +1 -1
- package/package.json +1 -1
- package/release.json +3 -3
- package/skill/SKILL.md +54 -148
- package/skill/references/building-blocks.md +4 -4
- package/skill/references/charts-and-figures.md +73 -0
- package/skill/references/extensions.md +47 -4
- package/skill/references/pages-and-data.md +22 -3
- package/skill/references/preference-files.md +7 -0
- package/skill/references/previews.md +17 -0
- package/skill/references/writing-html.md +21 -82
- package/web/assets/index-B4uUluLM.js +15 -0
- package/web/assets/index-C3vHT8sH.css +1 -0
- package/web/index.html +2 -2
- package/dist/chunk-2HS7ZBPU.mjs +0 -2
- package/dist/chunk-3F57LEN5.mjs +0 -2
- package/dist/chunk-4OZWXZE5.mjs +0 -5
- package/dist/chunk-5GK7HS62.mjs +0 -2
- package/dist/chunk-6GV3CBB2.mjs +0 -2
- package/dist/chunk-6NLXUKAY.mjs +0 -4
- package/dist/chunk-6XD6U3QA.mjs +0 -5
- package/dist/chunk-6Y3HYOBM.mjs +0 -2
- package/dist/chunk-7EFHNQ5B.mjs +0 -3
- package/dist/chunk-7M2BQQGZ.mjs +0 -2
- package/dist/chunk-7UZUQQ7Q.mjs +0 -554
- package/dist/chunk-ALZ6ZENZ.mjs +0 -3
- package/dist/chunk-BX5AKINW.mjs +0 -15
- package/dist/chunk-DR73Y2UJ.mjs +0 -3
- package/dist/chunk-EURLTOTZ.mjs +0 -4
- package/dist/chunk-F4ZA6JRZ.mjs +0 -3
- package/dist/chunk-FNCCVGKX.mjs +0 -2
- package/dist/chunk-FOJ3K5Z3.mjs +0 -6
- package/dist/chunk-FQ72LZHB.mjs +0 -2
- package/dist/chunk-G7N7YFVD.mjs +0 -2
- package/dist/chunk-GIRXJBGC.mjs +0 -2
- package/dist/chunk-GKOBB6DH.mjs +0 -2
- package/dist/chunk-GMJD7ID3.mjs +0 -2
- package/dist/chunk-GQJMVSSN.mjs +0 -2
- package/dist/chunk-HX4DLE3J.mjs +0 -10
- package/dist/chunk-IS7N3N6Q.mjs +0 -168
- package/dist/chunk-JEUK3ZO7.mjs +0 -2
- package/dist/chunk-JPG2LBQM.mjs +0 -11
- package/dist/chunk-JYK5WJPM.mjs +0 -2
- package/dist/chunk-KLQP46Y3.mjs +0 -4
- package/dist/chunk-L55NOXBE.mjs +0 -4
- package/dist/chunk-LCB6MARS.mjs +0 -5
- package/dist/chunk-LJLVCU6W.mjs +0 -16
- package/dist/chunk-LMUZQK5O.mjs +0 -2
- package/dist/chunk-NMF3IPYA.mjs +0 -13
- package/dist/chunk-ONKC4BCC.mjs +0 -2
- package/dist/chunk-OU6ZZVBX.mjs +0 -5
- package/dist/chunk-PUOQ65NC.mjs +0 -2
- package/dist/chunk-QJAVCTY7.mjs +0 -2
- package/dist/chunk-QP7BOHE4.mjs +0 -2
- package/dist/chunk-S3SX3COT.mjs +0 -20
- package/dist/chunk-SQ3FQCCN.mjs +0 -8
- package/dist/chunk-T4Y2ZSVX.mjs +0 -4
- package/dist/chunk-TANZRINB.mjs +0 -2
- package/dist/chunk-UGWMMEJ5.mjs +0 -15
- package/dist/chunk-UTF7GBQU.mjs +0 -4
- package/dist/chunk-V4ZHRALW.mjs +0 -170
- package/dist/chunk-XBNFXWAW.mjs +0 -6
- package/dist/chunk-XZV72SQ4.mjs +0 -2
- package/dist/chunk-YFJB534W.mjs +0 -2
- package/dist/chunk-Z6OKLRHC.mjs +0 -2
- package/dist/chunk-ZMHUDYLV.mjs +0 -2
- package/web/assets/index-D8P8uhDW.js +0 -15
- package/web/assets/index-FLb9jCfl.css +0 -1
- /package/dist/{chunk-PAREWQGB.mjs → chunk-NOGQX56R.mjs} +0 -0
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { createRequire as __galleryRequire } from "node:module"; import { fileURLToPath as __galleryPath } from "node:url"; const require = __galleryRequire(import.meta.url); const __filename = __galleryPath(import.meta.url); const __dirname = __galleryPath(new URL(".", import.meta.url));
|
|
2
|
-
import{c as ZX,d as gEe}from"./chunk-2OHANJ6Q.mjs";import{a as KX}from"./chunk-F4ZA6JRZ.mjs";import{c as AEe,d as yEe}from"./chunk-7M2BQQGZ.mjs";import{a as mEe}from"./chunk-6NLXUKAY.mjs";import{i as a_,j as hEe,k as fEe}from"./chunk-BFJGHSQN.mjs";import{a as dEe,h as pEe}from"./chunk-U5XL7D6A.mjs";import{a as uI}from"./chunk-HYMEEXKN.mjs";import{a as cEe}from"./chunk-UMHUSOPJ.mjs";import{d as lEe,e as uEe}from"./chunk-A55HN5OK.mjs";import{a as Pe,b as xe,c as C,d as Gt,e as qD,f as Fc}from"./chunk-5L7RYZCL.mjs";var MEe=C(oC=>{"use strict";function v1t(e,n){return e.endsWith(n)?e.length===n.length||e[e.length-n.length-1]===".":!1}function C1t(e,n){let r=e.length-n.length-2,s=e.lastIndexOf(".",r);return s===-1?e:e.slice(s+1)}function T1t(e,n,r){if(r.validHosts!==null){let o=r.validHosts;for(let t of o)if(v1t(n,t))return t}let s=0;if(n.startsWith("."))for(;s<n.length&&n[s]===".";)s+=1;return e.length===n.length-s?null:C1t(n,e)}function x1t(e,n){return e.slice(0,-n.length-1)}var OX=/[\t\n\r]/g,jX=!1;function SEe(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function wEe(e,n,r){let s=r-n,o=e.charCodeAt(n)|32;if(s===2)return o===119&&(e.charCodeAt(n+1)|32)===115?1:0;if(s===3){let t=e.charCodeAt(n+1)|32,i=e.charCodeAt(n+2)|32;return o===119&&t===115&&i===115||o===102&&t===116&&i===112?1:0}else if(s===4){let t=e.charCodeAt(n+1)|32,i=e.charCodeAt(n+2)|32,a=e.charCodeAt(n+3)|32;return o===104&&t===116&&i===116&&a===112?1:o===102&&t===105&&i===108&&a===101?2:0}else if(s===5)return o===104&&(e.charCodeAt(n+1)|32)===116&&(e.charCodeAt(n+2)|32)===116&&(e.charCodeAt(n+3)|32)===112&&(e.charCodeAt(n+4)|32)===115?1:0;return 0}function l_(e,n,r=!1){let s=0,o=e.length,t=!1,i=!1;if(jX=!1,!n){if(e.startsWith("data:"))return null;for(;s<e.length&&e.charCodeAt(s)<=32;)s+=1;for(;o>s+1&&e.charCodeAt(o-1)<=32;)o-=1;if(e.charCodeAt(s)===47&&e.charCodeAt(s+1)===47)s+=2;else{let x=e.indexOf(":/",s);if(x!==-1){let T=wEe(e,s,x);if(T===1)for(i=!0,s=x+2;e.charCodeAt(s)===47||e.charCodeAt(s)===92;)s+=1;else if(T===2){i=!0,s=x+1;let k=0;for(;(e.charCodeAt(s)===47||e.charCodeAt(s)===92)&&k<2;)s+=1,k+=1;if(k<2)return null}else{for(let k=s;k<x;k+=1){let _=e.charCodeAt(k)|32;if(!(_>=97&&_<=122||_>=48&&_<=57||_===46||_===45||_===43)){let Q=e.charCodeAt(k);return Q===9||Q===10||Q===13?l_(e.replace(OX,""),n,r):null}}if(e.charCodeAt(x+2)===47)s=x+3;else return null}}else if(e.charCodeAt(s)!==91){let T=-1;for(let k=s;k<o;k+=1){let _=e.charCodeAt(k);if(_===9||_===10||_===13)return l_(e.replace(OX,""),n,r);if(_===58){T=k;break}if(_===47||_===92||_===63||_===35)break}if(T!==-1){let k=!1;for(let _=T+1;_<o;_+=1){let Q=e.charCodeAt(_);if(Q===47||Q===92||Q===63||Q===35)break;if(Q===64){k=!0;break}}if(!k){let _=!0,Q=T+1;for(;Q<o;Q+=1){let b=e.charCodeAt(Q);if(b===47||b===92||b===63||b===35)break;if(b<48||b>57){_=!1;break}}if(Q===T+1&&(_=!1),!_){let b=wEe(e,s,T);if(b===0){let G=!1;for(let V=T+1;V<o;V+=1){let D=e.charCodeAt(V);if(D===47||D===92||D===63||D===35)break;if(D===58){G=!0;break}}if(!G)return null}else if(i=!0,s=T+1,b===2){let G=0;for(;(e.charCodeAt(s)===47||e.charCodeAt(s)===92)&&G<2;)s+=1,G+=1;if(G<2)return null}else for(;e.charCodeAt(s)===47||e.charCodeAt(s)===92;)s+=1}}}}}let l=-1,u=-1,f=-1,m=-1,g=!1,w=r,E=s-1,v=-1;if(r&&s<o){let x=e.charCodeAt(s);(!(SEe(x)||x===46||x===95)||x===45)&&(w=!1)}for(let x=s;x<o;x+=1){let T=e.charCodeAt(x);if(T<64)if(T===47||T===35||T===63){o=x;break}else T===58?(m===-1&&(m=x),f=x):T===9||T===10||T===13?g=!0:r&&(T===46?((x-E>64||v===46||v===45)&&(w=!1),E=x):(T<48||T>57)&&(T!==45||v===46)&&(w=!1));else if(i&&T===92){o=x;break}else T===64?(l=x,m=-1):T===93?u=x:T>=65&&T<=90?t=!0:r&&!SEe(T)&&(w=!1);r&&(v=T)}if(g)return l_(e.replace(OX,""),n,r);if(l!==-1&&l>=s&&l<o&&(s=l+1),e.charCodeAt(s)===91)return u!==-1?e.slice(s+1,u).toLowerCase():null;if(f!==-1&&f>s&&f<o&&m===f&&(o=f),s>=o)return null;r&&w&&l===-1&&f===-1&&u===-1&&e.charCodeAt(o-1)!==46&&o-s<=255&&o-E-1<=63&&v!==45&&(jX=!0)}for(;o>s+1&&e.charCodeAt(o-1)===46;)o-=1;let a=s!==0||o!==e.length?e.slice(s,o):e;return t?a.toLowerCase():a}function k1t(e){if(e.length<7||e.length>15)return!1;let n=0;for(let r=0;r<e.length;r+=1){let s=e.charCodeAt(r);if(s===46)n+=1;else if(s<48||s>57)return!1}return n===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function I1t(e){if(e.length<3)return!1;let n=e.startsWith("[")?1:0,r=e.length;if(e[r-1]==="]"&&(r-=1),r-n>39)return!1;let s=!1;for(;n<r;n+=1){let o=e.charCodeAt(n);if(o===58)s=!0;else if(!(o>=48&&o<=57||o>=97&&o<=102||o>=65&&o<=70))return!1}return s}function B1t(e){return I1t(e)||k1t(e)}var D1t=["test","localhost","invalid","example","example.com","example.net","example.org","local","onion","alt","home.arpa","ipv4only.arpa","resolver.arpa","service.arpa","6tisch.arpa","eap.arpa"];function F1t(e){for(let n of D1t)if(e.endsWith(n)&&(e.length===n.length||e.charCodeAt(e.length-n.length-1)===46))return!0;return!1}function EEe(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function vEe(e){if(e.length>255||e.length===0||!EEe(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let n=-1,r=-1,s=e.length;for(let o=0;o<s;o+=1){let t=e.charCodeAt(o);if(t===46){if(o-n>64||r===46||r===45)return!1;n=o}else if(!(EEe(t)||t===45||t===95)||t===45&&r===46)return!1;r=t}return s-n-1<=63&&r!==45}function IEe({allowIcannDomains:e=!0,allowPrivateDomains:n=!1,detectIp:r=!0,detectSpecialUse:s=!1,extractHostname:o=!0,mixedInputs:t=!0,validHosts:i=null,validateHostname:a=!0}){return{allowIcannDomains:e,allowPrivateDomains:n,detectIp:r,detectSpecialUse:s,extractHostname:o,mixedInputs:t,validHosts:i,validateHostname:a}}var _1t=IEe({});function M1t(e){return e===void 0?_1t:IEe(e)}function N1t(e,n){return n.length===e.length?"":e.slice(0,-n.length-1)}function BEe(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function UD(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.isSpecialUse=null,e.publicSuffix=null,e.subdomain=null}function dI(e,n,r,s,o){let t=M1t(s);if(typeof e!="string")return o;let i=!1;return t.extractHostname?t.mixedInputs?(i=vEe(e),o.hostname=l_(e,i,t.validateHostname)):o.hostname=l_(e,!1,t.validateHostname):o.hostname=e,t.detectIp&&o.hostname!==null&&(o.isIp=B1t(o.hostname),o.isIp)?o:t.validateHostname&&t.extractHostname&&o.hostname!==null&&!(i&&o.hostname===e)&&!jX&&!vEe(o.hostname)?(o.hostname=null,o):(n===0||o.hostname===null||(n===5&&t.detectSpecialUse&&(o.isSpecialUse=F1t(o.hostname)),r(o.hostname,t,o),n===2||o.publicSuffix===null)||(o.domain=T1t(o.publicSuffix,o.hostname,t),n===3||o.domain===null)||(o.subdomain=N1t(o.hostname,o.domain),n===4)||(o.domainWithoutSuffix=x1t(o.domain,o.publicSuffix)),o)}function P1t(e,n,r){if(!n.allowPrivateDomains&&e.length>3){let s=e.length-1,o=e.charCodeAt(s),t=e.charCodeAt(s-1),i=e.charCodeAt(s-2),a=e.charCodeAt(s-3);if(o===109&&t===111&&i===99&&a===46)return r.isIcann=!0,r.isPrivate=!1,r.publicSuffix="com",!0;if(o===103&&t===114&&i===111&&a===46)return r.isIcann=!0,r.isPrivate=!1,r.publicSuffix="org",!0;if(o===117&&t===100&&i===101&&a===46)return r.isIcann=!0,r.isPrivate=!1,r.publicSuffix="edu",!0;if(o===118&&t===111&&i===103&&a===46)return r.isIcann=!0,r.isPrivate=!1,r.publicSuffix="gov",!0;if(o===116&&t===101&&i===110&&a===46)return r.isIcann=!0,r.isPrivate=!1,r.publicSuffix="net",!0;if(o===101&&t===100&&i===46)return r.isIcann=!0,r.isPrivate=!1,r.publicSuffix="de",!0}return!1}var cI=new Uint8Array([1,2,1,1,1,1,1,1,1,1,1,1,0,2,2,2,0,2,2,0,2,0,0,1,0,0,2,1,1,1,1,1,1,0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,0,2,0,0,0,0,0,0,0,2,0,2,2,0,0,2,2,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,0,2,2,0,0,0,2,0,1,1,0,2,0,2,2,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,2,2,0,2,2,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,2,2,0,2,2,2,2,0,0,0,0,2,0,0,0,0,0,0,0,2,2,0,0,0,2,2,1,1,1,1,1,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,2,2,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,2,1,2,1,1,1,2,1,1,1,1,1,0,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0]),yQ=new Uint16Array([0,0,0,10,11,18,106,111,117,124,130,136,145,146,147,148,149,150,151,153,154,155,157,159,226,239,241,242,243,258,265,266,269,270,271,274,276,295,296,298,307,312,329,330,333,335,336,338,372,373,375,378,379,383,385,389,392,424,427,440,441,449,450,452,462,476,477,478,487,488,525,530,546,566,572,614,615,642,669,670,818,824,827,828,829,834,839,848,870,871,872,873,874,875,876,894,896,897,900,902,903,905,907,922,937,942,943,945,946,947,948,949,951,954,959,960,961,963,964,967,970,971,972,985,987,999,1010,1018,1020,1061,1064,1068,1069,1071,1074,1085,1087,1097,1099,1105,1107,1108,1110,1113,1114,1115,1168,1170,1172,1192,1193,1194,1195,1197,1208,1239,1250,1262,1271,1278,1283,1296,1307,1320,1321,1332,1366,1367,1368,1383,1398,1470,1471,1473,1474,1508,1509,1510,1511,1514,1518,1520,1549,1550,1558,1559,1560,1562,1564,1565,1567,1568,1569,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1595,1596,1597,2051,2054,2055,2057,2064,2071,2081,2085,2096,2097,2098,2110,2111,2113,2115,2116,2123,2124,2126,2127,2129,2130,2131,2132,2133,2207,2209,2230,2231,2232,2234,2260,2261,2312,2313,2315,2322,2328,2338,2348,2401,2402,2403,2413,2427,2428,2431,2438,2439,2447,2448,2449,2450,2451,2462,2463,2464,2466,2467,2468,2477,2489,2495,2527,2531,2533,2534,2536,2537,2548,2549,2551,2559,2566,2572,2577,2578,2584,2587,2593,2600,2601,2608,2616,2617,2618,2656,2662,2677,2678,2683,2701,2732,2750,2752,2755,2763,2765,2772,2824,2848,2849,2850,2851,2852,2853,2854,2861,2862,2863,2864,2865,2866,2868,2869,2873,2953,2966,2967,3404,3408,3422,3474,3502,3524,3582,3604,3619,3682,3733,3771,3807,3832,3974,4020,4071,4090,4124,4139,4159,4189,4220,4243,4274,4304,4336,4363,4438,4460,4498,4508,4542,4561,4587,4629,4679,4705,4774,4775,4777,4800,4823,4859,4890,4907,4964,4977,5001,5030,5032,5066,5082,5110,5415,5424,5433,5440,5457,5461,5467,5506,5508,5515,5522,5531,5538,5539,5540,5552,5555,5570,5571,5580,5581,5590,5599,5605,5607,5608,5609,5646,5647,5649,5657,5664,5677,5681,5683,5684,5690,5697,5711,5721,5726,5734,5742,5748,5749,5753,5755,5756,5768,5840,5841,5842,5843,5845,5846,5849,5851,5854,5858,5859,5860,5866,5867,5868,5870,5872,5874,5875,5876,5879,5881,5884,5885,5887,6085,6092,6093,6094,6104,6109,6126,6140,6149,6150,6151,6155,6156,6158,6160,6166,6167,6170,6171,6173,6174,6175,7075,7078,7082,7100,7109,7112,7119,7120,7122,7123,7124,7126,7178,7179,7182,7183,7300,7301,7312,7323,7330,7333,7342,7343,7344,7359,7414,7605,7607,7608,7610,7615,7628,7643,7650,7659,7662,7665,7672,7680,7684,7685,7686,7700,7704,7713,7714,7715,7719,7754,7755,7773,7780,7788,7789,7794,7802,7846,7847,7853,7856,7867,7872,7873,7876,7878,7913,7914,7920,7927,7928,7937,7946,7961,7965,7966,8018,8019,8024,8026,8029,8031,8032,8033,8042,8056,8064,8078,8090,8091,8093,8095,8117,8128,8134,8135,8147,8159,8246,8258,8266,8269,8275,8300,8303,8304,8305,8307,8310,8313,8324,8326,8328,8356,8430,8437,8441,8442,8451,8473,8474,8479,8480,8559,8561,8563,8572,8576,8582,8588,8594,8604,8609,8610,8628,8639,8644,8649,8659,8665,8669,8675,8681,10290,10291,10292,10299,10301]),gQ=new Uint8Array([3,3,3,3,3,3,3,3,5,8,8,2,2,3,3,3,3,3,8,5,5,5,5,5,3,3,5,5,9,12,19,8,19,8,11,9,9,8,7,7,6,8,9,16,10,7,7,11,8,6,6,9,7,11,7,14,4,4,4,4,4,4,10,7,6,6,6,6,10,10,6,10,10,22,11,9,10,10,10,9,10,8,7,7,7,8,21,13,11,11,9,10,9,13,10,8,8,9,12,9,7,10,7,7,13,7,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,8,6,3,3,3,3,3,3,2,5,3,3,3,7,2,2,2,2,2,2,3,3,3,1,1,7,8,5,2,2,7,2,2,1,4,1,11,9,9,5,5,8,5,5,5,5,5,5,5,3,3,3,3,3,5,11,9,9,13,7,14,7,6,6,6,7,6,6,6,6,6,10,7,11,9,4,4,4,4,4,6,6,6,6,13,6,8,7,10,9,9,9,8,9,8,7,10,6,9,8,10,10,7,8,1,9,10,12,12,12,10,9,9,10,10,9,9,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,6,6,6,4,3,3,3,7,4,4,4,3,3,6,7,3,4,1,2,2,2,6,1,2,2,2,2,2,12,5,3,8,9,13,4,4,13,9,9,11,7,3,12,9,2,2,2,3,3,3,3,3,8,2,2,3,3,3,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,3,7,10,15,7,15,15,20,15,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,7,8,6,8,8,6,8,13,8,8,6,13,8,11,13,8,6,13,8,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,9,9,9,10,14,14,11,13,13,9,9,9,9,9,9,2,6,9,2,2,3,3,3,3,3,3,3,3,3,4,4,4,2,3,3,3,3,3,3,7,7,2,3,2,2,5,3,3,3,3,3,3,4,2,2,2,2,2,2,3,3,3,3,3,3,3,4,5,7,2,2,12,8,10,8,10,7,18,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,2,3,3,3,5,5,3,8,8,6,8,6,6,4,6,7,7,7,10,11,2,5,5,3,3,3,3,3,3,5,5,6,11,10,7,7,7,4,4,4,2,3,3,3,3,3,2,2,7,5,5,3,3,3,3,3,3,3,3,7,7,7,11,7,6,9,6,6,8,10,8,6,8,13,4,4,4,4,4,10,8,11,8,8,8,10,10,7,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,10,13,7,8,7,11,8,8,6,9,8,8,6,6,6,8,8,6,6,6,6,6,9,7,6,4,4,4,4,4,4,4,6,6,6,9,7,8,10,8,8,2,3,3,3,3,3,2,8,9,9,2,2,2,3,3,3,2,3,3,3,9,2,2,3,3,3,3,3,3,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,5,5,3,5,4,2,3,2,4,3,9,2,2,2,2,2,5,5,3,8,8,13,6,10,9,4,7,9,11,2,3,7,3,3,4,1,3,4,2,9,3,3,12,5,3,7,10,10,7,4,4,6,14,7,9,7,13,2,2,2,2,2,2,3,3,3,3,3,8,15,4,4,2,3,3,3,7,4,9,9,2,3,3,3,5,3,2,2,7,2,7,6,6,7,2,4,2,2,2,2,2,2,8,8,8,9,5,2,3,3,3,3,3,3,10,7,4,4,4,4,3,4,2,3,3,3,3,3,10,7,4,4,4,4,2,3,3,3,3,10,7,4,4,4,4,3,9,6,6,6,9,13,9,2,2,2,8,7,9,5,3,3,3,5,5,13,12,9,10,7,8,7,6,8,6,11,12,7,9,10,4,4,7,8,11,6,7,9,8,7,10,8,9,15,7,8,5,4,7,2,3,3,3,2,14,10,2,14,10,2,14,3,9,13,13,10,14,16,17,11,2,14,2,14,3,9,13,10,14,16,17,11,14,10,14,2,7,3,10,7,14,10,2,14,10,9,9,17,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,10,10,10,12,9,4,10,10,11,8,8,8,7,9,5,3,3,3,3,3,3,3,3,5,8,4,4,4,4,4,4,6,16,3,3,14,3,14,2,14,9,13,10,10,14,16,17,11,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,9,9,9,9,9,9,2,14,9,13,10,10,14,16,17,11,6,2,14,9,17,13,10,10,14,16,17,11,6,2,14,9,13,10,14,16,17,11,2,14,9,13,10,16,11,2,14,10,19,7,2,14,9,13,10,19,10,7,14,16,17,11,6,2,14,9,13,10,19,7,14,16,17,11,2,14,9,13,17,13,10,10,14,16,17,11,6,3,2,14,9,13,10,10,14,16,17,11,6,9,10,12,14,14,14,12,12,12,12,12,14,14,14,10,10,10,14,9,9,9,9,14,14,14,13,13,14,9,9,9,9,9,9,4,11,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,9,10,10,7,17,3,3,12,12,16,15,15,12,14,14,14,20,20,13,12,12,12,12,12,12,20,25,14,14,12,12,10,10,10,10,9,9,9,25,4,9,17,10,7,14,16,21,13,13,14,20,14,13,17,24,9,12,13,25,13,21,20,17,9,9,9,9,9,9,12,17,4,4,9,9,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,1,5,8,7,11,11,1,3,3,3,4,8,9,10,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,7,4,4,4,4,4,4,4,4,4,4,9,12,6,14,4,12,7,2,2,1,2,7,6,4,4,4,6,8,8,7,4,5,6,3,3,3,3,4,16,8,5,4,3,3,3,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,12,7,7,13,9,10,17,12,8,9,7,8,5,12,10,13,14,5,5,5,13,5,5,5,3,3,3,5,16,5,5,5,5,7,12,14,8,12,8,10,12,9,11,7,9,7,10,7,13,9,7,12,8,17,7,7,16,10,13,13,8,10,10,14,17,7,16,16,15,8,10,10,12,17,17,7,17,14,7,10,17,8,7,7,7,8,15,15,7,14,10,10,10,11,11,7,7,13,8,10,7,16,7,8,7,14,17,12,10,11,21,8,9,7,13,9,8,13,6,12,7,6,13,10,10,10,8,18,9,17,13,10,12,6,13,6,11,8,13,10,13,18,13,11,13,8,16,7,10,8,16,12,10,8,8,14,11,8,15,8,8,7,7,12,7,8,9,14,15,8,9,10,9,15,7,8,8,12,13,9,10,15,15,13,7,10,10,20,7,6,9,6,6,14,11,14,11,12,9,10,16,16,12,7,11,28,8,11,10,7,21,8,7,9,4,4,4,17,7,8,6,9,6,6,13,6,6,6,6,18,20,14,8,11,12,9,10,13,15,19,8,9,12,7,10,16,12,9,9,9,14,12,11,9,12,11,18,9,9,9,10,7,7,16,8,9,7,13,12,10,18,7,8,11,7,7,8,8,13,7,7,7,11,15,13,11,7,8,15,11,7,8,18,14,13,18,15,10,12,12,9,7,11,11,8,7,10,8,14,12,10,18,7,10,9,7,8,13,10,14,10,8,8,23,7,7,11,12,12,17,7,7,11,11,17,16,16,7,8,11,14,14,8,10,7,7,16,16,13,9,11,9,15,15,11,11,7,7,14,7,9,7,7,16,10,13,10,11,14,7,11,10,11,7,11,10,11,15,11,15,10,12,17,10,14,13,11,11,12,13,10,7,13,10,16,12,21,9,10,10,7,11,14,17,7,7,8,11,12,8,15,14,14,8,17,12,10,10,7,9,11,7,10,7,11,18,7,11,7,12,11,8,8,14,12,7,8,15,3,7,7,5,2,9,2,2,2,2,2,2,2,3,3,3,3,3,3,3,2,5,3,3,3,3,3,3,4,4,3,3,3,3,3,3,5,11,6,4,7,10,7,7,11,1,10,2,2,3,3,3,3,3,3,3,3,5,7,3,5,6,3,3,5,2,2,5,3,4,13,11,3,3,6,3,5,14,2,2,3,8,2,2,12,5,18,5,3,3,3,16,5,5,5,10,7,13,12,13,9,12,14,19,9,9,21,9,9,10,6,9,6,15,10,6,12,8,6,10,15,4,4,6,6,9,9,12,16,14,23,7,7,7,14,9,7,7,11,14,10,7,10,10,10,12,6,11,10,13,11,15,11,7,12,10,3,7,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,3,7,2,5,5,3,3,5,5,5,5,7,6,6,6,4,4,4,4,4,4,6,6,6,6,6,7,10,2,2,2,5,5,5,5,3,3,3,3,3,5,5,10,9,11,8,7,12,8,9,7,6,13,11,6,13,7,9,9,4,4,4,4,4,6,10,7,8,13,8,8,9,14,7,8,10,7,7,7,9,6,9,7,2,12,5,3,3,13,4,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,4,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,4,4,4,4,4,4,4,4,4,9,3,3,3,3,3,3,3,3,3,3,4,2,2,2,5,3,3,3,3,3,3,3,3,4,4,1,7,6,4,12,3,3,3,3,3,8,7,3,3,3,3,3,3,4,4,11,14,2,8,3,5,5,8,10,8,6,4,7,17,7,4,5,2,6,3,2,2,12,5,5,3,15,13,8,11,2,2,3,3,3,3,3,3,3,3,4,4,5,3,3,3,3,4,18,2,12,5,3,3,3,3,3,5,16,8,8,9,6,6,4,4,4,4,31,6,6,10,11,21,10,9,7,10,7,7,2,4,4,4,4,6,5,3,3,4,3,3,3,3,3,3,3,3,3,6,6,6,2,2,2,5,3,3,3,7,7,4,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,8,2,3,3,3,3,3,5,9,11,3,3,3,3,4,4,3,3,3,3,3,5,10,9,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,11,10,10,10,10,10,11,10,11,10,11,10,9,9,11,3,3,3,3,3,3,5,3,7,8,8,7,6,6,11,4,4,4,7,8,9,9,2,3,7,4,4,2,5,5,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,2,2,5,5,5,5,5,3,3,5,5,5,7,7,6,6,6,4,4,4,4,4,4,4,4,4,4,6,6,8,8,1,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,6,9,12,3,7,10,7,2,2,3,3,3,3,3,4,3,3,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,6,6,8,6,7,4,4,4,4,4,4,6,7,5,5,20,19,8,10,9,7,10,6,8,11,6,6,6,6,13,12,8,6,7,14,11,9,2,5,3,6,2,3,2,2,2,2,2,2,2,5,4,3,7,6,4,7,4,3,6,4,7,2,7,7,7,5,5,5,5,3,3,3,3,3,3,3,3,3,5,9,10,10,11,7,8,20,7,8,9,8,12,6,6,6,8,9,8,12,6,6,8,13,10,12,6,6,7,7,9,6,4,4,4,4,4,4,10,6,6,6,7,14,11,10,7,8,10,8,11,14,11,11,9,7,9,8,11,9,17,10,9,2,2,2,9,3,3,3,3,15,14,9,5,5,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,15,12,22,19,17,18,18,19,21,7,16,16,5,5,5,5,5,5,5,5,5,5,5,7,5,5,5,5,5,5,5,5,5,5,5,9,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,7,16,11,11,7,7,7,7,17,7,8,12,15,9,19,7,19,8,21,11,12,19,14,22,7,7,7,7,7,7,7,7,7,7,7,16,16,19,24,12,7,14,7,12,7,8,10,10,13,7,12,12,7,7,10,18,15,12,16,7,14,12,17,10,16,17,12,17,25,7,7,7,13,6,9,6,9,18,6,6,11,20,10,6,6,6,6,6,6,17,6,6,6,15,6,6,6,6,6,8,14,11,12,11,15,13,19,17,21,7,18,8,13,13,8,12,8,6,6,13,6,15,15,16,6,6,16,6,6,6,14,6,18,6,6,6,17,18,9,13,15,8,19,8,15,15,18,14,16,4,4,4,4,4,4,4,4,4,4,4,4,6,11,10,11,6,21,23,12,17,12,11,14,13,22,15,15,11,12,14,12,7,12,8,12,14,12,18,10,8,16,19,17,12,14,15,8,19,17,12,13,13,15,18,13,23,24,23,21,17,24,8,21,8,14,14,16,20,14,8,8,15,20,8,19,21,9,8,13,12,13,15,11,8,11,9,9,8,11,8,21,14,21,15,15,13,7,19,7,7,7,7,7,7,16,12,17,18,7,7,11,11,7,9,9,2,2,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,4,5,5,5,5,5,5,5,5,3,3,10,10,7,9,7,7,7,6,8,6,6,6,6,6,6,6,7,6,8,6,6,9,7,7,7,4,4,4,4,4,4,4,4,8,9,8,7,8,7,8,10,7,5,5,5,5,5,5,3,9,7,7,8,6,6,6,6,6,6,6,6,9,6,6,9,11,13,7,8,9,9,5,5,5,7,8,6,6,6,6,6,6,6,7,8,9,7,10,9,10,7,8,5,5,5,5,5,5,7,7,9,8,7,7,6,6,6,6,6,6,10,6,6,6,6,6,6,6,6,6,6,6,9,10,4,4,4,4,8,7,7,10,10,9,8,8,15,9,8,8,8,8,8,9,10,9,10,7,8,13,5,5,5,5,5,3,3,7,7,8,6,6,6,4,4,11,9,7,8,9,10,7,5,5,5,5,5,3,3,7,6,6,13,7,9,8,7,5,5,5,5,5,5,5,5,3,3,3,3,7,8,7,8,13,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,6,6,6,6,7,6,7,6,6,9,7,4,4,4,4,4,4,4,7,8,7,8,9,8,8,8,7,10,7,8,5,5,5,5,5,5,5,5,3,7,7,7,7,9,7,10,9,6,6,6,6,6,8,8,6,6,6,7,6,6,6,9,9,4,4,13,7,10,9,9,12,7,8,8,10,8,8,8,8,8,8,5,5,5,5,3,7,7,11,7,9,8,8,6,6,10,6,8,8,8,6,7,6,6,12,4,4,4,4,4,4,4,4,4,9,8,8,16,8,9,8,7,5,5,5,5,5,3,3,7,7,7,10,15,8,9,8,9,9,6,6,6,6,6,6,7,4,8,7,8,8,7,8,11,8,5,5,5,5,5,3,7,7,6,11,16,7,6,4,4,4,4,9,9,8,8,8,13,12,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,7,8,8,9,13,7,7,7,9,8,8,9,12,7,12,7,12,8,7,10,12,9,9,6,6,8,8,6,6,6,6,6,6,6,9,8,9,11,8,6,6,6,6,6,12,7,6,6,6,9,7,7,6,6,6,6,6,11,9,6,6,6,6,6,7,9,4,4,4,4,4,4,4,4,9,9,9,9,7,7,7,7,7,11,7,7,8,8,8,8,8,8,9,8,9,9,7,7,11,11,7,12,8,8,8,8,8,7,8,8,8,8,8,13,12,8,8,8,8,7,7,7,9,5,5,5,5,5,5,5,3,3,7,7,11,7,8,8,8,6,6,6,6,6,6,6,6,6,6,6,10,11,6,7,9,4,4,4,4,4,4,9,9,8,9,8,8,8,7,7,5,5,5,5,5,5,5,5,5,5,3,3,11,7,7,7,9,6,6,11,8,10,6,6,6,12,8,8,7,6,6,8,7,4,4,4,4,4,4,4,4,9,10,9,9,8,10,9,11,8,5,5,5,7,6,6,8,7,4,4,4,4,8,7,7,8,7,8,8,5,5,5,5,7,7,8,8,8,6,6,6,6,6,10,8,9,13,6,7,6,6,8,7,8,4,4,4,4,11,8,8,8,10,5,5,8,7,8,13,8,7,6,8,6,9,7,8,7,5,5,5,5,5,5,3,3,7,8,9,6,4,8,10,10,8,12,9,13,2,7,5,5,5,5,5,7,7,10,6,6,6,6,6,6,6,8,4,4,9,8,8,8,14,8,8,8,9,8,5,5,5,5,5,3,3,9,6,6,6,6,10,12,6,6,6,6,6,6,6,4,4,4,4,11,8,7,8,8,8,5,5,3,3,3,3,7,7,6,8,6,8,11,7,6,6,6,7,4,8,11,9,10,5,5,5,3,3,3,7,7,8,9,8,15,9,6,6,6,6,6,6,11,11,4,4,4,4,4,7,9,9,10,8,7,5,5,5,5,5,5,3,3,8,6,6,6,6,6,6,6,6,6,9,7,4,4,4,4,4,9,9,8,8,10,13,5,5,5,3,17,7,7,7,7,7,8,6,8,13,6,6,6,6,6,6,6,6,4,4,4,9,10,8,8,8,5,5,5,5,3,7,7,7,8,8,6,6,6,8,8,8,9,10,8,4,8,10,9,8,8,8,9,13,10,5,5,5,5,5,5,5,5,5,5,3,3,7,8,9,9,7,7,7,10,9,9,8,9,8,8,8,6,6,6,6,6,6,6,6,6,6,6,6,6,8,12,6,6,6,6,6,6,6,6,6,12,4,4,4,4,4,4,4,4,4,4,4,11,8,8,9,9,10,8,9,7,7,5,5,5,5,5,5,3,7,8,7,6,6,8,6,6,10,4,7,8,9,12,8,7,7,5,5,5,5,5,5,3,3,7,14,7,9,8,8,6,6,8,12,12,6,6,7,7,10,4,4,4,4,4,9,9,14,9,13,8,7,5,5,5,6,6,6,7,4,8,7,5,5,5,5,5,5,5,5,3,3,7,7,7,8,6,6,6,6,6,6,12,6,6,6,6,4,4,9,9,8,8,11,7,7,7,5,5,5,3,9,8,6,6,7,4,4,4,4,4,4,8,8,11,5,5,5,7,7,7,9,6,6,6,6,6,6,9,8,4,4,4,4,7,12,9,8,8,8,7,10,10,5,5,5,5,5,5,5,3,11,14,8,7,8,8,6,6,6,6,6,8,7,6,6,6,7,6,8,9,4,4,4,7,8,9,7,9,7,7,9,8,5,5,5,5,5,5,5,5,5,11,3,9,7,7,12,14,8,6,6,12,11,8,6,6,6,6,6,6,6,6,6,15,7,4,4,4,16,9,9,9,8,9,9,9,9,9,8,8,8,13,11,8,5,5,5,5,3,7,6,6,8,8,8,6,6,7,10,7,4,4,4,4,9,7,8,7,7,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,7,7,7,9,6,6,6,6,6,8,8,7,7,9,6,6,6,7,6,6,6,6,6,15,4,4,4,4,4,8,8,7,8,12,9,8,8,8,8,8,9,8,8,10,8,8,8,8,16,9,10,2,5,5,5,5,5,5,5,9,7,6,8,9,4,4,4,4,4,7,8,8,8,9,8,11,10,5,5,5,5,3,7,8,6,6,6,6,6,8,6,6,6,6,4,12,10,12,7,7,7,7,7,7,7,5,5,5,5,3,3,7,7,10,8,9,7,6,10,7,6,6,4,4,8,9,7,9,9,9,9,8,8,8,8,10,5,5,5,5,5,5,8,7,6,6,6,10,6,7,10,7,4,4,4,4,4,4,4,12,9,10,7,7,10,8,10,5,12,9,6,6,6,6,6,7,6,4,4,4,10,9,9,8,7,7,5,5,5,5,5,5,3,3,13,7,7,9,7,7,7,8,9,9,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,15,15,4,4,4,4,4,10,10,9,8,9,8,8,9,7,8,7,8,5,5,7,6,6,6,4,4,4,7,8,11,8,5,5,5,5,5,5,5,7,6,6,6,6,6,6,9,11,10,7,4,4,4,9,8,8,5,5,5,5,5,9,9,6,6,6,6,6,6,6,9,9,4,4,4,4,8,8,8,9,9,8,8,8,13,2,4,2,7,5,5,5,5,5,5,9,9,6,6,6,6,10,8,8,8,6,6,6,4,4,9,8,10,8,9,8,8,8,9,8,8,5,3,3,3,11,6,6,6,7,6,6,6,4,4,9,8,5,5,5,5,5,3,11,8,6,6,6,6,6,9,7,4,4,14,10,9,8,12,8,8,8,11,15,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,11,11,10,10,7,7,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,5,5,5,3,3,3,7,11,7,7,11,11,7,8,9,10,7,7,9,9,9,9,7,7,10,8,13,8,8,8,8,11,10,6,6,8,10,11,14,14,6,6,6,6,6,6,9,11,7,7,6,8,12,11,11,6,6,10,6,6,6,6,6,10,7,7,6,6,11,6,6,6,11,8,9,7,6,10,11,9,10,11,7,11,8,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,6,6,8,9,10,9,6,6,6,10,6,6,6,6,11,10,11,10,9,8,7,7,7,7,11,14,8,10,9,9,8,8,7,11,8,8,8,11,11,10,10,9,10,8,11,10,8,11,9,12,8,10,8,11,8,9,9,11,11,10,11,13,8,7,8,8,9,7,8,8,8,8,7,8,2,2,2,2,2,2,2,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,8,6,4,4,4,11,7,11,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,5,3,3,3,3,8,7,7,8,8,4,8,7,7,7,9,7,8,9,8,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,6,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,4,5,5,3,3,8,8,6,9,4,4,10,7,3,3,3,2,5,3,3,3,3,3,3,3,3,3,3,3,3,4,3,2,2,2,3,3,3,3,3,4,10,2,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,2,2,3,3,3,5,2,4,2,6,2,2,9,5,5,3,3,3,3,3,3,3,5,5,5,9,8,7,9,6,6,11,4,4,4,4,4,4,4,4,6,6,7,7,11,8,8,6,5,11,2,3,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,6,4,4,4,4,3,3,3,3,5,7,2,3,3,3,3,3,8,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,6,4,4,4,4,2,2,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,2,3,3,3,3,3,6,3,3,8,10,3,4,4,1,1,1,1,1,1,1,8,9,10,7,7,1,14,18,13,18,13,10,10,16,13,18,16,13,16,18,13,22,16,16,16,14,21,16,9,14,16,9,9,14,10,10,14,12,14,19,12,11,18,13,17,15,15,15,15,16,14,13,19,18,15,19,18,12,18,12,11,20,14,15,10,17,17,16,19,20,21,15,13,16,15,15,15,1,1,3,8,7,7,8,8,8,1,6,1,1,6,3,3,4,7,3,3,5,5,4,4,4,4,4,2,7,7,8,12,3,4,5,1,3,4,4,10,4,3,3,3,8,7,7,2,2,2,2,2,2,2,2,2,12,9,20,7,5,5,5,9,13,5,5,5,5,5,3,3,3,16,5,5,5,13,7,8,8,11,8,7,9,7,11,12,9,9,8,8,11,10,14,7,12,10,11,13,7,9,11,17,17,14,13,7,8,7,10,10,7,16,13,7,8,17,12,9,8,6,7,10,6,6,12,6,8,10,8,8,8,6,8,6,14,6,6,6,13,6,10,6,6,7,14,8,6,6,10,11,10,9,9,7,7,6,6,6,9,9,7,9,10,9,13,12,4,4,4,4,4,4,4,4,4,4,6,6,6,8,8,6,8,9,10,9,7,10,10,8,7,8,7,10,12,9,8,15,8,7,8,8,7,7,15,13,7,10,9,14,18,16,7,24,7,8,10,11,16,8,14,7,9,9,9,13,19,14,15,14,11,7,13,9,10,7,13,9,10,11,12,8,9,2,3,5,8,7,4,4,15,10,5,3,3,3,3,3,5,4,4,4,2,2,2,2,2,1,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,4,2,12,5,3,8,10,15,6,7,2,3,2,5,5,12,2,5,5,5,5,2,2,5,5,12,9,5,2,2,9,5,5,12,12,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,12,5,8,8,9,5,5,5,8,19,7,16,15,14,9,9,9,9,7,11,11,11,7,14,10,10,5,5,5,5,5,5,5,5,5,15,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,14,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,15,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,12,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,12,9,9,12,12,12,15,7,11,7,14,11,18,13,8,18,15,18,12,14,12,8,8,8,8,9,9,9,12,7,10,10,8,8,12,12,12,7,12,12,9,7,7,7,7,7,8,15,12,9,10,10,7,10,10,13,11,10,9,22,11,9,8,8,8,8,8,13,18,13,9,15,19,9,7,7,10,7,7,7,11,8,13,17,7,7,10,10,10,7,20,16,7,7,7,7,7,7,11,21,12,12,13,11,14,16,8,8,13,11,7,7,13,7,7,14,15,15,6,6,6,6,6,6,6,6,6,6,13,10,18,6,6,6,6,6,6,6,6,6,11,8,8,12,12,11,11,8,12,9,9,9,13,13,9,9,9,9,9,9,6,10,12,6,6,6,6,17,11,7,7,7,7,14,14,12,6,7,7,6,6,15,10,13,10,6,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,9,15,13,6,12,12,6,19,11,10,7,7,16,8,19,17,9,9,9,9,9,6,6,6,10,8,16,8,6,6,9,6,6,6,6,6,6,6,6,8,8,8,6,7,6,6,6,6,6,6,6,6,6,6,6,14,6,6,6,6,20,6,9,6,14,9,9,9,6,9,8,8,12,9,8,8,8,8,7,8,12,7,8,8,8,6,8,6,6,6,6,6,6,6,9,8,8,6,6,13,9,12,13,12,14,13,12,11,11,6,8,8,8,6,13,12,11,11,12,6,11,12,11,13,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,6,6,6,6,6,6,6,13,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,6,18,6,12,13,13,13,9,10,15,9,12,6,6,6,6,6,6,6,6,9,15,10,9,10,13,9,19,8,18,17,10,10,8,8,6,6,6,6,6,6,10,14,8,16,16,9,8,15,8,8,10,12,14,7,7,8,8,7,7,7,7,8,13,13,11,9,9,9,12,10,17,8,11,9,7,7,14,8,14,14,7,7,7,7,7,7,14,7,7,7,7,7,10,10,8,14,7,7,7,7,8,8,8,8,8,17,9,7,15,7,8,12,7,9,14,7,7,7,9,13,8,14,7,16,18,13,15,14,12,13,10,15,9,7,7,7,10,13,15,15,9,9,9,9,19,11,7,11,11,13,8,8,8,8,7,12,19,17,9,9,13,7,7,7,9,7,7,7,12,13,15,10,8,8,14,15,12,13,13,8,12,14,7,11,7,14,15,13,12,8,8,8,8,11,13,15,15,8,13,12,8,8,8,13,10,16,14,11,8,8,12,12,9,15,15,12,12,13,8,8,9,12,13,9,8,8,8,8,8,8,8,8,8,8,8,11,12,11,7,14,7,13,13,13,12,18,16,7,12,11,10,10,15,9,9,9,21,7,7,7,11,16,8,8,11,11,7,7,7,7,7,19,7,7,7,7,7,7,7,7,7,12,8,9,12,14,11,9,9,9,22,12,3,3,4,8,8,15,4,2,2,5,5,3,3,3,3,3,3,6,6,4,4,4,12,7,10,2,3,3,3,3,3,3,3,6,7,3,7,5,14,4,4,7,8,10,4,1,3,3,6,2,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,4,2,2,5,3,4,2,2,2,2,2,2,11,5,5,5,11,5,5,3,5,5,5,5,11,14,13,9,11,9,12,8,11,11,8,11,16,9,9,7,10,9,12,8,15,6,7,6,6,13,10,8,11,8,6,6,6,12,16,6,11,7,8,9,18,6,6,9,4,4,6,13,6,6,6,6,8,8,9,16,7,7,14,7,8,8,8,7,7,7,7,7,7,15,13,7,10,7,7,10,12,16,15,7,9,9,14,11,11,10,9,10,8,12,7,8,7,7,10,12,7,12,8,7,2,3,3,3,3,3,3,3,3,3,3,5,3,3,5,5,5,10,4,8,7,10,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,7,4,5,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,8,2,2,2,8,12,7,7,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,7,11,9,8,8,8,7,8,9,7,7,9,7,7,7,10,7,7,10,9,10,6,6,6,6,6,6,15,7,8,9,9,8,6,6,10,9,6,8,13,9,7,6,6,6,6,6,6,12,6,6,7,6,7,6,6,6,10,10,7,6,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,6,14,6,6,7,7,9,6,6,6,6,9,9,8,9,10,9,8,9,12,7,7,7,8,7,10,12,11,9,10,7,7,7,9,10,10,8,12,9,7,7,9,8,8,8,10,7,7,8,9,9,7,7,7,8,2,4,6,3,4,2,3,3,3,3,2,3,3,3,3,3,3,3,3,4,4,4,4,5,5,3,3,3,3,3,3,3,3,5,8,6,4,7,3,3,3,3,3,3,3,12,3,3,3,3,3,3,4,4,2,3,5,3,4,7,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,3,3,6,4,3,4,2,2,2,5,3,3,3,3,3,5,4,4,4,4,7,6,8,9,2,2,2,2,3,3,3,5,7,2,3,3,8,7,7,2,2,8,5,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,7,7,6,10,6,9,7,11,4,6,8,8,7,8,4,5,5,5,5,3,3,11,8,9,6,6,8,7,4,4,7,8,7,2,2,3,3,3,3,4,3,3,3,3,3,3,3,3,7,2,2,5,3,3,2,3,3,3,3,3,3,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,12,5,5,3,3,3,5,10,12,6,15,4,6,6,7,14,9,3,3,3,3,3,8,2,2,3,5,3,3,3,3,3,3,8,8,8,7,5,8,4,6,11,2,2,6,7,3,3,2,9,8,5,5,3,3,3,5,5,7,7,6,6,10,6,8,6,8,9,7,4,4,4,4,7,6,6,7,7,10,9,8,11,8,3,3,3,3,3,4,4,2,3,3,3,3,3,7,6,2,5,6,7,6,4,8,9,11,2,2,3,3,3,3,3,3,3,2,2,5,3,3,3,3,3,9,9,6,4,8,7,7,5,9,8,6,2,8,7,8,5,5,5,5,5,3,3,3,16,8,7,7,7,8,7,7,7,7,9,6,9,6,10,7,7,7,6,10,8,9,11,11,8,4,4,10,8,8,6,9,6,11,8,8,8,15,7,8,9,5,3,3,3,3,3,5,11,2,2,3,8,9,10,3,2,2,2,2,2,2,3,6,4,2,2,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,11,5,3,3,3,3,3,3,3,3,6,7,4,4,2,3,3,3,3,3,3,3,3,12,7,4,12,4,6,5,4,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,3,4,4,11,10,6,4,6,10,8,3,3,3,3,3,3,3,3,5,4,4,4,2,2,2,2,2,2,2,2,5,3,4,4,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,10,5,5,5,5,5,5,3,3,3,3,3,3,3,3,7,8,8,7,13,12,10,10,8,8,7,7,9,12,11,6,6,8,8,9,7,7,7,10,15,10,4,4,4,4,4,11,8,8,9,7,9,14,14,12,2,2,2,2,2,2,2,3,3,3,3,3,12,5,5,5,11,10,7,9,3,8,7,3,15,13,11,4,4,2,2,2,19,7,5,5,3,3,3,3,3,3,3,5,22,18,6,14,17,4,4,19,16,18,2,3,3,2,3,2,3,3,6,4,2,3,3,2,5,3,3,3,3,3,3,3,9,9,2,3,2,2,2,3,3,3,5,7,14,7,7,12,9,13,6,11,6,10,9,7,7,8,12,12,8,8,8,10,7,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,5,8,10,7,8,11,8,12,9,4,7,7,9,13,2,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,3,3,3,3,5,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,3,2,3,3,3,3,5,2,2,2,2,5,5,5,5,3,3,3,3,3,3,3,3,3,7,7,7,7,7,8,8,8,8,8,12,9,8,8,9,8,6,17,6,6,6,8,8,6,6,6,6,6,6,6,6,6,6,6,7,4,4,8,8,9,9,9,7,7,7,7,7,7,7,9,9,9,7,8,8,8,10,7,13,10,8,9,3,3,5,13,3,3,3,3,3,7,7,6,6,10,13,11,11,8,8,9,8,9,9,10,10,10,11,10,10,13,13,16,15,11,12,9,9,10,9,11,10,9,9,14,7,8,3,10,7,7,3,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,6,7,2,2,3,3,3,3,3,3,3,3,4,11,6,7,4,6,2,2,3,3,3,1,3,3,3,3,3,3,6,4,4,2,2,2,3,3,3,3,4,4,6,6,6,6,5,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,11,6,10,9,12,7,7,11,14,9,7,12,3,3,7,12,11,12,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,5,5,5,5,5,5,5,5,11,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,5,5,5,5,5,5,5,5,5,5,5,5,3,10,3,3,3,11,3,5,9,11,8,12,14,9,7,8,7,7,11,11,7,7,10,9,8,10,9,7,7,7,7,7,7,8,8,7,11,8,8,8,7,7,10,8,7,13,12,7,17,10,8,8,11,7,11,11,14,7,11,7,8,6,9,20,8,7,9,16,7,10,6,11,10,8,9,7,16,11,11,9,8,9,8,8,8,11,8,15,8,8,9,7,8,8,11,10,7,5,7,10,10,15,7,7,7,8,7,8,8,10,11,10,10,10,11,11,7,8,6,8,8,8,10,6,8,6,6,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,16,6,15,6,7,11,11,7,9,10,11,13,10,6,16,8,10,12,11,6,6,6,6,6,6,6,10,6,10,7,7,7,7,11,7,11,6,6,6,6,6,6,17,7,7,6,6,12,22,6,6,6,6,6,8,6,6,6,6,7,6,6,5,6,6,8,11,6,9,14,11,9,11,7,7,8,6,6,6,8,10,9,6,6,6,6,9,7,6,6,6,6,6,15,6,4,4,4,6,4,17,8,11,6,6,9,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,6,6,6,6,10,6,10,6,6,6,6,12,8,6,6,6,6,6,6,6,6,6,9,6,6,6,6,18,6,6,6,8,9,10,7,8,9,10,11,7,13,6,8,8,6,6,14,7,7,7,7,10,7,14,9,6,6,9,15,9,7,14,6,11,14,13,7,12,8,7,7,7,7,7,12,7,10,9,16,6,8,6,5,17,6,8,10,4,6,4,10,15,17,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,4,4,11,7,4,4,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,19,17,6,10,11,6,6,6,6,18,6,6,11,4,4,4,5,6,6,6,9,5,6,4,6,6,4,6,6,6,6,10,6,6,4,6,6,10,6,10,6,6,6,6,11,6,6,10,6,6,8,6,6,6,8,6,11,4,11,9,10,9,11,4,8,4,11,12,7,9,8,6,7,7,8,12,12,11,13,10,11,7,7,7,9,7,11,10,7,7,7,16,11,10,11,17,9,9,8,8,7,7,7,9,7,7,7,14,7,13,9,11,10,14,10,10,12,11,10,7,10,5,14,8,8,8,9,7,8,7,7,9,8,7,8,7,7,7,7,7,7,7,11,8,10,8,7,8,14,11,8,9,9,9,8,24,10,10,12,7,7,15,11,8,8,12,11,8,9,9,7,8,9,10,11,10,11,7,12,7,7,11,9,8,14,13,12,8,11,10,8,8,7,7,14,9,10,8,9,11,7,14,8,8,13,8,8,12,7,10,14,14,11,9,10,9,9,7,7,11,11,13,9,13,5,5,5,7,9,5,11,12,14,8,7,7,11,10,9,7,8,8,7,10,11,11,5,5,7,5,5,5,7,7,15,7,7,8,7,15,12,12,10,7,8,7,11,7,7,7,23,11,8,8,11,10,7,8,11,7,19,7,7,6,9,9,9,11,3,4,7,8,6,6,4,10,8,2,2]),CEe=new Uint16Array([0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,17,1,1,1,12,1,12,1,12,13,1,1,1,1,12,1,12,1,1,1,1,1,14,21,1,1,1,1,1,1,1,19,12,1,1,1,1,1,1,1,20,1,1,1,16,18,1,1,15,1,1,1,1,12,1,1,1,1,1,1,1,22,1,1,1,1,12,1,1,1,1,1,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,1,24,25,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,12,12,12,12,1,32,0,0,0,1,1,1,1,35,34,1,1,1,1,1,33,1,1,1,1,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,39,40,0,0,0,0,12,1,1,12,1,1,1,1,43,44,44,44,43,44,43,43,45,44,43,44,43,43,43,43,43,43,45,43,43,43,43,43,43,44,46,46,44,43,43,43,43,43,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,49,51,49,49,49,51,49,50,49,52,49,50,50,49,49,49,50,52,50,52,49,50,50,12,54,54,53,55,50,52,49,49,47,48,56,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,59,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,66,1,12,1,1,65,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,75,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,12,1,1,1,1,88,1,90,1,1,1,1,1,1,1,1,93,1,1,1,1,1,1,1,1,1,1,1,1,0,1,96,96,1,1,12,1,99,1,1,1,1,1,1,1,97,1,98,1,100,1,1,1,1,1,101,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,109,110,1,1,1,1,1,1,112,112,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,120,121,1,1,1,1,1,1,1,1,1,1,1,1,1,121,1,1,1,1,1,1,1,1,1,1,121,1,1,1,1,1,1,1,1,1,125,122,124,119,1,123,1,1,113,1,1,1,1,116,1,126,1,1,1,1,1,1,118,1,107,1,108,1,12,127,105,1,111,1,1,1,1,1,106,114,1,12,12,12,117,115,1,1,1,1,1,1,0,0,0,0,1,12,12,1,1,1,1,1,12,133,1,1,1,1,1,1,1,1,1,1,1,12,135,1,1,1,1,1,1,1,1,136,137,12,12,134,132,44,44,139,49,49,138,141,140,1,1,0,0,0,0,0,0,0,0,0,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,0,0,0,0,1,0,143,131,1,0,1,1,12,12,1,1,1,1,1,0,0,0,0,0,0,0,1,147,146,20,1,1,12,12,1,20,12,12,1,1,1,1,1,133,1,1,151,1,1,1,1,152,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,1,135,1,1,151,1,1,1,1,152,1,1,133,1,1,1,151,1,1,1,1,152,1,1,133,1,1,1,1,1,1,1,1,133,1,1,1,1,1,1,1,1,1,1,1,159,1,1,1,151,1,1,1,1,1,152,1,1,159,1,1,1,1,1,1,1,1,1,1,133,1,1,1,1,151,1,1,1,1,152,1,1,1,133,1,1,151,1,1,1,1,163,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,166,1,1,159,1,1,1,1,1,151,1,1,1,1,1,152,1,1,159,1,1,1,1,1,151,1,1,1,1,1,152,1,153,157,157,12,1,12,165,1,1,1,1,1,157,157,157,153,1,1,1,156,157,160,164,1,1,1,1,156,156,1,1,155,153,153,156,169,155,169,1,1,167,1,155,154,156,1,1,1,1,156,1,158,1,1,1,12,1,161,1,161,1,1,1,161,160,162,168,155,153,1,1,1,1,1,1,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,172,171,172,171,171,171,171,173,173,171,172,171,172,171,171,12,1,12,12,12,12,1,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,193,1,1,1,1,12,199,200,201,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,150,1,1,1,1,1,1,1,1,1,1,1,196,1,1,1,184,1,1,1,1,207,1,1,204,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,12,1,1,1,1,1,1,1,1,176,190,1,1,1,186,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,182,1,1,1,1,1,1,1,191,1,1,1,1,195,1,1,1,1,170,1,1,189,1,1,1,192,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,180,1,12,1,1,12,1,1,1,1,183,1,1,1,188,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,208,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,194,1,1,1,1,1,12,1,1,1,1,1,1,1,1,175,12,1,1,1,178,12,1,1,1,1,1,1,1,198,1,1,1,1,1,1,1,1,1,1,177,1,1,1,1,1,1,203,1,1,1,181,1,1,1,187,1,12,1,1,12,1,1,1,1,1,1,1,1,1,1,191,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,174,1,1,1,1,1,1,1,1,1,1,185,1,1,1,1,1,1,1,1,1,1,1,205,1,1,1,1,1,1,1,1,1,1,12,1,206,1,1,12,1,1,1,1,179,1,1,1,185,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,197,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,12,1,1,1,1,1,1,1,1,1,202,1,1,12,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,218,0,0,0,0,0,219,0,0,0,0,0,0,1,12,1,1,1,223,1,1,1,0,224,221,222,1,1,1,1,1,1,229,1,231,1,1,1,1,1,1,1,1,1,1,1,227,1,1,1,1,1,233,1,1,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,232,1,1,1,12,1,1,1,1,228,1,1,1,226,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,230,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,239,13,1,1,1,12,12,236,237,1,1,1,1,238,1,1,12,1,1,1,1,1,1,1,240,1,1,12,16,1,1,1,1,1,1,241,1,1,1,12,12,1,1,1,1,1,1,241,12,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,254,254,1,0,0,0,0,0,1,12,0,0,0,0,0,0,0,0,171,259,260,1,12,1,1,1,1,12,262,1,1,261,1,1,264,1,1,1,1,1,1,0,1,1,1,268,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,12,1,0,1,0,0,0,0,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,12,0,279,0,0,280,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,12,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,59,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,0,304,0,0,0,0,0,0,0,0,0,306,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,12,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,322,322,323,322,0,185,1,1,13,318,1,316,0,0,0,0,0,0,0,319,1,1,324,1,204,1,1,1,1,317,1,314,1,320,1,312,1,321,1,313,1,1,1,1,1,1,1,12,1,1,1,1,12,315,315,1,1,1,184,1,1,12,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,12,1,1,1,1,311,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,327,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,264,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,367,367,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,335,346,1,1,334,369,1,340,1,1,332,364,1,1,350,331,336,1,1,1,343,374,352,1,1,1,1,1,1,353,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0,362,366,0,0,78,1,1,0,360,337,373,338,341,348,1,363,0,1,0,78,357,355,1,0,0,1,1,1,0,0,0,0,376,1,1,347,1,78,1,0,1,1,1,379,1,0,0,78,354,0,1,333,1,1,1,0,1,1,356,1,0,1,1,1,0,1,381,344,1,1,0,1,0,0,372,0,1,1,1,78,365,1,1,361,358,1,1,1,1,1,1,1,1,1,1,1,339,1,1,1,1,1,1,1,1,1,1,1,371,0,78,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,375,1,1,1,0,0,378,0,0,0,1,351,1,0,78,377,1,0,0,0,0,380,1,1,0,0,1,0,1,0,349,0,345,0,1,1,1,0,1,1,0,368,342,370,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,12,1,1,1,12,396,396,1,1,12,12,1,396,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,408,1,1,0,1,1,1,1,204,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,426,426,1,1,0,0,312,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,439,1,438,1,1,1,1,1,1,1,1,1,443,1,12,12,1,1,1,1,1,12,1,1,1,1,451,1,1,1,453,1,1,1,1,1,1,1,1,1,1,450,1,445,1,1,1,1,432,1,1,1,1,1,1,1,1,446,12,1,1,1,1,452,1,1,1,447,441,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,312,1,429,1,1,12,449,1,1,312,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,434,1,1,1,1,1,1,1,1,1,1,1,452,1,1,1,1,312,1,448,1,1,1,442,436,1,1,1,1,1,437,1,454,440,1,1,1,1,1,435,1,1,1,1,1,1,1,1,1,430,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,444,1,1,1,1,1,1,1,1,1,1,1,1,433,1,1,1,1,1,431,1,218,455,1,1,1,1,1,12,1,1,1,1,12,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,461,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,12,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,465,0,465,465,465,465,465,465,465,0,465,465,465,465,465,1,465,465,465,0,465,465,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,470,469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,474,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,473,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,477,472,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,471,0,0,0,0,0,0,0,0,0,0,0,0,0,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,475,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,1,1,1,1,1,1,1,487,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,198,198,1,491,1,1,1,490,1,1,1,1,486,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,488,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,492,1,1,489,1,1,1,1,1,1,1,1,367,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,493,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,504,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,1,0,1,0,0,12,1,506,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,12,12,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,1,0,1,1,1,1,0,0,0,1,0,0,0,1,59,1,1,12,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,525,1,1,1,1,1,1,1,526,1,1,1,1,1,1,1,524,1,1,12,1,1,528,237,1,1,12,12,1,1,12,1,12,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,532,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,538,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,131,1,12,543,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,106,1,1,12,1,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,548,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,143,1,1,1,226,1,1,12,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,573,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,218,1,323,1,1,1,1,1,1,1,1,1,0,0,578,1,1,1,1,0,580,0,78,0,579,0,1,1,1,0,1,1,1,1,1,1,12,0,0,0,0,1,0,0,0,0,0,0,586,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,582,582,0,585,583,582,582,582,582,582,587,582,582,591,582,582,582,582,582,582,582,582,582,582,588,585,582,582,585,582,582,582,582,582,582,582,582,582,582,582,582,582,583,582,582,582,582,582,589,582,582,582,582,582,582,0,0,0,1,590,1,1,1,1,584,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,12,595,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,12,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,12,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,64,276,302,407,534,0,4,67,234,252,278,303,329,383,409,0,498,518,535,597,9,0,60,87,393,405,425,576,0,496,517,531,612,0,30,6,0,460,499,602,561,69,0,7,281,253,384,462,412,537,78,598,0,577,305,414,464,9,104,284,505,6,30,0,307,78,386,78,482,10,6,130,246,271,0,613,508,0,564,0,63,6,6,249,94,2,428,394,406,596,0,6,0,6,282,102,6,562,500,539,0,463,385,269,283,8,70,103,599,542,387,308,296,415,145,73,286,546,509,601,565,330,325,478,6,74,148,11,0,247,521,547,566,513,551,571,611,36,6,258,291,328,300,216,30,527,554,216,41,214,263,292,301,402,419,480,270,0,72,563,0,399,413,295,78,245,78,0,581,545,503,288,417,78,388,382,0,0,0,9,556,572,215,0,420,403,530,515,574,615,84,216,42,293,391,421,570,0,510,289,272,78,213,79,28,385,30,6,389,326,299,604,592,523,550,512,0,256,80,30,401,418,0,30,422,0,217,593,516,9,404,423,216,246,85,220,594,575,558,481,424,392,248,225,86,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,410,0,0,0,0,0,0,0,0,81,0,128,0,0,83,549,0,0,0,0,0,0,0,27,0,552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,410,0,0,0,0,502,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,0,617,0,0,0,0,0,616,0,0,0,0,0,0,0,0,0,0,0,0,0,0,390,0,0,0,483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,0,0,0,0,0,0,494,0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0,0,209,0,0,0,0,0,0,0,0,0,0,0,514,0,0,0,0,0,0,0,0,0,0,0,0,495,0,0,0,0,0,0,0,0,0,0,0,0,0,0,267,277,0,0,0,0,0,529,273,0,0,0,0,0,0,0,0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,456,0,0,0,310,0,0,0,0,0,0,251,0,0,0,0,0,0,23,0,0,0,0,569,0,0,0,0,600,520,0,0,0,0,242,0,0,0,0,0,0,458,0,0,479,0,0,0,0,0,61,0,0,0,265,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,0,0,0,0,0,275,610,0,71,0,0,0,0,0,0,0,0,0,619,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,0,274,0,0,0,0,0,0,568,0,0,0,0,0,0,522,0,0,0,0,0,0,0,0,0,567,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,501,0,0,0,0,0,555,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,82,0,0,0,0,0,0,0,0,0,0,0,0,485,0,484,0,0,0,0,0,0,0,0,0,0,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,457,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,285,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,536,0,0,0,0,0,0,0,0,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,235,0,0,0,0,0,0,0,0,0,0,83,0,606,0,0,553,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,609,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,519,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,497,0,614,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0,398,0,0,0,544,0,92,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,29,91,0,0,0,0,0,0,0,0,0,0,0,0,287,0,0,0,212,0,0,0,0,0,0,559,0,0,0,0,129,0,0,0,0,0,560,0,0,0,0,0,0,0,410,416,0,0,0,0,0,0,0,0,0,0,0,0,0,0,395,0,309,0,0,0,0,0,5,0,0,0,0,0,0,0,297,0,0,0,0,0,0,0,0,0,0,0,0,0,533,0,0,0,411,0,0,397,0,0,0,0,0,0,603,0,0,0,540,0,0,89,0,541,0,0,0,0,0,0,0,0,0,0,507,459,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,266,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,410,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,608,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,618,0,0,0,0,0,557,0,0,0,0,0,0,0,0,0,0,298,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,605,0,0,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,623,623,623,623,623,623,623,622,624]),eb="orgmilcomschnetedugovdrrformsfeedbackofficialaccoorgmilschnetgovmagazinemediaunioncargopilotgroupcaarespressworksaerodromeworkinggroupair-traffic-controlaircraftaccident-preventioneducatormarketplaceambulanceinsurancecateringairportrepbodyenginesoftwaremodellingair-surveillanceconsultingchartertrainermaintenanceservicesdesignflightskydivingfreightassociationstudentgroundhandlingdgcafuelclubtaxicrewshowballooningexpresstraderbrokerauthoragentsairtrafficjournalistsafetyconsultantmicrolightaccident-investigationparachutingequipmentproductionfederationrecreationscientistnavigationengineertradingglidingleasingresearchpassenger-associationentertainmentparaglidinghangglidingaerobaticrotorcraftemergencycertificationgovernmentaeroclubexchangelogisticschampionshiphomebuiltcouncilconferencecontrolairlinecivilaviationjournalorgcomnetedugovcoorgcomnomnetobjofforgcomnetuwukiloappsframerorgmilcomnetedugovcoradioorgcomnetcommuneedogpbcoitgvorgedugov*spreviewfrontendrelayononstagingupid*mtls*privatelinktypedreamdeveloperbravemochawindsurfaivenmirenupsunwnextbegetngrokclerkwale2bwebcsbrunputerflutterflowspawnbaseshiptodaymagicpatternsnetlifyondigitaloceanrailwayhostedclaudehasurabotdashvercelgithubluyanigadgetreplitcloudflaretelebitedgecomputeevervaultexponyatnoopencrpplxzeaburwasmerframerzeropsrocketpreviewconvexmedusajsspritesonherculeseasypanelstreamlitsnowflakemesserliloginlinehackclubcodepennorthflankbase44corespeedleapcellngrok-freeclerkstagelovableon-fleek*us-west-3ap-south-2us-central-2us-central-1eu-central-1ap-south-1us-west-2us-east-2eu-north-1ap-north-1us-west-1us-east-1*rcloudintsegorgmilcomgobbetnetintedugovturmusicasenasamutualcoopip6uriurnin-addre164homeirisgovdixdaemoncloudnssthwien*inexexkunden4accogvormymyspreadshop4lima2ixortsinfofuturecmsfuturehosting12hpprivfuturemailinglima-cityfunkfeuer123webseitednshomemelmyspreadshopcloudletswasantqldvicactnswtascatholicwasaqldvictasidwasantozqldorgcomvicasnactnetedugovnswtasconfcomairflowlambda-urltransfer-webappairflowtransfer-webapptransfer-webapptransfer-webapp-fipstransfer-webappeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1privatenotebookstudiolabelingnotebookstudionotebooknotebook-fipslabelingnotebookstudionotebook-fipsnotebookstudio-fipsnotebook-fipsnotebookstudionotebook-fipsnotebookstudioeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2experimentsus-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1onrepostsagemakercopporgmilcompronetintedugovbiznameinfoshoprsorgmilcomnetedugovbrendlyresolvenzauscotvstoreorgcomnetedugovbizinfoidacaicoittvorgmilcomschnetedugovinfocloudezproxyacmymyspreadshopkuleuvenwebhostingtransurl123websitecloudnsinterhostsolutionsddns5476103298edgfacbmlonihkjutwvqpsryxzbarsycoororgcomedumyftpno-iporxcloud-ipfor-somemmafanfor-morewebhopselfipjozidyndnscloudnsdscloudfor-thefor-betteractivetrailcoeconorestooteorgcomeconeteduassurmoneyafricaarchitectesrestaurantloisirstourismavocatsinfoagrounivcoorgcomnetedugoviatvdeportesaludtksatorgmilcomwebgobnetinteducienciaboliviarevistacooperativaempresanombreindustriamusicapatriamedicinademocraciapoliticapuebloindigenaplurinacionalarteblogwikiinfoagrotransportenoticiasprofesionalacademiaeconomiaecologiamovimientotecnologianaturalsimplesitecepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesmscepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesms*biaamfmtcmptvfeirasampajampanatalbelemananiradiog12medindfndbmdtrdthepoaggfjdfdefinfenflegsegongengcngorgzlgslglogppgmillelqslcimcomnomadmjabimbbibbsbabcrectecsjcetcpscpvhudieticriapipsiecnbiorioecogeoteoodoproatoartfstmatvetdetbetnetcntnotfotgrueduajuespappreptmpemparqsrvadvdevgovntrturagrjorfarjusmusdesvixxyzcozfozslzbhzmaringasantamariacampinagrandegoianiasorocabafloripasaobernardocuritibaboavistarecifeaparecidasaogoncasalvadorcuiabamorenamacapalondrinacontagemsocialfortalmaceioleilaoosascoriobranconiteroi9guacutcheblogflogvlogwikitaxicoopmanauspalmascaxiasjoinvillebaruericampinassantoandreribeiraoriopretoweorgcomnetedugovv0windsurfshiptodaycloudsitecoaccoorgnetgovofmilcomgovmediatechzacoorgcomnetedugsjgovmydnspenfnlabnbmbgcbcqconcontnuyksknsmyspreadshopno-ipawdevboxbarsyonidatemfuinabusavinstanceseceuguukussryzespawncsxcloud-ipmyphotosfantasyleaguetwmailcleverappsscrappingccwucloudnsftpaccessgame-serverccgovobjectsrmalpgcust*svcalp1aeappenginermalpgmyspreadshop4lima2ixsquare7cloudscale123websitefirenet12hpflowgotdnslinkyard-cloudcloudnslima-citydnskingobjectstorageedaccogoorusorgcomnetintedua\xE9roportxn--aroport-byaassogouvcomilgobgovcloudnses-1eu-west-1us-east-1euvipit1eurarubait1s3lbwebsites3websiteru-spbru-mskelasticcsrunstnukukcaukusnl-ams-1fr-par-1fr-par-2functionsnodess3ddlwhmrdbfnck8sifrs3-websitecockpitscblmgdbdtwhkafkpubprivs3ddlwhmrdbk8sifrs3-websitecockpitscblmgdbdtwhkafks3ddlrdbk8sifrs3-websitecockpitscblmgdbdtwhkafkk8sscalebookpl-wawfr-parnl-amsbaremetalsmartlabelinginstancesdechk2kuleuvenlaravelvoorloperurownoxazapscwhstgrvaporonline-serverobservablehqelementorantagonistreclaimjoteluluencowaydiademjelasticmatlabmagentositetrendhostingaxarnetperspectajenv-arubajelejoteravendbemergenttrafficplexconvexkeliwebserveboltbegetcdnstaticson-rancherprimetelonstackitunison-servicesdnshomelinkyardbarsyjelecloudnscocomnetgovmycn-northwest-1cn-north-1s3s3-accesspoints3-websites3s3-accesspointrdsdualstacks3-deprecatedemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspoints3s3-accesspointrdsdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicn-northwest-1cn-north-1cn-northwest-1ebcomputeelbcn-north-1airflowcn-northwest-1cn-north-1oncn-northwest-1cn-north-1amazonawssagemakeramazonwebservicesdirectasgdsdhehahljlnmhbacscahqhshhihnlnynsnmofjbjzjxjtjhkcqtwgsjssxnxjxgxxzgz\u7DB2\u7D61\u7F51\u7EDC\u516C\u53F8orgmilcomnetedugovxn--55qx5dcanva-appsxn--io0a7iquickconnectcanvasitekhsjxn--od0algcanva-codemyqnapcloudsrvrlessclustersrealtimestorageleadpagescarrdcrdorgmilcomnomnetedugovhidnssupabaserdpareplmypiumsoxmitotaplpagesfirewalledreplitowodevwebview-assetsvfswebview-assetss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecateds3-websites3-object-lambdaexecute-apis3s3-accesspoints3-websites3-accesspoint-fipss3-fipss3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipss3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9vfss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1us-northeast-1ap-southeast-1me-south-1af-south-1ap-south-1ap-southeast-7us-west-2eu-west-2ap-east-2us-east-2ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ap-southeast-6ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1mrapaccesspoints3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3eu-west-3ap-south-2eu-south-2computes3-ap-northeast-2elbrdss3-ap-east-1s3-sa-east-1s3-us-gov-west-1s3-eu-central-1s3-ca-central-1eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3s3-website-us-west-2s3-website-eu-west-1s3-external-1eu-central-1me-central-1ca-central-1il-central-1s3-us-west-1s3-eu-west-1s3-website-sa-east-1s3-website-ap-southeast-2ap-northeast-1ap-southeast-1s3-us-west-2s3-eu-west-2me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2s3-website-ap-southeast-1s3-1s3-globals3-ap-northeast-3eu-north-1airflowap-southeast-2s3-us-gov-east-1s3-fips-us-gov-east-1s3-me-south-1s3-ap-south-1ap-northeast-2s3-website-us-west-1ap-southeast-5s3-eu-north-1s3-ap-southeast-1s3-website-us-gov-west-1compute-1s3-eu-west-3us-gov-west-1s3-website-ap-northeast-1us-gov-east-1s3-fips-us-gov-west-1s3-website-us-east-1s3-ap-southeast-2ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3-us-east-2s3-ap-northeast-1authauthauth-fipsauth-fipseu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1rframeservicesbuilderstg-builderdev-builder*ociocpocsdemoinstanceeu-west-3eu-south-2ap-southeast-3ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1previeweu-4us-4us-1eu-1us-2eu-2us-3eu-3appspaasrag-cloudrag-cloud-chjcloudjcloud-ver-jpcdemonodebalancermembersipeuxvsoncillaocelotonzayalilynxsphinxfentigercustomercaracalo365cloudstaticxendevapp001testcode-builder-stgplatformmediasiteprojedrydpagesjsx0desazacncoitrueu4uhkukgrbrushatenadiarymyspreadshopfrom-flfrom-wvwebspace-hosttheworkpchatenablogcursorusercontentservesarcasmapplinzisakuratanwixsiteappchizigiizeis-into-carsdnsiskinkyadobeaemcloudis-a-therapistpgfogmyvncdojinis-an-actress1kappfldrvkozowqa2jpnmexprgmrfirewall-gatewaydynnscafjsfbsbxooguyfrom-gawoltlab-demois-a-anarchistwiardwebteaches-yogadattowebtb-hostinglive-websiteservegamegotpantheonfrom-nhsubsc-payfrom-ohvipsinaappfrom-cadyndns-officehomelinuxfrom-mahercules-appservebbsstreakusercontentfrom-okfrom-wyfastly-terrariumis-a-llamaqualyhqportalserveexchangeon-vaporvivenushopciscofreakgrayjayleaguesmetaaiusercontentfrom-iais-a-libertariansaves-the-whalestaveusercontentyolasiteoperaunitepoint2thisis-a-catererclaudeusercontentlinodeusercontentfrom-vagithubusercontentsells-for-lesshosteurcanva-appsplaystation-cloudddnsfreefrom-pafrom-prfrom-waddnskingoutsystemscloudhotelwithflightmydattois-a-nascarfanmydbserverminiserverdamnserverservehumouris-a-playerfrom-nvfrom-nmemergentagentgentappsamplifyappfrom-kyis-an-accountantnfshostserveircfrom-akpythonanywherestackhero-networkpostman-echolikescandydyndns-mailobservableusercontentserveftpfreeboxosfrom-utcdn77-storageamazonawsneat-urldyndns-serverlinodeis-a-teacherfrom-vtgleezemythic-beastsus1-pleniteu1-plenitla1-plenitpaywhirlservecounterstrikejdevcloudhealth-carereformis-into-animegoogleapisis-a-painterafricaisa-hockeynutatmetais-an-actora2hostedis-a-democratdatadetectest-le-patrondigitaloceanspacesis-a-designeris-a-hunterlinodeobjectstemp-dnsissmarterthanyoufrom-arsimplesiteevennodetownnews-stagingis-a-liberalgooglecodejelasticservemp3qualyhqpartnerdyndns-free1cooldnsest-a-la-masiondrayddnsdynuddnsfrom-orfrom-miis-a-bloggerfrom-himydobisscanvacodeis-an-engineerest-a-la-maisonupsunappdevinappswafflecellmyasustorwpenginepoweredfrom-ctservep2psame-appmyshopblocksthingdustdatalikes-piediscordsezis-with-thebanddev-myqnapcloudlpusercontentis-leetshopitsite3utilitiesis-a-personaltrainersinaappladeskis-a-cheflogoipselfipbase44-sandboxnospamproxyalibabacloudcsmesswithdnsauthgearappsiamallamawithgooglelutrausercontentmochausercontentframercanvasmytabitdyndns-homew-credentialless-staticblitzcpserverdiscordsaysis-a-nurseappspotatlassian-isolated-3premotewdfrom-mtwixstudiocode0emm180rmyactivedirectoryawsappsmytuleapdnsabrpolyspaceqbuserrenderbuiltwithdarkboutirgotdnsabrdnsdopaascanva-hosted-embedawsglobalacceleratorhomesecuritypcmyiphostditchyouripclever-clouddyndns-ipon-aptibleis-a-musiciansecuritytacticsappspaceusercontenthomeunixstrapiappsame-previewcf-ipfsmycloudnaselasticbeanstalkis-certifieddontexistkasserverik-serverdrive-platformatlassian-3pfirebaseappherokuappawsapprunnerbarsycenteris-a-cubicle-slaveservehttpmyshopifyis-a-guruquicksytessiiitesorsitesmagicpatternsappis-a-cpameteorappfrom-wiis-a-rockstarbumbleshrimpdattolocalreadthedocs-hostedfrom-rifamilydsdyndns-picsplesknsbplaceddnsaliasdynaliasdyndns-remotedoomdnsip-ddnsblogdnsis-a-doctorroutingthecloudamazoncognitobarsyonlinedsmynasddnsgurucloudflare-ipfsdeus-canvasfrom-idsmushcdnpagespeedmobilizerdyndns-at-homeunusualpersonhosted-by-previderis-a-republicandyn-o-saurstreamlitappworkisboringonthewificprapidqualifioappis-uberleetis-slickgetmyipwpdevcloudtypeformdyndns-at-workgentlentapismynascloudw-corp-staticblitzfrom-ingeekgalaxyservebeerfrom-mdonrenderspace-to-rentaivencloudappspacehostedwafaicloudcodespotblogspotatlassian-3p-us-gov-modfrom-ndfrom-msis-a-techieis-a-studentcustomer-ociis-a-photographerdurumisfrom-ksmassivegriddyndns-wikiis-an-entertaineris-a-hard-workermysecuritycamerafrom-mnrackmazedyndns-blogis-a-bulls-fanwritesthisblogfreemyipsimple-urlfrom-sdreservdauthgear-stagingest-mon-blogueuris-into-gamesrice-labsxtooldevicesakurawebis-an-anarchistoraclecloudappsdyndns-worksells-for-urhcloudfrom-dcfastvps-serverwpmucdnis-a-geekscrysecfrom-txis-into-cartoonsmodelscapetrycloudflarelocaltonetstreak-linkbalena-devicesfrom-njforgeblocksfreebox-oswebadorsitefrom-ncdoesntexisthobby-sitestreaklinkshomesecuritymacownprovidertuleap-partnersdattorelaywphostedmailalpha-myqnapcloudservequakeis-a-socialistservehalflifepivohostingdynuhostingquipelementsw-staticblitzdyndns-webfrom-deproject-studyaliases121is-not-certifiedhercules-devis-a-financialadvisorservepicsis-a-greenloseyouripfrom-ilwithyoutubemwcloudnonprodwiredbladehostingdnsdojofrom-tnpixolinomyqnapcloudis-an-artisthostedpiis-a-landscaperauiusercontentoaiusercontenton-forgeis-a-conservativedreamhostersnet-freaksapps-1and1is-goneencoreapifastly-edgefrom-nesalesforcefrom-scdeployagentoraclegovcloudappsfrom-alis-a-lawyercechirevultrobjectsstufftoreadisa-geekddnsgeeklovableprojecttry-snowplowfrom-moblogsyteis-a-bookkeepernogmyforumravendbmyboxdeelementoredsaacficogoorinforgcomgobnatneteduidstoreorgcomnetintedudevnomepublorgcomneteduathgovtestscalculatorspaynowinfoquizzesresearchedcloudnsfunnelsassessmentsjscaleforcetmacltdorgmilcompronetgovbizpresseklogesrsccloudcustomfltusrcloude4corealmgovmunicontentproxy9metacentrumdyndyndyndnsdynpagespages-researchitionoccustomercomymyspreadshopipv64diskussionsbereich4limacomrub2ixfirewall-gatewayddnssspdnsbarsykeymachinesquare7myhome-serverspeedpartnercommunity-proschuldockxenonconnectg\xFCnstigliefernbwcloud-os-instancedyndnssecmy-routerxn--gnstigliefern-wobin-butterl-o-g-i-nisteingeekin-dslin-berlinin-brbfuettertdasnetzleitungsenin-vpnlcube-serverdyn-ip24logoipdyn-berlinruhr-uni-bochum12hpgoipsrvdnsfruskygit-repossvn-reposinternet-dnsg\xFCnstigbestellenhome-webserverxn--gnstigbestellen-zvbbplacedheimdnscosidnswebspaceconfiglima-citydyndns1istmeinvirtualuserschulplattformmy-gatewayddnsseclebtimnetztest-iservmein-iservvirtual-userhome64iservschuletaifun-dnstraeumtgeradeschulserverdynamisches-dns123webseitednshomehs-heilbronndnsupdaterbssgraphicdwadpdwdaepeweaawapaafpfwfabwbpbacwcpcciwebuserapiobjectsidsiskospockkimodorikerbonesteamsparisjanewaypicardglobaltarpitreedpikekiraworfsulukirkarchertuckerhackercanarywesleystagingprereleaset3r2lpbravepanelngrokiservstglclcrmerpflypagesbarsyvivenushoplocalcertlocalplayerbearbloggatewaydeno-stagingis-not-ais-a-goodbotdashvercelmocha-sandboxplatter-appreplitgithubpreviewworkersinbrowserevervaultis-ahrsndenoxmitmodxmyaddrstorageapipayloadgrebedocruncontainersstgstagelclstageloginlineis-a-fullstackcodepenleapcellngrok-freeis-coolstoragewebharemediatechlibp2pdiscourseimaginecomyspreadshopstoreregbiz123hjemmesidefirmcoorgcomnetedugovsldorgmilcomwebgobartnetedugovtmorgpolcomsocartnetedugovassoagrondiscoodontk12medcuegyecpaabgengorgmilgalsaltulcomadmesmgobpubdocmonfindgnriouioproartlatvetnetfotedulojgovntrturibrbarxxxofficialbasechefprofmktgpsictechinfoarqtcontdentrrpppsiqgit-pagesritmedfieorgcomlibprieduaipgovriikmeactvsportorgmilcomscieunnetedugovnameinfopintouchtawktotawkmyspreadshoporgcomnomgobedu123miwebcomputeorgcomnetedugovbiznameinfocognito-idpeusc-de-east-1onjelasticnxaspdnsbarsydirectwpdeuxfleurstransurldogadoprvwcloudnsamazonwebservicesdnshomeuserpartycokoobinmkmfidymyspreadshopalandkapsiikixn--hkkinen-5wacloudplatformh\xE4kkinen123kotisivuidacorgmilcompronetedugovbiznameinforadioorgcomneteduuserexperts-comptablestmmyspreadshopgretaprdcomnomynhccifbxoshuissier-justicenotairesaeroportfreeboxoson-webavocatassoportgouvkdnschirurgiens-dentistes-en-franceavouesfbx-os123sitewebveterinairechirurgiens-dentistespharmacienchambagrimedecinfreebox-osdediboxgoupilemszicpyicpvicppleysheezypagesedugovcnpyorgcomcybllcpvtnetedugovtnxonlineschooldaemond6atcopanelorgnetplybotdashstackitkaasorgmilcomnetedugovbizmodltdorgcomedugovcoorgcomneteduappwriteacorgcomnetedugovcloudtranslateusercontentorgcomnetedumobiassoorgcomnetedugovbarsysimplesitediscourseindorgmilcomgobneteduorgcomwebnetedugovguaminfonxhra\u6559\u80B2\u654E\u80B2\u7DB2\u7D61\u7F51\u7D61\u7EC4\u7E54\u7D44\u7E54\u7F51\u7EDC\u7DB2\u7EDC\u7EC4\u7EC7\u7D44\u7EC7\u516C\u53F8\u653F\u5E9C\u500B\u4EBA\u4E2A\u4EBA\u7B87\u4EBAltdorgcomincneteduidvgovxn--uc0ay4axn--55qx5dxn--mk0axixn--io0a7ixn--uc0atvxn--zf0avxxn--lcvr32dxn--od0algxn--wcvs22dxn--gmqw5axn--od0aq3bxn--mxtq1mxn--ciqpnxn--tn0agxn--gmq050iorgmilcomgobneteduiservwp2tempurlmircloudfreesitewpmudevmyfastgadgetcloudaccessjelehalfboltfastvpsemergenteasypanelopencraftizcombrendlynamefromrtpersoadultmedorgpolrelcomproartnetedufirminfoassoshopcoopgouvtmcomediahotelforumvideosportorgsexagrargameslakaseroticaerotikatozsdereklamcasino2000filmsuliinfoboltshopprivnewsszexcityutazasjogaszkonyveloingatlaneacaicogoormy\u1B29\u1B2E\u1B36milwebschnetkopbizzonedesaponpesxn--9tfkymyspreadshopgovmytabittabitorderravpageaccok12idforgnetgovmuniltdplcaccotttvorgcomnetmeca6g5gpgamubacaicniocoukuptverdruscsdelhiindorgmilcomwebnicfingenpronetintedugovresbizbiharbarsyinternetbusinessschooltravelsupabasealumnigujaratfirminfoaeropostbankcoopindevscloudnsno-ipbarsybarrell-of-knowledgebarrel-of-knowledgensupdategroks-thisdnsupdatefor-ourknowsitalldvrcammittwalddynamic-dnsv-infowebhopselfipdyndnshere-for-moreilovecollegemayfirstforumzcloudnsmittwaldservertypo3servergroks-theeusekd1cdndyndnsidrawsainaueuapjpusstagemocksysdevicesclientcustreservdcustdevdisrecprodtestingcobeebyteutwenteboxfusebravepstmndedynngrokorgmilcomnomnetedugovqcxqzzbarsythingdustmo-siemensrb-hostingfh-muenstergitbookbluebitecloudbeesusercontentnodeartkiloappsforgerockdarklangresinstagingapigeebubbleb-datascryptedhypernodedappnodepantheonsitegitlabgithubkeeneticvirtualservercleverappshostyhostingon-rioedugitticketstelebitwixstudioon-k3sicp0icp12038jeleqotolairbubbleappsmyaddrstolosmyrdbxwebflowdrive-platformbeagleboardhasura-applolipopdefinimavaporcloudmusicianwebflowtestazurecontainerresindevicereadthedocsloginlineeditorxmoonscalesandcatsbasicserverwebthingsbrowsersafetymarkbeebyteappbitbucketidaccovistablogorgschnetgovxn--mgba3a4f16axn--mgba3a4fraarvanedge\u0627\u064A\u0631\u0627\u0646\u0627\u06CC\u0631\u0627\u0646jclaspeziapdudcefegelemeperetevebacanatavaparasabgagfgogrgpgalclblimfmrmcbmbvbfclcmcvcrcpcchlimifibicivipirisimncnbnanenrnpntnnolomobocoaogorosopotoptvtatctbtmtltotpusulunutpspapaqsvpvvvtvavvrtrsrprgrfrcrbrarorkrvstsssbscsmsispzczbzbozen-suedtirolmyspreadshopxn--bulsan-sdtirol-nsbxn--valledaoste-ebbtrentinoaltoadigetrentin-sued-tirolxn--forlcesena-c8axn--forl-cesena-fcbxn--bozen-sdtirol-2obtriestetrentinsuedtiroltrentino-s-tirollecceudineaostesienaparmaluccapaviagenoapaduaaostamonzaabruzzoternirietiturinmilanbozenlaziofermoleccocuneonuoropratola-speziavdataaligfvgpugmolcalcamlomumbsicpmnvenvaoedugovabrsarmaremrbastoslazibxosfirenzetrentinos\xFCdtirolval-d-aostavalle-aostamessinacremonaravennatoscanatrentin-suedtirolbolognacalabriaurbinopesarofriuli-v-giuliaogliastraxn--valle-aoste-ebblaquilaandriatranibarlettasyncloudxn--valle-d-aoste-ehbaostavalleyvalled-aostatrentino-alto-adigevallee-d-aostexn--balsan-sdtirol-nsbpistoiasicilialucaniacataniaiserniaperugiabresciaveneziagorizialiguriaimperiabulsan-suedtirolbalsan-suedtirolbarlettatraniandriaxn--trentino-sdtirol-szbforl\xEC-cesenatuscanyvall\xE9e-d-aostemantovavall\xE9e-aostecasertapiemontevalleaostaval-daostafriulivgiuliatrevisoforli-cesenavall\xE9edaosteferrarapescaravald-aostatrentino-altoadigefriuli-vegiuliavallee-aostecarboniaiglesiastarantomediocampidanovalleedaostetrentinosud-tirolcampobassotrentins\xFCd-tiroltrentinos\xFCd-tirolmonzabrianzatrentino-s\xFCdtirolxn--trentino-sd-tirol-c3bpotenzacosenzavicenzaemiliaromagnavenicefrosinonemarchepordenonetrentinosued-tirolvaresemolisevall\xE9eaostefriuli-veneziagiuliabasilicatalatinaanconasavonaveronamodenabiellabolzano-altoadigepugliafoggiaumbriatrentino-stirolgenovapadovamateranovararagusapiacenzatrentinostirolvalleeaostetempio-olbiasudsardegnatrentinsudtirolmassa-carrarafriuliveneziagiuliatrentinosuedtirolandria-barletta-tranitrapanixn--cesenaforl-i8amaceratacaltanissettaascoli-picenobrindisicarraramassacagliaririmininapolivibo-valentiachietibulsan-sudtirolbalsan-sudtiroltrentino-a-adigebulsanbalsaniglesiascarboniamilanotorinoteramodell-ogliastraarezzotrentinoalto-adigerovigotrentovenetoiglesias-carboniatrentino-sud-tirolaltoadigereggio-emiliareggio-calabriasardegnatranibarlettaandriapiedmontxn--sdtirol-n2amedio-campidanotrentino-s\xFCd-tirolfriuli-vgiuliafriuli-ve-giuliaromeennaromapisa32-b16-b64-blodiastibarineencomonaplesforlicesenailiadboxosalessandriasicilytrani-barletta-andriaxn--trentin-sdtirol-7vbpesarourbinotrentinsued-tirolcesena-forliforl\xECcesenaemilia-romagnamonzaebrianzaxn--trentinsdtirol-nsbtrentinos-tiroltrentins\xFCdtirolvalledaostaolbia-tempiocampidanomediovibovalentiasassarivalle-daostalombardysud-sardegnafriulivegiuliareggioemiliamonzaedellabrianzaalto-adigevercellitrentin-sudtiroltraniandriabarlettatrentino-sudtirolascolipicenobozen-s\xFCdtirolfriulive-giuliaflorencexn--cesena-forl-mcbcarbonia-iglesiasaosta-valleycarrara-massadellogliastratrentinoa-adigexn--valleaoste-e7apesaro-urbinoxn--trentinosdtirol-7vbxn--trentin-sd-tirol-rzbxn--trentinsd-tirol-6vbtrani-andria-barlettatrentin-s\xFCd-tirolxn--trentinosd-tirol-rzbgrossetomonza-e-della-brianzas\xFCdtirolreggiocalabriatrentinoaadigetrentin-s\xFCdtirolverbano-cusio-ossolafriuliv-giuliaverbaniacampaniatrentino-aadigefriulivenezia-giuliasardiniaandriabarlettatranibarletta-trani-andriacatanzarooristanourbino-pesarocesena-forl\xECvalle-d-aostacampidano-medio123homepagesiracusatempioolbiasuedtirollombardiaavellinocesenaforl\xECtrentinofriuli-venezia-giuliabozen-sudtirolandria-trani-barlettabulsan-s\xFCdtirolbalsan-s\xFCdtirolmonza-brianzabolzanotrentino-sued-tirolbellunosalernolivornocrotonesondriodnshometrentinsud-tirolmassacarraratrentin-sud-tiroltrentino-suedtirolviterbobergamocesenaforliolbiatempiopalermobeneventoagrigentoofcoorgnetfmaitvphdengorgmilcomschnetedugovperagrikanieasukehandachitatokaiaisaikonanoharuamaobuhigashiuraowariasahiinuyamatobishimaiwakurashitarainazawatoyonegamagorimihamatoyotataharakariyayatomioguchikomakimiyoshinishiotokonamekiyosuchiryutoyohashiokazakiisshikikasugaikotakiratoeianjotogofusosetohazutsushimashinshirotakahamanisshinshikatsuhekinantoyokawaichinomiyatoyoakeodateogataakitaikawakyowahonjoogayurihonjonoshirokamiokakatagamimitanegojomeyokotekosakadaisenkazunonikahohonjyomoriyoshimisatohappoukamikoanihachirogatahigashinarusesembokufujisatokitaakitaitayanagiowanitakkomutsutsurutahirosakigonoheoirasetowadamisawanohejiaomorishingohiranairokunohehashikamitsugarushichinohehachinohenakadomarisannohekuroishisakaeisumiasahiotakiinzaiabikomatsudoyachiyomutsuzawakujukuriomigawakashiwatoganemihamanaritasakuranagaramobarahanamigawachoshishiroichoseikozakishisuikatorimidorichonankyonanfuttsuonjukufunabashinagareyamanodasosatakochuotohnoshourayasukimitsuyokaichibayotsukaidosodegauratateyamakamagayayokoshibahikariyachimatakatsuuratomisatokisarazukamogawaichikawanarashinoichinomiyashimofusaminamibososhirakoichiharaoamishirasatoikatahonaiainansaijoseiyoiyoozuuwajimaniihamanamikatamasakiuchikokihokutobetoonshikokuchuomatsuyamaimabarikamijimakumakogenyawatahamamatsunosabaeikedaobamasakaifukuiohionotsurugamihamawakasaminamiechizeneiheijikatsuyamatakahamaechizensoedaukihaomutaokawanishiogoribuzenonojosueumiokiotochikugosasagurisaigawamizumakishinyoshitomikurumekurateyamadakasuganakamamiyamanogatatakatahakataiizukakawaratagawakasuyaashiyainatsukimunakataminamitsuikishonaikurogifukuchikeisenhigashimiyakoshinguyukuhashiokagakiyamekogaongausuikahotohochuotoyotsumiyawakadazaifuhisayamatachiaraiyanagawanakagawahirokawachikujochikushinochikuhochikuzennamieotamaokumashowateneiiwakikoorinangoononishigoshimogoomotegomishimafukushimaasakawakagamiishishirakawaiitatefutabahiratayugawahanawakitakatakawamatakunimiyabukibandaihigashihironoyamatomiharuyamatsuriaizubangedatesomaaizuwakamatsuyanaizuaizumisatonishiaizuizumizakikitashiobarataishinkaneyamakoriyamainawashirotanagurafurudonosamegawasukagawaishikawatamakawaikedaogakitaruiginanenahashimahichisonakatsugawaibigawashirakawamizunamiminokamomitakekawauesekigaharatomikasakahogikitagatayamagatatajimianpachimotosuyaotsukakamigaharahidakanisekitokigujominogodoyorogifukasamatsutakayamawanouchihigashishirakawakasaharashimonitatsumagoichiyodakannakanrashowameiwakiryuotaoratomiokafujiokaitakuranaganoharahigashiagatsumatakasakishibukawaminakamikatashinatsukiyonokawabanumataannakaoizumimidorishintoisesakiuenoyoshiokakusatsutakayamanakanojonanmokutamamuratatebayashimaebashiotakekaitadaiwahongofuchukuietajimashobaramiharahatsukaichihigashihiroshimamiyoshikumanokurenakasakaseraseranishiasaminamifukuyamashinichionomichiosakikamijimajinsekikogentakeharaotobenanaeikedatohmaozoraobiraabirakyowaeniwataikibibaisharirebunerimohiroooketootarupippunishiokoppechitosefurubirahakodateshiranukakitahiroshimakushiroobihironanporoiwamizawaniikappukunneppufukushimanakasatsunaitoyourakuromatsunaiakabirakamisunagawashibechaurakawakamifuranonakatombetsuasahikawashimokawakayabeokoppebiratoriabashirisaromaatsumanumatahidakabifukamukawamikasahorokanaitoyotomisarufutsuhigashikawaishikarikitamiyoichiesashiiwanaitomariminamifuranoakkeshifuranotoyakoyakumootoineppushikaoishiraoinemuronayorohaboroashorobihororishirifujiutashinaihokutotakasuebetsuurausuassabukikonaishimamakinaiedatetoyabieinikiesanuryuoumuteshikagarikubetsuashibetsukimobetsuaibetsutobetsusobetsuembetsushimizuchippubetsurishirihokuryuhoronobeshintokutsubetsushibetsuhonbetsumombetsutsukigatakuriyamakoshimizushiriuchikutchanmurorannoboribetsukamishihorowassamushinshinotsukembuchiwakkanaikamoenaikiyosatotakinoueshikabesunagawafukagawanakagawatakikawakamikawahigashikagurahamatonbetsumatsumaemoseushirankoshishakotanimakanemashikeotofuketomakomaisandatambaitamiawajikasaiasagoshisoonoakoyashirotoyookaminamiawajiinagawafukusakitakasagokamigorikasugaharimayokawaashiyahimejiakashitaishiaogakisannantakinosumototakarazukanishinomiyashingugoshikinishiwakiyokatakaaioimikisayoyabukawanishiamagasakisasayamashinonsenkakogawaichikawakamikawatatsunotsukubaiwamaogawaasahisakaitokaioaraiitakobandodaigosuifuinaamikasumigaurakashimaomitamayachiyoshimodatetomobetoridehitachinakainashikisakuragawakasamayawaramoriyahitachiomiyanamegatayamagatahitachikamisuushikutakahagiibarakitonekoganakasowayukimihojosomitoryugasakishimotsumafujishirotsuchiurachikuseihitachiotashirosatotamatsukuriuchiharashikahakuinanaotsubatawajimakahokukawakitatsurugikaganominotosuzuuchinadakomatsuanamizunakanotohakusannonoichikanazawaiwateshiwafudaikawaimoriokaofunatohanamakikuzumakikitakamininohekunoheyamadayahabasumitaichinosekitanohatahiraizumirikuzentakatajobojiotsuchihironomiyakoiwaizumikarumaiichinohenodakujitonooshushizukuishifujisawamizusawakamaishikanegasakimannoutazukotohiraayagawazentsujihigashikagawauchinomikanonjisanukimarugamemitoyotakamatsutadotsunaoshimatonoshoakuneamamiizumihiokiyusuikinkoisasookouyamanakatanekagoshimakanoyaisenkawanabeminamitanemakurazakitarumizunishinoomotematsumotosatsumasendaioimatsudaayaseebinamiurazushinakaiodawaraiseharasagamiharahakoneaikawakaiseiatsugitsukuihadanoyamatoyamakitazamaoisochigasakininomiyayokosukakamakuraminamiashigarafujisawasamukawakiyokawahiratsukayugawaraokawaumajikochitsunootoyoakiinonishitosayasudahidakamiharasakawaniyodogawahigashitsunokagamigeiseisusakiotsukinaharisukumomurototosakamiochitoyotosashimizumotoyamanankokunakamurakitagawayusuharaogunichoyoukiasoutoozugyokutoamakusamifunetakamoriyamagaminamataminamiogunikikuchisumotoyamatonagasumashikiaraokumamotokamiamakusanishiharayatsushiroayabeseikasakyoideineujinakagyokameokakyotangokyotanabekyotambaminamiyamashiroyamashinatanabeyawatawazukaminaminantanmiyazuhigashiyamafukuchiyamakitamukokamojoyokizumaizuruujitawaraoyamazakinagaokakyokumiyamakawagoeinabeshimameiwaasahitaikiudonoisetsukisosakikuwanamihamamiyamasuzukatamakimisuginabarikumanokomonominamiisewataraitobakiwatakikihotadomatsusakayokkaichikameyamaureshinoishinomakishichikashukuohirataiwaosakizaohigashimatsushimashikamaiwanumashibataogawaraonagawakawasakiseminemarumoriminamisanrikukakudamuratawakuyatomiyanatoriwataritagajomisatotomekamirifushiroishimatsushimayamamotoshiogamafurukawahyugaebinotsunosaitoayakushimanobeokakitauramiyazakitakazakigokaseshiibamimatashintomikunitomikitakatakobayashikawaminamitakaharukijotakanabemiyakonojonishimeranichinankitagawakadogawamorotsukakisofukushimaminamimakisakaeobuseikedaogawamiasaokayaasahiotakiotarichinoinaomichikumakomaganechikuhokukaruizawayasuokaooshikaikusakaminamiaikitogakushimatsukawakawakamitateshinatakamorikitaaikishiojirimiyadahakubaiizunaiijimaiiyamamiyotasuzakayasakatoguraookuwanagawaminowahirayayamagataminamiminowafujimiomachisakakitakaginaganonakanosakuhokomoronagisoshinanomachiwadauedaiidaharasuwatomiachiaokianankisosakunozawaonsenagematsutakayamashimosuwamatsumotoyamanouchinakagawamochizukiazuminotatsunoobamaomuraseihiunzenosetofutsuikichijiwanagasakiisahayahasamisaikaikawatanasasebohiradokuchinotsugototogitsutsushimashimabarashinkamigotomatsuurayamazoekashibaikomakawaitenrioyodosangokoryoudaojiikarugayamatokoriyamatenkawakatsuragikurotakikawakamimiyakemitsuetakatorikamikitayamayamatotakadahegurishinjokanmakisakuraitawaramotogoseoudanarasoniandokawanishishimoichihigashiyoshinokashiharashimokitayamanosegawayoshinomintsivorytopazsakuragehirnsumomoaseinetopalmail-boxmokurenyoitamuikaojiyagosensanjoaganomyokoseiroagaomishibataniigatanagaokamurakamiuonumayuzawakariwatagamitainaitsunanminamiuonumatochioyahikojoetsuseiroukamosadoizumozakitokamachiitoigawasekikawakashiwazakitsubamemitsukekokonoesaikiusukibeppuusahimeshimakunisakihasamataketatsukumihitaoitahijikusuyufukujukamitsuebungoonobungotakadaibaraniimibizentsuyamaokayamakasaokahayashimayakagemaniwaakaiwamisakishinjotamanotakahashikibichuowakesojanagishookumenannishiawakurakurashikiasakuchisetouchikagaminosatoshotomigusukunakagusukuyaeseizenaurumaiheyaaguniogiminanjokinminamidaitokitanakagusukuyonaguniokinawaishigakikunigamiurasoekadenataramahiraraginozataketomishimojizamamitonakiitomanhigashimotobuyonabarugushikamionnanahanagohaebarukumejimakitadaitonakijinnishiharayomitanginowantokashikiishikawaikedasuitaminohizuminishisakaikananabenodaitoosakasayamayaokishiwadatadaokakaizukatondabayashichihayaakasakakumatorikadomasayamahigashiosakashijonawatehirakatataishimisakitajirihannansennankatanotoyonominatosettsuhigashiyodogawaibarakinosekitachuohigashisumiyoshifujiiderakashiwaraizumiotsutoyonakamatsubaramoriguchiizumisanoshimamototakatsukineyagawahabikinotakaishikawachinaganoyoshinogarikamiminearitaouchiimarihizenogikashimaariakekiyamafukudomikitagatakitahataomachigenkaikanzakinishiaritakyuragisagataratosutakushiroishikaratsuhamatamakouhokukawagoeyoshidasatteogoseirumaasakaurawaogawaniizaomiyayoriiotakishikihonjooganohannohanyuinasaitamaokegawaarakawayoshikawayokozehasudasayamahidakafukayachichibuiwatsukiryokamiyoshimikamiizumifujimiwarabiranzanmiyoshiminanoyashiosakadosugitomisatohigashichichibutodasokakukiyonokazoshiraokakasukabekounosukawajimatsurugashimamiyashirokitamotohatoyamamoroyamahatogayakumagayakawaguchinagatorokamisatomatsubushinamegawatokigawakamikawafujiminohigashimatsuyamakoshigayatokorozawas3isk01isk02ryuohkoseikonanaishorittotakashimamaibarahikonetorahimenishiazaikokagamokotoyasuotsukusatsunagahamamoriyamatoyosatotakatsukinotogawaomihachimanhigashiomiakagiunnanizumogotsuamayatsukakakinokimatsuehamadamasudahikawahikimiokuizumoyasugiyakumomisatotamayuohdahigashiizumookinoshimanishinoshimatsuwanoshimaneshimadafujiedayoshidashimodagotembaiwataatamikosaiyaizuitoizumishimahaibaramakinoharaomaezakikawanehonkannamisusonohigashiizufukuroinumazukawazufujiaraishizuokahamamatsushimizuizunokunimatsuzakimorimachiminamiizunishiizukikugawakakegawafujikawafujinomiyaujiietsugaoyamayaitaohiranikkoashikagakuroisokanumasakurashioyakarasuyamamotegiichikaikaminokawatochigihagamokanogisanobatonasumibunasushiobaranishikatautsunomiyaiwafunemashikoshimotsukeohtawaratakanezawaitanokomatsushimatokushimaichibaminamiaizumiwajikikainanmiyoshinarutomimamugiananmatsushigesanagochishishikuinakagawamachidachiyodakomaefussainagitaitochofufuchuomeotahigashiyamatotoshimaokutamaaogashimakodairaedogawaarakawahachiojishinagawatachikawashibuyasuginamihinodekiyosesumidaoshimanerimamitakahamuraadachinakanomizuhobunkyomegurominatokoganeihigashikurumekokubunjihigashimurayamamusashimurayamatamakitahinochuokotokatsushikakouzushimaogasawaraakishimakunitachishinjukusetagayamusashinohachijoitabashiakirunohinoharachizunanbukotouramisasawakasayonagokogehinoyazutottorinichinansakaiminatokawaharaoyabetairainamiasahinantoimizufuchutakaokakurobeyamadajohanatoyamatonaminyuzenfunahashinakaniikawanamerikawaunazukitogahimiuozufukumitsutateyamakamiichiiwadearidayuasainamitaijikatsuragiaridagawatanabemihamahidakakainankiminomisatoshingushirahamakamitondayurakozakoyagobokitayamawakayamakudoyamahashimotokushimotokozagawahirogawakinokawanachikatsuurarsuseroeoishidasagaeoguniasahinagaitendonanyoobanazawanishikawasakataohkuratozawamikawamamurogawayamagatafunagatatakahatashonaishinjokahokuiideyuzakawanishitsuruokakaminoyamayamanobeshiratakamurayamanakayamakaneyamahigashineyonezawasakegawamitouubeyuuabushimonosekitabuseoshimatoyotaiwakunihikarishunannagatohagihofukudamatsutokuyamashowadoshitsurunanbukoshukaiminami-alpsnirasakikosugeotsukioshinohokutominobuyamanashifuefukichuokofuichikawamisatoyamanakakonakamichitabayamanishikatsuranarusawafujikawahayakawafujiyoshidafujikawaguchikouenohara\u9577\u91CE\u4EAC\u90FD\u5C90\u961C\u5927\u962A\u4E09\u91CD\u7FA4\u99AC\u5343\u8449\u6ECB\u8CC0\u4F50\u8CC0\u5948\u826Fadednelgaccogogror\u79CB\u7530\u611B\u77E5\u9AD8\u77E5\u57FC\u7389\u6C96\u7E04\u6803\u6728\u718A\u672C\u5CA9\u624B\u9752\u68EE\u5C71\u68A8\u65B0\u6F5F\u5CF6\u6839\u9CE5\u53D6\u9577\u5D0E\u9999\u5DDD\u5BAE\u57CE\u77F3\u5DDD\u5927\u5206\u5BAE\u5D0E\u8328\u57CE\u5C71\u53E3\u5175\u5EAB\u5C71\u5F62\u5FB3\u5CF6\u5E83\u5CF6\u798F\u5CF6\u798F\u5CA1\u5CA1\u5C71\u5BCC\u5C71\u9759\u5CA1\u611B\u5A9B\u798F\u4E95\u6771\u4EACxn--4it168dhatenadiaryxn--vgu402ckawaiishophatenablogcocottenamaste\u5317\u6D77\u9053penneehimeiwateversestabachibashigagonnagunmapermahaccaakitaosakauh-ohblushkochiaichifukuikuroncapooitigohyogotokyokyotopunyuthickcheap0t00g00j0mie2-ddaapyawjg0amfemsubxiiboomoobutchueekpgwrgrherskrboyrdyupperunderflierchipsmydnsheavyangryhippygirlyrulez\u795E\u5948\u5DDD\u9E7F\u5150\u5CF6\u548C\u6B4C\u5C71bambinaxn--nit225kokayamasaitamaxn--k7yn95exn--1lqs03nsapporoparasitelolipopmcxn--efvn9sniigatafukuokatokushimafukushimahiroshimakagoshimafakefurokinawaxn--8pvr4ucoolblogxn--0trq7p7nnkawasakinagasakimiyazakichilloutxn--8ltr62kxn--klty5xpeeweezombiecutegirlxn--rny31hxn--uuwu58axn--ntso0iqx3axn--djrs72d6uytoyamanikitanyantakagawamimozanagoyaboyfriendxn--2m4a15egreaterchowderegoismyamagatafashionstorexn--elqq16hxn--pssu33lsendaimiyagixn--rht27zpecoriaomorisaloonwatsonvivianxn--djty4knobushipigboatnaganopinokoxn--f6qx53asadistvelvetsecretxn--5js045dchicappayamanashiibarakidigickgirlfriendxn--1lqs71dmongolianxn--c3s14mxn--qqqt11mtochigixn--5rtq34kparallelo0o0mondkobesagabonadecaoitanarafoolkilldecimainhiholomosblokilociaoundopupugifutankcrapflopnooroopsmodsholyjeezstripperpepperbittershizuokaxn--rht3dkitakyushureadymadeicurusversusmatrixxn--rht61ehungryfloppygloomycrankyhandcraftedlittlestarxn--klt787dxn--kltx9awhitesnowsunnydaytottorilovepoptheshopbuyshopxn--5rtp49cxn--d5qv7z876cwebaccelxn--kbrq7oxn--4pvxsxn--1ctwolovesickkumamotocatfoodxn--tor131oyokohamawakayamatonkotsuxn--ehqz56nxn--uist22hxn--6btw5axn--kltp7dyamaguchifrenchkisspussycatxn--4it797kxn--uisz3gbabybluexn--zbx025dnetgamersxn--7t0a264ckanagawaxn--6orx2rishikawaxn--ntsq17ghalfmoonschoolbusjellybeanxn--mkru45iusercontentlolitapunkxn--32vp30hsakurastoragehokkaidoshimanecandypopbabymilksupersaleweblikeraindropbackdropwebsozaikikirarahateblodaynightmeneacsccogoormobiinfoaeusxxorgmilcomnetedugovorgcomnetedugovbizinfotmprdorgmilcomnomedugovassnotairespresseassocoopgouvveterinairemedecinpharmaciensorgnetedugovtraorgcomedurepgovmeneperekgacscaiiocogoitoresmshsseoulbusanulsandaeguc01milvkimmvchungnamjeonnamjeonbukeliv-dnsgyeonggijejueliv-cdnincheondaejeongangwongyeongbukgwangjuchungbukgyeongnameliv-apicoeduindorgcomembnetedugovorgmilcomnetedugovjcloudorgcomnetintedugovperbnrinfocooyorgcomnetedugovethipfscanvamypepethw3sstorachakeeneticjoinmcinbrowserdwebcyonnftstoragemyfritzaemewphlxachotelltdorgcomwebsocschngonetintedugrpgovassnomgacsccoorgnetedugovbizinfo123websiteidorgmilcomasnnetedugovconfidmedorgcomplcschnetedugovaccoorgnetgovpresstmassoirseproxaccosoundcasthoptocraftvp4c66orgnetedugovitsmcdirmyboxbarsyedgestacksynologylogintoopencloudnohostwebhopdiskstationi234tcp4hoocgroknoipprivmydsddnsdnsforlohmustransipdscloudfilegear-sgbrasiliafilegearframerbarsybarsyonlinecoprdorgmilcomnomedugovinforgcomnetedugovnameacprorgcomartnetedugovpresseinfoassoinstgouvorgnycedugovbarsydscloudjuorgcomnetedugovminisiteaccoororgcomnetgovorgmilcompronetintedugovbizmuseumnameinfoaerocoopaccoorgcomnetintedugovbizcooporgcomgobneteduorgmilcomnetedugovbiznameaccoorgmilneteduadvgovcoorgcomnetaltgovforgotherhiskeeneticispmanagernomassoprod5476132eastasiacentraluswesteuropewestus2eastus2pnortheurope-01newzealandnorth-01southindia-01southcentralus2-01norwaywest-01eastus2-01westus2-01australiaeast-01italynorth-01israelnorthwest-01swedencentral-01westeurope-01centraluseuap-01taiwannorthwest-01uaecentral-01northcentralusstage-01israelcentral-01mexicocentral-01canadacentral-01austriaeast-01germanywestcentral-01francecentral-01ukwest-01denmarkeast-01polandcentral-01eastus-01westus-01swedensouth-01eastus3-01westus3-01brazilsouth-01centralus-01francesouth-01australiacentral-01westindia-01uaenorth-01jioindiacentral-01canadaeast-01belgiumcentral-01spaincentral-01koreacentral-01chilecentral-01qatarcentral-01westcentralus-01eastus2euap-01norwayeast-01southafricanorth-01brazilsoutheast-01germanynorth-01switzerlandnorth-01switzerlandwest-01japanwest-01southafricawest-01japaneast-01eastasia-01indiasouthcentral-01taiwannorth-01centralindia-01uksouth-01southcentralus-01northcentralus-01eastasiastage-01indonesiacentral-01australiacentral2-01australiasoutheast-01malaysiawest-01koreasouth-01southeastasia-01southeastus5-01northeastus5-01jioindiawest-01rucdnwest1-usfra1-desandboxjls-sto1jls-sto3jls-sto2aglobalabglobalsslmapprodfreetlsmapvpslon-1lon-2ny-1fr-1sg-1ny-2paassnwebpaashostingjelasticnordeste-idcsocuserpagescwebfileblobservicebuscoreatlricnjsjelasticwebsitestoragesezagbinruhuukjptsmyspreadshopmynetnameakamaiorigin-stagingfrom-coipv64dynv6cdn77serveblogadobeaemcloudhicamsprytdnsupno-ipownipde5ovhicpfirewall-gatewaysytesmypsxbarsyusgovcloudapimyamazemyradwebakamaihdsaveincloudfastlylbfrom-lasubsc-paysquare7in-the-bandblackbaudcdnhomelinuxoninfernoctfcloudservebbsdns-dynamiccloudfrontakamai-stagingipifonyham-radio-opsenseeringclickrisingcommunity-profrom-nylocalcertgrafana-devedgesuite-stagingcloudflareanycasteating-organicatlassian-devmydattofeste-iplocaltotorprojectknx-serveredgekeycloudflareglobalcloudyclustercasacamserveftpakamaized-stagingakamaiorigindns-cloudmyeffectboomlabotdashbuyshousestwmailhetemlazure-mobilein-dslthruhereredirectmedynuddnsbouncemesupabaseluyanicloudappakamaicloudfunctionsdebiannhlfanpgafanstatic-accessin-vpnmysynologymafeloappudohomeftptrafficmanagersiteleafseidatmemsetcloudflarecloudaccesskeyword-onazure-apiis-a-chefdoes-itgets-itwebhopselfiphomeipkicks-assedgesuitewindowsserver-ontunnelmolemydissentscrapper-sitecloudflarecnuni5srcfggffiobbzabchrsndenodynuopikddnsvpndnsakadnselastxkinghostvps-hostfastlyhomeunixazureedgeshopselectdontexistmyfritzcloudjiffyalwaysdatasells-itsquaresbroke-itazurefddattolocalat-band-campmeinforumfamilydsazurestaticappsdefinimabplaceddnsaliasdynaliasnow-dnsblogdnsroutingthecloudendofinternetdsmynasakamaiedgemymediapcadobeio-staticakamaiedge-stagingakamaihd-stagingddns-ipprivatizehealthinsurancelive-onkrellianschokokeksmassivegridmysecuritycamerarackmazeserveminecraftfrom-azis-a-geekakamaizedmoonscaleoffice-on-theusgovtrafficmanageradobeioruntimeedgekey-stagingreserve-onlinechannelsdvrdnsdojousgovcloudappcdn77-sslapps-1and1podzoneazurewebsitesdynathomescaleforceyandexcloudvusercontentisa-geekcdn-edgescoaemalcesappwriteazimuthtlonarvobuiltwithrocketnoticeablestorecomwebrecnetperotherfirminfoartslgdloncogoiltdorgmilcolcomplcschgenngonetedugovbiznamefirmmobiacincoorgmilcomnomwebgobnetintedubizinfocomyspreadshopdemongovtransurl123websitehosting-clusterkhplaycistrongsnesosvalerv\xE5lerxn--vler-qoaossandeheroysandeher\xF8yb\xF8boheroyher\xF8yxn--hery-iraxn--b-5gavalerb\xF8boxn--b-5gasandesandexn--hery-iraxn--vler-qoav\xE5lerh\xE5re\xE5laahavaofsfvfhlolnlalrlhmfmtmahcostntbu\xE5strmreigersundmyspreadshopg\xE1ls\xE1eidsvolltingvollgildeskalflor\xF8vads\xF8vard\xF8vanylvenxn--bhccavuotna-k7astrandaxn--kvnangen-k0axn--sknland-fxaxn--mosjen-eyarakkestadhyllestadnannestadvevelstadvaapstenordre-landsondre-lands\xF8ndre-landtjieltexn--vrggt-xqads\xF8r-aurdalsor-aurdalheradstordmoldefordef\xF8rdeseljefedjeryggehemnexn--krehamn-dxasognegranes\xF8gnebrynetjomevallebykletokkegiskedovretj\xF8mehob\xF8lvoldasaudatolgas\xF8mnaviknad\xF8nnasomnadonnatranafrananesnaraumasmolatr\xE6nafr\xE6nalesjasm\xF8la\xF8rstaorstahitrafloraaukraloppafr\xF8yarissasnasahalsagalsaromsaraisar\xE1isafroyasn\xE5sagronghobolfjelltydal\xE5rdalardalaskimharamkraanghkekr\xE5anghkesorumbarumhurumb\xE6rums\xF8rummodums\xE1l\xE1tb\xE1l\xE1tfrognbjugnv\xE5ganvagangulenskienl\xF8tenlotenstrynvefsnxn--merker-kuaskaunsveiob\xF8mlobomloskj\xE5kvardoflorovadsosalatbalats\xE1latkl\xE6buklabuselbubarduulvikskjakkleppris\xF8rxn--nttery-byaefl\xE5eidflahofmilgolholsellomskifetvikdepvgsfhsaskerrisorhamarasnes\xE5snesr\xF8rosrorosxn--slat-5namasoynaroyvaroyluroydyroyaskoyradoyandoyrodoymeloyrad\xF8yand\xF8yr\xF8d\xF8ymel\xF8yask\xF8ylur\xF8ydyr\xF8ym\xE5s\xF8yv\xE6r\xF8yn\xE6r\xF8yhoylandeth\xF8ylandetdivtasvuodnal\xF8renskoglorenskognesoddtangenxn--tjme-hraxn--smla-hraxn--stjrdal-s1aunjargalillehammerunj\xE1rgaxn--hamary-fyadavvenjargaxn--bearalvhki-y4a123hjemmesidegjerdrumxn--brnnysund-m8acxn--tnsberg-q1axn--mlatvuopmi-s4axn--snsa-roaxn--skierv-utaxn--brum-voatysfjordkvafjordeidfjordkv\xE6fjordsongdalenmjondalenmj\xF8ndalenxn--gls-elackragerog\xE1\u014Bgaviikagangaviikas\xF8rreisasorreisas\xF8r-varangersor-varangerxn--risr-iraskiervaxn--frna-woaxn--trna-woakvinesdalleksvikleirvikr\xF8yrvikroyrviksvelvikvenneslaevje-og-hornnessandnessj\xF8enmarnardalvindafjordsandefjordenebakksnillfjordullensvangxn--trany-yuabr\xF8nn\xF8ysundnamsskoganaustevollxn--stjrdalshalsen-sqbnord-aurdalnord-frontr\xF8gstadtrogstadgrimstadflakstadgjerstadxn--sandy-yuaxn--leagaviika-52bnore-og-uvdalvegarsheixn--rlingen-mxaxn--ggaviika-8ya47hveg\xE5rsheikarlsoykvitsoymasfjordenhamaroyinderoyosteroydavvenj\xE1rgasauheradguovdageaidnuxn--vre-eiker-k8abronnoysiellakkr\xF8dsheradkrodsheradkvinnheradbr\xF8nn\xF8yxn--mtta-vrjjat-k7afxn--lrenskog-54akvits\xF8yv\xE1rgg\xE1tkarls\xF8yoster\xF8yinder\xF8yhamar\xF8ybronnoysundxn--aurskog-hland-jnbbahccavuotnab\xE1hccavuotnagiehtavuoatnastor-elvdalmidtre-gauldalxn--gildeskl-g0akarasjokevenassixn--bievt-0qaxn--yer-znalebesbynessebyxn--hbmer-xqamalselvm\xE5lselvxn--unjrga-rtam\xF8re-og-romsdalmore-og-romsdalhareidmeland\xF8rlandorlandstrand\xE5lg\xE5rdsolundalgardafjord\xE5fjorddielddanuorrikautokeinoxn--stre-toten-zcbskodjeaejriestangeliernebamblestokkefauskesn\xE5asesnaasekongsvingerlangevagberlevagxn--flor-jrahattfjelldalostre-toten\xF8stre-totenvestfoldxn--mely-ira\xE1laheadjualaheadjunordreisaxn--troms-zuaxn--lgrd-poacporsangerflatangerstavangerleikangerbremangersamnangergieldakarasjohkaxn--rdy-0nabfrostautsirasnoasatromsaxn--sr-aurdal-l8aflekkefjordj\xF8lsterjolsteraremarkhedmarkn\xE5\xE5mesjevuemienaamesjevuemiexn--vard-jrarollagmer\xE5kermerakerorskog\xF8rskogxn--bdddj-mrabd\xE1k\u014Boluoktaxn--osyro-wuaaknoluoktatrysilskjerv\xF8ymandaljondalbindalrindalmeldalsuldalorkdalsigdalalvdall\xE6rdalhurdalsirdalverdallerdallardaloppdal\xE5seralaseralhadselkrager\xF8divttasvuotnaoverhallasteinkjerxn--hnefoss-q1askedsmokorsettroms\xF8xn--dyry-iravestre-totenmuseumxn--sandnessjen-ogbrahkkeravjufylkesbiblb\xE1jddarbajddarxn--laheadju-7yarennes\xF8yxn--koluokta-7ya57hxn--hgebostad-g3aleirfjordstorfjordbalsfjordb\xE5tsfjordbatsfjordmuos\xE1tbiev\xE1tloab\xE1tk\xE1r\xE1\u0161johkan\xF8tter\xF8yxn--mjndalen-64anordkappl\xE1hppilahppialstahaugsiljanverranr\xF8ykenroykenhaldenlyngenbergenhortenh\xF8nefosshonefosstroandinbeiarnvarggatosoyroos\xF8yrotromsoidrettmuosatbievatruovatloabatvoagattynsetnessetxn--indery-fyask\xE1nitskanitraholtr\xE5holtxn--ystre-slidre-ujbandebusarpsborgbearduxn--karlsy-fyahordalandjorpelandj\xF8rpelanddeatnuringsakers\xF8r-odalsor-odalxn--slt-elabringerikeaudnedalnittedalnissedalhemsedalslattumsurnadalxn--blt-elabelverumstj\xF8rdalnaustdalhjartdalgj\xF8vikfyresdalhasviknarviklarvikgjovikmalvikgamviklenvikporsgrunnstjordalengerdaldrobakdr\xF8bakxn--msy-ula0hvestvagoyxn--vgan-qoaxn--ryken-vuaxn--lten-graxn--stfold-9xaxn--hpmir-xqaxn--lury-iram\xE1latvuopmimalatvuopmitysv\xE6rkirkenesbirkenesmoskenesb\xE1id\xE1rxn--fjord-lraxn--rdal-poabahcavuotnab\xE1hcavuotnaxn--frde-gralind\xE5sbearalvahkixn--hobl-irar\xE1hkker\xE1vjuxn--loabt-0qav\xE5g\xE5\xE1lt\xE1bod\xF8sundlundrader\xE5deetnetimeholeauregrueoddavagavegaranatanaarnasolasulaaltalekafusavangbergkvam\xE5mliamlibokntinnroangranosenoslobodor\xF8stroststat\xE5motamotivgupriv\xF8yeroyerliermossvossxn--nvuotna-hwalusterlunnermarkerh\xE1bmerhabmerhvalerfjalerxn--rholt-mratysvarbaidarfitjargaularh\xE1pmirhapmirmelhusfosnes\xF8ksnesoksnestysneshemnesevenesflesbergeidsbergtonsbergt\xF8nsberglindasxn--sndre-land-0cbnamsosxn--srum-gra\xF8ystre-slidreoystre-slidrevestre-slidretrondheimbalestrandxn--langevg-jxaaustrheimxn--skjk-soavagsoyaveroysandoykarmoyfinnoytranoyvestbytranbysykkylvenxn--hyanger-q1aspjelkavikandasuoloxn--fl-ziaxn--drbak-wuastathellexn--sr-varanger-ggbtelemarkxn--bhcavuotna-s4axn--porsgu-sta26f\u010D\xE1hcesuolocahcesuoloakrehamn\xE5krehamnsand\xF8ykarm\xF8yfinn\xF8ytran\xF8yv\xE5gs\xF8yaver\xF8ynamdalseidxn--lesund-huabadaddjaxn--vegrshei-c0axn--btsfjord-9zagildesk\xE5lporsanguxn--trgstad-r1an\xE1vuotnanavuotnahammerfestxn--sgne-graxn--brnny-wuacibestadharstadnarviikaeven\xE1\u0161\u0161ivestnesgjemnessandnesagdenesrennesoyxn--avery-yuaxn--tysvr-vrabearalv\xE1hkikongsbergspydebergrandabergxn--andy-iradavvesiidaxn--krdsherad-m8apors\xE1\u014Bgufredrikstadbjerkreimringeburennebuaurskog-holandnotteroyxn--vgsy-qoa0jxn--rmskog-byaskierv\xE1ivelandbyglandfrolandaurlandforsandxn--bjddar-ptamidsund\xE5lesundalesundfetsundfarsundovre-eiker\xF8vre-eikerakershusxn--moreke-juas\xF8rfold\xF8stfoldostfoldsorfoldh\xF8yangerhoyangerlevangerorkangertanangerxn--vestvgy-ixa6olillesandulsteinxn--rennesy-v1agranvinskjervoyxn--klbu-woalavagisxn--h-2faxn--ryrvik-byakafjordk\xE5fjordseljordfolkebiblxn--gjvik-wuajevnakerxn--kfjord-iuabudejjuxn--kranghke-b0axn--davvenjrga-y4axn--rland-uuaxn--ldingen-q1axn--mlselv-iuaxn--rady-iraxn--linds-prabrumunddalxn--ygarden-p1amo-i-ranaeidskogr\xF8mskogromskoghjelmelandxn--finny-yuaxn--sr-odal-q1axn--skjervy-v1aballangenkvanangenkv\xE6nangengratangenxn--hmmrfeasta-s4acvossevangensuohkanxn--rde-ulaxn--mli-tlaxn--ksnes-uuanordlandskanlandsk\xE5nlandsortlandfuoiskuxn--rros-graxn--hcesuolo-7ya35bxn--eveni-0qa01gagaivuotnag\xE1ivuotnaxn--seral-lradrammenmodalenmosjoenjan-mayentorskensteigengloppenxn--snes-poamatta-varjjatxn--sr-fron-q1aomasvuotnajessheimb\xE5d\xE5ddj\xE5xn--krager-gyaxn--kvfjord-nxaxn--asky-iraxn--snase-nraxn--bidr-5nacholt\xE5lenxn--vads-jraxn--jlster-byamosj\xF8enxn--rst-0nastavernxn--ostery-fyaxn--oppegrd-ixaxn--sknit-yqaxn--risa-5naoppeg\xE5rdskiptvetrendalenholtalenxn--mot-tlaxn--lhppi-xqaxn--holtlen-hxaxn--srreisa-q1akopervikxn--muost-0qaxn--bmlo-grahokksundkvalsundegersundxn--karmy-yuaullensakerxn--hylandet-54axn--kvitsy-fyaxn--bod-2nalangev\xE5gberlev\xE5gkristiansandxn--rsta-frahornindalstj\xF8rdalshalsenstjordalshalsensandnessjoenh\xE1mm\xE1rfeastaxn--lrdal-sras\xF8r-fronsor-fronnord-odalkristiansundm\xE1tta-v\xE1rjjatvestv\xE5g\xF8ynesoddennotoddenbuskerud\xF8ygardenoygardensalangenlavangenralingenr\xE6lingenlodingenl\xF8dingenlea\u014Bgaviikalaakesvuemieleangaviikauenorgexn--srfold-byaaskvollxn--rskog-uuaxn--nry-yla5gxn--vry-yla5ghammarfeastaxn--rhkkervju-01afxn--givuotna-8yakommunekrokstadelvanedre-eikerhagebostadh\xE6gebostadxn--berlevg-jxakviteseidxn--s-1faxn--l-1faxn--nmesjevuemie-tcbafuosskomo\xE5rekemoarekexn--lt-liacxn--jrpeland-54asvalbardoppegardholmestrandtvedestrandsogndalsokndalarendalsunndalfolldalxn--krjohka-hwab49jlyngdaletnedalnorddalsaltdalgausdalskedsmovaksdalgjesdalstordalxn--frya-hraaarbortedrangedalxn--smna-graaurskog-h\xF8landxn--vg-yiabtjeldsundhaugesundlindesnesxn--mre-og-romsdal-qqbxn--dnna-gradyntmpheremerseineshacknetenterprisecloudmineaccomaorim\u0101oriorgmilcriiwigennetschoolhealthkiwigovtgeekxn--mori-qsacloudnsparliamentcomedorgcompronetedugovmuseumwebsitekinservicebarsywebsitebuildereerobookheimdnsleapcelleero-stagetechcrscsslorigingohomecdbedeeeiemesecabgngilnlalplchfisiincnnoroptatitmtltruauhulumkdkukskjplvtrgrfrkrhrusesismycynzcznetinteduassoososcloudstgbetaaezaeuhkusjshatenadiarycdn77hoptozaptois-a-knightmyftpno-ipjpnddnssdpdnsspdnsbarsysweetpepperis-a-bruinsfanis-very-sweetservegameis-a-soxfanhomelinuxcdn77-secureservebbsmisconfusedwebredirectblogsitefreedesktopcouchpotatofriestoolforgeaccesscamis-lostreadmyblogsmall-webfedorapeopleserveftpis-a-celticsfanmywirepotagertwmailin-dslsellsyourhomeread-booksfreeddnscable-modemis-savednflfanufcfanmlbfanstuff-4-saleendoftheinternetin-vpnmy-firewallhomeftpis-localis-a-chefboldlygoingnowherewebhopselfipkicks-assroxatunkcamdvrfedoraprojectgotdnsdvrdnsdyndnspubtlspimientahomeunixdontexistfedorainfracloudwmflabsfspagesbmoattachmentsteckidsfamilydsdnsaliasdynaliasnow-dnscloudnsdoomdnsduckdnsblogdnshomednsroutingthecloudendofinternetdsmynasip-dynamicpoivronhttpbinmyfirewallis-very-evilmysecuritycamerais-a-linux-userwmcloudis-a-geektuxfamilyis-a-candidatedoesntexistis-very-badhobby-sitegame-hostaltervistais-foundis-a-patsfandnsdojohepforgepodzonedynservcollegefanis-very-goodfrom-meis-very-niceisa-geeknerdpolacmedsldingorgcomnomgobabonetedupleskaemhlxmyboxrockyprvcydeuxfleurspdnscodebergheyflowstatichostorgmilcomnomgobneteduorgcomeduiorgmilcomngonetedugovcloudns1337ngrokacorggogfamcomwebgobnetedugokgopgkpgovgosbizpasaugumicsopozpapuwmwsrprusiskwpspkppspkmpspokeoiawsawifoumsdnskokwpmuppuppsppiwwiwoowuzswkzoschrzpisdnwzmiuwwitdpssewsseumigugimoirmpinbwinbwiihupporzgwgriwupowwskrwioswuozstarostwokonsulattmpccopruszkowmyspreadshopostrodakartuzyopolegminamediaustkazgorajgoraolawailawalomzawloclradombytomjaworznotargilubinkoninzagantorunkutnokepnonakloczestsopotsanokturekplockslasksklepzarowlukowmedaidgdaorgmilrelcomnomatmgsmartneteduelkgovwawsossexbiztgorysejnytychypomorzeboleslawiechomesklepsdscloudunicloudzakopanelegnicarawa-mazbydgoszczswidnikkrasnikwloclawekbielawamragowograjeworealestatebeskidykaszubymalopolskaprzeworskswiebodzinlecznadfirmaszkolawarmiagdyniamiastakazimierz-dolnymalborkswidnicadlugolekaostrolekapodlasieelblagtravelsimplesitezachpomormielecszczecinnieruchomosciwalbrzychlezajsklublinbedzinpoznanwielunmielnooleckostarachowicedkontopowiatwroclawrybniksuwalkileborkslupskgdanskostrowwlkptarnobrzegtourismwegrowkrakowglogowyou2pilanysamailwrocinfoagroautobeepshopprivlapypiszlodzcfolksecommerce-shopmazurypulawyskoczowrzeszowpomorskiezgierzkaliszolkuszlowiczostrowiecsosnowiecmazowszewodzislawbialowiezazgorzeleckatowicepabianicejelenia-gorawolominkarpaczsieradznowarudaczeladzkonskowolaskierniewiceswinoujscieturystykabieszczadycieszynketrzynolsztynbialystokbabia-goraprochowicewarszawastalowa-wolapolkowicegorlicegliwiceponiatowalimanowalubartowaugustowkobierzyceopocznognieznoszczytnokolobrzegshoparenapodhalebielskoklodzkostargardatwithplayitownnamecoorgnetedugovacorgcomproestnetedugovbiznameislaprofinforechtngrokmedaaaacacpaenglawjurbarbarsykeeneticavocatacctcloudnsorgcomsecplonetedugov123paginaweborgcomnetintedugovnomepublidkinbarsygovx443cloudnsorgmilcomnetedugovcooporgmilcomschnetedugovnamecomcannetlibassoaemclantmcontstoreorgcomnomrecwwwbarsyfirminfoshopartsstackitmyddnswebspacelima-cityacincooxorgedugovbarsybrendlyhbvpsvpsspectrumlandinghostingacppmordoviamcprecbgorgmilcomspbnetintedumsknovgovbirrasmcdirmytismircloudvladimirnalchikadygeyamarinepyatigorskmyjinobashkiriaeurodirvladikavkazna4ugroznykustanaikalmykiacldmaildagestaniranbuildcloudcanvaliaravalwixdevelopmentappwritemigrationneedleverceldatabasestackitcodereplravendbonporterlovableaccoorgmilnetgovcoopmedorgcompubschnetedugovservicemecomygovorggovtvmedorgcomnetedugovinfoedgfacbmlonihkutwpsryxzbdtmacfhppmyspreadshopbrandpartiorgcomfhvpress123minsidaitcouldbeworlanbibkommunalforbundfhskiopsyskomvuxkomforbnaturbruksgymnloginlineorgcomnetedugovenscaledeuusentbotdaorgmilcomnetgovnowteleporthashbangplatformlovablebarsyshopwarebasehoplixbarsyonlinemsf5gitappgitpagewawamscofigma-govcaffeinefigmacanvasoltstscwputerbarsysupportchatgptsquareomniweopensocialcpanelplaycodenotionnovecorewpsquaredpreviewjelecyonbyensrhtfastvpspieboxconvexjouwwebheyflowplatformshloginlinemadethissourcecraftclouderaorgorgcomartedugouvunivmeorgcomnetedugovsurveysstatichfheiyuxs4allprojectmyfastubervibehostapp-ionosdeployagentmecoorgcomschnetedugovbizcncostoreorgmilcomneteduembaixadaconsuladokiraranohoprincipesaotomeheliohobarsystorebaseshopwaresellfyaiabkhaziavologdamordoviapenzalenugsochinavoiexnetspbmsknovnorth-kazakhstanashgabadkareliaarmeniageorgiavladimirnalchikivanovobukharaadygeyakhakassiakalugakrasnodarjambylaktyubinsktroitskbryanskobninskkurganazerbaijanpokrovskbashkiriatselinogradvladikavkazmurmansktulatuvamangyshlaktashkentchimkentgroznykaragandatermezarkhangelskkustanaikalmykiabalashoveast-kazakhstankaracoldagestantogliattibarsyredorgcomgobedumirenknightpointaccoorgjelasticdiscoursecleverappsschacmiincogoornetonlineshopcogoorgmilcomwebnicnetintedugovbiznametestcoorgmilcomnomnetedugovorangecloudpersoindorgcomfinnatnetgovensmincomtourismintlinfox0611oyaorgmilcomnetedugovquickconnectvpnplusnettprequalifymeaddrmyaddrntdllwadlnctvavdrk12orgmilpolbeltelcomwebgennetedutskkepgovbbsbiznameinfocoorgmilcompronetedugovbiznameinfobetter-thanworse-thansakurafromdyndnson-the-webmymailerorgmilurlcomneteduidvgovmydnsgameclubebizmeneacsccogotvorhotelmilmobiinfovodteiflgplkmsmsbcckhincndnvncoztltmkckppzpdprvcvkvlvcrkrkscxuzchernovtsyrivneyaltaodesavolynrovnolutskltdinforgcomnetedugovbizvinnicazhitomirternopilpoltavakropyvnytskyizaporizhzhiasevastopolsebastopoluzhgoroduzhhorodkharkovkharkivvinnytsiakhmelnytskyizaporizhzhecrimeaodessazhytomyrnikolaevcherkassydonetskluganskluhanskkirovogradivano-frankivskchernivtsikrymkievkyivlvivsumyzakarpattiamykolaivcherkasychernigovkhersonchernihivdnipropetrovskdnepropetrovskkhmelnitskiyneacsccogoorusorgmilcomedugovmyspreadshopadimono-ipbarsybarsyonlinelayershiftnh-servretrosnubapicampaignservicelugaffinitylotteryweeklylotteryraffleentrygluglugsmeaccoindependent-inquestnimsitecopropymntltdorgplcschnetgovnhsbarsyindependent-commissionindependent-reviewpolicepublic-inquiryindependent-panelconnhospindependent-inquiryroyal-commissionoraclegovcloudappscck12libccphxcclibpvtparochchtrcck12libcceatonk12coglibtecgendstmusann-arborwashtenawcck12glghcck12sealibforksolympiabainbridge-islkeyporthoquiamyarrow-pointcentraliaport-townsendsequimport-ludlowrentonsilverdalebremertonredmondsheltonbellevueport-orchardport-angeleskingstonchehalisaberdeengig-harborseattlepoulsboidmdndsddemenegacalamaiavawapailalflnmdcncscohnhmihiviwiriinmntnmocoutvtctmtgunjokakwvnvprarorasmskstxwynykyazisadninsnngosrvis-bymircloudservernamepointtoenscaledland-4-salefreeddnsstuff-4-saleazure-apinoipcloudnsgolffanheliohostazurewebsitesgvorgmilcomgubneteducoorgcomnetd0egvorgmilcomnetedugovmydnsiacostoree12orgmilcomnomwebgobbibrectecnetintedugovraremprendefirminfoartseducok12orgcomnethidnsidacaiiosonlahanamhanoicamauhueorgcompronetintedugovbizbacninhtayninhhoabinhnamdinhtravinhhaiphongvinhlonghaiduongquangnamquangtrithuathienhuequangninhbacgianghaugiangquangbinhsoctrangbentrethanhphohochiminhdanangkontumhatinhkhanhhoathanhhoahealthgialailaocaiyenbaibackanngheanlonganphuyenphuthocanthodaklakdongnainameinfovinhphucdongthapkiengiangtiengiangquangngailaichaulangsonlamdongdaknonghagiangangiangcaobangbinhduongninhthuanbinhthuanbaclieuthaibinhninhbinhbinhdinhtuyenquanghungyenbaria-vungtauthainguyendienbienbinhphuocschbizputerimagine-proxyorgcomnetedugovcloud66advisormypetsdyndnsxn--8dbq2axn--4dbgdty6cxn--5dbhl8dxn--hebda8bxn--80auxn--d1atxn--c1avgxn--o1acxn--o1achxn--90azhxn--55qx5dxn--uc0atvxn--od0algxn--wcvs22dxn--gmqw5axn--mxtq1mxn--12c1fe0brxn--h3cuzk1dixn--12co0c3b4evaxn--12cfi8ixb8lxn--o3cyx2axn--m3ch0j3axn--j1adpxn--90amcxn--90a1afxn--h1ahnxn--j1ael8bxn--h1alizxn--c1avgxn--j1aefxn--80aaa0cvacxn--41acaffeineexeopentunnelbotdashtelebitorgtmaccoagricorgmilnomwebnicngonetaltedugovlawnisschoolgrondaraccoorgmilcomschnetedugovbizinfoprg1-zeropstritonstackitlimazeropsaccoorgmilgov\u044F\u0441\u043F\u0431\u043E\u0440\u0433\u043A\u043E\u043C\u043C\u0441\u043A\u0431\u0438\u0437\u043C\u0438\u0440\u0441\u0430\u043C\u0430\u0440\u0430\u043A\u0440\u044B\u043C\u0441\u043E\u0447\u0438\u0430\u043A\u043E\u0434\u043F\u0440\u043E\u0440\u0433\u043E\u0431\u0440\u0443\u043F\u0440\u05E6\u05D4\u05DC\u05DE\u05DE\u05E9\u05DC\u05D9\u05E9\u05D5\u05D1\u05D0\u05E7\u05D3\u05DE\u05D9\u05D4\u0E2D\u0E07\u0E04\u0E4C\u0E01\u0E23\u0E18\u0E38\u0E23\u0E01\u0E34\u0E08\u0E23\u0E31\u0E10\u0E1A\u0E32\u0E25\u0E28\u0E36\u0E01\u0E29\u0E32\u0E17\u0E2B\u0E32\u0E23\u0E40\u0E19\u0E47\u0E15\u6559\u80B2\u7DB2\u7D61\u7D44\u7E54\u516C\u53F8\u653F\u5E9C\u500B\u4EBA\uB2F7\uB137\uD55C\uAD6D\u6FB3\u95E8\u65B0\u95FB\u6FB3\u9580\u8054\u901A\u5BB6\u96FB\u5609\u91CC\u62DB\u8058\u901A\u8CA9\uB2F7\uCEF4\uC0BC\uC131\u30B3\u30E0\u10D2\u10D4\u0431\u0433\u0440\u0444\u0435\u044Eadcdbdgdidmdsdtdaebedeeegeiejekemenepereseveyegabacalamanauavapaqasazacfbfafgfnfpfwftfbgcgagggegkgngmgsgpgvgtgugilmlnlalclglplsltlhmimjmkmmmomambmcmdmfmgmzmpmsmtmgbbblbsbecccacnclcmcvctcscmhkhghchbhthphshlinikifigiaibicivisikninhnmncnbngnsnpnvntnjoionomobocoaofodorosotoptstttytatbtetgtithtmtltrusuvuaucueuguhulumunufjdjbjtjsjlkmkhkfkdkcktkukskpkgpmpnpkpjpgqaqmqiqsvtvcvbvmvlvrwpwtwzwbwcwawgwkwmwtrsrprgrfrercrbrarnrmrlrkrirhrwsusrssspsgsesbsaslsmsissxmxaxcxuypysylymykygybycyuztzsznzmzkzdzczbzaz\u03B5\u03BB\u03B5\u03C5\u4E16\u754C\u53F0\u7063\u8D2D\u7269\u516C\u76CA\u70B9\u770B\u81FA\u7063\u7F51\u7EDC\u66F8\u7C4D\u5728\u7EBF\u7F51\u7AD9\u624B\u673A\u673A\u6784\u5927\u62FF\u6E38\u620F\u4FE1\u606F\u53F0\u6E7E\u8C37\u6B4C\u6148\u5584\u5546\u6807\u9999\u6E2F\u4E2D\u56FD\u9910\u5385\u7F51\u5740\u4E2D\u570B\u5546\u57CE\u98DF\u54C1\u5FAE\u535A\u653F\u52A1\u79FB\u52A8\u96C6\u56E2\u516C\u53F8\u516B\u5366\u5546\u5E97\u5065\u5EB7\u7F51\u5E97\u653F\u5E9C\u65F6\u5C1A\u4F5B\u5C71\u4E2D\u4FE1\u5A31\u4E50\u5E7F\u4E1C\u4F01\u4E1Ahomedepotengineering\u0627\u0645\u0627\u0631\u0627\u062Arepublicankuokgroupversicherungchannelcitadelxn--pgbs0dhxn--b4w605ferdstatebankwebsitexn--mgb9awbf\u4E9A\u9A6C\u900A\u6DE1\u9A6C\u9521alibabaxn--ngbc5azdxn--mgbbh1axn--45br5cyltoshibabuildworldcloudtradeguideplacespacedancemoviephoneprimesmilebiblestyleappleazurestoreskypegripexn--l1accdrivelottehorsehouseleasechasereisestadahondaomegaaetnaamicaninjanokiamediadeltavodkaedekaosakapizzaslingemailgmailtirolshelltmallfinallegaltotalhotelamfamforumrehabmusicciticricohcoachwatchboschearthfaithirishmiamiarchidubaiguccipraxi\u307F\u3093\u306A\u30B9\u30C8\u30A2\u30BB\u30FC\u30EBcanonsalononionnikonepsonkoelngreensevencrownikanoradioaudioweiboglobopromogalloyahoociscorodeovideomangobingotokyovolvolottokyotophotosmartsportquesttrusthyattjetztadultcymrubaidutushuxn--kprw13dubankclickblackmerckgroupsharpcheapnowtvxn--h2brj9c\u05E7\u05D5\u05DD\u0570\u0561\u0575\u043E\u0440\u0433\u0441\u0440\u0431\u043C\u043E\u043D\u043A\u043E\u043C\u0431\u0435\u043B\u043C\u043A\u0434\u049B\u0430\u0437\u0440\u0443\u0441\u0443\u043A\u0440\u0645\u0635\u0631\u0642\u0637\u0631\u0639\u0631\u0628\u0643\u0648\u0645dadcfdmedwedredphdthdbidpidkrdmsdltdiceonewmeglemoerwecfageacbanbambaaaammakianraspacpaaxawtfbcgaegongingaigvigorgdogdhlmilrilonlaolloluoljllcalgalnflafltelsrlfrllplkimibmcamcombommomifmabbjcbscbwebcabnabtabmlbpubabcbbcnecincpncllcstcwtcpwcnyckfhbzhovhmoiskiobisbitcifyituipinvinwinxincbnbcnmanfangdnmenrenkpnmtnyunrunfununobiojioriohbogmofooboooooacoecoceongoproartistottnttbbtcateatlatvetpetbetnethktmitfitintjothotgotdotbotprueduicujnjyouinknhktdkappsapgapmapdnptopgopllpjmpzipvipripesqtrvdtvitvdevmovgovhivnrwlawsewnewbmwwownowhowdvrftrmtrsfrbarcartvscrseusawsupsubssbsadsddsldssasbmsmlsxxxboxfoxgmxtjxsextaxbuyflydiysoyjoyskypaydaygayxyzanzbizwebersenerpokerlameractortatarsolar\u0EA5\u0EB2\u0EA7\u0E04\u0E2D\u0E21\u0E44\u0E17\u0E22tourslocusnexuslexusgiftsbeatsboatspartspressglassswiss\u0915\u0949\u092E\u0928\u0947\u091Ftiresgivescodeshomesgamestunesshoescardswalesloansvegastoolsdealsautosparis\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3workssucksrocksxeroxforexfedexpartylillymoneystudyrugbytoraytoday\u4E2D\u6587\u7F51xn--unup4y\u5929\u4E3B\u6559\u98DE\u5229\u6D66\u65B0\u52A0\u5761enterprises\u6211\u7231\u4F60\u5609\u91CC\u5927\u9152\u5E97christmasxn--fct429kholdingsxn--8y0a063axn--mgbx4cd0ablifestyleabogadoallstatenetbank\u0643\u0627\u062B\u0648\u0644\u064A\u0643xn--s9brj9cxn--gk3at1ebestbuycharityxn--55qx5dmicrosoftpropertybasketballhomegoodscorsicajewelrygallerygrocerysurgerycountrybrusselsverisignferreroxn--czr694bhdfcbankcommbanksoftbank\u067E\u0627\u0643\u0633\u062A\u0627\u0646\u067E\u0627\u06A9\u0633\u062A\u0627\u0646nextdirect\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647\u0627\u0644\u0639\u0644\u064A\u0627\u0646xn--h2brj9c8cxn--80adxhksshikshaxn--mgbai9azgqp6jcuisinellabarclayscatholicxn--kpry57dcompanyxn--xhq521bblackfridayxn--mgba3a3ejtsandvikxn--d1acj3bacademydownload\u0645\u0644\u064A\u0633\u064A\u0627xn--j1amhxn--w4r85el8fhu5dnraipirangaathletaxn--fhbeixn--mgbqly7cvafrzuerichxn--c2br7g\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8contractorsxn--io0a7igraphicsinsurancetemasekxn--xkc2al3hye2amotorcyclesphotographydirectoryplumbingxn--vhquvclothingtrainingcleaningwilliamhilllightingxn--mgba3a4f16ashoppingcateringeducationokinawapicturesventuresproductionsxn--9et52uwalmart\u0D2D\u0D3E\u0D30\u0D24\u0D02supportrealestatecapitalonexn--nqv7fs00emaauspostfloristdentistxn--qxamgodaddybradescobargainsmitsubishikerryhotelsxn--9dbq2axn--3pxu8kimmobilienxn--fjq720axn--mgbtx2bholidaymckinseymadridbusinessbuildershelsinkixn--4gbrim\u043C\u043E\u0441\u043A\u0432\u0430\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u0629coffeedegreelacaixapartnersalsaceofficeabbvievoyageorangegeorgeonlinechromemobilekindlegoogleoraclecircleschulesecureinsurexn--mgba7c0bbn0aestatexn--mgbc0a9azcgcruisehangoutxn--vuq861bxn--42c2d9arexrothfirestoneuniversityxn--nnx388alifeinsuranceextraspace\u043E\u043D\u043B\u0430\u0439\u043Dverm\xF6gensberatersoftwarexn--fiqs8sxn--mgbab2bdxn--w4rs40ltienda\u092D\u093E\u0930\u0924\u092E\u094Dafricatoyotaotsukasakuracameracreditcardnagoyaconsultingnetworkjunipertheatermonsterprogressivepioneerxn--55qw42gracingdatingvotingvikinglivinggivingxn--bck1b9a5dre4cbrotherweatherjoburg\u0641\u0644\u0633\u0637\u064A\u0646lplfinancialxn--clchc0ea0b2g2a9gcdfutbolschoolsocialglobaldentalwoodsidechanelairtelmatteltravelrealtorwebcamstream\u0C2D\u0C3E\u0C30\u0C24\u0C4Dunicomalstomxn--nodexn--6frz82gmuseumfurniturexn--rvc1e0am3exn--mix891faccenturexn--11b4c3dismailineustardiscountquebeccomsecclinicservicesxn--y9a3aqxn--c1avgswatchchurchsearch\u0627\u0644\u0627\u0631\u062F\u0646marketingcontacthealthmonashshoujisanofitaipeiamericanexpresssuzuki\u30A2\u30DE\u30BE\u30F3\u30AF\u30E9\u30A6\u30C9\u30DD\u30A4\u30F3\u30C8bharti\u30B0\u30FC\u30B0\u30EBxn--mgberp4a5d4armemorialxn--1qqw23alondonmormoninstitutevisionbostonnortoncouponmaisonamazonvirginberlindesigndurbanolayannissananquanxihuanhitachikaufengardenreisenbayerntechnologydatsunxn--90a3aclatinocasinostudiophysioxn--ngbe9e0apharmacytattootaobaoaramcoexpertreportabbottdirectselectimamatfairwindspictettargetmarketintuittravelersinsurancecreditdupontryukyusuppliesxn--tckwebnpparibasschmidtmerckmsdyodobashirestaurantbridgestonecricketxn--fpcrj9c3dbostikbroadwayattorneylefrakemerckxn--fiq228c5hscareersfarmerswinnersflowersxn--wgbh1cguitarsxn--54b7fta0ccxn--p1acfmakeupgalluplandroverxn--kcrx77d1x4agoldpointbauhausxn--mgbayh7gpahiphopplaystationxn--mgba3a4fraxn--eckvdtc9dhyundaixn--gckr3f0fistanbulticketsmarketsflightschintaireviewsxn--3e0b707ewindowsxn--fiqz9sfinancialxn--fzys8d69uvgm\u0627\u0628\u0648\u0638\u0628\u064Adiscoverreview\u09AC\u09BE\u0982\u09B2\u09BExn--5su34j936bgsgmoscowobserverapartments\u0434\u0435\u0442\u0438\u0627\u0631\u0627\u0645\u0643\u0648\u0441\u0430\u0439\u0442eurovisionxn--i1b6b1a6a2exn--xkc2dl3a5ee0h\u062A\u0648\u0646\u0633\u0645\u0648\u0642\u0639\u0628\u0627\u0631\u062A\u0680\u0627\u0631\u062A\u0634\u0628\u0643\u0629\u0639\u0645\u0627\u0646\u0628\u064A\u062A\u0643\u0639\u0631\u0627\u0642readkredbondlandbandfundfoodprodgoldfordtubecafesafelifeggeeieeefreefagepagegugezonewinememenamegamesaleablebikenikelikecarecbreherefiresaveloveliveblueartedatesitevotecaseluxebofamodaltdaasdatiaayogasinavanashiaasiajavabbvatevavivadatazaraarpacasavisasncfprofmaifsurfgolfdvagsongbingpingwangkpmggoogblogpohlfailcooldellcalldeallidlsarlfilmteamroomfarmimdbarabclubhdfcicbchsbcgmbhrichtechfishdishcashminiernikddiaudiwikimobitaxicitikiwidesiqponskinloanakdnwienopenporncerntownimmolimoolloinfonicofidolegosaxozeroaerovivoautovotomotofastbestresthostpostnextlgbtchatseatgiftmeetdietreitmintrentgentspotscotguruitausohumenucyoubanklinkpinkdclktalksilkbookseekworkrsvpaarpjeepshopcoophelpcamppccwshowbeerstarruhrflirweirhaircarsparsjprshausplusnewstipstoysjobskidsfanspicsdocsxboxamexsexynavycitysonyarmyallybabyplaydeliverybuzzgbizlamborghiniphilips\u0DBD\u0D82\u0D9A\u0DCF\u0CAD\u0CBE\u0CB0\u0CA4fitnessexpresslanxesspfizercenterwalterlawyersoccercareerkosherbrokerlockerdealerdoctorauthorxn--mgbqly7c0a67fbcverm\xF6gensberatungjaguarxn--pssy2uxn--hxt814eflickrrepairrogersairbusxn--mgbai9a5eva00beventsyachtsxn--t60b56a\u09AD\u09BE\u09F0\u09A4\u09AD\u09BE\u09B0\u09A4\u092D\u093E\u0930\u0924\u092D\u093E\u0930\u094B\u0924viajeshermeshughesxn--j1aef\u0938\u0902\u0917\u0920\u0928villas\u0B2D\u0B3E\u0B30\u0B24claimshotels\u0AAD\u0ABE\u0AB0\u0AA4zapposphotosjuegoscondostatamotorsgratistennis\u0A2D\u0A3E\u0A30\u0A24tkmaxxtjmaxxschaeffleryandexxn--80aswgrealtysafetybeautyluxuryxn--3ds443gsupplyfamilyxn--o3cw4hhockeysydneyxn--90aenissayalipayenergycomputeragencyxn--rovu88b\u96FB\u8A0A\u76C8\u79D1xn--gecrj9cstatefarmaccountantaquarelleolayangroup\u9999\u683C\u91CC\u62C9xn--p1ai\u7EC4\u7EC7\u673A\u6784xn--1ck2e1bxn--mgbt3dhdschwarz\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627abudhabinowruzkomatsufujitsuhospitalxn--80asehdbxn--mgbtf8flxn--j6w193gxn--yfro4i67oprudentialxn--flw351ecruisescoursesrecipesxn--e1a4cferrarixn--ses554gxn--wgbl6awatchesstaplessinglesxn--mgbcpq6gpa1axn--otu796dpropertiescreditunionxn--mgbah1a3hjkrdstockholmhisamitsu\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629stcgroupdomainsoriginscouponsbloombergclubmedfroganslimitedxn--80aqecdr1aexposedinternationalequipmentbarclaycardxn--q7ce6axn--mgbi4ecexpprotectionassociatesconstructionxn--cck2b3bxn--45q11candroidfoundation\u05D9\u05E9\u05E8\u05D0\u05DCxn--mgbca7dzdocliniqueboutiqueengineerxn--qxa6asystemsfirmdalefashionauctionxn--nqv7finfinitirentalsreliancetradingweddingfishinghostinggentingbookingcookingxn--3hcrj9cgraingerxn--czrs0tdemocratsamsungyokohamaxn--h2breg3evexn--nyqy26alundbeckmelbournevacationssolutionsfrontierxn--vermgensberatung-pwbmanagementxn--cg4bkixn--mgb2ddeslincolnhamburgsandvikcoromantblockbusterairforcebarefootxn--4dbrk0ceinvestmentsfeedbackcommunityxn--ngbrx\u0627\u0644\u0628\u062D\u0631\u064A\u0646diamondsamsterdamhealthcareredumbrellaxn--mxtq1mxn--2scrj9cagakhanxn--mgbpl2fh\u043A\u0430\u0442\u043E\u043B\u0438\u043Acaravan\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCDrichardlimortgageamericanfamilyxn--fzc2c9e2cscholarshipssaarlandxn--imr513nvlaanderensamsclubgoodyearkitchen\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBEweatherchannelallfinanzxn--kput3i\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u06C3xn--90aisxn--efvy88h\u0627\u0644\u062C\u0632\u0627\u0626\u0631xn--mgbaam7a8hexchangejpmorganxn--tiq49xqyjfidelitysecurityxn--mk1bu44cwanggouxn--fiq64bxn--6qq986b3xlxn--mgbbh1a71exn--80ao21amarshallsxn--5tzm5gtravelerspanasoniclatrobeyoutubeaccountantsxn--rhqv96gxn--cckwcxetdanalyticsxn--ygbi2ammx\u0628\u0627\u0632\u0627\u0631\u0628\u06BE\u0627\u0631\u062A\u0633\u0648\u0631\u064A\u0629organicfresenius\u0633\u0648\u0631\u064A\u0627xn--9krt00axn--qcka1pmcxn--jlq480n2rgdeloittesciencefinancexn--jvr189mxn--30rr7yhomesensehotmailbaseballfootballleclercboehringerxn--q9jyb4cxn--mix082f\u0627\u0644\u064A\u0645\u0646\u0647\u0645\u0631\u0627\u0647politie\u0633\u0648\u062F\u0627\u0646\u0627\u064A\u0631\u0627\u0646\u0627\u06CC\u0631\u0627\u0646netflixyamaxunxn--lgbbat1ad8jcollegestoragecapetowncolognekerrypropertiesxn--mgbgu82axn--ogbpf8flxn--czru2dwhoswhociprianilasallexn--g2xx48cforsalebanamexaudiblexn--vermgensberater-ctbxn--zfr164bericssonvanguardxn--45brj9cindustriestheatremarriottxn--3bst00mcomparexn--mgberp4a5d4a87gcapitaldigital\u0627\u0644\u0645\u063A\u0631\u0628barcelonashangrilaxn--d1alfcalvinkleinwwwcitysapporokawasakinagoyasendaikobekitakyushuyokohamackjp",R1t=621,Q1t=625,DEe=cI.length,FEe=gQ.length,_Ee=new Uint32Array(FEe),AQ=new Uint32Array(FEe),tb=new Int32Array(DEe).fill(-1);for(let e=0,n=0;e<DEe;e+=1)for(let r=yQ[e];r<yQ[e+1];r+=1){_Ee[r]=n;let s=n+gQ[r],o=5381;for(let t=s-1;t>=n;t-=1)o=o*33^eb.charCodeAt(t);AQ[r]=o>>>0,gQ[r]===1&&eb.charCodeAt(n)===42&&(tb[e]=r),n=s}var ev=-1,nb=0,rb=0;function TEe(e,n,r,s){if(gQ[e]!==s)return!1;let o=_Ee[e];for(let t=0;t<s;t+=1)if(eb.charCodeAt(o+t)!==n.charCodeAt(r+t))return!1;return!0}function xEe(e,n,r,s,o){let t=yQ[e],i=yQ[e+1];for(;t<i;){let a=t+i>>>1,l=AQ[a];if(l<n)t=a+1;else if(l>n)i=a;else{for(let u=a;u>=t&&AQ[u]===n;u-=1)if(TEe(u,r,s,o))return u;for(let u=a+1;u<i&&AQ[u]===n;u+=1)if(TEe(u,r,s,o))return u;return-1}}return-1}function kEe(e,n,r){let s=n,o=e.length,t=5381;ev=-1;for(let a=e.length-1;a>=0;a-=1){let l=e.charCodeAt(a);if(l===46){let u=a+1,f=xEe(s,t>>>0,e,u,o-u);if(f===-1&&(f=tb[s]),f===-1)return ev!==-1;s=CEe[f],(cI[s]&r)!==0&&(ev=s,nb=u,rb=o),o=a,t=5381}else t=t*33^l}let i=xEe(s,t>>>0,e,0,o);return i===-1&&(i=tb[s]),i!==-1&&(s=CEe[i],(cI[s]&r)!==0&&(ev=s,nb=0,rb=o)),ev!==-1}function pI(e,n,r){if(P1t(e,n,r))return;let s=(n.allowPrivateDomains?2:0)|(n.allowIcannDomains?1:0);if(kEe(e,Q1t,s)){r.isIcann=(cI[ev]&1)!==0,r.isPrivate=(cI[ev]&2)!==0,r.publicSuffix=e.slice(rb+1);return}if(kEe(e,R1t,s)){r.isIcann=(cI[ev]&1)!==0,r.isPrivate=(cI[ev]&2)!==0,r.publicSuffix=e.slice(nb);return}r.isIcann=!1,r.isPrivate=!1;let o=e.lastIndexOf(".");r.publicSuffix=o===-1?e:e.slice(o+1)}var FA=BEe();function L1t(e,n){return dI(e,5,pI,n,BEe())}function W1t(e,n){return UD(FA),dI(e,0,pI,n,FA).hostname}function H1t(e,n){return UD(FA),dI(e,2,pI,n,FA).publicSuffix}function q1t(e,n){return UD(FA),dI(e,3,pI,n,FA).domain}function U1t(e,n){UD(FA);let r=dI(e,3,pI,n,FA);return r.domain===null?null:r.hostname}function V1t(e,n){return UD(FA),dI(e,4,pI,n,FA).subdomain}function z1t(e,n){return UD(FA),dI(e,5,pI,n,FA).domainWithoutSuffix}oC.getDomain=q1t;oC.getDomainWithoutSuffix=z1t;oC.getFullDomain=U1t;oC.getHostname=W1t;oC.getPublicSuffix=H1t;oC.getSubdomain=V1t;oC.parse=L1t});var CQ=C((LQn,KEe)=>{"use strict";var ub=Object.defineProperty,G1t=Object.getOwnPropertyDescriptor,Y1t=Object.getOwnPropertyNames,$1t=Object.prototype.hasOwnProperty,J1t=(e,n)=>{for(var r in n)ub(e,r,{get:n[r],enumerable:!0})},X1t=(e,n,r,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of Y1t(n))!$1t.call(e,o)&&o!==r&&ub(e,o,{get:()=>n[o],enumerable:!(s=G1t(n,o))||s.enumerable});return e},b1t=e=>X1t(ub({},"__esModule",{value:!0}),e),VEe={};J1t(VEe,{Cookie:()=>Zp,CookieJar:()=>T0t,MemoryCookieStore:()=>YEe,ParameterError:()=>fb,PrefixSecurityEnum:()=>lC,Store:()=>db,canonicalDomain:()=>hI,cookieCompare:()=>ab,defaultPath:()=>bEe,domainMatch:()=>lb,formatDate:()=>XEe,fromJSON:()=>I0t,getPublicSuffix:()=>vQ,parse:()=>k0t,parseDate:()=>EQ,pathMatch:()=>cb,permuteDomain:()=>zEe,permutePath:()=>x0t,version:()=>JEe});KEe.exports=b1t(VEe);function cb(e,n){return!!(n===e||e.indexOf(n)===0&&(n[n.length-1]==="/"||e.startsWith(n)&&e[n.length]==="/"))}var K1t=MEe(),NEe=["local","example","invalid","localhost","test"],Z1t=["localhost","invalid"],O1t={allowSpecialUseDomain:!1,ignoreError:!1};function vQ(e,n={}){n={...O1t,...n};let r=e.split("."),s=r[r.length-1],o=!!n.allowSpecialUseDomain,t=!!n.ignoreError;if(o&&s!==void 0&&NEe.includes(s)){if(r.length>1)return`${r[r.length-2]}.${s}`;if(Z1t.includes(s))return s}if(!t&&s!==void 0&&NEe.includes(s))throw new Error(`Cookie has domain set to the public suffix "${s}" which is a special use domain. To allow this, configure your CookieJar with {allowSpecialUseDomain: true, rejectPublicSuffixes: false}.`);let i=(0,K1t.getDomain)(e,{allowIcannDomains:!0,allowPrivateDomains:!0});if(i)return i}function zEe(e,n){let r=vQ(e,{allowSpecialUseDomain:n});if(!r)return;if(r==e)return[e];e.slice(-1)=="."&&(e=e.slice(0,-1));let o=e.slice(0,-(r.length+1)).split(".").reverse(),t=r,i=[t];for(;o.length;)t=`${o.shift()}.${t}`,i.push(t);return i}var db=class{constructor(){this.synchronous=!1}findCookie(e,n,r,s){throw new Error("findCookie is not implemented")}findCookies(e,n,r=!1,s){throw new Error("findCookies is not implemented")}putCookie(e,n){throw new Error("putCookie is not implemented")}updateCookie(e,n,r){throw new Error("updateCookie is not implemented")}removeCookie(e,n,r,s){throw new Error("removeCookie is not implemented")}removeCookies(e,n,r){throw new Error("removeCookies is not implemented")}removeAllCookies(e){throw new Error("removeAllCookies is not implemented")}getAllCookies(e){throw new Error("getAllCookies is not implemented (therefore jar cannot be serialized)")}},pb=e=>Object.prototype.toString.call(e),j1t=(e,n)=>typeof e.join!="function"?pb(e):(n.add(e),e.map(s=>s==null||n.has(s)?"":GEe(s,n)).join()),GEe=(e,n=new WeakSet)=>typeof e!="object"||e===null?String(e):typeof e.toString=="function"?Array.isArray(e)?j1t(e,n):String(e):pb(e),ob=e=>GEe(e);function Op(e){let n,r,s,o=new Promise((t,i)=>{r=t,s=i});return typeof e=="function"?n=(t,i)=>{try{t?e(t):e(null,i)}catch(a){s(a instanceof Error?a:new Error)}}:n=(t,i)=>{try{t?s(t):r(i)}catch(a){s(a instanceof Error?a:new Error)}},{promise:o,callback:n,resolve:t=>(n(null,t),o),reject:t=>(n(t),o)}}function d_(e,n){return e in n}var YEe=class extends db{constructor(){super(),this.synchronous=!0,this.idx=Object.create(null)}findCookie(e,n,r,s){let o=Op(s);if(e==null||n==null||r==null)return o.resolve(void 0);let t=this.idx[e]?.[n]?.[r];return o.resolve(t)}findCookies(e,n,r=!1,s){typeof r=="function"&&(s=r,r=!0);let o=[],t=Op(s);if(!e)return t.resolve([]);let i;n?i=function(f){for(let m in f)if(cb(n,m)){let g=f[m];for(let w in g){let E=g[w];E&&o.push(E)}}}:i=function(f){for(let m in f){let g=f[m];for(let w in g){let E=g[w];E&&o.push(E)}}};let a=zEe(e,r)||[e],l=this.idx;return a.forEach(u=>{let f=l[u];f&&i(f)}),t.resolve(o)}putCookie(e,n){let r=Op(n),{domain:s,path:o,key:t}=e;if(s==null||o==null||t==null)return r.resolve(void 0);let i=this.idx[s]??Object.create(null);this.idx[s]=i;let a=i[o]??Object.create(null);return i[o]=a,a[t]=e,r.resolve(void 0)}updateCookie(e,n,r){if(r)this.putCookie(n,r);else return this.putCookie(n)}removeCookie(e,n,r,s){let o=Op(s);return delete this.idx[e]?.[n]?.[r],o.resolve(void 0)}removeCookies(e,n,r){let s=Op(r),o=this.idx[e];return o&&(n?delete o[n]:delete this.idx[e]),s.resolve(void 0)}removeAllCookies(e){let n=Op(e);return this.idx=Object.create(null),n.resolve(void 0)}getAllCookies(e){let n=Op(e),r=[],s=this.idx;return Object.keys(s).forEach(t=>{let i=s[t]??{};Object.keys(i).forEach(l=>{let u=i[l]??{};Object.keys(u).forEach(m=>{let g=u[m];g!=null&&r.push(g)})})}),r.sort((t,i)=>(t.creationIndex||0)-(i.creationIndex||0)),n.resolve(r)}};function ib(e){return $Ee(e)&&e!==""}function hb(e){return e===""||e instanceof String&&e.toString()===""}function $Ee(e){return typeof e=="string"||e instanceof String}function wQ(e){return pb(e)==="[object Object]"}function u_(e,n,r){if(e)return;let s=typeof n=="function"?n:void 0,o=typeof n=="function"?r:n;wQ(o)||(o="[object Object]");let t=new fb(ob(o));if(s)s(t);else throw t}var fb=class extends Error{},JEe="6.0.2",lC={SILENT:"silent",STRICT:"strict",DISABLED:"unsafe-disabled"};Object.freeze(lC);var e0t=`
|
|
2
|
+
import{c as ZX,d as gEe}from"./chunk-2OHANJ6Q.mjs";import{a as KX}from"./chunk-6N25CJ6Y.mjs";import{c as pEe,d as hEe}from"./chunk-F4CT35KL.mjs";import{i as a_,j as AEe,k as yEe}from"./chunk-BFJGHSQN.mjs";import{a as fEe,h as mEe}from"./chunk-U5XL7D6A.mjs";import{a as dEe}from"./chunk-6ILJWFYW.mjs";import{a as uI}from"./chunk-HYMEEXKN.mjs";import{a as cEe}from"./chunk-UMHUSOPJ.mjs";import{d as lEe,e as uEe}from"./chunk-A55HN5OK.mjs";import{a as Pe,b as xe,c as C,d as Gt,e as qD,f as Fc}from"./chunk-5L7RYZCL.mjs";var MEe=C(oC=>{"use strict";function v1t(e,n){return e.endsWith(n)?e.length===n.length||e[e.length-n.length-1]===".":!1}function C1t(e,n){let r=e.length-n.length-2,s=e.lastIndexOf(".",r);return s===-1?e:e.slice(s+1)}function T1t(e,n,r){if(r.validHosts!==null){let o=r.validHosts;for(let t of o)if(v1t(n,t))return t}let s=0;if(n.startsWith("."))for(;s<n.length&&n[s]===".";)s+=1;return e.length===n.length-s?null:C1t(n,e)}function x1t(e,n){return e.slice(0,-n.length-1)}var OX=/[\t\n\r]/g,jX=!1;function SEe(e){return e>=97&&e<=122||e>=48&&e<=57||e>127||e>=65&&e<=90||e===45||e===95}function wEe(e,n,r){let s=r-n,o=e.charCodeAt(n)|32;if(s===2)return o===119&&(e.charCodeAt(n+1)|32)===115?1:0;if(s===3){let t=e.charCodeAt(n+1)|32,i=e.charCodeAt(n+2)|32;return o===119&&t===115&&i===115||o===102&&t===116&&i===112?1:0}else if(s===4){let t=e.charCodeAt(n+1)|32,i=e.charCodeAt(n+2)|32,a=e.charCodeAt(n+3)|32;return o===104&&t===116&&i===116&&a===112?1:o===102&&t===105&&i===108&&a===101?2:0}else if(s===5)return o===104&&(e.charCodeAt(n+1)|32)===116&&(e.charCodeAt(n+2)|32)===116&&(e.charCodeAt(n+3)|32)===112&&(e.charCodeAt(n+4)|32)===115?1:0;return 0}function l_(e,n,r=!1){let s=0,o=e.length,t=!1,i=!1;if(jX=!1,!n){if(e.startsWith("data:"))return null;for(;s<e.length&&e.charCodeAt(s)<=32;)s+=1;for(;o>s+1&&e.charCodeAt(o-1)<=32;)o-=1;if(e.charCodeAt(s)===47&&e.charCodeAt(s+1)===47)s+=2;else{let x=e.indexOf(":/",s);if(x!==-1){let T=wEe(e,s,x);if(T===1)for(i=!0,s=x+2;e.charCodeAt(s)===47||e.charCodeAt(s)===92;)s+=1;else if(T===2){i=!0,s=x+1;let k=0;for(;(e.charCodeAt(s)===47||e.charCodeAt(s)===92)&&k<2;)s+=1,k+=1;if(k<2)return null}else{for(let k=s;k<x;k+=1){let _=e.charCodeAt(k)|32;if(!(_>=97&&_<=122||_>=48&&_<=57||_===46||_===45||_===43)){let Q=e.charCodeAt(k);return Q===9||Q===10||Q===13?l_(e.replace(OX,""),n,r):null}}if(e.charCodeAt(x+2)===47)s=x+3;else return null}}else if(e.charCodeAt(s)!==91){let T=-1;for(let k=s;k<o;k+=1){let _=e.charCodeAt(k);if(_===9||_===10||_===13)return l_(e.replace(OX,""),n,r);if(_===58){T=k;break}if(_===47||_===92||_===63||_===35)break}if(T!==-1){let k=!1;for(let _=T+1;_<o;_+=1){let Q=e.charCodeAt(_);if(Q===47||Q===92||Q===63||Q===35)break;if(Q===64){k=!0;break}}if(!k){let _=!0,Q=T+1;for(;Q<o;Q+=1){let b=e.charCodeAt(Q);if(b===47||b===92||b===63||b===35)break;if(b<48||b>57){_=!1;break}}if(Q===T+1&&(_=!1),!_){let b=wEe(e,s,T);if(b===0){let G=!1;for(let V=T+1;V<o;V+=1){let D=e.charCodeAt(V);if(D===47||D===92||D===63||D===35)break;if(D===58){G=!0;break}}if(!G)return null}else if(i=!0,s=T+1,b===2){let G=0;for(;(e.charCodeAt(s)===47||e.charCodeAt(s)===92)&&G<2;)s+=1,G+=1;if(G<2)return null}else for(;e.charCodeAt(s)===47||e.charCodeAt(s)===92;)s+=1}}}}}let l=-1,u=-1,f=-1,m=-1,g=!1,w=r,E=s-1,v=-1;if(r&&s<o){let x=e.charCodeAt(s);(!(SEe(x)||x===46||x===95)||x===45)&&(w=!1)}for(let x=s;x<o;x+=1){let T=e.charCodeAt(x);if(T<64)if(T===47||T===35||T===63){o=x;break}else T===58?(m===-1&&(m=x),f=x):T===9||T===10||T===13?g=!0:r&&(T===46?((x-E>64||v===46||v===45)&&(w=!1),E=x):(T<48||T>57)&&(T!==45||v===46)&&(w=!1));else if(i&&T===92){o=x;break}else T===64?(l=x,m=-1):T===93?u=x:T>=65&&T<=90?t=!0:r&&!SEe(T)&&(w=!1);r&&(v=T)}if(g)return l_(e.replace(OX,""),n,r);if(l!==-1&&l>=s&&l<o&&(s=l+1),e.charCodeAt(s)===91)return u!==-1?e.slice(s+1,u).toLowerCase():null;if(f!==-1&&f>s&&f<o&&m===f&&(o=f),s>=o)return null;r&&w&&l===-1&&f===-1&&u===-1&&e.charCodeAt(o-1)!==46&&o-s<=255&&o-E-1<=63&&v!==45&&(jX=!0)}for(;o>s+1&&e.charCodeAt(o-1)===46;)o-=1;let a=s!==0||o!==e.length?e.slice(s,o):e;return t?a.toLowerCase():a}function k1t(e){if(e.length<7||e.length>15)return!1;let n=0;for(let r=0;r<e.length;r+=1){let s=e.charCodeAt(r);if(s===46)n+=1;else if(s<48||s>57)return!1}return n===3&&e.charCodeAt(0)!==46&&e.charCodeAt(e.length-1)!==46}function I1t(e){if(e.length<3)return!1;let n=e.startsWith("[")?1:0,r=e.length;if(e[r-1]==="]"&&(r-=1),r-n>39)return!1;let s=!1;for(;n<r;n+=1){let o=e.charCodeAt(n);if(o===58)s=!0;else if(!(o>=48&&o<=57||o>=97&&o<=102||o>=65&&o<=70))return!1}return s}function B1t(e){return I1t(e)||k1t(e)}var D1t=["test","localhost","invalid","example","example.com","example.net","example.org","local","onion","alt","home.arpa","ipv4only.arpa","resolver.arpa","service.arpa","6tisch.arpa","eap.arpa"];function F1t(e){for(let n of D1t)if(e.endsWith(n)&&(e.length===n.length||e.charCodeAt(e.length-n.length-1)===46))return!0;return!1}function EEe(e){return e>=97&&e<=122||e>=48&&e<=57||e>127}function vEe(e){if(e.length>255||e.length===0||!EEe(e.charCodeAt(0))&&e.charCodeAt(0)!==46&&e.charCodeAt(0)!==95)return!1;let n=-1,r=-1,s=e.length;for(let o=0;o<s;o+=1){let t=e.charCodeAt(o);if(t===46){if(o-n>64||r===46||r===45)return!1;n=o}else if(!(EEe(t)||t===45||t===95)||t===45&&r===46)return!1;r=t}return s-n-1<=63&&r!==45}function IEe({allowIcannDomains:e=!0,allowPrivateDomains:n=!1,detectIp:r=!0,detectSpecialUse:s=!1,extractHostname:o=!0,mixedInputs:t=!0,validHosts:i=null,validateHostname:a=!0}){return{allowIcannDomains:e,allowPrivateDomains:n,detectIp:r,detectSpecialUse:s,extractHostname:o,mixedInputs:t,validHosts:i,validateHostname:a}}var _1t=IEe({});function M1t(e){return e===void 0?_1t:IEe(e)}function N1t(e,n){return n.length===e.length?"":e.slice(0,-n.length-1)}function BEe(){return{domain:null,domainWithoutSuffix:null,hostname:null,isIcann:null,isIp:null,isPrivate:null,isSpecialUse:null,publicSuffix:null,subdomain:null}}function UD(e){e.domain=null,e.domainWithoutSuffix=null,e.hostname=null,e.isIcann=null,e.isIp=null,e.isPrivate=null,e.isSpecialUse=null,e.publicSuffix=null,e.subdomain=null}function dI(e,n,r,s,o){let t=M1t(s);if(typeof e!="string")return o;let i=!1;return t.extractHostname?t.mixedInputs?(i=vEe(e),o.hostname=l_(e,i,t.validateHostname)):o.hostname=l_(e,!1,t.validateHostname):o.hostname=e,t.detectIp&&o.hostname!==null&&(o.isIp=B1t(o.hostname),o.isIp)?o:t.validateHostname&&t.extractHostname&&o.hostname!==null&&!(i&&o.hostname===e)&&!jX&&!vEe(o.hostname)?(o.hostname=null,o):(n===0||o.hostname===null||(n===5&&t.detectSpecialUse&&(o.isSpecialUse=F1t(o.hostname)),r(o.hostname,t,o),n===2||o.publicSuffix===null)||(o.domain=T1t(o.publicSuffix,o.hostname,t),n===3||o.domain===null)||(o.subdomain=N1t(o.hostname,o.domain),n===4)||(o.domainWithoutSuffix=x1t(o.domain,o.publicSuffix)),o)}function P1t(e,n,r){if(!n.allowPrivateDomains&&e.length>3){let s=e.length-1,o=e.charCodeAt(s),t=e.charCodeAt(s-1),i=e.charCodeAt(s-2),a=e.charCodeAt(s-3);if(o===109&&t===111&&i===99&&a===46)return r.isIcann=!0,r.isPrivate=!1,r.publicSuffix="com",!0;if(o===103&&t===114&&i===111&&a===46)return r.isIcann=!0,r.isPrivate=!1,r.publicSuffix="org",!0;if(o===117&&t===100&&i===101&&a===46)return r.isIcann=!0,r.isPrivate=!1,r.publicSuffix="edu",!0;if(o===118&&t===111&&i===103&&a===46)return r.isIcann=!0,r.isPrivate=!1,r.publicSuffix="gov",!0;if(o===116&&t===101&&i===110&&a===46)return r.isIcann=!0,r.isPrivate=!1,r.publicSuffix="net",!0;if(o===101&&t===100&&i===46)return r.isIcann=!0,r.isPrivate=!1,r.publicSuffix="de",!0}return!1}var cI=new Uint8Array([1,2,1,1,1,1,1,1,1,1,1,1,0,2,2,2,0,2,2,0,2,0,0,1,0,0,2,1,1,1,1,1,1,0,0,0,1,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,0,1,0,1,1,0,1,1,0,0,0,0,0,0,1,1,1,0,2,0,0,0,0,0,0,0,2,0,2,2,0,0,2,2,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,2,1,1,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,2,2,0,0,0,0,2,0,0,0,0,0,0,0,0,0,2,0,2,0,0,0,0,0,0,0,0,0,2,0,0,0,0,2,1,1,1,1,1,1,1,1,1,0,1,1,0,0,0,0,1,0,2,2,0,0,0,2,0,1,1,0,2,0,2,2,0,1,1,1,1,1,1,1,1,0,1,1,1,0,1,1,1,1,0,0,0,0,1,0,1,1,1,0,1,1,1,1,1,1,1,1,1,1,2,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,2,2,0,2,2,0,0,0,0,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,0,2,2,0,2,2,2,2,0,0,0,0,2,0,0,0,0,0,0,0,2,2,0,0,0,2,2,1,1,1,1,1,2,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,0,0,0,2,2,0,0,2,1,1,1,1,1,1,1,1,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,2,2,1,2,1,1,1,2,1,1,1,1,1,0,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,2,1,1,1,1,2,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0]),yQ=new Uint16Array([0,0,0,10,11,18,106,111,117,124,130,136,145,146,147,148,149,150,151,153,154,155,157,159,226,239,241,242,243,258,265,266,269,270,271,274,276,295,296,298,307,312,329,330,333,335,336,338,372,373,375,378,379,383,385,389,392,424,427,440,441,449,450,452,462,476,477,478,487,488,525,530,546,566,572,614,615,642,669,670,818,824,827,828,829,834,839,848,870,871,872,873,874,875,876,894,896,897,900,902,903,905,907,922,937,942,943,945,946,947,948,949,951,954,959,960,961,963,964,967,970,971,972,985,987,999,1010,1018,1020,1061,1064,1068,1069,1071,1074,1085,1087,1097,1099,1105,1107,1108,1110,1113,1114,1115,1168,1170,1172,1192,1193,1194,1195,1197,1208,1239,1250,1262,1271,1278,1283,1296,1307,1320,1321,1332,1366,1367,1368,1383,1398,1470,1471,1473,1474,1508,1509,1510,1511,1514,1518,1520,1549,1550,1558,1559,1560,1562,1564,1565,1567,1568,1569,1580,1581,1582,1583,1584,1585,1586,1587,1588,1589,1590,1591,1592,1593,1595,1596,1597,2051,2054,2055,2057,2064,2071,2081,2085,2096,2097,2098,2110,2111,2113,2115,2116,2123,2124,2126,2127,2129,2130,2131,2132,2133,2207,2209,2230,2231,2232,2234,2260,2261,2312,2313,2315,2322,2328,2338,2348,2401,2402,2403,2413,2427,2428,2431,2438,2439,2447,2448,2449,2450,2451,2462,2463,2464,2466,2467,2468,2477,2489,2495,2527,2531,2533,2534,2536,2537,2548,2549,2551,2559,2566,2572,2577,2578,2584,2587,2593,2600,2601,2608,2616,2617,2618,2656,2662,2677,2678,2683,2701,2732,2750,2752,2755,2763,2765,2772,2824,2848,2849,2850,2851,2852,2853,2854,2861,2862,2863,2864,2865,2866,2868,2869,2873,2953,2966,2967,3404,3408,3422,3474,3502,3524,3582,3604,3619,3682,3733,3771,3807,3832,3974,4020,4071,4090,4124,4139,4159,4189,4220,4243,4274,4304,4336,4363,4438,4460,4498,4508,4542,4561,4587,4629,4679,4705,4774,4775,4777,4800,4823,4859,4890,4907,4964,4977,5001,5030,5032,5066,5082,5110,5415,5424,5433,5440,5457,5461,5467,5506,5508,5515,5522,5531,5538,5539,5540,5552,5555,5570,5571,5580,5581,5590,5599,5605,5607,5608,5609,5646,5647,5649,5657,5664,5677,5681,5683,5684,5690,5697,5711,5721,5726,5734,5742,5748,5749,5753,5755,5756,5768,5840,5841,5842,5843,5845,5846,5849,5851,5854,5858,5859,5860,5866,5867,5868,5870,5872,5874,5875,5876,5879,5881,5884,5885,5887,6085,6092,6093,6094,6104,6109,6126,6140,6149,6150,6151,6155,6156,6158,6160,6166,6167,6170,6171,6173,6174,6175,7075,7078,7082,7100,7109,7112,7119,7120,7122,7123,7124,7126,7178,7179,7182,7183,7300,7301,7312,7323,7330,7333,7342,7343,7344,7359,7414,7605,7607,7608,7610,7615,7628,7643,7650,7659,7662,7665,7672,7680,7684,7685,7686,7700,7704,7713,7714,7715,7719,7754,7755,7773,7780,7788,7789,7794,7802,7846,7847,7853,7856,7867,7872,7873,7876,7878,7913,7914,7920,7927,7928,7937,7946,7961,7965,7966,8018,8019,8024,8026,8029,8031,8032,8033,8042,8056,8064,8078,8090,8091,8093,8095,8117,8128,8134,8135,8147,8159,8246,8258,8266,8269,8275,8300,8303,8304,8305,8307,8310,8313,8324,8326,8328,8356,8430,8437,8441,8442,8451,8473,8474,8479,8480,8559,8561,8563,8572,8576,8582,8588,8594,8604,8609,8610,8628,8639,8644,8649,8659,8665,8669,8675,8681,10290,10291,10292,10299,10301]),gQ=new Uint8Array([3,3,3,3,3,3,3,3,5,8,8,2,2,3,3,3,3,3,8,5,5,5,5,5,3,3,5,5,9,12,19,8,19,8,11,9,9,8,7,7,6,8,9,16,10,7,7,11,8,6,6,9,7,11,7,14,4,4,4,4,4,4,10,7,6,6,6,6,10,10,6,10,10,22,11,9,10,10,10,9,10,8,7,7,7,8,21,13,11,11,9,10,9,13,10,8,8,9,12,9,7,10,7,7,13,7,3,3,3,3,3,2,3,3,3,3,3,3,3,3,3,3,8,6,3,3,3,3,3,3,2,5,3,3,3,7,2,2,2,2,2,2,3,3,3,1,1,7,8,5,2,2,7,2,2,1,4,1,11,9,9,5,5,8,5,5,5,5,5,5,5,3,3,3,3,3,5,11,9,9,13,7,14,7,6,6,6,7,6,6,6,6,6,10,7,11,9,4,4,4,4,4,6,6,6,6,13,6,8,7,10,9,9,9,8,9,8,7,10,6,9,8,10,10,7,8,1,9,10,12,12,12,10,9,9,10,10,9,9,1,1,5,3,3,3,3,3,3,3,3,3,3,3,3,6,6,6,4,3,3,3,7,4,4,4,3,3,6,7,3,4,1,2,2,2,6,1,2,2,2,2,2,12,5,3,8,9,13,4,4,13,9,9,11,7,3,12,9,2,2,2,3,3,3,3,3,8,2,2,3,3,3,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,4,3,7,10,15,7,15,15,20,15,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,7,8,6,8,8,6,8,13,8,8,6,13,8,11,13,8,6,13,8,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,9,9,9,10,14,14,11,13,13,9,9,9,9,9,9,2,6,9,2,2,3,3,3,3,3,3,3,3,3,4,4,4,2,3,3,3,3,3,3,7,7,2,3,2,2,5,3,3,3,3,3,3,4,2,2,2,2,2,2,3,3,3,3,3,3,3,4,5,7,2,2,12,8,10,8,10,7,18,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,5,2,2,3,3,3,5,5,3,8,8,6,8,6,6,4,6,7,7,7,10,11,2,5,5,3,3,3,3,3,3,5,5,6,11,10,7,7,7,4,4,4,2,3,3,3,3,3,2,2,7,5,5,3,3,3,3,3,3,3,3,7,7,7,11,7,6,9,6,6,8,10,8,6,8,13,4,4,4,4,4,10,8,11,8,8,8,10,10,7,10,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,1,1,2,2,2,2,2,2,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,7,10,13,7,8,7,11,8,8,6,9,8,8,6,6,6,8,8,6,6,6,6,6,9,7,6,4,4,4,4,4,4,4,6,6,6,9,7,8,10,8,8,2,3,3,3,3,3,2,8,9,9,2,2,2,3,3,3,2,3,3,3,9,2,2,3,3,3,3,3,3,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,12,5,5,3,5,4,2,3,2,4,3,9,2,2,2,2,2,5,5,3,8,8,13,6,10,9,4,7,9,11,2,3,7,3,3,4,1,3,4,2,9,3,3,12,5,3,7,10,10,7,4,4,6,14,7,9,7,13,2,2,2,2,2,2,3,3,3,3,3,8,15,4,4,2,3,3,3,7,4,9,9,2,3,3,3,5,3,2,2,7,2,7,6,6,7,2,4,2,2,2,2,2,2,8,8,8,9,5,2,3,3,3,3,3,3,10,7,4,4,4,4,3,4,2,3,3,3,3,3,10,7,4,4,4,4,2,3,3,3,3,10,7,4,4,4,4,3,9,6,6,6,9,13,9,2,2,2,8,7,9,5,3,3,3,5,5,13,12,9,10,7,8,7,6,8,6,11,12,7,9,10,4,4,7,8,11,6,7,9,8,7,10,8,9,15,7,8,5,4,7,2,3,3,3,2,14,10,2,14,10,2,14,3,9,13,13,10,14,16,17,11,2,14,2,14,3,9,13,10,14,16,17,11,14,10,14,2,7,3,10,7,14,10,2,14,10,9,9,17,6,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,10,10,10,12,9,4,10,10,11,8,8,8,7,9,5,3,3,3,3,3,3,3,3,5,8,4,4,4,4,4,4,6,16,3,3,14,3,14,2,14,9,13,10,10,14,16,17,11,6,9,10,10,12,14,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,9,9,9,9,9,9,2,14,9,13,10,10,14,16,17,11,6,2,14,9,17,13,10,10,14,16,17,11,6,2,14,9,13,10,14,16,17,11,2,14,9,13,10,16,11,2,14,10,19,7,2,14,9,13,10,19,10,7,14,16,17,11,6,2,14,9,13,10,19,7,14,16,17,11,2,14,9,13,17,13,10,10,14,16,17,11,6,3,2,14,9,13,10,10,14,16,17,11,6,9,10,12,14,14,14,12,12,12,12,12,14,14,14,10,10,10,14,9,9,9,9,14,14,14,13,13,14,9,9,9,9,9,9,4,11,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,14,9,13,17,13,10,19,10,7,14,16,17,11,6,2,9,10,10,7,17,3,3,12,12,16,15,15,12,14,14,14,20,20,13,12,12,12,12,12,12,20,25,14,14,12,12,10,10,10,10,9,9,9,25,4,9,17,10,7,14,16,21,13,13,14,20,14,13,17,24,9,12,13,25,13,21,20,17,9,9,9,9,9,9,12,17,4,4,9,9,9,10,10,12,14,14,14,12,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,9,1,5,8,7,11,11,1,3,3,3,4,8,9,10,14,14,12,12,12,12,14,14,10,10,10,10,14,9,9,9,10,14,14,14,13,13,9,9,9,9,9,7,4,4,4,4,4,4,4,4,4,4,9,12,6,14,4,12,7,2,2,1,2,7,6,4,4,4,6,8,8,7,4,5,6,3,3,3,3,4,16,8,5,4,3,3,3,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,12,7,7,13,9,10,17,12,8,9,7,8,5,12,10,13,14,5,5,5,13,5,5,5,3,3,3,5,16,5,5,5,5,7,12,14,8,12,8,10,12,9,11,7,9,7,10,7,13,9,7,12,8,17,7,7,16,10,13,13,8,10,10,14,17,7,16,16,15,8,10,10,12,17,17,7,17,14,7,10,17,8,7,7,7,8,15,15,7,14,10,10,10,11,11,7,7,13,8,10,7,16,7,8,7,14,17,12,10,11,21,8,9,7,13,9,8,13,6,12,7,6,13,10,10,10,8,18,9,17,13,10,12,6,13,6,11,8,13,10,13,18,13,11,13,8,16,7,10,8,16,12,10,8,8,14,11,8,15,8,8,7,7,12,7,8,9,14,15,8,9,10,9,15,7,8,8,12,13,9,10,15,15,13,7,10,10,20,7,6,9,6,6,14,11,14,11,12,9,10,16,16,12,7,11,28,8,11,10,7,21,8,7,9,4,4,4,17,7,8,6,9,6,6,13,6,6,6,6,18,20,14,8,11,12,9,10,13,15,19,8,9,12,7,10,16,12,9,9,9,14,12,11,9,12,11,18,9,9,9,10,7,7,16,8,9,7,13,12,10,18,7,8,11,7,7,8,8,13,7,7,7,11,15,13,11,7,8,15,11,7,8,18,14,13,18,15,10,12,12,9,7,11,11,8,7,10,8,14,12,10,18,7,10,9,7,8,13,10,14,10,8,8,23,7,7,11,12,12,17,7,7,11,11,17,16,16,7,8,11,14,14,8,10,7,7,16,16,13,9,11,9,15,15,11,11,7,7,14,7,9,7,7,16,10,13,10,11,14,7,11,10,11,7,11,10,11,15,11,15,10,12,17,10,14,13,11,11,12,13,10,7,13,10,16,12,21,9,10,10,7,11,14,17,7,7,8,11,12,8,15,14,14,8,17,12,10,10,7,9,11,7,10,7,11,18,7,11,7,12,11,8,8,14,12,7,8,15,3,7,7,5,2,9,2,2,2,2,2,2,2,3,3,3,3,3,3,3,2,5,3,3,3,3,3,3,4,4,3,3,3,3,3,3,5,11,6,4,7,10,7,7,11,1,10,2,2,3,3,3,3,3,3,3,3,5,7,3,5,6,3,3,5,2,2,5,3,4,13,11,3,3,6,3,5,14,2,2,3,8,2,2,12,5,18,5,3,3,3,16,5,5,5,10,7,13,12,13,9,12,14,19,9,9,21,9,9,10,6,9,6,15,10,6,12,8,6,10,15,4,4,6,6,9,9,12,16,14,23,7,7,7,14,9,7,7,11,14,10,7,10,10,10,12,6,11,10,13,11,15,11,7,12,10,3,7,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,4,3,7,2,5,5,3,3,5,5,5,5,7,6,6,6,4,4,4,4,4,4,6,6,6,6,6,7,10,2,2,2,5,5,5,5,3,3,3,3,3,5,5,10,9,11,8,7,12,8,9,7,6,13,11,6,13,7,9,9,4,4,4,4,4,6,10,7,8,13,8,8,9,14,7,8,10,7,7,7,9,6,9,7,2,12,5,3,3,13,4,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,3,3,3,3,4,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,4,4,4,4,4,4,4,4,4,9,3,3,3,3,3,3,3,3,3,3,4,2,2,2,5,3,3,3,3,3,3,3,3,4,4,1,7,6,4,12,3,3,3,3,3,8,7,3,3,3,3,3,3,4,4,11,14,2,8,3,5,5,8,10,8,6,4,7,17,7,4,5,2,6,3,2,2,12,5,5,3,15,13,8,11,2,2,3,3,3,3,3,3,3,3,4,4,5,3,3,3,3,4,18,2,12,5,3,3,3,3,3,5,16,8,8,9,6,6,4,4,4,4,31,6,6,10,11,21,10,9,7,10,7,7,2,4,4,4,4,6,5,3,3,4,3,3,3,3,3,3,3,3,3,6,6,6,2,2,2,5,3,3,3,7,7,4,3,3,3,3,3,3,3,3,3,3,3,3,3,2,3,3,3,3,8,2,3,3,3,3,3,5,9,11,3,3,3,3,4,4,3,3,3,3,3,5,10,9,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,3,3,3,11,10,10,10,10,10,11,10,11,10,11,10,9,9,11,3,3,3,3,3,3,5,3,7,8,8,7,6,6,11,4,4,4,7,8,9,9,2,3,7,4,4,2,5,5,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4,2,2,5,5,5,5,5,3,3,5,5,5,7,7,6,6,6,4,4,4,4,4,4,4,4,4,4,6,6,8,8,1,2,2,2,2,2,2,3,3,3,3,3,3,3,4,4,6,9,12,3,7,10,7,2,2,3,3,3,3,3,4,3,3,2,2,2,2,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,6,6,8,6,7,4,4,4,4,4,4,6,7,5,5,20,19,8,10,9,7,10,6,8,11,6,6,6,6,13,12,8,6,7,14,11,9,2,5,3,6,2,3,2,2,2,2,2,2,2,5,4,3,7,6,4,7,4,3,6,4,7,2,7,7,7,5,5,5,5,3,3,3,3,3,3,3,3,3,5,9,10,10,11,7,8,20,7,8,9,8,12,6,6,6,8,9,8,12,6,6,8,13,10,12,6,6,7,7,9,6,4,4,4,4,4,4,10,6,6,6,7,14,11,10,7,8,10,8,11,14,11,11,9,7,9,8,11,9,17,10,9,2,2,2,9,3,3,3,3,15,14,9,5,5,2,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,15,12,22,19,17,18,18,19,21,7,16,16,5,5,5,5,5,5,5,5,5,5,5,7,5,5,5,5,5,5,5,5,5,5,5,9,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,7,16,11,11,7,7,7,7,17,7,8,12,15,9,19,7,19,8,21,11,12,19,14,22,7,7,7,7,7,7,7,7,7,7,7,16,16,19,24,12,7,14,7,12,7,8,10,10,13,7,12,12,7,7,10,18,15,12,16,7,14,12,17,10,16,17,12,17,25,7,7,7,13,6,9,6,9,18,6,6,11,20,10,6,6,6,6,6,6,17,6,6,6,15,6,6,6,6,6,8,14,11,12,11,15,13,19,17,21,7,18,8,13,13,8,12,8,6,6,13,6,15,15,16,6,6,16,6,6,6,14,6,18,6,6,6,17,18,9,13,15,8,19,8,15,15,18,14,16,4,4,4,4,4,4,4,4,4,4,4,4,6,11,10,11,6,21,23,12,17,12,11,14,13,22,15,15,11,12,14,12,7,12,8,12,14,12,18,10,8,16,19,17,12,14,15,8,19,17,12,13,13,15,18,13,23,24,23,21,17,24,8,21,8,14,14,16,20,14,8,8,15,20,8,19,21,9,8,13,12,13,15,11,8,11,9,9,8,11,8,21,14,21,15,15,13,7,19,7,7,7,7,7,7,16,12,17,18,7,7,11,11,7,9,9,2,2,3,3,2,2,2,3,3,3,3,3,3,3,3,3,3,4,5,5,5,5,5,5,5,5,3,3,10,10,7,9,7,7,7,6,8,6,6,6,6,6,6,6,7,6,8,6,6,9,7,7,7,4,4,4,4,4,4,4,4,8,9,8,7,8,7,8,10,7,5,5,5,5,5,5,3,9,7,7,8,6,6,6,6,6,6,6,6,9,6,6,9,11,13,7,8,9,9,5,5,5,7,8,6,6,6,6,6,6,6,7,8,9,7,10,9,10,7,8,5,5,5,5,5,5,7,7,9,8,7,7,6,6,6,6,6,6,10,6,6,6,6,6,6,6,6,6,6,6,9,10,4,4,4,4,8,7,7,10,10,9,8,8,15,9,8,8,8,8,8,9,10,9,10,7,8,13,5,5,5,5,5,3,3,7,7,8,6,6,6,4,4,11,9,7,8,9,10,7,5,5,5,5,5,3,3,7,6,6,13,7,9,8,7,5,5,5,5,5,5,5,5,3,3,3,3,7,8,7,8,13,6,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,6,6,6,6,7,6,7,6,6,9,7,4,4,4,4,4,4,4,7,8,7,8,9,8,8,8,7,10,7,8,5,5,5,5,5,5,5,5,3,7,7,7,7,9,7,10,9,6,6,6,6,6,8,8,6,6,6,7,6,6,6,9,9,4,4,13,7,10,9,9,12,7,8,8,10,8,8,8,8,8,8,5,5,5,5,3,7,7,11,7,9,8,8,6,6,10,6,8,8,8,6,7,6,6,12,4,4,4,4,4,4,4,4,4,9,8,8,16,8,9,8,7,5,5,5,5,5,3,3,7,7,7,10,15,8,9,8,9,9,6,6,6,6,6,6,7,4,8,7,8,8,7,8,11,8,5,5,5,5,5,3,7,7,6,11,16,7,6,4,4,4,4,9,9,8,8,8,13,12,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,7,8,8,9,13,7,7,7,9,8,8,9,12,7,12,7,12,8,7,10,12,9,9,6,6,8,8,6,6,6,6,6,6,6,9,8,9,11,8,6,6,6,6,6,12,7,6,6,6,9,7,7,6,6,6,6,6,11,9,6,6,6,6,6,7,9,4,4,4,4,4,4,4,4,9,9,9,9,7,7,7,7,7,11,7,7,8,8,8,8,8,8,9,8,9,9,7,7,11,11,7,12,8,8,8,8,8,7,8,8,8,8,8,13,12,8,8,8,8,7,7,7,9,5,5,5,5,5,5,5,3,3,7,7,11,7,8,8,8,6,6,6,6,6,6,6,6,6,6,6,10,11,6,7,9,4,4,4,4,4,4,9,9,8,9,8,8,8,7,7,5,5,5,5,5,5,5,5,5,5,3,3,11,7,7,7,9,6,6,11,8,10,6,6,6,12,8,8,7,6,6,8,7,4,4,4,4,4,4,4,4,9,10,9,9,8,10,9,11,8,5,5,5,7,6,6,8,7,4,4,4,4,8,7,7,8,7,8,8,5,5,5,5,7,7,8,8,8,6,6,6,6,6,10,8,9,13,6,7,6,6,8,7,8,4,4,4,4,11,8,8,8,10,5,5,8,7,8,13,8,7,6,8,6,9,7,8,7,5,5,5,5,5,5,3,3,7,8,9,6,4,8,10,10,8,12,9,13,2,7,5,5,5,5,5,7,7,10,6,6,6,6,6,6,6,8,4,4,9,8,8,8,14,8,8,8,9,8,5,5,5,5,5,3,3,9,6,6,6,6,10,12,6,6,6,6,6,6,6,4,4,4,4,11,8,7,8,8,8,5,5,3,3,3,3,7,7,6,8,6,8,11,7,6,6,6,7,4,8,11,9,10,5,5,5,3,3,3,7,7,8,9,8,15,9,6,6,6,6,6,6,11,11,4,4,4,4,4,7,9,9,10,8,7,5,5,5,5,5,5,3,3,8,6,6,6,6,6,6,6,6,6,9,7,4,4,4,4,4,9,9,8,8,10,13,5,5,5,3,17,7,7,7,7,7,8,6,8,13,6,6,6,6,6,6,6,6,4,4,4,9,10,8,8,8,5,5,5,5,3,7,7,7,8,8,6,6,6,8,8,8,9,10,8,4,8,10,9,8,8,8,9,13,10,5,5,5,5,5,5,5,5,5,5,3,3,7,8,9,9,7,7,7,10,9,9,8,9,8,8,8,6,6,6,6,6,6,6,6,6,6,6,6,6,8,12,6,6,6,6,6,6,6,6,6,12,4,4,4,4,4,4,4,4,4,4,4,11,8,8,9,9,10,8,9,7,7,5,5,5,5,5,5,3,7,8,7,6,6,8,6,6,10,4,7,8,9,12,8,7,7,5,5,5,5,5,5,3,3,7,14,7,9,8,8,6,6,8,12,12,6,6,7,7,10,4,4,4,4,4,9,9,14,9,13,8,7,5,5,5,6,6,6,7,4,8,7,5,5,5,5,5,5,5,5,3,3,7,7,7,8,6,6,6,6,6,6,12,6,6,6,6,4,4,9,9,8,8,11,7,7,7,5,5,5,3,9,8,6,6,7,4,4,4,4,4,4,8,8,11,5,5,5,7,7,7,9,6,6,6,6,6,6,9,8,4,4,4,4,7,12,9,8,8,8,7,10,10,5,5,5,5,5,5,5,3,11,14,8,7,8,8,6,6,6,6,6,8,7,6,6,6,7,6,8,9,4,4,4,7,8,9,7,9,7,7,9,8,5,5,5,5,5,5,5,5,5,11,3,9,7,7,12,14,8,6,6,12,11,8,6,6,6,6,6,6,6,6,6,15,7,4,4,4,16,9,9,9,8,9,9,9,9,9,8,8,8,13,11,8,5,5,5,5,3,7,6,6,8,8,8,6,6,7,10,7,4,4,4,4,9,7,8,7,7,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,7,7,7,9,6,6,6,6,6,8,8,7,7,9,6,6,6,7,6,6,6,6,6,15,4,4,4,4,4,8,8,7,8,12,9,8,8,8,8,8,9,8,8,10,8,8,8,8,16,9,10,2,5,5,5,5,5,5,5,9,7,6,8,9,4,4,4,4,4,7,8,8,8,9,8,11,10,5,5,5,5,3,7,8,6,6,6,6,6,8,6,6,6,6,4,12,10,12,7,7,7,7,7,7,7,5,5,5,5,3,3,7,7,10,8,9,7,6,10,7,6,6,4,4,8,9,7,9,9,9,9,8,8,8,8,10,5,5,5,5,5,5,8,7,6,6,6,10,6,7,10,7,4,4,4,4,4,4,4,12,9,10,7,7,10,8,10,5,12,9,6,6,6,6,6,7,6,4,4,4,10,9,9,8,7,7,5,5,5,5,5,5,3,3,13,7,7,9,7,7,7,8,9,9,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,15,15,4,4,4,4,4,10,10,9,8,9,8,8,9,7,8,7,8,5,5,7,6,6,6,4,4,4,7,8,11,8,5,5,5,5,5,5,5,7,6,6,6,6,6,6,9,11,10,7,4,4,4,9,8,8,5,5,5,5,5,9,9,6,6,6,6,6,6,6,9,9,4,4,4,4,8,8,8,9,9,8,8,8,13,2,4,2,7,5,5,5,5,5,5,9,9,6,6,6,6,10,8,8,8,6,6,6,4,4,9,8,10,8,9,8,8,8,9,8,8,5,3,3,3,11,6,6,6,7,6,6,6,4,4,9,8,5,5,5,5,5,3,11,8,6,6,6,6,6,9,7,4,4,14,10,9,8,12,8,8,8,11,15,8,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,11,11,11,10,10,7,7,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,5,5,5,3,3,3,7,11,7,7,11,11,7,8,9,10,7,7,9,9,9,9,7,7,10,8,13,8,8,8,8,11,10,6,6,8,10,11,14,14,6,6,6,6,6,6,9,11,7,7,6,8,12,11,11,6,6,10,6,6,6,6,6,10,7,7,6,6,11,6,6,6,11,8,9,7,6,10,11,9,10,11,7,11,8,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,6,6,8,9,10,9,6,6,6,10,6,6,6,6,11,10,11,10,9,8,7,7,7,7,11,14,8,10,9,9,8,8,7,11,8,8,8,11,11,10,10,9,10,8,11,10,8,11,9,12,8,10,8,11,8,9,9,11,11,10,11,13,8,7,8,8,9,7,8,8,8,8,7,8,2,2,2,2,2,2,2,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,8,6,4,4,4,11,7,11,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,5,3,3,3,3,8,7,7,8,8,4,8,7,7,7,9,7,8,9,8,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,6,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,4,5,5,3,3,8,8,6,9,4,4,10,7,3,3,3,2,5,3,3,3,3,3,3,3,3,3,3,3,3,4,3,2,2,2,3,3,3,3,3,4,10,2,3,3,3,3,3,3,3,4,2,3,3,3,3,3,3,3,3,2,2,3,3,3,5,2,4,2,6,2,2,9,5,5,3,3,3,3,3,3,3,5,5,5,9,8,7,9,6,6,11,4,4,4,4,4,4,4,4,6,6,7,7,11,8,8,6,5,11,2,3,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,6,4,4,4,4,3,3,3,3,5,7,2,3,3,3,3,3,8,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,6,4,4,4,4,2,2,3,3,3,3,3,3,3,4,3,3,3,3,3,3,3,3,3,3,3,3,4,2,2,3,3,3,3,3,3,2,3,3,3,3,3,6,3,3,8,10,3,4,4,1,1,1,1,1,1,1,8,9,10,7,7,1,14,18,13,18,13,10,10,16,13,18,16,13,16,18,13,22,16,16,16,14,21,16,9,14,16,9,9,14,10,10,14,12,14,19,12,11,18,13,17,15,15,15,15,16,14,13,19,18,15,19,18,12,18,12,11,20,14,15,10,17,17,16,19,20,21,15,13,16,15,15,15,1,1,3,8,7,7,8,8,8,1,6,1,1,6,3,3,4,7,3,3,5,5,4,4,4,4,4,2,7,7,8,12,3,4,5,1,3,4,4,10,4,3,3,3,8,7,7,2,2,2,2,2,2,2,2,2,12,9,20,7,5,5,5,9,13,5,5,5,5,5,3,3,3,16,5,5,5,13,7,8,8,11,8,7,9,7,11,12,9,9,8,8,11,10,14,7,12,10,11,13,7,9,11,17,17,14,13,7,8,7,10,10,7,16,13,7,8,17,12,9,8,6,7,10,6,6,12,6,8,10,8,8,8,6,8,6,14,6,6,6,13,6,10,6,6,7,14,8,6,6,10,11,10,9,9,7,7,6,6,6,9,9,7,9,10,9,13,12,4,4,4,4,4,4,4,4,4,4,6,6,6,8,8,6,8,9,10,9,7,10,10,8,7,8,7,10,12,9,8,15,8,7,8,8,7,7,15,13,7,10,9,14,18,16,7,24,7,8,10,11,16,8,14,7,9,9,9,13,19,14,15,14,11,7,13,9,10,7,13,9,10,11,12,8,9,2,3,5,8,7,4,4,15,10,5,3,3,3,3,3,5,4,4,4,2,2,2,2,2,1,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,2,2,2,3,3,3,3,3,3,3,3,3,3,4,2,12,5,3,8,10,15,6,7,2,3,2,5,5,12,2,5,5,5,5,2,2,5,5,12,9,5,2,2,9,5,5,12,12,5,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,12,5,8,8,9,5,5,5,8,19,7,16,15,14,9,9,9,9,7,11,11,11,7,14,10,10,5,5,5,5,5,5,5,5,5,15,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,14,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,15,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,12,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,9,12,9,9,12,12,12,15,7,11,7,14,11,18,13,8,18,15,18,12,14,12,8,8,8,8,9,9,9,12,7,10,10,8,8,12,12,12,7,12,12,9,7,7,7,7,7,8,15,12,9,10,10,7,10,10,13,11,10,9,22,11,9,8,8,8,8,8,13,18,13,9,15,19,9,7,7,10,7,7,7,11,8,13,17,7,7,10,10,10,7,20,16,7,7,7,7,7,7,11,21,12,12,13,11,14,16,8,8,13,11,7,7,13,7,7,14,15,15,6,6,6,6,6,6,6,6,6,6,13,10,18,6,6,6,6,6,6,6,6,6,11,8,8,12,12,11,11,8,12,9,9,9,13,13,9,9,9,9,9,9,6,10,12,6,6,6,6,17,11,7,7,7,7,14,14,12,6,7,7,6,6,15,10,13,10,6,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,13,9,9,15,13,6,12,12,6,19,11,10,7,7,16,8,19,17,9,9,9,9,9,6,6,6,10,8,16,8,6,6,9,6,6,6,6,6,6,6,6,8,8,8,6,7,6,6,6,6,6,6,6,6,6,6,6,14,6,6,6,6,20,6,9,6,14,9,9,9,6,9,8,8,12,9,8,8,8,8,7,8,12,7,8,8,8,6,8,6,6,6,6,6,6,6,9,8,8,6,6,13,9,12,13,12,14,13,12,11,11,6,8,8,8,6,13,12,11,11,12,6,11,12,11,13,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,15,6,6,6,6,6,6,6,13,6,6,6,6,6,6,6,6,6,6,6,6,6,8,8,8,8,6,18,6,12,13,13,13,9,10,15,9,12,6,6,6,6,6,6,6,6,9,15,10,9,10,13,9,19,8,18,17,10,10,8,8,6,6,6,6,6,6,10,14,8,16,16,9,8,15,8,8,10,12,14,7,7,8,8,7,7,7,7,8,13,13,11,9,9,9,12,10,17,8,11,9,7,7,14,8,14,14,7,7,7,7,7,7,14,7,7,7,7,7,10,10,8,14,7,7,7,7,8,8,8,8,8,17,9,7,15,7,8,12,7,9,14,7,7,7,9,13,8,14,7,16,18,13,15,14,12,13,10,15,9,7,7,7,10,13,15,15,9,9,9,9,19,11,7,11,11,13,8,8,8,8,7,12,19,17,9,9,13,7,7,7,9,7,7,7,12,13,15,10,8,8,14,15,12,13,13,8,12,14,7,11,7,14,15,13,12,8,8,8,8,11,13,15,15,8,13,12,8,8,8,13,10,16,14,11,8,8,12,12,9,15,15,12,12,13,8,8,9,12,13,9,8,8,8,8,8,8,8,8,8,8,8,11,12,11,7,14,7,13,13,13,12,18,16,7,12,11,10,10,15,9,9,9,21,7,7,7,11,16,8,8,11,11,7,7,7,7,7,19,7,7,7,7,7,7,7,7,7,12,8,9,12,14,11,9,9,9,22,12,3,3,4,8,8,15,4,2,2,5,5,3,3,3,3,3,3,6,6,4,4,4,12,7,10,2,3,3,3,3,3,3,3,6,7,3,7,5,14,4,4,7,8,10,4,1,3,3,6,2,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,4,2,2,5,3,4,2,2,2,2,2,2,11,5,5,5,11,5,5,3,5,5,5,5,11,14,13,9,11,9,12,8,11,11,8,11,16,9,9,7,10,9,12,8,15,6,7,6,6,13,10,8,11,8,6,6,6,12,16,6,11,7,8,9,18,6,6,9,4,4,6,13,6,6,6,6,8,8,9,16,7,7,14,7,8,8,8,7,7,7,7,7,7,15,13,7,10,7,7,10,12,16,15,7,9,9,14,11,11,10,9,10,8,12,7,8,7,7,10,12,7,12,8,7,2,3,3,3,3,3,3,3,3,3,3,5,3,3,5,5,5,10,4,8,7,10,3,3,3,3,3,3,3,3,3,3,1,3,3,3,3,3,3,3,7,4,5,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,9,8,2,2,2,8,12,7,7,5,5,5,5,5,5,5,5,5,5,5,5,8,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,7,11,9,8,8,8,7,8,9,7,7,9,7,7,7,10,7,7,10,9,10,6,6,6,6,6,6,15,7,8,9,9,8,6,6,10,9,6,8,13,9,7,6,6,6,6,6,6,12,6,6,7,6,7,6,6,6,10,10,7,6,6,6,4,4,4,4,4,4,4,4,4,4,4,4,4,4,6,14,6,6,7,7,9,6,6,6,6,9,9,8,9,10,9,8,9,12,7,7,7,8,7,10,12,11,9,10,7,7,7,9,10,10,8,12,9,7,7,9,8,8,8,10,7,7,8,9,9,7,7,7,8,2,4,6,3,4,2,3,3,3,3,2,3,3,3,3,3,3,3,3,4,4,4,4,5,5,3,3,3,3,3,3,3,3,5,8,6,4,7,3,3,3,3,3,3,3,12,3,3,3,3,3,3,4,4,2,3,5,3,4,7,3,3,3,3,3,3,4,3,3,3,3,3,3,3,4,3,3,6,4,3,4,2,2,2,5,3,3,3,3,3,5,4,4,4,4,7,6,8,9,2,2,2,2,3,3,3,5,7,2,3,3,8,7,7,2,2,8,5,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,8,8,7,7,6,10,6,9,7,11,4,6,8,8,7,8,4,5,5,5,5,3,3,11,8,9,6,6,8,7,4,4,7,8,7,2,2,3,3,3,3,4,3,3,3,3,3,3,3,3,7,2,2,5,3,3,2,3,3,3,3,3,3,4,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,12,5,5,3,3,3,5,10,12,6,15,4,6,6,7,14,9,3,3,3,3,3,8,2,2,3,5,3,3,3,3,3,3,8,8,8,7,5,8,4,6,11,2,2,6,7,3,3,2,9,8,5,5,3,3,3,5,5,7,7,6,6,10,6,8,6,8,9,7,4,4,4,4,7,6,6,7,7,10,9,8,11,8,3,3,3,3,3,4,4,2,3,3,3,3,3,7,6,2,5,6,7,6,4,8,9,11,2,2,3,3,3,3,3,3,3,2,2,5,3,3,3,3,3,9,9,6,4,8,7,7,5,9,8,6,2,8,7,8,5,5,5,5,5,3,3,3,16,8,7,7,7,8,7,7,7,7,9,6,9,6,10,7,7,7,6,10,8,9,11,11,8,4,4,10,8,8,6,9,6,11,8,8,8,15,7,8,9,5,3,3,3,3,3,5,11,2,2,3,8,9,10,3,2,2,2,2,2,2,3,6,4,2,2,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,11,5,3,3,3,3,3,3,3,3,6,7,4,4,2,3,3,3,3,3,3,3,3,12,7,4,12,4,6,5,4,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,2,3,3,3,3,3,3,3,3,4,4,11,10,6,4,6,10,8,3,3,3,3,3,3,3,3,5,4,4,4,2,2,2,2,2,2,2,2,5,3,4,4,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,10,5,5,5,5,5,5,3,3,3,3,3,3,3,3,7,8,8,7,13,12,10,10,8,8,7,7,9,12,11,6,6,8,8,9,7,7,7,10,15,10,4,4,4,4,4,11,8,8,9,7,9,14,14,12,2,2,2,2,2,2,2,3,3,3,3,3,12,5,5,5,11,10,7,9,3,8,7,3,15,13,11,4,4,2,2,2,19,7,5,5,3,3,3,3,3,3,3,5,22,18,6,14,17,4,4,19,16,18,2,3,3,2,3,2,3,3,6,4,2,3,3,2,5,3,3,3,3,3,3,3,9,9,2,3,2,2,2,3,3,3,5,7,14,7,7,12,9,13,6,11,6,10,9,7,7,8,12,12,8,8,8,10,7,7,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,5,8,10,7,8,11,8,12,9,4,7,7,9,13,2,3,3,3,3,3,3,2,3,3,3,1,2,2,3,3,3,3,3,3,5,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,8,4,4,4,3,2,3,3,3,3,5,2,2,2,2,5,5,5,5,3,3,3,3,3,3,3,3,3,7,7,7,7,7,8,8,8,8,8,12,9,8,8,9,8,6,17,6,6,6,8,8,6,6,6,6,6,6,6,6,6,6,6,7,4,4,8,8,9,9,9,7,7,7,7,7,7,7,9,9,9,7,8,8,8,10,7,13,10,8,9,3,3,5,13,3,3,3,3,3,7,7,6,6,10,13,11,11,8,8,9,8,9,9,10,10,10,11,10,10,13,13,16,15,11,12,9,9,10,9,11,10,9,9,14,7,8,3,10,7,7,3,2,2,2,5,3,3,3,3,3,3,3,3,3,3,3,3,6,7,2,2,3,3,3,3,3,3,3,3,4,11,6,7,4,6,2,2,3,3,3,1,3,3,3,3,3,3,6,4,4,2,2,2,3,3,3,3,4,4,6,6,6,6,5,4,4,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,9,11,6,10,9,12,7,7,11,14,9,7,12,3,3,7,12,11,12,7,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,9,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,11,5,5,5,5,5,5,5,5,11,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,5,5,5,5,5,5,5,3,3,3,5,5,5,5,5,5,5,5,5,5,5,3,3,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,5,5,5,5,5,5,5,5,5,5,5,5,3,10,3,3,3,11,3,5,9,11,8,12,14,9,7,8,7,7,11,11,7,7,10,9,8,10,9,7,7,7,7,7,7,8,8,7,11,8,8,8,7,7,10,8,7,13,12,7,17,10,8,8,11,7,11,11,14,7,11,7,8,6,9,20,8,7,9,16,7,10,6,11,10,8,9,7,16,11,11,9,8,9,8,8,8,11,8,15,8,8,9,7,8,8,11,10,7,5,7,10,10,15,7,7,7,8,7,8,8,10,11,10,10,10,11,11,7,8,6,8,8,8,10,6,8,6,6,7,8,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,16,6,15,6,7,11,11,7,9,10,11,13,10,6,16,8,10,12,11,6,6,6,6,6,6,6,10,6,10,7,7,7,7,11,7,11,6,6,6,6,6,6,17,7,7,6,6,12,22,6,6,6,6,6,8,6,6,6,6,7,6,6,5,6,6,8,11,6,9,14,11,9,11,7,7,8,6,6,6,8,10,9,6,6,6,6,9,7,6,6,6,6,6,15,6,4,4,4,6,4,17,8,11,6,6,9,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,6,6,6,6,10,6,10,6,6,6,6,12,8,6,6,6,6,6,6,6,6,6,9,6,6,6,6,18,6,6,6,8,9,10,7,8,9,10,11,7,13,6,8,8,6,6,14,7,7,7,7,10,7,14,9,6,6,9,15,9,7,14,6,11,14,13,7,12,8,7,7,7,7,7,12,7,10,9,16,6,8,6,5,17,6,8,10,4,6,4,10,15,17,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,8,4,4,11,7,4,4,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,19,17,6,10,11,6,6,6,6,18,6,6,11,4,4,4,5,6,6,6,9,5,6,4,6,6,4,6,6,6,6,10,6,6,4,6,6,10,6,10,6,6,6,6,11,6,6,10,6,6,8,6,6,6,8,6,11,4,11,9,10,9,11,4,8,4,11,12,7,9,8,6,7,7,8,12,12,11,13,10,11,7,7,7,9,7,11,10,7,7,7,16,11,10,11,17,9,9,8,8,7,7,7,9,7,7,7,14,7,13,9,11,10,14,10,10,12,11,10,7,10,5,14,8,8,8,9,7,8,7,7,9,8,7,8,7,7,7,7,7,7,7,11,8,10,8,7,8,14,11,8,9,9,9,8,24,10,10,12,7,7,15,11,8,8,12,11,8,9,9,7,8,9,10,11,10,11,7,12,7,7,11,9,8,14,13,12,8,11,10,8,8,7,7,14,9,10,8,9,11,7,14,8,8,13,8,8,12,7,10,14,14,11,9,10,9,9,7,7,11,11,13,9,13,5,5,5,7,9,5,11,12,14,8,7,7,11,10,9,7,8,8,7,10,11,11,5,5,7,5,5,5,7,7,15,7,7,8,7,15,12,12,10,7,8,7,11,7,7,7,23,11,8,8,11,10,7,8,11,7,19,7,7,6,9,9,9,11,3,4,7,8,6,6,4,10,8,2,2]),CEe=new Uint16Array([0,0,0,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,17,1,1,1,12,1,12,1,12,13,1,1,1,1,12,1,12,1,1,1,1,1,14,21,1,1,1,1,1,1,1,19,12,1,1,1,1,1,1,1,20,1,1,1,16,18,1,1,15,1,1,1,1,12,1,1,1,1,1,1,1,22,1,1,1,1,12,1,1,1,1,1,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,1,24,25,26,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,1,1,12,12,12,12,1,32,0,0,0,1,1,1,1,35,34,1,1,1,1,1,33,1,1,1,1,37,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,38,0,0,0,0,39,40,0,0,0,0,12,1,1,12,1,1,1,1,43,44,44,44,43,44,43,43,45,44,43,44,43,43,43,43,43,43,45,43,43,43,43,43,43,44,46,46,44,43,43,43,43,43,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,49,51,49,49,49,51,49,50,49,52,49,50,50,49,49,49,50,52,50,52,49,50,50,12,54,54,53,55,50,52,49,49,47,48,56,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,59,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,66,1,12,1,1,65,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,77,0,0,0,0,0,0,0,0,0,0,0,0,0,75,78,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,1,12,1,1,1,1,88,1,90,1,1,1,1,1,1,1,1,93,1,1,1,1,1,1,1,1,1,1,1,1,0,1,96,96,1,1,12,1,99,1,1,1,1,1,1,1,97,1,98,1,100,1,1,1,1,1,101,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,109,110,1,1,1,1,1,1,112,112,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,120,121,1,1,1,1,1,1,1,1,1,1,1,1,1,121,1,1,1,1,1,1,1,1,1,1,121,1,1,1,1,1,1,1,1,1,125,122,124,119,1,123,1,1,113,1,1,1,1,116,1,126,1,1,1,1,1,1,118,1,107,1,108,1,12,127,105,1,111,1,1,1,1,1,106,114,1,12,12,12,117,115,1,1,1,1,1,1,0,0,0,0,1,12,12,1,1,1,1,1,12,133,1,1,1,1,1,1,1,1,1,1,1,12,135,1,1,1,1,1,1,1,1,136,137,12,12,134,132,44,44,139,49,49,138,141,140,1,1,0,0,0,0,0,0,0,0,0,0,0,0,144,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,142,0,0,0,0,1,0,143,131,1,0,1,1,12,12,1,1,1,1,1,0,0,0,0,0,0,0,1,147,146,20,1,1,12,12,1,20,12,12,1,1,1,1,1,133,1,1,151,1,1,1,1,152,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,1,135,1,1,151,1,1,1,1,152,1,1,133,1,1,1,151,1,1,1,1,152,1,1,133,1,1,1,1,1,1,1,1,133,1,1,1,1,1,1,1,1,1,1,1,159,1,1,1,151,1,1,1,1,1,152,1,1,159,1,1,1,1,1,1,1,1,1,1,133,1,1,1,1,151,1,1,1,1,152,1,1,1,133,1,1,151,1,1,1,1,163,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,166,1,1,159,1,1,1,1,1,151,1,1,1,1,1,152,1,1,159,1,1,1,1,1,151,1,1,1,1,1,152,1,153,157,157,12,1,12,165,1,1,1,1,1,157,157,157,153,1,1,1,156,157,160,164,1,1,1,1,156,156,1,1,155,153,153,156,169,155,169,1,1,167,1,155,154,156,1,1,1,1,156,1,158,1,1,1,12,1,161,1,161,1,1,1,161,160,162,168,155,153,1,1,1,1,1,1,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,171,172,171,172,171,171,171,171,173,173,171,172,171,172,171,171,12,1,12,12,12,12,1,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,193,1,1,1,1,12,199,200,201,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,150,1,1,1,1,1,1,1,1,1,1,1,196,1,1,1,184,1,1,1,1,207,1,1,204,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,12,1,1,1,1,1,1,1,1,176,190,1,1,1,186,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,182,1,1,1,1,1,1,1,191,1,1,1,1,195,1,1,1,1,170,1,1,189,1,1,1,192,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,180,1,12,1,1,12,1,1,1,1,183,1,1,1,188,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,208,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,194,1,1,1,1,1,12,1,1,1,1,1,1,1,1,175,12,1,1,1,178,12,1,1,1,1,1,1,1,198,1,1,1,1,1,1,1,1,1,1,177,1,1,1,1,1,1,203,1,1,1,181,1,1,1,187,1,12,1,1,12,1,1,1,1,1,1,1,1,1,1,191,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,174,1,1,1,1,1,1,1,1,1,1,185,1,1,1,1,1,1,1,1,1,1,1,205,1,1,1,1,1,1,1,1,1,1,12,1,206,1,1,12,1,1,1,1,179,1,1,1,185,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,197,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,12,1,1,1,1,1,1,1,1,1,202,1,1,12,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,1,1,1,1,1,1,1,1,1,218,0,0,0,0,0,219,0,0,0,0,0,0,1,12,1,1,1,223,1,1,1,0,224,221,222,1,1,1,1,1,1,229,1,231,1,1,1,1,1,1,1,1,1,1,1,227,1,1,1,1,1,233,1,1,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,232,1,1,1,12,1,1,1,1,228,1,1,1,226,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,230,1,1,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,239,13,1,1,1,12,12,236,237,1,1,1,1,238,1,1,12,1,1,1,1,1,1,1,240,1,1,12,16,1,1,1,1,1,1,241,1,1,1,12,12,1,1,1,1,1,1,241,12,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,1,250,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,254,254,1,0,0,0,0,0,1,12,0,0,0,0,0,0,0,0,171,259,260,1,12,1,1,1,1,12,262,1,1,261,1,1,264,1,1,1,1,1,1,0,1,1,1,268,1,1,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,12,1,0,1,0,0,0,0,1,0,1,0,1,1,1,1,1,0,1,0,1,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,1,12,0,279,0,0,280,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,1,12,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,59,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,1,1,1,0,304,0,0,0,0,0,0,0,0,0,306,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,1,1,1,1,12,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,322,322,323,322,0,185,1,1,13,318,1,316,0,0,0,0,0,0,0,319,1,1,324,1,204,1,1,1,1,317,1,314,1,320,1,312,1,321,1,313,1,1,1,1,1,1,1,12,1,1,1,1,12,315,315,1,1,1,184,1,1,12,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,12,1,1,1,1,311,1,0,0,0,1,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,327,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,264,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,367,367,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,359,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,1,1,0,1,335,346,1,1,334,369,1,340,1,1,332,364,1,1,350,331,336,1,1,1,343,374,352,1,1,1,1,1,1,353,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,1,0,362,366,0,0,78,1,1,0,360,337,373,338,341,348,1,363,0,1,0,78,357,355,1,0,0,1,1,1,0,0,0,0,376,1,1,347,1,78,1,0,1,1,1,379,1,0,0,78,354,0,1,333,1,1,1,0,1,1,356,1,0,1,1,1,0,1,381,344,1,1,0,1,0,0,372,0,1,1,1,78,365,1,1,361,358,1,1,1,1,1,1,1,1,1,1,1,339,1,1,1,1,1,1,1,1,1,1,1,371,0,78,1,1,1,1,0,1,1,1,1,1,1,0,0,1,1,375,1,1,1,0,0,378,0,0,0,1,351,1,0,78,377,1,0,0,0,0,380,1,1,0,0,1,0,1,0,349,0,345,0,1,1,1,0,1,1,0,368,342,370,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,1,0,0,0,1,0,0,1,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,1,0,0,1,0,0,0,0,0,12,1,1,1,12,396,396,1,1,12,12,1,396,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,408,1,1,0,1,1,1,1,204,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,426,426,1,1,0,0,312,1,1,1,1,1,1,1,1,1,1,1,1,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,439,1,438,1,1,1,1,1,1,1,1,1,443,1,12,12,1,1,1,1,1,12,1,1,1,1,451,1,1,1,453,1,1,1,1,1,1,1,1,1,1,450,1,445,1,1,1,1,432,1,1,1,1,1,1,1,1,446,12,1,1,1,1,452,1,1,1,447,441,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,312,1,429,1,1,12,449,1,1,312,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,434,1,1,1,1,1,1,1,1,1,1,1,452,1,1,1,1,312,1,448,1,1,1,442,436,1,1,1,1,1,437,1,454,440,1,1,1,1,1,435,1,1,1,1,1,1,1,1,1,430,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,444,1,1,1,1,1,1,1,1,1,1,1,1,433,1,1,1,1,1,431,1,218,455,1,1,1,1,1,12,1,1,1,1,12,1,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,0,1,0,0,1,0,1,0,1,1,0,0,0,461,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,12,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,465,0,465,465,465,465,465,465,465,0,465,465,465,465,465,1,465,465,465,0,465,465,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,470,469,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,474,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,467,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,468,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,476,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,473,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,477,472,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,471,0,0,0,0,0,0,0,0,0,0,0,0,0,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,466,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,465,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,475,0,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,12,1,1,1,1,1,1,1,1,1,1,1,1,487,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,198,198,1,491,1,1,1,490,1,1,1,1,486,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,488,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,492,1,1,489,1,1,1,1,1,1,1,1,367,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,493,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,1,0,0,0,0,1,0,1,0,0,0,0,0,0,0,1,0,0,0,504,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,1,0,1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0,0,1,0,1,0,0,0,1,0,0,0,1,0,0,0,0,1,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,0,0,0,0,0,0,1,0,1,0,0,12,1,506,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,1,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,12,12,1,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,1,1,0,1,0,0,0,0,0,0,0,1,0,0,1,0,1,1,1,1,0,0,0,1,0,0,0,1,59,1,1,12,12,12,12,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,525,1,1,1,1,1,1,1,526,1,1,1,1,1,1,1,524,1,1,12,1,1,528,237,1,1,12,12,1,1,12,1,12,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,532,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,1,1,0,0,0,1,0,0,0,1,0,0,0,0,0,1,1,1,1,1,0,0,0,0,0,1,1,1,538,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,131,1,12,543,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,106,1,1,12,1,1,1,12,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,548,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,1,1,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,1,1,0,0,0,1,1,1,1,0,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,0,0,0,0,0,0,143,1,1,1,226,1,1,12,30,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,0,0,1,573,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,0,0,0,0,0,1,0,0,0,0,1,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,1,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,218,1,323,1,1,1,1,1,1,1,1,1,0,0,578,1,1,1,1,0,580,0,78,0,579,0,1,1,1,0,1,1,1,1,1,1,12,0,0,0,0,1,0,0,0,0,0,0,586,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,582,582,0,585,583,582,582,582,582,582,587,582,582,591,582,582,582,582,582,582,582,582,582,582,588,585,582,582,585,582,582,582,582,582,582,582,582,582,582,582,582,582,583,582,582,582,582,582,589,582,582,582,582,582,582,0,0,0,1,590,1,1,1,1,584,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,1,12,595,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,0,0,0,0,0,1,12,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,12,1,1,12,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,95,64,276,302,407,534,0,4,67,234,252,278,303,329,383,409,0,498,518,535,597,9,0,60,87,393,405,425,576,0,496,517,531,612,0,30,6,0,460,499,602,561,69,0,7,281,253,384,462,412,537,78,598,0,577,305,414,464,9,104,284,505,6,30,0,307,78,386,78,482,10,6,130,246,271,0,613,508,0,564,0,63,6,6,249,94,2,428,394,406,596,0,6,0,6,282,102,6,562,500,539,0,463,385,269,283,8,70,103,599,542,387,308,296,415,145,73,286,546,509,601,565,330,325,478,6,74,148,11,0,247,521,547,566,513,551,571,611,36,6,258,291,328,300,216,30,527,554,216,41,214,263,292,301,402,419,480,270,0,72,563,0,399,413,295,78,245,78,0,581,545,503,288,417,78,388,382,0,0,0,9,556,572,215,0,420,403,530,515,574,615,84,216,42,293,391,421,570,0,510,289,272,78,213,79,28,385,30,6,389,326,299,604,592,523,550,512,0,256,80,30,401,418,0,30,422,0,217,593,516,9,404,423,216,246,85,220,594,575,558,481,424,392,248,225,86,58,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,620,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,410,0,0,0,0,0,0,0,0,81,0,128,0,0,83,549,0,0,0,0,0,0,0,27,0,552,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,410,0,0,0,0,502,0,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,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,290,0,0,0,0,0,0,0,617,0,0,0,0,0,616,0,0,0,0,0,0,0,0,0,0,0,0,0,0,390,0,0,0,483,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,0,0,0,0,0,0,494,0,0,0,0,0,0,400,0,0,0,0,0,0,0,0,0,0,0,0,0,209,0,0,0,0,0,0,0,0,0,0,0,514,0,0,0,0,0,0,0,0,0,0,0,0,495,0,0,0,0,0,0,0,0,0,0,0,0,0,0,267,277,0,0,0,0,0,529,273,0,0,0,0,0,0,0,0,0,0,0,0,0,511,0,0,0,0,0,0,0,0,0,0,0,456,0,0,0,310,0,0,0,0,0,0,251,0,0,0,0,0,0,23,0,0,0,0,569,0,0,0,0,600,520,0,0,0,0,242,0,0,0,0,0,0,458,0,0,479,0,0,0,0,0,61,0,0,0,265,57,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,244,0,0,0,0,0,275,610,0,71,0,0,0,0,0,0,0,0,0,619,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,149,0,274,0,0,0,0,0,0,568,0,0,0,0,0,0,522,0,0,0,0,0,0,0,0,0,567,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,62,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,211,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,0,501,0,0,0,0,0,555,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,83,82,0,0,0,0,0,0,0,0,0,0,0,0,485,0,484,0,0,0,0,0,0,0,0,0,0,257,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,457,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,285,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,536,0,0,0,0,0,0,0,0,294,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,68,235,0,0,0,0,0,0,0,0,0,0,83,0,606,0,0,553,0,0,0,0,0,0,0,0,0,243,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,609,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,519,0,0,0,83,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,497,0,614,0,0,427,0,0,0,0,0,0,0,0,0,0,0,0,398,0,0,0,544,0,92,0,0,0,0,0,0,0,0,0,0,31,0,0,0,0,0,0,29,91,0,0,0,0,0,0,0,0,0,0,0,0,287,0,0,0,212,0,0,0,0,0,0,559,0,0,0,0,129,0,0,0,0,0,560,0,0,0,0,0,0,0,410,416,0,0,0,0,0,0,0,0,0,0,0,0,0,0,395,0,309,0,0,0,0,0,5,0,0,0,0,0,0,0,297,0,0,0,0,0,0,0,0,0,0,0,0,0,533,0,0,0,411,0,0,397,0,0,0,0,0,0,603,0,0,0,540,0,0,89,0,541,0,0,0,0,0,0,0,0,0,0,507,459,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,266,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,410,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,608,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,607,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,618,0,0,0,0,0,557,0,0,0,0,0,0,0,0,0,0,298,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,605,0,0,210,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,623,623,623,623,623,623,623,622,624]),eb="orgmilcomschnetedugovdrrformsfeedbackofficialaccoorgmilschnetgovmagazinemediaunioncargopilotgroupcaarespressworksaerodromeworkinggroupair-traffic-controlaircraftaccident-preventioneducatormarketplaceambulanceinsurancecateringairportrepbodyenginesoftwaremodellingair-surveillanceconsultingchartertrainermaintenanceservicesdesignflightskydivingfreightassociationstudentgroundhandlingdgcafuelclubtaxicrewshowballooningexpresstraderbrokerauthoragentsairtrafficjournalistsafetyconsultantmicrolightaccident-investigationparachutingequipmentproductionfederationrecreationscientistnavigationengineertradingglidingleasingresearchpassenger-associationentertainmentparaglidinghangglidingaerobaticrotorcraftemergencycertificationgovernmentaeroclubexchangelogisticschampionshiphomebuiltcouncilconferencecontrolairlinecivilaviationjournalorgcomnetedugovcoorgcomnomnetobjofforgcomnetuwukiloappsframerorgmilcomnetedugovcoradioorgcomnetcommuneedogpbcoitgvorgedugov*spreviewfrontendrelayononstagingupid*mtls*privatelinktypedreamdeveloperbravemochawindsurfaivenmirenupsunwnextbegetngrokclerkwale2bwebcsbrunputerflutterflowspawnbaseshiptodaymagicpatternsnetlifyondigitaloceanrailwayhostedclaudehasurabotdashvercelgithubluyanigadgetreplitcloudflaretelebitedgecomputeevervaultexponyatnoopencrpplxzeaburwasmerframerzeropsrocketpreviewconvexmedusajsspritesonherculeseasypanelstreamlitsnowflakemesserliloginlinehackclubcodepennorthflankbase44corespeedleapcellngrok-freeclerkstagelovableon-fleek*us-west-3ap-south-2us-central-2us-central-1eu-central-1ap-south-1us-west-2us-east-2eu-north-1ap-north-1us-west-1us-east-1*rcloudintsegorgmilcomgobbetnetintedugovturmusicasenasamutualcoopip6uriurnin-addre164homeirisgovdixdaemoncloudnssthwien*inexexkunden4accogvormymyspreadshop4lima2ixortsinfofuturecmsfuturehosting12hpprivfuturemailinglima-cityfunkfeuer123webseitednshomemelmyspreadshopcloudletswasantqldvicactnswtascatholicwasaqldvictasidwasantozqldorgcomvicasnactnetedugovnswtasconfcomairflowlambda-urltransfer-webappairflowtransfer-webapptransfer-webapptransfer-webapp-fipstransfer-webappeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1privatenotebookstudiolabelingnotebookstudionotebooknotebook-fipslabelingnotebookstudionotebook-fipsnotebookstudio-fipsnotebook-fipsnotebookstudionotebook-fipsnotebookstudioeu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2experimentsus-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1onrepostsagemakercopporgmilcompronetintedugovbiznameinfoshoprsorgmilcomnetedugovbrendlyresolvenzauscotvstoreorgcomnetedugovbizinfoidacaicoittvorgmilcomschnetedugovinfocloudezproxyacmymyspreadshopkuleuvenwebhostingtransurl123websitecloudnsinterhostsolutionsddns5476103298edgfacbmlonihkjutwvqpsryxzbarsycoororgcomedumyftpno-iporxcloud-ipfor-somemmafanfor-morewebhopselfipjozidyndnscloudnsdscloudfor-thefor-betteractivetrailcoeconorestooteorgcomeconeteduassurmoneyafricaarchitectesrestaurantloisirstourismavocatsinfoagrounivcoorgcomnetedugoviatvdeportesaludtksatorgmilcomwebgobnetinteducienciaboliviarevistacooperativaempresanombreindustriamusicapatriamedicinademocraciapoliticapuebloindigenaplurinacionalarteblogwikiinfoagrotransportenoticiasprofesionalacademiaeconomiaecologiamovimientotecnologianaturalsimplesitecepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesmscepesebamapadfmgalampbacscpirngorotomtrjspaprrprrsesms*biaamfmtcmptvfeirasampajampanatalbelemananiradiog12medindfndbmdtrdthepoaggfjdfdefinfenflegsegongengcngorgzlgslglogppgmillelqslcimcomnomadmjabimbbibbsbabcrectecsjcetcpscpvhudieticriapipsiecnbiorioecogeoteoodoproatoartfstmatvetdetbetnetcntnotfotgrueduajuespappreptmpemparqsrvadvdevgovntrturagrjorfarjusmusdesvixxyzcozfozslzbhzmaringasantamariacampinagrandegoianiasorocabafloripasaobernardocuritibaboavistarecifeaparecidasaogoncasalvadorcuiabamorenamacapalondrinacontagemsocialfortalmaceioleilaoosascoriobranconiteroi9guacutcheblogflogvlogwikitaxicoopmanauspalmascaxiasjoinvillebaruericampinassantoandreribeiraoriopretoweorgcomnetedugovv0windsurfshiptodaycloudsitecoaccoorgnetgovofmilcomgovmediatechzacoorgcomnetedugsjgovmydnspenfnlabnbmbgcbcqconcontnuyksknsmyspreadshopno-ipawdevboxbarsyonidatemfuinabusavinstanceseceuguukussryzespawncsxcloud-ipmyphotosfantasyleaguetwmailcleverappsscrappingccwucloudnsftpaccessgame-serverccgovobjectsrmalpgcust*svcalp1aeappenginermalpgmyspreadshop4lima2ixsquare7cloudscale123websitefirenet12hpflowgotdnslinkyard-cloudcloudnslima-citydnskingobjectstorageedaccogoorusorgcomnetintedua\xE9roportxn--aroport-byaassogouvcomilgobgovcloudnses-1eu-west-1us-east-1euvipit1eurarubait1s3lbwebsites3websiteru-spbru-mskelasticcsrunstnukukcaukusnl-ams-1fr-par-1fr-par-2functionsnodess3ddlwhmrdbfnck8sifrs3-websitecockpitscblmgdbdtwhkafkpubprivs3ddlwhmrdbk8sifrs3-websitecockpitscblmgdbdtwhkafks3ddlrdbk8sifrs3-websitecockpitscblmgdbdtwhkafkk8sscalebookpl-wawfr-parnl-amsbaremetalsmartlabelinginstancesdechk2kuleuvenlaravelvoorloperurownoxazapscwhstgrvaporonline-serverobservablehqelementorantagonistreclaimjoteluluencowaydiademjelasticmatlabmagentositetrendhostingaxarnetperspectajenv-arubajelejoteravendbemergenttrafficplexconvexkeliwebserveboltbegetcdnstaticson-rancherprimetelonstackitunison-servicesdnshomelinkyardbarsyjelecloudnscocomnetgovmycn-northwest-1cn-north-1s3s3-accesspoints3-websites3s3-accesspointrdsdualstacks3-deprecatedemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspoints3s3-accesspointrdsdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicn-northwest-1cn-north-1cn-northwest-1ebcomputeelbcn-north-1airflowcn-northwest-1cn-north-1oncn-northwest-1cn-north-1amazonawssagemakeramazonwebservicesdirectasgdsdhehahljlnmhbacscahqhshhihnlnynsnmofjbjzjxjtjhkcqtwgsjssxnxjxgxxzgz\u7DB2\u7D61\u7F51\u7EDC\u516C\u53F8orgmilcomnetedugovxn--55qx5dcanva-appsxn--io0a7iquickconnectcanvasitekhsjxn--od0algcanva-codemyqnapcloudsrvrlessclustersrealtimestorageleadpagescarrdcrdorgmilcomnomnetedugovhidnssupabaserdpareplmypiumsoxmitotaplpagesfirewalledreplitowodevwebview-assetsvfswebview-assetss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websiteemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecateds3-websites3-object-lambdaexecute-apis3s3-accesspoints3-websites3-accesspoint-fipss3-fipss3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstackemrappui-prods3-websites3-accesspoint-fipss3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apis3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9vfss3s3-accesspointdualstackemrappui-prods3-websiteaws-cloud9emrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9eu-west-3ap-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1us-northeast-1ap-southeast-1me-south-1af-south-1ap-south-1ap-southeast-7us-west-2eu-west-2ap-east-2us-east-2ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ap-southeast-6ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1mrapaccesspoints3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3s3-accesspointdualstacks3-deprecatedanalytics-gatewayemrappui-prods3-websites3-accesspoint-fipsaws-cloud9s3-fipsemrstudio-prods3-object-lambdaemrnotebooks-prodexecute-apicloud9s3eu-west-3ap-south-2eu-south-2computes3-ap-northeast-2elbrdss3-ap-east-1s3-sa-east-1s3-us-gov-west-1s3-eu-central-1s3-ca-central-1eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3s3-website-us-west-2s3-website-eu-west-1s3-external-1eu-central-1me-central-1ca-central-1il-central-1s3-us-west-1s3-eu-west-1s3-website-sa-east-1s3-website-ap-southeast-2ap-northeast-1ap-southeast-1s3-us-west-2s3-eu-west-2me-south-1af-south-1eu-south-1ap-south-1us-west-2eu-west-2us-east-2s3-website-ap-southeast-1s3-1s3-globals3-ap-northeast-3eu-north-1airflowap-southeast-2s3-us-gov-east-1s3-fips-us-gov-east-1s3-me-south-1s3-ap-south-1ap-northeast-2s3-website-us-west-1ap-southeast-5s3-eu-north-1s3-ap-southeast-1s3-website-us-gov-west-1compute-1s3-eu-west-3us-gov-west-1s3-website-ap-northeast-1us-gov-east-1s3-fips-us-gov-west-1s3-website-us-east-1s3-ap-southeast-2ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1s3-us-east-2s3-ap-northeast-1authauthauth-fipsauth-fipseu-west-3ap-south-2eu-south-2eu-central-2ap-southeast-3ap-southeast-4ap-northeast-3eu-central-1mx-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1ca-west-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1rframeservicesbuilderstg-builderdev-builder*ociocpocsdemoinstanceeu-west-3eu-south-2ap-southeast-3ap-northeast-3eu-central-1me-central-1ca-central-1il-central-1ap-northeast-1ap-southeast-1me-south-1af-south-1eu-south-1ap-south-1ap-southeast-7us-west-2eu-west-2us-east-2eu-north-1ap-southeast-2ap-northeast-2ap-southeast-5us-gov-west-1us-gov-east-1us-west-1eu-west-1us-east-1ap-east-1sa-east-1previeweu-4us-4us-1eu-1us-2eu-2us-3eu-3appspaasrag-cloudrag-cloud-chjcloudjcloud-ver-jpcdemonodebalancermembersipeuxvsoncillaocelotonzayalilynxsphinxfentigercustomercaracalo365cloudstaticxendevapp001testcode-builder-stgplatformmediasiteprojedrydpagesjsx0desazacncoitrueu4uhkukgrbrushatenadiarymyspreadshopfrom-flfrom-wvwebspace-hosttheworkpchatenablogcursorusercontentservesarcasmapplinzisakuratanwixsiteappchizigiizeis-into-carsdnsiskinkyadobeaemcloudis-a-therapistpgfogmyvncdojinis-an-actress1kappfldrvkozowqa2jpnmexprgmrfirewall-gatewaydynnscafjsfbsbxooguyfrom-gawoltlab-demois-a-anarchistwiardwebteaches-yogadattowebtb-hostinglive-websiteservegamegotpantheonfrom-nhsubsc-payfrom-ohvipsinaappfrom-cadyndns-officehomelinuxfrom-mahercules-appservebbsstreakusercontentfrom-okfrom-wyfastly-terrariumis-a-llamaqualyhqportalserveexchangeon-vaporvivenushopciscofreakgrayjayleaguesmetaaiusercontentfrom-iais-a-libertariansaves-the-whalestaveusercontentyolasiteoperaunitepoint2thisis-a-catererclaudeusercontentlinodeusercontentfrom-vagithubusercontentsells-for-lesshosteurcanva-appsplaystation-cloudddnsfreefrom-pafrom-prfrom-waddnskingoutsystemscloudhotelwithflightmydattois-a-nascarfanmydbserverminiserverdamnserverservehumouris-a-playerfrom-nvfrom-nmemergentagentgentappsamplifyappfrom-kyis-an-accountantnfshostserveircfrom-akpythonanywherestackhero-networkpostman-echolikescandydyndns-mailobservableusercontentserveftpfreeboxosfrom-utcdn77-storageamazonawsneat-urldyndns-serverlinodeis-a-teacherfrom-vtgleezemythic-beastsus1-pleniteu1-plenitla1-plenitpaywhirlservecounterstrikejdevcloudhealth-carereformis-into-animegoogleapisis-a-painterafricaisa-hockeynutatmetais-an-actora2hostedis-a-democratdatadetectest-le-patrondigitaloceanspacesis-a-designeris-a-hunterlinodeobjectstemp-dnsissmarterthanyoufrom-arsimplesiteevennodetownnews-stagingis-a-liberalgooglecodejelasticservemp3qualyhqpartnerdyndns-free1cooldnsest-a-la-masiondrayddnsdynuddnsfrom-orfrom-miis-a-bloggerfrom-himydobisscanvacodeis-an-engineerest-a-la-maisonupsunappdevinappswafflecellmyasustorwpenginepoweredfrom-ctservep2psame-appmyshopblocksthingdustdatalikes-piediscordsezis-with-thebanddev-myqnapcloudlpusercontentis-leetshopitsite3utilitiesis-a-personaltrainersinaappladeskis-a-cheflogoipselfipbase44-sandboxnospamproxyalibabacloudcsmesswithdnsauthgearappsiamallamawithgooglelutrausercontentmochausercontentframercanvasmytabitdyndns-homew-credentialless-staticblitzcpserverdiscordsaysis-a-nurseappspotatlassian-isolated-3premotewdfrom-mtwixstudiocode0emm180rmyactivedirectoryawsappsmytuleapdnsabrpolyspaceqbuserrenderbuiltwithdarkboutirgotdnsabrdnsdopaascanva-hosted-embedawsglobalacceleratorhomesecuritypcmyiphostditchyouripclever-clouddyndns-ipon-aptibleis-a-musiciansecuritytacticsappspaceusercontenthomeunixstrapiappsame-previewcf-ipfsmycloudnaselasticbeanstalkis-certifieddontexistkasserverik-serverdrive-platformatlassian-3pfirebaseappherokuappawsapprunnerbarsycenteris-a-cubicle-slaveservehttpmyshopifyis-a-guruquicksytessiiitesorsitesmagicpatternsappis-a-cpameteorappfrom-wiis-a-rockstarbumbleshrimpdattolocalreadthedocs-hostedfrom-rifamilydsdyndns-picsplesknsbplaceddnsaliasdynaliasdyndns-remotedoomdnsip-ddnsblogdnsis-a-doctorroutingthecloudamazoncognitobarsyonlinedsmynasddnsgurucloudflare-ipfsdeus-canvasfrom-idsmushcdnpagespeedmobilizerdyndns-at-homeunusualpersonhosted-by-previderis-a-republicandyn-o-saurstreamlitappworkisboringonthewificprapidqualifioappis-uberleetis-slickgetmyipwpdevcloudtypeformdyndns-at-workgentlentapismynascloudw-corp-staticblitzfrom-ingeekgalaxyservebeerfrom-mdonrenderspace-to-rentaivencloudappspacehostedwafaicloudcodespotblogspotatlassian-3p-us-gov-modfrom-ndfrom-msis-a-techieis-a-studentcustomer-ociis-a-photographerdurumisfrom-ksmassivegriddyndns-wikiis-an-entertaineris-a-hard-workermysecuritycamerafrom-mnrackmazedyndns-blogis-a-bulls-fanwritesthisblogfreemyipsimple-urlfrom-sdreservdauthgear-stagingest-mon-blogueuris-into-gamesrice-labsxtooldevicesakurawebis-an-anarchistoraclecloudappsdyndns-worksells-for-urhcloudfrom-dcfastvps-serverwpmucdnis-a-geekscrysecfrom-txis-into-cartoonsmodelscapetrycloudflarelocaltonetstreak-linkbalena-devicesfrom-njforgeblocksfreebox-oswebadorsitefrom-ncdoesntexisthobby-sitestreaklinkshomesecuritymacownprovidertuleap-partnersdattorelaywphostedmailalpha-myqnapcloudservequakeis-a-socialistservehalflifepivohostingdynuhostingquipelementsw-staticblitzdyndns-webfrom-deproject-studyaliases121is-not-certifiedhercules-devis-a-financialadvisorservepicsis-a-greenloseyouripfrom-ilwithyoutubemwcloudnonprodwiredbladehostingdnsdojofrom-tnpixolinomyqnapcloudis-an-artisthostedpiis-a-landscaperauiusercontentoaiusercontenton-forgeis-a-conservativedreamhostersnet-freaksapps-1and1is-goneencoreapifastly-edgefrom-nesalesforcefrom-scdeployagentoraclegovcloudappsfrom-alis-a-lawyercechirevultrobjectsstufftoreadisa-geekddnsgeeklovableprojecttry-snowplowfrom-moblogsyteis-a-bookkeepernogmyforumravendbmyboxdeelementoredsaacficogoorinforgcomgobnatneteduidstoreorgcomnetintedudevnomepublorgcomneteduathgovtestscalculatorspaynowinfoquizzesresearchedcloudnsfunnelsassessmentsjscaleforcetmacltdorgmilcompronetgovbizpresseklogesrsccloudcustomfltusrcloude4corealmgovmunicontentproxy9metacentrumdyndyndyndnsdynpagespages-researchitionoccustomercomymyspreadshopipv64diskussionsbereich4limacomrub2ixfirewall-gatewayddnssspdnsbarsykeymachinesquare7myhome-serverspeedpartnercommunity-proschuldockxenonconnectg\xFCnstigliefernbwcloud-os-instancedyndnssecmy-routerxn--gnstigliefern-wobin-butterl-o-g-i-nisteingeekin-dslin-berlinin-brbfuettertdasnetzleitungsenin-vpnlcube-serverdyn-ip24logoipdyn-berlinruhr-uni-bochum12hpgoipsrvdnsfruskygit-repossvn-reposinternet-dnsg\xFCnstigbestellenhome-webserverxn--gnstigbestellen-zvbbplacedheimdnscosidnswebspaceconfiglima-citydyndns1istmeinvirtualuserschulplattformmy-gatewayddnsseclebtimnetztest-iservmein-iservvirtual-userhome64iservschuletaifun-dnstraeumtgeradeschulserverdynamisches-dns123webseitednshomehs-heilbronndnsupdaterbssgraphicdwadpdwdaepeweaawapaafpfwfabwbpbacwcpcciwebuserapiobjectsidsiskospockkimodorikerbonesteamsparisjanewaypicardglobaltarpitreedpikekiraworfsulukirkarchertuckerhackercanarywesleystagingprereleaset3r2lpbravepanelngrokiservstglclcrmerpflypagesbarsyvivenushoplocalcertlocalplayerbearbloggatewaydeno-stagingis-not-ais-a-goodbotdashvercelmocha-sandboxplatter-appreplitgithubpreviewworkersinbrowserevervaultis-ahrsndenoxmitmodxmyaddrstorageapipayloadgrebedocruncontainersstgstagelclstageloginlineis-a-fullstackcodepenleapcellngrok-freeis-coolstoragewebharemediatechlibp2pdiscourseimaginecomyspreadshopstoreregbiz123hjemmesidefirmcoorgcomnetedugovsldorgmilcomwebgobartnetedugovtmorgpolcomsocartnetedugovassoagrondiscoodontk12medcuegyecpaabgengorgmilgalsaltulcomadmesmgobpubdocmonfindgnriouioproartlatvetnetfotedulojgovntrturibrbarxxxofficialbasechefprofmktgpsictechinfoarqtcontdentrrpppsiqgit-pagesritmedfieorgcomlibprieduaipgovriikmeactvsportorgmilcomscieunnetedugovnameinfopintouchtawktotawkmyspreadshoporgcomnomgobedu123miwebcomputeorgcomnetedugovbiznameinfocognito-idpeusc-de-east-1onjelasticnxaspdnsbarsydirectwpdeuxfleurstransurldogadoprvwcloudnsamazonwebservicesdnshomeuserpartycokoobinmkmfidymyspreadshopalandkapsiikixn--hkkinen-5wacloudplatformh\xE4kkinen123kotisivuidacorgmilcompronetedugovbiznameinforadioorgcomneteduuserexperts-comptablestmmyspreadshopgretaprdcomnomynhccifbxoshuissier-justicenotairesaeroportfreeboxoson-webavocatassoportgouvkdnschirurgiens-dentistes-en-franceavouesfbx-os123sitewebveterinairechirurgiens-dentistespharmacienchambagrimedecinfreebox-osdediboxgoupilemszicpyicpvicppleysheezypagesedugovcnpyorgcomcybllcpvtnetedugovtnxonlineschooldaemond6atcopanelorgnetplybotdashstackitkaasorgmilcomnetedugovbizmodltdorgcomedugovcoorgcomneteduappwriteacorgcomnetedugovcloudtranslateusercontentorgcomnetedumobiassoorgcomnetedugovbarsysimplesitediscourseindorgmilcomgobneteduorgcomwebnetedugovguaminfonxhra\u6559\u80B2\u654E\u80B2\u7DB2\u7D61\u7F51\u7D61\u7EC4\u7E54\u7D44\u7E54\u7F51\u7EDC\u7DB2\u7EDC\u7EC4\u7EC7\u7D44\u7EC7\u516C\u53F8\u653F\u5E9C\u500B\u4EBA\u4E2A\u4EBA\u7B87\u4EBAltdorgcomincneteduidvgovxn--uc0ay4axn--55qx5dxn--mk0axixn--io0a7ixn--uc0atvxn--zf0avxxn--lcvr32dxn--od0algxn--wcvs22dxn--gmqw5axn--od0aq3bxn--mxtq1mxn--ciqpnxn--tn0agxn--gmq050iorgmilcomgobneteduiservwp2tempurlmircloudfreesitewpmudevmyfastgadgetcloudaccessjelehalfboltfastvpsemergenteasypanelopencraftizcombrendlynamefromrtpersoadultmedorgpolrelcomproartnetedufirminfoassoshopcoopgouvtmcomediahotelforumvideosportorgsexagrargameslakaseroticaerotikatozsdereklamcasino2000filmsuliinfoboltshopprivnewsszexcityutazasjogaszkonyveloingatlaneacaicogoormy\u1B29\u1B2E\u1B36milwebschnetkopbizzonedesaponpesxn--9tfkymyspreadshopgovmytabittabitorderravpageaccok12idforgnetgovmuniltdplcaccotttvorgcomnetmeca6g5gpgamubacaicniocoukuptverdruscsdelhiindorgmilcomwebnicfingenpronetintedugovresbizbiharbarsyinternetbusinessschooltravelsupabasealumnigujaratfirminfoaeropostbankcoopindevscloudnsno-ipbarsybarrell-of-knowledgebarrel-of-knowledgensupdategroks-thisdnsupdatefor-ourknowsitalldvrcammittwalddynamic-dnsv-infowebhopselfipdyndnshere-for-moreilovecollegemayfirstforumzcloudnsmittwaldservertypo3servergroks-theeusekd1cdndyndnsidrawsainaueuapjpusstagemocksysdevicesclientcustreservdcustdevdisrecprodtestingcobeebyteutwenteboxfusebravepstmndedynngrokorgmilcomnomnetedugovqcxqzzbarsythingdustmo-siemensrb-hostingfh-muenstergitbookbluebitecloudbeesusercontentnodeartkiloappsforgerockdarklangresinstagingapigeebubbleb-datascryptedhypernodedappnodepantheonsitegitlabgithubkeeneticvirtualservercleverappshostyhostingon-rioedugitticketstelebitwixstudioon-k3sicp0icp12038jeleqotolairbubbleappsmyaddrstolosmyrdbxwebflowdrive-platformbeagleboardhasura-applolipopdefinimavaporcloudmusicianwebflowtestazurecontainerresindevicereadthedocsloginlineeditorxmoonscalesandcatsbasicserverwebthingsbrowsersafetymarkbeebyteappbitbucketidaccovistablogorgschnetgovxn--mgba3a4f16axn--mgba3a4fraarvanedge\u0627\u064A\u0631\u0627\u0646\u0627\u06CC\u0631\u0627\u0646jclaspeziapdudcefegelemeperetevebacanatavaparasabgagfgogrgpgalclblimfmrmcbmbvbfclcmcvcrcpcchlimifibicivipirisimncnbnanenrnpntnnolomobocoaogorosopotoptvtatctbtmtltotpusulunutpspapaqsvpvvvtvavvrtrsrprgrfrcrbrarorkrvstsssbscsmsispzczbzbozen-suedtirolmyspreadshopxn--bulsan-sdtirol-nsbxn--valledaoste-ebbtrentinoaltoadigetrentin-sued-tirolxn--forlcesena-c8axn--forl-cesena-fcbxn--bozen-sdtirol-2obtriestetrentinsuedtiroltrentino-s-tirollecceudineaostesienaparmaluccapaviagenoapaduaaostamonzaabruzzoternirietiturinmilanbozenlaziofermoleccocuneonuoropratola-speziavdataaligfvgpugmolcalcamlomumbsicpmnvenvaoedugovabrsarmaremrbastoslazibxosfirenzetrentinos\xFCdtirolval-d-aostavalle-aostamessinacremonaravennatoscanatrentin-suedtirolbolognacalabriaurbinopesarofriuli-v-giuliaogliastraxn--valle-aoste-ebblaquilaandriatranibarlettasyncloudxn--valle-d-aoste-ehbaostavalleyvalled-aostatrentino-alto-adigevallee-d-aostexn--balsan-sdtirol-nsbpistoiasicilialucaniacataniaiserniaperugiabresciaveneziagorizialiguriaimperiabulsan-suedtirolbalsan-suedtirolbarlettatraniandriaxn--trentino-sdtirol-szbforl\xEC-cesenatuscanyvall\xE9e-d-aostemantovavall\xE9e-aostecasertapiemontevalleaostaval-daostafriulivgiuliatrevisoforli-cesenavall\xE9edaosteferrarapescaravald-aostatrentino-altoadigefriuli-vegiuliavallee-aostecarboniaiglesiastarantomediocampidanovalleedaostetrentinosud-tirolcampobassotrentins\xFCd-tiroltrentinos\xFCd-tirolmonzabrianzatrentino-s\xFCdtirolxn--trentino-sd-tirol-c3bpotenzacosenzavicenzaemiliaromagnavenicefrosinonemarchepordenonetrentinosued-tirolvaresemolisevall\xE9eaostefriuli-veneziagiuliabasilicatalatinaanconasavonaveronamodenabiellabolzano-altoadigepugliafoggiaumbriatrentino-stirolgenovapadovamateranovararagusapiacenzatrentinostirolvalleeaostetempio-olbiasudsardegnatrentinsudtirolmassa-carrarafriuliveneziagiuliatrentinosuedtirolandria-barletta-tranitrapanixn--cesenaforl-i8amaceratacaltanissettaascoli-picenobrindisicarraramassacagliaririmininapolivibo-valentiachietibulsan-sudtirolbalsan-sudtiroltrentino-a-adigebulsanbalsaniglesiascarboniamilanotorinoteramodell-ogliastraarezzotrentinoalto-adigerovigotrentovenetoiglesias-carboniatrentino-sud-tirolaltoadigereggio-emiliareggio-calabriasardegnatranibarlettaandriapiedmontxn--sdtirol-n2amedio-campidanotrentino-s\xFCd-tirolfriuli-vgiuliafriuli-ve-giuliaromeennaromapisa32-b16-b64-blodiastibarineencomonaplesforlicesenailiadboxosalessandriasicilytrani-barletta-andriaxn--trentin-sdtirol-7vbpesarourbinotrentinsued-tirolcesena-forliforl\xECcesenaemilia-romagnamonzaebrianzaxn--trentinsdtirol-nsbtrentinos-tiroltrentins\xFCdtirolvalledaostaolbia-tempiocampidanomediovibovalentiasassarivalle-daostalombardysud-sardegnafriulivegiuliareggioemiliamonzaedellabrianzaalto-adigevercellitrentin-sudtiroltraniandriabarlettatrentino-sudtirolascolipicenobozen-s\xFCdtirolfriulive-giuliaflorencexn--cesena-forl-mcbcarbonia-iglesiasaosta-valleycarrara-massadellogliastratrentinoa-adigexn--valleaoste-e7apesaro-urbinoxn--trentinosdtirol-7vbxn--trentin-sd-tirol-rzbxn--trentinsd-tirol-6vbtrani-andria-barlettatrentin-s\xFCd-tirolxn--trentinosd-tirol-rzbgrossetomonza-e-della-brianzas\xFCdtirolreggiocalabriatrentinoaadigetrentin-s\xFCdtirolverbano-cusio-ossolafriuliv-giuliaverbaniacampaniatrentino-aadigefriulivenezia-giuliasardiniaandriabarlettatranibarletta-trani-andriacatanzarooristanourbino-pesarocesena-forl\xECvalle-d-aostacampidano-medio123homepagesiracusatempioolbiasuedtirollombardiaavellinocesenaforl\xECtrentinofriuli-venezia-giuliabozen-sudtirolandria-trani-barlettabulsan-s\xFCdtirolbalsan-s\xFCdtirolmonza-brianzabolzanotrentino-sued-tirolbellunosalernolivornocrotonesondriodnshometrentinsud-tirolmassacarraratrentin-sud-tiroltrentino-suedtirolviterbobergamocesenaforliolbiatempiopalermobeneventoagrigentoofcoorgnetfmaitvphdengorgmilcomschnetedugovperagrikanieasukehandachitatokaiaisaikonanoharuamaobuhigashiuraowariasahiinuyamatobishimaiwakurashitarainazawatoyonegamagorimihamatoyotataharakariyayatomioguchikomakimiyoshinishiotokonamekiyosuchiryutoyohashiokazakiisshikikasugaikotakiratoeianjotogofusosetohazutsushimashinshirotakahamanisshinshikatsuhekinantoyokawaichinomiyatoyoakeodateogataakitaikawakyowahonjoogayurihonjonoshirokamiokakatagamimitanegojomeyokotekosakadaisenkazunonikahohonjyomoriyoshimisatohappoukamikoanihachirogatahigashinarusesembokufujisatokitaakitaitayanagiowanitakkomutsutsurutahirosakigonoheoirasetowadamisawanohejiaomorishingohiranairokunohehashikamitsugarushichinohehachinohenakadomarisannohekuroishisakaeisumiasahiotakiinzaiabikomatsudoyachiyomutsuzawakujukuriomigawakashiwatoganemihamanaritasakuranagaramobarahanamigawachoshishiroichoseikozakishisuikatorimidorichonankyonanfuttsuonjukufunabashinagareyamanodasosatakochuotohnoshourayasukimitsuyokaichibayotsukaidosodegauratateyamakamagayayokoshibahikariyachimatakatsuuratomisatokisarazukamogawaichikawanarashinoichinomiyashimofusaminamibososhirakoichiharaoamishirasatoikatahonaiainansaijoseiyoiyoozuuwajimaniihamanamikatamasakiuchikokihokutobetoonshikokuchuomatsuyamaimabarikamijimakumakogenyawatahamamatsunosabaeikedaobamasakaifukuiohionotsurugamihamawakasaminamiechizeneiheijikatsuyamatakahamaechizensoedaukihaomutaokawanishiogoribuzenonojosueumiokiotochikugosasagurisaigawamizumakishinyoshitomikurumekurateyamadakasuganakamamiyamanogatatakatahakataiizukakawaratagawakasuyaashiyainatsukimunakataminamitsuikishonaikurogifukuchikeisenhigashimiyakoshinguyukuhashiokagakiyamekogaongausuikahotohochuotoyotsumiyawakadazaifuhisayamatachiaraiyanagawanakagawahirokawachikujochikushinochikuhochikuzennamieotamaokumashowateneiiwakikoorinangoononishigoshimogoomotegomishimafukushimaasakawakagamiishishirakawaiitatefutabahiratayugawahanawakitakatakawamatakunimiyabukibandaihigashihironoyamatomiharuyamatsuriaizubangedatesomaaizuwakamatsuyanaizuaizumisatonishiaizuizumizakikitashiobarataishinkaneyamakoriyamainawashirotanagurafurudonosamegawasukagawaishikawatamakawaikedaogakitaruiginanenahashimahichisonakatsugawaibigawashirakawamizunamiminokamomitakekawauesekigaharatomikasakahogikitagatayamagatatajimianpachimotosuyaotsukakamigaharahidakanisekitokigujominogodoyorogifukasamatsutakayamawanouchihigashishirakawakasaharashimonitatsumagoichiyodakannakanrashowameiwakiryuotaoratomiokafujiokaitakuranaganoharahigashiagatsumatakasakishibukawaminakamikatashinatsukiyonokawabanumataannakaoizumimidorishintoisesakiuenoyoshiokakusatsutakayamanakanojonanmokutamamuratatebayashimaebashiotakekaitadaiwahongofuchukuietajimashobaramiharahatsukaichihigashihiroshimamiyoshikumanokurenakasakaseraseranishiasaminamifukuyamashinichionomichiosakikamijimajinsekikogentakeharaotobenanaeikedatohmaozoraobiraabirakyowaeniwataikibibaisharirebunerimohiroooketootarupippunishiokoppechitosefurubirahakodateshiranukakitahiroshimakushiroobihironanporoiwamizawaniikappukunneppufukushimanakasatsunaitoyourakuromatsunaiakabirakamisunagawashibechaurakawakamifuranonakatombetsuasahikawashimokawakayabeokoppebiratoriabashirisaromaatsumanumatahidakabifukamukawamikasahorokanaitoyotomisarufutsuhigashikawaishikarikitamiyoichiesashiiwanaitomariminamifuranoakkeshifuranotoyakoyakumootoineppushikaoishiraoinemuronayorohaboroashorobihororishirifujiutashinaihokutotakasuebetsuurausuassabukikonaishimamakinaiedatetoyabieinikiesanuryuoumuteshikagarikubetsuashibetsukimobetsuaibetsutobetsusobetsuembetsushimizuchippubetsurishirihokuryuhoronobeshintokutsubetsushibetsuhonbetsumombetsutsukigatakuriyamakoshimizushiriuchikutchanmurorannoboribetsukamishihorowassamushinshinotsukembuchiwakkanaikamoenaikiyosatotakinoueshikabesunagawafukagawanakagawatakikawakamikawahigashikagurahamatonbetsumatsumaemoseushirankoshishakotanimakanemashikeotofuketomakomaisandatambaitamiawajikasaiasagoshisoonoakoyashirotoyookaminamiawajiinagawafukusakitakasagokamigorikasugaharimayokawaashiyahimejiakashitaishiaogakisannantakinosumototakarazukanishinomiyashingugoshikinishiwakiyokatakaaioimikisayoyabukawanishiamagasakisasayamashinonsenkakogawaichikawakamikawatatsunotsukubaiwamaogawaasahisakaitokaioaraiitakobandodaigosuifuinaamikasumigaurakashimaomitamayachiyoshimodatetomobetoridehitachinakainashikisakuragawakasamayawaramoriyahitachiomiyanamegatayamagatahitachikamisuushikutakahagiibarakitonekoganakasowayukimihojosomitoryugasakishimotsumafujishirotsuchiurachikuseihitachiotashirosatotamatsukuriuchiharashikahakuinanaotsubatawajimakahokukawakitatsurugikaganominotosuzuuchinadakomatsuanamizunakanotohakusannonoichikanazawaiwateshiwafudaikawaimoriokaofunatohanamakikuzumakikitakamininohekunoheyamadayahabasumitaichinosekitanohatahiraizumirikuzentakatajobojiotsuchihironomiyakoiwaizumikarumaiichinohenodakujitonooshushizukuishifujisawamizusawakamaishikanegasakimannoutazukotohiraayagawazentsujihigashikagawauchinomikanonjisanukimarugamemitoyotakamatsutadotsunaoshimatonoshoakuneamamiizumihiokiyusuikinkoisasookouyamanakatanekagoshimakanoyaisenkawanabeminamitanemakurazakitarumizunishinoomotematsumotosatsumasendaioimatsudaayaseebinamiurazushinakaiodawaraiseharasagamiharahakoneaikawakaiseiatsugitsukuihadanoyamatoyamakitazamaoisochigasakininomiyayokosukakamakuraminamiashigarafujisawasamukawakiyokawahiratsukayugawaraokawaumajikochitsunootoyoakiinonishitosayasudahidakamiharasakawaniyodogawahigashitsunokagamigeiseisusakiotsukinaharisukumomurototosakamiochitoyotosashimizumotoyamanankokunakamurakitagawayusuharaogunichoyoukiasoutoozugyokutoamakusamifunetakamoriyamagaminamataminamiogunikikuchisumotoyamatonagasumashikiaraokumamotokamiamakusanishiharayatsushiroayabeseikasakyoideineujinakagyokameokakyotangokyotanabekyotambaminamiyamashiroyamashinatanabeyawatawazukaminaminantanmiyazuhigashiyamafukuchiyamakitamukokamojoyokizumaizuruujitawaraoyamazakinagaokakyokumiyamakawagoeinabeshimameiwaasahitaikiudonoisetsukisosakikuwanamihamamiyamasuzukatamakimisuginabarikumanokomonominamiisewataraitobakiwatakikihotadomatsusakayokkaichikameyamaureshinoishinomakishichikashukuohirataiwaosakizaohigashimatsushimashikamaiwanumashibataogawaraonagawakawasakiseminemarumoriminamisanrikukakudamuratawakuyatomiyanatoriwataritagajomisatotomekamirifushiroishimatsushimayamamotoshiogamafurukawahyugaebinotsunosaitoayakushimanobeokakitauramiyazakitakazakigokaseshiibamimatashintomikunitomikitakatakobayashikawaminamitakaharukijotakanabemiyakonojonishimeranichinankitagawakadogawamorotsukakisofukushimaminamimakisakaeobuseikedaogawamiasaokayaasahiotakiotarichinoinaomichikumakomaganechikuhokukaruizawayasuokaooshikaikusakaminamiaikitogakushimatsukawakawakamitateshinatakamorikitaaikishiojirimiyadahakubaiizunaiijimaiiyamamiyotasuzakayasakatoguraookuwanagawaminowahirayayamagataminamiminowafujimiomachisakakitakaginaganonakanosakuhokomoronagisoshinanomachiwadauedaiidaharasuwatomiachiaokianankisosakunozawaonsenagematsutakayamashimosuwamatsumotoyamanouchinakagawamochizukiazuminotatsunoobamaomuraseihiunzenosetofutsuikichijiwanagasakiisahayahasamisaikaikawatanasasebohiradokuchinotsugototogitsutsushimashimabarashinkamigotomatsuurayamazoekashibaikomakawaitenrioyodosangokoryoudaojiikarugayamatokoriyamatenkawakatsuragikurotakikawakamimiyakemitsuetakatorikamikitayamayamatotakadahegurishinjokanmakisakuraitawaramotogoseoudanarasoniandokawanishishimoichihigashiyoshinokashiharashimokitayamanosegawayoshinomintsivorytopazsakuragehirnsumomoaseinetopalmail-boxmokurenyoitamuikaojiyagosensanjoaganomyokoseiroagaomishibataniigatanagaokamurakamiuonumayuzawakariwatagamitainaitsunanminamiuonumatochioyahikojoetsuseiroukamosadoizumozakitokamachiitoigawasekikawakashiwazakitsubamemitsukekokonoesaikiusukibeppuusahimeshimakunisakihasamataketatsukumihitaoitahijikusuyufukujukamitsuebungoonobungotakadaibaraniimibizentsuyamaokayamakasaokahayashimayakagemaniwaakaiwamisakishinjotamanotakahashikibichuowakesojanagishookumenannishiawakurakurashikiasakuchisetouchikagaminosatoshotomigusukunakagusukuyaeseizenaurumaiheyaaguniogiminanjokinminamidaitokitanakagusukuyonaguniokinawaishigakikunigamiurasoekadenataramahiraraginozataketomishimojizamamitonakiitomanhigashimotobuyonabarugushikamionnanahanagohaebarukumejimakitadaitonakijinnishiharayomitanginowantokashikiishikawaikedasuitaminohizuminishisakaikananabenodaitoosakasayamayaokishiwadatadaokakaizukatondabayashichihayaakasakakumatorikadomasayamahigashiosakashijonawatehirakatataishimisakitajirihannansennankatanotoyonominatosettsuhigashiyodogawaibarakinosekitachuohigashisumiyoshifujiiderakashiwaraizumiotsutoyonakamatsubaramoriguchiizumisanoshimamototakatsukineyagawahabikinotakaishikawachinaganoyoshinogarikamiminearitaouchiimarihizenogikashimaariakekiyamafukudomikitagatakitahataomachigenkaikanzakinishiaritakyuragisagataratosutakushiroishikaratsuhamatamakouhokukawagoeyoshidasatteogoseirumaasakaurawaogawaniizaomiyayoriiotakishikihonjooganohannohanyuinasaitamaokegawaarakawayoshikawayokozehasudasayamahidakafukayachichibuiwatsukiryokamiyoshimikamiizumifujimiwarabiranzanmiyoshiminanoyashiosakadosugitomisatohigashichichibutodasokakukiyonokazoshiraokakasukabekounosukawajimatsurugashimamiyashirokitamotohatoyamamoroyamahatogayakumagayakawaguchinagatorokamisatomatsubushinamegawatokigawakamikawafujiminohigashimatsuyamakoshigayatokorozawas3isk01isk02ryuohkoseikonanaishorittotakashimamaibarahikonetorahimenishiazaikokagamokotoyasuotsukusatsunagahamamoriyamatoyosatotakatsukinotogawaomihachimanhigashiomiakagiunnanizumogotsuamayatsukakakinokimatsuehamadamasudahikawahikimiokuizumoyasugiyakumomisatotamayuohdahigashiizumookinoshimanishinoshimatsuwanoshimaneshimadafujiedayoshidashimodagotembaiwataatamikosaiyaizuitoizumishimahaibaramakinoharaomaezakikawanehonkannamisusonohigashiizufukuroinumazukawazufujiaraishizuokahamamatsushimizuizunokunimatsuzakimorimachiminamiizunishiizukikugawakakegawafujikawafujinomiyaujiietsugaoyamayaitaohiranikkoashikagakuroisokanumasakurashioyakarasuyamamotegiichikaikaminokawatochigihagamokanogisanobatonasumibunasushiobaranishikatautsunomiyaiwafunemashikoshimotsukeohtawaratakanezawaitanokomatsushimatokushimaichibaminamiaizumiwajikikainanmiyoshinarutomimamugiananmatsushigesanagochishishikuinakagawamachidachiyodakomaefussainagitaitochofufuchuomeotahigashiyamatotoshimaokutamaaogashimakodairaedogawaarakawahachiojishinagawatachikawashibuyasuginamihinodekiyosesumidaoshimanerimamitakahamuraadachinakanomizuhobunkyomegurominatokoganeihigashikurumekokubunjihigashimurayamamusashimurayamatamakitahinochuokotokatsushikakouzushimaogasawaraakishimakunitachishinjukusetagayamusashinohachijoitabashiakirunohinoharachizunanbukotouramisasawakasayonagokogehinoyazutottorinichinansakaiminatokawaharaoyabetairainamiasahinantoimizufuchutakaokakurobeyamadajohanatoyamatonaminyuzenfunahashinakaniikawanamerikawaunazukitogahimiuozufukumitsutateyamakamiichiiwadearidayuasainamitaijikatsuragiaridagawatanabemihamahidakakainankiminomisatoshingushirahamakamitondayurakozakoyagobokitayamawakayamakudoyamahashimotokushimotokozagawahirogawakinokawanachikatsuurarsuseroeoishidasagaeoguniasahinagaitendonanyoobanazawanishikawasakataohkuratozawamikawamamurogawayamagatafunagatatakahatashonaishinjokahokuiideyuzakawanishitsuruokakaminoyamayamanobeshiratakamurayamanakayamakaneyamahigashineyonezawasakegawamitouubeyuuabushimonosekitabuseoshimatoyotaiwakunihikarishunannagatohagihofukudamatsutokuyamashowadoshitsurunanbukoshukaiminami-alpsnirasakikosugeotsukioshinohokutominobuyamanashifuefukichuokofuichikawamisatoyamanakakonakamichitabayamanishikatsuranarusawafujikawahayakawafujiyoshidafujikawaguchikouenohara\u9577\u91CE\u4EAC\u90FD\u5C90\u961C\u5927\u962A\u4E09\u91CD\u7FA4\u99AC\u5343\u8449\u6ECB\u8CC0\u4F50\u8CC0\u5948\u826Fadednelgaccogogror\u79CB\u7530\u611B\u77E5\u9AD8\u77E5\u57FC\u7389\u6C96\u7E04\u6803\u6728\u718A\u672C\u5CA9\u624B\u9752\u68EE\u5C71\u68A8\u65B0\u6F5F\u5CF6\u6839\u9CE5\u53D6\u9577\u5D0E\u9999\u5DDD\u5BAE\u57CE\u77F3\u5DDD\u5927\u5206\u5BAE\u5D0E\u8328\u57CE\u5C71\u53E3\u5175\u5EAB\u5C71\u5F62\u5FB3\u5CF6\u5E83\u5CF6\u798F\u5CF6\u798F\u5CA1\u5CA1\u5C71\u5BCC\u5C71\u9759\u5CA1\u611B\u5A9B\u798F\u4E95\u6771\u4EACxn--4it168dhatenadiaryxn--vgu402ckawaiishophatenablogcocottenamaste\u5317\u6D77\u9053penneehimeiwateversestabachibashigagonnagunmapermahaccaakitaosakauh-ohblushkochiaichifukuikuroncapooitigohyogotokyokyotopunyuthickcheap0t00g00j0mie2-ddaapyawjg0amfemsubxiiboomoobutchueekpgwrgrherskrboyrdyupperunderflierchipsmydnsheavyangryhippygirlyrulez\u795E\u5948\u5DDD\u9E7F\u5150\u5CF6\u548C\u6B4C\u5C71bambinaxn--nit225kokayamasaitamaxn--k7yn95exn--1lqs03nsapporoparasitelolipopmcxn--efvn9sniigatafukuokatokushimafukushimahiroshimakagoshimafakefurokinawaxn--8pvr4ucoolblogxn--0trq7p7nnkawasakinagasakimiyazakichilloutxn--8ltr62kxn--klty5xpeeweezombiecutegirlxn--rny31hxn--uuwu58axn--ntso0iqx3axn--djrs72d6uytoyamanikitanyantakagawamimozanagoyaboyfriendxn--2m4a15egreaterchowderegoismyamagatafashionstorexn--elqq16hxn--pssu33lsendaimiyagixn--rht27zpecoriaomorisaloonwatsonvivianxn--djty4knobushipigboatnaganopinokoxn--f6qx53asadistvelvetsecretxn--5js045dchicappayamanashiibarakidigickgirlfriendxn--1lqs71dmongolianxn--c3s14mxn--qqqt11mtochigixn--5rtq34kparallelo0o0mondkobesagabonadecaoitanarafoolkilldecimainhiholomosblokilociaoundopupugifutankcrapflopnooroopsmodsholyjeezstripperpepperbittershizuokaxn--rht3dkitakyushureadymadeicurusversusmatrixxn--rht61ehungryfloppygloomycrankyhandcraftedlittlestarxn--klt787dxn--kltx9awhitesnowsunnydaytottorilovepoptheshopbuyshopxn--5rtp49cxn--d5qv7z876cwebaccelxn--kbrq7oxn--4pvxsxn--1ctwolovesickkumamotocatfoodxn--tor131oyokohamawakayamatonkotsuxn--ehqz56nxn--uist22hxn--6btw5axn--kltp7dyamaguchifrenchkisspussycatxn--4it797kxn--uisz3gbabybluexn--zbx025dnetgamersxn--7t0a264ckanagawaxn--6orx2rishikawaxn--ntsq17ghalfmoonschoolbusjellybeanxn--mkru45iusercontentlolitapunkxn--32vp30hsakurastoragehokkaidoshimanecandypopbabymilksupersaleweblikeraindropbackdropwebsozaikikirarahateblodaynightmeneacsccogoormobiinfoaeusxxorgmilcomnetedugovorgcomnetedugovbizinfotmprdorgmilcomnomedugovassnotairespresseassocoopgouvveterinairemedecinpharmaciensorgnetedugovtraorgcomedurepgovmeneperekgacscaiiocogoitoresmshsseoulbusanulsandaeguc01milvkimmvchungnamjeonnamjeonbukeliv-dnsgyeonggijejueliv-cdnincheondaejeongangwongyeongbukgwangjuchungbukgyeongnameliv-apicoeduindorgcomembnetedugovorgmilcomnetedugovjcloudorgcomnetintedugovperbnrinfocooyorgcomnetedugovethipfscanvamypepethw3sstorachakeeneticjoinmcinbrowserdwebcyonnftstoragemyfritzaemewphlxachotelltdorgcomwebsocschngonetintedugrpgovassnomgacsccoorgnetedugovbizinfo123websiteidorgmilcomasnnetedugovconfidmedorgcomplcschnetedugovaccoorgnetgovpresstmassoirseproxaccosoundcasthoptocraftvp4c66orgnetedugovitsmcdirmyboxbarsyedgestacksynologylogintoopencloudnohostwebhopdiskstationi234tcp4hoocgroknoipprivmydsddnsdnsforlohmustransipdscloudfilegear-sgbrasiliafilegearframerbarsybarsyonlinecoprdorgmilcomnomedugovinforgcomnetedugovnameacprorgcomartnetedugovpresseinfoassoinstgouvorgnycedugovbarsydscloudjuorgcomnetedugovminisiteaccoororgcomnetgovorgmilcompronetintedugovbizmuseumnameinfoaerocoopaccoorgcomnetintedugovbizcooporgcomgobneteduorgmilcomnetedugovbiznameaccoorgmilneteduadvgovcoorgcomnetaltgovforgotherhiskeeneticispmanagernomassoprod5476132eastasiacentraluswesteuropewestus2eastus2pnortheurope-01newzealandnorth-01southindia-01southcentralus2-01norwaywest-01eastus2-01westus2-01australiaeast-01italynorth-01israelnorthwest-01swedencentral-01westeurope-01centraluseuap-01taiwannorthwest-01uaecentral-01northcentralusstage-01israelcentral-01mexicocentral-01canadacentral-01austriaeast-01germanywestcentral-01francecentral-01ukwest-01denmarkeast-01polandcentral-01eastus-01westus-01swedensouth-01eastus3-01westus3-01brazilsouth-01centralus-01francesouth-01australiacentral-01westindia-01uaenorth-01jioindiacentral-01canadaeast-01belgiumcentral-01spaincentral-01koreacentral-01chilecentral-01qatarcentral-01westcentralus-01eastus2euap-01norwayeast-01southafricanorth-01brazilsoutheast-01germanynorth-01switzerlandnorth-01switzerlandwest-01japanwest-01southafricawest-01japaneast-01eastasia-01indiasouthcentral-01taiwannorth-01centralindia-01uksouth-01southcentralus-01northcentralus-01eastasiastage-01indonesiacentral-01australiacentral2-01australiasoutheast-01malaysiawest-01koreasouth-01southeastasia-01southeastus5-01northeastus5-01jioindiawest-01rucdnwest1-usfra1-desandboxjls-sto1jls-sto3jls-sto2aglobalabglobalsslmapprodfreetlsmapvpslon-1lon-2ny-1fr-1sg-1ny-2paassnwebpaashostingjelasticnordeste-idcsocuserpagescwebfileblobservicebuscoreatlricnjsjelasticwebsitestoragesezagbinruhuukjptsmyspreadshopmynetnameakamaiorigin-stagingfrom-coipv64dynv6cdn77serveblogadobeaemcloudhicamsprytdnsupno-ipownipde5ovhicpfirewall-gatewaysytesmypsxbarsyusgovcloudapimyamazemyradwebakamaihdsaveincloudfastlylbfrom-lasubsc-paysquare7in-the-bandblackbaudcdnhomelinuxoninfernoctfcloudservebbsdns-dynamiccloudfrontakamai-stagingipifonyham-radio-opsenseeringclickrisingcommunity-profrom-nylocalcertgrafana-devedgesuite-stagingcloudflareanycasteating-organicatlassian-devmydattofeste-iplocaltotorprojectknx-serveredgekeycloudflareglobalcloudyclustercasacamserveftpakamaized-stagingakamaiorigindns-cloudmyeffectboomlabotdashbuyshousestwmailhetemlazure-mobilein-dslthruhereredirectmedynuddnsbouncemesupabaseluyanicloudappakamaicloudfunctionsdebiannhlfanpgafanstatic-accessin-vpnmysynologymafeloappudohomeftptrafficmanagersiteleafseidatmemsetcloudflarecloudaccesskeyword-onazure-apiis-a-chefdoes-itgets-itwebhopselfiphomeipkicks-assedgesuitewindowsserver-ontunnelmolemydissentscrapper-sitecloudflarecnuni5srcfggffiobbzabchrsndenodynuopikddnsvpndnsakadnselastxkinghostvps-hostfastlyhomeunixazureedgeshopselectdontexistmyfritzcloudjiffyalwaysdatasells-itsquaresbroke-itazurefddattolocalat-band-campmeinforumfamilydsazurestaticappsdefinimabplaceddnsaliasdynaliasnow-dnsblogdnsroutingthecloudendofinternetdsmynasakamaiedgemymediapcadobeio-staticakamaiedge-stagingakamaihd-stagingddns-ipprivatizehealthinsurancelive-onkrellianschokokeksmassivegridmysecuritycamerarackmazeserveminecraftfrom-azis-a-geekakamaizedmoonscaleoffice-on-theusgovtrafficmanageradobeioruntimeedgekey-stagingreserve-onlinechannelsdvrdnsdojousgovcloudappcdn77-sslapps-1and1podzoneazurewebsitesdynathomescaleforceyandexcloudvusercontentisa-geekcdn-edgescoaemalcesappwriteazimuthtlonarvobuiltwithrocketnoticeablestorecomwebrecnetperotherfirminfoartslgdloncogoiltdorgmilcolcomplcschgenngonetedugovbiznamefirmmobiacincoorgmilcomnomwebgobnetintedubizinfocomyspreadshopdemongovtransurl123websitehosting-clusterkhplaycistrongsnesosvalerv\xE5lerxn--vler-qoaossandeheroysandeher\xF8yb\xF8boheroyher\xF8yxn--hery-iraxn--b-5gavalerb\xF8boxn--b-5gasandesandexn--hery-iraxn--vler-qoav\xE5lerh\xE5re\xE5laahavaofsfvfhlolnlalrlhmfmtmahcostntbu\xE5strmreigersundmyspreadshopg\xE1ls\xE1eidsvolltingvollgildeskalflor\xF8vads\xF8vard\xF8vanylvenxn--bhccavuotna-k7astrandaxn--kvnangen-k0axn--sknland-fxaxn--mosjen-eyarakkestadhyllestadnannestadvevelstadvaapstenordre-landsondre-lands\xF8ndre-landtjieltexn--vrggt-xqads\xF8r-aurdalsor-aurdalheradstordmoldefordef\xF8rdeseljefedjeryggehemnexn--krehamn-dxasognegranes\xF8gnebrynetjomevallebykletokkegiskedovretj\xF8mehob\xF8lvoldasaudatolgas\xF8mnaviknad\xF8nnasomnadonnatranafrananesnaraumasmolatr\xE6nafr\xE6nalesjasm\xF8la\xF8rstaorstahitrafloraaukraloppafr\xF8yarissasnasahalsagalsaromsaraisar\xE1isafroyasn\xE5sagronghobolfjelltydal\xE5rdalardalaskimharamkraanghkekr\xE5anghkesorumbarumhurumb\xE6rums\xF8rummodums\xE1l\xE1tb\xE1l\xE1tfrognbjugnv\xE5ganvagangulenskienl\xF8tenlotenstrynvefsnxn--merker-kuaskaunsveiob\xF8mlobomloskj\xE5kvardoflorovadsosalatbalats\xE1latkl\xE6buklabuselbubarduulvikskjakkleppris\xF8rxn--nttery-byaefl\xE5eidflahofmilgolholsellomskifetvikdepvgsfhsaskerrisorhamarasnes\xE5snesr\xF8rosrorosxn--slat-5namasoynaroyvaroyluroydyroyaskoyradoyandoyrodoymeloyrad\xF8yand\xF8yr\xF8d\xF8ymel\xF8yask\xF8ylur\xF8ydyr\xF8ym\xE5s\xF8yv\xE6r\xF8yn\xE6r\xF8yhoylandeth\xF8ylandetdivtasvuodnal\xF8renskoglorenskognesoddtangenxn--tjme-hraxn--smla-hraxn--stjrdal-s1aunjargalillehammerunj\xE1rgaxn--hamary-fyadavvenjargaxn--bearalvhki-y4a123hjemmesidegjerdrumxn--brnnysund-m8acxn--tnsberg-q1axn--mlatvuopmi-s4axn--snsa-roaxn--skierv-utaxn--brum-voatysfjordkvafjordeidfjordkv\xE6fjordsongdalenmjondalenmj\xF8ndalenxn--gls-elackragerog\xE1\u014Bgaviikagangaviikas\xF8rreisasorreisas\xF8r-varangersor-varangerxn--risr-iraskiervaxn--frna-woaxn--trna-woakvinesdalleksvikleirvikr\xF8yrvikroyrviksvelvikvenneslaevje-og-hornnessandnessj\xF8enmarnardalvindafjordsandefjordenebakksnillfjordullensvangxn--trany-yuabr\xF8nn\xF8ysundnamsskoganaustevollxn--stjrdalshalsen-sqbnord-aurdalnord-frontr\xF8gstadtrogstadgrimstadflakstadgjerstadxn--sandy-yuaxn--leagaviika-52bnore-og-uvdalvegarsheixn--rlingen-mxaxn--ggaviika-8ya47hveg\xE5rsheikarlsoykvitsoymasfjordenhamaroyinderoyosteroydavvenj\xE1rgasauheradguovdageaidnuxn--vre-eiker-k8abronnoysiellakkr\xF8dsheradkrodsheradkvinnheradbr\xF8nn\xF8yxn--mtta-vrjjat-k7afxn--lrenskog-54akvits\xF8yv\xE1rgg\xE1tkarls\xF8yoster\xF8yinder\xF8yhamar\xF8ybronnoysundxn--aurskog-hland-jnbbahccavuotnab\xE1hccavuotnagiehtavuoatnastor-elvdalmidtre-gauldalxn--gildeskl-g0akarasjokevenassixn--bievt-0qaxn--yer-znalebesbynessebyxn--hbmer-xqamalselvm\xE5lselvxn--unjrga-rtam\xF8re-og-romsdalmore-og-romsdalhareidmeland\xF8rlandorlandstrand\xE5lg\xE5rdsolundalgardafjord\xE5fjorddielddanuorrikautokeinoxn--stre-toten-zcbskodjeaejriestangeliernebamblestokkefauskesn\xE5asesnaasekongsvingerlangevagberlevagxn--flor-jrahattfjelldalostre-toten\xF8stre-totenvestfoldxn--mely-ira\xE1laheadjualaheadjunordreisaxn--troms-zuaxn--lgrd-poacporsangerflatangerstavangerleikangerbremangersamnangergieldakarasjohkaxn--rdy-0nabfrostautsirasnoasatromsaxn--sr-aurdal-l8aflekkefjordj\xF8lsterjolsteraremarkhedmarkn\xE5\xE5mesjevuemienaamesjevuemiexn--vard-jrarollagmer\xE5kermerakerorskog\xF8rskogxn--bdddj-mrabd\xE1k\u014Boluoktaxn--osyro-wuaaknoluoktatrysilskjerv\xF8ymandaljondalbindalrindalmeldalsuldalorkdalsigdalalvdall\xE6rdalhurdalsirdalverdallerdallardaloppdal\xE5seralaseralhadselkrager\xF8divttasvuotnaoverhallasteinkjerxn--hnefoss-q1askedsmokorsettroms\xF8xn--dyry-iravestre-totenmuseumxn--sandnessjen-ogbrahkkeravjufylkesbiblb\xE1jddarbajddarxn--laheadju-7yarennes\xF8yxn--koluokta-7ya57hxn--hgebostad-g3aleirfjordstorfjordbalsfjordb\xE5tsfjordbatsfjordmuos\xE1tbiev\xE1tloab\xE1tk\xE1r\xE1\u0161johkan\xF8tter\xF8yxn--mjndalen-64anordkappl\xE1hppilahppialstahaugsiljanverranr\xF8ykenroykenhaldenlyngenbergenhortenh\xF8nefosshonefosstroandinbeiarnvarggatosoyroos\xF8yrotromsoidrettmuosatbievatruovatloabatvoagattynsetnessetxn--indery-fyask\xE1nitskanitraholtr\xE5holtxn--ystre-slidre-ujbandebusarpsborgbearduxn--karlsy-fyahordalandjorpelandj\xF8rpelanddeatnuringsakers\xF8r-odalsor-odalxn--slt-elabringerikeaudnedalnittedalnissedalhemsedalslattumsurnadalxn--blt-elabelverumstj\xF8rdalnaustdalhjartdalgj\xF8vikfyresdalhasviknarviklarvikgjovikmalvikgamviklenvikporsgrunnstjordalengerdaldrobakdr\xF8bakxn--msy-ula0hvestvagoyxn--vgan-qoaxn--ryken-vuaxn--lten-graxn--stfold-9xaxn--hpmir-xqaxn--lury-iram\xE1latvuopmimalatvuopmitysv\xE6rkirkenesbirkenesmoskenesb\xE1id\xE1rxn--fjord-lraxn--rdal-poabahcavuotnab\xE1hcavuotnaxn--frde-gralind\xE5sbearalvahkixn--hobl-irar\xE1hkker\xE1vjuxn--loabt-0qav\xE5g\xE5\xE1lt\xE1bod\xF8sundlundrader\xE5deetnetimeholeauregrueoddavagavegaranatanaarnasolasulaaltalekafusavangbergkvam\xE5mliamlibokntinnroangranosenoslobodor\xF8stroststat\xE5motamotivgupriv\xF8yeroyerliermossvossxn--nvuotna-hwalusterlunnermarkerh\xE1bmerhabmerhvalerfjalerxn--rholt-mratysvarbaidarfitjargaularh\xE1pmirhapmirmelhusfosnes\xF8ksnesoksnestysneshemnesevenesflesbergeidsbergtonsbergt\xF8nsberglindasxn--sndre-land-0cbnamsosxn--srum-gra\xF8ystre-slidreoystre-slidrevestre-slidretrondheimbalestrandxn--langevg-jxaaustrheimxn--skjk-soavagsoyaveroysandoykarmoyfinnoytranoyvestbytranbysykkylvenxn--hyanger-q1aspjelkavikandasuoloxn--fl-ziaxn--drbak-wuastathellexn--sr-varanger-ggbtelemarkxn--bhcavuotna-s4axn--porsgu-sta26f\u010D\xE1hcesuolocahcesuoloakrehamn\xE5krehamnsand\xF8ykarm\xF8yfinn\xF8ytran\xF8yv\xE5gs\xF8yaver\xF8ynamdalseidxn--lesund-huabadaddjaxn--vegrshei-c0axn--btsfjord-9zagildesk\xE5lporsanguxn--trgstad-r1an\xE1vuotnanavuotnahammerfestxn--sgne-graxn--brnny-wuacibestadharstadnarviikaeven\xE1\u0161\u0161ivestnesgjemnessandnesagdenesrennesoyxn--avery-yuaxn--tysvr-vrabearalv\xE1hkikongsbergspydebergrandabergxn--andy-iradavvesiidaxn--krdsherad-m8apors\xE1\u014Bgufredrikstadbjerkreimringeburennebuaurskog-holandnotteroyxn--vgsy-qoa0jxn--rmskog-byaskierv\xE1ivelandbyglandfrolandaurlandforsandxn--bjddar-ptamidsund\xE5lesundalesundfetsundfarsundovre-eiker\xF8vre-eikerakershusxn--moreke-juas\xF8rfold\xF8stfoldostfoldsorfoldh\xF8yangerhoyangerlevangerorkangertanangerxn--vestvgy-ixa6olillesandulsteinxn--rennesy-v1agranvinskjervoyxn--klbu-woalavagisxn--h-2faxn--ryrvik-byakafjordk\xE5fjordseljordfolkebiblxn--gjvik-wuajevnakerxn--kfjord-iuabudejjuxn--kranghke-b0axn--davvenjrga-y4axn--rland-uuaxn--ldingen-q1axn--mlselv-iuaxn--rady-iraxn--linds-prabrumunddalxn--ygarden-p1amo-i-ranaeidskogr\xF8mskogromskoghjelmelandxn--finny-yuaxn--sr-odal-q1axn--skjervy-v1aballangenkvanangenkv\xE6nangengratangenxn--hmmrfeasta-s4acvossevangensuohkanxn--rde-ulaxn--mli-tlaxn--ksnes-uuanordlandskanlandsk\xE5nlandsortlandfuoiskuxn--rros-graxn--hcesuolo-7ya35bxn--eveni-0qa01gagaivuotnag\xE1ivuotnaxn--seral-lradrammenmodalenmosjoenjan-mayentorskensteigengloppenxn--snes-poamatta-varjjatxn--sr-fron-q1aomasvuotnajessheimb\xE5d\xE5ddj\xE5xn--krager-gyaxn--kvfjord-nxaxn--asky-iraxn--snase-nraxn--bidr-5nacholt\xE5lenxn--vads-jraxn--jlster-byamosj\xF8enxn--rst-0nastavernxn--ostery-fyaxn--oppegrd-ixaxn--sknit-yqaxn--risa-5naoppeg\xE5rdskiptvetrendalenholtalenxn--mot-tlaxn--lhppi-xqaxn--holtlen-hxaxn--srreisa-q1akopervikxn--muost-0qaxn--bmlo-grahokksundkvalsundegersundxn--karmy-yuaullensakerxn--hylandet-54axn--kvitsy-fyaxn--bod-2nalangev\xE5gberlev\xE5gkristiansandxn--rsta-frahornindalstj\xF8rdalshalsenstjordalshalsensandnessjoenh\xE1mm\xE1rfeastaxn--lrdal-sras\xF8r-fronsor-fronnord-odalkristiansundm\xE1tta-v\xE1rjjatvestv\xE5g\xF8ynesoddennotoddenbuskerud\xF8ygardenoygardensalangenlavangenralingenr\xE6lingenlodingenl\xF8dingenlea\u014Bgaviikalaakesvuemieleangaviikauenorgexn--srfold-byaaskvollxn--rskog-uuaxn--nry-yla5gxn--vry-yla5ghammarfeastaxn--rhkkervju-01afxn--givuotna-8yakommunekrokstadelvanedre-eikerhagebostadh\xE6gebostadxn--berlevg-jxakviteseidxn--s-1faxn--l-1faxn--nmesjevuemie-tcbafuosskomo\xE5rekemoarekexn--lt-liacxn--jrpeland-54asvalbardoppegardholmestrandtvedestrandsogndalsokndalarendalsunndalfolldalxn--krjohka-hwab49jlyngdaletnedalnorddalsaltdalgausdalskedsmovaksdalgjesdalstordalxn--frya-hraaarbortedrangedalxn--smna-graaurskog-h\xF8landxn--vg-yiabtjeldsundhaugesundlindesnesxn--mre-og-romsdal-qqbxn--dnna-gradyntmpheremerseineshacknetenterprisecloudmineaccomaorim\u0101oriorgmilcriiwigennetschoolhealthkiwigovtgeekxn--mori-qsacloudnsparliamentcomedorgcompronetedugovmuseumwebsitekinservicebarsywebsitebuildereerobookheimdnsleapcelleero-stagetechcrscsslorigingohomecdbedeeeiemesecabgngilnlalplchfisiincnnoroptatitmtltruauhulumkdkukskjplvtrgrfrkrhrusesismycynzcznetinteduassoososcloudstgbetaaezaeuhkusjshatenadiarycdn77hoptozaptois-a-knightmyftpno-ipjpnddnssdpdnsspdnsbarsysweetpepperis-a-bruinsfanis-very-sweetservegameis-a-soxfanhomelinuxcdn77-secureservebbsmisconfusedwebredirectblogsitefreedesktopcouchpotatofriestoolforgeaccesscamis-lostreadmyblogsmall-webfedorapeopleserveftpis-a-celticsfanmywirepotagertwmailin-dslsellsyourhomeread-booksfreeddnscable-modemis-savednflfanufcfanmlbfanstuff-4-saleendoftheinternetin-vpnmy-firewallhomeftpis-localis-a-chefboldlygoingnowherewebhopselfipkicks-assroxatunkcamdvrfedoraprojectgotdnsdvrdnsdyndnspubtlspimientahomeunixdontexistfedorainfracloudwmflabsfspagesbmoattachmentsteckidsfamilydsdnsaliasdynaliasnow-dnscloudnsdoomdnsduckdnsblogdnshomednsroutingthecloudendofinternetdsmynasip-dynamicpoivronhttpbinmyfirewallis-very-evilmysecuritycamerais-a-linux-userwmcloudis-a-geektuxfamilyis-a-candidatedoesntexistis-very-badhobby-sitegame-hostaltervistais-foundis-a-patsfandnsdojohepforgepodzonedynservcollegefanis-very-goodfrom-meis-very-niceisa-geeknerdpolacmedsldingorgcomnomgobabonetedupleskaemhlxmyboxrockyprvcydeuxfleurspdnscodebergheyflowstatichostorgmilcomnomgobneteduorgcomeduiorgmilcomngonetedugovcloudns1337ngrokacorggogfamcomwebgobnetedugokgopgkpgovgosbizpasaugumicsopozpapuwmwsrprusiskwpspkppspkmpspokeoiawsawifoumsdnskokwpmuppuppsppiwwiwoowuzswkzoschrzpisdnwzmiuwwitdpssewsseumigugimoirmpinbwinbwiihupporzgwgriwupowwskrwioswuozstarostwokonsulattmpccopruszkowmyspreadshopostrodakartuzyopolegminamediaustkazgorajgoraolawailawalomzawloclradombytomjaworznotargilubinkoninzagantorunkutnokepnonakloczestsopotsanokturekplockslasksklepzarowlukowmedaidgdaorgmilrelcomnomatmgsmartneteduelkgovwawsossexbiztgorysejnytychypomorzeboleslawiechomesklepsdscloudunicloudzakopanelegnicarawa-mazbydgoszczswidnikkrasnikwloclawekbielawamragowograjeworealestatebeskidykaszubymalopolskaprzeworskswiebodzinlecznadfirmaszkolawarmiagdyniamiastakazimierz-dolnymalborkswidnicadlugolekaostrolekapodlasieelblagtravelsimplesitezachpomormielecszczecinnieruchomosciwalbrzychlezajsklublinbedzinpoznanwielunmielnooleckostarachowicedkontopowiatwroclawrybniksuwalkileborkslupskgdanskostrowwlkptarnobrzegtourismwegrowkrakowglogowyou2pilanysamailwrocinfoagroautobeepshopprivlapypiszlodzcfolksecommerce-shopmazurypulawyskoczowrzeszowpomorskiezgierzkaliszolkuszlowiczostrowiecsosnowiecmazowszewodzislawbialowiezazgorzeleckatowicepabianicejelenia-gorawolominkarpaczsieradznowarudaczeladzkonskowolaskierniewiceswinoujscieturystykabieszczadycieszynketrzynolsztynbialystokbabia-goraprochowicewarszawastalowa-wolapolkowicegorlicegliwiceponiatowalimanowalubartowaugustowkobierzyceopocznognieznoszczytnokolobrzegshoparenapodhalebielskoklodzkostargardatwithplayitownnamecoorgnetedugovacorgcomproestnetedugovbiznameislaprofinforechtngrokmedaaaacacpaenglawjurbarbarsykeeneticavocatacctcloudnsorgcomsecplonetedugov123paginaweborgcomnetintedugovnomepublidkinbarsygovx443cloudnsorgmilcomnetedugovcooporgmilcomschnetedugovnamecomcannetlibassoaemclantmcontstoreorgcomnomrecwwwbarsyfirminfoshopartsstackitmyddnswebspacelima-cityacincooxorgedugovbarsybrendlyhbvpsvpsspectrumlandinghostingacppmordoviamcprecbgorgmilcomspbnetintedumsknovgovbirrasmcdirmytismircloudvladimirnalchikadygeyamarinepyatigorskmyjinobashkiriaeurodirvladikavkazna4ugroznykustanaikalmykiacldmaildagestaniranbuildcloudcanvaliaravalwixdevelopmentappwritemigrationneedleverceldatabasestackitcodereplravendbonporterlovableaccoorgmilnetgovcoopmedorgcompubschnetedugovservicemecomygovorggovtvmedorgcomnetedugovinfoedgfacbmlonihkutwpsryxzbdtmacfhppmyspreadshopbrandpartiorgcomfhvpress123minsidaitcouldbeworlanbibkommunalforbundfhskiopsyskomvuxkomforbnaturbruksgymnloginlineorgcomnetedugovenscaledeuusentbotdaorgmilcomnetgovnowteleporthashbangplatformlovablebarsyshopwarebasehoplixbarsyonlinemsf5gitappgitpagewawamscofigma-govcaffeinefigmacanvasoltstscwputerbarsysupportchatgptsquareomniweopensocialcpanelplaycodenotionnovecorewpsquaredpreviewjelecyonbyensrhtfastvpspieboxconvexjouwwebheyflowplatformshloginlinemadethissourcecraftclouderaorgorgcomartedugouvunivmeorgcomnetedugovsurveysstatichfheiyuxs4allprojectmyfastubervibehostapp-ionosdeployagentmecoorgcomschnetedugovbizcncostoreorgmilcomneteduembaixadaconsuladokiraranohoprincipesaotomeheliohobarsystorebaseshopwaresellfyaiabkhaziavologdamordoviapenzalenugsochinavoiexnetspbmsknovnorth-kazakhstanashgabadkareliaarmeniageorgiavladimirnalchikivanovobukharaadygeyakhakassiakalugakrasnodarjambylaktyubinsktroitskbryanskobninskkurganazerbaijanpokrovskbashkiriatselinogradvladikavkazmurmansktulatuvamangyshlaktashkentchimkentgroznykaragandatermezarkhangelskkustanaikalmykiabalashoveast-kazakhstankaracoldagestantogliattibarsyredorgcomgobedumirenknightpointaccoorgjelasticdiscoursecleverappsschacmiincogoornetonlineshopcogoorgmilcomwebnicnetintedugovbiznametestcoorgmilcomnomnetedugovorangecloudpersoindorgcomfinnatnetgovensmincomtourismintlinfox0611oyaorgmilcomnetedugovquickconnectvpnplusnettprequalifymeaddrmyaddrntdllwadlnctvavdrk12orgmilpolbeltelcomwebgennetedutskkepgovbbsbiznameinfocoorgmilcompronetedugovbiznameinfobetter-thanworse-thansakurafromdyndnson-the-webmymailerorgmilurlcomneteduidvgovmydnsgameclubebizmeneacsccogotvorhotelmilmobiinfovodteiflgplkmsmsbcckhincndnvncoztltmkckppzpdprvcvkvlvcrkrkscxuzchernovtsyrivneyaltaodesavolynrovnolutskltdinforgcomnetedugovbizvinnicazhitomirternopilpoltavakropyvnytskyizaporizhzhiasevastopolsebastopoluzhgoroduzhhorodkharkovkharkivvinnytsiakhmelnytskyizaporizhzhecrimeaodessazhytomyrnikolaevcherkassydonetskluganskluhanskkirovogradivano-frankivskchernivtsikrymkievkyivlvivsumyzakarpattiamykolaivcherkasychernigovkhersonchernihivdnipropetrovskdnepropetrovskkhmelnitskiyneacsccogoorusorgmilcomedugovmyspreadshopadimono-ipbarsybarsyonlinelayershiftnh-servretrosnubapicampaignservicelugaffinitylotteryweeklylotteryraffleentrygluglugsmeaccoindependent-inquestnimsitecopropymntltdorgplcschnetgovnhsbarsyindependent-commissionindependent-reviewpolicepublic-inquiryindependent-panelconnhospindependent-inquiryroyal-commissionoraclegovcloudappscck12libccphxcclibpvtparochchtrcck12libcceatonk12coglibtecgendstmusann-arborwashtenawcck12glghcck12sealibforksolympiabainbridge-islkeyporthoquiamyarrow-pointcentraliaport-townsendsequimport-ludlowrentonsilverdalebremertonredmondsheltonbellevueport-orchardport-angeleskingstonchehalisaberdeengig-harborseattlepoulsboidmdndsddemenegacalamaiavawapailalflnmdcncscohnhmihiviwiriinmntnmocoutvtctmtgunjokakwvnvprarorasmskstxwynykyazisadninsnngosrvis-bymircloudservernamepointtoenscaledland-4-salefreeddnsstuff-4-saleazure-apinoipcloudnsgolffanheliohostazurewebsitesgvorgmilcomgubneteducoorgcomnetd0egvorgmilcomnetedugovmydnsiacostoree12orgmilcomnomwebgobbibrectecnetintedugovraremprendefirminfoartseducok12orgcomnethidnsidacaiiosonlahanamhanoicamauhueorgcompronetintedugovbizbacninhtayninhhoabinhnamdinhtravinhhaiphongvinhlonghaiduongquangnamquangtrithuathienhuequangninhbacgianghaugiangquangbinhsoctrangbentrethanhphohochiminhdanangkontumhatinhkhanhhoathanhhoahealthgialailaocaiyenbaibackanngheanlonganphuyenphuthocanthodaklakdongnainameinfovinhphucdongthapkiengiangtiengiangquangngailaichaulangsonlamdongdaknonghagiangangiangcaobangbinhduongninhthuanbinhthuanbaclieuthaibinhninhbinhbinhdinhtuyenquanghungyenbaria-vungtauthainguyendienbienbinhphuocschbizputerimagine-proxyorgcomnetedugovcloud66advisormypetsdyndnsxn--8dbq2axn--4dbgdty6cxn--5dbhl8dxn--hebda8bxn--80auxn--d1atxn--c1avgxn--o1acxn--o1achxn--90azhxn--55qx5dxn--uc0atvxn--od0algxn--wcvs22dxn--gmqw5axn--mxtq1mxn--12c1fe0brxn--h3cuzk1dixn--12co0c3b4evaxn--12cfi8ixb8lxn--o3cyx2axn--m3ch0j3axn--j1adpxn--90amcxn--90a1afxn--h1ahnxn--j1ael8bxn--h1alizxn--c1avgxn--j1aefxn--80aaa0cvacxn--41acaffeineexeopentunnelbotdashtelebitorgtmaccoagricorgmilnomwebnicngonetaltedugovlawnisschoolgrondaraccoorgmilcomschnetedugovbizinfoprg1-zeropstritonstackitlimazeropsaccoorgmilgov\u044F\u0441\u043F\u0431\u043E\u0440\u0433\u043A\u043E\u043C\u043C\u0441\u043A\u0431\u0438\u0437\u043C\u0438\u0440\u0441\u0430\u043C\u0430\u0440\u0430\u043A\u0440\u044B\u043C\u0441\u043E\u0447\u0438\u0430\u043A\u043E\u0434\u043F\u0440\u043E\u0440\u0433\u043E\u0431\u0440\u0443\u043F\u0440\u05E6\u05D4\u05DC\u05DE\u05DE\u05E9\u05DC\u05D9\u05E9\u05D5\u05D1\u05D0\u05E7\u05D3\u05DE\u05D9\u05D4\u0E2D\u0E07\u0E04\u0E4C\u0E01\u0E23\u0E18\u0E38\u0E23\u0E01\u0E34\u0E08\u0E23\u0E31\u0E10\u0E1A\u0E32\u0E25\u0E28\u0E36\u0E01\u0E29\u0E32\u0E17\u0E2B\u0E32\u0E23\u0E40\u0E19\u0E47\u0E15\u6559\u80B2\u7DB2\u7D61\u7D44\u7E54\u516C\u53F8\u653F\u5E9C\u500B\u4EBA\uB2F7\uB137\uD55C\uAD6D\u6FB3\u95E8\u65B0\u95FB\u6FB3\u9580\u8054\u901A\u5BB6\u96FB\u5609\u91CC\u62DB\u8058\u901A\u8CA9\uB2F7\uCEF4\uC0BC\uC131\u30B3\u30E0\u10D2\u10D4\u0431\u0433\u0440\u0444\u0435\u044Eadcdbdgdidmdsdtdaebedeeegeiejekemenepereseveyegabacalamanauavapaqasazacfbfafgfnfpfwftfbgcgagggegkgngmgsgpgvgtgugilmlnlalclglplsltlhmimjmkmmmomambmcmdmfmgmzmpmsmtmgbbblbsbecccacnclcmcvctcscmhkhghchbhthphshlinikifigiaibicivisikninhnmncnbngnsnpnvntnjoionomobocoaofodorosotoptstttytatbtetgtithtmtltrusuvuaucueuguhulumunufjdjbjtjsjlkmkhkfkdkcktkukskpkgpmpnpkpjpgqaqmqiqsvtvcvbvmvlvrwpwtwzwbwcwawgwkwmwtrsrprgrfrercrbrarnrmrlrkrirhrwsusrssspsgsesbsaslsmsissxmxaxcxuypysylymykygybycyuztzsznzmzkzdzczbzaz\u03B5\u03BB\u03B5\u03C5\u4E16\u754C\u53F0\u7063\u8D2D\u7269\u516C\u76CA\u70B9\u770B\u81FA\u7063\u7F51\u7EDC\u66F8\u7C4D\u5728\u7EBF\u7F51\u7AD9\u624B\u673A\u673A\u6784\u5927\u62FF\u6E38\u620F\u4FE1\u606F\u53F0\u6E7E\u8C37\u6B4C\u6148\u5584\u5546\u6807\u9999\u6E2F\u4E2D\u56FD\u9910\u5385\u7F51\u5740\u4E2D\u570B\u5546\u57CE\u98DF\u54C1\u5FAE\u535A\u653F\u52A1\u79FB\u52A8\u96C6\u56E2\u516C\u53F8\u516B\u5366\u5546\u5E97\u5065\u5EB7\u7F51\u5E97\u653F\u5E9C\u65F6\u5C1A\u4F5B\u5C71\u4E2D\u4FE1\u5A31\u4E50\u5E7F\u4E1C\u4F01\u4E1Ahomedepotengineering\u0627\u0645\u0627\u0631\u0627\u062Arepublicankuokgroupversicherungchannelcitadelxn--pgbs0dhxn--b4w605ferdstatebankwebsitexn--mgb9awbf\u4E9A\u9A6C\u900A\u6DE1\u9A6C\u9521alibabaxn--ngbc5azdxn--mgbbh1axn--45br5cyltoshibabuildworldcloudtradeguideplacespacedancemoviephoneprimesmilebiblestyleappleazurestoreskypegripexn--l1accdrivelottehorsehouseleasechasereisestadahondaomegaaetnaamicaninjanokiamediadeltavodkaedekaosakapizzaslingemailgmailtirolshelltmallfinallegaltotalhotelamfamforumrehabmusicciticricohcoachwatchboschearthfaithirishmiamiarchidubaiguccipraxi\u307F\u3093\u306A\u30B9\u30C8\u30A2\u30BB\u30FC\u30EBcanonsalononionnikonepsonkoelngreensevencrownikanoradioaudioweiboglobopromogalloyahoociscorodeovideomangobingotokyovolvolottokyotophotosmartsportquesttrusthyattjetztadultcymrubaidutushuxn--kprw13dubankclickblackmerckgroupsharpcheapnowtvxn--h2brj9c\u05E7\u05D5\u05DD\u0570\u0561\u0575\u043E\u0440\u0433\u0441\u0440\u0431\u043C\u043E\u043D\u043A\u043E\u043C\u0431\u0435\u043B\u043C\u043A\u0434\u049B\u0430\u0437\u0440\u0443\u0441\u0443\u043A\u0440\u0645\u0635\u0631\u0642\u0637\u0631\u0639\u0631\u0628\u0643\u0648\u0645dadcfdmedwedredphdthdbidpidkrdmsdltdiceonewmeglemoerwecfageacbanbambaaaammakianraspacpaaxawtfbcgaegongingaigvigorgdogdhlmilrilonlaolloluoljllcalgalnflafltelsrlfrllplkimibmcamcombommomifmabbjcbscbwebcabnabtabmlbpubabcbbcnecincpncllcstcwtcpwcnyckfhbzhovhmoiskiobisbitcifyituipinvinwinxincbnbcnmanfangdnmenrenkpnmtnyunrunfununobiojioriohbogmofooboooooacoecoceongoproartistottnttbbtcateatlatvetpetbetnethktmitfitintjothotgotdotbotprueduicujnjyouinknhktdkappsapgapmapdnptopgopllpjmpzipvipripesqtrvdtvitvdevmovgovhivnrwlawsewnewbmwwownowhowdvrftrmtrsfrbarcartvscrseusawsupsubssbsadsddsldssasbmsmlsxxxboxfoxgmxtjxsextaxbuyflydiysoyjoyskypaydaygayxyzanzbizwebersenerpokerlameractortatarsolar\u0EA5\u0EB2\u0EA7\u0E04\u0E2D\u0E21\u0E44\u0E17\u0E22tourslocusnexuslexusgiftsbeatsboatspartspressglassswiss\u0915\u0949\u092E\u0928\u0947\u091Ftiresgivescodeshomesgamestunesshoescardswalesloansvegastoolsdealsautosparis\u30D5\u30A1\u30C3\u30B7\u30E7\u30F3workssucksrocksxeroxforexfedexpartylillymoneystudyrugbytoraytoday\u4E2D\u6587\u7F51xn--unup4y\u5929\u4E3B\u6559\u98DE\u5229\u6D66\u65B0\u52A0\u5761enterprises\u6211\u7231\u4F60\u5609\u91CC\u5927\u9152\u5E97christmasxn--fct429kholdingsxn--8y0a063axn--mgbx4cd0ablifestyleabogadoallstatenetbank\u0643\u0627\u062B\u0648\u0644\u064A\u0643xn--s9brj9cxn--gk3at1ebestbuycharityxn--55qx5dmicrosoftpropertybasketballhomegoodscorsicajewelrygallerygrocerysurgerycountrybrusselsverisignferreroxn--czr694bhdfcbankcommbanksoftbank\u067E\u0627\u0643\u0633\u062A\u0627\u0646\u067E\u0627\u06A9\u0633\u062A\u0627\u0646nextdirect\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0647\u0627\u0644\u0639\u0644\u064A\u0627\u0646xn--h2brj9c8cxn--80adxhksshikshaxn--mgbai9azgqp6jcuisinellabarclayscatholicxn--kpry57dcompanyxn--xhq521bblackfridayxn--mgba3a3ejtsandvikxn--d1acj3bacademydownload\u0645\u0644\u064A\u0633\u064A\u0627xn--j1amhxn--w4r85el8fhu5dnraipirangaathletaxn--fhbeixn--mgbqly7cvafrzuerichxn--c2br7g\u0B87\u0BB2\u0B99\u0BCD\u0B95\u0BC8contractorsxn--io0a7igraphicsinsurancetemasekxn--xkc2al3hye2amotorcyclesphotographydirectoryplumbingxn--vhquvclothingtrainingcleaningwilliamhilllightingxn--mgba3a4f16ashoppingcateringeducationokinawapicturesventuresproductionsxn--9et52uwalmart\u0D2D\u0D3E\u0D30\u0D24\u0D02supportrealestatecapitalonexn--nqv7fs00emaauspostfloristdentistxn--qxamgodaddybradescobargainsmitsubishikerryhotelsxn--9dbq2axn--3pxu8kimmobilienxn--fjq720axn--mgbtx2bholidaymckinseymadridbusinessbuildershelsinkixn--4gbrim\u043C\u043E\u0441\u043A\u0432\u0430\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u0629coffeedegreelacaixapartnersalsaceofficeabbvievoyageorangegeorgeonlinechromemobilekindlegoogleoraclecircleschulesecureinsurexn--mgba7c0bbn0aestatexn--mgbc0a9azcgcruisehangoutxn--vuq861bxn--42c2d9arexrothfirestoneuniversityxn--nnx388alifeinsuranceextraspace\u043E\u043D\u043B\u0430\u0439\u043Dverm\xF6gensberatersoftwarexn--fiqs8sxn--mgbab2bdxn--w4rs40ltienda\u092D\u093E\u0930\u0924\u092E\u094Dafricatoyotaotsukasakuracameracreditcardnagoyaconsultingnetworkjunipertheatermonsterprogressivepioneerxn--55qw42gracingdatingvotingvikinglivinggivingxn--bck1b9a5dre4cbrotherweatherjoburg\u0641\u0644\u0633\u0637\u064A\u0646lplfinancialxn--clchc0ea0b2g2a9gcdfutbolschoolsocialglobaldentalwoodsidechanelairtelmatteltravelrealtorwebcamstream\u0C2D\u0C3E\u0C30\u0C24\u0C4Dunicomalstomxn--nodexn--6frz82gmuseumfurniturexn--rvc1e0am3exn--mix891faccenturexn--11b4c3dismailineustardiscountquebeccomsecclinicservicesxn--y9a3aqxn--c1avgswatchchurchsearch\u0627\u0644\u0627\u0631\u062F\u0646marketingcontacthealthmonashshoujisanofitaipeiamericanexpresssuzuki\u30A2\u30DE\u30BE\u30F3\u30AF\u30E9\u30A6\u30C9\u30DD\u30A4\u30F3\u30C8bharti\u30B0\u30FC\u30B0\u30EBxn--mgberp4a5d4armemorialxn--1qqw23alondonmormoninstitutevisionbostonnortoncouponmaisonamazonvirginberlindesigndurbanolayannissananquanxihuanhitachikaufengardenreisenbayerntechnologydatsunxn--90a3aclatinocasinostudiophysioxn--ngbe9e0apharmacytattootaobaoaramcoexpertreportabbottdirectselectimamatfairwindspictettargetmarketintuittravelersinsurancecreditdupontryukyusuppliesxn--tckwebnpparibasschmidtmerckmsdyodobashirestaurantbridgestonecricketxn--fpcrj9c3dbostikbroadwayattorneylefrakemerckxn--fiq228c5hscareersfarmerswinnersflowersxn--wgbh1cguitarsxn--54b7fta0ccxn--p1acfmakeupgalluplandroverxn--kcrx77d1x4agoldpointbauhausxn--mgbayh7gpahiphopplaystationxn--mgba3a4fraxn--eckvdtc9dhyundaixn--gckr3f0fistanbulticketsmarketsflightschintaireviewsxn--3e0b707ewindowsxn--fiqz9sfinancialxn--fzys8d69uvgm\u0627\u0628\u0648\u0638\u0628\u064Adiscoverreview\u09AC\u09BE\u0982\u09B2\u09BExn--5su34j936bgsgmoscowobserverapartments\u0434\u0435\u0442\u0438\u0627\u0631\u0627\u0645\u0643\u0648\u0441\u0430\u0439\u0442eurovisionxn--i1b6b1a6a2exn--xkc2dl3a5ee0h\u062A\u0648\u0646\u0633\u0645\u0648\u0642\u0639\u0628\u0627\u0631\u062A\u0680\u0627\u0631\u062A\u0634\u0628\u0643\u0629\u0639\u0645\u0627\u0646\u0628\u064A\u062A\u0643\u0639\u0631\u0627\u0642readkredbondlandbandfundfoodprodgoldfordtubecafesafelifeggeeieeefreefagepagegugezonewinememenamegamesaleablebikenikelikecarecbreherefiresaveloveliveblueartedatesitevotecaseluxebofamodaltdaasdatiaayogasinavanashiaasiajavabbvatevavivadatazaraarpacasavisasncfprofmaifsurfgolfdvagsongbingpingwangkpmggoogblogpohlfailcooldellcalldeallidlsarlfilmteamroomfarmimdbarabclubhdfcicbchsbcgmbhrichtechfishdishcashminiernikddiaudiwikimobitaxicitikiwidesiqponskinloanakdnwienopenporncerntownimmolimoolloinfonicofidolegosaxozeroaerovivoautovotomotofastbestresthostpostnextlgbtchatseatgiftmeetdietreitmintrentgentspotscotguruitausohumenucyoubanklinkpinkdclktalksilkbookseekworkrsvpaarpjeepshopcoophelpcamppccwshowbeerstarruhrflirweirhaircarsparsjprshausplusnewstipstoysjobskidsfanspicsdocsxboxamexsexynavycitysonyarmyallybabyplaydeliverybuzzgbizlamborghiniphilips\u0DBD\u0D82\u0D9A\u0DCF\u0CAD\u0CBE\u0CB0\u0CA4fitnessexpresslanxesspfizercenterwalterlawyersoccercareerkosherbrokerlockerdealerdoctorauthorxn--mgbqly7c0a67fbcverm\xF6gensberatungjaguarxn--pssy2uxn--hxt814eflickrrepairrogersairbusxn--mgbai9a5eva00beventsyachtsxn--t60b56a\u09AD\u09BE\u09F0\u09A4\u09AD\u09BE\u09B0\u09A4\u092D\u093E\u0930\u0924\u092D\u093E\u0930\u094B\u0924viajeshermeshughesxn--j1aef\u0938\u0902\u0917\u0920\u0928villas\u0B2D\u0B3E\u0B30\u0B24claimshotels\u0AAD\u0ABE\u0AB0\u0AA4zapposphotosjuegoscondostatamotorsgratistennis\u0A2D\u0A3E\u0A30\u0A24tkmaxxtjmaxxschaeffleryandexxn--80aswgrealtysafetybeautyluxuryxn--3ds443gsupplyfamilyxn--o3cw4hhockeysydneyxn--90aenissayalipayenergycomputeragencyxn--rovu88b\u96FB\u8A0A\u76C8\u79D1xn--gecrj9cstatefarmaccountantaquarelleolayangroup\u9999\u683C\u91CC\u62C9xn--p1ai\u7EC4\u7EC7\u673A\u6784xn--1ck2e1bxn--mgbt3dhdschwarz\u0645\u0648\u0631\u064A\u062A\u0627\u0646\u064A\u0627abudhabinowruzkomatsufujitsuhospitalxn--80asehdbxn--mgbtf8flxn--j6w193gxn--yfro4i67oprudentialxn--flw351ecruisescoursesrecipesxn--e1a4cferrarixn--ses554gxn--wgbl6awatchesstaplessinglesxn--mgbcpq6gpa1axn--otu796dpropertiescreditunionxn--mgbah1a3hjkrdstockholmhisamitsu\u0627\u0644\u0633\u0639\u0648\u062F\u064A\u0629stcgroupdomainsoriginscouponsbloombergclubmedfroganslimitedxn--80aqecdr1aexposedinternationalequipmentbarclaycardxn--q7ce6axn--mgbi4ecexpprotectionassociatesconstructionxn--cck2b3bxn--45q11candroidfoundation\u05D9\u05E9\u05E8\u05D0\u05DCxn--mgbca7dzdocliniqueboutiqueengineerxn--qxa6asystemsfirmdalefashionauctionxn--nqv7finfinitirentalsreliancetradingweddingfishinghostinggentingbookingcookingxn--3hcrj9cgraingerxn--czrs0tdemocratsamsungyokohamaxn--h2breg3evexn--nyqy26alundbeckmelbournevacationssolutionsfrontierxn--vermgensberatung-pwbmanagementxn--cg4bkixn--mgb2ddeslincolnhamburgsandvikcoromantblockbusterairforcebarefootxn--4dbrk0ceinvestmentsfeedbackcommunityxn--ngbrx\u0627\u0644\u0628\u062D\u0631\u064A\u0646diamondsamsterdamhealthcareredumbrellaxn--mxtq1mxn--2scrj9cagakhanxn--mgbpl2fh\u043A\u0430\u0442\u043E\u043B\u0438\u043Acaravan\u0B9A\u0BBF\u0B99\u0BCD\u0B95\u0BAA\u0BCD\u0BAA\u0BC2\u0BB0\u0BCDrichardlimortgageamericanfamilyxn--fzc2c9e2cscholarshipssaarlandxn--imr513nvlaanderensamsclubgoodyearkitchen\u0B87\u0BA8\u0BCD\u0BA4\u0BBF\u0BAF\u0BBEweatherchannelallfinanzxn--kput3i\u0627\u0644\u0633\u0639\u0648\u062F\u06CC\u06C3xn--90aisxn--efvy88h\u0627\u0644\u062C\u0632\u0627\u0626\u0631xn--mgbaam7a8hexchangejpmorganxn--tiq49xqyjfidelitysecurityxn--mk1bu44cwanggouxn--fiq64bxn--6qq986b3xlxn--mgbbh1a71exn--80ao21amarshallsxn--5tzm5gtravelerspanasoniclatrobeyoutubeaccountantsxn--rhqv96gxn--cckwcxetdanalyticsxn--ygbi2ammx\u0628\u0627\u0632\u0627\u0631\u0628\u06BE\u0627\u0631\u062A\u0633\u0648\u0631\u064A\u0629organicfresenius\u0633\u0648\u0631\u064A\u0627xn--9krt00axn--qcka1pmcxn--jlq480n2rgdeloittesciencefinancexn--jvr189mxn--30rr7yhomesensehotmailbaseballfootballleclercboehringerxn--q9jyb4cxn--mix082f\u0627\u0644\u064A\u0645\u0646\u0647\u0645\u0631\u0627\u0647politie\u0633\u0648\u062F\u0627\u0646\u0627\u064A\u0631\u0627\u0646\u0627\u06CC\u0631\u0627\u0646netflixyamaxunxn--lgbbat1ad8jcollegestoragecapetowncolognekerrypropertiesxn--mgbgu82axn--ogbpf8flxn--czru2dwhoswhociprianilasallexn--g2xx48cforsalebanamexaudiblexn--vermgensberater-ctbxn--zfr164bericssonvanguardxn--45brj9cindustriestheatremarriottxn--3bst00mcomparexn--mgberp4a5d4a87gcapitaldigital\u0627\u0644\u0645\u063A\u0631\u0628barcelonashangrilaxn--d1alfcalvinkleinwwwcitysapporokawasakinagoyasendaikobekitakyushuyokohamackjp",R1t=621,Q1t=625,DEe=cI.length,FEe=gQ.length,_Ee=new Uint32Array(FEe),AQ=new Uint32Array(FEe),tb=new Int32Array(DEe).fill(-1);for(let e=0,n=0;e<DEe;e+=1)for(let r=yQ[e];r<yQ[e+1];r+=1){_Ee[r]=n;let s=n+gQ[r],o=5381;for(let t=s-1;t>=n;t-=1)o=o*33^eb.charCodeAt(t);AQ[r]=o>>>0,gQ[r]===1&&eb.charCodeAt(n)===42&&(tb[e]=r),n=s}var ev=-1,nb=0,rb=0;function TEe(e,n,r,s){if(gQ[e]!==s)return!1;let o=_Ee[e];for(let t=0;t<s;t+=1)if(eb.charCodeAt(o+t)!==n.charCodeAt(r+t))return!1;return!0}function xEe(e,n,r,s,o){let t=yQ[e],i=yQ[e+1];for(;t<i;){let a=t+i>>>1,l=AQ[a];if(l<n)t=a+1;else if(l>n)i=a;else{for(let u=a;u>=t&&AQ[u]===n;u-=1)if(TEe(u,r,s,o))return u;for(let u=a+1;u<i&&AQ[u]===n;u+=1)if(TEe(u,r,s,o))return u;return-1}}return-1}function kEe(e,n,r){let s=n,o=e.length,t=5381;ev=-1;for(let a=e.length-1;a>=0;a-=1){let l=e.charCodeAt(a);if(l===46){let u=a+1,f=xEe(s,t>>>0,e,u,o-u);if(f===-1&&(f=tb[s]),f===-1)return ev!==-1;s=CEe[f],(cI[s]&r)!==0&&(ev=s,nb=u,rb=o),o=a,t=5381}else t=t*33^l}let i=xEe(s,t>>>0,e,0,o);return i===-1&&(i=tb[s]),i!==-1&&(s=CEe[i],(cI[s]&r)!==0&&(ev=s,nb=0,rb=o)),ev!==-1}function pI(e,n,r){if(P1t(e,n,r))return;let s=(n.allowPrivateDomains?2:0)|(n.allowIcannDomains?1:0);if(kEe(e,Q1t,s)){r.isIcann=(cI[ev]&1)!==0,r.isPrivate=(cI[ev]&2)!==0,r.publicSuffix=e.slice(rb+1);return}if(kEe(e,R1t,s)){r.isIcann=(cI[ev]&1)!==0,r.isPrivate=(cI[ev]&2)!==0,r.publicSuffix=e.slice(nb);return}r.isIcann=!1,r.isPrivate=!1;let o=e.lastIndexOf(".");r.publicSuffix=o===-1?e:e.slice(o+1)}var FA=BEe();function L1t(e,n){return dI(e,5,pI,n,BEe())}function W1t(e,n){return UD(FA),dI(e,0,pI,n,FA).hostname}function H1t(e,n){return UD(FA),dI(e,2,pI,n,FA).publicSuffix}function q1t(e,n){return UD(FA),dI(e,3,pI,n,FA).domain}function U1t(e,n){UD(FA);let r=dI(e,3,pI,n,FA);return r.domain===null?null:r.hostname}function V1t(e,n){return UD(FA),dI(e,4,pI,n,FA).subdomain}function z1t(e,n){return UD(FA),dI(e,5,pI,n,FA).domainWithoutSuffix}oC.getDomain=q1t;oC.getDomainWithoutSuffix=z1t;oC.getFullDomain=U1t;oC.getHostname=W1t;oC.getPublicSuffix=H1t;oC.getSubdomain=V1t;oC.parse=L1t});var CQ=C((LQn,KEe)=>{"use strict";var ub=Object.defineProperty,G1t=Object.getOwnPropertyDescriptor,Y1t=Object.getOwnPropertyNames,$1t=Object.prototype.hasOwnProperty,J1t=(e,n)=>{for(var r in n)ub(e,r,{get:n[r],enumerable:!0})},X1t=(e,n,r,s)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of Y1t(n))!$1t.call(e,o)&&o!==r&&ub(e,o,{get:()=>n[o],enumerable:!(s=G1t(n,o))||s.enumerable});return e},b1t=e=>X1t(ub({},"__esModule",{value:!0}),e),VEe={};J1t(VEe,{Cookie:()=>Zp,CookieJar:()=>T0t,MemoryCookieStore:()=>YEe,ParameterError:()=>fb,PrefixSecurityEnum:()=>lC,Store:()=>db,canonicalDomain:()=>hI,cookieCompare:()=>ab,defaultPath:()=>bEe,domainMatch:()=>lb,formatDate:()=>XEe,fromJSON:()=>I0t,getPublicSuffix:()=>vQ,parse:()=>k0t,parseDate:()=>EQ,pathMatch:()=>cb,permuteDomain:()=>zEe,permutePath:()=>x0t,version:()=>JEe});KEe.exports=b1t(VEe);function cb(e,n){return!!(n===e||e.indexOf(n)===0&&(n[n.length-1]==="/"||e.startsWith(n)&&e[n.length]==="/"))}var K1t=MEe(),NEe=["local","example","invalid","localhost","test"],Z1t=["localhost","invalid"],O1t={allowSpecialUseDomain:!1,ignoreError:!1};function vQ(e,n={}){n={...O1t,...n};let r=e.split("."),s=r[r.length-1],o=!!n.allowSpecialUseDomain,t=!!n.ignoreError;if(o&&s!==void 0&&NEe.includes(s)){if(r.length>1)return`${r[r.length-2]}.${s}`;if(Z1t.includes(s))return s}if(!t&&s!==void 0&&NEe.includes(s))throw new Error(`Cookie has domain set to the public suffix "${s}" which is a special use domain. To allow this, configure your CookieJar with {allowSpecialUseDomain: true, rejectPublicSuffixes: false}.`);let i=(0,K1t.getDomain)(e,{allowIcannDomains:!0,allowPrivateDomains:!0});if(i)return i}function zEe(e,n){let r=vQ(e,{allowSpecialUseDomain:n});if(!r)return;if(r==e)return[e];e.slice(-1)=="."&&(e=e.slice(0,-1));let o=e.slice(0,-(r.length+1)).split(".").reverse(),t=r,i=[t];for(;o.length;)t=`${o.shift()}.${t}`,i.push(t);return i}var db=class{constructor(){this.synchronous=!1}findCookie(e,n,r,s){throw new Error("findCookie is not implemented")}findCookies(e,n,r=!1,s){throw new Error("findCookies is not implemented")}putCookie(e,n){throw new Error("putCookie is not implemented")}updateCookie(e,n,r){throw new Error("updateCookie is not implemented")}removeCookie(e,n,r,s){throw new Error("removeCookie is not implemented")}removeCookies(e,n,r){throw new Error("removeCookies is not implemented")}removeAllCookies(e){throw new Error("removeAllCookies is not implemented")}getAllCookies(e){throw new Error("getAllCookies is not implemented (therefore jar cannot be serialized)")}},pb=e=>Object.prototype.toString.call(e),j1t=(e,n)=>typeof e.join!="function"?pb(e):(n.add(e),e.map(s=>s==null||n.has(s)?"":GEe(s,n)).join()),GEe=(e,n=new WeakSet)=>typeof e!="object"||e===null?String(e):typeof e.toString=="function"?Array.isArray(e)?j1t(e,n):String(e):pb(e),ob=e=>GEe(e);function Op(e){let n,r,s,o=new Promise((t,i)=>{r=t,s=i});return typeof e=="function"?n=(t,i)=>{try{t?e(t):e(null,i)}catch(a){s(a instanceof Error?a:new Error)}}:n=(t,i)=>{try{t?s(t):r(i)}catch(a){s(a instanceof Error?a:new Error)}},{promise:o,callback:n,resolve:t=>(n(null,t),o),reject:t=>(n(t),o)}}function d_(e,n){return e in n}var YEe=class extends db{constructor(){super(),this.synchronous=!0,this.idx=Object.create(null)}findCookie(e,n,r,s){let o=Op(s);if(e==null||n==null||r==null)return o.resolve(void 0);let t=this.idx[e]?.[n]?.[r];return o.resolve(t)}findCookies(e,n,r=!1,s){typeof r=="function"&&(s=r,r=!0);let o=[],t=Op(s);if(!e)return t.resolve([]);let i;n?i=function(f){for(let m in f)if(cb(n,m)){let g=f[m];for(let w in g){let E=g[w];E&&o.push(E)}}}:i=function(f){for(let m in f){let g=f[m];for(let w in g){let E=g[w];E&&o.push(E)}}};let a=zEe(e,r)||[e],l=this.idx;return a.forEach(u=>{let f=l[u];f&&i(f)}),t.resolve(o)}putCookie(e,n){let r=Op(n),{domain:s,path:o,key:t}=e;if(s==null||o==null||t==null)return r.resolve(void 0);let i=this.idx[s]??Object.create(null);this.idx[s]=i;let a=i[o]??Object.create(null);return i[o]=a,a[t]=e,r.resolve(void 0)}updateCookie(e,n,r){if(r)this.putCookie(n,r);else return this.putCookie(n)}removeCookie(e,n,r,s){let o=Op(s);return delete this.idx[e]?.[n]?.[r],o.resolve(void 0)}removeCookies(e,n,r){let s=Op(r),o=this.idx[e];return o&&(n?delete o[n]:delete this.idx[e]),s.resolve(void 0)}removeAllCookies(e){let n=Op(e);return this.idx=Object.create(null),n.resolve(void 0)}getAllCookies(e){let n=Op(e),r=[],s=this.idx;return Object.keys(s).forEach(t=>{let i=s[t]??{};Object.keys(i).forEach(l=>{let u=i[l]??{};Object.keys(u).forEach(m=>{let g=u[m];g!=null&&r.push(g)})})}),r.sort((t,i)=>(t.creationIndex||0)-(i.creationIndex||0)),n.resolve(r)}};function ib(e){return $Ee(e)&&e!==""}function hb(e){return e===""||e instanceof String&&e.toString()===""}function $Ee(e){return typeof e=="string"||e instanceof String}function wQ(e){return pb(e)==="[object Object]"}function u_(e,n,r){if(e)return;let s=typeof n=="function"?n:void 0,o=typeof n=="function"?r:n;wQ(o)||(o="[object Object]");let t=new fb(ob(o));if(s)s(t);else throw t}var fb=class extends Error{},JEe="6.0.2",lC={SILENT:"silent",STRICT:"strict",DISABLED:"unsafe-disabled"};Object.freeze(lC);var e0t=`
|
|
3
3
|
\\[?(?:
|
|
4
4
|
(?:[a-fA-F\\d]{1,4}:){7}(?:[a-fA-F\\d]{1,4}|:)|
|
|
5
5
|
(?:[a-fA-F\\d]{1,4}:){6}(?:(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)(?:\\.(?:25[0-5]|2[0-4]\\d|1\\d\\d|[1-9]\\d|\\d)){3}|:[a-fA-F\\d]{1,4}|:)|
|
|
@@ -937,8 +937,8 @@ l0,-`+(r+144)+`c-2,-159.3,-10,-310.7,-24,-454c-53.3,-528,-210,-949.7,
|
|
|
937
937
|
|[ \r ]+
|
|
938
938
|
?)[ \r ]*`,dwe="[\u0300-\u036F]",vRn=new RegExp(dwe+"+$"),CRn="("+Qyt+"+)|"+(ERn+"|")+"([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]"+(dwe+"*")+"|[\uD800-\uDBFF][\uDC00-\uDFFF]"+(dwe+"*")+"|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5"+("|"+wRn)+("|"+SRn+")"),xX=class{constructor(n,r){this.input=void 0,this.settings=void 0,this.tokenRegex=void 0,this.catcodes=void 0,this.input=n,this.settings=r,this.tokenRegex=new RegExp(CRn,"g"),this.catcodes={"%":14,"~":13}}setCatcode(n,r){this.catcodes[n]=r}lex(){var n=this.input,r=this.tokenRegex.lastIndex;if(r===n.length)return new EA("EOF",new lm(this,r,r));var s=this.tokenRegex.exec(n);if(s===null||s.index!==r)throw new et("Unexpected character: '"+n[r]+"'",new EA(n[r],new lm(this,r,r+1)));var o=s[6]||s[3]||(s[2]?"\\ ":" ");if(this.catcodes[o]===14){var t=n.indexOf(`
|
|
939
939
|
`,this.tokenRegex.lastIndex);return t===-1?(this.tokenRegex.lastIndex=n.length,this.settings.reportNonstrict("commentAtEnd","% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode (e.g. $)")):this.tokenRegex.lastIndex=t+1,this.lex()}return new EA(o,new lm(this,r,this.tokenRegex.lastIndex))}},pwe=class{constructor(n,r){n===void 0&&(n={}),r===void 0&&(r={}),this.current=void 0,this.builtins=void 0,this.undefStack=void 0,this.current=r,this.builtins=n,this.undefStack=[]}beginGroup(){this.undefStack.push({})}endGroup(){if(this.undefStack.length===0)throw new et("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");var n=this.undefStack.pop();for(var r of Object.keys(n))n[r]===void 0?delete this.current[r]:this.current[r]=n[r]}endGroups(){for(;this.undefStack.length>0;)this.endGroup()}has(n){return Object.prototype.hasOwnProperty.call(this.current,n)||Object.prototype.hasOwnProperty.call(this.builtins,n)}get(n){return Object.prototype.hasOwnProperty.call(this.current,n)?this.current[n]:Object.prototype.hasOwnProperty.call(this.builtins,n)?this.builtins[n]:void 0}set(n,r,s){if(s===void 0&&(s=!1),s){for(var o=0;o<this.undefStack.length;o++)delete this.undefStack[o][n];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][n]=r)}else{var t=this.undefStack[this.undefStack.length-1];t&&!Object.prototype.hasOwnProperty.call(t,n)&&(t[n]=Object.prototype.hasOwnProperty.call(this.current,n)?this.current[n]:void 0)}r==null?delete this.current[n]:this.current[n]=r}},TRn=kyt;z("\\noexpand",function(e){var n=e.popToken();return e.isExpandable(n.text)&&(n.noexpand=!0,n.treatAsRelax=!0),{tokens:[n],numArgs:0}});z("\\expandafter",function(e){var n=e.popToken();return e.expandOnce(!0),{tokens:[n],numArgs:0}});z("\\@firstoftwo",function(e){var n=e.consumeArgs(2);return{tokens:n[0],numArgs:0}});z("\\@secondoftwo",function(e){var n=e.consumeArgs(2);return{tokens:n[1],numArgs:0}});z("\\@ifnextchar",function(e){var n=e.consumeArgs(3);e.consumeSpaces();var r=e.future();return n[0].length===1&&n[0][0].text===r.text?{tokens:n[1],numArgs:0}:{tokens:n[2],numArgs:0}});z("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");z("\\TextOrMath",function(e){var n=e.consumeArgs(2);return e.mode==="text"?{tokens:n[0],numArgs:0}:{tokens:n[1],numArgs:0}});var XAt={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,a:10,A:10,b:11,B:11,c:12,C:12,d:13,D:13,e:14,E:14,f:15,F:15};z("\\char",function(e){var n=e.popToken(),r,s=0;if(n.text==="'")r=8,n=e.popToken();else if(n.text==='"')r=16,n=e.popToken();else if(n.text==="`")if(n=e.popToken(),n.text[0]==="\\")s=n.text.charCodeAt(1);else{if(n.text==="EOF")throw new et("\\char` missing argument");s=n.text.charCodeAt(0)}else r=10;if(r){if(s=XAt[n.text],s==null||s>=r)throw new et("Invalid base-"+r+" digit "+n.text);for(var o;(o=XAt[e.future().text])!=null&&o<r;)s*=r,s+=o,e.popToken()}return"\\@char{"+s+"}"});var xwe=(e,n,r,s)=>{var o=e.consumeArg().tokens;if(o.length!==1)throw new et("\\newcommand's first argument must be a macro name");var t=o[0].text,i=e.isDefined(t);if(i&&!n)throw new et("\\newcommand{"+t+"} attempting to redefine "+(t+"; use \\renewcommand"));if(!i&&!r)throw new et("\\renewcommand{"+t+"} when command "+t+" does not yet exist; use \\newcommand");var a=0;if(o=e.consumeArg().tokens,o.length===1&&o[0].text==="["){for(var l="",u=e.expandNextToken();u.text!=="]"&&u.text!=="EOF";)l+=u.text,u=e.expandNextToken();if(!l.match(/^\s*[0-9]+\s*$/))throw new et("Invalid number of arguments: "+l);a=parseInt(l),o=e.consumeArg().tokens}return i&&s||e.macros.set(t,{tokens:o,numArgs:a}),""};z("\\newcommand",e=>xwe(e,!1,!0,!1));z("\\renewcommand",e=>xwe(e,!0,!1,!1));z("\\providecommand",e=>xwe(e,!0,!0,!0));z("\\message",e=>{var n=e.consumeArgs(1)[0];return console.log(n.reverse().map(r=>r.text).join("")),""});z("\\errmessage",e=>{var n=e.consumeArgs(1)[0];return console.error(n.reverse().map(r=>r.text).join("")),""});z("\\show",e=>{var n=e.popToken(),r=n.text;return console.log(n,e.macros.get(r),Y4[r],Lo.math[r],Lo.text[r]),""});z("\\bgroup","{");z("\\egroup","}");z("~","\\nobreakspace");z("\\lq","`");z("\\rq","'");z("\\aa","\\r a");z("\\AA","\\r A");z("\\textcopyright","\\html@mathml{\\textcircled{c}}{\\char`\xA9}");z("\\copyright","\\TextOrMath{\\textcopyright}{\\text{\\textcopyright}}");z("\\textregistered","\\html@mathml{\\textcircled{\\scriptsize R}}{\\char`\xAE}");z("\u212C","\\mathscr{B}");z("\u2130","\\mathscr{E}");z("\u2131","\\mathscr{F}");z("\u210B","\\mathscr{H}");z("\u2110","\\mathscr{I}");z("\u2112","\\mathscr{L}");z("\u2133","\\mathscr{M}");z("\u211B","\\mathscr{R}");z("\u212D","\\mathfrak{C}");z("\u210C","\\mathfrak{H}");z("\u2128","\\mathfrak{Z}");z("\\Bbbk","\\Bbb{k}");z("\\llap","\\mathllap{\\textrm{#1}}");z("\\rlap","\\mathrlap{\\textrm{#1}}");z("\\clap","\\mathclap{\\textrm{#1}}");z("\\mathstrut","\\vphantom{(}");z("\\underbar","\\underline{\\text{#1}}");z("\\not",'\\html@mathml{\\mathrel{\\mathrlap\\@not}\\nobreak}{\\char"338}');z("\\neq","\\html@mathml{\\mathrel{\\not=}}{\\mathrel{\\char`\u2260}}");z("\\ne","\\neq");z("\u2260","\\neq");z("\\notin","\\html@mathml{\\mathrel{{\\in}\\mathllap{/\\mskip1mu}}}{\\mathrel{\\char`\u2209}}");z("\u2209","\\notin");z("\u2258","\\html@mathml{\\mathrel{=\\kern{-1em}\\raisebox{0.4em}{$\\scriptsize\\frown$}}}{\\mathrel{\\char`\u2258}}");z("\u2259","\\html@mathml{\\stackrel{\\tiny\\wedge}{=}}{\\mathrel{\\char`\u2258}}");z("\u225A","\\html@mathml{\\stackrel{\\tiny\\vee}{=}}{\\mathrel{\\char`\u225A}}");z("\u225B","\\html@mathml{\\stackrel{\\scriptsize\\star}{=}}{\\mathrel{\\char`\u225B}}");z("\u225D","\\html@mathml{\\stackrel{\\tiny\\mathrm{def}}{=}}{\\mathrel{\\char`\u225D}}");z("\u225E","\\html@mathml{\\stackrel{\\tiny\\mathrm{m}}{=}}{\\mathrel{\\char`\u225E}}");z("\u225F","\\html@mathml{\\stackrel{\\tiny?}{=}}{\\mathrel{\\char`\u225F}}");z("\u27C2","\\perp");z("\u203C","\\mathclose{!\\mkern-0.8mu!}");z("\u220C","\\notni");z("\u231C","\\ulcorner");z("\u231D","\\urcorner");z("\u231E","\\llcorner");z("\u231F","\\lrcorner");z("\xA9","\\copyright");z("\xAE","\\textregistered");z("\\ulcorner",'\\html@mathml{\\@ulcorner}{\\mathop{\\char"231c}}');z("\\urcorner",'\\html@mathml{\\@urcorner}{\\mathop{\\char"231d}}');z("\\llcorner",'\\html@mathml{\\@llcorner}{\\mathop{\\char"231e}}');z("\\lrcorner",'\\html@mathml{\\@lrcorner}{\\mathop{\\char"231f}}');z("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");z("\u22EE","\\vdots");z("\\varGamma","\\mathit{\\Gamma}");z("\\varDelta","\\mathit{\\Delta}");z("\\varTheta","\\mathit{\\Theta}");z("\\varLambda","\\mathit{\\Lambda}");z("\\varXi","\\mathit{\\Xi}");z("\\varPi","\\mathit{\\Pi}");z("\\varSigma","\\mathit{\\Sigma}");z("\\varUpsilon","\\mathit{\\Upsilon}");z("\\varPhi","\\mathit{\\Phi}");z("\\varPsi","\\mathit{\\Psi}");z("\\varOmega","\\mathit{\\Omega}");z("\\substack","\\begin{subarray}{c}#1\\end{subarray}");z("\\colon","\\nobreak\\mskip2mu\\mathpunct{}\\mathchoice{\\mkern-3mu}{\\mkern-3mu}{}{}{:}\\mskip6mu\\relax");z("\\boxed","\\fbox{$\\displaystyle{#1}$}");z("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");z("\\implies","\\DOTSB\\;\\Longrightarrow\\;");z("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");z("\\dddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ...}}{#1}}");z("\\ddddot","{\\overset{\\raisebox{-0.1ex}{\\normalsize ....}}{#1}}");var bAt={",":"\\dotsc","\\not":"\\dotsb","+":"\\dotsb","=":"\\dotsb","<":"\\dotsb",">":"\\dotsb","-":"\\dotsb","*":"\\dotsb",":":"\\dotsb","\\DOTSB":"\\dotsb","\\coprod":"\\dotsb","\\bigvee":"\\dotsb","\\bigwedge":"\\dotsb","\\biguplus":"\\dotsb","\\bigcap":"\\dotsb","\\bigcup":"\\dotsb","\\prod":"\\dotsb","\\sum":"\\dotsb","\\bigotimes":"\\dotsb","\\bigoplus":"\\dotsb","\\bigodot":"\\dotsb","\\bigsqcup":"\\dotsb","\\And":"\\dotsb","\\longrightarrow":"\\dotsb","\\Longrightarrow":"\\dotsb","\\longleftarrow":"\\dotsb","\\Longleftarrow":"\\dotsb","\\longleftrightarrow":"\\dotsb","\\Longleftrightarrow":"\\dotsb","\\mapsto":"\\dotsb","\\longmapsto":"\\dotsb","\\hookrightarrow":"\\dotsb","\\doteq":"\\dotsb","\\mathbin":"\\dotsb","\\mathrel":"\\dotsb","\\relbar":"\\dotsb","\\Relbar":"\\dotsb","\\xrightarrow":"\\dotsb","\\xleftarrow":"\\dotsb","\\DOTSI":"\\dotsi","\\int":"\\dotsi","\\oint":"\\dotsi","\\iint":"\\dotsi","\\iiint":"\\dotsi","\\iiiint":"\\dotsi","\\idotsint":"\\dotsi","\\DOTSX":"\\dotsx"},xRn=new Set(["bin","rel"]);z("\\dots",function(e){var n="\\dotso",r=e.expandAfterFuture().text;return r in bAt?n=bAt[r]:(r.slice(0,4)==="\\not"||r in Lo.math&&xRn.has(Lo.math[r].group))&&(n="\\dotsb"),n});var kwe={")":!0,"]":!0,"\\rbrack":!0,"\\}":!0,"\\rbrace":!0,"\\rangle":!0,"\\rceil":!0,"\\rfloor":!0,"\\rgroup":!0,"\\rmoustache":!0,"\\right":!0,"\\bigr":!0,"\\biggr":!0,"\\Bigr":!0,"\\Biggr":!0,$:!0,";":!0,".":!0,",":!0};z("\\dotso",function(e){var n=e.future().text;return n in kwe?"\\ldots\\,":"\\ldots"});z("\\dotsc",function(e){var n=e.future().text;return n in kwe&&n!==","?"\\ldots\\,":"\\ldots"});z("\\cdots",function(e){var n=e.future().text;return n in kwe?"\\@cdots\\,":"\\@cdots"});z("\\dotsb","\\cdots");z("\\dotsm","\\cdots");z("\\dotsi","\\!\\cdots");z("\\dotsx","\\ldots\\,");z("\\DOTSI","\\relax");z("\\DOTSB","\\relax");z("\\DOTSX","\\relax");z("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");z("\\,","\\tmspace+{3mu}{.1667em}");z("\\thinspace","\\,");z("\\>","\\mskip{4mu}");z("\\:","\\tmspace+{4mu}{.2222em}");z("\\medspace","\\:");z("\\;","\\tmspace+{5mu}{.2777em}");z("\\thickspace","\\;");z("\\!","\\tmspace-{3mu}{.1667em}");z("\\negthinspace","\\!");z("\\negmedspace","\\tmspace-{4mu}{.2222em}");z("\\negthickspace","\\tmspace-{5mu}{.277em}");z("\\enspace","\\kern.5em ");z("\\enskip","\\hskip.5em\\relax");z("\\quad","\\hskip1em\\relax");z("\\qquad","\\hskip2em\\relax");z("\\tag","\\@ifstar\\tag@literal\\tag@paren");z("\\tag@paren","\\tag@literal{({#1})}");z("\\tag@literal",e=>{if(e.macros.get("\\df@tag"))throw new et("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});z("\\bmod","\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}\\mathbin{\\rm mod}\\mathchoice{\\mskip1mu}{\\mskip1mu}{\\mskip5mu}{\\mskip5mu}");z("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");z("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");z("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");z("\\newline","\\\\\\relax");z("\\TeX","\\textrm{\\html@mathml{T\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125emX}{TeX}}");var Lyt=ct(JE["Main-Regular"][84][1]-.7*JE["Main-Regular"][65][1]);z("\\LaTeX","\\textrm{\\html@mathml{"+("L\\kern-.36em\\raisebox{"+Lyt+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{LaTeX}}");z("\\KaTeX","\\textrm{\\html@mathml{"+("K\\kern-.17em\\raisebox{"+Lyt+"}{\\scriptstyle A}")+"\\kern-.15em\\TeX}{KaTeX}}");z("\\hspace","\\@ifstar\\@hspacer\\@hspace");z("\\@hspace","\\hskip #1\\relax");z("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");z("\\ordinarycolon",":");z("\\vcentcolon","\\mathrel{\\mathop\\ordinarycolon}");z("\\dblcolon",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-.9mu}\\vcentcolon}}{\\mathop{\\char"2237}}');z("\\coloneqq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2254}}');z("\\Coloneqq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}=}}{\\mathop{\\char"2237\\char"3d}}');z("\\coloneq",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"3a\\char"2212}}');z("\\Coloneq",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\mathrel{-}}}{\\mathop{\\char"2237\\char"2212}}');z("\\eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2255}}');z("\\Eqqcolon",'\\html@mathml{\\mathrel{=\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"3d\\char"2237}}');z("\\eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\vcentcolon}}{\\mathop{\\char"2239}}');z("\\Eqcolon",'\\html@mathml{\\mathrel{\\mathrel{-}\\mathrel{\\mkern-1.2mu}\\dblcolon}}{\\mathop{\\char"2212\\char"2237}}');z("\\colonapprox",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"3a\\char"2248}}');z("\\Colonapprox",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\approx}}{\\mathop{\\char"2237\\char"2248}}');z("\\colonsim",'\\html@mathml{\\mathrel{\\vcentcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"3a\\char"223c}}');z("\\Colonsim",'\\html@mathml{\\mathrel{\\dblcolon\\mathrel{\\mkern-1.2mu}\\sim}}{\\mathop{\\char"2237\\char"223c}}');z("\u2237","\\dblcolon");z("\u2239","\\eqcolon");z("\u2254","\\coloneqq");z("\u2255","\\eqqcolon");z("\u2A74","\\Coloneqq");z("\\ratio","\\vcentcolon");z("\\coloncolon","\\dblcolon");z("\\colonequals","\\coloneqq");z("\\coloncolonequals","\\Coloneqq");z("\\equalscolon","\\eqqcolon");z("\\equalscoloncolon","\\Eqqcolon");z("\\colonminus","\\coloneq");z("\\coloncolonminus","\\Coloneq");z("\\minuscolon","\\eqcolon");z("\\minuscoloncolon","\\Eqcolon");z("\\coloncolonapprox","\\Colonapprox");z("\\coloncolonsim","\\Colonsim");z("\\simcolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\vcentcolon}");z("\\simcoloncolon","\\mathrel{\\sim\\mathrel{\\mkern-1.2mu}\\dblcolon}");z("\\approxcolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\vcentcolon}");z("\\approxcoloncolon","\\mathrel{\\approx\\mathrel{\\mkern-1.2mu}\\dblcolon}");z("\\notni","\\html@mathml{\\not\\ni}{\\mathrel{\\char`\u220C}}");z("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");z("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");z("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");z("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");z("\\varlimsup","\\DOTSB\\operatorname*{\\overline{lim}}");z("\\varliminf","\\DOTSB\\operatorname*{\\underline{lim}}");z("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{lim}}");z("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{lim}}");z("\\gvertneqq","\\html@mathml{\\@gvertneqq}{\u2269}");z("\\lvertneqq","\\html@mathml{\\@lvertneqq}{\u2268}");z("\\ngeqq","\\html@mathml{\\@ngeqq}{\u2271}");z("\\ngeqslant","\\html@mathml{\\@ngeqslant}{\u2271}");z("\\nleqq","\\html@mathml{\\@nleqq}{\u2270}");z("\\nleqslant","\\html@mathml{\\@nleqslant}{\u2270}");z("\\nshortmid","\\html@mathml{\\@nshortmid}{\u2224}");z("\\nshortparallel","\\html@mathml{\\@nshortparallel}{\u2226}");z("\\nsubseteqq","\\html@mathml{\\@nsubseteqq}{\u2288}");z("\\nsupseteqq","\\html@mathml{\\@nsupseteqq}{\u2289}");z("\\varsubsetneq","\\html@mathml{\\@varsubsetneq}{\u228A}");z("\\varsubsetneqq","\\html@mathml{\\@varsubsetneqq}{\u2ACB}");z("\\varsupsetneq","\\html@mathml{\\@varsupsetneq}{\u228B}");z("\\varsupsetneqq","\\html@mathml{\\@varsupsetneqq}{\u2ACC}");z("\\imath","\\html@mathml{\\@imath}{\u0131}");z("\\jmath","\\html@mathml{\\@jmath}{\u0237}");z("\\llbracket","\\html@mathml{\\mathopen{[\\mkern-3.2mu[}}{\\mathopen{\\char`\u27E6}}");z("\\rrbracket","\\html@mathml{\\mathclose{]\\mkern-3.2mu]}}{\\mathclose{\\char`\u27E7}}");z("\u27E6","\\llbracket");z("\u27E7","\\rrbracket");z("\\lBrace","\\html@mathml{\\mathopen{\\{\\mkern-3.2mu[}}{\\mathopen{\\char`\u2983}}");z("\\rBrace","\\html@mathml{\\mathclose{]\\mkern-3.2mu\\}}}{\\mathclose{\\char`\u2984}}");z("\u2983","\\lBrace");z("\u2984","\\rBrace");z("\\minuso","\\mathbin{\\html@mathml{{\\mathrlap{\\mathchoice{\\kern{0.145em}}{\\kern{0.145em}}{\\kern{0.1015em}}{\\kern{0.0725em}}\\circ}{-}}}{\\char`\u29B5}}");z("\u29B5","\\minuso");z("\\darr","\\downarrow");z("\\dArr","\\Downarrow");z("\\Darr","\\Downarrow");z("\\lang","\\langle");z("\\rang","\\rangle");z("\\uarr","\\uparrow");z("\\uArr","\\Uparrow");z("\\Uarr","\\Uparrow");z("\\N","\\mathbb{N}");z("\\R","\\mathbb{R}");z("\\Z","\\mathbb{Z}");z("\\alef","\\aleph");z("\\alefsym","\\aleph");z("\\Alpha","\\mathrm{A}");z("\\Beta","\\mathrm{B}");z("\\bull","\\bullet");z("\\Chi","\\mathrm{X}");z("\\clubs","\\clubsuit");z("\\cnums","\\mathbb{C}");z("\\Complex","\\mathbb{C}");z("\\Dagger","\\ddagger");z("\\diamonds","\\diamondsuit");z("\\empty","\\emptyset");z("\\Epsilon","\\mathrm{E}");z("\\Eta","\\mathrm{H}");z("\\exist","\\exists");z("\\harr","\\leftrightarrow");z("\\hArr","\\Leftrightarrow");z("\\Harr","\\Leftrightarrow");z("\\hearts","\\heartsuit");z("\\image","\\Im");z("\\infin","\\infty");z("\\Iota","\\mathrm{I}");z("\\isin","\\in");z("\\Kappa","\\mathrm{K}");z("\\larr","\\leftarrow");z("\\lArr","\\Leftarrow");z("\\Larr","\\Leftarrow");z("\\lrarr","\\leftrightarrow");z("\\lrArr","\\Leftrightarrow");z("\\Lrarr","\\Leftrightarrow");z("\\Mu","\\mathrm{M}");z("\\natnums","\\mathbb{N}");z("\\Nu","\\mathrm{N}");z("\\Omicron","\\mathrm{O}");z("\\plusmn","\\pm");z("\\rarr","\\rightarrow");z("\\rArr","\\Rightarrow");z("\\Rarr","\\Rightarrow");z("\\real","\\Re");z("\\reals","\\mathbb{R}");z("\\Reals","\\mathbb{R}");z("\\Rho","\\mathrm{P}");z("\\sdot","\\cdot");z("\\sect","\\S");z("\\spades","\\spadesuit");z("\\sub","\\subset");z("\\sube","\\subseteq");z("\\supe","\\supseteq");z("\\Tau","\\mathrm{T}");z("\\thetasym","\\vartheta");z("\\weierp","\\wp");z("\\Zeta","\\mathrm{Z}");z("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");z("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");z("\\plim","\\DOTSB\\mathop{\\operatorname{plim}}\\limits");z("\\bra","\\mathinner{\\langle{#1}|}");z("\\ket","\\mathinner{|{#1}\\rangle}");z("\\braket","\\mathinner{\\langle{#1}\\rangle}");z("\\Bra","\\left\\langle#1\\right|");z("\\Ket","\\left|#1\\right\\rangle");var Wyt=e=>n=>{var r=n.consumeArg().tokens,s=n.consumeArg().tokens,o=n.consumeArg().tokens,t=n.consumeArg().tokens,i=n.macros.get("|"),a=n.macros.get("\\|");n.macros.beginGroup();var l=m=>g=>{e&&(g.macros.set("|",i),o.length&&g.macros.set("\\|",a));var w=m;if(!m&&o.length){var E=g.future();E.text==="|"&&(g.popToken(),w=!0)}return{tokens:w?o:s,numArgs:0}};n.macros.set("|",l(!1)),o.length&&n.macros.set("\\|",l(!0));var u=n.consumeArg().tokens,f=n.expandTokens([...t,...u,...r]);return n.macros.endGroup(),{tokens:f.reverse(),numArgs:0}};z("\\bra@ket",Wyt(!1));z("\\bra@set",Wyt(!0));z("\\Braket","\\bra@ket{\\left\\langle}{\\,\\middle\\vert\\,}{\\,\\middle\\vert\\,}{\\right\\rangle}");z("\\Set","\\bra@set{\\left\\{\\:}{\\;\\middle\\vert\\;}{\\;\\middle\\Vert\\;}{\\:\\right\\}}");z("\\set","\\bra@set{\\{\\,}{\\mid}{}{\\,\\}}");z("\\angln","{\\angl n}");z("\\blue","\\textcolor{##6495ed}{#1}");z("\\orange","\\textcolor{##ffa500}{#1}");z("\\pink","\\textcolor{##ff00af}{#1}");z("\\red","\\textcolor{##df0030}{#1}");z("\\green","\\textcolor{##28ae7b}{#1}");z("\\gray","\\textcolor{gray}{#1}");z("\\purple","\\textcolor{##9d38bd}{#1}");z("\\blueA","\\textcolor{##ccfaff}{#1}");z("\\blueB","\\textcolor{##80f6ff}{#1}");z("\\blueC","\\textcolor{##63d9ea}{#1}");z("\\blueD","\\textcolor{##11accd}{#1}");z("\\blueE","\\textcolor{##0c7f99}{#1}");z("\\tealA","\\textcolor{##94fff5}{#1}");z("\\tealB","\\textcolor{##26edd5}{#1}");z("\\tealC","\\textcolor{##01d1c1}{#1}");z("\\tealD","\\textcolor{##01a995}{#1}");z("\\tealE","\\textcolor{##208170}{#1}");z("\\greenA","\\textcolor{##b6ffb0}{#1}");z("\\greenB","\\textcolor{##8af281}{#1}");z("\\greenC","\\textcolor{##74cf70}{#1}");z("\\greenD","\\textcolor{##1fab54}{#1}");z("\\greenE","\\textcolor{##0d923f}{#1}");z("\\goldA","\\textcolor{##ffd0a9}{#1}");z("\\goldB","\\textcolor{##ffbb71}{#1}");z("\\goldC","\\textcolor{##ff9c39}{#1}");z("\\goldD","\\textcolor{##e07d10}{#1}");z("\\goldE","\\textcolor{##a75a05}{#1}");z("\\redA","\\textcolor{##fca9a9}{#1}");z("\\redB","\\textcolor{##ff8482}{#1}");z("\\redC","\\textcolor{##f9685d}{#1}");z("\\redD","\\textcolor{##e84d39}{#1}");z("\\redE","\\textcolor{##bc2612}{#1}");z("\\maroonA","\\textcolor{##ffbde0}{#1}");z("\\maroonB","\\textcolor{##ff92c6}{#1}");z("\\maroonC","\\textcolor{##ed5fa6}{#1}");z("\\maroonD","\\textcolor{##ca337c}{#1}");z("\\maroonE","\\textcolor{##9e034e}{#1}");z("\\purpleA","\\textcolor{##ddd7ff}{#1}");z("\\purpleB","\\textcolor{##c6b9fc}{#1}");z("\\purpleC","\\textcolor{##aa87ff}{#1}");z("\\purpleD","\\textcolor{##7854ab}{#1}");z("\\purpleE","\\textcolor{##543b78}{#1}");z("\\mintA","\\textcolor{##f5f9e8}{#1}");z("\\mintB","\\textcolor{##edf2df}{#1}");z("\\mintC","\\textcolor{##e0e5cc}{#1}");z("\\grayA","\\textcolor{##f6f7f7}{#1}");z("\\grayB","\\textcolor{##f0f1f2}{#1}");z("\\grayC","\\textcolor{##e3e5e6}{#1}");z("\\grayD","\\textcolor{##d6d8da}{#1}");z("\\grayE","\\textcolor{##babec2}{#1}");z("\\grayF","\\textcolor{##888d93}{#1}");z("\\grayG","\\textcolor{##626569}{#1}");z("\\grayH","\\textcolor{##3b3e40}{#1}");z("\\grayI","\\textcolor{##21242c}{#1}");z("\\kaBlue","\\textcolor{##314453}{#1}");z("\\kaGreen","\\textcolor{##71B307}{#1}");var Hyt={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},hwe=class{constructor(n,r,s){this.settings=void 0,this.expansionCount=void 0,this.lexer=void 0,this.macros=void 0,this.stack=void 0,this.mode=void 0,this.settings=r,this.expansionCount=0,this.feed(n),this.macros=new pwe(TRn,r.macros),this.mode=s,this.stack=[]}feed(n){this.lexer=new xX(n,this.settings)}switchMode(n){this.mode=n}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}endGroups(){this.macros.endGroups()}future(){return this.stack.length===0&&this.pushToken(this.lexer.lex()),this.stack[this.stack.length-1]}popToken(){return this.future(),this.stack.pop()}pushToken(n){this.stack.push(n)}pushTokens(n){this.stack.push(...n)}scanArgument(n){var r,s,o;if(n){if(this.consumeSpaces(),this.future().text!=="[")return null;r=this.popToken();var t=this.consumeArg(["]"]);o=t.tokens,s=t.end}else{var i=this.consumeArg();o=i.tokens,r=i.start,s=i.end}return this.pushToken(new EA("EOF",s.loc)),this.pushTokens(o),new EA("",lm.range(r,s))}consumeSpaces(){for(;;){var n=this.future();if(n.text===" ")this.stack.pop();else break}}consumeArg(n){var r=[],s=n&&n.length>0;s||this.consumeSpaces();var o=this.future(),t,i=0,a=0;do{if(t=this.popToken(),r.push(t),t.text==="{")++i;else if(t.text==="}"){if(--i,i===-1)throw new et("Extra }",t)}else if(t.text==="EOF")throw new et("Unexpected end of input in a macro argument, expected '"+(n&&s?n[a]:"}")+"'",t);if(n&&s)if((i===0||i===1&&n[a]==="{")&&t.text===n[a]){if(++a,a===n.length){r.splice(-a,a);break}}else a=0}while(i!==0||s);return o.text==="{"&&r[r.length-1].text==="}"&&(r.pop(),r.shift()),r.reverse(),{tokens:r,start:o,end:t}}consumeArgs(n,r){if(r){if(r.length!==n+1)throw new et("The length of delimiters doesn't match the number of args!");for(var s=r[0],o=0;o<s.length;o++){var t=this.popToken();if(s[o]!==t.text)throw new et("Use of the macro doesn't match its definition",t)}}for(var i=[],a=0;a<n;a++)i.push(this.consumeArg(r&&r[a+1]).tokens);return i}countExpansion(n){if(this.expansionCount+=n,this.expansionCount>this.settings.maxExpand)throw new et("Too many expansions: infinite loop or need to increase maxExpand setting")}expandOnce(n){var r=this.popToken(),s=r.text,o=r.noexpand?null:this._getExpansion(s);if(o==null||n&&o.unexpandable){if(n&&o==null&&s[0]==="\\"&&!this.isDefined(s))throw new et("Undefined control sequence: "+s);return this.pushToken(r),!1}this.countExpansion(1);var t=o.tokens,i=this.consumeArgs(o.numArgs,o.delimiters);if(o.numArgs){t=t.slice();for(var a=t.length-1;a>=0;--a){var l=t[a];if(l.text==="#"){if(a===0)throw new et("Incomplete placeholder at end of macro body",l);if(l=t[--a],l.text==="#")t.splice(a+1,1);else if(/^[1-9]$/.test(l.text))t.splice(a,2,...i[+l.text-1]);else throw new et("Not a valid argument number",l)}}}return this.pushTokens(t),t.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){var n=this.stack.pop();return n.treatAsRelax&&(n.text="\\relax"),n}}expandMacro(n){return this.macros.has(n)?this.expandTokens([new EA(n)]):void 0}expandTokens(n){var r=[],s=this.stack.length;for(this.pushTokens(n);this.stack.length>s;)if(this.expandOnce(!0)===!1){var o=this.stack.pop();o.treatAsRelax&&(o.noexpand=!1,o.treatAsRelax=!1),r.push(o)}return this.countExpansion(r.length),r}expandMacroAsText(n){var r=this.expandMacro(n);return r&&r.map(s=>s.text).join("")}_getExpansion(n){var r=this.macros.get(n);if(r==null)return r;if(n.length===1){var s=this.lexer.catcodes[n];if(s!=null&&s!==13)return}var o=typeof r=="function"?r(this):r;if(typeof o=="string"){var t=0;if(o.includes("#"))for(var i=o.replace(/##/g,"");i.includes("#"+(t+1));)++t;for(var a=new xX(o,this.settings),l=[],u=a.lex();u.text!=="EOF";)l.push(u),u=a.lex();l.reverse();var f={tokens:l,numArgs:t};return f}return o}isDefined(n){return this.macros.has(n)||Object.prototype.hasOwnProperty.call(Y4,n)||Object.prototype.hasOwnProperty.call(Lo.math,n)||Object.prototype.hasOwnProperty.call(Lo.text,n)||Object.prototype.hasOwnProperty.call(Hyt,n)}isExpandable(n){var r=this.macros.get(n);return r!=null?typeof r=="string"||typeof r=="function"||!r.unexpandable:Object.prototype.hasOwnProperty.call(Y4,n)&&!Y4[n].primitive}},KAt=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,gX=Object.freeze({"\u208A":"+","\u208B":"-","\u208C":"=","\u208D":"(","\u208E":")","\u2080":"0","\u2081":"1","\u2082":"2","\u2083":"3","\u2084":"4","\u2085":"5","\u2086":"6","\u2087":"7","\u2088":"8","\u2089":"9","\u2090":"a","\u2091":"e","\u2095":"h","\u1D62":"i","\u2C7C":"j","\u2096":"k","\u2097":"l","\u2098":"m","\u2099":"n","\u2092":"o","\u209A":"p","\u1D63":"r","\u209B":"s","\u209C":"t","\u1D64":"u","\u1D65":"v","\u2093":"x","\u1D66":"\u03B2","\u1D67":"\u03B3","\u1D68":"\u03C1","\u1D69":"\u03D5","\u1D6A":"\u03C7","\u207A":"+","\u207B":"-","\u207C":"=","\u207D":"(","\u207E":")","\u2070":"0","\xB9":"1","\xB2":"2","\xB3":"3","\u2074":"4","\u2075":"5","\u2076":"6","\u2077":"7","\u2078":"8","\u2079":"9","\u1D2C":"A","\u1D2E":"B","\u1D30":"D","\u1D31":"E","\u1D33":"G","\u1D34":"H","\u1D35":"I","\u1D36":"J","\u1D37":"K","\u1D38":"L","\u1D39":"M","\u1D3A":"N","\u1D3C":"O","\u1D3E":"P","\u1D3F":"R","\u1D40":"T","\u1D41":"U","\u2C7D":"V","\u1D42":"W","\u1D43":"a","\u1D47":"b","\u1D9C":"c","\u1D48":"d","\u1D49":"e","\u1DA0":"f","\u1D4D":"g",\u02B0:"h","\u2071":"i",\u02B2:"j","\u1D4F":"k",\u02E1:"l","\u1D50":"m",\u207F:"n","\u1D52":"o","\u1D56":"p",\u02B3:"r",\u02E2:"s","\u1D57":"t","\u1D58":"u","\u1D5B":"v",\u02B7:"w",\u02E3:"x",\u02B8:"y","\u1DBB":"z","\u1D5D":"\u03B2","\u1D5E":"\u03B3","\u1D5F":"\u03B4","\u1D60":"\u03D5","\u1D61":"\u03C7","\u1DBF":"\u03B8"}),$Se={"\u0301":{text:"\\'",math:"\\acute"},"\u0300":{text:"\\`",math:"\\grave"},"\u0308":{text:'\\"',math:"\\ddot"},"\u0303":{text:"\\~",math:"\\tilde"},"\u0304":{text:"\\=",math:"\\bar"},"\u0306":{text:"\\u",math:"\\breve"},"\u030C":{text:"\\v",math:"\\check"},"\u0302":{text:"\\^",math:"\\hat"},"\u0307":{text:"\\.",math:"\\dot"},"\u030A":{text:"\\r",math:"\\mathring"},"\u030B":{text:"\\H"},"\u0327":{text:"\\c"}},ZAt={\u00E1:"a\u0301",\u00E0:"a\u0300",\u00E4:"a\u0308",\u01DF:"a\u0308\u0304",\u00E3:"a\u0303",\u0101:"a\u0304",\u0103:"a\u0306",\u1EAF:"a\u0306\u0301",\u1EB1:"a\u0306\u0300",\u1EB5:"a\u0306\u0303",\u01CE:"a\u030C",\u00E2:"a\u0302",\u1EA5:"a\u0302\u0301",\u1EA7:"a\u0302\u0300",\u1EAB:"a\u0302\u0303",\u0227:"a\u0307",\u01E1:"a\u0307\u0304",\u00E5:"a\u030A",\u01FB:"a\u030A\u0301",\u1E03:"b\u0307",\u0107:"c\u0301",\u1E09:"c\u0327\u0301",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u00E7:"c\u0327",\u010F:"d\u030C",\u1E0B:"d\u0307",\u1E11:"d\u0327",\u00E9:"e\u0301",\u00E8:"e\u0300",\u00EB:"e\u0308",\u1EBD:"e\u0303",\u0113:"e\u0304",\u1E17:"e\u0304\u0301",\u1E15:"e\u0304\u0300",\u0115:"e\u0306",\u1E1D:"e\u0327\u0306",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u0229:"e\u0327",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u0123:"g\u0327",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\u1E29:"h\u0327",\u00ED:"i\u0301",\u00EC:"i\u0300",\u00EF:"i\u0308",\u1E2F:"i\u0308\u0301",\u0129:"i\u0303",\u012B:"i\u0304",\u012D:"i\u0306",\u01D0:"i\u030C",\u00EE:"i\u0302",\u01F0:"j\u030C",\u0135:"j\u0302",\u1E31:"k\u0301",\u01E9:"k\u030C",\u0137:"k\u0327",\u013A:"l\u0301",\u013E:"l\u030C",\u013C:"l\u0327",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\u0146:"n\u0327",\u00F3:"o\u0301",\u00F2:"o\u0300",\u00F6:"o\u0308",\u022B:"o\u0308\u0304",\u00F5:"o\u0303",\u1E4D:"o\u0303\u0301",\u1E4F:"o\u0303\u0308",\u022D:"o\u0303\u0304",\u014D:"o\u0304",\u1E53:"o\u0304\u0301",\u1E51:"o\u0304\u0300",\u014F:"o\u0306",\u01D2:"o\u030C",\u00F4:"o\u0302",\u1ED1:"o\u0302\u0301",\u1ED3:"o\u0302\u0300",\u1ED7:"o\u0302\u0303",\u022F:"o\u0307",\u0231:"o\u0307\u0304",\u0151:"o\u030B",\u1E55:"p\u0301",\u1E57:"p\u0307",\u0155:"r\u0301",\u0159:"r\u030C",\u1E59:"r\u0307",\u0157:"r\u0327",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u015F:"s\u0327",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\u0163:"t\u0327",\u00FA:"u\u0301",\u00F9:"u\u0300",\u00FC:"u\u0308",\u01D8:"u\u0308\u0301",\u01DC:"u\u0308\u0300",\u01D6:"u\u0308\u0304",\u01DA:"u\u0308\u030C",\u0169:"u\u0303",\u1E79:"u\u0303\u0301",\u016B:"u\u0304",\u1E7B:"u\u0304\u0308",\u016D:"u\u0306",\u01D4:"u\u030C",\u00FB:"u\u0302",\u016F:"u\u030A",\u0171:"u\u030B",\u1E7D:"v\u0303",\u1E83:"w\u0301",\u1E81:"w\u0300",\u1E85:"w\u0308",\u0175:"w\u0302",\u1E87:"w\u0307",\u1E98:"w\u030A",\u1E8D:"x\u0308",\u1E8B:"x\u0307",\u00FD:"y\u0301",\u1EF3:"y\u0300",\u00FF:"y\u0308",\u1EF9:"y\u0303",\u0233:"y\u0304",\u0177:"y\u0302",\u1E8F:"y\u0307",\u1E99:"y\u030A",\u017A:"z\u0301",\u017E:"z\u030C",\u1E91:"z\u0302",\u017C:"z\u0307",\u00C1:"A\u0301",\u00C0:"A\u0300",\u00C4:"A\u0308",\u01DE:"A\u0308\u0304",\u00C3:"A\u0303",\u0100:"A\u0304",\u0102:"A\u0306",\u1EAE:"A\u0306\u0301",\u1EB0:"A\u0306\u0300",\u1EB4:"A\u0306\u0303",\u01CD:"A\u030C",\u00C2:"A\u0302",\u1EA4:"A\u0302\u0301",\u1EA6:"A\u0302\u0300",\u1EAA:"A\u0302\u0303",\u0226:"A\u0307",\u01E0:"A\u0307\u0304",\u00C5:"A\u030A",\u01FA:"A\u030A\u0301",\u1E02:"B\u0307",\u0106:"C\u0301",\u1E08:"C\u0327\u0301",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u00C7:"C\u0327",\u010E:"D\u030C",\u1E0A:"D\u0307",\u1E10:"D\u0327",\u00C9:"E\u0301",\u00C8:"E\u0300",\u00CB:"E\u0308",\u1EBC:"E\u0303",\u0112:"E\u0304",\u1E16:"E\u0304\u0301",\u1E14:"E\u0304\u0300",\u0114:"E\u0306",\u1E1C:"E\u0327\u0306",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u0228:"E\u0327",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u0122:"G\u0327",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\u1E28:"H\u0327",\u00CD:"I\u0301",\u00CC:"I\u0300",\u00CF:"I\u0308",\u1E2E:"I\u0308\u0301",\u0128:"I\u0303",\u012A:"I\u0304",\u012C:"I\u0306",\u01CF:"I\u030C",\u00CE:"I\u0302",\u0130:"I\u0307",\u0134:"J\u0302",\u1E30:"K\u0301",\u01E8:"K\u030C",\u0136:"K\u0327",\u0139:"L\u0301",\u013D:"L\u030C",\u013B:"L\u0327",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\u0145:"N\u0327",\u00D3:"O\u0301",\u00D2:"O\u0300",\u00D6:"O\u0308",\u022A:"O\u0308\u0304",\u00D5:"O\u0303",\u1E4C:"O\u0303\u0301",\u1E4E:"O\u0303\u0308",\u022C:"O\u0303\u0304",\u014C:"O\u0304",\u1E52:"O\u0304\u0301",\u1E50:"O\u0304\u0300",\u014E:"O\u0306",\u01D1:"O\u030C",\u00D4:"O\u0302",\u1ED0:"O\u0302\u0301",\u1ED2:"O\u0302\u0300",\u1ED6:"O\u0302\u0303",\u022E:"O\u0307",\u0230:"O\u0307\u0304",\u0150:"O\u030B",\u1E54:"P\u0301",\u1E56:"P\u0307",\u0154:"R\u0301",\u0158:"R\u030C",\u1E58:"R\u0307",\u0156:"R\u0327",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u015E:"S\u0327",\u0164:"T\u030C",\u1E6A:"T\u0307",\u0162:"T\u0327",\u00DA:"U\u0301",\u00D9:"U\u0300",\u00DC:"U\u0308",\u01D7:"U\u0308\u0301",\u01DB:"U\u0308\u0300",\u01D5:"U\u0308\u0304",\u01D9:"U\u0308\u030C",\u0168:"U\u0303",\u1E78:"U\u0303\u0301",\u016A:"U\u0304",\u1E7A:"U\u0304\u0308",\u016C:"U\u0306",\u01D3:"U\u030C",\u00DB:"U\u0302",\u016E:"U\u030A",\u0170:"U\u030B",\u1E7C:"V\u0303",\u1E82:"W\u0301",\u1E80:"W\u0300",\u1E84:"W\u0308",\u0174:"W\u0302",\u1E86:"W\u0307",\u1E8C:"X\u0308",\u1E8A:"X\u0307",\u00DD:"Y\u0301",\u1EF2:"Y\u0300",\u0178:"Y\u0308",\u1EF8:"Y\u0303",\u0232:"Y\u0304",\u0176:"Y\u0302",\u1E8E:"Y\u0307",\u0179:"Z\u0301",\u017D:"Z\u030C",\u1E90:"Z\u0302",\u017B:"Z\u0307",\u03AC:"\u03B1\u0301",\u1F70:"\u03B1\u0300",\u1FB1:"\u03B1\u0304",\u1FB0:"\u03B1\u0306",\u03AD:"\u03B5\u0301",\u1F72:"\u03B5\u0300",\u03AE:"\u03B7\u0301",\u1F74:"\u03B7\u0300",\u03AF:"\u03B9\u0301",\u1F76:"\u03B9\u0300",\u03CA:"\u03B9\u0308",\u0390:"\u03B9\u0308\u0301",\u1FD2:"\u03B9\u0308\u0300",\u1FD1:"\u03B9\u0304",\u1FD0:"\u03B9\u0306",\u03CC:"\u03BF\u0301",\u1F78:"\u03BF\u0300",\u03CD:"\u03C5\u0301",\u1F7A:"\u03C5\u0300",\u03CB:"\u03C5\u0308",\u03B0:"\u03C5\u0308\u0301",\u1FE2:"\u03C5\u0308\u0300",\u1FE1:"\u03C5\u0304",\u1FE0:"\u03C5\u0306",\u03CE:"\u03C9\u0301",\u1F7C:"\u03C9\u0300",\u038E:"\u03A5\u0301",\u1FEA:"\u03A5\u0300",\u03AB:"\u03A5\u0308",\u1FE9:"\u03A5\u0304",\u1FE8:"\u03A5\u0306",\u038F:"\u03A9\u0301",\u1FFA:"\u03A9\u0300"},kX=class e{constructor(n,r){this.mode=void 0,this.gullet=void 0,this.settings=void 0,this.leftrightDepth=void 0,this.nextToken=void 0,this.mode="math",this.gullet=new hwe(n,r,this.mode),this.settings=r,this.leftrightDepth=0,this.nextToken=null}expect(n,r){if(r===void 0&&(r=!0),this.fetch().text!==n)throw new et("Expected '"+n+"', got '"+this.fetch().text+"'",this.fetch());r&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(n){this.mode=n,this.gullet.switchMode(n)}parse(){this.settings.globalGroup||this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");try{var n=this.parseExpression(!1);return this.expect("EOF"),this.settings.globalGroup||this.gullet.endGroup(),n}finally{this.gullet.endGroups()}}subparse(n){var r=this.nextToken;this.consume(),this.gullet.pushToken(new EA("}")),this.gullet.pushTokens(n);var s=this.parseExpression(!1);return this.expect("}"),this.nextToken=r,s}parseExpression(n,r){for(var s=[];;){this.mode==="math"&&this.consumeSpaces();var o=this.fetch();if(e.endOfExpression.has(o.text)||r&&o.text===r||n&&Y4[o.text]&&Y4[o.text].infix)break;var t=this.parseAtom(r);if(t){if(t.type==="internal")continue}else break;s.push(t)}return this.mode==="text"&&this.formLigatures(s),this.handleInfixNodes(s)}handleInfixNodes(n){for(var r=-1,s,o=0;o<n.length;o++){var t=n[o];if(t.type==="infix"){if(r!==-1)throw new et("only one infix operator per group",t.token);r=o,s=t.replaceWith}}if(r!==-1&&s){var i,a,l=n.slice(0,r),u=n.slice(r+1);l.length===1&&l[0].type==="ordgroup"?i=l[0]:i={type:"ordgroup",mode:this.mode,body:l},u.length===1&&u[0].type==="ordgroup"?a=u[0]:a={type:"ordgroup",mode:this.mode,body:u};var f;return s==="\\\\abovefrac"?f=this.callFunction(s,[i,n[r],a],[]):f=this.callFunction(s,[i,a],[]),[f]}else return n}handleSupSubscript(n){var r=this.fetch(),s=r.text;this.consume(),this.consumeSpaces();var o;do{var t;o=this.parseGroup(n)}while(((t=o)==null?void 0:t.type)==="internal");if(!o)throw new et("Expected group after '"+s+"'",r);return o}formatUnsupportedCmd(n){for(var r=[],s=0;s<n.length;s++)r.push({type:"textord",mode:"text",text:n[s]});var o={type:"text",mode:this.mode,body:r},t={type:"color",mode:this.mode,color:this.settings.errorColor,body:[o]};return t}parseAtom(n){var r=this.parseGroup("atom",n);if(r?.type==="internal"||this.mode==="text")return r;for(var s,o;;){this.consumeSpaces();var t=this.fetch();if(t.text==="\\limits"||t.text==="\\nolimits"){if(r&&r.type==="op")r.limits=t.text==="\\limits",r.alwaysHandleSupSub=!0;else if(r&&r.type==="operatorname")r.alwaysHandleSupSub&&(r.limits=t.text==="\\limits");else throw new et("Limit controls must follow a math operator",t);this.consume()}else if(t.text==="^"){if(s)throw new et("Double superscript",t);s=this.handleSupSubscript("superscript")}else if(t.text==="_"){if(o)throw new et("Double subscript",t);o=this.handleSupSubscript("subscript")}else if(t.text==="'"){if(s)throw new et("Double superscript",t);var i={type:"textord",mode:this.mode,text:"\\prime"},a=[i];for(this.consume();this.fetch().text==="'";)a.push(i),this.consume();this.fetch().text==="^"&&a.push(this.handleSupSubscript("superscript")),s={type:"ordgroup",mode:this.mode,body:a}}else if(gX[t.text]){var l=KAt.test(t.text),u=[];for(u.push(new EA(gX[t.text])),this.consume();;){var f=this.fetch().text;if(!gX[f]||KAt.test(f)!==l)break;u.unshift(new EA(gX[f])),this.consume()}var m=this.subparse(u);l?o={type:"ordgroup",mode:"math",body:m}:s={type:"ordgroup",mode:"math",body:m}}else break}return s&&o?{type:"supsub",mode:this.mode,base:r,sup:s,sub:o}:s?{type:"supsub",mode:this.mode,base:r,sup:s}:o?{type:"supsub",mode:this.mode,base:r,sub:o}:r}parseFunction(n,r){var s=this.fetch(),o=s.text,t=Y4[o];if(!t)return null;if(this.consume(),r&&r!=="atom"&&!t.allowedInArgument)throw new et("Got function '"+o+"' with no arguments"+(r?" as "+r:""),s);if(this.mode==="text"&&!t.allowedInText)throw new et("Can't use function '"+o+"' in text mode",s);if(this.mode==="math"&&t.allowedInMath===!1)throw new et("Can't use function '"+o+"' in math mode",s);var i=this.parseArguments(o,t),a=i.args,l=i.optArgs;return this.callFunction(o,a,l,s,n)}callFunction(n,r,s,o,t){var i={funcName:n,parser:this,token:o,breakOnTokenText:t},a=Y4[n];if(a&&a.handler)return a.handler(i,r,s);throw new et("No function handler for "+n)}parseArguments(n,r){var s,o=(s=r.numOptionalArgs)!=null?s:0,t=r.numArgs+o;if(t===0)return{args:[],optArgs:[]};for(var i=[],a=[],l=0;l<t;l++){var u,f=(u=r.argTypes)==null?void 0:u[l],m=l<o;("primitive"in r&&r.primitive&&f==null||r.type==="sqrt"&&l===1&&a[0]==null)&&(f="primitive");var g=this.parseGroupOfType("argument to '"+n+"'",f,m);if(m)a.push(g);else if(g!=null)i.push(g);else throw new et("Null argument, please report this as a bug")}return{args:i,optArgs:a}}parseGroupOfType(n,r,s){switch(r){case"color":return this.parseColorGroup(s);case"size":return this.parseSizeGroup(s);case"url":return this.parseUrlGroup(s);case"math":case"text":return this.parseArgumentGroup(s,r);case"hbox":{var o=this.parseArgumentGroup(s,"text");return o!=null?{type:"styling",mode:o.mode,body:[o],style:"text",resetFont:!0}:null}case"raw":{var t=this.parseStringGroup(s);return t!=null?{type:"raw",mode:"text",string:t.text}:null}case"primitive":{if(s)throw new et("A primitive argument cannot be optional");var i=this.parseGroup(n);if(i==null)throw new et("Expected group as "+n,this.fetch());return i}case"original":case void 0:return this.parseArgumentGroup(s);default:throw new et("Unknown group type as "+n,this.fetch())}}consumeSpaces(){for(;this.fetch().text===" ";)this.consume()}parseStringGroup(n){var r=this.gullet.scanArgument(n);if(r==null)return null;for(var s="",o;(o=this.fetch()).text!=="EOF";)s+=o.text,this.consume();return this.consume(),r.text=s,r}parseRegexGroup(n,r){for(var s=this.fetch(),o=s,t="",i;(i=this.fetch()).text!=="EOF"&&n.test(t+i.text);)o=i,t+=o.text,this.consume();if(t==="")throw new et("Invalid "+r+": '"+s.text+"'",s);return s.range(o,t)}parseColorGroup(n){var r=this.parseStringGroup(n);if(r==null)return null;var s=/^(#[a-f0-9]{3,4}|#[a-f0-9]{6}|#[a-f0-9]{8}|[a-f0-9]{6}|[a-z]+)$/i.exec(r.text);if(!s)throw new et("Invalid color: '"+r.text+"'",r);var o=s[0];return/^[0-9a-f]{6}$/i.test(o)&&(o="#"+o),{type:"color-token",mode:this.mode,color:o}}parseSizeGroup(n){var r,s=!1;if(this.gullet.consumeSpaces(),!n&&this.gullet.future().text!=="{"?r=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):r=this.parseStringGroup(n),!r)return null;!n&&r.text.length===0&&(r.text="0pt",s=!0);var o=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(r.text);if(!o)throw new et("Invalid size: '"+r.text+"'",r);var t={number:+(o[1]+o[2]),unit:o[3]};if(!jAt(t))throw new et("Invalid unit: '"+t.unit+"'",r);return{type:"size",mode:this.mode,value:t,isBlank:s}}parseUrlGroup(n){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);var r=this.parseStringGroup(n);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),r==null)return null;var s=r.text.replace(/\\([#$%&~_^{}])/g,"$1");return{type:"url",mode:this.mode,url:s}}parseArgumentGroup(n,r){var s=this.gullet.scanArgument(n);if(s==null)return null;var o=this.mode;r&&this.switchMode(r),this.gullet.beginGroup();var t=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();var i={type:"ordgroup",mode:this.mode,loc:s.loc,body:t};return r&&this.switchMode(o),i}parseGroup(n,r){var s=this.fetch(),o=s.text,t;if(o==="{"||o==="\\begingroup"){this.consume();var i=o==="{"?"}":"\\endgroup";this.gullet.beginGroup();var a=this.parseExpression(!1,i),l=this.fetch();this.expect(i),this.gullet.endGroup(),t={type:"ordgroup",mode:this.mode,loc:lm.range(s,l),body:a,semisimple:o==="\\begingroup"||void 0}}else if(t=this.parseFunction(r,n)||this.parseSymbol(),t==null&&o[0]==="\\"&&!Object.prototype.hasOwnProperty.call(Hyt,o)){if(this.settings.throwOnError)throw new et("Undefined control sequence: "+o,s);t=this.formatUnsupportedCmd(o),this.consume()}return t}formLigatures(n){for(var r=n.length-1,s=0;s<r;++s){var o=n[s];if(o.type==="textord"){var t=o.text,i=n[s+1];if(!(!i||i.type!=="textord")){if(t==="-"&&i.text==="-"){var a=n[s+2];s+1<r&&a&&a.type==="textord"&&a.text==="-"?(n.splice(s,3,{type:"textord",mode:"text",loc:lm.range(o,a),text:"---"}),r-=2):(n.splice(s,2,{type:"textord",mode:"text",loc:lm.range(o,i),text:"--"}),r-=1)}(t==="'"||t==="`")&&i.text===t&&(n.splice(s,2,{type:"textord",mode:"text",loc:lm.range(o,i),text:t+t}),r-=1)}}}}parseSymbol(){var n=this.fetch(),r=n.text;if(/^\\verb[^a-zA-Z]/.test(r)){this.consume();var s=r.slice(5),o=s.charAt(0)==="*";if(o&&(s=s.slice(1)),s.length<2||s.charAt(0)!==s.slice(-1))throw new et(`\\verb assertion failed --
|
|
940
|
-
please report what input caused this bug`);return s=s.slice(1,-1),{type:"verb",mode:"text",body:s,star:o}}Object.prototype.hasOwnProperty.call(ZAt,r[0])&&!Lo[this.mode][r[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+r[0]+'" used in math mode',n),r=ZAt[r[0]]+r.slice(1));var t=vRn.exec(r);t&&(r=r.substring(0,t.index),r==="i"?r="\u0131":r==="j"&&(r="\u0237"));var i;if(Lo[this.mode][r]){this.settings.strict&&this.mode==="math"&&ZSe.includes(r)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',n);var a=Lo[this.mode][r].group,l=lm.range(n),u;NPn(a)?u={type:"atom",mode:this.mode,family:a,loc:l,text:r}:u={type:a,mode:this.mode,loc:l,text:r},i=u}else if(r.charCodeAt(0)>=128)this.settings.strict&&(OAt(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',n):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),n)),i={type:"textord",mode:"text",loc:lm.range(n),text:r};else return null;if(this.consume(),t)for(var f=0;f<t[0].length;f++){var m=t[0][f];if(!$Se[m])throw new et("Unknown accent ' "+m+"'",n);var g=$Se[m][this.mode]||$Se[m].text;if(!g)throw new et("Accent "+m+" unsupported in "+this.mode+" mode",n);i={type:"accent",mode:this.mode,loc:lm.range(n),label:g,isStretchy:!1,isShifty:!0,base:i}}return i}};kX.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var Iwe=function(n,r){if(!(typeof n=="string"||n instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var s=new kX(n,r);delete s.gullet.macros.current["\\df@tag"];var o=s.parse();if(delete s.gullet.macros.current["\\current@color"],delete s.gullet.macros.current["\\color"],s.gullet.macros.get("\\df@tag")){if(!r.displayMode)throw new et("\\tag works only in display equations");o=[{type:"tag",mode:"text",body:o,tag:s.subparse([new EA("\\df@tag")])}]}return o},qyt=function(n,r,s){r.textContent="";var o=Bwe(n,s).toNode();r.appendChild(o)};typeof document<"u"&&document.compatMode!=="CSS1Compat"&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),qyt=function(){throw new et("KaTeX doesn't work in quirks mode.")});var kRn=function(n,r){var s=Bwe(n,r).toMarkup();return s},IRn=function(n,r){var s=new ZR(r);return Iwe(n,s)},Uyt=function(n,r,s){if(s.throwOnError||!(n instanceof et))throw n;var o=Ze(["katex-error"],[new ef(r)]);return o.setAttribute("title",n.toString()),o.setAttribute("style","color:"+s.errorColor),o},Bwe=function(n,r){var s=new ZR(r);try{var o=Iwe(n,s);return CPn(o,n,s)}catch(t){return Uyt(t,n,s)}},BRn=function(n,r){var s=new ZR(r);try{var o=Iwe(n,s);return TPn(o,n,s)}catch(t){return Uyt(t,n,s)}},DRn="0.18.4",FRn={Span:X4,Anchor:z7,SymbolNode:ef,SvgNode:Rg,PathNode:XE,LineNode:jR},J7={version:DRn,render:qyt,renderToString:kRn,ParseError:et,SETTINGS_SCHEMA:JSe,__parse:IRn,__renderToDomTree:Bwe,__renderToHTMLTree:BRn,__setFontMetrics:iPn,__defineSymbol:B,__defineFunction:kt,__defineMacro:z,__domTree:FRn};J7.__defineMacro("\\ce",function(e){return Vyt(e.consumeArgs(1)[0],"ce")});J7.__defineMacro("\\pu",function(e){return Vyt(e.consumeArgs(1)[0],"pu")});J7.__defineMacro("\\tripledash","{\\vphantom{-}\\raisebox{2.56mu}{$\\mkern2mu\\tiny\\text{-}\\mkern1mu\\text{-}\\mkern1mu\\text{-}\\mkern2mu$}}");var Vyt=function(n,r){for(var s="",o=n.length&&n[n.length-1].loc.start,t=n.length-1;t>=0;t--)n[t].loc.start>o&&(s+=" ",o=n[t].loc.start),s+=n[t].text,o+=n[t].text.length;var i=qs.go(qe.go(s,r));return i},qe={go:function(n,r){if(!n)return[];r===void 0&&(r="ce");var s="0",o={};o.parenthesisLevel=0,n=n.replace(/\n/g," "),n=n.replace(/[\u2212\u2013\u2014\u2010]/g,"-"),n=n.replace(/[\u2026]/g,"...");for(var t,i=10,a=[];;){t!==n?(i=10,t=n):i--;var l=qe.stateMachines[r],u=l.transitions[s]||l.transitions["*"];e:for(var f=0;f<u.length;f++){var m=qe.patterns.match_(u[f].pattern,n);if(m){for(var g=u[f].task,w=0;w<g.action_.length;w++){var E;if(l.actions[g.action_[w].type_])E=l.actions[g.action_[w].type_](o,m.match_,g.action_[w].option);else if(qe.actions[g.action_[w].type_])E=qe.actions[g.action_[w].type_](o,m.match_,g.action_[w].option);else throw["MhchemBugA","mhchem bug A. Please report. ("+g.action_[w].type_+")"];qe.concatArray(a,E)}if(s=g.nextState||s,n.length>0){if(g.revisit||(n=m.remainder),!g.toContinue)break e}else return a}}if(i<=0)throw["MhchemBugU","mhchem bug U. Please report."]}},concatArray:function(n,r){if(r)if(Array.isArray(r))for(var s=0;s<r.length;s++)n.push(r[s]);else n.push(r)},patterns:{patterns:{empty:/^$/,else:/^./,else2:/^./,space:/^\s/,"space A":/^\s(?=[A-Z\\$])/,space$:/^\s$/,"a-z":/^[a-z]/,x:/^x/,x$:/^x$/,i$:/^i$/,letters:/^(?:[a-zA-Z\u03B1-\u03C9\u0391-\u03A9?@]|(?:\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))))+/,"\\greek":/^\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))/,"one lowercase latin letter $":/^(?:([a-z])(?:$|[^a-zA-Z]))$/,"$one lowercase latin letter$ $":/^\$(?:([a-z])(?:$|[^a-zA-Z]))\$$/,"one lowercase greek letter $":/^(?:\$?[\u03B1-\u03C9]\$?|\$?\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)\s*\$?)(?:\s+|\{\}|(?![a-zA-Z]))$/,digits:/^[0-9]+/,"-9.,9":/^[+\-]?(?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))/,"-9.,9 no missing 0":/^[+\-]?[0-9]+(?:[.,][0-9]+)?/,"(-)(9.,9)(e)(99)":function(n){var r=n.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))?(\((?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))\))?(?:([eE]|\s*(\*|x|\\times|\u00D7)\s*10\^)([+\-]?[0-9]+|\{[+\-]?[0-9]+\}))?/);return r&&r[0]?{match_:r.splice(1),remainder:n.substr(r[0].length)}:null},"(-)(9)^(-9)":function(n){var r=n.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+)?)\^([+\-]?[0-9]+|\{[+\-]?[0-9]+\})/);return r&&r[0]?{match_:r.splice(1),remainder:n.substr(r[0].length)}:null},"state of aggregation $":function(n){var r=qe.patterns.findObserveGroups(n,"",/^\([a-z]{1,3}(?=[\),])/,")","");if(r&&r.remainder.match(/^($|[\s,;\)\]\}])/))return r;var s=n.match(/^(?:\((?:\\ca\s?)?\$[amothc]\$\))/);return s?{match_:s[0],remainder:n.substr(s[0].length)}:null},"_{(state of aggregation)}$":/^_\{(\([a-z]{1,3}\))\}/,"{[(":/^(?:\\\{|\[|\()/,")]}":/^(?:\)|\]|\\\})/,", ":/^[,;]\s*/,",":/^[,;]/,".":/^[.]/,". ":/^([.\u22C5\u00B7\u2022])\s*/,"...":/^\.\.\.(?=$|[^.])/,"* ":/^([*])\s*/,"^{(...)}":function(n){return qe.patterns.findObserveGroups(n,"^{","","","}")},"^($...$)":function(n){return qe.patterns.findObserveGroups(n,"^","$","$","")},"^a":/^\^([0-9]+|[^\\_])/,"^\\x{}{}":function(n){return qe.patterns.findObserveGroups(n,"^",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"^\\x{}":function(n){return qe.patterns.findObserveGroups(n,"^",/^\\[a-zA-Z]+\{/,"}","")},"^\\x":/^\^(\\[a-zA-Z]+)\s*/,"^(-1)":/^\^(-?\d+)/,"'":/^'/,"_{(...)}":function(n){return qe.patterns.findObserveGroups(n,"_{","","","}")},"_($...$)":function(n){return qe.patterns.findObserveGroups(n,"_","$","$","")},_9:/^_([+\-]?[0-9]+|[^\\])/,"_\\x{}{}":function(n){return qe.patterns.findObserveGroups(n,"_",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"_\\x{}":function(n){return qe.patterns.findObserveGroups(n,"_",/^\\[a-zA-Z]+\{/,"}","")},"_\\x":/^_(\\[a-zA-Z]+)\s*/,"^_":/^(?:\^(?=_)|\_(?=\^)|[\^_]$)/,"{}":/^\{\}/,"{...}":function(n){return qe.patterns.findObserveGroups(n,"","{","}","")},"{(...)}":function(n){return qe.patterns.findObserveGroups(n,"{","","","}")},"$...$":function(n){return qe.patterns.findObserveGroups(n,"","$","$","")},"${(...)}$":function(n){return qe.patterns.findObserveGroups(n,"${","","","}$")},"$(...)$":function(n){return qe.patterns.findObserveGroups(n,"$","","","$")},"=<>":/^[=<>]/,"#":/^[#\u2261]/,"+":/^\+/,"-$":/^-(?=[\s_},;\]/]|$|\([a-z]+\))/,"-9":/^-(?=[0-9])/,"- orbital overlap":/^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,"-":/^-/,"pm-operator":/^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,operator:/^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,arrowUpDown:/^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,"\\bond{(...)}":function(n){return qe.patterns.findObserveGroups(n,"\\bond{","","","}")},"->":/^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,CMT:/^[CMT](?=\[)/,"[(...)]":function(n){return qe.patterns.findObserveGroups(n,"[","","","]")},"1st-level escape":/^(&|\\\\|\\hline)\s*/,"\\,":/^(?:\\[,\ ;:])/,"\\x{}{}":function(n){return qe.patterns.findObserveGroups(n,"",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"\\x{}":function(n){return qe.patterns.findObserveGroups(n,"",/^\\[a-zA-Z]+\{/,"}","")},"\\ca":/^\\ca(?:\s+|(?![a-zA-Z]))/,"\\x":/^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,orbital:/^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,others:/^[\/~|]/,"\\frac{(...)}":function(n){return qe.patterns.findObserveGroups(n,"\\frac{","","","}","{","","","}")},"\\overset{(...)}":function(n){return qe.patterns.findObserveGroups(n,"\\overset{","","","}","{","","","}")},"\\underset{(...)}":function(n){return qe.patterns.findObserveGroups(n,"\\underset{","","","}","{","","","}")},"\\underbrace{(...)}":function(n){return qe.patterns.findObserveGroups(n,"\\underbrace{","","","}_","{","","","}")},"\\color{(...)}0":function(n){return qe.patterns.findObserveGroups(n,"\\color{","","","}")},"\\color{(...)}{(...)}1":function(n){return qe.patterns.findObserveGroups(n,"\\color{","","","}","{","","","}")},"\\color(...){(...)}2":function(n){return qe.patterns.findObserveGroups(n,"\\color","\\","",/^(?=\{)/,"{","","","}")},"\\ce{(...)}":function(n){return qe.patterns.findObserveGroups(n,"\\ce{","","","}")},oxidation$:/^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"d-oxidation$":/^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"roman numeral":/^[IVX]+/,"1/2$":/^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,amount:function(n){var r;if(r=n.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/),r)return{match_:r[0],remainder:n.substr(r[0].length)};var s=qe.patterns.findObserveGroups(n,"","$","$","");return s&&(r=s.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/),r)?{match_:r[0],remainder:n.substr(r[0].length)}:null},amount2:function(n){return this.amount(n)},"(KV letters),":/^(?:[A-Z][a-z]{0,2}|i)(?=,)/,formula$:function(n){if(n.match(/^\([a-z]+\)$/))return null;var r=n.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);return r?{match_:r[0],remainder:n.substr(r[0].length)}:null},uprightEntities:/^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,"/":/^\s*(\/)\s*/,"//":/^\s*(\/\/)\s*/,"*":/^\s*[*.]\s*/},findObserveGroups:function(n,r,s,o,t,i,a,l,u,f){var m=function(_,Q){if(typeof Q=="string")return _.indexOf(Q)!==0?null:Q;var b=_.match(Q);return b?b[0]:null},g=function(_,Q,b){for(var G=0;Q<_.length;){var V=_.charAt(Q),D=m(_.substr(Q),b);if(D!==null&&G===0)return{endMatchBegin:Q,endMatchEnd:Q+D.length};if(V==="{")G++;else if(V==="}"){if(G===0)throw["ExtraCloseMissingOpen","Extra close brace or missing open brace"];G--}Q++}return G>0,null},w=m(n,r);if(w===null||(n=n.substr(w.length),w=m(n,s),w===null))return null;var E=g(n,w.length,o||t);if(E===null)return null;var v=n.substring(0,o?E.endMatchEnd:E.endMatchBegin);if(i||a){var x=this.findObserveGroups(n.substr(E.endMatchEnd),i,a,l,u);if(x===null)return null;var T=[v,x.match_];return{match_:f?T.join(""):T,remainder:x.remainder}}else return{match_:v,remainder:n.substr(E.endMatchEnd)}},match_:function(n,r){var s=qe.patterns.patterns[n];if(s===void 0)throw["MhchemBugP","mhchem bug P. Please report. ("+n+")"];if(typeof s=="function")return qe.patterns.patterns[n](r);var o=r.match(s);if(o){var t;return o[2]?t=[o[1],o[2]]:o[1]?t=o[1]:t=o[0],{match_:t,remainder:r.substr(o[0].length)}}return null}},actions:{"a=":function(n,r){n.a=(n.a||"")+r},"b=":function(n,r){n.b=(n.b||"")+r},"p=":function(n,r){n.p=(n.p||"")+r},"o=":function(n,r){n.o=(n.o||"")+r},"q=":function(n,r){n.q=(n.q||"")+r},"d=":function(n,r){n.d=(n.d||"")+r},"rm=":function(n,r){n.rm=(n.rm||"")+r},"text=":function(n,r){n.text_=(n.text_||"")+r},insert:function(n,r,s){return{type_:s}},"insert+p1":function(n,r,s){return{type_:s,p1:r}},"insert+p1+p2":function(n,r,s){return{type_:s,p1:r[0],p2:r[1]}},copy:function(n,r){return r},rm:function(n,r){return{type_:"rm",p1:r||""}},text:function(n,r){return qe.go(r,"text")},"{text}":function(n,r){var s=["{"];return qe.concatArray(s,qe.go(r,"text")),s.push("}"),s},"tex-math":function(n,r){return qe.go(r,"tex-math")},"tex-math tight":function(n,r){return qe.go(r,"tex-math tight")},bond:function(n,r,s){return{type_:"bond",kind_:s||r}},"color0-output":function(n,r){return{type_:"color0",color:r[0]}},ce:function(n,r){return qe.go(r)},"1/2":function(n,r){var s=[];r.match(/^[+\-]/)&&(s.push(r.substr(0,1)),r=r.substr(1));var o=r.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/);return o[1]=o[1].replace(/\$/g,""),s.push({type_:"frac",p1:o[1],p2:o[2]}),o[3]&&(o[3]=o[3].replace(/\$/g,""),s.push({type_:"tex-math",p1:o[3]})),s},"9,9":function(n,r){return qe.go(r,"9,9")}},createTransitions:function(n){var r,s,o,t,i={};for(r in n)for(s in n[r])for(o=s.split("|"),n[r][s].stateArray=o,t=0;t<o.length;t++)i[o[t]]=[];for(r in n)for(s in n[r])for(o=n[r][s].stateArray||[],t=0;t<o.length;t++){var a=n[r][s];if(a.action_){a.action_=[].concat(a.action_);for(var l=0;l<a.action_.length;l++)typeof a.action_[l]=="string"&&(a.action_[l]={type_:a.action_[l]})}else a.action_=[];for(var u=r.split("|"),f=0;f<u.length;f++)if(o[t]==="*")for(var m in i)i[m].push({pattern:u[f],task:a});else i[o[t]].push({pattern:u[f],task:a})}return i},stateMachines:{}};qe.stateMachines={ce:{transitions:qe.createTransitions({empty:{"*":{action_:"output"}},else:{"0|1|2":{action_:"beginsWithBond=false",revisit:!0,toContinue:!0}},oxidation$:{0:{action_:"oxidation-output"}},CMT:{r:{action_:"rdt=",nextState:"rt"},rd:{action_:"rqt=",nextState:"rdt"}},arrowUpDown:{"0|1|2|as":{action_:["sb=false","output","operator"],nextState:"1"}},uprightEntities:{"0|1|2":{action_:["o=","output"],nextState:"1"}},orbital:{"0|1|2|3":{action_:"o=",nextState:"o"}},"->":{"0|1|2|3":{action_:"r=",nextState:"r"},"a|as":{action_:["output","r="],nextState:"r"},"*":{action_:["output","r="],nextState:"r"}},"+":{o:{action_:"d= kv",nextState:"d"},"d|D":{action_:"d=",nextState:"d"},q:{action_:"d=",nextState:"qd"},"qd|qD":{action_:"d=",nextState:"qd"},dq:{action_:["output","d="],nextState:"d"},3:{action_:["sb=false","output","operator"],nextState:"0"}},amount:{"0|2":{action_:"a=",nextState:"a"}},"pm-operator":{"0|1|2|a|as":{action_:["sb=false","output",{type_:"operator",option:"\\pm"}],nextState:"0"}},operator:{"0|1|2|a|as":{action_:["sb=false","output","operator"],nextState:"0"}},"-$":{"o|q":{action_:["charge or bond","output"],nextState:"qd"},d:{action_:"d=",nextState:"d"},D:{action_:["output",{type_:"bond",option:"-"}],nextState:"3"},q:{action_:"d=",nextState:"qd"},qd:{action_:"d=",nextState:"qd"},"qD|dq":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},"-9":{"3|o":{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"3"}},"- orbital overlap":{o:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},d:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"}},"-":{"0|1|2":{action_:[{type_:"output",option:1},"beginsWithBond=true",{type_:"bond",option:"-"}],nextState:"3"},3:{action_:{type_:"bond",option:"-"}},a:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},as:{action_:[{type_:"output",option:2},{type_:"bond",option:"-"}],nextState:"3"},b:{action_:"b="},o:{action_:{type_:"- after o/d",option:!1},nextState:"2"},q:{action_:{type_:"- after o/d",option:!1},nextState:"2"},"d|qd|dq":{action_:{type_:"- after o/d",option:!0},nextState:"2"},"D|qD|p":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},amount2:{"1|3":{action_:"a=",nextState:"a"}},letters:{"0|1|2|3|a|as|b|p|bp|o":{action_:"o=",nextState:"o"},"q|dq":{action_:["output","o="],nextState:"o"},"d|D|qd|qD":{action_:"o after d",nextState:"o"}},digits:{o:{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},q:{action_:["output","o="],nextState:"o"},a:{action_:"o=",nextState:"o"}},"space A":{"b|p|bp":{}},space:{a:{nextState:"as"},0:{action_:"sb=false"},"1|2":{action_:"sb=true"},"r|rt|rd|rdt|rdq":{action_:"output",nextState:"0"},"*":{action_:["output","sb=true"],nextState:"1"}},"1st-level escape":{"1|2":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}]},"*":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}],nextState:"0"}},"[(...)]":{"r|rt":{action_:"rd=",nextState:"rd"},"rd|rdt":{action_:"rq=",nextState:"rdq"}},"...":{"o|d|D|dq|qd|qD":{action_:["output",{type_:"bond",option:"..."}],nextState:"3"},"*":{action_:[{type_:"output",option:1},{type_:"insert",option:"ellipsis"}],nextState:"1"}},". |* ":{"*":{action_:["output",{type_:"insert",option:"addition compound"}],nextState:"1"}},"state of aggregation $":{"*":{action_:["output","state of aggregation"],nextState:"1"}},"{[(":{"a|as|o":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"0|1|2|3":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"*":{action_:["output","o=","output","parenthesisLevel++"],nextState:"2"}},")]}":{"0|1|2|3|b|p|bp|o":{action_:["o=","parenthesisLevel--"],nextState:"o"},"a|as|d|D|q|qd|qD|dq":{action_:["output","o=","parenthesisLevel--"],nextState:"o"}},", ":{"*":{action_:["output","comma"],nextState:"0"}},"^_":{"*":{}},"^{(...)}|^($...$)":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"D"},q:{action_:"d=",nextState:"qD"},"d|D|qd|qD|dq":{action_:["output","d="],nextState:"D"}},"^a|^\\x{}{}|^\\x{}|^\\x|'":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"d"},q:{action_:"d=",nextState:"qd"},"d|qd|D|qD":{action_:"d="},dq:{action_:["output","d="],nextState:"d"}},"_{(state of aggregation)}$":{"d|D|q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x":{"0|1|2|as":{action_:"p=",nextState:"p"},b:{action_:"p=",nextState:"bp"},"3|o":{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},"q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"=<>":{"0|1|2|3|a|as|o|q|d|D|qd|qD|dq":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"#":{"0|1|2|3|a|as|o":{action_:[{type_:"output",option:2},{type_:"bond",option:"#"}],nextState:"3"}},"{}":{"*":{action_:{type_:"output",option:1},nextState:"1"}},"{...}":{"0|1|2|3|a|as|b|p|bp":{action_:"o=",nextState:"o"},"o|d|D|q|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"$...$":{a:{action_:"a="},"0|1|2|3|as|b|p|bp|o":{action_:"o=",nextState:"o"},"as|o":{action_:"o="},"q|d|D|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"\\bond{(...)}":{"*":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"\\frac{(...)}":{"*":{action_:[{type_:"output",option:1},"frac-output"],nextState:"3"}},"\\overset{(...)}":{"*":{action_:[{type_:"output",option:2},"overset-output"],nextState:"3"}},"\\underset{(...)}":{"*":{action_:[{type_:"output",option:2},"underset-output"],nextState:"3"}},"\\underbrace{(...)}":{"*":{action_:[{type_:"output",option:2},"underbrace-output"],nextState:"3"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:[{type_:"output",option:2},"color-output"],nextState:"3"}},"\\color{(...)}0":{"*":{action_:[{type_:"output",option:2},"color0-output"]}},"\\ce{(...)}":{"*":{action_:[{type_:"output",option:2},"ce"],nextState:"3"}},"\\,":{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"1"}},"\\x{}{}|\\x{}|\\x":{"0|1|2|3|a|as|b|p|bp|o|c0":{action_:["o=","output"],nextState:"3"},"*":{action_:["output","o=","output"],nextState:"3"}},others:{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"3"}},else2:{a:{action_:"a to o",nextState:"o",revisit:!0},as:{action_:["output","sb=true"],nextState:"1",revisit:!0},"r|rt|rd|rdt|rdq":{action_:["output"],nextState:"0",revisit:!0},"*":{action_:["output","copy"],nextState:"3"}}}),actions:{"o after d":function(n,r){var s;if((n.d||"").match(/^[0-9]+$/)){var o=n.d;n.d=void 0,s=this.output(n),n.b=o}else s=this.output(n);return qe.actions["o="](n,r),s},"d= kv":function(n,r){n.d=r,n.dType="kv"},"charge or bond":function(n,r){if(n.beginsWithBond){var s=[];return qe.concatArray(s,this.output(n)),qe.concatArray(s,qe.actions.bond(n,r,"-")),s}else n.d=r},"- after o/d":function(n,r,s){var o=qe.patterns.match_("orbital",n.o||""),t=qe.patterns.match_("one lowercase greek letter $",n.o||""),i=qe.patterns.match_("one lowercase latin letter $",n.o||""),a=qe.patterns.match_("$one lowercase latin letter$ $",n.o||""),l=r==="-"&&(o&&o.remainder===""||t||i||a);l&&!n.a&&!n.b&&!n.p&&!n.d&&!n.q&&!o&&i&&(n.o="$"+n.o+"$");var u=[];return l?(qe.concatArray(u,this.output(n)),u.push({type_:"hyphen"})):(o=qe.patterns.match_("digits",n.d||""),s&&o&&o.remainder===""?(qe.concatArray(u,qe.actions["d="](n,r)),qe.concatArray(u,this.output(n))):(qe.concatArray(u,this.output(n)),qe.concatArray(u,qe.actions.bond(n,r,"-")))),u},"a to o":function(n){n.o=n.a,n.a=void 0},"sb=true":function(n){n.sb=!0},"sb=false":function(n){n.sb=!1},"beginsWithBond=true":function(n){n.beginsWithBond=!0},"beginsWithBond=false":function(n){n.beginsWithBond=!1},"parenthesisLevel++":function(n){n.parenthesisLevel++},"parenthesisLevel--":function(n){n.parenthesisLevel--},"state of aggregation":function(n,r){return{type_:"state of aggregation",p1:qe.go(r,"o")}},comma:function(n,r){var s=r.replace(/\s*$/,""),o=s!==r;return o&&n.parenthesisLevel===0?{type_:"comma enumeration L",p1:s}:{type_:"comma enumeration M",p1:s}},output:function(n,r,s){var o;if(!n.r)o=[],!n.a&&!n.b&&!n.p&&!n.o&&!n.q&&!n.d&&!s||(n.sb&&o.push({type_:"entitySkip"}),!n.o&&!n.q&&!n.d&&!n.b&&!n.p&&s!==2?(n.o=n.a,n.a=void 0):!n.o&&!n.q&&!n.d&&(n.b||n.p)?(n.o=n.a,n.d=n.b,n.q=n.p,n.a=n.b=n.p=void 0):n.o&&n.dType==="kv"&&qe.patterns.match_("d-oxidation$",n.d||"")?n.dType="oxidation":n.o&&n.dType==="kv"&&!n.q&&(n.dType=void 0),o.push({type_:"chemfive",a:qe.go(n.a,"a"),b:qe.go(n.b,"bd"),p:qe.go(n.p,"pq"),o:qe.go(n.o,"o"),q:qe.go(n.q,"pq"),d:qe.go(n.d,n.dType==="oxidation"?"oxidation":"bd"),dType:n.dType}));else{var t;n.rdt==="M"?t=qe.go(n.rd,"tex-math"):n.rdt==="T"?t=[{type_:"text",p1:n.rd||""}]:t=qe.go(n.rd);var i;n.rqt==="M"?i=qe.go(n.rq,"tex-math"):n.rqt==="T"?i=[{type_:"text",p1:n.rq||""}]:i=qe.go(n.rq),o={type_:"arrow",r:n.r,rd:t,rq:i}}for(var a in n)a!=="parenthesisLevel"&&a!=="beginsWithBond"&&delete n[a];return o},"oxidation-output":function(n,r){var s=["{"];return qe.concatArray(s,qe.go(r,"oxidation")),s.push("}"),s},"frac-output":function(n,r){return{type_:"frac-ce",p1:qe.go(r[0]),p2:qe.go(r[1])}},"overset-output":function(n,r){return{type_:"overset",p1:qe.go(r[0]),p2:qe.go(r[1])}},"underset-output":function(n,r){return{type_:"underset",p1:qe.go(r[0]),p2:qe.go(r[1])}},"underbrace-output":function(n,r){return{type_:"underbrace",p1:qe.go(r[0]),p2:qe.go(r[1])}},"color-output":function(n,r){return{type_:"color",color1:r[0],color2:qe.go(r[1])}},"r=":function(n,r){n.r=r},"rdt=":function(n,r){n.rdt=r},"rd=":function(n,r){n.rd=r},"rqt=":function(n,r){n.rqt=r},"rq=":function(n,r){n.rq=r},operator:function(n,r,s){return{type_:"operator",kind_:s||r}}}},a:{transitions:qe.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},"$(...)$":{"*":{action_:"tex-math tight",nextState:"1"}},",":{"*":{action_:{type_:"insert",option:"commaDecimal"}}},else2:{"*":{action_:"copy"}}}),actions:{}},o:{transitions:qe.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},letters:{"*":{action_:"rm"}},"\\ca":{"*":{action_:{type_:"insert",option:"circa"}}},"\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"{text}"}},else2:{"*":{action_:"copy"}}}),actions:{}},text:{transitions:qe.createTransitions({empty:{"*":{action_:"output"}},"{...}":{"*":{action_:"text="}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"\\greek":{"*":{action_:["output","rm"]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:["output","copy"]}},else:{"*":{action_:"text="}}}),actions:{output:function(n){if(n.text_){var r={type_:"text",p1:n.text_};for(var s in n)delete n[s];return r}}}},pq:{transitions:qe.createTransitions({empty:{"*":{}},"state of aggregation $":{"*":{action_:"state of aggregation"}},i$:{0:{nextState:"!f",revisit:!0}},"(KV letters),":{0:{action_:"rm",nextState:"0"}},formula$:{0:{nextState:"f",revisit:!0}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"!f",revisit:!0}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"a-z":{f:{action_:"tex-math"}},letters:{"*":{action_:"rm"}},"-9.,9":{"*":{action_:"9,9"}},",":{"*":{action_:{type_:"insert+p1",option:"comma enumeration S"}}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"state of aggregation":function(n,r){return{type_:"state of aggregation subscript",p1:qe.go(r,"o")}},"color-output":function(n,r){return{type_:"color",color1:r[0],color2:qe.go(r[1],"pq")}}}},bd:{transitions:qe.createTransitions({empty:{"*":{}},x$:{0:{nextState:"!f",revisit:!0}},formula$:{0:{nextState:"f",revisit:!0}},else:{0:{nextState:"!f",revisit:!0}},"-9.,9 no missing 0":{"*":{action_:"9,9"}},".":{"*":{action_:{type_:"insert",option:"electron dot"}}},"a-z":{f:{action_:"tex-math"}},x:{"*":{action_:{type_:"insert",option:"KV x"}}},letters:{"*":{action_:"rm"}},"'":{"*":{action_:{type_:"insert",option:"prime"}}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"color-output":function(n,r){return{type_:"color",color1:r[0],color2:qe.go(r[1],"bd")}}}},oxidation:{transitions:qe.createTransitions({empty:{"*":{}},"roman numeral":{"*":{action_:"roman-numeral"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},else:{"*":{action_:"copy"}}}),actions:{"roman-numeral":function(n,r){return{type_:"roman numeral",p1:r||""}}}},"tex-math":{transitions:qe.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},else:{"*":{action_:"o="}}}),actions:{output:function(n){if(n.o){var r={type_:"tex-math",p1:n.o};for(var s in n)delete n[s];return r}}}},"tex-math tight":{transitions:qe.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},"-|+":{"*":{action_:"tight operator"}},else:{"*":{action_:"o="}}}),actions:{"tight operator":function(n,r){n.o=(n.o||"")+"{"+r+"}"},output:function(n){if(n.o){var r={type_:"tex-math",p1:n.o};for(var s in n)delete n[s];return r}}}},"9,9":{transitions:qe.createTransitions({empty:{"*":{}},",":{"*":{action_:"comma"}},else:{"*":{action_:"copy"}}}),actions:{comma:function(){return{type_:"commaDecimal"}}}},pu:{transitions:qe.createTransitions({empty:{"*":{action_:"output"}},space$:{"*":{action_:["output","space"]}},"{[(|)]}":{"0|a":{action_:"copy"}},"(-)(9)^(-9)":{0:{action_:"number^",nextState:"a"}},"(-)(9.,9)(e)(99)":{0:{action_:"enumber",nextState:"a"}},space:{"0|a":{}},"pm-operator":{"0|a":{action_:{type_:"operator",option:"\\pm"},nextState:"0"}},operator:{"0|a":{action_:"copy",nextState:"0"}},"//":{d:{action_:"o=",nextState:"/"}},"/":{d:{action_:"o=",nextState:"/"}},"{...}|else":{"0|d":{action_:"d=",nextState:"d"},a:{action_:["space","d="],nextState:"d"},"/|q":{action_:"q=",nextState:"q"}}}),actions:{enumber:function(n,r){var s=[];return r[0]==="+-"||r[0]==="+/-"?s.push("\\pm "):r[0]&&s.push(r[0]),r[1]&&(qe.concatArray(s,qe.go(r[1],"pu-9,9")),r[2]&&(r[2].match(/[,.]/)?qe.concatArray(s,qe.go(r[2],"pu-9,9")):s.push(r[2])),r[3]=r[4]||r[3],r[3]&&(r[3]=r[3].trim(),r[3]==="e"||r[3].substr(0,1)==="*"?s.push({type_:"cdot"}):s.push({type_:"times"}))),r[3]&&s.push("10^{"+r[5]+"}"),s},"number^":function(n,r){var s=[];return r[0]==="+-"||r[0]==="+/-"?s.push("\\pm "):r[0]&&s.push(r[0]),qe.concatArray(s,qe.go(r[1],"pu-9,9")),s.push("^{"+r[2]+"}"),s},operator:function(n,r,s){return{type_:"operator",kind_:s||r}},space:function(){return{type_:"pu-space-1"}},output:function(n){var r,s=qe.patterns.match_("{(...)}",n.d||"");s&&s.remainder===""&&(n.d=s.match_);var o=qe.patterns.match_("{(...)}",n.q||"");if(o&&o.remainder===""&&(n.q=o.match_),n.d&&(n.d=n.d.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),n.d=n.d.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F")),n.q){n.q=n.q.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),n.q=n.q.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F");var t={d:qe.go(n.d,"pu"),q:qe.go(n.q,"pu")};n.o==="//"?r={type_:"pu-frac",p1:t.d,p2:t.q}:(r=t.d,t.d.length>1||t.q.length>1?r.push({type_:" / "}):r.push({type_:"/"}),qe.concatArray(r,t.q))}else r=qe.go(n.d,"pu-2");for(var i in n)delete n[i];return r}}},"pu-2":{transitions:qe.createTransitions({empty:{"*":{action_:"output"}},"*":{"*":{action_:["output","cdot"],nextState:"0"}},"\\x":{"*":{action_:"rm="}},space:{"*":{action_:["output","space"],nextState:"0"}},"^{(...)}|^(-1)":{1:{action_:"^(-1)"}},"-9.,9":{0:{action_:"rm=",nextState:"0"},1:{action_:"^(-1)",nextState:"0"}},"{...}|else":{"*":{action_:"rm=",nextState:"1"}}}),actions:{cdot:function(){return{type_:"tight cdot"}},"^(-1)":function(n,r){n.rm+="^{"+r+"}"},space:function(){return{type_:"pu-space-2"}},output:function(n){var r=[];if(n.rm){var s=qe.patterns.match_("{(...)}",n.rm||"");s&&s.remainder===""?r=qe.go(s.match_,"pu"):r={type_:"rm",p1:n.rm}}for(var o in n)delete n[o];return r}}},"pu-9,9":{transitions:qe.createTransitions({empty:{0:{action_:"output-0"},o:{action_:"output-o"}},",":{0:{action_:["output-0","comma"],nextState:"o"}},".":{0:{action_:["output-0","copy"],nextState:"o"}},else:{"*":{action_:"text="}}}),actions:{comma:function(){return{type_:"commaDecimal"}},"output-0":function(n){var r=[];if(n.text_=n.text_||"",n.text_.length>4){var s=n.text_.length%3;s===0&&(s=3);for(var o=n.text_.length-3;o>0;o-=3)r.push(n.text_.substr(o,3)),r.push({type_:"1000 separator"});r.push(n.text_.substr(0,s)),r.reverse()}else r.push(n.text_);for(var t in n)delete n[t];return r},"output-o":function(n){var r=[];if(n.text_=n.text_||"",n.text_.length>4){for(var s=n.text_.length-3,o=0;o<s;o+=3)r.push(n.text_.substr(o,3)),r.push({type_:"1000 separator"});r.push(n.text_.substr(o))}else r.push(n.text_);for(var t in n)delete n[t];return r}}}};var qs={go:function(n,r){if(!n)return"";for(var s="",o=!1,t=0;t<n.length;t++){var i=n[t];typeof i=="string"?s+=i:(s+=qs._go2(i),i.type_==="1st-level escape"&&(o=!0))}return!r&&!o&&s&&(s="{"+s+"}"),s},_goInner:function(n){return n&&qs.go(n,!0)},_go2:function(n){var r;switch(n.type_){case"chemfive":r="";var s={a:qs._goInner(n.a),b:qs._goInner(n.b),p:qs._goInner(n.p),o:qs._goInner(n.o),q:qs._goInner(n.q),d:qs._goInner(n.d)};s.a&&(s.a.match(/^[+\-]/)&&(s.a="{"+s.a+"}"),r+=s.a+"\\,"),(s.b||s.p)&&(r+="{\\vphantom{X}}",r+="^{\\hphantom{"+(s.b||"")+"}}_{\\hphantom{"+(s.p||"")+"}}",r+="{\\vphantom{X}}",r+="^{\\smash[t]{\\vphantom{2}}\\mathllap{"+(s.b||"")+"}}",r+="_{\\vphantom{2}\\mathllap{\\smash[t]{"+(s.p||"")+"}}}"),s.o&&(s.o.match(/^[+\-]/)&&(s.o="{"+s.o+"}"),r+=s.o),n.dType==="kv"?((s.d||s.q)&&(r+="{\\vphantom{X}}"),s.d&&(r+="^{"+s.d+"}"),s.q&&(r+="_{\\smash[t]{"+s.q+"}}")):n.dType==="oxidation"?(s.d&&(r+="{\\vphantom{X}}",r+="^{"+s.d+"}"),s.q&&(r+="{\\vphantom{X}}",r+="_{\\smash[t]{"+s.q+"}}")):(s.q&&(r+="{\\vphantom{X}}",r+="_{\\smash[t]{"+s.q+"}}"),s.d&&(r+="{\\vphantom{X}}",r+="^{"+s.d+"}"));break;case"rm":r="\\mathrm{"+n.p1+"}";break;case"text":n.p1.match(/[\^_]/)?(n.p1=n.p1.replace(" ","~").replace("-","\\text{-}"),r="\\mathrm{"+n.p1+"}"):r="\\text{"+n.p1+"}";break;case"roman numeral":r="\\mathrm{"+n.p1+"}";break;case"state of aggregation":r="\\mskip2mu "+qs._goInner(n.p1);break;case"state of aggregation subscript":r="\\mskip1mu "+qs._goInner(n.p1);break;case"bond":if(r=qs._getBond(n.kind_),!r)throw["MhchemErrorBond","mhchem Error. Unknown bond type ("+n.kind_+")"];break;case"frac":var o="\\frac{"+n.p1+"}{"+n.p2+"}";r="\\mathchoice{\\textstyle"+o+"}{"+o+"}{"+o+"}{"+o+"}";break;case"pu-frac":var t="\\frac{"+qs._goInner(n.p1)+"}{"+qs._goInner(n.p2)+"}";r="\\mathchoice{\\textstyle"+t+"}{"+t+"}{"+t+"}{"+t+"}";break;case"tex-math":r=n.p1+" ";break;case"frac-ce":r="\\frac{"+qs._goInner(n.p1)+"}{"+qs._goInner(n.p2)+"}";break;case"overset":r="\\overset{"+qs._goInner(n.p1)+"}{"+qs._goInner(n.p2)+"}";break;case"underset":r="\\underset{"+qs._goInner(n.p1)+"}{"+qs._goInner(n.p2)+"}";break;case"underbrace":r="\\underbrace{"+qs._goInner(n.p1)+"}_{"+qs._goInner(n.p2)+"}";break;case"color":r="{\\color{"+n.color1+"}{"+qs._goInner(n.color2)+"}}";break;case"color0":r="\\color{"+n.color+"}";break;case"arrow":var i={rd:qs._goInner(n.rd),rq:qs._goInner(n.rq)},a="\\x"+qs._getArrow(n.r);i.rq&&(a+="[{"+i.rq+"}]"),i.rd?a+="{"+i.rd+"}":a+="{}",r=a;break;case"operator":r=qs._getOperator(n.kind_);break;case"1st-level escape":r=n.p1+" ";break;case"space":r=" ";break;case"entitySkip":r="~";break;case"pu-space-1":r="~";break;case"pu-space-2":r="\\mkern3mu ";break;case"1000 separator":r="\\mkern2mu ";break;case"commaDecimal":r="{,}";break;case"comma enumeration L":r="{"+n.p1+"}\\mkern6mu ";break;case"comma enumeration M":r="{"+n.p1+"}\\mkern3mu ";break;case"comma enumeration S":r="{"+n.p1+"}\\mkern1mu ";break;case"hyphen":r="\\text{-}";break;case"addition compound":r="\\,{\\cdot}\\,";break;case"electron dot":r="\\mkern1mu \\bullet\\mkern1mu ";break;case"KV x":r="{\\times}";break;case"prime":r="\\prime ";break;case"cdot":r="\\cdot ";break;case"tight cdot":r="\\mkern1mu{\\cdot}\\mkern1mu ";break;case"times":r="\\times ";break;case"circa":r="{\\sim}";break;case"^":r="uparrow";break;case"v":r="downarrow";break;case"ellipsis":r="\\ldots ";break;case"/":r="/";break;case" / ":r="\\,/\\,";break;default:throw["MhchemBugT","mhchem bug T. Please report."]}return r},_getArrow:function(n){switch(n){case"->":return"rightarrow";case"\u2192":return"rightarrow";case"\u27F6":return"rightarrow";case"<-":return"leftarrow";case"<->":return"leftrightarrow";case"<-->":return"rightleftarrows";case"<=>":return"rightleftharpoons";case"\u21CC":return"rightleftharpoons";case"<=>>":return"rightequilibrium";case"<<=>":return"leftequilibrium";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getBond:function(n){switch(n){case"-":return"{-}";case"1":return"{-}";case"=":return"{=}";case"2":return"{=}";case"#":return"{\\equiv}";case"3":return"{\\equiv}";case"~":return"{\\tripledash}";case"~-":return"{\\mathrlap{\\raisebox{-.1em}{$-$}}\\raisebox{.1em}{$\\tripledash$}}";case"~=":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}";case"~--":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}";case"-~-":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$-$}}\\tripledash}";case"...":return"{{\\cdot}{\\cdot}{\\cdot}}";case"....":return"{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";case"->":return"{\\rightarrow}";case"<-":return"{\\leftarrow}";case"<":return"{<}";case">":return"{>}";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getOperator:function(n){switch(n){case"+":return" {}+{} ";case"-":return" {}-{} ";case"=":return" {}={} ";case"<":return" {}<{} ";case">":return" {}>{} ";case"<<":return" {}\\ll{} ";case">>":return" {}\\gg{} ";case"\\pm":return" {}\\pm{} ";case"\\approx":return" {}\\approx{} ";case"$\\approx$":return" {}\\approx{} ";case"v":return" \\downarrow{} ";case"(v)":return" \\downarrow{} ";case"^":return" \\uparrow{} ";case"(^)":return" \\uparrow{} ";default:throw["MhchemBugT","mhchem bug T. Please report."]}}};var _Rn=["window","document","DOMParser","XMLSerializer","Node","Element","HTMLElement","HTMLImageElement","HTMLAnchorElement","HTMLTemplateElement","DocumentFragment","Text","NodeFilter","Range","getComputedStyle","CSS","CustomEvent","Event","MutationObserver"],zyt=null;function Dwe(e="<!doctype html><html><head></head><body><main></main></body></html>"){let{window:n}=new Gyt.JSDOM(e,{url:"https://studio.invalid/"});for(let r of _Rn)n[r]!==void 0&&(globalThis[r]=n[r]);return globalThis.katex=J7,n.document}async function Fwe(){return zyt??=await import("../browser/editor/page/core.mjs"),zyt}async function Icr(e){let{html:n,map:r}=mEe(e),s=Dwe(n),{prepareBlock:o,captureLayout:t}=await Fwe();for(let i of r.blocks){if(i.kind==="code"||i.kind==="tex")continue;let a=s.querySelector(`[data-ge-block="${i.id}"]`);a&&o(a,i)}return t(s,r),{document:s,map:r}}import{createHash as Vwe}from"node:crypto";import O4 from"node:fs";import nf from"node:path";import{fileURLToPath as ZRn,pathToFileURL as n1t}from"node:url";import{escapeAttribute as ORn,escapeMarkup as zwe,escapeText as Z7}from"../browser/shared/escape.mjs";import{iconKind as Gwe}from"../browser/shared/emoji/icon-value.mjs";import{attr as r1t,elementsOf as i1t,hasClass as jRn}from"../browser/shared/html-tree.mjs";import{extOf as oQ,kindOf as Z2}from"../browser/shared/import-types.mjs";import{UPLOAD_LIMITS as eQn,formatSize as s1t}from"../browser/shared/media.mjs";import{pdfjsDirectory as Rwe}from"../browser/shared/paths.mjs";import{componentOf as MRn}from"../browser/shared/components/index.mjs";import{PACKAGE_MARK as NRn}from"../browser/shared/components/installed.mjs";import{MENTION as PRn,MENTION_ICON as RRn}from"../browser/shared/components/mention.mjs";import{TAB_ICON as QRn,iconKind as Mwe}from"../browser/shared/emoji/icon-value.mjs";import{escapeAttribute as LRn,escapeText as WRn}from"../browser/shared/escape.mjs";import{GENERATORS as HRn,PACKAGES_META as qRn,SOURCE_META as URn}from"../browser/shared/export-wrap.mjs";import{attr as Dc,elementsOf as Nwe,hasClass as K2,walk as sQ}from"../browser/shared/html-tree.mjs";import{MEDIA_TYPES as Yyt,referencedFile as VRn}from"../browser/shared/media.mjs";import{isFileLink as zRn}from"../browser/shared/page-address.mjs";function X7(e){let n=null;return sQ(e,r=>{!n&&r.tagName==="main"&&K2(r,"doc-page")&&(n=r)},{inTemplates:!1}),n}var Pwe=e=>(e.childNodes??[]).map(n=>n.nodeName==="#text"?n.value:Pwe(n)).join(""),GRn=e=>["data-doc-kit","data-doc-vendor",NRn].some(n=>Dc(e,n)!==void 0),YRn=(e,n)=>{for(let r=e;r;r=r.parentNode)if(r===n)return!0;return!1},byt=/^\s*data:/i,$Rn=/^data:image\/svg\+xml[;,]/i,$yt=new RegExp(`(?:;\\s*)?${QRn}:\\s*url\\((['"]?)(data:[^'")]*)\\1\\)\\s*;?\\s*$`),Jyt=/[ \t]*(?:\r?\n|$)/y,Xyt=/\r?\n/y,JRn=MRn("page").runtime.state.html,XRn=/^\s*[a-z][a-z0-9+.-]*:/i;function QX(e){let n=e.indexOf(",");if(!byt.test(e)||n<0)return null;let r=e.slice(e.indexOf(":")+1,n),s=e.slice(n+1);try{return/;base64$/i.test(r)?Buffer.from(s,"base64"):Buffer.from(decodeURIComponent(s),"utf8")}catch{return null}}function Kyt(e){let n=Nwe(X7(e)??{}).find(t=>t.tagName==="header"&&K2(t,"doc-header")),r=null;n&&sQ(n,t=>r??=K2(t,"doc-title")?t:null);let s=null;sQ(e,t=>s??=t.tagName==="title"?t:null,{inTemplates:!1});let o=t=>t.replace(/\s+/g," ").trim();return o(Pwe(r??{}))||o(Pwe(s??{}))||null}function _we(e,n,r){let{startOffset:s,endOffset:o}=n.sourceCodeLocation;if(r==="blank"){let l=n.parentNode?.childNodes??[],u=l[l.indexOf(n)-1];return{start:u?.nodeName==="#text"&&!u.value.trim()&&u.sourceCodeLocation?u.sourceCodeLocation.startOffset:s,end:o,text:""}}let t=e.lastIndexOf(`
|
|
941
|
-
`,s-1)+1,i=e.slice(t,s);if(r==="tab")return Xyt.lastIndex=o,{start:s-/[ \t]*$/.exec(i)[0].length,end:o+(Xyt.exec(e)?.[0].length??0),text:""};Jyt.lastIndex=o;let a=Jyt.exec(e);return/^[ \t]*$/.test(i)&&a?{start:t,end:o+a[0].length,text:""}:{start:s,end:o,text:""}}function LX(e,n,r){let s=n.sourceCodeLocation?.attrs?.[r];if(!s)return null;let o=s.startOffset;for(;/\s/.test(e[o-1]);)o--;return{start:o,end:s.endOffset,text:""}}var bRn=e=>!!e&&!XRn.test(e)&&!zRn(e);function KRn(e,n){let r=Mwe(n)==="emoji"?
|
|
940
|
+
please report what input caused this bug`);return s=s.slice(1,-1),{type:"verb",mode:"text",body:s,star:o}}Object.prototype.hasOwnProperty.call(ZAt,r[0])&&!Lo[this.mode][r[0]]&&(this.settings.strict&&this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Accented Unicode text character "'+r[0]+'" used in math mode',n),r=ZAt[r[0]]+r.slice(1));var t=vRn.exec(r);t&&(r=r.substring(0,t.index),r==="i"?r="\u0131":r==="j"&&(r="\u0237"));var i;if(Lo[this.mode][r]){this.settings.strict&&this.mode==="math"&&ZSe.includes(r)&&this.settings.reportNonstrict("unicodeTextInMathMode",'Latin-1/Unicode text character "'+r[0]+'" used in math mode',n);var a=Lo[this.mode][r].group,l=lm.range(n),u;NPn(a)?u={type:"atom",mode:this.mode,family:a,loc:l,text:r}:u={type:a,mode:this.mode,loc:l,text:r},i=u}else if(r.charCodeAt(0)>=128)this.settings.strict&&(OAt(r.charCodeAt(0))?this.mode==="math"&&this.settings.reportNonstrict("unicodeTextInMathMode",'Unicode text character "'+r[0]+'" used in math mode',n):this.settings.reportNonstrict("unknownSymbol",'Unrecognized Unicode character "'+r[0]+'"'+(" ("+r.charCodeAt(0)+")"),n)),i={type:"textord",mode:"text",loc:lm.range(n),text:r};else return null;if(this.consume(),t)for(var f=0;f<t[0].length;f++){var m=t[0][f];if(!$Se[m])throw new et("Unknown accent ' "+m+"'",n);var g=$Se[m][this.mode]||$Se[m].text;if(!g)throw new et("Accent "+m+" unsupported in "+this.mode+" mode",n);i={type:"accent",mode:this.mode,loc:lm.range(n),label:g,isStretchy:!1,isShifty:!0,base:i}}return i}};kX.endOfExpression=new Set(["}","\\endgroup","\\end","\\right","&"]);var Iwe=function(n,r){if(!(typeof n=="string"||n instanceof String))throw new TypeError("KaTeX can only parse string typed expression");var s=new kX(n,r);delete s.gullet.macros.current["\\df@tag"];var o=s.parse();if(delete s.gullet.macros.current["\\current@color"],delete s.gullet.macros.current["\\color"],s.gullet.macros.get("\\df@tag")){if(!r.displayMode)throw new et("\\tag works only in display equations");o=[{type:"tag",mode:"text",body:o,tag:s.subparse([new EA("\\df@tag")])}]}return o},qyt=function(n,r,s){r.textContent="";var o=Bwe(n,s).toNode();r.appendChild(o)};typeof document<"u"&&document.compatMode!=="CSS1Compat"&&(typeof console<"u"&&console.warn("Warning: KaTeX doesn't work in quirks mode. Make sure your website has a suitable doctype."),qyt=function(){throw new et("KaTeX doesn't work in quirks mode.")});var kRn=function(n,r){var s=Bwe(n,r).toMarkup();return s},IRn=function(n,r){var s=new ZR(r);return Iwe(n,s)},Uyt=function(n,r,s){if(s.throwOnError||!(n instanceof et))throw n;var o=Ze(["katex-error"],[new ef(r)]);return o.setAttribute("title",n.toString()),o.setAttribute("style","color:"+s.errorColor),o},Bwe=function(n,r){var s=new ZR(r);try{var o=Iwe(n,s);return CPn(o,n,s)}catch(t){return Uyt(t,n,s)}},BRn=function(n,r){var s=new ZR(r);try{var o=Iwe(n,s);return TPn(o,n,s)}catch(t){return Uyt(t,n,s)}},DRn="0.18.4",FRn={Span:X4,Anchor:z7,SymbolNode:ef,SvgNode:Rg,PathNode:XE,LineNode:jR},J7={version:DRn,render:qyt,renderToString:kRn,ParseError:et,SETTINGS_SCHEMA:JSe,__parse:IRn,__renderToDomTree:Bwe,__renderToHTMLTree:BRn,__setFontMetrics:iPn,__defineSymbol:B,__defineFunction:kt,__defineMacro:z,__domTree:FRn};J7.__defineMacro("\\ce",function(e){return Vyt(e.consumeArgs(1)[0],"ce")});J7.__defineMacro("\\pu",function(e){return Vyt(e.consumeArgs(1)[0],"pu")});J7.__defineMacro("\\tripledash","{\\vphantom{-}\\raisebox{2.56mu}{$\\mkern2mu\\tiny\\text{-}\\mkern1mu\\text{-}\\mkern1mu\\text{-}\\mkern2mu$}}");var Vyt=function(n,r){for(var s="",o=n.length&&n[n.length-1].loc.start,t=n.length-1;t>=0;t--)n[t].loc.start>o&&(s+=" ",o=n[t].loc.start),s+=n[t].text,o+=n[t].text.length;var i=qs.go(qe.go(s,r));return i},qe={go:function(n,r){if(!n)return[];r===void 0&&(r="ce");var s="0",o={};o.parenthesisLevel=0,n=n.replace(/\n/g," "),n=n.replace(/[\u2212\u2013\u2014\u2010]/g,"-"),n=n.replace(/[\u2026]/g,"...");for(var t,i=10,a=[];;){t!==n?(i=10,t=n):i--;var l=qe.stateMachines[r],u=l.transitions[s]||l.transitions["*"];e:for(var f=0;f<u.length;f++){var m=qe.patterns.match_(u[f].pattern,n);if(m){for(var g=u[f].task,w=0;w<g.action_.length;w++){var E;if(l.actions[g.action_[w].type_])E=l.actions[g.action_[w].type_](o,m.match_,g.action_[w].option);else if(qe.actions[g.action_[w].type_])E=qe.actions[g.action_[w].type_](o,m.match_,g.action_[w].option);else throw["MhchemBugA","mhchem bug A. Please report. ("+g.action_[w].type_+")"];qe.concatArray(a,E)}if(s=g.nextState||s,n.length>0){if(g.revisit||(n=m.remainder),!g.toContinue)break e}else return a}}if(i<=0)throw["MhchemBugU","mhchem bug U. Please report."]}},concatArray:function(n,r){if(r)if(Array.isArray(r))for(var s=0;s<r.length;s++)n.push(r[s]);else n.push(r)},patterns:{patterns:{empty:/^$/,else:/^./,else2:/^./,space:/^\s/,"space A":/^\s(?=[A-Z\\$])/,space$:/^\s$/,"a-z":/^[a-z]/,x:/^x/,x$:/^x$/,i$:/^i$/,letters:/^(?:[a-zA-Z\u03B1-\u03C9\u0391-\u03A9?@]|(?:\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))))+/,"\\greek":/^\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))/,"one lowercase latin letter $":/^(?:([a-z])(?:$|[^a-zA-Z]))$/,"$one lowercase latin letter$ $":/^\$(?:([a-z])(?:$|[^a-zA-Z]))\$$/,"one lowercase greek letter $":/^(?:\$?[\u03B1-\u03C9]\$?|\$?\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)\s*\$?)(?:\s+|\{\}|(?![a-zA-Z]))$/,digits:/^[0-9]+/,"-9.,9":/^[+\-]?(?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))/,"-9.,9 no missing 0":/^[+\-]?[0-9]+(?:[.,][0-9]+)?/,"(-)(9.,9)(e)(99)":function(n){var r=n.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))?(\((?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))\))?(?:([eE]|\s*(\*|x|\\times|\u00D7)\s*10\^)([+\-]?[0-9]+|\{[+\-]?[0-9]+\}))?/);return r&&r[0]?{match_:r.splice(1),remainder:n.substr(r[0].length)}:null},"(-)(9)^(-9)":function(n){var r=n.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+)?)\^([+\-]?[0-9]+|\{[+\-]?[0-9]+\})/);return r&&r[0]?{match_:r.splice(1),remainder:n.substr(r[0].length)}:null},"state of aggregation $":function(n){var r=qe.patterns.findObserveGroups(n,"",/^\([a-z]{1,3}(?=[\),])/,")","");if(r&&r.remainder.match(/^($|[\s,;\)\]\}])/))return r;var s=n.match(/^(?:\((?:\\ca\s?)?\$[amothc]\$\))/);return s?{match_:s[0],remainder:n.substr(s[0].length)}:null},"_{(state of aggregation)}$":/^_\{(\([a-z]{1,3}\))\}/,"{[(":/^(?:\\\{|\[|\()/,")]}":/^(?:\)|\]|\\\})/,", ":/^[,;]\s*/,",":/^[,;]/,".":/^[.]/,". ":/^([.\u22C5\u00B7\u2022])\s*/,"...":/^\.\.\.(?=$|[^.])/,"* ":/^([*])\s*/,"^{(...)}":function(n){return qe.patterns.findObserveGroups(n,"^{","","","}")},"^($...$)":function(n){return qe.patterns.findObserveGroups(n,"^","$","$","")},"^a":/^\^([0-9]+|[^\\_])/,"^\\x{}{}":function(n){return qe.patterns.findObserveGroups(n,"^",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"^\\x{}":function(n){return qe.patterns.findObserveGroups(n,"^",/^\\[a-zA-Z]+\{/,"}","")},"^\\x":/^\^(\\[a-zA-Z]+)\s*/,"^(-1)":/^\^(-?\d+)/,"'":/^'/,"_{(...)}":function(n){return qe.patterns.findObserveGroups(n,"_{","","","}")},"_($...$)":function(n){return qe.patterns.findObserveGroups(n,"_","$","$","")},_9:/^_([+\-]?[0-9]+|[^\\])/,"_\\x{}{}":function(n){return qe.patterns.findObserveGroups(n,"_",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"_\\x{}":function(n){return qe.patterns.findObserveGroups(n,"_",/^\\[a-zA-Z]+\{/,"}","")},"_\\x":/^_(\\[a-zA-Z]+)\s*/,"^_":/^(?:\^(?=_)|\_(?=\^)|[\^_]$)/,"{}":/^\{\}/,"{...}":function(n){return qe.patterns.findObserveGroups(n,"","{","}","")},"{(...)}":function(n){return qe.patterns.findObserveGroups(n,"{","","","}")},"$...$":function(n){return qe.patterns.findObserveGroups(n,"","$","$","")},"${(...)}$":function(n){return qe.patterns.findObserveGroups(n,"${","","","}$")},"$(...)$":function(n){return qe.patterns.findObserveGroups(n,"$","","","$")},"=<>":/^[=<>]/,"#":/^[#\u2261]/,"+":/^\+/,"-$":/^-(?=[\s_},;\]/]|$|\([a-z]+\))/,"-9":/^-(?=[0-9])/,"- orbital overlap":/^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,"-":/^-/,"pm-operator":/^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,operator:/^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,arrowUpDown:/^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,"\\bond{(...)}":function(n){return qe.patterns.findObserveGroups(n,"\\bond{","","","}")},"->":/^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,CMT:/^[CMT](?=\[)/,"[(...)]":function(n){return qe.patterns.findObserveGroups(n,"[","","","]")},"1st-level escape":/^(&|\\\\|\\hline)\s*/,"\\,":/^(?:\\[,\ ;:])/,"\\x{}{}":function(n){return qe.patterns.findObserveGroups(n,"",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"\\x{}":function(n){return qe.patterns.findObserveGroups(n,"",/^\\[a-zA-Z]+\{/,"}","")},"\\ca":/^\\ca(?:\s+|(?![a-zA-Z]))/,"\\x":/^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,orbital:/^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,others:/^[\/~|]/,"\\frac{(...)}":function(n){return qe.patterns.findObserveGroups(n,"\\frac{","","","}","{","","","}")},"\\overset{(...)}":function(n){return qe.patterns.findObserveGroups(n,"\\overset{","","","}","{","","","}")},"\\underset{(...)}":function(n){return qe.patterns.findObserveGroups(n,"\\underset{","","","}","{","","","}")},"\\underbrace{(...)}":function(n){return qe.patterns.findObserveGroups(n,"\\underbrace{","","","}_","{","","","}")},"\\color{(...)}0":function(n){return qe.patterns.findObserveGroups(n,"\\color{","","","}")},"\\color{(...)}{(...)}1":function(n){return qe.patterns.findObserveGroups(n,"\\color{","","","}","{","","","}")},"\\color(...){(...)}2":function(n){return qe.patterns.findObserveGroups(n,"\\color","\\","",/^(?=\{)/,"{","","","}")},"\\ce{(...)}":function(n){return qe.patterns.findObserveGroups(n,"\\ce{","","","}")},oxidation$:/^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"d-oxidation$":/^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"roman numeral":/^[IVX]+/,"1/2$":/^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,amount:function(n){var r;if(r=n.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/),r)return{match_:r[0],remainder:n.substr(r[0].length)};var s=qe.patterns.findObserveGroups(n,"","$","$","");return s&&(r=s.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/),r)?{match_:r[0],remainder:n.substr(r[0].length)}:null},amount2:function(n){return this.amount(n)},"(KV letters),":/^(?:[A-Z][a-z]{0,2}|i)(?=,)/,formula$:function(n){if(n.match(/^\([a-z]+\)$/))return null;var r=n.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);return r?{match_:r[0],remainder:n.substr(r[0].length)}:null},uprightEntities:/^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,"/":/^\s*(\/)\s*/,"//":/^\s*(\/\/)\s*/,"*":/^\s*[*.]\s*/},findObserveGroups:function(n,r,s,o,t,i,a,l,u,f){var m=function(_,Q){if(typeof Q=="string")return _.indexOf(Q)!==0?null:Q;var b=_.match(Q);return b?b[0]:null},g=function(_,Q,b){for(var G=0;Q<_.length;){var V=_.charAt(Q),D=m(_.substr(Q),b);if(D!==null&&G===0)return{endMatchBegin:Q,endMatchEnd:Q+D.length};if(V==="{")G++;else if(V==="}"){if(G===0)throw["ExtraCloseMissingOpen","Extra close brace or missing open brace"];G--}Q++}return G>0,null},w=m(n,r);if(w===null||(n=n.substr(w.length),w=m(n,s),w===null))return null;var E=g(n,w.length,o||t);if(E===null)return null;var v=n.substring(0,o?E.endMatchEnd:E.endMatchBegin);if(i||a){var x=this.findObserveGroups(n.substr(E.endMatchEnd),i,a,l,u);if(x===null)return null;var T=[v,x.match_];return{match_:f?T.join(""):T,remainder:x.remainder}}else return{match_:v,remainder:n.substr(E.endMatchEnd)}},match_:function(n,r){var s=qe.patterns.patterns[n];if(s===void 0)throw["MhchemBugP","mhchem bug P. Please report. ("+n+")"];if(typeof s=="function")return qe.patterns.patterns[n](r);var o=r.match(s);if(o){var t;return o[2]?t=[o[1],o[2]]:o[1]?t=o[1]:t=o[0],{match_:t,remainder:r.substr(o[0].length)}}return null}},actions:{"a=":function(n,r){n.a=(n.a||"")+r},"b=":function(n,r){n.b=(n.b||"")+r},"p=":function(n,r){n.p=(n.p||"")+r},"o=":function(n,r){n.o=(n.o||"")+r},"q=":function(n,r){n.q=(n.q||"")+r},"d=":function(n,r){n.d=(n.d||"")+r},"rm=":function(n,r){n.rm=(n.rm||"")+r},"text=":function(n,r){n.text_=(n.text_||"")+r},insert:function(n,r,s){return{type_:s}},"insert+p1":function(n,r,s){return{type_:s,p1:r}},"insert+p1+p2":function(n,r,s){return{type_:s,p1:r[0],p2:r[1]}},copy:function(n,r){return r},rm:function(n,r){return{type_:"rm",p1:r||""}},text:function(n,r){return qe.go(r,"text")},"{text}":function(n,r){var s=["{"];return qe.concatArray(s,qe.go(r,"text")),s.push("}"),s},"tex-math":function(n,r){return qe.go(r,"tex-math")},"tex-math tight":function(n,r){return qe.go(r,"tex-math tight")},bond:function(n,r,s){return{type_:"bond",kind_:s||r}},"color0-output":function(n,r){return{type_:"color0",color:r[0]}},ce:function(n,r){return qe.go(r)},"1/2":function(n,r){var s=[];r.match(/^[+\-]/)&&(s.push(r.substr(0,1)),r=r.substr(1));var o=r.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/);return o[1]=o[1].replace(/\$/g,""),s.push({type_:"frac",p1:o[1],p2:o[2]}),o[3]&&(o[3]=o[3].replace(/\$/g,""),s.push({type_:"tex-math",p1:o[3]})),s},"9,9":function(n,r){return qe.go(r,"9,9")}},createTransitions:function(n){var r,s,o,t,i={};for(r in n)for(s in n[r])for(o=s.split("|"),n[r][s].stateArray=o,t=0;t<o.length;t++)i[o[t]]=[];for(r in n)for(s in n[r])for(o=n[r][s].stateArray||[],t=0;t<o.length;t++){var a=n[r][s];if(a.action_){a.action_=[].concat(a.action_);for(var l=0;l<a.action_.length;l++)typeof a.action_[l]=="string"&&(a.action_[l]={type_:a.action_[l]})}else a.action_=[];for(var u=r.split("|"),f=0;f<u.length;f++)if(o[t]==="*")for(var m in i)i[m].push({pattern:u[f],task:a});else i[o[t]].push({pattern:u[f],task:a})}return i},stateMachines:{}};qe.stateMachines={ce:{transitions:qe.createTransitions({empty:{"*":{action_:"output"}},else:{"0|1|2":{action_:"beginsWithBond=false",revisit:!0,toContinue:!0}},oxidation$:{0:{action_:"oxidation-output"}},CMT:{r:{action_:"rdt=",nextState:"rt"},rd:{action_:"rqt=",nextState:"rdt"}},arrowUpDown:{"0|1|2|as":{action_:["sb=false","output","operator"],nextState:"1"}},uprightEntities:{"0|1|2":{action_:["o=","output"],nextState:"1"}},orbital:{"0|1|2|3":{action_:"o=",nextState:"o"}},"->":{"0|1|2|3":{action_:"r=",nextState:"r"},"a|as":{action_:["output","r="],nextState:"r"},"*":{action_:["output","r="],nextState:"r"}},"+":{o:{action_:"d= kv",nextState:"d"},"d|D":{action_:"d=",nextState:"d"},q:{action_:"d=",nextState:"qd"},"qd|qD":{action_:"d=",nextState:"qd"},dq:{action_:["output","d="],nextState:"d"},3:{action_:["sb=false","output","operator"],nextState:"0"}},amount:{"0|2":{action_:"a=",nextState:"a"}},"pm-operator":{"0|1|2|a|as":{action_:["sb=false","output",{type_:"operator",option:"\\pm"}],nextState:"0"}},operator:{"0|1|2|a|as":{action_:["sb=false","output","operator"],nextState:"0"}},"-$":{"o|q":{action_:["charge or bond","output"],nextState:"qd"},d:{action_:"d=",nextState:"d"},D:{action_:["output",{type_:"bond",option:"-"}],nextState:"3"},q:{action_:"d=",nextState:"qd"},qd:{action_:"d=",nextState:"qd"},"qD|dq":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},"-9":{"3|o":{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"3"}},"- orbital overlap":{o:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},d:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"}},"-":{"0|1|2":{action_:[{type_:"output",option:1},"beginsWithBond=true",{type_:"bond",option:"-"}],nextState:"3"},3:{action_:{type_:"bond",option:"-"}},a:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},as:{action_:[{type_:"output",option:2},{type_:"bond",option:"-"}],nextState:"3"},b:{action_:"b="},o:{action_:{type_:"- after o/d",option:!1},nextState:"2"},q:{action_:{type_:"- after o/d",option:!1},nextState:"2"},"d|qd|dq":{action_:{type_:"- after o/d",option:!0},nextState:"2"},"D|qD|p":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},amount2:{"1|3":{action_:"a=",nextState:"a"}},letters:{"0|1|2|3|a|as|b|p|bp|o":{action_:"o=",nextState:"o"},"q|dq":{action_:["output","o="],nextState:"o"},"d|D|qd|qD":{action_:"o after d",nextState:"o"}},digits:{o:{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},q:{action_:["output","o="],nextState:"o"},a:{action_:"o=",nextState:"o"}},"space A":{"b|p|bp":{}},space:{a:{nextState:"as"},0:{action_:"sb=false"},"1|2":{action_:"sb=true"},"r|rt|rd|rdt|rdq":{action_:"output",nextState:"0"},"*":{action_:["output","sb=true"],nextState:"1"}},"1st-level escape":{"1|2":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}]},"*":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}],nextState:"0"}},"[(...)]":{"r|rt":{action_:"rd=",nextState:"rd"},"rd|rdt":{action_:"rq=",nextState:"rdq"}},"...":{"o|d|D|dq|qd|qD":{action_:["output",{type_:"bond",option:"..."}],nextState:"3"},"*":{action_:[{type_:"output",option:1},{type_:"insert",option:"ellipsis"}],nextState:"1"}},". |* ":{"*":{action_:["output",{type_:"insert",option:"addition compound"}],nextState:"1"}},"state of aggregation $":{"*":{action_:["output","state of aggregation"],nextState:"1"}},"{[(":{"a|as|o":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"0|1|2|3":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"*":{action_:["output","o=","output","parenthesisLevel++"],nextState:"2"}},")]}":{"0|1|2|3|b|p|bp|o":{action_:["o=","parenthesisLevel--"],nextState:"o"},"a|as|d|D|q|qd|qD|dq":{action_:["output","o=","parenthesisLevel--"],nextState:"o"}},", ":{"*":{action_:["output","comma"],nextState:"0"}},"^_":{"*":{}},"^{(...)}|^($...$)":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"D"},q:{action_:"d=",nextState:"qD"},"d|D|qd|qD|dq":{action_:["output","d="],nextState:"D"}},"^a|^\\x{}{}|^\\x{}|^\\x|'":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"d"},q:{action_:"d=",nextState:"qd"},"d|qd|D|qD":{action_:"d="},dq:{action_:["output","d="],nextState:"d"}},"_{(state of aggregation)}$":{"d|D|q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x":{"0|1|2|as":{action_:"p=",nextState:"p"},b:{action_:"p=",nextState:"bp"},"3|o":{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},"q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"=<>":{"0|1|2|3|a|as|o|q|d|D|qd|qD|dq":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"#":{"0|1|2|3|a|as|o":{action_:[{type_:"output",option:2},{type_:"bond",option:"#"}],nextState:"3"}},"{}":{"*":{action_:{type_:"output",option:1},nextState:"1"}},"{...}":{"0|1|2|3|a|as|b|p|bp":{action_:"o=",nextState:"o"},"o|d|D|q|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"$...$":{a:{action_:"a="},"0|1|2|3|as|b|p|bp|o":{action_:"o=",nextState:"o"},"as|o":{action_:"o="},"q|d|D|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"\\bond{(...)}":{"*":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"\\frac{(...)}":{"*":{action_:[{type_:"output",option:1},"frac-output"],nextState:"3"}},"\\overset{(...)}":{"*":{action_:[{type_:"output",option:2},"overset-output"],nextState:"3"}},"\\underset{(...)}":{"*":{action_:[{type_:"output",option:2},"underset-output"],nextState:"3"}},"\\underbrace{(...)}":{"*":{action_:[{type_:"output",option:2},"underbrace-output"],nextState:"3"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:[{type_:"output",option:2},"color-output"],nextState:"3"}},"\\color{(...)}0":{"*":{action_:[{type_:"output",option:2},"color0-output"]}},"\\ce{(...)}":{"*":{action_:[{type_:"output",option:2},"ce"],nextState:"3"}},"\\,":{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"1"}},"\\x{}{}|\\x{}|\\x":{"0|1|2|3|a|as|b|p|bp|o|c0":{action_:["o=","output"],nextState:"3"},"*":{action_:["output","o=","output"],nextState:"3"}},others:{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"3"}},else2:{a:{action_:"a to o",nextState:"o",revisit:!0},as:{action_:["output","sb=true"],nextState:"1",revisit:!0},"r|rt|rd|rdt|rdq":{action_:["output"],nextState:"0",revisit:!0},"*":{action_:["output","copy"],nextState:"3"}}}),actions:{"o after d":function(n,r){var s;if((n.d||"").match(/^[0-9]+$/)){var o=n.d;n.d=void 0,s=this.output(n),n.b=o}else s=this.output(n);return qe.actions["o="](n,r),s},"d= kv":function(n,r){n.d=r,n.dType="kv"},"charge or bond":function(n,r){if(n.beginsWithBond){var s=[];return qe.concatArray(s,this.output(n)),qe.concatArray(s,qe.actions.bond(n,r,"-")),s}else n.d=r},"- after o/d":function(n,r,s){var o=qe.patterns.match_("orbital",n.o||""),t=qe.patterns.match_("one lowercase greek letter $",n.o||""),i=qe.patterns.match_("one lowercase latin letter $",n.o||""),a=qe.patterns.match_("$one lowercase latin letter$ $",n.o||""),l=r==="-"&&(o&&o.remainder===""||t||i||a);l&&!n.a&&!n.b&&!n.p&&!n.d&&!n.q&&!o&&i&&(n.o="$"+n.o+"$");var u=[];return l?(qe.concatArray(u,this.output(n)),u.push({type_:"hyphen"})):(o=qe.patterns.match_("digits",n.d||""),s&&o&&o.remainder===""?(qe.concatArray(u,qe.actions["d="](n,r)),qe.concatArray(u,this.output(n))):(qe.concatArray(u,this.output(n)),qe.concatArray(u,qe.actions.bond(n,r,"-")))),u},"a to o":function(n){n.o=n.a,n.a=void 0},"sb=true":function(n){n.sb=!0},"sb=false":function(n){n.sb=!1},"beginsWithBond=true":function(n){n.beginsWithBond=!0},"beginsWithBond=false":function(n){n.beginsWithBond=!1},"parenthesisLevel++":function(n){n.parenthesisLevel++},"parenthesisLevel--":function(n){n.parenthesisLevel--},"state of aggregation":function(n,r){return{type_:"state of aggregation",p1:qe.go(r,"o")}},comma:function(n,r){var s=r.replace(/\s*$/,""),o=s!==r;return o&&n.parenthesisLevel===0?{type_:"comma enumeration L",p1:s}:{type_:"comma enumeration M",p1:s}},output:function(n,r,s){var o;if(!n.r)o=[],!n.a&&!n.b&&!n.p&&!n.o&&!n.q&&!n.d&&!s||(n.sb&&o.push({type_:"entitySkip"}),!n.o&&!n.q&&!n.d&&!n.b&&!n.p&&s!==2?(n.o=n.a,n.a=void 0):!n.o&&!n.q&&!n.d&&(n.b||n.p)?(n.o=n.a,n.d=n.b,n.q=n.p,n.a=n.b=n.p=void 0):n.o&&n.dType==="kv"&&qe.patterns.match_("d-oxidation$",n.d||"")?n.dType="oxidation":n.o&&n.dType==="kv"&&!n.q&&(n.dType=void 0),o.push({type_:"chemfive",a:qe.go(n.a,"a"),b:qe.go(n.b,"bd"),p:qe.go(n.p,"pq"),o:qe.go(n.o,"o"),q:qe.go(n.q,"pq"),d:qe.go(n.d,n.dType==="oxidation"?"oxidation":"bd"),dType:n.dType}));else{var t;n.rdt==="M"?t=qe.go(n.rd,"tex-math"):n.rdt==="T"?t=[{type_:"text",p1:n.rd||""}]:t=qe.go(n.rd);var i;n.rqt==="M"?i=qe.go(n.rq,"tex-math"):n.rqt==="T"?i=[{type_:"text",p1:n.rq||""}]:i=qe.go(n.rq),o={type_:"arrow",r:n.r,rd:t,rq:i}}for(var a in n)a!=="parenthesisLevel"&&a!=="beginsWithBond"&&delete n[a];return o},"oxidation-output":function(n,r){var s=["{"];return qe.concatArray(s,qe.go(r,"oxidation")),s.push("}"),s},"frac-output":function(n,r){return{type_:"frac-ce",p1:qe.go(r[0]),p2:qe.go(r[1])}},"overset-output":function(n,r){return{type_:"overset",p1:qe.go(r[0]),p2:qe.go(r[1])}},"underset-output":function(n,r){return{type_:"underset",p1:qe.go(r[0]),p2:qe.go(r[1])}},"underbrace-output":function(n,r){return{type_:"underbrace",p1:qe.go(r[0]),p2:qe.go(r[1])}},"color-output":function(n,r){return{type_:"color",color1:r[0],color2:qe.go(r[1])}},"r=":function(n,r){n.r=r},"rdt=":function(n,r){n.rdt=r},"rd=":function(n,r){n.rd=r},"rqt=":function(n,r){n.rqt=r},"rq=":function(n,r){n.rq=r},operator:function(n,r,s){return{type_:"operator",kind_:s||r}}}},a:{transitions:qe.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},"$(...)$":{"*":{action_:"tex-math tight",nextState:"1"}},",":{"*":{action_:{type_:"insert",option:"commaDecimal"}}},else2:{"*":{action_:"copy"}}}),actions:{}},o:{transitions:qe.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},letters:{"*":{action_:"rm"}},"\\ca":{"*":{action_:{type_:"insert",option:"circa"}}},"\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"{text}"}},else2:{"*":{action_:"copy"}}}),actions:{}},text:{transitions:qe.createTransitions({empty:{"*":{action_:"output"}},"{...}":{"*":{action_:"text="}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"\\greek":{"*":{action_:["output","rm"]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:["output","copy"]}},else:{"*":{action_:"text="}}}),actions:{output:function(n){if(n.text_){var r={type_:"text",p1:n.text_};for(var s in n)delete n[s];return r}}}},pq:{transitions:qe.createTransitions({empty:{"*":{}},"state of aggregation $":{"*":{action_:"state of aggregation"}},i$:{0:{nextState:"!f",revisit:!0}},"(KV letters),":{0:{action_:"rm",nextState:"0"}},formula$:{0:{nextState:"f",revisit:!0}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"!f",revisit:!0}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"a-z":{f:{action_:"tex-math"}},letters:{"*":{action_:"rm"}},"-9.,9":{"*":{action_:"9,9"}},",":{"*":{action_:{type_:"insert+p1",option:"comma enumeration S"}}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"state of aggregation":function(n,r){return{type_:"state of aggregation subscript",p1:qe.go(r,"o")}},"color-output":function(n,r){return{type_:"color",color1:r[0],color2:qe.go(r[1],"pq")}}}},bd:{transitions:qe.createTransitions({empty:{"*":{}},x$:{0:{nextState:"!f",revisit:!0}},formula$:{0:{nextState:"f",revisit:!0}},else:{0:{nextState:"!f",revisit:!0}},"-9.,9 no missing 0":{"*":{action_:"9,9"}},".":{"*":{action_:{type_:"insert",option:"electron dot"}}},"a-z":{f:{action_:"tex-math"}},x:{"*":{action_:{type_:"insert",option:"KV x"}}},letters:{"*":{action_:"rm"}},"'":{"*":{action_:{type_:"insert",option:"prime"}}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"color-output":function(n,r){return{type_:"color",color1:r[0],color2:qe.go(r[1],"bd")}}}},oxidation:{transitions:qe.createTransitions({empty:{"*":{}},"roman numeral":{"*":{action_:"roman-numeral"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},else:{"*":{action_:"copy"}}}),actions:{"roman-numeral":function(n,r){return{type_:"roman numeral",p1:r||""}}}},"tex-math":{transitions:qe.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},else:{"*":{action_:"o="}}}),actions:{output:function(n){if(n.o){var r={type_:"tex-math",p1:n.o};for(var s in n)delete n[s];return r}}}},"tex-math tight":{transitions:qe.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},"-|+":{"*":{action_:"tight operator"}},else:{"*":{action_:"o="}}}),actions:{"tight operator":function(n,r){n.o=(n.o||"")+"{"+r+"}"},output:function(n){if(n.o){var r={type_:"tex-math",p1:n.o};for(var s in n)delete n[s];return r}}}},"9,9":{transitions:qe.createTransitions({empty:{"*":{}},",":{"*":{action_:"comma"}},else:{"*":{action_:"copy"}}}),actions:{comma:function(){return{type_:"commaDecimal"}}}},pu:{transitions:qe.createTransitions({empty:{"*":{action_:"output"}},space$:{"*":{action_:["output","space"]}},"{[(|)]}":{"0|a":{action_:"copy"}},"(-)(9)^(-9)":{0:{action_:"number^",nextState:"a"}},"(-)(9.,9)(e)(99)":{0:{action_:"enumber",nextState:"a"}},space:{"0|a":{}},"pm-operator":{"0|a":{action_:{type_:"operator",option:"\\pm"},nextState:"0"}},operator:{"0|a":{action_:"copy",nextState:"0"}},"//":{d:{action_:"o=",nextState:"/"}},"/":{d:{action_:"o=",nextState:"/"}},"{...}|else":{"0|d":{action_:"d=",nextState:"d"},a:{action_:["space","d="],nextState:"d"},"/|q":{action_:"q=",nextState:"q"}}}),actions:{enumber:function(n,r){var s=[];return r[0]==="+-"||r[0]==="+/-"?s.push("\\pm "):r[0]&&s.push(r[0]),r[1]&&(qe.concatArray(s,qe.go(r[1],"pu-9,9")),r[2]&&(r[2].match(/[,.]/)?qe.concatArray(s,qe.go(r[2],"pu-9,9")):s.push(r[2])),r[3]=r[4]||r[3],r[3]&&(r[3]=r[3].trim(),r[3]==="e"||r[3].substr(0,1)==="*"?s.push({type_:"cdot"}):s.push({type_:"times"}))),r[3]&&s.push("10^{"+r[5]+"}"),s},"number^":function(n,r){var s=[];return r[0]==="+-"||r[0]==="+/-"?s.push("\\pm "):r[0]&&s.push(r[0]),qe.concatArray(s,qe.go(r[1],"pu-9,9")),s.push("^{"+r[2]+"}"),s},operator:function(n,r,s){return{type_:"operator",kind_:s||r}},space:function(){return{type_:"pu-space-1"}},output:function(n){var r,s=qe.patterns.match_("{(...)}",n.d||"");s&&s.remainder===""&&(n.d=s.match_);var o=qe.patterns.match_("{(...)}",n.q||"");if(o&&o.remainder===""&&(n.q=o.match_),n.d&&(n.d=n.d.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),n.d=n.d.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F")),n.q){n.q=n.q.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),n.q=n.q.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F");var t={d:qe.go(n.d,"pu"),q:qe.go(n.q,"pu")};n.o==="//"?r={type_:"pu-frac",p1:t.d,p2:t.q}:(r=t.d,t.d.length>1||t.q.length>1?r.push({type_:" / "}):r.push({type_:"/"}),qe.concatArray(r,t.q))}else r=qe.go(n.d,"pu-2");for(var i in n)delete n[i];return r}}},"pu-2":{transitions:qe.createTransitions({empty:{"*":{action_:"output"}},"*":{"*":{action_:["output","cdot"],nextState:"0"}},"\\x":{"*":{action_:"rm="}},space:{"*":{action_:["output","space"],nextState:"0"}},"^{(...)}|^(-1)":{1:{action_:"^(-1)"}},"-9.,9":{0:{action_:"rm=",nextState:"0"},1:{action_:"^(-1)",nextState:"0"}},"{...}|else":{"*":{action_:"rm=",nextState:"1"}}}),actions:{cdot:function(){return{type_:"tight cdot"}},"^(-1)":function(n,r){n.rm+="^{"+r+"}"},space:function(){return{type_:"pu-space-2"}},output:function(n){var r=[];if(n.rm){var s=qe.patterns.match_("{(...)}",n.rm||"");s&&s.remainder===""?r=qe.go(s.match_,"pu"):r={type_:"rm",p1:n.rm}}for(var o in n)delete n[o];return r}}},"pu-9,9":{transitions:qe.createTransitions({empty:{0:{action_:"output-0"},o:{action_:"output-o"}},",":{0:{action_:["output-0","comma"],nextState:"o"}},".":{0:{action_:["output-0","copy"],nextState:"o"}},else:{"*":{action_:"text="}}}),actions:{comma:function(){return{type_:"commaDecimal"}},"output-0":function(n){var r=[];if(n.text_=n.text_||"",n.text_.length>4){var s=n.text_.length%3;s===0&&(s=3);for(var o=n.text_.length-3;o>0;o-=3)r.push(n.text_.substr(o,3)),r.push({type_:"1000 separator"});r.push(n.text_.substr(0,s)),r.reverse()}else r.push(n.text_);for(var t in n)delete n[t];return r},"output-o":function(n){var r=[];if(n.text_=n.text_||"",n.text_.length>4){for(var s=n.text_.length-3,o=0;o<s;o+=3)r.push(n.text_.substr(o,3)),r.push({type_:"1000 separator"});r.push(n.text_.substr(o))}else r.push(n.text_);for(var t in n)delete n[t];return r}}}};var qs={go:function(n,r){if(!n)return"";for(var s="",o=!1,t=0;t<n.length;t++){var i=n[t];typeof i=="string"?s+=i:(s+=qs._go2(i),i.type_==="1st-level escape"&&(o=!0))}return!r&&!o&&s&&(s="{"+s+"}"),s},_goInner:function(n){return n&&qs.go(n,!0)},_go2:function(n){var r;switch(n.type_){case"chemfive":r="";var s={a:qs._goInner(n.a),b:qs._goInner(n.b),p:qs._goInner(n.p),o:qs._goInner(n.o),q:qs._goInner(n.q),d:qs._goInner(n.d)};s.a&&(s.a.match(/^[+\-]/)&&(s.a="{"+s.a+"}"),r+=s.a+"\\,"),(s.b||s.p)&&(r+="{\\vphantom{X}}",r+="^{\\hphantom{"+(s.b||"")+"}}_{\\hphantom{"+(s.p||"")+"}}",r+="{\\vphantom{X}}",r+="^{\\smash[t]{\\vphantom{2}}\\mathllap{"+(s.b||"")+"}}",r+="_{\\vphantom{2}\\mathllap{\\smash[t]{"+(s.p||"")+"}}}"),s.o&&(s.o.match(/^[+\-]/)&&(s.o="{"+s.o+"}"),r+=s.o),n.dType==="kv"?((s.d||s.q)&&(r+="{\\vphantom{X}}"),s.d&&(r+="^{"+s.d+"}"),s.q&&(r+="_{\\smash[t]{"+s.q+"}}")):n.dType==="oxidation"?(s.d&&(r+="{\\vphantom{X}}",r+="^{"+s.d+"}"),s.q&&(r+="{\\vphantom{X}}",r+="_{\\smash[t]{"+s.q+"}}")):(s.q&&(r+="{\\vphantom{X}}",r+="_{\\smash[t]{"+s.q+"}}"),s.d&&(r+="{\\vphantom{X}}",r+="^{"+s.d+"}"));break;case"rm":r="\\mathrm{"+n.p1+"}";break;case"text":n.p1.match(/[\^_]/)?(n.p1=n.p1.replace(" ","~").replace("-","\\text{-}"),r="\\mathrm{"+n.p1+"}"):r="\\text{"+n.p1+"}";break;case"roman numeral":r="\\mathrm{"+n.p1+"}";break;case"state of aggregation":r="\\mskip2mu "+qs._goInner(n.p1);break;case"state of aggregation subscript":r="\\mskip1mu "+qs._goInner(n.p1);break;case"bond":if(r=qs._getBond(n.kind_),!r)throw["MhchemErrorBond","mhchem Error. Unknown bond type ("+n.kind_+")"];break;case"frac":var o="\\frac{"+n.p1+"}{"+n.p2+"}";r="\\mathchoice{\\textstyle"+o+"}{"+o+"}{"+o+"}{"+o+"}";break;case"pu-frac":var t="\\frac{"+qs._goInner(n.p1)+"}{"+qs._goInner(n.p2)+"}";r="\\mathchoice{\\textstyle"+t+"}{"+t+"}{"+t+"}{"+t+"}";break;case"tex-math":r=n.p1+" ";break;case"frac-ce":r="\\frac{"+qs._goInner(n.p1)+"}{"+qs._goInner(n.p2)+"}";break;case"overset":r="\\overset{"+qs._goInner(n.p1)+"}{"+qs._goInner(n.p2)+"}";break;case"underset":r="\\underset{"+qs._goInner(n.p1)+"}{"+qs._goInner(n.p2)+"}";break;case"underbrace":r="\\underbrace{"+qs._goInner(n.p1)+"}_{"+qs._goInner(n.p2)+"}";break;case"color":r="{\\color{"+n.color1+"}{"+qs._goInner(n.color2)+"}}";break;case"color0":r="\\color{"+n.color+"}";break;case"arrow":var i={rd:qs._goInner(n.rd),rq:qs._goInner(n.rq)},a="\\x"+qs._getArrow(n.r);i.rq&&(a+="[{"+i.rq+"}]"),i.rd?a+="{"+i.rd+"}":a+="{}",r=a;break;case"operator":r=qs._getOperator(n.kind_);break;case"1st-level escape":r=n.p1+" ";break;case"space":r=" ";break;case"entitySkip":r="~";break;case"pu-space-1":r="~";break;case"pu-space-2":r="\\mkern3mu ";break;case"1000 separator":r="\\mkern2mu ";break;case"commaDecimal":r="{,}";break;case"comma enumeration L":r="{"+n.p1+"}\\mkern6mu ";break;case"comma enumeration M":r="{"+n.p1+"}\\mkern3mu ";break;case"comma enumeration S":r="{"+n.p1+"}\\mkern1mu ";break;case"hyphen":r="\\text{-}";break;case"addition compound":r="\\,{\\cdot}\\,";break;case"electron dot":r="\\mkern1mu \\bullet\\mkern1mu ";break;case"KV x":r="{\\times}";break;case"prime":r="\\prime ";break;case"cdot":r="\\cdot ";break;case"tight cdot":r="\\mkern1mu{\\cdot}\\mkern1mu ";break;case"times":r="\\times ";break;case"circa":r="{\\sim}";break;case"^":r="uparrow";break;case"v":r="downarrow";break;case"ellipsis":r="\\ldots ";break;case"/":r="/";break;case" / ":r="\\,/\\,";break;default:throw["MhchemBugT","mhchem bug T. Please report."]}return r},_getArrow:function(n){switch(n){case"->":return"rightarrow";case"\u2192":return"rightarrow";case"\u27F6":return"rightarrow";case"<-":return"leftarrow";case"<->":return"leftrightarrow";case"<-->":return"rightleftarrows";case"<=>":return"rightleftharpoons";case"\u21CC":return"rightleftharpoons";case"<=>>":return"rightequilibrium";case"<<=>":return"leftequilibrium";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getBond:function(n){switch(n){case"-":return"{-}";case"1":return"{-}";case"=":return"{=}";case"2":return"{=}";case"#":return"{\\equiv}";case"3":return"{\\equiv}";case"~":return"{\\tripledash}";case"~-":return"{\\mathrlap{\\raisebox{-.1em}{$-$}}\\raisebox{.1em}{$\\tripledash$}}";case"~=":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}";case"~--":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}";case"-~-":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$-$}}\\tripledash}";case"...":return"{{\\cdot}{\\cdot}{\\cdot}}";case"....":return"{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";case"->":return"{\\rightarrow}";case"<-":return"{\\leftarrow}";case"<":return"{<}";case">":return"{>}";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getOperator:function(n){switch(n){case"+":return" {}+{} ";case"-":return" {}-{} ";case"=":return" {}={} ";case"<":return" {}<{} ";case">":return" {}>{} ";case"<<":return" {}\\ll{} ";case">>":return" {}\\gg{} ";case"\\pm":return" {}\\pm{} ";case"\\approx":return" {}\\approx{} ";case"$\\approx$":return" {}\\approx{} ";case"v":return" \\downarrow{} ";case"(v)":return" \\downarrow{} ";case"^":return" \\uparrow{} ";case"(^)":return" \\uparrow{} ";default:throw["MhchemBugT","mhchem bug T. Please report."]}}};var _Rn=["window","document","DOMParser","XMLSerializer","Node","Element","HTMLElement","HTMLImageElement","HTMLAnchorElement","HTMLTemplateElement","DocumentFragment","Text","NodeFilter","Range","getComputedStyle","CSS","CustomEvent","Event","MutationObserver"],zyt=null;function Dwe(e="<!doctype html><html><head></head><body><main></main></body></html>"){let{window:n}=new Gyt.JSDOM(e,{url:"https://studio.invalid/"});for(let r of _Rn)n[r]!==void 0&&(globalThis[r]=n[r]);return globalThis.katex=J7,n.document}async function Fwe(){return zyt??=await import("../browser/editor/page/core.mjs"),zyt}async function Icr(e){let{html:n,map:r}=dEe(e),s=Dwe(n),{prepareBlock:o,captureLayout:t}=await Fwe();for(let i of r.blocks){if(i.kind==="code"||i.kind==="tex")continue;let a=s.querySelector(`[data-ge-block="${i.id}"]`);a&&o(a,i)}return t(s,r),{document:s,map:r}}import{createHash as Vwe}from"node:crypto";import O4 from"node:fs";import nf from"node:path";import{fileURLToPath as ZRn,pathToFileURL as n1t}from"node:url";import{escapeAttribute as ORn,escapeMarkup as zwe,escapeText as Z7}from"../browser/shared/escape.mjs";import{iconKind as Gwe}from"../browser/shared/emoji/icon-value.mjs";import{attr as r1t,elementsOf as i1t,hasClass as jRn}from"../browser/shared/html-tree.mjs";import{extOf as oQ,kindOf as Z2}from"../browser/shared/import-types.mjs";import{UPLOAD_LIMITS as eQn,formatSize as s1t}from"../browser/shared/media.mjs";import{pdfjsDirectory as Rwe}from"../browser/shared/paths.mjs";import{componentOf as MRn}from"../browser/shared/components/index.mjs";import{PACKAGE_MARK as NRn}from"../browser/shared/components/installed.mjs";import{MENTION as PRn,MENTION_ICON as RRn}from"../browser/shared/components/mention.mjs";import{TAB_ICON as QRn,iconKind as Mwe}from"../browser/shared/emoji/icon-value.mjs";import{escapeAttribute as LRn,escapeText as WRn}from"../browser/shared/escape.mjs";import{GENERATORS as HRn,PACKAGES_META as qRn,SOURCE_META as URn}from"../browser/shared/export-wrap.mjs";import{attr as Dc,elementsOf as Nwe,hasClass as K2,walk as sQ}from"../browser/shared/html-tree.mjs";import{MEDIA_TYPES as Yyt,referencedFile as VRn}from"../browser/shared/media.mjs";import{isFileLink as zRn}from"../browser/shared/page-address.mjs";function X7(e){let n=null;return sQ(e,r=>{!n&&r.tagName==="main"&&K2(r,"doc-page")&&(n=r)},{inTemplates:!1}),n}var Pwe=e=>(e.childNodes??[]).map(n=>n.nodeName==="#text"?n.value:Pwe(n)).join(""),GRn=e=>["data-doc-kit","data-doc-vendor",NRn].some(n=>Dc(e,n)!==void 0),YRn=(e,n)=>{for(let r=e;r;r=r.parentNode)if(r===n)return!0;return!1},byt=/^\s*data:/i,$Rn=/^data:image\/svg\+xml[;,]/i,$yt=new RegExp(`(?:;\\s*)?${QRn}:\\s*url\\((['"]?)(data:[^'")]*)\\1\\)\\s*;?\\s*$`),Jyt=/[ \t]*(?:\r?\n|$)/y,Xyt=/\r?\n/y,JRn=MRn("page").runtime.state.html,XRn=/^\s*[a-z][a-z0-9+.-]*:/i;function QX(e){let n=e.indexOf(",");if(!byt.test(e)||n<0)return null;let r=e.slice(e.indexOf(":")+1,n),s=e.slice(n+1);try{return/;base64$/i.test(r)?Buffer.from(s,"base64"):Buffer.from(decodeURIComponent(s),"utf8")}catch{return null}}function Kyt(e){let n=Nwe(X7(e)??{}).find(t=>t.tagName==="header"&&K2(t,"doc-header")),r=null;n&&sQ(n,t=>r??=K2(t,"doc-title")?t:null);let s=null;sQ(e,t=>s??=t.tagName==="title"?t:null,{inTemplates:!1});let o=t=>t.replace(/\s+/g," ").trim();return o(Pwe(r??{}))||o(Pwe(s??{}))||null}function _we(e,n,r){let{startOffset:s,endOffset:o}=n.sourceCodeLocation;if(r==="blank"){let l=n.parentNode?.childNodes??[],u=l[l.indexOf(n)-1];return{start:u?.nodeName==="#text"&&!u.value.trim()&&u.sourceCodeLocation?u.sourceCodeLocation.startOffset:s,end:o,text:""}}let t=e.lastIndexOf(`
|
|
941
|
+
`,s-1)+1,i=e.slice(t,s);if(r==="tab")return Xyt.lastIndex=o,{start:s-/[ \t]*$/.exec(i)[0].length,end:o+(Xyt.exec(e)?.[0].length??0),text:""};Jyt.lastIndex=o;let a=Jyt.exec(e);return/^[ \t]*$/.test(i)&&a?{start:t,end:o+a[0].length,text:""}:{start:s,end:o,text:""}}function LX(e,n,r){let s=n.sourceCodeLocation?.attrs?.[r];if(!s)return null;let o=s.startOffset;for(;/\s/.test(e[o-1]);)o--;return{start:o,end:s.endOffset,text:""}}var bRn=e=>!!e&&!XRn.test(e)&&!zRn(e);function KRn(e,n){let r=Mwe(n)==="emoji"?fEe(n):null,s=r&&QX(e);return!!(s&&s.equals(QX(r)))}function Zyt(e,n=uI(e)){let r=[];return sQ(n,s=>{let o=s.sourceCodeLocation;if(!o)return;let t=Dc(s,"name");if(s.tagName==="meta"&&(/^content-security-policy$/i.test(Dc(s,"http-equiv")??"")||t==="generator"&&HRn.includes(Dc(s,"content"))||t===URn&&/^sha256:[0-9a-f]{64}$/i.test(Dc(s,"content")??"")||t===qRn))r.push(_we(e,s,"blank"));else if(s.tagName==="link"&&Dc(s,"data-doc-tab-icon")!==void 0)r.push(_we(e,s,"tab"));else if(GRn(s)||s.tagName==="meta"&&t==="doc-export-id"||s.tagName==="script"&&Dc(s,"data-doc-state")!==void 0)r.push(_we(e,s,"line"));else if(s.tagName==="html")r.push(...JRn.map(i=>LX(e,s,i)).filter(Boolean));else if(s.tagName==="div"&&Dc(s,"class")==="doc-icon"&&o.endTag){let[i,a]=Nwe(s),l={start:o.startTag.endOffset,end:o.endTag.startOffset};i&&!a&&i.tagName==="svg"&&Mwe(Dc(s,"data-icon"))==="glyph"?r.push({...l,text:""}):i&&!a&&i.tagName==="img"&&Mwe(Dc(i,"alt"))==="emoji"&&$Rn.test(Dc(i,"src")??"")&&r.push({...l,text:WRn(Dc(i,"alt"))})}else if(s.tagName==="a"&&K2(s,PRn)&&o.endTag&&bRn(Dc(s,"href")))for(let{startOffset:i,endOffset:a}of[o.startTag,o.endTag,...Nwe(s).filter(l=>K2(l,RRn)).map(l=>l.sourceCodeLocation)])r.push({start:i,end:a,text:""});else if(s.tagName==="button"&&o.attrs?.style){let i=$yt.exec(Dc(s,"style")??"");if(!i||!KRn(i[2],Dc(s,"data-tab-icon")))return;let a=Dc(s,"style").replace($yt,""),l=o.attrs.style.startOffset;if(!a)for(;/\s/.test(e[l-1]);)l--;r.push({start:l,end:o.attrs.style.endOffset,text:a?`style="${LRn(a)}"`:""})}},{inTemplates:!1}),a_(e,r)}function Oyt(e,n=uI(e)){let r=X7(n);return AEe(e,(s,o)=>{if(!YRn(o,r)&&o.tagName!=="style")return!1;let t=o.tagName==="a"||o.tagName==="area";return byt.test(s)?!t||Dc(o,"download")!==void 0:!s.trim()||/^\s*([a-z][a-z0-9+.-]*:|\/|#)/i.test(s)?!1:!t||VRn(s)!==null||Dc(o,"download")!==void 0||K2(o,"doc-file-link")},n)}function jyt(e){let n=[];return sQ(X7(e)??{},r=>{r.tagName==="img"&&r.sourceCodeLocation?.attrs?.["data-original"]&&n.push(r)}),n}function e1t({node:e,how:n}){let r=e.parentNode?.tagName?e.parentNode:null;return e.tagName==="img"&&r&&K2(r,"doc-icon")?"icon":e.tagName==="img"&&K2(e,"doc-bookmark-icon")?"bookmark-icon":e.tagName==="img"&&r&&K2(r,"doc-bookmark-cover")?"bookmark-cover":e.tagName==="iframe"&&n==="src"?"embed":n==="href"&&(e.tagName==="a"||e.tagName==="area")||n==="src"&&["video","audio","source","track"].includes(e.tagName)?"file":"image"}function t1t(e){let n=e.slice(5,e.indexOf(",")).split(";")[0].trim().toLowerCase(),r=Object.keys(Yyt).find(s=>Yyt[s]===n);return r?`file.${r}`:"file"}var tQn=["markdown","html","csv","docx","pdf","epub"],c1t=/ [0-9a-f]{32}(_all)?$/i,o1t=/ [0-9a-f]{32}\.(md|html)$/i,nQn=/ [0-9a-f]{32}(_all)?\.csv$/i,rQn=/(^|\/)(__MACOSX|\.DS_Store|Thumbs\.db)(\/|$)/,eI="https://asset.invalid/",aQ="https://import.invalid/",d1t=new Set([".png",".jpg",".jpeg",".gif",".webp",".svg",".avif",".bmp",".ico"]),iQn=new Set([".pdf",".html",".htm"]),sQn=300,Ol=e=>e.split("/").pop(),k1=e=>e.includes("/")?e.slice(0,e.lastIndexOf("/")):"",oQn=e=>Ol(e).replace(/\.[^.]+$/,""),O7=e=>{try{return decodeURIComponent(e)}catch{return e}},O2=e=>oQn(e).replace(c1t,"").trim()||"Untitled",HX=e=>String(e??"").replace(/\s+/g," ").trim().slice(0,sQn),WX=e=>(e??[]).map(n=>n[0]).join("");function j4(e){try{return new TextDecoder("utf-8",{fatal:!0}).decode(e).replace(/^/,"")}catch{return new TextDecoder("gbk").decode(e)}}function Wwe(e,n){return{name:n,size:O4.statSync(e).size,read:()=>O4.readFileSync(e),head:()=>Ywe(e),file:async()=>e}}function lQ(e,n){let r=null;return{name:n,size:e.length,read:()=>e,head:()=>e.subarray(0,512),file(s){return r??=(async()=>{let o=nf.join(s,`m-${Vwe("sha256").update(e).digest("hex").slice(0,16)}`);return await O4.promises.writeFile(o,e),o})(),r}}}function Qwe(e,n,r){let s=null;return{name:r,size:n.size,read:()=>e.read(n),head:()=>n.size<=512?e.read(n):null,async file(o){return s??=(async()=>{let t=nf.join(o,`z-${Vwe("sha256").update(`${o}
|
|
942
942
|
${r}`).digest("hex").slice(0,16)}`);return await e.extract(n,t),t})(),s}}}function Ywe(e){let n=O4.openSync(e,"r");try{let r=Buffer.alloc(512);return r.subarray(0,O4.readSync(n,r,0,512,0))}finally{O4.closeSync(n)}}async function p1t(e){let n=Vwe("sha256");for await(let r of O4.createReadStream(e))n.update(r);return n.digest("hex")}function Hwe(e){let n=[...e.keys()].some(i=>o1t.test(i)),r=[...e.keys()].every(i=>!i.includes("/")),s=new Set([...e.keys()].filter(i=>Z2(i)==="markdown").map(k1));return{files:e,isPage:i=>n?o1t.test(i)?!0:nQn.test(i)&&(i.endsWith("_all.csv")||!e.has(i.replace(/\.csv$/i,"_all.csv"))):tQn.includes(Z2(i)),pageFile:i=>Z2(i)!=="markdown"&&Ol(k1(i))==="assets"&&s.has(k1(k1(i))),source:i=>e.get(i),resolve(i,a){if(!a)return null;let l;if(a.startsWith(aQ))l=O7(a.slice(aQ.length).split(/[?#]/)[0]);else{if(/^([a-z][a-z0-9+.-]*:|\/\/|#)/i.test(a))return null;l=[i,O7(a.split("#")[0].split("?")[0])].filter(Boolean).join("/")}let u=[];for(let m of l.replace(/\\/g,"/").split("/"))m===".."?u.pop():m&&m!=="."&&u.push(m);let f=u.join("/");return e.has(f)?f:r&&e.has(u.at(-1))?u.at(-1):null}}}async function h1t(){let[e,n,r,s,o,t,i]=await Promise.all([import("../browser/editor/page/clipboard/import/markdown.mjs"),import("../browser/editor/page/clipboard/import/html.mjs"),import("../browser/editor/page/clipboard/import/math.mjs"),import("../browser/editor/page/clipboard/import/to-blocks.mjs"),import("../browser/editor/page/clipboard/own/blocks.mjs"),import("../browser/editor/page/formula/index.mjs"),Fwe()]),{renderTex:a}=await import("../browser/editor/page/tex.mjs");return{...e,...n,...r,...s,...o,...t,...i,renderTex:a}}function aQn(e){let n=!1;return e.split(`
|
|
943
943
|
`).map(r=>(/^\s*(```|~~~)/.test(r)&&(n=!n),n||!r.includes("](")?r:r.replace(/\]\(((?:[^()\s]|\([^()\s]*\))+\([^()\s]*\)(?:[^()\s]|\([^()\s]*\))*)\)/g,(s,o)=>`](${o.replace(/\(/g,"%28").replace(/\)/g,"%29")})`))).join(`
|
|
944
944
|
`)}function lQn(e){let n=/^---[ \t]*\r?\n((?:.*\r?\n)*?)(?:---|\.\.\.)[ \t]*(?:\r?\n|$)/.exec(e);if(!n||!/^[\w-]+[ \t]*:/m.test(n[1]))return{title:"",body:e,lines:0};let r=/^title[ \t]*:[ \t]*(.*?)[ \t]*\r?$((?:\r?\n[ \t]+.*)*)/m.exec(n[1]),s=r?.[1]??"";return{title:/^[>|][+-]?\d*$/.test(s)?r[2].replace(/\s+/g," ").trim():/^".*"$/.test(s)?s.slice(1,-1).replace(/\\(.)/g,"$1"):/^'.*'$/.test(s)?s.slice(1,-1).replace(/''/g,"'"):`${s}${r?.[2]??""}`.replace(/\s+/g," ").trim(),body:e.slice(n[0].length),lines:n[0].split(`
|
|
@@ -948,9 +948,9 @@ ${s.join(`
|
|
|
948
948
|
</ol>`},children:[]}]}}var pQn=e=>`\uE000${e}\uE001`,hQn=e=>`<ol class="doc-flow">
|
|
949
949
|
${e.map(n=>` <li>${Z7(n)}</li>`).join(`
|
|
950
950
|
`)}
|
|
951
|
-
</ol>`;function m1t(e,n){for(let r of e)r.type==="flow"&&Object.assign(r,{type:"html",props:{html:hQn(r.props.steps),line:r.props.line}}),r.type==="html"&&(r.props.marker=pQn(n.push({html:r.props.html,line:r.props.line??null,pictures:[]})-1)),r.children?.length&&m1t(r.children,n)}function fQn(e,n,r){let s=lQn(e),{specs:o,footnotes:t,notes:i,formulas:a,links:l}=r.readMarkdownDocument(aQn(s.body),{firstLine:s.lines+1}),u=HX(s.title),f=o.filter(v=>qwe(v)&&!v.props?.boxed),m=f.filter(v=>v.props?.level===1);if(m.length){let v=HX(uQn(m[0].title)),x=!u||v===u||m.length===1&&f[0]===m[0];u&&v!==u&&x&&i.push({line:m[0].props.line??null,kind:"title",text:`the # heading "${v}" is left out: the front matter's title, "${u}", is the document's`}),x&&(u||=v,o.splice(o.indexOf(m[0]),1))}for(let{tex:v,line:x,display:T}of a){let{error:k}=r.renderTex(v,T);k&&i.push({line:x,kind:"math",text:`KaTeX cannot draw the formula ${v.length>60?`${v.slice(0,57)}\u2026`:v}: ${k.replace(/ at position \d+[\s\S]*$/,"")}`})}let g=/[\u3400-\u9fff]/.test(s.body),w=cQn(o);t.length&&w.push(dQn(t,g,r));let E=[];return m1t(w,E),{title:u||O2(n),specs:w,marks:[],notes:i.sort((v,x)=>v.line-x.line),links:l,brought:new Set,raws:E,held:!0,...g?{}:{lang:"en"}}}function mQn(e){let n=e.links.filter(({href:r})=>r.startsWith("#"));for(let{href:r,line:s,entry:o}of e.links)!r.startsWith("#")&&!e.brought.has(o)&&e.notes.push({line:s,kind:"link",name:r,text:`the link to ${r} is kept as its words: a document links to web addresses`});if(n.length){let r=[...new Set(n.map(({href:s})=>s))];e.notes.push({line:n[0].line,kind:"link",text:`${n.length===1?"a link":`${n.length} links`} to places in the document (${r.slice(0,3).join(", ")}${r.length>3?", \u2026":""}) lead${n.length===1?"s":""} nowhere: a document's headings have no anchors`})}}function A1t(e,n){return e.replace(/(<img\b[^>]*?\ssrc\s*=\s*)(?:"([^"]*)"|'([^']*)'|([^\s"'>]+))/gi,(r,s,o,t,i)=>{let a=o??t??i,l=n(a);return l===a?r:`${s}"${zwe(l)}"`})}function AQn(e,n,r,s){let o=k1(n);for(let t of e.raws)A1t(t.html,i=>{if(/^(data:|https?:)/i.test(i)||t.pictures.some(l=>l.src===i))return i;let a=r?.resolve(o,i);return a?(t.pictures.push({src:i,source:r.source(a),name:Ol(a)}),s(r.source(a).name)):e.notes.push({line:t.line,kind:"picture-missing",name:i,text:`the picture ${i} was not found: kept as written`}),i})}function yQn(e,n){let r=(s,o)=>{let t=e.createElement(o);for(;s.firstChild;)t.append(s.firstChild);return s.replaceWith(t),t};for(let s of[...e.body.querySelectorAll("main, aside, header, footer, nav, dl")])r(s,"div");for(let s of[...e.body.querySelectorAll("dt")]){let o=e.createElement("strong");for(;s.firstChild;)o.append(s.firstChild);r(s,"p").append(o)}for(let s of[...e.body.querySelectorAll("dd")])r(s,"p");for(let s of[...e.body.querySelectorAll("figure")]){let o=s.querySelectorAll("img");if(o.length!==1||s.querySelector("p, ul, ol, table, pre, blockquote, details, h1, h2, h3, h4, h5, h6, video, iframe"))continue;let t=s.querySelector("figcaption")?.textContent?.replace(/\s+/g," ").trim();t&&!o[0].hasAttribute("data-caption")&&o[0].setAttribute("data-caption",t),s.replaceWith(o[0])}for(let s of[...e.body.querySelectorAll("mark")])r(s,"span").setAttribute(n.ATTR.backgroundHighlight,"yellow_background")}function gQn(e,n,r){return{title:Kyt(n)||O2(r),text:Zyt(e,n)}}function SQn(e){let n=QX(e);if(!n)throw new Error("not a data: URL");return lQ(n,t1t(e))}var wQn={"bookmark-icon":"image","bookmark-cover":"image"};async function EQn(e,n,r,s){let o=k1(n),{text:t}=e,i=uI(t),a=k=>({node:k,how:"original",value:r1t(k,"data-original"),key:"data-original",place:k.sourceCodeLocation.attrs["data-original"]}),l=jyt(i).map(a).filter(({value:k})=>!/^\s*data:/i.test(k)),u=[],f=[];for(let k of[...Oyt(t,i),...l]){let{value:_}=k,Q=r1t(k.node,"download"),b=Q&&oQ(Q)?Q:null,G=/#.*$/.exec(_)?.[0]??"";try{let V,D=null;if(/^data:/i.test(_))V=SQn(_.slice(0,_.length-G.length));else{if(D=r?.resolve(o,_),!D){k.how==="original"&&u.push(LX(t,k.node,"data-original"),LX(t,k.node,"data-crop"));continue}V=r.source(D)}let U=await V.file(s);f.push({reference:k,target:D,from:U,fragment:G,head:V.head()??Ywe(U),hash:await p1t(U),kind:e1t(k),given:b??(D?Ol(D):V.name)})}catch{}}let m=(k,{hash:_,head:Q,given:b})=>{let G=wQn[k]??k;return KX(G,_,Q,b).replace(G,k)},g=new Map;for(let k of f){try{k.name=m(k.kind,k)}catch{if(k.kind!=="file")try{k.name=m("file",k)}catch{}}k.name&&k.kind!=="file"&&!g.has(k.hash)&&g.set(k.hash,k.name)}let w=new Map,E=[],v=new Map;for(let k of f)k.name&&(k.kind==="file"&&g.has(k.hash)&&!(k.target&&Ol(k.target)===k.name)&&(k.name=g.get(k.hash)),w.set(k.name,k.from),v.set(k.reference,`assets/${k.name}${k.fragment}`),k.target&&E.push(k.target));u.push(...
|
|
951
|
+
</ol>`;function m1t(e,n){for(let r of e)r.type==="flow"&&Object.assign(r,{type:"html",props:{html:hQn(r.props.steps),line:r.props.line}}),r.type==="html"&&(r.props.marker=pQn(n.push({html:r.props.html,line:r.props.line??null,pictures:[]})-1)),r.children?.length&&m1t(r.children,n)}function fQn(e,n,r){let s=lQn(e),{specs:o,footnotes:t,notes:i,formulas:a,links:l}=r.readMarkdownDocument(aQn(s.body),{firstLine:s.lines+1}),u=HX(s.title),f=o.filter(v=>qwe(v)&&!v.props?.boxed),m=f.filter(v=>v.props?.level===1);if(m.length){let v=HX(uQn(m[0].title)),x=!u||v===u||m.length===1&&f[0]===m[0];u&&v!==u&&x&&i.push({line:m[0].props.line??null,kind:"title",text:`the # heading "${v}" is left out: the front matter's title, "${u}", is the document's`}),x&&(u||=v,o.splice(o.indexOf(m[0]),1))}for(let{tex:v,line:x,display:T}of a){let{error:k}=r.renderTex(v,T);k&&i.push({line:x,kind:"math",text:`KaTeX cannot draw the formula ${v.length>60?`${v.slice(0,57)}\u2026`:v}: ${k.replace(/ at position \d+[\s\S]*$/,"")}`})}let g=/[\u3400-\u9fff]/.test(s.body),w=cQn(o);t.length&&w.push(dQn(t,g,r));let E=[];return m1t(w,E),{title:u||O2(n),specs:w,marks:[],notes:i.sort((v,x)=>v.line-x.line),links:l,brought:new Set,raws:E,held:!0,...g?{}:{lang:"en"}}}function mQn(e){let n=e.links.filter(({href:r})=>r.startsWith("#"));for(let{href:r,line:s,entry:o}of e.links)!r.startsWith("#")&&!e.brought.has(o)&&e.notes.push({line:s,kind:"link",name:r,text:`the link to ${r} is kept as its words: a document links to web addresses`});if(n.length){let r=[...new Set(n.map(({href:s})=>s))];e.notes.push({line:n[0].line,kind:"link",text:`${n.length===1?"a link":`${n.length} links`} to places in the document (${r.slice(0,3).join(", ")}${r.length>3?", \u2026":""}) lead${n.length===1?"s":""} nowhere: a document's headings have no anchors`})}}function A1t(e,n){return e.replace(/(<img\b[^>]*?\ssrc\s*=\s*)(?:"([^"]*)"|'([^']*)'|([^\s"'>]+))/gi,(r,s,o,t,i)=>{let a=o??t??i,l=n(a);return l===a?r:`${s}"${zwe(l)}"`})}function AQn(e,n,r,s){let o=k1(n);for(let t of e.raws)A1t(t.html,i=>{if(/^(data:|https?:)/i.test(i)||t.pictures.some(l=>l.src===i))return i;let a=r?.resolve(o,i);return a?(t.pictures.push({src:i,source:r.source(a),name:Ol(a)}),s(r.source(a).name)):e.notes.push({line:t.line,kind:"picture-missing",name:i,text:`the picture ${i} was not found: kept as written`}),i})}function yQn(e,n){let r=(s,o)=>{let t=e.createElement(o);for(;s.firstChild;)t.append(s.firstChild);return s.replaceWith(t),t};for(let s of[...e.body.querySelectorAll("main, aside, header, footer, nav, dl")])r(s,"div");for(let s of[...e.body.querySelectorAll("dt")]){let o=e.createElement("strong");for(;s.firstChild;)o.append(s.firstChild);r(s,"p").append(o)}for(let s of[...e.body.querySelectorAll("dd")])r(s,"p");for(let s of[...e.body.querySelectorAll("figure")]){let o=s.querySelectorAll("img");if(o.length!==1||s.querySelector("p, ul, ol, table, pre, blockquote, details, h1, h2, h3, h4, h5, h6, video, iframe"))continue;let t=s.querySelector("figcaption")?.textContent?.replace(/\s+/g," ").trim();t&&!o[0].hasAttribute("data-caption")&&o[0].setAttribute("data-caption",t),s.replaceWith(o[0])}for(let s of[...e.body.querySelectorAll("mark")])r(s,"span").setAttribute(n.ATTR.backgroundHighlight,"yellow_background")}function gQn(e,n,r){return{title:Kyt(n)||O2(r),text:Zyt(e,n)}}function SQn(e){let n=QX(e);if(!n)throw new Error("not a data: URL");return lQ(n,t1t(e))}var wQn={"bookmark-icon":"image","bookmark-cover":"image"};async function EQn(e,n,r,s){let o=k1(n),{text:t}=e,i=uI(t),a=k=>({node:k,how:"original",value:r1t(k,"data-original"),key:"data-original",place:k.sourceCodeLocation.attrs["data-original"]}),l=jyt(i).map(a).filter(({value:k})=>!/^\s*data:/i.test(k)),u=[],f=[];for(let k of[...Oyt(t,i),...l]){let{value:_}=k,Q=r1t(k.node,"download"),b=Q&&oQ(Q)?Q:null,G=/#.*$/.exec(_)?.[0]??"";try{let V,D=null;if(/^data:/i.test(_))V=SQn(_.slice(0,_.length-G.length));else{if(D=r?.resolve(o,_),!D){k.how==="original"&&u.push(LX(t,k.node,"data-original"),LX(t,k.node,"data-crop"));continue}V=r.source(D)}let U=await V.file(s);f.push({reference:k,target:D,from:U,fragment:G,head:V.head()??Ywe(U),hash:await p1t(U),kind:e1t(k),given:b??(D?Ol(D):V.name)})}catch{}}let m=(k,{hash:_,head:Q,given:b})=>{let G=wQn[k]??k;return KX(G,_,Q,b).replace(G,k)},g=new Map;for(let k of f){try{k.name=m(k.kind,k)}catch{if(k.kind!=="file")try{k.name=m("file",k)}catch{}}k.name&&k.kind!=="file"&&!g.has(k.hash)&&g.set(k.hash,k.name)}let w=new Map,E=[],v=new Map;for(let k of f)k.name&&(k.kind==="file"&&g.has(k.hash)&&!(k.target&&Ol(k.target)===k.name)&&(k.name=g.get(k.hash)),w.set(k.name,k.from),v.set(k.reference,`assets/${k.name}${k.fragment}`),k.target&&E.push(k.target));u.push(...yEe(f.map(k=>k.reference),k=>v.get(k)??null));let x=a_(t,u.filter(Boolean)),T=mEe(x);return{icon:Gwe(T)?T:null,text:x,files:[...w].map(([k,_])=>({name:k,from:_})),used:E}}async function y1t(e,n,r,s,{chapter:o=!1}={}){let t=new DOMParser().parseFromString(e,"text/html");yQn(t,s);let i=t.querySelector("article.page"),a,l,u;if(i){a=i.querySelector(".page-title")?.textContent;let v=i.querySelector(".page-header-icon"),x=v?.querySelector("img")?.getAttribute("src");l=v?.querySelector(".icon")?.textContent?.trim()||i.getAttribute("data-notion-page-icon")||void 0,x&&(l={picture:x}),u=i.querySelector(".page-body")??i;for(let T of u.querySelectorAll(`[${s.ATTR.equation}] .equation-container, [${s.ATTR.inlineEquation}] > *`))T.remove()}else{a=t.title;let v=t.body.querySelector("h1");!a?.trim()&&v&&!o&&(a=v.textContent,t.body.firstElementChild===v&&v.remove()),u=t.body}let f={bookmarks:[],embeds:[]},m=(v,x,T)=>{let k=t.createElement("p"),_=t.createElement("a");_.setAttribute("href",x),_.textContent=T?.trim()||" ",k.append(_),v.replaceWith(k)};for(let v of u.querySelectorAll("figure.link-to-page")){let x=v.querySelector("a");x&&m(v,x.getAttribute("href")??"",x.textContent)}for(let v of u.querySelectorAll("figure a.bookmark")){let x=T=>v.querySelector(`.bookmark-${T}`)?.textContent??"";f.bookmarks.push({href:v.getAttribute("href")??"",title:x("title"),description:x("description")}),m(v.closest("figure"),`#import-bookmark=${f.bookmarks.length-1}`,x("title"))}for(let v of u.querySelectorAll("figure > div.source > a:not([data-notion-file])"))f.embeds.push(v.getAttribute("href")??""),m(v.closest("figure"),`#import-embed=${f.embeds.length-1}`,v.textContent);let g=k1(n),w=[];for(let v of u.querySelectorAll("img[src], [data-notion-image], [data-notion-file], video source[src], audio source[src]"))for(let x of["src","data-notion-image","data-notion-file"]){let T=v.getAttribute(x),k=T&&r?.resolve(g,T);if(!k)continue;let _=x==="data-notion-file"||v.localName==="source"?"file":"image";v.setAttribute(x,eI+(w.push({kind:_,source:r.source(k),name:Ol(k)})-1))}let E=s.mathifySpecs(s.htmlToBlocks(s.parseClipboardHTML(u.innerHTML,{base:aQ+(g?`${encodeURI(g)}/`:"")})));if(l?.picture){let v=r?.resolve(g,l.picture);l=v?{source:r.source(v),name:Ol(v)}:void 0}return{title:a||O2(n),icon:l,specs:E,marks:w,extra:f}}function vQn(e,n=","){let r=[],s=[],o="",t=!1;for(let i=0;i<e.length;i++){let a=e[i];t?a==='"'&&e[i+1]==='"'?(o+='"',i++):a==='"'?t=!1:o+=a:a==='"'&&o===""?t=!0:a===n?(s.push(o),o=""):a===`
|
|
952
952
|
`||a==="\r"?(a==="\r"&&e[i+1]===`
|
|
953
|
-
`&&i++,s.push(o),r.push(s),s=[],o=""):o+=a}return(o!==""||s.length)&&(s.push(o),r.push(s)),r.filter(i=>i.some(a=>a!==""))}function CQn(e,n,r){let s=vQn(e,oQ(n)===".tsv"?" ":",");return{title:O2(n),specs:s.length?[r.tableSpec(s.map(o=>o.map(t=>t?[[t]]:[])),!0)]:[],marks:[]}}var ua="http://schemas.openxmlformats.org/wordprocessingml/2006/main",Lwe="http://schemas.openxmlformats.org/officeDocument/2006/relationships";async function TQn(e,n,r){let s=ZX(e),o=G=>s.find(V=>V.name===G),t=G=>o(G)?new DOMParser().parseFromString(j4(o(G).data),"application/xml"):null,i=t("word/document.xml");if(!i)throw new Error("\u4E0D\u662F Word \u6587\u6863");let a=new Map([...t("word/_rels/document.xml.rels")?.getElementsByTagName("Relationship")??[]].map(G=>[G.getAttribute("Id"),G.getAttribute("Target")])),l=new Map([...t("word/styles.xml")?.getElementsByTagNameNS(ua,"style")??[]].map(G=>[G.getAttributeNS(ua,"styleId"),(G.getElementsByTagNameNS(ua,"name")[0]?.getAttributeNS(ua,"val")??"").toLowerCase()])),u=t("word/numbering.xml"),f=new Map,m=new Map;for(let G of u?.getElementsByTagNameNS(ua,"abstractNum")??[])f.set(G.getAttributeNS(ua,"abstractNumId"),[...G.getElementsByTagNameNS(ua,"lvl")].map(V=>V.getElementsByTagNameNS(ua,"numFmt")[0]?.getAttributeNS(ua,"val")??"bullet"));for(let G of u?.getElementsByTagNameNS(ua,"num")??[])m.set(G.getAttributeNS(ua,"numId"),f.get(G.getElementsByTagNameNS(ua,"abstractNumId")[0]?.getAttributeNS(ua,"val"))??[]);let g=[],w=new Map,E=G=>{let V=a.get(G);if(!V)return null;let D=`word/${V.replace(/^\.?\//,"").replace(/^word\//,"")}`;return w.has(D)||w.set(D,o(D)?eI+(g.push({kind:"image",source:lQ(o(D).data,Ol(D)),name:Ol(D)})-1):null),w.get(D)},v=(G,V)=>[...G.childNodes].find(D=>D.namespaceURI===ua&&D.localName===V),x=(G,V)=>{let D=G&&v(G,V);return!!D&&!["0","false","none"].includes(D.getAttributeNS(ua,"val"))},T=G=>{let V="";for(let D of G.childNodes)if(D.namespaceURI===ua)if(D.localName==="hyperlink"){let U=a.get(D.getAttributeNS(Lwe,"id")),X=T(D);V+=U?`<a href="${zwe(U)}">${X}</a>`:X}else if(D.localName==="r"){let U=v(D,"rPr"),X="";for(let se of D.childNodes)if(se.localName==="t")X+=Z7(se.textContent);else if(se.localName==="tab")X+=" ";else if(se.localName==="br"||se.localName==="cr")X+="<br>";else if(se.localName==="drawing"||se.localName==="pict"){let he=se.getElementsByTagNameNS("*","blip")[0]?.getAttributeNS(Lwe,"embed")||se.getElementsByTagNameNS("*","imagedata")[0]?.getAttributeNS(Lwe,"id"),_e=he&&E(he);_e&&(X+=`<img src="${_e}">`)}if(!X)continue;x(U,"b")&&(X=`<strong>${X}</strong>`),x(U,"i")&&(X=`<em>${X}</em>`),x(U,"u")&&(X=`<u>${X}</u>`),(x(U,"strike")||x(U,"dstrike"))&&(X=`<s>${X}</s>`),V+=X}else["ins","smartTag","sdt","sdtContent","fldSimple"].includes(D.localName)&&(V+=T(D));return V},k="",_=[],Q=(G=-1)=>{for(;_.length&&_.at(-1).level>G;)k+=`</li></${_.pop().tag}>`};for(let G of i.getElementsByTagNameNS(ua,"body")[0]?.childNodes??[]){if(G.namespaceURI!==ua)continue;if(G.localName==="tbl"){Q();let he="<table>";for(let _e of G.getElementsByTagNameNS(ua,"tr")){he+="<tr>";for(let He of[..._e.childNodes].filter(Tt=>Tt.localName==="tc"))he+=`<td>${[...He.getElementsByTagNameNS(ua,"p")].map(T).join("<br>")}</td>`;he+="</tr>"}k+=`${he}</table>`;continue}if(G.localName!=="p")continue;let V=v(G,"pPr"),D=v(V??G,"pStyle")?.getAttributeNS(ua,"val"),U=l.get(D)||D?.toLowerCase()||"",X=V&&v(V,"numPr"),se=T(G);if(X){let he=Number(v(X,"ilvl")?.getAttributeNS(ua,"val")??0),_e=(m.get(v(X,"numId")?.getAttributeNS(ua,"val"))?.[he]??"bullet")==="bullet"?"ul":"ol";Q(he);let He=_.at(-1);He&&He.level===he&&He.tag===_e?k+="</li><li>":(He&&He.level===he&&(k+=`</li></${_.pop().tag}>`),k+=`<${_e}><li>`,_.push({tag:_e,level:he})),k+=se;continue}Q();let re=/^(heading|标题) ?([1-6])$/.exec(U)?.[2]||(U==="title"?"1":U==="subtitle"?"2":"");re?k+=`<h${re}>${se}</h${re}>`:/quote|引用/.test(U)?k+=`<blockquote>${se}</blockquote>`:k+=`<p>${se||"<br>"}</p>`}return Q(),{title:t("docProps/core.xml")?.getElementsByTagNameNS("*","title")[0]?.textContent?.trim()||O2(n),specs:r.mathifySpecs(r.htmlToBlocks(r.parseClipboardHTML(k,{base:aQ}))),marks:g}}async function xQn(){let e=Rwe?nf.join(Rwe,"legacy","build"):nf.dirname(ZRn(import.meta.resolve("pdfjs-dist/legacy/build/pdf.mjs"))),[n,r]=Rwe?["pdf.min.mjs","pdf.worker.min.mjs"]:["pdf.mjs","pdf.worker.mjs"];globalThis.DOMMatrix??=class{},globalThis.Path2D??=class{};let s=await import(n1t(nf.join(e,n)).href);return s.GlobalWorkerOptions.workerSrc=n1t(nf.join(e,r)).href,{pdfjs:s,root:nf.dirname(nf.dirname(e)).replace(/\\/g,"/")}}async function kQn(e,n){let{pdfjs:r,root:s}=await xQn(),o=r.getDocument({data:new Uint8Array(e),cMapUrl:`${s}/cmaps/`,cMapPacked:!0,standardFontDataUrl:`${s}/standard_fonts/`,isEvalSupported:!1,disableFontFace:!0,useSystemFonts:!1,verbosity:0}),t=await o.promise,i=[];for(let w=1;w<=t.numPages;w++){let E=await t.getPage(w),x=(await E.getTextContent()).items.filter(k=>"str"in k&&k.str!=="").map(k=>({x:k.transform[4],y:Math.round(k.transform[5]),size:Math.round(Math.hypot(k.transform[2],k.transform[3])),text:k.str})).sort((k,_)=>_.y-k.y||k.x-_.x),T=[];for(let k of x){let _=T.at(-1);_&&Math.abs(_.y-k.y)<=Math.max(2,k.size*.3)?(_.pieces.push(k),_.size=Math.max(_.size,k.size)):T.push({y:k.y,size:k.size,pieces:[k]})}for(let k of T)i.push({y:k.y,size:k.size,text:k.pieces.sort((_,Q)=>_.x-Q.x).map(_=>_.text).join("")});i.push({pageBreak:!0}),E.cleanup()}await o.destroy();let a=i.filter(w=>!w.pageBreak&&w.text.trim()).map(w=>w.size).sort((w,E)=>w-E),l=a[Math.floor(a.length/2)]||12,u=[],f=null,m=null,g=()=>{f?.trim()&&u.push({type:"text",title:[[f.trim()]],props:{},children:[]}),f=null};for(let w of i){if(w.pageBreak){g(),m=null;continue}let E=w.text.replace(/\s+/g," ").trim();if(!E){g();continue}if(w.size>=l*1.3&&E.length<120){g(),u.push({type:w.size>=l*1.8?"header":w.size>=l*1.5?"sub_header":"sub_sub_header",title:[[E]],props:{},children:[]}),m=w;continue}!f||!m||m.y-w.y>w.size*1.8||m.size!==w.size?(g(),f=E):f+=(/[㐀-鿿]$/.test(f)||/^[㐀-鿿]/.test(E)?"":" ")+E,m=w}return g(),{title:O2(n),specs:u,marks:[]}}async function IQn(e,n,r){let s=ZX(e),o=Hwe(new Map(s.map(g=>[g.name,lQ(g.data,g.name)]))),t=o.source("META-INF/container.xml"),i=t&&/full-path="([^"]+)"/.exec(j4(t.read()))?.[1],a=i&&o.source(i)&&new DOMParser().parseFromString(j4(o.source(i).read()),"application/xml");if(!a)throw new Error("\u4E0D\u662F EPUB \u6587\u4EF6");let l=new Map([...a.getElementsByTagNameNS("*","item")].map(g=>[g.getAttribute("id"),g.getAttribute("href")])),u=[],f=[];for(let g of a.getElementsByTagNameNS("*","itemref")){let w=o.resolve(k1(i),l.get(g.getAttribute("idref")));if(!w)continue;let E=await y1t(j4(o.source(w).read()),w,o,r,{chapter:!0});$we(E.specs,w,o,E,f),u.push(...E.specs)}return{title:a.getElementsByTagNameNS("*","title")[0]?.textContent?.trim()||O2(n),specs:u,marks:f,fixed:!0}}function BQn(e){let n=(e??[]).filter(s=>s[0].trim());if(n.length!==1)return null;let r=n[0][1]?.find(s=>s[0]==="a");return r?{href:r[1],text:n[0][0],entry:r}:null}var TA=e=>typeof e=="string"&&e.startsWith(eI)?Number(e.slice(eI.length)):-1,g1t="import-cell-mark-",a1t=new RegExp(`<img src="assets/${g1t}(\\d+)"([^>]*)>`,"g"),b7=e=>d1t.has(oQ(e))?"image":iQn.has(oQ(e))?"embed":"file",K7=(e,n)=>n==="image"?{type:"image",title:[],props:{source:eI+e},children:[]}:{type:"embed",title:[],props:{source:eI+e},children:[]};function $we(e,n,r,s,o=s.marks){let t=k1(n),i=l=>o.push(l)-1,a=l=>TA(l)>=0&&s.marks!==o?i(s.marks[TA(l)]):TA(l);for(let l=0;l<e.length;l++){let u=e[l];if(u.props??={},u.type==="image"&&u.props.source){let g=u.props.source,w=TA(g)<0?r?.resolve(t,g):null,E=WX(u.props.caption);E&&O7(Ol(w??s.marks[TA(g)]?.name??g))===E?E="":E&&e[l+1]?.type==="text"&&WX(e[l+1].title)===E&&!e[l+1].children?.length&&e.splice(l+1,1);let v=TA(g)>=0?a(g):w?i({kind:"image",source:r.source(w),name:Ol(w)}):/^data:image\//i.test(g)||/^https?:/i.test(g)?i({kind:"image",url:g,name:"",line:u.props.line??null}):-1;if(v<0){s.notes?.push({line:u.props.line??null,kind:"picture-missing",name:g,text:`the picture ${g} was not found: left out`}),e.splice(l,1);let[x,T]=[e[l-1],e[l]];if(u.props.line!=null&&x?.type==="text"&&T?.type==="text"&&x.props?.line===u.props.line&&T.props?.line===u.props.line){let k=/[\u3000-\u9fff\uff00-\uffef]/,_=!(k.test(WX(x.title).at(-1)??"")&&k.test(WX(T.title)[0]??""));T.title=[...x.title,..._?[[" "]]:[],...T.title],e.splice(l-1,1),l--}l--;continue}o[v]={...o[v],caption:E},e[l]=K7(v,"image");continue}if((u.type==="file"||u.type==="embed")&&u.props.source){let g=u.props.source,w=TA(g)<0?r?.resolve(t,g):null;TA(g)>=0?e[l]=K7(a(g),"file"):w&&(e[l]=K7(i({kind:b7(w)==="image"?"image":u.type==="embed"?b7(w):"file",source:r.source(w),name:Ol(w)}),b7(w)));continue}u.type==="table"&&DQn(u,t,r,s,i,a);let f=u.type==="text"&&!u.children?.length?BQn(u.title):null,m=f&&s.extra&&/#import-(bookmark|embed)=(\d+)$/.exec(f.href);if(m?.[1]==="bookmark"){let g=s.extra.bookmarks[Number(m[2])];e[l]=/^https?:\/\//i.test(g.href)?K7(i({kind:"bookmark",bookmark:g}),"bookmark"):{type:"text",title:[[g.title||g.href]],props:{},children:[]};continue}if(m?.[1]==="embed"){let g=s.extra.embeds[Number(m[2])],w=r?.resolve(t,g);w?e[l]=K7(i({kind:b7(w),source:r.source(w),name:Ol(w)}),b7(w)):/^https:\/\//i.test(g)?e[l]={type:"embed",title:[],props:{source:g},children:[]}:e[l]={type:"text",title:g?[[g,[["a",g]]]]:[],props:{},children:[]};continue}if(f){let g=r?.resolve(t,f.href);if(g&&r.isPage(g)&&!r.pageFile(g)){e[l]={type:"subpage",target:g,title:[[f.text]],props:{},children:[]},s.brought?.add(f.entry);continue}if(g){let w=b7(g);e[l]=K7(i({kind:w,source:r.source(g),name:Ol(g),caption:""}),w),s.brought?.add(f.entry);continue}}for(let g of u.title??[]){let w=g[1],E=w?.findIndex(v=>v[0]==="a")??-1;E>=0&&(w[E][1].startsWith(aQ)||w[E][1].startsWith(eI)||r?.resolve(t,w[E][1]))&&w.splice(E,1)}u.children?.length&&$we(u.children,n,r,s,o)}}function DQn(e,n,r,s,o,t){for(let i of e.children??[]){let a=i.props?.cells??{};for(let[l,u]of Object.entries(a))a[l]=u.flatMap(f=>{let m=f[1]?.find(T=>T[0]==="img");if(!m)return[f];let g=m[1],w=TA(g)<0?r?.resolve(n,g):null,E=TA(g)>=0?t(g):w?o({kind:"image",source:r.source(w),name:Ol(w)}):/^data:image\//i.test(g)||/^https?:/i.test(g)?o({kind:"image",url:g,name:"",line:i.props?.line??null}):-1;if(E>=0)return[[f[0],f[1].map(T=>T===m?["img",eI+E,...m.slice(2)]:T)]];s.notes?.push({line:i.props?.line??null,kind:"picture-missing",name:g,text:`the picture ${g} in a table's cell was not found: its words kept`});let v=m[2]||O7(Ol(g.split(/[?#]/)[0])),x=f[1].filter(T=>T!==m);return v?[x.length?[v,x]:[v]]:[]})}}function S1t(e,n=[]){for(let r=0;r<e.length;r++)e[r].type==="subpage"?(n.push(e[r].target),e.splice(r--,1)):e[r].children?.length&&S1t(e[r].children,n);return n}async function FQn(e,n,r,s){switch(Z2(e)){case"markdown":return fQn(j4(n.read()),e,s);case"html":return y1t(j4(n.read()),e,r,s);case"csv":return CQn(j4(n.read()),e,s);case"docx":return TQn(n.read(),e,s);case"pdf":return kQn(n.read(),e);case"epub":return IQn(n.read(),e,s);default:return null}}var _Qn=/[\u0000-\u001f<>:"/\\|?*]/g,l1t=e=>O7(e).replace(_Qn,"").trim().slice(0,120)||"file",u1t=(e,n=e)=>({type:"paragraph",html:`<a href="${zwe(e)}">${Z7(n)}</a>`});async function MQn(e,n,r){let{document:s}=globalThis,o=s.querySelector("main"),t=r.formulaMaker(),i=[],a=[...e.notes??[]],l=x=>{if(x.localName!=="img")return;let T=TA(x.getAttribute("src")??"");if(T<0)return null;let k=s.createElement("img"),_=`assets/${g1t}${T}`;return k.setAttribute("src",_),k.setAttribute("alt",x.getAttribute("alt")??""),/^[1-9]\d{0,3}$/.test(x.getAttribute("width")??"")&&k.setAttribute("width",x.getAttribute("width")),k.setAttribute("data-ge-src",_),k};for(let x of r.toBlocks(e.specs,null,{held:e.held===!0}))try{let T=r.build(s,x,{formula:t,picture:l});o.append(T);let k=r.nodeOf(T);k&&i.push(k)}catch(T){a.push({line:null,kind:"left-out",text:`a block the page cannot make is left out (${x.type}): ${T.message}`})}let u=new Map,f=async(x,T,k)=>{let _=await x.file(n),Q=KX(T,await p1t(_),x.head()??Ywe(_),k);return u.set(Q,_),{src:`assets/${Q}`,size:x.size}},m=async x=>{let T=e.marks[x];if(!T)return null;let k=Z7(T.caption??"");try{if(T.kind==="bookmark"){let{href:b,title:G,description:V}=T.bookmark;return{type:"bookmark",href:b,title:G.replace(/[\u0000-\u001f]/g," ").trim().slice(0,300),description:V.replace(/[\u0000-\u001f]/g," ").trim().slice(0,600),icon:null,cover:null,caption:""}}if(T.kind==="image"){let b=T.source;if(!b&&/^data:/i.test(T.url)&&(b=lQ(Buffer.from(T.url.slice(T.url.indexOf(",")+1),"base64"),"image")),!b)try{let V=await AEe(T.url,{timeout:1e4,accept:"image/*"}),D=V.ok?await yEe(V,eQn.image):null;if(!D)throw new Error("download");b=lQ(D,Ol(new URL(T.url).pathname)||"image")}catch{return a.push({line:T.line??null,kind:"picture-web",name:T.url,text:`the picture ${T.url} could not be downloaded: kept as a link to it`}),u1t(T.url)}let{src:G}=await f(b,"image",b.name);return{type:"image",src:G,caption:k}}if(T.kind==="embed"){let{src:b}=await f(T.source,"embed",T.name);return{type:"embed",src:b,caption:k}}let{src:_,size:Q}=await f(T.source,"file",T.name);return{type:"file",href:_,name:l1t(T.name),size:s1t(Q),caption:k}}catch{if(T.kind!=="file"&&T.source)try{let{src:_,size:Q}=await f(T.source,"file",T.name);return{type:"file",href:_,name:l1t(T.name),size:s1t(Q),caption:k}}catch{}return null}},g=async x=>{let T=[...x.matchAll(a1t)];if(T.length===0)return x;let k=new Map;for(let[,_]of T)k.has(_)||k.set(_,await m(Number(_)));return x.replace(a1t,(_,Q,b)=>{let G=k.get(Q),V=/\salt="([^"]*)"/.exec(b)?.[1]??"";return G?.type==="image"?`<img src="${G.src}"${b}>`:G?.type==="paragraph"?G.html.replace(/>[^<]*<\/a>$/,`>${V||Z7(e.marks[Number(Q)]?.url??"")}</a>`):V})},w=async x=>{for(let T=0;T<x.length;T++){let k=x[T];if(!(!k||typeof k!="object")){if(k.type==="table"&&Array.isArray(k.rows)){k.rows=await Promise.all(k.rows.map(_=>Promise.all(_.map(Q=>typeof Q=="string"?g(Q):Q))));continue}if(k.type==="image"||k.type==="embed"){let _=r.madeFrom.get(k)?.getAttribute(r.PASTED_SOURCE)??"",Q=TA(_)>=0?await m(TA(_)):k.type==="embed"&&/^https:\/\//i.test(_)?{type:"embed",src:_,caption:""}:/^https?:/i.test(_)?u1t(_):null;Q?x[T]=Q:x.splice(T--,1);continue}for(let _ of Object.values(k))Array.isArray(_)&&await w(_)}}};await w(i);let E=[];for(let x of e.raws??[]){let T=new Map;for(let k of x.pictures)try{T.set(k.src,(await f(k.source,"image",k.name)).src)}catch{a.push({line:x.line,kind:"picture-missing",name:k.src,text:`the picture ${k.src} is no picture: kept as written`})}E.push(A1t(x.html,k=>T.get(k)??k))}let v=null;if(typeof e.icon=="string"&&Gwe(e.icon)==="emoji")v=e.icon;else if(e.icon?.source)try{v=(await f(e.icon.source,"icon",e.icon.name)).src}catch{}return{nodes:i,icon:v,files:[...u].map(([x,T])=>({name:x,from:T})),raws:E,notes:a.sort((x,T)=>(x.line??1/0)-(T.line??1/0))}}async function udr(e,n){let r=await h1t(),s=[],o=[],t=e.filter(i=>Z2(i.name)!=="zip");if(t.length){let i=Hwe(new Map(t.map(u=>[Ol(u.name),Wwe(u.file,Ol(u.name))]))),a=new Set,l=await Uwe(i,r,n,u=>a.add(u),o);s.push(...l);for(let u of t){let f=Ol(u.name);!i.isPage(f)&&!a.has(f)&&o.push(u.name)}}for(let i of e.filter(a=>Z2(a.name)==="zip")){let a=[];try{let l=new Map,u=(m,g,w)=>{let E=gEe(m);return a.push(E),E.entries.filter(v=>!rQn.test(v.name)).map(v=>({zip:E,entry:v,name:g+v.name.replace(/\\/g,"/"),nested:w}))};for(let m of u(i.file,"",!1))if(Z2(m.name)==="zip"){let g=await Qwe(m.zip,m.entry,m.name).file(n);for(let w of u(g,k1(m.name)?`${k1(m.name)}/`:"",!0))l.set(w.name,Qwe(w.zip,w.entry,w.name))}else l.set(m.name,Qwe(m.zip,m.entry,m.name));let f=await Uwe(Hwe(l),r,n,()=>{},o);f.length?s.push(...f):o.push(i.name)}catch{o.push(i.name)}finally{for(let l of a)l.close()}}return{pages:s,skipped:o}}function NQn(e){let n=nf.dirname(e),r=nf.basename(e),s=Z2(r)==="markdown"?r:`${r}.md`,o=new Map([[s,Wwe(e,r)]]);return{files:o,isPage:t=>t===s,pageFile:()=>!1,source:t=>o.get(t),resolve(t,i){if(!i||/^([a-z][a-z0-9+.-]*:|\/\/|#)/i.test(i))return null;let a=nf.resolve(n,`./${O7(i.split("#")[0].split("?")[0])}`);if(!d1t.has(oQ(a)))return null;try{if(!O4.statSync(a).isFile())return null}catch{return null}let l=nf.relative(n,a).split(nf.sep).join("/");return o.has(l)||o.set(l,Wwe(a,nf.basename(a))),l}}}async function cdr(e,n){let r=await h1t(),s=[],[o]=await Uwe(NQn(e),r,n,()=>{},s);if(!o)throw new Error(`${nf.basename(e)} could not be read as Markdown`);return o}async function Uwe(e,n,r,s,o){let t=new Map,i=new Set;for(let[E,v]of e.files)if(!(!e.isPage(E)||Z2(E)!=="html"))try{let x=j4(v.read());if(!/(?<![\w-])(?:doc|report)-page(?![\w-])/.test(x))continue;let T=cEe(x),k=uI(T);if(!X7(k))continue;let _=gQn(T,k,E),{icon:Q,text:b,files:G,used:V}=await EQn(_,E,e,r);for(let D of V)s(D),i.add(D);t.set(E,{name:E,title:HX(_.title)||O2(E),icon:Q,nodes:[],own:{text:b},files:G,links:[],children:[]})}catch{t.set(E,null),o.push(E)}let a=[],l=[...e.files.keys()];for(let E of[...l.filter(v=>!e.pageFile(v)),...l.filter(e.pageFile)]){if(!e.isPage(E)||i.has(E))continue;if(t.has(E)){t.get(E)&&a.push(t.get(E));continue}Dwe();let v;try{v=await FQn(E,e.files.get(E),e,n)}catch{o.push(E);continue}if(!v)continue;v.fixed||$we(v.specs,E,e,v),v.links&&mQn(v),v.raws?.length&&AQn(v,E,e,s);for(let G of v.marks)G.source&&(s(G.source.name),e.pageFile(G.source.name)&&i.add(G.source.name));let x=S1t(v.specs),{nodes:T,icon:k,files:_,raws:Q,notes:b}=await MQn(v,r,n);a.push({name:E,title:HX(v.title)||O2(E),icon:k,nodes:T,files:_,raws:Q,notes:b,lang:v.lang??null,links:x,children:[]})}let u=new Map(a.map(E=>[E.name,E])),f=new Map;for(let E of a){let v=E.name.replace(/\.[^./]+$/,"");for(let x of[v,v.replace(c1t,"")])f.has(x)||f.set(x,E)}let m=new Map;for(let E of a){let v=f.get(k1(E.name));v&&v!==E&&m.set(E,v)}let g=E=>{let v=[];for(let x=m.get(E);x&&!v.includes(x);x=m.get(x))v.push(x);return v};for(let E of a)for(let v of E.links){let x=u.get(v);x&&x!==E&&!m.has(x)&&!g(E).includes(x)&&m.set(x,E)}for(let E of a){let v=a.filter(T=>m.get(T)===E),x=E.links.map(T=>u.get(T)).filter(T=>v.includes(T));E.children=[...new Set([...x,...v])]}let w=E=>({title:E.title,icon:E.icon,nodes:E.nodes,...E.own?{own:E.own}:{},raws:E.raws??[],notes:E.notes??[],lang:E.lang??null,files:E.files,from:E.name,children:E.children.map(w)});return a.filter(E=>!m.has(E)).map(w)}function PQn(e,n){let r=X7(uI(e));if(!r?.sourceCodeLocation?.startTag)return e;let s=[],o=r.sourceCodeLocation;if(n!==void 0){let i=o.attrs?.["data-doc-id"],a=`data-doc-id="${ORn(n)}"`;s.push(i?{start:i.startOffset,end:i.endOffset,text:a}:{start:o.startTag.endOffset-1,end:o.startTag.endOffset-1,text:` ${a}`})}let t=i1t(r).find(i=>i.tagName==="header"&&jRn(i,"doc-header"));if(i1t(r).every(i=>i===t)){let i=t?.sourceCodeLocation?.endOffset??o.startTag.endOffset,a=t?.sourceCodeLocation?.startOffset??o.startOffset,l=/[ \t]*$/.exec(e.slice(e.lastIndexOf(`
|
|
953
|
+
`&&i++,s.push(o),r.push(s),s=[],o=""):o+=a}return(o!==""||s.length)&&(s.push(o),r.push(s)),r.filter(i=>i.some(a=>a!==""))}function CQn(e,n,r){let s=vQn(e,oQ(n)===".tsv"?" ":",");return{title:O2(n),specs:s.length?[r.tableSpec(s.map(o=>o.map(t=>t?[[t]]:[])),!0)]:[],marks:[]}}var ua="http://schemas.openxmlformats.org/wordprocessingml/2006/main",Lwe="http://schemas.openxmlformats.org/officeDocument/2006/relationships";async function TQn(e,n,r){let s=ZX(e),o=G=>s.find(V=>V.name===G),t=G=>o(G)?new DOMParser().parseFromString(j4(o(G).data),"application/xml"):null,i=t("word/document.xml");if(!i)throw new Error("\u4E0D\u662F Word \u6587\u6863");let a=new Map([...t("word/_rels/document.xml.rels")?.getElementsByTagName("Relationship")??[]].map(G=>[G.getAttribute("Id"),G.getAttribute("Target")])),l=new Map([...t("word/styles.xml")?.getElementsByTagNameNS(ua,"style")??[]].map(G=>[G.getAttributeNS(ua,"styleId"),(G.getElementsByTagNameNS(ua,"name")[0]?.getAttributeNS(ua,"val")??"").toLowerCase()])),u=t("word/numbering.xml"),f=new Map,m=new Map;for(let G of u?.getElementsByTagNameNS(ua,"abstractNum")??[])f.set(G.getAttributeNS(ua,"abstractNumId"),[...G.getElementsByTagNameNS(ua,"lvl")].map(V=>V.getElementsByTagNameNS(ua,"numFmt")[0]?.getAttributeNS(ua,"val")??"bullet"));for(let G of u?.getElementsByTagNameNS(ua,"num")??[])m.set(G.getAttributeNS(ua,"numId"),f.get(G.getElementsByTagNameNS(ua,"abstractNumId")[0]?.getAttributeNS(ua,"val"))??[]);let g=[],w=new Map,E=G=>{let V=a.get(G);if(!V)return null;let D=`word/${V.replace(/^\.?\//,"").replace(/^word\//,"")}`;return w.has(D)||w.set(D,o(D)?eI+(g.push({kind:"image",source:lQ(o(D).data,Ol(D)),name:Ol(D)})-1):null),w.get(D)},v=(G,V)=>[...G.childNodes].find(D=>D.namespaceURI===ua&&D.localName===V),x=(G,V)=>{let D=G&&v(G,V);return!!D&&!["0","false","none"].includes(D.getAttributeNS(ua,"val"))},T=G=>{let V="";for(let D of G.childNodes)if(D.namespaceURI===ua)if(D.localName==="hyperlink"){let U=a.get(D.getAttributeNS(Lwe,"id")),X=T(D);V+=U?`<a href="${zwe(U)}">${X}</a>`:X}else if(D.localName==="r"){let U=v(D,"rPr"),X="";for(let se of D.childNodes)if(se.localName==="t")X+=Z7(se.textContent);else if(se.localName==="tab")X+=" ";else if(se.localName==="br"||se.localName==="cr")X+="<br>";else if(se.localName==="drawing"||se.localName==="pict"){let he=se.getElementsByTagNameNS("*","blip")[0]?.getAttributeNS(Lwe,"embed")||se.getElementsByTagNameNS("*","imagedata")[0]?.getAttributeNS(Lwe,"id"),_e=he&&E(he);_e&&(X+=`<img src="${_e}">`)}if(!X)continue;x(U,"b")&&(X=`<strong>${X}</strong>`),x(U,"i")&&(X=`<em>${X}</em>`),x(U,"u")&&(X=`<u>${X}</u>`),(x(U,"strike")||x(U,"dstrike"))&&(X=`<s>${X}</s>`),V+=X}else["ins","smartTag","sdt","sdtContent","fldSimple"].includes(D.localName)&&(V+=T(D));return V},k="",_=[],Q=(G=-1)=>{for(;_.length&&_.at(-1).level>G;)k+=`</li></${_.pop().tag}>`};for(let G of i.getElementsByTagNameNS(ua,"body")[0]?.childNodes??[]){if(G.namespaceURI!==ua)continue;if(G.localName==="tbl"){Q();let he="<table>";for(let _e of G.getElementsByTagNameNS(ua,"tr")){he+="<tr>";for(let He of[..._e.childNodes].filter(Tt=>Tt.localName==="tc"))he+=`<td>${[...He.getElementsByTagNameNS(ua,"p")].map(T).join("<br>")}</td>`;he+="</tr>"}k+=`${he}</table>`;continue}if(G.localName!=="p")continue;let V=v(G,"pPr"),D=v(V??G,"pStyle")?.getAttributeNS(ua,"val"),U=l.get(D)||D?.toLowerCase()||"",X=V&&v(V,"numPr"),se=T(G);if(X){let he=Number(v(X,"ilvl")?.getAttributeNS(ua,"val")??0),_e=(m.get(v(X,"numId")?.getAttributeNS(ua,"val"))?.[he]??"bullet")==="bullet"?"ul":"ol";Q(he);let He=_.at(-1);He&&He.level===he&&He.tag===_e?k+="</li><li>":(He&&He.level===he&&(k+=`</li></${_.pop().tag}>`),k+=`<${_e}><li>`,_.push({tag:_e,level:he})),k+=se;continue}Q();let re=/^(heading|标题) ?([1-6])$/.exec(U)?.[2]||(U==="title"?"1":U==="subtitle"?"2":"");re?k+=`<h${re}>${se}</h${re}>`:/quote|引用/.test(U)?k+=`<blockquote>${se}</blockquote>`:k+=`<p>${se||"<br>"}</p>`}return Q(),{title:t("docProps/core.xml")?.getElementsByTagNameNS("*","title")[0]?.textContent?.trim()||O2(n),specs:r.mathifySpecs(r.htmlToBlocks(r.parseClipboardHTML(k,{base:aQ}))),marks:g}}async function xQn(){let e=Rwe?nf.join(Rwe,"legacy","build"):nf.dirname(ZRn(import.meta.resolve("pdfjs-dist/legacy/build/pdf.mjs"))),[n,r]=Rwe?["pdf.min.mjs","pdf.worker.min.mjs"]:["pdf.mjs","pdf.worker.mjs"];globalThis.DOMMatrix??=class{},globalThis.Path2D??=class{};let s=await import(n1t(nf.join(e,n)).href);return s.GlobalWorkerOptions.workerSrc=n1t(nf.join(e,r)).href,{pdfjs:s,root:nf.dirname(nf.dirname(e)).replace(/\\/g,"/")}}async function kQn(e,n){let{pdfjs:r,root:s}=await xQn(),o=r.getDocument({data:new Uint8Array(e),cMapUrl:`${s}/cmaps/`,cMapPacked:!0,standardFontDataUrl:`${s}/standard_fonts/`,isEvalSupported:!1,disableFontFace:!0,useSystemFonts:!1,verbosity:0}),t=await o.promise,i=[];for(let w=1;w<=t.numPages;w++){let E=await t.getPage(w),x=(await E.getTextContent()).items.filter(k=>"str"in k&&k.str!=="").map(k=>({x:k.transform[4],y:Math.round(k.transform[5]),size:Math.round(Math.hypot(k.transform[2],k.transform[3])),text:k.str})).sort((k,_)=>_.y-k.y||k.x-_.x),T=[];for(let k of x){let _=T.at(-1);_&&Math.abs(_.y-k.y)<=Math.max(2,k.size*.3)?(_.pieces.push(k),_.size=Math.max(_.size,k.size)):T.push({y:k.y,size:k.size,pieces:[k]})}for(let k of T)i.push({y:k.y,size:k.size,text:k.pieces.sort((_,Q)=>_.x-Q.x).map(_=>_.text).join("")});i.push({pageBreak:!0}),E.cleanup()}await o.destroy();let a=i.filter(w=>!w.pageBreak&&w.text.trim()).map(w=>w.size).sort((w,E)=>w-E),l=a[Math.floor(a.length/2)]||12,u=[],f=null,m=null,g=()=>{f?.trim()&&u.push({type:"text",title:[[f.trim()]],props:{},children:[]}),f=null};for(let w of i){if(w.pageBreak){g(),m=null;continue}let E=w.text.replace(/\s+/g," ").trim();if(!E){g();continue}if(w.size>=l*1.3&&E.length<120){g(),u.push({type:w.size>=l*1.8?"header":w.size>=l*1.5?"sub_header":"sub_sub_header",title:[[E]],props:{},children:[]}),m=w;continue}!f||!m||m.y-w.y>w.size*1.8||m.size!==w.size?(g(),f=E):f+=(/[㐀-鿿]$/.test(f)||/^[㐀-鿿]/.test(E)?"":" ")+E,m=w}return g(),{title:O2(n),specs:u,marks:[]}}async function IQn(e,n,r){let s=ZX(e),o=Hwe(new Map(s.map(g=>[g.name,lQ(g.data,g.name)]))),t=o.source("META-INF/container.xml"),i=t&&/full-path="([^"]+)"/.exec(j4(t.read()))?.[1],a=i&&o.source(i)&&new DOMParser().parseFromString(j4(o.source(i).read()),"application/xml");if(!a)throw new Error("\u4E0D\u662F EPUB \u6587\u4EF6");let l=new Map([...a.getElementsByTagNameNS("*","item")].map(g=>[g.getAttribute("id"),g.getAttribute("href")])),u=[],f=[];for(let g of a.getElementsByTagNameNS("*","itemref")){let w=o.resolve(k1(i),l.get(g.getAttribute("idref")));if(!w)continue;let E=await y1t(j4(o.source(w).read()),w,o,r,{chapter:!0});$we(E.specs,w,o,E,f),u.push(...E.specs)}return{title:a.getElementsByTagNameNS("*","title")[0]?.textContent?.trim()||O2(n),specs:u,marks:f,fixed:!0}}function BQn(e){let n=(e??[]).filter(s=>s[0].trim());if(n.length!==1)return null;let r=n[0][1]?.find(s=>s[0]==="a");return r?{href:r[1],text:n[0][0],entry:r}:null}var TA=e=>typeof e=="string"&&e.startsWith(eI)?Number(e.slice(eI.length)):-1,g1t="import-cell-mark-",a1t=new RegExp(`<img src="assets/${g1t}(\\d+)"([^>]*)>`,"g"),b7=e=>d1t.has(oQ(e))?"image":iQn.has(oQ(e))?"embed":"file",K7=(e,n)=>n==="image"?{type:"image",title:[],props:{source:eI+e},children:[]}:{type:"embed",title:[],props:{source:eI+e},children:[]};function $we(e,n,r,s,o=s.marks){let t=k1(n),i=l=>o.push(l)-1,a=l=>TA(l)>=0&&s.marks!==o?i(s.marks[TA(l)]):TA(l);for(let l=0;l<e.length;l++){let u=e[l];if(u.props??={},u.type==="image"&&u.props.source){let g=u.props.source,w=TA(g)<0?r?.resolve(t,g):null,E=WX(u.props.caption);E&&O7(Ol(w??s.marks[TA(g)]?.name??g))===E?E="":E&&e[l+1]?.type==="text"&&WX(e[l+1].title)===E&&!e[l+1].children?.length&&e.splice(l+1,1);let v=TA(g)>=0?a(g):w?i({kind:"image",source:r.source(w),name:Ol(w)}):/^data:image\//i.test(g)||/^https?:/i.test(g)?i({kind:"image",url:g,name:"",line:u.props.line??null}):-1;if(v<0){s.notes?.push({line:u.props.line??null,kind:"picture-missing",name:g,text:`the picture ${g} was not found: left out`}),e.splice(l,1);let[x,T]=[e[l-1],e[l]];if(u.props.line!=null&&x?.type==="text"&&T?.type==="text"&&x.props?.line===u.props.line&&T.props?.line===u.props.line){let k=/[\u3000-\u9fff\uff00-\uffef]/,_=!(k.test(WX(x.title).at(-1)??"")&&k.test(WX(T.title)[0]??""));T.title=[...x.title,..._?[[" "]]:[],...T.title],e.splice(l-1,1),l--}l--;continue}o[v]={...o[v],caption:E},e[l]=K7(v,"image");continue}if((u.type==="file"||u.type==="embed")&&u.props.source){let g=u.props.source,w=TA(g)<0?r?.resolve(t,g):null;TA(g)>=0?e[l]=K7(a(g),"file"):w&&(e[l]=K7(i({kind:b7(w)==="image"?"image":u.type==="embed"?b7(w):"file",source:r.source(w),name:Ol(w)}),b7(w)));continue}u.type==="table"&&DQn(u,t,r,s,i,a);let f=u.type==="text"&&!u.children?.length?BQn(u.title):null,m=f&&s.extra&&/#import-(bookmark|embed)=(\d+)$/.exec(f.href);if(m?.[1]==="bookmark"){let g=s.extra.bookmarks[Number(m[2])];e[l]=/^https?:\/\//i.test(g.href)?K7(i({kind:"bookmark",bookmark:g}),"bookmark"):{type:"text",title:[[g.title||g.href]],props:{},children:[]};continue}if(m?.[1]==="embed"){let g=s.extra.embeds[Number(m[2])],w=r?.resolve(t,g);w?e[l]=K7(i({kind:b7(w),source:r.source(w),name:Ol(w)}),b7(w)):/^https:\/\//i.test(g)?e[l]={type:"embed",title:[],props:{source:g},children:[]}:e[l]={type:"text",title:g?[[g,[["a",g]]]]:[],props:{},children:[]};continue}if(f){let g=r?.resolve(t,f.href);if(g&&r.isPage(g)&&!r.pageFile(g)){e[l]={type:"subpage",target:g,title:[[f.text]],props:{},children:[]},s.brought?.add(f.entry);continue}if(g){let w=b7(g);e[l]=K7(i({kind:w,source:r.source(g),name:Ol(g),caption:""}),w),s.brought?.add(f.entry);continue}}for(let g of u.title??[]){let w=g[1],E=w?.findIndex(v=>v[0]==="a")??-1;E>=0&&(w[E][1].startsWith(aQ)||w[E][1].startsWith(eI)||r?.resolve(t,w[E][1]))&&w.splice(E,1)}u.children?.length&&$we(u.children,n,r,s,o)}}function DQn(e,n,r,s,o,t){for(let i of e.children??[]){let a=i.props?.cells??{};for(let[l,u]of Object.entries(a))a[l]=u.flatMap(f=>{let m=f[1]?.find(T=>T[0]==="img");if(!m)return[f];let g=m[1],w=TA(g)<0?r?.resolve(n,g):null,E=TA(g)>=0?t(g):w?o({kind:"image",source:r.source(w),name:Ol(w)}):/^data:image\//i.test(g)||/^https?:/i.test(g)?o({kind:"image",url:g,name:"",line:i.props?.line??null}):-1;if(E>=0)return[[f[0],f[1].map(T=>T===m?["img",eI+E,...m.slice(2)]:T)]];s.notes?.push({line:i.props?.line??null,kind:"picture-missing",name:g,text:`the picture ${g} in a table's cell was not found: its words kept`});let v=m[2]||O7(Ol(g.split(/[?#]/)[0])),x=f[1].filter(T=>T!==m);return v?[x.length?[v,x]:[v]]:[]})}}function S1t(e,n=[]){for(let r=0;r<e.length;r++)e[r].type==="subpage"?(n.push(e[r].target),e.splice(r--,1)):e[r].children?.length&&S1t(e[r].children,n);return n}async function FQn(e,n,r,s){switch(Z2(e)){case"markdown":return fQn(j4(n.read()),e,s);case"html":return y1t(j4(n.read()),e,r,s);case"csv":return CQn(j4(n.read()),e,s);case"docx":return TQn(n.read(),e,s);case"pdf":return kQn(n.read(),e);case"epub":return IQn(n.read(),e,s);default:return null}}var _Qn=/[\u0000-\u001f<>:"/\\|?*]/g,l1t=e=>O7(e).replace(_Qn,"").trim().slice(0,120)||"file",u1t=(e,n=e)=>({type:"paragraph",html:`<a href="${zwe(e)}">${Z7(n)}</a>`});async function MQn(e,n,r){let{document:s}=globalThis,o=s.querySelector("main"),t=r.formulaMaker(),i=[],a=[...e.notes??[]],l=x=>{if(x.localName!=="img")return;let T=TA(x.getAttribute("src")??"");if(T<0)return null;let k=s.createElement("img"),_=`assets/${g1t}${T}`;return k.setAttribute("src",_),k.setAttribute("alt",x.getAttribute("alt")??""),/^[1-9]\d{0,3}$/.test(x.getAttribute("width")??"")&&k.setAttribute("width",x.getAttribute("width")),k.setAttribute("data-ge-src",_),k};for(let x of r.toBlocks(e.specs,null,{held:e.held===!0}))try{let T=r.build(s,x,{formula:t,picture:l});o.append(T);let k=r.nodeOf(T);k&&i.push(k)}catch(T){a.push({line:null,kind:"left-out",text:`a block the page cannot make is left out (${x.type}): ${T.message}`})}let u=new Map,f=async(x,T,k)=>{let _=await x.file(n),Q=KX(T,await p1t(_),x.head()??Ywe(_),k);return u.set(Q,_),{src:`assets/${Q}`,size:x.size}},m=async x=>{let T=e.marks[x];if(!T)return null;let k=Z7(T.caption??"");try{if(T.kind==="bookmark"){let{href:b,title:G,description:V}=T.bookmark;return{type:"bookmark",href:b,title:G.replace(/[\u0000-\u001f]/g," ").trim().slice(0,300),description:V.replace(/[\u0000-\u001f]/g," ").trim().slice(0,600),icon:null,cover:null,caption:""}}if(T.kind==="image"){let b=T.source;if(!b&&/^data:/i.test(T.url)&&(b=lQ(Buffer.from(T.url.slice(T.url.indexOf(",")+1),"base64"),"image")),!b)try{let V=await pEe(T.url,{timeout:1e4,accept:"image/*"}),D=V.ok?await hEe(V,eQn.image):null;if(!D)throw new Error("download");b=lQ(D,Ol(new URL(T.url).pathname)||"image")}catch{return a.push({line:T.line??null,kind:"picture-web",name:T.url,text:`the picture ${T.url} could not be downloaded: kept as a link to it`}),u1t(T.url)}let{src:G}=await f(b,"image",b.name);return{type:"image",src:G,caption:k}}if(T.kind==="embed"){let{src:b}=await f(T.source,"embed",T.name);return{type:"embed",src:b,caption:k}}let{src:_,size:Q}=await f(T.source,"file",T.name);return{type:"file",href:_,name:l1t(T.name),size:s1t(Q),caption:k}}catch{if(T.kind!=="file"&&T.source)try{let{src:_,size:Q}=await f(T.source,"file",T.name);return{type:"file",href:_,name:l1t(T.name),size:s1t(Q),caption:k}}catch{}return null}},g=async x=>{let T=[...x.matchAll(a1t)];if(T.length===0)return x;let k=new Map;for(let[,_]of T)k.has(_)||k.set(_,await m(Number(_)));return x.replace(a1t,(_,Q,b)=>{let G=k.get(Q),V=/\salt="([^"]*)"/.exec(b)?.[1]??"";return G?.type==="image"?`<img src="${G.src}"${b}>`:G?.type==="paragraph"?G.html.replace(/>[^<]*<\/a>$/,`>${V||Z7(e.marks[Number(Q)]?.url??"")}</a>`):V})},w=async x=>{for(let T=0;T<x.length;T++){let k=x[T];if(!(!k||typeof k!="object")){if(k.type==="table"&&Array.isArray(k.rows)){k.rows=await Promise.all(k.rows.map(_=>Promise.all(_.map(Q=>typeof Q=="string"?g(Q):Q))));continue}if(k.type==="image"||k.type==="embed"){let _=r.madeFrom.get(k)?.getAttribute(r.PASTED_SOURCE)??"",Q=TA(_)>=0?await m(TA(_)):k.type==="embed"&&/^https:\/\//i.test(_)?{type:"embed",src:_,caption:""}:/^https?:/i.test(_)?u1t(_):null;Q?x[T]=Q:x.splice(T--,1);continue}for(let _ of Object.values(k))Array.isArray(_)&&await w(_)}}};await w(i);let E=[];for(let x of e.raws??[]){let T=new Map;for(let k of x.pictures)try{T.set(k.src,(await f(k.source,"image",k.name)).src)}catch{a.push({line:x.line,kind:"picture-missing",name:k.src,text:`the picture ${k.src} is no picture: kept as written`})}E.push(A1t(x.html,k=>T.get(k)??k))}let v=null;if(typeof e.icon=="string"&&Gwe(e.icon)==="emoji")v=e.icon;else if(e.icon?.source)try{v=(await f(e.icon.source,"icon",e.icon.name)).src}catch{}return{nodes:i,icon:v,files:[...u].map(([x,T])=>({name:x,from:T})),raws:E,notes:a.sort((x,T)=>(x.line??1/0)-(T.line??1/0))}}async function udr(e,n){let r=await h1t(),s=[],o=[],t=e.filter(i=>Z2(i.name)!=="zip");if(t.length){let i=Hwe(new Map(t.map(u=>[Ol(u.name),Wwe(u.file,Ol(u.name))]))),a=new Set,l=await Uwe(i,r,n,u=>a.add(u),o);s.push(...l);for(let u of t){let f=Ol(u.name);!i.isPage(f)&&!a.has(f)&&o.push(u.name)}}for(let i of e.filter(a=>Z2(a.name)==="zip")){let a=[];try{let l=new Map,u=(m,g,w)=>{let E=gEe(m);return a.push(E),E.entries.filter(v=>!rQn.test(v.name)).map(v=>({zip:E,entry:v,name:g+v.name.replace(/\\/g,"/"),nested:w}))};for(let m of u(i.file,"",!1))if(Z2(m.name)==="zip"){let g=await Qwe(m.zip,m.entry,m.name).file(n);for(let w of u(g,k1(m.name)?`${k1(m.name)}/`:"",!0))l.set(w.name,Qwe(w.zip,w.entry,w.name))}else l.set(m.name,Qwe(m.zip,m.entry,m.name));let f=await Uwe(Hwe(l),r,n,()=>{},o);f.length?s.push(...f):o.push(i.name)}catch{o.push(i.name)}finally{for(let l of a)l.close()}}return{pages:s,skipped:o}}function NQn(e){let n=nf.dirname(e),r=nf.basename(e),s=Z2(r)==="markdown"?r:`${r}.md`,o=new Map([[s,Wwe(e,r)]]);return{files:o,isPage:t=>t===s,pageFile:()=>!1,source:t=>o.get(t),resolve(t,i){if(!i||/^([a-z][a-z0-9+.-]*:|\/\/|#)/i.test(i))return null;let a=nf.resolve(n,`./${O7(i.split("#")[0].split("?")[0])}`);if(!d1t.has(oQ(a)))return null;try{if(!O4.statSync(a).isFile())return null}catch{return null}let l=nf.relative(n,a).split(nf.sep).join("/");return o.has(l)||o.set(l,Wwe(a,nf.basename(a))),l}}}async function cdr(e,n){let r=await h1t(),s=[],[o]=await Uwe(NQn(e),r,n,()=>{},s);if(!o)throw new Error(`${nf.basename(e)} could not be read as Markdown`);return o}async function Uwe(e,n,r,s,o){let t=new Map,i=new Set;for(let[E,v]of e.files)if(!(!e.isPage(E)||Z2(E)!=="html"))try{let x=j4(v.read());if(!/(?<![\w-])(?:doc|report)-page(?![\w-])/.test(x))continue;let T=cEe(x),k=uI(T);if(!X7(k))continue;let _=gQn(T,k,E),{icon:Q,text:b,files:G,used:V}=await EQn(_,E,e,r);for(let D of V)s(D),i.add(D);t.set(E,{name:E,title:HX(_.title)||O2(E),icon:Q,nodes:[],own:{text:b},files:G,links:[],children:[]})}catch{t.set(E,null),o.push(E)}let a=[],l=[...e.files.keys()];for(let E of[...l.filter(v=>!e.pageFile(v)),...l.filter(e.pageFile)]){if(!e.isPage(E)||i.has(E))continue;if(t.has(E)){t.get(E)&&a.push(t.get(E));continue}Dwe();let v;try{v=await FQn(E,e.files.get(E),e,n)}catch{o.push(E);continue}if(!v)continue;v.fixed||$we(v.specs,E,e,v),v.links&&mQn(v),v.raws?.length&&AQn(v,E,e,s);for(let G of v.marks)G.source&&(s(G.source.name),e.pageFile(G.source.name)&&i.add(G.source.name));let x=S1t(v.specs),{nodes:T,icon:k,files:_,raws:Q,notes:b}=await MQn(v,r,n);a.push({name:E,title:HX(v.title)||O2(E),icon:k,nodes:T,files:_,raws:Q,notes:b,lang:v.lang??null,links:x,children:[]})}let u=new Map(a.map(E=>[E.name,E])),f=new Map;for(let E of a){let v=E.name.replace(/\.[^./]+$/,"");for(let x of[v,v.replace(c1t,"")])f.has(x)||f.set(x,E)}let m=new Map;for(let E of a){let v=f.get(k1(E.name));v&&v!==E&&m.set(E,v)}let g=E=>{let v=[];for(let x=m.get(E);x&&!v.includes(x);x=m.get(x))v.push(x);return v};for(let E of a)for(let v of E.links){let x=u.get(v);x&&x!==E&&!m.has(x)&&!g(E).includes(x)&&m.set(x,E)}for(let E of a){let v=a.filter(T=>m.get(T)===E),x=E.links.map(T=>u.get(T)).filter(T=>v.includes(T));E.children=[...new Set([...x,...v])]}let w=E=>({title:E.title,icon:E.icon,nodes:E.nodes,...E.own?{own:E.own}:{},raws:E.raws??[],notes:E.notes??[],lang:E.lang??null,files:E.files,from:E.name,children:E.children.map(w)});return a.filter(E=>!m.has(E)).map(w)}function PQn(e,n){let r=X7(uI(e));if(!r?.sourceCodeLocation?.startTag)return e;let s=[],o=r.sourceCodeLocation;if(n!==void 0){let i=o.attrs?.["data-doc-id"],a=`data-doc-id="${ORn(n)}"`;s.push(i?{start:i.startOffset,end:i.endOffset,text:a}:{start:o.startTag.endOffset-1,end:o.startTag.endOffset-1,text:` ${a}`})}let t=i1t(r).find(i=>i.tagName==="header"&&jRn(i,"doc-header"));if(i1t(r).every(i=>i===t)){let i=t?.sourceCodeLocation?.endOffset??o.startTag.endOffset,a=t?.sourceCodeLocation?.startOffset??o.startOffset,l=/[ \t]*$/.exec(e.slice(e.lastIndexOf(`
|
|
954
954
|
`,a-1)+1,a))[0]+(t?"":" ");s.push({start:i,end:i,text:`${e.includes(`\r
|
|
955
955
|
`)?`\r
|
|
956
956
|
`:`
|