@likec4/mcp 1.59.4 → 1.61.0

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.
Files changed (59) hide show
  1. package/README.md +104 -102
  2. package/dist/app/render-view-client.css +1 -1
  3. package/dist/app/render-view-client.js +394 -238
  4. package/dist/chunks/libs/@chenglou/pretext.mjs +9 -0
  5. package/dist/chunks/libs/@chevrotain/gast.mjs +27 -0
  6. package/dist/chunks/libs/@chevrotain/regexp-to-ast.mjs +81 -0
  7. package/dist/chunks/libs/@logtape/logtape.mjs +6 -0
  8. package/dist/chunks/libs/@lume/kiwi.mjs +1 -0
  9. package/dist/chunks/libs/@radix-ui/colors.mjs +1 -0
  10. package/dist/chunks/libs/@ts-graphviz/ast.mjs +3 -0
  11. package/dist/chunks/libs/@ts-graphviz/core.mjs +1 -0
  12. package/dist/chunks/libs/@ungap/structured-clone.mjs +3 -0
  13. package/dist/chunks/libs/character-entities.mjs +2 -0
  14. package/dist/chunks/libs/chevrotain-allstar.mjs +2 -0
  15. package/dist/chunks/libs/chevrotain.mjs +110 -0
  16. package/dist/chunks/libs/chroma-js.mjs +15 -0
  17. package/dist/chunks/libs/clone.mjs +1 -0
  18. package/dist/chunks/libs/eventemitter3.mjs +1 -0
  19. package/dist/chunks/libs/fast-equals.mjs +1 -0
  20. package/dist/chunks/libs/fontkit.mjs +1 -0
  21. package/dist/chunks/libs/fuse.js.mjs +1 -0
  22. package/dist/chunks/libs/graphology-dag.mjs +1 -0
  23. package/dist/chunks/libs/graphology.mjs +1 -0
  24. package/dist/chunks/libs/hast-util-sanitize.mjs +1 -0
  25. package/dist/chunks/libs/hast-util-to-html.mjs +9 -0
  26. package/dist/chunks/libs/hastscript.mjs +1 -0
  27. package/dist/chunks/libs/immer.mjs +1 -0
  28. package/dist/chunks/libs/json5.mjs +14 -0
  29. package/dist/chunks/libs/khroma.mjs +1 -0
  30. package/dist/chunks/libs/langium.mjs +17 -0
  31. package/dist/chunks/libs/markdown-table.mjs +2 -0
  32. package/dist/chunks/libs/mdast-util-find-and-replace.mjs +1 -0
  33. package/dist/chunks/libs/mdast-util-from-markdown.mjs +9 -0
  34. package/dist/chunks/libs/mdast-util-gfm.mjs +15 -0
  35. package/dist/chunks/libs/mdast-util-to-hast.mjs +11 -0
  36. package/dist/chunks/libs/merge-error-cause.mjs +2 -0
  37. package/dist/chunks/libs/micromark-extension-gfm.mjs +5 -0
  38. package/dist/chunks/libs/mnemonist.mjs +1 -0
  39. package/dist/chunks/libs/nano-spawn.mjs +3 -0
  40. package/dist/chunks/libs/ohash.mjs +1 -0
  41. package/dist/chunks/libs/p-limit.mjs +1 -0
  42. package/dist/chunks/libs/p-queue.mjs +1 -0
  43. package/dist/chunks/libs/parse-entities.mjs +1 -0
  44. package/dist/chunks/libs/pathe.mjs +1 -0
  45. package/dist/chunks/libs/pretty-ms.mjs +1 -0
  46. package/dist/chunks/libs/refractor.mjs +5 -0
  47. package/dist/chunks/libs/rehype-prism-plus.mjs +4 -0
  48. package/dist/chunks/libs/remark-github-blockquote-alert.mjs +3 -0
  49. package/dist/chunks/libs/remark-rehype.mjs +1 -0
  50. package/dist/chunks/libs/remeda.mjs +1 -0
  51. package/dist/chunks/libs/ufo.mjs +1 -0
  52. package/dist/chunks/libs/unified.mjs +1 -0
  53. package/dist/chunks/libs/unstorage.mjs +1 -0
  54. package/dist/chunks/libs/which.mjs +1 -0
  55. package/dist/chunks/rolldown-runtime.mjs +1 -0
  56. package/dist/chunks/src.mjs +392 -1105
  57. package/dist/cli.mjs +5 -1
  58. package/dist/index.mjs +1 -1
  59. package/package.json +69 -65
