@typespec/prettier-plugin-typespec 0.58.0-dev.0 → 0.58.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/ThirdPartyNotices.txt +58 -537
- package/dist/index.js +167 -157
- package/dist/index.js.map +1 -1
- package/package.json +8 -9
package/dist/index.js
CHANGED
|
@@ -406,6 +406,7 @@ const diagnostics = {
|
|
|
406
406
|
severity: "error",
|
|
407
407
|
messages: {
|
|
408
408
|
default: paramMessage `Model has an inherited property named ${"propName"} of type ${"propType"} which cannot override type ${"parentType"}`,
|
|
409
|
+
disallowedOptionalOverride: paramMessage `Model has a required inherited property named ${"propName"} which cannot be overridden as optional`,
|
|
409
410
|
},
|
|
410
411
|
},
|
|
411
412
|
"extend-scalar": {
|
|
@@ -2182,7 +2183,7 @@ var Token;
|
|
|
2182
2183
|
// Add new tokens above if they don't fit any of the categories below
|
|
2183
2184
|
///////////////////////////////////////////////////////////////
|
|
2184
2185
|
// Trivia
|
|
2185
|
-
|
|
2186
|
+
/** @internal */ Token[Token["__StartTrivia"] = 9] = "__StartTrivia";
|
|
2186
2187
|
Token[Token["SingleLineComment"] = 9] = "SingleLineComment";
|
|
2187
2188
|
Token[Token["MultiLineComment"] = 10] = "MultiLineComment";
|
|
2188
2189
|
Token[Token["NewLine"] = 11] = "NewLine";
|
|
@@ -6367,6 +6368,130 @@ function isBlocklessNamespace(node) {
|
|
|
6367
6368
|
return node.statements === undefined;
|
|
6368
6369
|
}
|
|
6369
6370
|
|
|
6371
|
+
/**
|
|
6372
|
+
* Print a string as a TypeSpec identifier. If the string is a valid identifier, return it as is otherwise wrap it into backticks.
|
|
6373
|
+
* @param sv Identifier string value.
|
|
6374
|
+
* @returns Identifier string as it would be represented in a TypeSpec file.
|
|
6375
|
+
*
|
|
6376
|
+
* @example
|
|
6377
|
+
* ```ts
|
|
6378
|
+
* printIdentifier("foo") // foo
|
|
6379
|
+
* printIdentifier("foo bar") // `foo bar`
|
|
6380
|
+
* ```
|
|
6381
|
+
*/
|
|
6382
|
+
function printIdentifier$1(sv) {
|
|
6383
|
+
if (needBacktick(sv)) {
|
|
6384
|
+
const escapedString = sv
|
|
6385
|
+
.replace(/\\/g, "\\\\")
|
|
6386
|
+
.replace(/\n/g, "\\n")
|
|
6387
|
+
.replace(/\r/g, "\\r")
|
|
6388
|
+
.replace(/\t/g, "\\t")
|
|
6389
|
+
.replace(/`/g, "\\`");
|
|
6390
|
+
return `\`${escapedString}\``;
|
|
6391
|
+
}
|
|
6392
|
+
else {
|
|
6393
|
+
return sv;
|
|
6394
|
+
}
|
|
6395
|
+
}
|
|
6396
|
+
function needBacktick(sv) {
|
|
6397
|
+
if (sv.length === 0) {
|
|
6398
|
+
return false;
|
|
6399
|
+
}
|
|
6400
|
+
if (Keywords.has(sv)) {
|
|
6401
|
+
return true;
|
|
6402
|
+
}
|
|
6403
|
+
let cp = sv.codePointAt(0);
|
|
6404
|
+
if (!isIdentifierStart(cp)) {
|
|
6405
|
+
return true;
|
|
6406
|
+
}
|
|
6407
|
+
let pos = 0;
|
|
6408
|
+
do {
|
|
6409
|
+
pos += utf16CodeUnits(cp);
|
|
6410
|
+
} while (pos < sv.length && isIdentifierContinue((cp = sv.codePointAt(pos))));
|
|
6411
|
+
return pos < sv.length;
|
|
6412
|
+
}
|
|
6413
|
+
|
|
6414
|
+
var Eu=Object.create;var $e=Object.defineProperty;var Cu=Object.getOwnPropertyDescriptor;var hu=Object.getOwnPropertyNames;var gu=Object.getPrototypeOf,yu=Object.prototype.hasOwnProperty;var or=e=>{throw TypeError(e)};var Au=(e,t)=>()=>(e&&(t=e(e=0)),t);var ye=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),We=(e,t)=>{for(var r in t)$e(e,r,{get:t[r],enumerable:!0});},ir=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of hu(t))!yu.call(e,o)&&o!==r&&$e(e,o,{get:()=>t[o],enumerable:!(n=Cu(t,o))||n.enumerable});return e};var Ae=(e,t,r)=>(r=e!=null?Eu(gu(e)):{},ir($e(r,"default",{value:e,enumerable:!0}),e)),Bu=e=>ir($e({},"__esModule",{value:!0}),e);var _u=(e,t,r)=>t.has(e)||or("Cannot "+r);var sr=(e,t,r)=>t.has(e)?or("Cannot add the same private member more than once"):t instanceof WeakSet?t.add(e):t.set(e,r);var fe=(e,t,r)=>(_u(e,t,"access private method"),r);var ar=ye(yt=>{Object.defineProperty(yt,"__esModule",{value:!0});yt.default=Dr;function Dr(){}Dr.prototype={diff:function(t,r){var n,o=arguments.length>2&&arguments[2]!==void 0?arguments[2]:{},u=o.callback;typeof o=="function"&&(u=o,o={}),this.options=o;var i=this;function s(C){return u?(setTimeout(function(){u(void 0,C);},0),!0):C}t=this.castInput(t),r=this.castInput(r),t=this.removeEmpty(this.tokenize(t)),r=this.removeEmpty(this.tokenize(r));var D=r.length,a=t.length,c=1,p=D+a;o.maxEditLength&&(p=Math.min(p,o.maxEditLength));var f=(n=o.timeout)!==null&&n!==void 0?n:1/0,F=Date.now()+f,l=[{oldPos:-1,lastComponent:void 0}],d=this.extractCommon(l[0],r,t,0);if(l[0].oldPos+1>=a&&d+1>=D)return s([{value:this.join(r),count:r.length}]);var m=-1/0,E=1/0;function A(){for(var C=Math.max(m,-c);C<=Math.min(E,c);C+=2){var h=void 0,v=l[C-1],k=l[C+1];v&&(l[C-1]=void 0);var W=!1;if(k){var ge=k.oldPos-C;W=k&&0<=ge&&ge<D;}var gt=v&&v.oldPos+1<a;if(!W&&!gt){l[C]=void 0;continue}if(!gt||W&&v.oldPos+1<k.oldPos?h=i.addToPath(k,!0,void 0,0):h=i.addToPath(v,void 0,!0,1),d=i.extractCommon(h,r,t,C),h.oldPos+1>=a&&d+1>=D)return s(xu(i,h.lastComponent,r,t,i.useLongestToken));l[C]=h,h.oldPos+1>=a&&(E=Math.min(E,C-1)),d+1>=D&&(m=Math.max(m,C+1));}c++;}if(u)(function C(){setTimeout(function(){if(c>p||Date.now()>F)return u();A()||C();},0);})();else for(;c<=p&&Date.now()<=F;){var _=A();if(_)return _}},addToPath:function(t,r,n,o){var u=t.lastComponent;return u&&u.added===r&&u.removed===n?{oldPos:t.oldPos+o,lastComponent:{count:u.count+1,added:r,removed:n,previousComponent:u.previousComponent}}:{oldPos:t.oldPos+o,lastComponent:{count:1,added:r,removed:n,previousComponent:u}}},extractCommon:function(t,r,n,o){for(var u=r.length,i=n.length,s=t.oldPos,D=s-o,a=0;D+1<u&&s+1<i&&this.equals(r[D+1],n[s+1]);)D++,s++,a++;return a&&(t.lastComponent={count:a,previousComponent:t.lastComponent}),t.oldPos=s,D},equals:function(t,r){return this.options.comparator?this.options.comparator(t,r):t===r||this.options.ignoreCase&&t.toLowerCase()===r.toLowerCase()},removeEmpty:function(t){for(var r=[],n=0;n<t.length;n++)t[n]&&r.push(t[n]);return r},castInput:function(t){return t},tokenize:function(t){return t.split("")},join:function(t){return t.join("")}};function xu(e,t,r,n,o){for(var u=[],i;t;)u.push(t),i=t.previousComponent,delete t.previousComponent,t=i;u.reverse();for(var s=0,D=u.length,a=0,c=0;s<D;s++){var p=u[s];if(p.removed){if(p.value=e.join(n.slice(c,c+p.count)),c+=p.count,s&&u[s-1].added){var F=u[s-1];u[s-1]=u[s],u[s]=F;}}else {if(!p.added&&o){var f=r.slice(a,a+p.count);f=f.map(function(d,m){var E=n[c+m];return E.length>d.length?E:d}),p.value=e.join(f);}else p.value=e.join(r.slice(a,a+p.count));a+=p.count,p.added||(c+=p.count);}}var l=u[D-1];return D>1&&typeof l.value=="string"&&(l.added||l.removed)&&e.equals("",l.value)&&(u[D-2].value+=l.value,u.pop()),u}});var cr=ye(_e=>{Object.defineProperty(_e,"__esModule",{value:!0});_e.diffArrays=Ou;_e.arrayDiff=void 0;var ku=wu(ar());function wu(e){return e&&e.__esModule?e:{default:e}}var Be=new ku.default;_e.arrayDiff=Be;Be.tokenize=function(e){return e.slice()};Be.join=Be.removeEmpty=function(e){return e};function Ou(e,t,r){return Be.diff(e,t,r)}});var ot=ye((tD,rn)=>{var tn=new Proxy(String,{get:()=>tn});rn.exports=tn;});var wn={};We(wn,{default:()=>Ao,shouldHighlight:()=>yo});var yo,Ao,On=Au(()=>{yo=()=>!1,Ao=String;});var Tn=ye((Ba,qt)=>{var g=String,Nn=function(){return {isColorSupported:!1,reset:g,bold:g,dim:g,italic:g,underline:g,inverse:g,hidden:g,strikethrough:g,black:g,red:g,green:g,yellow:g,blue:g,magenta:g,cyan:g,white:g,gray:g,bgBlack:g,bgRed:g,bgGreen:g,bgYellow:g,bgBlue:g,bgMagenta:g,bgCyan:g,bgWhite:g}};qt.exports=Nn();qt.exports.createColors=Nn;});var jn=ye(Ct=>{Object.defineProperty(Ct,"__esModule",{value:!0});Ct.codeFrameColumns=Yn;Ct.default=wo;var Sn=(On(),Bu(wn)),In=Bo(Tn(),!0);function Rn(e){if(typeof WeakMap!="function")return null;var t=new WeakMap,r=new WeakMap;return (Rn=function(n){return n?r:t})(e)}function Bo(e,t){if(e===null||typeof e!="object"&&typeof e!="function")return {default:e};var r=Rn(t);if(r&&r.has(e))return r.get(e);var n={__proto__:null},o=Object.defineProperty&&Object.getOwnPropertyDescriptor;for(var u in e)if(u!=="default"&&{}.hasOwnProperty.call(e,u)){var i=o?Object.getOwnPropertyDescriptor(e,u):null;i&&(i.get||i.set)?Object.defineProperty(n,u,i):n[u]=e[u];}return n.default=e,r&&r.set(e,n),n}var _o=In.default,vn=(e,t)=>r=>e(t(r)),Jt;function bo(e){if(e){return (Jt)!=null||(Jt=(0, In.createColors)(!0)),Jt}return _o}var Pn=!1;function xo(e){return {gutter:e.gray,marker:vn(e.red,e.bold),message:vn(e.red,e.bold)}}var Ln=/\r\n|[\n\r\u2028\u2029]/;function ko(e,t,r){let n=Object.assign({column:0,line:-1},e.start),o=Object.assign({},n,e.end),{linesAbove:u=2,linesBelow:i=3}=r||{},s=n.line,D=n.column,a=o.line,c=o.column,p=Math.max(s-(u+1),0),f=Math.min(t.length,a+i);s===-1&&(p=0),a===-1&&(f=t.length);let F=a-s,l={};if(F)for(let d=0;d<=F;d++){let m=d+s;if(!D)l[m]=!0;else if(d===0){let E=t[m-1].length;l[m]=[D,E-D+1];}else if(d===F)l[m]=[0,c];else {let E=t[m-d].length;l[m]=[0,E];}}else D===c?D?l[s]=[D,0]:l[s]=!0:l[s]=[D,c-D];return {start:p,end:f,markerLines:l}}function Yn(e,t,r={}){let n=(r.highlightCode||r.forceColor)&&(0, Sn.shouldHighlight)(r),o=bo(r.forceColor),u=xo(o),i=(d,m)=>n?d(m):m,s=e.split(Ln),{start:D,end:a,markerLines:c}=ko(t,s,r),p=t.start&&typeof t.start.column=="number",f=String(a).length,l=(n?(0, Sn.default)(e,r):e).split(Ln,a).slice(D,a).map((d,m)=>{let E=D+1+m,_=` ${` ${E}`.slice(-f)} |`,C=c[E],h=!c[E+1];if(C){let v="";if(Array.isArray(C)){let k=d.slice(0,Math.max(C[0]-1,0)).replace(/[^\t]/g," "),W=C[1]||1;v=[`
|
|
6415
|
+
`,i(u.gutter,_.replace(/\d/g," "))," ",k,i(u.marker,"^").repeat(W)].join(""),h&&r.message&&(v+=" "+i(u.message,r.message));}return [i(u.marker,">"),i(u.gutter,_),d.length>0?` ${d}`:"",v].join("")}else return ` ${i(u.gutter,_)}${d.length>0?` ${d}`:""}`}).join(`
|
|
6416
|
+
`);return r.message&&!p&&(l=`${" ".repeat(f+1)}${r.message}
|
|
6417
|
+
${l}`),n?o.reset(l):l}function wo(e,t,r,n={}){if(!Pn){Pn=!0;let u="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";{let i=new Error(u);i.name="DeprecationWarning",console.warn(new Error(u));}}return r=Math.max(r,0),Yn(e,{start:{column:r,line:t}},n)}});var ur={};We(ur,{__debug:()=>ai,check:()=>si,doc:()=>tr,format:()=>mu,formatWithCursor:()=>du,getSupportInfo:()=>Di,util:()=>nr,version:()=>Du});var bu=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},re=bu;var Qn=Ae(cr());function lr(e){let t=e.indexOf("\r");return t>=0?e.charAt(t+1)===`
|
|
6418
|
+
`?"crlf":"cr":"lf"}function be(e){switch(e){case"cr":return "\r";case"crlf":return `\r
|
|
6419
|
+
`;default:return `
|
|
6420
|
+
`}}function At(e,t){let r;switch(t){case`
|
|
6421
|
+
`:r=/\n/g;break;case"\r":r=/\r/g;break;case`\r
|
|
6422
|
+
`:r=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(t)}.`)}let n=e.match(r);return n?n.length:0}function fr(e){return re(!1,e,/\r\n?/g,`
|
|
6423
|
+
`)}var G="string",V="array",z="cursor",P="indent",L="align",I="trim",b="group",N="fill",x="if-break",R="indent-if-break",Y="line-suffix",j="line-suffix-boundary",B="line",T="label",w="break-parent",Ue=new Set([z,P,L,I,b,N,x,R,Y,j,B,T,w]);function Nu(e){if(typeof e=="string")return G;if(Array.isArray(e))return V;if(!e)return;let{type:t}=e;if(Ue.has(t))return t}var K=Nu;var Tu=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);function Su(e){let t=e===null?"null":typeof e;if(t!=="string"&&t!=="object")return `Unexpected doc '${t}',
|
|
6424
|
+
Expected it to be 'string' or 'object'.`;if(K(e))throw new Error("doc is valid.");let r=Object.prototype.toString.call(e);if(r!=="[object Object]")return `Unexpected doc '${r}'.`;let n=Tu([...Ue].map(o=>`'${o}'`));return `Unexpected doc.type '${e.type}'.
|
|
6425
|
+
Expected it to be ${n}.`}var Bt=class extends Error{name="InvalidDocError";constructor(t){super(Su(t)),this.doc=t;}},Z=Bt;var Fr={};function vu(e,t,r,n){let o=[e];for(;o.length>0;){let u=o.pop();if(u===Fr){r(o.pop());continue}r&&o.push(u,Fr);let i=K(u);if(!i)throw new Z(u);if((t==null?void 0:t(u))!==!1)switch(i){case V:case N:{let s=i===V?u:u.parts;for(let D=s.length,a=D-1;a>=0;--a)o.push(s[a]);break}case x:o.push(u.flatContents,u.breakContents);break;case b:if(n&&u.expandedStates)for(let s=u.expandedStates.length,D=s-1;D>=0;--D)o.push(u.expandedStates[D]);else o.push(u.contents);break;case L:case P:case R:case T:case Y:o.push(u.contents);break;case G:case z:case I:case j:case B:case w:break;default:throw new Z(u)}}}var xe=vu;var pr=()=>{},Ge=pr;function De(e){return {type:P,contents:e}}function se(e,t){return {type:L,contents:t,n:e}}function _t(e,t={}){return Ge(t.expandedStates),{type:b,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function dr(e){return se(Number.NEGATIVE_INFINITY,e)}function mr(e){return se({type:"root"},e)}function Er(e){return se(-1,e)}function Cr(e,t){return _t(e[0],{...t,expandedStates:e})}function ze(e){return {type:N,parts:e}}function hr(e,t="",r={}){return {type:x,breakContents:e,flatContents:t,groupId:r.groupId}}function gr(e,t){return {type:R,contents:e,groupId:t.groupId,negate:t.negate}}function ke(e){return {type:Y,contents:e}}var yr={type:j},Fe={type:w},Ar={type:I},we={type:B,hard:!0},bt={type:B,hard:!0,literal:!0},Ke={type:B},Br={type:B,soft:!0},q=[we,Fe],He=[bt,Fe],Oe={type:z};function Ne(e,t){let r=[];for(let n=0;n<t.length;n++)n!==0&&r.push(e),r.push(t[n]);return r}function qe(e,t,r){let n=e;if(t>0){for(let o=0;o<Math.floor(t/r);++o)n=De(n);n=se(t%r,n),n=se(Number.NEGATIVE_INFINITY,n);}return n}function _r(e,t){return e?{type:T,label:e,contents:t}:t}function Q(e){var t;if(!e)return "";if(Array.isArray(e)){let r=[];for(let n of e)if(Array.isArray(n))r.push(...Q(n));else {let o=Q(n);o!==""&&r.push(o);}return r}return e.type===x?{...e,breakContents:Q(e.breakContents),flatContents:Q(e.flatContents)}:e.type===b?{...e,contents:Q(e.contents),expandedStates:(t=e.expandedStates)==null?void 0:t.map(Q)}:e.type===N?{type:"fill",parts:e.parts.map(Q)}:e.contents?{...e,contents:Q(e.contents)}:e}function br(e){let t=Object.create(null),r=new Set;return n(Q(e));function n(u,i,s){var D,a;if(typeof u=="string")return JSON.stringify(u);if(Array.isArray(u)){let c=u.map(n).filter(Boolean);return c.length===1?c[0]:`[${c.join(", ")}]`}if(u.type===B){let c=((D=s==null?void 0:s[i+1])==null?void 0:D.type)===w;return u.literal?c?"literalline":"literallineWithoutBreakParent":u.hard?c?"hardline":"hardlineWithoutBreakParent":u.soft?"softline":"line"}if(u.type===w)return ((a=s==null?void 0:s[i-1])==null?void 0:a.type)===B&&s[i-1].hard?void 0:"breakParent";if(u.type===I)return "trim";if(u.type===P)return "indent("+n(u.contents)+")";if(u.type===L)return u.n===Number.NEGATIVE_INFINITY?"dedentToRoot("+n(u.contents)+")":u.n<0?"dedent("+n(u.contents)+")":u.n.type==="root"?"markAsRoot("+n(u.contents)+")":"align("+JSON.stringify(u.n)+", "+n(u.contents)+")";if(u.type===x)return "ifBreak("+n(u.breakContents)+(u.flatContents?", "+n(u.flatContents):"")+(u.groupId?(u.flatContents?"":', ""')+`, { groupId: ${o(u.groupId)} }`:"")+")";if(u.type===R){let c=[];u.negate&&c.push("negate: true"),u.groupId&&c.push(`groupId: ${o(u.groupId)}`);let p=c.length>0?`, { ${c.join(", ")} }`:"";return `indentIfBreak(${n(u.contents)}${p})`}if(u.type===b){let c=[];u.break&&u.break!=="propagated"&&c.push("shouldBreak: true"),u.id&&c.push(`id: ${o(u.id)}`);let p=c.length>0?`, { ${c.join(", ")} }`:"";return u.expandedStates?`conditionalGroup([${u.expandedStates.map(f=>n(f)).join(",")}]${p})`:`group(${n(u.contents)}${p})`}if(u.type===N)return `fill([${u.parts.map(c=>n(c)).join(", ")}])`;if(u.type===Y)return "lineSuffix("+n(u.contents)+")";if(u.type===j)return "lineSuffixBoundary";if(u.type===T)return `label(${JSON.stringify(u.label)}, ${n(u.contents)})`;throw new Error("Unknown doc type "+u.type)}function o(u){if(typeof u!="symbol")return JSON.stringify(String(u));if(u in t)return t[u];let i=u.description||"symbol";for(let s=0;;s++){let D=i+(s>0?` #${s}`:"");if(!r.has(D))return r.add(D),t[u]=`Symbol.for(${JSON.stringify(D)})`}}}var Pu=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},y=Pu;var xr=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;function kr(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function wr(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9800&&e<=9811||e===9855||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101632&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129672||e>=129680&&e<=129725||e>=129727&&e<=129733||e>=129742&&e<=129755||e>=129760&&e<=129768||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}var Or=e=>!(kr(e)||wr(e));var Lu=/[^\x20-\x7F]/;function Iu(e){if(!e)return 0;if(!Lu.test(e))return e.length;e=e.replace(xr()," ");let t=0;for(let r of e){let n=r.codePointAt(0);n<=31||n>=127&&n<=159||n>=768&&n<=879||(t+=Or(n)?1:2);}return t}var Te=Iu;function ve(e,t){if(typeof e=="string")return t(e);let r=new Map;return n(e);function n(u){if(r.has(u))return r.get(u);let i=o(u);return r.set(u,i),i}function o(u){switch(K(u)){case V:return t(u.map(n));case N:return t({...u,parts:u.parts.map(n)});case x:return t({...u,breakContents:n(u.breakContents),flatContents:n(u.flatContents)});case b:{let{expandedStates:i,contents:s}=u;return i?(i=i.map(n),s=i[0]):s=n(s),t({...u,contents:s,expandedStates:i})}case L:case P:case R:case T:case Y:return t({...u,contents:n(u.contents)});case G:case z:case I:case j:case B:case w:return t(u);default:throw new Z(u)}}}function Je(e,t,r){let n=r,o=!1;function u(i){if(o)return !1;let s=t(i);s!==void 0&&(o=!0,n=s);}return xe(e,u),n}function Ru(e){if(e.type===b&&e.break||e.type===B&&e.hard||e.type===w)return !0}function Sr(e){return Je(e,Ru,!1)}function Nr(e){if(e.length>0){let t=y(!1,e,-1);!t.expandedStates&&!t.break&&(t.break="propagated");}return null}function vr(e){let t=new Set,r=[];function n(u){if(u.type===w&&Nr(r),u.type===b){if(r.push(u),t.has(u))return !1;t.add(u);}}function o(u){u.type===b&&r.pop().break&&Nr(r);}xe(e,n,o,!0);}function Yu(e){return e.type===B&&!e.hard?e.soft?"":" ":e.type===x?e.flatContents:e}function Pr(e){return ve(e,Yu)}function Tr(e){for(e=[...e];e.length>=2&&y(!1,e,-2).type===B&&y(!1,e,-1).type===w;)e.length-=2;if(e.length>0){let t=Se(y(!1,e,-1));e[e.length-1]=t;}return e}function Se(e){switch(K(e)){case P:case R:case b:case Y:case T:{let t=Se(e.contents);return {...e,contents:t}}case x:return {...e,breakContents:Se(e.breakContents),flatContents:Se(e.flatContents)};case N:return {...e,parts:Tr(e.parts)};case V:return Tr(e);case G:return e.replace(/[\n\r]*$/,"");case L:case z:case I:case j:case B:case w:break;default:throw new Z(e)}return e}function Xe(e){return Se(Mu(e))}function ju(e){switch(K(e)){case N:if(e.parts.every(t=>t===""))return "";break;case b:if(!e.contents&&!e.id&&!e.break&&!e.expandedStates)return "";if(e.contents.type===b&&e.contents.id===e.id&&e.contents.break===e.break&&e.contents.expandedStates===e.expandedStates)return e.contents;break;case L:case P:case R:case Y:if(!e.contents)return "";break;case x:if(!e.flatContents&&!e.breakContents)return "";break;case V:{let t=[];for(let r of e){if(!r)continue;let[n,...o]=Array.isArray(r)?r:[r];typeof n=="string"&&typeof y(!1,t,-1)=="string"?t[t.length-1]+=n:t.push(n),t.push(...o);}return t.length===0?"":t.length===1?t[0]:t}case G:case z:case I:case j:case B:case T:case w:break;default:throw new Z(e)}return e}function Mu(e){return ve(e,t=>ju(t))}function Lr(e,t=He){return ve(e,r=>typeof r=="string"?Ne(t,r.split(`
|
|
6426
|
+
`)):r)}function Vu(e){if(e.type===B)return !0}function Ir(e){return Je(e,Vu,!1)}function Ze(e,t){return e.type===T?{...e,contents:t(e.contents)}:t(e)}var M=Symbol("MODE_BREAK"),J=Symbol("MODE_FLAT"),Pe=Symbol("cursor");function Rr(){return {value:"",length:0,queue:[]}}function $u(e,t){return xt(e,{type:"indent"},t)}function Wu(e,t,r){return t===Number.NEGATIVE_INFINITY?e.root||Rr():t<0?xt(e,{type:"dedent"},r):t?t.type==="root"?{...e,root:e}:xt(e,{type:typeof t=="string"?"stringAlign":"numberAlign",n:t},r):e}function xt(e,t,r){let n=t.type==="dedent"?e.queue.slice(0,-1):[...e.queue,t],o="",u=0,i=0,s=0;for(let l of n)switch(l.type){case"indent":c(),r.useTabs?D(1):a(r.tabWidth);break;case"stringAlign":c(),o+=l.n,u+=l.n.length;break;case"numberAlign":i+=1,s+=l.n;break;default:throw new Error(`Unexpected type '${l.type}'`)}return f(),{...e,value:o,length:u,queue:n};function D(l){o+=" ".repeat(l),u+=r.tabWidth*l;}function a(l){o+=" ".repeat(l),u+=l;}function c(){r.useTabs?p():f();}function p(){i>0&&D(i),F();}function f(){s>0&&a(s),F();}function F(){i=0,s=0;}}function kt(e){let t=0,r=0,n=e.length;e:for(;n--;){let o=e[n];if(o===Pe){r++;continue}for(let u=o.length-1;u>=0;u--){let i=o[u];if(i===" "||i===" ")t++;else {e[n]=o.slice(0,u+1);break e}}}if(t>0||r>0)for(e.length=n+1;r-- >0;)e.push(Pe);return t}function Qe(e,t,r,n,o,u){if(r===Number.POSITIVE_INFINITY)return !0;let i=t.length,s=[e],D=[];for(;r>=0;){if(s.length===0){if(i===0)return !0;s.push(t[--i]);continue}let{mode:a,doc:c}=s.pop(),p=K(c);switch(p){case G:D.push(c),r-=Te(c);break;case V:case N:{let f=p===V?c:c.parts;for(let F=f.length-1;F>=0;F--)s.push({mode:a,doc:f[F]});break}case P:case L:case R:case T:s.push({mode:a,doc:c.contents});break;case I:r+=kt(D);break;case b:{if(u&&c.break)return !1;let f=c.break?M:a,F=c.expandedStates&&f===M?y(!1,c.expandedStates,-1):c.contents;s.push({mode:f,doc:F});break}case x:{let F=(c.groupId?o[c.groupId]||J:a)===M?c.breakContents:c.flatContents;F&&s.push({mode:a,doc:F});break}case B:if(a===M||c.hard)return !0;c.soft||(D.push(" "),r--);break;case Y:n=!0;break;case j:if(n)return !1;break}}return !1}function pe(e,t){let r={},n=t.printWidth,o=be(t.endOfLine),u=0,i=[{ind:Rr(),mode:M,doc:e}],s=[],D=!1,a=[],c=0;for(vr(e);i.length>0;){let{ind:f,mode:F,doc:l}=i.pop();switch(K(l)){case G:{let d=o!==`
|
|
6427
|
+
`?re(!1,l,`
|
|
6428
|
+
`,o):l;s.push(d),i.length>0&&(u+=Te(d));break}case V:for(let d=l.length-1;d>=0;d--)i.push({ind:f,mode:F,doc:l[d]});break;case z:if(c>=2)throw new Error("There are too many 'cursor' in doc.");s.push(Pe),c++;break;case P:i.push({ind:$u(f,t),mode:F,doc:l.contents});break;case L:i.push({ind:Wu(f,l.n,t),mode:F,doc:l.contents});break;case I:u-=kt(s);break;case b:switch(F){case J:if(!D){i.push({ind:f,mode:l.break?M:J,doc:l.contents});break}case M:{D=!1;let d={ind:f,mode:J,doc:l.contents},m=n-u,E=a.length>0;if(!l.break&&Qe(d,i,m,E,r))i.push(d);else if(l.expandedStates){let A=y(!1,l.expandedStates,-1);if(l.break){i.push({ind:f,mode:M,doc:A});break}else for(let _=1;_<l.expandedStates.length+1;_++)if(_>=l.expandedStates.length){i.push({ind:f,mode:M,doc:A});break}else {let C=l.expandedStates[_],h={ind:f,mode:J,doc:C};if(Qe(h,i,m,E,r)){i.push(h);break}}}else i.push({ind:f,mode:M,doc:l.contents});break}}l.id&&(r[l.id]=y(!1,i,-1).mode);break;case N:{let d=n-u,{parts:m}=l;if(m.length===0)break;let[E,A]=m,_={ind:f,mode:J,doc:E},C={ind:f,mode:M,doc:E},h=Qe(_,[],d,a.length>0,r,!0);if(m.length===1){h?i.push(_):i.push(C);break}let v={ind:f,mode:J,doc:A},k={ind:f,mode:M,doc:A};if(m.length===2){h?i.push(v,_):i.push(k,C);break}m.splice(0,2);let W={ind:f,mode:F,doc:ze(m)},ge=m[0];Qe({ind:f,mode:J,doc:[E,A,ge]},[],d,a.length>0,r,!0)?i.push(W,v,_):h?i.push(W,k,_):i.push(W,k,C);break}case x:case R:{let d=l.groupId?r[l.groupId]:F;if(d===M){let m=l.type===x?l.breakContents:l.negate?l.contents:De(l.contents);m&&i.push({ind:f,mode:F,doc:m});}if(d===J){let m=l.type===x?l.flatContents:l.negate?De(l.contents):l.contents;m&&i.push({ind:f,mode:F,doc:m});}break}case Y:a.push({ind:f,mode:F,doc:l.contents});break;case j:a.length>0&&i.push({ind:f,mode:F,doc:we});break;case B:switch(F){case J:if(l.hard)D=!0;else {l.soft||(s.push(" "),u+=1);break}case M:if(a.length>0){i.push({ind:f,mode:F,doc:l},...a.reverse()),a.length=0;break}l.literal?f.root?(s.push(o,f.root.value),u=f.root.length):(s.push(o),u=0):(u-=kt(s),s.push(o+f.value),u=f.length);break}break;case T:i.push({ind:f,mode:F,doc:l.contents});break;case w:break;default:throw new Z(l)}i.length===0&&a.length>0&&(i.push(...a.reverse()),a.length=0);}let p=s.indexOf(Pe);if(p!==-1){let f=s.indexOf(Pe,p+1),F=s.slice(0,p).join(""),l=s.slice(p+1,f).join(""),d=s.slice(f+1).join("");return {formatted:F+l+d,cursorNodeStart:F.length,cursorNodeText:l}}return {formatted:s.join("")}}function Uu(e,t,r=0){let n=0;for(let o=r;o<e.length;++o)e[o]===" "?n=n+t-n%t:n++;return n}var de=Uu;var ee,Ot,et,wt=class{constructor(t){sr(this,ee);this.stack=[t];}get key(){let{stack:t,siblings:r}=this;return y(!1,t,r===null?-2:-4)??null}get index(){return this.siblings===null?null:y(!1,this.stack,-2)}get node(){return y(!1,this.stack,-1)}get parent(){return this.getNode(1)}get grandparent(){return this.getNode(2)}get isInArray(){return this.siblings!==null}get siblings(){let{stack:t}=this,r=y(!1,t,-3);return Array.isArray(r)?r:null}get next(){let{siblings:t}=this;return t===null?null:t[this.index+1]}get previous(){let{siblings:t}=this;return t===null?null:t[this.index-1]}get isFirst(){return this.index===0}get isLast(){let{siblings:t,index:r}=this;return t!==null&&r===t.length-1}get isRoot(){return this.stack.length===1}get root(){return this.stack[0]}get ancestors(){return [...fe(this,ee,et).call(this)]}getName(){let{stack:t}=this,{length:r}=t;return r>1?y(!1,t,-2):null}getValue(){return y(!1,this.stack,-1)}getNode(t=0){let r=fe(this,ee,Ot).call(this,t);return r===-1?null:this.stack[r]}getParentNode(t=0){return this.getNode(t+1)}call(t,...r){let{stack:n}=this,{length:o}=n,u=y(!1,n,-1);for(let i of r)u=u[i],n.push(i,u);try{return t(this)}finally{n.length=o;}}callParent(t,r=0){let n=fe(this,ee,Ot).call(this,r+1),o=this.stack.splice(n+1);try{return t(this)}finally{this.stack.push(...o);}}each(t,...r){let{stack:n}=this,{length:o}=n,u=y(!1,n,-1);for(let i of r)u=u[i],n.push(i,u);try{for(let i=0;i<u.length;++i)n.push(i,u[i]),t(this,i,u),n.length-=2;}finally{n.length=o;}}map(t,...r){let n=[];return this.each((o,u,i)=>{n[u]=t(o,u,i);},...r),n}match(...t){let r=this.stack.length-1,n=null,o=this.stack[r--];for(let u of t){if(o===void 0)return !1;let i=null;if(typeof n=="number"&&(i=n,n=this.stack[r--],o=this.stack[r--]),u&&!u(o,n,i))return !1;n=this.stack[r--],o=this.stack[r--];}return !0}findAncestor(t){for(let r of fe(this,ee,et).call(this))if(t(r))return r}hasAncestor(t){for(let r of fe(this,ee,et).call(this))if(t(r))return !0;return !1}};ee=new WeakSet,Ot=function(t){let{stack:r}=this;for(let n=r.length-1;n>=0;n-=2)if(!Array.isArray(r[n])&&--t<0)return n;return -1},et=function*(){let{stack:t}=this;for(let r=t.length-3;r>=0;r-=2){let n=t[r];Array.isArray(n)||(yield n);}};var Yr=wt;var jr=new Proxy(()=>{},{get:()=>jr}),Le=jr;function Gu(e){return e!==null&&typeof e=="object"}var Mr=Gu;function*Nt(e,t){let{getVisitorKeys:r,filter:n=()=>!0}=t,o=u=>Mr(u)&&n(u);for(let u of r(e)){let i=e[u];if(Array.isArray(i))for(let s of i)o(s)&&(yield s);else o(i)&&(yield i);}}function*Vr(e,t){let r=[e];for(let n=0;n<r.length;n++){let o=r[n];for(let u of Nt(o,t))yield u,r.push(u);}}function me(e){return (t,r,n)=>{let o=!!(n!=null&&n.backwards);if(r===!1)return !1;let{length:u}=t,i=r;for(;i>=0&&i<u;){let s=t.charAt(i);if(e instanceof RegExp){if(!e.test(s))return i}else if(!e.includes(s))return i;o?i--:i++;}return i===-1||i===u?i:!1}}var $r=me(/\s/),S=me(" "),tt=me(",; "),rt=me(/[^\n\r]/);function zu(e,t,r){let n=!!(r!=null&&r.backwards);if(t===!1)return !1;let o=e.charAt(t);if(n){if(e.charAt(t-1)==="\r"&&o===`
|
|
6429
|
+
`)return t-2;if(o===`
|
|
6430
|
+
`||o==="\r"||o==="\u2028"||o==="\u2029")return t-1}else {if(o==="\r"&&e.charAt(t+1)===`
|
|
6431
|
+
`)return t+2;if(o===`
|
|
6432
|
+
`||o==="\r"||o==="\u2028"||o==="\u2029")return t+1}return t}var $=zu;function Ku(e,t,r={}){let n=S(e,r.backwards?t-1:t,r),o=$(e,n,r);return n!==o}var U=Ku;function Hu(e){return Array.isArray(e)&&e.length>0}var Tt=Hu;var Wr=new Set(["tokens","comments","parent","enclosingNode","precedingNode","followingNode"]),qu=e=>Object.keys(e).filter(t=>!Wr.has(t));function Ju(e){return e?t=>e(t,Wr):qu}var X=Ju;function Xu(e){let t=e.type||e.kind||"(unknown type)",r=String(e.name||e.id&&(typeof e.id=="object"?e.id.name:e.id)||e.key&&(typeof e.key=="object"?e.key.name:e.key)||e.value&&(typeof e.value=="object"?"":String(e.value))||e.operator||"");return r.length>20&&(r=r.slice(0,19)+"\u2026"),t+(r?" "+r:"")}function St(e,t){(e.comments??(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=Xu(e);}function ne(e,t){t.leading=!0,t.trailing=!1,St(e,t);}function te(e,t,r){t.leading=!1,t.trailing=!1,r&&(t.marker=r),St(e,t);}function ue(e,t){t.leading=!1,t.trailing=!0,St(e,t);}var vt=new WeakMap;function nt(e,t){if(vt.has(e))return vt.get(e);let{printer:{getCommentChildNodes:r,canAttachComment:n,getVisitorKeys:o},locStart:u,locEnd:i}=t;if(!n)return [];let s=((r==null?void 0:r(e,t))??[...Nt(e,{getVisitorKeys:X(o)})]).flatMap(D=>n(D)?[D]:nt(D,t));return s.sort((D,a)=>u(D)-u(a)||i(D)-i(a)),vt.set(e,s),s}function Gr(e,t,r,n){let{locStart:o,locEnd:u}=r,i=o(t),s=u(t),D=nt(e,r),a,c,p=0,f=D.length;for(;p<f;){let F=p+f>>1,l=D[F],d=o(l),m=u(l);if(d<=i&&s<=m)return Gr(l,t,r,l);if(m<=i){a=l,p=F+1;continue}if(s<=d){c=l,f=F;continue}throw new Error("Comment location overlaps with node location")}if((n==null?void 0:n.type)==="TemplateLiteral"){let{quasis:F}=n,l=Lt(F,t,r);a&&Lt(F,a,r)!==l&&(a=null),c&&Lt(F,c,r)!==l&&(c=null);}return {enclosingNode:n,precedingNode:a,followingNode:c}}var Pt=()=>!1;function zr(e,t){let{comments:r}=e;if(delete e.comments,!Tt(r)||!t.printer.canAttachComment)return;let n=[],{locStart:o,locEnd:u,printer:{experimentalFeatures:{avoidAstMutation:i=!1}={},handleComments:s={}},originalText:D}=t,{ownLine:a=Pt,endOfLine:c=Pt,remaining:p=Pt}=s,f=r.map((F,l)=>({...Gr(e,F,t),comment:F,text:D,options:t,ast:e,isLastComment:r.length-1===l}));for(let[F,l]of f.entries()){let{comment:d,precedingNode:m,enclosingNode:E,followingNode:A,text:_,options:C,ast:h,isLastComment:v}=l;if(C.parser==="json"||C.parser==="json5"||C.parser==="jsonc"||C.parser==="__js_expression"||C.parser==="__ts_expression"||C.parser==="__vue_expression"||C.parser==="__vue_ts_expression"){if(o(d)-o(h)<=0){ne(h,d);continue}if(u(d)-u(h)>=0){ue(h,d);continue}}let k;if(i?k=[l]:(d.enclosingNode=E,d.precedingNode=m,d.followingNode=A,k=[d,_,C,h,v]),Zu(_,C,f,F))d.placement="ownLine",a(...k)||(A?ne(A,d):m?ue(m,d):E?te(E,d):te(h,d));else if(Qu(_,C,f,F))d.placement="endOfLine",c(...k)||(m?ue(m,d):A?ne(A,d):E?te(E,d):te(h,d));else if(d.placement="remaining",!p(...k))if(m&&A){let W=n.length;W>0&&n[W-1].followingNode!==A&&Ur(n,C),n.push(l);}else m?ue(m,d):A?ne(A,d):E?te(E,d):te(h,d);}if(Ur(n,t),!i)for(let F of r)delete F.precedingNode,delete F.enclosingNode,delete F.followingNode;}var Kr=e=>!/[\S\n\u2028\u2029]/.test(e);function Zu(e,t,r,n){let{comment:o,precedingNode:u}=r[n],{locStart:i,locEnd:s}=t,D=i(o);if(u)for(let a=n-1;a>=0;a--){let{comment:c,precedingNode:p}=r[a];if(p!==u||!Kr(e.slice(s(c),D)))break;D=i(c);}return U(e,D,{backwards:!0})}function Qu(e,t,r,n){let{comment:o,followingNode:u}=r[n],{locStart:i,locEnd:s}=t,D=s(o);if(u)for(let a=n+1;a<r.length;a++){let{comment:c,followingNode:p}=r[a];if(p!==u||!Kr(e.slice(D,i(c))))break;D=s(c);}return U(e,D)}function Ur(e,t){var s,D;let r=e.length;if(r===0)return;let{precedingNode:n,followingNode:o}=e[0],u=t.locStart(o),i;for(i=r;i>0;--i){let{comment:a,precedingNode:c,followingNode:p}=e[i-1];Le.strictEqual(c,n),Le.strictEqual(p,o);let f=t.originalText.slice(t.locEnd(a),u);if(((D=(s=t.printer).isGap)==null?void 0:D.call(s,f,t))??/^[\s(]*$/.test(f))u=t.locStart(a);else break}for(let[a,{comment:c}]of e.entries())a<i?ue(n,c):ne(o,c);for(let a of [n,o])a.comments&&a.comments.length>1&&a.comments.sort((c,p)=>t.locStart(c)-t.locStart(p));e.length=0;}function Lt(e,t,r){let n=r.locStart(t)-1;for(let o=1;o<e.length;++o)if(n<r.locStart(e[o]))return o-1;return 0}function eo(e,t){let r=t-1;r=S(e,r,{backwards:!0}),r=$(e,r,{backwards:!0}),r=S(e,r,{backwards:!0});let n=$(e,r,{backwards:!0});return r!==n}var Ie=eo;function Hr(e,t){let r=e.node;return r.printed=!0,t.printer.printComment(e,t)}function to(e,t){var c;let r=e.node,n=[Hr(e,t)],{printer:o,originalText:u,locStart:i,locEnd:s}=t;if((c=o.isBlockComment)==null?void 0:c.call(o,r)){let p=U(u,s(r))?U(u,i(r),{backwards:!0})?q:Ke:" ";n.push(p);}else n.push(q);let a=$(u,S(u,s(r)));return a!==!1&&U(u,a)&&n.push(q),n}function ro(e,t,r){var a;let n=e.node,o=Hr(e,t),{printer:u,originalText:i,locStart:s}=t,D=(a=u.isBlockComment)==null?void 0:a.call(u,n);if(r!=null&&r.hasLineSuffix&&!(r!=null&&r.isBlock)||U(i,s(n),{backwards:!0})){let c=Ie(i,s(n));return {doc:ke([q,c?q:"",o]),isBlock:D,hasLineSuffix:!0}}return !D||r!=null&&r.hasLineSuffix?{doc:[ke([" ",o]),Fe],isBlock:D,hasLineSuffix:!0}:{doc:[" ",o],isBlock:D,hasLineSuffix:!1}}function no(e,t){let r=e.node;if(!r)return {};let n=t[Symbol.for("printedComments")];if((r.comments||[]).filter(D=>!n.has(D)).length===0)return {leading:"",trailing:""};let u=[],i=[],s;return e.each(()=>{let D=e.node;if(n!=null&&n.has(D))return;let{leading:a,trailing:c}=D;a?u.push(to(e,t)):c&&(s=ro(e,t,s),i.push(s.doc));},"comments"),{leading:u,trailing:i}}function qr(e,t,r){let{leading:n,trailing:o}=no(e,r);return !n&&!o?t:Ze(t,u=>[n,u,o])}function Jr(e){let{[Symbol.for("comments")]:t,[Symbol.for("printedComments")]:r}=e;for(let n of t){if(!n.printed&&!r.has(n))throw new Error('Comment "'+n.value.trim()+'" was not printed. Please report this error!');delete n.printed;}}var Re=class extends Error{name="ConfigError"},Ye=class extends Error{name="UndefinedParserError"};var Zr={cursorOffset:{category:"Special",type:"int",default:-1,range:{start:-1,end:1/0,step:1},description:"Print (to stderr) where a cursor at the given position would move to after formatting.",cliCategory:"Editor"},endOfLine:{category:"Global",type:"choice",default:"lf",description:"Which end of line characters to apply.",choices:[{value:"lf",description:"Line Feed only (\\n), common on Linux and macOS as well as inside git repos"},{value:"crlf",description:"Carriage Return + Line Feed characters (\\r\\n), common on Windows"},{value:"cr",description:"Carriage Return character only (\\r), used very rarely"},{value:"auto",description:`Maintain existing
|
|
6433
|
+
(mixed values within one file are normalised by looking at what's used after the first line)`}]},filepath:{category:"Special",type:"path",description:"Specify the input filepath. This will be used to do parser inference.",cliName:"stdin-filepath",cliCategory:"Other",cliDescription:"Path to the file to pretend that stdin comes from."},insertPragma:{category:"Special",type:"boolean",default:!1,description:"Insert @format pragma into file's first docblock comment.",cliCategory:"Other"},parser:{category:"Global",type:"choice",default:void 0,description:"Which parser to use.",exception:e=>typeof e=="string"||typeof e=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",description:"JavaScript"},{value:"babel-flow",description:"Flow"},{value:"babel-ts",description:"TypeScript"},{value:"typescript",description:"TypeScript"},{value:"acorn",description:"JavaScript"},{value:"espree",description:"JavaScript"},{value:"meriyah",description:"JavaScript"},{value:"css",description:"CSS"},{value:"less",description:"Less"},{value:"scss",description:"SCSS"},{value:"json",description:"JSON"},{value:"json5",description:"JSON5"},{value:"jsonc",description:"JSON with Comments"},{value:"json-stringify",description:"JSON.stringify"},{value:"graphql",description:"GraphQL"},{value:"markdown",description:"Markdown"},{value:"mdx",description:"MDX"},{value:"vue",description:"Vue"},{value:"yaml",description:"YAML"},{value:"glimmer",description:"Ember / Handlebars"},{value:"html",description:"HTML"},{value:"angular",description:"Angular"},{value:"lwc",description:"Lightning Web Components"}]},plugins:{type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>typeof e=="string"||typeof e=="object",cliName:"plugin",cliCategory:"Config"},printWidth:{category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:`Format code ending at a given character offset (exclusive).
|
|
6434
|
+
The range will extend forwards to the end of the selected statement.`,cliCategory:"Editor"},rangeStart:{category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:`Format code starting at a given character offset.
|
|
6435
|
+
The range will extend backwards to the start of the first line containing the selected statement.`,cliCategory:"Editor"},requirePragma:{category:"Special",type:"boolean",default:!1,description:`Require either '@prettier' or '@format' to be present in the file's first docblock comment
|
|
6436
|
+
in order for it to be formatted.`,cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{category:"Global",type:"choice",default:"auto",description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};function ut({plugins:e=[],showDeprecated:t=!1}={}){let r=e.flatMap(o=>o.languages??[]),n=[];for(let o of io(Object.assign({},...e.map(({options:u})=>u),Zr)))!t&&o.deprecated||(Array.isArray(o.choices)&&(t||(o.choices=o.choices.filter(u=>!u.deprecated)),o.name==="parser"&&(o.choices=[...o.choices,...oo(o.choices,r,e)])),o.pluginDefaults=Object.fromEntries(e.filter(u=>{var i;return ((i=u.defaultOptions)==null?void 0:i[o.name])!==void 0}).map(u=>[u.name,u.defaultOptions[o.name]])),n.push(o));return {languages:r,options:n}}function*oo(e,t,r){let n=new Set(e.map(o=>o.value));for(let o of t)if(o.parsers){for(let u of o.parsers)if(!n.has(u)){n.add(u);let i=r.find(D=>D.parsers&&Object.prototype.hasOwnProperty.call(D.parsers,u)),s=o.name;i!=null&&i.name&&(s+=` (plugin: ${i.name})`),yield {value:u,description:s};}}}function io(e){let t=[];for(let[r,n]of Object.entries(e)){let o={name:r,...n};Array.isArray(o.default)&&(o.default=y(!1,o.default,-1).value),t.push(o);}return t}var so=e=>String(e).split(/[/\\]/).pop();function Qr(e,t){if(!t)return;let r=so(t).toLowerCase();return e.find(({filenames:n})=>n==null?void 0:n.some(o=>o.toLowerCase()===r))??e.find(({extensions:n})=>n==null?void 0:n.some(o=>r.endsWith(o)))}function Do(e,t){if(t)return e.find(({name:r})=>r.toLowerCase()===t)??e.find(({aliases:r})=>r==null?void 0:r.includes(t))??e.find(({extensions:r})=>r==null?void 0:r.includes(`.${t}`))}function ao(e,t){let r=e.plugins.flatMap(o=>o.languages??[]),n=Do(r,t.language)??Qr(r,t.physicalFile)??Qr(r,t.file)??(t.physicalFile,void 0);return n==null?void 0:n.parsers[0]}var en=ao;var oe={key:e=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e)?e:JSON.stringify(e),value(e){if(e===null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(r=>oe.value(r)).join(", ")}]`;let t=Object.keys(e);return t.length===0?"{}":`{ ${t.map(r=>`${oe.key(r)}: ${oe.value(e[r])}`).join(", ")} }`},pair:({key:e,value:t})=>oe.value({[e]:t})};var It=Ae(ot()),nn=(e,t,{descriptor:r})=>{let n=[`${It.default.yellow(typeof e=="string"?r.key(e):r.pair(e))} is deprecated`];return t&&n.push(`we now treat it as ${It.default.blue(typeof t=="string"?r.key(t):r.pair(t))}`),n.join("; ")+"."};var ae=Ae(ot());var it=Symbol.for("vnopts.VALUE_NOT_EXIST"),Ee=Symbol.for("vnopts.VALUE_UNCHANGED");var un=" ".repeat(2),sn=(e,t,r)=>{let{text:n,list:o}=r.normalizeExpectedResult(r.schemas[e].expected(r)),u=[];return n&&u.push(on(e,t,n,r.descriptor)),o&&u.push([on(e,t,o.title,r.descriptor)].concat(o.values.map(i=>Dn(i,r.loggerPrintWidth))).join(`
|
|
6437
|
+
`)),an(u,r.loggerPrintWidth)};function on(e,t,r,n){return [`Invalid ${ae.default.red(n.key(e))} value.`,`Expected ${ae.default.blue(r)},`,`but received ${t===it?ae.default.gray("nothing"):ae.default.red(n.value(t))}.`].join(" ")}function Dn({text:e,list:t},r){let n=[];return e&&n.push(`- ${ae.default.blue(e)}`),t&&n.push([`- ${ae.default.blue(t.title)}:`].concat(t.values.map(o=>Dn(o,r-un.length).replace(/^|\n/g,`$&${un}`))).join(`
|
|
6438
|
+
`)),an(n,r)}function an(e,t){if(e.length===1)return e[0];let[r,n]=e,[o,u]=e.map(i=>i.split(`
|
|
6439
|
+
`,1)[0].length);return o>t&&o>u?n:r}var jt=Ae(ot());var Rt=[],cn=[];function Yt(e,t){if(e===t)return 0;let r=e;e.length>t.length&&(e=t,t=r);let n=e.length,o=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-o);)n--,o--;let u=0;for(;u<n&&e.charCodeAt(u)===t.charCodeAt(u);)u++;if(n-=u,o-=u,n===0)return o;let i,s,D,a,c=0,p=0;for(;c<n;)cn[c]=e.charCodeAt(u+c),Rt[c]=++c;for(;p<o;)for(i=t.charCodeAt(u+p),D=p++,s=p,c=0;c<n;c++)a=i===cn[c]?D:D+1,D=Rt[c],s=Rt[c]=D>s?a>s?s+1:a:a>D?D+1:a;return s}var st=(e,t,{descriptor:r,logger:n,schemas:o})=>{let u=[`Ignored unknown option ${jt.default.yellow(r.pair({key:e,value:t}))}.`],i=Object.keys(o).sort().find(s=>Yt(e,s)<3);i&&u.push(`Did you mean ${jt.default.blue(r.key(i))}?`),n.warn(u.join(" "));};var co=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];function lo(e,t){let r=new e(t),n=Object.create(r);for(let o of co)o in t&&(n[o]=fo(t[o],r,O.prototype[o].length));return n}var O=class{static create(t){return lo(this,t)}constructor(t){this.name=t.name;}default(t){}expected(t){return "nothing"}validate(t,r){return !1}deprecated(t,r){return !1}forward(t,r){}redirect(t,r){}overlap(t,r,n){return t}preprocess(t,r){return t}postprocess(t,r){return Ee}};function fo(e,t,r){return typeof e=="function"?(...n)=>e(...n.slice(0,r-1),t,...n.slice(r-1)):()=>e}var Dt=class extends O{constructor(t){super(t),this._sourceName=t.sourceName;}expected(t){return t.schemas[this._sourceName].expected(t)}validate(t,r){return r.schemas[this._sourceName].validate(t,r)}redirect(t,r){return this._sourceName}};var at$1=class at extends O{expected(){return "anything"}validate(){return !0}};var ct=class extends O{constructor({valueSchema:t,name:r=t.name,...n}){super({...n,name:r}),this._valueSchema=t;}expected(t){let{text:r,list:n}=t.normalizeExpectedResult(this._valueSchema.expected(t));return {text:r&&`an array of ${r}`,list:n&&{title:"an array of the following values",values:[{list:n}]}}}validate(t,r){if(!Array.isArray(t))return !1;let n=[];for(let o of t){let u=r.normalizeValidateResult(this._valueSchema.validate(o,r),o);u!==!0&&n.push(u.value);}return n.length===0?!0:{value:n}}deprecated(t,r){let n=[];for(let o of t){let u=r.normalizeDeprecatedResult(this._valueSchema.deprecated(o,r),o);u!==!1&&n.push(...u.map(({value:i})=>({value:[i]})));}return n}forward(t,r){let n=[];for(let o of t){let u=r.normalizeForwardResult(this._valueSchema.forward(o,r),o);n.push(...u.map(ln));}return n}redirect(t,r){let n=[],o=[];for(let u of t){let i=r.normalizeRedirectResult(this._valueSchema.redirect(u,r),u);"remain"in i&&n.push(i.remain),o.push(...i.redirect.map(ln));}return n.length===0?{redirect:o}:{redirect:o,remain:n}}overlap(t,r){return t.concat(r)}};function ln({from:e,to:t}){return {from:[e],to:t}}var lt=class extends O{expected(){return "true or false"}validate(t){return typeof t=="boolean"}};function Fn(e,t){let r=Object.create(null);for(let n of e){let o=n[t];if(r[o])throw new Error(`Duplicate ${t} ${JSON.stringify(o)}`);r[o]=n;}return r}function pn(e,t){let r=new Map;for(let n of e){let o=n[t];if(r.has(o))throw new Error(`Duplicate ${t} ${JSON.stringify(o)}`);r.set(o,n);}return r}function dn(){let e=Object.create(null);return t=>{let r=JSON.stringify(t);return e[r]?!0:(e[r]=!0,!1)}}function mn(e,t){let r=[],n=[];for(let o of e)t(o)?r.push(o):n.push(o);return [r,n]}function En(e){return e===Math.floor(e)}function Cn(e,t){if(e===t)return 0;let r=typeof e,n=typeof t,o=["undefined","object","boolean","number","string"];return r!==n?o.indexOf(r)-o.indexOf(n):r!=="string"?Number(e)-Number(t):e.localeCompare(t)}function hn(e){return (...t)=>{let r=e(...t);return typeof r=="string"?new Error(r):r}}function Mt(e){return e===void 0?{}:e}function Vt(e){if(typeof e=="string")return {text:e};let{text:t,list:r}=e;return Fo((t||r)!==void 0,"Unexpected `expected` result, there should be at least one field."),r?{text:t,list:{title:r.title,values:r.values.map(Vt)}}:{text:t}}function $t(e,t){return e===!0?!0:e===!1?{value:t}:e}function Wt(e,t,r=!1){return e===!1?!1:e===!0?r?!0:[{value:t}]:"value"in e?[e]:e.length===0?!1:e}function fn(e,t){return typeof e=="string"||"key"in e?{from:t,to:e}:"from"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}function ft(e,t){return e===void 0?[]:Array.isArray(e)?e.map(r=>fn(r,t)):[fn(e,t)]}function Ut(e,t){let r=ft(typeof e=="object"&&"redirect"in e?e.redirect:e,t);return r.length===0?{remain:t,redirect:r}:typeof e=="object"&&"remain"in e?{remain:e.remain,redirect:r}:{redirect:r}}function Fo(e,t){if(!e)throw new Error(t)}var Ft=class extends O{constructor(t){super(t),this._choices=pn(t.choices.map(r=>r&&typeof r=="object"?r:{value:r}),"value");}expected({descriptor:t}){let r=Array.from(this._choices.keys()).map(i=>this._choices.get(i)).filter(({hidden:i})=>!i).map(i=>i.value).sort(Cn).map(t.value),n=r.slice(0,-2),o=r.slice(-2);return {text:n.concat(o.join(" or ")).join(", "),list:{title:"one of the following values",values:r}}}validate(t){return this._choices.has(t)}deprecated(t){let r=this._choices.get(t);return r&&r.deprecated?{value:t}:!1}forward(t){let r=this._choices.get(t);return r?r.forward:void 0}redirect(t){let r=this._choices.get(t);return r?r.redirect:void 0}};var pt=class extends O{expected(){return "a number"}validate(t,r){return typeof t=="number"}};var dt=class extends pt{expected(){return "an integer"}validate(t,r){return r.normalizeValidateResult(super.validate(t,r),t)===!0&&En(t)}};var je=class extends O{expected(){return "a string"}validate(t){return typeof t=="string"}};var gn=oe,yn=st,An=sn,Bn=nn;var mt=class{constructor(t,r){let{logger:n=console,loggerPrintWidth:o=80,descriptor:u=gn,unknown:i=yn,invalid:s=An,deprecated:D=Bn,missing:a=()=>!1,required:c=()=>!1,preprocess:p=F=>F,postprocess:f=()=>Ee}=r||{};this._utils={descriptor:u,logger:n||{warn:()=>{}},loggerPrintWidth:o,schemas:Fn(t,"name"),normalizeDefaultResult:Mt,normalizeExpectedResult:Vt,normalizeDeprecatedResult:Wt,normalizeForwardResult:ft,normalizeRedirectResult:Ut,normalizeValidateResult:$t},this._unknownHandler=i,this._invalidHandler=hn(s),this._deprecatedHandler=D,this._identifyMissing=(F,l)=>!(F in l)||a(F,l),this._identifyRequired=c,this._preprocess=p,this._postprocess=f,this.cleanHistory();}cleanHistory(){this._hasDeprecationWarned=dn();}normalize(t){let r={},o=[this._preprocess(t,this._utils)],u=()=>{for(;o.length!==0;){let i=o.shift(),s=this._applyNormalization(i,r);o.push(...s);}};u();for(let i of Object.keys(this._utils.schemas)){let s=this._utils.schemas[i];if(!(i in r)){let D=Mt(s.default(this._utils));"value"in D&&o.push({[i]:D.value});}}u();for(let i of Object.keys(this._utils.schemas)){if(!(i in r))continue;let s=this._utils.schemas[i],D=r[i],a=s.postprocess(D,this._utils);a!==Ee&&(this._applyValidation(a,i,s),r[i]=a);}return this._applyPostprocess(r),this._applyRequiredCheck(r),r}_applyNormalization(t,r){let n=[],{knownKeys:o,unknownKeys:u}=this._partitionOptionKeys(t);for(let i of o){let s=this._utils.schemas[i],D=s.preprocess(t[i],this._utils);this._applyValidation(D,i,s);let a=({from:F,to:l})=>{n.push(typeof l=="string"?{[l]:F}:{[l.key]:l.value});},c=({value:F,redirectTo:l})=>{let d=Wt(s.deprecated(F,this._utils),D,!0);if(d!==!1)if(d===!0)this._hasDeprecationWarned(i)||this._utils.logger.warn(this._deprecatedHandler(i,l,this._utils));else for(let{value:m}of d){let E={key:i,value:m};if(!this._hasDeprecationWarned(E)){let A=typeof l=="string"?{key:l,value:m}:l;this._utils.logger.warn(this._deprecatedHandler(E,A,this._utils));}}};ft(s.forward(D,this._utils),D).forEach(a);let f=Ut(s.redirect(D,this._utils),D);if(f.redirect.forEach(a),"remain"in f){let F=f.remain;r[i]=i in r?s.overlap(r[i],F,this._utils):F,c({value:F});}for(let{from:F,to:l}of f.redirect)c({value:F,redirectTo:l});}for(let i of u){let s=t[i];this._applyUnknownHandler(i,s,r,(D,a)=>{n.push({[D]:a});});}return n}_applyRequiredCheck(t){for(let r of Object.keys(this._utils.schemas))if(this._identifyMissing(r,t)&&this._identifyRequired(r))throw this._invalidHandler(r,it,this._utils)}_partitionOptionKeys(t){let[r,n]=mn(Object.keys(t).filter(o=>!this._identifyMissing(o,t)),o=>o in this._utils.schemas);return {knownKeys:r,unknownKeys:n}}_applyValidation(t,r,n){let o=$t(n.validate(t,this._utils),t);if(o!==!0)throw this._invalidHandler(r,o.value,this._utils)}_applyUnknownHandler(t,r,n,o){let u=this._unknownHandler(t,r,this._utils);if(u)for(let i of Object.keys(u)){if(this._identifyMissing(i,u))continue;let s=u[i];i in this._utils.schemas?o(i,s):n[i]=s;}}_applyPostprocess(t){let r=this._postprocess(t,this._utils);if(r!==Ee){if(r.delete)for(let n of r.delete)delete t[n];if(r.override){let{knownKeys:n,unknownKeys:o}=this._partitionOptionKeys(r.override);for(let u of n){let i=r.override[u];this._applyValidation(i,u,this._utils.schemas[u]),t[u]=i;}for(let u of o){let i=r.override[u];this._applyUnknownHandler(u,i,t,(s,D)=>{let a=this._utils.schemas[s];this._applyValidation(D,s,a),t[s]=D;});}}}}};var Gt;function mo(e,t,{logger:r=!1,isCLI:n=!1,passThrough:o=!1,FlagSchema:u,descriptor:i}={}){if(n){if(!u)throw new Error("'FlagSchema' option is required.");if(!i)throw new Error("'descriptor' option is required.")}else i=oe;let s=o?Array.isArray(o)?(f,F)=>o.includes(f)?{[f]:F}:void 0:(f,F)=>({[f]:F}):(f,F,l)=>{let{_:d,...m}=l.schemas;return st(f,F,{...l,schemas:m})},D=Eo(t,{isCLI:n,FlagSchema:u}),a=new mt(D,{logger:r,unknown:s,descriptor:i}),c=r!==!1;c&&Gt&&(a._hasDeprecationWarned=Gt);let p=a.normalize(e);return c&&(Gt=a._hasDeprecationWarned),p}function Eo(e,{isCLI:t,FlagSchema:r}){let n=[];t&&n.push(at$1.create({name:"_"}));for(let o of e)n.push(Co(o,{isCLI:t,optionInfos:e,FlagSchema:r})),o.alias&&t&&n.push(Dt.create({name:o.alias,sourceName:o.name}));return n}function Co(e,{isCLI:t,optionInfos:r,FlagSchema:n}){let{name:o}=e,u={name:o},i,s={};switch(e.type){case"int":i=dt,t&&(u.preprocess=Number);break;case"string":i=je;break;case"choice":i=Ft,u.choices=e.choices.map(D=>D!=null&&D.redirect?{...D,redirect:{to:{key:e.name,value:D.redirect}}}:D);break;case"boolean":i=lt;break;case"flag":i=n,u.flags=r.flatMap(D=>[D.alias,D.description&&D.name,D.oppositeDescription&&`no-${D.name}`].filter(Boolean));break;case"path":i=je;break;default:throw new Error(`Unexpected type ${e.type}`)}if(e.exception?u.validate=(D,a,c)=>e.exception(D)||a.validate(D,c):u.validate=(D,a,c)=>D===void 0||a.validate(D,c),e.redirect&&(s.redirect=D=>D?{to:typeof e.redirect=="string"?e.redirect:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(s.deprecated=!0),t&&!e.array){let D=u.preprocess||(a=>a);u.preprocess=(a,c,p)=>c.preprocess(D(Array.isArray(a)?y(!1,a,-1):a),p);}return e.array?ct.create({...t?{preprocess:D=>Array.isArray(D)?D:[D]}:{},...s,valueSchema:i.create(u)}):i.create({...u,...s})}var _n=mo;var ho=(e,t,r)=>{if(!(e&&t==null)){if(t.findLast)return t.findLast(r);for(let n=t.length-1;n>=0;n--){let o=t[n];if(r(o,n,t))return o}}},zt=ho;function Kt(e,t){if(!t)throw new Error("parserName is required.");let r=zt(!1,e,o=>o.parsers&&Object.prototype.hasOwnProperty.call(o.parsers,t));if(r)return r;let n=`Couldn't resolve parser "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new Re(n)}function bn(e,t){if(!t)throw new Error("astFormat is required.");let r=zt(!1,e,o=>o.printers&&Object.prototype.hasOwnProperty.call(o.printers,t));if(r)return r;let n=`Couldn't find plugin for AST format "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new Re(n)}function Et({plugins:e,parser:t}){let r=Kt(e,t);return Ht(r,t)}function Ht(e,t){let r=e.parsers[t];return typeof r=="function"?r():r}function xn(e,t){let r=e.printers[t];return typeof r=="function"?r():r}var kn={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null};async function go(e,t={}){var p;let r={...e};if(!r.parser)if(r.filepath){if(r.parser=en(r,{physicalFile:r.filepath}),!r.parser)throw new Ye(`No parser could be inferred for file "${r.filepath}".`)}else throw new Ye("No parser and no file path given, couldn't infer a parser.");let n=ut({plugins:e.plugins,showDeprecated:!0}).options,o={...kn,...Object.fromEntries(n.filter(f=>f.default!==void 0).map(f=>[f.name,f.default]))},u=Kt(r.plugins,r.parser),i=await Ht(u,r.parser);r.astFormat=i.astFormat,r.locEnd=i.locEnd,r.locStart=i.locStart;let s=(p=u.printers)!=null&&p[i.astFormat]?u:bn(r.plugins,i.astFormat),D=await xn(s,i.astFormat);r.printer=D;let a=s.defaultOptions?Object.fromEntries(Object.entries(s.defaultOptions).filter(([,f])=>f!==void 0)):{},c={...o,...a};for(let[f,F]of Object.entries(c))(r[f]===null||r[f]===void 0)&&(r[f]=F);return r.parser==="json"&&(r.trailingComma="none"),_n(r,n,{passThrough:Object.keys(kn),...t})}var ie=go;var Mn=Ae(jn());async function Oo(e,t){let r=await Et(t),n=r.preprocess?r.preprocess(e,t):e;t.originalText=n;let o;try{o=await r.parse(n,t,t);}catch(u){No(u,e);}return {text:n,ast:o}}function No(e,t){let{loc:r}=e;if(r){let n=(0, Mn.codeFrameColumns)(t,r,{highlightCode:!0});throw e.message+=`
|
|
6440
|
+
`+n,e.codeFrame=n,e}throw e}var ce=Oo;async function Vn(e,t,r,n,o){let{embeddedLanguageFormatting:u,printer:{embed:i,hasPrettierIgnore:s=()=>!1,getVisitorKeys:D}}=r;if(!i||u!=="auto")return;if(i.length>2)throw new Error("printer.embed has too many parameters. The API changed in Prettier v3. Please update your plugin. See https://prettier.io/docs/en/plugins.html#optional-embed");let a=X(i.getVisitorKeys??D),c=[];F();let p=e.stack;for(let{print:l,node:d,pathStack:m}of c)try{e.stack=m;let E=await l(f,t,e,r);E&&o.set(d,E);}catch(E){if(globalThis.PRETTIER_DEBUG)throw E}e.stack=p;function f(l,d){return To(l,d,r,n)}function F(){let{node:l}=e;if(l===null||typeof l!="object"||s(e))return;for(let m of a(l))Array.isArray(l[m])?e.each(F,m):e.call(F,m);let d=i(e,r);if(d){if(typeof d=="function"){c.push({print:d,node:l,pathStack:[...e.stack]});return}o.set(l,d);}}}async function To(e,t,r,n){let o=await ie({...r,...t,parentParser:r.parser,originalText:e},{passThrough:!0}),{ast:u}=await ce(e,o),i=await n(u,o);return Xe(i)}function So(e,t){let{originalText:r,[Symbol.for("comments")]:n,locStart:o,locEnd:u,[Symbol.for("printedComments")]:i}=t,{node:s}=e,D=o(s),a=u(s);for(let c of n)o(c)>=D&&u(c)<=a&&i.add(c);return r.slice(D,a)}var $n=So;async function Me(e,t){({ast:e}=await Xt(e,t));let r=new Map,n=new Yr(e),u=new Map;await Vn(n,s,t,Me,u);let i=await Wn(n,t,s,void 0,u);return Jr(t),i;function s(a,c){return a===void 0||a===n?D(c):Array.isArray(a)?n.call(()=>D(c),...a):n.call(()=>D(c),a)}function D(a){let c=n.node;if(c==null)return "";let p=c&&typeof c=="object"&&a===void 0;if(p&&r.has(c))return r.get(c);let f=Wn(n,t,s,a,u);return p&&r.set(c,f),f}}function Wn(e,t,r,n,o){var D;let{node:u}=e,{printer:i}=t,s;return (D=i.hasPrettierIgnore)!=null&&D.call(i,e)?s=$n(e,t):o.has(u)?s=o.get(u):s=i.print(e,t,r,n),u===t.cursorNode&&(s=Ze(s,a=>[Oe,a,Oe])),i.printComment&&(!i.willPrintOwnComments||!i.willPrintOwnComments(e,t))&&(s=qr(e,s,t)),s}async function Xt(e,t){let r=e.comments??[];t[Symbol.for("comments")]=r,t[Symbol.for("tokens")]=e.tokens??[],t[Symbol.for("printedComments")]=new Set,zr(e,t);let{printer:{preprocess:n}}=t;return e=n?await n(e,t):e,{ast:e,comments:r}}function vo(e,t){let{cursorOffset:r,locStart:n,locEnd:o}=t,u=X(t.printer.getVisitorKeys),i=D=>n(D)<=r&&o(D)>=r,s=e;for(let D of Vr(e,{getVisitorKeys:u,filter:i}))s=D;return s}var Un=vo;function Po(e,t){let{printer:{massageAstNode:r,getVisitorKeys:n}}=t;if(!r)return e;let o=X(n),u=r.ignoredProperties??new Set;return i(e);function i(s,D){if(!(s!==null&&typeof s=="object"))return s;if(Array.isArray(s))return s.map(f=>i(f,D)).filter(Boolean);let a={},c=new Set(o(s));for(let f in s)!Object.prototype.hasOwnProperty.call(s,f)||u.has(f)||(c.has(f)?a[f]=i(s[f],s):a[f]=s[f]);let p=r(s,a,D);if(p!==null)return p??a}}var Gn=Po;var Lo=({parser:e})=>e==="json"||e==="json5"||e==="jsonc"||e==="json-stringify";function Io(e,t){let r=[e.node,...e.parentNodes],n=new Set([t.node,...t.parentNodes]);return r.find(o=>Hn.has(o.type)&&n.has(o))}function zn(e){let t=e.length-1;for(;;){let r=e[t];if((r==null?void 0:r.type)==="Program"||(r==null?void 0:r.type)==="File")t--;else break}return e.slice(0,t+1)}function Ro(e,t,{locStart:r,locEnd:n}){let o=e.node,u=t.node;if(o===u)return {startNode:o,endNode:u};let i=r(e.node);for(let D of zn(t.parentNodes))if(r(D)>=i)u=D;else break;let s=n(t.node);for(let D of zn(e.parentNodes)){if(n(D)<=s)o=D;else break;if(o===u)break}return {startNode:o,endNode:u}}function Zt(e,t,r,n,o=[],u){let{locStart:i,locEnd:s}=r,D=i(e),a=s(e);if(!(t>a||t<D||u==="rangeEnd"&&t===D||u==="rangeStart"&&t===a)){for(let c of nt(e,r)){let p=Zt(c,t,r,n,[e,...o],u);if(p)return p}if(!n||n(e,o[0]))return {node:e,parentNodes:o}}}function Yo(e,t){return t!=="DeclareExportDeclaration"&&e!=="TypeParameterDeclaration"&&(e==="Directive"||e==="TypeAlias"||e==="TSExportAssignment"||e.startsWith("Declare")||e.startsWith("TSDeclare")||e.endsWith("Statement")||e.endsWith("Declaration"))}var Hn=new Set(["JsonRoot","ObjectExpression","ArrayExpression","StringLiteral","NumericLiteral","BooleanLiteral","NullLiteral","UnaryExpression","TemplateLiteral"]),jo=new Set(["OperationDefinition","FragmentDefinition","VariableDefinition","TypeExtensionDefinition","ObjectTypeDefinition","FieldDefinition","DirectiveDefinition","EnumTypeDefinition","EnumValueDefinition","InputValueDefinition","InputObjectTypeDefinition","SchemaDefinition","OperationTypeDefinition","InterfaceTypeDefinition","UnionTypeDefinition","ScalarTypeDefinition"]);function Kn(e,t,r){if(!t)return !1;switch(e.parser){case"flow":case"babel":case"babel-flow":case"babel-ts":case"typescript":case"acorn":case"espree":case"meriyah":case"__babel_estree":return Yo(t.type,r==null?void 0:r.type);case"json":case"json5":case"jsonc":case"json-stringify":return Hn.has(t.type);case"graphql":return jo.has(t.kind);case"vue":return t.tag!=="root"}return !1}function qn(e,t,r){let{rangeStart:n,rangeEnd:o,locStart:u,locEnd:i}=t;Le.ok(o>n);let s=e.slice(n,o).search(/\S/),D=s===-1;if(!D)for(n+=s;o>n&&!/\S/.test(e[o-1]);--o);let a=Zt(r,n,t,(F,l)=>Kn(t,F,l),[],"rangeStart"),c=D?a:Zt(r,o,t,F=>Kn(t,F),[],"rangeEnd");if(!a||!c)return {rangeStart:0,rangeEnd:0};let p,f;if(Lo(t)){let F=Io(a,c);p=F,f=F;}else ({startNode:p,endNode:f}=Ro(a,c,t));return {rangeStart:Math.min(u(p),u(f)),rangeEnd:Math.max(i(p),i(f))}}var eu="\uFEFF",Jn=Symbol("cursor");async function tu(e,t,r=0){if(!e||e.trim().length===0)return {formatted:"",cursorOffset:-1,comments:[]};let{ast:n,text:o}=await ce(e,t);t.cursorOffset>=0&&(t.cursorNode=Un(n,t));let u=await Me(n,t);r>0&&(u=qe([q,u],r,t.tabWidth));let i=pe(u,t);if(r>0){let D=i.formatted.trim();i.cursorNodeStart!==void 0&&(i.cursorNodeStart-=i.formatted.indexOf(D)),i.formatted=D+be(t.endOfLine);}let s=t[Symbol.for("comments")];if(t.cursorOffset>=0){let D,a,c,p,f;if(t.cursorNode&&i.cursorNodeText?(D=t.locStart(t.cursorNode),a=o.slice(D,t.locEnd(t.cursorNode)),c=t.cursorOffset-D,p=i.cursorNodeStart,f=i.cursorNodeText):(D=0,a=o,c=t.cursorOffset,p=0,f=i.formatted),a===f)return {formatted:i.formatted,cursorOffset:p+c,comments:s};let F=a.split("");F.splice(c,0,Jn);let l=f.split(""),d=(0, Qn.diffArrays)(F,l),m=p;for(let E of d)if(E.removed){if(E.value.includes(Jn))break}else m+=E.count;return {formatted:i.formatted,cursorOffset:m,comments:s}}return {formatted:i.formatted,cursorOffset:-1,comments:s}}async function Mo(e,t){let{ast:r,text:n}=await ce(e,t),{rangeStart:o,rangeEnd:u}=qn(n,t,r),i=n.slice(o,u),s=Math.min(o,n.lastIndexOf(`
|
|
6441
|
+
`,o)+1),D=n.slice(s,o).match(/^\s*/)[0],a=de(D,t.tabWidth),c=await tu(i,{...t,rangeStart:0,rangeEnd:Number.POSITIVE_INFINITY,cursorOffset:t.cursorOffset>o&&t.cursorOffset<=u?t.cursorOffset-o:-1,endOfLine:"lf"},a),p=c.formatted.trimEnd(),{cursorOffset:f}=t;f>u?f+=p.length-i.length:c.cursorOffset>=0&&(f=c.cursorOffset+o);let F=n.slice(0,o)+p+n.slice(u);if(t.endOfLine!=="lf"){let l=be(t.endOfLine);f>=0&&l===`\r
|
|
6442
|
+
`&&(f+=At(F.slice(0,f),`
|
|
6443
|
+
`)),F=re(!1,F,`
|
|
6444
|
+
`,l);}return {formatted:F,cursorOffset:f,comments:c.comments}}function Qt(e,t,r){return typeof t!="number"||Number.isNaN(t)||t<0||t>e.length?r:t}function Xn(e,t){let{cursorOffset:r,rangeStart:n,rangeEnd:o}=t;return r=Qt(e,r,-1),n=Qt(e,n,0),o=Qt(e,o,e.length),{...t,cursorOffset:r,rangeStart:n,rangeEnd:o}}function ru(e,t){let{cursorOffset:r,rangeStart:n,rangeEnd:o,endOfLine:u}=Xn(e,t),i=e.charAt(0)===eu;if(i&&(e=e.slice(1),r--,n--,o--),u==="auto"&&(u=lr(e)),e.includes("\r")){let s=D=>At(e.slice(0,Math.max(D,0)),`\r
|
|
6445
|
+
`);r-=s(r),n-=s(n),o-=s(o),e=fr(e);}return {hasBOM:i,text:e,options:Xn(e,{...t,cursorOffset:r,rangeStart:n,rangeEnd:o,endOfLine:u})}}async function Zn(e,t){let r=await Et(t);return !r.hasPragma||r.hasPragma(e)}async function er(e,t){let{hasBOM:r,text:n,options:o}=ru(e,await ie(t));if(o.rangeStart>=o.rangeEnd&&n!==""||o.requirePragma&&!await Zn(n,o))return {formatted:e,cursorOffset:t.cursorOffset,comments:[]};let u;return o.rangeStart>0||o.rangeEnd<n.length?u=await Mo(n,o):(!o.requirePragma&&o.insertPragma&&o.printer.insertPragma&&!await Zn(n,o)&&(n=o.printer.insertPragma(n)),u=await tu(n,o)),r&&(u.formatted=eu+u.formatted,u.cursorOffset>=0&&u.cursorOffset++),u}async function nu(e,t,r){let{text:n,options:o}=ru(e,await ie(t)),u=await ce(n,o);return r&&(r.preprocessForPrint&&(u.ast=await Xt(u.ast,o)),r.massage&&(u.ast=Gn(u.ast,o))),u}async function uu(e,t){t=await ie(t);let r=await Me(e,t);return pe(r,t)}async function ou(e,t){let r=br(e),{formatted:n}=await er(r,{...t,parser:"__js_expression"});return n}async function iu(e,t){t=await ie(t);let{ast:r}=await ce(e,t);return Me(r,t)}async function su(e,t){return pe(e,await ie(t))}var tr={};We(tr,{builders:()=>$o,printer:()=>Wo,utils:()=>Uo});var $o={join:Ne,line:Ke,softline:Br,hardline:q,literalline:He,group:_t,conditionalGroup:Cr,fill:ze,lineSuffix:ke,lineSuffixBoundary:yr,cursor:Oe,breakParent:Fe,ifBreak:hr,trim:Ar,indent:De,indentIfBreak:gr,align:se,addAlignmentToDoc:qe,markAsRoot:mr,dedentToRoot:dr,dedent:Er,hardlineWithoutBreakParent:we,literallineWithoutBreakParent:bt,label:_r,concat:e=>e},Wo={printDocToString:pe},Uo={willBreak:Sr,traverseDoc:xe,findInDoc:Je,mapDoc:ve,removeLines:Pr,stripTrailingHardline:Xe,replaceEndOfLine:Lr,canBreak:Ir};var Du="3.3.2";var nr={};We(nr,{addDanglingComment:()=>te,addLeadingComment:()=>ne,addTrailingComment:()=>ue,getAlignmentSize:()=>de,getIndentSize:()=>au,getMaxContinuousCount:()=>cu,getNextNonSpaceNonCommentCharacter:()=>lu,getNextNonSpaceNonCommentCharacterIndex:()=>ri,getStringWidth:()=>Te,hasNewline:()=>U,hasNewlineInRange:()=>fu,hasSpaces:()=>Fu,isNextLineEmpty:()=>ii,isNextLineEmptyAfterIndex:()=>ht,isPreviousLineEmpty:()=>ui,makeString:()=>pu,skip:()=>me,skipEverythingButNewLine:()=>rt,skipInlineComment:()=>Ce,skipNewline:()=>$,skipSpaces:()=>S,skipToLineEnd:()=>tt,skipTrailingComment:()=>he,skipWhitespace:()=>$r});function Go(e,t){if(t===!1)return !1;if(e.charAt(t)==="/"&&e.charAt(t+1)==="*"){for(let r=t+2;r<e.length;++r)if(e.charAt(r)==="*"&&e.charAt(r+1)==="/")return r+2}return t}var Ce=Go;function zo(e,t){return t===!1?!1:e.charAt(t)==="/"&&e.charAt(t+1)==="/"?rt(e,t):t}var he=zo;function Ko(e,t){let r=null,n=t;for(;n!==r;)r=n,n=S(e,n),n=Ce(e,n),n=he(e,n),n=$(e,n);return n}var Ve=Ko;function Ho(e,t){let r=null,n=t;for(;n!==r;)r=n,n=tt(e,n),n=Ce(e,n),n=S(e,n);return n=he(e,n),n=$(e,n),n!==!1&&U(e,n)}var ht=Ho;function qo(e,t){let r=e.lastIndexOf(`
|
|
6446
|
+
`);return r===-1?0:de(e.slice(r+1).match(/^[\t ]*/)[0],t)}var au=qo;function rr(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function Jo(e,t){let r=e.match(new RegExp(`(${rr(t)})+`,"g"));return r===null?0:r.reduce((n,o)=>Math.max(n,o.length/t.length),0)}var cu=Jo;function Xo(e,t){let r=Ve(e,t);return r===!1?"":e.charAt(r)}var lu=Xo;function Zo(e,t,r){for(let n=t;n<r;++n)if(e.charAt(n)===`
|
|
6447
|
+
`)return !0;return !1}var fu=Zo;function Qo(e,t,r={}){return S(e,r.backwards?t-1:t,r)!==t}var Fu=Qo;function ei(e,t,r){let n=t==='"'?"'":'"',u=re(!1,e,/\\(.)|(["'])/gs,(i,s,D)=>s===n?s:D===t?"\\"+D:D||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(s)?s:"\\"+s));return t+u+t}var pu=ei;function ti(e,t,r){return Ve(e,r(t))}function ri(e,t){return arguments.length===2||typeof t=="number"?Ve(e,t):ti(...arguments)}function ni(e,t,r){return Ie(e,r(t))}function ui(e,t){return arguments.length===2||typeof t=="number"?Ie(e,t):ni(...arguments)}function oi(e,t,r){return ht(e,r(t))}function ii(e,t){return arguments.length===2||typeof t=="number"?ht(e,t):oi(...arguments)}function le(e,t=1){return async(...r)=>{let n=r[t]??{},o=n.plugins??[];return r[t]={...n,plugins:Array.isArray(o)?o:Object.values(o)},e(...r)}}var du=le(er);async function mu(e,t){let{formatted:r}=await du(e,{...t,cursorOffset:-1});return r}async function si(e,t){return await mu(e,t)===e}var Di=le(ut,0),ai={parse:le(nu),formatAST:le(uu),formatDoc:le(ou),printToDoc:le(iu),printDocToString:le(su)};
|
|
6448
|
+
|
|
6449
|
+
function parse(text, options) {
|
|
6450
|
+
const result = parse$1(text, { comments: true, docs: true });
|
|
6451
|
+
flattenNamespaces(result);
|
|
6452
|
+
const errors = result.parseDiagnostics.filter((x) => x.severity === "error");
|
|
6453
|
+
if (errors.length > 0 && !result.printable) {
|
|
6454
|
+
throw new PrettierParserError(errors[0]);
|
|
6455
|
+
}
|
|
6456
|
+
// Remove doc comments as those are handled directly.
|
|
6457
|
+
mutate(result).comments = result.comments.filter((x) => !(x.kind === SyntaxKind.BlockComment && x.parsedAsDocs));
|
|
6458
|
+
return result;
|
|
6459
|
+
}
|
|
6460
|
+
/**
|
|
6461
|
+
* We are patching the syntax tree to flatten the namespace nodes that are created from namespace Foo.Bar; which have the same pos, end
|
|
6462
|
+
* This causes prettier to not know where comments belong.
|
|
6463
|
+
* https://github.com/microsoft/typespec/pull/2061
|
|
6464
|
+
*/
|
|
6465
|
+
function flattenNamespaces(base) {
|
|
6466
|
+
visitChildren(base, (node) => {
|
|
6467
|
+
if (node.kind === SyntaxKind.NamespaceStatement) {
|
|
6468
|
+
let current = node;
|
|
6469
|
+
const ids = [node.id];
|
|
6470
|
+
while (current.statements && "kind" in current.statements) {
|
|
6471
|
+
current = current.statements;
|
|
6472
|
+
ids.push(current.id);
|
|
6473
|
+
}
|
|
6474
|
+
Object.assign(node, current, {
|
|
6475
|
+
ids,
|
|
6476
|
+
});
|
|
6477
|
+
flattenNamespaces(current);
|
|
6478
|
+
}
|
|
6479
|
+
});
|
|
6480
|
+
}
|
|
6481
|
+
class PrettierParserError extends Error {
|
|
6482
|
+
error;
|
|
6483
|
+
loc;
|
|
6484
|
+
constructor(error) {
|
|
6485
|
+
super(error.message);
|
|
6486
|
+
this.error = error;
|
|
6487
|
+
const location = getSourceLocation(error.target);
|
|
6488
|
+
this.loc = {
|
|
6489
|
+
start: location?.pos ?? 0,
|
|
6490
|
+
end: location?.end ?? 0,
|
|
6491
|
+
};
|
|
6492
|
+
}
|
|
6493
|
+
}
|
|
6494
|
+
|
|
6370
6495
|
var __defProp = Object.defineProperty;
|
|
6371
6496
|
var __export = (target, all) => {
|
|
6372
6497
|
for (var name in all)
|
|
@@ -6620,7 +6745,7 @@ function label(label2, contents) {
|
|
|
6620
6745
|
}
|
|
6621
6746
|
|
|
6622
6747
|
// scripts/build/shims/at.js
|
|
6623
|
-
var at
|
|
6748
|
+
var at = (isOptionalObject, object, index) => {
|
|
6624
6749
|
if (isOptionalObject && (object === void 0 || object === null)) {
|
|
6625
6750
|
return;
|
|
6626
6751
|
}
|
|
@@ -6629,7 +6754,7 @@ var at$1 = (isOptionalObject, object, index) => {
|
|
|
6629
6754
|
}
|
|
6630
6755
|
return object.at(index);
|
|
6631
6756
|
};
|
|
6632
|
-
var at_default = at
|
|
6757
|
+
var at_default = at;
|
|
6633
6758
|
|
|
6634
6759
|
// scripts/build/shims/string-replace-all.js
|
|
6635
6760
|
var stringReplaceAll = (isOptionalObject, original, pattern, replacement) => {
|
|
@@ -6700,15 +6825,6 @@ function getStringWidth(text) {
|
|
|
6700
6825
|
var get_string_width_default = getStringWidth;
|
|
6701
6826
|
|
|
6702
6827
|
// src/document/utils.js
|
|
6703
|
-
var getDocParts = (doc) => {
|
|
6704
|
-
if (Array.isArray(doc)) {
|
|
6705
|
-
return doc;
|
|
6706
|
-
}
|
|
6707
|
-
if (doc.type !== DOC_TYPE_FILL) {
|
|
6708
|
-
throw new Error(`Expect doc to be 'array' or '${DOC_TYPE_FILL}'.`);
|
|
6709
|
-
}
|
|
6710
|
-
return doc.parts;
|
|
6711
|
-
};
|
|
6712
6828
|
function mapDoc(doc, cb) {
|
|
6713
6829
|
if (typeof doc === "string") {
|
|
6714
6830
|
return cb(doc);
|
|
@@ -6809,7 +6925,7 @@ function willBreak(doc) {
|
|
|
6809
6925
|
function breakParentGroup(groupStack) {
|
|
6810
6926
|
if (groupStack.length > 0) {
|
|
6811
6927
|
const parentGroup = at_default(
|
|
6812
|
-
/* isOptionalObject*/
|
|
6928
|
+
/* isOptionalObject */
|
|
6813
6929
|
false,
|
|
6814
6930
|
groupStack,
|
|
6815
6931
|
-1
|
|
@@ -6866,12 +6982,12 @@ function removeLines(doc) {
|
|
|
6866
6982
|
function stripTrailingHardlineFromParts(parts) {
|
|
6867
6983
|
parts = [...parts];
|
|
6868
6984
|
while (parts.length >= 2 && at_default(
|
|
6869
|
-
/* isOptionalObject*/
|
|
6985
|
+
/* isOptionalObject */
|
|
6870
6986
|
false,
|
|
6871
6987
|
parts,
|
|
6872
6988
|
-2
|
|
6873
6989
|
).type === DOC_TYPE_LINE && at_default(
|
|
6874
|
-
/* isOptionalObject*/
|
|
6990
|
+
/* isOptionalObject */
|
|
6875
6991
|
false,
|
|
6876
6992
|
parts,
|
|
6877
6993
|
-1
|
|
@@ -6880,7 +6996,7 @@ function stripTrailingHardlineFromParts(parts) {
|
|
|
6880
6996
|
}
|
|
6881
6997
|
if (parts.length > 0) {
|
|
6882
6998
|
const lastPart = stripTrailingHardlineFromDoc(at_default(
|
|
6883
|
-
/* isOptionalObject*/
|
|
6999
|
+
/* isOptionalObject */
|
|
6884
7000
|
false,
|
|
6885
7001
|
parts,
|
|
6886
7002
|
-1
|
|
@@ -6891,7 +7007,6 @@ function stripTrailingHardlineFromParts(parts) {
|
|
|
6891
7007
|
}
|
|
6892
7008
|
function stripTrailingHardlineFromDoc(doc) {
|
|
6893
7009
|
switch (get_doc_type_default(doc)) {
|
|
6894
|
-
case DOC_TYPE_ALIGN:
|
|
6895
7010
|
case DOC_TYPE_INDENT:
|
|
6896
7011
|
case DOC_TYPE_INDENT_IF_BREAK:
|
|
6897
7012
|
case DOC_TYPE_GROUP:
|
|
@@ -6918,6 +7033,7 @@ function stripTrailingHardlineFromDoc(doc) {
|
|
|
6918
7033
|
return stripTrailingHardlineFromParts(doc);
|
|
6919
7034
|
case DOC_TYPE_STRING:
|
|
6920
7035
|
return doc.replace(/[\n\r]*$/, "");
|
|
7036
|
+
case DOC_TYPE_ALIGN:
|
|
6921
7037
|
case DOC_TYPE_CURSOR:
|
|
6922
7038
|
case DOC_TYPE_TRIM:
|
|
6923
7039
|
case DOC_TYPE_LINE_SUFFIX_BOUNDARY:
|
|
@@ -6968,7 +7084,7 @@ function cleanDocFn(doc) {
|
|
|
6968
7084
|
}
|
|
6969
7085
|
const [currentPart, ...restParts] = Array.isArray(part) ? part : [part];
|
|
6970
7086
|
if (typeof currentPart === "string" && typeof at_default(
|
|
6971
|
-
/* isOptionalObject*/
|
|
7087
|
+
/* isOptionalObject */
|
|
6972
7088
|
false,
|
|
6973
7089
|
parts,
|
|
6974
7090
|
-1
|
|
@@ -7127,23 +7243,22 @@ function trim2(out) {
|
|
|
7127
7243
|
let trimCount = 0;
|
|
7128
7244
|
let cursorCount = 0;
|
|
7129
7245
|
let outIndex = out.length;
|
|
7130
|
-
outer:
|
|
7131
|
-
|
|
7132
|
-
|
|
7133
|
-
|
|
7134
|
-
|
|
7135
|
-
|
|
7136
|
-
|
|
7137
|
-
|
|
7138
|
-
|
|
7139
|
-
|
|
7140
|
-
|
|
7141
|
-
|
|
7142
|
-
|
|
7143
|
-
break outer;
|
|
7144
|
-
}
|
|
7246
|
+
outer: while (outIndex--) {
|
|
7247
|
+
const last = out[outIndex];
|
|
7248
|
+
if (last === CURSOR_PLACEHOLDER) {
|
|
7249
|
+
cursorCount++;
|
|
7250
|
+
continue;
|
|
7251
|
+
}
|
|
7252
|
+
for (let charIndex = last.length - 1; charIndex >= 0; charIndex--) {
|
|
7253
|
+
const char = last[charIndex];
|
|
7254
|
+
if (char === " " || char === " ") {
|
|
7255
|
+
trimCount++;
|
|
7256
|
+
} else {
|
|
7257
|
+
out[outIndex] = last.slice(0, charIndex + 1);
|
|
7258
|
+
break outer;
|
|
7145
7259
|
}
|
|
7146
7260
|
}
|
|
7261
|
+
}
|
|
7147
7262
|
if (trimCount > 0 || cursorCount > 0) {
|
|
7148
7263
|
out.length = outIndex + 1;
|
|
7149
7264
|
while (cursorCount-- > 0) {
|
|
@@ -7171,14 +7286,15 @@ function fits(next, restCommands, width, hasLineSuffix, groupModeMap, mustBeFlat
|
|
|
7171
7286
|
mode,
|
|
7172
7287
|
doc
|
|
7173
7288
|
} = cmds.pop();
|
|
7174
|
-
|
|
7289
|
+
const docType = get_doc_type_default(doc);
|
|
7290
|
+
switch (docType) {
|
|
7175
7291
|
case DOC_TYPE_STRING:
|
|
7176
7292
|
out.push(doc);
|
|
7177
7293
|
width -= get_string_width_default(doc);
|
|
7178
7294
|
break;
|
|
7179
7295
|
case DOC_TYPE_ARRAY:
|
|
7180
7296
|
case DOC_TYPE_FILL: {
|
|
7181
|
-
const parts =
|
|
7297
|
+
const parts = docType === DOC_TYPE_ARRAY ? doc : doc.parts;
|
|
7182
7298
|
for (let i = parts.length - 1; i >= 0; i--) {
|
|
7183
7299
|
cmds.push({
|
|
7184
7300
|
mode,
|
|
@@ -7205,7 +7321,7 @@ function fits(next, restCommands, width, hasLineSuffix, groupModeMap, mustBeFlat
|
|
|
7205
7321
|
}
|
|
7206
7322
|
const groupMode = doc.break ? MODE_BREAK : mode;
|
|
7207
7323
|
const contents = doc.expandedStates && groupMode === MODE_BREAK ? at_default(
|
|
7208
|
-
/* isOptionalObject*/
|
|
7324
|
+
/* isOptionalObject */
|
|
7209
7325
|
false,
|
|
7210
7326
|
doc.expandedStates,
|
|
7211
7327
|
-1
|
|
@@ -7272,7 +7388,7 @@ function printDocToString(doc, options) {
|
|
|
7272
7388
|
switch (get_doc_type_default(doc2)) {
|
|
7273
7389
|
case DOC_TYPE_STRING: {
|
|
7274
7390
|
const formatted = newLine !== "\n" ? string_replace_all_default(
|
|
7275
|
-
/* isOptionalObject*/
|
|
7391
|
+
/* isOptionalObject */
|
|
7276
7392
|
false,
|
|
7277
7393
|
doc2,
|
|
7278
7394
|
"\n",
|
|
@@ -7342,7 +7458,7 @@ function printDocToString(doc, options) {
|
|
|
7342
7458
|
} else {
|
|
7343
7459
|
if (doc2.expandedStates) {
|
|
7344
7460
|
const mostExpanded = at_default(
|
|
7345
|
-
/* isOptionalObject*/
|
|
7461
|
+
/* isOptionalObject */
|
|
7346
7462
|
false,
|
|
7347
7463
|
doc2.expandedStates,
|
|
7348
7464
|
-1
|
|
@@ -7390,7 +7506,7 @@ function printDocToString(doc, options) {
|
|
|
7390
7506
|
}
|
|
7391
7507
|
if (doc2.id) {
|
|
7392
7508
|
groupModeMap[doc2.id] = at_default(
|
|
7393
|
-
/* isOptionalObject*/
|
|
7509
|
+
/* isOptionalObject */
|
|
7394
7510
|
false,
|
|
7395
7511
|
cmds,
|
|
7396
7512
|
-1
|
|
@@ -7619,42 +7735,7 @@ var utils = {
|
|
|
7619
7735
|
canBreak
|
|
7620
7736
|
};
|
|
7621
7737
|
|
|
7622
|
-
|
|
7623
|
-
`,i(u.gutter,g.replace(/\d/g," "))," ",$,i(u.marker,"^").repeat(Q)].join(""),B&&r.message&&(Z+=" "+i(u.message,r.message));}return [i(u.marker,">"),i(u.gutter,g),F.length>0?` ${F}`:"",Z].join("")}else return ` ${i(u.gutter,g)}${F.length>0?` ${F}`:""}`}).join(`
|
|
7624
|
-
`);return r.message&&!d&&(l=`${" ".repeat(f+1)}${r.message}
|
|
7625
|
-
${l}`),n?o.reset(l):l}function Bo(e,t,r,n={}){if(!Nn){Nn=!0;let u="Passing lineNumber and colNumber is deprecated to @babel/code-frame. Please use `codeFrameColumns`.";{let i=new Error(u);i.name="DeprecationWarning",console.warn(new Error(u));}}return r=Math.max(r,0),vn(e,{start:{column:r,line:t}},n)}});var rr={};We(rr,{__debug:()=>ui,check:()=>ri,doc:()=>Qt,format:()=>lu,formatWithCursor:()=>cu,getSupportInfo:()=>ni,util:()=>tr,version:()=>nu});var gu=(e,t,r,n)=>{if(!(e&&t==null))return t.replaceAll?t.replaceAll(r,n):r.global?t.replace(r,n):t.split(r).join(n)},ee=gu;var Hn=he(sr());function Dr(e){let t=e.indexOf("\r");return t>=0?e.charAt(t+1)===`
|
|
7626
|
-
`?"crlf":"cr":"lf"}function Ae(e){switch(e){case"cr":return "\r";case"crlf":return `\r
|
|
7627
|
-
`;default:return `
|
|
7628
|
-
`}}function yt(e,t){let r;switch(t){case`
|
|
7629
|
-
`:r=/\n/g;break;case"\r":r=/\r/g;break;case`\r
|
|
7630
|
-
`:r=/\r\n/g;break;default:throw new Error(`Unexpected "eol" ${JSON.stringify(t)}.`)}let n=e.match(r);return n?n.length:0}function ar(e){return ee(!1,e,/\r\n?/g,`
|
|
7631
|
-
`)}var M="string",j="array",W="cursor",S="indent",T="align",v="trim",_="group",x="fill",k="if-break",P="indent-if-break",L="line-suffix",I="line-suffix-boundary",A="line",O="label",b="break-parent",Ue=new Set([W,S,T,v,_,x,k,P,L,I,A,O,b]);function xu(e){if(typeof e=="string")return M;if(Array.isArray(e))return j;if(!e)return;let{type:t}=e;if(Ue.has(t))return t}var U=xu;var bu=e=>new Intl.ListFormat("en-US",{type:"disjunction"}).format(e);function wu(e){let t=e===null?"null":typeof e;if(t!=="string"&&t!=="object")return `Unexpected doc '${t}',
|
|
7632
|
-
Expected it to be 'string' or 'object'.`;if(U(e))throw new Error("doc is valid.");let r=Object.prototype.toString.call(e);if(r!=="[object Object]")return `Unexpected doc '${r}'.`;let n=bu([...Ue].map(o=>`'${o}'`));return `Unexpected doc.type '${e.type}'.
|
|
7633
|
-
Expected it to be ${n}.`}var At=class extends Error{name="InvalidDocError";constructor(t){super(wu(t)),this.doc=t;}},q=At;var cr={};function Ou(e,t,r,n){let o=[e];for(;o.length>0;){let u=o.pop();if(u===cr){r(o.pop());continue}r&&o.push(u,cr);let i=U(u);if(!i)throw new q(u);if((t==null?void 0:t(u))!==!1)switch(i){case j:case x:{let s=i===j?u:u.parts;for(let D=s.length,a=D-1;a>=0;--a)o.push(s[a]);break}case k:o.push(u.flatContents,u.breakContents);break;case _:if(n&&u.expandedStates)for(let s=u.expandedStates.length,D=s-1;D>=0;--D)o.push(u.expandedStates[D]);else o.push(u.contents);break;case T:case S:case P:case O:case L:o.push(u.contents);break;case M:case W:case v:case I:case A:case b:break;default:throw new q(u)}}}var Be=Ou;var lr=()=>{},ze=lr;function ie(e){return {type:S,contents:e}}function oe(e,t){return {type:T,contents:t,n:e}}function Bt(e,t={}){return ze(t.expandedStates),{type:_,id:t.id,contents:e,break:!!t.shouldBreak,expandedStates:t.expandedStates}}function fr(e){return oe(Number.NEGATIVE_INFINITY,e)}function Fr(e){return oe({type:"root"},e)}function pr(e){return oe(-1,e)}function dr(e,t){return Bt(e[0],{...t,expandedStates:e})}function Ge(e){return {type:x,parts:e}}function mr(e,t="",r={}){return {type:k,breakContents:e,flatContents:t,groupId:r.groupId}}function Er(e,t){return {type:P,contents:e,groupId:t.groupId,negate:t.negate}}function _e(e){return {type:L,contents:e}}var Cr={type:I},le={type:b},hr={type:v},ke={type:A,hard:!0},_t={type:A,hard:!0,literal:!0},Ke={type:A},gr={type:A,soft:!0},G=[ke,le],He=[_t,le],xe={type:W};function be(e,t){let r=[];for(let n=0;n<t.length;n++)n!==0&&r.push(e),r.push(t[n]);return r}function qe(e,t,r){let n=e;if(t>0){for(let o=0;o<Math.floor(t/r);++o)n=ie(n);n=oe(t%r,n),n=oe(Number.NEGATIVE_INFINITY,n);}return n}function yr(e,t){return e?{type:O,label:e,contents:t}:t}function J(e){var t;if(!e)return "";if(Array.isArray(e)){let r=[];for(let n of e)if(Array.isArray(n))r.push(...J(n));else {let o=J(n);o!==""&&r.push(o);}return r}return e.type===k?{...e,breakContents:J(e.breakContents),flatContents:J(e.flatContents)}:e.type===_?{...e,contents:J(e.contents),expandedStates:(t=e.expandedStates)==null?void 0:t.map(J)}:e.type===x?{type:"fill",parts:e.parts.map(J)}:e.contents?{...e,contents:J(e.contents)}:e}function Ar(e){let t=Object.create(null),r=new Set;return n(J(e));function n(u,i,s){var D,a;if(typeof u=="string")return JSON.stringify(u);if(Array.isArray(u)){let c=u.map(n).filter(Boolean);return c.length===1?c[0]:`[${c.join(", ")}]`}if(u.type===A){let c=((D=s==null?void 0:s[i+1])==null?void 0:D.type)===b;return u.literal?c?"literalline":"literallineWithoutBreakParent":u.hard?c?"hardline":"hardlineWithoutBreakParent":u.soft?"softline":"line"}if(u.type===b)return ((a=s==null?void 0:s[i-1])==null?void 0:a.type)===A&&s[i-1].hard?void 0:"breakParent";if(u.type===v)return "trim";if(u.type===S)return "indent("+n(u.contents)+")";if(u.type===T)return u.n===Number.NEGATIVE_INFINITY?"dedentToRoot("+n(u.contents)+")":u.n<0?"dedent("+n(u.contents)+")":u.n.type==="root"?"markAsRoot("+n(u.contents)+")":"align("+JSON.stringify(u.n)+", "+n(u.contents)+")";if(u.type===k)return "ifBreak("+n(u.breakContents)+(u.flatContents?", "+n(u.flatContents):"")+(u.groupId?(u.flatContents?"":', ""')+`, { groupId: ${o(u.groupId)} }`:"")+")";if(u.type===P){let c=[];u.negate&&c.push("negate: true"),u.groupId&&c.push(`groupId: ${o(u.groupId)}`);let d=c.length>0?`, { ${c.join(", ")} }`:"";return `indentIfBreak(${n(u.contents)}${d})`}if(u.type===_){let c=[];u.break&&u.break!=="propagated"&&c.push("shouldBreak: true"),u.id&&c.push(`id: ${o(u.id)}`);let d=c.length>0?`, { ${c.join(", ")} }`:"";return u.expandedStates?`conditionalGroup([${u.expandedStates.map(f=>n(f)).join(",")}]${d})`:`group(${n(u.contents)}${d})`}if(u.type===x)return `fill([${u.parts.map(c=>n(c)).join(", ")}])`;if(u.type===L)return "lineSuffix("+n(u.contents)+")";if(u.type===I)return "lineSuffixBoundary";if(u.type===O)return `label(${JSON.stringify(u.label)}, ${n(u.contents)})`;throw new Error("Unknown doc type "+u.type)}function o(u){if(typeof u!="symbol")return JSON.stringify(String(u));if(u in t)return t[u];let i=u.description||"symbol";for(let s=0;;s++){let D=i+(s>0?` #${s}`:"");if(!r.has(D))return r.add(D),t[u]=`Symbol.for(${JSON.stringify(D)})`}}}var Nu=(e,t,r)=>{if(!(e&&t==null))return Array.isArray(t)||typeof t=="string"?t[r<0?t.length+r:r]:t.at(r)},y=Nu;var Br=()=>/[#*0-9]\uFE0F?\u20E3|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26AA\u26B0\u26B1\u26BD\u26BE\u26C4\u26C8\u26CF\u26D1\u26E9\u26F0-\u26F5\u26F7\u26F8\u26FA\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2757\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B55\u3030\u303D\u3297\u3299]\uFE0F?|[\u261D\u270C\u270D](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\u270A\u270B](?:\uD83C[\uDFFB-\uDFFF])?|[\u23E9-\u23EC\u23F0\u23F3\u25FD\u2693\u26A1\u26AB\u26C5\u26CE\u26D4\u26EA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2795-\u2797\u27B0\u27BF\u2B50]|\u26D3\uFE0F?(?:\u200D\uD83D\uDCA5)?|\u26F9(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\u2764\uFE0F?(?:\u200D(?:\uD83D\uDD25|\uD83E\uDE79))?|\uD83C(?:[\uDC04\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]\uFE0F?|[\uDF85\uDFC2\uDFC7](?:\uD83C[\uDFFB-\uDFFF])?|[\uDFC4\uDFCA](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDFCB\uDFCC](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF43\uDF45-\uDF4A\uDF4C-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uDDE6\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF]|\uDDE7\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF]|\uDDE8\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF]|\uDDE9\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF]|\uDDEA\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA]|\uDDEB\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7]|\uDDEC\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE]|\uDDED\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA]|\uDDEE\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9]|\uDDEF\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5]|\uDDF0\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF]|\uDDF1\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE]|\uDDF2\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF]|\uDDF3\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF]|\uDDF4\uD83C\uDDF2|\uDDF5\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE]|\uDDF6\uD83C\uDDE6|\uDDF7\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC]|\uDDF8\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF]|\uDDF9\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF]|\uDDFA\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF]|\uDDFB\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA]|\uDDFC\uD83C[\uDDEB\uDDF8]|\uDDFD\uD83C\uDDF0|\uDDFE\uD83C[\uDDEA\uDDF9]|\uDDFF\uD83C[\uDDE6\uDDF2\uDDFC]|\uDF44(?:\u200D\uD83D\uDFEB)?|\uDF4B(?:\u200D\uD83D\uDFE9)?|\uDFC3(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDFF3\uFE0F?(?:\u200D(?:\u26A7\uFE0F?|\uD83C\uDF08))?|\uDFF4(?:\u200D\u2620\uFE0F?|\uDB40\uDC67\uDB40\uDC62\uDB40(?:\uDC65\uDB40\uDC6E\uDB40\uDC67|\uDC73\uDB40\uDC63\uDB40\uDC74|\uDC77\uDB40\uDC6C\uDB40\uDC73)\uDB40\uDC7F)?)|\uD83D(?:[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3]\uFE0F?|[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC](?:\uD83C[\uDFFB-\uDFFF])?|[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4\uDEB5](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD74\uDD90](?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?|[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC25\uDC27-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE41\uDE43\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEDC-\uDEDF\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB\uDFF0]|\uDC08(?:\u200D\u2B1B)?|\uDC15(?:\u200D\uD83E\uDDBA)?|\uDC26(?:\u200D(?:\u2B1B|\uD83D\uDD25))?|\uDC3B(?:\u200D\u2744\uFE0F?)?|\uDC41\uFE0F?(?:\u200D\uD83D\uDDE8\uFE0F?)?|\uDC68(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDC68\uDC69]\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?)|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?\uDC68\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D\uDC68\uD83C[\uDFFB-\uDFFE])))?))?|\uDC69(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:\uDC8B\u200D\uD83D)?[\uDC68\uDC69]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D(?:[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?|\uDC69\u200D\uD83D(?:\uDC66(?:\u200D\uD83D\uDC66)?|\uDC67(?:\u200D\uD83D[\uDC66\uDC67])?))|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFC-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFD-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFD\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D\uD83D(?:[\uDC68\uDC69]|\uDC8B\u200D\uD83D[\uDC68\uDC69])\uD83C[\uDFFB-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83D[\uDC68\uDC69]\uD83C[\uDFFB-\uDFFE])))?))?|\uDC6F(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDD75(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|\uDE2E(?:\u200D\uD83D\uDCA8)?|\uDE35(?:\u200D\uD83D\uDCAB)?|\uDE36(?:\u200D\uD83C\uDF2B\uFE0F?)?|\uDE42(?:\u200D[\u2194\u2195]\uFE0F?)?|\uDEB6(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?)|\uD83E(?:[\uDD0C\uDD0F\uDD18-\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5\uDEC3-\uDEC5\uDEF0\uDEF2-\uDEF8](?:\uD83C[\uDFFB-\uDFFF])?|[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD\uDDCF\uDDD4\uDDD6-\uDDDD](?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDDDE\uDDDF](?:\u200D[\u2640\u2642]\uFE0F?)?|[\uDD0D\uDD0E\uDD10-\uDD17\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCC\uDDD0\uDDE0-\uDDFF\uDE70-\uDE7C\uDE80-\uDE88\uDE90-\uDEBD\uDEBF-\uDEC2\uDECE-\uDEDB\uDEE0-\uDEE8]|\uDD3C(?:\u200D[\u2640\u2642]\uFE0F?|\uD83C[\uDFFB-\uDFFF])?|\uDDCE(?:\uD83C[\uDFFB-\uDFFF])?(?:\u200D(?:[\u2640\u2642]\uFE0F?(?:\u200D\u27A1\uFE0F?)?|\u27A1\uFE0F?))?|\uDDD1(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1|\uDDD1\u200D\uD83E\uDDD2(?:\u200D\uD83E\uDDD2)?|\uDDD2(?:\u200D\uD83E\uDDD2)?))|\uD83C(?:\uDFFB(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFC-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFC(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFD-\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFD(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFE(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFD\uDFFF]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?|\uDFFF(?:\u200D(?:[\u2695\u2696\u2708]\uFE0F?|\u2764\uFE0F?\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1\uD83C[\uDFFB-\uDFFE]|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E(?:[\uDDAF\uDDBC\uDDBD](?:\u200D\u27A1\uFE0F?)?|[\uDDB0-\uDDB3]|\uDD1D\u200D\uD83E\uDDD1\uD83C[\uDFFB-\uDFFF])))?))?|\uDEF1(?:\uD83C(?:\uDFFB(?:\u200D\uD83E\uDEF2\uD83C[\uDFFC-\uDFFF])?|\uDFFC(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFD-\uDFFF])?|\uDFFD(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])?|\uDFFE(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFD\uDFFF])?|\uDFFF(?:\u200D\uD83E\uDEF2\uD83C[\uDFFB-\uDFFE])?))?)/g;function _r(e){return e===12288||e>=65281&&e<=65376||e>=65504&&e<=65510}function kr(e){return e>=4352&&e<=4447||e===8986||e===8987||e===9001||e===9002||e>=9193&&e<=9196||e===9200||e===9203||e===9725||e===9726||e===9748||e===9749||e>=9800&&e<=9811||e===9855||e===9875||e===9889||e===9898||e===9899||e===9917||e===9918||e===9924||e===9925||e===9934||e===9940||e===9962||e===9970||e===9971||e===9973||e===9978||e===9981||e===9989||e===9994||e===9995||e===10024||e===10060||e===10062||e>=10067&&e<=10069||e===10071||e>=10133&&e<=10135||e===10160||e===10175||e===11035||e===11036||e===11088||e===11093||e>=11904&&e<=11929||e>=11931&&e<=12019||e>=12032&&e<=12245||e>=12272&&e<=12287||e>=12289&&e<=12350||e>=12353&&e<=12438||e>=12441&&e<=12543||e>=12549&&e<=12591||e>=12593&&e<=12686||e>=12688&&e<=12771||e>=12783&&e<=12830||e>=12832&&e<=12871||e>=12880&&e<=19903||e>=19968&&e<=42124||e>=42128&&e<=42182||e>=43360&&e<=43388||e>=44032&&e<=55203||e>=63744&&e<=64255||e>=65040&&e<=65049||e>=65072&&e<=65106||e>=65108&&e<=65126||e>=65128&&e<=65131||e>=94176&&e<=94180||e===94192||e===94193||e>=94208&&e<=100343||e>=100352&&e<=101589||e>=101632&&e<=101640||e>=110576&&e<=110579||e>=110581&&e<=110587||e===110589||e===110590||e>=110592&&e<=110882||e===110898||e>=110928&&e<=110930||e===110933||e>=110948&&e<=110951||e>=110960&&e<=111355||e===126980||e===127183||e===127374||e>=127377&&e<=127386||e>=127488&&e<=127490||e>=127504&&e<=127547||e>=127552&&e<=127560||e===127568||e===127569||e>=127584&&e<=127589||e>=127744&&e<=127776||e>=127789&&e<=127797||e>=127799&&e<=127868||e>=127870&&e<=127891||e>=127904&&e<=127946||e>=127951&&e<=127955||e>=127968&&e<=127984||e===127988||e>=127992&&e<=128062||e===128064||e>=128066&&e<=128252||e>=128255&&e<=128317||e>=128331&&e<=128334||e>=128336&&e<=128359||e===128378||e===128405||e===128406||e===128420||e>=128507&&e<=128591||e>=128640&&e<=128709||e===128716||e>=128720&&e<=128722||e>=128725&&e<=128727||e>=128732&&e<=128735||e===128747||e===128748||e>=128756&&e<=128764||e>=128992&&e<=129003||e===129008||e>=129292&&e<=129338||e>=129340&&e<=129349||e>=129351&&e<=129535||e>=129648&&e<=129660||e>=129664&&e<=129672||e>=129680&&e<=129725||e>=129727&&e<=129733||e>=129742&&e<=129755||e>=129760&&e<=129768||e>=129776&&e<=129784||e>=131072&&e<=196605||e>=196608&&e<=262141}var xr=e=>!(_r(e)||kr(e));var Su=/[^\x20-\x7F]/;function Tu(e){if(!e)return 0;if(!Su.test(e))return e.length;e=e.replace(Br()," ");let t=0;for(let r of e){let n=r.codePointAt(0);n<=31||n>=127&&n<=159||n>=768&&n<=879||(t+=xr(n)?1:2);}return t}var we=Tu;var Or=e=>{if(Array.isArray(e))return e;if(e.type!==x)throw new Error(`Expect doc to be 'array' or '${x}'.`);return e.parts};function Ne(e,t){if(typeof e=="string")return t(e);let r=new Map;return n(e);function n(u){if(r.has(u))return r.get(u);let i=o(u);return r.set(u,i),i}function o(u){switch(U(u)){case j:return t(u.map(n));case x:return t({...u,parts:u.parts.map(n)});case k:return t({...u,breakContents:n(u.breakContents),flatContents:n(u.flatContents)});case _:{let{expandedStates:i,contents:s}=u;return i?(i=i.map(n),s=i[0]):s=n(s),t({...u,contents:s,expandedStates:i})}case T:case S:case P:case O:case L:return t({...u,contents:n(u.contents)});case M:case W:case v:case I:case A:case b:return t(u);default:throw new q(u)}}}function Je(e,t,r){let n=r,o=!1;function u(i){if(o)return !1;let s=t(i);s!==void 0&&(o=!0,n=s);}return Be(e,u),n}function vu(e){if(e.type===_&&e.break||e.type===A&&e.hard||e.type===b)return !0}function Nr(e){return Je(e,vu,!1)}function br(e){if(e.length>0){let t=y(!1,e,-1);!t.expandedStates&&!t.break&&(t.break="propagated");}return null}function Sr(e){let t=new Set,r=[];function n(u){if(u.type===b&&br(r),u.type===_){if(r.push(u),t.has(u))return !1;t.add(u);}}function o(u){u.type===_&&r.pop().break&&br(r);}Be(e,n,o,!0);}function Pu(e){return e.type===A&&!e.hard?e.soft?"":" ":e.type===k?e.flatContents:e}function Tr(e){return Ne(e,Pu)}function wr(e){for(e=[...e];e.length>=2&&y(!1,e,-2).type===A&&y(!1,e,-1).type===b;)e.length-=2;if(e.length>0){let t=Oe(y(!1,e,-1));e[e.length-1]=t;}return e}function Oe(e){switch(U(e)){case T:case S:case P:case _:case L:case O:{let t=Oe(e.contents);return {...e,contents:t}}case k:return {...e,breakContents:Oe(e.breakContents),flatContents:Oe(e.flatContents)};case x:return {...e,parts:wr(e.parts)};case j:return wr(e);case M:return e.replace(/[\n\r]*$/,"");case W:case v:case I:case A:case b:break;default:throw new q(e)}return e}function Xe(e){return Oe(Iu(e))}function Lu(e){switch(U(e)){case x:if(e.parts.every(t=>t===""))return "";break;case _:if(!e.contents&&!e.id&&!e.break&&!e.expandedStates)return "";if(e.contents.type===_&&e.contents.id===e.id&&e.contents.break===e.break&&e.contents.expandedStates===e.expandedStates)return e.contents;break;case T:case S:case P:case L:if(!e.contents)return "";break;case k:if(!e.flatContents&&!e.breakContents)return "";break;case j:{let t=[];for(let r of e){if(!r)continue;let[n,...o]=Array.isArray(r)?r:[r];typeof n=="string"&&typeof y(!1,t,-1)=="string"?t[t.length-1]+=n:t.push(n),t.push(...o);}return t.length===0?"":t.length===1?t[0]:t}case M:case W:case v:case I:case A:case O:case b:break;default:throw new q(e)}return e}function Iu(e){return Ne(e,t=>Lu(t))}function vr(e,t=He){return Ne(e,r=>typeof r=="string"?be(t,r.split(`
|
|
7634
|
-
`)):r)}function Ru(e){if(e.type===A)return !0}function Pr(e){return Je(e,Ru,!1)}function Ze(e,t){return e.type===O?{...e,contents:t(e.contents)}:t(e)}var R=Symbol("MODE_BREAK"),K=Symbol("MODE_FLAT"),Se=Symbol("cursor");function Lr(){return {value:"",length:0,queue:[]}}function Yu(e,t){return kt(e,{type:"indent"},t)}function ju(e,t,r){return t===Number.NEGATIVE_INFINITY?e.root||Lr():t<0?kt(e,{type:"dedent"},r):t?t.type==="root"?{...e,root:e}:kt(e,{type:typeof t=="string"?"stringAlign":"numberAlign",n:t},r):e}function kt(e,t,r){let n=t.type==="dedent"?e.queue.slice(0,-1):[...e.queue,t],o="",u=0,i=0,s=0;for(let l of n)switch(l.type){case"indent":c(),r.useTabs?D(1):a(r.tabWidth);break;case"stringAlign":c(),o+=l.n,u+=l.n.length;break;case"numberAlign":i+=1,s+=l.n;break;default:throw new Error(`Unexpected type '${l.type}'`)}return f(),{...e,value:o,length:u,queue:n};function D(l){o+=" ".repeat(l),u+=r.tabWidth*l;}function a(l){o+=" ".repeat(l),u+=l;}function c(){r.useTabs?d():f();}function d(){i>0&&D(i),p();}function f(){s>0&&a(s),p();}function p(){i=0,s=0;}}function xt(e){let t=0,r=0,n=e.length;e:for(;n--;){let o=e[n];if(o===Se){r++;continue}for(let u=o.length-1;u>=0;u--){let i=o[u];if(i===" "||i===" ")t++;else {e[n]=o.slice(0,u+1);break e}}}if(t>0||r>0)for(e.length=n+1;r-- >0;)e.push(Se);return t}function Qe(e,t,r,n,o,u){if(r===Number.POSITIVE_INFINITY)return !0;let i=t.length,s=[e],D=[];for(;r>=0;){if(s.length===0){if(i===0)return !0;s.push(t[--i]);continue}let{mode:a,doc:c}=s.pop();switch(U(c)){case M:D.push(c),r-=we(c);break;case j:case x:{let d=Or(c);for(let f=d.length-1;f>=0;f--)s.push({mode:a,doc:d[f]});break}case S:case T:case P:case O:s.push({mode:a,doc:c.contents});break;case v:r+=xt(D);break;case _:{if(u&&c.break)return !1;let d=c.break?R:a,f=c.expandedStates&&d===R?y(!1,c.expandedStates,-1):c.contents;s.push({mode:d,doc:f});break}case k:{let f=(c.groupId?o[c.groupId]||K:a)===R?c.breakContents:c.flatContents;f&&s.push({mode:a,doc:f});break}case A:if(a===R||c.hard)return !0;c.soft||(D.push(" "),r--);break;case L:n=!0;break;case I:if(n)return !1;break}}return !1}function fe(e,t){let r={},n=t.printWidth,o=Ae(t.endOfLine),u=0,i=[{ind:Lr(),mode:R,doc:e}],s=[],D=!1,a=[],c=0;for(Sr(e);i.length>0;){let{ind:f,mode:p,doc:l}=i.pop();switch(U(l)){case M:{let F=o!==`
|
|
7635
|
-
`?ee(!1,l,`
|
|
7636
|
-
`,o):l;s.push(F),i.length>0&&(u+=we(F));break}case j:for(let F=l.length-1;F>=0;F--)i.push({ind:f,mode:p,doc:l[F]});break;case W:if(c>=2)throw new Error("There are too many 'cursor' in doc.");s.push(Se),c++;break;case S:i.push({ind:Yu(f,t),mode:p,doc:l.contents});break;case T:i.push({ind:ju(f,l.n,t),mode:p,doc:l.contents});break;case v:u-=xt(s);break;case _:switch(p){case K:if(!D){i.push({ind:f,mode:l.break?R:K,doc:l.contents});break}case R:{D=!1;let F={ind:f,mode:K,doc:l.contents},m=n-u,E=a.length>0;if(!l.break&&Qe(F,i,m,E,r))i.push(F);else if(l.expandedStates){let C=y(!1,l.expandedStates,-1);if(l.break){i.push({ind:f,mode:R,doc:C});break}else for(let g=1;g<l.expandedStates.length+1;g++)if(g>=l.expandedStates.length){i.push({ind:f,mode:R,doc:C});break}else {let h=l.expandedStates[g],B={ind:f,mode:K,doc:h};if(Qe(B,i,m,E,r)){i.push(B);break}}}else i.push({ind:f,mode:R,doc:l.contents});break}}l.id&&(r[l.id]=y(!1,i,-1).mode);break;case x:{let F=n-u,{parts:m}=l;if(m.length===0)break;let[E,C]=m,g={ind:f,mode:K,doc:E},h={ind:f,mode:R,doc:E},B=Qe(g,[],F,a.length>0,r,!0);if(m.length===1){B?i.push(g):i.push(h);break}let Z={ind:f,mode:K,doc:C},$={ind:f,mode:R,doc:C};if(m.length===2){B?i.push(Z,g):i.push($,h);break}m.splice(0,2);let Q={ind:f,mode:p,doc:Ge(m)},nr=m[0];Qe({ind:f,mode:K,doc:[E,C,nr]},[],F,a.length>0,r,!0)?i.push(Q,Z,g):B?i.push(Q,$,g):i.push(Q,$,h);break}case k:case P:{let F=l.groupId?r[l.groupId]:p;if(F===R){let m=l.type===k?l.breakContents:l.negate?l.contents:ie(l.contents);m&&i.push({ind:f,mode:p,doc:m});}if(F===K){let m=l.type===k?l.flatContents:l.negate?ie(l.contents):l.contents;m&&i.push({ind:f,mode:p,doc:m});}break}case L:a.push({ind:f,mode:p,doc:l.contents});break;case I:a.length>0&&i.push({ind:f,mode:p,doc:ke});break;case A:switch(p){case K:if(l.hard)D=!0;else {l.soft||(s.push(" "),u+=1);break}case R:if(a.length>0){i.push({ind:f,mode:p,doc:l},...a.reverse()),a.length=0;break}l.literal?f.root?(s.push(o,f.root.value),u=f.root.length):(s.push(o),u=0):(u-=xt(s),s.push(o+f.value),u=f.length);break}break;case O:i.push({ind:f,mode:p,doc:l.contents});break;case b:break;default:throw new q(l)}i.length===0&&a.length>0&&(i.push(...a.reverse()),a.length=0);}let d=s.indexOf(Se);if(d!==-1){let f=s.indexOf(Se,d+1),p=s.slice(0,d).join(""),l=s.slice(d+1,f).join(""),F=s.slice(f+1).join("");return {formatted:p+l+F,cursorNodeStart:p.length,cursorNodeText:l}}return {formatted:s.join("")}}function Vu(e,t,r=0){let n=0;for(let o=r;o<e.length;++o)e[o]===" "?n=n+t-n%t:n++;return n}var Fe=Vu;var Te,wt,pe,et,bt=class{constructor(t){ht(this,Te);ht(this,pe);this.stack=[t];}get key(){let{stack:t,siblings:r}=this;return y(!1,t,r===null?-2:-4)??null}get index(){return this.siblings===null?null:y(!1,this.stack,-2)}get node(){return y(!1,this.stack,-1)}get parent(){return this.getNode(1)}get grandparent(){return this.getNode(2)}get isInArray(){return this.siblings!==null}get siblings(){let{stack:t}=this,r=y(!1,t,-3);return Array.isArray(r)?r:null}get next(){let{siblings:t}=this;return t===null?null:t[this.index+1]}get previous(){let{siblings:t}=this;return t===null?null:t[this.index-1]}get isFirst(){return this.index===0}get isLast(){let{siblings:t,index:r}=this;return t!==null&&r===t.length-1}get isRoot(){return this.stack.length===1}get root(){return this.stack[0]}get ancestors(){return [...ce(this,pe,et).call(this)]}getName(){let{stack:t}=this,{length:r}=t;return r>1?y(!1,t,-2):null}getValue(){return y(!1,this.stack,-1)}getNode(t=0){let r=ce(this,Te,wt).call(this,t);return r===-1?null:this.stack[r]}getParentNode(t=0){return this.getNode(t+1)}call(t,...r){let{stack:n}=this,{length:o}=n,u=y(!1,n,-1);for(let i of r)u=u[i],n.push(i,u);try{return t(this)}finally{n.length=o;}}callParent(t,r=0){let n=ce(this,Te,wt).call(this,r+1),o=this.stack.splice(n+1);try{return t(this)}finally{this.stack.push(...o);}}each(t,...r){let{stack:n}=this,{length:o}=n,u=y(!1,n,-1);for(let i of r)u=u[i],n.push(i,u);try{for(let i=0;i<u.length;++i)n.push(i,u[i]),t(this,i,u),n.length-=2;}finally{n.length=o;}}map(t,...r){let n=[];return this.each((o,u,i)=>{n[u]=t(o,u,i);},...r),n}match(...t){let r=this.stack.length-1,n=null,o=this.stack[r--];for(let u of t){if(o===void 0)return !1;let i=null;if(typeof n=="number"&&(i=n,n=this.stack[r--],o=this.stack[r--]),u&&!u(o,n,i))return !1;n=this.stack[r--],o=this.stack[r--];}return !0}findAncestor(t){for(let r of ce(this,pe,et).call(this))if(t(r))return r}hasAncestor(t){for(let r of ce(this,pe,et).call(this))if(t(r))return !0;return !1}};Te=new WeakSet,wt=function(t){let{stack:r}=this;for(let n=r.length-1;n>=0;n-=2)if(!Array.isArray(r[n])&&--t<0)return n;return -1},pe=new WeakSet,et=function*(){let{stack:t}=this;for(let r=t.length-3;r>=0;r-=2){let n=t[r];Array.isArray(n)||(yield n);}};var Ir=bt;var Rr=new Proxy(()=>{},{get:()=>Rr}),ve=Rr;function $u(e){return e!==null&&typeof e=="object"}var Yr=$u;function*Ot(e,t){let{getVisitorKeys:r,filter:n=()=>!0}=t,o=u=>Yr(u)&&n(u);for(let u of r(e)){let i=e[u];if(Array.isArray(i))for(let s of i)o(s)&&(yield s);else o(i)&&(yield i);}}function*jr(e,t){let r=[e];for(let n=0;n<r.length;n++){let o=r[n];for(let u of Ot(o,t))yield u,r.push(u);}}function de(e){return (t,r,n)=>{let o=!!(n!=null&&n.backwards);if(r===!1)return !1;let{length:u}=t,i=r;for(;i>=0&&i<u;){let s=t.charAt(i);if(e instanceof RegExp){if(!e.test(s))return i}else if(!e.includes(s))return i;o?i--:i++;}return i===-1||i===u?i:!1}}var Vr=de(/\s/),N=de(" "),tt=de(",; "),rt=de(/[^\n\r]/);function Mu(e,t,r){let n=!!(r!=null&&r.backwards);if(t===!1)return !1;let o=e.charAt(t);if(n){if(e.charAt(t-1)==="\r"&&o===`
|
|
7637
|
-
`)return t-2;if(o===`
|
|
7638
|
-
`||o==="\r"||o==="\u2028"||o==="\u2029")return t-1}else {if(o==="\r"&&e.charAt(t+1)===`
|
|
7639
|
-
`)return t+2;if(o===`
|
|
7640
|
-
`||o==="\r"||o==="\u2028"||o==="\u2029")return t+1}return t}var Y=Mu;function Wu(e,t,r={}){let n=N(e,r.backwards?t-1:t,r),o=Y(e,n,r);return n!==o}var V=Wu;function Uu(e){return Array.isArray(e)&&e.length>0}var Nt=Uu;var $r=new Set(["tokens","comments","parent","enclosingNode","precedingNode","followingNode"]),zu=e=>Object.keys(e).filter(t=>!$r.has(t));function Gu(e){return e?t=>e(t,$r):zu}var H=Gu;function Ku(e){let t=e.type||e.kind||"(unknown type)",r=String(e.name||e.id&&(typeof e.id=="object"?e.id.name:e.id)||e.key&&(typeof e.key=="object"?e.key.name:e.key)||e.value&&(typeof e.value=="object"?"":String(e.value))||e.operator||"");return r.length>20&&(r=r.slice(0,19)+"\u2026"),t+(r?" "+r:"")}function St(e,t){(e.comments??(e.comments=[])).push(t),t.printed=!1,t.nodeDescription=Ku(e);}function te(e,t){t.leading=!0,t.trailing=!1,St(e,t);}function X(e,t,r){t.leading=!1,t.trailing=!1,r&&(t.marker=r),St(e,t);}function re(e,t){t.leading=!1,t.trailing=!0,St(e,t);}var Tt=new WeakMap;function nt(e,t){if(Tt.has(e))return Tt.get(e);let{printer:{getCommentChildNodes:r,canAttachComment:n,getVisitorKeys:o},locStart:u,locEnd:i}=t;if(!n)return [];let s=((r==null?void 0:r(e,t))??[...Ot(e,{getVisitorKeys:H(o)})]).flatMap(D=>n(D)?[D]:nt(D,t));return s.sort((D,a)=>u(D)-u(a)||i(D)-i(a)),Tt.set(e,s),s}function Wr(e,t,r,n){let{locStart:o,locEnd:u}=r,i=o(t),s=u(t),D=nt(e,r),a,c,d=0,f=D.length;for(;d<f;){let p=d+f>>1,l=D[p],F=o(l),m=u(l);if(F<=i&&s<=m)return Wr(l,t,r,l);if(m<=i){a=l,d=p+1;continue}if(s<=F){c=l,f=p;continue}throw new Error("Comment location overlaps with node location")}if((n==null?void 0:n.type)==="TemplateLiteral"){let{quasis:p}=n,l=Pt(p,t,r);a&&Pt(p,a,r)!==l&&(a=null),c&&Pt(p,c,r)!==l&&(c=null);}return {enclosingNode:n,precedingNode:a,followingNode:c}}var vt=()=>!1;function Ur(e,t){let{comments:r}=e;if(delete e.comments,!Nt(r)||!t.printer.canAttachComment)return;let n=[],{locStart:o,locEnd:u,printer:{experimentalFeatures:{avoidAstMutation:i=!1}={},handleComments:s={}},originalText:D}=t,{ownLine:a=vt,endOfLine:c=vt,remaining:d=vt}=s,f=r.map((p,l)=>({...Wr(e,p,t),comment:p,text:D,options:t,ast:e,isLastComment:r.length-1===l}));for(let[p,l]of f.entries()){let{comment:F,precedingNode:m,enclosingNode:E,followingNode:C,text:g,options:h,ast:B,isLastComment:Z}=l;if(h.parser==="json"||h.parser==="json5"||h.parser==="jsonc"||h.parser==="__js_expression"||h.parser==="__ts_expression"||h.parser==="__vue_expression"||h.parser==="__vue_ts_expression"){if(o(F)-o(B)<=0){te(B,F);continue}if(u(F)-u(B)>=0){re(B,F);continue}}let $;if(i?$=[l]:(F.enclosingNode=E,F.precedingNode=m,F.followingNode=C,$=[F,g,h,B,Z]),Hu(g,h,f,p))F.placement="ownLine",a(...$)||(C?te(C,F):m?re(m,F):E?X(E,F):X(B,F));else if(qu(g,h,f,p))F.placement="endOfLine",c(...$)||(m?re(m,F):C?te(C,F):E?X(E,F):X(B,F));else if(F.placement="remaining",!d(...$))if(m&&C){let Q=n.length;Q>0&&n[Q-1].followingNode!==C&&Mr(n,h),n.push(l);}else m?re(m,F):C?te(C,F):E?X(E,F):X(B,F);}if(Mr(n,t),!i)for(let p of r)delete p.precedingNode,delete p.enclosingNode,delete p.followingNode;}var zr=e=>!/[\S\n\u2028\u2029]/.test(e);function Hu(e,t,r,n){let{comment:o,precedingNode:u}=r[n],{locStart:i,locEnd:s}=t,D=i(o);if(u)for(let a=n-1;a>=0;a--){let{comment:c,precedingNode:d}=r[a];if(d!==u||!zr(e.slice(s(c),D)))break;D=i(c);}return V(e,D,{backwards:!0})}function qu(e,t,r,n){let{comment:o,followingNode:u}=r[n],{locStart:i,locEnd:s}=t,D=s(o);if(u)for(let a=n+1;a<r.length;a++){let{comment:c,followingNode:d}=r[a];if(d!==u||!zr(e.slice(D,i(c))))break;D=s(c);}return V(e,D)}function Mr(e,t){var s,D;let r=e.length;if(r===0)return;let{precedingNode:n,followingNode:o}=e[0],u=t.locStart(o),i;for(i=r;i>0;--i){let{comment:a,precedingNode:c,followingNode:d}=e[i-1];ve.strictEqual(c,n),ve.strictEqual(d,o);let f=t.originalText.slice(t.locEnd(a),u);if(((D=(s=t.printer).isGap)==null?void 0:D.call(s,f,t))??/^[\s(]*$/.test(f))u=t.locStart(a);else break}for(let[a,{comment:c}]of e.entries())a<i?re(n,c):te(o,c);for(let a of [n,o])a.comments&&a.comments.length>1&&a.comments.sort((c,d)=>t.locStart(c)-t.locStart(d));e.length=0;}function Pt(e,t,r){let n=r.locStart(t)-1;for(let o=1;o<e.length;++o)if(n<r.locStart(e[o]))return o-1;return 0}function Ju(e,t){let r=t-1;r=N(e,r,{backwards:!0}),r=Y(e,r,{backwards:!0}),r=N(e,r,{backwards:!0});let n=Y(e,r,{backwards:!0});return r!==n}var Pe=Ju;function Gr(e,t){let r=e.node;return r.printed=!0,t.printer.printComment(e,t)}function Xu(e,t){var c;let r=e.node,n=[Gr(e,t)],{printer:o,originalText:u,locStart:i,locEnd:s}=t;if((c=o.isBlockComment)==null?void 0:c.call(o,r)){let d=V(u,s(r))?V(u,i(r),{backwards:!0})?G:Ke:" ";n.push(d);}else n.push(G);let a=Y(u,N(u,s(r)));return a!==!1&&V(u,a)&&n.push(G),n}function Zu(e,t,r){var a;let n=e.node,o=Gr(e,t),{printer:u,originalText:i,locStart:s}=t,D=(a=u.isBlockComment)==null?void 0:a.call(u,n);if(r!=null&&r.hasLineSuffix&&!(r!=null&&r.isBlock)||V(i,s(n),{backwards:!0})){let c=Pe(i,s(n));return {doc:_e([G,c?G:"",o]),isBlock:D,hasLineSuffix:!0}}return !D||r!=null&&r.hasLineSuffix?{doc:[_e([" ",o]),le],isBlock:D,hasLineSuffix:!0}:{doc:[" ",o],isBlock:D,hasLineSuffix:!1}}function Qu(e,t){let r=e.node;if(!r)return {};let n=t[Symbol.for("printedComments")];if((r.comments||[]).filter(D=>!n.has(D)).length===0)return {leading:"",trailing:""};let u=[],i=[],s;return e.each(()=>{let D=e.node;if(n!=null&&n.has(D))return;let{leading:a,trailing:c}=D;a?u.push(Xu(e,t)):c&&(s=Zu(e,t,s),i.push(s.doc));},"comments"),{leading:u,trailing:i}}function Kr(e,t,r){let{leading:n,trailing:o}=Qu(e,r);return !n&&!o?t:Ze(t,u=>[n,u,o])}function Hr(e){let{[Symbol.for("comments")]:t,[Symbol.for("printedComments")]:r}=e;for(let n of t){if(!n.printed&&!r.has(n))throw new Error('Comment "'+n.value.trim()+'" was not printed. Please report this error!');delete n.printed;}}var Le=class extends Error{name="ConfigError"},Ie=class extends Error{name="UndefinedParserError"};var Jr={cursorOffset:{category:"Special",type:"int",default:-1,range:{start:-1,end:1/0,step:1},description:"Print (to stderr) where a cursor at the given position would move to after formatting.",cliCategory:"Editor"},endOfLine:{category:"Global",type:"choice",default:"lf",description:"Which end of line characters to apply.",choices:[{value:"lf",description:"Line Feed only (\\n), common on Linux and macOS as well as inside git repos"},{value:"crlf",description:"Carriage Return + Line Feed characters (\\r\\n), common on Windows"},{value:"cr",description:"Carriage Return character only (\\r), used very rarely"},{value:"auto",description:`Maintain existing
|
|
7641
|
-
(mixed values within one file are normalised by looking at what's used after the first line)`}]},filepath:{category:"Special",type:"path",description:"Specify the input filepath. This will be used to do parser inference.",cliName:"stdin-filepath",cliCategory:"Other",cliDescription:"Path to the file to pretend that stdin comes from."},insertPragma:{category:"Special",type:"boolean",default:!1,description:"Insert @format pragma into file's first docblock comment.",cliCategory:"Other"},parser:{category:"Global",type:"choice",default:void 0,description:"Which parser to use.",exception:e=>typeof e=="string"||typeof e=="function",choices:[{value:"flow",description:"Flow"},{value:"babel",description:"JavaScript"},{value:"babel-flow",description:"Flow"},{value:"babel-ts",description:"TypeScript"},{value:"typescript",description:"TypeScript"},{value:"acorn",description:"JavaScript"},{value:"espree",description:"JavaScript"},{value:"meriyah",description:"JavaScript"},{value:"css",description:"CSS"},{value:"less",description:"Less"},{value:"scss",description:"SCSS"},{value:"json",description:"JSON"},{value:"json5",description:"JSON5"},{value:"jsonc",description:"JSON with Comments"},{value:"json-stringify",description:"JSON.stringify"},{value:"graphql",description:"GraphQL"},{value:"markdown",description:"Markdown"},{value:"mdx",description:"MDX"},{value:"vue",description:"Vue"},{value:"yaml",description:"YAML"},{value:"glimmer",description:"Ember / Handlebars"},{value:"html",description:"HTML"},{value:"angular",description:"Angular"},{value:"lwc",description:"Lightning Web Components"}]},plugins:{type:"path",array:!0,default:[{value:[]}],category:"Global",description:"Add a plugin. Multiple plugins can be passed as separate `--plugin`s.",exception:e=>typeof e=="string"||typeof e=="object",cliName:"plugin",cliCategory:"Config"},printWidth:{category:"Global",type:"int",default:80,description:"The line length where Prettier will try wrap.",range:{start:0,end:1/0,step:1}},rangeEnd:{category:"Special",type:"int",default:1/0,range:{start:0,end:1/0,step:1},description:`Format code ending at a given character offset (exclusive).
|
|
7642
|
-
The range will extend forwards to the end of the selected statement.`,cliCategory:"Editor"},rangeStart:{category:"Special",type:"int",default:0,range:{start:0,end:1/0,step:1},description:`Format code starting at a given character offset.
|
|
7643
|
-
The range will extend backwards to the start of the first line containing the selected statement.`,cliCategory:"Editor"},requirePragma:{category:"Special",type:"boolean",default:!1,description:`Require either '@prettier' or '@format' to be present in the file's first docblock comment
|
|
7644
|
-
in order for it to be formatted.`,cliCategory:"Other"},tabWidth:{type:"int",category:"Global",default:2,description:"Number of spaces per indentation level.",range:{start:0,end:1/0,step:1}},useTabs:{category:"Global",type:"boolean",default:!1,description:"Indent with tabs instead of spaces."},embeddedLanguageFormatting:{category:"Global",type:"choice",default:"auto",description:"Control how Prettier formats quoted code embedded in the file.",choices:[{value:"auto",description:"Format embedded code if Prettier can automatically identify it."},{value:"off",description:"Never automatically format embedded code."}]}};function ut({plugins:e=[],showDeprecated:t=!1}={}){let r=e.flatMap(o=>o.languages??[]),n=[];for(let o of ro(Object.assign({},...e.map(({options:u})=>u),Jr)))!t&&o.deprecated||(Array.isArray(o.choices)&&(t||(o.choices=o.choices.filter(u=>!u.deprecated)),o.name==="parser"&&(o.choices=[...o.choices,...to(o.choices,r,e)])),o.pluginDefaults=Object.fromEntries(e.filter(u=>{var i;return ((i=u.defaultOptions)==null?void 0:i[o.name])!==void 0}).map(u=>[u.name,u.defaultOptions[o.name]])),n.push(o));return {languages:r,options:n}}function*to(e,t,r){let n=new Set(e.map(o=>o.value));for(let o of t)if(o.parsers){for(let u of o.parsers)if(!n.has(u)){n.add(u);let i=r.find(D=>D.parsers&&Object.prototype.hasOwnProperty.call(D.parsers,u)),s=o.name;i!=null&&i.name&&(s+=` (plugin: ${i.name})`),yield {value:u,description:s};}}}function ro(e){let t=[];for(let[r,n]of Object.entries(e)){let o={name:r,...n};Array.isArray(o.default)&&(o.default=y(!1,o.default,-1).value),t.push(o);}return t}var no=e=>String(e).split(/[/\\]/).pop();function Xr(e,t){if(!t)return;let r=no(t).toLowerCase();return e.find(({filenames:n})=>n==null?void 0:n.some(o=>o.toLowerCase()===r))??e.find(({extensions:n})=>n==null?void 0:n.some(o=>r.endsWith(o)))}function uo(e,t){if(t)return e.find(({name:r})=>r.toLowerCase()===t)??e.find(({aliases:r})=>r==null?void 0:r.includes(t))??e.find(({extensions:r})=>r==null?void 0:r.includes(`.${t}`))}function oo(e,t){let r=e.plugins.flatMap(o=>o.languages??[]),n=uo(r,t.language)??Xr(r,t.physicalFile)??Xr(r,t.file)??(t.physicalFile,void 0);return n==null?void 0:n.parsers[0]}var Zr=oo;var ne={key:e=>/^[$_a-zA-Z][$_a-zA-Z0-9]*$/.test(e)?e:JSON.stringify(e),value(e){if(e===null||typeof e!="object")return JSON.stringify(e);if(Array.isArray(e))return `[${e.map(r=>ne.value(r)).join(", ")}]`;let t=Object.keys(e);return t.length===0?"{}":`{ ${t.map(r=>`${ne.key(r)}: ${ne.value(e[r])}`).join(", ")} }`},pair:({key:e,value:t})=>ne.value({[e]:t})};var Lt=he(Re()),tn=(e,t,{descriptor:r})=>{let n=[`${Lt.default.yellow(typeof e=="string"?r.key(e):r.pair(e))} is deprecated`];return t&&n.push(`we now treat it as ${Lt.default.blue(typeof t=="string"?r.key(t):r.pair(t))}`),n.join("; ")+"."};var se=he(Re());var ot=Symbol.for("vnopts.VALUE_NOT_EXIST"),me=Symbol.for("vnopts.VALUE_UNCHANGED");var rn=" ".repeat(2),un=(e,t,r)=>{let{text:n,list:o}=r.normalizeExpectedResult(r.schemas[e].expected(r)),u=[];return n&&u.push(nn(e,t,n,r.descriptor)),o&&u.push([nn(e,t,o.title,r.descriptor)].concat(o.values.map(i=>on(i,r.loggerPrintWidth))).join(`
|
|
7645
|
-
`)),sn(u,r.loggerPrintWidth)};function nn(e,t,r,n){return [`Invalid ${se.default.red(n.key(e))} value.`,`Expected ${se.default.blue(r)},`,`but received ${t===ot?se.default.gray("nothing"):se.default.red(n.value(t))}.`].join(" ")}function on({text:e,list:t},r){let n=[];return e&&n.push(`- ${se.default.blue(e)}`),t&&n.push([`- ${se.default.blue(t.title)}:`].concat(t.values.map(o=>on(o,r-rn.length).replace(/^|\n/g,`$&${rn}`))).join(`
|
|
7646
|
-
`)),sn(n,r)}function sn(e,t){if(e.length===1)return e[0];let[r,n]=e,[o,u]=e.map(i=>i.split(`
|
|
7647
|
-
`,1)[0].length);return o>t&&o>u?n:r}var Yt=he(Re());var It=[],Dn=[];function Rt(e,t){if(e===t)return 0;let r=e;e.length>t.length&&(e=t,t=r);let n=e.length,o=t.length;for(;n>0&&e.charCodeAt(~-n)===t.charCodeAt(~-o);)n--,o--;let u=0;for(;u<n&&e.charCodeAt(u)===t.charCodeAt(u);)u++;if(n-=u,o-=u,n===0)return o;let i,s,D,a,c=0,d=0;for(;c<n;)Dn[c]=e.charCodeAt(u+c),It[c]=++c;for(;d<o;)for(i=t.charCodeAt(u+d),D=d++,s=d,c=0;c<n;c++)a=i===Dn[c]?D:D+1,D=It[c],s=It[c]=D>s?a>s?s+1:a:a>D?D+1:a;return s}var it=(e,t,{descriptor:r,logger:n,schemas:o})=>{let u=[`Ignored unknown option ${Yt.default.yellow(r.pair({key:e,value:t}))}.`],i=Object.keys(o).sort().find(s=>Rt(e,s)<3);i&&u.push(`Did you mean ${Yt.default.blue(r.key(i))}?`),n.warn(u.join(" "));};var io=["default","expected","validate","deprecated","forward","redirect","overlap","preprocess","postprocess"];function so(e,t){let r=new e(t),n=Object.create(r);for(let o of io)o in t&&(n[o]=Do(t[o],r,w.prototype[o].length));return n}var w=class{static create(t){return so(this,t)}constructor(t){this.name=t.name;}default(t){}expected(t){return "nothing"}validate(t,r){return !1}deprecated(t,r){return !1}forward(t,r){}redirect(t,r){}overlap(t,r,n){return t}preprocess(t,r){return t}postprocess(t,r){return me}};function Do(e,t,r){return typeof e=="function"?(...n)=>e(...n.slice(0,r-1),t,...n.slice(r-1)):()=>e}var st=class extends w{constructor(t){super(t),this._sourceName=t.sourceName;}expected(t){return t.schemas[this._sourceName].expected(t)}validate(t,r){return r.schemas[this._sourceName].validate(t,r)}redirect(t,r){return this._sourceName}};var Dt=class extends w{expected(){return "anything"}validate(){return !0}};var at=class extends w{constructor({valueSchema:t,name:r=t.name,...n}){super({...n,name:r}),this._valueSchema=t;}expected(t){let{text:r,list:n}=t.normalizeExpectedResult(this._valueSchema.expected(t));return {text:r&&`an array of ${r}`,list:n&&{title:"an array of the following values",values:[{list:n}]}}}validate(t,r){if(!Array.isArray(t))return !1;let n=[];for(let o of t){let u=r.normalizeValidateResult(this._valueSchema.validate(o,r),o);u!==!0&&n.push(u.value);}return n.length===0?!0:{value:n}}deprecated(t,r){let n=[];for(let o of t){let u=r.normalizeDeprecatedResult(this._valueSchema.deprecated(o,r),o);u!==!1&&n.push(...u.map(({value:i})=>({value:[i]})));}return n}forward(t,r){let n=[];for(let o of t){let u=r.normalizeForwardResult(this._valueSchema.forward(o,r),o);n.push(...u.map(an));}return n}redirect(t,r){let n=[],o=[];for(let u of t){let i=r.normalizeRedirectResult(this._valueSchema.redirect(u,r),u);"remain"in i&&n.push(i.remain),o.push(...i.redirect.map(an));}return n.length===0?{redirect:o}:{redirect:o,remain:n}}overlap(t,r){return t.concat(r)}};function an({from:e,to:t}){return {from:[e],to:t}}var ct=class extends w{expected(){return "true or false"}validate(t){return typeof t=="boolean"}};function ln(e,t){let r=Object.create(null);for(let n of e){let o=n[t];if(r[o])throw new Error(`Duplicate ${t} ${JSON.stringify(o)}`);r[o]=n;}return r}function fn(e,t){let r=new Map;for(let n of e){let o=n[t];if(r.has(o))throw new Error(`Duplicate ${t} ${JSON.stringify(o)}`);r.set(o,n);}return r}function Fn(){let e=Object.create(null);return t=>{let r=JSON.stringify(t);return e[r]?!0:(e[r]=!0,!1)}}function pn(e,t){let r=[],n=[];for(let o of e)t(o)?r.push(o):n.push(o);return [r,n]}function dn(e){return e===Math.floor(e)}function mn(e,t){if(e===t)return 0;let r=typeof e,n=typeof t,o=["undefined","object","boolean","number","string"];return r!==n?o.indexOf(r)-o.indexOf(n):r!=="string"?Number(e)-Number(t):e.localeCompare(t)}function En(e){return (...t)=>{let r=e(...t);return typeof r=="string"?new Error(r):r}}function jt(e){return e===void 0?{}:e}function Vt(e){if(typeof e=="string")return {text:e};let{text:t,list:r}=e;return ao((t||r)!==void 0,"Unexpected `expected` result, there should be at least one field."),r?{text:t,list:{title:r.title,values:r.values.map(Vt)}}:{text:t}}function $t(e,t){return e===!0?!0:e===!1?{value:t}:e}function Mt(e,t,r=!1){return e===!1?!1:e===!0?r?!0:[{value:t}]:"value"in e?[e]:e.length===0?!1:e}function cn(e,t){return typeof e=="string"||"key"in e?{from:t,to:e}:"from"in e?{from:e.from,to:e.to}:{from:t,to:e.to}}function lt(e,t){return e===void 0?[]:Array.isArray(e)?e.map(r=>cn(r,t)):[cn(e,t)]}function Wt(e,t){let r=lt(typeof e=="object"&&"redirect"in e?e.redirect:e,t);return r.length===0?{remain:t,redirect:r}:typeof e=="object"&&"remain"in e?{remain:e.remain,redirect:r}:{redirect:r}}function ao(e,t){if(!e)throw new Error(t)}var ft=class extends w{constructor(t){super(t),this._choices=fn(t.choices.map(r=>r&&typeof r=="object"?r:{value:r}),"value");}expected({descriptor:t}){let r=Array.from(this._choices.keys()).map(i=>this._choices.get(i)).filter(({hidden:i})=>!i).map(i=>i.value).sort(mn).map(t.value),n=r.slice(0,-2),o=r.slice(-2);return {text:n.concat(o.join(" or ")).join(", "),list:{title:"one of the following values",values:r}}}validate(t){return this._choices.has(t)}deprecated(t){let r=this._choices.get(t);return r&&r.deprecated?{value:t}:!1}forward(t){let r=this._choices.get(t);return r?r.forward:void 0}redirect(t){let r=this._choices.get(t);return r?r.redirect:void 0}};var Ft=class extends w{expected(){return "a number"}validate(t,r){return typeof t=="number"}};var pt=class extends Ft{expected(){return "an integer"}validate(t,r){return r.normalizeValidateResult(super.validate(t,r),t)===!0&&dn(t)}};var Ye=class extends w{expected(){return "a string"}validate(t){return typeof t=="string"}};var Cn=ne,hn=it,gn=un,yn=tn;var dt=class{constructor(t,r){let{logger:n=console,loggerPrintWidth:o=80,descriptor:u=Cn,unknown:i=hn,invalid:s=gn,deprecated:D=yn,missing:a=()=>!1,required:c=()=>!1,preprocess:d=p=>p,postprocess:f=()=>me}=r||{};this._utils={descriptor:u,logger:n||{warn:()=>{}},loggerPrintWidth:o,schemas:ln(t,"name"),normalizeDefaultResult:jt,normalizeExpectedResult:Vt,normalizeDeprecatedResult:Mt,normalizeForwardResult:lt,normalizeRedirectResult:Wt,normalizeValidateResult:$t},this._unknownHandler=i,this._invalidHandler=En(s),this._deprecatedHandler=D,this._identifyMissing=(p,l)=>!(p in l)||a(p,l),this._identifyRequired=c,this._preprocess=d,this._postprocess=f,this.cleanHistory();}cleanHistory(){this._hasDeprecationWarned=Fn();}normalize(t){let r={},o=[this._preprocess(t,this._utils)],u=()=>{for(;o.length!==0;){let i=o.shift(),s=this._applyNormalization(i,r);o.push(...s);}};u();for(let i of Object.keys(this._utils.schemas)){let s=this._utils.schemas[i];if(!(i in r)){let D=jt(s.default(this._utils));"value"in D&&o.push({[i]:D.value});}}u();for(let i of Object.keys(this._utils.schemas)){if(!(i in r))continue;let s=this._utils.schemas[i],D=r[i],a=s.postprocess(D,this._utils);a!==me&&(this._applyValidation(a,i,s),r[i]=a);}return this._applyPostprocess(r),this._applyRequiredCheck(r),r}_applyNormalization(t,r){let n=[],{knownKeys:o,unknownKeys:u}=this._partitionOptionKeys(t);for(let i of o){let s=this._utils.schemas[i],D=s.preprocess(t[i],this._utils);this._applyValidation(D,i,s);let a=({from:p,to:l})=>{n.push(typeof l=="string"?{[l]:p}:{[l.key]:l.value});},c=({value:p,redirectTo:l})=>{let F=Mt(s.deprecated(p,this._utils),D,!0);if(F!==!1)if(F===!0)this._hasDeprecationWarned(i)||this._utils.logger.warn(this._deprecatedHandler(i,l,this._utils));else for(let{value:m}of F){let E={key:i,value:m};if(!this._hasDeprecationWarned(E)){let C=typeof l=="string"?{key:l,value:m}:l;this._utils.logger.warn(this._deprecatedHandler(E,C,this._utils));}}};lt(s.forward(D,this._utils),D).forEach(a);let f=Wt(s.redirect(D,this._utils),D);if(f.redirect.forEach(a),"remain"in f){let p=f.remain;r[i]=i in r?s.overlap(r[i],p,this._utils):p,c({value:p});}for(let{from:p,to:l}of f.redirect)c({value:p,redirectTo:l});}for(let i of u){let s=t[i];this._applyUnknownHandler(i,s,r,(D,a)=>{n.push({[D]:a});});}return n}_applyRequiredCheck(t){for(let r of Object.keys(this._utils.schemas))if(this._identifyMissing(r,t)&&this._identifyRequired(r))throw this._invalidHandler(r,ot,this._utils)}_partitionOptionKeys(t){let[r,n]=pn(Object.keys(t).filter(o=>!this._identifyMissing(o,t)),o=>o in this._utils.schemas);return {knownKeys:r,unknownKeys:n}}_applyValidation(t,r,n){let o=$t(n.validate(t,this._utils),t);if(o!==!0)throw this._invalidHandler(r,o.value,this._utils)}_applyUnknownHandler(t,r,n,o){let u=this._unknownHandler(t,r,this._utils);if(u)for(let i of Object.keys(u)){if(this._identifyMissing(i,u))continue;let s=u[i];i in this._utils.schemas?o(i,s):n[i]=s;}}_applyPostprocess(t){let r=this._postprocess(t,this._utils);if(r!==me){if(r.delete)for(let n of r.delete)delete t[n];if(r.override){let{knownKeys:n,unknownKeys:o}=this._partitionOptionKeys(r.override);for(let u of n){let i=r.override[u];this._applyValidation(i,u,this._utils.schemas[u]),t[u]=i;}for(let u of o){let i=r.override[u];this._applyUnknownHandler(u,i,t,(s,D)=>{let a=this._utils.schemas[s];this._applyValidation(D,s,a),t[s]=D;});}}}}};var Ut;function lo(e,t,{logger:r=!1,isCLI:n=!1,passThrough:o=!1,FlagSchema:u,descriptor:i}={}){if(n){if(!u)throw new Error("'FlagSchema' option is required.");if(!i)throw new Error("'descriptor' option is required.")}else i=ne;let s=o?Array.isArray(o)?(f,p)=>o.includes(f)?{[f]:p}:void 0:(f,p)=>({[f]:p}):(f,p,l)=>{let{_:F,...m}=l.schemas;return it(f,p,{...l,schemas:m})},D=fo(t,{isCLI:n,FlagSchema:u}),a=new dt(D,{logger:r,unknown:s,descriptor:i}),c=r!==!1;c&&Ut&&(a._hasDeprecationWarned=Ut);let d=a.normalize(e);return c&&(Ut=a._hasDeprecationWarned),d}function fo(e,{isCLI:t,FlagSchema:r}){let n=[];t&&n.push(Dt.create({name:"_"}));for(let o of e)n.push(Fo(o,{isCLI:t,optionInfos:e,FlagSchema:r})),o.alias&&t&&n.push(st.create({name:o.alias,sourceName:o.name}));return n}function Fo(e,{isCLI:t,optionInfos:r,FlagSchema:n}){let{name:o}=e,u={name:o},i,s={};switch(e.type){case"int":i=pt,t&&(u.preprocess=Number);break;case"string":i=Ye;break;case"choice":i=ft,u.choices=e.choices.map(D=>D!=null&&D.redirect?{...D,redirect:{to:{key:e.name,value:D.redirect}}}:D);break;case"boolean":i=ct;break;case"flag":i=n,u.flags=r.flatMap(D=>[D.alias,D.description&&D.name,D.oppositeDescription&&`no-${D.name}`].filter(Boolean));break;case"path":i=Ye;break;default:throw new Error(`Unexpected type ${e.type}`)}if(e.exception?u.validate=(D,a,c)=>e.exception(D)||a.validate(D,c):u.validate=(D,a,c)=>D===void 0||a.validate(D,c),e.redirect&&(s.redirect=D=>D?{to:{key:e.redirect.option,value:e.redirect.value}}:void 0),e.deprecated&&(s.deprecated=!0),t&&!e.array){let D=u.preprocess||(a=>a);u.preprocess=(a,c,d)=>c.preprocess(D(Array.isArray(a)?y(!1,a,-1):a),d);}return e.array?at.create({...t?{preprocess:D=>Array.isArray(D)?D:[D]}:{},...s,valueSchema:i.create(u)}):i.create({...u,...s})}var An=lo;var po=(e,t,r)=>{if(!(e&&t==null)){if(t.findLast)return t.findLast(r);for(let n=t.length-1;n>=0;n--){let o=t[n];if(r(o,n,t))return o}}},zt=po;function Gt(e,t){if(!t)throw new Error("parserName is required.");let r=zt(!1,e,o=>o.parsers&&Object.prototype.hasOwnProperty.call(o.parsers,t));if(r)return r;let n=`Couldn't resolve parser "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new Le(n)}function Bn(e,t){if(!t)throw new Error("astFormat is required.");let r=zt(!1,e,o=>o.printers&&Object.prototype.hasOwnProperty.call(o.printers,t));if(r)return r;let n=`Couldn't find plugin for AST format "${t}".`;throw n+=" Plugins must be explicitly added to the standalone bundle.",new Le(n)}function mt({plugins:e,parser:t}){let r=Gt(e,t);return Kt(r,t)}function Kt(e,t){let r=e.parsers[t];return typeof r=="function"?r():r}function _n(e,t){let r=e.printers[t];return typeof r=="function"?r():r}var kn={astFormat:"estree",printer:{},originalText:void 0,locStart:null,locEnd:null};async function mo(e,t={}){var d;let r={...e};if(!r.parser)if(r.filepath){if(r.parser=Zr(r,{physicalFile:r.filepath}),!r.parser)throw new Ie(`No parser could be inferred for file "${r.filepath}".`)}else throw new Ie("No parser and no file path given, couldn't infer a parser.");let n=ut({plugins:e.plugins,showDeprecated:!0}).options,o={...kn,...Object.fromEntries(n.filter(f=>f.default!==void 0).map(f=>[f.name,f.default]))},u=Gt(r.plugins,r.parser),i=await Kt(u,r.parser);r.astFormat=i.astFormat,r.locEnd=i.locEnd,r.locStart=i.locStart;let s=(d=u.printers)!=null&&d[i.astFormat]?u:Bn(r.plugins,i.astFormat),D=await _n(s,i.astFormat);r.printer=D;let a=s.defaultOptions?Object.fromEntries(Object.entries(s.defaultOptions).filter(([,f])=>f!==void 0)):{},c={...o,...a};for(let[f,p]of Object.entries(c))(r[f]===null||r[f]===void 0)&&(r[f]=p);return r.parser==="json"&&(r.trailingComma="none"),An(r,n,{passThrough:Object.keys(kn),...t})}var ue=mo;var Ln=he(Pn());async function _o(e,t){let r=await mt(t),n=r.preprocess?r.preprocess(e,t):e;t.originalText=n;let o;try{o=await r.parse(n,t,t);}catch(u){ko(u,e);}return {text:n,ast:o}}function ko(e,t){let{loc:r}=e;if(r){let n=(0, Ln.codeFrameColumns)(t,r,{highlightCode:!0});throw e.message+=`
|
|
7648
|
-
`+n,e.codeFrame=n,e}throw e}var De=_o;async function In(e,t,r,n,o){let{embeddedLanguageFormatting:u,printer:{embed:i,hasPrettierIgnore:s=()=>!1,getVisitorKeys:D}}=r;if(!i||u!=="auto")return;if(i.length>2)throw new Error("printer.embed has too many parameters. The API changed in Prettier v3. Please update your plugin. See https://prettier.io/docs/en/plugins.html#optional-embed");let a=H(i.getVisitorKeys??D),c=[];p();let d=e.stack;for(let{print:l,node:F,pathStack:m}of c)try{e.stack=m;let E=await l(f,t,e,r);E&&o.set(F,E);}catch(E){if(globalThis.PRETTIER_DEBUG)throw E}e.stack=d;function f(l,F){return xo(l,F,r,n)}function p(){let{node:l}=e;if(l===null||typeof l!="object"||s(e))return;for(let m of a(l))Array.isArray(l[m])?e.each(p,m):e.call(p,m);let F=i(e,r);if(F){if(typeof F=="function"){c.push({print:F,node:l,pathStack:[...e.stack]});return}o.set(l,F);}}}async function xo(e,t,r,n){let o=await ue({...r,...t,parentParser:r.parser,originalText:e},{passThrough:!0}),{ast:u}=await De(e,o),i=await n(u,o);return Xe(i)}function bo(e,t){let{originalText:r,[Symbol.for("comments")]:n,locStart:o,locEnd:u,[Symbol.for("printedComments")]:i}=t,{node:s}=e,D=o(s),a=u(s);for(let c of n)o(c)>=D&&u(c)<=a&&i.add(c);return r.slice(D,a)}var Rn=bo;async function je(e,t){({ast:e}=await qt(e,t));let r=new Map,n=new Ir(e),u=new Map;await In(n,s,t,je,u);let i=await Yn(n,t,s,void 0,u);return Hr(t),i;function s(a,c){return a===void 0||a===n?D(c):Array.isArray(a)?n.call(()=>D(c),...a):n.call(()=>D(c),a)}function D(a){let c=n.node;if(c==null)return "";let d=c&&typeof c=="object"&&a===void 0;if(d&&r.has(c))return r.get(c);let f=Yn(n,t,s,a,u);return d&&r.set(c,f),f}}function Yn(e,t,r,n,o){var D;let{node:u}=e,{printer:i}=t,s;return (D=i.hasPrettierIgnore)!=null&&D.call(i,e)?s=Rn(e,t):o.has(u)?s=o.get(u):s=i.print(e,t,r,n),u===t.cursorNode&&(s=Ze(s,a=>[xe,a,xe])),i.printComment&&(!i.willPrintOwnComments||!i.willPrintOwnComments(e,t))&&(s=Kr(e,s,t)),s}async function qt(e,t){let r=e.comments??[];t[Symbol.for("comments")]=r,t[Symbol.for("tokens")]=e.tokens??[],t[Symbol.for("printedComments")]=new Set,Ur(e,t);let{printer:{preprocess:n}}=t;return e=n?await n(e,t):e,{ast:e,comments:r}}function wo(e,t){let{cursorOffset:r,locStart:n,locEnd:o}=t,u=H(t.printer.getVisitorKeys),i=D=>n(D)<=r&&o(D)>=r,s=e;for(let D of jr(e,{getVisitorKeys:u,filter:i}))s=D;return s}var jn=wo;function Oo(e,t){let{printer:{massageAstNode:r,getVisitorKeys:n}}=t;if(!r)return e;let o=H(n),u=r.ignoredProperties??new Set;return i(e);function i(s,D){if(!(s!==null&&typeof s=="object"))return s;if(Array.isArray(s))return s.map(f=>i(f,D)).filter(Boolean);let a={},c=new Set(o(s));for(let f in s)!Object.prototype.hasOwnProperty.call(s,f)||u.has(f)||(c.has(f)?a[f]=i(s[f],s):a[f]=s[f]);let d=r(s,a,D);if(d!==null)return d??a}}var Vn=Oo;var No=({parser:e})=>e==="json"||e==="json5"||e==="jsonc"||e==="json-stringify";function So(e,t){let r=[e.node,...e.parentNodes],n=new Set([t.node,...t.parentNodes]);return r.find(o=>Wn.has(o.type)&&n.has(o))}function $n(e){let t=e.length-1;for(;;){let r=e[t];if((r==null?void 0:r.type)==="Program"||(r==null?void 0:r.type)==="File")t--;else break}return e.slice(0,t+1)}function To(e,t,{locStart:r,locEnd:n}){let o=e.node,u=t.node;if(o===u)return {startNode:o,endNode:u};let i=r(e.node);for(let D of $n(t.parentNodes))if(r(D)>=i)u=D;else break;let s=n(t.node);for(let D of $n(e.parentNodes)){if(n(D)<=s)o=D;else break;if(o===u)break}return {startNode:o,endNode:u}}function Jt(e,t,r,n,o=[],u){let{locStart:i,locEnd:s}=r,D=i(e),a=s(e);if(!(t>a||t<D||u==="rangeEnd"&&t===D||u==="rangeStart"&&t===a)){for(let c of nt(e,r)){let d=Jt(c,t,r,n,[e,...o],u);if(d)return d}if(!n||n(e,o[0]))return {node:e,parentNodes:o}}}function vo(e,t){return t!=="DeclareExportDeclaration"&&e!=="TypeParameterDeclaration"&&(e==="Directive"||e==="TypeAlias"||e==="TSExportAssignment"||e.startsWith("Declare")||e.startsWith("TSDeclare")||e.endsWith("Statement")||e.endsWith("Declaration"))}var Wn=new Set(["JsonRoot","ObjectExpression","ArrayExpression","StringLiteral","NumericLiteral","BooleanLiteral","NullLiteral","UnaryExpression","TemplateLiteral"]),Po=new Set(["OperationDefinition","FragmentDefinition","VariableDefinition","TypeExtensionDefinition","ObjectTypeDefinition","FieldDefinition","DirectiveDefinition","EnumTypeDefinition","EnumValueDefinition","InputValueDefinition","InputObjectTypeDefinition","SchemaDefinition","OperationTypeDefinition","InterfaceTypeDefinition","UnionTypeDefinition","ScalarTypeDefinition"]);function Mn(e,t,r){if(!t)return !1;switch(e.parser){case"flow":case"babel":case"babel-flow":case"babel-ts":case"typescript":case"acorn":case"espree":case"meriyah":case"__babel_estree":return vo(t.type,r==null?void 0:r.type);case"json":case"json5":case"jsonc":case"json-stringify":return Wn.has(t.type);case"graphql":return Po.has(t.kind);case"vue":return t.tag!=="root"}return !1}function Un(e,t,r){let{rangeStart:n,rangeEnd:o,locStart:u,locEnd:i}=t;ve.ok(o>n);let s=e.slice(n,o).search(/\S/),D=s===-1;if(!D)for(n+=s;o>n&&!/\S/.test(e[o-1]);--o);let a=Jt(r,n,t,(p,l)=>Mn(t,p,l),[],"rangeStart"),c=D?a:Jt(r,o,t,p=>Mn(t,p),[],"rangeEnd");if(!a||!c)return {rangeStart:0,rangeEnd:0};let d,f;if(No(t)){let p=So(a,c);d=p,f=p;}else ({startNode:d,endNode:f}=To(a,c,t));return {rangeStart:Math.min(u(d),u(f)),rangeEnd:Math.max(i(d),i(f))}}var qn="\uFEFF",zn=Symbol("cursor");async function Jn(e,t,r=0){if(!e||e.trim().length===0)return {formatted:"",cursorOffset:-1,comments:[]};let{ast:n,text:o}=await De(e,t);t.cursorOffset>=0&&(t.cursorNode=jn(n,t));let u=await je(n,t);r>0&&(u=qe([G,u],r,t.tabWidth));let i=fe(u,t);if(r>0){let D=i.formatted.trim();i.cursorNodeStart!==void 0&&(i.cursorNodeStart-=i.formatted.indexOf(D)),i.formatted=D+Ae(t.endOfLine);}let s=t[Symbol.for("comments")];if(t.cursorOffset>=0){let D,a,c,d,f;if(t.cursorNode&&i.cursorNodeText?(D=t.locStart(t.cursorNode),a=o.slice(D,t.locEnd(t.cursorNode)),c=t.cursorOffset-D,d=i.cursorNodeStart,f=i.cursorNodeText):(D=0,a=o,c=t.cursorOffset,d=0,f=i.formatted),a===f)return {formatted:i.formatted,cursorOffset:d+c,comments:s};let p=a.split("");p.splice(c,0,zn);let l=f.split(""),F=(0, Hn.diffArrays)(p,l),m=d;for(let E of F)if(E.removed){if(E.value.includes(zn))break}else m+=E.count;return {formatted:i.formatted,cursorOffset:m,comments:s}}return {formatted:i.formatted,cursorOffset:-1,comments:s}}async function Lo(e,t){let{ast:r,text:n}=await De(e,t),{rangeStart:o,rangeEnd:u}=Un(n,t,r),i=n.slice(o,u),s=Math.min(o,n.lastIndexOf(`
|
|
7649
|
-
`,o)+1),D=n.slice(s,o).match(/^\s*/)[0],a=Fe(D,t.tabWidth),c=await Jn(i,{...t,rangeStart:0,rangeEnd:Number.POSITIVE_INFINITY,cursorOffset:t.cursorOffset>o&&t.cursorOffset<=u?t.cursorOffset-o:-1,endOfLine:"lf"},a),d=c.formatted.trimEnd(),{cursorOffset:f}=t;f>u?f+=d.length-i.length:c.cursorOffset>=0&&(f=c.cursorOffset+o);let p=n.slice(0,o)+d+n.slice(u);if(t.endOfLine!=="lf"){let l=Ae(t.endOfLine);f>=0&&l===`\r
|
|
7650
|
-
`&&(f+=yt(p.slice(0,f),`
|
|
7651
|
-
`)),p=ee(!1,p,`
|
|
7652
|
-
`,l);}return {formatted:p,cursorOffset:f,comments:c.comments}}function Xt(e,t,r){return typeof t!="number"||Number.isNaN(t)||t<0||t>e.length?r:t}function Gn(e,t){let{cursorOffset:r,rangeStart:n,rangeEnd:o}=t;return r=Xt(e,r,-1),n=Xt(e,n,0),o=Xt(e,o,e.length),{...t,cursorOffset:r,rangeStart:n,rangeEnd:o}}function Xn(e,t){let{cursorOffset:r,rangeStart:n,rangeEnd:o,endOfLine:u}=Gn(e,t),i=e.charAt(0)===qn;if(i&&(e=e.slice(1),r--,n--,o--),u==="auto"&&(u=Dr(e)),e.includes("\r")){let s=D=>yt(e.slice(0,Math.max(D,0)),`\r
|
|
7653
|
-
`);r-=s(r),n-=s(n),o-=s(o),e=ar(e);}return {hasBOM:i,text:e,options:Gn(e,{...t,cursorOffset:r,rangeStart:n,rangeEnd:o,endOfLine:u})}}async function Kn(e,t){let r=await mt(t);return !r.hasPragma||r.hasPragma(e)}async function Zt(e,t){let{hasBOM:r,text:n,options:o}=Xn(e,await ue(t));if(o.rangeStart>=o.rangeEnd&&n!==""||o.requirePragma&&!await Kn(n,o))return {formatted:e,cursorOffset:t.cursorOffset,comments:[]};let u;return o.rangeStart>0||o.rangeEnd<n.length?u=await Lo(n,o):(!o.requirePragma&&o.insertPragma&&o.printer.insertPragma&&!await Kn(n,o)&&(n=o.printer.insertPragma(n)),u=await Jn(n,o)),r&&(u.formatted=qn+u.formatted,u.cursorOffset>=0&&u.cursorOffset++),u}async function Zn(e,t,r){let{text:n,options:o}=Xn(e,await ue(t)),u=await De(n,o);return r&&(r.preprocessForPrint&&(u.ast=await qt(u.ast,o)),r.massage&&(u.ast=Vn(u.ast,o))),u}async function Qn(e,t){t=await ue(t);let r=await je(e,t);return fe(r,t)}async function eu(e,t){let r=Ar(e),{formatted:n}=await Zt(r,{...t,parser:"__js_expression"});return n}async function tu(e,t){t=await ue(t);let{ast:r}=await De(e,t);return je(r,t)}async function ru(e,t){return fe(e,await ue(t))}var Qt={};We(Qt,{builders:()=>Ro,printer:()=>Yo,utils:()=>jo});var Ro={join:be,line:Ke,softline:gr,hardline:G,literalline:He,group:Bt,conditionalGroup:dr,fill:Ge,lineSuffix:_e,lineSuffixBoundary:Cr,cursor:xe,breakParent:le,ifBreak:mr,trim:hr,indent:ie,indentIfBreak:Er,align:oe,addAlignmentToDoc:qe,markAsRoot:Fr,dedentToRoot:fr,dedent:pr,hardlineWithoutBreakParent:ke,literallineWithoutBreakParent:_t,label:yr,concat:e=>e},Yo={printDocToString:fe},jo={willBreak:Nr,traverseDoc:Be,findInDoc:Je,mapDoc:Ne,removeLines:Tr,stripTrailingHardline:Xe,replaceEndOfLine:vr,canBreak:Pr};var nu="3.2.5";var tr={};We(tr,{addDanglingComment:()=>X,addLeadingComment:()=>te,addTrailingComment:()=>re,getAlignmentSize:()=>Fe,getIndentSize:()=>uu,getMaxContinuousCount:()=>ou,getNextNonSpaceNonCommentCharacter:()=>iu,getNextNonSpaceNonCommentCharacterIndex:()=>Xo,getStringWidth:()=>we,hasNewline:()=>V,hasNewlineInRange:()=>su,hasSpaces:()=>Du,isNextLineEmpty:()=>ti,isNextLineEmptyAfterIndex:()=>Ct,isPreviousLineEmpty:()=>Qo,makeString:()=>au,skip:()=>de,skipEverythingButNewLine:()=>rt,skipInlineComment:()=>Ee,skipNewline:()=>Y,skipSpaces:()=>N,skipToLineEnd:()=>tt,skipTrailingComment:()=>Ce,skipWhitespace:()=>Vr});function Vo(e,t){if(t===!1)return !1;if(e.charAt(t)==="/"&&e.charAt(t+1)==="*"){for(let r=t+2;r<e.length;++r)if(e.charAt(r)==="*"&&e.charAt(r+1)==="/")return r+2}return t}var Ee=Vo;function $o(e,t){return t===!1?!1:e.charAt(t)==="/"&&e.charAt(t+1)==="/"?rt(e,t):t}var Ce=$o;function Mo(e,t){let r=null,n=t;for(;n!==r;)r=n,n=N(e,n),n=Ee(e,n),n=Ce(e,n),n=Y(e,n);return n}var Ve=Mo;function Wo(e,t){let r=null,n=t;for(;n!==r;)r=n,n=tt(e,n),n=Ee(e,n),n=N(e,n);return n=Ce(e,n),n=Y(e,n),n!==!1&&V(e,n)}var Ct=Wo;function Uo(e,t){let r=e.lastIndexOf(`
|
|
7654
|
-
`);return r===-1?0:Fe(e.slice(r+1).match(/^[\t ]*/)[0],t)}var uu=Uo;function er(e){if(typeof e!="string")throw new TypeError("Expected a string");return e.replace(/[|\\{}()[\]^$+*?.]/g,"\\$&").replace(/-/g,"\\x2d")}function zo(e,t){let r=e.match(new RegExp(`(${er(t)})+`,"g"));return r===null?0:r.reduce((n,o)=>Math.max(n,o.length/t.length),0)}var ou=zo;function Go(e,t){let r=Ve(e,t);return r===!1?"":e.charAt(r)}var iu=Go;function Ko(e,t,r){for(let n=t;n<r;++n)if(e.charAt(n)===`
|
|
7655
|
-
`)return !0;return !1}var su=Ko;function Ho(e,t,r={}){return N(e,r.backwards?t-1:t,r)!==t}var Du=Ho;function qo(e,t,r){let n=t==='"'?"'":'"',u=ee(!1,e,/\\(.)|(["'])/gs,(i,s,D)=>s===n?s:D===t?"\\"+D:D||(r&&/^[^\n\r"'0-7\\bfnrt-vx\u2028\u2029]$/.test(s)?s:"\\"+s));return t+u+t}var au=qo;function Jo(e,t,r){return Ve(e,r(t))}function Xo(e,t){return arguments.length===2||typeof t=="number"?Ve(e,t):Jo(...arguments)}function Zo(e,t,r){return Pe(e,r(t))}function Qo(e,t){return arguments.length===2||typeof t=="number"?Pe(e,t):Zo(...arguments)}function ei(e,t,r){return Ct(e,r(t))}function ti(e,t){return arguments.length===2||typeof t=="number"?Ct(e,t):ei(...arguments)}function ae(e,t=1){return async(...r)=>{let n=r[t]??{},o=n.plugins??[];return r[t]={...n,plugins:Array.isArray(o)?o:Object.values(o)},e(...r)}}var cu=ae(Zt);async function lu(e,t){let{formatted:r}=await cu(e,{...t,cursorOffset:-1});return r}async function ri(e,t){return await lu(e,t)===e}var ni=ae(ut,0),ui={parse:ae(Zn),formatAST:ae(Qn),formatDoc:ae(eu),printToDoc:ae(tu),printDocToString:ae(ru)};
|
|
7656
|
-
|
|
7657
|
-
const util = tr;
|
|
7738
|
+
const util = nr;
|
|
7658
7739
|
|
|
7659
7740
|
/**
|
|
7660
7741
|
* Override the default behavior to attach comments to syntax node.
|
|
@@ -8075,7 +8156,7 @@ function printConstStatement(path, options, print) {
|
|
|
8075
8156
|
return ["const ", id, type, " = ", path.call(print, "value"), ";"];
|
|
8076
8157
|
}
|
|
8077
8158
|
function printCallExpression(path, options, print) {
|
|
8078
|
-
const args =
|
|
8159
|
+
const args = printCallLikeArgs(path, options, print);
|
|
8079
8160
|
return [path.call(print, "target"), args];
|
|
8080
8161
|
}
|
|
8081
8162
|
function printTemplateParameters(path, options, print, propertyName) {
|
|
@@ -8177,7 +8258,7 @@ function hasNewlineBetweenOrAfterDecorators(node, options) {
|
|
|
8177
8258
|
return node.decorators.some((decorator) => util.hasNewline(options.originalText, decorator.end));
|
|
8178
8259
|
}
|
|
8179
8260
|
function printDecorator(path, options, print) {
|
|
8180
|
-
const args =
|
|
8261
|
+
const args = printDecoratorArgs(path, options, print);
|
|
8181
8262
|
return ["@", path.call(print, "target"), args];
|
|
8182
8263
|
}
|
|
8183
8264
|
function printAugmentDecorator(path, options, print) {
|
|
@@ -8217,17 +8298,23 @@ function printDirective(path, options, print) {
|
|
|
8217
8298
|
const args = printDirectiveArgs(path, options, print);
|
|
8218
8299
|
return ["#", path.call(print, "target"), " ", args];
|
|
8219
8300
|
}
|
|
8220
|
-
function
|
|
8301
|
+
function printDecoratorArgs(path, options, print) {
|
|
8221
8302
|
const node = path.node;
|
|
8222
8303
|
if (node.arguments.length === 0) {
|
|
8223
8304
|
return "";
|
|
8224
8305
|
}
|
|
8306
|
+
return printCallLikeArgs(path, options, print);
|
|
8307
|
+
}
|
|
8308
|
+
function printCallLikeArgs(path, options, print) {
|
|
8309
|
+
const node = path.node;
|
|
8225
8310
|
// So that decorator with single object arguments have ( and { hugging.
|
|
8226
|
-
// @deco({
|
|
8311
|
+
// @deco(#{
|
|
8227
8312
|
// value: "foo"
|
|
8228
8313
|
// })
|
|
8229
8314
|
const shouldHug = node.arguments.length === 1 &&
|
|
8230
8315
|
(node.arguments[0].kind === SyntaxKind.ModelExpression ||
|
|
8316
|
+
node.arguments[0].kind === SyntaxKind.ObjectLiteral ||
|
|
8317
|
+
node.arguments[0].kind === SyntaxKind.ArrayLiteral ||
|
|
8231
8318
|
node.arguments[0].kind === SyntaxKind.StringLiteral ||
|
|
8232
8319
|
node.arguments[0].kind === SyntaxKind.StringTemplateExpression);
|
|
8233
8320
|
if (shouldHug) {
|
|
@@ -8593,38 +8680,7 @@ function printModelProperty(path, options, print) {
|
|
|
8593
8680
|
];
|
|
8594
8681
|
}
|
|
8595
8682
|
function printIdentifier(id, options) {
|
|
8596
|
-
return
|
|
8597
|
-
}
|
|
8598
|
-
function printId(sv) {
|
|
8599
|
-
if (needBacktick(sv)) {
|
|
8600
|
-
const escapedString = sv
|
|
8601
|
-
.replace(/\\/g, "\\\\")
|
|
8602
|
-
.replace(/\n/g, "\\n")
|
|
8603
|
-
.replace(/\r/g, "\\r")
|
|
8604
|
-
.replace(/\t/g, "\\t")
|
|
8605
|
-
.replace(/`/g, "\\`");
|
|
8606
|
-
return `\`${escapedString}\``;
|
|
8607
|
-
}
|
|
8608
|
-
else {
|
|
8609
|
-
return sv;
|
|
8610
|
-
}
|
|
8611
|
-
}
|
|
8612
|
-
function needBacktick(sv) {
|
|
8613
|
-
if (sv.length === 0) {
|
|
8614
|
-
return false;
|
|
8615
|
-
}
|
|
8616
|
-
if (Keywords.has(sv)) {
|
|
8617
|
-
return true;
|
|
8618
|
-
}
|
|
8619
|
-
let cp = sv.codePointAt(0);
|
|
8620
|
-
if (!isIdentifierStart(cp)) {
|
|
8621
|
-
return true;
|
|
8622
|
-
}
|
|
8623
|
-
let pos = 0;
|
|
8624
|
-
do {
|
|
8625
|
-
pos += utf16CodeUnits(cp);
|
|
8626
|
-
} while (pos < sv.length && isIdentifierContinue((cp = sv.codePointAt(pos))));
|
|
8627
|
-
return pos < sv.length;
|
|
8683
|
+
return printIdentifier$1(id.sv);
|
|
8628
8684
|
}
|
|
8629
8685
|
function isModelExpressionInBlock(path) {
|
|
8630
8686
|
const parent = path.getParentNode();
|
|
@@ -9123,52 +9179,6 @@ function isLineComment(comment) {
|
|
|
9123
9179
|
return comment.kind === SyntaxKind.BlockComment;
|
|
9124
9180
|
}
|
|
9125
9181
|
|
|
9126
|
-
function parse(text, options) {
|
|
9127
|
-
const result = parse$1(text, { comments: true, docs: true });
|
|
9128
|
-
flattenNamespaces(result);
|
|
9129
|
-
const errors = result.parseDiagnostics.filter((x) => x.severity === "error");
|
|
9130
|
-
if (errors.length > 0 && !result.printable) {
|
|
9131
|
-
throw new PrettierParserError(errors[0]);
|
|
9132
|
-
}
|
|
9133
|
-
// Remove doc comments as those are handled directly.
|
|
9134
|
-
mutate(result).comments = result.comments.filter((x) => !(x.kind === SyntaxKind.BlockComment && x.parsedAsDocs));
|
|
9135
|
-
return result;
|
|
9136
|
-
}
|
|
9137
|
-
/**
|
|
9138
|
-
* We are patching the syntax tree to flatten the namespace nodes that are created from namespace Foo.Bar; which have the same pos, end
|
|
9139
|
-
* This causes prettier to not know where comments belong.
|
|
9140
|
-
* https://github.com/microsoft/typespec/pull/2061
|
|
9141
|
-
*/
|
|
9142
|
-
function flattenNamespaces(base) {
|
|
9143
|
-
visitChildren(base, (node) => {
|
|
9144
|
-
if (node.kind === SyntaxKind.NamespaceStatement) {
|
|
9145
|
-
let current = node;
|
|
9146
|
-
const ids = [node.id];
|
|
9147
|
-
while (current.statements && "kind" in current.statements) {
|
|
9148
|
-
current = current.statements;
|
|
9149
|
-
ids.push(current.id);
|
|
9150
|
-
}
|
|
9151
|
-
Object.assign(node, current, {
|
|
9152
|
-
ids,
|
|
9153
|
-
});
|
|
9154
|
-
flattenNamespaces(current);
|
|
9155
|
-
}
|
|
9156
|
-
});
|
|
9157
|
-
}
|
|
9158
|
-
class PrettierParserError extends Error {
|
|
9159
|
-
error;
|
|
9160
|
-
loc;
|
|
9161
|
-
constructor(error) {
|
|
9162
|
-
super(error.message);
|
|
9163
|
-
this.error = error;
|
|
9164
|
-
const location = getSourceLocation(error.target);
|
|
9165
|
-
this.loc = {
|
|
9166
|
-
start: location?.pos ?? 0,
|
|
9167
|
-
end: location?.end ?? 0,
|
|
9168
|
-
};
|
|
9169
|
-
}
|
|
9170
|
-
}
|
|
9171
|
-
|
|
9172
9182
|
const defaultOptions = {};
|
|
9173
9183
|
const languages = [
|
|
9174
9184
|
{
|