@likec4/mcp 1.60.0 → 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.
- package/README.md +104 -102
- package/dist/app/render-view-client.css +1 -1
- package/dist/app/render-view-client.js +375 -393
- package/dist/chunks/libs/@chenglou/pretext.mjs +9 -0
- package/dist/chunks/libs/@logtape/logtape.mjs +5 -5
- package/dist/chunks/libs/chevrotain.mjs +19 -19
- package/dist/chunks/libs/clone.mjs +1 -0
- package/dist/chunks/libs/eventemitter3.mjs +1 -1
- package/dist/chunks/libs/fast-equals.mjs +1 -0
- package/dist/chunks/libs/fontkit.mjs +1 -0
- package/dist/chunks/libs/fuse.js.mjs +1 -0
- package/dist/chunks/libs/graphology.mjs +1 -1
- package/dist/chunks/libs/hast-util-to-html.mjs +2 -2
- package/dist/chunks/libs/hastscript.mjs +1 -1
- package/dist/chunks/libs/immer.mjs +1 -1
- package/dist/chunks/libs/langium.mjs +2 -2
- package/dist/chunks/libs/markdown-table.mjs +1 -1
- package/dist/chunks/libs/mdast-util-find-and-replace.mjs +1 -1
- package/dist/chunks/libs/mdast-util-from-markdown.mjs +4 -4
- package/dist/chunks/libs/mdast-util-gfm.mjs +4 -4
- package/dist/chunks/libs/mdast-util-to-hast.mjs +3 -3
- package/dist/chunks/libs/micromark-extension-gfm.mjs +2 -2
- package/dist/chunks/libs/mnemonist.mjs +1 -1
- package/dist/chunks/libs/parse-entities.mjs +1 -1
- package/dist/chunks/libs/pathe.mjs +1 -1
- package/dist/chunks/libs/refractor.mjs +1 -1
- package/dist/chunks/libs/rehype-prism-plus.mjs +2 -2
- package/dist/chunks/libs/remark-github-blockquote-alert.mjs +1 -1
- package/dist/chunks/libs/remeda.mjs +1 -1
- package/dist/chunks/libs/unified.mjs +1 -1
- package/dist/chunks/libs/which.mjs +1 -1
- package/dist/chunks/rolldown-runtime.mjs +1 -1
- package/dist/chunks/src.mjs +193 -108
- package/dist/cli.mjs +1 -1
- package/package.json +27 -27
|
@@ -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,`AQA+BgIAAwAEAAQABQAGAAcACAAJAAoACwAMAA0ADgAPABAAEQASABMAFAAVAAgAFgAXABgAGQAaAAcAGwAHABsAHAAHAB0AHgAfAAcAIAAhACIAIwAkACUAJgAnACgAKQAqACsALAAqACoALQAuAC8AMAAxADIAIgAzAAkAAgABGgABEzQECAAAADUAAwEAAAAAAAEAAAAAAAAAAAACAAMAAAADAAAAAgAAAAMAAAABAAAAAAAAARIGNgcAAAAAAAAABAABAAI3AQAKOAMAAwAAAAgAAgADAAAAADYAAAIAAQECAAEBCAQAAQ4CAAYEAAUABgAHBQ0AOQEQARIDOgsdAyADJAgqAAQFBjsREw88FDAFOwAHCAABBT0NNAQ+ATcAAws9Gj0ABwQGPxQ3DEAaPwACEwZBCAAAAABCBwgAAAcAAAAAAAEAAUMAAAIAAUILAAAAAAACAANBAAIJBkQIAAAAAEIWRQMAAUILAAhEAAQEBkYERxxGGkYAAgYGSARJBQAWSgUAFEgAAQQGSwQGHEwaSwABBQZNEQAPThQABU0ACQQGTxYXClAaTwAICAZRC1IAUwFUAVUQVgZXE1EACwQGWARJHFkaWAALBQZaDVsHXAtaGloACAUGXQReDV8OXRpdAA0FBmASCA5hEgAHYAAHBAZiDwARYxpiAA4FBmQNZQdmC2caZAARDAECBGgJCwhpAWoCGAAZCGsNKwAsAi0IaAASBwZsCQsOGQAaB20RLQhsAAEEBm4YAAhvGm4AFAgGcBtxAHIAcQEHAXMIcRFwAAIEBnQZAAd1GnQAATsBAwR2AHYDdwB2AHYAdgB2AHYAdgB2AHYAdgB2AHYAdgB2AHYAdgB2AHYAdgB2AHYAdgB2AHYAdgB2AHYAdgF2AHYAdgB2AHYAdgB2AHYAdgB2AHYAdgB2AHYAdgB2AHYAdgB2AHYAdgB2AHYAdgB2AHYAdgB2AAkFBgIUNQweEi4HAgANBQZ4BHkcegAfGXgAAgQGexQ3DHsaewAXBgECBHwSaQFqDH0afAAGBgECBH4SaQFqDH8afgAXBAaAARRqDIABGoABAAIGBoEBBEkEABeCAREACIEBABwGAQIEgwESaQFqDIQBGoMBAB0HBoUBG3EAcgBxAQcBhgEahQEACwQGhwEhiAEXIgKHAQAGBAaJASGKARciAokBAAUGBosBBAYMAA+MARQABYsBAAYEBo0BBAYcjgEajQEACQUGjwEYGQAaB5ABGo8BAAEEBpEBGAAIkgEakQEAIgYBAgSTARJpAWoMlAEakwEAKAkGlQEGCAUOBBMACAE3DJYBFDAFlQEAKAYGlwEbGwEbA5gBCCYRlwEAHQQGmQEUagyZARqZAQAKAwaaASGbARqaAQArBAacASGdARaeAQOcAQAqBAafASGgARciAp8BADEEBqEBDxERogEaoQEAFQUEowEBpAESpQEOpAEapAEAMwEbpgEAAgQGpwESqAEOpwEapwEAGAQGNhSmAQw4GjYAASIAAAAEAqMBAakBCKoBAKoBAKoBBAADqgEACAKqAQCqAQCqAQGqAQCqAQCqAQCqAQCqAQGrAQCqAQKqAQCqAQCqAQOqAQCqAQKqAQCqAQKqAQCqAQCqAQGqAQCqAQCqAQKpAQAMBwAAA6MBAToSrAEBCAw6GjoANAEbpgEABAMGOyE8GjsANQEbpgEAMgQGrQEErgEcrQEarQEANgEbpgEABAMGPyFAGj8ANwEbpgEAAAUGQgyvAQIREUIaQgADAwZBIUMaQQA5ARumAQACAwZEIUUaRAA6ARumAQABBwawAQyxAQCyAQazAQC0AQu1ARqwAQA7ARumAQBDAwtJFQcTKgAFBAZIBEkcShpIAD0BG6YBAAcDBkshTBpLAD4BG6YBAAIDBk0hThpNAD8BG6YBAAIDBk8hUBpPAEABG6YBAEkFBrYBBEkFABa3ARq2AQBCBAa4AQoAFrkBGrgBAAEIBroBBwAZuwEHAAAADwAAAAC6AQA5Bga8AQRJAwoYvQEDIRa8AQAGCAZRC1IAUwFUAVUQVgZXE1EAAgYBAgS+ARJpAWoMvwEavgEARgEbpgEADwMGWCFZGlgARwEbpgEATAMGwAEhwQEawAEARgMGwgEhwwEawgEASQEbpgEAFwcGxAEEXgjFAQQUAsYBC8cBGsQBAEsEBsgBBMkBHMgBGsgBAEsBG6YBAAEBOy4ATAEbpgEAAgMGYiFjGmIATQEbpgEAUAQGygEWAArLARrKAQABAwbMASHNARrMAQAEBQZkDWUHZgtnGmQAUAMBBRfOAQHPAQBhEwbQARfRAQnQAQPSAQDTAQDUAQDVAQDWAQLXAQDYAQDZAQDaAQDbAQDZAQDZAQDcAQLdAQLTAQLQAQAzDgEGBN4BF98BCeABA+EBAOIBAOMBAeQBAuUBAuYBAOcBAugBBeIBAt4BAAgEBmgUzwEMaxpoAFMBG6YBAAoDBmwhbRpsAFQBG6YBAAIDBm4hbxpuAFUBG6YBAAAEBnEfBwFxGnEAQwQG6QEdAAPqARrpAQAEBAZwHHIEcxpwAFgBG6YBAAYDBnQhdRp0AAABAAMAWgkM6wEF7AEA7QEB7gEB7wED8AEP8QED8gEI8wEAWQEbpgEAcwILeR0fAAUEBngEeRx6GngAWwEbpgEAWwMBBRfOAQHPAQASAwZ8IX0afABcAwEFF84BAc8BAAIDBn4hfxp+AF0BG88BAF0DAQUXzgEBzwEAAwQGgQEESRyCARqBAQBeAwEFF84BAc8BAAUDBoMBIYQBGoMBAF8BG6YBABMDBoUBIYYBGoUBAGABG6YBAA0DBocBIYgBGocBAGEDAQUXzgEBzwEABgMGiQEhigEaiQEAYgMBBRfOAQHPAQACAwaLASGMARqLAQBjAwEFF84BAc8BAAIDBo0BIY4BGo0BAGQDAQUXzgEBzwEAAgMGjwEhkAEajwEAZQMBBRfOAQHPAQACAwaRASGSARqRAQBmAwEFF84BAc8BAAIDBpMBIZQBGpMBAGcBG6YBAA4FBpUBDfQBB/UBC5YBGpUBAGgBG6YBABADBpcBIZgBGpcBAGkBG88BAGkBG6YBAAMDBpoBIZsBGpoBAGoBG6YBAAIEBpwBIZ0BFvYBA5wBAGUlAQcE9wEH+AEA+AEA+AEA+AEE+AED+AEC+AEA+AEA+AEA+AEB+AEA+AEA+AEA+AEA+AEB+QEA+AEC+AEA+AEA+AEB+AEA+AEA+AEA+AEC+AEA+AEC+AEA+AEA+AEB+AEA+AEA+AEA+AEA+AEA9wEAbAEbpgEABQMGnwEhoAEanwEAbQEbpgEAAgMGoQEhogEaoQEAAAEAAQBvARumAQBGBQb6AQT7AQ2lAQ76ARr6AQBvBAb8ARL9AQ78ARr8AQBwARumAQADBQb+AQT/AQ2oAQ7+ARr+AQBwGwEIDYACAIACAIACCIACA4ACAIACAIACAYACAIACAIACAIACAIACAoACAoACAIACAIACA4ACAIACAoACAIACAoACAIACAIACAYACAIACAIACAAABAAQABAcAAAWpAQ8AAggBCAyrARqpAQAEBQaBAgSCAg2DAg6BAhqBAgBvARumAQBnBgaEAgSuAQiFAgeGAguHAhqEAgAABAavAQ8REa8BGq8BAHEEBrABFAgMtQEasAEAeAYAAQWIAg8RBDcMiQIaiAIAVwMGigIhiwIaigIADQQGjAISgwIOjAIajAIAWAMGjQIhjgIajQIAEwQGsAEUCAy1ARqwAQBkARumAQBeAwa2ASG3ARq2AQBlARumAQBjAwa4ASG5ARq4AQBmARumAQACAwa6ASG7ARq6AQBnARumAQAGAwa8ASG9ARq8AQBnAwEFF84BAc8BAD0DBr4BIb8BGr4BAGUBG6YBAB8DBsABIcEBGsABAGYBG6YBAAIDBsIBIcMBGsIBABQDBsQBIccBGsQBABMDBo8CIZACGo8CABIDBpECIZICGpECABIDBsQBIccBGsQBAGkBG6YBAAEHBpMCDLEBAJQCBrMBAJUCC5YCGpMCAGUBG6YBAAECHRcdLgBmARumAQABAh0XHS4AZRMGlwIXmAIJlwIDmQIAmgIAmwIAnAIAnQICngIAnwIAoAIAoQIAogIAoAIAoAIAowICpAICmgIClwIAZQQGpQIS/QEOpgIapQIAZwEbpgEAuQEBAAIAsQEBAAIAsQEBAAIAsQEBAAIAsQEBAAIAsQEBAAIArwEBAAIArwEBAAIArwEBAAIArwEBAAIArwEBAAIArwEBAAIArQEBAAIAdAwBCRmmAQKnAg2oAgCpAgCqAgGrAgKsAgKtAgCuAgKvAgWpAgAOAQAGADkDBt4BIeABGt4BAA8BAAYADwEABgAPAQAGAA4BAAYADgEABgAMAQAGAAwBAAYADAEABgB3ARumAQAdAwbpASHqARrpAQDkAQEAAwDfAQEAAwC0AQEAAwDeAQEAAwDdAQEAAwC2AQEAAwDRAQEAAwAdAQADABoBAAMALwMGsAIhsQIasAIALwMGsgIhswIasgIAWAYAAQW0AhQ3DLUCFrYCA7QCAFkiAQoMtwIAtwIAtwIAtwIEtwIDtwICtwIAtwIAtwIAtwIBtwIAtwIAtwIAtwIAtwICtwICtwIAtwIAtwIBtwIAtwIAtwIAtwICtwIAtwICtwIAtwIAtwIBtwIAtwIAtwIAtwIAtwIAAAEABwAyBASjAQH3ASH5ARr3AQBVARumAQABBwa4AgyxAQC5AgazAQC6Agu7Ahq4AgBWARumAQBRBQa8AgS9Ag39AQ68Ahq8AgBWARumAQABBwa+AgyxAQC/AgazAQDAAgvBAhq+AgAAAQAIAFUBG6YBAAMHBsICBIICCMMCBKwBAsQCC8UCGsICAFcEBsYCBMcCHMYCGsYCAEADBoQCIYcCGoQCABEDBsgCIckCGsgCABEDBsoCIcsCGsoCAEADBoQCIYcCGoQCAF8GAAEFiAIPEQSmAQyJAhqIAgANBAaIAhIIDokCGogCAFgBG6YBACEDBooCIYsCGooCAFkBG6YBAFkBG6YBAAMDBo0CIY4CGo0CAEoBG6YBAAIDBo8CIZACGo8CAEsBG6YBAAIDBpECIZICGpECAA8DBpMCIZYCGpMCAA8DBswCIc0CGswCAA8DBs4CIc8CGs4CAA8DBpMCIZYCGpMCAEkBG6YBADkBAAUAOAEABQA4AQAFADgBAAUAKgEABQA5AQAFADkBAAUARwEABQAtAQAFADsBAAUAOwEABQA7AQAFAEcBAAUARwQGpQIS/QEOpgIapQIAKgMGpQIhpgIapQIADwEACQAPAQAJAA8BAAkADwEACQAOAQAJAA4BAAkADAEACQAMAQAJAAwBAAkAPAEbpgEAHwMGsAIhsQIasAIAPQEbpgEAAgMGsgIhswIasgIAPQYAAQW0AhSmAQy1AhbQAgO0AgAsBAa0AiG1Ahb2AQO0AgCYAQEABwAAAQAKACUDBrgCIbsCGrgCACUDBtECIdICGtECACUDBtMCIdQCGtMCACUDBrgCIbsCGrgCAD8BG6YBAAEHBtUCDLEBANYCBrMBANcCC9gCGtUCAAYDBr4CIcECGr4CAAYDBtkCIdoCGtkCAAYDBtsCIdwCGtsCAAYDBr4CIcECGr4CAAQDBsICIcUCGsICAAQDBt0CId4CGt0CAAQDBt8CIeACGt8CAAQDBsICIcUCGsICAEMBG6YBAAEHBuECDLEBAOICBrMBAOMCC+QCGuECAEMBG6YBABYDBsgCIckCGsgCAEQBG6YBAAIDBsoCIcsCGsoCADgBG6YBAAIDBswCIc0CGswCADkBG6YBAAIDBs4CIc8CGs4CABoBAAoAGAEbpgEAAwMG0QIh0gIa0QIAGQEbpgEAAgMG0wIh1AIa0wIAEwMG1QIh2AIa1QIAEwMG5QIh5gIa5QIAEwMG5wIh6AIa5wIAEwMG1QIh2AIa1QIAGgEbpgEABgMG2QIh2gIa2QIAGwEbpgEAAgMG2wIh3AIa2wIAGgEbpgEAAgMG3QIh3gIa3QIAGwEbpgEAAgMG3wIh4AIa3wIADAMG4QIh5AIa4QIADAMG6QIh6gIa6QIADAMG6wIh7AIa6wIADAMG4QIh5AIa4QIADwEbpgEABgMG5QIh5gIa5QIAEAEbpgEAAgMG5wIh6AIa5wIABwEbpgEAAgMG6QIh6gIa6QIACAEbpgEAAgMG6wIh7AIa6wI=`],"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};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import{i as e,r as t}from"../../rolldown-runtime.mjs";import n from"node:util";function toFilter(e){return typeof e==`function`?e:getLevelFilter(e)}function getLevelFilter(e){let t=createLevelFilter(e);return
|
|
2
|
-
`);if(n[0].trim()===`Error`)return n.length<2||!n[1].startsWith(c)?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(c))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===d)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===d||t!=null&&l.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===d)return;if(r!=null&&l.test(r.file)){if(n!=null)return;n=r}}return n}function accept(e){return e===d?void 0:e}function parseLocation(e){let t=u.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?d:{file:n,line:r,column:i}}const f=Symbol.for(`logtape.lazy`),p=Symbol.for(`LogTape.throttlingSummaryRecord`),m=Symbol.for(`LogTape.sinkSnapshotPolicy.immediate`),h=/* @__PURE__ */ new WeakSet,g=/* @__PURE__ */ new WeakSet;let _=!1,v=0;function isSourceLocationCaptureActive(){return _||v>0}function attachSourceLocation(e,t){t!=null&&(e.sourceLocation=t)}function isLazy(e){return typeof e==`object`&&!!e&&f in e&&e[f]===!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,p)){let e=n[p];r[p]=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(g.has(e))return e;let t=resolveProperties(e.properties);if(h.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,p)}function shouldSnapshotForSink(e){return e[m]!==!0}function getLogger(e=[]){return b.getLogger(e)}const y=Symbol.for(`logtape.rootLogger`);function isMetaLoggerCategory(e){return e.length>=2&&e[0]===`logtape`&&e[1]===`meta`}var b=class LoggerImpl{parent;children;category;sinks;filters;contextLocalStorage;sourceLocationCapture=void 0;#e=`inherit`;#t=`trace`;#n={};#r=void 0;static getLogger(e=[]){let t=y in globalThis?globalThis[y]??null:null;return t??(t=new LoggerImpl(null,[]),globalThis[y]=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 x(this,{...e})}setGlobalSourceLocationCapture(e){_=e}retainScopedSourceLocationCapture(){v++}releaseScopedSourceLocationCapture(){v>0&&v--}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),S.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),S.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),S.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),g.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),h.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)}},x=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 S=b.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
|
|
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
4
|
`:`
|
|
5
|
-
`}const
|
|
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 I={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${E[e.level]}%c %c${o} %c${n}`,`color: gray;`,I[e.level],`background-color: default;`,`color: gray;`,`color: default;`,...r]:[`%c${a} %c${E[e.level]}%c %c${o} (%s) %c${n}`,`color: gray;`,I[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&¬ify(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??{}},r=e.console??globalThis.console,writeToConsole=(e,t)=>{let i=n[e.level];if(i===void 0)throw TypeError(`Invalid log level: ${e.level}.`);if(typeof t==`string`){let e=t.replace(/\r?\n$/,``);r[i](e)}else r[i](...t)},baseSink=e=>{writeToConsole(e,t(e))};if(!e.nonBlocking)return baseSink;let i=e.nonBlocking===!0?{}:e.nonBlocking,a=i.bufferSize??100,o=i.flushInterval??100,s=createSinkNotifications(`console`,o,i.onDrop,i.onError),c=[],l=null,u=null,d=!1,f=!1,p=a*2;function flush(){if(c.length===0)return;let e=c.splice(0);for(let n of e){let e=`format`;try{let r=t(n);e=`write`,writeToConsole(n,r)}catch(t){s.error(t,e)}}}function scheduleFlush(){f||(f=!0,u=setTimeout(()=>{u=null,f=!1,flush()},0))}function startFlushTimer(){l!==null||d||(l=setInterval(()=>{flush()},o))}let nonBlockingSink=e=>{d||s.notifying||(c.length>=p&&c.length>0&&(c.shift(),s.drop()),c.push(e),c.length>=a?scheduleFlush():l===null&&startFlushTimer())};return nonBlockingSink[Symbol.dispose]=()=>{d||(d=!0,l!==null&&(clearInterval(l),l=null),u!==null&&(clearTimeout(u),u=null,f=!1),s.dispose(),flush())},nonBlockingSink}let L=null,R=!1;const z=/* @__PURE__ */ new Set,B=/* @__PURE__ */ new Set,V=Symbol.for(`logtape.inspectionState`);function getInspectionState(){let e=globalThis,t=e[V];if(t!=null&&t.loggers instanceof WeakMap)return t;let n={configured:!1,loggers:/* @__PURE__ */ new WeakMap};return e[V]=n,n}const H=/* @__PURE__ */ new Set,U=/* @__PURE__ */ new Set,W=/* @__PURE__ */ new Set,G=/* @__PURE__ */ new Set;let unregisterDisposeHook;function getSourceLocationRoot(){return b.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(L!=null&&!e.reset)throw new ConfigError(`Already configured; if you want to reset, turn on the reset flag.`);if(W.size>0||G.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){L=e,getInspectionState().configured=!0;let n=!1,r=!1,i=/* @__PURE__ */ new Set;for(let t of e.loggers){isLoggerConfigMeta(t)&&(n=!0);let a=Array.isArray(t.category)?JSON.stringify(t.category):JSON.stringify([t.category]);if(i.has(a))throw new ConfigError(`Duplicate logger configuration for category: ${a}. Each category can only be configured once.`);i.add(a);let o=b.getLogger(t.category);for(let n of t.sinks??[]){let t=e.sinks[n];if(!t)throw new ConfigError(`Sink not found: ${n}.`);o.sinks.push(t)}if(o.parentSinks=t.parentSinks??`inherit`,t.lowestLevel!==void 0&&(o.lowestLevel=t.lowestLevel),t.captureSourceLocation!==void 0){if(typeof t.captureSourceLocation!=`boolean`)throw new ConfigError(`Logger captureSourceLocation must be a boolean.`);o.sourceLocationCapture=t.captureSourceLocation,t.captureSourceLocation&&(r=!0)}for(let n of t.filters??[]){let t=e.filters?.[n];if(t===void 0)throw new ConfigError(`Filter not found: ${n}.`);o.filters.push(toFilter(t))}getInspectionState().loggers.set(o,{sinks:[...o.sinks],sinkIds:[...t.sinks??[]],filters:[...o.filters],filterIds:[...t.filters??[]]}),z.add(o)}b.getLogger().contextLocalStorage=e.contextLocalStorage,getSourceLocationRoot().setGlobalSourceLocationCapture?.(r);for(let n of Object.values(e.sinks)){if(B.add(n),Symbol.asyncDispose in n){if(t)G.add(n);else throw new ConfigError(`Async disposables cannot be used with configureSync().`)}Symbol.dispose in n&&U.add(n)}for(let n of Object.values(e.filters??{}))if(n!=null&&typeof n!=`string`){if(Symbol.asyncDispose in n){if(t)W.add(n);else throw new ConfigError(`Async disposables cannot be used with configureSync().`);G.delete(n)}Symbol.dispose in n&&(H.add(n),U.delete(n))}registerDisposeHook(t);let a=b.getLogger([`logtape`,`meta`]);n||a.sinks.push(getConsoleSink()),a.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=b.getLogger([]);e.resetDescendants(),getSourceLocationRoot().setGlobalSourceLocationCapture?.(!1),delete e.contextLocalStorage,z.clear(),B.clear();let t=getInspectionState();t.configured=!1,t.loggers=/* @__PURE__ */ new WeakMap,L=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),R=!0;try{return t()}finally{R=!1}}function assertCanMutateGlobalConfig(e){if(R)throw new ConfigError(`${e} cannot be called while LogTape is being reconfigured.`)}function disposeSyncFilters(){disposeSyncDisposables(H)}function disposeSyncSinks(){disposeSyncDisposables(U)}function disposeSyncDisposables(e){let t=[];try{for(let n of e)try{n[Symbol.dispose]()}catch(e){t.push(e)}finally{e.delete(n)}}finally{e.clear()}throwDisposeErrors(t)}async function disposeAsyncFilters(){await disposeAsyncDisposables(W)}async function disposeAsyncSinks(){await disposeAsyncDisposables(G)}async function disposeAsyncDisposables(e){let t=[];try{for(let n of e)try{t.push(Promise.resolve(n[Symbol.asyncDispose]()))}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};
|
|
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&¬ify(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};
|