@@ -0,0 +1,9 @@
1
+ import"../../rolldown-runtime.mjs";const e={"chromium/line_normal":[0,182],"chromium/line_normal_cj":[1,182],"apple/line_normal":[2,183],"apple/line":[3,183],"apple/line_cj":[4,183],"chromium/char":[5,148],"apple/char":[6,149],"gecko/line":[7,196],"gecko/east_asian_width":[8,38],"chromium/script":[9,80]},t=[1055,5151,25631,8,42015,12,10,1,479,351,287,31,415,159,4,2,2064,16,543,4097,24577,63,5121,-7137,58399],n={"chromium/line_normal":[65,63,11,365,null,`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`],"chromium/line_normal_cj":[66,64,11,367,null,`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`],"apple/line_normal":[65,63,11,365,`chromium/line_normal`,`BgACOAAAKicAAjgAACoLAAI4AAAqDgACOAAAKi0AAjh2APMBAQACOAAAKhtnARumAVq2AQEAAw==`],"apple/line":[65,63,11,365,`apple/line_normal`,``],"apple/line_cj":[65,63,11,365,`apple/line_normal`,``],"chromium/char":[21,21,3,16,null,`AQASBgIAAgADAAQABQAEAAYABAAHAAQACAAJAAoABAAEAAkACgALAAABAAEAAQEHAgACBQsEAQQBBAMEAAQAAQQLBQMFAwUADAAFBAABBQAAAAAAAAMDCwcDDQQHAAQEEAgACQMJAAoABQIRCQAKAAEBEQAABwEXDgAIAQoFAAYDCw0CBwUNAAMCAQIVDwAAAQAC`],"apple/char":[21,21,3,16,`chromium/char`,``]},r=`5DAIgAAACAAAAAQDBAYA/+v/+/8CAQF/DBwACAEADhwCCAAUAQQfgAlAFDgAGBwAGFQAJAEANHAAKDgACBwE/1cA/gTAAgAAKwQfgAnAAxAB/xg4AAwBAAiIAwAOHgAYmAIA5gEcADSkAwAoVAAkHAy8lv+5////7////2+kAsADAOoDHAEAWbgHAJ4GHAAVgAcBgBj0EwAakBQArgGYAgH/FgEBf/AFjAgAGAEBmALmBwEMEIwPAFAcALYBtAIAB4gYAYYFiBgBJwzcCgA0jAEAftACAQDbAfQFAMABcACWDRwA`,i={"":[8220,0,8221,1,8216,0],agq:[8221,1],am:[171,0,187,1,8249,0,8250,1],ar:[],ast:[171,0,187,1,8220,0,8221,1],bas:[171,0,187,1,8221,1],be:[171,0,187,1,8221,1],bg:[8221,1,8221,1],blo:[171,0,187,1,8220,0,8221,1],bm:[171,0,187,1,8220,0,8221,1],br:[171,0,187,1,8220,0,8221,1],bs:[8221,1,8216,0],bua:[171,0,187,1,8221,1],ca:[171,0,187,1,8220,0,8221,1],cs:[8221,1],cv:[171,0,187,1,8220,0,8221,1],da:[],de:[8221,1],dsb:[8221,1],dua:[171,0,187,1,8216,0],dyo:[171,0,187,1,8220,0,8221,1],el:[171,0,187,1,8220,0,8221,1],eo:[8220,0,8221,1,171,0,187,1],et:[8221,1],eu:[171,0,187,1,8220,0,8221,1],ewo:[171,0,187,1,8220,0,8221,1],fa:[171,0,187,1,8249,0,8250,1],ff:[8221,1],fi:[],fr:[171,0,187,1,171,0,187,1],fur:[8216,0,8220,0,8221,1],gsw:[171,0,187,1,8249,0,8250,1],he:[],hr:[8221,1],hsb:[8221,1],hu:[8221,1,187,0,171,1],hy:[171,0,187,1,171,0,187,1],ia:[8216,0,8220,0,8221,1],ie:[171,0,187,1,8220,0,8221,1],is:[8221,1],it:[171,0,187,1,8220,0,8221,1],ja:[],jgo:[171,0,187,1,8249,0,8250,1],ka:[8221,1,171,0,187,1],kab:[171,0,187,1,8220,0,8221,1],kk:[171,0,187,1,8220,0,8221,1],kkj:[171,0,187,1,8249,0,8250,1],ksf:[171,0,187,1,8216,0],ksh:[8221,1],ky:[171,0,187,1,8221,1],lag:[],lb:[8221,1],lij:[171,0,187,1,8220,0,8221,1],lt:[8221,1,8221,1],luy:[8221,1],mg:[171,0,187,1,8220,0,8221,1],mk:[8221,1],mua:[171,0,187,1,8220,0,8221,1],mzn:[171,0,187,1,8249,0,8250,1],nb:[171,0,187,1,8216,0],nds:[8221,1],nl:[8216,0,8216,0],nmg:[8221,1,171,0,187,1],nn:[171,0,187,1,8216,0],nnh:[171,0,187,1,8220,0,8221,1],no:[171,0,187,1,8216,0],oc:[171,0,187,1,171,0,187,1],os:[171,0,187,1,8221,1],pl:[8221,1,171,0,187,1],pms:[171,0,187,1,8220,0,8221,1],prg:[8221,1,8221,1],rm:[171,0,187,1,8249,0,8250,1],rn:[],ro:[8221,1,171,0,187,1],ru:[171,0,187,1,8221,1],rw:[171,0,187,1,8216,0],sah:[171,0,187,1,8221,1],sc:[171,0,187,1,8220,0,8221,1],se:[],sg:[171,0,187,1,8220,0,8221,1],shi:[171,0,187,1,8221,1],sk:[8221,1],sl:[8221,1],sn:[],sr:[8221,1],ss:[8216,0,8220,0,8221,1],st:[8216,0,8220,0,8221,1],sv:[],syr:[],szl:[8221,1,187,0,171,1],ti:[171,0,187,1,8220,0,8221,1],tk:[8220,0,8221,1,8220,0,8221,1],tn:[8216,0,8220,0,8221,1],ts:[8216,0,8220,0,8221,1],tyv:[171,0,187,1,8221,1],ug:[187,0,171,1,8250,0,8249,1],uk:[171,0,187,1,8221,1],ur:[],uz:[8220,0,8221,1],ve:[8216,0,8220,0,8221,1],wae:[171,0,187,1,8249,0,8250,1],yav:[171,0,187,1,171,0,187,1],yi:[],yue:[],zgh:[171,0,187,1,8221,1],az_Cyrl:[171,0,187,1,8249,0,8250,1],bs_Cyrl:[8221,1],ff_Adlm:[8220,0,8221,1,8216,0],fr_CA:[171,0,187,1],fr_CH:[171,0,187,1,8249,0,8250,1],kk_Arab:[187,0,171,1,8250,0,8249,1],ms_Arab:[],pt_AO:[171,0,187,1,8220,0,8221,1],pt_CH:[171,0,187,1,8220,0,8221,1],pt_CV:[171,0,187,1,8220,0,8221,1],pt_FR:[171,0,187,1,8220,0,8221,1],pt_GQ:[171,0,187,1,8220,0,8221,1],pt_GW:[171,0,187,1,8220,0,8221,1],pt_LU:[171,0,187,1,8220,0,8221,1],pt_MO:[171,0,187,1,8220,0,8221,1],pt_MZ:[171,0,187,1,8220,0,8221,1],pt_PT:[171,0,187,1,8220,0,8221,1],pt_ST:[171,0,187,1,8220,0,8221,1],pt_TL:[171,0,187,1,8220,0,8221,1],ti_ER:[8216,0,8220,0,8221,1],uz_Arab:[8220,0,8221,1,8216,0],uz_Cyrl:[8220,0,8221,1,8216,0],zh_Hant:[]};function getBreakLanguage(e){if(e===null||e.length<2||e.length>2&&e.charCodeAt(2)!==45&&e.charCodeAt(2)!==95)return`root`;let t=e.charCodeAt(0)|32,n=e.charCodeAt(1)|32;return t===106&&n===97?`ja`:t===107&&n===111?`ko`:t===122&&n===104?`zh`:`root`}function unpackTable(e){let t=atob(e),n=0,varint=()=>{let e=0,r=1,i;do i=t.charCodeAt(n++),e+=(i&127)*r,r*=128;while(i>=128);return e},r=new Uint8Array(varint()),i=0;for(;n<t.length;){for(let e=varint();e>0;e--)r[i++]=t.charCodeAt(n++);if(n>=t.length)break;let e=varint()+4,a=i-varint();if(a+e<=i)r.copyWithin(i,a,a+e);else for(let t=0;t<e;t++)r[i+t]=r[a+t];i+=e}if(i!==r.length)throw Error(`A packed table unpacked to the wrong length`);return r}function unpackVarints(e){let t=atob(e),n=new Int32Array(t.length),r=0;for(let e=0;e<t.length;){let i=t.charCodeAt(e++),a=i&127;for(let n=7;i>=128;n+=7)i=t.charCodeAt(e++),a|=(i&127)<<n;n[r++]=a}return n.subarray(0,r)}function getClass(e,t){return e.values[e.index[t>>8]<<8|t&255]}function unpackClassRuns(e,t,n){let r=/* @__PURE__ */ new Uint16Array(4352),i=new Uint8Array(n<<8),a=(/* @__PURE__ */ new Int32Array(256)).fill(-1),o=0,s=0,c=0,l=-1;for(let n=0;n<=e.length;n+=2){let u=n<e.length?t[e[n+1]]:-1;if(u!==l){for(;s<c;){let e=s>>8;if(!(s&255)&&c-s>=256)a[l]<0&&(a[l]=o,i.fill(l,o<<8,++o<<8)),r.fill(a[l],e,c>>8),s=c&-256;else{s&255||(r[e]=o++);let t=Math.min(c,e+1<<8),n=r[e]-e<<8;i.fill(l,s+n,t+n),s=t}}l=u}n<e.length&&(c+=e[n]+1)}if(c!==1114112)throw Error(`The class runs don't cover U+0000..U+10FFFF`);return{index:r,values:i}}let a=null,o=null;function unpackClasses(t){let[n,r]=e[t];return a??=unpackVarints(`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AAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoDAAIaAwACGgMAAhoD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`),o??=unpackTable(`sBPUAQsLMzQDCwMLKgQLIiIqEw4LC0ALCz8wFAMqKjstAwM/BBcMCx8NA0AsA0AfKgMWKgsaIisYCwkLKywDPgoMIQMyFSoDDg4NEwsLLxMUCRADCQ0tCwsMFwMVGQMLFSAhGSssLQ8rISotCxMVAxMNCQsOFEAXBB4LCwsLKSI5DhQDBAYTEAM/GxwdBAMmJx4oLDIDAyoLNTU3LCwqLCwgExUhCwUHCA8REg8UBgsLAwMVEBADCwwEHgQVExUjCwMXJAMlFhgVBAspLgkEFBQZBDErAyoEAF4kFA4sMjYVMik3MissMioyLTgnGQQ5FR8gOToyLRMDPD0LCzQ1CvgBBEELC0AB+AEFPC0DA0AD+AEEQSwDQQz4AQE/MvgBAUEF+AEBOgT4AQFABvgBATMA+AEDNjY4JvgBAg4UFPgBBTcVMik4A/gBCjknGQQ6FR8gOjsA+AECPT5y8AMEAy0qMhbwAwMsNjY58AMEDDE1KwD4AQE1GfADABT4AQEyxgH4AQEy0AH4AQAO6AUAIPgBCgYGEhMIBgoGBwYAAwUGBgcLCAAGCQYIBgYHBwgICwENAAAOBQwKCwYDAiQAAgEBCAAMAggGAD0AAAEBAwEbAQgEHQcIBggJBgwGAj8BCwIUAQkBBwEMBUINCQMDCAMDCQYICg0ODwFyAQMAOgAGZAcICQMGDgQFAg0AARwFCAYGAwkAcgEDAGMFCgYDEBEDHAAHmgEABkAACwkECAsMCQALAwgUCHL4AQEQffgB1AE0AxUWDgMOARkIAxkZGSMlAwMuAwMuEQ0OGQwaAw40LggJKAECJg4uDQ4uAhkOLBoBFxkkKwMTNCQNDhoqKAYOIg4ZNCUlJyM0NBE0DRMcDhMmAzQaKQkOFAgOAxQyGQgkDQENJDQ0AxkjFA4jJhMDJQ0uCTQiNDQ0NCk0BSUNDggKIxw0Lh0fHgg0BxsiMw0iDg4ZNBMTJw0NGQ0NMiMUNDQgEC8PGDAPDSEBAw4UFBwcDgMoCCIIFC40MTQOCTUONiwrFAgDKAQTAw0NCAgIJA40CABeGQ0lHBwbDiIpJyIkDSIMIgMLGzQ0BRQ0NDQABAsOLRIAAAUFAAAAAAYFAAMJAgUFBg8AAxsBAwIHAAIrAQUEGAICAAoBAQUKDgQFBQADBS4ACAEBAxA0AQUAAQMABQMBAQICACUBAAQrAgMFBWsAAUkEBQUDAgEBAAmRAQQAAAUHAAEZAAcAAAcQAAAHBwEABwcDDgcAAgsABwcAEAMbBAAKBwAAJwAAWQAABwYPBwATFA8AFAMVBwsBGQIQEAAOBQAACRAHAdEBBAgLBxIBWgUWAgACFgI8CA0AEBERExQHASsBBwMFAAA7ARAACgIRCwBfAABSAAEWBwIAAwQHBwcEDQsABAQABQYMCwoHEQEwDxAQBwsHDwAOAAsLAAADDgE7BBcYAw8AhQEBAwFPBREAAAAPABgCExQBRQQHBxAHAwEEAA4AAA==`),unpackClassRuns(a,o.subarray(n*248),r)}function lazyRegExp(e,t){let n=null;return()=>n??=new RegExp(e,t)}const s=[lazyRegExp(String.raw`^[\p{L}\p{N}]$`,`u`),lazyRegExp(String.raw`^\p{M}$`,`u`),lazyRegExp(String.raw`^\p{P}$`,`u`),lazyRegExp(String.raw`^[\p{Ps}\p{Pe}\p{Pi}\p{Pf}\p{Po}]$`,`u`),lazyRegExp(String.raw`^\p{Default_Ignorable_Code_Point}$`,`u`),lazyRegExp(String.raw`^\p{Emoji}$`,`u`),lazyRegExp(String.raw`^\p{sc=Hangul}$`,`u`)];let c=null;const l=/* @__PURE__ */ new Map;function hasProperty(e,t){let n=c??=/* @__PURE__ */ new Uint16Array(65536),r=1<<t*2,i=e<65536?n[e]:l.get(e)??0;return i&r<<1||(i|=r<<1|(s[t]().test(String.fromCodePoint(e))?r:0),e<65536?n[e]=i:l.set(e,i)),(i&r)!==0}let u=null;function getWordSegmenter(){return u??=new Intl.Segmenter(void 0,{granularity:`word`})}function unpackStateRows(e,t,n,r){let i=new Uint16Array(t*e);n!==null&&i.set(n);for(let t=0,n=-e;t<r.length;){n+=(r[t++]+1)*e;let a=r[t++]*e;a>0&&i.copyWithin(n,n-a,n-a+e);let o=n-1;for(let e=r[t++];e>0;e--)o+=1+r[t++],i[o]=r[t++]}return i}function unpackTableRows(e){let[t,,,r,i,a]=n[e];return unpackStateRows(t+3,r,i===null?null:unpackTableRows(i),unpackVarints(a))}const d={};function getBreakRules(e){let t=d[e];if(t===void 0){let[r,i,a]=n[e];t=d[e]={catCount:r,dictCategoriesStart:i,rowWidth:r+3,rows:unpackTableRows(e),lookAheadResultsSize:a,classes:unpackClasses(e)}}return t}const f={chars:[],categories:[]};function markRuleBoundaries(e,t,n,r=f){let i=e.rows,a=e.rowWidth,o=e.dictCategoriesStart,s=t.length,c=new Int32Array(e.lookAheadResultsSize).fill(-1),l=r.chars,u=l.length;for(let d=0;d<s;){let f=0,p=d,m=-1,h=d,g=t.charCodeAt(h++);if((g&64512)==55296&&h<s){let e=t.charCodeAt(h);(e&64512)==56320&&(h++,g=(g-55296<<10)+e-56320+65536)}let _=!1,v=!1,y=1*a,b=0;for(;;){if(_){if(v)break;v=!0,b=1}else{let t=!1;for(let e=0;e<u;e++)if(g===l[e]){b=r.categories[e],t=!0;break}t||(b=getClass(e.classes,g),b>=o&&f++)}let n=i[y+3+b];y=n*a;let d=i[y];if(d===1)p=h;else if(d>1&&c[d]>=0){m=c[d];break}let x=i[y+1];if(x>1&&(c[x]=h),n===0)break;if(!v){if(h>=s)_=!0;else if(g=t.charCodeAt(h++),(g&64512)==55296&&h<s){let e=t.charCodeAt(h);(e&64512)==56320&&(h++,g=(g-55296<<10)+e-56320+65536)}}}m<0&&(m=p,p===d&&(m=d+1,(t.charCodeAt(d)&64512)==55296&&m<s&&(t.charCodeAt(m)&64512)==56320&&m++)),n[m]=1,f>0&&markDictionaryWords(e,t,d,m,n),d=m}}function isComplexContext(e,t){return getClass(e.classes,t)>=e.dictCategoriesStart}function markDictionaryWords(e,t,n,r,i){let a=-1;for(let o=n;o<=r;){let n=!1,s=1;if(o<r){let r=t.charCodeAt(o);(r&64512)==55296&&o+1<t.length&&(t.charCodeAt(o+1)&64512)==56320&&(r=(r-55296<<10)+t.charCodeAt(o+1)-56320+65536,s=2),n=isComplexContext(e,r)}if(n)a<0&&(a=o);else if(a>=0){if(o-a>1)for(let e of getWordSegmenter().segment(t.slice(a,o)))e.index>0&&(i[a+e.index]=1);a=-1}o+=s}}const p=8232,m=8233;let h=null,g;function getBlinkDefaultLocale(){return g??=new Intl.DateTimeFormat().resolvedOptions().locale}function isBlinkBreakableSpace(e){return e===32||e===9||e===10}function shouldBreakFast(e,t,n,r){if(n<33||r<33)return 0;if(n===45){if(r<=127){if(r>=48&&r<=57){let e=t|32;return+(t>=48&&t<=57||e>=97&&e<=122)}}else return 2}if(n<=255&&r<=255){let t=r-33;return e[(n-33)*28+(t>>3)]&1<<(t&7)?1:0}return 2}function shouldKeepAfterKeepAll(e,t,n,r){let i=hasProperty(n,1)?t:n;return hasProperty(i,0)&&!isComplexContext(e,i)&&hasProperty(r,0)&&!isComplexContext(e,r)}function getBlinkLineBreaks(e,t,n){let r=e.length,i=new Uint8Array(r+1);if(r<2)return i;let a=h??=unpackTable(`5DAIgAAACAAAAAQDBAYA/+v/+/8CAQF/DBwACAEADhwCCAAUAQQfgAlAFDgAGBwAGFQAJAEANHAAKDgACBwM9hYAuP///+////9vACsAJDgADAEACIgDAA4eABiYAgDmARwANKQDAChUACQcBLyW/7kH+AMAoQLAAwDqAxwBAFm4BwCeBhwAFYAHAYAY9BMAGpAUAK4BmAIB/xYBAX/wBYwIABgBAZgC5gcBDBCMDwBQHAC2AbQCAAeIGAGGBYgYAScM3AoANIwBAH7QAgEA2wH0BQDAAXAAlg0cAA==`),o=getBreakRules(`chromium/${getBreakLanguage(n)===`zh`?`line_normal_cj`:`line_normal`}`),s=null,c=0,l=e.charCodeAt(0);for(let n=1;n<r;c=l,l=e.charCodeAt(n),n++){let u=e.charCodeAt(n);if(isBlinkBreakableSpace(u))continue;if(isBlinkBreakableSpace(l)){i[n]=1;continue}let d=shouldBreakFast(a,c,l,u);d===1?i[n]=1:t&&shouldKeepAfterKeepAll(o,c,l,u)||d!==0&&(s===null&&(s=new Uint8Array(r+1),markRuleBoundaries(o,e,s)),s[n]===1&&(i[n]=1))}return i}const _=32768;let v=null;const y=/* @__PURE__ */ new Map;function isWebKitBreakableSpace(e){return e===32||e===10||e===9||e===p||e===m}function isASCIIDigit(e){return e>=48&&e<=57}function isASCIIAlpha(e){let t=e|32;return t>=97&&t<=122}function classify(e){switch(e>>7){case 0:switch(e>>4){case 0:return _;case 1:return 4;case 2:return e===32?256:e===34||e===39?128:e===40?8:e===41?16:_;case 3:return e<=57?1:_;case 4:return 1;case 5:return e<=90?1:e===91?8:e===93?16:_;case 6:return 1;default:return e<=122?1:e===123?8:e===125?32:_}case 1:return e===160?64:e>192?1:e===161||e===191?8:e===171?640:e===187?1152:_;case 2:case 3:case 4:return 1;case 5:return e===712||e===716||e===735?_:1;case 6:return e===847||e>=860&&e<=866?64:e<880?4:e===894?_:1;case 7:case 8:case 10:return 1;case 9:return e>=1155&&e<=1161?4:1;case 11:return e<=1416||e>=1480?1:e>=1425&&e<=1469||e===1471||e===1473||e===1474||e===1476||e===1477||e===1479?4:_;case 64:return e===8216||e===8220?640:e===8217||e===8221?1152:_;default:if(e>=11904&&e<=42191){if((e&65280)==12288){if(e<=12351)switch(e&31){case 1:case 2:case 9:case 11:case 13:case 15:case 17:case 21:case 23:case 25:case 27:case 30:case 31:return 32;case 8:case 10:case 12:case 14:case 16:case 22:case 20:case 24:case 26:case 29:return 8;default:return _}return _}return(e&65520)==12784?_:(e&65528)==12872||(e&65472)==19904?1:e===40981?_:2}return e>=44032&&e<=55215||e>=63744&&e<=64255?2:_}}function createFactory(e,t){return{text:e,secondToLast:0,last:0,priorLength:0,line:t,nextBoundary:null}}function following(e,t){let n=e.nextBoundary;if(n===null){let t=(e.priorLength===2?String.fromCharCode(e.secondToLast,e.last):e.priorLength===1?String.fromCharCode(e.last):``)+e.text,r=new Uint8Array(t.length+1);markRuleBoundaries(e.line.rules,t,r,e.line.overrides),n=new Int32Array(t.length+2),n[t.length+1]=-1;for(let e=t.length;e>=0;e--)n[e]=r[e]===1?e:n[e+1];e.nextBoundary=n}let r=t+e.priorLength+1;if(r>=n.length)return-1;let i=n[r];return i<0?-1:i-e.priorLength}function nextBreakablePosition(e,t,n){let r=t.text,i=r.length;if(n===0&&t.priorLength===0){if(i<=1)return i;n++}let a=n>1?r.charCodeAt(n-2):t.secondToLast,o=n>0?r.charCodeAt(n-1):t.last,s=0,c=0,l=0,u=-1;for(let d=n;d<i;a=o,o=c,s=l,d++){if(c=r.charCodeAt(d),l=0,isWebKitBreakableSpace(c))return d;if(o===45&&isASCIIDigit(c)){if(isASCIIDigit(a)||isASCIIAlpha(a))return d;continue}if(o<=255&&c<=255){if(o>=33&&c>=33){let t=c-33;if(e[(o-33)*28+(t>>3)]&1<<(t&7))return d}continue}s===0&&(s=classify(o)),l=classify(c);let n=s|l;if(n&-1922){if((n|1)==3)return d;if(n&192&&!(n&_)){if(n&2&&n&128&&(l&512||s&1024))return d}else if(l===4)l=s;else{if(!(n&_)&&n&56){if(l===32||l===16||s===8)continue;if(n&2)return d}if(u<d&&(u=following(t,d-1)),u>=0&&d<u)for(let e=Math.min(u,i-1);d<e;a=o,o=c,s=l,d++){let e=r.charCodeAt(d+1);if(e<=255&&!isASCIIAlpha(e))break}if(d===u&&!isWebKitBreakableSpace(o))return d}}}return i}function nextBreakableSpace(e,t,n){for(let r=t;r<e.length;r++){let t=e.charCodeAt(r);if(isWebKitBreakableSpace(t)||t===8203)return r;if(t===12288||n&&hasProperty(t,3)&&r+1<e.length)return r+1}return e.length}function getWebKitLineRules(e){let t=e??``,n=y.get(t);if(n!==void 0)return n;let r=getBreakLanguage(t),a=getBreakRules(r===`ja`||r===`ko`?`apple/line_normal`:r===`zh`?`apple/line_cj`:`apple/line`),o=t.split(/[-_]/),s=o[0].toLowerCase();for(let e=1;e<o.length;e++){let t=o[e];s+=`_`+(t.length===4?t[0].toUpperCase()+t.slice(1).toLowerCase():t.toUpperCase())}let c=i[s];for(;c===void 0;){let e=s.lastIndexOf(`_`);s=e<0?``:s.slice(0,e),c=i[s]}let l=[],u=[];for(let e=0;e<c.length;e+=2)l.push(c[e]),u.push(getClass(a.classes,c[e+1]===0?123:125));return n={rules:a,overrides:{chars:l,categories:u}},y.set(t,n),n}function getWebKitLineBreaks(e,t,n,i){let a=v??=unpackTable(r),o=createFactory(e,getWebKitLineRules(i)),s=e.length,c=new Uint8Array(s+1),l=!1;for(let t=0;n&&t<s&&!l;t++)l=e.charCodeAt(t)>255;let u=-1;for(let r=0;r<s;){let i=1,d=r,f=e.charCodeAt(r);if(f===p||f===m||t&&f===10)i=2,d++,f!==10&&(c[d]=4);else{for(;d<s;d++){let n=e.charCodeAt(d);if(n!==32&&n!==9&&(t||n!==10))break}if(d===r){i=0,d=s;for(let t=r;t<s;t++){let i=n?nextBreakableSpace(e,t,l):nextBreakablePosition(a,o,t);if(i!==r){d=i;break}}}}u>=0&&u!==2&&i!==2&&(c[r]=1),u=i,r=d}return c}function getWebKitBreakBetweenItems(e,t,n,i){let a=e.charCodeAt(e.length-1),o=t.charCodeAt(0);if(o===10||o===p||o===m)return!1;if(a===32||a===9||o===32||o===9)return!0;if(n)return nextBreakableSpace(t,0,!1)===0;let s=v??=unpackTable(r),c=createFactory(t,getWebKitLineRules(i)),l=e.length;return c.secondToLast=l>1?e.charCodeAt(l-2):0,c.last=l>0?e.charCodeAt(l-1):0,c.priorLength=c.last===0?0:c.secondToLast===0?1:2,nextBreakablePosition(s,c,0)===0}function parseGraphemeRules(e){let t=getBreakRules(e===`gecko/char`?`chromium/char`:e),n=t.rowWidth,r=t.rows,i=r.length/n,a=new Uint8Array(i*t.catCount);for(let e=0;e<i;e++)for(let i=0;i<t.catCount;i++){let o=r[e*n+3+i];a[e*t.catCount+i]=o===0||r[o*n]>1?128|r[1*n+3+i]:o}return{rules:t,transitions:a,skipped:e===`gecko/char`?getClass(t.classes,173):-1}}const b={};function isBidiControl(e){return(e&65280)==8192&&(e>=8234&&e<=8238||e>=8294&&e<=8297||(e&-2)==8206)||e===1564}function findGraphemeEnds(e,t,n,r,i){let{rules:a,transitions:o,skipped:s}=b[e]??(b[e]=parseGraphemeRules(e)),c=a.catCount,l=1,u=0;for(let e=n;e<r;){let n=t.charCodeAt(e),d=e+1;if((n&64512)==55296&&d<r){let e=t.charCodeAt(d);(e&64512)==56320&&(d++,n=(n-55296<<10)+e-56320+65536)}let f=getClass(a.classes,n);if(f===s&&(n===173||isBidiControl(n))){e=d;continue}let p=o[l*c+f];p&128&&(i!==null&&(i[u]=e),u++),l=p&-129,e=d}return l!==1&&(i!==null&&(i[u]=r),u++),u}const isSurrogatePair=(e,t)=>(e&64512)==55296&&(t&64512)==56320,combine=(e,t)=>65536+(e-55296<<10)+(t-56320);let x=null;function isClusterExtender(e){return e>=768&&(hasProperty(e,1)||e===8204||e===8205||e>=65438&&e<=65439||e>=127995&&e<=127999||e>=917536&&e<=917631)}function isClusterExtenderExcludingJoiners(e){return e>=768&&(hasProperty(e,1)||e>=65438&&e<=65439||e>=127995&&e<=127999||e>=917536&&e<=917631)}function isEastAsianWidthFHWExcludingEmoji(e,t){let n=getClass(e,t);return n===2||n===3||n===5&&!hasProperty(t,5)}function isSegmentBreakSkipChar(e,t){return isEastAsianWidthFHWExcludingEmoji(e,t)&&!hasProperty(t,6)&&t!==8361}function isEastAsianPunctuation(e,t){return getClass(e,t)!==0&&(hasProperty(t,2)&&t!==8361||t===65374||t===12288)}function isInvalidChar(e){return e>=32&&e<127?!1:e<=159||(e&65280)==8192&&(e===8203||e===8232||e===8233||e===8288)||e===65279||isBidiControl(e)}function isDiscardable(e,t){return e===173||!t&&isBidiControl(e)}const isSpaceOrTab=e=>e===32||e===9,isSpaceOrTabOrSegmentBreak=e=>e===32||e===9||e===10;function isSpaceCombiningSequenceTail(e,t){for(let n=t;n<e.length;n++){let t=e.charCodeAt(n);if(isClusterExtenderExcludingJoiners(t))return!0;if(!isBidiControl(t))return!1}return!1}function isJapaneseOrChinese(e){let t=getBreakLanguage(e);return(t===`ja`||t===`zh`)&&e.charCodeAt(2)!==95}function isEastAsianSegmentBreak(e,t,n,r){if(t===0||n>=e.length)return!1;let i=x??=unpackClasses(`gecko/east_asian_width`),a,o=t;do{let t=e.charCodeAt(o-1),n=o>1?e.charCodeAt(o-2):0;isSurrogatePair(n,t)?(a=combine(n,t),o-=2):(a=t,o--)}while(hasProperty(a,4)&&o>0);let s;o=n;do s=e.codePointAt(o),o+=s>65535?2:1;while(hasProperty(s,4)&&o<e.length);return isSegmentBreakSkipChar(i,a)&&isSegmentBreakSkipChar(i,s)||r&&(isEastAsianPunctuation(i,a)||isEastAsianPunctuation(i,s))}function transformText(e,t,n,r){let i=e.length,a=new Int32Array(i),o=new Uint8Array(i),s=null,c=0,l=!1;if(n)for(let n=0;n<i;n++){let r=e.charCodeAt(n);isDiscardable(r,t)?(o[n]=1,l||=r!==173):a[c++]=n}else{let n=!1,u=0,d=0,f=r===null?i:0;for(;u<i;){let p=e.charCodeAt(u);if(!isSpaceOrTabOrSegmentBreak(p)&&!isDiscardable(p,t))(p===12||p===13&&e.charCodeAt(u+1)!==10)&&((s??=new Uint8Array(i))[u]=1),a[c++]=u,n=!1,u++;else if(isSpaceOrTabOrSegmentBreak(p)){if(u>=f){for(;d<r.length&&r[d]<=u;)d++;f=d<r.length?r[d]:i}let m=!1,h=p===10,g=0,_=0,v=n&&u>0&&isDiscardable(e.charCodeAt(u-1),t),y=u+1;for(;y<f;y++){let n=e.charCodeAt(y);if(n===10)h=!0;else if(isDiscardable(n,t))_++;else if(!isSpaceOrTab(n))break}for(;isDiscardable(e.charCodeAt(y-1),t);)y--,g++;!t&&e.charCodeAt(y-1)===32&&y<f&&isSpaceCombiningSequenceTail(e,y)&&(m=!0,y--);for(let r=u;r<y;r++){let u=e.charCodeAt(r);isDiscardable(u,t)?(o[r]=1,l||=u!==173):n||h&&isSpaceOrTab(u)?(o[r]=1,(_>g||v)&&((s??=new Uint8Array(i))[r]=1)):(a[c++]=r,n=!0)}m&&(a[c++]=y++);for(let t=0;t<g;t++)l||=e.charCodeAt(y)!==173,o[y++]=1;u=y}else o[u]=1,l||=p!==173,n=!1,u++}}let u=``,d=0,f=0;for(let t=0;t<c;t++){let r=a[t],i=e.charCodeAt(r);!n&&(i===9||i===10)?(u+=e.slice(d,f)+` `,d=f=r+1):r===f?f++:(u+=e.slice(d,f),d=r,f=r+1)}return u+=e.slice(d,f),{text:u,orig:a.subarray(0,c),skipped:o,leftOut:s,dropsBidiControl:l}}function isTrimmableSpace(e,t,n){switch(e.charCodeAt(t)){case 32:case 5760:return n||!isSpaceCombiningSequenceTail(e,t+1);case 10:case 9:case 13:case 12:return!0;default:return!1}}function hasCompressedLeadingWhitespace(e,t,n,r){if(r||t[0]===0)return!1;for(let r=0;r<e.length&&t[r]===1;r++)if(isTrimmableSpace(e,r,n))return!0;return!1}function extendCluster(e,t){e.clusterStart[t]=0,e.isSpace[t]=0}function setupClusterBoundaries(e,t,n,r,i,a){let o=t.charCodeAt(n);r-n>1&&isSurrogatePair(o,t.charCodeAt(n+1))&&(o=combine(o,t.charCodeAt(n+1))),isClusterExtender(o)&&extendCluster(e,n);let s=n;for(;s<r&&t.charCodeAt(s)<768;)s++;let c=s===r?0:findGraphemeEnds(i,t,n,r,a);for(let i=0,o=n;o<r;i++){let r=t.charCodeAt(o);r===32||r===12288?e.isSpace[o]=1:r===2479&&o>n&&t.charCodeAt(o-1)===2509&&extendCluster(e,o);let s=c===0?o+1:a[i];for(o++;o<s;o++)extendCluster(e,o)}}function splitAndInitTextRun(e,t,n,r){let i=t.length,a=0;for(let o=0;o<i;o++){let s=t.charCodeAt(o);(s!==32&&s!==160||o+1<i&&isClusterExtender(t.charCodeAt(o+1)))&&!isInvalidChar(s)||(o>a&&setupClusterBoundaries(e,t,a,o,n,r),s===32&&(e.isSpace[o]=1),a=o+1)}i>a&&setupClusterBoundaries(e,t,a,i,n,r)}let S=null;function getLineBreakClass(e,t){return t>1114111?0:getClass(e.classes,t)}function getComplexLanguage(e){return e>=3585&&e<=3711?1:e>=3712&&e<=3839?2:e>=4096&&e<=4255||e>=43488&&e<=43519||e>=43616&&e<=43647?3:e>=6016&&e<=6143||e>=6624&&e<=6655?4:0}function segmentComplex(e){let t=[];for(let n=0;n<e.length;){let r=getComplexLanguage(e[n]),i=n+1;for(;i<e.length&&getComplexLanguage(e[i])===r;)i++;if(r!==0){let r=``;for(let t=n;t<i;t+=4096)r+=String.fromCharCode(...e.slice(t,Math.min(i,t+4096)));for(let e of getWordSegmenter().segment(r))e.index>0&&t.push(n+e.index)}t.push(i),n=i}return t}function isKeepAllLetter(e){return e===1||e===3||e===25||e===35||e===24||e===21||e===22||e===29||e===31||e===30||e===12}function readCodePoint(e,t,n){let r=e.charCodeAt(t);if((r&64512)==55296&&t+1<n){let n=e.charCodeAt(t+1);if((n&64512)==56320)return((r&1023)<<10)+(n&1023)+65536}return r}function markWordBreaks(e,t,n,r,i,a){let o=r-n,s=e.states,c=0,l=readCodePoint(t,n,r),u=l>65535?2:1,d=[],f=0,p=0;for(;;){if(f<d.length){let e=d[f++]-p,i=0;for(;i!==e;){if(i+=l>65535?2:1,c=u,c>=o)return;l=readCodePoint(t,n+c,r),u+=l>65535?2:1}p+=i,a[n+c]=1;continue}let m=-1,h=!1;outer:for(;;){let a=l,g=m>=0?m:getLineBreakClass(e,a),_=h||m<0&&g===54;if(c=u,c>=o)return;l=readCodePoint(t,n+c,r),u+=l>65535?2:1;let v=getLineBreakClass(e,l);if((v===14||v===54)&&g!==10&&g!==16&&g!==32&&g!==33&&g!==47&&g!==53){m=g,h=v===54;continue}if(m=-1,h=!1,i&&isKeepAllLetter(g)&&isKeepAllLetter(v))continue;if(getLineBreakClass(e,a)===46&&v===46){let i=[a&65535];for(let a=c,s=l;i.push(s&65535),a+=s>65535?2:1,!(a>=o||(s=readCodePoint(t,n+a,r),getLineBreakClass(e,s)!==46)););d=segmentComplex(i),f=1;let s=1;for(;s!==d[0];){if(s++,c=u,c>=o)return;l=readCodePoint(t,n+c,r),u+=l>65535?2:1}p=s;break}let y=s[g*68+v];if(y===253||y===254){if(_)continue;break}if(y===255)continue;let b=y>=120?y-120:y,x=u,S=c,C=l,w=_,T=v,E=b>54;for(;;){let i=T===54,a=b<=54;if(c=u,c>=o){if(s[b*68+67]!==254)return;if(u=x,c=S,l=C,w)continue outer;break outer}l=readCodePoint(t,n+c,r),u+=l>65535?2:1;let d=getLineBreakClass(e,l);if((d===14||d===54)&&T!==10&&T!==16&&T!==32&&T!==33&&T!==47&&T!==53){T=d;continue}let f=s[b*68+d];if(f===255)continue outer;if(f===254){if(u=x,c=S,l=C,i){if(E&&!w)break outer;continue outer}if(w)continue outer;break outer}if(f===253){if(i)continue outer;break outer}f>=120?(b=f-120,x=u,S=c,C=l,w=i):(b=f,a&&(x=u,S=c,C=l,w=i)),T=d}}a[n+c]=1}}const C=new Uint8Array([0,0,1,1,0,0,1,1,0,0,1,0,1,0,1,0,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,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,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,1,1,0,0,0,1,0]);function getBreakStates(e,t,n,r,i){let a=t.length,o=new Uint8Array(a),s=r,c=0,l=!1;for(let r=0;r<=a;r++){let u=r<a?t.charCodeAt(r):-1,d=u===32||u===9||u===13;s&&!d&&u>=0&&(o[r]=1),s=d,u>=0&&!d&&(n||u!==10)?u>=32&&u<=127&&C[u-32]===1||(l=!0):(r>c&&l&&markWordBreaks(e,t,c,r,i,o),l=!1,c=r+1)}return o}function getGeckoLineBreaks(e,t,n,r,i=null){let a=e.length,o=new Uint8Array(a+1);if(a===0)return{breaks:o,leftOut:null,dropsBidiControl:!1};let s=!0;for(let t=0;t<a&&s;t++)s=e.charCodeAt(t)<256;let c=transformText(e,s,t,i),l=c.text.length;if(l===0)return{breaks:o,leftOut:null,dropsBidiControl:c.dropsBidiControl};let u={clusterStart:new Uint8Array(l).fill(1),isSpace:new Uint8Array(l)};splitAndInitTextRun(u,c.text,r,new Int32Array(l));let d=getBreakStates(S??={classes:unpackClasses(`gecko/line`),states:unpackTable(`kCQB/QMBAf8AAgABAwABBAH9BQgAAQYB/QQKAAEEAf0EEwAHPQH/DkQB/wdEAf8BBQT///8qBEgADEQC/T8BAgAgiAEBKgEPAT5SiAEE/z//QA6IAQAWRAL/Pg/MAQH/BgIAIMwBABDUAgBAkAIABCEAIkQBPBKIAQAOoAQB/SvMAQH/BgEACAwAEQEBKhIXAf1KAQH/BKwEAAa+AQH9Bw0D/f+yFpgDACawBgA6RAAE5AQC/TtV9AYAIEQABYgBAv87ErgHAB3qAgAnLAAEiAEB/xGQAgBA1AIAPkQAJewFADQBABuIAQAEJAA4zAEB/yKQAgADoAQBPQugBAE9KdgLAB3ACAH/RLAGACpEAf9xoAQAIvQGAAREACbUAgABiwMAAiwAZqAEAEeoBQCEAQEAXdwDABuwBgArrAgBNxDACABARAAgzAEAArwBADrgDAAtRAAVswoAWkQAQNgLAAoPASs/RAEsHDABOC7gDAAL7AUBQVj0FwAOkBMB/RGQEwP9Of0qhAkB/07gDABeRAAoiQQAFagWAEyYAwAPxBMACzABNRIlAGmMCgErQ4wKABGwBgH+BQEB/wADAf8ABgH/BhIABg0C/v8EHAT//v/+CAEASZgUAf0LzBIABrAGAAUPArH9FLgYAAfxBgAb9AYAAEQBPFbQGwACVwA4sAYB/iwBAf8OEwATogIB/xAOASoFtwIAVsAIAHwBAA==`)},c.text,s,hasCompressedLeadingWhitespace(e,c.skipped,s,t),n);for(let t=1;t<l;t++){let n=c.orig[t],r=d[t]===1&&(u.clusterStart[t]===1||u.isSpace[t-1]===1),i=c.skipped[n-1]===1&&e.charCodeAt(n-1)===173;r||i?o[n]=r&&i?9:1:u.clusterStart[t]===1&&(o[n]=2)}return{breaks:o,leftOut:c.leftOut,dropsBidiControl:c.dropsBidiControl}}const w=[`text`,`space`,`zero-width-break`,`soft-hyphen`,`preserved-space`,`tab`,`zero-width-glue`,`control`,`hard-break`],T=/[ \t\n\r\f]{2,}|[\t\n\r\f]/g,E=/[\t\n\r\f]| {2,}|^ | $/;function isSegmentBreakRunSpace(e,t){return e===32||e===9||e===10||e===13&&t===`blink`}function removeSkippableSegmentBreaks(e,t,n=null){let r=t.lineBreakScan;if(r===`webkit`||!e.includes(`
2
+ `))return e;let i=r===`gecko`&&D.test(e);if(!i&&!e.includes(`​`))return e;let a=i&&isJapaneseOrChinese(n),o=``,s=0;for(let t=e.indexOf(`
3
+ `);t!==-1;){let n=t;for(let i=t-1;i>=0;i--){let t=e.charCodeAt(i);if(isSegmentBreakRunSpace(t,r))n=i;else if(!(r===`gecko`&&isDiscardable(t,!1)))break}let c=t+1,l=c;for(;l<e.length;l++){let t=e.charCodeAt(l);if(isSegmentBreakRunSpace(t,r))c=l+1;else if(!(r===`gecko`&&isDiscardable(t,!1)))break}if(t=e.indexOf(`
4
+ `,l),r===`gecko`&&e.charCodeAt(c-1)===32&&isSpaceCombiningSequenceTail(e,c)&&c--,e.charCodeAt(n-1)===8203||e.charCodeAt(c)===8203||i&&isEastAsianSegmentBreak(e,n,c,a)){o+=e.slice(s,n);for(let t=n;t<c;t++)isSegmentBreakRunSpace(e.charCodeAt(t),r)||(o+=e[t]);s=c}}return s===0?e:o+e.slice(s)}function getTrailingCollapsibleStart(e,t,n){let r=e.length;for(let i=e.length-1;i>=t;i--){let t=e.charCodeAt(i);if(isCollapsibleSpaceCode(t))r=i;else if(!(n.lineBreakScan===`gecko`&&isBidiControl(t)))break}return r}const D=/[\u1100-\uFFFF]/;function collapseWhitespaceNormal(e){if(!E.test(e))return e;let t=e.replace(T,` `);return t.charCodeAt(0)===32&&(t=t.slice(1)),t.length>0&&t.charCodeAt(t.length-1)===32&&(t=t.slice(0,-1)),t}function normalizeWhitespacePreWrap(e){return/[\r\f]/.test(e)?e.replace(/\r\n/g,`
5
+ `).replace(/[\r\f]/g,`
6
+ `):e}const O=/\p{M}/u;function classifySegmentBreakCode(e,t,n){if(t===`pre-wrap`){if(e===32)return 4;if(e===9)return 5;if(e===10)return 8}return e===32?1:e===8203?2:e===173?3:e===133&&n===`webkit`?7:0}function isCollapsibleSpaceCode(e){return e===32||e===9||e===10||e===13||e===12}function mapSourceLineBreaks(e,t,n,r,i){let a=new Uint8Array(t+1),o=0;if(r===`pre-wrap`){for(let t=0;t<e.length;t++,o++)a[o]=n[t],e.charCodeAt(t)===13&&e.charCodeAt(t+1)===10&&(t++,n[t]&1&&(a[o]=n[t]));return a[t]=n[e.length],a}let s=0;for(;s<e.length&&isCollapsibleSpaceCode(e.charCodeAt(s));)s++;for(;s<e.length;){let t=s+1;if(isCollapsibleSpaceCode(e.charCodeAt(s))){for(;t<e.length&&isCollapsibleSpaceCode(e.charCodeAt(t));)t++;if(t===e.length)break}!(n[s]&1)&&a[o]===0&&(a[o]=n[s]),i!==null&&(i[o]=e.charCodeAt(s));let r=s;for(;s<t;s++)n[s]&1&&(a[s===r?o:o+1]=n[s]);o++}return a[t]=n[s]&1?n[s]&4:n[s],a}function classifySegmentUnit(e,t,n,r,i,a){return(r===8232||r===8233)&&t[n+1]&4?8:r===173&&t[n+1]&8&&followsChunkContent(e,n)?2:classifySegmentBreakCode(r,i,a)}function followsChunkContent(e,t){let n=t-1;for(;n>=0&&e.charCodeAt(n)===173;)n--;return n>=0&&e.charCodeAt(n)!==10}function gathersKind(e){return e===0||e===1||e===4||e===3}function isControlSegmentCode(e){return e<32||e>=127&&e<=159||e===8232||e===8233}function segmentAtLineBreaks(e,t,n,r,i,a,o){let s=i===`gecko`?128:0,c=[],l=[],u=!1,d=!1,f=-1,p=-1;for(let t=0;t<e.length;t++){let a=e.charCodeAt(t);if(o&&t<f)continue;if(o&&isDiscardable(a,!1)&&(t===0||n[t]&16||!isDiscardable(e.charCodeAt(t-1),!1))){let a=t,o=-1;for(;a<e.length&&isDiscardable(e.charCodeAt(a),!1)&&(a===t||!(n[a]&16));a++)isBidiControl(e.charCodeAt(a))&&(o=a+1);if(o>0){let m=p>=0&&p!==8&&!!(n[t]&16),h=p<0||p===8||m;if(h){let o=a===e.length||classifySegmentUnit(e,n,a,e.charCodeAt(a),r,i)===8;if(o||(m&&(n[t]=n[t]|n[a]&1),n[a]=n[a]&-10),f=a,o&&p>=0)continue}else f=o;(h||u||d)&&(c.push(t),l.push(0|s),p=0,u=!1,d=!1);continue}}let m=classifySegmentUnit(e,n,t,a,r,i),h=m===0&&isControlSegmentCode(a),g=!(n[t]&1);!(n[t]&17)&&!h&&!u&&(!d||O.test(e[t]))&&m===p&&gathersKind(m)?n[t]&2&&(l[l.length-1]=l[l.length-1]&-129):(d=g&&m===0&&O.test(e[t])&&(u||p===2||p===3||p===7),c.push(t),l.push(m|s),p=m,u=h)}let m=!1,h=l.length;for(let e=h-2;e>=0;e--){let t=l[e]&15,r=l[e+1]&15;if(!(n[c[e+1]]&1||t===8)){if(!a&&(r===5||r===4&&t===5)){if(t===3)continue}else if(r===0||r===6||r===7)(t===2||t===3)&&(l[e]=l[e]&-16|6);else continue;l[e+1]=l[e+1]|32,m=!0}}if(m)for(let e=0;e<h;e++)l[e]&32||(l[e]=l[e]|64);let g=[];for(let t=0;t<h;t++)g.push(e.slice(c[t],t+1<h?c[t+1]:e.length));return{normalized:e,spaceSources:t,texts:g,starts:c,flags:l,hasUnbroken:m}}function analyzeText(e,t,n=`normal`,r=`normal`,i=null,a=null){let o=n===`pre-wrap`,s=a===null?null:[],c=o?e:a!==null&&a.ownSegmentBreaks?removeItemsSkippableSegmentBreaks(e,a.starts,t,i,s):removeSkippableSegmentBreaks(e,t,i);if(a!==null&&s.length===0)for(let e=0;e<a.starts.length;e++)s.push(a.starts[e]);let l=o?normalizeWhitespacePreWrap(e):collapseWhitespaceNormal(c),u=r===`keep-all`,d,f=null,p=!1;if(t.lineBreakScan===`blink`)d=getBlinkLineBreaks(l,u,i);else{let e;if(t.lineBreakScan===`webkit`){if(e=a===null?getWebKitLineBreaks(c,o,u,i):getWebKitParagraphBreaks(c,a,o,u,i),!o&&c!==l&&/\r(?!\n)/.test(c)){let t=0;for(let n=0;n<c.length;n++)c.charCodeAt(n)!==13||c.charCodeAt(n+1)===10?e[t++]=e[n]:e[n+1]=e[n+1]|e[n];e[t]=e[c.length],c=c.replace(/\r(?!\n)/g,``),l=collapseWhitespaceNormal(c)}}else{let n=getGeckoLineBreaks(c,o,u,t.graphemeTable,s);if(p=n.dropsBidiControl,e=n.breaks,a!==null)for(let t=0;t<a.atomic.length;t++){if(!a.atomic[t])continue;let n=s[t]+1;for(;n<c.length&&isDiscardable(c.charCodeAt(n),!1);)n++;e[n]=e[n]&-9}let r=n.leftOut,i=!o&&(p||r!==null)?getTrailingCollapsibleStart(c,0,t):c.length;if(r!==null||i<c.length){let t=-1;if(r!==null&&i<c.length)for(let e=i-1;e>=0;e--){let n=c.charCodeAt(e);if(!isSpaceOrTabOrSegmentBreak(n)&&!isDiscardable(n,!1))break;if(isSpaceOrTabOrSegmentBreak(n)&&r[e]!==1){t=-1;break}isSpaceOrTabOrSegmentBreak(n)&&(t=e)}let n=r===null?i:0,a=``,o=0,s=n,u=n-1;for(let l=n;l<c.length;l++){if(l<i?r!==null&&r[l]===1&&l!==t:isCollapsibleSpaceCode(c.charCodeAt(l))){a+=c.slice(o,l),o=l+1;continue}let n=e[l];e[s++]=u>=0&&u<l-1&&n&1&&c.charCodeAt(u)===173?n|8:n,u=l}e[s]=e[c.length],c=a+c.slice(o),l=collapseWhitespaceNormal(c)}}t.lineBreakScan===`webkit`&&!o&&c!==l&&(f=new Uint16Array(l.length)),d=c===l?e:mapSourceLineBreaks(c,l.length,e,n,f)}return a!==null&&markItemStarts(e,l,d,a,t.lineBreakScan),segmentAtLineBreaks(l,f,d,n,t.lineBreakScan,t.hangTabs,p)}function removeItemsSkippableSegmentBreaks(e,t,n,r,i){if(n.lineBreakScan===`webkit`||!e.includes(`
7
+ `))return e;let a=``,o=0,s=e.indexOf(`
8
+ `);for(let c=0;c<t.length;c++){let l=t[c],u=c+1<t.length?t[c+1]:e.length;if(i.push(a.length+l-o),s<0||s>=u)continue;let d=e.slice(l,u),f=removeSkippableSegmentBreaks(d,n,r);f.length!==d.length&&(a+=e.slice(o,l)+f,o=u),s=e.indexOf(`
9
+ `,u)}return o===0?e:a+e.slice(o)}function alignToSource(e,t,n){let r=new Int32Array(t.length),i=n===`blink`?-1:13,a=n===`gecko`?12:-1,o=0;for(let n=0;n<t.length;n++){let s=t.charCodeAt(n);for(;o<e.length;){let t=e.charCodeAt(o);if(t===s||isCollapsibleSpaceCode(t)&&(s===32?t!==i&&t!==a:s===10))break;o++}r[n]=o++,s===10&&e.charCodeAt(o-1)===13&&e.charCodeAt(o)===10&&o++}return r}function markItemStarts(e,t,n,r,i){let a=r.sourceOffsets=alignToSource(e,t,i),{starts:o,atomic:s}=r;for(let e=0,r=0;e<o.length;e++){for(;r<t.length&&a[r]<o[e];)r++;if(r===t.length)break;n[r]=n[r]|16,s[e]&&a[r]===o[e]&&(n[r]=n[r]|1,n[r+1]=n[r+1]|17)}}function getWebKitParagraphBreaks(e,t,n,r,i){let{items:a,starts:o,atomic:s}=t,c=new Uint8Array(e.length+1),l=-1;for(let t=0;t<o.length;t++){let u=o[t],d=t+1<o.length?o[t+1]:e.length;if(u===d)continue;let f=e.charCodeAt(u);if(d-u>1||f===8232||f===8233){let e=getWebKitLineBreaks(a[t].text,n,r,i);for(let t=1;t<=d-u;t++)c[u+t]=e[t]}if(l>=0&&!s[t]&&!s[l]){let o=e.charCodeAt(u-1);(!n&&(f!==13&&isCollapsibleSpaceCode(f)||o!==13&&isCollapsibleSpaceCode(o))||getWebKitBreakBetweenItems(a[l].text,a[t].text,r,i))&&(c[u]=c[u]|1)}l=t}return c}const ee=/* @__PURE__ */ `.Zapfino.Menlo.Kefa III.Geeza Pro.Snell Roundhand.Kohinoor Bangla.Kokonor|Kailasa.Kailasa.Galvji.Noto Sans Tagalog.Kohinoor Gujarati.Lucida Grande|Arial Hebrew.Apple Chancery|Arial Hebrew.Courier New.ITF Devanagari|Kohinoor Devanagari.Kohinoor Devanagari.Noto Sans Armenian.Euphemia UCAS.Hiragino Mincho ProN.Hiragino Sans.Helvetica.Khmer MN|Khmer Sangam MN.Khmer Sangam MN.Kannada MN|Noto Sans Kannada.Noto Sans Kannada.AppleMyungjo|Apple SD Gothic Neo.Apple SD Gothic Neo.Noto Nastaliq Urdu.Lao MN|Lao Sangam MN.Lao Sangam MN.Malayalam MN|Malayalam Sangam MN.Malayalam Sangam MN.Noto Serif Myanmar|Noto Sans Myanmar.Noto Sans Myanmar.Oriya MN|Noto Sans Oriya.Noto Sans Oriya.Mukta Mahee.Sinhala MN|Sinhala Sangam MN.Sinhala Sangam MN.Tamil Sangam MN.Kohinoor Telugu.Thonburi.Songti TC|PingFang HK.PingFang HK.Songti SC|PingFang SC.PingFang SC.Songti TC|PingFang TC.PingFang TC.Songti TC|PingFang MO.PingFang MO`.split(`.`),te={"":[0,0,0,1,2],am:[3,3,3,3,2],ar:[4,4,4,4,2],bg:[0,0,5,5,2],bn:[6,6,6,6,2],bo:[7,8,7,7,2],chr:[9,9,9,9,2],ckb:[4,4,4,4,2],fa:[4,4,4,4,2],fil:[10,10,10,10,2],gu:[11,11,11,11,2],he:[0,12,13,0,14],hi:[15,16,16,16,2],hy:[17,17,17,17,2],iu:[18,18,18,18,2],ja:[19,20,19,19,2],ka:[21,0,21,21,2],km:[22,23,22,22,2],kn:[24,25,24,24,2],ko:[26,27,26,26,2],ks:[28,28,28,28,2],lo:[29,30,29,29,2],lrc:[4,4,4,4,2],ml:[31,32,31,31,2],my:[33,34,33,33,2],mzn:[4,4,4,4,2],or:[35,36,35,35,2],pa:[37,37,37,37,2],ps:[4,4,4,4,2],ro:[0,0,5,5,2],ru:[0,0,5,5,2],sd:[4,4,4,4,2],si:[38,39,38,38,2],sr:[0,0,5,5,2],ta:[40,40,40,40,2],te:[41,41,41,41,2],th:[42,42,42,42,2],tr:[0,0,5,5,2],ug:[4,4,4,4,2],uk:[0,0,5,5,2],ur:[28,28,28,28,2],yi:[0,12,13,0,14],yue:[43,44,43,43,2],zh:[45,46,45,45,2],"kk-arab":[4,4,4,4,2],"ks-arab":[4,4,4,4,2],"ks-deva":[0,0,0,1,2],"ms-arab":[4,4,4,4,2],"pa-arab":[4,4,4,4,2],"sd-deva":[0,0,0,1,2],"ur-arab":[4,4,4,4,2],"uz-arab":[4,4,4,4,2],"yue-hans":[45,46,45,45,2],"zh-hant":[47,48,47,47,2],"zh-hk":[43,44,43,43,2],"zh-mo":[49,50,49,49,2],"zh-tw":[47,48,47,47,2],"pa-aran-pk":[28,28,28,28,2],"yue-hant-mo":[49,50,49,49,2],"zh-hant-hk":[43,44,43,43,2],"zh-hant-mo":[49,50,49,49,2]};let k=null,ne=null;const A=`0.000001px`,re=/\p{Emoji_Presentation}|\p{Extended_Pictographic}|\p{Emoji}\uFE0F/u,j=/[\p{Emoji_Presentation}\p{Extended_Pictographic}\p{Regional_Indicator}\uFE0F\u20E3]/u,M=[`serif`,`sans-serif`,`cursive`,`fantasy`,`monospace`],ie=/("[^"]*"|'[^']*')|(^|,)(\s*)(serif|sans-serif|cursive|fantasy|monospace)(?=\s*(?:,|$))/gi,ae=/\dpx(?:\s*\/\s*\S+)?\s+/,oe=/(?:"[^"]*"|'[^']*'|[^,])+/g;function getWebKitGenericFamilies(e,t){let n=e.toLowerCase().replaceAll(`_`,`-`),r=null;for(let e=n;r===null;)if(` aa ab ady af ak am ar as ast av ay az ba be bg bi bn bo bs ca ce ceb ch chk cs cy da de dv dz ee efi el en es et eu fa fi fil fj fo fr fur fy ga gaa gd gil gl gn gsw gu ha haw he hi hil ho hr ht hu hy id ig ii ilo inh is it iu ja jv ka kaj kam kbd kha kk kl km kn ko kok kos kpe krc ks ku kum ky la lah lb lez ln lo lt lv mai mdf mg mh mi mk ml mn mr ms mt my myv na nb ne niu nl nn nr nso ny oc om or os pa pag pap pau pl pon ps pt qu rm rn ro ru rw sa sah sat sd se sg si sid sk sl sm so sq sr ss st su sv sw ta te tet tg th ti tig tk tkl tl tn to tpi tr trv ts tt tvl tw ty tyv udm ug uk und ur uz ve vi wal war wo xh yap yo za zh zh-hk zh-tw zu `.includes(` ${e} `))r=e===`zh`;else{let t=e.lastIndexOf(`-`);if(t<0||e.endsWith(`-zyyy`))return null;` arab armn bali batk beng blis bopo brah brai bugi buhd cans cham cher cirt copt cprt cyrl cyrs deva dsrt egyd egyh egyp ethi geok geor glag goth grek gujr guru hang hani hano hans hant hebr hira hmng hrkt hung inds ital java jpan kali kana khar khmr knda kore laoo latf latg latn lepc limb lina linb mand maya mero mlym mong mymr nkoo ogam orkh orya osma perm phag phnx plrd qaai roro runr sara shaw sinh sylo syrc syre syrj syrn tagb tale talu taml telu teng tfng tglg thaa thai tibt ugar vaii visp xpeo xsux yiii zxxx `.includes(` ${e.slice(t+1)} `)&&(r=e.endsWith(`-hani`)),e=e.slice(0,t)}r&&(n=`zh-hans`);let i=te[n];for(;i===void 0;)n=n.slice(0,Math.max(0,n.lastIndexOf(`-`))),i=te[n];let a=[];for(let e=0;e<i.length;e++){let n=i.indexOf(i[e]);if(n<e){a.push(a[n]);continue}let r=ee[i[e]],o=r.indexOf(`|`),s=o<0?r:hasFamily(t,r.slice(0,o))?r.slice(0,o):r.slice(o+1);a.push(s===``?``:`"${s}"`)}return a}const N=`Hamburg 한中 नम សួ ನಮ ສະ നമ မင ନମ ආය བཀ`;function hasFamily(e,t){for(let n of[`monospace`,`serif`]){e.font=`16px ${n}`;let r=e.measureText(N).width;if(e.font=`16px "${t}", ${n}`,e.measureText(N).width!==r)return!0}return!1}function getCanvasFont(e,t){let n=ae.exec(e);if(n===null)return e;let r=n.index+n[0].length;return e.slice(0,r)+e.slice(r).replace(ie,(e,n,r,i,a)=>{let o=n===void 0?t[M.indexOf(a.toLowerCase())]:``;return o===``?e:r+i+o})}function getHyphenText(e){if(e.hyphenText!==null)return e.hyphenText;let t=e.canvasFont,n=ae.exec(t),r=`-`;if(n!==null&&getSegmentMetrics(`‐`,e).width!==getSegmentMetrics(`-`,e).width){let i=getContext(e),a=n.index+n[0].length,o=t.slice(0,a),s=t.slice(a).match(oe)??[],c=o+`monospace`,l=o+`serif`;if(measureIn(i,c,` `)!==measureIn(i,l,` `)&&measureIn(i,c,`‐`)!==measureIn(i,l,`‐`))for(let e=0;e<s.length;e++){let t=`${o}${s[e]}, monospace`,n=`${o}${s[e]}, serif`;if(measureIn(i,t,` `)===measureIn(i,n,` `)){measureIn(i,t,`‐`)===measureIn(i,n,`‐`)&&(r=`‐`);break}}i.font=t}return e.hyphenText=r,r}function measureIn(e,t,n){return e.font=t,e.measureText(n).width}function getPreparationLanguage(e){k!==null&&k.segments>262144&&clearMeasurementCaches();let t=null;if(typeof document<`u`){let e=document.documentElement?.lang;typeof e==`string`&&(t=e)}return t===``&&e.laysOutUnderDefaultLocale?getBlinkDefaultLocale():t}function readLetterSpacing(e,t){let n=e??0;if(!Number.isFinite(n))throw RangeError(`letterSpacing must be a finite number of CSS px, not ${n}`);if(!t.letterSpacingInAppUnits)return n;let r=Math.fround(Math.fround(n)*60);return Math.min(Math.round(Math.abs(r)),1073741823)*Math.sign(r)/60}function zeros(e){let t=[];for(let n=0;n<e;n++)t.push(0);return t}const P=2**20,F=[];function getExtraSpacings(e,t){if(!t.state.takesLetterSpacing)return F;let n=new Int32Array(e.length),r=findGraphemeEnds(getEngineProfile().graphemeTable,e,0,e.length,n),i=r<=96,a=t.glyphCounts,o=null,s=F;try{let c=0;for(let l=0,u=0;l<r;u=n[l++]){let d=e.slice(i?0:u,n[l]),f=a.get(d);f===void 0&&(o===null&&(o=getContext(t),o.letterSpacing=`${P}px`),f=Math.round(o.measureText(d).width/P),a.set(d,f));let p=f-(i?c:0)-1;c=f,(p!==0||s.length!==0)&&(s.length===0&&(s=zeros(r)),s[l]=p)}}finally{o!==null&&(o.letterSpacing=t.letterSpacing)}return s}function getSegmentMetrics(e,t){return t.metrics.get(e)??addMetrics(t.metrics,e,e,t)}function getFollowingSpaceMetrics(e,t){return t.followingSpaceMetrics.get(e)??addMetrics(t.followingSpaceMetrics,e,e+` `,t)}function addMetrics(e,t,n,r){let i={width:getContext(r).measureText(n).width,emojiCount:-1,fit:null,spaceKerning:null,extraSpacings:null};return e.set(t,i),r.state.segments++,!r.measuredKana&&I.test(t)&&(r.measuredKana=!0),i}const I=/[\u3041-\u30FF]/,L=/[\u3041-\u30FF]{2}/,R={after:0,before:0};function isCanvasWordLetter(e){return e>=12353&&e<=12438||e>=12449&&e<=12538||e>=13312&&e<=40959||e>=63744&&e<=64255}function takesNoSpaceKerning(e){return hasProperty(e,1)||(e&63488)==55296||isCanvasWordLetter(e)||e>=44032&&e<=55203}function getFontSpaceKerning(e){if(e.spaceKerning===void 0){let t=getContext(e),n=`\u2028`;for(let e=33;e<=126;e++)n+=String.fromCharCode(e)+`\u2028`;let r=t.measureText(n).width;t.fontKerning=`none`;let i=t.measureText(n).width;t.fontKerning=`auto`,e.spaceKerning=r!==i&&t.measureText(`\u2028`).width===getSegmentMetrics(` `,e).width?/* @__PURE__ */ new Map:null}return e.spaceKerning}function getCharacterSpaceKerning(e,t,n,r){let i=e<<1|!!t,a=r.get(i);if(a===void 0){if(a=0,!takesNoSpaceKerning(e)){let r=String.fromCharCode(e),i=getContext(n).measureText(t?`\u2028`+r:r+`\u2028`).width;a=i-getSegmentMetrics(r,n).width-getSegmentMetrics(` `,n).width,Math.abs(a)<=i/4194304&&(a=0)}r.set(i,a)}return a}function getSpaceKerning(e,t,n,r){let i=0,a=e.length-1;for(;i<a&&hasProperty(e.charCodeAt(i),4);)i++;for(;a>i&&hasProperty(e.charCodeAt(a),4);)a--;let o=i<a&&hasProperty(e.charCodeAt(i+1),1)?0:getCharacterSpaceKerning(e.charCodeAt(i),!0,n,r),s=getCharacterSpaceKerning(e.charCodeAt(a),!1,n,r);return t.spaceKerning=s===0&&o===0?R:{after:s,before:o}}function getSpaceWidth(e){return e.spaceWidth??=getSegmentMetrics(` `,e).width}const z=`プダグタノムブイメえずぺ`;function getWholeRunContext(e){let t=e.state;return t.wholeRunContext===null&&(t.wholeRunContext=createContext(t.language),t.wholeRunContext.textRendering=`optimizeLegibility`),t.wholeRunFont!==e.kanaFont&&(t.wholeRunContext.font=t.wholeRunFont=e.kanaFont),t.wholeRunContext}function sameInk(e,t){let n=e.width/4194304;return Math.abs(e.width-t.width)<=n&&Math.abs(e.actualBoundingBoxLeft-t.actualBoundingBoxLeft)<=n&&Math.abs(e.actualBoundingBoxRight-t.actualBoundingBoxRight)<=n}function getFontKanaKerning(e){if(e.kanaKerning===void 0){e.kanaKerning=null;let t=e.canvasFont,n=ae.exec(t),r=n===null?0:n.index+n[0].length,i=n===null?null:t.slice(r).match(oe),a=i===null?1:i.length,o=null;for(let n=0;n<a;n++){let a=n===0?t:t.slice(0,r)+i.slice(n).join(`,`);e.kanaFont=a;let s=getWholeRunContext(e),c=s.measureText(z).width;s.fontKerning=`none`;let l=s.measureText(z);if(s.fontKerning=`auto`,o===null)o=l;else if(!sameInk(o,l))break;if(c!==l.width){if(n>0){let n=``;for(let e=12353;e<=12438;e++)n+=String.fromCharCode(e,12290);let r=s.measureText(n).width;e.kanaFont=t;let i=getWholeRunContext(e),o=i.measureText(n).width;i.fontKerning=`none`;let c=i.measureText(n).width;if(i.fontKerning=`auto`,o===c||Math.abs(r-o)>o/4194304)break;e.kanaFont=a}e.kanaKerning=(/* @__PURE__ */ new Float64Array(36481)).fill(NaN);break}}e.kanaKerning===null&&(e.kanaFont=t)}return e.kanaKerning}function getKanaKerning(e,t,n,r,i){let a=e.charCodeAt(n);if(a<12353||a>12543)return 0;let o=e.charCodeAt(n-1);if(o<12353||o>12543)return 0;if(n>t){if(!isCanvasWordLetter(a))return 0;let r=n-1,i=o;for(;i>=12353&&i<=12543&&!isCanvasWordLetter(i);){if(r===t)return 0;i=e.charCodeAt(--r)}if(i>=11904&&!isCanvasWordLetter(i))return 0}let s=(o-12353)*191+a-12353,c=i[s];return Number.isNaN(c)?i[s]=measureKanaKerning(e.slice(n-1,n+1),r):c}function measureKanaKerning(e,t){let n=getWholeRunContext(t).measureText(e).width,r=n-getSegmentMetrics(e[0],t).width-getSegmentMetrics(e[1],t).width;return Math.abs(r)<=n/4194304?0:r}function getTextWidth(e,t,n){return getCorrectedSegmentWidth(e,getSegmentMetrics(e,t),t,n)}function getLayoutEngine(e){return e.includes(`Firefox/`)?`gecko`:e.includes(`AppleWebKit/537.36`)?e.includes(`Chrome/`)||e.includes(`Chromium/`)?`blink`:null:e.includes(`AppleWebKit/`)?`webkit`:null}function getEngineProfile(){return ne??=buildEngineProfile()}function buildEngineProfile(){let e=getLayoutEngine(typeof navigator>`u`?``:navigator.userAgent??``)??`blink`;return{lineBreakScan:e,graphemeTable:e===`webkit`?`apple/char`:e===`gecko`?`gecko/char`:`chromium/char`,lineFitEpsilon:e===`webkit`?1/64:.005,cutWordFit:e===`blink`?`reshaped-lines`:`segment-prefixes`,prefixFitMinWidth:e===`webkit`?0:80,cutWordKeepsLigatures:e===`gecko`,measureTextWithFollowingSpace:e===`webkit`,kernsAcrossCanvasWords:e===`blink`,letterSpaceDiscretionaryHyphen:e!==`blink`,letterSpacingInAppUnits:e===`gecko`,canvasLetterSpacingDropsLigatures:e!==`webkit`,unspacedCursive:e===`blink`?`run`:e===`gecko`?`cluster`:`none`,letterSpacesGlyphs:e===`webkit`,unfitHyphenRetreat:e===`blink`?`reduced-width`:e===`gecko`?`full-width`:`full-width-or-first`,hyphenFromPrimaryFont:e!==`gecko`,letterSpaceTabStops:e!==`webkit`,letterSpaceTabs:e===`webkit`,tabMinimumCharacter:e===`gecko`?`0`:` `,tabsInAppUnits:e===`gecko`,hangTabs:e!==`gecko`,zeroWidthGlueTakesLine:e!==`gecko`,hidesControlCharacters:e===`gecko`,hanKerning:e===`blink`,hangsIdeographicSpace:e!==`webkit`,laysOutUnderDefaultLocale:e===`blink`,namesGenericFamiliesByLanguage:e===`webkit`&&!/^(?:Linux|Win32|Haiku|$)/.test(navigator.platform),hardBreakItemRetreat:e===`blink`?`item`:e===`webkit`?`fit`:`last-grapheme`,paddedOpeningFit:e===`blink`?`start`:e===`webkit`?`placed`:`both`,emptyAtomicAlwaysFits:e===`gecko`,hangsSpacesPerTextFrame:e===`gecko`,testsHyphenBeforeAtomic:e!==`webkit`,transformsSegmentBreaksAcrossItems:e===`blink`}}function parseFontSize(e){let t=e.match(/(?:^|\D)(\d+(?:\.\d+)?)\s*px/);return t?parseFloat(t[1]):16}function textMayContainEmoji(e){return j.test(e)}function getEmojiCorrection(e,t){let n=t.emojiCorrection;if(n!==null)return n;let r=parseFontSize(e),i=t.emojiWidth!==0,a=t.emojiWidth=getContext(t).measureText(`😀`).width;if(n=0,a>r+.5&&typeof document<`u`){let r=readEmojiWidth(e);if(Number.isNaN(r))return 0;if(a-r>.5&&(n=a-r,i)){for(let e of t.metrics.values())e.fit=null;for(let e of t.followingSpaceMetrics.values())e.fit=null}}return t.emojiCorrection=n,n}function readEmojiWidth(e){let t=document.body;if(t===null&&document.head===null)return NaN;let n=document.createElement(`span`);n.style.cssText=`all:initial!important;-webkit-locale:inherit!important;display:inline-block!important;visibility:hidden!important;position:absolute!important`,n.style.setProperty(`font`,e,`important`),n.textContent=`😀`;let r=t===null?NaN:readWidthIn(t,n);return Number.isNaN(r)&&(r=readWidthIn(document.documentElement,n)),r}function readWidthIn(e,t){e.appendChild(t);let n=t.getBoundingClientRect().width,r=parseFloat(getComputedStyle(t).width);return e.removeChild(t),Math.abs(n-r)<=r*1e-5?n:r}const B=2**-20,V=2**-17;function getEmojiGlyphs(e,t){let n=getSegmentMetrics(e,t).width,r=Math.round(n/t.emojiWidth);return Math.abs(n-r*t.emojiWidth)<=n*B?r:0}const se=/[\p{Extended_Pictographic}\p{Emoji_Component}\uFE0E]+/gu;function countEmojiGlyphs(e,t){let n=new Int32Array(e.length),r=findGraphemeEnds(getEngineProfile().graphemeTable,e,0,e.length,n),i=0;for(let a=0,o=0;a<r;o=n[a++]){let r=e.slice(o,n[a]);if(!re.test(r))continue;let s=r.match(se);for(let e=0;e<s.length;e++)i+=getEmojiGlyphs(s[e],t)}return i}function getCorrectedSegmentWidth(e,t,n,r){return r===0?t.width:(t.emojiCount<0&&(t.emojiCount=countEmojiGlyphs(e,n)),t.width-t.emojiCount*r)}function getSegmentFit(e,t,n,r,i,a=null){if(t.fit!==null&&t.fit.mode===i)return t.fit;let o=getEngineProfile(),s=new Int32Array(e.length),c=findGraphemeEnds(o.graphemeTable,e,0,e.length,s);if(c<=1)return t.fit={mode:i,advances:null,lineStartExtras:null};let l,u=null,d=!1;if(i===`reshaped-lines`){let i=getCorrectedSegmentWidth(e,t,n,r)-(a??0),o=measureFitAdvances(e,s,c,`sum-graphemes`,t,n,r,a);if(l=o,!addUpTo(o,i)){l=measureFitAdvances(e,s,c,`pair-context`,t,n,r,a),d=c>96||addUpTo(l,i),d||(l=measureFitAdvances(e,s,c,`segment-prefixes`,t,n,r,a)),u=[0];for(let e=1;e<c;e++)u.push(o[e]-l[e])}}else{let u=i===`segment-prefixes`&&c<=96;d=i!==`sum-graphemes`&&!u,l=measureFitAdvances(e,s,c,d?`pair-context`:i,t,n,r,a),u&&o.cutWordKeepsLigatures&&countLigaturesOnFirstLetter(e,s,l,n,r)}if(o.kernsAcrossCanvasWords&&n.kanaKerning!==null&&L.test(e)){let t=getFontKanaKerning(n);if(t!==null)for(let r=1;r<c;r++){let i=getKanaKerning(e,d&&r>1?s[r-2]:0,s[r-1],n,t);i>0?l[r-1]=l[r-1]+i:i<0&&(l[r]=l[r]+i,u??=zeros(c),u[r]=u[r]-i)}}return t.fit={mode:i,advances:l,lineStartExtras:u}}function countLigaturesOnFirstLetter(e,t,n,r,i){if(!r.state.shapesLetterSpaced||r.letterSpacing!==`0px`)return;let a=0;for(let o=1;o<n.length;o++){let s=t[o-1],c=getTextWidth(e.slice(s,t[o]),r,i);Math.round((n[o]-c)*60)!==0&&isLigature(e.slice(o===1?0:t[o-2],t[o]),r)?(n[a]=n[a]+n[o],n[o]=0):a=o}}function isLigature(e,t){let n=t.ligaturePairs.get(e);if(n===void 0){let r=getContext(t),i=getSegmentMetrics(e,t).width;r.letterSpacing=A,n=r.measureText(e).width!==i,r.letterSpacing=`0px`,t.ligaturePairs.set(e,n)}return n}function addUpTo(e,t){let n=0;for(let t=0;t<e.length;t++)n+=e[t];return Math.abs(n-t)<=t*V}function measureFitAdvances(e,t,n,r,i,a,o,s){let c=r===`segment-prefixes`,l=r===`pair-context`,u=[],d=0,f=0;for(let r=0,p=0;r<n;p=t[r++]){let m=t[r];if(c){let t=s!==null&&r===n-1?getCorrectedSegmentWidth(e,i,a,o)-s:getTextWidth(e.slice(0,m),a,o);u.push(t-f),f=t;continue}let h=getTextWidth(e.slice(p,m),a,o);u.push(l&&r>0?getTextWidth(e.slice(d,m),a,o)-f:h),d=p,f=h}return s!==null&&!c&&(u[n-1]=u[n-1]+i.width-getSegmentMetrics(e,a).width-s),u}function getFontMeasurement(e,t,n){(k===null||k.language!==t)&&(k=createMeasureState(t));let r=k,i=n&&r.shapesLetterSpaced,a=i?r.letterSpacedFonts:r.fonts;r.font=``;let o=a.get(e);if(o===void 0){let t=r.genericFamilies===null?e:getCanvasFont(e,r.genericFamilies);if(!contextTakesFont(r.context,t))throw RangeError(`font must be a font string Canvas takes, a size in px then a family, such as 16px Inter, not "${e}"`);o={state:r,canvasFont:t,letterSpacing:i?A:`0px`,metrics:/* @__PURE__ */ new Map,followingSpaceMetrics:/* @__PURE__ */ new Map,spaceKerning:void 0,measuredKana:!1,kanaKerning:void 0,kanaFont:t,emojiCorrection:null,emojiWidth:0,hyphenText:null,spaceWidth:null,hanKerning:void 0,ligaturePairs:/* @__PURE__ */ new Map,glyphCounts:/* @__PURE__ */ new Map},a.set(e,o)}return o}function contextTakesFont(e,t){return e.font=`1px serif`,e.font=t,e.font!==`1px serif`||(e.font=`2px serif`,e.font=t,e.font!==`2px serif`)}function getContext(e){let t=e.state;return t.font!==e.canvasFont&&(t.context.font=t.font=e.canvasFont),t.letterSpacing!==e.letterSpacing&&(t.context.letterSpacing=t.letterSpacing=e.letterSpacing),t.context}function createContext(e){let t=null;if(typeof OffscreenCanvas<`u`?t=new OffscreenCanvas(1,1).getContext(`2d`):typeof document<`u`&&(t=document.createElement(`canvas`).getContext(`2d`)),t===null)throw Error(`Text measurement requires OffscreenCanvas or a DOM canvas context.`);return e!==null&&`lang`in t&&(t.lang=e),t}function createMeasureState(e){let t=createContext(e),n=getEngineProfile(),r=typeof t.letterSpacing==`string`;return{language:e,context:t,font:``,letterSpacing:`0px`,wholeRunContext:null,wholeRunFont:``,genericFamilies:e!==null&&n.namesGenericFamiliesByLanguage?getWebKitGenericFamilies(e,t):null,takesLetterSpacing:r,shapesLetterSpaced:r&&n.canvasLetterSpacingDropsLigatures,fonts:/* @__PURE__ */ new Map,letterSpacedFonts:/* @__PURE__ */ new Map,segments:0}}function clearMeasurementCaches(){k!==null&&(k.fonts.clear(),k.letterSpacedFonts.clear(),k.segments=0)}const H=/\p{Ps}/uy,U=/\p{Pe}/uy,ce=/[\u2018-\u301F\uFF08-\uFF60]/;function maybeHanKerns(e){return e>=8216&&e<=12319||e>=65288&&e<=65376}function textMayHanKern(e){return ce.test(e)}function getStaticCharType(e,t){let n=e.charCodeAt(t);switch(n){case 8216:case 8220:return 9;case 8217:case 8221:return 10;case 12289:case 12290:case 65292:case 65294:return 6;case 65306:return 7;case 65307:return 8;case 183:case 8231:case 12288:case 12539:return 3;default:{if(n<40||!hasProperty(n,2))return 0;let r=n>=12288&&n<=12351||n>=65281&&n<=65376||n>=65504&&n<=65510;return H.lastIndex=U.lastIndex=t,H.test(e)?r?1:4:U.test(e)?r?2:5:0}}}function getTypeFromBounds(e,t,n){let r=String.fromCharCode(t),i,a,o;if(isCanvasCjkSymbol(t)){let t=e.measureText(`中`+r);i=t.width-n,o=t.actualBoundingBoxRight-n,a=-e.measureText(r+`中`).actualBoundingBoxLeft}else{let t=e.measureText(r);i=t.width,a=-t.actualBoundingBoxLeft,o=t.actualBoundingBoxRight}let s=i/2,c=o<=s?2:a>=s?1:o-a<=s&&a>=s/2?3:0;return{advance:i,type:c}}function getTrim(e,t,n){let r=e.trims.get(t);if(r===void 0){let i=String.fromCharCode(t);r=2*getSegmentMetrics(i,n).width-getSegmentMetrics(i+i,n).width,e.trims.set(t,r)}return r}function getFontData(e){if(e.hanKerning!==void 0)return e.hanKerning;let t={typeForDot:0,typeForColon:0,typeForSemicolon:0,quoteFullwidth:!1,trims:/* @__PURE__ */ new Map};if(getTrim(t,12300,e)<=.001)return e.hanKerning=null,null;let n=getSegmentMetrics(`中`,e).width,r=getContext(e),i=[12289,12290,65292,65294,65306,65307,8220,8216,8221,8217].map(e=>getTypeFromBounds(r,e,n)),group=(e,t)=>{for(let n=e+1;n<t;n++)if(i[n].advance!==i[e].advance||i[n].type!==i[e].type)return 0;return i[e].type};return t.typeForDot=group(0,4),t.typeForColon=i[4].type,t.typeForSemicolon=i[5].type,t.quoteFullwidth=group(6,8)===1&&group(8,10)===2,e.hanKerning=t,t}function getCharType(e,t,n){let r=getStaticCharType(t,n);switch(r){case 6:return e.typeForDot;case 7:return e.typeForColon;case 8:return e.typeForSemicolon;case 9:return e.quoteFullwidth?1:4;case 10:return e.quoteFullwidth?2:5;default:return r}}function haltedSide(e,t){return t===1&&(e===1||e===3||e===2||e===4)?1:e===2&&(t===2||t===3||t===5)?-1:0}function isCanvasCjkSymbol(e){return e>=12288&&e<=12543||e>=65072&&e<=65135||e>=65280&&e<=65519&&e!==65307}function getHanKerningTrims(e,t,n,r){let i={widthTrims:null,lineStartExtras:null,lineEndTrims:null,overflowLineEndTrims:null},a=getFontData(e);if(a===null)return i;let{flags:o,starts:s,normalized:c}=t,l=o.length,addWidthTrim=(e,t)=>{i.widthTrims??=zeros(r-n),i.widthTrims[e-n]=i.widthTrims[e-n]+t};for(let t=n;t<r;t++){if(o[t]&15)continue;let u=s[t],d=t+1<l?s[t+1]:c.length,f=c.charCodeAt(u);if(t>0&&maybeHanKerns(f)&&haltedSide(getCharType(a,c,u-1),getCharType(a,c,u))===1){let o=getTrim(a,f,e);i.lineStartExtras??=zeros(r-n),i.lineStartExtras[t-n]=o,addWidthTrim(t,o)}for(let n=u+1;n<d;n++){let r=c.charCodeAt(n-1),i=c.charCodeAt(n);if(!(maybeHanKerns(r)||maybeHanKerns(i))||isCanvasCjkSymbol(r)===isCanvasCjkSymbol(i))continue;let o=haltedSide(getCharType(a,c,n-1),getCharType(a,c,n));o!==0&&addWidthTrim(t,getTrim(a,o===1?i:r,e))}let p=c.charCodeAt(d-1);if(!maybeHanKerns(p))continue;let m=t+1===l;if(!m&&haltedSide(getCharType(a,c,d-1),getCharType(a,c,d))===-1){addWidthTrim(t,getTrim(a,p,e));continue}let h=getStaticCharType(c,d-1);h!==2&&h!==10||getCharType(a,c,d-1)!==2||(m||!(o[t+1]&15)&&!(o[t+1]&32)?(i.lineEndTrims??=zeros(r-n),i.lineEndTrims[t-n]=getTrim(a,p,e)):(i.overflowLineEndTrims??=zeros(r-n),i.overflowLineEndTrims[t-n]=getTrim(a,p,e)))}return i}function countRenderedSpacingGraphemes(e,t,n){return t===2?0:findGraphemeEnds(n,e,0,e.length,null)}function addInternalLetterSpacing(e,t,n){return t>1?e+(t-1)*n:e}const W=[741,745,768,879,1425,1469,1471,1487,1536,4255,4352,4607,4957,4959,5888,6319,6400,6479,6528,6623,6656,7423,7616,7679,8400,8447,9977,9977,11503,11505,12330,12335,12441,12444,42620,42621,42736,42737,43008,44031,55216,55295,65024,65039,65056,65071,68096,68191,69632,69839,69888,70111,70144,70223,70320,70527,70656,70879,71040,71263,71296,71375,71424,72895,92928,93071,125184,125279,127462,127487,127995,127999,917504,917631,917760,917999],G=/\p{Extended_Pictographic}/u,le=lazyRegExp(String.raw`^\p{M}`,`u`),ue=/^[\p{Nd}:\-/×,.+\u2013\u2014]+$/u,K=/^[\p{Cc}\u2028\u2029]$/u;function needsComplexTextPath(e){let t=!1;for(let n=0;n<e.length;){let r=e.codePointAt(n);if(n+=r>65535?2:1,r===8205&&t)return!0;t=r>65535&&G.test(String.fromCodePoint(r));for(let e=0;e<W.length&&r>=W[e];e+=2)if(r<=W[e+1])return!0}return!1}const q=/[\u0590-\u08FF\uFB1D-\uFDFF\uFE70-\uFEFF\u200F\u{10800}-\u{10FFF}\u{1E800}-\u{1EFFF}\u202A-\u202E\u2066-\u2069]/u;function isSpaceKind(e){return e===1||e===4}let J=null;function getScriptFacts(e){return t[getClass(J??=unpackClasses(`chromium/script`),e)]}function getScriptFactsAt(e,t){let n=e.codePointAt(t),r=getScriptFacts(n),i=t+(n>65535?2:1);if(r&1024&&i<e.length){let t=getScriptFacts(e.codePointAt(i))>>5&31;if(t!==0)return r&-32|t}return r}function mayHoldCursive(e){for(let t=0;t<e.length;t++){if(e.charCodeAt(t)<128)continue;let n=getScriptFacts(e.codePointAt(t));if((n&31)==16||(n>>5&31)==16)return!0}return!1}function readScriptRuns(e,t,n){let{openBrackets:r}=e;for(;e.read<n||e.scripts===31&&e.read<t.length;){let n=t.codePointAt(e.read),i=getScriptFactsAt(t,e.read),a=i&31,o=i&8192?r.lastIndexOf(n-(i>>14)):-1;if(o>=0&&(r[o+1]!==0&&(a=r[o+1]),r.length=o+2),(e.scripts&a)!==0)e.scripts&=a;else{for(let t=r.length-1;t>0&&r[t]===0;t-=2)r[t]=e.scripts&-e.scripts;e.scripts=a}i&4096&&(r.length===64&&r.splice(0,2),r.push(n,0)),e.read+=n>65535?2:1}return e.scripts}function spaceSharesScriptRun(e,t,n,r){let i=getScriptFactsAt(t,n)&31;for(let e=n;i===31&&e+1<r&&hasProperty(t.charCodeAt(e),4);e++)i=getScriptFactsAt(t,e+1)&31;if(i===31)return!0;for(let e=n-2;e>=0;e--){(t.charCodeAt(e)&64512)==56320&&e>0&&e--;let n=getScriptFactsAt(t,e);if(n&8192)break;let r=n&31;if(r!==31){if(!(r&r-1))return(r&i)!==0;break}}return(readScriptRuns(e,t,n)&i)!==0}function getUnspacedGraphemes(e,t,n,r,i){let a=new Int32Array(n-t),o=findGraphemeEnds(r,e,t,n,a),s=null;for(let n=0,r=t;n<o;r=a[n++])(i===null?getScriptFacts(e.codePointAt(r))&2048:readScriptRuns(i,e,r+1)===16&&e.charCodeAt(r)!==160)&&(s??=[]).push(n);return s}function getFollowingSpaceTail(e,t,n){let{normalized:r,spaceSources:i,starts:a,flags:o}=e,s=t+1;for(;s<n&&(o[s]&15)==2;)s++;if(s>=n)return null;let c=o[s]&15,l=a[s];return c!==1&&c!==4||(i===null?r.charCodeAt(l):i[l])!==32?null:r.slice(a[t+1],l)}function getTailKerning(e,t,n){return getFollowingSpaceMetrics(e,t).width-getSegmentMetrics(e,t).width-n}function getJoinedNarrowing(e,t,n,r,i,a,o,s){if(r===null)return 0;let{texts:c,flags:l}=e,u=t+1;for(;u<n&&(l[u]&15)==3;)u++;if(u>=n||l[u]&15)return 0;let d=c[u],f=getCorrectedSegmentWidth(r,i,a,o)+getTextWidth(d,a,o),p=getTextWidth(r+d,a,o);return f-p>s?f-p:0}function getTextSegmentWidth(e,t,n,r,i,a){return getCorrectedSegmentWidth(e,t,n,r)-i+a}function measureAnalysis(e,t,n,r,i,a,o,s,c,l){let{normalized:u,texts:d,starts:f,flags:p}=e,m=t===0?0:f[t],h=t===0&&n===p.length?u:n===t+1?d[t]:u.slice(m,n<p.length?f[n]:u.length),g=l===null?[]:l.widths,_=l===null?new Uint8Array(n-t):l.segmentFlags,v=l===null?[]:l.breakableFitAdvances,y=i?[]:null,b=g.length,x=a!==0,S=getFontMeasurement(r,s,x),C=textMayContainEmoji(h)?getEmojiCorrection(r,S):0,w=h.includes(` `),T=w||h.includes(` `)?getSpaceWidth(S):0,E=o.letterSpaceTabStops?a:0,D=o.tabsInAppUnits?(Math.round(T*60)+Math.round(E*60))*8/60:(T+E)*8,O=0,ee=o.kernsAcrossCanvasWords&&h.includes(` `)?getFontSpaceKerning(S):null;ee!==null&&q.test(h)&&(ee=null);let te={read:0,scripts:31,openBrackets:[]},k=0,ne=x&&o.unspacedCursive!==`none`&&mayHoldCursive(h),A=!x,re=null,j=null,M=null,ie=null,ae=o.unfitHyphenRetreat===`full-width-or-first`;for(let r=t,i=b;r<n;r++,i++){let s=d[r],l=p[r],u=l&15,b=0,E=0,D=null;switch(u){case 0:{if(o.hidesControlCharacters&&K.test(s)){E=1;break}let d=o.measureTextWithFollowingSpace&&w?getFollowingSpaceTail(e,r,n):null,_=d===``,v=_?getFollowingSpaceMetrics(s,S):getSegmentMetrics(s,S);M=s,ie=v;let y=d===null||_?0:getTailKerning(s+d,S,T);if(ee!==null&&v.spaceKerning!==R){let e=r>t&&isSpaceKind(p[r-1]&15),a=r+1<n&&isSpaceKind(p[r+1]&15);if(e||a){let n=v.spaceKerning??getSpaceKerning(s,v,S,ee);a&&(y=Math.max(n.after,0),k=Math.min(n.after,0)),e&&n.before!==0&&((p[r-1]&15)!=4||r!==t+1&&(p[r-2]&15)!=8)&&spaceSharesScriptRun(te,h,f[r]-m,f[r]-m+s.length)&&(g[i-1]=g[i-1]+n.before)}}b=getTextSegmentWidth(s,v,S,C,_?T:0,y);let O=null,A=F;if(x&&(E=countRenderedSpacingGraphemes(s,u,o.graphemeTable),ne&&(O=getUnspacedGraphemes(h,f[r]-m,f[r]-m+s.length,o.graphemeTable,o.unspacedCursive===`run`?te:null),O!==null&&(b-=O.length*a)),o.letterSpacesGlyphs)){A=v.extraSpacings??=needsComplexTextPath(s)?getExtraSpacings(s,S):F;for(let e=0;e<A.length;e++)b+=A[e]*a}if(!c||l&128||s.length===1)break;let j=getSegmentFit(s,v,S,C,a===0?ue.test(s)?`pair-context`:v.width<o.prefixFitMinWidth?`sum-graphemes`:o.cutWordFit:`segment-prefixes`,_?T:null);if(D=j.advances,D===null)break;if(j.lineStartExtras!==null&&((re??=Array(n-t).fill(null))[r-t]=j.lineStartExtras),y!==0&&(D=D.slice(),D[D.length-1]=D[D.length-1]+y),A.length!==0){D=D.slice();for(let e=0;e<A.length;e++)D[e]=D[e]+A[e]*a}if(O!==null){D=D.slice();for(let e=0;e<O.length;e++)D[O[e]]=D[O[e]]-a}break}case 1:case 4:case 2:b=getTextWidth(s,S,C)+k,k=0,x&&(E=countRenderedSpacingGraphemes(s,u,o.graphemeTable));break;case 5:o.letterSpaceTabs&&(E=1),O===0&&(O=getTextWidth(o.tabMinimumCharacter,S,C)/2);break;case 7:{b=getTextWidth(s,S,C);let e=r+1<n?d[r+1]:``;x&&(r>t&&!(p[r-1]&15)&&needsComplexTextPath(d[r-1])||le().test(e)&&needsComplexTextPath(e))&&(E=1);break}}u!==0&&u!==1&&u!==2&&(A=!1),u!==0&&u!==3&&(M=null),_[i]=l&-129|(x&&E>0?16:0),g[i]=addInternalLetterSpacing(b,E,a),v[i]=D,y!==null&&(y[r-t]=s),u!==0&&s.charCodeAt(0)===173?(j??=zeros(r-t),j[r-t]=ae?0:getJoinedNarrowing(e,r,n,M,ie,S,C,o.lineFitEpsilon)):j!==null&&(j[r-t]=0)}let oe=getTextWidth(j===null?`-`:o.hyphenFromPrimaryFont?getHyphenText(S):`‐`,S,C)+(a===0?0:a*(o.letterSpaceDiscretionaryHyphen?2:1)),N={widthTrims:null,lineStartExtras:null,lineEndTrims:null,overflowLineEndTrims:null};if(o.hanKerning&&textMayHanKern(h)){N=getHanKerningTrims(S,e,t,n);let r=N.widthTrims;if(r!==null)for(let e=0;e<r.length;e++)g[b+e]=g[b+e]-r[e]}let P=N.lineStartExtras;if(o.kernsAcrossCanvasWords&&S.measuredKana&&S.kanaKerning!==null&&L.test(h)){let r=getFontKanaKerning(S);r!==null&&(P=addKanaKerning(P,g,b,e,t,n,S,r))}let I=N.lineEndTrims;o.hangsIdeographicSpace&&h.includes(` `)&&(I=addIdeographicSpaceHangs(I,e,S,a,oe,t,n));let z={widths:g,segmentFlags:_,simpleLineWalkFastPath:A&&!e.hasUnbroken,simpleLineCountFastPath:A,breakableFitAdvances:v,letterSpacing:a,discretionaryHyphenWidth:oe,discretionaryHyphenContexts:j,breakableLineStartExtras:re,lineStartExtras:P,lineEndTrims:I,overflowLineEndTrims:N.overflowLineEndTrims,tabStopAdvance:D,minimumTabAdvance:O};return y!==null&&(z.segments=y),z}function addKanaKerning(e,t,n,r,i,a,o,s){let{normalized:c,starts:l,flags:u}=r;for(let r=i;r<a;r++){if(u[r]&15)continue;let d=l[r],f=r+1<u.length?l[r+1]:c.length,p=n+r-i;for(let n=r>i?d:d+1;n<f;n++){let l=getKanaKerning(c,d,n,o,s);l!==0&&(n>d?t[p]=t[p]+l:l>0?t[p-1]=t[p-1]+l:(t[p]=t[p]+l,e??=zeros(a-i),e[r-i]=e[r-i]-l))}}return e}function addIdeographicSpaceHangs(e,t,n,r,i,a,o){let{normalized:s,starts:c,flags:l}=t;for(let t=a;t<o;t++){let u=t+1<l.length?c[t+1]:s.length;if(l[t]&15||s.charCodeAt(u-1)!==12288)continue;if(t+1<o){let e=l[t+1]&15;if(e!==8&&e!==1&&(e!==0||l[t+1]&32))continue}let d=u-1;for(;d>c[t]&&s.charCodeAt(d-1)===12288;)d--;let f=s.slice(d,u),p=t>0&&d===c[t]&&s.charCodeAt(d-1)===173,m=getSegmentMetrics(f,n).width+f.length*r-(p?i:0);m<=0||(e??=zeros(o-a),e[t-a]=e[t-a]+m)}return e}function breaksAfterKind(e){return!!(1<<e&62)}function isDiscretionaryLineEnd(e,t,n,r){return r===0&&n>0&&n<t&&(e[n-1]&15)==3}function consumesAtLineStart(e,t){return e===1||e===3||e===2&&!t}function getTabAdvance(e,t,n,r){if(r){let r=Math.round(t*60);if(r<=0)return 0;let i=Math.round(e*60);return(Math.ceil((i+Math.round(n*120)/2)/r)*r-i)/60}if(t<=0)return 0;let i=t-(e-Math.floor(e/t)*t);return i<n?i+t:i}function getItemTabAdvance(e,t,n,r,i){let a=t.tabStopAdvances===null?e.tabStopAdvance:t.tabStopAdvances[n],o=t.minimumTabAdvances===null?e.minimumTabAdvance:t.minimumTabAdvances[n];return getTabAdvance(r-(t.insideExtras===null?0:t.insideExtras[n]/2),a,o,i)+e.widths[n]}function getTerminalLetterSpacing(e,t,n,r,i,a,o){let{letterSpacing:s,segmentFlags:c}=e;if(s===0)return 0;if(o>0)return c[a]&16?s:0;let l=e.widths.length;if(isDiscretionaryLineEnd(c,l,a,o)||a>r&&a<l&&(c[a]&15)!=8&&1<<(c[a-1]&15)&n)return 0;for(let e=a-1;e>=r;e--){let n=c[e],a=n&15;if(a!==1&&(a===7||a===5||n&16||a===9||t!==null&&t[e]!==0))return e===r&&i>0||n&16?s:0}return 0}function normalizeMaxWidth(e){return e<=1/0?e:1/0}function normalizePreparedLineStart(e,t){let{segmentFlags:n}=e,r=e.widths.length,i=t.segmentIndex;if(i>=r)return!1;if(t.graphemeIndex>0)return!0;let a=i===0||(n[i-1]&15)==8;for(;;){let e=n[i]&15;if(e===8){if(a)return t.segmentIndex=i,t.graphemeIndex=0,!0;if(++i>=r)return!1;t.segmentIndex=i,t.graphemeIndex=0,a=!0}else if(consumesAtLineStart(e,a)){if(++i>=r)return!1}else return t.segmentIndex=i,t.graphemeIndex=0,!0}}function walkPreparedLinesRaw(e,t,n,r={lineCount:0,maxLineWidth:0}){let i={segmentIndex:0,graphemeIndex:0};if(!e.simpleLineWalkFastPath)return normalizePreparedLineStart(e,i)&&walkPreparedComplexLines(e,i,t,n,r),r.lineCount;let{segmentFlags:a}=e,o=e.widths.length;for(;;){let s=i.segmentIndex,c=s===0;for(;s<o&&consumesAtLineStart(a[s]&15,c);)s++;if(s>=o)return r.lineCount;let l=i.graphemeIndex;i.segmentIndex=s;let u=stepPreparedSimpleLineGeometry(e,i,t);r.lineCount++,u>r.maxLineWidth&&(r.maxLineWidth=u),n?.(u,s,l,i.segmentIndex,i.graphemeIndex)}}function countPreparedLines(e,t){if(!e.simpleLineWalkFastPath||e.overflowLineEndTrims!==null)return e.simpleLineCountFastPath?countSteppedLines(e,t):walkPreparedLinesRaw(e,t);let{widths:n,segmentFlags:r,breakableFitAdvances:i,breakableLineStartExtras:a,lineStartExtras:o,lineEndTrims:s}=e,c=Math.max(0,t)+getEngineProfile().lineFitEpsilon,l=n.length,u=0,d=0,f=!1;for(let e=0;e<l;e++){let t=r[e]&15,l=n[e],p=s===null?0:s[e];if(f){if(d+l-p<=c){d+=l;continue}if(u++,d=0,f=!1,t!==0)continue}else if(t===1||t===2&&e>0)continue;let m=o===null?l:l+o[e],h=i[e];if(m-p<=c||h===null){d+=m,f=!0;continue}let g=a?.[e]??null,_=0;for(;_<h.length;){for(g!==null&&(d+=g[_]),d+=h[_++];_<h.length&&d+h[_]<=c;)d+=h[_++];_<h.length?(u++,d=0):f=!0}}return u+ +!!f}function countSteppedLines(e,t){let{segmentFlags:n}=e,r=e.widths.length,i={segmentIndex:0,graphemeIndex:0},a=0;for(;normalizePreparedLineStart(e,i);){let o=i.segmentIndex,s=i.graphemeIndex;stepPreparedSimpleLineGeometry(e,i,t),i.graphemeIndex===0&&i.segmentIndex<r&&n[i.segmentIndex]&32&&(i.segmentIndex=o,i.graphemeIndex=s,walkPreparedComplexLines(e,i,t,void 0,null,!0)),a++}return a}function staysAfterObject(e,t,n,r){let i=n+1;for(;i<t&&1<<(e[i]&15)&r;)i++;return i===t||(e[i]&15)!=5}function returnsFromUnfitHyphen(e,t,n,r,i,a){let{discretionaryHyphenContexts:o,segmentFlags:s}=e,c=n-1;if(c<t||(s[c]&15)!=3||r<=i)return!1;let l=r-i,u=0,d=a?c:c-1;if(o!==null)for(let e=t;e<=d;e++)u+=o[e];return u<l}function walkPreparedComplexLines(e,t,n,r,i,a=!1){let{widths:o,segmentFlags:s,breakableFitAdvances:c,discretionaryHyphenWidth:l,letterSpacing:u,lineStartExtras:d,lineEndTrims:f,overflowLineEndTrims:p,tabStopAdvance:m,minimumTabAdvance:h}=e,g=o.length,_=e.items,v=_===void 0?null:_.hyphenWidths,y=_===void 0?null:_.hyphenRooms,b=_===void 0?null:_.itemEndHalts,x=_===void 0?null:_.insideExtras,S=_===void 0?null:_.fillExtras,C=_===void 0?null:_.openingEdges,w=_===void 0?null:_.emptyObjectSpaces,T=_===void 0?null:_.emptyObjectReturns,E=getEngineProfile(),D=16|(E.hangTabs?32:0),O=_!==void 0&&E.hangsSpacesPerTextFrame,ee=E.testsHyphenBeforeAtomic,te=E.zeroWidthGlueTakesLine,k=E.tabsInAppUnits,ne=E.paddedOpeningFit,A=E.hardBreakItemRetreat,re=Math.max(0,n),j=re+E.lineFitEpsilon,M=e.discretionaryHyphenContexts!==null,ie=E.unfitHyphenRetreat===`reduced-width`,ae=ie?l:0,oe=M&&E.unfitHyphenRetreat===`full-width-or-first`,N=E.unfitHyphenRetreat===`full-width`,P=null;for(;;){let n=t.segmentIndex,E=t.graphemeIndex,F=0,I=!1,L=n,R=E,z=-1,B=0,V=-1,se=0,H=-1,U=0,ce=!1,W=0,G=0,le=!0,ue=!1,K=-1,q=0,J=0,de=!1,Y=null;if((s[n]&15)==8)t.segmentIndex=n+1,t.graphemeIndex=0,Y=d===null?0:d[n];else{decided:{let t;for(let r=n;;r++){if(r>=g){t=g;break}let i,a=0,N=s[r],P=N&15;if(P===8){t=r+1;break}let Y=!!(N&16),X=!!(1<<P&62),fe=r===n?E:0,pe=u!==0&&I&&!le&&!ue?u:0,me=0;u!==0&&(Y||P===7||P===5||P===9||C!==null&&C[r]!==0)&&(me=pe,ue=!Y),P!==2&&P!==6&&(le=!1);let Z=P===5?_===void 0?getTabAdvance(F+me,m,h,k):getItemTabAdvance(e,_,r,I?F+me:d===null?0:d[r],k):o[r],Q=me+Z,he=f===null?0:f[r];if(P===3&&fe===0){if(I){let e=l,t=!0;_!==void 0&&(M&&r>n&&(s[r-1]&15)==9&&(V=r,se=F),O&&H===r&&(H=r+1,U=Math.max(U,Math.min(F,re))),v!==null&&(e=v[r]),t=ee||r+1===g||(s[r+1]&15)!=9||C!==null&&C[r+1]!==0),L=r+1,R=0,r+1<g&&(s[r+1]&15)!=8&&(z=r+1,B=F+e,M&&((t?B:F)<=j||oe&&V<0)&&(V=z,se=B))}continue}let ge=0;if(u!==0&&!Y&&!X&&P!==7)ge=pe+Z;else if(X?P===5:Z!==0||P===7){let e=Z+(Y?u:0);e!==0&&(ge=me+e)}let $=!!(1<<P&D);if(O&&P===2&&H===r&&($=!0),$&&(H!==r&&(U=F-G+me,ce=!1,_!==void 0&&r>n&&(s[r-1]&15)==9&&(ce=staysAfterObject(s,g,r,D),ce||(z=r,B=F-G)),W=0),H=r+1,C!==null&&(U+=C[r],W+=C[r])),!I&&P===6&&!te){L=r+1,R=0;continue}if(I){let e=$?U-W:F+ge,t=e-he>j;if(_!==void 0){let n=!1;if(w!==null&&P===9&&Z===0&&e>j){let e=H===r?U:F,t=w[r];n=e<=j||!(t>=0&&e-t>j||T[r]===1)}let i=ge<0&&F-G>j;t=(t||i)&&!($&&ce)&&!n,O&&!t&&H===r&&P===9&&Z===0&&(H=r+1,U=Math.max(U,Math.min(F+Q,re)))}if(t){let t=F-G;if(X&&($||P!==5)&&(t<=j||z<0&&(P===1||P===2)||P===2&&(s[r-1]&15)==9)){J=$?U:t,F+=Q,K=r+1,q=0;break decided}if(P===5&&!$&&z<0){K=r,q=0,J=H===r&&r>n?U:t;break decided}let l=!!(N&32);if(P===9&&l&&H===r&&(ne===`start`?U-W/2<=j&&F-W/2>j:ne===`placed`&&U-W+Z-he<=j)){H=r+1,U+=Z,W+=Z,F+=Q,L=r+1,R=0;continue}if(l&&z>=0&&(L=z,R=0),!l||z>=0){de=!0;break decided}if(p!==null&&e-p[r]<=j){F+=Q,L=r+1,R=0,G=p[r],b!==null&&b[r]!==0&&(F-=G,G=0);continue}if(P===9&&A!==`item`&&r+1<g&&(s[r+1]&15)==8){let e=s[r-1],t=e&15,i=t===4?c[r-1]:null;if(i!==null){let e=i.length,t=i[0],a=A!==`fit`||F<=j?1:t>0?Math.min(e,Math.ceil((F-j)/t)):e,o=C!==null&&C[n]!==0?n+1:n;if(r-1>o||e-a>E){K=r-1,q=e-a,J=U;break decided}}let a=t===0||t===7?c[r-1]:null,l=e&16?u:0;if(a!==null&&(r-1>n||a.length-1>E)){K=r-1,q=a.length-1,J=F-a[q]-l;break decided}if(a===null&&(t===0||t===7)&&r-1>n){K=r-1,q=0,J=F-o[r-1]-l;break decided}if(i!==null||t!==4&&t!==5){F+=Q,L=r+1,R=0,G=0;continue}}if(c[r]===null){de=!0;break decided}i=0,a=me}else{N&64&&!X&&z!==r&&(z=r,B=F),M&&!X&&!(N&32)&&r>n&&!breaksAfterKind(s[r-1]&15)&&(!ie||F+(y===null?l:y[r])<=j)&&(V=r,se=F),L=r+1,R=0,b!==null&&e>j&&b[r]!==0?(F+=Q-he,G=0):(F+=Q,ge!==0&&!$&&(G=e>j&&P!==9?he:0)),X&&(r+1===g||!(s[r+1]&32))&&(z=r+1,B=$?U:P===5?F:F-Q-G),M&&X&&B+(y===null||z<0?ae:y[z])<=j&&(V=z,se=B);continue}}else if(fe>0)i=fe;else{let e=d===null?0:d[r],t=p!==null&&ge+e-p[r]<=j?p[r]:he;if(ge+e-t>j&&c[r]!==null&&!$)i=0;else{I=!0,L=r+1,R=0,F=Z+e,$&&(U+=e),G=ge+e>j&&P!==9?t:0,b!==null&&G!==0&&b[r]!==0&&(F-=G,G=0),X&&(r+1===g||!(s[r+1]&32))&&(z=r+1,B=$?U:P===5?F:F-Q),M&&X&&B+(y===null||z<0?ae:y[z])<=j&&(V=z,se=B);continue}}let _e=c[r],ve=_e.length;for(let t=i;t<ve;t++){let n=_e[t];if(I){let e=F+(n+(t>i?u:a));if(e+u>j)break decided;F=e,L=r,R=t+1}else{I=!0,L=r,R=t+1;let i=e.breakableLineStartExtras?.[r]??null;F=i===null?n:n+i[t],(t>0?x!==null:S!==null)&&(F+=t>0?x[r]:S[r])}}I&&L===r&&R===ve&&(L=r+1,R=0)}K=t,q=0,z===t&&R===0?(J=B,de=!0):J=F-G}if(I){de&&V>=0&&z===L&&R===0&&returnsFromUnfitHyphen(e,n,L,B,j,N)?(K=V,q=0,J=se):K<0&&(K=L,q=R,J=z===L&&R===0?B:_!==void 0&&H===L&&R===0?U:F-G),t.segmentIndex=K,t.graphemeIndex=q;let r=q===0&&H>=0&&(K===H||K===H+1)&&(H===g||(s[H]&15)==8),i=(r?F-G:J)+getTerminalLetterSpacing(e,C,D,n,E,K,q);Y=r?Math.max(U,Math.min(i,re)):i}}if(Y===null||(P=Y,i!==null&&(i.lineCount++,Y>i.maxLineWidth&&(i.maxLineWidth=Y)),r?.(Y,n,E,t.segmentIndex,t.graphemeIndex),a||!normalizePreparedLineStart(e,t)))break}return P}function stepPreparedSimpleLineGeometry(e,t,n){let{widths:r,segmentFlags:i,breakableFitAdvances:a,lineStartExtras:o,lineEndTrims:s,overflowLineEndTrims:c}=e,l=Math.max(0,n)+getEngineProfile().lineFitEpsilon,u=t.segmentIndex,d=a[u],f=o===null?r[u]:r[u]+o[u],p=s===null?0:s[u],m=c!==null&&f-c[u]<=l?c[u]:p,h,g=0;if(t.graphemeIndex>0||f-m>l&&d!==null){let n=d,r=e.breakableLineStartExtras?.[u]??null,i=t.graphemeIndex+1;h=r===null?n[i-1]:n[i-1]+r[i-1];let a=e.items;for(a!==void 0&&(i>1?a.insideExtras!==null:a.fillExtras!==null)&&(h+=i>1?a.insideExtras[u]:a.fillExtras[u]);i<n.length;i++){if(h+n[i]>l)return t.graphemeIndex=i,h;h+=n[i]}}else h=f,f>l&&(g=m);for(let e=u+1;e<r.length;e++){let n=r[e],a=s===null?0:s[e];if(h+n-a>l){let n=breaksAfterKind(i[e]&15);return t.segmentIndex=n?e+1:e,t.graphemeIndex=0,!n&&breaksAfterKind(i[e-1]&15)?h-r[e-1]:h-g}h+=n,g=h>l?a:0}return t.segmentIndex=r.length,t.graphemeIndex=0,h-g}const de=/* @__PURE__ */ new WeakMap;function getGraphemeEnds(e,t){let n=de.get(e);n===void 0&&(n=/* @__PURE__ */ new Map,de.set(e,n));let r=n.get(t);if(r===void 0){let i=e.segments[t];r=new Int32Array(i.length),findGraphemeEnds(getEngineProfile().graphemeTable,i,0,i.length,r),n.set(t,r)}return r}function getGraphemeStart(e,t,n){return n===0?0:getGraphemeEnds(e,t)[n-1]}function buildRangeText(e,t,n,r,i){let{segmentFlags:a}=e,o=e.segments.length,s=r<o?r:o,c=``;for(let r=t;r<s;r++){let i=a[r]&15;i!==3&&i!==8&&(i!==6&&i!==2||e.segments[r].charCodeAt(0)!==173)&&(c+=r===t&&n>0?e.segments[r].slice(getGraphemeStart(e,r,n)):e.segments[r])}return i>0&&r<o&&(c+=e.segments[r].slice(getGraphemeStart(e,r,t===r?n:0),getGraphemeStart(e,r,i))),c}function buildLineTextFromRange(e,t,n,r,i){let a=buildRangeText(e,t,n,r,i);return isDiscretionaryLineEnd(e.segmentFlags,e.widths.length,r,i)?a+`-`:a}function prepareInternal(e,t,n,r){let i=r?.wordBreak??`normal`,a=getEngineProfile(),o=readLetterSpacing(r?.letterSpacing,a),s=getPreparationLanguage(a),c=analyzeText(e,a,r?.whiteSpace,i,s);return measureAnalysis(c,0,c.flags.length,t,n,o,a,s,!0,null)}function prepare(e,t,n){return prepareInternal(e,t,!1,n)}function prepareWithSegments(e,t,n){let r=prepareInternal(e,t,!0,n),i=[];for(let e=0;e<r.segmentFlags.length;e++)i.push(w[r.segmentFlags[e]&15]);return r.kinds=i,r}function getInternalPrepared(e){return e}function layout(e,t,n){let r=countPreparedLines(getInternalPrepared(e),normalizeMaxWidth(t));return{lineCount:r,height:r*n}}function createLayoutLine(e,t,n,r,i,a){return{text:buildLineTextFromRange(e,n,r,i,a),width:Math.max(0,t),start:{segmentIndex:n,graphemeIndex:r},end:{segmentIndex:i,graphemeIndex:a}}}function measureLineStats(e,t){let n={lineCount:0,maxLineWidth:0};return walkPreparedLinesRaw(getInternalPrepared(e),normalizeMaxWidth(t),void 0,n),n}function measureNaturalWidth(e){return measureLineStats(e,1/0).maxLineWidth}function layoutWithLines(e,t,n){let r=[],i=walkPreparedLinesRaw(getInternalPrepared(e),normalizeMaxWidth(t),(t,n,i,a,o)=>{r.push(createLayoutLine(e,t,n,i,a,o))});return{lineCount:i,height:i*n,lines:r}}export{prepareWithSegments as a,prepare as i,layoutWithLines as n,measureNaturalWidth as r,layout as t};
@@ -0,0 +1,27 @@
1
+ import"../../rolldown-runtime.mjs";function tokenLabel(e){return hasTokenLabel(e)?e.LABEL:e.name}function hasTokenLabel(e){return typeof e.LABEL==`string`&&e.LABEL!==``}var AbstractProduction=class{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){this._definition=e}accept(e){e.visit(this),this.definition.forEach(t=>{t.accept(e)})}},NonTerminal=class extends AbstractProduction{constructor(e){super([]),this.idx=1,Object.assign(this,pickOnlyDefined(e))}set definition(e){}get definition(){return this.referencedRule===void 0?[]:this.referencedRule.definition}accept(e){e.visit(this)}},Rule=class extends AbstractProduction{constructor(e){super(e.definition),this.orgText=``,Object.assign(this,pickOnlyDefined(e))}},Alternative=class extends AbstractProduction{constructor(e){super(e.definition),this.ignoreAmbiguities=!1,Object.assign(this,pickOnlyDefined(e))}},Option=class extends AbstractProduction{constructor(e){super(e.definition),this.idx=1,Object.assign(this,pickOnlyDefined(e))}},RepetitionMandatory=class extends AbstractProduction{constructor(e){super(e.definition),this.idx=1,Object.assign(this,pickOnlyDefined(e))}},RepetitionMandatoryWithSeparator=class extends AbstractProduction{constructor(e){super(e.definition),this.idx=1,Object.assign(this,pickOnlyDefined(e))}},Repetition=class extends AbstractProduction{constructor(e){super(e.definition),this.idx=1,Object.assign(this,pickOnlyDefined(e))}},RepetitionWithSeparator=class extends AbstractProduction{constructor(e){super(e.definition),this.idx=1,Object.assign(this,pickOnlyDefined(e))}},Alternation=class extends AbstractProduction{get definition(){return this._definition}set definition(e){this._definition=e}constructor(e){super(e.definition),this.idx=1,this.ignoreAmbiguities=!1,this.hasPredicates=!1,Object.assign(this,pickOnlyDefined(e))}},Terminal=class{constructor(e){this.idx=1,Object.assign(this,pickOnlyDefined(e))}accept(e){e.visit(this)}};function serializeGrammar(e){return e.map(serializeProduction)}function serializeProduction(e){function convertDefinition(e){return e.map(serializeProduction)}
2
+ /* istanbul ignore else */
3
+ if(e instanceof NonTerminal){let t={type:`NonTerminal`,name:e.nonTerminalName,idx:e.idx};return typeof e.label==`string`&&(t.label=e.label),t}if(e instanceof Alternative)return{type:`Alternative`,definition:convertDefinition(e.definition)};if(e instanceof Option)return{type:`Option`,idx:e.idx,definition:convertDefinition(e.definition)};if(e instanceof RepetitionMandatory)return{type:`RepetitionMandatory`,idx:e.idx,definition:convertDefinition(e.definition)};if(e instanceof RepetitionMandatoryWithSeparator)return{type:`RepetitionMandatoryWithSeparator`,idx:e.idx,separator:serializeProduction(new Terminal({terminalType:e.separator})),definition:convertDefinition(e.definition)};if(e instanceof RepetitionWithSeparator)return{type:`RepetitionWithSeparator`,idx:e.idx,separator:serializeProduction(new Terminal({terminalType:e.separator})),definition:convertDefinition(e.definition)};if(e instanceof Repetition)return{type:`Repetition`,idx:e.idx,definition:convertDefinition(e.definition)};if(e instanceof Alternation)return{type:`Alternation`,idx:e.idx,definition:convertDefinition(e.definition)};if(e instanceof Terminal){let t={type:`Terminal`,name:e.terminalType.name,label:tokenLabel(e.terminalType),idx:e.idx};typeof e.label==`string`&&(t.terminalLabel=e.label);let n=e.terminalType.PATTERN;return e.terminalType.PATTERN&&(t.pattern=n instanceof RegExp?n.source:n),t}if(e instanceof Rule)return{type:`Rule`,name:e.name,orgText:e.orgText,definition:convertDefinition(e.definition)};throw Error(`non exhaustive match`)}function pickOnlyDefined(e){return Object.fromEntries(Object.entries(e).filter(([,e])=>e!==void 0))}var GAstVisitor=class{visit(e){let t=e;switch(t.constructor){case NonTerminal:return this.visitNonTerminal(t);case Alternative:return this.visitAlternative(t);case Option:return this.visitOption(t);case RepetitionMandatory:return this.visitRepetitionMandatory(t);case RepetitionMandatoryWithSeparator:return this.visitRepetitionMandatoryWithSeparator(t);case RepetitionWithSeparator:return this.visitRepetitionWithSeparator(t);case Repetition:return this.visitRepetition(t);case Alternation:return this.visitAlternation(t);case Terminal:return this.visitTerminal(t);case Rule:return this.visitRule(t);
4
+ /* c8 ignore next 2 */
5
+ default:throw Error(`non exhaustive match`)}}
6
+ /* c8 ignore next */
7
+ visitNonTerminal(e){}
8
+ /* c8 ignore next */
9
+ visitAlternative(e){}
10
+ /* c8 ignore next */
11
+ visitOption(e){}
12
+ /* c8 ignore next */
13
+ visitRepetition(e){}
14
+ /* c8 ignore next */
15
+ visitRepetitionMandatory(e){}
16
+ /* c8 ignore next 3 */
17
+ visitRepetitionMandatoryWithSeparator(e){}
18
+ /* c8 ignore next */
19
+ visitRepetitionWithSeparator(e){}
20
+ /* c8 ignore next */
21
+ visitAlternation(e){}
22
+ /* c8 ignore next */
23
+ visitTerminal(e){}
24
+ /* c8 ignore next */
25
+ visitRule(e){}};function isSequenceProd(e){return e instanceof Alternative||e instanceof Option||e instanceof Repetition||e instanceof RepetitionMandatory||e instanceof RepetitionMandatoryWithSeparator||e instanceof RepetitionWithSeparator||e instanceof Terminal||e instanceof Rule}function isOptionalProd(e,t=[]){return e instanceof Option||e instanceof Repetition||e instanceof RepetitionWithSeparator?!0:e instanceof Alternation?e.definition.some(e=>isOptionalProd(e,t)):e instanceof NonTerminal&&t.includes(e)?!1:e instanceof AbstractProduction&&(e instanceof NonTerminal&&t.push(e),e.definition.every(e=>isOptionalProd(e,t)))}function isBranchingProd(e){return e instanceof Alternation}function getProductionDslName(e){
26
+ /* istanbul ignore else */
27
+ if(e instanceof NonTerminal)return`SUBRULE`;if(e instanceof Option)return`OPTION`;if(e instanceof Alternation)return`OR`;if(e instanceof RepetitionMandatory)return`AT_LEAST_ONE`;if(e instanceof RepetitionMandatoryWithSeparator)return`AT_LEAST_ONE_SEP`;if(e instanceof RepetitionWithSeparator)return`MANY_SEP`;if(e instanceof Repetition)return`MANY`;if(e instanceof Terminal)return`CONSUME`;throw Error(`non exhaustive match`)}export{GAstVisitor as a,NonTerminal as c,RepetitionMandatory as d,RepetitionMandatoryWithSeparator as f,serializeGrammar as g,Terminal as h,isSequenceProd as i,Option as l,Rule as m,isBranchingProd as n,Alternation as o,RepetitionWithSeparator as p,isOptionalProd as r,Alternative as s,getProductionDslName as t,Repetition as u};
@@ -0,0 +1,81 @@
1
+ import"../../rolldown-runtime.mjs";function cc(e){return e.charCodeAt(0)}function insertToSet(e,t){Array.isArray(e)?e.forEach(function(e){t.push(e)}):t.push(e)}function addFlag(e,t){if(e[t]===!0)throw`duplicate flag `+t;e[t],e[t]=!0}function ASSERT_EXISTS(e){
2
+ // istanbul ignore next
3
+ if(e===void 0)throw Error(`Internal Error - Should never get here!`);return!0}
4
+ // istanbul ignore next
5
+ function ASSERT_NEVER_REACH_HERE(){throw Error(`Internal Error - Should never get here!`)}function isCharacter(e){return e.type===`Character`}const e=[];for(let t=cc(`0`);t<=cc(`9`);t++)e.push(t);const t=[cc(`_`)].concat(e);for(let e=cc(`a`);e<=cc(`z`);e++)t.push(e);for(let e=cc(`A`);e<=cc(`Z`);e++)t.push(e);const n=[cc(` `),cc(`\f`),cc(`
6
+ `),cc(`\r`),cc(` `),cc(`\v`),cc(` `),cc(`\xA0`),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(` `),cc(`\u2028`),cc(`\u2029`),cc(` `),cc(` `),cc(` `),cc(``)],r=/[0-9a-fA-F]/,i=/[0-9]/,a=/[1-9]/;var RegExpParser=class{constructor(){this.idx=0,this.input=``,this.groupIdx=0}saveState(){return{idx:this.idx,input:this.input,groupIdx:this.groupIdx}}restoreState(e){this.idx=e.idx,this.input=e.input,this.groupIdx=e.groupIdx}pattern(e){this.idx=0,this.input=e,this.groupIdx=0,this.consumeChar(`/`);let t=this.disjunction();this.consumeChar(`/`);let n={type:`Flags`,loc:{begin:this.idx,end:e.length},global:!1,ignoreCase:!1,multiLine:!1,unicode:!1,sticky:!1};for(;this.isRegExpFlag();)switch(this.popChar()){case`g`:addFlag(n,`global`);break;case`i`:addFlag(n,`ignoreCase`);break;case`m`:addFlag(n,`multiLine`);break;case`u`:addFlag(n,`unicode`);break;case`y`:addFlag(n,`sticky`)}if(this.idx!==this.input.length)throw Error(`Redundant input: `+this.input.substring(this.idx));return{type:`Pattern`,flags:n,value:t,loc:this.loc(0)}}disjunction(){let e=[],t=this.idx;for(e.push(this.alternative());this.peekChar()===`|`;)this.consumeChar(`|`),e.push(this.alternative());return{type:`Disjunction`,value:e,loc:this.loc(t)}}alternative(){let e=[],t=this.idx;for(;this.isTerm();)e.push(this.term());return{type:`Alternative`,value:e,loc:this.loc(t)}}term(){return this.isAssertion()?this.assertion():this.atom()}assertion(){let e=this.idx;switch(this.popChar()){case`^`:return{type:`StartAnchor`,loc:this.loc(e)};case`$`:return{type:`EndAnchor`,loc:this.loc(e)};case`\\`:switch(this.popChar()){case`b`:return{type:`WordBoundary`,loc:this.loc(e)};case`B`:return{type:`NonWordBoundary`,loc:this.loc(e)}}
7
+ /* c8 ignore next */
8
+ throw Error(`Invalid Assertion Escape`);case`(`:this.consumeChar(`?`);let t;switch(this.popChar()){case`=`:t=`Lookahead`;break;case`!`:t=`NegativeLookahead`;break;case`<`:switch(this.popChar()){case`=`:t=`Lookbehind`;break;case`!`:t=`NegativeLookbehind`}}ASSERT_EXISTS(t);let n=this.disjunction();return this.consumeChar(`)`),{type:t,value:n,loc:this.loc(e)}}
9
+ // istanbul ignore next
10
+ return ASSERT_NEVER_REACH_HERE()}quantifier(e=!1){let t,n=this.idx;switch(this.popChar()){case`*`:t={atLeast:0,atMost:1/0};break;case`+`:t={atLeast:1,atMost:1/0};break;case`?`:t={atLeast:0,atMost:1};break;case`{`:let n=this.integerIncludingZero();switch(this.popChar()){case`}`:t={atLeast:n,atMost:n};break;case`,`:let e;this.isDigit()?(e=this.integerIncludingZero(),t={atLeast:n,atMost:e}):t={atLeast:n,atMost:1/0},this.consumeChar(`}`)}if(e===!0&&t===void 0)return;ASSERT_EXISTS(t)}if((e!==!0||t!==void 0)&&ASSERT_EXISTS(t))return this.peekChar(0)===`?`?(this.consumeChar(`?`),t.greedy=!1):t.greedy=!0,t.type=`Quantifier`,t.loc=this.loc(n),t}atom(){let e,t=this.idx;switch(this.peekChar()){case`.`:e=this.dotAll();break;case`\\`:e=this.atomEscape();break;case`[`:e=this.characterClass();break;case`(`:e=this.group()}
11
+ // istanbul ignore next
12
+ return e===void 0&&this.isPatternCharacter()&&(e=this.patternCharacter()),ASSERT_EXISTS(e)?(e.loc=this.loc(t),this.isQuantifier()&&(e.quantifier=this.quantifier()),e):ASSERT_NEVER_REACH_HERE()}dotAll(){return this.consumeChar(`.`),{type:`Set`,complement:!0,value:[cc(`
13
+ `),cc(`\r`),cc(`\u2028`),cc(`\u2029`)]}}atomEscape(){switch(this.consumeChar(`\\`),this.peekChar()){case`1`:case`2`:case`3`:case`4`:case`5`:case`6`:case`7`:case`8`:case`9`:return this.decimalEscapeAtom();case`d`:case`D`:case`s`:case`S`:case`w`:case`W`:return this.characterClassEscape();case`f`:case`n`:case`r`:case`t`:case`v`:return this.controlEscapeAtom();case`c`:return this.controlLetterEscapeAtom();case`0`:return this.nulCharacterAtom();case`x`:return this.hexEscapeSequenceAtom();case`u`:return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}decimalEscapeAtom(){return{type:`GroupBackReference`,value:this.positiveInteger()}}characterClassEscape(){let r,i=!1;switch(this.popChar()){case`d`:r=e;break;case`D`:r=e,i=!0;break;case`s`:r=n;break;case`S`:r=n,i=!0;break;case`w`:r=t;break;case`W`:r=t,i=!0}
14
+ // istanbul ignore next
15
+ return ASSERT_EXISTS(r)?{type:`Set`,value:r,complement:i}:ASSERT_NEVER_REACH_HERE()}controlEscapeAtom(){let e;switch(this.popChar()){case`f`:e=cc(`\f`);break;case`n`:e=cc(`
16
+ `);break;case`r`:e=cc(`\r`);break;case`t`:e=cc(` `);break;case`v`:e=cc(`\v`)}
17
+ // istanbul ignore next
18
+ return ASSERT_EXISTS(e)?{type:`Character`,value:e}:ASSERT_NEVER_REACH_HERE()}controlLetterEscapeAtom(){this.consumeChar(`c`);let e=this.popChar();if(/[a-zA-Z]/.test(e)===!1)throw Error(`Invalid `);return{type:`Character`,value:e.toUpperCase().charCodeAt(0)-64}}nulCharacterAtom(){return this.consumeChar(`0`),{type:`Character`,value:cc(`\0`)}}hexEscapeSequenceAtom(){return this.consumeChar(`x`),this.parseHexDigits(2)}regExpUnicodeEscapeSequenceAtom(){return this.consumeChar(`u`),this.parseHexDigits(4)}identityEscapeAtom(){return{type:`Character`,value:cc(this.popChar())}}classPatternCharacterAtom(){switch(this.peekChar()){
19
+ // istanbul ignore next
20
+ case`
21
+ `:
22
+ // istanbul ignore next
23
+ case`\r`:
24
+ // istanbul ignore next
25
+ case`\u2028`:
26
+ // istanbul ignore next
27
+ case`\u2029`:
28
+ // istanbul ignore next
29
+ case`\\`:
30
+ // istanbul ignore next
31
+ case`]`:throw Error(`TBD`);default:return{type:`Character`,value:cc(this.popChar())}}}characterClass(){let e=[],t=!1;for(this.consumeChar(`[`),this.peekChar(0)===`^`&&(this.consumeChar(`^`),t=!0);this.isClassAtom();){let t=this.classAtom();if(t.type,isCharacter(t)&&this.isRangeDash()){this.consumeChar(`-`);let n=this.classAtom();if(n.type,isCharacter(n)){if(n.value<t.value)throw Error(`Range out of order in character class`);e.push({from:t.value,to:n.value})}else insertToSet(t.value,e),e.push(cc(`-`)),insertToSet(n.value,e)}else insertToSet(t.value,e)}return this.consumeChar(`]`),{type:`Set`,complement:t,value:e}}classAtom(){switch(this.peekChar()){
32
+ // istanbul ignore next
33
+ case`]`:
34
+ // istanbul ignore next
35
+ case`
36
+ `:
37
+ // istanbul ignore next
38
+ case`\r`:
39
+ // istanbul ignore next
40
+ case`\u2028`:
41
+ // istanbul ignore next
42
+ case`\u2029`:throw Error(`TBD`);case`\\`:return this.classEscape();default:return this.classPatternCharacterAtom()}}classEscape(){switch(this.consumeChar(`\\`),this.peekChar()){case`b`:return this.consumeChar(`b`),{type:`Character`,value:cc(`\b`)};case`d`:case`D`:case`s`:case`S`:case`w`:case`W`:return this.characterClassEscape();case`f`:case`n`:case`r`:case`t`:case`v`:return this.controlEscapeAtom();case`c`:return this.controlLetterEscapeAtom();case`0`:return this.nulCharacterAtom();case`x`:return this.hexEscapeSequenceAtom();case`u`:return this.regExpUnicodeEscapeSequenceAtom();default:return this.identityEscapeAtom()}}group(){let e=!0;switch(this.consumeChar(`(`),this.peekChar(0)){case`?`:this.consumeChar(`?`),this.consumeChar(`:`),e=!1;break;default:this.groupIdx++}let t=this.disjunction();this.consumeChar(`)`);let n={type:`Group`,capturing:e,value:t};return e&&(n.idx=this.groupIdx),n}positiveInteger(){let e=this.popChar();
43
+ // istanbul ignore next - can't ever get here due to previous lookahead checks
44
+ if(a.test(e)===!1)throw Error(`Expecting a positive integer`);for(;i.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}integerIncludingZero(){let e=this.popChar();if(i.test(e)===!1)throw Error(`Expecting an integer`);for(;i.test(this.peekChar(0));)e+=this.popChar();return parseInt(e,10)}patternCharacter(){let e=this.popChar();switch(e){
45
+ // istanbul ignore next
46
+ case`
47
+ `:
48
+ // istanbul ignore next
49
+ case`\r`:
50
+ // istanbul ignore next
51
+ case`\u2028`:
52
+ // istanbul ignore next
53
+ case`\u2029`:
54
+ // istanbul ignore next
55
+ case`^`:
56
+ // istanbul ignore next
57
+ case`$`:
58
+ // istanbul ignore next
59
+ case`\\`:
60
+ // istanbul ignore next
61
+ case`.`:
62
+ // istanbul ignore next
63
+ case`*`:
64
+ // istanbul ignore next
65
+ case`+`:
66
+ // istanbul ignore next
67
+ case`?`:
68
+ // istanbul ignore next
69
+ case`(`:
70
+ // istanbul ignore next
71
+ case`)`:
72
+ // istanbul ignore next
73
+ case`[`:
74
+ // istanbul ignore next
75
+ case`|`:
76
+ // istanbul ignore next
77
+ throw Error(`TBD`);default:return{type:`Character`,value:cc(e)}}}isRegExpFlag(){switch(this.peekChar(0)){case`g`:case`i`:case`m`:case`u`:case`y`:return!0;default:return!1}}isRangeDash(){return this.peekChar()===`-`&&this.isClassAtom(1)}isDigit(){return i.test(this.peekChar(0))}isClassAtom(e=0){switch(this.peekChar(e)){case`]`:case`
78
+ `:case`\r`:case`\u2028`:case`\u2029`:return!1;default:return!0}}isTerm(){return this.isAtom()||this.isAssertion()}isAtom(){if(this.isPatternCharacter())return!0;switch(this.peekChar(0)){case`.`:case`\\`:case`[`:case`(`:return!0;default:return!1}}isAssertion(){switch(this.peekChar(0)){case`^`:case`$`:return!0;case`\\`:switch(this.peekChar(1)){case`b`:case`B`:return!0;default:return!1}case`(`:return this.peekChar(1)===`?`&&(this.peekChar(2)===`=`||this.peekChar(2)===`!`||this.peekChar(2)===`<`&&(this.peekChar(3)===`=`||this.peekChar(3)===`!`));default:return!1}}isQuantifier(){let e=this.saveState();try{return this.quantifier(!0)!==void 0}catch{return!1}finally{this.restoreState(e)}}isPatternCharacter(){switch(this.peekChar()){case`^`:case`$`:case`\\`:case`.`:case`*`:case`+`:case`?`:case`(`:case`)`:case`[`:case`|`:case`/`:case`
79
+ `:case`\r`:case`\u2028`:case`\u2029`:return!1;default:return!0}}parseHexDigits(e){let t=``;for(let n=0;n<e;n++){let e=this.popChar();if(r.test(e)===!1)throw Error(`Expecting a HexDecimal digits`);t+=e}return{type:`Character`,value:parseInt(t,16)}}peekChar(e=0){return this.input[this.idx+e]}popChar(){let e=this.peekChar(0);return this.consumeChar(void 0),e}consumeChar(e){if(e!==void 0&&this.input[this.idx]!==e)throw Error(`Expected: '`+e+`' but found: '`+this.input[this.idx]+`' at offset: `+this.idx);if(this.idx>=this.input.length)throw Error(`Unexpected end of input`);this.idx++}loc(e){return{begin:e,end:this.idx}}},BaseRegExpVisitor=class{visitChildren(e){for(let t in e){let n=e[t];
80
+ /* istanbul ignore else */
81
+ e.hasOwnProperty(t)&&(n.type===void 0?Array.isArray(n)&&n.forEach(e=>{this.visit(e)},this):this.visit(n))}}visit(e){switch(e.type){case`Pattern`:this.visitPattern(e);break;case`Flags`:this.visitFlags(e);break;case`Disjunction`:this.visitDisjunction(e);break;case`Alternative`:this.visitAlternative(e);break;case`StartAnchor`:this.visitStartAnchor(e);break;case`EndAnchor`:this.visitEndAnchor(e);break;case`WordBoundary`:this.visitWordBoundary(e);break;case`NonWordBoundary`:this.visitNonWordBoundary(e);break;case`Lookahead`:this.visitLookahead(e);break;case`NegativeLookahead`:this.visitNegativeLookahead(e);break;case`Lookbehind`:this.visitLookbehind(e);break;case`NegativeLookbehind`:this.visitNegativeLookbehind(e);break;case`Character`:this.visitCharacter(e);break;case`Set`:this.visitSet(e);break;case`Group`:this.visitGroup(e);break;case`GroupBackReference`:this.visitGroupBackReference(e);break;case`Quantifier`:this.visitQuantifier(e)}this.visitChildren(e)}visitPattern(e){}visitFlags(e){}visitDisjunction(e){}visitAlternative(e){}visitStartAnchor(e){}visitEndAnchor(e){}visitWordBoundary(e){}visitNonWordBoundary(e){}visitLookahead(e){}visitNegativeLookahead(e){}visitLookbehind(e){}visitNegativeLookbehind(e){}visitCharacter(e){}visitSet(e){}visitGroup(e){}visitGroupBackReference(e){}visitQuantifier(e){}};export{RegExpParser as n,BaseRegExpVisitor as t};
@@ -0,0 +1,6 @@
1
+ import{i as e,r as t}from"../../rolldown-runtime.mjs";import n from"node:util";const r=Symbol.dispose??Symbol.for(`Symbol.dispose`),i=Symbol.asyncDispose??Symbol.for(`Symbol.asyncDispose`);function toFilter(e){return typeof e==`function`?e:getLevelFilter(e)}function getLevelFilter(e){let t=createLevelFilter(e);return a.set(t,e),t}const a=getLevelFilters();function getLevelFilters(){let e=globalThis,t=Symbol.for(`logtape.levelFilters`),n=e[t];if(n instanceof WeakMap)return n;let r=/* @__PURE__ */ new WeakMap;return e[t]=r,r}function createLevelFilter(e){if(e==null)return()=>!1;if(e===`fatal`)return e=>e.level===`fatal`;if(e===`error`)return e=>e.level===`fatal`||e.level===`error`;if(e===`warning`)return e=>e.level===`fatal`||e.level===`error`||e.level===`warning`;if(e===`info`)return e=>e.level===`fatal`||e.level===`error`||e.level===`warning`||e.level===`info`;if(e===`debug`)return e=>e.level===`fatal`||e.level===`error`||e.level===`warning`||e.level===`info`||e.level===`debug`;if(e===`trace`)return()=>!0;throw TypeError(`Invalid log level: ${e}.`)}const o=[`trace`,`debug`,`info`,`warning`,`error`,`fatal`];function compareLogLevel(e,t){let n=o.indexOf(e);if(n<0)throw TypeError(`Invalid log level: ${JSON.stringify(e)}.`);let r=o.indexOf(t);if(r<0)throw TypeError(`Invalid log level: ${JSON.stringify(t)}.`);return n-r}const s=Symbol.for(`logtape.scopedConfig`),c={filters:[],filterIds:[],lowestLevel:`trace`,parentSinks:`inherit`,sinks:[],sinkIds:[],captureSourceLocation:void 0},l=[];function getCurrentScopedConfig(e){let t=e?.getStore()?.[s];return isCompiledScopedConfig(t)?getActiveScopedConfig(t):void 0}function scopedConfigHasSink(e,t,n){return getScopedSinkDispatchPlan(e,t,n).kind!==`none`}function scopedConfigCapturesSourceLocation(e,t){if(!e.capturesSourceLocation)return!1;let n=categoryKey(t),r=e.sourceLocationCaptureCache.get(n);if(r==null){r=!1;for(let n=t.length;n>=0;n--){let i=e.nodes.get(categoryKey(t.slice(0,n)));if(i?.captureSourceLocation!=null){r=i.captureSourceLocation;break}}e.sourceLocationCaptureCache.set(n,r)}return r}function emitWithScopedConfig(e,t,n,r){let i=getScopedSinkDispatchPlan(e,t.category,t.level);if(i.kind!==`none`&&filterScopedRecord(e,t.category,t)){if(i.kind===`one`)n?.has(i.sink)||r(i.sink,n);else for(let e of i.sinks)n?.has(e)||r(e,n)}}function isCompiledScopedConfig(e){return typeof e==`object`&&!!e&&`nodes`in e}function getActiveScopedConfig(e){let t=e;for(;t?.disposed;)t=t.parent;return t}function categoryKey(e){return JSON.stringify(e)}function getScopedSinkDispatchPlan(e,t,n){let r=`${categoryKey(t)}:${n}`,i=e.dispatchCache.get(r);return i??(i=getScopedSinkDispatchPlanForPrefix(e,t,t.length,n),e.dispatchCache.set(r,i)),i}function getScopedSinkDispatchPlanForPrefix(e,t,n,r){let i=t.slice(0,n),a=e.nodes.get(categoryKey(i))??c;if(a.lowestLevel===null||compareLogLevel(r,a.lowestLevel)<0)return{kind:`none`};let o=n>0&&a.parentSinks===`inherit`?getScopedSinkDispatchPlanForPrefix(e,t,n-1,r):n>0&&a.parentSinks===`forward`?wrapScopedSinks(collectScopedForwardSinks(e,t,n-1)):{kind:`none`},s,l,appendSink=e=>{l==null?s==null?s=e:l=[s,e]:l.push(e)};if(o.kind===`one`)appendSink(o.sink);else if(o.kind===`many`)for(let e of o.sinks)appendSink(e);for(let e of a.sinks)appendSink(e);return l==null?s==null?{kind:`none`}:{kind:`one`,sink:s}:{kind:`many`,sinks:l}}function collectScopedForwardSinks(e,t,n){let r=e.nodes.get(categoryKey(t.slice(0,n)))??c,i=n>0&&r.parentSinks!==`override`?collectScopedForwardSinks(e,t,n-1):[];return r.sinks.length<1?i:i.length<1?r.sinks:[...i,...r.sinks]}function wrapScopedSinks(e){return e.length<1?{kind:`none`}:e.length===1?{kind:`one`,sink:e[0]}:{kind:`many`,sinks:e}}function filterScopedRecord(e,t,n){let r=categoryKey(t),i=e.filterCache.get(r);return i??(i=getScopedFilters(e,t),e.filterCache.set(r,i)),i.every(e=>e(n))}function getScopedFilters(e,t){for(let n=t.length;n>=0;n--){let r=e.nodes.get(categoryKey(t.slice(0,n)));if(!(r==null||r.filters.length<1))return r.filters}return l}const u=` at `,d=/^(?:[A-Za-z][A-Za-z0-9+.-]*:|\/|\\\\)/,f=/^(.+):(\d+):(\d+)$/,p=Symbol(`rejected`);function parseSourceLocation(e,t){if(typeof e!=`string`)return;let n=e.split(`
2
+ `);if(n[0].trim()===`Error`)return n.length<2||!n[1].startsWith(u)?void 0:parseV8Frame(n[t+1]);if(!(n[0]===``||/^\s/.test(n[0])))return parseSpiderMonkeyFrame(n[t])}function parseV8Frame(e){if(e==null||!e.startsWith(u))return;let t=e.slice(7);if(t.includes(`eval at `))return;if(!t.endsWith(`)`))return accept(parseLocation(t.startsWith(`async `)?t.slice(6):t));let n;for(let e=t.indexOf(` (`);e>=0;e=t.indexOf(` (`,e+1)){let r=parseLocation(t.slice(e+2,-1));if(r===p)return;if(r!=null){if(n!=null)return;n=r}}return n}function parseSpiderMonkeyFrame(e){if(e==null)return;let t=parseLocation(e);if(t===p||t!=null&&d.test(t.file))return;let n;for(let t=e.indexOf(`@`);t>=0;t=e.indexOf(`@`,t+1)){let r=parseLocation(e.slice(t+1));if(r===p)return;if(r!=null&&d.test(r.file)){if(n!=null)return;n=r}}return n}function accept(e){return e===p?void 0:e}function parseLocation(e){let t=f.exec(e);if(t==null)return;let n=t[1],r=Number(t[2]),i=Number(t[3]);return n===`native`||n===`<anonymous>`||n===`[native code]`||n.includes(`address at `)||n.includes(`eval at `)||n.includes(` > eval`)||n.includes(` > Function`)||r<1||i<1?p:{file:n,line:r,column:i}}const m=Symbol.for(`logtape.lazy`),h=Symbol.for(`LogTape.throttlingSummaryRecord`),g=Symbol.for(`LogTape.sinkSnapshotPolicy.immediate`),_=/* @__PURE__ */ new WeakSet,v=/* @__PURE__ */ new WeakSet;let y=!1,b=0;function isSourceLocationCaptureActive(){return y||b>0}function attachSourceLocation(e,t){t!=null&&(e.sourceLocation=t)}function isLazy(e){return typeof e==`object`&&!!e&&m in e&&e[m]===!0}function resolveProperties(e){let t={};for(let n in e){let r=e[n];t[n]=isLazy(r)?r.getter():r}let n=e,r=t;if(Object.prototype.propertyIsEnumerable.call(e,h)){let e=n[h];r[h]=isLazy(e)?e.getter():e}return t}function isPromiseObject(e){return e instanceof Promise||Object.prototype.toString.call(e)===`[object Promise]`&&typeof e.then==`function`}function logStringMessage(e,t,n,r,i){if(typeof r!=`function`){let a=r??{};e.log(t,n,a,void 0,i);return}if(!e.isEnabledFor(t))return Promise.resolve();let a=r();if(isPromiseObject(a))return Promise.resolve(a).then(r=>{e.log(t,n,r,void 0,i)});e.log(t,n,a,void 0,i)}function snapshotLogRecordProperties(e){if(v.has(e))return e;let t=resolveProperties(e.properties);if(_.has(e)){let n={category:e.category,level:e.level,get message(){return e.message},rawMessage:e.rawMessage,timestamp:e.timestamp,properties:t};return attachSourceLocation(n,e.sourceLocation),n}let n=Object.getOwnPropertyDescriptors(e);return n.properties={value:t,enumerable:!0,configurable:!0},Object.defineProperties({},n)}function hasEnumerableProperties(e){return typeof e!=`object`||!e?!1:Object.keys(e).length>0||Object.prototype.propertyIsEnumerable.call(e,h)}function shouldSnapshotForSink(e){return e[g]!==!0}function getLogger(e=[]){return S.getLogger(e)}const x=Symbol.for(`logtape.rootLogger`);function isMetaLoggerCategory(e){return e.length>=2&&e[0]===`logtape`&&e[1]===`meta`}var S=class LoggerImpl{parent;children;category;sinks;filters;contextLocalStorage;sourceLocationCapture=void 0;#e=`inherit`;#t=`trace`;#n={};#r=void 0;static getLogger(e=[]){let t=x in globalThis?globalThis[x]??null:null;return t??(t=new LoggerImpl(null,[]),globalThis[x]=t),typeof e==`string`?t.getChild(e):e.length===0?t:t.getChild(e)}static getNearestExistingLogger(e){let t=LoggerImpl.getLogger();for(let n of e){let e=t.children[n],r=e instanceof LoggerImpl?e:e?.deref();if(r==null)break;t=r}return t}constructor(e,t){this.parent=e,this.children={},this.category=t,this.sinks=[],this.filters=[]}get parentSinks(){return this.#e}set parentSinks(e){this.#e!==e&&(this.#e=e)}get lowestLevel(){return this.#t}set lowestLevel(e){this.#t!==e&&(this.#t=e)}getChild(e){let t=typeof e==`string`?e:e[0],n=this.children[t],r=n instanceof LoggerImpl?n:n?.deref();return r??(r=new LoggerImpl(this,[...this.category,t]),this.children[t]=`WeakRef`in globalThis?new WeakRef(r):r),typeof e==`string`||e.length===1?r:r.getChild(e.slice(1))}reset(){for(;this.sinks.length>0;)this.sinks.shift();for(this.parentSinks=`inherit`;this.filters.length>0;)this.filters.shift();this.lowestLevel=`trace`,this.sourceLocationCapture=void 0}resetDescendants(){for(let e of Object.values(this.children))(e instanceof LoggerImpl?e:e.deref())?.resetDescendants();this.reset()}with(e){return new C(this,{...e})}setGlobalSourceLocationCapture(e){y=e}retainScopedSourceLocationCapture(){b++}releaseScopedSourceLocationCapture(){b>0&&b--}captureSourceLocation(e){if(isMetaLoggerCategory(this.category))return;let t=getCategoryPrefix(),n=getCurrentScopedConfig(LoggerImpl.getLogger().contextLocalStorage);if(n!=null){let r=t.length>0?[...t,...this.category]:this.category;if(!scopedConfigHasSink(n,r,e)||!scopedConfigCapturesSourceLocation(n,r))return}else{let n=this.getDispatcher(t);if(n.isCertainlyDroppedResolved(e)||!n.capturesSourceLocation())return}try{return parseSourceLocation((/* @__PURE__ */ Error()).stack,2)}catch{return}}capturesSourceLocation(){return this.sourceLocationCapture==null?this.parent?.capturesSourceLocation()??!1:this.sourceLocationCapture}filter(e){for(let t of this.filters)if(!t(e))return!1;return this.filters.length<1?this.parent?.filter(e)??!0:!0}*getSinks(e){let t=this.getSinkDispatchPlan(e);switch(t.kind){case`none`:return;case`one`:yield t.sink;return;case`many`:yield*t.sinks;return}}getSinkDispatchPlan(e){let t=this.#n[e];if(t!=null&&this.isSinkDispatchPlanFresh(e,t))return t;let n=this.createSinkDispatchPlan(e,this.resolveParentPlan(e));return this.#n[e]=n,n}resolveParentPlan(e){if(this.parent!=null){if(this.parentSinks===`inherit`)return this.parent.getSinkDispatchPlan(e);if(this.parentSinks===`forward`)return this.parent.getForwardSinkPlan()}}isSinkDispatchPlanFresh(e,t){if(t.lowestLevel!==this.lowestLevel||t.parentSinks!==this.parentSinks||t.localSinks.length!==this.sinks.length)return!1;for(let e=0;e<t.localSinks.length;e++)if(t.localSinks[e]!==this.sinks[e])return!1;return t.parentPlan===this.resolveParentPlan(e)}getForwardSinkPlan(){let e=this.#r;if(e!=null&&this.isForwardSinkPlanFresh(e))return e;let t=this.parent!=null&&this.parentSinks!==`override`?this.parent.getForwardSinkPlan():void 0,n=this.createForwardSinkPlan(t);return this.#r=n,n}isForwardSinkPlanFresh(e){if(e.parentSinks!==this.parentSinks||e.localSinks.length!==this.sinks.length)return!1;for(let t=0;t<e.localSinks.length;t++)if(e.localSinks[t]!==this.sinks[t])return!1;let t=this.parent!=null&&this.parentSinks!==`override`?this.parent.getForwardSinkPlan():void 0;return e.parentPlan===t}createForwardSinkPlan(e){let t=[...this.sinks],n=e==null||e.sinks.length<1?t:[...e.sinks,...t];return{kind:`forward`,localSinks:t,parentSinks:this.parentSinks,parentPlan:e,sinks:n}}createSinkDispatchPlan(e,t){let n={localSinks:[...this.sinks],parentSinks:this.parentSinks,lowestLevel:this.lowestLevel,parentPlan:t};if(n.lowestLevel===null||compareLogLevel(e,n.lowestLevel)<0)return{...n,kind:`none`};let r,i,appendSink=e=>{i==null?r==null?r=e:i=[r,e]:i.push(e)};t!=null&&(t.kind===`one`?r=t.sink:t.kind===`many`?i=[...t.sinks]:t.kind===`forward`&&(t.sinks.length===1?r=t.sinks[0]:t.sinks.length>1&&(i=[...t.sinks])));for(let e of n.localSinks)appendSink(e);return i==null?r==null?{...n,kind:`none`}:{...n,kind:`one`,sink:r}:{...n,kind:`many`,sinks:i}}isEnabledFor(e){let t=isMetaLoggerCategory(this.category)?[]:getCategoryPrefix(),n=getCurrentScopedConfig(LoggerImpl.getLogger().contextLocalStorage);return n==null?this.getDispatcher(t).isEnabledForResolved(e):scopedConfigHasSink(n,t.length>0?[...t,...this.category]:this.category,e)}isCertainlyDropped(e){let t=isMetaLoggerCategory(this.category)?[]:getCategoryPrefix(),n=getCurrentScopedConfig(LoggerImpl.getLogger().contextLocalStorage);return n==null?this.getDispatcher(t).isCertainlyDroppedResolved(e):!scopedConfigHasSink(n,t.length>0?[...t,...this.category]:this.category,e)}isCertainlyDroppedResolved(e){return this.lowestLevel===null||compareLogLevel(e,this.lowestLevel)<0||!this.isEnabledForResolved(e)&&!this.hasEffectiveFilters()}getDispatcher(e){return e.length>0?LoggerImpl.getNearestExistingLogger([...e,...this.category]):this}hasEffectiveFilters(){return this.filters.length>0?!0:this.parent?.hasEffectiveFilters()??!1}isEnabledForResolved(e){return this.lowestLevel===null||compareLogLevel(e,this.lowestLevel)<0?!1:this.sinks.length>0?!0:this.parent==null?!1:this.parentSinks===`inherit`?this.parent.isEnabledForResolved(e):this.parentSinks===`forward`&&this.parent.hasForwardSinks()}hasForwardSinks(){return this.sinks.length>0||this.parent!=null&&this.parentSinks!==`override`&&this.parent.hasForwardSinks()}emit(e,t){let n=`category`in e?e.category:this.category,r=isMetaLoggerCategory(n)?[]:getCategoryPrefix(),i=r.length>0?[...r,...n]:n;if(r.length<1&&Object.prototype.hasOwnProperty.call(e,`category`)){this.emitResolved(e,t);return}let a=Object.getOwnPropertyDescriptors(e);a.category={value:i,enumerable:!0,configurable:!0};let o=Object.defineProperties({},a);(r.length>0?LoggerImpl.getNearestExistingLogger(i):this).emitResolved(o,t)}emitResolved(e,t){let n=getCurrentScopedConfig(LoggerImpl.getLogger().contextLocalStorage);if(n!=null){let r,i=!1;emitWithScopedConfig(n,e,t,(t,n)=>{try{if(shouldSnapshotForSink(t))try{r??=snapshotLogRecordProperties(e)}catch{i=!0,r=e}t(r??e)}catch(r){let i=new Set(n);i.add(t),w.log(`fatal`,`Failed to emit a log record to sink {sink}: {error}`,{sink:t,error:r,record:e},i)}i&&(r=e)});return}if(this.lowestLevel===null||compareLogLevel(e.level,this.lowestLevel)<0||!this.filter(e))return;let r=this.getSinkDispatchPlan(e.level);if(r.kind===`none`)return;let i,a=!1;if(r.kind===`one`){let n=r.sink;if(t?.has(n))return;try{if(shouldSnapshotForSink(n))try{i=snapshotLogRecordProperties(e)}catch{a=!0,i=e}n(i??e)}catch(r){let i=new Set(t);i.add(n),w.log(`fatal`,`Failed to emit a log record to sink {sink}: {error}`,{sink:n,error:r,record:e},i)}}else for(let n of r.sinks)if(!t?.has(n))try{if(i==null&&!a&&shouldSnapshotForSink(n))try{i=snapshotLogRecordProperties(e)}catch{a=!0,i=e}n(i??e)}catch(r){let i=new Set(t);i.add(n),w.log(`fatal`,`Failed to emit a log record to sink {sink}: {error}`,{sink:n,error:r,record:e},i)}}log(e,t,n,r,i){if(this.isCertainlyDropped(e))return;let a=getImplicitContextIfAny();if(typeof n!=`function`&&a==null&&!t.includes(`{`)&&!hasEnumerableProperties(n)){let n={category:this.category,level:e,message:[t],rawMessage:t,timestamp:Date.now(),properties:{}};attachSourceLocation(n,i),v.add(n),this.emit(n,r);return}let o,s,c=typeof n==`function`?{category:this.category,level:e,timestamp:Date.now(),get message(){return s??=parseMessageTemplate(t,this.properties),s},rawMessage:t,get properties(){return o??=resolveProperties({...a??{},...n()}),o}}:{category:this.category,level:e,timestamp:Date.now(),get message(){return s??=parseMessageTemplate(t,this.properties),s},rawMessage:t,get properties(){return o??=resolveProperties({...a??{},...n}),o}};attachSourceLocation(c,i),_.add(c),this.emit(c,r)}logLazily(e,t,n={},r){if(this.isCertainlyDropped(e))return;let i=getImplicitContextIfAny(),a,o;function realizeMessage(){if((o==null||a==null)&&(o=t((e,...t)=>(a=e,renderMessage(e,t))),a==null))throw TypeError(`No log record was made.`);return[o,a]}let s={category:this.category,level:e,get message(){return realizeMessage()[0]},get rawMessage(){return realizeMessage()[1]},timestamp:Date.now(),properties:{...i??{},...n}};attachSourceLocation(s,r),this.emit(s)}logTemplate(e,t,n,r={},i){if(this.isCertainlyDropped(e))return;let a=getImplicitContextIfAny(),o={category:this.category,level:e,message:renderMessage(t,n),rawMessage:t,timestamp:Date.now(),properties:{...a??{},...r}};attachSourceLocation(o,i),this.emit(o)}trace(e,...t){let n=isSourceLocationCaptureActive()?this.captureSourceLocation(`trace`):void 0;if(typeof e==`string`)return logStringMessage(this,`trace`,e,t[0],n);typeof e==`function`?this.logLazily(`trace`,e,void 0,n):Array.isArray(e)?this.logTemplate(`trace`,e,t,void 0,n):this.log(`trace`,`{*}`,e,void 0,n)}debug(e,...t){let n=isSourceLocationCaptureActive()?this.captureSourceLocation(`debug`):void 0;if(typeof e==`string`)return logStringMessage(this,`debug`,e,t[0],n);typeof e==`function`?this.logLazily(`debug`,e,void 0,n):Array.isArray(e)?this.logTemplate(`debug`,e,t,void 0,n):this.log(`debug`,`{*}`,e,void 0,n)}info(e,...t){let n=isSourceLocationCaptureActive()?this.captureSourceLocation(`info`):void 0;if(typeof e==`string`)return logStringMessage(this,`info`,e,t[0],n);typeof e==`function`?this.logLazily(`info`,e,void 0,n):Array.isArray(e)?this.logTemplate(`info`,e,t,void 0,n):this.log(`info`,`{*}`,e,void 0,n)}logError(e,t,n,r){if(typeof n!=`function`){this.log(e,`{error.message}`,{...n,error:t},void 0,r);return}if(!this.isEnabledFor(e))return Promise.resolve();let i=n();if(i instanceof Promise)return i.then(n=>{this.log(e,`{error.message}`,{...n,error:t},void 0,r)});this.log(e,`{error.message}`,{...i,error:t},void 0,r)}warn(e,...t){let n=isSourceLocationCaptureActive()?this.captureSourceLocation(`warning`):void 0;if(e instanceof Error)return this.logError(`warning`,e,t[0],n);if(typeof e==`string`&&t[0]instanceof Error)this.log(`warning`,e,{error:t[0]},void 0,n);else if(typeof e==`string`)return logStringMessage(this,`warning`,e,t[0],n);else typeof e==`function`?this.logLazily(`warning`,e,void 0,n):Array.isArray(e)?this.logTemplate(`warning`,e,t,void 0,n):this.log(`warning`,`{*}`,e,void 0,n)}warning(e,...t){let n=isSourceLocationCaptureActive()?this.captureSourceLocation(`warning`):void 0;if(e instanceof Error)return this.logError(`warning`,e,t[0],n);if(typeof e==`string`&&t[0]instanceof Error)this.log(`warning`,e,{error:t[0]},void 0,n);else if(typeof e==`string`)return logStringMessage(this,`warning`,e,t[0],n);else typeof e==`function`?this.logLazily(`warning`,e,void 0,n):Array.isArray(e)?this.logTemplate(`warning`,e,t,void 0,n):this.log(`warning`,`{*}`,e,void 0,n)}error(e,...t){let n=isSourceLocationCaptureActive()?this.captureSourceLocation(`error`):void 0;if(e instanceof Error)return this.logError(`error`,e,t[0],n);if(typeof e==`string`&&t[0]instanceof Error)this.log(`error`,e,{error:t[0]},void 0,n);else if(typeof e==`string`)return logStringMessage(this,`error`,e,t[0],n);else typeof e==`function`?this.logLazily(`error`,e,void 0,n):Array.isArray(e)?this.logTemplate(`error`,e,t,void 0,n):this.log(`error`,`{*}`,e,void 0,n)}fatal(e,...t){let n=isSourceLocationCaptureActive()?this.captureSourceLocation(`fatal`):void 0;if(e instanceof Error)return this.logError(`fatal`,e,t[0],n);if(typeof e==`string`&&t[0]instanceof Error)this.log(`fatal`,e,{error:t[0]},void 0,n);else if(typeof e==`string`)return logStringMessage(this,`fatal`,e,t[0],n);else typeof e==`function`?this.logLazily(`fatal`,e,void 0,n):Array.isArray(e)?this.logTemplate(`fatal`,e,t,void 0,n):this.log(`fatal`,`{*}`,e,void 0,n)}},C=class LoggerCtx{logger;properties;constructor(e,t){this.logger=e,this.properties=t}get category(){return this.logger.category}get parent(){return this.logger.parent}getChild(e){return this.logger.getChild(e).with(this.properties)}with(e){return new LoggerCtx(this.logger,{...this.properties,...e})}log(e,t,n,r,i){if(this.logger.isCertainlyDropped(e))return;let a=this.properties;this.logger.log(e,t,typeof n==`function`?()=>resolveProperties({...a,...n()}):()=>resolveProperties({...a,...n}),r,i)}logLazily(e,t,n){this.logger.isCertainlyDropped(e)||this.logger.logLazily(e,t,resolveProperties(this.properties),n)}logTemplate(e,t,n,r){this.logger.isCertainlyDropped(e)||this.logger.logTemplate(e,t,n,resolveProperties(this.properties),r)}emit(e){let t={...e,properties:resolveProperties({...this.properties,...e.properties})};this.logger.emit(t)}isEnabledFor(e){return this.logger.isEnabledFor(e)}trace(e,...t){let n=isSourceLocationCaptureActive()?this.logger.captureSourceLocation(`trace`):void 0;if(typeof e==`string`)return logStringMessage(this,`trace`,e,t[0],n);typeof e==`function`?this.logLazily(`trace`,e,n):Array.isArray(e)?this.logTemplate(`trace`,e,t,n):this.log(`trace`,`{*}`,e,void 0,n)}debug(e,...t){let n=isSourceLocationCaptureActive()?this.logger.captureSourceLocation(`debug`):void 0;if(typeof e==`string`)return logStringMessage(this,`debug`,e,t[0],n);typeof e==`function`?this.logLazily(`debug`,e,n):Array.isArray(e)?this.logTemplate(`debug`,e,t,n):this.log(`debug`,`{*}`,e,void 0,n)}info(e,...t){let n=isSourceLocationCaptureActive()?this.logger.captureSourceLocation(`info`):void 0;if(typeof e==`string`)return logStringMessage(this,`info`,e,t[0],n);typeof e==`function`?this.logLazily(`info`,e,n):Array.isArray(e)?this.logTemplate(`info`,e,t,n):this.log(`info`,`{*}`,e,void 0,n)}logError(e,t,n,r){if(typeof n!=`function`){this.log(e,`{error.message}`,{...n,error:t},void 0,r);return}if(!this.isEnabledFor(e))return Promise.resolve();let i=n();if(i instanceof Promise)return i.then(n=>{this.log(e,`{error.message}`,{...n,error:t},void 0,r)});this.log(e,`{error.message}`,{...i,error:t},void 0,r)}warn(e,...t){let n=isSourceLocationCaptureActive()?this.logger.captureSourceLocation(`warning`):void 0;if(e instanceof Error)return this.logError(`warning`,e,t[0],n);if(typeof e==`string`&&t[0]instanceof Error)this.log(`warning`,e,{error:t[0]},void 0,n);else if(typeof e==`string`)return logStringMessage(this,`warning`,e,t[0],n);else typeof e==`function`?this.logLazily(`warning`,e,n):Array.isArray(e)?this.logTemplate(`warning`,e,t,n):this.log(`warning`,`{*}`,e,void 0,n)}warning(e,...t){let n=isSourceLocationCaptureActive()?this.logger.captureSourceLocation(`warning`):void 0;if(e instanceof Error)return this.logError(`warning`,e,t[0],n);if(typeof e==`string`&&t[0]instanceof Error)this.log(`warning`,e,{error:t[0]},void 0,n);else if(typeof e==`string`)return logStringMessage(this,`warning`,e,t[0],n);else typeof e==`function`?this.logLazily(`warning`,e,n):Array.isArray(e)?this.logTemplate(`warning`,e,t,n):this.log(`warning`,`{*}`,e,void 0,n)}error(e,...t){let n=isSourceLocationCaptureActive()?this.logger.captureSourceLocation(`error`):void 0;if(e instanceof Error)return this.logError(`error`,e,t[0],n);if(typeof e==`string`&&t[0]instanceof Error)this.log(`error`,e,{error:t[0]},void 0,n);else if(typeof e==`string`)return logStringMessage(this,`error`,e,t[0],n);else typeof e==`function`?this.logLazily(`error`,e,n):Array.isArray(e)?this.logTemplate(`error`,e,t,n):this.log(`error`,`{*}`,e,void 0,n)}fatal(e,...t){let n=isSourceLocationCaptureActive()?this.logger.captureSourceLocation(`fatal`):void 0;if(e instanceof Error)return this.logError(`fatal`,e,t[0],n);if(typeof e==`string`&&t[0]instanceof Error)this.log(`fatal`,e,{error:t[0]},void 0,n);else if(typeof e==`string`)return logStringMessage(this,`fatal`,e,t[0],n);else typeof e==`function`?this.logLazily(`fatal`,e,n):Array.isArray(e)?this.logTemplate(`fatal`,e,t,n):this.log(`fatal`,`{*}`,e,void 0,n)}};const w=S.getLogger([`logtape`,`meta`]);function isNestedAccess(e){return e.includes(`.`)||e.includes(`[`)||e.includes(`?.`)}function getOwnProperty(e,t){if(t!==`__proto__`&&t!==`prototype`&&t!==`constructor`&&(typeof e==`object`||typeof e==`function`)&&e!==null)return Object.prototype.hasOwnProperty.call(e,t)?e[t]:void 0}function parseNextSegment(e,t){let n=e.length,r=t;if(r>=n)return null;let i;if(e[r]===`[`){if(r++,r>=n)return null;if(e[r]===`"`||e[r]===`'`){let t=e[r];r++;let a=``;for(;r<n&&e[r]!==t;)if(e[r]===`\\`){if(r++,r<n){let t=e[r];switch(t){case`n`:a+=`
3
+ `;break;case`t`:a+=` `;break;case`r`:a+=`\r`;break;case`b`:a+=`\b`;break;case`f`:a+=`\f`;break;case`v`:a+=`\v`;break;case`0`:a+=`\0`;break;case`\\`:a+=`\\`;break;case`"`:a+=`"`;break;case`'`:a+=`'`;break;case`u`:if(r+4<n){let n=e.slice(r+1,r+5),i=Number.parseInt(n,16);Number.isNaN(i)?a+=t:(a+=String.fromCharCode(i),r+=4)}else a+=t;break;default:a+=t}r++}}else a+=e[r],r++;if(r>=n)return null;i=a,r++}else{let t=r;for(;r<n&&e[r]!==`]`&&e[r]!==`'`&&e[r]!==`"`;)r++;if(r>=n)return null;let a=e.slice(t,r);if(a.length===0)return null;let o=Number(a);i=Number.isNaN(o)?a:o}for(;r<n&&e[r]!==`]`;)r++;r<n&&r++}else{let t=r;for(;r<n&&e[r]!==`.`&&e[r]!==`[`&&e[r]!==`?`&&e[r]!==`]`;)r++;if(i=e.slice(t,r),i.length===0)return null}return r<n&&e[r]===`.`&&r++,{segment:i,nextIndex:r}}function accessProperty(e,t){if(typeof t==`string`)return getOwnProperty(e,t);if(Array.isArray(e)&&t>=0&&t<e.length)return e[t]}function resolvePropertyPath(e,t){if(e==null||t.length===0||t.endsWith(`.`))return;let n=e,r=0,i=t.length;for(;r<i;){if(t.slice(r,r+2)===`?.`){if(r+=2,n==null)return}else if(n==null)return;let e=parseNextSegment(t,r);if(e===null)return;let{segment:i,nextIndex:a}=e;if(r=a,n=accessProperty(n,i),n===void 0)return}return n}function parseMessageTemplate(e,t){let n=e.length;if(n===0)return[``];if(!e.includes(`{`))return[e];let r=[],i=0;for(let a=0;a<n;a++){let o=e[a];if(o===`{`){if((a+1<n?e[a+1]:``)===`{`){a++;continue}let o=e.indexOf(`}`,a+1);if(o===-1)continue;let s=e.slice(i,a);r.push(s.replace(/{{/g,`{`).replace(/}}/g,`}`));let c=e.slice(a+1,o),l,u=c.trim();u===`*`?l=c in t?t[c]:`*`in t?t[`*`]:t:(l=c===u||c in t?t[c]:t[u],l===void 0&&isNestedAccess(u)&&(l=resolvePropertyPath(t,u))),r.push(l),a=o,i=a+1}else o===`}`&&a+1<n&&e[a+1]===`}`&&a++}let a=e.slice(i);return r.push(a.replace(/{{/g,`{`).replace(/}}/g,`}`)),r}function renderMessage(e,t){let n=[];for(let r=0;r<e.length;r++)n.push(e[r]),r<t.length&&n.push(t[r]);return n}const T=Symbol.for(`logtape.categoryPrefix`);function getCategoryPrefix(){let e=S.getLogger().contextLocalStorage?.getStore();if(e==null)return[];let t=e[T];return Array.isArray(t)?t:[]}function getImplicitContextIfAny(){let e=S.getLogger().contextLocalStorage?.getStore();if(e==null)return;let t=Object.keys(e);if(t.length<1)return;let n={};for(let r of t)n[r]=e[r];return n}function escapeChar(e){return e===10?`\\n`:e===13?`\\r`:e===27?`\\x1b`:`\\x${e.toString(16).padStart(2,`0`)}`}function isDangerous(e,t){return e===9?!1:e===10||e===13?t:e<32||e===127||e>=128&&e<=159}const E=/^\x1b\[([0-9;:]*)m/;function sanitizeControlSequences(e,t={}){let n=t.sgr!==`escape`,r=t.newlines===`escape`,i=!1;for(let t=0;t<e.length;t++){let n=e.charCodeAt(t);if(n===27||isDangerous(n,r)){i=!0;break}}if(!i)return e;let a=``,o=0,s=!1;for(;o<e.length;){let t=e.charCodeAt(o);if(t===27){if(n){let t=E.exec(e.slice(o));if(t!=null){a+=t[0],s=!isSgrReset(t[1]),o+=t[0].length;continue}}a+=escapeChar(27),o++}else isDangerous(t,r)?(a+=escapeChar(t),o++):(a+=e[o],o++)}return s?a+`\x1B[0m`:a}function isSgrReset(e){return/^0*$/.test(e.replace(/[;:]/g,``))}function getSanitizer(e){if(e===!1)return null;let t=e??{};return e=>sanitizeControlSequences(e,t)}function createCircularReplacer(e){let t=[],n=[];return function(r,i){let a=e===void 0?i:e.call(this,r,i);if(typeof a!=`object`||!a)return a;for(;n.length>0&&n[n.length-1]!==this;)n.pop(),t.pop();for(let e=0;e<n.length;e++)if(n[e]===a||t[e]===i)return`[Circular]`;return t.push(i),n.push(a),a}}function stringifyWithoutCycles(e,t,n){try{return JSON.stringify(e,t,n)}catch{return JSON.stringify(e,createCircularReplacer(t),n)}}var D=/* @__PURE__ */ t({inspect:()=>inspect$1});function inspect$1(e,t){return n.inspect(e,t)}e(inspect$1,`inspect`);const O={trace:`TRC`,debug:`DBG`,info:`INF`,warning:`WRN`,error:`ERR`,fatal:`FTL`},k=typeof document<`u`||typeof navigator<`u`&&navigator.product===`ReactNative`?e=>stringifyWithoutCycles(e):`Deno`in globalThis&&`inspect`in globalThis.Deno&&typeof globalThis.Deno.inspect==`function`?(e,t)=>globalThis.Deno.inspect(e,{strAbbreviateSize:1/0,iterableLimit:1/0,...t}):D!=null&&typeof inspect$1==`function`?(e,t)=>inspect$1(e,{maxArrayLength:1/0,maxStringLength:1/0,...t}):e=>stringifyWithoutCycles(e),inspect=(e,t)=>String(k(e,t)),A=new TextEncoder;function getValueRenderer(e,t,n){if(e==null)return n;if(typeof e==`function`)return t=>e(t,inspect);if(e!==`bare`)throw TypeError(`Invalid value option: ${JSON.stringify(e)}. It must be "bare" or a function.`);let r=t===!1?null:getSanitizer({sgr:`escape`,newlines:t?.newlines??`escape`});return r==null?e=>typeof e==`string`?e:n(e):e=>typeof e==`string`?r(e):n(e)}function renderMessageParts(e,t,n){let r=e.length,i=n==null?e=>e:e=>n(e);if(r===1)return i(e[0]);if(r<=6){let n=``;for(let a=0;a<r;a++)n+=a%2==0?i(e[a]):t(e[a]);return n}let a=Array(r);for(let n=0;n<r;n++)a[n]=n%2==0?i(e[n]):t(e[n]);return a.join(``)}function padZero(e){return e<10?`0${e}`:`${e}`}function padThree(e){return e<10?`00${e}`:e<100?`0${e}`:`${e}`}const j=/^([+-])(0\d|1\d|2[0-3]):([0-5]\d)$/;function formatOffset(e,t){let n=e<0?`-`:`+`,r=Math.abs(e),i=padZero(Math.floor(r/60)),a=padZero(r%60);return!t&&a===`00`?`${n}${i}`:`${n}${i}:${a}`}function readPartsFromFormatter(e,t){let n=e.formatToParts(new Date(t)),r=``,i=``,a=``,o=``,s=``,c=``;for(let e of n)e.type===`year`?r=e.value:e.type===`month`?i=e.value:e.type===`day`?a=e.value:e.type===`hour`?o=e.value:e.type===`minute`?s=e.value:e.type===`second`&&(c=e.value);return{year:r,month:i,day:a,hour:o,minute:s,second:c}}function getDateParts(e,t){let n=new Date(e),r=padThree(n.getUTCMilliseconds());if(t.kind===`utc`)return{year:`${n.getUTCFullYear()}`,month:padZero(n.getUTCMonth()+1),day:padZero(n.getUTCDate()),hour:padZero(n.getUTCHours()),minute:padZero(n.getUTCMinutes()),second:padZero(n.getUTCSeconds()),ms:r,offsetMinutes:0};if(t.kind===`local`)return{year:`${n.getFullYear()}`,month:padZero(n.getMonth()+1),day:padZero(n.getDate()),hour:padZero(n.getHours()),minute:padZero(n.getMinutes()),second:padZero(n.getSeconds()),ms:r,offsetMinutes:-n.getTimezoneOffset()};if(t.kind===`offset`){let n=new Date(e+t.minutes*6e4);return{year:`${n.getUTCFullYear()}`,month:padZero(n.getUTCMonth()+1),day:padZero(n.getUTCDate()),hour:padZero(n.getUTCHours()),minute:padZero(n.getUTCMinutes()),second:padZero(n.getUTCSeconds()),ms:r,offsetMinutes:t.minutes}}let i=readPartsFromFormatter(t.formatter,e),a=Date.UTC(Number(i.year),Number(i.month)-1,Number(i.day),Number(i.hour),Number(i.minute),Number(i.second),n.getUTCMilliseconds()),o=Math.round((a-e)/6e4);return{...i,ms:r,offsetMinutes:o}}function resolveTimeZone(e){if(e===void 0)return{kind:`utc`};if(e===null)return{kind:`local`};let t=j.exec(e);if(t!=null){let e=t[1]===`-`?-1:1,n=Number(t[2]),r=Number(t[3]);return{kind:`offset`,minutes:e*(n*60+r)}}if(typeof Intl>`u`||typeof Intl.DateTimeFormat!=`function`)throw TypeError(`Invalid timeZone option: ${JSON.stringify(e)}. This environment does not support IANA time zones.`);try{return{kind:`iana`,formatter:new Intl.DateTimeFormat(`en-CA`,{timeZone:e,hour12:!1,hourCycle:`h23`,year:`numeric`,month:`2-digit`,day:`2-digit`,hour:`2-digit`,minute:`2-digit`,second:`2-digit`})}}catch{throw TypeError(`Invalid timeZone option: ${JSON.stringify(e)}. Expected an IANA time zone name (e.g., "Asia/Seoul") or a fixed UTC offset string (e.g., "+09:00").`)}}function createTimestampFormatter(e,t){return e===`none`?()=>null:e===`rfc3339`&&t.kind===`utc`?e=>new Date(e).toISOString():n=>{let r=getDateParts(n,t),i=`${r.year}-${r.month}-${r.day}`,a=`${r.hour}:${r.minute}:${r.second}.${r.ms}`,o=formatOffset(r.offsetMinutes,!0),s=formatOffset(r.offsetMinutes,!1);return e===`date-time-timezone`?`${i} ${a} ${o}`:e===`date-time-tz`?`${i} ${a} ${s}`:e===`date-time`?`${i} ${a}`:e===`time-timezone`?`${a} ${o}`:e===`time-tz`?`${a} ${s}`:e===`time`?a:e===`date`?i:`${i}T${a}${o}`}}const M={ABBR:O,abbr:{trace:`trc`,debug:`dbg`,info:`inf`,warning:`wrn`,error:`err`,fatal:`ftl`},FULL:{trace:`TRACE`,debug:`DEBUG`,info:`INFO`,warning:`WARNING`,error:`ERROR`,fatal:`FATAL`},full:{trace:`trace`,debug:`debug`,info:`info`,warning:`warning`,error:`error`,fatal:`fatal`},L:{trace:`T`,debug:`D`,info:`I`,warning:`W`,error:`E`,fatal:`F`},l:{trace:`t`,debug:`d`,info:`i`,warning:`w`,error:`e`,fatal:`f`}};function getLineEndingValue(e){return e===`crlf`?`\r
4
+ `:`
5
+ `}const N=/[\u007f-\u009f]/g;function escapeJsonControlChars(e){return e.replace(N,e=>`\\u${e.charCodeAt(0).toString(16).padStart(4,`0`)}`)}function bigintReplacer(e,t){return typeof t==`bigint`?t.toString():t}function stringifyJsonMessageValue(e){return typeof e==`string`||typeof e==`number`||typeof e==`boolean`?JSON.stringify(e):stringifyWithoutCycles(e,bigintReplacer)}function jsonReplacer(e,t){if(typeof t==`bigint`)return t.toString();if(!(t instanceof Error))return t;let n={name:t.name,message:t.message};typeof t.stack==`string`&&(n.stack=t.stack);let r=t.cause;r!==void 0&&(n.cause=r),typeof AggregateError<`u`&&t instanceof AggregateError&&(n.errors=t.errors);for(let e of Object.keys(t))e in n||(n[e]=t[e]);return n}function renderDefaultJsonLinesMessage(e){let t=e.length;if(t===1)return e[0];if(t===3)return e[0]+stringifyJsonMessageValue(e[1])+e[2];let n=e[0];for(let r=1;r<t;r++)n+=r&1?stringifyJsonMessageValue(e[r]):e[r];return n}function stringifyJsonLinesField(e,t){if(t!=null&&(typeof t==`object`||typeof t==`function`||typeof t==`bigint`)){let n=t.toJSON;typeof n==`function`&&(t=n.call(t,e))}return JSON.stringify(jsonReplacer(e,t),createCircularReplacer(jsonReplacer))}function formatDefaultJsonLinesRecord(e,t){let n=e.level===`warning`?`WARN`:e.level.toUpperCase(),r=stringifyJsonLinesField(`message`,renderDefaultJsonLinesMessage(e.message)),i=stringifyJsonLinesField(`properties`,e.properties),a=`{"@timestamp":${JSON.stringify(new Date(e.timestamp).toISOString())},"level":${JSON.stringify(n)}`;return r!==void 0&&(a+=`,"message":${r}`),a+=`,"logger":${JSON.stringify(e.category.join(`.`))}`,i!==void 0&&(a+=`,"properties":${i}`),escapeJsonControlChars(`${a}}`)+t}function getTextFormatter(e={}){let t=(()=>{let t=e.timestamp,n=resolveTimeZone(e.timeZone);return t==null?createTimestampFormatter(`date-time-timezone`,n):t===`disabled`?createTimestampFormatter(`none`,n):typeof t==`string`&&(t===`date-time-timezone`||t===`date-time-tz`||t===`date-time`||t===`time-timezone`||t===`time-tz`||t===`time`||t===`date`||t===`rfc3339`||t===`none`)?createTimestampFormatter(t,n):t})(),n=e.category??`·`,r=getSanitizer(e.sanitize),i=getSanitizer(e.sanitize!==!1&&{...e.sanitize,sgr:`escape`}),a=getValueRenderer(e.value,e.sanitize,inspect),o=(()=>{let t=e.level;return t==null||t===`ABBR`?e=>M.ABBR[e]:t===`abbr`?e=>M.abbr[e]:t===`FULL`?e=>M.FULL[e]:t===`full`?e=>M.full[e]:t===`L`?e=>M.L[e]:t===`l`?e=>M.l[e]:t})(),s=getLineEndingValue(e.lineEnding),c=getSourceLocationRenderer(e.sourceLocation,e.sanitize===!1?null:getSanitizer({...e.sanitize,sgr:`escape`,newlines:`escape`})),l=e.format??(({timestamp:e,level:t,category:n,message:r,sourceLocation:i})=>`${e?`${e} `:``}[${t}] ${n}${i==null?``:` (${i})`}: ${r}`);return e=>{let u=renderMessageParts(e.message,a,r),d=t(e.timestamp),f=o(e.level),p=i==null?e.category:e.category.map(i),m={timestamp:d,level:f,category:typeof n==`function`?n(p):p.join(n),message:u,record:e};return c!=null&&(m.sourceLocation=e.sourceLocation==null?null:c(e.sourceLocation)),`${l(m)}${s}`}}function getSourceLocationRenderer(e,t){if(e==null||e===!1)return null;let n=e===!0?e=>`${e.file}:${e.line}:${e.column}`:e;return t==null?n:e=>t(n(e))}getTextFormatter();const P=`\x1B[0m`,F={black:`\x1B[30m`,red:`\x1B[31m`,green:`\x1B[32m`,yellow:`\x1B[33m`,blue:`\x1B[34m`,magenta:`\x1B[35m`,cyan:`\x1B[36m`,white:`\x1B[37m`},I={bold:`\x1B[1m`,dim:`\x1B[2m`,italic:`\x1B[3m`,underline:`\x1B[4m`,strikethrough:`\x1B[9m`},L={trace:null,debug:`blue`,info:`green`,warning:`yellow`,error:`red`,fatal:`magenta`};function getAnsiColorFormatter(e={}){let t=e.format,n=e.timestampStyle===void 0?`dim`:e.timestampStyle,r=e.timestampColor??null,i=`${n==null?``:I[n]}${r==null?``:F[r]}`,a=n==null&&r==null?``:P,o=e.levelStyle===void 0?`bold`:e.levelStyle,s=e.levelColors??L,c=e.categoryStyle===void 0?`dim`:e.categoryStyle,l=e.categoryColor??null,u=`${c==null?``:I[c]}${l==null?``:F[l]}`,d=c==null&&l==null?``:P;return getTextFormatter({timestamp:`date-time-tz`,value(e,t){return t(e,{colors:!0})},...e,...e.value===`bare`?{value:getValueRenderer(`bare`,e.sanitize,e=>inspect(e,{colors:!0}))}:{},format({timestamp:e,level:n,category:r,message:c,sourceLocation:l,record:f}){let p=s[f.level];if(e=e==null?null:`${i}${e}${a}`,n=`${o==null?``:I[o]}${p==null?``:F[p]}${n}${o==null&&p==null?``:P}`,t==null)return`${e==null?``:`${e} `}${n} ${u}${r}${l==null?``:` (${l})`}:${d} ${c}`;let m={timestamp:e,level:n,category:`${u}${r}${d}`,message:c,record:f};return l!==void 0&&(m.sourceLocation=l==null?null:`${u}${l}${d}`),t(m)}})}getAnsiColorFormatter();function getJsonLinesFormatter(e={}){let t=getLineEndingValue(e.lineEnding);if(!e.categorySeparator&&!e.message&&!e.properties)return e=>formatDefaultJsonLinesRecord(e,t);let n=e.message===`template`,r=e.properties??`nest:properties`,joinCategory;if(typeof e.categorySeparator==`function`)joinCategory=e.categorySeparator;else{let t=e.categorySeparator??`.`;joinCategory=e=>e.join(t)}let getProperties;if(r===`flatten`)getProperties=e=>e;else if(r.startsWith(`prepend:`)){let e=r.substring(8);if(e===``)throw TypeError(`Invalid properties option: ${JSON.stringify(r)}. It must be of the form "prepend:<prefix>" where <prefix> is a non-empty string.`);getProperties=t=>{let n={};for(let r in t)n[`${e}${r}`]=t[r];return n}}else if(r.startsWith(`nest:`)){let e=r.substring(5);getProperties=t=>({[e]:t})}else throw TypeError(`Invalid properties option: ${JSON.stringify(r)}. It must be "flatten", "prepend:<prefix>", or "nest:<key>".`);let i;return i=n?e=>{if(typeof e.rawMessage==`string`)return e.rawMessage;let t=``;for(let n=0;n<e.rawMessage.length;n++)n>0&&(t+=`{}`),t+=e.rawMessage[n];return t}:e=>{let t=e.message.length;if(t===1)return e.message[0];let n=``;for(let r=0;r<t;r++)n+=r%2<1?e.message[r]:stringifyJsonMessageValue(e.message[r]);return n},e=>escapeJsonControlChars(JSON.stringify({"@timestamp":new Date(e.timestamp).toISOString(),level:e.level===`warning`?`WARN`:e.level.toUpperCase(),message:i(e),logger:joinCategory(e.category),...getProperties(e.properties)},createCircularReplacer(jsonReplacer)))+t}getJsonLinesFormatter();function renderStructuredMessage(e,t){return t?typeof e.rawMessage==`string`?e.rawMessage:e.rawMessage.join(`{}`):renderMessageParts(e.message,stringifyLogfmtValue)}function filterLogfmtKey(e){if(e===``)return null;let t=!1;for(let n of e)if(shouldEscapeLogfmtKeyChar(n,n.codePointAt(0))){t=!0;break}if(!t)return e;let n=``;for(let t of e)shouldEscapeLogfmtKeyChar(t,t.codePointAt(0))?n+=encodeLogfmtKeyChar(t):n+=t;return n}function isTerminalControlCode(e){return e===127||e>=128&&e<=159}function shouldEscapeLogfmtKeyChar(e,t){return t<=32||isTerminalControlCode(t)||t===65533||e===`=`||e===`"`||e===`%`}function encodeLogfmtKeyChar(e){let t=``;for(let n of A.encode(e))t+=`%${n.toString(16).toUpperCase().padStart(2,`0`)}`;return t}function stringifyLogfmtValue(e){if(typeof e==`string`)return e;if(e===null)return`null`;if(typeof e==`number`||typeof e==`boolean`||typeof e==`bigint`||e===void 0||typeof e==`symbol`||typeof e==`function`)return String(e);try{let t=JSON.stringify(e,jsonReplacer);if(typeof t==`string`)return unwrapJsonStringLiteral(t)}catch{}return inspect(e,{colors:!1})}function unwrapJsonStringLiteral(e){return e.startsWith(`"`)&&e.endsWith(`"`)?JSON.parse(e):e}function quoteLogfmtValue(e,t){let n=e===``||t&&shouldQuoteStringLiteral(e);for(let t of e)if(shouldQuoteLogfmtValueChar(t,t.codePointAt(0))){n=!0;break}if(!n)return e;let r=``;for(let t of e){let e=t.codePointAt(0);r+=escapeLogfmtValueChar(t,e)}return`"${r}"`}function shouldQuoteStringLiteral(e){return e===`null`||e===`undefined`||e===`true`||e===`false`}function shouldQuoteLogfmtValueChar(e,t){return t<=32||isTerminalControlCode(t)||t===65533||e===`=`||e===`"`||e===`\\`}function escapeLogfmtValueChar(e,t){switch(e){case` `:return`\\t`;case`
6
+ `:return`\\n`;case`\r`:return`\\r`;case`"`:return`\\"`;case`\\`:return`\\\\`;default:return t<=31||isTerminalControlCode(t)?`\\u${t.toString(16).padStart(4,`0`)}`:e}}function formatLogfmtValue(e){return quoteLogfmtValue(stringifyLogfmtValue(e),typeof e==`string`)}function pushLogfmtPair(e,t,n){let r=filterLogfmtKey(t);r!=null&&e.push(`${r}=${formatLogfmtValue(n)}`)}function getLogfmtFormatter(e={}){let t=getLineEndingValue(e.lineEnding),n=createTimestampFormatter(`rfc3339`,resolveTimeZone(e.timeZone)),r=e.message===`template`,i=e.properties??`flatten`,joinCategory;if(typeof e.categorySeparator==`function`)joinCategory=e.categorySeparator;else{let t=e.categorySeparator??`.`;joinCategory=e=>e.join(t)}let a=``;if(i===`flatten`)a=``;else if(i.startsWith(`prepend:`)){if(a=i.substring(8),a===``)throw TypeError(`Invalid properties option: `+JSON.stringify(i)+`. It must be of the form "prepend:<prefix>" where <prefix> is a non-empty string.`)}else throw TypeError(`Invalid properties option: ${JSON.stringify(i)}. It must be "flatten" or "prepend:<prefix>".`);return e=>{let i=[];pushLogfmtPair(i,`time`,n(e.timestamp)),pushLogfmtPair(i,`level`,e.level),pushLogfmtPair(i,`logger`,joinCategory(e.category)),pushLogfmtPair(i,`msg`,renderStructuredMessage(e,r));for(let t in e.properties)Object.prototype.hasOwnProperty.call(e.properties,t)&&pushLogfmtPair(i,`${a}${t}`,e.properties[t]);return`${i.join(` `)}${t}`}}getLogfmtFormatter();const R={trace:`background-color: gray; color: white;`,debug:`background-color: gray; color: white;`,info:`background-color: white; color: black;`,warning:`background-color: orange; color: black;`,error:`background-color: red; color: white;`,fatal:`background-color: maroon; color: white;`};function defaultConsoleFormatter(e){return formatConsoleRecord(e,void 0)}function formatConsoleRecord(e,t){let n=``,r=[];for(let t=0;t<e.message.length;t++)t%2==0?n+=sanitizeControlSequences(e.message[t]):(n+=`%o`,r.push(e.message[t]));let i=new Date(e.timestamp),a=`${i.getUTCHours().toString().padStart(2,`0`)}:${i.getUTCMinutes().toString().padStart(2,`0`)}:${i.getUTCSeconds().toString().padStart(2,`0`)}.${i.getUTCMilliseconds().toString().padStart(3,`0`)}`,o=e.category.map(e=>sanitizeControlSequences(e,{sgr:`escape`})).join(`·`);return t==null?[`%c${a} %c${O[e.level]}%c %c${o} %c${n}`,`color: gray;`,R[e.level],`background-color: default;`,`color: gray;`,`color: default;`,...r]:[`%c${a} %c${O[e.level]}%c %c${o} (%s) %c${n}`,`color: gray;`,R[e.level],`background-color: default;`,`color: gray;`,t,`color: default;`,...r]}function createSinkNotifications(e,t,n,r){let i=0,a=0,o=null;function notify(e,t){i++;try{let n=e(t);n!=null&&Promise.resolve(n).catch(()=>{})}catch{}finally{i--}}function reportDrops(){let e=a;a=0,e>0&&n!=null&&notify(n,{count:e,reason:`overflow`})}return{get notifying(){return i>0},drop(){n!=null&&(a++,o??=setTimeout(()=>{o=null,reportDrops()},t))},error(t,n,i=!1){if(r==null)return;let a={error:t,sink:e,operation:n};i?queueMicrotask(()=>notify(r,a)):notify(r,a)},dispose(){o!=null&&(clearTimeout(o),o=null),reportDrops()}}}function getConsoleSink(e={}){let t=e.formatter??defaultConsoleFormatter,n={trace:`debug`,debug:`debug`,info:`info`,warning:`warn`,error:`error`,fatal:`error`,...e.levelMap??{}},i=e.console??globalThis.console,writeToConsole=(e,t)=>{let r=n[e.level];if(r===void 0)throw TypeError(`Invalid log level: ${e.level}.`);if(typeof t==`string`){let e=t.replace(/\r?\n$/,``);i[r](e)}else i[r](...t)},baseSink=e=>{writeToConsole(e,t(e))};if(!e.nonBlocking)return baseSink;let a=e.nonBlocking===!0?{}:e.nonBlocking,o=a.bufferSize??100,s=a.flushInterval??100,c=createSinkNotifications(`console`,s,a.onDrop,a.onError),l=[],u=null,d=null,f=!1,p=!1,m=o*2;function flush(){if(l.length===0)return;let e=l.splice(0);for(let n of e){let e=`format`;try{let r=t(n);e=`write`,writeToConsole(n,r)}catch(t){c.error(t,e)}}}function scheduleFlush(){p||(p=!0,d=setTimeout(()=>{d=null,p=!1,flush()},0))}function startFlushTimer(){u!==null||f||(u=setInterval(()=>{flush()},s))}let nonBlockingSink=e=>{f||c.notifying||(l.length>=m&&l.length>0&&(l.shift(),c.drop()),l.push(e),l.length>=o?scheduleFlush():u===null&&startFlushTimer())};return nonBlockingSink[r]=()=>{f||(f=!0,u!==null&&(clearInterval(u),u=null),d!==null&&(clearTimeout(d),d=null,p=!1),c.dispose(),flush())},nonBlockingSink}let z=null,B=!1;const V=/* @__PURE__ */ new Set,H=/* @__PURE__ */ new Set,U=Symbol.for(`logtape.inspectionState`);function getInspectionState(){let e=globalThis,t=e[U];if(t!=null&&t.loggers instanceof WeakMap)return t;let n={configured:!1,loggers:/* @__PURE__ */ new WeakMap};return e[U]=n,n}const W=/* @__PURE__ */ new Set,G=/* @__PURE__ */ new Set,K=/* @__PURE__ */ new Set,q=/* @__PURE__ */ new Set;let unregisterDisposeHook;function getSourceLocationRoot(){return S.getLogger()}function isLoggerConfigMeta(e){let t=Array.isArray(e.category)?e.category:[e.category];return t.length===0||t.length===1&&t[0]===`logtape`||t.length===2&&t[0]===`logtape`&&t[1]===`meta`}function registerDisposeHook(e){unregisterDisposeHook?.(),unregisterDisposeHook=void 0;let t=e?disposeInternal:disposeSyncInternal;if(typeof globalThis.EdgeRuntime!=`string`&&`process`in globalThis&&!(`Deno`in globalThis)){let e=globalThis.process,n=e?.on;if(typeof n==`function`){n.call(e,`exit`,t),unregisterDisposeHook=()=>{let n=e?.off??e?.removeListener;typeof n==`function`&&n.call(e,`exit`,t)};return}}let n=globalThis.addEventListener;if(typeof n!=`function`)return;let r=globalThis.removeEventListener;`Deno`in globalThis?(n.call(globalThis,`unload`,t),typeof r==`function`&&(unregisterDisposeHook=()=>{r.call(globalThis,`unload`,t)})):(n.call(globalThis,`pagehide`,t),typeof r==`function`&&(unregisterDisposeHook=()=>{r.call(globalThis,`pagehide`,t)}))}function configureSync(e){runGlobalConfigMutationSync(`configureSync()`,()=>{if(z!=null&&!e.reset)throw new ConfigError(`Already configured; if you want to reset, turn on the reset flag.`);if(K.size>0||q.size>0)throw new ConfigError(`Previously configured async disposables are still active. Use configure() instead or explicitly dispose them using dispose().`);disposeSyncInternal(),resetInternal();try{configureInternal(e,!1)}catch(e){throw e instanceof ConfigError&&(disposeSyncInternal(),resetInternal()),e}})}function configureInternal(e,t){z=e,getInspectionState().configured=!0;let n=!1,a=!1,o=/* @__PURE__ */ new Set;for(let t of e.loggers){isLoggerConfigMeta(t)&&(n=!0);let r=Array.isArray(t.category)?JSON.stringify(t.category):JSON.stringify([t.category]);if(o.has(r))throw new ConfigError(`Duplicate logger configuration for category: ${r}. Each category can only be configured once.`);o.add(r);let i=S.getLogger(t.category);for(let n of t.sinks??[]){let t=e.sinks[n];if(!t)throw new ConfigError(`Sink not found: ${n}.`);i.sinks.push(t)}if(i.parentSinks=t.parentSinks??`inherit`,t.lowestLevel!==void 0&&(i.lowestLevel=t.lowestLevel),t.captureSourceLocation!==void 0){if(typeof t.captureSourceLocation!=`boolean`)throw new ConfigError(`Logger captureSourceLocation must be a boolean.`);i.sourceLocationCapture=t.captureSourceLocation,t.captureSourceLocation&&(a=!0)}for(let n of t.filters??[]){let t=e.filters?.[n];if(t===void 0)throw new ConfigError(`Filter not found: ${n}.`);i.filters.push(toFilter(t))}getInspectionState().loggers.set(i,{sinks:[...i.sinks],sinkIds:[...t.sinks??[]],filters:[...i.filters],filterIds:[...t.filters??[]]}),V.add(i)}S.getLogger().contextLocalStorage=e.contextLocalStorage,getSourceLocationRoot().setGlobalSourceLocationCapture?.(a);for(let n of Object.values(e.sinks)){if(H.add(n),i in n){if(t)q.add(n);else throw new ConfigError(`Async disposables cannot be used with configureSync().`)}r in n&&G.add(n)}for(let n of Object.values(e.filters??{}))if(n!=null&&typeof n!=`string`){if(i in n){if(t)K.add(n);else throw new ConfigError(`Async disposables cannot be used with configureSync().`);q.delete(n)}r in n&&(W.add(n),G.delete(n))}registerDisposeHook(t);let s=S.getLogger([`logtape`,`meta`]);n||s.sinks.push(getConsoleSink()),s.info(`LogTape loggers are configured. Note that LogTape itself uses the meta logger, which has category {metaLoggerCategory}. The meta logger is used to log internal diagnostics such as sink exceptions. It's recommended to configure the meta logger with a separate sink so that you can easily notice if logging itself fails or is misconfigured. To turn off this message, configure the meta logger with higher log levels than {dismissLevel}. See also <https://logtape.org/manual/categories#meta-logger>.`,{metaLoggerCategory:[`logtape`,`meta`],dismissLevel:`info`})}function resetInternal(){unregisterDisposeHook?.(),unregisterDisposeHook=void 0;let e=S.getLogger([]);e.resetDescendants(),getSourceLocationRoot().setGlobalSourceLocationCapture?.(!1),delete e.contextLocalStorage,V.clear(),H.clear();let t=getInspectionState();t.configured=!1,t.loggers=/* @__PURE__ */ new WeakMap,z=null}async function disposeInternal(){let e=[];try{disposeSyncFilters()}catch(t){e.push(t)}try{await disposeAsyncFilters()}catch(t){e.push(t)}try{disposeSyncSinks()}catch(t){e.push(t)}try{await disposeAsyncSinks()}catch(t){e.push(t)}throwDisposeErrors(e)}function disposeSyncInternal(){let e=[];try{disposeSyncFilters()}catch(t){e.push(t)}try{disposeSyncSinks()}catch(t){e.push(t)}throwDisposeErrors(e)}function runGlobalConfigMutationSync(e,t){assertCanMutateGlobalConfig(e),B=!0;try{return t()}finally{B=!1}}function assertCanMutateGlobalConfig(e){if(B)throw new ConfigError(`${e} cannot be called while LogTape is being reconfigured.`)}function disposeSyncFilters(){disposeSyncDisposables(W)}function disposeSyncSinks(){disposeSyncDisposables(G)}function disposeSyncDisposables(e){let t=[];try{for(let n of e)try{n[r]()}catch(e){t.push(e)}finally{e.delete(n)}}finally{e.clear()}throwDisposeErrors(t)}async function disposeAsyncFilters(){await disposeAsyncDisposables(K)}async function disposeAsyncSinks(){await disposeAsyncDisposables(q)}async function disposeAsyncDisposables(e){let t=[];try{for(let n of e)try{t.push(Promise.resolve(n[i]()))}catch(e){t.push(Promise.reject(e))}finally{e.delete(n)}}finally{e.clear()}await settleDisposePromises(t)}async function settleDisposePromises(e){throwDisposeErrors((await Promise.allSettled(e)).filter(e=>e.status===`rejected`).map(e=>e.reason))}function throwDisposeErrors(e){if(!(e.length<1))throw e.length===1?e[0]:AggregateError(e,`Multiple errors occurred while disposing LogTape resources.`)}var ConfigError=class extends Error{constructor(e){super(e),this.name=`ConfigError`}};export{getTextFormatter as a,getAnsiColorFormatter as i,getConsoleSink as n,getLogger as o,defaultConsoleFormatter as r,configureSync as t};
@@ -0,0 +1 @@
1
+ import"../../rolldown-runtime.mjs";function createMap(){return new e}var e=class IndexedMap{index={};array=[];size(){return this.array.length}empty(){return this.array.length===0}itemAt(e){return this.array[e]}contains(e){return this.index[e.id()]!==void 0}find(e){let t=this.index[e.id()];return t===void 0?void 0:this.array[t]}setDefault(e,n){let r=this.index[e.id()];if(r===void 0){let r=new t(e,n());return this.index[e.id()]=this.array.length,this.array.push(r),r}return this.array[r]}insert(e,n){let r=new t(e,n),i=this.index[e.id()];return i===void 0?(this.index[e.id()]=this.array.length,this.array.push(r)):this.array[i]=r,r}erase(e){let t=this.index[e.id()];if(t===void 0)return;this.index[e.id()]=void 0;let n=this.array[t],r=this.array.pop();return n!==r&&(this.array[t]=r,this.index[r.first.id()]=t),n}copy(){let e=new IndexedMap;for(let t=0;t<this.array.length;t++){let n=this.array[t].copy();e.array[t]=n,e.index[n.first.id()]=t}return e}},t=class Pair{first;second;constructor(e,t){this.first=e,this.second=t}copy(){return new Pair(this.first,this.second)}},Variable=class{constructor(e=``){this._name=e}id(){return this._id}name(){return this._name}setName(e){this._name=e}context(){return this._context}setContext(e){this._context=e}value(){return this._value}setValue(e){this._value=e}plus(e){return new r(this,e)}minus(e){return new r(this,typeof e==`number`?-e:[-1,e])}multiply(e){return new r([e,this])}divide(e){return new r([1/e,this])}toJSON(){return{name:this._name,value:this._value}}toString(){return this._context+`[`+this._name+`:`+this._value+`]`}_name;_value=0;_context=null;_id=n++};let n=0;var r=class Expression{constructor(){let e=parseArgs(arguments);this._terms=e.terms,this._constant=e.constant}terms(){return this._terms}constant(){return this._constant}value(){let e=this._constant;for(let t=0,n=this._terms.size();t<n;t++){let n=this._terms.itemAt(t);e+=n.first.value()*n.second}return e}plus(e){return new Expression(this,e)}minus(e){return new Expression(this,typeof e==`number`?-e:[-1,e])}multiply(e){return new Expression([e,this])}divide(e){return new Expression([1/e,this])}isConstant(){return this._terms.size()==0}toString(){let e=this._terms.array.map(function(e){return e.second+`*`+e.first.toString()}).join(` + `);return!this.isConstant()&&this._constant!==0&&(e+=` + `),e+=this._constant,e}_terms;_constant};function parseArgs(e){let t=0,factory=()=>0,n=createMap();for(let i=0,a=e.length;i<a;++i){let a=e[i];if(typeof a==`number`)t+=a;else if(a instanceof Variable)n.setDefault(a,factory).second+=1;else if(a instanceof r){t+=a.constant();let e=a.terms();for(let t=0,r=e.size();t<r;t++){let r=e.itemAt(t);n.setDefault(r.first,factory).second+=r.second}}else if(a instanceof Array){if(a.length!==2)throw Error(`array must have length 2`);let e=a[0],i=a[1];if(typeof e!=`number`)throw Error(`array item 0 must be a number`);if(i instanceof Variable)n.setDefault(i,factory).second+=e;else if(i instanceof r){t+=i.constant()*e;let r=i.terms();for(let t=0,i=r.size();t<i;t++){let i=r.itemAt(t);n.setDefault(i.first,factory).second+=i.second*e}}else throw Error(`array item 1 must be a variable or expression`)}else throw Error(`invalid Expression argument: `+a)}return{terms:n,constant:t}}var i=class Strength{static create(e,t,n,r=1){let i=0;return i+=Math.max(0,Math.min(1e3,e*r))*1e6,i+=Math.max(0,Math.min(1e3,t*r))*1e3,i+=Math.max(0,Math.min(1e3,n*r)),i}static required=Strength.create(1e3,1e3,1e3);static strong=Strength.create(1,0,0);static medium=Strength.create(0,1,0);static weak=Strength.create(0,0,1);static clip(e){return Math.max(0,Math.min(Strength.required,e))}},a;(function(e){e[e.Le=0]=`Le`,e[e.Ge=1]=`Ge`,e[e.Eq=2]=`Eq`})(a||={});var Constraint=class{constructor(e,t,n,a=i.required){this._operator=t,this._strength=i.clip(a),this._expression=n===void 0&&e instanceof r?e:e.minus(n)}id(){return this._id}expression(){return this._expression}op(){return this._operator}strength(){return this._strength}toString(){return this._expression.toString()+` `+[`<=`,`>=`,`=`][this._operator]+` 0 (`+this._strength.toString()+`)`}_expression;_operator;_strength;_id=o++};let o=0;var Solver=class{maxIterations=1e3;constructor(){}createConstraint(e,t,n,r=i.required){let a=new Constraint(e,t,n,r);return this.addConstraint(a),a}addConstraint(e){if(this._cnMap.find(e)!==void 0)throw Error(`duplicate constraint`);let t=this._createRow(e),n=t.row,r=t.tag,i=this._chooseSubject(n,r);if(i.type()===s.Invalid&&n.allDummies()){if(nearZero(n.constant()))i=r.marker;else throw Error(`unsatisfiable constraint`)}if(i.type()===s.Invalid){if(!this._addWithArtificialVariable(n))throw Error(`unsatisfiable constraint`)}else n.solveFor(i),this._substitute(i,n),this._rowMap.insert(i,n);this._cnMap.insert(e,r),this._optimize(this._objective)}removeConstraint(e){let t=this._cnMap.erase(e);if(t===void 0)throw Error(`unknown constraint`);this._removeConstraintEffects(e,t.second);let n=t.second.marker,r=this._rowMap.erase(n);if(r===void 0){let e=this._getMarkerLeavingSymbol(n);if(e.type()===s.Invalid)throw Error(`failed to find leaving row`);r=this._rowMap.erase(e),r.second.solveForEx(e,n),this._substitute(n,r.second)}this._optimize(this._objective)}hasConstraint(e){return this._cnMap.contains(e)}getConstraints(){return this._cnMap.array.map(({first:e})=>e)}addEditVariable(e,t){if(this._editMap.find(e)!==void 0)throw Error(`duplicate edit variable`);if(t=i.clip(t),t===i.required)throw Error(`bad required strength`);let n=new Constraint(new r(e),a.Eq,void 0,t);this.addConstraint(n);let o={tag:this._cnMap.find(n).second,constraint:n,constant:0};this._editMap.insert(e,o)}removeEditVariable(e){let t=this._editMap.erase(e);if(t===void 0)throw Error(`unknown edit variable`);this.removeConstraint(t.second.constraint)}hasEditVariable(e){return this._editMap.contains(e)}suggestValue(e,t){let n=this._editMap.find(e);if(n===void 0)throw Error(`unknown edit variable`);let r=this._rowMap,i=n.second,a=t-i.constant;i.constant=t;let o=i.tag.marker,c=r.find(o);if(c!==void 0){c.second.add(-a)<0&&this._infeasibleRows.push(o),this._dualOptimize();return}let l=i.tag.other;if(c=r.find(l),c!==void 0)c.second.add(a)<0&&this._infeasibleRows.push(l),this._dualOptimize();else{for(let e=0,t=r.size();e<t;++e){let t=r.itemAt(e),n=t.second,i=n.coefficientFor(o);i!==0&&n.add(a*i)<0&&t.first.type()!==s.External&&this._infeasibleRows.push(t.first)}this._dualOptimize()}}updateVariables(){let e=this._varMap,t=this._rowMap;for(let n=0,r=e.size();n<r;++n){let r=e.itemAt(n),i=t.find(r.second);i===void 0?r.first.setValue(0):r.first.setValue(i.second.constant())}}_getVarSymbol(e){let factory=()=>this._makeSymbol(s.External);return this._varMap.setDefault(e,factory).second}_createRow(e){let t=e.expression(),n=new l(t.constant()),r=t.terms();for(let e=0,t=r.size();e<t;++e){let t=r.itemAt(e);if(!nearZero(t.second)){let e=this._getVarSymbol(t.first),r=this._rowMap.find(e);r===void 0?n.insertSymbol(e,t.second):n.insertRow(r.second,t.second)}}let o=this._objective,u=e.strength(),d={marker:c,other:c};switch(e.op()){case a.Le:case a.Ge:{let t=e.op()===a.Le?1:-1,r=this._makeSymbol(s.Slack);if(d.marker=r,n.insertSymbol(r,t),u<i.required){let e=this._makeSymbol(s.Error);d.other=e,n.insertSymbol(e,-t),o.insertSymbol(e,u)}break}case a.Eq:if(u<i.required){let e=this._makeSymbol(s.Error),t=this._makeSymbol(s.Error);d.marker=e,d.other=t,n.insertSymbol(e,-1),n.insertSymbol(t,1),o.insertSymbol(e,u),o.insertSymbol(t,u)}else{let e=this._makeSymbol(s.Dummy);d.marker=e,n.insertSymbol(e)}}return n.constant()<0&&n.reverseSign(),{row:n,tag:d}}_chooseSubject(e,t){let n=e.cells();for(let e=0,t=n.size();e<t;++e){let t=n.itemAt(e);if(t.first.type()===s.External)return t.first}let r=t.marker.type();return(r===s.Slack||r===s.Error)&&e.coefficientFor(t.marker)<0?t.marker:(r=t.other.type(),(r===s.Slack||r===s.Error)&&e.coefficientFor(t.other)<0?t.other:c)}_addWithArtificialVariable(e){let t=this._makeSymbol(s.Slack);this._rowMap.insert(t,e.copy()),this._artificial=e.copy(),this._optimize(this._artificial);let n=nearZero(this._artificial.constant());this._artificial=null;let r=this._rowMap.erase(t);if(r!==void 0){let e=r.second;if(e.isConstant())return n;let i=this._anyPivotableSymbol(e);if(i.type()===s.Invalid)return!1;e.solveForEx(t,i),this._substitute(i,e),this._rowMap.insert(i,e)}let i=this._rowMap;for(let e=0,n=i.size();e<n;++e)i.itemAt(e).second.removeSymbol(t);return this._objective.removeSymbol(t),n}_substitute(e,t){let n=this._rowMap;for(let r=0,i=n.size();r<i;++r){let i=n.itemAt(r);i.second.substitute(e,t),i.second.constant()<0&&i.first.type()!==s.External&&this._infeasibleRows.push(i.first)}this._objective.substitute(e,t),this._artificial&&this._artificial.substitute(e,t)}_optimize(e){let t=0;for(;t<this.maxIterations;){let n=this._getEnteringSymbol(e);if(n.type()===s.Invalid)return;let r=this._getLeavingSymbol(n);if(r.type()===s.Invalid)throw Error(`the objective is unbounded`);let i=this._rowMap.erase(r).second;i.solveForEx(r,n),this._substitute(n,i),this._rowMap.insert(n,i),t++}throw Error(`solver iterations exceeded`)}_dualOptimize(){let e=this._rowMap,t=this._infeasibleRows;for(;t.length!==0;){let n=t.pop(),r=e.find(n);if(r!==void 0&&r.second.constant()<0){let t=this._getDualEnteringSymbol(r.second);if(t.type()===s.Invalid)throw Error(`dual optimize failed`);let i=r.second;e.erase(n),i.solveForEx(n,t),this._substitute(t,i),e.insert(t,i)}}}_getEnteringSymbol(e){let t=e.cells();for(let e=0,n=t.size();e<n;++e){let n=t.itemAt(e),r=n.first;if(n.second<0&&r.type()!==s.Dummy)return r}return c}_getDualEnteringSymbol(e){let t=Number.MAX_VALUE,n=c,r=e.cells();for(let e=0,i=r.size();e<i;++e){let i=r.itemAt(e),a=i.first,o=i.second;if(o>0&&a.type()!==s.Dummy){let e=this._objective.coefficientFor(a)/o;e<t&&(t=e,n=a)}}return n}_getLeavingSymbol(e){let t=Number.MAX_VALUE,n=c,r=this._rowMap;for(let i=0,a=r.size();i<a;++i){let a=r.itemAt(i),o=a.first;if(o.type()!==s.External){let r=a.second,i=r.coefficientFor(e);if(i<0){let e=-r.constant()/i;e<t&&(t=e,n=o)}}}return n}_getMarkerLeavingSymbol(e){let t=Number.MAX_VALUE,n=t,r=t,i=c,a=i,o=i,l=i,u=this._rowMap;for(let t=0,i=u.size();t<i;++t){let i=u.itemAt(t),c=i.second,d=c.coefficientFor(e);if(d===0)continue;let f=i.first;if(f.type()===s.External)l=f;else if(d<0){let e=-c.constant()/d;e<n&&(n=e,a=f)}else{let e=c.constant()/d;e<r&&(r=e,o=f)}}return a===i?o===i?l:o:a}_removeConstraintEffects(e,t){t.marker.type()===s.Error&&this._removeMarkerEffects(t.marker,e.strength()),t.other.type()===s.Error&&this._removeMarkerEffects(t.other,e.strength())}_removeMarkerEffects(e,t){let n=this._rowMap.find(e);n===void 0?this._objective.insertSymbol(e,-t):this._objective.insertRow(n.second,-t)}_anyPivotableSymbol(e){let t=e.cells();for(let e=0,n=t.size();e<n;++e){let n=t.itemAt(e),r=n.first.type();if(r===s.Slack||r===s.Error)return n.first}return c}_makeSymbol(e){return new Symbol(e,this._idTick++)}_cnMap=createCnMap();_rowMap=createRowMap();_varMap=createVarMap();_editMap=createEditMap();_infeasibleRows=[];_objective=new l;_artificial=null;_idTick=0};function nearZero(e){let t=1e-8;return e<0?-e<t:e<t}function createCnMap(){return createMap()}function createRowMap(){return createMap()}function createVarMap(){return createMap()}function createEditMap(){return createMap()}var s;(function(e){e[e.Invalid=0]=`Invalid`,e[e.External=1]=`External`,e[e.Slack=2]=`Slack`,e[e.Error=3]=`Error`,e[e.Dummy=4]=`Dummy`})(s||={});var Symbol=class{constructor(e,t){this._id=t,this._type=e}id(){return this._id}type(){return this._type}_id;_type};let c=new Symbol(s.Invalid,-1);var l=class Row{constructor(e=0){this._constant=e}cells(){return this._cellMap}constant(){return this._constant}isConstant(){return this._cellMap.empty()}allDummies(){let e=this._cellMap;for(let t=0,n=e.size();t<n;++t)if(e.itemAt(t).first.type()!==s.Dummy)return!1;return!0}copy(){let e=new Row(this._constant);return e._cellMap=this._cellMap.copy(),e}add(e){return this._constant+=e}insertSymbol(e,t=1){let n=this._cellMap.setDefault(e,()=>0);nearZero(n.second+=t)&&this._cellMap.erase(e)}insertRow(e,t=1){this._constant+=e._constant*t;let n=e._cellMap;for(let e=0,r=n.size();e<r;++e){let r=n.itemAt(e);this.insertSymbol(r.first,r.second*t)}}removeSymbol(e){this._cellMap.erase(e)}reverseSign(){this._constant=-this._constant;let e=this._cellMap;for(let t=0,n=e.size();t<n;++t){let n=e.itemAt(t);n.second=-n.second}}solveFor(e){let t=this._cellMap,n=-1/t.erase(e).second;this._constant*=n;for(let e=0,r=t.size();e<r;++e)t.itemAt(e).second*=n}solveForEx(e,t){this.insertSymbol(e,-1),this.solveFor(t)}coefficientFor(e){let t=this._cellMap.find(e);return t===void 0?0:t.second}substitute(e,t){let n=this._cellMap.erase(e);n!==void 0&&this.insertRow(t,n.second)}_cellMap=createMap();_constant};export{Variable as a,i,Constraint as n,a as r,Solver as t};
@@ -0,0 +1 @@
1
+ import{t as e}from"../../rolldown-runtime.mjs";var t=/* @__PURE__ */ e((e=>{Object.defineProperty(e,"__esModule",{value:!0}),e.amber={amber1:`#fefdfb`,amber2:`#fefbe9`,amber3:`#fff7c2`,amber4:`#ffee9c`,amber5:`#fbe577`,amber6:`#f3d673`,amber7:`#e9c162`,amber8:`#e2a336`,amber9:`#ffc53d`,amber10:`#ffba18`,amber11:`#ab6400`,amber12:`#4f3422`},e.blue={blue1:`#fbfdff`,blue2:`#f4faff`,blue3:`#e6f4fe`,blue4:`#d5efff`,blue5:`#c2e5ff`,blue6:`#acd8fc`,blue7:`#8ec8f6`,blue8:`#5eb1ef`,blue9:`#0090ff`,blue10:`#0588f0`,blue11:`#0d74ce`,blue12:`#113264`},e.crimson={crimson1:`#fffcfd`,crimson2:`#fef7f9`,crimson3:`#ffe9f0`,crimson4:`#fedce7`,crimson5:`#facedd`,crimson6:`#f3bed1`,crimson7:`#eaacc3`,crimson8:`#e093b2`,crimson9:`#e93d82`,crimson10:`#df3478`,crimson11:`#cb1d63`,crimson12:`#621639`},e.grass={grass1:`#fbfefb`,grass2:`#f5fbf5`,grass3:`#e9f6e9`,grass4:`#daf1db`,grass5:`#c9e8ca`,grass6:`#b2ddb5`,grass7:`#94ce9a`,grass8:`#65ba74`,grass9:`#46a758`,grass10:`#3e9b4f`,grass11:`#2a7e3b`,grass12:`#203c25`},e.indigo={indigo1:`#fdfdfe`,indigo2:`#f7f9ff`,indigo3:`#edf2fe`,indigo4:`#e1e9ff`,indigo5:`#d2deff`,indigo6:`#c1d0ff`,indigo7:`#abbdf9`,indigo8:`#8da4ef`,indigo9:`#3e63dd`,indigo10:`#3358d4`,indigo11:`#3a5bc7`,indigo12:`#1f2d5c`},e.lime={lime1:`#fcfdfa`,lime2:`#f8faf3`,lime3:`#eef6d6`,lime4:`#e2f0bd`,lime5:`#d3e7a6`,lime6:`#c2da91`,lime7:`#abc978`,lime8:`#8db654`,lime9:`#bdee63`,lime10:`#b0e64c`,lime11:`#5c7c2f`,lime12:`#37401c`},e.orange={orange1:`#fefcfb`,orange2:`#fff7ed`,orange3:`#ffefd6`,orange4:`#ffdfb5`,orange5:`#ffd19a`,orange6:`#ffc182`,orange7:`#f5ae73`,orange8:`#ec9455`,orange9:`#f76b15`,orange10:`#ef5f00`,orange11:`#cc4e00`,orange12:`#582d1d`},e.pink={pink1:`#fffcfe`,pink2:`#fef7fb`,pink3:`#fee9f5`,pink4:`#fbdcef`,pink5:`#f6cee7`,pink6:`#efbfdd`,pink7:`#e7acd0`,pink8:`#dd93c2`,pink9:`#d6409f`,pink10:`#cf3897`,pink11:`#c2298a`,pink12:`#651249`},e.purple={purple1:`#fefcfe`,purple2:`#fbf7fe`,purple3:`#f7edfe`,purple4:`#f2e2fc`,purple5:`#ead5f9`,purple6:`#e0c4f4`,purple7:`#d1afec`,purple8:`#be93e4`,purple9:`#8e4ec6`,purple10:`#8347b9`,purple11:`#8145b5`,purple12:`#402060`},e.red={red1:`#fffcfc`,red2:`#fff7f7`,red3:`#feebec`,red4:`#ffdbdc`,red5:`#ffcdce`,red6:`#fdbdbe`,red7:`#f4a9aa`,red8:`#eb8e90`,red9:`#e5484d`,red10:`#dc3e42`,red11:`#ce2c31`,red12:`#641723`},e.ruby={ruby1:`#fffcfd`,ruby2:`#fff7f8`,ruby3:`#feeaed`,ruby4:`#ffdce1`,ruby5:`#ffced6`,ruby6:`#f8bfc8`,ruby7:`#efacb8`,ruby8:`#e592a3`,ruby9:`#e54666`,ruby10:`#dc3b5d`,ruby11:`#ca244d`,ruby12:`#64172b`},e.teal={teal1:`#fafefd`,teal2:`#f3fbf9`,teal3:`#e0f8f3`,teal4:`#ccf3ea`,teal5:`#b8eae0`,teal6:`#a1ded2`,teal7:`#83cdc1`,teal8:`#53b9ab`,teal9:`#12a594`,teal10:`#0d9b8a`,teal11:`#008573`,teal12:`#0d3d38`},e.tomato={tomato1:`#fffcfc`,tomato2:`#fff8f7`,tomato3:`#feebe7`,tomato4:`#ffdcd3`,tomato5:`#ffcdc2`,tomato6:`#fdbdaf`,tomato7:`#f5a898`,tomato8:`#ec8e7b`,tomato9:`#e54d2e`,tomato10:`#dd4425`,tomato11:`#d13415`,tomato12:`#5c271f`},e.violet={violet1:`#fdfcfe`,violet2:`#faf8ff`,violet3:`#f4f0fe`,violet4:`#ebe4ff`,violet5:`#e1d9ff`,violet6:`#d4cafe`,violet7:`#c2b5f5`,violet8:`#aa99ec`,violet9:`#6e56cf`,violet10:`#654dc4`,violet11:`#6550b9`,violet12:`#2f265f`},e.yellow={yellow1:`#fdfdf9`,yellow2:`#fefce9`,yellow3:`#fffab8`,yellow4:`#fff394`,yellow5:`#ffe770`,yellow6:`#f3d768`,yellow7:`#e4c767`,yellow8:`#d5ae39`,yellow9:`#ffe629`,yellow10:`#ffdc00`,yellow11:`#9e6c00`,yellow12:`#473b1f`}}));export{t};
@@ -0,0 +1,3 @@
1
+ import"../../rolldown-runtime.mjs";function isForwardRefNode(e){return typeof e==`object`&&!!e&&typeof e.id==`string`}function isNodeModel(e){return typeof e==`object`&&!!e&&e.$$type===`Node`&&typeof e.id==`string`}function isNodeRef(e){return isNodeModel(e)||isForwardRefNode(e)}function isNodeRefLike(e){return typeof e==`string`||isNodeRef(e)}function isNodeRefGroupLike(e){return Array.isArray(e)&&e.every(isNodeRefLike)}function isCompass(e){return[`n`,`ne`,`e`,`se`,`s`,`sw`,`w`,`nw`,`c`].includes(e)}function toNodeRef(e){if(isNodeRef(e))return e;let[t,n,r]=e.split(`:`);return isCompass(r)?{id:t,port:n,compass:r}:{id:t,port:n}}function toNodeRefGroup(e){if(e.length<1)throw Error(`EdgeTargets must have at least 1 elements.`);if(!e.every(e=>isNodeRefLike(e)))throw Error(`The element of Edge target is missing or not satisfied as Edge target.`);return e.map(e=>toNodeRef(e))}const e=Object.seal({Graph:null,Digraph:null,Subgraph:null,Node:null,Edge:null});function createModelsContext(t){return Object.assign(Object.seal(Object.assign({},e)),t)}var ASTNodeCountExceededError=class extends Error{constructor(e,t){super(`AST node count (${e}) exceeds maximum allowed (${t}). Consider increasing 'maxASTNodes' option or simplifying the input.`),this.nodeCount=e,this.maxNodes=t,this.name=`ASTNodeCountExceededError`}},Builder=class{constructor(e){this.options=e,this.maxNodes=e?.maxASTNodes??1e5}nodeCount=0;maxNodes;getLocation(){return this.options?.locationFunction?.()??null}createElement(e,t,n=[]){if(this.nodeCount++,this.maxNodes>0&&this.nodeCount>this.maxNodes)throw new ASTNodeCountExceededError(this.nodeCount,this.maxNodes);return{location:this.getLocation(),...t,type:e,children:n}}resetNodeCount(){this.nodeCount=0}};function createElementFactory(e){let t=new Builder(e);return t.createElement.bind(t)}createElementFactory();const t={match(e){return e.type===`AttributeList`},*print(e,t){t.children.length===0?yield`${t.kind.toLocaleLowerCase()} [];`:(yield`${t.kind.toLocaleLowerCase()} [`,yield*e.printChildren(t.children),yield`];`)}},n={match(e){return e.type===`Attribute`},*print(e,t){yield*e.print(t.key),yield` = `,yield*e.print(t.value),yield`;`}};function escapeComment(e,t){let n=e.replace(/\0/g,``);return t===`Block`&&(n=n.replace(/\*\//g,`*​/`)),n}const r=/\r?\n/,i={Block:` * `,Macro:`# `,Slash:`// `},a={match(e){return e.type===`Comment`},*print(e,t){let n=i[t.kind];t.kind===`Block`&&(yield*[`/**`,e.EOL]);let a=escapeComment(t.value,t.kind).split(r),o=a.length;for(let t=0;t<o;t++)yield n,yield a[t],t<o-1&&(yield e.EOL);t.kind===`Block`&&(yield*[e.EOL,` */`])}},o={match(e){return e.type===`Dot`},*print(e,t){yield*e.join(t.children,e.EOL)}},s={match(e){return e.type===`Edge`},*print(e,t){yield*e.join(t.targets,e.directed?` -> `:` -- `),t.children.length===0?yield`;`:(yield` [`,yield*e.printChildren(t.children),yield`];`)}},c={match(e){return e.type===`Graph`},*print(e,t){e.directed=t.directed,t.strict&&(yield`strict `),yield t.directed?`digraph `:`graph `,t.id&&(yield*e.print(t.id),yield` `),yield`{`,t.children.length>=1&&(yield*e.printChildren(t.children)),yield`}`}},escape=e=>e.replace(/\0/g,``).replace(/(?<!\\)"|[\r\n]/g,escapeReplacer),l={"\r":String.raw`\r`,"\n":String.raw`\n`,'"':String.raw`\"`};function escapeReplacer(e){return l[e]}const u=[t,n,a,o,s,c,{match(e){return e.type===`Literal`},*print(e,t){switch(t.quoted){case`html`:yield`<`,yield t.value,yield`>`;return;case!0:yield`"`,yield escape(t.value),yield`"`;return;default:yield t.value;return}}},{match(e){return e.type===`Node`},*print(e,t){yield*e.print(t.id),t.children.length>=1&&(yield` [`,yield*e.printChildren(t.children),yield`]`),yield`;`}},{match(e){return e.type===`NodeRefGroup`},*print(e,t){yield`{`,yield*e.join(t.children,` `),yield`}`}},{match(e){return e.type===`NodeRef`},*print(e,t){yield*e.print(t.id),t.port&&(yield`:`,yield*e.print(t.port)),t.compass&&(yield`:`,yield*e.print(t.compass))}},{match(e){return e.type===`Subgraph`},*print(e,t){yield`subgraph`,t.id&&(yield` `,yield*e.print(t.id)),yield` {`,t.children.length>=1&&(yield*e.printChildren(t.children)),yield`}`}}];var Printer=class{constructor(e={}){this.options=e}#e=[...u];print(e){return Array.from(this.toChunks(e)).join(``)}toChunks(e){let t=[...this.#e],{indentSize:n=2,indentStyle:r=`space`,endOfLine:i=`lf`}=this.options,a=i===`crlf`?`\r
2
+ `:`
3
+ `,o=r===`space`?` `.repeat(n):` `,s={directed:!0,EOL:a,*printChildren(e){yield*indent(function*(){yield a,yield*s.join(e,a)}),yield a},*print(e){for(let n of t)if(n.match(e)){yield*n.print(this,e);return}throw Error(`No matching plugin found for AST node: ${JSON.stringify(e)}`)},*join(e,t){let n=e.length;for(let r=0;r<n;r++)yield*s.print(e[r]),r<n-1&&(yield t)}};return{[Symbol.iterator]:function*(){yield*s.print(e)}};function*indent(e){for(let t of e())yield t,t===a&&(yield o)}}};function stringify(e,t){let n=new Printer(t).print(e);if(!n)throw Error();return n}function convertAttribute(e,t,n){if(typeof n==`string`){let r=n.trim();return/^<.+>$/ms.test(r)?e(`Attribute`,{key:e(`Literal`,{value:t,quoted:!1},[]),value:e(`Literal`,{value:r.slice(1,-1),quoted:`html`},[])},[]):e(`Attribute`,{key:e(`Literal`,{value:t,quoted:!1},[]),value:e(`Literal`,{value:n,quoted:!0},[])},[])}return e(`Attribute`,{key:e(`Literal`,{value:t,quoted:!1},[]),value:e(`Literal`,{value:String(n),quoted:!1},[])},[])}function convertComment(e,t,n){return e(`Comment`,{kind:n,value:t},[])}function convertClusterChildren(e,t){let{createElement:n}=e;return Array.from((function*(){for(let[e,r]of t.values)yield convertAttribute(n,e,r);for(let r of Object.values(t.attributes))r.size>0&&(r.comment&&(yield convertComment(n,r.comment,e.commentKind)),yield e.convert(r));for(let r of t.nodes)r.comment&&(yield convertComment(n,r.comment,e.commentKind)),yield e.convert(r);for(let r of t.subgraphs)r.comment&&(yield convertComment(n,r.comment,e.commentKind)),yield e.convert(r);for(let r of t.edges)r.comment&&(yield convertComment(n,r.comment,e.commentKind)),yield e.convert(r)})())}const d=[{match(e){return e.$$type===`AttributeList`},convert(e,t){let{createElement:n}=e;return n(`AttributeList`,{kind:t.$$kind},t.values.map(([e,t])=>convertAttribute(n,e,t)))}},{match(e){return e.$$type===`Edge`},convert(e,t){let{createElement:n}=e;return n(`Edge`,{targets:t.targets.map(e=>isNodeModel(e)?n(`NodeRef`,{id:n(`Literal`,{value:e.id,quoted:!0},[])},[]):isForwardRefNode(e)?n(`NodeRef`,{id:n(`Literal`,{value:e.id,quoted:!0},[]),port:e.port?n(`Literal`,{value:e.port,quoted:!0},[]):void 0,compass:e.compass?n(`Literal`,{value:e.compass,quoted:!0},[]):void 0},[]):n(`NodeRefGroup`,{},e.map(e=>isNodeModel(e)?n(`NodeRef`,{id:n(`Literal`,{value:e.id,quoted:!0},[])},[]):n(`NodeRef`,{id:n(`Literal`,{value:e.id,quoted:!0},[]),port:e.port?n(`Literal`,{value:e.port,quoted:!0},[]):void 0,compass:e.compass?n(`Literal`,{value:e.compass,quoted:!0},[]):void 0},[]))))},[...t.attributes.comment?[convertComment(n,t.attributes.comment,e.commentKind)]:[],...t.attributes.values.map(([e,t])=>convertAttribute(n,e,t))])}},{match(e){return e.$$type===`Node`},convert(e,t){let{createElement:n}=e;return n(`Node`,{id:n(`Literal`,{value:t.id,quoted:!0},[])},[...t.attributes.comment?[convertComment(n,t.attributes.comment,e.commentKind)]:[],...t.attributes.values.map(([e,t])=>convertAttribute(n,e,t))])}},{match(e){return e.$$type===`Graph`},convert(e,t){let{createElement:n}=e;return n(`Dot`,{},[...t.comment?[convertComment(n,t.comment,e.commentKind)]:[],n(`Graph`,{directed:t.directed,strict:t.strict,id:t.id?n(`Literal`,{value:t.id,quoted:!0},[]):void 0},convertClusterChildren(e,t))])}},{match(e){return e.$$type===`Subgraph`},convert(e,t){let{createElement:n}=e;return n(`Subgraph`,{id:t.id?n(`Literal`,{value:t.id,quoted:!0},[]):void 0},convertClusterChildren(e,t))}}];var FromModelConverter=class{constructor(e={}){this.options=e}#e=[...d];convert(e){let t=[...this.#e],{commentKind:n=`Slash`,maxASTNodes:r}=this.options,i={commentKind:n,createElement:createElementFactory({maxASTNodes:r}),convert(e){for(let n of t)if(n.match(e))return n.convert(i,e);throw Error()}};return i.convert(e)}};function fromModel(e,t){return new FromModelConverter(t).convert(e)}export{isNodeRefGroupLike as a,toNodeRefGroup as c,createModelsContext as i,stringify as n,isNodeRefLike as o,e as r,toNodeRef as s,fromModel as t};
@@ -0,0 +1 @@
1
+ import"../../rolldown-runtime.mjs";import{a as e,c as t,i as n,o as r,r as i,s as a}from"./ast.mjs";var DotObject=class{},AttributesBase=class extends DotObject{#e=/* @__PURE__ */ new Map;constructor(e){super(),e!==void 0&&this.apply(e)}get values(){return Array.from(this.#e.entries())}get size(){return this.#e.size}get(e){return this.#e.get(e)}set(e,t){t!=null&&this.#e.set(e,t)}delete(e){this.#e.delete(e)}apply(e){let t=Array.isArray(e)?e:Object.entries(e);for(let[e,n]of t)this.set(e,n)}clear(){this.#e.clear()}},AttributeList=class extends AttributesBase{constructor(e,t){super(t),this.$$kind=e}get $$type(){return`AttributeList`}comment},AttributesGroup=class extends AttributesBase{comment},GraphBase=class extends AttributesBase{#e=i;id;comment;attributes=Object.freeze({graph:new AttributeList(`Graph`),edge:new AttributeList(`Edge`),node:new AttributeList(`Node`)});get nodes(){return Array.from(this.#t.nodes.values())}get edges(){return Array.from(this.#t.edges.values())}get subgraphs(){return Array.from(this.#t.subgraphs.values())}#t={nodes:/* @__PURE__ */ new Map,edges:/* @__PURE__ */ new Set,subgraphs:/* @__PURE__ */ new Set};with(e){this.#e=n(e)}addNode(e){this.#t.nodes.set(e.id,e)}addEdge(e){this.#t.edges.add(e)}addSubgraph(e){this.#t.subgraphs.add(e)}existNode(e){return this.#t.nodes.has(e)}existEdge(e){return this.#t.edges.has(e)}existSubgraph(e){return this.#t.subgraphs.has(e)}createSubgraph(...e){let t=new this.#e.Subgraph(...e);return t.with(this.#e),this.addSubgraph(t),t}removeNode(e){this.#t.nodes.delete(typeof e==`string`?e:e.id)}removeEdge(e){this.#t.edges.delete(e)}removeSubgraph(e){this.#t.subgraphs.delete(e)}createNode(e,t){let n=new this.#e.Node(e,t);return this.addNode(n),n}getSubgraph(e){return Array.from(this.#t.subgraphs.values()).find(t=>t.id===e)}getNode(e){return this.#t.nodes.get(e)}createEdge(n,r){let i=n.map(n=>e(n)?t(n):a(n)),o=new this.#e.Edge(i,r);return this.addEdge(o),o}subgraph(...e){let t=e.find(e=>typeof e==`string`),n=e.find(e=>typeof e==`object`&&!!e),r=e.find(e=>typeof e==`function`),i=t?this.getSubgraph(t)??this.createSubgraph(t):this.createSubgraph();return n!==void 0&&i.apply(n),r!==void 0&&r(i),i}node(e,...t){if(typeof e==`string`){let n=e,r=t.find(e=>typeof e==`object`&&!!e),i=t.find(e=>typeof e==`function`),a=this.getNode(n)??this.createNode(n);return r!==void 0&&a.attributes.apply(r),i!==void 0&&i(a),a}typeof e==`object`&&e&&this.attributes.node.apply(e)}edge(e,...t){if(Array.isArray(e)){let n=e,r=t.find(e=>typeof e==`object`),i=t.find(e=>typeof e==`function`),a=this.createEdge(n,r);return i!==void 0&&i(a),a}typeof e==`object`&&e&&this.attributes.edge.apply(e)}graph(e){this.attributes.graph.apply(e)}},RootGraph=class extends GraphBase{get $$type(){return`Graph`}id;strict;constructor(...e){super(),this.id=e.find(e=>typeof e==`string`),this.strict=e.find(e=>typeof e==`boolean`)??!1;let t=e.find(e=>typeof e==`object`&&!!e);t!==void 0&&this.apply(t)}},Digraph=class extends RootGraph{get directed(){return!0}},Edge=class extends DotObject{constructor(e,t){if(super(),this.targets=e,e.length<2&&(r(e[0])&&r(e[1]))===!1)throw Error(`The element of Edge target is missing or not satisfied as Edge target.`);this.attributes=new AttributesGroup(t)}get $$type(){return`Edge`}comment;attributes},Graph=class extends RootGraph{get directed(){return!1}},Node=class extends DotObject{constructor(e,t){super(),this.id=e,this.attributes=new AttributesGroup(t)}get $$type(){return`Node`}comment;attributes;port(e){return typeof e==`string`?{id:this.id,port:e}:{id:this.id,...e}}},Subgraph=class extends GraphBase{get $$type(){return`Subgraph`}id;constructor(...e){super(),this.id=e.find(e=>typeof e==`string`);let t=e.find(e=>typeof e==`object`&&!!e);t!==void 0&&this.apply(t)}isSubgraphCluster(){return typeof this.id==`string`&&this.id.startsWith(`cluster`)}};function registerDefault(){Object.assign(i,{Graph,Digraph,Subgraph,Node,Edge})}export{registerDefault as t};