eslint-plugin-sukka 7.0.0 → 7.0.2-beta.1
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/dist/index.cjs +2 -2
- package/package.json +3 -3
package/dist/index.cjs
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
"use strict";let e;var t,r,n,u,a,i,o,s,d,l,c,f,p,m,g,y,h,b,E,v,x,D,A,S,C,T,w,_,F,k,P,I,B,O,R,N,L,j,M,$,U,q,z,W,Y,V,Z,G,K,H,X,J,Q,ee,et,er,en,eu,ea,ei,eo,es,ed,el,ec,ef,ep,em,eg,ey,eh,eb,eE,ev,ex,eD,eA,eS,eC,eT,ew,e_,eF,ek,eP,eI,eB,eO,eR,eN,eL,ej,eM,e$,eU,eq,ez,eW,eY,eV,eZ,eG,eK,eH,eX=require("@typescript-eslint/utils/eslint-utils"),eJ=require("node:path"),eQ=require("node:util/types"),e0=require("@eslint-sukka/shared"),e1=require("@typescript-eslint/utils"),e3=require("foxts/detect-eol"),e2=require("typescript"),e4=(t=Object.create(null),e2&&Object.keys(e2).forEach(function(e){if("default"!==e){var r=Object.getOwnPropertyDescriptor(e2,e);Object.defineProperty(t,e,r.get?r:{enumerable:!0,get:function(){return e2[e]}})}}),t.default=e2,Object.freeze(t));function e5(e,t){if("string"==typeof t){let e=t;t=t=>t.type===e}for(;e;){if(t(e))return e;e=e.parent}}function e8(e){return e?.type==="Identifier"||e?.type==="PrivateIdentifier"}function e6(e){return e?.type==="MemberExpression"}function e9(e){return e?.type==="AwaitExpression"}function e7(e,t){return!!e8(e)&&("function"==typeof t?t(e.name):Array.isArray(t)?t.includes(e.name):e.name===t)}function te(e,t){return e?.type==="Literal"&&(Array.isArray(t)?t.includes(e.value):"string"==typeof e.value&&t instanceof RegExp?t.test(e.value):e.value===t)}function tt(e){return!!e&&["ArrowFunctionExpression","FunctionDeclaration","FunctionExpression"].includes(e.type)}function tr(e,t){return e?.type==="Identifier"&&t?.type===e.type&&e.name===t.name}function tn({create:e,defaultOptions:t,meta:r,name:n}){return r.docs&&!r.docs.url&&(r.docs.url=new URL(n,"https://dimensiondev.github.io/eslint-plugin/src/rules/").href),{create(r){let n=eX.applyDefault(t,r.options);return e(r,n)},defaultOptions:t,meta:r,name:n}}function tu(e){if(!e?.program)throw Error("see https://typescript-eslint.io/docs/linting/type-linting")}var ta=tn({name:"array/no-unneeded-flat-map",meta:{type:"suggestion",fixable:"code",docs:{description:"Disallow `Array#flatMap((x) => x)` when simpler alternatives exist",recommended:"stylistic"},schema:[],messages:{invalid:"Disallow simple `Array#flatMap()` in array"}},defaultOptions:[],create:e=>({CallExpression(t){var r;if("MemberExpression"!==t.callee.type||!e7(t.callee.property,"flatMap")||!(tt(r=t.arguments[0])&&1===r.params.length&&"Identifier"===r.params[0].type&&r.body&&(tr(r.params[0],r.body)||"BlockStatement"===r.body.type&&1===r.body.body.length&&"ReturnStatement"===r.body.body[0].type&&tr(r.params[0],r.body.body[0].argument))))return;let{property:n}=t.callee;e.report({node:t,messageId:"invalid",*fix(e){yield e.replaceText(n,"flat"),yield*t.arguments.map(t=>e.remove(t))}})}})});const ti=new Set(["href","pathname","search","hash","origin"]);var to=tn({name:"browser/prefer-location-assign",meta:{type:"suggestion",fixable:"code",docs:{description:"Prefer `location.assign(...)` over `location.*`",recommended:"stylistic"},schema:[],messages:{instead:"Use `location.assign(...)` instead of `location.{{name}}`"}},defaultOptions:[],create:e=>({AssignmentExpression(t){let r=function(e,t){if(e7(e,t))return e;for(;e6(e);){if(e7(e.property,t))return e;e=e.object}}(t.left,"location");if(!r)return;let n=ts(r.parent);e.report({node:t,messageId:"instead",data:{name:n},fix:function(e,t,r){let n=ts(t.parent);if(ti.has(n??"href"))return n=>n.replaceText(r,`${e.getText(t)}.assign(${e.getText(r.right)})`)}(e.sourceCode,r,t)})}})});function ts(e){if(e6(e)&&e8(e.property))return e.property.name}var td=tn({name:"jsx/no-template-literal",meta:{type:"suggestion",fixable:"code",docs:{description:"Disallow use template-literal in JSX",recommended:"stylistic"},schema:[],messages:{invalid:"Disallow use template-literal in JSX"}},defaultOptions:[],create:e=>({JSXExpressionContainer(t){if("TemplateLiteral"!==t.expression.type||t.parent?.type==="JSXAttribute")return;let{expression:r}=t;e.report({node:t,messageId:"invalid",fix(n){let u=[...r.expressions,...r.quasis];u.sort((e,t)=>e.range[0]-t.range[0]);let a=u.map(t=>"TemplateElement"===t.type?t.value.cooked:"{"+e.sourceCode.getText(t)+"}");return n.replaceText(t,a.join(""))}})}})}),tl=tn({name:"jsx/no-unneeded-nested",meta:{type:"suggestion",fixable:"code",docs:{description:"Reduce unneeded JSXFragment nested",recommended:"stylistic"},schema:[],messages:{invalid:"Reduce unneeded JSXFragment nested"}},defaultOptions:[],create(e){let t=e.sourceCode;return{JSXFragment(r){if(1!==r.children.length)return;let n=r.children[0];e.report({node:r,messageId:"invalid",*fix(e){"JSXExpressionContainer"===n.type?"JSXEmptyExpression"!==n.expression.type&&(yield e.replaceText(r,t.getText(n.expression))):yield e.replaceText(r,t.getText(n))}})}}}});const tc=/^toLocale(?<name>Upper|Lower)Case$/g;var tf=tn({name:"string/no-locale-case",meta:{type:"problem",fixable:"code",docs:{description:"Disallow use `String#toLocale{Upper,Lower}Case()`",recommended:"recommended"},schema:[],messages:{instead:"Use `.to{{name}}Case(...)` instead of `.toLocale{{name}}Case()`"}},defaultOptions:[],create:e=>({CallExpression(t){if(t.arguments.length>0||!e6(t.callee)||!e8(t.callee.property))return;let{property:r}=t.callee,n=tc.exec(r.name);n&&e.report({node:t,data:{name:n.groups?.name},messageId:"instead",fix:e=>e.replaceText(r,r.name.replaceAll("Locale",""))})}})}),tp=tn({name:"string/no-simple-template-literal",meta:{type:"suggestion",fixable:"code",docs:{description:"Disallow simple template-literal",recommended:"stylistic"},schema:[],messages:{invalid:"Disallow simple template-literal"}},defaultOptions:[],create:e=>({TemplateLiteral(t){var r,n,u,a;let i=(r=e.sourceCode,(u=n=t,u.parent?.type!=="TaggedTemplateExpression"&&1===u.quasis.length&&!function({loc:e}){return!!e&&e.start.line!==e.end.line}(u.quasis[0])&&0===u.expressions.length)?e=>{let t=JSON.stringify(n.quasis[0].value.cooked),u=e5(n,e=>"Property"===e.type&&e.key===n);return u?e.replaceText(u,`${t}: ${r.getText(u.value)}`):e.replaceText(n,t)}:2===(a=n).quasis.length&&a.quasis.every(({value:e})=>""===e.cooked)&&1===a.expressions.length?e=>e.replaceText(n,r.getText(n.expressions[0])):void 0);i&&e.report({node:t,messageId:"invalid",fix:i})}})});const tm=/\P{ASCII}/u;function tg(e,t){return{Program(r){for(let n of r.tokens??[]){let r=function(e){switch(e.type){case"String":case"Template":return e.value.slice(1,-1);case"Identifier":if(e.value.startsWith("#"))return e.value.slice(1);return e.value;case"PrivateIdentifier":case"JSXText":case"JSXIdentifier":return e.value;case"RegularExpression":return e.regex.pattern}return!1}(n);!1!==r&&e.test(r)&&t(n,"code")}for(let n of r.comments??[])e.test(n.value)&&t(n,"comment")}}}function ty(e,t){switch(e.type){case"String":case"Template":return r=>{let n=e.value.slice(0,1),u=e.value.slice(-1),a=th(e.value.slice(1,-1),t);return r.replaceText(e,`${n}${a}${u}`)};case"JSXText":return r=>{let n=e.value.replace(t,e=>`&#x${tb(e.codePointAt(0))};`);return r.replaceText(e,n)};case"RegularExpression":return r=>{let n=new Set(e.regex.flags);n.add("u");let u=new RegExp(th(e.regex.pattern,t),[...n].join(""));return r.replaceText(e,u.toString())}}}function th(e,t){return e.replace(t,e=>{let t=e.codePointAt(0);return t>65535?`\\u{${tb(t)}}`:`\\u${tb(t)}`})}function tb(e){return e.toString(16).padStart(4,"0").toUpperCase()}tn({name:"unicode/specific-set",meta:{type:"problem",fixable:"code",docs:{description:"Limit the range of literal characters"},schema:[{type:"object",properties:{pattern:{type:"string"},flags:{type:"string"},only:{type:"string",enum:["code","comment"]}},additionalProperties:!1}],messages:{illegal:"Illegal character detected"}},defaultOptions:[{pattern:tm.source,flags:"u",only:void 0}],create(e,[{pattern:t,flags:r,only:n}]){let u=t?new RegExp(t,r):tm;return tg(u,(t,r)=>{if(n&&n!==r)return;let a=ty(t,RegExp(u.source,"gu"));e.report({node:t,messageId:"illegal",fix:a})})}});const tE=/[\u061C\u202A-\u202E\u2066-\u2069]/;var tv=tn({name:"unicode/no-bidi",meta:{type:"problem",fixable:"code",docs:{description:"Detect and stop Trojan Source attacks",recommended:"recommended"},schema:[],messages:{detected:"Detected potential trojan source attack with unicode bidi introduced in this {{kind}}: {{text}}."}},defaultOptions:[],create:e=>tg(tE,(t,r)=>{let n=RegExp(tE.source,"gu"),u={kind:r,text:th(t.value,n)},a=ty(t,n);e.report({node:t,data:u,messageId:"detected",fix:a})})});const tx=function(){let e=[/\u00AD\u034F\u061C\u17B4\u17B5\uFEFF\uFFFC/,/\u180B-\u180E/,/\u200B-\u200F/,/\u202A-\u202E/,/\u2060-\u206F/,/\uFE00-\uFE0F/,/\uFFF0-\uFFF8/,/\u{1D173}-\u{1D17A}/u,/\u{E0000}-\u{E007F}/u,/\u{E0100}-\u{E01EF}/u].map(e=>"string"==typeof e?e:e.source).join("");return RegExp(`[${e}]`,"u")}(/\u00AD\u034F\u061C\u17B4\u17B5\uFEFF\uFFFC/,/\u180B-\u180E/,/\u200B-\u200F/,/\u202A-\u202E/,/\u2060-\u206F/,/\uFE00-\uFE0F/,/\uFFF0-\uFFF8/,/\u{1D173}-\u{1D17A}/u,/\u{E0000}-\u{E007F}/u,/\u{E0100}-\u{E01EF}/u);var tD=tn({name:"unicode/no-invisible",meta:{type:"problem",fixable:"code",docs:{description:"Disallow invisible characters",recommended:"recommended"},schema:[],messages:{illegal:"Illegal character detected"}},defaultOptions:[],create:e=>tg(tx,t=>{let r=ty(t,RegExp(tx.source,"gu"));e.report({node:t,messageId:"illegal",fix:r})})}),tA=tn({name:"no-redundant-variable",meta:{type:"problem",fixable:"code",docs:{description:"Disallow redundant variable",recommended:"stylistic"},schema:[],messages:{invalid:"Disallow Redundant Variable"}},defaultOptions:[],create:e=>({BlockStatement({body:t}){var r,n,u,a,i;let o=t.find(tS);if(!o)return;let s=t[t.indexOf(o)-1];r=s,n=o,r&&"VariableDeclaration"===r.type&&1===r.declarations.length&&r.declarations.some(({init:e,id:t})=>null!==e&&tr(n.argument,t))&&e.report({node:o,messageId:"invalid",fix:(u=e.sourceCode,a=s,i=o,e=>{var t;let{init:r,id:n}=a.declarations[0];if(!(r&&n&&i.argument))return null;let o=!e9(t=r)||e5(t,"TryStatement")?t:t.argument,s=(e=>{if(!n.typeAnnotation)return e;let t=u.getText(n.typeAnnotation.typeAnnotation);return`(${e}) as ${e9(r)?`Promise<${t}>`:t}`})(u.getText(o));return[e.remove(a),e.replaceText(i.argument,s)]})})}})});function tS(e){return"ReturnStatement"===e.type&&e8(e.argument)}var tC=tn({name:"no-single-return",meta:{type:"suggestion",docs:{description:"Disallow single-return",recommended:"stylistic"},schema:[],messages:{invalid:"Disallow Single Return"}},defaultOptions:[],create:e=>({BlockStatement({parent:t,body:r}){if(!tt(t))return;let n=function(e,t){let r=t.find(tT);if(!r)return;let n=t.find(e=>{var t,n;return t=e,n=r,"VariableDeclaration"===t.type&&"const"!==t.kind&&t.declarations.some(({id:e})=>tr(n.argument,e))});if(n)return e.sourceCode.getDeclaredVariables(n).find(({references:e})=>e.every(e=>e.isWriteOnly()||e.identifier.parent===r))}(e,r);for(let{identifier:t}of n?.references??[])t.parent&&e.report({node:t.parent,messageId:"invalid"})}})});function tT(e){return"ReturnStatement"===e.type&&e8(e.argument)}var tw=tn({name:"prefer-early-return",meta:{type:"problem",fixable:"code",docs:{description:"Prefer early returns over full-body conditional wrapping in function declarations",recommended:"stylistic"},schema:[{type:"object",properties:{maximumStatements:{type:"integer",minimum:0}},additionalProperties:!1}],messages:{prefer:"Prefer an early return to a conditionally-wrapped function body"}},defaultOptions:[{maximumStatements:0}],create:(e,[{maximumStatements:t}])=>({BlockStatement:function({body:r,parent:n}){var u,a;if(!tt(n)||!(1===r.length&&function(e,t){if("IfStatement"!==e.type||null!==e.alternate)return!1;let{consequent:r}=e;return"ExpressionStatement"===r.type&&0===t||"BlockStatement"===r.type&&r.body.length>t}(r[0],t)))return;let i=(u=e,a=r[0],function*(e){var t;let r;if("IfStatement"!==a.type)return;let{test:n,consequent:i}=a;yield e.insertTextBefore(n,"!("),yield e.insertTextAfter(n,")"),yield e.replaceText(i,"return;");let o=(t=u.sourceCode.getText(i),r=t,"BlockStatement"===i.type?r.slice(1,-1):r);yield e.insertTextAfter(a,o)});e.report({node:r[0],messageId:"prefer",fix:i})}})}),t_=tn({name:"prefer-fetch",meta:{type:"problem",docs:{description:"Enforce fetch",recommended:"stylistic"},schema:[],messages:{callee:"Should use 'fetch' instead"}},defaultOptions:[],create:e=>({ImportDeclaration(t){let r=t.source.value;("axios"===r||"request"===r)&&e.report({node:t,messageId:"callee"})},NewExpression(t){var r;((function({callee:e}){return e7(e,"XMLHttpRequest")})(t)||e7((r=t).callee,"ActiveXObject")&&te(r.arguments[0],/xmlhttp/i))&&e.report({node:t,messageId:"callee"})},CallExpression(t){((function({callee:e}){let t="$http";return e7(e,t)||e6(e)&&e7(e.object,t)})(t)||function({callee:e,parent:t}){let r=["$","jQuery"];return e7(e,r)&&e6(t)&&e7(t.property,"load")||e6(e)&&e7(e.object,r)&&e7(e.property,["ajax","get","post","getJSON","getScript"])}(t)||tF(t,"axios")||tF(t,"request"))&&e.report({node:t,messageId:"callee"})}})});function tF(e,t){return e7(e.callee,"require")&&te(e.arguments[0],t)}const tk=new Set(["setTimeout","setInterval","requestAnimationFrame","requestIdleCallback"]);var tP=tn({name:"prefer-timer-id",meta:{type:"problem",docs:{description:"Enforce best practice with timer function",recommended:"recommended"},schema:[],messages:{assign:"Timer id should assign to an identifier or member for cleaning up, `const timer = {{name}}(...);`",fix:"Assign timer id to a variable"},hasSuggestions:!0},defaultOptions:[],create:e=>({CallExpression(t){"Identifier"===t.callee.type&&(!tk.has(t.callee.name)||function(e){if(!e7(e.callee,"setTimeout"))return!1;let t=e.arguments[1];return!t||te(t,0)}(t)||t.parent?.type==="AssignmentExpression"&&t.parent.right===t||t.parent?.type==="VariableDeclarator"&&t.parent.init===t||e.report({node:t,messageId:"assign",data:{name:t.callee.name},suggest:[{messageId:"fix",fix:e=>e.insertTextBefore(t,"const timer = ")}]}))}})}),tI=tn({name:"string/no-unneeded-to-string",meta:{type:"suggestion",fixable:"code",docs:{description:"Disallow `String#toString()` when simpler alternatives exist",recommended:"stylistic",requiresTypeChecking:!0},schema:[],messages:{invalid:"Disallow use `.toString()` in string"}},defaultOptions:[],create(e){tu(e.sourceCode.parserServices);let{program:t,esTreeNodeToTSNodeMap:r}=e.sourceCode.parserServices,n=t.getTypeChecker();return{CallExpression(t){if("MemberExpression"!==t.callee.type)return;let{object:u,property:a}=t.callee;(e7(a,"toString")||te(a,"toString"))&&function(e,t){let r=e.getTypeAtLocation(t);if(r.isStringLiteral()||"string"===e.typeToString(r))return!0;let n=r.getSymbol();return n&&"String"===e.symbolToString(n)}(n,r.get(u))&&e.report({node:a,messageId:"invalid",fix:r=>r.replaceText(t,e.sourceCode.getText(u))})}}}}),tB=tn({name:"type/no-force-cast-via-top-type",meta:{type:"problem",docs:{description:"Disallowing cast a type `T` to unrelated or incompatible type `Q` via `T as any as Q`",recommended:"recommended"},schema:[],messages:{invalid:"Don't cast this expression to another type by `as {{type}} as T`"}},defaultOptions:[],create:e=>({TSAsExpression(t){var r,n;if("TSAnyKeyword"!==(r=t.typeAnnotation).type&&"TSUnknownKeyword"!==r.type||!((n=t.parent)&&"TSAsExpression"===n.type&&"TSTypeReference"===n.typeAnnotation.type))return;let u="TSAnyKeyword"===t.typeAnnotation.type?"any":"unknown";e.report({node:t,messageId:"invalid",data:{type:u}})}})});const tO=new Set(["BigInt","Boolean","Number","String","Symbol"]);var tR=tn({name:"type/no-wrapper-type-reference",meta:{type:"problem",fixable:"code",docs:{description:"Disallow wrapper type for type reference",recommended:"recommended"},schema:[],messages:{instead:"Use {{name}} instead"}},defaultOptions:[],create:e=>({TSTypeReference(t){if("Identifier"!==t.typeName.type||!tO.has(t.typeName.name))return;let r=t.typeName.name.toLowerCase();e.report({node:t,messageId:"instead",data:{name:r},fix:e=>e.replaceText(t.typeName,r)})}})}),tN=tn({name:"no-default-error",meta:{type:"problem",docs:{description:"Restrict the usage of default (unextended) error",recommended:"strict",requiresTypeChecking:!0},schema:[],messages:{invalid:"Default error object should not be used in this project"}},defaultOptions:[],create(e){tu(e.sourceCode.parserServices);let{esTreeNodeToTSNodeMap:t,program:r}=e.sourceCode.parserServices,n=r.getTypeChecker();function u(r){"ErrorConstructor"===function(e,t){let r=e.getTypeAtLocation(t).getSymbol();if(!r?.valueDeclaration)return;let n=e.getTypeOfSymbolAtLocation(r,r.valueDeclaration);return e.typeToString(n)}(n,t.get(r))&&e.report({node:r,messageId:"invalid"})}return{ThrowStatement(e){e.argument&&u(e.argument)},NewExpression:u,CallExpression:u}}});const tL={ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],AwaitExpression:["argument"],BinaryExpression:["left","right"],BlockStatement:["body"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportExpression:["source"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXClosingFragment:[],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXFragment:["openingFragment","children","closingFragment"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXOpeningFragment:[],JSXSpreadAttribute:["argument"],JSXSpreadChild:["expression"],JSXText:[],LabeledStatement:["label","body"],Literal:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],StaticBlock:["body"],Super:[],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]};for(const e of Object.keys(tL))Object.freeze(tL[e]);Object.freeze(tL);const tj=new Set(["parent","leadingComments","trailingComments"]);function tM(e){return!tj.has(e)&&"_"!==e[0]}function t$(e,t){let r="",n=e;for("string"==typeof t?r=t:(r=t.name,n=function(e,t){let r=t.range[0],n=e,u=!1;do for(let e of(u=!1,n.childScopes)){let t=e.block.range;if(t[0]<=r&&r<t[1]){n=e,u=!0;break}}while(u);return n}(n,t));null!=n;){let e=n.set.get(r);if(null!=e)return e;n=n.upper}return null}function tU(e,t){return"Punctuator"===e.type&&e.value===t}function tq(e){return tU(e,"=>")}function tz(e){return tU(e,",")}function tW(e){return tU(e,";")}function tY(e){return tU(e,":")}function tV(e){return tU(e,"(")}function tZ(e){return tU(e,")")}function tG(e){return tU(e,"{")}const tK=e=>!tW(e);function tH(e,t){let r=e.parent,n=null,u=null;if("ArrowFunctionExpression"===e.type){let r=t.getTokenBefore(e.body,tq);n=r.loc.start,u=r.loc.end}else{var a,i;n="Property"===r.type||"MethodDefinition"===r.type||"PropertyDefinition"===r.type?r.loc.start:e.loc.start,u=(a=e,i=t,a.id?i.getTokenAfter(a.id,tV):i.getFirstToken(a,tV)).loc.start}return{start:{...n},end:{...u}}}const tX="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},tJ=Object.freeze(new Set(["Array","ArrayBuffer","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","Date","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","Float32Array","Float64Array","Function","Infinity","Int16Array","Int32Array","Int8Array","isFinite","isNaN","isPrototypeOf","JSON","Map","Math","NaN","Number","Object","parseFloat","parseInt","Promise","Proxy","Reflect","RegExp","Set","String","Symbol","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","undefined","unescape","WeakMap","WeakSet"])),tQ=new Set([Array.isArray,Array.of,Array.prototype.at,Array.prototype.concat,Array.prototype.entries,Array.prototype.every,Array.prototype.filter,Array.prototype.find,Array.prototype.findIndex,Array.prototype.flat,Array.prototype.includes,Array.prototype.indexOf,Array.prototype.join,Array.prototype.keys,Array.prototype.lastIndexOf,Array.prototype.slice,Array.prototype.some,Array.prototype.toString,Array.prototype.values,"function"==typeof BigInt?BigInt:void 0,Boolean,Date,Date.parse,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,escape,isFinite,isNaN,isPrototypeOf,Map,Map.prototype.entries,Map.prototype.get,Map.prototype.has,Map.prototype.keys,Map.prototype.values,...Object.getOwnPropertyNames(Math).filter(e=>"random"!==e).map(e=>Math[e]).filter(e=>"function"==typeof e),Number,Number.isFinite,Number.isNaN,Number.parseFloat,Number.parseInt,Number.prototype.toExponential,Number.prototype.toFixed,Number.prototype.toPrecision,Number.prototype.toString,Object,Object.entries,Object.is,Object.isExtensible,Object.isFrozen,Object.isSealed,Object.keys,Object.values,parseFloat,parseInt,RegExp,Set,Set.prototype.entries,Set.prototype.has,Set.prototype.keys,Set.prototype.values,String,String.fromCharCode,String.fromCodePoint,String.raw,String.prototype.at,String.prototype.charAt,String.prototype.charCodeAt,String.prototype.codePointAt,String.prototype.concat,String.prototype.endsWith,String.prototype.includes,String.prototype.indexOf,String.prototype.lastIndexOf,String.prototype.normalize,String.prototype.padEnd,String.prototype.padStart,String.prototype.slice,String.prototype.startsWith,String.prototype.substr,String.prototype.substring,String.prototype.toLowerCase,String.prototype.toString,String.prototype.toUpperCase,String.prototype.trim,String.prototype.trimEnd,String.prototype.trimLeft,String.prototype.trimRight,String.prototype.trimStart,Symbol.for,Symbol.keyFor,unescape].filter(e=>"function"==typeof e)),t0=new Set([Object.freeze,Object.preventExtensions,Object.seal]),t1=[[Map,new Set(["size"])],[RegExp,new Set(["dotAll","flags","global","hasIndices","ignoreCase","multiline","source","sticky","unicode"])],[Set,new Set(["size"])]];function t3(e,t){let r=[];for(let n=0;n<e.length;++n){let u=e[n];if(null==u)r.length=n+1;else if("SpreadElement"===u.type){let e=t4(u.argument,t);if(null==e)return null;r.push(...e.value)}else{let e=t4(u,t);if(null==e)return null;r.push(e.value)}}return r}const t2=Object.freeze({ArrayExpression(e,t){let r=t3(e.elements,t);return null!=r?{value:r}:null},AssignmentExpression:(e,t)=>"="===e.operator?t4(e.right,t):null,BinaryExpression(e,t){if("in"===e.operator||"instanceof"===e.operator)return null;let r=t4(e.left,t),n=t4(e.right,t);if(null!=r&&null!=n)switch(e.operator){case"==":return{value:r.value==n.value};case"!=":return{value:r.value!=n.value};case"===":return{value:r.value===n.value};case"!==":return{value:r.value!==n.value};case"<":return{value:r.value<n.value};case"<=":return{value:r.value<=n.value};case">":return{value:r.value>n.value};case">=":return{value:r.value>=n.value};case"<<":return{value:r.value<<n.value};case">>":return{value:r.value>>n.value};case">>>":return{value:r.value>>>n.value};case"+":return{value:r.value+n.value};case"-":return{value:r.value-n.value};case"*":return{value:r.value*n.value};case"/":return{value:r.value/n.value};case"%":return{value:r.value%n.value};case"**":return{value:r.value**n.value};case"|":return{value:r.value|n.value};case"^":return{value:r.value^n.value};case"&":return{value:r.value&n.value}}return null},CallExpression(e,t){let r=e.callee,n=t3(e.arguments,t);if(null!=n)if("MemberExpression"===r.type){if("PrivateIdentifier"===r.property.type)return null;let u=t4(r.object,t);if(null!=u){if(null==u.value&&(u.optional||e.optional))return{value:void 0,optional:!0};let a=t5(r,t);if(null!=a){let e=u.value,t=a.value;if(tQ.has(e[t]))return{value:e[t](...n)};if(t0.has(e[t]))return{value:n[0]}}}}else{let u=t4(r,t);if(null!=u){if(null==u.value&&e.optional)return{value:void 0,optional:!0};let t=u.value;if(tQ.has(t))return{value:t(...n)};if(t0.has(t))return{value:n[0]}}}return null},ConditionalExpression(e,t){let r=t4(e.test,t);return null!=r?r.value?t4(e.consequent,t):t4(e.alternate,t):null},ExpressionStatement:(e,t)=>t4(e.expression,t),Identifier(e,t){if(null!=t){let r=t$(t,e);if(null!=r){if(null!=r&&0===r.defs.length&&tJ.has(r.name)&&r.name in tX)return{value:tX[r.name]};if(function(e){if(1!==e.defs.length)return!1;let t=e.defs[0];return!!(t.parent&&"Variable"===t.type&&("const"===t.parent.kind||function(e){let t=e.references,r=t.filter(e=>e.init).length,n=t.filter(e=>e.isReadOnly()).length;return 1===r&&n+r===t.length}(e)))}(r)){let e=r.defs[0];if("Identifier"===e.node.id.type){let n=t4(e.node.init,t);return n&&"object"==typeof n.value&&null!==n.value&&function(e,t){for(let r of e.references){let e=r.identifier;for(;e&&e.parent&&"MemberExpression"===e.parent.type;)e=e.parent;if(e&&e.parent&&("AssignmentExpression"===e.parent.type&&e.parent.left===e||"UpdateExpression"===e.parent.type&&e.parent.argument===e||"CallExpression"===e.parent.type&&e.parent.callee===e&&"MemberExpression"===e.type&&function(e){if(null==e||null==e.value)return!1;let t=e.value;return"copyWithin"===t||"fill"===t||"pop"===t||"push"===t||"reverse"===t||"shift"===t||"sort"===t||"splice"===t||"unshift"===t}(t5(e,t))))return!0}return!1}(r,t)?null:n}}}}return null},Literal:e=>(null!=e.regex||null!=e.bigint)&&null==e.value?null:{value:e.value},LogicalExpression(e,t){let r=t4(e.left,t);if(null!=r){if("||"===e.operator&&!0==!!r.value||"&&"===e.operator&&!1==!!r.value||"??"===e.operator&&null!=r.value)return r;let n=t4(e.right,t);if(null!=n)return n}return null},MemberExpression(e,t){if("PrivateIdentifier"===e.property.type)return null;let r=t4(e.object,t);if(null!=r){if(null==r.value&&(r.optional||e.optional))return{value:void 0,optional:!0};let n=t5(e,t);if(null!=n){if(!function(e,t){let r=function(e,t){let r=e;for(;("object"==typeof r||"function"==typeof r)&&null!==r;){let e=Object.getOwnPropertyDescriptor(r,t);if(e)return e;r=Object.getPrototypeOf(r)}return null}(e,t);return null!=r&&null!=r.get}(r.value,n.value))return{value:r.value[n.value]};for(let[e,t]of t1)if(r.value instanceof e&&t.has(n.value))return{value:r.value[n.value]}}}return null},ChainExpression(e,t){let r=t4(e.expression,t);return null!=r?{value:r.value}:null},NewExpression(e,t){let r=t4(e.callee,t),n=t3(e.arguments,t);if(null!=r&&null!=n){let e=r.value;if(tQ.has(e))return{value:new e(...n)}}return null},ObjectExpression(e,t){let r={};for(let n of e.properties)if("Property"===n.type){if("init"!==n.kind)return null;let e=t5(n,t),u=t4(n.value,t);if(null==e||null==u)return null;r[e.value]=u.value}else{if("SpreadElement"!==n.type&&"ExperimentalSpreadProperty"!==n.type)return null;let e=t4(n.argument,t);if(null==e)return null;Object.assign(r,e.value)}return{value:r}},SequenceExpression:(e,t)=>t4(e.expressions[e.expressions.length-1],t),TaggedTemplateExpression(e,t){let r=t4(e.tag,t),n=t3(e.quasi.expressions,t);if(null!=r&&null!=n){let t=r.value,u=e.quasi.quasis.map(e=>e.value.cooked);if(u.raw=e.quasi.quasis.map(e=>e.value.raw),t===String.raw)return{value:t(u,...n)}}return null},TemplateLiteral(e,t){let r=t3(e.expressions,t);if(null!=r){let t=e.quasis[0].value.cooked;for(let n=0;n<r.length;++n)t+=r[n],t+=e.quasis[n+1].value.cooked;return{value:t}}return null},UnaryExpression(e,t){if("delete"===e.operator)return null;if("void"===e.operator)return{value:void 0};let r=t4(e.argument,t);if(null!=r)switch(e.operator){case"-":return{value:-r.value};case"+":return{value:+r.value};case"!":return{value:!r.value};case"~":return{value:~r.value};case"typeof":return{value:typeof r.value}}return null},TSAsExpression:(e,t)=>t4(e.expression,t),TSSatisfiesExpression:(e,t)=>t4(e.expression,t),TSTypeAssertion:(e,t)=>t4(e.expression,t),TSNonNullExpression:(e,t)=>t4(e.expression,t),TSInstantiationExpression:(e,t)=>t4(e.expression,t)});function t4(e,t){return null!=e&&Object.hasOwnProperty.call(t2,e.type)?t2[e.type](e,t):null}function t5(e,t){let r="Property"===e.type?e.key:e.property;return e.computed?t4(r,t):"Identifier"===r.type?{value:r.name}:"Literal"===r.type?r.bigint?{value:r.bigint}:{value:String(r.value)}:null}function t8(e,t=null){try{return t4(e,t)}catch(e){return null}}function t6(e,t=null){if(e&&"Literal"===e.type&&null===e.value){if(e.regex)return`/${e.regex.pattern}/${e.regex.flags}`;if(e.bigint)return e.bigint}let r=t8(e,t);if(r)try{return String(r.value)}catch{}return null}function t9(e,t){switch(e.type){case"MemberExpression":if(e.computed)return t6(e.property,t);if("PrivateIdentifier"===e.property.type)break;return e.property.name;case"Property":case"MethodDefinition":case"PropertyDefinition":if(e.computed)return t6(e.key,t);if("Literal"===e.key.type)return String(e.key.value);if("PrivateIdentifier"===e.key.type)break;return e.key.name}return null}function t7(e,t){let r=e.parent,n=[],u="Property"===r.type&&r.value===e,a="MethodDefinition"===r.type&&r.value===e,i="PropertyDefinition"===r.type&&r.value===e;if((a||i)&&(r.static&&n.push("static"),"PrivateIdentifier"===r.key.type&&n.push("private")),e.async&&n.push("async"),e.generator&&n.push("generator"),u||a){if("constructor"===r.kind)return"constructor";"get"===r.kind?n.push("getter"):"set"===r.kind?n.push("setter"):n.push("method")}else i?n.push("method"):("ArrowFunctionExpression"===e.type&&n.push("arrow"),n.push("function"));if(u||a||i)if("PrivateIdentifier"===r.key.type)n.push(`#${r.key.name}`);else{let e=t9(r);if(e)n.push(`'${e}'`);else if(t){let e=t.getText(r.key);e.includes("\n")||n.push(`[${e}]`)}}else e.id?n.push(`'${e.id.name}'`):"VariableDeclarator"===r.type&&r.id&&"Identifier"===r.id.type?n.push(`'${r.id.name}'`):("AssignmentExpression"===r.type||"AssignmentPattern"===r.type)&&r.left&&"Identifier"===r.left.type?n.push(`'${r.left.name}'`):"ExportDefaultDeclaration"===r.type&&r.declaration===e&&n.push("'default'");return n.join(" ")}const re=Object.freeze(new Set(["==","!=","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","|","^","&","in"])),rt=Object.freeze(new Set(["-","+","!","~"]));function rr(e){return null!==e&&"object"==typeof e&&"string"==typeof e.type}const rn=Object.freeze(Object.assign(Object.create(null),{$visit(e,t,r){let{type:n}=e;return"function"==typeof this[n]?this[n](e,t,r):this.$visitChildren(e,t,r)},$visitChildren(e,t,r){let{type:n}=e;for(let u of r[n]||Object.keys(e).filter(tM)){let n=e[u];if(Array.isArray(n)){for(let e of n)if(rr(e)&&this.$visit(e,t,r))return!0}else if(rr(n)&&this.$visit(n,t,r))return!0}return!1},ArrowFunctionExpression:()=>!1,AssignmentExpression:()=>!0,AwaitExpression:()=>!0,BinaryExpression(e,t,r){return!!(t.considerImplicitTypeConversion&&re.has(e.operator))&&("Literal"!==e.left.type||"Literal"!==e.right.type)||this.$visitChildren(e,t,r)},CallExpression:()=>!0,FunctionExpression:()=>!1,ImportExpression:()=>!0,MemberExpression(e,t,r){return!!t.considerGetters||!!t.considerImplicitTypeConversion&&!!e.computed&&"Literal"!==e.property.type||this.$visitChildren(e,t,r)},MethodDefinition(e,t,r){return!!t.considerImplicitTypeConversion&&!!e.computed&&"Literal"!==e.key.type||this.$visitChildren(e,t,r)},NewExpression:()=>!0,Property(e,t,r){return!!t.considerImplicitTypeConversion&&!!e.computed&&"Literal"!==e.key.type||this.$visitChildren(e,t,r)},PropertyDefinition(e,t,r){return!!t.considerImplicitTypeConversion&&!!e.computed&&"Literal"!==e.key.type||this.$visitChildren(e,t,r)},UnaryExpression(e,t,r){return!!("delete"===e.operator||t.considerImplicitTypeConversion&&rt.has(e.operator)&&"Literal"!==e.argument.type)||this.$visitChildren(e,t,r)},UpdateExpression:()=>!0,YieldExpression:()=>!0}));function ru(e,t,r={}){let{considerGetters:n=!1,considerImplicitTypeConversion:u=!1}=r;return rn.$visit(e,{considerGetters:n,considerImplicitTypeConversion:u},t.visitorKeys||tL)}function ra(e,t,r){let n,u,a,i,o;if("number"==typeof e){if(n=0|e,u=t,a=r,!(n>=1))throw TypeError("'times' should be a positive integer.")}else n=1,u=e,a=t;if(null==u||null==u.parent||"CatchClause"===u.parent.type&&u.parent.param===u)return!1;i=o=u;do i=a.getTokenBefore(i),o=a.getTokenAfter(o);while(null!=i&&null!=o&&tV(i)&&tZ(o)&&i!==function(e,t){let r=e.parent;switch(r.type){case"CallExpression":case"NewExpression":if(1===r.arguments.length&&r.arguments[0]===e)return t.getTokenAfter(r.typeParameters||r.callee,tV);return null;case"DoWhileStatement":if(r.test===e)return t.getTokenAfter(r.body,tV);return null;case"IfStatement":case"WhileStatement":if(r.test===e)return t.getFirstToken(r,1);return null;case"ImportExpression":if(r.source===e)return t.getFirstToken(r,1);return null;case"SwitchStatement":if(r.discriminant===e)return t.getFirstToken(r,1);return null;case"WithStatement":if(r.object===e)return t.getFirstToken(r,1);return null;default:return null}}(u,a)&&--n>0);return 0===n}const ri=/^(?:Import|Export(?:All|Default|Named))Declaration$/u,ro=Function.call.bind(Object.hasOwnProperty),rs=Symbol("read"),rd=Symbol("call"),rl=Symbol("construct"),rc=Symbol("esm"),rf={require:{[rd]:!0}};function rp(e){return null==e||0!==e.defs.length||e.references.some(e=>e.isWrite())}class rm{constructor(e,t={}){let{mode:r="strict",globalObjectNames:n=["global","globalThis","self","window"]}=t;this.variableStack=[],this.globalScope=e,this.mode=r,this.globalObjectNames=n.slice(0)}*iterateGlobalReferences(e){for(let t of Object.keys(e)){let r=e[t],n=[t],u=this.globalScope.set.get(t);rp(u)||(yield*this._iterateVariableReferences(u,n,r,!0))}for(let t of this.globalObjectNames){let r=[],n=this.globalScope.set.get(t);rp(n)||(yield*this._iterateVariableReferences(n,r,e,!1))}}*iterateCjsReferences(e){for(let{node:t}of this.iterateGlobalReferences(rf)){let r=t6(t.arguments[0]);if(null==r||!ro(e,r))continue;let n=e[r],u=[r];n[rs]&&(yield{node:t,path:u,type:rs,info:n[rs]}),yield*this._iteratePropertyReferences(t,u,n)}}*iterateEsmReferences(e){for(let t of this.globalScope.block.body){if(!ri.test(t.type)||null==t.source)continue;let r=t.source.value;if(!ro(e,r))continue;let n=e[r],u=[r];if(n[rs]&&(yield{node:t,path:u,type:rs,info:n[rs]}),"ExportAllDeclaration"===t.type)for(let e of Object.keys(n)){let r=n[e];r[rs]&&(yield{node:t,path:u.concat(e),type:rs,info:r[rs]})}else for(let e of t.specifiers){let t=ro(n,rc),r=this._iterateImportReferences(e,u,t?n:"legacy"===this.mode?{default:n,...n}:{default:n});if(t)yield*r;else for(let e of r)e.path=e.path.filter(rg),(e.path.length>=2||e.type!==rs)&&(yield e)}}}*iteratePropertyReferences(e,t){yield*this._iteratePropertyReferences(e,[],t)}*_iterateVariableReferences(e,t,r,n){if(!this.variableStack.includes(e)){this.variableStack.push(e);try{for(let u of e.references){if(!u.isRead())continue;let e=u.identifier;n&&r[rs]&&(yield{node:e,path:t,type:rs,info:r[rs]}),yield*this._iteratePropertyReferences(e,t,r)}}finally{this.variableStack.pop()}}}*_iteratePropertyReferences(e,t,r){let n=e;for(;function(e){let t=e.parent;if(t)switch(t.type){case"ConditionalExpression":return t.consequent===e||t.alternate===e;case"LogicalExpression":case"ChainExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":case"TSInstantiationExpression":return!0;case"SequenceExpression":return t.expressions[t.expressions.length-1]===e}return!1}(n);)n=n.parent;let u=n.parent;if("MemberExpression"===u.type){if(u.object===n){let e=t9(u);if(null==e||!ro(r,e))return;t=t.concat(e);let n=r[e];n[rs]&&(yield{node:u,path:t,type:rs,info:n[rs]}),yield*this._iteratePropertyReferences(u,t,n)}return}if("CallExpression"===u.type){u.callee===n&&r[rd]&&(yield{node:u,path:t,type:rd,info:r[rd]});return}if("NewExpression"===u.type){u.callee===n&&r[rl]&&(yield{node:u,path:t,type:rl,info:r[rl]});return}if("AssignmentExpression"===u.type){u.right===n&&(yield*this._iterateLhsReferences(u.left,t,r),yield*this._iteratePropertyReferences(u,t,r));return}if("AssignmentPattern"===u.type){u.right===n&&(yield*this._iterateLhsReferences(u.left,t,r));return}"VariableDeclarator"===u.type&&u.init===n&&(yield*this._iterateLhsReferences(u.id,t,r))}*_iterateLhsReferences(e,t,r){if("Identifier"===e.type){let n=t$(this.globalScope,e);null!=n&&(yield*this._iterateVariableReferences(n,t,r,!1));return}if("ObjectPattern"===e.type){for(let n of e.properties){let e=t9(n);if(null==e||!ro(r,e))continue;let u=t.concat(e),a=r[e];a[rs]&&(yield{node:n,path:u,type:rs,info:a[rs]}),yield*this._iterateLhsReferences(n.value,u,a)}return}"AssignmentPattern"===e.type&&(yield*this._iterateLhsReferences(e.left,t,r))}*_iterateImportReferences(e,t,r){let n=e.type;if("ImportSpecifier"===n||"ImportDefaultSpecifier"===n){let u="ImportDefaultSpecifier"===n?"default":"Identifier"===e.imported.type?e.imported.name:e.imported.value;if(!ro(r,u))return;t=t.concat(u);let a=r[u];a[rs]&&(yield{node:e,path:t,type:rs,info:a[rs]}),yield*this._iterateVariableReferences(t$(this.globalScope,e.local),t,a,!1);return}if("ImportNamespaceSpecifier"===n)return void(yield*this._iterateVariableReferences(t$(this.globalScope,e.local),t,r,!1));if("ExportSpecifier"===n){let n="Identifier"===e.local.type?e.local.name:e.local.value;if(!ro(r,n))return;t=t.concat(n);let u=r[n];u[rs]&&(yield{node:e,path:t,type:rs,info:u[rs]})}}}function rg(e,t){return 1!==t||"default"!==e}rm.READ=rs,rm.CALL=rd,rm.CONSTRUCT=rl,rm.ESM=rc;const ry="too-deep",rh="should-parenthesized";function rb(e,t){let r=function(e,t){let r=0;for(;ra(r+1,e,t);)r++;return r}(e,t);return 0===r?[]:[...t.getTokensBefore(e,{count:r,filter:tV}),...t.getTokensAfter(e,{count:r,filter:tZ})]}function rE(e,t){let r=rb(e,t),[n]=t.getRange(r[0]??e),[,u]=t.getRange(r.at(-1)??e);return[n,u]}function rv(e,t){let[r,n]=rE(e,t);return t.text.slice(r,n)}function rx(e,t){return e?.type==="Literal"&&(null===t?"null"===e.raw:e.value===t)}const rD=e=>e?.type==="Literal"&&"string"==typeof e.value,rA=e=>"Literal"===e.type&&"number"==typeof e.value,rS=e=>"Literal"===e.type&&!!e.regex,rC=e=>rx(e,null),rT=e=>"Literal"===e.type&&!!e.bigint;function rw(e,t,r){if(!r.includes(e?.type))return!1;"string"==typeof t&&(t={names:[t]}),Array.isArray(t)&&(t={names:t});let{name:n,names:u,argumentsLength:a,minimumArguments:i,maximumArguments:o,allowSpreadElement:s,optional:d}={minimumArguments:0,maximumArguments:1/0,allowSpreadElement:!1,...t};if(n&&(u=[n]),!0===d&&e.optional!==d||!1===d&&e.optional||"number"==typeof a&&e.arguments.length!==a||0!==i&&e.arguments.length<i||Number.isFinite(o)&&e.arguments.length>o)return!1;if(!s){let t=Number.isFinite(o)?o:a;if("number"==typeof t&&e.arguments.some((e,r)=>"SpreadElement"===e.type&&r<t))return!1}return!Array.isArray(u)||!(u.length>0)||"Identifier"===e.callee.type&&!!u.includes(e.callee.name)}const r_=(e,t)=>rw(e,t,["CallExpression"]),rF=(e,t)=>{if("boolean"==typeof t?.optional)throw TypeError("Cannot check node.optional in `isNewExpression`.");return rw(e,t,["NewExpression"])},rk=(e,t)=>rw(e,t,["CallExpression","NewExpression"]),rP=e=>"ExpressionStatement"===e.type&&"string"==typeof e.directive;function rI(e,t){let{type:r}=e;return"BlockStatement"===r?e.body.every(e=>rI(e,t)):!!("EmptyStatement"===r||t?.(e))}function rB(e){return"ExpressionStatement"===e.type||"ChainExpression"===e.type&&"ExpressionStatement"===e.parent.type}const rO=["FunctionDeclaration","FunctionExpression","ArrowFunctionExpression"];function rR(e){return rO.includes(e.type)}function rN(e,t){if(e?.type!=="MemberExpression")return!1;"string"==typeof t&&(t={properties:[t]}),Array.isArray(t)&&(t={properties:t});let{property:r,properties:n,object:u,objects:a,optional:i,computed:o}={property:"",properties:[],object:"",...t};if(r&&(n=[r]),u&&(a=[u]),!0===i&&e.optional!==i||!1===i&&e.optional)return!1;if(Array.isArray(n)&&n.length>0){if("Identifier"!==e.property.type||!n.includes(e.property.name))return!1;o??=!1}return!(!0===o&&e.computed!==o||!1===o&&e.computed||Array.isArray(a)&&a.length>0&&("Identifier"!==e.object.type||!a.includes(e.object.name)))}function rL(e,t){"string"==typeof t&&(t={methods:[t]}),Array.isArray(t)&&(t={methods:t});let{optionalCall:r,optionalMember:n,method:u,methods:a}={method:"",methods:[],...t};return r_(e,{argumentsLength:t.argumentsLength,minimumArguments:t.minimumArguments,maximumArguments:t.maximumArguments,allowSpreadElement:t.allowSpreadElement,optional:r})&&rN(e.callee,{object:t.object,objects:t.objects,computed:t.computed,property:u,properties:a,optional:n})}const rj=e=>r_(e,{name:"require",argumentsLength:1,optional:!1})&&rD(e.arguments[0]);function rM(e,t){let r=t.trim().split(".");for(let t=r.length-1;t>=0;t--){let n=r[t];if(!n)return!1;if(0===t)return"Identifier"===e.type&&e.name===n||"this"===n&&"ThisExpression"===e.type;if("MemberExpression"!==e.type||e.optional||e.computed||"Identifier"!==e.property.type||e.property.name!==n)return!1;e=e.object}}function r$(e,t){return t.some(t=>rM(e,t))}function rU(e,t){return"TemplateLiteral"===e.type&&"TaggedTemplateExpression"===e.parent.type&&e.parent.quasi===e&&(!t||r$(e.parent.tag,t))}function rq(e){return"Identifier"===e.type&&"undefined"===e.name}const rz=(e,t)=>(function(e,t){let{object:r,property:n,properties:u}={property:"",properties:[],...t};if(!rN(e,{property:n,properties:u,optional:!1}))return;let a=e.object;return rN(a,{object:r,property:"prototype",optional:!1})||"Array"===r&&"ArrayExpression"===a.type&&0===a.elements.length||"Object"===r&&"ObjectExpression"===a.type&&0===a.properties.length})(e,{...t,object:"Array"}),rW=e=>e?.type==="LogicalExpression"&&("&&"===e.operator||"||"===e.operator),rY=e=>e?.type==="UnaryExpression"&&"!"===e.operator,rV=e=>e?.type==="CallExpression"&&"Identifier"===e.callee.type&&"Boolean"===e.callee.name&&1===e.arguments.length;function rZ(e){if(rY(e)||rY(e.parent)&&e.parent.argument===e||rV(e)||rV(e.parent)&&e.parent.arguments[0]===e)return!0;let{parent:t}=e;return t?.type==="VExpressionContainer"&&"VAttribute"===t.parent.type&&!!t.parent.directive&&t.parent.value===t&&"VDirectiveKey"===t.parent.key.type&&"VIdentifier"===t.parent.key.name.type&&("if"===t.parent.key.name.rawName||"else-if"===t.parent.key.name.rawName||"show"===t.parent.key.name.rawName)||("IfStatement"===t.type||"ConditionalExpression"===t.type||"WhileStatement"===t.type||"DoWhileStatement"===t.type||"ForStatement"===t.type)&&t.test===e||!!rW(t)&&rZ(t)}function rG(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var rK=rG(function(){if(n)return r;n=1;let e={},t=e.hasOwnProperty,u=(e,r)=>{for(let n in e)t.call(e,n)&&r(n,e[n])},a=e=>"\\u"+("0000"+e).slice(-4),i=(e,t)=>{let r=e.toString(16);return t?r:r.toUpperCase()},o=e.toString,s=Array.isArray,d={"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},l=/[\\\b\f\n\r\t]/,c=/[0-9]/,f=/[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,p=/([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^]/g,m=/([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^ !#-&\(-\[\]-_a-~]/g,g=(e,t)=>{let r,n,y=()=>{A=D,++t.indentLevel,D=t.indent.repeat(t.indentLevel)},h={escapeEverything:!1,minimal:!1,isScriptContext:!1,quotes:"single",wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:"decimal",indent:" ",indentLevel:0,__inline1__:!1,__inline2__:!1},b=t&&t.json;b&&(h.quotes="double",h.wrap=!0),"single"!=(!(I=t)||u(I,(e,t)=>{h[e]=t}),t=h).quotes&&"double"!=t.quotes&&"backtick"!=t.quotes&&(t.quotes="single");let E="double"==t.quotes?'"':"backtick"==t.quotes?"`":"'",v=t.compact,x=t.lowercaseHex,D=t.indent.repeat(t.indentLevel),A="",S=t.__inline1__,C=t.__inline2__,T=v?"":"\n",w=!0,_="binary"==t.numbers,F="octal"==t.numbers,k="decimal"==t.numbers,P="hexadecimal"==t.numbers;if(b&&e&&"function"==typeof e.toJSON&&(e=e.toJSON()),"string"!=typeof(n=e)&&"[object String]"!=o.call(n)){let n,a,i,d;if(n=e,"[object Map]"==o.call(n))return 0==e.size?"new Map()":(v||(t.__inline1__=!0,t.__inline2__=!1),"new Map("+g(Array.from(e),t)+")");if(a=e,"[object Set]"==o.call(a))return 0==e.size?"new Set()":"new Set("+g(Array.from(e),t)+")";if(i=e,"function"==typeof Buffer&&Buffer.isBuffer(i))return 0==e.length?"Buffer.from([])":"Buffer.from("+g(Array.from(e),t)+")";if(s(e)){r=[],t.wrap=!0,S&&(t.__inline1__=!1,t.__inline2__=!0),C||y();var I,B=e,O=e=>{w=!1,C&&(t.__inline2__=!1),r.push((v||C?"":D)+g(e,t))};let n=B.length,u=-1;for(;++u<n;)O(B[u]);return w?"[]":C?"["+r.join(", ")+"]":"["+T+r.join(","+T)+T+(v?"":A)+"]"}if("number"==typeof(d=e)||"[object Number]"==o.call(d)||"bigint"==typeof e){let t;if(b)return JSON.stringify(Number(e));if(k)t=String(e);else if(P){let r=e.toString(16);x||(r=r.toUpperCase()),t="0x"+r}else _?t="0b"+e.toString(2):F&&(t="0o"+e.toString(8));return"bigint"==typeof e?t+"n":t}{let n;if("bigint"==typeof e)return b?JSON.stringify(Number(e)):e+"n";return(n=e,"[object Object]"==o.call(n))?(r=[],t.wrap=!0,y(),u(e,(e,n)=>{w=!1,r.push((v?"":D)+g(e,t)+":"+(v?"":" ")+g(n,t))}),w)?"{}":"{"+T+r.join(","+T)+T+(v?"":A)+"}":b?JSON.stringify(e)||"null":String(e)}}let R=t.escapeEverything?p:m;return r=e.replace(R,(e,r,n,u,o,s)=>{if(r){if(t.minimal)return r;let e=r.charCodeAt(0),n=r.charCodeAt(1);return t.es6?"\\u{"+i((e-55296)*1024+n-56320+65536,x)+"}":a(i(e,x))+a(i(n,x))}if(n)return a(i(n.charCodeAt(0),x));if("\0"==e&&!b&&!c.test(s.charAt(o+1)))return"\\0";if(u)return u==E||t.escapeEverything?"\\"+u:u;if(l.test(e))return d[e];if(t.minimal&&!f.test(e))return e;let p=i(e.charCodeAt(0),x);return b||p.length>2?a(p):"\\x"+("00"+p).slice(-2)}),"`"==E&&(r=r.replace(/\$\{/g,"\\${")),t.isScriptContext&&(r=r.replace(/<\/(script|style)/gi,"<\\/$1").replace(/<!--/g,b?"\\u003C!--":"\\x3C!--")),t.wrap&&(r=E+r+E),r};return g.version="3.0.2",r=g}());function rH(e,t="'"){if("string"!=typeof e)throw TypeError("Unexpected string.");return rK(e,{quotes:'"'===t?"double":"single",wrap:!0,es6:!0,minimal:!0,lowercaseHex:!1})}var rX={},rJ={},rQ={},r0=rG(function(){var e,t;return i?rX:(i=1,Object.defineProperty(rX,"__esModule",{value:!0}),Object.defineProperty(rX,"isIdentifierChar",{enumerable:!0,get:function(){return e.isIdentifierChar}}),Object.defineProperty(rX,"isIdentifierName",{enumerable:!0,get:function(){return e.isIdentifierName}}),Object.defineProperty(rX,"isIdentifierStart",{enumerable:!0,get:function(){return e.isIdentifierStart}}),Object.defineProperty(rX,"isKeyword",{enumerable:!0,get:function(){return t.isKeyword}}),Object.defineProperty(rX,"isReservedWord",{enumerable:!0,get:function(){return t.isReservedWord}}),Object.defineProperty(rX,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return t.isStrictBindOnlyReservedWord}}),Object.defineProperty(rX,"isStrictBindReservedWord",{enumerable:!0,get:function(){return t.isStrictBindReservedWord}}),Object.defineProperty(rX,"isStrictReservedWord",{enumerable:!0,get:function(){return t.isStrictReservedWord}}),e=function(){if(u)return rJ;u=1,Object.defineProperty(rJ,"__esModule",{value:!0}),rJ.isIdentifierChar=d,rJ.isIdentifierName=function(e){let t=!0;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);if((64512&n)==55296&&r+1<e.length){let t=e.charCodeAt(++r);(64512&t)==56320&&(n=65536+((1023&n)<<10)+(1023&t))}if(t){if(t=!1,!s(n))return!1}else if(!d(n))return!1}return!t},rJ.isIdentifierStart=s;let e="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-Ა-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-Ꟑꟑꟓꟕ-ꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",t="\xb7̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・",r=RegExp("["+e+"]"),n=RegExp("["+e+t+"]");e=t=null;let a=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],i=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239];function o(e,t){let r=65536;for(let n=0,u=t.length;n<u&&!((r+=t[n])>e);n+=2)if((r+=t[n+1])>=e)return!0;return!1}function s(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&r.test(String.fromCharCode(e)):o(e,a)))}function d(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&n.test(String.fromCharCode(e)):o(e,a)||o(e,i))))}return rJ}(),t=function(){if(a)return rQ;a=1,Object.defineProperty(rQ,"__esModule",{value:!0}),rQ.isKeyword=function(t){return e.has(t)},rQ.isReservedWord=n,rQ.isStrictBindOnlyReservedWord=i,rQ.isStrictBindReservedWord=function(e,t){return u(e,t)||i(e)},rQ.isStrictReservedWord=u;let e=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),t=new Set(["implements","interface","let","package","private","protected","public","static","yield"]),r=new Set(["eval","arguments"]);function n(e,t){return t&&"await"===e||"enum"===e}function u(e,r){return n(e,r)||t.has(e)}function i(e){return r.has(e)}return rQ}(),rX)}());const r1=e=>[e,...e.childScopes.flatMap(e=>r1(e))],r3=e=>[...new Set(r1(e).flatMap(({references:e})=>e))],{isIdentifierName:r2,isStrictReservedWord:r4,isKeyword:r5}=r0,r8=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with","as","implements","interface","let","package","private","protected","public","static","yield","any","boolean","constructor","declare","get","module","require","number","set","string","symbol","type","from","of"]),r6=e=>"string"==typeof e&&!r5(e)&&!r4(e,!0)&&r2(e)&&"arguments"!==e&&!r8.has(e),r9=(e,t)=>!t.some(t=>(function(e,t){for(;t;){let r=t.set.get(e);if(r)return r;t=t.upper}})(e,t)||r3(t).some(({identifier:t,resolved:r})=>t?.name===e&&!r)),r7=()=>!0;function ne(e,t,r=r7){if(r6(e)||r6(e+="_")){for(;!r9(e,t)||!r(e,t);)e+="_";return e}}function nt(e,t){let r=e.getTokenAfter(t.callee,tV),[n,u]=e.getLastTokens(t,2);return{openingParenthesisToken:r,closingParenthesisToken:u,trailingCommaToken:tz(n)?n:void 0}}function nr(e,t){let{start:{line:r,column:n}}=t.getLoc(e);return t.getLines()[r-1].slice(0,n).match(/\s*$/)[0]}function nn(e,t){let{sourceCode:r}=e;return r.parserServices.getTemplateBodyTokenStore&&r.ast.templateBody&&r.getRange(r.ast.templateBody)[0]<=r.getRange(t)[0]&&r.getRange(t)[1]<=r.getRange(r.ast.templateBody)[1]?r.parserServices.getTemplateBodyTokenStore():r}const nu=({identifiers:e,references:t})=>[...new Set([...e,...t.map(({identifier:e})=>e)])],na=(e,t)=>{let{references:r=[]}=t$(e,t)||{};return r},ni=e=>("AssignmentExpression"===e.parent.type||"AssignmentPattern"===e.parent.type)&&e.parent.left===e||"UpdateExpression"===e.parent.type&&e.parent.argument===e||"ArrayPattern"===e.parent.type&&e.parent.elements.includes(e)||"Property"===e.parent.type&&e.parent.value===e&&"ObjectPattern"===e.parent.parent.type&&e.parent.parent.properties.includes(e.parent)||"UnaryExpression"===e.parent.type&&"delete"===e.parent.operator&&e.parent.argument===e,no=new Set(["ArrayExpression","BinaryExpression","ClassExpression","Literal","ObjectExpression","TemplateLiteral","UnaryExpression","UpdateExpression"]),ns=new Set(["AssignmentExpression","AwaitExpression","NewExpression","TaggedTemplateExpression","ThisExpression"]);function nd(e,t){return e.loc.start.line===t.loc.start.line}const nl=(e,t)=>"Identifier"===e.type&&"Identifier"===t.type&&e.name===t.name;function nc(e){let t;switch(e?.type){case"MemberExpression":t=e.property;break;case"ChainExpression":return nc(e.expression);case"Property":case"MethodDefinition":t=e.key}if(t){if("Identifier"===t.type&&!e.computed)return t.name;let r=t8(t);if(!r)return;return String(r.value)}}function nf(e,t){if(e.type!==t.type)return"ChainExpression"===e.type?nf(e.expression,t):"ChainExpression"===t.type&&nf(e,t.expression);switch(e.type){case"Super":case"ThisExpression":return!0;case"Identifier":case"PrivateIdentifier":return e.name===t.name;case"Literal":return e.regex||t.regex?!!(e.regex&&t.regex&&e.regex.pattern===t.regex.pattern&&e.regex.flags===t.regex.flags):e.bigint||t.bigint?e.bigint===t.bigint:e.value===t.value;case"ChainExpression":return nf(e.expression,t.expression);case"MemberExpression":{let r=nc(e);if(void 0!==r)return nf(e.object,t.object)&&r===nc(t);return e.computed===t.computed&&nf(e.object,t.object)&&nf(e.property,t.property)}default:return!1}}const np=(e,t)=>e&&t&&e.range[0]===t.range[0]&&e.range[1]===t.range[1],nm=e=>"Property"===e.parent.type&&e.parent.shorthand&&e===e.parent.value,ng=new Set(["String","Null","Boolean","Numeric","RegularExpression"]),ny=new Set(["[","(","/","`","+","-","*",",","."]);function nh(e,t,r){if(""===r||r&&!ny.has(r.charAt(0))||!e)return!1;let{type:n,value:u}=e,a=t.getRange(e),i=t.getNodeByRangeIndex(a[0]);if("Punctuator"===n){if(";"===u)return!1;if("]"===u)return!0;if(")"===u){switch(i.type){case"IfStatement":if(t.getTokenBefore(i.consequent)===e)return!1;break;case"ForStatement":case"ForInStatement":case"ForOfStatement":case"WhileStatement":case"DoWhileStatement":case"WithStatement":if(i.body&&t.getTokenBefore(i.body)===e)return!1}return!0}}return!!ng.has(n)||("Template"===n?u.endsWith("`"):"ObjectExpression"===i.type||"Identifier"===n&&("of"!==u||"ForOfStatement"!==i.type)&&("await"!==u||"AwaitExpression"!==i.type))}const nb=e=>"function"==typeof e?.[Symbol.iterator];class nE extends Error{name="FixAbortError"}const nv={abort(){throw new nE("Fix aborted.")}};function nx(e){return t=>{let r=e(t,nv);if(nb(r))try{return[...r]}catch(e){if(e instanceof nE)return;throw e}return r}}const nD=new Set;function nA(e){if(nD.has(e))return e;let t=t=>{let r={},n=(e,t)=>{r[e]??=[],r[e].push(t)};for(let[r,u]of Object.entries(e(new Proxy(t,{get:(e,t,r)=>"on"===t?(e,t)=>{for(let r of Array.isArray(e)?e:[e])n(r,t)}:"onExit"===t?(e,t)=>{for(let r of Array.isArray(e)?e:[e])n(`${r}:exit`,t)}:Reflect.get(e,t,r)}))??{}))n(r,u);return Object.fromEntries(Object.entries(r).map(([e,r])=>[e,(...e)=>{for(let u of r){var n=u(...e);if(n){for(let e of(nb(n)||(n=[n]),n))if(e){if(e.fix&&=nx(e.fix),Array.isArray(e.suggest))for(let t of e.suggest)t.fix&&=nx(t.fix),t.data={...e.data,...t.data};t.report(e)}}}}]))};return nD.add(t),t}function nS(e,t){let{visitScriptBlock:r}={visitScriptBlock:!0,...t};e=nA(e);let n=t=>{let n=e(t),{parserServices:u}=t.sourceCode;return u?.defineTemplateBodyVisitor?r?u.defineTemplateBodyVisitor(n,n):u.defineTemplateBodyVisitor(n):n};return nD.add(n),n}function nC(e,t){if(e.arguments.length>0)return!0;let[r,n]=t.getLastTokens(e,2);return tV(r)&&tZ(n)&&t.getRange(e.callee)[1]<t.getRange(e)[1]}const nT=/^(?:0|0[0-7]*[89]\d*|[1-9](?:_?\d)*)$/u,nw=e=>nT.test(e);function n_(e,t){switch(e.type){case"Identifier":case"MemberExpression":case"CallExpression":case"ChainExpression":case"TemplateLiteral":case"ThisExpression":case"ArrayExpression":case"FunctionExpression":return!1;case"NewExpression":return!nC(e,t);case"Literal":if(rA(e)&&nw(e.raw))return!0;return!1;default:return!0}}var nF={exports:{}},nk=nF.exports,nP=rG(function(){return o?nF.exports:(o=1,nF.exports=function(){var e=[],t=[],r={},n={},u={};function a(e){return"string"==typeof e?RegExp("^"+e+"$","i"):e}function i(e,t){return e===t?t:e===e.toLowerCase()?t.toLowerCase():e===e.toUpperCase()?t.toUpperCase():e[0]===e[0].toUpperCase()?t.charAt(0).toUpperCase()+t.substr(1).toLowerCase():t.toLowerCase()}function o(e,t,n){if(!e.length||r.hasOwnProperty(e))return t;for(var u=n.length;u--;){var a=n[u];if(a[0].test(t))return function(e,t){return e.replace(t[0],function(r,n){var u,a,o=(u=t[1],a=arguments,u.replace(/\$(\d{1,2})/g,function(e,t){return a[t]||""}));return""===r?i(e[n-1],o):i(r,o)})}(t,a)}return t}function s(e,t,r){return function(n){var u=n.toLowerCase();return t.hasOwnProperty(u)?i(n,u):e.hasOwnProperty(u)?i(n,e[u]):o(u,n,r)}}function d(e,t,r,n){return function(n){var u=n.toLowerCase();return!!t.hasOwnProperty(u)||!e.hasOwnProperty(u)&&o(u,u,r)===u}}function l(e,t,r){var n=1===t?l.singular(e):l.plural(e);return(r?t+" ":"")+n}return l.plural=s(u,n,e),l.isPlural=d(u,n,e),l.singular=s(n,u,t),l.isSingular=d(n,u,t),l.addPluralRule=function(t,r){e.push([a(t),r])},l.addSingularRule=function(e,r){t.push([a(e),r])},l.addUncountableRule=function(e){if("string"==typeof e){r[e.toLowerCase()]=!0;return}l.addPluralRule(e,"$0"),l.addSingularRule(e,"$0")},l.addIrregularRule=function(e,t){t=t.toLowerCase(),u[e=e.toLowerCase()]=t,n[t]=e},[["I","we"],["me","us"],["he","they"],["she","they"],["them","them"],["myself","ourselves"],["yourself","yourselves"],["itself","themselves"],["herself","themselves"],["himself","themselves"],["themself","themselves"],["is","are"],["was","were"],["has","have"],["this","these"],["that","those"],["echo","echoes"],["dingo","dingoes"],["volcano","volcanoes"],["tornado","tornadoes"],["torpedo","torpedoes"],["genus","genera"],["viscus","viscera"],["stigma","stigmata"],["stoma","stomata"],["dogma","dogmata"],["lemma","lemmata"],["schema","schemata"],["anathema","anathemata"],["ox","oxen"],["axe","axes"],["die","dice"],["yes","yeses"],["foot","feet"],["eave","eaves"],["goose","geese"],["tooth","teeth"],["quiz","quizzes"],["human","humans"],["proof","proofs"],["carve","carves"],["valve","valves"],["looey","looies"],["thief","thieves"],["groove","grooves"],["pickaxe","pickaxes"],["passerby","passersby"]].forEach(function(e){return l.addIrregularRule(e[0],e[1])}),[[/s?$/i,"s"],[/[^\u0000-\u007F]$/i,"$0"],[/([^aeiou]ese)$/i,"$1"],[/(ax|test)is$/i,"$1es"],[/(alias|[^aou]us|t[lm]as|gas|ris)$/i,"$1es"],[/(e[mn]u)s?$/i,"$1s"],[/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i,"$1"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1i"],[/(alumn|alg|vertebr)(?:a|ae)$/i,"$1ae"],[/(seraph|cherub)(?:im)?$/i,"$1im"],[/(her|at|gr)o$/i,"$1oes"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,"$1a"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,"$1a"],[/sis$/i,"ses"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,"$1$2ves"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/([^ch][ieo][ln])ey$/i,"$1ies"],[/(x|ch|ss|sh|zz)$/i,"$1es"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,"$1ices"],[/\b((?:tit)?m|l)(?:ice|ouse)$/i,"$1ice"],[/(pe)(?:rson|ople)$/i,"$1ople"],[/(child)(?:ren)?$/i,"$1ren"],[/eaux$/i,"$0"],[/m[ae]n$/i,"men"],["thou","you"]].forEach(function(e){return l.addPluralRule(e[0],e[1])}),[[/s$/i,""],[/(ss)$/i,"$1"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i,"$1fe"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,"$1f"],[/ies$/i,"y"],[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,"$1ie"],[/\b(mon|smil)ies$/i,"$1ey"],[/\b((?:tit)?m|l)ice$/i,"$1ouse"],[/(seraph|cherub)im$/i,"$1"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i,"$1"],[/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i,"$1sis"],[/(movie|twelve|abuse|e[mn]u)s$/i,"$1"],[/(test)(?:is|es)$/i,"$1is"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1us"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,"$1um"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,"$1on"],[/(alumn|alg|vertebr)ae$/i,"$1a"],[/(cod|mur|sil|vert|ind)ices$/i,"$1ex"],[/(matr|append)ices$/i,"$1ix"],[/(pe)(rson|ople)$/i,"$1rson"],[/(child)ren$/i,"$1"],[/(eau)x?$/i,"$1"],[/men$/i,"man"]].forEach(function(e){return l.addSingularRule(e[0],e[1])}),["adulthood","advice","agenda","aid","aircraft","alcohol","ammo","analytics","anime","athletics","audio","bison","blood","bream","buffalo","butter","carp","cash","chassis","chess","clothing","cod","commerce","cooperation","corps","debris","diabetes","digestion","elk","energy","equipment","excretion","expertise","firmware","flounder","fun","gallows","garbage","graffiti","hardware","headquarters","health","herpes","highjinks","homework","housework","information","jeans","justice","kudos","labour","literature","machinery","mackerel","mail","media","mews","moose","music","mud","manga","news","only","personnel","pike","plankton","pliers","police","pollution","premises","rain","research","rice","salmon","scissors","series","sewage","shambles","shrimp","software","species","staff","swine","tennis","traffic","transportation","trout","tuna","wealth","welfare","whiting","wildebeest","wildlife","you",/pok[eé]mon$/i,/[^aeiou]ese$/i,/deer$/i,/fish$/i,/measles$/i,/o[iu]s$/i,/pox$/i,/sheep$/i].forEach(l.addUncountableRule),l}(),nF.exports)}());function nI(e,t,r=0,n=0){let[u,a]=Array.isArray(e)?e:t.getRange(e);return{start:t.getLocFromIndex(u+r),end:t.getLocFromIndex(a+n)}}const nB=e=>e.charAt(0).toUpperCase()+e.slice(1),nO="prefer-event-target",nR=new Set(["@angular/core","eventemitter3"]),nN=e=>"VariableDeclarator"===e.parent.type&&e.parent.id===e&&"VariableDeclaration"===e.parent.parent.type&&"const"===e.parent.parent.kind&&e.parent.parent.declarations.includes(e.parent);function nL(e){let t;return!!e&&(rj(e)?[t]=e.arguments:"AwaitExpression"===e.type&&"ImportExpression"===e.argument.type&&({source:t}=e.argument),!!(rD(t)&&nR.has(t.value)))}const nj={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",186:";",187:"=",188:",",189:"-",190:".",191:"/",219:"[",220:"\\",221:"]",222:"'",224:"Meta"},nM="prefer-keyboard-event-key",n$=new Set(["keyCode","charCode","which"]),nU=e=>e?.type==="CallExpression"&&"MemberExpression"===e.callee.type&&"addEventListener"===e.callee.property.name,nq=(e,t)=>{let r=nz(t,"CallExpression",nU),n=r?.arguments[1];switch(n?.type){case"ArrowFunctionExpression":case"FunctionExpression":{let t=e.sourceCode.getDeclaredVariables(n)[0],r=t?.references;return{event:n.params[0],references:r}}default:return{}}},nz=(e,t,r=()=>!0)=>{let n=e;for(;n;){if(n.type===t&&r(n))return n;n=n.parent}},nW=e=>({messageId:nM,data:{name:e.name},node:e,fix:t=>{let r=((e,t)=>{let r=e;for(;r&&t;)t--,r=r.parent;if(0===t)return r})(e,3);if(!r||"IfStatement"!==r.type)return;let{type:n,operator:u,right:a}=r.test;if(!("BinaryExpression"===n&&("=="===u||"==="===u)&&rA(a)))return;let i=nj[a.value]||String.fromCodePoint(a.value);if(i)return[t.replaceText(e,"key"),t.replaceText(a,rH(i))]}}),nY="error",nV="suggestion";function*nZ(e,t,r){for(let n of rb(e,r))yield t.remove(n)}function nG(e,t,r,n){if("CallExpression"!==t.type)throw Error(`Unexpected node "${t.type}".`);let[u,a]=n.getLastTokens(t,2);return t.arguments.length>0&&(r=tz(u)?` ${r},`:`, ${r}`),e.insertTextBefore(a,r)}function nK(e,t,r){let n=t.parent,u=n.arguments.indexOf(t),a=rb(t,r),i=a[0]||t,o=a.at(-1)||t,[s]=r.getRange(i),[,d]=r.getRange(o);if(0!==u){let e=r.getTokenBefore(i);[s]=r.getRange(e)}if(1===n.arguments.length){let e=r.getTokenBefore(o);tz(e)&&([,d]=r.getRange(e))}return e.removeRange([s,d])}function nH(e,t,r,n){return e.replaceTextRange(rE(t,n),r)}function*nX(e,t,r){if("ReturnStatement"!==t.type&&"ThrowStatement"!==t.type)return;let n=r.getFirstToken(t);yield e.insertTextAfter(n," (");let u=r.getLastToken(t);if(!tW(u))return void(yield e.insertTextAfter(t,")"));yield e.insertTextBefore(u,")")}function nJ(e,t,r){let n=e;"object"==typeof e&&(n=t.getRange(e)[1]);let[u]=t.text.slice(n).match(/^\s*/);return r.removeRange([n,n+u.length])}function*nQ(e,t,r){let n=t.getFirstToken(e);yield r.remove(n),yield nJ(n,t,r),nC(e,t)||(yield r.insertTextAfter(e,"()")),nd(n,e.callee)||ra(e,t)||(yield*nX(r,e.parent,t))}const n0=({type:e,value:t})=>"Keyword"===e&&/^[a-z]*$/.test(t)||"Identifier"===e&&"of"===t||"Identifier"===e&&"await"===t;function*n1(e,t,r){let n=rE(t,r),u=r.getTokenBefore({range:n},{includeComments:!0});u&&n[0]===r.getRange(u)[1]&&n0(u)&&(yield e.insertTextAfter(u," "));let a=r.getTokenAfter({range:n},{includeComments:!0});a&&n[1]===r.getRange(a)[0]&&n0(a)&&(yield e.insertTextBefore(a," "))}function*n3(e,t,r){var n;yield*n1(r,e,t),yield r.insertTextBefore(e,"new ");let{callee:u}=e;!ra(u,t)&&"MemberExpression"===(n=u).type&&function(e){let t=e.object,r=e.object.type;for(;"MemberExpression"===r;)r=(t=t.object).type;return"CallExpression"===r}(n)&&(yield r.insertTextBefore(u,"("),yield r.insertTextAfter(u,")"))}function n2(e,t,r,n){let[,u]=rE(t.object,r),[,a]=r.getRange(t);return e.replaceTextRange([u,a],n)}const n4=(e,t,r)=>n2(e,t,r,"");function*n5(e,t,r){let n=t.callee;yield n4(e,n,r);let[,u]=rE(n,r),[,a]=r.getRange(t);yield e.removeRange([u,a])}const n8=(e,t,r)=>{let{range:[n,u],tail:a}=t;return e.replaceTextRange([n+1,u-(a?1:2)],r)};function n6(e,t,r){return nm(e)||"AssignmentPattern"===e.parent.type&&e.parent.left===e&&nm(e.parent)?r.replaceText(e,`${e.name}: ${t}`):(e=>{let{type:t,local:r,imported:n}=e.parent;return"ImportSpecifier"===t&&np(r,n)&&r===e})(e)?r.replaceText(e,`${e.name} as ${t}`):(e=>{let{type:t,local:r,exported:n}=e.parent;return"ExportSpecifier"===t&&np(r,n)&&r===e})(e)?r.replaceText(e,`${t} as ${e.name}`):e.typeAnnotation?r.replaceTextRange([e.range[0],e.typeAnnotation.range[0]],`${t}${e.optional?"?":""}`):r.replaceText(e,t)}const n9=(e,t,r)=>nu(e).map(e=>n6(e,t,r));function*n7(e,t,r,n,u=n){for(let t of rb(e,u))yield*n7(t,"",r,n,u);let[a,i]=n.getRange(e),[o]=n.text.slice(0,a).match(/\s*$/),[s]=o.match(/(?:\r?\n|\r){0,1}/);a-=o.length,yield r.replaceTextRange([a,i],`${s}${t}`)}const ue="require-array-join-separator",ut="no-thenable-object",ur="no-thenable-export",un="no-thenable-class",uu=(e,t)=>t8(e,t.sourceCode.getScope(e))?.value==="then",ua=(e,t)=>"then"===t9(e,t.sourceCode.getScope(e)),ui=[{selector:"ObjectExpression",*getNodes(e,t){for(let r of e.properties)"Property"===r.type&&ua(r,t)&&(yield r.key)},messageId:ut},{selectors:["PropertyDefinition","MethodDefinition"],*getNodes(e,t){"then"===t9(e,t.sourceCode.getScope(e))&&(yield e.key)},messageId:un},{selector:"MemberExpression",*getNodes(e,t){"AssignmentExpression"===e.parent.type&&e.parent.left===e&&"then"===t9(e,t.sourceCode.getScope(e))&&(yield e.property)},messageId:ut},{selector:"CallExpression",*getNodes(e,t){if(!(rL(e,{objects:["Object","Reflect"],method:"defineProperty",minimumArguments:3,optionalCall:!1,optionalMember:!1})&&"SpreadElement"!==e.arguments[0].type))return;let[,r]=e.arguments;uu(r,t)&&(yield r)},messageId:ut},{selector:"CallExpression",*getNodes(e,t){if(rL(e,{object:"Object",method:"fromEntries",argumentsLength:1,optionalCall:!1,optionalMember:!1})&&"ArrayExpression"===e.arguments[0].type){for(let r of e.arguments[0].elements)if(r?.type==="ArrayExpression"&&r.elements[0]&&"SpreadElement"!==r.elements[0].type){let[e]=r.elements;uu(e,t)&&(yield e)}}},messageId:ut},{selector:"Identifier",*getNodes(e){"then"===e.name&&"ExportSpecifier"===e.parent.type&&e.parent.exported===e&&(yield e)},messageId:ur},{selector:"Identifier",*getNodes(e){"then"===e.name&&("FunctionDeclaration"===e.parent.type||"ClassDeclaration"===e.parent.type)&&e.parent.id===e&&"ExportNamedDeclaration"===e.parent.parent.type&&e.parent.parent.declaration===e.parent&&(yield e)},messageId:ur},{selector:"VariableDeclaration",*getNodes(e,t){if("ExportNamedDeclaration"===e.parent.type&&e.parent.declaration===e)for(let r of t.sourceCode.getDeclaredVariables(e))"then"===r.name&&(yield*r.identifiers)},messageId:ur}],uo="no-invalid-remove-event-listener",us="consistent-function-scoping",ud=(e,t)=>e&&t&&(e===t||e.block===t.block),ul=["useState","useEffect","useContext","useReducer","useCallback","useMemo","useRef","useImperativeHandle","useLayoutEffect","useDebugValue"].flatMap(e=>[e,`React.${e}`]),uc=e=>"function"===e.type&&e.block?.type==="ArrowFunctionExpression"&&(e.thisFound||e.childScopes.some(e=>uc(e))),uf=new Set(["FunctionExpression","ArrowFunctionExpression"]),up={create:e=>{let{checkArrowFunctions:t}={checkArrowFunctions:!0,...e.options[0]},{sourceCode:r}=e,{scopeManager:n}=r,u=[];e.on(rO,()=>{u.push(!1)}),e.on("JSXElement",()=>{u.length>0&&(u[u.length-1]=!0)}),e.onExit(rO,e=>{if(!u.pop()&&("ArrowFunctionExpression"!==e.type||t)&&!function(e,t){let r,n=t.acquire(e);if(!n||uc(n))return!0;let u=e.parent;"VariableDeclarator"===u.type&&(u=u.parent),"VariableDeclaration"===u.type&&(u=u.parent),"BlockStatement"===u.type&&(u=u.parent);let a=t.acquire(u);return!!(!a||"global"===a.type||a.block?.parent?.callee&&r$(a.block.parent.callee,ul)||(r=u,uf.has(r.type)&&"CallExpression"===r.parent.type&&r.parent.callee===r))||r3(n).map(({resolved:e})=>e).filter(Boolean).some(e=>e.references.some(e=>{if(ud(a,e.from))return!0;let{resolved:t}=e,[r]=t.defs;return(r?.type!=="FunctionName"||t.name!==r.name.name)&&ud(a,t.scope)})||e.defs.some(e=>ud(a,t.acquire(e.node)))||e.identifiers.some(e=>{if(!e.parent||"FunctionDeclaration"!==e.parent.type||t.acquire(e))return!1;let r=t.acquire(e.parent);return!(!r||ud(n,r))&&ud(a,r.upper)}))}(e,n))return{node:e,loc:tH(e,r),messageId:us,data:{functionNameWithKind:t7(e,r)}}})},meta:{type:"suggestion",docs:{description:"Move function definitions to the highest possible scope.",recommended:!0},schema:[{type:"object",additionalProperties:!1,properties:{checkArrowFunctions:{type:"boolean"}}}],defaultOptions:[{checkArrowFunctions:!0}],messages:{[us]:"Move {{functionNameWithKind}} to the outer scope."}}},um=(e,t,r)=>"MemberExpression"===e.type&&!e.computed&&!e.optional&&"Identifier"===e.object.type&&e.object.name===t&&"Identifier"===e.property.type&&r.has(e.property.name),ug=(e,t)=>"CallExpression"===e.type&&!e.optional&&"Identifier"===e.callee.type&&e.callee.name===t,uy=new Set(["E","LN2","LN10","LOG2E","LOG10E","PI","SQRT1_2","SQRT2"]),uh=new Set(["abs","acos","acosh","asin","asinh","atan","atanh","atan2","cbrt","ceil","clz32","cos","cosh","exp","expm1","floor","fround","hypot","imul","log","log1p","log10","log2","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh","trunc"]),ub=new Set(["EPSILON","MAX_SAFE_INTEGER","MAX_VALUE","MIN_SAFE_INTEGER","MIN_VALUE","NaN","NEGATIVE_INFINITY","POSITIVE_INFINITY"]),uE=new Set(["parseFloat","parseInt"]),uv=new Set(["-","*","/","%","**","<<",">>","|","^","&"]),ux="error",uD="error-unknown",uA="suggestion";function uS(e,t,r){return function*(n){yield n.insertTextAfter(e.callee,`.${r}`),yield*nQ(e,t,n)}}const uC="no-console-spaces",uT=e=>e.length>1&&" "===e.charAt(0)&&" "!==e.charAt(1),uw=e=>e.length>1&&" "===e.at(-1)&&" "!==e.at(-2),u_="no-empty-file",uF="no-useless-fallback-in-spread",uk="zero-fraction",uP="dangling-dot",uI="error",uB="suggestion",uO=Symbol.for("default"),uR=Symbol("NAMESPACE_SPECIFIER_NAME"),uN=e=>{switch(e.type){case"Identifier":return Symbol.for(e.name);case"Literal":return e.value}},uL=e=>"type"===e.exportKind||"type"===e.parent.exportKind;function*uj(e,t,r){switch(e.type){case"ImportSpecifier":case"ExportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":return void(yield*function*(e,t,r,n=!1){let u=e.parent,{specifiers:a}=u;if(1===a.length&&!n)return void(yield t.remove(u));switch(e.type){case"ImportSpecifier":if(a.every(t=>e===t||e.type!==t.type)){let n=r.getTokenAfter(e,e=>"Identifier"===e.type&&"from"===e.value),u=a.some(e=>"ImportDefaultSpecifier"===e.type),i=r.getTokenBefore(e,u?tz:tG),[o]=r.getRange(i),[s]=r.getRange(n),d=r.getTokenBefore(i),l=r.getRange(d)[1]===o;yield t.replaceTextRange([o,s],l?" ":"");return}case"ExportSpecifier":case"ImportNamespaceSpecifier":case"ImportDefaultSpecifier":{yield t.remove(e);let n=r.getTokenAfter(e);tz(n)&&(yield t.remove(n))}}}(e,t,r));case"ImportDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":yield t.remove(e)}}function uM(e,t){let r=t.getTokenBefore(e.source,e=>"Identifier"===e.type&&"from"===e.value),[n]=t.getRange(r),[,u]=t.getRange(e);return t.text.slice(n,u)}const u$={create:function(e){let{sourceCode:t}=e,{ignoreUsedVariables:r}={ignoreUsedVariables:!1,...e.options[0]},n=new Set,u=[];return{ImportDeclaration(e){e.specifiers.length>0&&n.add(e)},ExportNamedDeclaration(e){rD(e.source)&&u.push(e)},*"Program:exit"(e){for(let a of n){let n=t.getDeclaredVariables(a);if(n.some(e=>1!==e.defs.length||e.defs[0].parent!==a)||(n=n.map(e=>{let r=function(e,t){let r=e.defs[0].node,n={node:r,declaration:r.parent,variable:e,isTypeImport:"type"===r.importKind||"type"===r.parent.importKind};switch(r.type){case"ImportDefaultSpecifier":return{name:uO,text:"default",...n};case"ImportSpecifier":return{name:uN(r.imported),text:t.getText(r.imported),...n};case"ImportNamespaceSpecifier":return{name:uR,text:"*",...n}}}(e,t),n=function(e,t){let r=[];for(let{identifier:n}of e.variable.references){let u=function(e,t){let{parent:r}=e;switch(r.type){case"ExportDefaultDeclaration":return{node:r,name:uO,text:"default",isTypeExport:uL(r)};case"ExportSpecifier":return{node:r,name:uN(r.exported),text:t.getText(r.exported),isTypeExport:uL(r)};case"VariableDeclarator":if(r.init===e&&"Identifier"===r.id.type&&!r.id.typeAnnotation&&"VariableDeclaration"===r.parent.type&&"const"===r.parent.kind&&1===r.parent.declarations.length&&r.parent.declarations[0]===r&&"ExportNamedDeclaration"===r.parent.parent.type&&function(e,t){let r=t.getDeclaredVariables(e);if(1!==r.length)return!1;let[{identifiers:n,references:u}]=r;return 1===n.length&&n[0]===e.id&&1===u.length&&u[0].identifier===e.id}(r,t))return{node:r.parent.parent,name:Symbol.for(r.id.name),text:t.getText(r.id)}}}(n,t);u&&(e.name!==uR||u.name!==uO)&&r.push(u)}return r}(r,t);return{variable:e,imported:r,exports:n}}),r&&n.some(({variable:e,exports:t})=>e.references.length!==t.length)))continue;let i=r&&n.some(({variable:e})=>0===e.references.length);for(let{imported:r,exports:a}of n)for(let n of a){let a={node:n.node,messageId:uI,data:{exported:n.text}},o=function({sourceCode:e,imported:t,exported:r,exportDeclarations:n,program:u}){let a,i=t.declaration,o=i.source.value,s=t.isTypeImport||r.isTypeExport;return s&&(a=n.find(({source:e,exportKind:t})=>e.value===o&&"type"===t)),a||=n.find(({source:e,exportKind:t})=>e.value===o&&"type"!==t),function*(n){if(t.name===uR)yield n.insertTextAfter(u,`
|
|
1
|
+
"use strict";let e;var t,r,n,u,a,i,o,s,d,l,c,f,p,m,g,y,h,b,E,v,x,D,A,S,C,T,w,_,F,k,P,I,B,O,R,N,L,j,M,$,U,q,z,W,Y,V,Z,G,K,H,X,J,Q,ee,et,er,en,eu,ea,ei,eo,es,ed,el,ec,ef,ep,em,eg,ey,eh,eb,eE,ev,ex,eD,eA,eS,eC,eT,ew,e_,eF,ek,eP,eI,eB,eO,eR,eN,eL,ej,eM,e$,eU,eq,ez,eW,eY,eV,eZ,eG,eK,eH,eX=require("@typescript-eslint/utils/eslint-utils"),eJ=require("node:path"),eQ=require("node:util/types"),e0=require("@eslint-sukka/shared"),e1=require("@typescript-eslint/utils"),e3=require("foxts/detect-eol"),e2=require("typescript"),e4=(t=Object.create(null),e2&&Object.keys(e2).forEach(function(e){if("default"!==e){var r=Object.getOwnPropertyDescriptor(e2,e);Object.defineProperty(t,e,r.get?r:{enumerable:!0,get:function(){return e2[e]}})}}),t.default=e2,Object.freeze(t));function e5(e,t){if("string"==typeof t){let e=t;t=t=>t.type===e}for(;e;){if(t(e))return e;e=e.parent}}function e8(e){return e?.type==="Identifier"||e?.type==="PrivateIdentifier"}function e6(e){return e?.type==="MemberExpression"}function e9(e){return e?.type==="AwaitExpression"}function e7(e,t){return!!e8(e)&&("function"==typeof t?t(e.name):Array.isArray(t)?t.includes(e.name):e.name===t)}function te(e,t){return e?.type==="Literal"&&(Array.isArray(t)?t.includes(e.value):"string"==typeof e.value&&t instanceof RegExp?t.test(e.value):e.value===t)}function tt(e){return!!e&&["ArrowFunctionExpression","FunctionDeclaration","FunctionExpression"].includes(e.type)}function tr(e,t){return e?.type==="Identifier"&&t?.type===e.type&&e.name===t.name}function tn({create:e,defaultOptions:t,meta:r,name:n}){return r.docs&&!r.docs.url&&(r.docs.url=new URL(n,"https://dimensiondev.github.io/eslint-plugin/src/rules/").href),{create(r){let n=eX.applyDefault(t,r.options);return e(r,n)},defaultOptions:t,meta:r,name:n}}function tu(e){if(!e?.program)throw Error("see https://typescript-eslint.io/docs/linting/type-linting")}var ta=tn({name:"array/no-unneeded-flat-map",meta:{type:"suggestion",fixable:"code",docs:{description:"Disallow `Array#flatMap((x) => x)` when simpler alternatives exist",recommended:"stylistic"},schema:[],messages:{invalid:"Disallow simple `Array#flatMap()` in array"}},defaultOptions:[],create:e=>({CallExpression(t){var r;if("MemberExpression"!==t.callee.type||!e7(t.callee.property,"flatMap")||!(tt(r=t.arguments[0])&&1===r.params.length&&"Identifier"===r.params[0].type&&r.body&&(tr(r.params[0],r.body)||"BlockStatement"===r.body.type&&1===r.body.body.length&&"ReturnStatement"===r.body.body[0].type&&tr(r.params[0],r.body.body[0].argument))))return;let{property:n}=t.callee;e.report({node:t,messageId:"invalid",*fix(e){yield e.replaceText(n,"flat"),yield*t.arguments.map(t=>e.remove(t))}})}})});const ti=new Set(["href","pathname","search","hash","origin"]);var to=tn({name:"browser/prefer-location-assign",meta:{type:"suggestion",fixable:"code",docs:{description:"Prefer `location.assign(...)` over `location.*`",recommended:"stylistic"},schema:[],messages:{instead:"Use `location.assign(...)` instead of `location.{{name}}`"}},defaultOptions:[],create:e=>({AssignmentExpression(t){let r=function(e,t){if(e7(e,t))return e;for(;e6(e);){if(e7(e.property,t))return e;e=e.object}}(t.left,"location");if(!r)return;let n=ts(r.parent);e.report({node:t,messageId:"instead",data:{name:n},fix:function(e,t,r){let n=ts(t.parent);if(ti.has(n??"href"))return n=>n.replaceText(r,`${e.getText(t)}.assign(${e.getText(r.right)})`)}(e.sourceCode,r,t)})}})});function ts(e){if(e6(e)&&e8(e.property))return e.property.name}var td=tn({name:"jsx/no-template-literal",meta:{type:"suggestion",fixable:"code",docs:{description:"Disallow use template-literal in JSX",recommended:"stylistic"},schema:[],messages:{invalid:"Disallow use template-literal in JSX"}},defaultOptions:[],create:e=>({JSXExpressionContainer(t){if("TemplateLiteral"!==t.expression.type||t.parent?.type==="JSXAttribute")return;let{expression:r}=t;e.report({node:t,messageId:"invalid",fix(n){let u=[...r.expressions,...r.quasis];u.sort((e,t)=>e.range[0]-t.range[0]);let a=u.map(t=>"TemplateElement"===t.type?t.value.cooked:"{"+e.sourceCode.getText(t)+"}");return n.replaceText(t,a.join(""))}})}})}),tl=tn({name:"jsx/no-unneeded-nested",meta:{type:"suggestion",fixable:"code",docs:{description:"Reduce unneeded JSXFragment nested",recommended:"stylistic"},schema:[],messages:{invalid:"Reduce unneeded JSXFragment nested"}},defaultOptions:[],create(e){let t=e.sourceCode;return{JSXFragment(r){if(1!==r.children.length)return;let n=r.children[0];e.report({node:r,messageId:"invalid",*fix(e){"JSXExpressionContainer"===n.type?"JSXEmptyExpression"!==n.expression.type&&(yield e.replaceText(r,t.getText(n.expression))):yield e.replaceText(r,t.getText(n))}})}}}});const tc=/^toLocale(?<name>Upper|Lower)Case$/g;var tf=tn({name:"string/no-locale-case",meta:{type:"problem",fixable:"code",docs:{description:"Disallow use `String#toLocale{Upper,Lower}Case()`",recommended:"recommended"},schema:[],messages:{instead:"Use `.to{{name}}Case(...)` instead of `.toLocale{{name}}Case()`"}},defaultOptions:[],create:e=>({CallExpression(t){if(t.arguments.length>0||!e6(t.callee)||!e8(t.callee.property))return;let{property:r}=t.callee,n=tc.exec(r.name);n&&e.report({node:t,data:{name:n.groups?.name},messageId:"instead",fix:e=>e.replaceText(r,r.name.replaceAll("Locale",""))})}})}),tp=tn({name:"string/no-simple-template-literal",meta:{type:"suggestion",fixable:"code",docs:{description:"Disallow simple template-literal",recommended:"stylistic"},schema:[],messages:{invalid:"Disallow simple template-literal"}},defaultOptions:[],create:e=>({TemplateLiteral(t){var r,n,u,a;let i=(r=e.sourceCode,(u=n=t,u.parent?.type!=="TaggedTemplateExpression"&&1===u.quasis.length&&!function({loc:e}){return!!e&&e.start.line!==e.end.line}(u.quasis[0])&&0===u.expressions.length)?e=>{let t=JSON.stringify(n.quasis[0].value.cooked),u=e5(n,e=>"Property"===e.type&&e.key===n);return u?e.replaceText(u,`${t}: ${r.getText(u.value)}`):e.replaceText(n,t)}:2===(a=n).quasis.length&&a.quasis.every(({value:e})=>""===e.cooked)&&1===a.expressions.length?e=>e.replaceText(n,r.getText(n.expressions[0])):void 0);i&&e.report({node:t,messageId:"invalid",fix:i})}})});const tm=/\P{ASCII}/u;function tg(e,t){return{Program(r){for(let n of r.tokens??[]){let r=function(e){switch(e.type){case"String":case"Template":return e.value.slice(1,-1);case"Identifier":if(e.value.startsWith("#"))return e.value.slice(1);return e.value;case"PrivateIdentifier":case"JSXText":case"JSXIdentifier":return e.value;case"RegularExpression":return e.regex.pattern}return!1}(n);!1!==r&&e.test(r)&&t(n,"code")}for(let n of r.comments??[])e.test(n.value)&&t(n,"comment")}}}function ty(e,t){switch(e.type){case"String":case"Template":return r=>{let n=e.value.slice(0,1),u=e.value.slice(-1),a=th(e.value.slice(1,-1),t);return r.replaceText(e,`${n}${a}${u}`)};case"JSXText":return r=>{let n=e.value.replace(t,e=>`&#x${tb(e.codePointAt(0))};`);return r.replaceText(e,n)};case"RegularExpression":return r=>{let n=new Set(e.regex.flags);n.add("u");let u=new RegExp(th(e.regex.pattern,t),[...n].join(""));return r.replaceText(e,u.toString())}}}function th(e,t){return e.replace(t,e=>{let t=e.codePointAt(0);return t>65535?`\\u{${tb(t)}}`:`\\u${tb(t)}`})}function tb(e){return e.toString(16).padStart(4,"0").toUpperCase()}tn({name:"unicode/specific-set",meta:{type:"problem",fixable:"code",docs:{description:"Limit the range of literal characters"},schema:[{type:"object",properties:{pattern:{type:"string"},flags:{type:"string"},only:{type:"string",enum:["code","comment"]}},additionalProperties:!1}],messages:{illegal:"Illegal character detected"}},defaultOptions:[{pattern:tm.source,flags:"u",only:void 0}],create(e,[{pattern:t,flags:r,only:n}]){let u=t?new RegExp(t,r):tm;return tg(u,(t,r)=>{if(n&&n!==r)return;let a=ty(t,RegExp(u.source,"gu"));e.report({node:t,messageId:"illegal",fix:a})})}});const tE=/[\u061C\u202A-\u202E\u2066-\u2069]/;var tv=tn({name:"unicode/no-bidi",meta:{type:"problem",fixable:"code",docs:{description:"Detect and stop Trojan Source attacks",recommended:"recommended"},schema:[],messages:{detected:"Detected potential trojan source attack with unicode bidi introduced in this {{kind}}: {{text}}."}},defaultOptions:[],create:e=>tg(tE,(t,r)=>{let n=RegExp(tE.source,"gu"),u={kind:r,text:th(t.value,n)},a=ty(t,n);e.report({node:t,data:u,messageId:"detected",fix:a})})});const tx=function(){let e=[/\u00AD\u034F\u061C\u17B4\u17B5\uFEFF\uFFFC/,/\u180B-\u180E/,/\u200B-\u200F/,/\u202A-\u202E/,/\u2060-\u206F/,/\uFE00-\uFE0F/,/\uFFF0-\uFFF8/,/\u{1D173}-\u{1D17A}/u,/\u{E0000}-\u{E007F}/u,/\u{E0100}-\u{E01EF}/u].map(e=>"string"==typeof e?e:e.source).join("");return RegExp(`[${e}]`,"u")}(/\u00AD\u034F\u061C\u17B4\u17B5\uFEFF\uFFFC/,/\u180B-\u180E/,/\u200B-\u200F/,/\u202A-\u202E/,/\u2060-\u206F/,/\uFE00-\uFE0F/,/\uFFF0-\uFFF8/,/\u{1D173}-\u{1D17A}/u,/\u{E0000}-\u{E007F}/u,/\u{E0100}-\u{E01EF}/u);var tD=tn({name:"unicode/no-invisible",meta:{type:"problem",fixable:"code",docs:{description:"Disallow invisible characters",recommended:"recommended"},schema:[],messages:{illegal:"Illegal character detected"}},defaultOptions:[],create:e=>tg(tx,t=>{let r=ty(t,RegExp(tx.source,"gu"));e.report({node:t,messageId:"illegal",fix:r})})}),tA=tn({name:"no-redundant-variable",meta:{type:"problem",fixable:"code",docs:{description:"Disallow redundant variable",recommended:"stylistic"},schema:[],messages:{invalid:"Disallow Redundant Variable"}},defaultOptions:[],create:e=>({BlockStatement({body:t}){var r,n,u,a,i;let o=t.find(tS);if(!o)return;let s=t[t.indexOf(o)-1];r=s,n=o,r&&"VariableDeclaration"===r.type&&1===r.declarations.length&&r.declarations.some(({init:e,id:t})=>null!==e&&tr(n.argument,t))&&e.report({node:o,messageId:"invalid",fix:(u=e.sourceCode,a=s,i=o,e=>{var t;let{init:r,id:n}=a.declarations[0];if(!(r&&n&&i.argument))return null;let o=!e9(t=r)||e5(t,"TryStatement")?t:t.argument,s=(e=>{if(!n.typeAnnotation)return e;let t=u.getText(n.typeAnnotation.typeAnnotation);return`(${e}) as ${e9(r)?`Promise<${t}>`:t}`})(u.getText(o));return[e.remove(a),e.replaceText(i.argument,s)]})})}})});function tS(e){return"ReturnStatement"===e.type&&e8(e.argument)}var tC=tn({name:"no-single-return",meta:{type:"suggestion",docs:{description:"Disallow single-return",recommended:"stylistic"},schema:[],messages:{invalid:"Disallow Single Return"}},defaultOptions:[],create:e=>({BlockStatement({parent:t,body:r}){if(!tt(t))return;let n=function(e,t){let r=t.find(tT);if(!r)return;let n=t.find(e=>{var t,n;return t=e,n=r,"VariableDeclaration"===t.type&&"const"!==t.kind&&t.declarations.some(({id:e})=>tr(n.argument,e))});if(n)return e.sourceCode.getDeclaredVariables(n).find(({references:e})=>e.every(e=>e.isWriteOnly()||e.identifier.parent===r))}(e,r);for(let{identifier:t}of n?.references??[])t.parent&&e.report({node:t.parent,messageId:"invalid"})}})});function tT(e){return"ReturnStatement"===e.type&&e8(e.argument)}var tw=tn({name:"prefer-early-return",meta:{type:"problem",fixable:"code",docs:{description:"Prefer early returns over full-body conditional wrapping in function declarations",recommended:"stylistic"},schema:[{type:"object",properties:{maximumStatements:{type:"integer",minimum:0}},additionalProperties:!1}],messages:{prefer:"Prefer an early return to a conditionally-wrapped function body"}},defaultOptions:[{maximumStatements:0}],create:(e,[{maximumStatements:t}])=>({BlockStatement:function({body:r,parent:n}){var u,a;if(!tt(n)||!(1===r.length&&function(e,t){if("IfStatement"!==e.type||null!==e.alternate)return!1;let{consequent:r}=e;return"ExpressionStatement"===r.type&&0===t||"BlockStatement"===r.type&&r.body.length>t}(r[0],t)))return;let i=(u=e,a=r[0],function*(e){var t;let r;if("IfStatement"!==a.type)return;let{test:n,consequent:i}=a;yield e.insertTextBefore(n,"!("),yield e.insertTextAfter(n,")"),yield e.replaceText(i,"return;");let o=(t=u.sourceCode.getText(i),r=t,"BlockStatement"===i.type?r.slice(1,-1):r);yield e.insertTextAfter(a,o)});e.report({node:r[0],messageId:"prefer",fix:i})}})}),t_=tn({name:"prefer-fetch",meta:{type:"problem",docs:{description:"Enforce fetch",recommended:"stylistic"},schema:[],messages:{callee:"Should use 'fetch' instead"}},defaultOptions:[],create:e=>({ImportDeclaration(t){let r=t.source.value;("axios"===r||"request"===r)&&e.report({node:t,messageId:"callee"})},NewExpression(t){var r;((function({callee:e}){return e7(e,"XMLHttpRequest")})(t)||e7((r=t).callee,"ActiveXObject")&&te(r.arguments[0],/xmlhttp/i))&&e.report({node:t,messageId:"callee"})},CallExpression(t){((function({callee:e}){let t="$http";return e7(e,t)||e6(e)&&e7(e.object,t)})(t)||function({callee:e,parent:t}){let r=["$","jQuery"];return e7(e,r)&&e6(t)&&e7(t.property,"load")||e6(e)&&e7(e.object,r)&&e7(e.property,["ajax","get","post","getJSON","getScript"])}(t)||tF(t,"axios")||tF(t,"request"))&&e.report({node:t,messageId:"callee"})}})});function tF(e,t){return e7(e.callee,"require")&&te(e.arguments[0],t)}const tk=new Set(["setTimeout","setInterval","requestAnimationFrame","requestIdleCallback"]);var tP=tn({name:"prefer-timer-id",meta:{type:"problem",docs:{description:"Enforce best practice with timer function",recommended:"recommended"},schema:[],messages:{assign:"Timer id should assign to an identifier or member for cleaning up, `const timer = {{name}}(...);`",fix:"Assign timer id to a variable"},hasSuggestions:!0},defaultOptions:[],create:e=>({CallExpression(t){"Identifier"===t.callee.type&&(!tk.has(t.callee.name)||function(e){if(!e7(e.callee,"setTimeout"))return!1;let t=e.arguments[1];return!t||te(t,0)}(t)||t.parent?.type==="AssignmentExpression"&&t.parent.right===t||t.parent?.type==="VariableDeclarator"&&t.parent.init===t||e.report({node:t,messageId:"assign",data:{name:t.callee.name},suggest:[{messageId:"fix",fix:e=>e.insertTextBefore(t,"const timer = ")}]}))}})}),tI=tn({name:"string/no-unneeded-to-string",meta:{type:"suggestion",fixable:"code",docs:{description:"Disallow `String#toString()` when simpler alternatives exist",recommended:"stylistic",requiresTypeChecking:!0},schema:[],messages:{invalid:"Disallow use `.toString()` in string"}},defaultOptions:[],create(e){tu(e.sourceCode.parserServices);let{program:t,esTreeNodeToTSNodeMap:r}=e.sourceCode.parserServices,n=t.getTypeChecker();return{CallExpression(t){if("MemberExpression"!==t.callee.type)return;let{object:u,property:a}=t.callee;(e7(a,"toString")||te(a,"toString"))&&function(e,t){let r=e.getTypeAtLocation(t);if(r.isStringLiteral()||"string"===e.typeToString(r))return!0;let n=r.getSymbol();return n&&"String"===e.symbolToString(n)}(n,r.get(u))&&e.report({node:a,messageId:"invalid",fix:r=>r.replaceText(t,e.sourceCode.getText(u))})}}}}),tB=tn({name:"type/no-force-cast-via-top-type",meta:{type:"problem",docs:{description:"Disallowing cast a type `T` to unrelated or incompatible type `Q` via `T as any as Q`",recommended:"recommended"},schema:[],messages:{invalid:"Don't cast this expression to another type by `as {{type}} as T`"}},defaultOptions:[],create:e=>({TSAsExpression(t){var r,n;if("TSAnyKeyword"!==(r=t.typeAnnotation).type&&"TSUnknownKeyword"!==r.type||!((n=t.parent)&&"TSAsExpression"===n.type&&"TSTypeReference"===n.typeAnnotation.type))return;let u="TSAnyKeyword"===t.typeAnnotation.type?"any":"unknown";e.report({node:t,messageId:"invalid",data:{type:u}})}})});const tO=new Set(["BigInt","Boolean","Number","String","Symbol"]);var tR=tn({name:"type/no-wrapper-type-reference",meta:{type:"problem",fixable:"code",docs:{description:"Disallow wrapper type for type reference",recommended:"recommended"},schema:[],messages:{instead:"Use {{name}} instead"}},defaultOptions:[],create:e=>({TSTypeReference(t){if("Identifier"!==t.typeName.type||!tO.has(t.typeName.name))return;let r=t.typeName.name.toLowerCase();e.report({node:t,messageId:"instead",data:{name:r},fix:e=>e.replaceText(t.typeName,r)})}})}),tN=tn({name:"no-default-error",meta:{type:"problem",docs:{description:"Restrict the usage of default (unextended) error",recommended:"strict",requiresTypeChecking:!0},schema:[],messages:{invalid:"Default error object should not be used in this project"}},defaultOptions:[],create(e){tu(e.sourceCode.parserServices);let{esTreeNodeToTSNodeMap:t,program:r}=e.sourceCode.parserServices,n=r.getTypeChecker();function u(r){"ErrorConstructor"===function(e,t){let r=e.getTypeAtLocation(t).getSymbol();if(!r?.valueDeclaration)return;let n=e.getTypeOfSymbolAtLocation(r,r.valueDeclaration);return e.typeToString(n)}(n,t.get(r))&&e.report({node:r,messageId:"invalid"})}return{ThrowStatement(e){e.argument&&u(e.argument)},NewExpression:u,CallExpression:u}}});const tL={ArrayExpression:["elements"],ArrayPattern:["elements"],ArrowFunctionExpression:["params","body"],AssignmentExpression:["left","right"],AssignmentPattern:["left","right"],AwaitExpression:["argument"],BinaryExpression:["left","right"],BlockStatement:["body"],BreakStatement:["label"],CallExpression:["callee","arguments"],CatchClause:["param","body"],ChainExpression:["expression"],ClassBody:["body"],ClassDeclaration:["id","superClass","body"],ClassExpression:["id","superClass","body"],ConditionalExpression:["test","consequent","alternate"],ContinueStatement:["label"],DebuggerStatement:[],DoWhileStatement:["body","test"],EmptyStatement:[],ExperimentalRestProperty:["argument"],ExperimentalSpreadProperty:["argument"],ExportAllDeclaration:["exported","source"],ExportDefaultDeclaration:["declaration"],ExportNamedDeclaration:["declaration","specifiers","source"],ExportSpecifier:["exported","local"],ExpressionStatement:["expression"],ForInStatement:["left","right","body"],ForOfStatement:["left","right","body"],ForStatement:["init","test","update","body"],FunctionDeclaration:["id","params","body"],FunctionExpression:["id","params","body"],Identifier:[],IfStatement:["test","consequent","alternate"],ImportDeclaration:["specifiers","source"],ImportDefaultSpecifier:["local"],ImportExpression:["source"],ImportNamespaceSpecifier:["local"],ImportSpecifier:["imported","local"],JSXAttribute:["name","value"],JSXClosingElement:["name"],JSXClosingFragment:[],JSXElement:["openingElement","children","closingElement"],JSXEmptyExpression:[],JSXExpressionContainer:["expression"],JSXFragment:["openingFragment","children","closingFragment"],JSXIdentifier:[],JSXMemberExpression:["object","property"],JSXNamespacedName:["namespace","name"],JSXOpeningElement:["name","attributes"],JSXOpeningFragment:[],JSXSpreadAttribute:["argument"],JSXSpreadChild:["expression"],JSXText:[],LabeledStatement:["label","body"],Literal:[],LogicalExpression:["left","right"],MemberExpression:["object","property"],MetaProperty:["meta","property"],MethodDefinition:["key","value"],NewExpression:["callee","arguments"],ObjectExpression:["properties"],ObjectPattern:["properties"],PrivateIdentifier:[],Program:["body"],Property:["key","value"],PropertyDefinition:["key","value"],RestElement:["argument"],ReturnStatement:["argument"],SequenceExpression:["expressions"],SpreadElement:["argument"],StaticBlock:["body"],Super:[],SwitchCase:["test","consequent"],SwitchStatement:["discriminant","cases"],TaggedTemplateExpression:["tag","quasi"],TemplateElement:[],TemplateLiteral:["quasis","expressions"],ThisExpression:[],ThrowStatement:["argument"],TryStatement:["block","handler","finalizer"],UnaryExpression:["argument"],UpdateExpression:["argument"],VariableDeclaration:["declarations"],VariableDeclarator:["id","init"],WhileStatement:["test","body"],WithStatement:["object","body"],YieldExpression:["argument"]};for(const e of Object.keys(tL))Object.freeze(tL[e]);Object.freeze(tL);const tj=new Set(["parent","leadingComments","trailingComments"]);function tM(e){return!tj.has(e)&&"_"!==e[0]}function t$(e,t){let r="",n=e;for("string"==typeof t?r=t:(r=t.name,n=function(e,t){let r=t.range[0],n=e,u=!1;do for(let e of(u=!1,n.childScopes)){let t=e.block.range;if(t[0]<=r&&r<t[1]){n=e,u=!0;break}}while(u);return n}(n,t));null!=n;){let e=n.set.get(r);if(null!=e)return e;n=n.upper}return null}function tU(e,t){return"Punctuator"===e.type&&e.value===t}function tq(e){return tU(e,"=>")}function tz(e){return tU(e,",")}function tW(e){return tU(e,";")}function tY(e){return tU(e,":")}function tV(e){return tU(e,"(")}function tZ(e){return tU(e,")")}function tG(e){return tU(e,"{")}const tK=e=>!tW(e);function tH(e,t){let r=e.parent,n=null,u=null;if("ArrowFunctionExpression"===e.type){let r=t.getTokenBefore(e.body,tq);n=r.loc.start,u=r.loc.end}else{var a,i;n="Property"===r.type||"MethodDefinition"===r.type||"PropertyDefinition"===r.type?r.loc.start:e.loc.start,u=(a=e,i=t,a.id?i.getTokenAfter(a.id,tV):i.getFirstToken(a,tV)).loc.start}return{start:{...n},end:{...u}}}const tX="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:"undefined"!=typeof window?window:"undefined"!=typeof global?global:{},tJ=Object.freeze(new Set(["Array","ArrayBuffer","BigInt","BigInt64Array","BigUint64Array","Boolean","DataView","Date","decodeURI","decodeURIComponent","encodeURI","encodeURIComponent","escape","Float32Array","Float64Array","Function","Infinity","Int16Array","Int32Array","Int8Array","isFinite","isNaN","isPrototypeOf","JSON","Map","Math","NaN","Number","Object","parseFloat","parseInt","Promise","Proxy","Reflect","RegExp","Set","String","Symbol","Uint16Array","Uint32Array","Uint8Array","Uint8ClampedArray","undefined","unescape","WeakMap","WeakSet"])),tQ=new Set([Array.isArray,Array.of,Array.prototype.at,Array.prototype.concat,Array.prototype.entries,Array.prototype.every,Array.prototype.filter,Array.prototype.find,Array.prototype.findIndex,Array.prototype.flat,Array.prototype.includes,Array.prototype.indexOf,Array.prototype.join,Array.prototype.keys,Array.prototype.lastIndexOf,Array.prototype.slice,Array.prototype.some,Array.prototype.toString,Array.prototype.values,"function"==typeof BigInt?BigInt:void 0,Boolean,Date,Date.parse,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,escape,isFinite,isNaN,isPrototypeOf,Map,Map.prototype.entries,Map.prototype.get,Map.prototype.has,Map.prototype.keys,Map.prototype.values,...Object.getOwnPropertyNames(Math).filter(e=>"random"!==e).map(e=>Math[e]).filter(e=>"function"==typeof e),Number,Number.isFinite,Number.isNaN,Number.parseFloat,Number.parseInt,Number.prototype.toExponential,Number.prototype.toFixed,Number.prototype.toPrecision,Number.prototype.toString,Object,Object.entries,Object.is,Object.isExtensible,Object.isFrozen,Object.isSealed,Object.keys,Object.values,parseFloat,parseInt,RegExp,Set,Set.prototype.entries,Set.prototype.has,Set.prototype.keys,Set.prototype.values,String,String.fromCharCode,String.fromCodePoint,String.raw,String.prototype.at,String.prototype.charAt,String.prototype.charCodeAt,String.prototype.codePointAt,String.prototype.concat,String.prototype.endsWith,String.prototype.includes,String.prototype.indexOf,String.prototype.lastIndexOf,String.prototype.normalize,String.prototype.padEnd,String.prototype.padStart,String.prototype.slice,String.prototype.startsWith,String.prototype.substr,String.prototype.substring,String.prototype.toLowerCase,String.prototype.toString,String.prototype.toUpperCase,String.prototype.trim,String.prototype.trimEnd,String.prototype.trimLeft,String.prototype.trimRight,String.prototype.trimStart,Symbol.for,Symbol.keyFor,unescape].filter(e=>"function"==typeof e)),t0=new Set([Object.freeze,Object.preventExtensions,Object.seal]),t1=[[Map,new Set(["size"])],[RegExp,new Set(["dotAll","flags","global","hasIndices","ignoreCase","multiline","source","sticky","unicode"])],[Set,new Set(["size"])]];function t3(e,t){let r=[];for(let n=0;n<e.length;++n){let u=e[n];if(null==u)r.length=n+1;else if("SpreadElement"===u.type){let e=t4(u.argument,t);if(null==e)return null;r.push(...e.value)}else{let e=t4(u,t);if(null==e)return null;r.push(e.value)}}return r}const t2=Object.freeze({ArrayExpression(e,t){let r=t3(e.elements,t);return null!=r?{value:r}:null},AssignmentExpression:(e,t)=>"="===e.operator?t4(e.right,t):null,BinaryExpression(e,t){if("in"===e.operator||"instanceof"===e.operator)return null;let r=t4(e.left,t),n=t4(e.right,t);if(null!=r&&null!=n)switch(e.operator){case"==":return{value:r.value==n.value};case"!=":return{value:r.value!=n.value};case"===":return{value:r.value===n.value};case"!==":return{value:r.value!==n.value};case"<":return{value:r.value<n.value};case"<=":return{value:r.value<=n.value};case">":return{value:r.value>n.value};case">=":return{value:r.value>=n.value};case"<<":return{value:r.value<<n.value};case">>":return{value:r.value>>n.value};case">>>":return{value:r.value>>>n.value};case"+":return{value:r.value+n.value};case"-":return{value:r.value-n.value};case"*":return{value:r.value*n.value};case"/":return{value:r.value/n.value};case"%":return{value:r.value%n.value};case"**":return{value:r.value**n.value};case"|":return{value:r.value|n.value};case"^":return{value:r.value^n.value};case"&":return{value:r.value&n.value}}return null},CallExpression(e,t){let r=e.callee,n=t3(e.arguments,t);if(null!=n)if("MemberExpression"===r.type){if("PrivateIdentifier"===r.property.type)return null;let u=t4(r.object,t);if(null!=u){if(null==u.value&&(u.optional||e.optional))return{value:void 0,optional:!0};let a=t5(r,t);if(null!=a){let e=u.value,t=a.value;if(tQ.has(e[t]))return{value:e[t](...n)};if(t0.has(e[t]))return{value:n[0]}}}}else{let u=t4(r,t);if(null!=u){if(null==u.value&&e.optional)return{value:void 0,optional:!0};let t=u.value;if(tQ.has(t))return{value:t(...n)};if(t0.has(t))return{value:n[0]}}}return null},ConditionalExpression(e,t){let r=t4(e.test,t);return null!=r?r.value?t4(e.consequent,t):t4(e.alternate,t):null},ExpressionStatement:(e,t)=>t4(e.expression,t),Identifier(e,t){if(null!=t){let r=t$(t,e);if(null!=r){if(null!=r&&0===r.defs.length&&tJ.has(r.name)&&r.name in tX)return{value:tX[r.name]};if(function(e){if(1!==e.defs.length)return!1;let t=e.defs[0];return!!(t.parent&&"Variable"===t.type&&("const"===t.parent.kind||function(e){let t=e.references,r=t.filter(e=>e.init).length,n=t.filter(e=>e.isReadOnly()).length;return 1===r&&n+r===t.length}(e)))}(r)){let e=r.defs[0];if("Identifier"===e.node.id.type){let n=t4(e.node.init,t);return n&&"object"==typeof n.value&&null!==n.value&&function(e,t){for(let r of e.references){let e=r.identifier;for(;e&&e.parent&&"MemberExpression"===e.parent.type;)e=e.parent;if(e&&e.parent&&("AssignmentExpression"===e.parent.type&&e.parent.left===e||"UpdateExpression"===e.parent.type&&e.parent.argument===e||"CallExpression"===e.parent.type&&e.parent.callee===e&&"MemberExpression"===e.type&&function(e){if(null==e||null==e.value)return!1;let t=e.value;return"copyWithin"===t||"fill"===t||"pop"===t||"push"===t||"reverse"===t||"shift"===t||"sort"===t||"splice"===t||"unshift"===t}(t5(e,t))))return!0}return!1}(r,t)?null:n}}}}return null},Literal:e=>(null!=e.regex||null!=e.bigint)&&null==e.value?null:{value:e.value},LogicalExpression(e,t){let r=t4(e.left,t);if(null!=r){if("||"===e.operator&&!0==!!r.value||"&&"===e.operator&&!1==!!r.value||"??"===e.operator&&null!=r.value)return r;let n=t4(e.right,t);if(null!=n)return n}return null},MemberExpression(e,t){if("PrivateIdentifier"===e.property.type)return null;let r=t4(e.object,t);if(null!=r){if(null==r.value&&(r.optional||e.optional))return{value:void 0,optional:!0};let n=t5(e,t);if(null!=n){if(!function(e,t){let r=function(e,t){let r=e;for(;("object"==typeof r||"function"==typeof r)&&null!==r;){let e=Object.getOwnPropertyDescriptor(r,t);if(e)return e;r=Object.getPrototypeOf(r)}return null}(e,t);return null!=r&&null!=r.get}(r.value,n.value))return{value:r.value[n.value]};for(let[e,t]of t1)if(r.value instanceof e&&t.has(n.value))return{value:r.value[n.value]}}}return null},ChainExpression(e,t){let r=t4(e.expression,t);return null!=r?{value:r.value}:null},NewExpression(e,t){let r=t4(e.callee,t),n=t3(e.arguments,t);if(null!=r&&null!=n){let e=r.value;if(tQ.has(e))return{value:new e(...n)}}return null},ObjectExpression(e,t){let r={};for(let n of e.properties)if("Property"===n.type){if("init"!==n.kind)return null;let e=t5(n,t),u=t4(n.value,t);if(null==e||null==u)return null;r[e.value]=u.value}else{if("SpreadElement"!==n.type&&"ExperimentalSpreadProperty"!==n.type)return null;let e=t4(n.argument,t);if(null==e)return null;Object.assign(r,e.value)}return{value:r}},SequenceExpression:(e,t)=>t4(e.expressions[e.expressions.length-1],t),TaggedTemplateExpression(e,t){let r=t4(e.tag,t),n=t3(e.quasi.expressions,t);if(null!=r&&null!=n){let t=r.value,u=e.quasi.quasis.map(e=>e.value.cooked);if(u.raw=e.quasi.quasis.map(e=>e.value.raw),t===String.raw)return{value:t(u,...n)}}return null},TemplateLiteral(e,t){let r=t3(e.expressions,t);if(null!=r){let t=e.quasis[0].value.cooked;for(let n=0;n<r.length;++n)t+=r[n],t+=e.quasis[n+1].value.cooked;return{value:t}}return null},UnaryExpression(e,t){if("delete"===e.operator)return null;if("void"===e.operator)return{value:void 0};let r=t4(e.argument,t);if(null!=r)switch(e.operator){case"-":return{value:-r.value};case"+":return{value:+r.value};case"!":return{value:!r.value};case"~":return{value:~r.value};case"typeof":return{value:typeof r.value}}return null},TSAsExpression:(e,t)=>t4(e.expression,t),TSSatisfiesExpression:(e,t)=>t4(e.expression,t),TSTypeAssertion:(e,t)=>t4(e.expression,t),TSNonNullExpression:(e,t)=>t4(e.expression,t),TSInstantiationExpression:(e,t)=>t4(e.expression,t)});function t4(e,t){return null!=e&&Object.hasOwnProperty.call(t2,e.type)?t2[e.type](e,t):null}function t5(e,t){let r="Property"===e.type?e.key:e.property;return e.computed?t4(r,t):"Identifier"===r.type?{value:r.name}:"Literal"===r.type?r.bigint?{value:r.bigint}:{value:String(r.value)}:null}function t8(e,t=null){try{return t4(e,t)}catch(e){return null}}function t6(e,t=null){if(e&&"Literal"===e.type&&null===e.value){if(e.regex)return`/${e.regex.pattern}/${e.regex.flags}`;if(e.bigint)return e.bigint}let r=t8(e,t);if(r)try{return String(r.value)}catch{}return null}function t9(e,t){switch(e.type){case"MemberExpression":if(e.computed)return t6(e.property,t);if("PrivateIdentifier"===e.property.type)break;return e.property.name;case"Property":case"MethodDefinition":case"PropertyDefinition":if(e.computed)return t6(e.key,t);if("Literal"===e.key.type)return String(e.key.value);if("PrivateIdentifier"===e.key.type)break;return e.key.name}return null}function t7(e,t){let r=e.parent,n=[],u="Property"===r.type&&r.value===e,a="MethodDefinition"===r.type&&r.value===e,i="PropertyDefinition"===r.type&&r.value===e;if((a||i)&&(r.static&&n.push("static"),"PrivateIdentifier"===r.key.type&&n.push("private")),e.async&&n.push("async"),e.generator&&n.push("generator"),u||a){if("constructor"===r.kind)return"constructor";"get"===r.kind?n.push("getter"):"set"===r.kind?n.push("setter"):n.push("method")}else i?n.push("method"):("ArrowFunctionExpression"===e.type&&n.push("arrow"),n.push("function"));if(u||a||i)if("PrivateIdentifier"===r.key.type)n.push(`#${r.key.name}`);else{let e=t9(r);if(e)n.push(`'${e}'`);else if(t){let e=t.getText(r.key);e.includes("\n")||n.push(`[${e}]`)}}else e.id?n.push(`'${e.id.name}'`):"VariableDeclarator"===r.type&&r.id&&"Identifier"===r.id.type?n.push(`'${r.id.name}'`):("AssignmentExpression"===r.type||"AssignmentPattern"===r.type)&&r.left&&"Identifier"===r.left.type?n.push(`'${r.left.name}'`):"ExportDefaultDeclaration"===r.type&&r.declaration===e&&n.push("'default'");return n.join(" ")}const re=Object.freeze(new Set(["==","!=","<","<=",">",">=","<<",">>",">>>","+","-","*","/","%","|","^","&","in"])),rt=Object.freeze(new Set(["-","+","!","~"]));function rr(e){return null!==e&&"object"==typeof e&&"string"==typeof e.type}const rn=Object.freeze(Object.assign(Object.create(null),{$visit(e,t,r){let{type:n}=e;return"function"==typeof this[n]?this[n](e,t,r):this.$visitChildren(e,t,r)},$visitChildren(e,t,r){let{type:n}=e;for(let u of r[n]||Object.keys(e).filter(tM)){let n=e[u];if(Array.isArray(n)){for(let e of n)if(rr(e)&&this.$visit(e,t,r))return!0}else if(rr(n)&&this.$visit(n,t,r))return!0}return!1},ArrowFunctionExpression:()=>!1,AssignmentExpression:()=>!0,AwaitExpression:()=>!0,BinaryExpression(e,t,r){return!!(t.considerImplicitTypeConversion&&re.has(e.operator))&&("Literal"!==e.left.type||"Literal"!==e.right.type)||this.$visitChildren(e,t,r)},CallExpression:()=>!0,FunctionExpression:()=>!1,ImportExpression:()=>!0,MemberExpression(e,t,r){return!!t.considerGetters||!!t.considerImplicitTypeConversion&&!!e.computed&&"Literal"!==e.property.type||this.$visitChildren(e,t,r)},MethodDefinition(e,t,r){return!!t.considerImplicitTypeConversion&&!!e.computed&&"Literal"!==e.key.type||this.$visitChildren(e,t,r)},NewExpression:()=>!0,Property(e,t,r){return!!t.considerImplicitTypeConversion&&!!e.computed&&"Literal"!==e.key.type||this.$visitChildren(e,t,r)},PropertyDefinition(e,t,r){return!!t.considerImplicitTypeConversion&&!!e.computed&&"Literal"!==e.key.type||this.$visitChildren(e,t,r)},UnaryExpression(e,t,r){return!!("delete"===e.operator||t.considerImplicitTypeConversion&&rt.has(e.operator)&&"Literal"!==e.argument.type)||this.$visitChildren(e,t,r)},UpdateExpression:()=>!0,YieldExpression:()=>!0}));function ru(e,t,r={}){let{considerGetters:n=!1,considerImplicitTypeConversion:u=!1}=r;return rn.$visit(e,{considerGetters:n,considerImplicitTypeConversion:u},t.visitorKeys||tL)}function ra(e,t,r){let n,u,a,i,o;if("number"==typeof e){if(n=0|e,u=t,a=r,!(n>=1))throw TypeError("'times' should be a positive integer.")}else n=1,u=e,a=t;if(null==u||null==u.parent||"CatchClause"===u.parent.type&&u.parent.param===u)return!1;i=o=u;do i=a.getTokenBefore(i),o=a.getTokenAfter(o);while(null!=i&&null!=o&&tV(i)&&tZ(o)&&i!==function(e,t){let r=e.parent;switch(r.type){case"CallExpression":case"NewExpression":if(1===r.arguments.length&&r.arguments[0]===e)return t.getTokenAfter(r.typeArguments||r.typeParameters||r.callee,tV);return null;case"DoWhileStatement":if(r.test===e)return t.getTokenAfter(r.body,tV);return null;case"IfStatement":case"WhileStatement":if(r.test===e)return t.getFirstToken(r,1);return null;case"ImportExpression":if(r.source===e)return t.getFirstToken(r,1);return null;case"SwitchStatement":if(r.discriminant===e)return t.getFirstToken(r,1);return null;case"WithStatement":if(r.object===e)return t.getFirstToken(r,1);return null;default:return null}}(u,a)&&--n>0);return 0===n}const ri=/^(?:Import|Export(?:All|Default|Named))Declaration$/u,ro=Function.call.bind(Object.hasOwnProperty),rs=Symbol("read"),rd=Symbol("call"),rl=Symbol("construct"),rc=Symbol("esm"),rf={require:{[rd]:!0}};function rp(e){return null==e||0!==e.defs.length||e.references.some(e=>e.isWrite())}class rm{constructor(e,t={}){let{mode:r="strict",globalObjectNames:n=["global","globalThis","self","window"]}=t;this.variableStack=[],this.globalScope=e,this.mode=r,this.globalObjectNames=n.slice(0)}*iterateGlobalReferences(e){for(let t of Object.keys(e)){let r=e[t],n=[t],u=this.globalScope.set.get(t);rp(u)||(yield*this._iterateVariableReferences(u,n,r,!0))}for(let t of this.globalObjectNames){let r=[],n=this.globalScope.set.get(t);rp(n)||(yield*this._iterateVariableReferences(n,r,e,!1))}}*iterateCjsReferences(e){for(let{node:t}of this.iterateGlobalReferences(rf)){let r=t6(t.arguments[0]);if(null==r||!ro(e,r))continue;let n=e[r],u=[r];n[rs]&&(yield{node:t,path:u,type:rs,info:n[rs]}),yield*this._iteratePropertyReferences(t,u,n)}}*iterateEsmReferences(e){for(let t of this.globalScope.block.body){if(!ri.test(t.type)||null==t.source)continue;let r=t.source.value;if(!ro(e,r))continue;let n=e[r],u=[r];if(n[rs]&&(yield{node:t,path:u,type:rs,info:n[rs]}),"ExportAllDeclaration"===t.type)for(let e of Object.keys(n)){let r=n[e];r[rs]&&(yield{node:t,path:u.concat(e),type:rs,info:r[rs]})}else for(let e of t.specifiers){let t=ro(n,rc),r=this._iterateImportReferences(e,u,t?n:"legacy"===this.mode?{default:n,...n}:{default:n});if(t)yield*r;else for(let e of r)e.path=e.path.filter(rg),(e.path.length>=2||e.type!==rs)&&(yield e)}}}*iteratePropertyReferences(e,t){yield*this._iteratePropertyReferences(e,[],t)}*_iterateVariableReferences(e,t,r,n){if(!this.variableStack.includes(e)){this.variableStack.push(e);try{for(let u of e.references){if(!u.isRead())continue;let e=u.identifier;n&&r[rs]&&(yield{node:e,path:t,type:rs,info:r[rs]}),yield*this._iteratePropertyReferences(e,t,r)}}finally{this.variableStack.pop()}}}*_iteratePropertyReferences(e,t,r){let n=e;for(;function(e){let t=e.parent;if(t)switch(t.type){case"ConditionalExpression":return t.consequent===e||t.alternate===e;case"LogicalExpression":case"ChainExpression":case"TSAsExpression":case"TSSatisfiesExpression":case"TSTypeAssertion":case"TSNonNullExpression":case"TSInstantiationExpression":return!0;case"SequenceExpression":return t.expressions[t.expressions.length-1]===e}return!1}(n);)n=n.parent;let u=n.parent;if("MemberExpression"===u.type){if(u.object===n){let e=t9(u);if(null==e||!ro(r,e))return;t=t.concat(e);let n=r[e];n[rs]&&(yield{node:u,path:t,type:rs,info:n[rs]}),yield*this._iteratePropertyReferences(u,t,n)}return}if("CallExpression"===u.type){u.callee===n&&r[rd]&&(yield{node:u,path:t,type:rd,info:r[rd]});return}if("NewExpression"===u.type){u.callee===n&&r[rl]&&(yield{node:u,path:t,type:rl,info:r[rl]});return}if("AssignmentExpression"===u.type){u.right===n&&(yield*this._iterateLhsReferences(u.left,t,r),yield*this._iteratePropertyReferences(u,t,r));return}if("AssignmentPattern"===u.type){u.right===n&&(yield*this._iterateLhsReferences(u.left,t,r));return}"VariableDeclarator"===u.type&&u.init===n&&(yield*this._iterateLhsReferences(u.id,t,r))}*_iterateLhsReferences(e,t,r){if("Identifier"===e.type){let n=t$(this.globalScope,e);null!=n&&(yield*this._iterateVariableReferences(n,t,r,!1));return}if("ObjectPattern"===e.type){for(let n of e.properties){let e=t9(n);if(null==e||!ro(r,e))continue;let u=t.concat(e),a=r[e];a[rs]&&(yield{node:n,path:u,type:rs,info:a[rs]}),yield*this._iterateLhsReferences(n.value,u,a)}return}"AssignmentPattern"===e.type&&(yield*this._iterateLhsReferences(e.left,t,r))}*_iterateImportReferences(e,t,r){let n=e.type;if("ImportSpecifier"===n||"ImportDefaultSpecifier"===n){let u="ImportDefaultSpecifier"===n?"default":"Identifier"===e.imported.type?e.imported.name:e.imported.value;if(!ro(r,u))return;t=t.concat(u);let a=r[u];a[rs]&&(yield{node:e,path:t,type:rs,info:a[rs]}),yield*this._iterateVariableReferences(t$(this.globalScope,e.local),t,a,!1);return}if("ImportNamespaceSpecifier"===n)return void(yield*this._iterateVariableReferences(t$(this.globalScope,e.local),t,r,!1));if("ExportSpecifier"===n){let n="Identifier"===e.local.type?e.local.name:e.local.value;if(!ro(r,n))return;t=t.concat(n);let u=r[n];u[rs]&&(yield{node:e,path:t,type:rs,info:u[rs]})}}}function rg(e,t){return 1!==t||"default"!==e}rm.READ=rs,rm.CALL=rd,rm.CONSTRUCT=rl,rm.ESM=rc;const ry="too-deep",rh="should-parenthesized";function rb(e,t){let r=function(e,t){let r=0;for(;ra(r+1,e,t);)r++;return r}(e,t);return 0===r?[]:[...t.getTokensBefore(e,{count:r,filter:tV}),...t.getTokensAfter(e,{count:r,filter:tZ})]}function rE(e,t){let r=rb(e,t),[n]=t.getRange(r[0]??e),[,u]=t.getRange(r.at(-1)??e);return[n,u]}function rv(e,t){let[r,n]=rE(e,t);return t.text.slice(r,n)}function rx(e,t){return e?.type==="Literal"&&(null===t?"null"===e.raw:e.value===t)}const rD=e=>e?.type==="Literal"&&"string"==typeof e.value,rA=e=>"Literal"===e.type&&"number"==typeof e.value,rS=e=>"Literal"===e.type&&!!e.regex,rC=e=>rx(e,null),rT=e=>"Literal"===e.type&&!!e.bigint;function rw(e,t,r){if(!r.includes(e?.type))return!1;"string"==typeof t&&(t={names:[t]}),Array.isArray(t)&&(t={names:t});let{name:n,names:u,argumentsLength:a,minimumArguments:i,maximumArguments:o,allowSpreadElement:s,optional:d}={minimumArguments:0,maximumArguments:1/0,allowSpreadElement:!1,...t};if(n&&(u=[n]),!0===d&&e.optional!==d||!1===d&&e.optional||"number"==typeof a&&e.arguments.length!==a||0!==i&&e.arguments.length<i||Number.isFinite(o)&&e.arguments.length>o)return!1;if(!s){let t=Number.isFinite(o)?o:a;if("number"==typeof t&&e.arguments.some((e,r)=>"SpreadElement"===e.type&&r<t))return!1}return!Array.isArray(u)||!(u.length>0)||"Identifier"===e.callee.type&&!!u.includes(e.callee.name)}const r_=(e,t)=>rw(e,t,["CallExpression"]),rF=(e,t)=>{if("boolean"==typeof t?.optional)throw TypeError("Cannot check node.optional in `isNewExpression`.");return rw(e,t,["NewExpression"])},rk=(e,t)=>rw(e,t,["CallExpression","NewExpression"]),rP=e=>"ExpressionStatement"===e.type&&"string"==typeof e.directive;function rI(e,t){let{type:r}=e;return"BlockStatement"===r?e.body.every(e=>rI(e,t)):!!("EmptyStatement"===r||t?.(e))}function rB(e){return"ExpressionStatement"===e.type||"ChainExpression"===e.type&&"ExpressionStatement"===e.parent.type}const rO=["FunctionDeclaration","FunctionExpression","ArrowFunctionExpression"];function rR(e){return rO.includes(e.type)}function rN(e,t){if(e?.type!=="MemberExpression")return!1;"string"==typeof t&&(t={properties:[t]}),Array.isArray(t)&&(t={properties:t});let{property:r,properties:n,object:u,objects:a,optional:i,computed:o}={property:"",properties:[],object:"",...t};if(r&&(n=[r]),u&&(a=[u]),!0===i&&e.optional!==i||!1===i&&e.optional)return!1;if(Array.isArray(n)&&n.length>0){if("Identifier"!==e.property.type||!n.includes(e.property.name))return!1;o??=!1}return!(!0===o&&e.computed!==o||!1===o&&e.computed||Array.isArray(a)&&a.length>0&&("Identifier"!==e.object.type||!a.includes(e.object.name)))}function rL(e,t){"string"==typeof t&&(t={methods:[t]}),Array.isArray(t)&&(t={methods:t});let{optionalCall:r,optionalMember:n,method:u,methods:a}={method:"",methods:[],...t};return r_(e,{argumentsLength:t.argumentsLength,minimumArguments:t.minimumArguments,maximumArguments:t.maximumArguments,allowSpreadElement:t.allowSpreadElement,optional:r})&&rN(e.callee,{object:t.object,objects:t.objects,computed:t.computed,property:u,properties:a,optional:n})}const rj=e=>r_(e,{name:"require",argumentsLength:1,optional:!1})&&rD(e.arguments[0]);function rM(e,t){let r=t.trim().split(".");for(let t=r.length-1;t>=0;t--){let n=r[t];if(!n)return!1;if(0===t)return"Identifier"===e.type&&e.name===n||"this"===n&&"ThisExpression"===e.type;if("MemberExpression"!==e.type||e.optional||e.computed||"Identifier"!==e.property.type||e.property.name!==n)return!1;e=e.object}}function r$(e,t){return t.some(t=>rM(e,t))}function rU(e,t){return"TemplateLiteral"===e.type&&"TaggedTemplateExpression"===e.parent.type&&e.parent.quasi===e&&(!t||r$(e.parent.tag,t))}function rq(e){return"Identifier"===e.type&&"undefined"===e.name}const rz=(e,t)=>(function(e,t){let{object:r,property:n,properties:u}={property:"",properties:[],...t};if(!rN(e,{property:n,properties:u,optional:!1}))return;let a=e.object;return rN(a,{object:r,property:"prototype",optional:!1})||"Array"===r&&"ArrayExpression"===a.type&&0===a.elements.length||"Object"===r&&"ObjectExpression"===a.type&&0===a.properties.length})(e,{...t,object:"Array"}),rW=e=>e?.type==="LogicalExpression"&&("&&"===e.operator||"||"===e.operator),rY=e=>e?.type==="UnaryExpression"&&"!"===e.operator,rV=e=>e?.type==="CallExpression"&&"Identifier"===e.callee.type&&"Boolean"===e.callee.name&&1===e.arguments.length;function rZ(e){if(rY(e)||rY(e.parent)&&e.parent.argument===e||rV(e)||rV(e.parent)&&e.parent.arguments[0]===e)return!0;let{parent:t}=e;return t?.type==="VExpressionContainer"&&"VAttribute"===t.parent.type&&!!t.parent.directive&&t.parent.value===t&&"VDirectiveKey"===t.parent.key.type&&"VIdentifier"===t.parent.key.name.type&&("if"===t.parent.key.name.rawName||"else-if"===t.parent.key.name.rawName||"show"===t.parent.key.name.rawName)||("IfStatement"===t.type||"ConditionalExpression"===t.type||"WhileStatement"===t.type||"DoWhileStatement"===t.type||"ForStatement"===t.type)&&t.test===e||!!rW(t)&&rZ(t)}function rG(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var rK=rG(function(){if(n)return r;n=1;let e={},t=e.hasOwnProperty,u=(e,r)=>{for(let n in e)t.call(e,n)&&r(n,e[n])},a=e=>"\\u"+("0000"+e).slice(-4),i=(e,t)=>{let r=e.toString(16);return t?r:r.toUpperCase()},o=e.toString,s=Array.isArray,d={"\\":"\\\\","\b":"\\b","\f":"\\f","\n":"\\n","\r":"\\r"," ":"\\t"},l=/[\\\b\f\n\r\t]/,c=/[0-9]/,f=/[\xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000]/,p=/([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^]/g,m=/([\uD800-\uDBFF][\uDC00-\uDFFF])|([\uD800-\uDFFF])|(['"`])|[^ !#-&\(-\[\]-_a-~]/g,g=(e,t)=>{let r,n,y=()=>{A=D,++t.indentLevel,D=t.indent.repeat(t.indentLevel)},h={escapeEverything:!1,minimal:!1,isScriptContext:!1,quotes:"single",wrap:!1,es6:!1,json:!1,compact:!0,lowercaseHex:!1,numbers:"decimal",indent:" ",indentLevel:0,__inline1__:!1,__inline2__:!1},b=t&&t.json;b&&(h.quotes="double",h.wrap=!0),"single"!=(!(I=t)||u(I,(e,t)=>{h[e]=t}),t=h).quotes&&"double"!=t.quotes&&"backtick"!=t.quotes&&(t.quotes="single");let E="double"==t.quotes?'"':"backtick"==t.quotes?"`":"'",v=t.compact,x=t.lowercaseHex,D=t.indent.repeat(t.indentLevel),A="",S=t.__inline1__,C=t.__inline2__,T=v?"":"\n",w=!0,_="binary"==t.numbers,F="octal"==t.numbers,k="decimal"==t.numbers,P="hexadecimal"==t.numbers;if(b&&e&&"function"==typeof e.toJSON&&(e=e.toJSON()),"string"!=typeof(n=e)&&"[object String]"!=o.call(n)){let n,a,i,d;if(n=e,"[object Map]"==o.call(n))return 0==e.size?"new Map()":(v||(t.__inline1__=!0,t.__inline2__=!1),"new Map("+g(Array.from(e),t)+")");if(a=e,"[object Set]"==o.call(a))return 0==e.size?"new Set()":"new Set("+g(Array.from(e),t)+")";if(i=e,"function"==typeof Buffer&&Buffer.isBuffer(i))return 0==e.length?"Buffer.from([])":"Buffer.from("+g(Array.from(e),t)+")";if(s(e)){r=[],t.wrap=!0,S&&(t.__inline1__=!1,t.__inline2__=!0),C||y();var I,B=e,O=e=>{w=!1,C&&(t.__inline2__=!1),r.push((v||C?"":D)+g(e,t))};let n=B.length,u=-1;for(;++u<n;)O(B[u]);return w?"[]":C?"["+r.join(", ")+"]":"["+T+r.join(","+T)+T+(v?"":A)+"]"}if("number"==typeof(d=e)||"[object Number]"==o.call(d)||"bigint"==typeof e){let t;if(b)return JSON.stringify(Number(e));if(k)t=String(e);else if(P){let r=e.toString(16);x||(r=r.toUpperCase()),t="0x"+r}else _?t="0b"+e.toString(2):F&&(t="0o"+e.toString(8));return"bigint"==typeof e?t+"n":t}{let n;if("bigint"==typeof e)return b?JSON.stringify(Number(e)):e+"n";return(n=e,"[object Object]"==o.call(n))?(r=[],t.wrap=!0,y(),u(e,(e,n)=>{w=!1,r.push((v?"":D)+g(e,t)+":"+(v?"":" ")+g(n,t))}),w)?"{}":"{"+T+r.join(","+T)+T+(v?"":A)+"}":b?JSON.stringify(e)||"null":String(e)}}let R=t.escapeEverything?p:m;return r=e.replace(R,(e,r,n,u,o,s)=>{if(r){if(t.minimal)return r;let e=r.charCodeAt(0),n=r.charCodeAt(1);return t.es6?"\\u{"+i((e-55296)*1024+n-56320+65536,x)+"}":a(i(e,x))+a(i(n,x))}if(n)return a(i(n.charCodeAt(0),x));if("\0"==e&&!b&&!c.test(s.charAt(o+1)))return"\\0";if(u)return u==E||t.escapeEverything?"\\"+u:u;if(l.test(e))return d[e];if(t.minimal&&!f.test(e))return e;let p=i(e.charCodeAt(0),x);return b||p.length>2?a(p):"\\x"+("00"+p).slice(-2)}),"`"==E&&(r=r.replace(/\$\{/g,"\\${")),t.isScriptContext&&(r=r.replace(/<\/(script|style)/gi,"<\\/$1").replace(/<!--/g,b?"\\u003C!--":"\\x3C!--")),t.wrap&&(r=E+r+E),r};return g.version="3.0.2",r=g}());function rH(e,t="'"){if("string"!=typeof e)throw TypeError("Unexpected string.");return rK(e,{quotes:'"'===t?"double":"single",wrap:!0,es6:!0,minimal:!0,lowercaseHex:!1})}var rX={},rJ={},rQ={},r0=rG(function(){var e,t;return i?rX:(i=1,Object.defineProperty(rX,"__esModule",{value:!0}),Object.defineProperty(rX,"isIdentifierChar",{enumerable:!0,get:function(){return e.isIdentifierChar}}),Object.defineProperty(rX,"isIdentifierName",{enumerable:!0,get:function(){return e.isIdentifierName}}),Object.defineProperty(rX,"isIdentifierStart",{enumerable:!0,get:function(){return e.isIdentifierStart}}),Object.defineProperty(rX,"isKeyword",{enumerable:!0,get:function(){return t.isKeyword}}),Object.defineProperty(rX,"isReservedWord",{enumerable:!0,get:function(){return t.isReservedWord}}),Object.defineProperty(rX,"isStrictBindOnlyReservedWord",{enumerable:!0,get:function(){return t.isStrictBindOnlyReservedWord}}),Object.defineProperty(rX,"isStrictBindReservedWord",{enumerable:!0,get:function(){return t.isStrictBindReservedWord}}),Object.defineProperty(rX,"isStrictReservedWord",{enumerable:!0,get:function(){return t.isStrictReservedWord}}),e=function(){if(u)return rJ;u=1,Object.defineProperty(rJ,"__esModule",{value:!0}),rJ.isIdentifierChar=d,rJ.isIdentifierName=function(e){let t=!0;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);if((64512&n)==55296&&r+1<e.length){let t=e.charCodeAt(++r);(64512&t)==56320&&(n=65536+((1023&n)<<10)+(1023&t))}if(t){if(t=!1,!s(n))return!1}else if(!d(n))return!1}return!t},rJ.isIdentifierStart=s;let e="\xaa\xb5\xba\xc0-\xd6\xd8-\xf6\xf8-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽͿΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԯԱ-Ֆՙՠ-ֈא-תׯ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࡠ-ࡪࡰ-ࢇࢉ-ࢎࢠ-ࣉऄ-हऽॐक़-ॡॱ-ঀঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱৼਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡૹଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-హఽౘ-ౚౝౠౡಀಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೝೞೠೡೱೲഄ-ഌഎ-ഐഒ-ഺഽൎൔ-ൖൟ-ൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄຆ-ຊຌ-ຣລວ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏽᏸ-ᏽᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛸᜀ-ᜑᜟ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡸᢀ-ᢨᢪᢰ-ᣵᤀ-ᤞᥐ-ᥭᥰ-ᥴᦀ-ᦫᦰ-ᧉᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭌᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᲀ-Ა-ᲺᲽ-Ჿᳩ-ᳬᳮ-ᳳᳵᳶᳺᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕ℘-ℝℤΩℨK-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞ々-〇〡-〩〱-〵〸-〼ぁ-ゖ゛-ゟァ-ヺー-ヿㄅ-ㄯㄱ-ㆎㆠ-ㆿㇰ-ㇿ㐀-䶿一-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚝꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-Ꟑꟑꟓꟕ-ꟲ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꣽꣾꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꧠ-ꧤꧦ-ꧯꧺ-ꧾꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꩾ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꬰ-ꭚꭜ-ꭩꭰ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ",t="\xb7̀-ͯ·҃-֑҇-ׇֽֿׁׂׅׄؐ-ًؚ-٩ٰۖ-ۜ۟-۪ۤۧۨ-ۭ۰-۹ܑܰ-݊ަ-ް߀-߉߫-߽߳ࠖ-࠙ࠛ-ࠣࠥ-ࠧࠩ-࡙࠭-࡛-࢟࣊-ࣣ࣡-ःऺ-़ा-ॏ॑-ॗॢॣ०-९ঁ-ঃ়া-ৄেৈো-্ৗৢৣ০-৯৾ਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢૣ૦-૯ૺ-૿ଁ-ଃ଼ା-ୄେୈୋ-୍୕-ୗୢୣ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఀ-ఄ఼ా-ౄె-ైొ-్ౕౖౢౣ౦-౯ಁ-ಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢೣ೦-೯ೳഀ-ഃ഻഼ാ-ൄെ-ൈൊ-്ൗൢൣ൦-൯ඁ-ඃ්ා-ුූෘ-ෟ෦-෯ෲෳัิ-ฺ็-๎๐-๙ັິ-ຼ່-໎໐-໙༘༙༠-༩༹༵༷༾༿ཱ-྄྆྇ྍ-ྗྙ-ྼ࿆ါ-ှ၀-၉ၖ-ၙၞ-ၠၢ-ၤၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟፩-፱ᜒ-᜕ᜲ-᜴ᝒᝓᝲᝳ឴-៓៝០-៩᠋-᠍᠏-᠙ᢩᤠ-ᤫᤰ-᤻᥆-᥏᧐-᧚ᨗ-ᨛᩕ-ᩞ᩠-᩿᩼-᪉᪐-᪙᪰-᪽ᪿ-ᫎᬀ-ᬄ᬴-᭄᭐-᭙᭫-᭳ᮀ-ᮂᮡ-ᮭ᮰-᮹᯦-᯳ᰤ-᰷᱀-᱉᱐-᱙᳐-᳔᳒-᳨᳭᳴᳷-᳹᷀-᷿‿⁀⁔⃐-⃥⃜⃡-⃰⳯-⵿⳱ⷠ-〪ⷿ-゙゚〯・꘠-꘩꙯ꙴ-꙽ꚞꚟ꛰꛱ꠂ꠆ꠋꠣ-ꠧ꠬ꢀꢁꢴ-ꣅ꣐-꣙꣠-꣱ꣿ-꤉ꤦ-꤭ꥇ-꥓ꦀ-ꦃ꦳-꧀꧐-꧙ꧥ꧰-꧹ꨩ-ꨶꩃꩌꩍ꩐-꩙ꩻ-ꩽꪰꪲ-ꪴꪷꪸꪾ꪿꫁ꫫ-ꫯꫵ꫶ꯣ-ꯪ꯬꯭꯰-꯹ﬞ︀-️︠-︯︳︴﹍-﹏0-9_・",r=RegExp("["+e+"]"),n=RegExp("["+e+t+"]");e=t=null;let a=[0,11,2,25,2,18,2,1,2,14,3,13,35,122,70,52,268,28,4,48,48,31,14,29,6,37,11,29,3,35,5,7,2,4,43,157,19,35,5,35,5,39,9,51,13,10,2,14,2,6,2,1,2,10,2,14,2,6,2,1,4,51,13,310,10,21,11,7,25,5,2,41,2,8,70,5,3,0,2,43,2,1,4,0,3,22,11,22,10,30,66,18,2,1,11,21,11,25,71,55,7,1,65,0,16,3,2,2,2,28,43,28,4,28,36,7,2,27,28,53,11,21,11,18,14,17,111,72,56,50,14,50,14,35,39,27,10,22,251,41,7,1,17,2,60,28,11,0,9,21,43,17,47,20,28,22,13,52,58,1,3,0,14,44,33,24,27,35,30,0,3,0,9,34,4,0,13,47,15,3,22,0,2,0,36,17,2,24,20,1,64,6,2,0,2,3,2,14,2,9,8,46,39,7,3,1,3,21,2,6,2,1,2,4,4,0,19,0,13,4,31,9,2,0,3,0,2,37,2,0,26,0,2,0,45,52,19,3,21,2,31,47,21,1,2,0,185,46,42,3,37,47,21,0,60,42,14,0,72,26,38,6,186,43,117,63,32,7,3,0,3,7,2,1,2,23,16,0,2,0,95,7,3,38,17,0,2,0,29,0,11,39,8,0,22,0,12,45,20,0,19,72,200,32,32,8,2,36,18,0,50,29,113,6,2,1,2,37,22,0,26,5,2,1,2,31,15,0,328,18,16,0,2,12,2,33,125,0,80,921,103,110,18,195,2637,96,16,1071,18,5,26,3994,6,582,6842,29,1763,568,8,30,18,78,18,29,19,47,17,3,32,20,6,18,433,44,212,63,129,74,6,0,67,12,65,1,2,0,29,6135,9,1237,42,9,8936,3,2,6,2,1,2,290,16,0,30,2,3,0,15,3,9,395,2309,106,6,12,4,8,8,9,5991,84,2,70,2,1,3,0,3,1,3,3,2,11,2,0,2,6,2,64,2,3,3,7,2,6,2,27,2,3,2,4,2,0,4,6,2,339,3,24,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,30,2,24,2,7,1845,30,7,5,262,61,147,44,11,6,17,0,322,29,19,43,485,27,229,29,3,0,496,6,2,3,2,1,2,14,2,196,60,67,8,0,1205,3,2,26,2,1,2,0,3,0,2,9,2,3,2,0,2,0,7,0,5,0,2,0,2,0,2,2,2,1,2,0,3,0,2,0,2,0,2,0,2,0,2,1,2,0,3,3,2,6,2,3,2,3,2,0,2,9,2,16,6,2,2,4,2,16,4421,42719,33,4153,7,221,3,5761,15,7472,16,621,2467,541,1507,4938,6,4191],i=[509,0,227,0,150,4,294,9,1368,2,2,1,6,3,41,2,5,0,166,1,574,3,9,9,7,9,32,4,318,1,80,3,71,10,50,3,123,2,54,14,32,10,3,1,11,3,46,10,8,0,46,9,7,2,37,13,2,9,6,1,45,0,13,2,49,13,9,3,2,11,83,11,7,0,3,0,158,11,6,9,7,3,56,1,2,6,3,1,3,2,10,0,11,1,3,6,4,4,68,8,2,0,3,0,2,3,2,4,2,0,15,1,83,17,10,9,5,0,82,19,13,9,214,6,3,8,28,1,83,16,16,9,82,12,9,9,7,19,58,14,5,9,243,14,166,9,71,5,2,1,3,3,2,0,2,1,13,9,120,6,3,6,4,0,29,9,41,6,2,3,9,0,10,10,47,15,343,9,54,7,2,7,17,9,57,21,2,13,123,5,4,0,2,1,2,6,2,0,9,9,49,4,2,1,2,4,9,9,330,3,10,1,2,0,49,6,4,4,14,10,5350,0,7,14,11465,27,2343,9,87,9,39,4,60,6,26,9,535,9,470,0,2,54,8,3,82,0,12,1,19628,1,4178,9,519,45,3,22,543,4,4,5,9,7,3,6,31,3,149,2,1418,49,513,54,5,49,9,0,15,0,23,4,2,14,1361,6,2,16,3,6,2,1,2,4,101,0,161,6,10,9,357,0,62,13,499,13,245,1,2,9,726,6,110,6,6,9,4759,9,787719,239];function o(e,t){let r=65536;for(let n=0,u=t.length;n<u&&!((r+=t[n])>e);n+=2)if((r+=t[n+1])>=e)return!0;return!1}function s(e){return e<65?36===e:e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&r.test(String.fromCharCode(e)):o(e,a)))}function d(e){return e<48?36===e:e<58||!(e<65)&&(e<=90||(e<97?95===e:e<=122||(e<=65535?e>=170&&n.test(String.fromCharCode(e)):o(e,a)||o(e,i))))}return rJ}(),t=function(){if(a)return rQ;a=1,Object.defineProperty(rQ,"__esModule",{value:!0}),rQ.isKeyword=function(t){return e.has(t)},rQ.isReservedWord=n,rQ.isStrictBindOnlyReservedWord=i,rQ.isStrictBindReservedWord=function(e,t){return u(e,t)||i(e)},rQ.isStrictReservedWord=u;let e=new Set(["break","case","catch","continue","debugger","default","do","else","finally","for","function","if","return","switch","throw","try","var","const","while","with","new","this","super","class","extends","export","import","null","true","false","in","instanceof","typeof","void","delete"]),t=new Set(["implements","interface","let","package","private","protected","public","static","yield"]),r=new Set(["eval","arguments"]);function n(e,t){return t&&"await"===e||"enum"===e}function u(e,r){return n(e,r)||t.has(e)}function i(e){return r.has(e)}return rQ}(),rX)}());const r1=e=>[e,...e.childScopes.flatMap(e=>r1(e))],r3=e=>[...new Set(r1(e).flatMap(({references:e})=>e))],{isIdentifierName:r2,isStrictReservedWord:r4,isKeyword:r5}=r0,r8=new Set(["break","case","catch","class","const","continue","debugger","default","delete","do","else","enum","export","extends","false","finally","for","function","if","import","in","instanceof","new","null","return","super","switch","this","throw","true","try","typeof","var","void","while","with","as","implements","interface","let","package","private","protected","public","static","yield","any","boolean","constructor","declare","get","module","require","number","set","string","symbol","type","from","of"]),r6=e=>"string"==typeof e&&!r5(e)&&!r4(e,!0)&&r2(e)&&"arguments"!==e&&!r8.has(e),r9=(e,t)=>!t.some(t=>(function(e,t){for(;t;){let r=t.set.get(e);if(r)return r;t=t.upper}})(e,t)||r3(t).some(({identifier:t,resolved:r})=>t?.name===e&&!r)),r7=()=>!0;function ne(e,t,r=r7){if(r6(e)||r6(e+="_")){for(;!r9(e,t)||!r(e,t);)e+="_";return e}}function nt(e,t){let r=e.getTokenAfter(t.callee,tV),[n,u]=e.getLastTokens(t,2);return{openingParenthesisToken:r,closingParenthesisToken:u,trailingCommaToken:tz(n)?n:void 0}}function nr(e,t){let{start:{line:r,column:n}}=t.getLoc(e);return t.getLines()[r-1].slice(0,n).match(/\s*$/)[0]}function nn(e,t){let{sourceCode:r}=e;return r.parserServices.getTemplateBodyTokenStore&&r.ast.templateBody&&r.getRange(r.ast.templateBody)[0]<=r.getRange(t)[0]&&r.getRange(t)[1]<=r.getRange(r.ast.templateBody)[1]?r.parserServices.getTemplateBodyTokenStore():r}const nu=({identifiers:e,references:t})=>[...new Set([...e,...t.map(({identifier:e})=>e)])],na=(e,t)=>{let{references:r=[]}=t$(e,t)||{};return r},ni=e=>("AssignmentExpression"===e.parent.type||"AssignmentPattern"===e.parent.type)&&e.parent.left===e||"UpdateExpression"===e.parent.type&&e.parent.argument===e||"ArrayPattern"===e.parent.type&&e.parent.elements.includes(e)||"Property"===e.parent.type&&e.parent.value===e&&"ObjectPattern"===e.parent.parent.type&&e.parent.parent.properties.includes(e.parent)||"UnaryExpression"===e.parent.type&&"delete"===e.parent.operator&&e.parent.argument===e,no=new Set(["ArrayExpression","BinaryExpression","ClassExpression","Literal","ObjectExpression","TemplateLiteral","UnaryExpression","UpdateExpression"]),ns=new Set(["AssignmentExpression","AwaitExpression","NewExpression","TaggedTemplateExpression","ThisExpression"]);function nd(e,t){return e.loc.start.line===t.loc.start.line}const nl=(e,t)=>"Identifier"===e.type&&"Identifier"===t.type&&e.name===t.name;function nc(e){let t;switch(e?.type){case"MemberExpression":t=e.property;break;case"ChainExpression":return nc(e.expression);case"Property":case"MethodDefinition":t=e.key}if(t){if("Identifier"===t.type&&!e.computed)return t.name;let r=t8(t);if(!r)return;return String(r.value)}}function nf(e,t){if(e.type!==t.type)return"ChainExpression"===e.type?nf(e.expression,t):"ChainExpression"===t.type&&nf(e,t.expression);switch(e.type){case"Super":case"ThisExpression":return!0;case"Identifier":case"PrivateIdentifier":return e.name===t.name;case"Literal":return e.regex||t.regex?!!(e.regex&&t.regex&&e.regex.pattern===t.regex.pattern&&e.regex.flags===t.regex.flags):e.bigint||t.bigint?e.bigint===t.bigint:e.value===t.value;case"ChainExpression":return nf(e.expression,t.expression);case"MemberExpression":{let r=nc(e);if(void 0!==r)return nf(e.object,t.object)&&r===nc(t);return e.computed===t.computed&&nf(e.object,t.object)&&nf(e.property,t.property)}default:return!1}}const np=(e,t)=>e&&t&&e.range[0]===t.range[0]&&e.range[1]===t.range[1],nm=e=>"Property"===e.parent.type&&e.parent.shorthand&&e===e.parent.value,ng=new Set(["String","Null","Boolean","Numeric","RegularExpression"]),ny=new Set(["[","(","/","`","+","-","*",",","."]);function nh(e,t,r){if(""===r||r&&!ny.has(r.charAt(0))||!e)return!1;let{type:n,value:u}=e,a=t.getRange(e),i=t.getNodeByRangeIndex(a[0]);if("Punctuator"===n){if(";"===u)return!1;if("]"===u)return!0;if(")"===u){switch(i.type){case"IfStatement":if(t.getTokenBefore(i.consequent)===e)return!1;break;case"ForStatement":case"ForInStatement":case"ForOfStatement":case"WhileStatement":case"DoWhileStatement":case"WithStatement":if(i.body&&t.getTokenBefore(i.body)===e)return!1}return!0}}return!!ng.has(n)||("Template"===n?u.endsWith("`"):"ObjectExpression"===i.type||"Identifier"===n&&("of"!==u||"ForOfStatement"!==i.type)&&("await"!==u||"AwaitExpression"!==i.type))}const nb=e=>"function"==typeof e?.[Symbol.iterator];class nE extends Error{name="FixAbortError"}const nv={abort(){throw new nE("Fix aborted.")}};function nx(e){return t=>{let r=e(t,nv);if(nb(r))try{return[...r]}catch(e){if(e instanceof nE)return;throw e}return r}}const nD=new Set;function nA(e){if(nD.has(e))return e;let t=t=>{let r={},n=(e,t)=>{r[e]??=[],r[e].push(t)};for(let[r,u]of Object.entries(e(new Proxy(t,{get:(e,t,r)=>"on"===t?(e,t)=>{for(let r of Array.isArray(e)?e:[e])n(r,t)}:"onExit"===t?(e,t)=>{for(let r of Array.isArray(e)?e:[e])n(`${r}:exit`,t)}:Reflect.get(e,t,r)}))??{}))n(r,u);return Object.fromEntries(Object.entries(r).map(([e,r])=>[e,(...e)=>{for(let u of r){var n=u(...e);if(n){for(let e of(nb(n)||(n=[n]),n))if(e){if(e.fix&&=nx(e.fix),Array.isArray(e.suggest))for(let t of e.suggest)t.fix&&=nx(t.fix),t.data={...e.data,...t.data};t.report(e)}}}}]))};return nD.add(t),t}function nS(e,t){let{visitScriptBlock:r}={visitScriptBlock:!0,...t};e=nA(e);let n=t=>{let n=e(t),{parserServices:u}=t.sourceCode;return u?.defineTemplateBodyVisitor?r?u.defineTemplateBodyVisitor(n,n):u.defineTemplateBodyVisitor(n):n};return nD.add(n),n}function nC(e,t){if(e.arguments.length>0)return!0;let[r,n]=t.getLastTokens(e,2);return tV(r)&&tZ(n)&&t.getRange(e.callee)[1]<t.getRange(e)[1]}const nT=/^(?:0|0[0-7]*[89]\d*|[1-9](?:_?\d)*)$/u,nw=e=>nT.test(e);function n_(e,t){switch(e.type){case"Identifier":case"MemberExpression":case"CallExpression":case"ChainExpression":case"TemplateLiteral":case"ThisExpression":case"ArrayExpression":case"FunctionExpression":return!1;case"NewExpression":return!nC(e,t);case"Literal":if(rA(e)&&nw(e.raw))return!0;return!1;default:return!0}}var nF={exports:{}},nk=nF.exports,nP=rG(function(){return o?nF.exports:(o=1,nF.exports=function(){var e=[],t=[],r={},n={},u={};function a(e){return"string"==typeof e?RegExp("^"+e+"$","i"):e}function i(e,t){return e===t?t:e===e.toLowerCase()?t.toLowerCase():e===e.toUpperCase()?t.toUpperCase():e[0]===e[0].toUpperCase()?t.charAt(0).toUpperCase()+t.substr(1).toLowerCase():t.toLowerCase()}function o(e,t,n){if(!e.length||r.hasOwnProperty(e))return t;for(var u=n.length;u--;){var a=n[u];if(a[0].test(t))return function(e,t){return e.replace(t[0],function(r,n){var u,a,o=(u=t[1],a=arguments,u.replace(/\$(\d{1,2})/g,function(e,t){return a[t]||""}));return""===r?i(e[n-1],o):i(r,o)})}(t,a)}return t}function s(e,t,r){return function(n){var u=n.toLowerCase();return t.hasOwnProperty(u)?i(n,u):e.hasOwnProperty(u)?i(n,e[u]):o(u,n,r)}}function d(e,t,r,n){return function(n){var u=n.toLowerCase();return!!t.hasOwnProperty(u)||!e.hasOwnProperty(u)&&o(u,u,r)===u}}function l(e,t,r){var n=1===t?l.singular(e):l.plural(e);return(r?t+" ":"")+n}return l.plural=s(u,n,e),l.isPlural=d(u,n,e),l.singular=s(n,u,t),l.isSingular=d(n,u,t),l.addPluralRule=function(t,r){e.push([a(t),r])},l.addSingularRule=function(e,r){t.push([a(e),r])},l.addUncountableRule=function(e){if("string"==typeof e){r[e.toLowerCase()]=!0;return}l.addPluralRule(e,"$0"),l.addSingularRule(e,"$0")},l.addIrregularRule=function(e,t){t=t.toLowerCase(),u[e=e.toLowerCase()]=t,n[t]=e},[["I","we"],["me","us"],["he","they"],["she","they"],["them","them"],["myself","ourselves"],["yourself","yourselves"],["itself","themselves"],["herself","themselves"],["himself","themselves"],["themself","themselves"],["is","are"],["was","were"],["has","have"],["this","these"],["that","those"],["echo","echoes"],["dingo","dingoes"],["volcano","volcanoes"],["tornado","tornadoes"],["torpedo","torpedoes"],["genus","genera"],["viscus","viscera"],["stigma","stigmata"],["stoma","stomata"],["dogma","dogmata"],["lemma","lemmata"],["schema","schemata"],["anathema","anathemata"],["ox","oxen"],["axe","axes"],["die","dice"],["yes","yeses"],["foot","feet"],["eave","eaves"],["goose","geese"],["tooth","teeth"],["quiz","quizzes"],["human","humans"],["proof","proofs"],["carve","carves"],["valve","valves"],["looey","looies"],["thief","thieves"],["groove","grooves"],["pickaxe","pickaxes"],["passerby","passersby"]].forEach(function(e){return l.addIrregularRule(e[0],e[1])}),[[/s?$/i,"s"],[/[^\u0000-\u007F]$/i,"$0"],[/([^aeiou]ese)$/i,"$1"],[/(ax|test)is$/i,"$1es"],[/(alias|[^aou]us|t[lm]as|gas|ris)$/i,"$1es"],[/(e[mn]u)s?$/i,"$1s"],[/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i,"$1"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1i"],[/(alumn|alg|vertebr)(?:a|ae)$/i,"$1ae"],[/(seraph|cherub)(?:im)?$/i,"$1im"],[/(her|at|gr)o$/i,"$1oes"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,"$1a"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,"$1a"],[/sis$/i,"ses"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,"$1$2ves"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/([^ch][ieo][ln])ey$/i,"$1ies"],[/(x|ch|ss|sh|zz)$/i,"$1es"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,"$1ices"],[/\b((?:tit)?m|l)(?:ice|ouse)$/i,"$1ice"],[/(pe)(?:rson|ople)$/i,"$1ople"],[/(child)(?:ren)?$/i,"$1ren"],[/eaux$/i,"$0"],[/m[ae]n$/i,"men"],["thou","you"]].forEach(function(e){return l.addPluralRule(e[0],e[1])}),[[/s$/i,""],[/(ss)$/i,"$1"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i,"$1fe"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,"$1f"],[/ies$/i,"y"],[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,"$1ie"],[/\b(mon|smil)ies$/i,"$1ey"],[/\b((?:tit)?m|l)ice$/i,"$1ouse"],[/(seraph|cherub)im$/i,"$1"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i,"$1"],[/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i,"$1sis"],[/(movie|twelve|abuse|e[mn]u)s$/i,"$1"],[/(test)(?:is|es)$/i,"$1is"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1us"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,"$1um"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,"$1on"],[/(alumn|alg|vertebr)ae$/i,"$1a"],[/(cod|mur|sil|vert|ind)ices$/i,"$1ex"],[/(matr|append)ices$/i,"$1ix"],[/(pe)(rson|ople)$/i,"$1rson"],[/(child)ren$/i,"$1"],[/(eau)x?$/i,"$1"],[/men$/i,"man"]].forEach(function(e){return l.addSingularRule(e[0],e[1])}),["adulthood","advice","agenda","aid","aircraft","alcohol","ammo","analytics","anime","athletics","audio","bison","blood","bream","buffalo","butter","carp","cash","chassis","chess","clothing","cod","commerce","cooperation","corps","debris","diabetes","digestion","elk","energy","equipment","excretion","expertise","firmware","flounder","fun","gallows","garbage","graffiti","hardware","headquarters","health","herpes","highjinks","homework","housework","information","jeans","justice","kudos","labour","literature","machinery","mackerel","mail","media","mews","moose","music","mud","manga","news","only","personnel","pike","plankton","pliers","police","pollution","premises","rain","research","rice","salmon","scissors","series","sewage","shambles","shrimp","software","species","staff","swine","tennis","traffic","transportation","trout","tuna","wealth","welfare","whiting","wildebeest","wildlife","you",/pok[eé]mon$/i,/[^aeiou]ese$/i,/deer$/i,/fish$/i,/measles$/i,/o[iu]s$/i,/pox$/i,/sheep$/i].forEach(l.addUncountableRule),l}(),nF.exports)}());function nI(e,t,r=0,n=0){let[u,a]=Array.isArray(e)?e:t.getRange(e);return{start:t.getLocFromIndex(u+r),end:t.getLocFromIndex(a+n)}}const nB=e=>e.charAt(0).toUpperCase()+e.slice(1),nO="prefer-event-target",nR=new Set(["@angular/core","eventemitter3"]),nN=e=>"VariableDeclarator"===e.parent.type&&e.parent.id===e&&"VariableDeclaration"===e.parent.parent.type&&"const"===e.parent.parent.kind&&e.parent.parent.declarations.includes(e.parent);function nL(e){let t;return!!e&&(rj(e)?[t]=e.arguments:"AwaitExpression"===e.type&&"ImportExpression"===e.argument.type&&({source:t}=e.argument),!!(rD(t)&&nR.has(t.value)))}const nj={8:"Backspace",9:"Tab",12:"Clear",13:"Enter",16:"Shift",17:"Control",18:"Alt",19:"Pause",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",45:"Insert",46:"Delete",112:"F1",113:"F2",114:"F3",115:"F4",116:"F5",117:"F6",118:"F7",119:"F8",120:"F9",121:"F10",122:"F11",123:"F12",144:"NumLock",145:"ScrollLock",186:";",187:"=",188:",",189:"-",190:".",191:"/",219:"[",220:"\\",221:"]",222:"'",224:"Meta"},nM="prefer-keyboard-event-key",n$=new Set(["keyCode","charCode","which"]),nU=e=>e?.type==="CallExpression"&&"MemberExpression"===e.callee.type&&"addEventListener"===e.callee.property.name,nq=(e,t)=>{let r=nz(t,"CallExpression",nU),n=r?.arguments[1];switch(n?.type){case"ArrowFunctionExpression":case"FunctionExpression":{let t=e.sourceCode.getDeclaredVariables(n)[0],r=t?.references;return{event:n.params[0],references:r}}default:return{}}},nz=(e,t,r=()=>!0)=>{let n=e;for(;n;){if(n.type===t&&r(n))return n;n=n.parent}},nW=e=>({messageId:nM,data:{name:e.name},node:e,fix:t=>{let r=((e,t)=>{let r=e;for(;r&&t;)t--,r=r.parent;if(0===t)return r})(e,3);if(!r||"IfStatement"!==r.type)return;let{type:n,operator:u,right:a}=r.test;if(!("BinaryExpression"===n&&("=="===u||"==="===u)&&rA(a)))return;let i=nj[a.value]||String.fromCodePoint(a.value);if(i)return[t.replaceText(e,"key"),t.replaceText(a,rH(i))]}}),nY="error",nV="suggestion";function*nZ(e,t,r){for(let n of rb(e,r))yield t.remove(n)}function nG(e,t,r,n){if("CallExpression"!==t.type)throw Error(`Unexpected node "${t.type}".`);let[u,a]=n.getLastTokens(t,2);return t.arguments.length>0&&(r=tz(u)?` ${r},`:`, ${r}`),e.insertTextBefore(a,r)}function nK(e,t,r){let n=t.parent,u=n.arguments.indexOf(t),a=rb(t,r),i=a[0]||t,o=a.at(-1)||t,[s]=r.getRange(i),[,d]=r.getRange(o);if(0!==u){let e=r.getTokenBefore(i);[s]=r.getRange(e)}if(1===n.arguments.length){let e=r.getTokenBefore(o);tz(e)&&([,d]=r.getRange(e))}return e.removeRange([s,d])}function nH(e,t,r,n){return e.replaceTextRange(rE(t,n),r)}function*nX(e,t,r){if("ReturnStatement"!==t.type&&"ThrowStatement"!==t.type)return;let n=r.getFirstToken(t);yield e.insertTextAfter(n," (");let u=r.getLastToken(t);if(!tW(u))return void(yield e.insertTextAfter(t,")"));yield e.insertTextBefore(u,")")}function nJ(e,t,r){let n=e;"object"==typeof e&&(n=t.getRange(e)[1]);let[u]=t.text.slice(n).match(/^\s*/);return r.removeRange([n,n+u.length])}function*nQ(e,t,r){let n=t.getFirstToken(e);yield r.remove(n),yield nJ(n,t,r),nC(e,t)||(yield r.insertTextAfter(e,"()")),nd(n,e.callee)||ra(e,t)||(yield*nX(r,e.parent,t))}const n0=({type:e,value:t})=>"Keyword"===e&&/^[a-z]*$/.test(t)||"Identifier"===e&&"of"===t||"Identifier"===e&&"await"===t;function*n1(e,t,r){let n=rE(t,r),u=r.getTokenBefore({range:n},{includeComments:!0});u&&n[0]===r.getRange(u)[1]&&n0(u)&&(yield e.insertTextAfter(u," "));let a=r.getTokenAfter({range:n},{includeComments:!0});a&&n[1]===r.getRange(a)[0]&&n0(a)&&(yield e.insertTextBefore(a," "))}function*n3(e,t,r){var n;yield*n1(r,e,t),yield r.insertTextBefore(e,"new ");let{callee:u}=e;!ra(u,t)&&"MemberExpression"===(n=u).type&&function(e){let t=e.object,r=e.object.type;for(;"MemberExpression"===r;)r=(t=t.object).type;return"CallExpression"===r}(n)&&(yield r.insertTextBefore(u,"("),yield r.insertTextAfter(u,")"))}function n2(e,t,r,n){let[,u]=rE(t.object,r),[,a]=r.getRange(t);return e.replaceTextRange([u,a],n)}const n4=(e,t,r)=>n2(e,t,r,"");function*n5(e,t,r){let n=t.callee;yield n4(e,n,r);let[,u]=rE(n,r),[,a]=r.getRange(t);yield e.removeRange([u,a])}const n8=(e,t,r)=>{let{range:[n,u],tail:a}=t;return e.replaceTextRange([n+1,u-(a?1:2)],r)};function n6(e,t,r){return nm(e)||"AssignmentPattern"===e.parent.type&&e.parent.left===e&&nm(e.parent)?r.replaceText(e,`${e.name}: ${t}`):(e=>{let{type:t,local:r,imported:n}=e.parent;return"ImportSpecifier"===t&&np(r,n)&&r===e})(e)?r.replaceText(e,`${e.name} as ${t}`):(e=>{let{type:t,local:r,exported:n}=e.parent;return"ExportSpecifier"===t&&np(r,n)&&r===e})(e)?r.replaceText(e,`${t} as ${e.name}`):e.typeAnnotation?r.replaceTextRange([e.range[0],e.typeAnnotation.range[0]],`${t}${e.optional?"?":""}`):r.replaceText(e,t)}const n9=(e,t,r)=>nu(e).map(e=>n6(e,t,r));function*n7(e,t,r,n,u=n){for(let t of rb(e,u))yield*n7(t,"",r,n,u);let[a,i]=n.getRange(e),[o]=n.text.slice(0,a).match(/\s*$/),[s]=o.match(/(?:\r?\n|\r){0,1}/);a-=o.length,yield r.replaceTextRange([a,i],`${s}${t}`)}const ue="require-array-join-separator",ut="no-thenable-object",ur="no-thenable-export",un="no-thenable-class",uu=(e,t)=>t8(e,t.sourceCode.getScope(e))?.value==="then",ua=(e,t)=>"then"===t9(e,t.sourceCode.getScope(e)),ui=[{selector:"ObjectExpression",*getNodes(e,t){for(let r of e.properties)"Property"===r.type&&ua(r,t)&&(yield r.key)},messageId:ut},{selectors:["PropertyDefinition","MethodDefinition"],*getNodes(e,t){"then"===t9(e,t.sourceCode.getScope(e))&&(yield e.key)},messageId:un},{selector:"MemberExpression",*getNodes(e,t){"AssignmentExpression"===e.parent.type&&e.parent.left===e&&"then"===t9(e,t.sourceCode.getScope(e))&&(yield e.property)},messageId:ut},{selector:"CallExpression",*getNodes(e,t){if(!(rL(e,{objects:["Object","Reflect"],method:"defineProperty",minimumArguments:3,optionalCall:!1,optionalMember:!1})&&"SpreadElement"!==e.arguments[0].type))return;let[,r]=e.arguments;uu(r,t)&&(yield r)},messageId:ut},{selector:"CallExpression",*getNodes(e,t){if(rL(e,{object:"Object",method:"fromEntries",argumentsLength:1,optionalCall:!1,optionalMember:!1})&&"ArrayExpression"===e.arguments[0].type){for(let r of e.arguments[0].elements)if(r?.type==="ArrayExpression"&&r.elements[0]&&"SpreadElement"!==r.elements[0].type){let[e]=r.elements;uu(e,t)&&(yield e)}}},messageId:ut},{selector:"Identifier",*getNodes(e){"then"===e.name&&"ExportSpecifier"===e.parent.type&&e.parent.exported===e&&(yield e)},messageId:ur},{selector:"Identifier",*getNodes(e){"then"===e.name&&("FunctionDeclaration"===e.parent.type||"ClassDeclaration"===e.parent.type)&&e.parent.id===e&&"ExportNamedDeclaration"===e.parent.parent.type&&e.parent.parent.declaration===e.parent&&(yield e)},messageId:ur},{selector:"VariableDeclaration",*getNodes(e,t){if("ExportNamedDeclaration"===e.parent.type&&e.parent.declaration===e)for(let r of t.sourceCode.getDeclaredVariables(e))"then"===r.name&&(yield*r.identifiers)},messageId:ur}],uo="no-invalid-remove-event-listener",us="consistent-function-scoping",ud=(e,t)=>e&&t&&(e===t||e.block===t.block),ul=["useState","useEffect","useContext","useReducer","useCallback","useMemo","useRef","useImperativeHandle","useLayoutEffect","useDebugValue"].flatMap(e=>[e,`React.${e}`]),uc=e=>"function"===e.type&&e.block?.type==="ArrowFunctionExpression"&&(e.thisFound||e.childScopes.some(e=>uc(e))),uf=new Set(["FunctionExpression","ArrowFunctionExpression"]),up={create:e=>{let{checkArrowFunctions:t}={checkArrowFunctions:!0,...e.options[0]},{sourceCode:r}=e,{scopeManager:n}=r,u=[];e.on(rO,()=>{u.push(!1)}),e.on("JSXElement",()=>{u.length>0&&(u[u.length-1]=!0)}),e.onExit(rO,e=>{if(!u.pop()&&("ArrowFunctionExpression"!==e.type||t)&&!function(e,t){let r,n=t.acquire(e);if(!n||uc(n))return!0;let u=e.parent;"VariableDeclarator"===u.type&&(u=u.parent),"VariableDeclaration"===u.type&&(u=u.parent),"BlockStatement"===u.type&&(u=u.parent);let a=t.acquire(u);return!!(!a||"global"===a.type||a.block?.parent?.callee&&r$(a.block.parent.callee,ul)||(r=u,uf.has(r.type)&&"CallExpression"===r.parent.type&&r.parent.callee===r))||r3(n).map(({resolved:e})=>e).filter(Boolean).some(e=>e.references.some(e=>{if(ud(a,e.from))return!0;let{resolved:t}=e,[r]=t.defs;return(r?.type!=="FunctionName"||t.name!==r.name.name)&&ud(a,t.scope)})||e.defs.some(e=>ud(a,t.acquire(e.node)))||e.identifiers.some(e=>{if(!e.parent||"FunctionDeclaration"!==e.parent.type||t.acquire(e))return!1;let r=t.acquire(e.parent);return!(!r||ud(n,r))&&ud(a,r.upper)}))}(e,n))return{node:e,loc:tH(e,r),messageId:us,data:{functionNameWithKind:t7(e,r)}}})},meta:{type:"suggestion",docs:{description:"Move function definitions to the highest possible scope.",recommended:!0},schema:[{type:"object",additionalProperties:!1,properties:{checkArrowFunctions:{type:"boolean"}}}],defaultOptions:[{checkArrowFunctions:!0}],messages:{[us]:"Move {{functionNameWithKind}} to the outer scope."}}},um=(e,t,r)=>"MemberExpression"===e.type&&!e.computed&&!e.optional&&"Identifier"===e.object.type&&e.object.name===t&&"Identifier"===e.property.type&&r.has(e.property.name),ug=(e,t)=>"CallExpression"===e.type&&!e.optional&&"Identifier"===e.callee.type&&e.callee.name===t,uy=new Set(["E","LN2","LN10","LOG2E","LOG10E","PI","SQRT1_2","SQRT2"]),uh=new Set(["abs","acos","acosh","asin","asinh","atan","atanh","atan2","cbrt","ceil","clz32","cos","cosh","exp","expm1","floor","fround","hypot","imul","log","log1p","log10","log2","max","min","pow","random","round","sign","sin","sinh","sqrt","tan","tanh","trunc"]),ub=new Set(["EPSILON","MAX_SAFE_INTEGER","MAX_VALUE","MIN_SAFE_INTEGER","MIN_VALUE","NaN","NEGATIVE_INFINITY","POSITIVE_INFINITY"]),uE=new Set(["parseFloat","parseInt"]),uv=new Set(["-","*","/","%","**","<<",">>","|","^","&"]),ux="error",uD="error-unknown",uA="suggestion";function uS(e,t,r){return function*(n){yield n.insertTextAfter(e.callee,`.${r}`),yield*nQ(e,t,n)}}const uC="no-console-spaces",uT=e=>e.length>1&&" "===e.charAt(0)&&" "!==e.charAt(1),uw=e=>e.length>1&&" "===e.at(-1)&&" "!==e.at(-2),u_="no-empty-file",uF="no-useless-fallback-in-spread",uk="zero-fraction",uP="dangling-dot",uI="error",uB="suggestion",uO=Symbol.for("default"),uR=Symbol("NAMESPACE_SPECIFIER_NAME"),uN=e=>{switch(e.type){case"Identifier":return Symbol.for(e.name);case"Literal":return e.value}},uL=e=>"type"===e.exportKind||"type"===e.parent.exportKind;function*uj(e,t,r){switch(e.type){case"ImportSpecifier":case"ExportSpecifier":case"ImportDefaultSpecifier":case"ImportNamespaceSpecifier":return void(yield*function*(e,t,r,n=!1){let u=e.parent,{specifiers:a}=u;if(1===a.length&&!n)return void(yield t.remove(u));switch(e.type){case"ImportSpecifier":if(a.every(t=>e===t||e.type!==t.type)){let n=r.getTokenAfter(e,e=>"Identifier"===e.type&&"from"===e.value),u=a.some(e=>"ImportDefaultSpecifier"===e.type),i=r.getTokenBefore(e,u?tz:tG),[o]=r.getRange(i),[s]=r.getRange(n),d=r.getTokenBefore(i),l=r.getRange(d)[1]===o;yield t.replaceTextRange([o,s],l?" ":"");return}case"ExportSpecifier":case"ImportNamespaceSpecifier":case"ImportDefaultSpecifier":{yield t.remove(e);let n=r.getTokenAfter(e);tz(n)&&(yield t.remove(n))}}}(e,t,r));case"ImportDeclaration":case"ExportDefaultDeclaration":case"ExportNamedDeclaration":yield t.remove(e)}}function uM(e,t){let r=t.getTokenBefore(e.source,e=>"Identifier"===e.type&&"from"===e.value),[n]=t.getRange(r),[,u]=t.getRange(e);return t.text.slice(n,u)}const u$={create:function(e){let{sourceCode:t}=e,{ignoreUsedVariables:r}={ignoreUsedVariables:!1,...e.options[0]},n=new Set,u=[];return{ImportDeclaration(e){e.specifiers.length>0&&n.add(e)},ExportNamedDeclaration(e){rD(e.source)&&u.push(e)},*"Program:exit"(e){for(let a of n){let n=t.getDeclaredVariables(a);if(n.some(e=>1!==e.defs.length||e.defs[0].parent!==a)||(n=n.map(e=>{let r=function(e,t){let r=e.defs[0].node,n={node:r,declaration:r.parent,variable:e,isTypeImport:"type"===r.importKind||"type"===r.parent.importKind};switch(r.type){case"ImportDefaultSpecifier":return{name:uO,text:"default",...n};case"ImportSpecifier":return{name:uN(r.imported),text:t.getText(r.imported),...n};case"ImportNamespaceSpecifier":return{name:uR,text:"*",...n}}}(e,t),n=function(e,t){let r=[];for(let{identifier:n}of e.variable.references){let u=function(e,t){let{parent:r}=e;switch(r.type){case"ExportDefaultDeclaration":return{node:r,name:uO,text:"default",isTypeExport:uL(r)};case"ExportSpecifier":return{node:r,name:uN(r.exported),text:t.getText(r.exported),isTypeExport:uL(r)};case"VariableDeclarator":if(r.init===e&&"Identifier"===r.id.type&&!r.id.typeAnnotation&&"VariableDeclaration"===r.parent.type&&"const"===r.parent.kind&&1===r.parent.declarations.length&&r.parent.declarations[0]===r&&"ExportNamedDeclaration"===r.parent.parent.type&&function(e,t){let r=t.getDeclaredVariables(e);if(1!==r.length)return!1;let[{identifiers:n,references:u}]=r;return 1===n.length&&n[0]===e.id&&1===u.length&&u[0].identifier===e.id}(r,t))return{node:r.parent.parent,name:Symbol.for(r.id.name),text:t.getText(r.id)}}}(n,t);u&&(e.name!==uR||u.name!==uO)&&r.push(u)}return r}(r,t);return{variable:e,imported:r,exports:n}}),r&&n.some(({variable:e,exports:t})=>e.references.length!==t.length)))continue;let i=r&&n.some(({variable:e})=>0===e.references.length);for(let{imported:r,exports:a}of n)for(let n of a){let a={node:n.node,messageId:uI,data:{exported:n.text}},o=function({sourceCode:e,imported:t,exported:r,exportDeclarations:n,program:u}){let a,i=t.declaration,o=i.source.value,s=t.isTypeImport||r.isTypeExport;return s&&(a=n.find(({source:e,exportKind:t})=>e.value===o&&"type"===t)),a||=n.find(({source:e,exportKind:t})=>e.value===o&&"type"!==t),function*(n){if(t.name===uR)yield n.insertTextAfter(u,`
|
|
2
2
|
export * as ${r.text} ${uM(i,e)}`);else{let o=r.name===t.name?r.text:`${t.text} as ${r.text}`;if(s&&(!a||"type"!==a.exportKind)&&(o=`type ${o}`),a){let t=a.specifiers.at(-1);if(t)yield n.insertTextAfter(t,`, ${o}`);else{let t=e.getFirstToken(a,tG);yield n.insertTextAfter(t,o)}}else yield n.insertTextAfter(u,`
|
|
3
3
|
export {${o}} ${uM(i,e)}`)}1===t.variable.references.length&&(yield*uj(t.node,n,e)),yield*uj(r.node,n,e)}}({sourceCode:t,imported:r,exported:n,exportDeclarations:u,program:e});i?a.suggest=[{messageId:uB,fix:o}]:a.fix=o,yield a}}}}},meta:{type:"suggestion",docs:{description:"Prefer `export…from` when re-exporting.",recommended:!0},fixable:"code",hasSuggestions:!0,schema:[{type:"object",additionalProperties:!1,properties:{ignoreUsedVariables:{type:"boolean"}}}],defaultOptions:[{ignoreUsedVariables:!1}],messages:{[uI]:"Use `export…from` to re-export `{{exported}}`.",[uB]:"Switch to `export…from`."}}},uU="prefer-native-coercion-functions",uq=new Set(["String","Number","BigInt","Boolean","Symbol"]),uz=new Set(["every","filter","find","findLast","findIndex","findLastIndex","some"]),uW=(e,t)=>e?.type==="CallExpression"&&!e.optional&&"Identifier"===e.callee.type&&uq.has(e.callee.name)&&e.arguments[0]?.type==="Identifier"&&e.arguments[0].name===t,uY=(e,t)=>{let r={[t]:!0};for(let t of e.split(".").toReversed())r={[t]:r};return r};class uV{#e={};#t;#r;constructor({object:e,objects:t=[e],filter:r,handle:n,type:u=rm.READ}){for(let e of t)Object.assign(this.#e,uY(e,u));this.#t=r,this.#r=n}*track(e){for(let t of new rm(e).iterateGlobalReferences(this.#e)){if(this.#t&&!this.#t(t))continue;let e=this.#r(t);e&&(e[Symbol.iterator]?yield*e:yield e)}}createListeners(e){return{"Program:exit":t=>this.track(e.sourceCode.getScope(t))}}}Object.assign(uV,{READ:rm.READ,CALL:rm.CALL,CONSTRUCT:rm.CONSTRUCT});const uZ="no-document-cookie",uG=new uV({object:"document.cookie",filter:({node:e})=>"AssignmentExpression"===e.parent.type&&e.parent.left===e,handle:({node:e})=>({node:e,messageId:uZ})}),uK=e=>[`webkit${e}`,`o${e.toLowerCase()}`,e.toLowerCase()],uH=new Set(["click","rightclick","dblclick","auxclick","mousedown","mouseup","mouseover","mouseout","mousemove","mouseenter","mouseleave","mousecancel","selectionchange","selectstart","wheel","keypress","keydown","keyup","blur","focus","deactivate","focusin","focusout","change","reset","select","submit","input","propertychange","dragstart","drag","dragenter","dragover","dragleave","drop","dragend","touchstart","touchmove","touchend","touchcancel","beforeunload","consolemessage","contextmenu","devicechange","devicemotion","deviceorientation","DOMContentLoaded","error","help","load","losecapture","orientationchange","readystatechange","resize","scroll","unload","canplay","canplaythrough","durationchange","emptied","ended","loadeddata","loadedmetadata","pause","play","playing","progress","ratechange","seeked","seeking","stalled","suspend","timeupdate","volumechange","waiting","sourceopen","sourceended","sourceclosed","abort","update","updatestart","updateend","hashchange","pagehide","pageshow","popstate","copy","paste","cut","beforecopy","beforecut","beforepaste","online","offline","message","connect","install","activate","fetch","foreignfetch","messageerror","statechange","updatefound","controllerchange",...uK("AnimationStart"),...uK("AnimationEnd"),...uK("AnimationIteration"),...uK("TransitionEnd"),"pointerdown","pointerup","pointercancel","pointermove","pointerover","pointerout","pointerenter","pointerleave","gotpointercapture","lostpointercapture","MSGestureChange","MSGestureEnd","MSGestureHold","MSGestureStart","MSGestureTap","MSGotPointerCapture","MSInertiaStart","MSLostPointerCapture","MSPointerCancel","MSPointerDown","MSPointerEnter","MSPointerHover","MSPointerLeave","MSPointerMove","MSPointerOut","MSPointerOver","MSPointerUp","text","textinput","textInput","compositionstart","compositionupdate","compositionend","beforeinput","exit","loadabort","loadcommit","loadredirect","loadstart","loadstop","responsive","sizechanged","unresponsive","visibilitychange","storage","DOMSubtreeModified","DOMNodeInserted","DOMNodeRemoved","DOMNodeRemovedFromDocument","DOMNodeInsertedIntoDocument","DOMAttrModified","DOMCharacterDataModified","beforeprint","afterprint","beforeinstallprompt","appinstalled","afterblur","beforeblur","cancel","close","dragexit","encrypted","fullscreenchange","invalid","toggle","search","open","show"]),uX="prefer-add-event-listener",uJ=e=>e.slice(2),uQ={create:e=>{let t,r,n=new Set((e.options[0]||{}).excludedPackages||["koa","sax"]),u=new WeakMap;return{onCodePathStart(e,t){r={node:t,upper:r,returnsSomething:!1}},onCodePathEnd(){u.set(r.node,r.returnsSomething),r=r.upper},CallExpression(e){rj(e)&&!t&&n.has(e.arguments[0].value)&&(t=!0)},Literal(e){"ImportDeclaration"===e.parent.type&&!t&&n.has(e.value)&&(t=!0)},ReturnStatement(e){r.returnsSomething||=!!e.argument},"AssignmentExpression:exit"(r){let n;if(t)return;let{left:a,right:i,operator:o}=r;if("MemberExpression"!==a.type||a.computed)return;let s=a.property.name;if(!s||!s.startsWith("on"))return;let d=uJ(s);if(!uH.has(d))return;let l="addEventListener",c="";if(rq(i)||rC(i))l="removeEventListener";else"beforeunload"===d&&("ArrowFunctionExpression"!==i.type&&"FunctionExpression"!==i.type||"BlockStatement"!==i.body.type||u.get(i))?c="Use `event.preventDefault(); event.returnValue = 'foo'` to trigger the prompt.":"message"===d?c="Note that there is difference between `SharedWorker#onmessage` and `SharedWorker#addEventListener('message')`.":"error"===d?c="Note that there is difference between `{window,element}.onerror` and `{window,element}.addEventListener('error')`.":"="===o&&"ExpressionStatement"===r.parent.type&&r.parent.expression===r&&(n=t=>((e,t,r,n)=>{let u=uJ(n.property.name),a=t.getText(n.object);ra(n.object,t)&&(a=`(${a})`);let i=t.getText(r.right);ra(r.right,t)&&(i=`(${i})`);let o=`${a}.addEventListener('${u}', ${i})`;return e.replaceText(r,o)})(t,e.sourceCode,r,a));return{node:a.property,messageId:uX,data:{replacement:l,method:s,extra:c?` ${c}`:""},fix:n}}}},meta:{type:"suggestion",docs:{description:"Prefer `.addEventListener()` and `.removeEventListener()` over `on`-functions.",recommended:"unopinionated"},fixable:"code",schema:[{type:"object",additionalProperties:!1,properties:{excludedPackages:{type:"array",items:{type:"string"},uniqueItems:!0}}}],defaultOptions:[{}],messages:{[uX]:"Prefer `{{replacement}}` over `{{method}}`.{{extra}}"}}},u0=(e,t)=>"BinaryExpression"===e.type&&"==="===e.operator&&(nl(e.left,t)||nl(e.right,t)),u1=({type:e,name:t},r)=>"Identifier"===e&&t===r;function u3({method:e,replacement:t}){let r=`prefer-${t}-over-${e}/`,n=`${r}error`,u=`${r}suggestion`;return{messages:{[n]:({findIndex:"Use `.indexOf()` instead of `.findIndex()` when looking for the index of an item.",findLastIndex:"Use `.lastIndexOf()` instead of `findLastIndex() when looking for the index of an item.`",some:`Use \`.${t}()\` instead of \`.${e}()\` when checking value existence.`})[e],[u]:`Replace \`.${e}()\` with \`.${t}()\`.`},listen:function(r){let{sourceCode:a}=r,{scopeManager:i}=a;r.on("CallExpression",r=>{let o,s,d;if(!rL(r,{method:e,argumentsLength:1,optionalCall:!1})||!("ArrowFunctionExpression"===(d=r.arguments[0]).type&&!d.async&&1===d.params.length&&u0(d.body,d.params[0])||("ArrowFunctionExpression"===d.type||"FunctionExpression"===d.type)&&!d.async&&!d.generator&&1===d.params.length&&"BlockStatement"===d.body.type&&1===d.body.body.length&&"ReturnStatement"===d.body.body[0].type&&u0(d.body.body[0].argument,d.params[0])))return;let[l]=r.arguments,c="BinaryExpression"===l.body.type?l.body:l.body.body[0].argument,[f]=l.params,{left:p,right:m}=c,{name:g}=f;if(u1(p,g))o=m,s=p;else{if(!u1(m,g))return;o=p,s=m}let y=i.acquire(l);if(!y||t$(y,f).references.some(({identifier:e})=>e!==s)||function(e,t){if(t.block!==e)throw Error('"functionScope" should be the scope of "functionNode".');let{type:r,id:n}=e;return"ArrowFunctionExpression"!==r&&(!!(t.thisFound||na(t,"arguments").some(({from:e})=>e===t))||!!n&&!!(na(t,n).length>0))}(l,y))return;let h=r.callee.property,b={node:h,messageId:n,suggest:[]},E=function*(e){let r=a.getText(o);ra(o,a)&&!ra(l,a)&&(r=`(${r})`),yield e.replaceText(h,t),yield e.replaceText(l,r)};return ru(o,a)?b.suggest.push({messageId:u,fix:E}):b.fix=E,b})}}}const u2=u3({method:"findIndex",replacement:"indexOf"}),u4=u3({method:"findLastIndex",replacement:"lastIndexOf"}),u5={create(e){u2.listen(e),u4.listen(e)},meta:{type:"suggestion",docs:{description:"Prefer `Array#{indexOf,lastIndexOf}()` over `Array#{findIndex,findLastIndex}()` when looking for the index of an item.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,messages:{...u2.messages,...u4.messages}}},u8="error",u6="prefer-date",u9="prefer-date-now-over-methods",u7="prefer-date-now-over-number-data-object",ae=e=>rF(e,{name:"Date",argumentsLength:0}),at=(e,t,r)=>({node:e,messageId:u6,*fix(t){yield t.replaceText(e,"Date.now()"),"UnaryExpression"===e.type&&(yield*n1(t,e,r))},...t}),{isIdentifierName:ar}=r0,an="prefer-dom-node-dataset",au="prefer-modern-math-apis",aa=(e,t)=>"MemberExpression"===e.type&&!e.optional&&!e.computed&&"Identifier"===e.object.type&&"Math"===e.object.name&&"Identifier"===e.property.type&&e.property.name===t,ai=(e,t)=>"CallExpression"===e.type&&!e.optional&&aa(e.callee,t)&&1===e.arguments.length&&"SpreadElement"!==e.arguments[0].type;function ao({constantName:e,replacementMethod:t}){let r=`Math.${t}(…)`;return function(n,u){let a,i;if("BinaryExpression"!==n.type||"*"!==n.operator||(ai(n.left,"log")&&aa(n.right,e)?(a=n.left,i=`Math.log(…) * Math.${e}`):ai(n.right,"log")&&aa(n.left,e)&&(a=n.right,i=`Math.${e} * Math.log(…)`),!a))return;let[o]=a.arguments;return{node:n,messageId:au,data:{replacement:r,description:i},fix:e=>e.replaceText(n,`Math.${t}(${rv(o,u.sourceCode)})`)}}}function as({constantName:e,replacementMethod:t}){let r={messageId:au,data:{replacement:`Math.${t}(…)`,description:`Math.log(…) / Math.${e}`}};return function(n,u){if(!("BinaryExpression"===n.type&&"/"===n.operator&&ai(n.left,"log")&&aa(n.right,e)))return;let[a]=n.left.arguments;return{...r,node:n,fix:e=>e.replaceText(n,`Math.${t}(${rv(a,u.sourceCode)})`)}}}const ad=[ao({constantName:"LOG10E",replacementMethod:"log10"}),ao({constantName:"LOG2E",replacementMethod:"log2"}),as({constantName:"LN10",replacementMethod:"log10"}),as({constantName:"LN2",replacementMethod:"log2"})],al=e=>"BinaryExpression"===e.type&&"+"===e.operator?[e.left,e.right].flatMap(e=>al(e)):[e],ac="number-literal-case",af=(e,{hexadecimalValue:t})=>{let r=e.toLowerCase();return r.startsWith("0x")&&(r="0x"+r.slice(2)["lowercase"===t?"toLowerCase":"toUpperCase"]()),r},ap={create:nS(e=>({Literal(t){let{raw:r}=t,n=e.options[0]??{};n.hexadecimalValue??="uppercase";let u=r;if(rA(t)?u=af(r,n):rT(t)&&(u=af(r.slice(0,-1),n)+"n"),r!==u)return{node:t,messageId:ac,fix:e=>e.replaceText(t,u)}}})),meta:{type:"suggestion",docs:{description:"Enforce proper case for numeric literals.",recommended:"unopinionated"},fixable:"code",schema:[{type:"object",additionalProperties:!1,properties:{hexadecimalValue:{enum:["uppercase","lowercase"]}}}],defaultOptions:[{hexadecimalValue:"uppercase"}],messages:{[ac]:"Invalid number literal casing."}}},am="error",ag="suggestion",ay={parseInt:!0,parseFloat:!0,NaN:!0,Infinity:!0,isNaN:!1,isFinite:!1},ah={create:e=>{let{checkInfinity:t,checkNaN:r}={checkInfinity:!1,checkNaN:!0,...e.options[0]},{sourceCode:n}=e;return new uV({objects:Object.keys(ay).filter(e=>(!!t||"Infinity"!==e)&&(!!r||"NaN"!==e)),handle:e=>(function({node:e,path:[t]},r){let{parent:n}=e,u=t;"Infinity"===t&&(u=(e=>{let{parent:t}=e;return"UnaryExpression"===t.type&&"-"===t.operator&&t.argument===e})(e)?"NEGATIVE_INFINITY":"POSITIVE_INFINITY");let a={node:e,messageId:am,data:{description:t,property:u}};if("NEGATIVE_INFINITY"===u)return a.node=n,a.data.description="-Infinity",a.fix=function*(e){yield e.replaceText(n,"Number.NEGATIVE_INFINITY"),yield*n1(e,n,r)},a;let i=t=>n6(e,`Number.${u}`,t);return ay[t]?a.fix=i:a.suggest=[{messageId:ag,fix:i}],a})(e,n),filter:({node:e})=>!ni(e)}).createListeners(e)},meta:{type:"suggestion",docs:{description:"Prefer `Number` static properties over global ones.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,schema:[{type:"object",additionalProperties:!1,properties:{checkInfinity:{type:"boolean"},checkNaN:{type:"boolean"}}}],defaultOptions:[{checkInfinity:!1,checkNaN:!0}],messages:{[am]:"Prefer `Number.{{property}}` over `{{description}}`.",[ag]:"Replace `{{description}}` with `Number.{{property}}`."}}},ab="prefer-reflect-apply",aE=(e,t)=>(rC(e)||"ThisExpression"===e.type)&&("ArrayExpression"===t.type||"Identifier"===t.type&&"arguments"===t.name),av=(e,t,r,n)=>`Reflect.apply(${e.getText(t)}, ${e.getText(r)}, ${e.getText(n)})`,ax="prefer-set-size",aD=e=>rF(e,{name:"Set"});var aA={exports:{}};const{parse:aS}=rG(function(){var e,t,r,n;return s?aA.exports:(s=1,r=String.fromCodePoint||(e=String.fromCharCode,t=Math.floor,function(){var r,n,u=[],a=-1,i=arguments.length;if(!i)return"";for(var o="";++a<i;){var s=Number(arguments[a]);if(!isFinite(s)||s<0||s>1114111||t(s)!=s)throw RangeError("Invalid code point: "+s);s<=65535?u.push(s):(s-=65536,r=(s>>10)+55296,n=s%1024+56320,u.push(r,n)),(a+1==i||u.length>16384)&&(o+=e.apply(null,u),u.length=0)}return o}),n={parse:function(e,t,n){function u(t,r){return t.range[0]=r,t.raw=e.substring(r,t.range[1]),t}function a(t,r){return{type:"anchor",kind:t,range:[X-r,X],raw:e.substring(X-r,X)}}function i(t,r,n,u){return{type:"value",kind:t,codePoint:r,range:[n,u],raw:e.substring(n,u)}}function o(e,t,r,n){return n=n||0,i(e,t,X-(r.length+n),X)}function s(e){var t,r=e[0],n=r.charCodeAt(0);return H&&1===r.length&&n>=55296&&n<=56319&&(t=h().charCodeAt(0))>=56320&&t<=57343?i("symbol",(n-55296)*1024+t-56320+65536,++X-2,X):i("symbol",n,X-1,X)}function d(t,r,n,u,a){return null==u&&(n=X-1,u=X),{type:"quantifier",min:t,max:r,greedy:!0,body:null,symbol:a,range:[n,u],raw:e.substring(n,u)}}function l(t,r,n,u){return{type:"characterClass",kind:t.kind,body:t.body,negative:r,range:[n,u],raw:e.substring(n,u)}}function c(t,r,n,u){return t.codePoint>r.codePoint&&z("invalid range in character class",t.raw+"-"+r.raw,n,u),{type:"characterClassRange",min:t,max:r,range:[n,u],raw:e.substring(n,u)}}function f(e){return"alternative"===e.type?e.body:[e]}function p(e){X+=e=e||1}function m(e){g(e)||z("character",e)}function g(t){var r=t.length;if(e.substring(X,X+r)===t)return p(r),t}function y(t){if(e[X]===t)return X++,t}function h(){return e[X]}function b(t){return e[X]===t}function E(t){return e[X+1]===t}function v(t){var r=e.substring(X).match(t);return r&&(X+=r[0].length),r}function x(){var t,r=[],n=X;for(r.push(D());y("|");)r.push(D());return 1===r.length?r[0]:{type:"disjunction",body:r,range:[n,t=X],raw:e.substring(n,t)}}function D(){for(var t,r,o=[],d=X;r=function(){if(X>=e.length||b("|")||b(")"))return null;var t,r=function(){switch(h()){case"^":return p(),a("start",1);case"$":return p(),a("end",1);case"\\":if(E("b"))return p(2),a("boundary",2);if(E("B"))return p(2),a("not-boundary",2);break;case"(":return A("(?=","lookahead","(?!","negativeLookahead");default:return}}();if(r){var o=X;if(t=C()||!1){if(!H&&"group"===r.type)return t.body=f(r),u(t,r.range[0]),t;X=o,z("Expected atom")}return r}var d=function(){var t;switch(t=h()){case".":return p(),{type:"dot",range:[X-1,X],raw:"."};case"\\":if(p(),!(t=w())){if(!H&&"c"==h())return i("symbol",92,X-1,X);z("atomEscape")}return t;case"[":return N();case"(":if(n.lookbehind&&(t=A("(?<=","lookbehind","(?<!","negativeLookbehind")))return t;if(n.namedGroups&&g("(?<")){var r,u,a,o,d,l=I();m(">");var c=S("normal",l.range[0]-3);return c.name=l,c}if(!n.modifiers||"(?"!==e.substring(X,X+2)||":"==e[X+2])return A("(?:","ignore","(","normal");return u=X,p(2),a=v(/^[sim]+/),y("-")&&":"!==h()?(r=v(/^[sim]+/))||z("Invalid flags for modifiers group"):a||z("Invalid flags for modifiers group"),((o=(a=a?a[0]:"")+(r=r?r[0]:"")).length>3||function(e){for(var t=0;t<e.length;){if(-1!=e.indexOf(e[t],t+1))return!0;t++}return!1}(o))&&z("flags cannot be duplicated for modifiers group"),y(":")||z("Invalid flags for modifiers group"),(d=S("ignore",u)).modifierFlags={enabling:a,disabling:r},d;case"]":case"}":if(!H)return p(),s(t);break;case"^":case"$":case"*":case"+":case"?":case"{":case")":case"|":break;default:return p(),s(t)}}();if(d||(o=X,(t=C()||!1)&&(X=o,z("Expected atom")),!H&&y("{")?d=s("{"):z("Expected atom")),t=C()||!1){var l=d.type,c=d.behavior;return"group"===l&&("negativeLookbehind"===c||"lookbehind"===c)&&z("Invalid quantifier","",t.range[0],t.range[1]),t.body=f(d),u(t,d.range[0]),t}return d}();)o.push(r);return 1===o.length?o[0]:{type:"alternative",body:o,range:[d,t=X],raw:e.substring(d,t)}}function A(e,t,r,n){var u=null,a=X;if(g(e))u=t;else{if(!g(r))return!1;u=n}return S(u,a)}function S(t,r){var n,u=x();u||z("Expected disjunction"),m(")");var a={type:"group",behavior:t,body:f(u),range:[r,n=X],raw:e.substring(r,n)};return"normal"==t&&V&&Y++,a}function C(){var e,t,r,n,u=X;switch(h()){case"*":p(),e=d(0,void 0,void 0,void 0,"*");break;case"+":p(),e=d(1,void 0,void 0,void 0,"+");break;case"?":p(),e=d(0,1,void 0,void 0,"?");break;case"{":(n=v(/^\{(\d+)\}/))?e=d(t=parseInt(n[1],10),t,u,X):(n=v(/^\{(\d+),\}/))?e=d(t=parseInt(n[1],10),void 0,u,X):(n=v(/^\{(\d+),(\d+)\}/))&&((t=parseInt(n[1],10))>(r=parseInt(n[2],10))&&z("numbers out of order in {} quantifier","",u,X),e=d(t,r,u,X)),(t&&!Number.isSafeInteger(t)||r&&!Number.isSafeInteger(r))&&z("iterations outside JS safe integer range in quantifier","",u,X)}return e&&y("?")&&(e.greedy=!1,e.range[1]+=1),e}function T(t,r){if(r){var n,u;if("unicodeEscape"==t.kind&&(n=t.codePoint)>=55296&&n<=56319&&b("\\")&&E("u")){var a=X;X++;var i=w(!0);"unicodeEscape"==i.kind&&(u=i.codePoint)>=56320&&u<=57343?(t.kind="unicodeCodePointEscape",t.codePoint=(n-55296)*1024+u-56320+65536,t.range[1]=X,t.raw=e.substring(t.range[0],X)):X=a}}return t}n||(n={});function w(t){var r,a,i,d,l=X;switch(d=h()){case"0":case"1":case"2":case"3":case"4":case"5":case"6":case"7":case"8":case"9":return function(t){var r,n,a=X;if(r=v(/^(?!0)\d+/)){n=r[0];var i,d,l=parseInt(r[0],10);if(l<=Y&&!t)return i=r[0],d=X-1-i.length,{type:"reference",matchIndex:parseInt(i,10),range:[d,X],raw:e.substring(d,X)};if(W.push(l),V?Z=!0:_(a,X),p(-r[0].length),r=v(/^[0-7]{1,3}/))return o("octal",parseInt(r[0],8),r[0],1);var c=X;return u(r=s(v(/^[89]/)),c-1)}return!!(r=v(/^[0-7]{1,3}/))&&(("0"!==(n=r[0])&&_(a,X),/^0{1,3}$/.test(n))?o("null",0,"0",n.length):o("octal",parseInt(n,8),n,1))}(t);case"B":if(!t)return R();z("\\B not possible inside of CharacterClass","",l);break;case"b":if(t)return p(),o("singleEscape",8,"\\b");return R();case"c":if(t){if(!H&&(i=v(/^c(\d)/)))return o("controlLetter",i[1]+16,i[1],2);else if(!H&&g("c_"))return o("controlLetter",31,"_",2)}return k();case"d":case"D":case"w":case"W":case"s":case"S":return p(),{type:"characterClassEscape",value:d,range:[X-2,X],raw:e.substring(X-2,X)};case"k":return function(){if(n.namedGroups&&v(/^k<(?=.*?>)/)){var t,r=I();return m(">"),t=r.range[0]-3,{type:"reference",name:r,range:[t,X],raw:e.substring(t,X)}}}()||R();case"p":case"P":return a=X,!!(n.unicodePropertyEscape&&H&&(r=v(/^([pP])\{([^}]+)\}/)))&&{type:"unicodePropertyEscape",negative:"P"===r[1],value:r[2],range:[a-1,X],raw:e.substring(a-1,X)}||R();case"-":if(t&&H)return p(),o("singleEscape",45,"\\-");return R();default:return k()}}function _(e,t){H&&z("Invalid decimal escape in unicode mode",null,e,t)}function F(e){var t;return(t=v(/^u([0-9a-fA-F]{4})/))?T(o("unicodeEscape",parseInt(t[1],16),t[1],2),e):e&&(t=v(/^u\{([0-9a-fA-F]+)\}/))?o("unicodeCodePointEscape",parseInt(t[1],16),t[1],4):void 0}function k(){var e,t=X;switch(h()){case"t":return p(),o("singleEscape",9,"\\t");case"n":return p(),o("singleEscape",10,"\\n");case"v":return p(),o("singleEscape",11,"\\v");case"f":return p(),o("singleEscape",12,"\\f");case"r":return p(),o("singleEscape",13,"\\r");case"c":if(e=v(/^c([a-zA-Z])/))return o("controlLetter",e[1].charCodeAt(0)%32,e[1],2);break;case"x":if(e=v(/^x([0-9a-fA-F]{2})/))return o("hexadecimalEscape",parseInt(e[1],16),e[1],2);break;case"u":if(e=F(H))return(!e||e.codePoint>1114111)&&z("Invalid escape sequence",null,t,X),e}return R()}function P(t){var n=h(),u=X;if("\\"===n){p();var a=F(!0);return a&&t(a.codePoint)||z("Invalid escape sequence",null,u,X),r(a.codePoint)}var i=n.charCodeAt(0);if(i>=55296&&i<=56319){var o=(n+=e[X+1]).charCodeAt(1);o>=56320&&o<=57343&&(i=(i-55296)*1024+o-56320+65536)}if(t(i))return p(),i>65535&&p(),n}function I(){var t,r=X,n=P(B);for(n||z("Invalid identifier");t=P(O);)n+=t;return{type:"identifier",value:n,range:[r,X],raw:e.substring(r,X)}}function B(e){return 36===e||95===e||e>=65&&e<=90||e>=97&&e<=122||e>=128&&/[\xAA\xB5\xBA\xC0-\xD6\xD8-\xF6\xF8-\u02C1\u02C6-\u02D1\u02E0-\u02E4\u02EC\u02EE\u0370-\u0374\u0376\u0377\u037A-\u037D\u037F\u0386\u0388-\u038A\u038C\u038E-\u03A1\u03A3-\u03F5\u03F7-\u0481\u048A-\u052F\u0531-\u0556\u0559\u0560-\u0588\u05D0-\u05EA\u05EF-\u05F2\u0620-\u064A\u066E\u066F\u0671-\u06D3\u06D5\u06E5\u06E6\u06EE\u06EF\u06FA-\u06FC\u06FF\u0710\u0712-\u072F\u074D-\u07A5\u07B1\u07CA-\u07EA\u07F4\u07F5\u07FA\u0800-\u0815\u081A\u0824\u0828\u0840-\u0858\u0860-\u086A\u0870-\u0887\u0889-\u088E\u08A0-\u08C9\u0904-\u0939\u093D\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098C\u098F\u0990\u0993-\u09A8\u09AA-\u09B0\u09B2\u09B6-\u09B9\u09BD\u09CE\u09DC\u09DD\u09DF-\u09E1\u09F0\u09F1\u09FC\u0A05-\u0A0A\u0A0F\u0A10\u0A13-\u0A28\u0A2A-\u0A30\u0A32\u0A33\u0A35\u0A36\u0A38\u0A39\u0A59-\u0A5C\u0A5E\u0A72-\u0A74\u0A85-\u0A8D\u0A8F-\u0A91\u0A93-\u0AA8\u0AAA-\u0AB0\u0AB2\u0AB3\u0AB5-\u0AB9\u0ABD\u0AD0\u0AE0\u0AE1\u0AF9\u0B05-\u0B0C\u0B0F\u0B10\u0B13-\u0B28\u0B2A-\u0B30\u0B32\u0B33\u0B35-\u0B39\u0B3D\u0B5C\u0B5D\u0B5F-\u0B61\u0B71\u0B83\u0B85-\u0B8A\u0B8E-\u0B90\u0B92-\u0B95\u0B99\u0B9A\u0B9C\u0B9E\u0B9F\u0BA3\u0BA4\u0BA8-\u0BAA\u0BAE-\u0BB9\u0BD0\u0C05-\u0C0C\u0C0E-\u0C10\u0C12-\u0C28\u0C2A-\u0C39\u0C3D\u0C58-\u0C5A\u0C5D\u0C60\u0C61\u0C80\u0C85-\u0C8C\u0C8E-\u0C90\u0C92-\u0CA8\u0CAA-\u0CB3\u0CB5-\u0CB9\u0CBD\u0CDD\u0CDE\u0CE0\u0CE1\u0CF1\u0CF2\u0D04-\u0D0C\u0D0E-\u0D10\u0D12-\u0D3A\u0D3D\u0D4E\u0D54-\u0D56\u0D5F-\u0D61\u0D7A-\u0D7F\u0D85-\u0D96\u0D9A-\u0DB1\u0DB3-\u0DBB\u0DBD\u0DC0-\u0DC6\u0E01-\u0E30\u0E32\u0E33\u0E40-\u0E46\u0E81\u0E82\u0E84\u0E86-\u0E8A\u0E8C-\u0EA3\u0EA5\u0EA7-\u0EB0\u0EB2\u0EB3\u0EBD\u0EC0-\u0EC4\u0EC6\u0EDC-\u0EDF\u0F00\u0F40-\u0F47\u0F49-\u0F6C\u0F88-\u0F8C\u1000-\u102A\u103F\u1050-\u1055\u105A-\u105D\u1061\u1065\u1066\u106E-\u1070\u1075-\u1081\u108E\u10A0-\u10C5\u10C7\u10CD\u10D0-\u10FA\u10FC-\u1248\u124A-\u124D\u1250-\u1256\u1258\u125A-\u125D\u1260-\u1288\u128A-\u128D\u1290-\u12B0\u12B2-\u12B5\u12B8-\u12BE\u12C0\u12C2-\u12C5\u12C8-\u12D6\u12D8-\u1310\u1312-\u1315\u1318-\u135A\u1380-\u138F\u13A0-\u13F5\u13F8-\u13FD\u1401-\u166C\u166F-\u167F\u1681-\u169A\u16A0-\u16EA\u16EE-\u16F8\u1700-\u1711\u171F-\u1731\u1740-\u1751\u1760-\u176C\u176E-\u1770\u1780-\u17B3\u17D7\u17DC\u1820-\u1878\u1880-\u18A8\u18AA\u18B0-\u18F5\u1900-\u191E\u1950-\u196D\u1970-\u1974\u1980-\u19AB\u19B0-\u19C9\u1A00-\u1A16\u1A20-\u1A54\u1AA7\u1B05-\u1B33\u1B45-\u1B4C\u1B83-\u1BA0\u1BAE\u1BAF\u1BBA-\u1BE5\u1C00-\u1C23\u1C4D-\u1C4F\u1C5A-\u1C7D\u1C80-\u1C8A\u1C90-\u1CBA\u1CBD-\u1CBF\u1CE9-\u1CEC\u1CEE-\u1CF3\u1CF5\u1CF6\u1CFA\u1D00-\u1DBF\u1E00-\u1F15\u1F18-\u1F1D\u1F20-\u1F45\u1F48-\u1F4D\u1F50-\u1F57\u1F59\u1F5B\u1F5D\u1F5F-\u1F7D\u1F80-\u1FB4\u1FB6-\u1FBC\u1FBE\u1FC2-\u1FC4\u1FC6-\u1FCC\u1FD0-\u1FD3\u1FD6-\u1FDB\u1FE0-\u1FEC\u1FF2-\u1FF4\u1FF6-\u1FFC\u2071\u207F\u2090-\u209C\u2102\u2107\u210A-\u2113\u2115\u2118-\u211D\u2124\u2126\u2128\u212A-\u2139\u213C-\u213F\u2145-\u2149\u214E\u2160-\u2188\u2C00-\u2CE4\u2CEB-\u2CEE\u2CF2\u2CF3\u2D00-\u2D25\u2D27\u2D2D\u2D30-\u2D67\u2D6F\u2D80-\u2D96\u2DA0-\u2DA6\u2DA8-\u2DAE\u2DB0-\u2DB6\u2DB8-\u2DBE\u2DC0-\u2DC6\u2DC8-\u2DCE\u2DD0-\u2DD6\u2DD8-\u2DDE\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303C\u3041-\u3096\u309B-\u309F\u30A1-\u30FA\u30FC-\u30FF\u3105-\u312F\u3131-\u318E\u31A0-\u31BF\u31F0-\u31FF\u3400-\u4DBF\u4E00-\uA48C\uA4D0-\uA4FD\uA500-\uA60C\uA610-\uA61F\uA62A\uA62B\uA640-\uA66E\uA67F-\uA69D\uA6A0-\uA6EF\uA717-\uA71F\uA722-\uA788\uA78B-\uA7CD\uA7D0\uA7D1\uA7D3\uA7D5-\uA7DC\uA7F2-\uA801\uA803-\uA805\uA807-\uA80A\uA80C-\uA822\uA840-\uA873\uA882-\uA8B3\uA8F2-\uA8F7\uA8FB\uA8FD\uA8FE\uA90A-\uA925\uA930-\uA946\uA960-\uA97C\uA984-\uA9B2\uA9CF\uA9E0-\uA9E4\uA9E6-\uA9EF\uA9FA-\uA9FE\uAA00-\uAA28\uAA40-\uAA42\uAA44-\uAA4B\uAA60-\uAA76\uAA7A\uAA7E-\uAAAF\uAAB1\uAAB5\uAAB6\uAAB9-\uAABD\uAAC0\uAAC2\uAADB-\uAADD\uAAE0-\uAAEA\uAAF2-\uAAF4\uAB01-\uAB06\uAB09-\uAB0E\uAB11-\uAB16\uAB20-\uAB26\uAB28-\uAB2E\uAB30-\uAB5A\uAB5C-\uAB69\uAB70-\uABE2\uAC00-\uD7A3\uD7B0-\uD7C6\uD7CB-\uD7FB\uF900-\uFA6D\uFA70-\uFAD9\uFB00-\uFB06\uFB13-\uFB17\uFB1D\uFB1F-\uFB28\uFB2A-\uFB36\uFB38-\uFB3C\uFB3E\uFB40\uFB41\uFB43\uFB44\uFB46-\uFBB1\uFBD3-\uFD3D\uFD50-\uFD8F\uFD92-\uFDC7\uFDF0-\uFDFB\uFE70-\uFE74\uFE76-\uFEFC\uFF21-\uFF3A\uFF41-\uFF5A\uFF66-\uFFBE\uFFC2-\uFFC7\uFFCA-\uFFCF\uFFD2-\uFFD7\uFFDA-\uFFDC]|\uD800[\uDC00-\uDC0B\uDC0D-\uDC26\uDC28-\uDC3A\uDC3C\uDC3D\uDC3F-\uDC4D\uDC50-\uDC5D\uDC80-\uDCFA\uDD40-\uDD74\uDE80-\uDE9C\uDEA0-\uDED0\uDF00-\uDF1F\uDF2D-\uDF4A\uDF50-\uDF75\uDF80-\uDF9D\uDFA0-\uDFC3\uDFC8-\uDFCF\uDFD1-\uDFD5]|\uD801[\uDC00-\uDC9D\uDCB0-\uDCD3\uDCD8-\uDCFB\uDD00-\uDD27\uDD30-\uDD63\uDD70-\uDD7A\uDD7C-\uDD8A\uDD8C-\uDD92\uDD94\uDD95\uDD97-\uDDA1\uDDA3-\uDDB1\uDDB3-\uDDB9\uDDBB\uDDBC\uDDC0-\uDDF3\uDE00-\uDF36\uDF40-\uDF55\uDF60-\uDF67\uDF80-\uDF85\uDF87-\uDFB0\uDFB2-\uDFBA]|\uD802[\uDC00-\uDC05\uDC08\uDC0A-\uDC35\uDC37\uDC38\uDC3C\uDC3F-\uDC55\uDC60-\uDC76\uDC80-\uDC9E\uDCE0-\uDCF2\uDCF4\uDCF5\uDD00-\uDD15\uDD20-\uDD39\uDD80-\uDDB7\uDDBE\uDDBF\uDE00\uDE10-\uDE13\uDE15-\uDE17\uDE19-\uDE35\uDE60-\uDE7C\uDE80-\uDE9C\uDEC0-\uDEC7\uDEC9-\uDEE4\uDF00-\uDF35\uDF40-\uDF55\uDF60-\uDF72\uDF80-\uDF91]|\uD803[\uDC00-\uDC48\uDC80-\uDCB2\uDCC0-\uDCF2\uDD00-\uDD23\uDD4A-\uDD65\uDD6F-\uDD85\uDE80-\uDEA9\uDEB0\uDEB1\uDEC2-\uDEC4\uDF00-\uDF1C\uDF27\uDF30-\uDF45\uDF70-\uDF81\uDFB0-\uDFC4\uDFE0-\uDFF6]|\uD804[\uDC03-\uDC37\uDC71\uDC72\uDC75\uDC83-\uDCAF\uDCD0-\uDCE8\uDD03-\uDD26\uDD44\uDD47\uDD50-\uDD72\uDD76\uDD83-\uDDB2\uDDC1-\uDDC4\uDDDA\uDDDC\uDE00-\uDE11\uDE13-\uDE2B\uDE3F\uDE40\uDE80-\uDE86\uDE88\uDE8A-\uDE8D\uDE8F-\uDE9D\uDE9F-\uDEA8\uDEB0-\uDEDE\uDF05-\uDF0C\uDF0F\uDF10\uDF13-\uDF28\uDF2A-\uDF30\uDF32\uDF33\uDF35-\uDF39\uDF3D\uDF50\uDF5D-\uDF61\uDF80-\uDF89\uDF8B\uDF8E\uDF90-\uDFB5\uDFB7\uDFD1\uDFD3]|\uD805[\uDC00-\uDC34\uDC47-\uDC4A\uDC5F-\uDC61\uDC80-\uDCAF\uDCC4\uDCC5\uDCC7\uDD80-\uDDAE\uDDD8-\uDDDB\uDE00-\uDE2F\uDE44\uDE80-\uDEAA\uDEB8\uDF00-\uDF1A\uDF40-\uDF46]|\uD806[\uDC00-\uDC2B\uDCA0-\uDCDF\uDCFF-\uDD06\uDD09\uDD0C-\uDD13\uDD15\uDD16\uDD18-\uDD2F\uDD3F\uDD41\uDDA0-\uDDA7\uDDAA-\uDDD0\uDDE1\uDDE3\uDE00\uDE0B-\uDE32\uDE3A\uDE50\uDE5C-\uDE89\uDE9D\uDEB0-\uDEF8\uDFC0-\uDFE0]|\uD807[\uDC00-\uDC08\uDC0A-\uDC2E\uDC40\uDC72-\uDC8F\uDD00-\uDD06\uDD08\uDD09\uDD0B-\uDD30\uDD46\uDD60-\uDD65\uDD67\uDD68\uDD6A-\uDD89\uDD98\uDEE0-\uDEF2\uDF02\uDF04-\uDF10\uDF12-\uDF33\uDFB0]|\uD808[\uDC00-\uDF99]|\uD809[\uDC00-\uDC6E\uDC80-\uDD43]|\uD80B[\uDF90-\uDFF0]|[\uD80C\uD80E\uD80F\uD81C-\uD820\uD822\uD840-\uD868\uD86A-\uD86C\uD86F-\uD872\uD874-\uD879\uD880-\uD883\uD885-\uD887][\uDC00-\uDFFF]|\uD80D[\uDC00-\uDC2F\uDC41-\uDC46\uDC60-\uDFFF]|\uD810[\uDC00-\uDFFA]|\uD811[\uDC00-\uDE46]|\uD818[\uDD00-\uDD1D]|\uD81A[\uDC00-\uDE38\uDE40-\uDE5E\uDE70-\uDEBE\uDED0-\uDEED\uDF00-\uDF2F\uDF40-\uDF43\uDF63-\uDF77\uDF7D-\uDF8F]|\uD81B[\uDD40-\uDD6C\uDE40-\uDE7F\uDF00-\uDF4A\uDF50\uDF93-\uDF9F\uDFE0\uDFE1\uDFE3]|\uD821[\uDC00-\uDFF7]|\uD823[\uDC00-\uDCD5\uDCFF-\uDD08]|\uD82B[\uDFF0-\uDFF3\uDFF5-\uDFFB\uDFFD\uDFFE]|\uD82C[\uDC00-\uDD22\uDD32\uDD50-\uDD52\uDD55\uDD64-\uDD67\uDD70-\uDEFB]|\uD82F[\uDC00-\uDC6A\uDC70-\uDC7C\uDC80-\uDC88\uDC90-\uDC99]|\uD835[\uDC00-\uDC54\uDC56-\uDC9C\uDC9E\uDC9F\uDCA2\uDCA5\uDCA6\uDCA9-\uDCAC\uDCAE-\uDCB9\uDCBB\uDCBD-\uDCC3\uDCC5-\uDD05\uDD07-\uDD0A\uDD0D-\uDD14\uDD16-\uDD1C\uDD1E-\uDD39\uDD3B-\uDD3E\uDD40-\uDD44\uDD46\uDD4A-\uDD50\uDD52-\uDEA5\uDEA8-\uDEC0\uDEC2-\uDEDA\uDEDC-\uDEFA\uDEFC-\uDF14\uDF16-\uDF34\uDF36-\uDF4E\uDF50-\uDF6E\uDF70-\uDF88\uDF8A-\uDFA8\uDFAA-\uDFC2\uDFC4-\uDFCB]|\uD837[\uDF00-\uDF1E\uDF25-\uDF2A]|\uD838[\uDC30-\uDC6D\uDD00-\uDD2C\uDD37-\uDD3D\uDD4E\uDE90-\uDEAD\uDEC0-\uDEEB]|\uD839[\uDCD0-\uDCEB\uDDD0-\uDDED\uDDF0\uDFE0-\uDFE6\uDFE8-\uDFEB\uDFED\uDFEE\uDFF0-\uDFFE]|\uD83A[\uDC00-\uDCC4\uDD00-\uDD43\uDD4B]|\uD83B[\uDE00-\uDE03\uDE05-\uDE1F\uDE21\uDE22\uDE24\uDE27\uDE29-\uDE32\uDE34-\uDE37\uDE39\uDE3B\uDE42\uDE47\uDE49\uDE4B\uDE4D-\uDE4F\uDE51\uDE52\uDE54\uDE57\uDE59\uDE5B\uDE5D\uDE5F\uDE61\uDE62\uDE64\uDE67-\uDE6A\uDE6C-\uDE72\uDE74-\uDE77\uDE79-\uDE7C\uDE7E\uDE80-\uDE89\uDE8B-\uDE9B\uDEA1-\uDEA3\uDEA5-\uDEA9\uDEAB-\uDEBB]|\uD869[\uDC00-\uDEDF\uDF00-\uDFFF]|\uD86D[\uDC00-\uDF39\uDF40-\uDFFF]|\uD86E[\uDC00-\uDC1D\uDC20-\uDFFF]|\uD873[\uDC00-\uDEA1\uDEB0-\uDFFF]|\uD87A[\uDC00-\uDFE0\uDFF0-\uDFFF]|\uD87B[\uDC00-\uDE5D]|\uD87E[\uDC00-\uDE1D]|\uD884[\uDC00-\uDF4A\uDF50-\uDFFF]|\uD888[\uDC00-\uDFAF]/.test(r(e))}function O(e){return B(e)||e>=48&&e<=57||e>=128&&/[\xB7\u0300-\u036F\u0387\u0483-\u0487\u0591-\u05BD\u05BF\u05C1\u05C2\u05C4\u05C5\u05C7\u0610-\u061A\u064B-\u0669\u0670\u06D6-\u06DC\u06DF-\u06E4\u06E7\u06E8\u06EA-\u06ED\u06F0-\u06F9\u0711\u0730-\u074A\u07A6-\u07B0\u07C0-\u07C9\u07EB-\u07F3\u07FD\u0816-\u0819\u081B-\u0823\u0825-\u0827\u0829-\u082D\u0859-\u085B\u0897-\u089F\u08CA-\u08E1\u08E3-\u0903\u093A-\u093C\u093E-\u094F\u0951-\u0957\u0962\u0963\u0966-\u096F\u0981-\u0983\u09BC\u09BE-\u09C4\u09C7\u09C8\u09CB-\u09CD\u09D7\u09E2\u09E3\u09E6-\u09EF\u09FE\u0A01-\u0A03\u0A3C\u0A3E-\u0A42\u0A47\u0A48\u0A4B-\u0A4D\u0A51\u0A66-\u0A71\u0A75\u0A81-\u0A83\u0ABC\u0ABE-\u0AC5\u0AC7-\u0AC9\u0ACB-\u0ACD\u0AE2\u0AE3\u0AE6-\u0AEF\u0AFA-\u0AFF\u0B01-\u0B03\u0B3C\u0B3E-\u0B44\u0B47\u0B48\u0B4B-\u0B4D\u0B55-\u0B57\u0B62\u0B63\u0B66-\u0B6F\u0B82\u0BBE-\u0BC2\u0BC6-\u0BC8\u0BCA-\u0BCD\u0BD7\u0BE6-\u0BEF\u0C00-\u0C04\u0C3C\u0C3E-\u0C44\u0C46-\u0C48\u0C4A-\u0C4D\u0C55\u0C56\u0C62\u0C63\u0C66-\u0C6F\u0C81-\u0C83\u0CBC\u0CBE-\u0CC4\u0CC6-\u0CC8\u0CCA-\u0CCD\u0CD5\u0CD6\u0CE2\u0CE3\u0CE6-\u0CEF\u0CF3\u0D00-\u0D03\u0D3B\u0D3C\u0D3E-\u0D44\u0D46-\u0D48\u0D4A-\u0D4D\u0D57\u0D62\u0D63\u0D66-\u0D6F\u0D81-\u0D83\u0DCA\u0DCF-\u0DD4\u0DD6\u0DD8-\u0DDF\u0DE6-\u0DEF\u0DF2\u0DF3\u0E31\u0E34-\u0E3A\u0E47-\u0E4E\u0E50-\u0E59\u0EB1\u0EB4-\u0EBC\u0EC8-\u0ECE\u0ED0-\u0ED9\u0F18\u0F19\u0F20-\u0F29\u0F35\u0F37\u0F39\u0F3E\u0F3F\u0F71-\u0F84\u0F86\u0F87\u0F8D-\u0F97\u0F99-\u0FBC\u0FC6\u102B-\u103E\u1040-\u1049\u1056-\u1059\u105E-\u1060\u1062-\u1064\u1067-\u106D\u1071-\u1074\u1082-\u108D\u108F-\u109D\u135D-\u135F\u1369-\u1371\u1712-\u1715\u1732-\u1734\u1752\u1753\u1772\u1773\u17B4-\u17D3\u17DD\u17E0-\u17E9\u180B-\u180D\u180F-\u1819\u18A9\u1920-\u192B\u1930-\u193B\u1946-\u194F\u19D0-\u19DA\u1A17-\u1A1B\u1A55-\u1A5E\u1A60-\u1A7C\u1A7F-\u1A89\u1A90-\u1A99\u1AB0-\u1ABD\u1ABF-\u1ACE\u1B00-\u1B04\u1B34-\u1B44\u1B50-\u1B59\u1B6B-\u1B73\u1B80-\u1B82\u1BA1-\u1BAD\u1BB0-\u1BB9\u1BE6-\u1BF3\u1C24-\u1C37\u1C40-\u1C49\u1C50-\u1C59\u1CD0-\u1CD2\u1CD4-\u1CE8\u1CED\u1CF4\u1CF7-\u1CF9\u1DC0-\u1DFF\u200C\u200D\u203F\u2040\u2054\u20D0-\u20DC\u20E1\u20E5-\u20F0\u2CEF-\u2CF1\u2D7F\u2DE0-\u2DFF\u302A-\u302F\u3099\u309A\u30FB\uA620-\uA629\uA66F\uA674-\uA67D\uA69E\uA69F\uA6F0\uA6F1\uA802\uA806\uA80B\uA823-\uA827\uA82C\uA880\uA881\uA8B4-\uA8C5\uA8D0-\uA8D9\uA8E0-\uA8F1\uA8FF-\uA909\uA926-\uA92D\uA947-\uA953\uA980-\uA983\uA9B3-\uA9C0\uA9D0-\uA9D9\uA9E5\uA9F0-\uA9F9\uAA29-\uAA36\uAA43\uAA4C\uAA4D\uAA50-\uAA59\uAA7B-\uAA7D\uAAB0\uAAB2-\uAAB4\uAAB7\uAAB8\uAABE\uAABF\uAAC1\uAAEB-\uAAEF\uAAF5\uAAF6\uABE3-\uABEA\uABEC\uABED\uABF0-\uABF9\uFB1E\uFE00-\uFE0F\uFE20-\uFE2F\uFE33\uFE34\uFE4D-\uFE4F\uFF10-\uFF19\uFF3F\uFF65]|\uD800[\uDDFD\uDEE0\uDF76-\uDF7A]|\uD801[\uDCA0-\uDCA9]|\uD802[\uDE01-\uDE03\uDE05\uDE06\uDE0C-\uDE0F\uDE38-\uDE3A\uDE3F\uDEE5\uDEE6]|\uD803[\uDD24-\uDD27\uDD30-\uDD39\uDD40-\uDD49\uDD69-\uDD6D\uDEAB\uDEAC\uDEFC-\uDEFF\uDF46-\uDF50\uDF82-\uDF85]|\uD804[\uDC00-\uDC02\uDC38-\uDC46\uDC66-\uDC70\uDC73\uDC74\uDC7F-\uDC82\uDCB0-\uDCBA\uDCC2\uDCF0-\uDCF9\uDD00-\uDD02\uDD27-\uDD34\uDD36-\uDD3F\uDD45\uDD46\uDD73\uDD80-\uDD82\uDDB3-\uDDC0\uDDC9-\uDDCC\uDDCE-\uDDD9\uDE2C-\uDE37\uDE3E\uDE41\uDEDF-\uDEEA\uDEF0-\uDEF9\uDF00-\uDF03\uDF3B\uDF3C\uDF3E-\uDF44\uDF47\uDF48\uDF4B-\uDF4D\uDF57\uDF62\uDF63\uDF66-\uDF6C\uDF70-\uDF74\uDFB8-\uDFC0\uDFC2\uDFC5\uDFC7-\uDFCA\uDFCC-\uDFD0\uDFD2\uDFE1\uDFE2]|\uD805[\uDC35-\uDC46\uDC50-\uDC59\uDC5E\uDCB0-\uDCC3\uDCD0-\uDCD9\uDDAF-\uDDB5\uDDB8-\uDDC0\uDDDC\uDDDD\uDE30-\uDE40\uDE50-\uDE59\uDEAB-\uDEB7\uDEC0-\uDEC9\uDED0-\uDEE3\uDF1D-\uDF2B\uDF30-\uDF39]|\uD806[\uDC2C-\uDC3A\uDCE0-\uDCE9\uDD30-\uDD35\uDD37\uDD38\uDD3B-\uDD3E\uDD40\uDD42\uDD43\uDD50-\uDD59\uDDD1-\uDDD7\uDDDA-\uDDE0\uDDE4\uDE01-\uDE0A\uDE33-\uDE39\uDE3B-\uDE3E\uDE47\uDE51-\uDE5B\uDE8A-\uDE99\uDFF0-\uDFF9]|\uD807[\uDC2F-\uDC36\uDC38-\uDC3F\uDC50-\uDC59\uDC92-\uDCA7\uDCA9-\uDCB6\uDD31-\uDD36\uDD3A\uDD3C\uDD3D\uDD3F-\uDD45\uDD47\uDD50-\uDD59\uDD8A-\uDD8E\uDD90\uDD91\uDD93-\uDD97\uDDA0-\uDDA9\uDEF3-\uDEF6\uDF00\uDF01\uDF03\uDF34-\uDF3A\uDF3E-\uDF42\uDF50-\uDF5A]|\uD80D[\uDC40\uDC47-\uDC55]|\uD818[\uDD1E-\uDD39]|\uD81A[\uDE60-\uDE69\uDEC0-\uDEC9\uDEF0-\uDEF4\uDF30-\uDF36\uDF50-\uDF59]|\uD81B[\uDD70-\uDD79\uDF4F\uDF51-\uDF87\uDF8F-\uDF92\uDFE4\uDFF0\uDFF1]|\uD82F[\uDC9D\uDC9E]|\uD833[\uDCF0-\uDCF9\uDF00-\uDF2D\uDF30-\uDF46]|\uD834[\uDD65-\uDD69\uDD6D-\uDD72\uDD7B-\uDD82\uDD85-\uDD8B\uDDAA-\uDDAD\uDE42-\uDE44]|\uD835[\uDFCE-\uDFFF]|\uD836[\uDE00-\uDE36\uDE3B-\uDE6C\uDE75\uDE84\uDE9B-\uDE9F\uDEA1-\uDEAF]|\uD838[\uDC00-\uDC06\uDC08-\uDC18\uDC1B-\uDC21\uDC23\uDC24\uDC26-\uDC2A\uDC8F\uDD30-\uDD36\uDD40-\uDD49\uDEAE\uDEEC-\uDEF9]|\uD839[\uDCEC-\uDCF9\uDDEE\uDDEF\uDDF1-\uDDFA]|\uD83A[\uDCD0-\uDCD6\uDD44-\uDD4A\uDD50-\uDD59]|\uD83E[\uDFF0-\uDFF9]|\uDB40[\uDD00-\uDDEF]/.test(r(e))}function R(){var t,r=h();return H&&/[\^$.*+?()\\[\]{}|/]/.test(r)||!H&&"c"!==r?"k"===r&&n.lookbehind?null:o("identifier",(t=e.substring(X,X+=1)).charCodeAt(0),t,1):null}function N(){var e,t=X;return(e=g("[^"))?(e=L(),m("]"),l(e,!0,t,X)):y("[")?(e=L(),m("]"),l(e,!1,t,X)):null}function L(){var e,t;return b("]")?{kind:"union",body:[]}:K?function(){var e,t=[],r=M(!0);for(t.push(r),e="classRange"===r.type?"union":b("&")?"intersection":b("-")?"subtraction":"union";!b("]");)"intersection"===e?(m("&"),m("&"),b("&")&&z("&& cannot be followed by &. Wrap it in brackets: &&[&].")):"subtraction"===e&&(m("-"),m("-")),t.push(r=M("union"===e));return{kind:e,body:t}}():((t=j())||z("classAtom"),(e=b("]")?[t]:function e(t){if(b("-")&&!E("]")){r=t.range[0],p(),i=s("-"),(a=j())||z("classAtom"),n=X;var r,n,u,a,i,o,d=L();return(d||z("classContents"),"codePoint"in t&&"codePoint"in a?u=[c(t,a,r,n)]:H?z("invalid character class"):u=[t,i,a],"empty"===d.type)?u:u.concat(d.body)}return(o=j())||z("classAtom"),(u=b("]")?o:e(o))||z("nonEmptyClassRangesNoDash"),[t].concat(u)}(t))||z("nonEmptyClassRanges"),{kind:"union",body:e})}function j(){return y("-")?s("-"):function(){var e;switch(e=h()){case"\\":if(p(),!(e=w(!0))){if(!H&&"c"==h())return s("\\");z("classEscape")}return T(e,H);case"]":case"-":break;default:return p(),s(e)}}()}function M(t){var r,n,u=X;if(y("\\"))if(g("q{"))return function(){var t,r=X-3,n=[];do n.push(function(){for(var t,r,n=[],u=X;r=$();)n.push(r);return{type:"classString",characters:n,range:[u,t=X],raw:e.substring(u,t)}}());while(y("|"));return m("}"),{type:"classStrings",strings:n,range:[r,t=X],raw:e.substring(r,t)}}();else if(n=w(!0))r=n;else{if(n=q())return n;z("Invalid escape","\\"+h(),u)}else if(n=U())r=n;else{if(n=N())return n;z("Invalid character",h())}if(t&&b("-")&&!E("-")){if(p(),n=$())return c(r,n,u,X);z("Invalid range end",h())}return r}function $(){if(y("\\")){var e,t=X;if(e=q())return e;z("Invalid escape","\\"+h(),t)}return U()}function U(){var e;if(v(/^(?:&&|!!|##|\$\$|%%|\*\*|\+\+|,,|\.\.|::|;;|<<|==|>>|\?\?|@@|\^\^|``|~~)/)&&z("Invalid set operation in character class"),e=v(/^[^()[\]{}/\-\\|]/))return s(e)}function q(){var e;if(y("b"))return o("singleEscape",8,"\\b");if(y("B"))z("\\B not possible inside of ClassContents","",X-2);else if(e=v(/^[&\-!#%,:;<=>@`~]/))return o("identifier",e[0].codePointAt(0),e[0]);else if(e=k())return e;else return null}function z(t,r,n,u){n=null==n?X:n,u=null==u?n:u;var a=Math.max(0,n-10),i=Math.min(u+10,e.length),o=" "+e.substring(a,i),s=" "+Array(n-a+1).join(" ")+"^";throw SyntaxError(t+" at position "+n+(r?": "+r:"")+"\n"+o+"\n"+s)}var W=[],Y=0,V=!0,Z=!1,G=-1!==(t||"").indexOf("u"),K=-1!==(t||"").indexOf("v"),H=G||K,X=0;if(K&&!n.unicodeSet)throw Error('The "v" flag is only supported when the .unicodeSet option is enabled.');if(G&&K)throw Error('The "u" and "v" flags are mutually exclusive.');""===(e=String(e))&&(e="(?:)");var J=x();return(J.range[1]!==e.length&&z("Could not parse entire input - got stuck","",J.range[1]),Z=Z||W.some(function(e){return e<=Y}))?(X=0,V=!1,x()):J}},aA.exports?aA.exports=n:window.regjsparser=n,aA.exports)}()),aC="method",aT="pattern",aw=e=>rA(e)?e.value:"UnaryExpression"===e.type&&"-"===e.operator?-aw(e.argument):void 0,a_=e=>e?.type==="MemberExpression"&&!1===e.computed&&"Identifier"===e.property.type&&"length"===e.property.name,aF="prefer-string-trim-start-end",ak="no-unreadable-iife",aP="throw-new-error",aI=/^(?:[A-Z][\da-z]*)*Error$/;var aB=rG(function(){if(m)return p;m=1;let e=function(){if(l)return d;l=1;var e=/[|\\{}()[\]^$+*?.]/g;return d=function(t){if("string"!=typeof t)throw TypeError("Expected a string");return t.replace(e,"\\$&")}}(),t=f?c:(f=1,c=new Map([["[0-9]",{value:"\\d"}],["[^0-9]",{value:"\\D"}],["[a-zA-Z0-9_]",{value:"\\w"}],["[a-zA-Z_0-9]",{value:"\\w"}],["[a-z0-9A-Z_]",{value:"\\w"}],["[a-z0-9_A-Z]",{value:"\\w"}],["[a-z_A-Z0-9]",{value:"\\w"}],["[a-z_0-9A-Z]",{value:"\\w"}],["[A-Za-z0-9_]",{value:"\\w"}],["[A-Za-z_0-9]",{value:"\\w"}],["[A-Z0-9a-z_]",{value:"\\w"}],["[A-Z0-9_a-z]",{value:"\\w"}],["[A-Z_a-z0-9]",{value:"\\w"}],["[A-Z_0-9a-z]",{value:"\\w"}],["[0-9a-zA-Z_]",{value:"\\w"}],["[0-9a-z_A-Z]",{value:"\\w"}],["[0-9A-Za-z_]",{value:"\\w"}],["[0-9A-Z_a-z]",{value:"\\w"}],["[0-9_a-zA-Z]",{value:"\\w"}],["[0-9_A-Za-z]",{value:"\\w"}],["[_a-zA-Z0-9]",{value:"\\w"}],["[_a-z0-9A-Z]",{value:"\\w"}],["[_A-Za-z0-9]",{value:"\\w"}],["[_A-Z0-9a-z]",{value:"\\w"}],["[_0-9a-zA-Z]",{value:"\\w"}],["[_0-9A-Za-z]",{value:"\\w"}],["[a-zA-Z\\d_]",{value:"\\w"}],["[a-zA-Z_\\d]",{value:"\\w"}],["[a-z\\dA-Z_]",{value:"\\w"}],["[a-z\\d_A-Z]",{value:"\\w"}],["[a-z_A-Z\\d]",{value:"\\w"}],["[a-z_\\dA-Z]",{value:"\\w"}],["[A-Za-z\\d_]",{value:"\\w"}],["[A-Za-z_\\d]",{value:"\\w"}],["[A-Z\\da-z_]",{value:"\\w"}],["[A-Z\\d_a-z]",{value:"\\w"}],["[A-Z_a-z\\d]",{value:"\\w"}],["[A-Z_\\da-z]",{value:"\\w"}],["[\\da-zA-Z_]",{value:"\\w"}],["[\\da-z_A-Z]",{value:"\\w"}],["[\\dA-Za-z_]",{value:"\\w"}],["[\\dA-Z_a-z]",{value:"\\w"}],["[\\d_a-zA-Z]",{value:"\\w"}],["[\\d_A-Za-z]",{value:"\\w"}],["[_a-zA-Z\\d]",{value:"\\w"}],["[_a-z\\dA-Z]",{value:"\\w"}],["[_A-Za-z\\d]",{value:"\\w"}],["[_A-Z\\da-z]",{value:"\\w"}],["[_\\da-zA-Z]",{value:"\\w"}],["[_\\dA-Za-z]",{value:"\\w"}],["[^a-zA-Z0-9_]",{value:"\\W"}],["[^a-zA-Z_0-9]",{value:"\\W"}],["[^a-z0-9A-Z_]",{value:"\\W"}],["[^a-z0-9_A-Z]",{value:"\\W"}],["[^a-z_A-Z0-9]",{value:"\\W"}],["[^a-z_0-9A-Z]",{value:"\\W"}],["[^A-Za-z0-9_]",{value:"\\W"}],["[^A-Za-z_0-9]",{value:"\\W"}],["[^A-Z0-9a-z_]",{value:"\\W"}],["[^A-Z0-9_a-z]",{value:"\\W"}],["[^A-Z_a-z0-9]",{value:"\\W"}],["[^A-Z_0-9a-z]",{value:"\\W"}],["[^0-9a-zA-Z_]",{value:"\\W"}],["[^0-9a-z_A-Z]",{value:"\\W"}],["[^0-9A-Za-z_]",{value:"\\W"}],["[^0-9A-Z_a-z]",{value:"\\W"}],["[^0-9_a-zA-Z]",{value:"\\W"}],["[^0-9_A-Za-z]",{value:"\\W"}],["[^_a-zA-Z0-9]",{value:"\\W"}],["[^_a-z0-9A-Z]",{value:"\\W"}],["[^_A-Za-z0-9]",{value:"\\W"}],["[^_A-Z0-9a-z]",{value:"\\W"}],["[^_0-9a-zA-Z]",{value:"\\W"}],["[^_0-9A-Za-z]",{value:"\\W"}],["[^a-zA-Z\\d_]",{value:"\\W"}],["[^a-zA-Z_\\d]",{value:"\\W"}],["[^a-z\\dA-Z_]",{value:"\\W"}],["[^a-z\\d_A-Z]",{value:"\\W"}],["[^a-z_A-Z\\d]",{value:"\\W"}],["[^a-z_\\dA-Z]",{value:"\\W"}],["[^A-Za-z\\d_]",{value:"\\W"}],["[^A-Za-z_\\d]",{value:"\\W"}],["[^A-Z\\da-z_]",{value:"\\W"}],["[^A-Z\\d_a-z]",{value:"\\W"}],["[^A-Z_a-z\\d]",{value:"\\W"}],["[^A-Z_\\da-z]",{value:"\\W"}],["[^\\da-zA-Z_]",{value:"\\W"}],["[^\\da-z_A-Z]",{value:"\\W"}],["[^\\dA-Za-z_]",{value:"\\W"}],["[^\\dA-Z_a-z]",{value:"\\W"}],["[^\\d_a-zA-Z]",{value:"\\W"}],["[^\\d_A-Za-z]",{value:"\\W"}],["[^_a-zA-Z\\d]",{value:"\\W"}],["[^_a-z\\dA-Z]",{value:"\\W"}],["[^_A-Za-z\\d]",{value:"\\W"}],["[^_A-Z\\da-z]",{value:"\\W"}],["[^_\\da-zA-Z]",{value:"\\W"}],["[^_\\dA-Za-z]",{value:"\\W"}],["[a-z0-9_]",{value:"\\w",flags:"i"}],["[a-z_0-9]",{value:"\\w",flags:"i"}],["[0-9a-z_]",{value:"\\w",flags:"i"}],["[0-9_a-z]",{value:"\\w",flags:"i"}],["[_a-z0-9]",{value:"\\w",flags:"i"}],["[_0-9a-z]",{value:"\\w",flags:"i"}],["[^a-z0-9_]",{value:"\\W",flags:"i"}],["[a-z\\d_]",{value:"\\w",flags:"i"}],["[a-z_\\d]",{value:"\\w",flags:"i"}],["[\\da-z_]",{value:"\\w",flags:"i"}],["[\\d_a-z]",{value:"\\w",flags:"i"}],["[_a-z\\d]",{value:"\\w",flags:"i"}],["[_\\da-z]",{value:"\\w",flags:"i"}],["[^a-z0-9_]",{value:"\\W",flags:"i"}],["[^a-z_0-9]",{value:"\\W",flags:"i"}],["[^0-9a-z_]",{value:"\\W",flags:"i"}],["[^0-9_a-z]",{value:"\\W",flags:"i"}],["[^_a-z0-9]",{value:"\\W",flags:"i"}],["[^_0-9a-z]",{value:"\\W",flags:"i"}],["[^a-z\\d_]",{value:"\\W",flags:"i"}],["[^a-z_\\d]",{value:"\\W",flags:"i"}],["[^\\da-z_]",{value:"\\W",flags:"i"}],["[^\\d_a-z]",{value:"\\W",flags:"i"}],["[^_a-z\\d]",{value:"\\W",flags:"i"}],["[^_\\da-z]",{value:"\\W",flags:"i"}]])),r=(e,t)=>!t||t.split("").every(t=>e.includes(t));return p=(n,u)=>{if(u=u||"","string"!=typeof n)throw TypeError(`Expected regexp to be of type \`string\`, got \`${typeof n}\``);if("string"!=typeof u)throw TypeError(`Expected flags to be of type \`string\`, got \`${typeof u}\``);for(let a of t){let t=a[0],i=a[1];r(u,i.flags)&&(n=n.replace(RegExp(e(t),"g"),i.value))}return n}}());function aO(){if(S)return A;function e(e){return e?t[e.type](e):""}S=1;var t={RegExp:function(t){return"/"+e(t.body)+"/"+t.flags},Alternative:function(t){return(t.expressions||[]).map(e).join("")},Disjunction:function(t){return e(t.left)+"|"+e(t.right)},Group:function(t){var r=e(t.expression);return t.capturing?t.name?"(?<"+(t.nameRaw||t.name)+">"+r+")":"("+r+")":"(?:"+r+")"},Backreference:function(e){switch(e.kind){case"number":return"\\"+e.reference;case"name":return"\\k<"+(e.referenceRaw||e.reference)+">";default:throw TypeError("Unknown Backreference kind: "+e.kind)}},Assertion:function(t){switch(t.kind){case"^":case"$":case"\\b":case"\\B":return t.kind;case"Lookahead":var r=e(t.assertion);if(t.negative)return"(?!"+r+")";return"(?="+r+")";case"Lookbehind":var n=e(t.assertion);if(t.negative)return"(?<!"+n+")";return"(?<="+n+")";default:throw TypeError("Unknown Assertion kind: "+t.kind)}},CharacterClass:function(t){var r=t.expressions.map(e).join("");return t.negative?"[^"+r+"]":"["+r+"]"},ClassRange:function(t){return e(t.from)+"-"+e(t.to)},Repetition:function(t){return""+e(t.expression)+e(t.quantifier)},Quantifier:function(e){var t=void 0,r=e.greedy?"":"?";switch(e.kind){case"+":case"?":case"*":t=e.kind;break;case"Range":t=e.from===e.to?"{"+e.from+"}":e.to?"{"+e.from+","+e.to+"}":"{"+e.from+",}";break;default:throw TypeError("Unknown Quantifier kind: "+e.kind)}return""+t+r},Char:function(e){var t=e.value;switch(e.kind){case"simple":if(e.escaped)return"\\"+t;return t;case"hex":case"unicode":case"oct":case"decimal":case"control":case"meta":return t;default:throw TypeError("Unknown Char kind: "+e.kind)}},UnicodeProperty:function(e){var t=e.negative?"P":"p";return"\\"+t+"{"+(e.shorthand||e.binary?"":e.name+"=")+e.value+"}"}};return A={generate:e}}function aR(){if(k)return F;k=1;var e=function(){if(_)return w;_=1;var e=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,u=!1,a=void 0;try{for(var i,o=e[Symbol.iterator]();!(n=(i=o.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){u=!0,a=e}finally{try{!n&&o.return&&o.return()}finally{if(u)throw a}}return r}(e,t);throw TypeError("Invalid attempt to destructure non-iterable instance")};function t(e){if(!Array.isArray(e))return Array.from(e);for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}var r=void 0,n={},u=void 0,a=void 0;function i(e,t){return n.options.captureLocations?e&&t?{startOffset:e.startOffset,endOffset:t.endOffset,startLine:e.startLine,endLine:t.endLine,startColumn:e.startColumn,endColumn:t.endColumn}:e||t:null}var o=[[-1,1,function(e,t){a=i(t,t),u=e}],[0,4,function(e,t,r,n,o,s,d,l){a=i(o,l),u=B({type:"RegExp",body:t,flags:function(e){var t=new Set,r=!0,n=!1,u=void 0;try{for(var a,i=e[Symbol.iterator]();!(r=(a=i.next()).done);r=!0){var o=a.value;if(t.has(o)||!"gimsuxy".includes(o))throw SyntaxError("Invalid flags: "+e);t.add(o)}}catch(e){n=!0,u=e}finally{try{!r&&i.return&&i.return()}finally{if(n)throw u}}return e.split("").sort().join("")}(n)},O(o,l||d))}],[1,1,function(e,t){a=i(t,t),u=e}],[1,0,function(){a=null,u=""}],[2,1,function(e,t){a=i(t,t),u=e}],[2,2,function(e,t,r,n){a=i(r,n),u=e+t}],[3,1,function(e,t){a=i(t,t),u=e}],[4,1,function(e,t){a=i(t,t),u=e}],[4,3,function(e,t,r,n,o,s){a=i(n,s);var d=null;o&&(d=O(n||o,s||o)),u=B({type:"Disjunction",left:e,right:r},d)}],[5,1,function(e,t){if(a=i(t,t),0===e.length){u=null;return}u=1===e.length?B(e[0],a):B({type:"Alternative",expressions:e},a)}],[6,0,function(){a=null,u=[]}],[6,2,function(e,t,r,n){a=i(r,n),u=e.concat(t)}],[7,1,function(e,t){a=i(t,t),u=B(Object.assign({type:"Assertion"},e),a)}],[7,2,function(e,t,r,n){a=i(r,n),u=e,t&&(u=B({type:"Repetition",expression:e,quantifier:t},a))}],[8,1,function(e,t){a=i(t,t),u={kind:"^"}}],[8,1,function(e,t){a=i(t,t),u={kind:"$"}}],[8,1,function(e,t){a=i(t,t),u={kind:"\\b"}}],[8,1,function(e,t){a=i(t,t),u={kind:"\\B"}}],[8,3,function(e,t,r,n,o,s){a=i(n,s),u={kind:"Lookahead",assertion:t}}],[8,3,function(e,t,r,n,o,s){a=i(n,s),u={kind:"Lookahead",negative:!0,assertion:t}}],[8,3,function(e,t,r,n,o,s){a=i(n,s),u={kind:"Lookbehind",assertion:t}}],[8,3,function(e,t,r,n,o,s){a=i(n,s),u={kind:"Lookbehind",negative:!0,assertion:t}}],[9,1,function(e,t){a=i(t,t),u=e}],[9,1,function(e,t){a=i(t,t),u=e}],[9,1,function(e,t){a=i(t,t),u=e}],[10,1,function(e,t){u=D(e,"simple",a=i(t,t))}],[10,1,function(e,t){a=i(t,t),(u=D(e.slice(1),"simple",a)).escaped=!0}],[10,1,function(e,t){(u=D(e,"unicode",a=i(t,t))).isSurrogatePair=!0}],[10,1,function(e,t){u=D(e,"unicode",a=i(t,t))}],[10,1,function(e,t){u=function(e,t){var r="P"===e[1],n=e.indexOf("="),u=e.slice(3,-1!==n?n:-1),a=void 0,i=-1===n&&x.isGeneralCategoryValue(u),o=-1===n&&x.isBinaryPropertyName(u);if(i)a=u,u="General_Category";else if(o)a=u;else{if(!x.isValidName(u))throw SyntaxError("Invalid unicode property name: "+u+".");if(a=e.slice(n+1,-1),!x.isValidValue(u,a))throw SyntaxError("Invalid "+u+" unicode property value: "+a+".")}return B({type:"UnicodeProperty",name:u,value:a,negative:r,shorthand:i,binary:o,canonicalName:x.getCanonicalName(u)||u,canonicalValue:x.getCanonicalValue(a)||a},t)}(e,a=i(t,t))}],[10,1,function(e,t){u=D(e,"control",a=i(t,t))}],[10,1,function(e,t){u=D(e,"hex",a=i(t,t))}],[10,1,function(e,t){u=D(e,"oct",a=i(t,t))}],[10,1,function(e,t){var r,n,o;r=e,n=a=i(t,t),u=(o=Number(r.slice(1)))>0&&o<=y?B({type:"Backreference",kind:"number",number:o,reference:o},n):D(r,"decimal",n)}],[10,1,function(e,t){u=D(e,"meta",a=i(t,t))}],[10,1,function(e,t){u=D(e,"meta",a=i(t,t))}],[10,1,function(e,t){a=i(t,t),u=function(e,t){var r=e.slice(3,-1),n=I(r);if(h.hasOwnProperty(n))return B({type:"Backreference",kind:"name",number:h[n],reference:n,referenceRaw:r},t);var u=null,a=null,i=null,o=null;t&&(u=t.startOffset,a=t.startLine,i=t.endLine,o=t.startColumn);var s=/^[\w$<>]/,d=void 0,l=[D(e.slice(1,2),"simple",u?{startLine:a,endLine:i,startColumn:o,startOffset:u,endOffset:u+=2,endColumn:o+=2}:null)];for(l[0].escaped=!0,e=e.slice(2);e.length>0;){var c=null;(c=e.match(A))||(c=e.match(S))?(u&&(d={startLine:a,endLine:i,startColumn:o,startOffset:u,endOffset:u+=c[0].length,endColumn:o+=c[0].length}),l.push(D(c[0],"unicode",d)),e=e.slice(c[0].length)):(c=e.match(s))&&(u&&(d={startLine:a,endLine:i,startColumn:o,startOffset:u,endOffset:++u,endColumn:++o}),l.push(D(c[0],"simple",d)),e=e.slice(1))}return l}(e,t)}],[11,1,function(e,t){a=i(t,t),u=e}],[11,0],[12,1,function(e,t){a=i(t,t),u=e}],[12,2,function(e,t,r,n){a=i(r,n),e.greedy=!1,u=e}],[13,1,function(e,t){u=B({type:"Quantifier",kind:e,greedy:!0},a=i(t,t))}],[13,1,function(e,t){u=B({type:"Quantifier",kind:e,greedy:!0},a=i(t,t))}],[13,1,function(e,t){u=B({type:"Quantifier",kind:e,greedy:!0},a=i(t,t))}],[13,1,function(e,t){a=i(t,t);var r=E(e);u=B({type:"Quantifier",kind:"Range",from:r[0],to:r[0],greedy:!0},a)}],[13,1,function(e,t){a=i(t,t),u=B({type:"Quantifier",kind:"Range",from:E(e)[0],greedy:!0},a)}],[13,1,function(e,t){a=i(t,t);var r=E(e);u=B({type:"Quantifier",kind:"Range",from:r[0],to:r[1],greedy:!0},a)}],[14,1,function(e,t){a=i(t,t),u=e}],[14,1,function(e,t){a=i(t,t),u=e}],[15,3,function(e,t,r,o,s,d){a=i(o,d);var l=String(e),c=I(l);if(!n.options.allowGroupNameDuplicates&&h.hasOwnProperty(c))throw SyntaxError('Duplicate of the named group "'+c+'".');h[c]=e.groupNumber,u=B({type:"Group",capturing:!0,name:c,nameRaw:l,number:e.groupNumber,expression:t},a)}],[15,3,function(e,t,r,n,o,s){a=i(n,s),u=B({type:"Group",capturing:!0,number:e.groupNumber,expression:t},a)}],[16,3,function(e,t,r,n,o,s){u=B({type:"Group",capturing:!1,expression:t},a=i(n,s))}],[17,3,function(e,t,r,n,o,s){u=B({type:"CharacterClass",negative:!0,expressions:t},a=i(n,s))}],[17,3,function(e,t,r,n,o,s){u=B({type:"CharacterClass",expressions:t},a=i(n,s))}],[18,0,function(){a=null,u=[]}],[18,1,function(e,t){a=i(t,t),u=e}],[19,1,function(e,t){a=i(t,t),u=[e]}],[19,2,function(e,t,r,n){a=i(r,n),u=[e].concat(t)}],[19,4,function(e,t,r,n,o,s,d,l){a=i(o,l),v(e,r),u=[B({type:"ClassRange",from:e,to:r},O(o,d))],n&&(u=u.concat(n))}],[20,1,function(e,t){a=i(t,t),u=e}],[20,2,function(e,t,r,n){a=i(r,n),u=[e].concat(t)}],[20,4,function(e,t,r,n,o,s,d,l){a=i(o,l),v(e,r),u=[B({type:"ClassRange",from:e,to:r},O(o,d))],n&&(u=u.concat(n))}],[21,1,function(e,t){u=D(e,"simple",a=i(t,t))}],[21,1,function(e,t){a=i(t,t),u=e}],[22,1,function(e,t){a=i(t,t),u=e}],[22,1,function(e,t){u=D(e,"meta",a=i(t,t))}]],s={SLASH:"23",CHAR:"24",BAR:"25",BOS:"26",EOS:"27",ESC_b:"28",ESC_B:"29",POS_LA_ASSERT:"30",R_PAREN:"31",NEG_LA_ASSERT:"32",POS_LB_ASSERT:"33",NEG_LB_ASSERT:"34",ESC_CHAR:"35",U_CODE_SURROGATE:"36",U_CODE:"37",U_PROP_VALUE_EXP:"38",CTRL_CH:"39",HEX_CODE:"40",OCT_CODE:"41",DEC_CODE:"42",META_CHAR:"43",ANY:"44",NAMED_GROUP_REF:"45",Q_MARK:"46",STAR:"47",PLUS:"48",RANGE_EXACT:"49",RANGE_OPEN:"50",RANGE_CLOSED:"51",NAMED_CAPTURE_GROUP:"52",L_PAREN:"53",NON_CAPTURE_GROUP:"54",NEG_CLASS:"55",R_BRACKET:"56",L_BRACKET:"57",DASH:"58",$:"59"},d=[{0:1,23:"s2"},{59:"acc"},{3:3,4:4,5:5,6:6,23:"r10",24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"s7"},{23:"r6",25:"s12"},{23:"r7",25:"r7",31:"r7"},{7:14,8:15,9:16,10:25,14:27,15:42,16:43,17:26,23:"r9",24:"s28",25:"r9",26:"s17",27:"s18",28:"s19",29:"s20",30:"s21",31:"r9",32:"s22",33:"s23",34:"s24",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",52:"s44",53:"s45",54:"s46",55:"s40",57:"s41"},{1:8,2:9,24:"s10",59:"r3"},{59:"r1"},{24:"s11",59:"r2"},{24:"r4",59:"r4"},{24:"r5",59:"r5"},{5:13,6:6,23:"r10",24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r8",25:"r8",31:"r8"},{23:"r11",24:"r11",25:"r11",26:"r11",27:"r11",28:"r11",29:"r11",30:"r11",31:"r11",32:"r11",33:"r11",34:"r11",35:"r11",36:"r11",37:"r11",38:"r11",39:"r11",40:"r11",41:"r11",42:"r11",43:"r11",44:"r11",45:"r11",52:"r11",53:"r11",54:"r11",55:"r11",57:"r11"},{23:"r12",24:"r12",25:"r12",26:"r12",27:"r12",28:"r12",29:"r12",30:"r12",31:"r12",32:"r12",33:"r12",34:"r12",35:"r12",36:"r12",37:"r12",38:"r12",39:"r12",40:"r12",41:"r12",42:"r12",43:"r12",44:"r12",45:"r12",52:"r12",53:"r12",54:"r12",55:"r12",57:"r12"},{11:47,12:48,13:49,23:"r38",24:"r38",25:"r38",26:"r38",27:"r38",28:"r38",29:"r38",30:"r38",31:"r38",32:"r38",33:"r38",34:"r38",35:"r38",36:"r38",37:"r38",38:"r38",39:"r38",40:"r38",41:"r38",42:"r38",43:"r38",44:"r38",45:"r38",46:"s52",47:"s50",48:"s51",49:"s53",50:"s54",51:"s55",52:"r38",53:"r38",54:"r38",55:"r38",57:"r38"},{23:"r14",24:"r14",25:"r14",26:"r14",27:"r14",28:"r14",29:"r14",30:"r14",31:"r14",32:"r14",33:"r14",34:"r14",35:"r14",36:"r14",37:"r14",38:"r14",39:"r14",40:"r14",41:"r14",42:"r14",43:"r14",44:"r14",45:"r14",52:"r14",53:"r14",54:"r14",55:"r14",57:"r14"},{23:"r15",24:"r15",25:"r15",26:"r15",27:"r15",28:"r15",29:"r15",30:"r15",31:"r15",32:"r15",33:"r15",34:"r15",35:"r15",36:"r15",37:"r15",38:"r15",39:"r15",40:"r15",41:"r15",42:"r15",43:"r15",44:"r15",45:"r15",52:"r15",53:"r15",54:"r15",55:"r15",57:"r15"},{23:"r16",24:"r16",25:"r16",26:"r16",27:"r16",28:"r16",29:"r16",30:"r16",31:"r16",32:"r16",33:"r16",34:"r16",35:"r16",36:"r16",37:"r16",38:"r16",39:"r16",40:"r16",41:"r16",42:"r16",43:"r16",44:"r16",45:"r16",52:"r16",53:"r16",54:"r16",55:"r16",57:"r16"},{23:"r17",24:"r17",25:"r17",26:"r17",27:"r17",28:"r17",29:"r17",30:"r17",31:"r17",32:"r17",33:"r17",34:"r17",35:"r17",36:"r17",37:"r17",38:"r17",39:"r17",40:"r17",41:"r17",42:"r17",43:"r17",44:"r17",45:"r17",52:"r17",53:"r17",54:"r17",55:"r17",57:"r17"},{4:57,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:59,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:61,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:63,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r22",24:"r22",25:"r22",26:"r22",27:"r22",28:"r22",29:"r22",30:"r22",31:"r22",32:"r22",33:"r22",34:"r22",35:"r22",36:"r22",37:"r22",38:"r22",39:"r22",40:"r22",41:"r22",42:"r22",43:"r22",44:"r22",45:"r22",46:"r22",47:"r22",48:"r22",49:"r22",50:"r22",51:"r22",52:"r22",53:"r22",54:"r22",55:"r22",57:"r22"},{23:"r23",24:"r23",25:"r23",26:"r23",27:"r23",28:"r23",29:"r23",30:"r23",31:"r23",32:"r23",33:"r23",34:"r23",35:"r23",36:"r23",37:"r23",38:"r23",39:"r23",40:"r23",41:"r23",42:"r23",43:"r23",44:"r23",45:"r23",46:"r23",47:"r23",48:"r23",49:"r23",50:"r23",51:"r23",52:"r23",53:"r23",54:"r23",55:"r23",57:"r23"},{23:"r24",24:"r24",25:"r24",26:"r24",27:"r24",28:"r24",29:"r24",30:"r24",31:"r24",32:"r24",33:"r24",34:"r24",35:"r24",36:"r24",37:"r24",38:"r24",39:"r24",40:"r24",41:"r24",42:"r24",43:"r24",44:"r24",45:"r24",46:"r24",47:"r24",48:"r24",49:"r24",50:"r24",51:"r24",52:"r24",53:"r24",54:"r24",55:"r24",57:"r24"},{23:"r25",24:"r25",25:"r25",26:"r25",27:"r25",28:"r25",29:"r25",30:"r25",31:"r25",32:"r25",33:"r25",34:"r25",35:"r25",36:"r25",37:"r25",38:"r25",39:"r25",40:"r25",41:"r25",42:"r25",43:"r25",44:"r25",45:"r25",46:"r25",47:"r25",48:"r25",49:"r25",50:"r25",51:"r25",52:"r25",53:"r25",54:"r25",55:"r25",56:"r25",57:"r25",58:"r25"},{23:"r26",24:"r26",25:"r26",26:"r26",27:"r26",28:"r26",29:"r26",30:"r26",31:"r26",32:"r26",33:"r26",34:"r26",35:"r26",36:"r26",37:"r26",38:"r26",39:"r26",40:"r26",41:"r26",42:"r26",43:"r26",44:"r26",45:"r26",46:"r26",47:"r26",48:"r26",49:"r26",50:"r26",51:"r26",52:"r26",53:"r26",54:"r26",55:"r26",56:"r26",57:"r26",58:"r26"},{23:"r27",24:"r27",25:"r27",26:"r27",27:"r27",28:"r27",29:"r27",30:"r27",31:"r27",32:"r27",33:"r27",34:"r27",35:"r27",36:"r27",37:"r27",38:"r27",39:"r27",40:"r27",41:"r27",42:"r27",43:"r27",44:"r27",45:"r27",46:"r27",47:"r27",48:"r27",49:"r27",50:"r27",51:"r27",52:"r27",53:"r27",54:"r27",55:"r27",56:"r27",57:"r27",58:"r27"},{23:"r28",24:"r28",25:"r28",26:"r28",27:"r28",28:"r28",29:"r28",30:"r28",31:"r28",32:"r28",33:"r28",34:"r28",35:"r28",36:"r28",37:"r28",38:"r28",39:"r28",40:"r28",41:"r28",42:"r28",43:"r28",44:"r28",45:"r28",46:"r28",47:"r28",48:"r28",49:"r28",50:"r28",51:"r28",52:"r28",53:"r28",54:"r28",55:"r28",56:"r28",57:"r28",58:"r28"},{23:"r29",24:"r29",25:"r29",26:"r29",27:"r29",28:"r29",29:"r29",30:"r29",31:"r29",32:"r29",33:"r29",34:"r29",35:"r29",36:"r29",37:"r29",38:"r29",39:"r29",40:"r29",41:"r29",42:"r29",43:"r29",44:"r29",45:"r29",46:"r29",47:"r29",48:"r29",49:"r29",50:"r29",51:"r29",52:"r29",53:"r29",54:"r29",55:"r29",56:"r29",57:"r29",58:"r29"},{23:"r30",24:"r30",25:"r30",26:"r30",27:"r30",28:"r30",29:"r30",30:"r30",31:"r30",32:"r30",33:"r30",34:"r30",35:"r30",36:"r30",37:"r30",38:"r30",39:"r30",40:"r30",41:"r30",42:"r30",43:"r30",44:"r30",45:"r30",46:"r30",47:"r30",48:"r30",49:"r30",50:"r30",51:"r30",52:"r30",53:"r30",54:"r30",55:"r30",56:"r30",57:"r30",58:"r30"},{23:"r31",24:"r31",25:"r31",26:"r31",27:"r31",28:"r31",29:"r31",30:"r31",31:"r31",32:"r31",33:"r31",34:"r31",35:"r31",36:"r31",37:"r31",38:"r31",39:"r31",40:"r31",41:"r31",42:"r31",43:"r31",44:"r31",45:"r31",46:"r31",47:"r31",48:"r31",49:"r31",50:"r31",51:"r31",52:"r31",53:"r31",54:"r31",55:"r31",56:"r31",57:"r31",58:"r31"},{23:"r32",24:"r32",25:"r32",26:"r32",27:"r32",28:"r32",29:"r32",30:"r32",31:"r32",32:"r32",33:"r32",34:"r32",35:"r32",36:"r32",37:"r32",38:"r32",39:"r32",40:"r32",41:"r32",42:"r32",43:"r32",44:"r32",45:"r32",46:"r32",47:"r32",48:"r32",49:"r32",50:"r32",51:"r32",52:"r32",53:"r32",54:"r32",55:"r32",56:"r32",57:"r32",58:"r32"},{23:"r33",24:"r33",25:"r33",26:"r33",27:"r33",28:"r33",29:"r33",30:"r33",31:"r33",32:"r33",33:"r33",34:"r33",35:"r33",36:"r33",37:"r33",38:"r33",39:"r33",40:"r33",41:"r33",42:"r33",43:"r33",44:"r33",45:"r33",46:"r33",47:"r33",48:"r33",49:"r33",50:"r33",51:"r33",52:"r33",53:"r33",54:"r33",55:"r33",56:"r33",57:"r33",58:"r33"},{23:"r34",24:"r34",25:"r34",26:"r34",27:"r34",28:"r34",29:"r34",30:"r34",31:"r34",32:"r34",33:"r34",34:"r34",35:"r34",36:"r34",37:"r34",38:"r34",39:"r34",40:"r34",41:"r34",42:"r34",43:"r34",44:"r34",45:"r34",46:"r34",47:"r34",48:"r34",49:"r34",50:"r34",51:"r34",52:"r34",53:"r34",54:"r34",55:"r34",56:"r34",57:"r34",58:"r34"},{23:"r35",24:"r35",25:"r35",26:"r35",27:"r35",28:"r35",29:"r35",30:"r35",31:"r35",32:"r35",33:"r35",34:"r35",35:"r35",36:"r35",37:"r35",38:"r35",39:"r35",40:"r35",41:"r35",42:"r35",43:"r35",44:"r35",45:"r35",46:"r35",47:"r35",48:"r35",49:"r35",50:"r35",51:"r35",52:"r35",53:"r35",54:"r35",55:"r35",56:"r35",57:"r35",58:"r35"},{23:"r36",24:"r36",25:"r36",26:"r36",27:"r36",28:"r36",29:"r36",30:"r36",31:"r36",32:"r36",33:"r36",34:"r36",35:"r36",36:"r36",37:"r36",38:"r36",39:"r36",40:"r36",41:"r36",42:"r36",43:"r36",44:"r36",45:"r36",46:"r36",47:"r36",48:"r36",49:"r36",50:"r36",51:"r36",52:"r36",53:"r36",54:"r36",55:"r36",56:"r36",57:"r36",58:"r36"},{10:70,18:65,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{10:70,18:83,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{23:"r47",24:"r47",25:"r47",26:"r47",27:"r47",28:"r47",29:"r47",30:"r47",31:"r47",32:"r47",33:"r47",34:"r47",35:"r47",36:"r47",37:"r47",38:"r47",39:"r47",40:"r47",41:"r47",42:"r47",43:"r47",44:"r47",45:"r47",46:"r47",47:"r47",48:"r47",49:"r47",50:"r47",51:"r47",52:"r47",53:"r47",54:"r47",55:"r47",57:"r47"},{23:"r48",24:"r48",25:"r48",26:"r48",27:"r48",28:"r48",29:"r48",30:"r48",31:"r48",32:"r48",33:"r48",34:"r48",35:"r48",36:"r48",37:"r48",38:"r48",39:"r48",40:"r48",41:"r48",42:"r48",43:"r48",44:"r48",45:"r48",46:"r48",47:"r48",48:"r48",49:"r48",50:"r48",51:"r48",52:"r48",53:"r48",54:"r48",55:"r48",57:"r48"},{4:85,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:87,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{4:89,5:5,6:6,24:"r10",25:"r10",26:"r10",27:"r10",28:"r10",29:"r10",30:"r10",31:"r10",32:"r10",33:"r10",34:"r10",35:"r10",36:"r10",37:"r10",38:"r10",39:"r10",40:"r10",41:"r10",42:"r10",43:"r10",44:"r10",45:"r10",52:"r10",53:"r10",54:"r10",55:"r10",57:"r10"},{23:"r13",24:"r13",25:"r13",26:"r13",27:"r13",28:"r13",29:"r13",30:"r13",31:"r13",32:"r13",33:"r13",34:"r13",35:"r13",36:"r13",37:"r13",38:"r13",39:"r13",40:"r13",41:"r13",42:"r13",43:"r13",44:"r13",45:"r13",52:"r13",53:"r13",54:"r13",55:"r13",57:"r13"},{23:"r37",24:"r37",25:"r37",26:"r37",27:"r37",28:"r37",29:"r37",30:"r37",31:"r37",32:"r37",33:"r37",34:"r37",35:"r37",36:"r37",37:"r37",38:"r37",39:"r37",40:"r37",41:"r37",42:"r37",43:"r37",44:"r37",45:"r37",52:"r37",53:"r37",54:"r37",55:"r37",57:"r37"},{23:"r39",24:"r39",25:"r39",26:"r39",27:"r39",28:"r39",29:"r39",30:"r39",31:"r39",32:"r39",33:"r39",34:"r39",35:"r39",36:"r39",37:"r39",38:"r39",39:"r39",40:"r39",41:"r39",42:"r39",43:"r39",44:"r39",45:"r39",46:"s56",52:"r39",53:"r39",54:"r39",55:"r39",57:"r39"},{23:"r41",24:"r41",25:"r41",26:"r41",27:"r41",28:"r41",29:"r41",30:"r41",31:"r41",32:"r41",33:"r41",34:"r41",35:"r41",36:"r41",37:"r41",38:"r41",39:"r41",40:"r41",41:"r41",42:"r41",43:"r41",44:"r41",45:"r41",46:"r41",52:"r41",53:"r41",54:"r41",55:"r41",57:"r41"},{23:"r42",24:"r42",25:"r42",26:"r42",27:"r42",28:"r42",29:"r42",30:"r42",31:"r42",32:"r42",33:"r42",34:"r42",35:"r42",36:"r42",37:"r42",38:"r42",39:"r42",40:"r42",41:"r42",42:"r42",43:"r42",44:"r42",45:"r42",46:"r42",52:"r42",53:"r42",54:"r42",55:"r42",57:"r42"},{23:"r43",24:"r43",25:"r43",26:"r43",27:"r43",28:"r43",29:"r43",30:"r43",31:"r43",32:"r43",33:"r43",34:"r43",35:"r43",36:"r43",37:"r43",38:"r43",39:"r43",40:"r43",41:"r43",42:"r43",43:"r43",44:"r43",45:"r43",46:"r43",52:"r43",53:"r43",54:"r43",55:"r43",57:"r43"},{23:"r44",24:"r44",25:"r44",26:"r44",27:"r44",28:"r44",29:"r44",30:"r44",31:"r44",32:"r44",33:"r44",34:"r44",35:"r44",36:"r44",37:"r44",38:"r44",39:"r44",40:"r44",41:"r44",42:"r44",43:"r44",44:"r44",45:"r44",46:"r44",52:"r44",53:"r44",54:"r44",55:"r44",57:"r44"},{23:"r45",24:"r45",25:"r45",26:"r45",27:"r45",28:"r45",29:"r45",30:"r45",31:"r45",32:"r45",33:"r45",34:"r45",35:"r45",36:"r45",37:"r45",38:"r45",39:"r45",40:"r45",41:"r45",42:"r45",43:"r45",44:"r45",45:"r45",46:"r45",52:"r45",53:"r45",54:"r45",55:"r45",57:"r45"},{23:"r46",24:"r46",25:"r46",26:"r46",27:"r46",28:"r46",29:"r46",30:"r46",31:"r46",32:"r46",33:"r46",34:"r46",35:"r46",36:"r46",37:"r46",38:"r46",39:"r46",40:"r46",41:"r46",42:"r46",43:"r46",44:"r46",45:"r46",46:"r46",52:"r46",53:"r46",54:"r46",55:"r46",57:"r46"},{23:"r40",24:"r40",25:"r40",26:"r40",27:"r40",28:"r40",29:"r40",30:"r40",31:"r40",32:"r40",33:"r40",34:"r40",35:"r40",36:"r40",37:"r40",38:"r40",39:"r40",40:"r40",41:"r40",42:"r40",43:"r40",44:"r40",45:"r40",52:"r40",53:"r40",54:"r40",55:"r40",57:"r40"},{25:"s12",31:"s58"},{23:"r18",24:"r18",25:"r18",26:"r18",27:"r18",28:"r18",29:"r18",30:"r18",31:"r18",32:"r18",33:"r18",34:"r18",35:"r18",36:"r18",37:"r18",38:"r18",39:"r18",40:"r18",41:"r18",42:"r18",43:"r18",44:"r18",45:"r18",52:"r18",53:"r18",54:"r18",55:"r18",57:"r18"},{25:"s12",31:"s60"},{23:"r19",24:"r19",25:"r19",26:"r19",27:"r19",28:"r19",29:"r19",30:"r19",31:"r19",32:"r19",33:"r19",34:"r19",35:"r19",36:"r19",37:"r19",38:"r19",39:"r19",40:"r19",41:"r19",42:"r19",43:"r19",44:"r19",45:"r19",52:"r19",53:"r19",54:"r19",55:"r19",57:"r19"},{25:"s12",31:"s62"},{23:"r20",24:"r20",25:"r20",26:"r20",27:"r20",28:"r20",29:"r20",30:"r20",31:"r20",32:"r20",33:"r20",34:"r20",35:"r20",36:"r20",37:"r20",38:"r20",39:"r20",40:"r20",41:"r20",42:"r20",43:"r20",44:"r20",45:"r20",52:"r20",53:"r20",54:"r20",55:"r20",57:"r20"},{25:"s12",31:"s64"},{23:"r21",24:"r21",25:"r21",26:"r21",27:"r21",28:"r21",29:"r21",30:"r21",31:"r21",32:"r21",33:"r21",34:"r21",35:"r21",36:"r21",37:"r21",38:"r21",39:"r21",40:"r21",41:"r21",42:"r21",43:"r21",44:"r21",45:"r21",52:"r21",53:"r21",54:"r21",55:"r21",57:"r21"},{56:"s72"},{56:"r55"},{10:70,20:73,21:75,22:76,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r56",58:"s74"},{24:"r62",28:"r62",35:"r62",36:"r62",37:"r62",38:"r62",39:"r62",40:"r62",41:"r62",42:"r62",43:"r62",44:"r62",45:"r62",56:"r62",58:"r62"},{24:"r63",28:"r63",35:"r63",36:"r63",37:"r63",38:"r63",39:"r63",40:"r63",41:"r63",42:"r63",43:"r63",44:"r63",45:"r63",56:"r63",58:"r63"},{24:"r64",28:"r64",35:"r64",36:"r64",37:"r64",38:"r64",39:"r64",40:"r64",41:"r64",42:"r64",43:"r64",44:"r64",45:"r64",56:"r64",58:"r64"},{24:"r65",28:"r65",35:"r65",36:"r65",37:"r65",38:"r65",39:"r65",40:"r65",41:"r65",42:"r65",43:"r65",44:"r65",45:"r65",56:"r65",58:"r65"},{23:"r52",24:"r52",25:"r52",26:"r52",27:"r52",28:"r52",29:"r52",30:"r52",31:"r52",32:"r52",33:"r52",34:"r52",35:"r52",36:"r52",37:"r52",38:"r52",39:"r52",40:"r52",41:"r52",42:"r52",43:"r52",44:"r52",45:"r52",46:"r52",47:"r52",48:"r52",49:"r52",50:"r52",51:"r52",52:"r52",53:"r52",54:"r52",55:"r52",57:"r52"},{56:"r57"},{10:70,21:77,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r62",58:"s68"},{56:"r59"},{10:70,20:79,21:75,22:76,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r63",58:"s80"},{10:70,18:78,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{56:"r58"},{56:"r60"},{10:70,21:81,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r62",58:"s68"},{10:70,18:82,19:66,21:67,22:69,24:"s28",28:"s71",35:"s29",36:"s30",37:"s31",38:"s32",39:"s33",40:"s34",41:"s35",42:"s36",43:"s37",44:"s38",45:"s39",56:"r54",58:"s68"},{56:"r61"},{56:"s84"},{23:"r53",24:"r53",25:"r53",26:"r53",27:"r53",28:"r53",29:"r53",30:"r53",31:"r53",32:"r53",33:"r53",34:"r53",35:"r53",36:"r53",37:"r53",38:"r53",39:"r53",40:"r53",41:"r53",42:"r53",43:"r53",44:"r53",45:"r53",46:"r53",47:"r53",48:"r53",49:"r53",50:"r53",51:"r53",52:"r53",53:"r53",54:"r53",55:"r53",57:"r53"},{25:"s12",31:"s86"},{23:"r49",24:"r49",25:"r49",26:"r49",27:"r49",28:"r49",29:"r49",30:"r49",31:"r49",32:"r49",33:"r49",34:"r49",35:"r49",36:"r49",37:"r49",38:"r49",39:"r49",40:"r49",41:"r49",42:"r49",43:"r49",44:"r49",45:"r49",46:"r49",47:"r49",48:"r49",49:"r49",50:"r49",51:"r49",52:"r49",53:"r49",54:"r49",55:"r49",57:"r49"},{25:"s12",31:"s88"},{23:"r50",24:"r50",25:"r50",26:"r50",27:"r50",28:"r50",29:"r50",30:"r50",31:"r50",32:"r50",33:"r50",34:"r50",35:"r50",36:"r50",37:"r50",38:"r50",39:"r50",40:"r50",41:"r50",42:"r50",43:"r50",44:"r50",45:"r50",46:"r50",47:"r50",48:"r50",49:"r50",50:"r50",51:"r50",52:"r50",53:"r50",54:"r50",55:"r50",57:"r50"},{25:"s12",31:"s90"},{23:"r51",24:"r51",25:"r51",26:"r51",27:"r51",28:"r51",29:"r51",30:"r51",31:"r51",32:"r51",33:"r51",34:"r51",35:"r51",36:"r51",37:"r51",38:"r51",39:"r51",40:"r51",41:"r51",42:"r51",43:"r51",44:"r51",45:"r51",46:"r51",47:"r51",48:"r51",49:"r51",50:"r51",51:"r51",52:"r51",53:"r51",54:"r51",55:"r51",57:"r51"}],l=[],c=void 0,f=[[/^#[^\n]+/,function(){}],[/^\s+/,function(){}],[/^-/,function(){return"DASH"}],[/^\//,function(){return"CHAR"}],[/^#/,function(){return"CHAR"}],[/^\|/,function(){return"CHAR"}],[/^\./,function(){return"CHAR"}],[/^\{/,function(){return"CHAR"}],[/^\{\d+\}/,function(){return"RANGE_EXACT"}],[/^\{\d+,\}/,function(){return"RANGE_OPEN"}],[/^\{\d+,\d+\}/,function(){return"RANGE_CLOSED"}],[/^\\k<(([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e-\u066f\u0671-\u06d3\u06d5\u06e5-\u06e6\u06ee-\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4-\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u09fc\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0-\u0ae1\u0af9\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60-\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e46\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a-\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd-\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\udf00-\udf1c\udf27\udf30-\udf45\udfe0-\udff6]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f\udc80-\udcaf\udcc4-\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08-\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67-\udd68\udd6a-\udd89\udd98\udee0-\udef2]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\udec0-\udeeb]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\}))(([\u0030-\u0039\u0041-\u005a\u005f\u0061-\u007a\u00aa\u00b5\u00b7\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u05d0-\u05ea\u05ef-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u07fd\u0800-\u082d\u0840-\u085b\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u08d3-\u08e1\u08e3-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09f1\u09fc\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf2\u0d00-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18-\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1369-\u1371\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17d3\u17d7\u17dc-\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1cd0-\u1cd2\u1cd4-\u1cfa\u1d00-\u1df9\u1dfb-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u203f-\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua8fd-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabea\uabec-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2f\ufe33-\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\uddfd\ude80-\ude9c\udea0-\uded0\udee0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udca0-\udca9\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00-\ude03\ude05-\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee6\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\udd30-\udd39\udf00-\udf1c\udf27\udf30-\udf50\udfe0-\udff6]|\ud804[\udc00-\udc46\udc66-\udc6f\udc7f-\udcba\udcd0-\udce8\udcf0-\udcf9\udd00-\udd34\udd36-\udd3f\udd44-\udd46\udd50-\udd73\udd76\udd80-\uddc4\uddc9-\uddcc\uddd0-\uddda\udddc\ude00-\ude11\ude13-\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udeea\udef0-\udef9\udf00-\udf03\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3b-\udf44\udf47-\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc00-\udc4a\udc50-\udc59\udc5e-\udc5f\udc80-\udcc5\udcc7\udcd0-\udcd9\udd80-\uddb5\uddb8-\uddc0\uddd8-\udddd\ude00-\ude40\ude44\ude50-\ude59\ude80-\udeb8\udec0-\udec9\udf00-\udf1a\udf1d-\udf2b\udf30-\udf39]|\ud806[\udc00-\udc3a\udca0-\udce9\udcff\udda0-\udda7\uddaa-\uddd7\uddda-\udde1\udde3-\udde4\ude00-\ude3e\ude47\ude50-\ude99\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc40\udc50-\udc59\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08-\udd09\udd0b-\udd36\udd3a\udd3c-\udd3d\udd3f-\udd47\udd50-\udd59\udd60-\udd65\udd67-\udd68\udd6a-\udd8e\udd90-\udd91\udd93-\udd98\udda0-\udda9\udee0-\udef6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude60-\ude69\uded0-\udeed\udef0-\udef4\udf00-\udf36\udf40-\udf43\udf50-\udf59\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9d-\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb\udfce-\udfff]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23-\udc24\udc26-\udc2a\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udec0-\udef9]|\ud83a[\udc00-\udcc4\udcd0-\udcd6\udd00-\udd4b\udd50-\udd59]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\udb40[\udd00-\uddef])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\})|[\u200c\u200d])*>/,function(){return k(r.slice(3,-1),this.getCurrentState()),"NAMED_GROUP_REF"}],[/^\\b/,function(){return"ESC_b"}],[/^\\B/,function(){return"ESC_B"}],[/^\\c[a-zA-Z]/,function(){return"CTRL_CH"}],[/^\\0\d{1,2}/,function(){return"OCT_CODE"}],[/^\\0/,function(){return"DEC_CODE"}],[/^\\\d{1,3}/,function(){return"DEC_CODE"}],[/^\\u[dD][89abAB][0-9a-fA-F]{2}\\u[dD][c-fC-F][0-9a-fA-F]{2}/,function(){return"U_CODE_SURROGATE"}],[/^\\u\{[0-9a-fA-F]{1,}\}/,function(){return"U_CODE"}],[/^\\u[0-9a-fA-F]{4}/,function(){return"U_CODE"}],[/^\\[pP]\{\w+(?:=\w+)?\}/,function(){return"U_PROP_VALUE_EXP"}],[/^\\x[0-9a-fA-F]{2}/,function(){return"HEX_CODE"}],[/^\\[tnrdDsSwWvf]/,function(){return"META_CHAR"}],[/^\\\//,function(){return"ESC_CHAR"}],[/^\\[ #]/,function(){return"ESC_CHAR"}],[/^\\[\^\$\.\*\+\?\(\)\\\[\]\{\}\|\/]/,function(){return"ESC_CHAR"}],[/^\\[^*?+\[()\\|]/,function(){var e=this.getCurrentState();if("u_class"===e&&"\\-"===r);else if("u"===e||"xu"===e||"u_class"===e)throw SyntaxError("invalid Unicode escape "+r);return"ESC_CHAR"}],[/^\(/,function(){return"CHAR"}],[/^\)/,function(){return"CHAR"}],[/^\(\?=/,function(){return"POS_LA_ASSERT"}],[/^\(\?!/,function(){return"NEG_LA_ASSERT"}],[/^\(\?<=/,function(){return"POS_LB_ASSERT"}],[/^\(\?<!/,function(){return"NEG_LB_ASSERT"}],[/^\(\?:/,function(){return"NON_CAPTURE_GROUP"}],[/^\(\?<(([\u0041-\u005a\u0061-\u007a\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u05d0-\u05ea\u05ef-\u05f2\u0620-\u064a\u066e-\u066f\u0671-\u06d3\u06d5\u06e5-\u06e6\u06ee-\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4-\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0980\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc-\u09dd\u09df-\u09e1\u09f0-\u09f1\u09fc\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0-\u0ae1\u0af9\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3d\u0b5c-\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d\u0c58-\u0c5a\u0c60-\u0c61\u0c80\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0-\u0ce1\u0cf1-\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d54-\u0d56\u0d5f-\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32-\u0e33\u0e40-\u0e46\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0eb0\u0eb2-\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065-\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1878\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191e\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae-\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1ce9-\u1cec\u1cee-\u1cf3\u1cf5-\u1cf6\u1cfa\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309b-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a-\ua62b\ua640-\ua66e\ua67f-\ua69d\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua8fd-\ua8fe\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\ua9e0-\ua9e4\ua9e6-\ua9ef\ua9fa-\ua9fe\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa7e-\uaaaf\uaab1\uaab5-\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\ude80-\ude9c\udea0-\uded0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf75\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00\ude10-\ude13\ude15-\ude17\ude19-\ude35\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee4\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd23\udf00-\udf1c\udf27\udf30-\udf45\udfe0-\udff6]|\ud804[\udc03-\udc37\udc83-\udcaf\udcd0-\udce8\udd03-\udd26\udd44\udd50-\udd72\udd76\udd83-\uddb2\uddc1-\uddc4\uddda\udddc\ude00-\ude11\ude13-\ude2b\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udede\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3d\udf50\udf5d-\udf61]|\ud805[\udc00-\udc34\udc47-\udc4a\udc5f\udc80-\udcaf\udcc4-\udcc5\udcc7\udd80-\uddae\uddd8-\udddb\ude00-\ude2f\ude44\ude80-\udeaa\udeb8\udf00-\udf1a]|\ud806[\udc00-\udc2b\udca0-\udcdf\udcff\udda0-\udda7\uddaa-\uddd0\udde1\udde3\ude00\ude0b-\ude32\ude3a\ude50\ude5c-\ude89\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc2e\udc40\udc72-\udc8f\udd00-\udd06\udd08-\udd09\udd0b-\udd30\udd46\udd60-\udd65\udd67-\udd68\udd6a-\udd89\udd98\udee0-\udef2]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\uded0-\udeed\udf00-\udf2f\udf40-\udf43\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf50\udf93-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb]|\ud838[\udd00-\udd2c\udd37-\udd3d\udd4e\udec0-\udeeb]|\ud83a[\udc00-\udcc4\udd00-\udd43\udd4b]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\}))(([\u0030-\u0039\u0041-\u005a\u005f\u0061-\u007a\u00aa\u00b5\u00b7\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376-\u0377\u037a-\u037d\u037f\u0386-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u052f\u0531-\u0556\u0559\u0560-\u0588\u0591-\u05bd\u05bf\u05c1-\u05c2\u05c4-\u05c5\u05c7\u05d0-\u05ea\u05ef-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u07fd\u0800-\u082d\u0840-\u085b\u0860-\u086a\u08a0-\u08b4\u08b6-\u08bd\u08d3-\u08e1\u08e3-\u0963\u0966-\u096f\u0971-\u0983\u0985-\u098c\u098f-\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7-\u09c8\u09cb-\u09ce\u09d7\u09dc-\u09dd\u09df-\u09e3\u09e6-\u09f1\u09fc\u09fe\u0a01-\u0a03\u0a05-\u0a0a\u0a0f-\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32-\u0a33\u0a35-\u0a36\u0a38-\u0a39\u0a3c\u0a3e-\u0a42\u0a47-\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2-\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0af9-\u0aff\u0b01-\u0b03\u0b05-\u0b0c\u0b0f-\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32-\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47-\u0b48\u0b4b-\u0b4d\u0b56-\u0b57\u0b5c-\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82-\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99-\u0b9a\u0b9c\u0b9e-\u0b9f\u0ba3-\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c00-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55-\u0c56\u0c58-\u0c5a\u0c60-\u0c63\u0c66-\u0c6f\u0c80-\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5-\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1-\u0cf2\u0d00-\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d54-\u0d57\u0d5f-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82-\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0de6-\u0def\u0df2-\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81-\u0e82\u0e84\u0e86-\u0e8a\u0e8c-\u0ea3\u0ea5\u0ea7-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18-\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1369-\u1371\u1380-\u138f\u13a0-\u13f5\u13f8-\u13fd\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f8\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772-\u1773\u1780-\u17d3\u17d7\u17dc-\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1878\u1880-\u18aa\u18b0-\u18f5\u1900-\u191e\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19da\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1ab0-\u1abd\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1c80-\u1c88\u1c90-\u1cba\u1cbd-\u1cbf\u1cd0-\u1cd2\u1cd4-\u1cfa\u1d00-\u1df9\u1dfb-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u203f-\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2118-\u211d\u2124\u2126\u2128\u212a-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312f\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fef\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua7bf\ua7c2-\ua7c6\ua7f7-\ua827\ua840-\ua873\ua880-\ua8c5\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua8fd-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\ua9e0-\ua9fe\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uab30-\uab5a\uab5c-\uab67\uab70-\uabea\uabec-\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40-\ufb41\ufb43-\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe2f\ufe33-\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]|\ud800[\udc00-\udc0b\udc0d-\udc26\udc28-\udc3a\udc3c-\udc3d\udc3f-\udc4d\udc50-\udc5d\udc80-\udcfa\udd40-\udd74\uddfd\ude80-\ude9c\udea0-\uded0\udee0\udf00-\udf1f\udf2d-\udf4a\udf50-\udf7a\udf80-\udf9d\udfa0-\udfc3\udfc8-\udfcf\udfd1-\udfd5]|\ud801[\udc00-\udc9d\udca0-\udca9\udcb0-\udcd3\udcd8-\udcfb\udd00-\udd27\udd30-\udd63\ude00-\udf36\udf40-\udf55\udf60-\udf67]|\ud802[\udc00-\udc05\udc08\udc0a-\udc35\udc37-\udc38\udc3c\udc3f-\udc55\udc60-\udc76\udc80-\udc9e\udce0-\udcf2\udcf4-\udcf5\udd00-\udd15\udd20-\udd39\udd80-\uddb7\uddbe-\uddbf\ude00-\ude03\ude05-\ude06\ude0c-\ude13\ude15-\ude17\ude19-\ude35\ude38-\ude3a\ude3f\ude60-\ude7c\ude80-\ude9c\udec0-\udec7\udec9-\udee6\udf00-\udf35\udf40-\udf55\udf60-\udf72\udf80-\udf91]|\ud803[\udc00-\udc48\udc80-\udcb2\udcc0-\udcf2\udd00-\udd27\udd30-\udd39\udf00-\udf1c\udf27\udf30-\udf50\udfe0-\udff6]|\ud804[\udc00-\udc46\udc66-\udc6f\udc7f-\udcba\udcd0-\udce8\udcf0-\udcf9\udd00-\udd34\udd36-\udd3f\udd44-\udd46\udd50-\udd73\udd76\udd80-\uddc4\uddc9-\uddcc\uddd0-\uddda\udddc\ude00-\ude11\ude13-\ude37\ude3e\ude80-\ude86\ude88\ude8a-\ude8d\ude8f-\ude9d\ude9f-\udea8\udeb0-\udeea\udef0-\udef9\udf00-\udf03\udf05-\udf0c\udf0f-\udf10\udf13-\udf28\udf2a-\udf30\udf32-\udf33\udf35-\udf39\udf3b-\udf44\udf47-\udf48\udf4b-\udf4d\udf50\udf57\udf5d-\udf63\udf66-\udf6c\udf70-\udf74]|\ud805[\udc00-\udc4a\udc50-\udc59\udc5e-\udc5f\udc80-\udcc5\udcc7\udcd0-\udcd9\udd80-\uddb5\uddb8-\uddc0\uddd8-\udddd\ude00-\ude40\ude44\ude50-\ude59\ude80-\udeb8\udec0-\udec9\udf00-\udf1a\udf1d-\udf2b\udf30-\udf39]|\ud806[\udc00-\udc3a\udca0-\udce9\udcff\udda0-\udda7\uddaa-\uddd7\uddda-\udde1\udde3-\udde4\ude00-\ude3e\ude47\ude50-\ude99\ude9d\udec0-\udef8]|\ud807[\udc00-\udc08\udc0a-\udc36\udc38-\udc40\udc50-\udc59\udc72-\udc8f\udc92-\udca7\udca9-\udcb6\udd00-\udd06\udd08-\udd09\udd0b-\udd36\udd3a\udd3c-\udd3d\udd3f-\udd47\udd50-\udd59\udd60-\udd65\udd67-\udd68\udd6a-\udd8e\udd90-\udd91\udd93-\udd98\udda0-\udda9\udee0-\udef6]|\ud808[\udc00-\udf99]|\ud809[\udc00-\udc6e\udc80-\udd43]|\ud80c[\udc00-\udfff]|\ud80d[\udc00-\udc2e]|\ud811[\udc00-\ude46]|\ud81a[\udc00-\ude38\ude40-\ude5e\ude60-\ude69\uded0-\udeed\udef0-\udef4\udf00-\udf36\udf40-\udf43\udf50-\udf59\udf63-\udf77\udf7d-\udf8f]|\ud81b[\ude40-\ude7f\udf00-\udf4a\udf4f-\udf87\udf8f-\udf9f\udfe0-\udfe1\udfe3]|\ud81c[\udc00-\udfff]|\ud81d[\udc00-\udfff]|\ud81e[\udc00-\udfff]|\ud81f[\udc00-\udfff]|\ud820[\udc00-\udfff]|\ud821[\udc00-\udff7]|\ud822[\udc00-\udef2]|\ud82c[\udc00-\udd1e\udd50-\udd52\udd64-\udd67\udd70-\udefb]|\ud82f[\udc00-\udc6a\udc70-\udc7c\udc80-\udc88\udc90-\udc99\udc9d-\udc9e]|\ud834[\udd65-\udd69\udd6d-\udd72\udd7b-\udd82\udd85-\udd8b\uddaa-\uddad\ude42-\ude44]|\ud835[\udc00-\udc54\udc56-\udc9c\udc9e-\udc9f\udca2\udca5-\udca6\udca9-\udcac\udcae-\udcb9\udcbb\udcbd-\udcc3\udcc5-\udd05\udd07-\udd0a\udd0d-\udd14\udd16-\udd1c\udd1e-\udd39\udd3b-\udd3e\udd40-\udd44\udd46\udd4a-\udd50\udd52-\udea5\udea8-\udec0\udec2-\udeda\udedc-\udefa\udefc-\udf14\udf16-\udf34\udf36-\udf4e\udf50-\udf6e\udf70-\udf88\udf8a-\udfa8\udfaa-\udfc2\udfc4-\udfcb\udfce-\udfff]|\ud836[\ude00-\ude36\ude3b-\ude6c\ude75\ude84\ude9b-\ude9f\udea1-\udeaf]|\ud838[\udc00-\udc06\udc08-\udc18\udc1b-\udc21\udc23-\udc24\udc26-\udc2a\udd00-\udd2c\udd30-\udd3d\udd40-\udd49\udd4e\udec0-\udef9]|\ud83a[\udc00-\udcc4\udcd0-\udcd6\udd00-\udd4b\udd50-\udd59]|\ud83b[\ude00-\ude03\ude05-\ude1f\ude21-\ude22\ude24\ude27\ude29-\ude32\ude34-\ude37\ude39\ude3b\ude42\ude47\ude49\ude4b\ude4d-\ude4f\ude51-\ude52\ude54\ude57\ude59\ude5b\ude5d\ude5f\ude61-\ude62\ude64\ude67-\ude6a\ude6c-\ude72\ude74-\ude77\ude79-\ude7c\ude7e\ude80-\ude89\ude8b-\ude9b\udea1-\udea3\udea5-\udea9\udeab-\udebb]|\ud840[\udc00-\udfff]|\ud841[\udc00-\udfff]|\ud842[\udc00-\udfff]|\ud843[\udc00-\udfff]|\ud844[\udc00-\udfff]|\ud845[\udc00-\udfff]|\ud846[\udc00-\udfff]|\ud847[\udc00-\udfff]|\ud848[\udc00-\udfff]|\ud849[\udc00-\udfff]|\ud84a[\udc00-\udfff]|\ud84b[\udc00-\udfff]|\ud84c[\udc00-\udfff]|\ud84d[\udc00-\udfff]|\ud84e[\udc00-\udfff]|\ud84f[\udc00-\udfff]|\ud850[\udc00-\udfff]|\ud851[\udc00-\udfff]|\ud852[\udc00-\udfff]|\ud853[\udc00-\udfff]|\ud854[\udc00-\udfff]|\ud855[\udc00-\udfff]|\ud856[\udc00-\udfff]|\ud857[\udc00-\udfff]|\ud858[\udc00-\udfff]|\ud859[\udc00-\udfff]|\ud85a[\udc00-\udfff]|\ud85b[\udc00-\udfff]|\ud85c[\udc00-\udfff]|\ud85d[\udc00-\udfff]|\ud85e[\udc00-\udfff]|\ud85f[\udc00-\udfff]|\ud860[\udc00-\udfff]|\ud861[\udc00-\udfff]|\ud862[\udc00-\udfff]|\ud863[\udc00-\udfff]|\ud864[\udc00-\udfff]|\ud865[\udc00-\udfff]|\ud866[\udc00-\udfff]|\ud867[\udc00-\udfff]|\ud868[\udc00-\udfff]|\ud869[\udc00-\uded6\udf00-\udfff]|\ud86a[\udc00-\udfff]|\ud86b[\udc00-\udfff]|\ud86c[\udc00-\udfff]|\ud86d[\udc00-\udf34\udf40-\udfff]|\ud86e[\udc00-\udc1d\udc20-\udfff]|\ud86f[\udc00-\udfff]|\ud870[\udc00-\udfff]|\ud871[\udc00-\udfff]|\ud872[\udc00-\udfff]|\ud873[\udc00-\udea1\udeb0-\udfff]|\ud874[\udc00-\udfff]|\ud875[\udc00-\udfff]|\ud876[\udc00-\udfff]|\ud877[\udc00-\udfff]|\ud878[\udc00-\udfff]|\ud879[\udc00-\udfff]|\ud87a[\udc00-\udfe0]|\ud87e[\udc00-\ude1d]|\udb40[\udd00-\uddef])|[$_]|(\\u[0-9a-fA-F]{4}|\\u\{[0-9a-fA-F]{1,}\})|[\u200c\u200d])*>/,function(){return k(r=r.slice(3,-1),this.getCurrentState()),"NAMED_CAPTURE_GROUP"}],[/^\(/,function(){return"L_PAREN"}],[/^\)/,function(){return"R_PAREN"}],[/^[*?+[^$]/,function(){return"CHAR"}],[/^\\\]/,function(){return"ESC_CHAR"}],[/^\]/,function(){return this.popState(),"R_BRACKET"}],[/^\^/,function(){return"BOS"}],[/^\$/,function(){return"EOS"}],[/^\*/,function(){return"STAR"}],[/^\?/,function(){return"Q_MARK"}],[/^\+/,function(){return"PLUS"}],[/^\|/,function(){return"BAR"}],[/^\./,function(){return"ANY"}],[/^\//,function(){return"SLASH"}],[/^[^*?+\[()\\|]/,function(){return"CHAR"}],[/^\[\^/,function(){var e=this.getCurrentState();return this.pushState("u"===e||"xu"===e?"u_class":"class"),"NEG_CLASS"}],[/^\[/,function(){var e=this.getCurrentState();return this.pushState("u"===e||"xu"===e?"u_class":"class"),"L_BRACKET"}]],p={INITIAL:[8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],u:[8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],xu:[0,1,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],x:[0,1,8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,30,31,32,33,34,35,36,37,41,42,43,44,45,46,47,48,49,50,51],u_class:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51],class:[2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,20,22,23,24,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51]},m={type:"$",value:""};n.lexer=c={initString:function(e){return this._string=e,this._cursor=0,this._states=["INITIAL"],this._tokensQueue=[],this._currentLine=1,this._currentColumn=0,this._currentLineBeginOffset=0,this._tokenStartOffset=0,this._tokenEndOffset=0,this._tokenStartLine=1,this._tokenEndLine=1,this._tokenStartColumn=0,this._tokenEndColumn=0,this},getStates:function(){return this._states},getCurrentState:function(){return this._states[this._states.length-1]},pushState:function(e){this._states.push(e)},begin:function(e){this.pushState(e)},popState:function(){return this._states.length>1?this._states.pop():this._states[0]},getNextToken:function(){if(this._tokensQueue.length>0)return this.onToken(this._toToken(this._tokensQueue.shift()));if(!this.hasMoreTokens())return this.onToken(m);for(var e=this._string.slice(this._cursor),n=p[this.getCurrentState()],u=0;u<n.length;u++){var a=f[n[u]],i=this._match(e,a[0]);if(""===e&&""===i&&this._cursor++,null!==i){(r=i).length;var o=a[1].call(this);if(!o)return this.getNextToken();if(Array.isArray(o)){var s,d=o.slice(1);o=o[0],d.length>0&&(s=this._tokensQueue).unshift.apply(s,t(d))}return this.onToken(this._toToken(o,r))}}if(this.isEOF())return this._cursor++,m;this.throwUnexpectedToken(e[0],this._currentLine,this._currentColumn)},throwUnexpectedToken:function(e,t,r){var n=this._string.split("\n")[t-1],u="";throw n&&(u="\n\n"+n+"\n"+" ".repeat(r)+"^\n"),SyntaxError(u+'Unexpected token: "'+e+'" '+("at "+t+":")+r+".")},getCursor:function(){return this._cursor},getCurrentLine:function(){return this._currentLine},getCurrentColumn:function(){return this._currentColumn},_captureLocation:function(e){var t=/\n/g;this._tokenStartOffset=this._cursor,this._tokenStartLine=this._currentLine,this._tokenStartColumn=this._tokenStartOffset-this._currentLineBeginOffset;for(var r=void 0;null!==(r=t.exec(e));)this._currentLine++,this._currentLineBeginOffset=this._tokenStartOffset+r.index+1;this._tokenEndOffset=this._cursor+e.length,this._tokenEndLine=this._currentLine,this._tokenEndColumn=this._currentColumn=this._tokenEndOffset-this._currentLineBeginOffset},_toToken:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"";return{type:e,value:t,startOffset:this._tokenStartOffset,endOffset:this._tokenEndOffset,startLine:this._tokenStartLine,endLine:this._tokenEndLine,startColumn:this._tokenStartColumn,endColumn:this._tokenEndColumn}},isEOF:function(){return this._cursor===this._string.length},hasMoreTokens:function(){return this._cursor<=this._string.length},_match:function(e,t){var r=e.match(t);return r?(this._captureLocation(r[0]),this._cursor+=r[0].length,r[0]):null},onToken:function(e){return e}},n.tokenizer=c,n.options={captureLocations:!0};var g={setOptions:function(e){return n.options=e,this},getOptions:function(){return n.options},parse:function(e,i){if(!c)throw Error("Tokenizer instance wasn't specified.");c.initString(e);var f=n.options;i&&(n.options=Object.assign({},n.options,i)),g.onParseBegin(e,c,n.options),l.length=0,l.push(0);var p=c.getNextToken(),m=null;do{p||(n.options=f,N());var y=l[l.length-1],h=s[p.type];d[y].hasOwnProperty(h)||(n.options=f,R(p));var b=d[y][h];if("s"===b[0]){var E=null;n.options.captureLocations&&(E={startOffset:p.startOffset,endOffset:p.endOffset,startLine:p.startLine,endLine:p.endLine,startColumn:p.startColumn,endColumn:p.endColumn}),m=this.onShift(p),l.push({symbol:s[m.type],semanticValue:m.value,loc:E},Number(b.slice(1))),p=c.getNextToken()}else if("r"===b[0]){var v=o[b.slice(1)],x="function"==typeof v[2],D=x?[]:null,A=x&&n.options.captureLocations?[]:null;if(0!==v[1])for(var S=v[1];S-- >0;){l.pop();var C=l.pop();x&&(D.unshift(C.semanticValue),A&&A.unshift(C.loc))}var T={symbol:v[0]};if(x){r=m?m.value:null,m&&m.value.length;var w=null!==A?D.concat(A):D;v[2].apply(v,t(w)),T.semanticValue=u,A&&(T.loc=a)}var _=l[l.length-1],F=v[0];l.push(T,d[_][F])}else if("acc"===b){l.pop();var k=l.pop();if((1!==l.length||0!==l[0]||c.hasMoreTokens())&&(n.options=f,R(p)),k.hasOwnProperty("semanticValue"))return n.options=f,g.onParseEnd(k.semanticValue),k.semanticValue;return g.onParseEnd(),n.options=f,!0}}while(c.hasMoreTokens()||l.length>1)},setTokenizer:function(e){return c=e,g},getTokenizer:function(){return c},onParseBegin:function(e,t,r){},onParseEnd:function(e){},onShift:function(e){return e}},y=0,h={},b="";function E(e){var t=e.match(/\d+/g).map(Number);if(Number.isFinite(t[1])&&t[1]<t[0])throw SyntaxError("Numbers out of order in "+e+" quantifier");return t}function v(e,t){if("control"===e.kind||"control"===t.kind||!isNaN(e.codePoint)&&!isNaN(t.codePoint)&&e.codePoint>t.codePoint)throw SyntaxError("Range "+e.value+"-"+t.value+" out of order in character class")}g.onParseBegin=function(e,t){b=e,y=0,h={};var r=e.lastIndexOf("/"),n=e.slice(r);n.includes("x")&&n.includes("u")?t.pushState("xu"):(n.includes("x")&&t.pushState("x"),n.includes("u")&&t.pushState("u"))},g.onShift=function(e){return("L_PAREN"===e.type||"NAMED_CAPTURE_GROUP"===e.type)&&(e.value=new String(e.value),e.value.groupNumber=++y),e};var x=function(){if(T)return C;T=1;var e={General_Category:"gc",Script:"sc",Script_Extensions:"scx"},t=s(e),r={ASCII:"ASCII",ASCII_Hex_Digit:"AHex",Alphabetic:"Alpha",Any:"Any",Assigned:"Assigned",Bidi_Control:"Bidi_C",Bidi_Mirrored:"Bidi_M",Case_Ignorable:"CI",Cased:"Cased",Changes_When_Casefolded:"CWCF",Changes_When_Casemapped:"CWCM",Changes_When_Lowercased:"CWL",Changes_When_NFKC_Casefolded:"CWKCF",Changes_When_Titlecased:"CWT",Changes_When_Uppercased:"CWU",Dash:"Dash",Default_Ignorable_Code_Point:"DI",Deprecated:"Dep",Diacritic:"Dia",Emoji:"Emoji",Emoji_Component:"Emoji_Component",Emoji_Modifier:"Emoji_Modifier",Emoji_Modifier_Base:"Emoji_Modifier_Base",Emoji_Presentation:"Emoji_Presentation",Extended_Pictographic:"Extended_Pictographic",Extender:"Ext",Grapheme_Base:"Gr_Base",Grapheme_Extend:"Gr_Ext",Hex_Digit:"Hex",IDS_Binary_Operator:"IDSB",IDS_Trinary_Operator:"IDST",ID_Continue:"IDC",ID_Start:"IDS",Ideographic:"Ideo",Join_Control:"Join_C",Logical_Order_Exception:"LOE",Lowercase:"Lower",Math:"Math",Noncharacter_Code_Point:"NChar",Pattern_Syntax:"Pat_Syn",Pattern_White_Space:"Pat_WS",Quotation_Mark:"QMark",Radical:"Radical",Regional_Indicator:"RI",Sentence_Terminal:"STerm",Soft_Dotted:"SD",Terminal_Punctuation:"Term",Unified_Ideograph:"UIdeo",Uppercase:"Upper",Variation_Selector:"VS",White_Space:"space",XID_Continue:"XIDC",XID_Start:"XIDS"},n=s(r),u={Cased_Letter:"LC",Close_Punctuation:"Pe",Connector_Punctuation:"Pc",Control:["Cc","cntrl"],Currency_Symbol:"Sc",Dash_Punctuation:"Pd",Decimal_Number:["Nd","digit"],Enclosing_Mark:"Me",Final_Punctuation:"Pf",Format:"Cf",Initial_Punctuation:"Pi",Letter:"L",Letter_Number:"Nl",Line_Separator:"Zl",Lowercase_Letter:"Ll",Mark:["M","Combining_Mark"],Math_Symbol:"Sm",Modifier_Letter:"Lm",Modifier_Symbol:"Sk",Nonspacing_Mark:"Mn",Number:"N",Open_Punctuation:"Ps",Other:"C",Other_Letter:"Lo",Other_Number:"No",Other_Punctuation:"Po",Other_Symbol:"So",Paragraph_Separator:"Zp",Private_Use:"Co",Punctuation:["P","punct"],Separator:"Z",Space_Separator:"Zs",Spacing_Mark:"Mc",Surrogate:"Cs",Symbol:"S",Titlecase_Letter:"Lt",Unassigned:"Cn",Uppercase_Letter:"Lu"},a=s(u),i={Adlam:"Adlm",Ahom:"Ahom",Anatolian_Hieroglyphs:"Hluw",Arabic:"Arab",Armenian:"Armn",Avestan:"Avst",Balinese:"Bali",Bamum:"Bamu",Bassa_Vah:"Bass",Batak:"Batk",Bengali:"Beng",Bhaiksuki:"Bhks",Bopomofo:"Bopo",Brahmi:"Brah",Braille:"Brai",Buginese:"Bugi",Buhid:"Buhd",Canadian_Aboriginal:"Cans",Carian:"Cari",Caucasian_Albanian:"Aghb",Chakma:"Cakm",Cham:"Cham",Cherokee:"Cher",Common:"Zyyy",Coptic:["Copt","Qaac"],Cuneiform:"Xsux",Cypriot:"Cprt",Cyrillic:"Cyrl",Deseret:"Dsrt",Devanagari:"Deva",Dogra:"Dogr",Duployan:"Dupl",Egyptian_Hieroglyphs:"Egyp",Elbasan:"Elba",Ethiopic:"Ethi",Georgian:"Geor",Glagolitic:"Glag",Gothic:"Goth",Grantha:"Gran",Greek:"Grek",Gujarati:"Gujr",Gunjala_Gondi:"Gong",Gurmukhi:"Guru",Han:"Hani",Hangul:"Hang",Hanifi_Rohingya:"Rohg",Hanunoo:"Hano",Hatran:"Hatr",Hebrew:"Hebr",Hiragana:"Hira",Imperial_Aramaic:"Armi",Inherited:["Zinh","Qaai"],Inscriptional_Pahlavi:"Phli",Inscriptional_Parthian:"Prti",Javanese:"Java",Kaithi:"Kthi",Kannada:"Knda",Katakana:"Kana",Kayah_Li:"Kali",Kharoshthi:"Khar",Khmer:"Khmr",Khojki:"Khoj",Khudawadi:"Sind",Lao:"Laoo",Latin:"Latn",Lepcha:"Lepc",Limbu:"Limb",Linear_A:"Lina",Linear_B:"Linb",Lisu:"Lisu",Lycian:"Lyci",Lydian:"Lydi",Mahajani:"Mahj",Makasar:"Maka",Malayalam:"Mlym",Mandaic:"Mand",Manichaean:"Mani",Marchen:"Marc",Medefaidrin:"Medf",Masaram_Gondi:"Gonm",Meetei_Mayek:"Mtei",Mende_Kikakui:"Mend",Meroitic_Cursive:"Merc",Meroitic_Hieroglyphs:"Mero",Miao:"Plrd",Modi:"Modi",Mongolian:"Mong",Mro:"Mroo",Multani:"Mult",Myanmar:"Mymr",Nabataean:"Nbat",New_Tai_Lue:"Talu",Newa:"Newa",Nko:"Nkoo",Nushu:"Nshu",Ogham:"Ogam",Ol_Chiki:"Olck",Old_Hungarian:"Hung",Old_Italic:"Ital",Old_North_Arabian:"Narb",Old_Permic:"Perm",Old_Persian:"Xpeo",Old_Sogdian:"Sogo",Old_South_Arabian:"Sarb",Old_Turkic:"Orkh",Oriya:"Orya",Osage:"Osge",Osmanya:"Osma",Pahawh_Hmong:"Hmng",Palmyrene:"Palm",Pau_Cin_Hau:"Pauc",Phags_Pa:"Phag",Phoenician:"Phnx",Psalter_Pahlavi:"Phlp",Rejang:"Rjng",Runic:"Runr",Samaritan:"Samr",Saurashtra:"Saur",Sharada:"Shrd",Shavian:"Shaw",Siddham:"Sidd",SignWriting:"Sgnw",Sinhala:"Sinh",Sogdian:"Sogd",Sora_Sompeng:"Sora",Soyombo:"Soyo",Sundanese:"Sund",Syloti_Nagri:"Sylo",Syriac:"Syrc",Tagalog:"Tglg",Tagbanwa:"Tagb",Tai_Le:"Tale",Tai_Tham:"Lana",Tai_Viet:"Tavt",Takri:"Takr",Tamil:"Taml",Tangut:"Tang",Telugu:"Telu",Thaana:"Thaa",Thai:"Thai",Tibetan:"Tibt",Tifinagh:"Tfng",Tirhuta:"Tirh",Ugaritic:"Ugar",Vai:"Vaii",Warang_Citi:"Wara",Yi:"Yiii",Zanabazar_Square:"Zanb"},o=s(i);function s(e){var t={};for(var r in e)if(e.hasOwnProperty(r)){var n=e[r];if(Array.isArray(n))for(var u=0;u<n.length;u++)t[n[u]]=r;else t[n]=r}return t}function d(e){return u.hasOwnProperty(e)||a.hasOwnProperty(e)}function l(e){return i.hasOwnProperty(e)||o.hasOwnProperty(e)}return C={isAlias:function(e){return t.hasOwnProperty(e)||n.hasOwnProperty(e)},isValidName:function(u){return e.hasOwnProperty(u)||t.hasOwnProperty(u)||r.hasOwnProperty(u)||n.hasOwnProperty(u)},isValidValue:function(e,t){var r,n;return"General_Category"===(r=e)||"gc"==r?d(t):("Script"===(n=e)||"Script_Extensions"===n||"sc"===n||"scx"===n)&&l(t)},isGeneralCategoryValue:d,isScriptCategoryValue:l,isBinaryPropertyName:function(e){return r.hasOwnProperty(e)||n.hasOwnProperty(e)},getCanonicalName:function(e){return t.hasOwnProperty(e)?t[e]:n.hasOwnProperty(e)?n[e]:null},getCanonicalValue:function(e){return a.hasOwnProperty(e)?a[e]:o.hasOwnProperty(e)?o[e]:n.hasOwnProperty(e)?n[e]:null},NON_BINARY_PROP_NAMES_TO_ALIASES:e,NON_BINARY_ALIASES_TO_PROP_NAMES:t,BINARY_PROP_NAMES_TO_ALIASES:r,BINARY_ALIASES_TO_PROP_NAMES:n,GENERAL_CATEGORY_VALUE_TO_ALIASES:u,GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES:a,SCRIPT_VALUE_TO_ALIASES:i,SCRIPT_VALUE_ALIASES_TO_VALUE:o}}();function D(t,r,n){var u=void 0,a=void 0;switch(r){case"decimal":u=String.fromCodePoint(a=Number(t.slice(1)));break;case"oct":u=String.fromCodePoint(a=parseInt(t.slice(1),8));break;case"hex":case"unicode":if(t.lastIndexOf("\\u")>0){var i=e(t.split("\\u").slice(1),2),o=i[0],s=i[1];u=String.fromCodePoint(a=((o=parseInt(o,16))-55296)*1024+((s=parseInt(s,16))-56320)+65536)}else{if((a=parseInt(t.slice(2).replace("{",""),16))>1114111)throw SyntaxError("Bad character escape sequence: "+t);u=String.fromCodePoint(a)}break;case"meta":switch(t){case"\\t":a=(u=" ").codePointAt(0);break;case"\\n":a=(u="\n").codePointAt(0);break;case"\\r":a=(u="\r").codePointAt(0);break;case"\\v":a=(u="\v").codePointAt(0);break;case"\\f":a=(u="\f").codePointAt(0);break;case"\\b":a=(u="\b").codePointAt(0);case"\\0":u="\0",a=0;case".":u=".",a=NaN;break;default:a=NaN}break;case"simple":a=(u=t).codePointAt(0)}return B({type:"Char",value:t,kind:r,symbol:u,codePoint:a},n)}var A=/^\\u[0-9a-fA-F]{4}/,S=/^\\u\{[0-9a-fA-F]{1,}\}/,F=/\\u\{[0-9a-fA-F]{1,}\}/;function k(e,t){if(F.test(e)&&"u"!==t&&"xu"!==t&&"u_class"!==t)throw SyntaxError('invalid group Unicode name "'+e+'", use `u` flag.');return e}var P=/\\u(?:([dD][89aAbB][0-9a-fA-F]{2})\\u([dD][c-fC-F][0-9a-fA-F]{2})|([dD][89aAbB][0-9a-fA-F]{2})|([dD][c-fC-F][0-9a-fA-F]{2})|([0-9a-ce-fA-CE-F][0-9a-fA-F]{3}|[dD][0-7][0-9a-fA-F]{2})|\{(0*(?:[0-9a-fA-F]{1,5}|10[0-9a-fA-F]{4}))\})/;function I(e){return e.replace(RegExp(P,"g"),function(e,t,r,n,u,a,i){return t?String.fromCodePoint(parseInt(t,16),parseInt(r,16)):n?String.fromCodePoint(parseInt(n,16)):u?String.fromCodePoint(parseInt(u,16)):a?String.fromCodePoint(parseInt(a,16)):i?String.fromCodePoint(parseInt(i,16)):e})}function B(e,t){return n.options.captureLocations&&(e.loc={source:b.slice(t.startOffset,t.endOffset),start:{line:t.startLine,column:t.startColumn,offset:t.startOffset},end:{line:t.endLine,column:t.endColumn,offset:t.endOffset}}),e}function O(e,t){return n.options.captureLocations?{startOffset:e.startOffset,endOffset:t.endOffset,startLine:e.startLine,endLine:t.endLine,startColumn:e.startColumn,endColumn:t.endColumn}:null}function R(e){"$"===e.type&&N(),c.throwUnexpectedToken(e.value,e.startLine,e.startColumn)}function N(){throw SyntaxError("Unexpected end of input.")}return w=g}(),t=e.parse.bind(e);return e.parse=function(e,r){return t(""+e,r)},e.setOptions({captureLocations:!1}),F=e}function aN(){if(I)return P;I=1;var e=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),t="expressions",r="expression",n=function(){function n(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;if(!(this instanceof n))throw TypeError("Cannot call a class as a function");this.node=e,this.parentPath=t,this.parent=t?t.node:null,this.property=r,this.index=u}return e(n,[{key:"_enforceProp",value:function(e){if(!this.node.hasOwnProperty(e))throw Error("Node of type "+this.node.type+" doesn't have \""+e+'" collection.')}},{key:"setChild",value:function(e){var u=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,a=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=void 0;return null!=u?(a||(a=t),this._enforceProp(a),this.node[a][u]=e,i=n.getForNode(e,this,a,u)):(a||(a=r),this._enforceProp(a),this.node[a]=e,i=n.getForNode(e,this,a,null)),i}},{key:"appendChild",value:function(e){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;r||(r=t),this._enforceProp(r);var n=this.node[r].length;return this.setChild(e,n,r)}},{key:"insertChildAt",value:function(e,r){var u=arguments.length>2&&void 0!==arguments[2]?arguments[2]:t;this._enforceProp(u),this.node[u].splice(r,0,e),r<=n.getTraversingIndex()&&n.updateTraversingIndex(1),this._rebuildIndex(this.node,u)}},{key:"remove",value:function(){if(!this.isRemoved()&&(n.registry.delete(this.node),this.node=null,this.parent)){if(null!==this.index){this.parent[this.property].splice(this.index,1),this.index<=n.getTraversingIndex()&&n.updateTraversingIndex(-1),this._rebuildIndex(this.parent,this.property),this.index=null,this.property=null;return}delete this.parent[this.property],this.property=null}}},{key:"_rebuildIndex",value:function(e,t){for(var r=n.getForNode(e),u=0;u<e[t].length;u++)n.getForNode(e[t][u],r,t,u).index=u}},{key:"isRemoved",value:function(){return null===this.node}},{key:"replace",value:function(e){return(n.registry.delete(this.node),this.node=e,this.parent)?(null!==this.index?this.parent[this.property][this.index]=e:this.parent[this.property]=e,n.getForNode(e,this.parentPath,this.property,this.index)):null}},{key:"update",value:function(e){Object.assign(this.node,e)}},{key:"getParent",value:function(){return this.parentPath}},{key:"getChild",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.node.expressions?n.getForNode(this.node.expressions[e],this,t,e):this.node.expression&&0==e?n.getForNode(this.node.expression,this,r):null}},{key:"hasEqualSource",value:function(e){return JSON.stringify(this.node,u)===JSON.stringify(e.node,u)}},{key:"jsonEncode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.format,r=e.useLoc;return JSON.stringify(this.node,r?null:u,t)}},{key:"getPreviousSibling",value:function(){return this.parent&&null!=this.index?n.getForNode(this.parent[this.property][this.index-1],n.getForNode(this.parent),this.property,this.index-1):null}},{key:"getNextSibling",value:function(){return this.parent&&null!=this.index?n.getForNode(this.parent[this.property][this.index+1],n.getForNode(this.parent),this.property,this.index+1):null}}],[{key:"getForNode",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,u=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1;if(!e)return null;n.registry.has(e)||n.registry.set(e,new n(e,t,r,-1==u?null:u));var a=n.registry.get(e);return null!==t&&(a.parentPath=t,a.parent=a.parentPath.node),null!==r&&(a.property=r),u>=0&&(a.index=u),a}},{key:"initRegistry",value:function(){n.registry||(n.registry=new Map),n.registry.clear()}},{key:"updateTraversingIndex",value:function(e){return n.traversingIndexStack[n.traversingIndexStack.length-1]+=e}},{key:"getTraversingIndex",value:function(){return n.traversingIndexStack[n.traversingIndexStack.length-1]}}]),n}();function u(e,t){if("loc"!==e)return t}return n.initRegistry(),n.traversingIndexStack=[],P=n}function aL(){if(O)return B;O=1;var e=aN();return B={traverse:function(t,r){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{asNodes:!1};function u(t,r,n,u){var a=e.getForNode(r);return e.getForNode(t,a,n,u)}Array.isArray(r)||(r=[r]),r=r.filter(function(e){return"function"!=typeof e.shouldRun||e.shouldRun(t)}),e.initRegistry(),r.forEach(function(e){"function"==typeof e.init&&e.init(t)}),function(t){var r=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=r.pre,u=r.post,a=r.skipProperty;!function t(r,i,o,s){if(r&&"string"==typeof r.type){var d=void 0;if(n&&(d=n(r,i,o,s)),!1!==d){for(var l in i&&i[o]&&(r=isNaN(s)?i[o]:i[o][s]),r)if(r.hasOwnProperty(l)){if(a?a(l,r):"$"===l[0])continue;var c=r[l];if(Array.isArray(c)){var f=0;for(e.traversingIndexStack.push(f);f<c.length;)t(c[f],r,l,f),f=e.updateTraversingIndex(1);e.traversingIndexStack.pop()}else t(c,r,l)}}u&&u(r,i,o,s)}}(t,null)}(t,{pre:function(e,t,a,i){var o=void 0;n.asNodes||(o=u(e,t,a,i));var s=!0,d=!1,l=void 0;try{for(var c,f=r[Symbol.iterator]();!(s=(c=f.next()).done);s=!0){var p=c.value;if("function"==typeof p["*"])if(o){if(!o.isRemoved()){var m=p["*"](o);if(!1===m)return!1}}else p["*"](e,t,a,i);var g=void 0;if("function"==typeof p[e.type]?g=p[e.type]:"object"==typeof p[e.type]&&"function"==typeof p[e.type].pre&&(g=p[e.type].pre),g)if(o){if(!o.isRemoved()){var y=g.call(p,o);if(!1===y)return!1}}else g.call(p,e,t,a,i)}}catch(e){d=!0,l=e}finally{try{!s&&f.return&&f.return()}finally{if(d)throw l}}},post:function(e,t,a,i){if(e){var o=void 0;n.asNodes||(o=u(e,t,a,i));var s=!0,d=!1,l=void 0;try{for(var c,f=r[Symbol.iterator]();!(s=(c=f.next()).done);s=!0){var p=c.value,m=void 0;if("object"==typeof p[e.type]&&"function"==typeof p[e.type].post&&(m=p[e.type].post),m)if(o){if(!o.isRemoved()){var g=m.call(p,o);if(!1===g)return!1}}else m.call(p,e,t,a,i)}}catch(e){d=!0,l=e}finally{try{!s&&f.return&&f.return()}finally{if(d)throw l}}}},skipProperty:function(e){return"loc"===e}})}}}function aj(){if(N)return R;N=1;var e=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),t=aO(),r=aR(),n=aL(),u=function(){function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;if(!(this instanceof r))throw TypeError("Cannot call a class as a function");this._ast=e,this._source=null,this._string=null,this._regexp=null,this._extra=t}return e(r,[{key:"getAST",value:function(){return this._ast}},{key:"setExtra",value:function(e){this._extra=e}},{key:"getExtra",value:function(){return this._extra}},{key:"toRegExp",value:function(){return this._regexp||(this._regexp=new RegExp(this.getSource(),this._ast.flags)),this._regexp}},{key:"getSource",value:function(){return this._source||(this._source=t.generate(this._ast.body)),this._source}},{key:"getFlags",value:function(){return this._ast.flags}},{key:"toString",value:function(){return this._string||(this._string=t.generate(this._ast)),this._string}}]),r}();return R={TransformResult:u,transform:function(e,t){var a=e;return e instanceof RegExp&&(e=""+e),"string"==typeof e&&(a=r.parse(e,{captureLocations:!0})),n.traverse(a,t),new u(a)}}}function aM(){return H?K:(H=1,K={disjunctionToList:function e(t){if("Disjunction"!==t.type)throw TypeError('Expected "Disjunction" node, got "'+t.type+'"');var r=[];return t.left&&"Disjunction"===t.left.type?r.push.apply(r,(function(e){if(!Array.isArray(e))return Array.from(e);for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r})(e(t.left)).concat([t.right])):r.push(t.left,t.right),r},listToDisjunction:function(e){return e.reduce(function(e,t){return{type:"Disjunction",left:e,right:t}})},increaseQuantifierByOne:function(e){"*"===e.kind?e.kind="+":"+"===e.kind?(e.kind="Range",e.from=2,delete e.to):"?"===e.kind?(e.kind="Range",e.from=1,e.to=2):"Range"===e.kind&&(e.from+=1,e.to&&(e.to+=1))}})}function a$(){return eT?eC:(eT=1,eC={EPSILON:"ε",EPSILON_CLOSURE:"ε*"})}function aU(){if(e_)return ew;e_=1;var e=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,u=!1,a=void 0;try{for(var i,o=e[Symbol.iterator]();!(n=(i=o.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){u=!0,a=e}finally{try{!n&&o.return&&o.return()}finally{if(u)throw a}}return r}(e,t);throw TypeError("Invalid attempt to destructure non-iterable instance")},t=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),r=a$(),n=r.EPSILON,u=r.EPSILON_CLOSURE;return ew=function(){function r(e,t){if(!(this instanceof r))throw TypeError("Cannot call a class as a function");this.in=e,this.out=t}return t(r,[{key:"matches",value:function(e){return this.in.matches(e)}},{key:"getAlphabet",value:function(){if(!this._alphabet){this._alphabet=new Set;var e=this.getTransitionTable();for(var t in e){var r=e[t];for(var n in r)n!==u&&this._alphabet.add(n)}}return this._alphabet}},{key:"getAcceptingStates",value:function(){return this._acceptingStates||this.getTransitionTable(),this._acceptingStates}},{key:"getAcceptingStateNumbers",value:function(){if(!this._acceptingStateNumbers){this._acceptingStateNumbers=new Set;var e=!0,t=!1,r=void 0;try{for(var n,u=this.getAcceptingStates()[Symbol.iterator]();!(e=(n=u.next()).done);e=!0){var a=n.value;this._acceptingStateNumbers.add(a.number)}}catch(e){t=!0,r=e}finally{try{!e&&u.return&&u.return()}finally{if(t)throw r}}}return this._acceptingStateNumbers}},{key:"getTransitionTable",value:function(){var t=this;if(!this._transitionTable){this._transitionTable={},this._acceptingStates=new Set;var r=new Set,a=new Set;!function n(u){if(!r.has(u)){r.add(u),u.number=r.size,t._transitionTable[u.number]={},u.accepting&&t._acceptingStates.add(u);var i=u.getTransitions(),o=!0,s=!1,d=void 0;try{for(var l,c=i[Symbol.iterator]();!(o=(l=c.next()).done);o=!0){var f=l.value,p=e(f,2),m=p[0],g=p[1],y=[];a.add(m);var h=!0,b=!1,E=void 0;try{for(var v,x=g[Symbol.iterator]();!(h=(v=x.next()).done);h=!0){var D=v.value;n(D),y.push(D.number)}}catch(e){b=!0,E=e}finally{try{!h&&x.return&&x.return()}finally{if(b)throw E}}t._transitionTable[u.number][m]=y}}catch(e){s=!0,d=e}finally{try{!o&&c.return&&c.return()}finally{if(s)throw d}}}}(this.in),r.forEach(function(e){delete t._transitionTable[e.number][n],t._transitionTable[e.number][u]=[].concat(function(e){if(!Array.isArray(e))return Array.from(e);for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}(e.getEpsilonClosure())).map(function(e){return e.number})})}return this._transitionTable}}]),r}()}function aq(){if(ej)return eL;ej=1;var e=aU(),t=function(){if(eN)return eR;eN=1;var e=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}(),t=function(){if(eO)return eB;eO=1;var e=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();return eB=function(){function t(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},r=e.accepting;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this._transitions=new Map,this.accepting=void 0!==r&&r}return e(t,[{key:"getTransitions",value:function(){return this._transitions}},{key:"addTransition",value:function(e,t){return this.getTransitionsOnSymbol(e).add(t),this}},{key:"getTransitionsOnSymbol",value:function(e){var t=this._transitions.get(e);return t||(t=new Set,this._transitions.set(e,t)),t}}]),t}()}(),r=a$().EPSILON;return eR=function(t){if("function"!=typeof t&&null!==t)throw TypeError("Super expression must either be null or a function, not "+typeof t);function n(){if(!(this instanceof n))throw TypeError("Cannot call a class as a function");var e=(n.__proto__||Object.getPrototypeOf(n)).apply(this,arguments);if(!this)throw ReferenceError("this hasn't been initialised - super() hasn't been called");return e&&("object"==typeof e||"function"==typeof e)?e:this}return n.prototype=Object.create(t&&t.prototype,{constructor:{value:n,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(n,t):n.__proto__=t),e(n,[{key:"matches",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:new Set;if(t.has(this))return!1;if(t.add(this),0===e.length){if(this.accepting)return!0;var n=!0,u=!1,a=void 0;try{for(var i,o=this.getTransitionsOnSymbol(r)[Symbol.iterator]();!(n=(i=o.next()).done);n=!0)if(i.value.matches("",t))return!0}catch(e){u=!0,a=e}finally{try{!n&&o.return&&o.return()}finally{if(u)throw a}}return!1}var s=e[0],d=e.slice(1),l=this.getTransitionsOnSymbol(s),c=!0,f=!1,p=void 0;try{for(var m,g=l[Symbol.iterator]();!(c=(m=g.next()).done);c=!0)if(m.value.matches(d))return!0}catch(e){f=!0,p=e}finally{try{!c&&g.return&&g.return()}finally{if(f)throw p}}var y=!0,h=!1,b=void 0;try{for(var E,v=this.getTransitionsOnSymbol(r)[Symbol.iterator]();!(y=(E=v.next()).done);y=!0)if(E.value.matches(e,t))return!0}catch(e){h=!0,b=e}finally{try{!y&&v.return&&v.return()}finally{if(h)throw b}}return!1}},{key:"getEpsilonClosure",value:function(){var e=this;return this._epsilonClosure||function(){var t=e.getTransitionsOnSymbol(r),n=e._epsilonClosure=new Set;n.add(e);var u=!0,a=!1,i=void 0;try{for(var o,s=t[Symbol.iterator]();!(u=(o=s.next()).done);u=!0){var d=o.value;n.has(d)||(n.add(d),d.getEpsilonClosure().forEach(function(e){return n.add(e)}))}}catch(e){a=!0,i=e}finally{try{!u&&s.return&&s.return()}finally{if(a)throw i}}}(),this._epsilonClosure}}]),n}(t)}(),r=a$().EPSILON;function n(r){var n=new t,u=new t({accepting:!0});return new e(n.addTransition(r,u),u)}return eL={alt:function(t){for(var n=arguments.length,u=Array(n>1?n-1:0),a=1;a<n;a++)u[a-1]=arguments[a];var i=!0,o=!1,s=void 0;try{for(var d,l=u[Symbol.iterator]();!(i=(d=l.next()).done);i=!0){var c,f=d.value;c=t,c.out.accepting=!1,f.out.accepting=!0,c.out.addTransition(r,f.in),t=new e(c.in,f.out)}}catch(e){o=!0,s=e}finally{try{!i&&l.return&&l.return()}finally{if(o)throw s}}return t},char:n,e:function(){return n(r)},or:function(n){for(var u=arguments.length,a=Array(u>1?u-1:0),i=1;i<u;i++)a[i-1]=arguments[i];var o=!0,s=!1,d=void 0;try{for(var l,c=a[Symbol.iterator]();!(o=(l=c.next()).done);o=!0){var f=l.value;n=function(n,u){var a=new t,i=new t;return a.addTransition(r,n.in),a.addTransition(r,u.in),i.accepting=!0,n.out.accepting=!1,u.out.accepting=!1,n.out.addTransition(r,i),u.out.addTransition(r,i),new e(a,i)}(n,f)}}catch(e){s=!0,d=e}finally{try{!o&&c.return&&c.return()}finally{if(s)throw d}}return n},rep:function(e){return e.in.addTransition(r,e.out),e.out.addTransition(r,e.in),e},repExplicit:function(n){var u=new t,a=new t({accepting:!0});return u.addTransition(r,n.in),u.addTransition(r,a),n.out.accepting=!1,n.out.addTransition(r,a),a.addTransition(r,n.in),new e(u,a)},plusRep:function(e){return e.out.addTransition(r,e.in),e},questionRep:function(e){return e.in.addTransition(r,e.out),e}}}var az=rG(eG?eZ:(eG=1,eZ=function(){if(eV)return eY;eV=1;var e=function(){if(j)return L;j=1;var e=D?x:(D=1,x={dotAll:y?g:(y=1,g={_hasUFlag:!1,shouldRun:function(e){return!!e.flags.includes("s")&&(e.flags=e.flags.replace("s",""),this._hasUFlag=e.flags.includes("u"),!0)},Char:function(e){var t=e.node;if("meta"===t.kind&&"."===t.value){var r="\\uFFFF",n="";this._hasUFlag&&(r="\\u{10FFFF}",n="\uDBFF\uDFFF"),e.replace({type:"CharacterClass",expressions:[{type:"ClassRange",from:{type:"Char",value:"\\0",kind:"decimal",symbol:"\0"},to:{type:"Char",value:r,kind:"unicode",symbol:n}}]})}}}),namedCapturingGroups:b?h:(b=1,h={_groupNames:{},init:function(){this._groupNames={}},getExtra:function(){return this._groupNames},Group:function(e){var t=e.node;t.name&&(this._groupNames[t.name]=t.number,delete t.name,delete t.nameRaw)},Backreference:function(e){var t=e.node;"name"===t.kind&&(t.kind="number",t.reference=t.number,delete t.referenceRaw)}}),xFlag:v?E:(v=1,E={RegExp:function(e){var t=e.node;t.flags.includes("x")&&(t.flags=t.flags.replace("x",""))}})}),t=aj();return L={transform:function(r){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],u=n.length>0?n:Object.keys(e),a=void 0,i={};return u.forEach(function(n){if(!e.hasOwnProperty(n))throw Error("Unknown compat-transform: "+n+". Available transforms are: "+Object.keys(e).join(", "));var u=e[n];r=(a=t.transform(r,u)).getAST(),"function"==typeof u.getExtra&&(i[n]=u.getExtra())}),a.setExtra(i),a}}}(),t=aO(),r=function(){if(eS)return eA;eS=1;var e=$?M:($=1,M=function e(t){if(null===t||"object"!=typeof t)return t;var r=void 0;for(var n in r=Array.isArray(t)?[]:{},t)r[n]=e(t[n]);return r}),t=aR(),r=aj(),n=eD?ex:(eD=1,ex=new Map([["charSurrogatePairToSingleUnicode",q?U:(q=1,U={shouldRun:function(e){return e.flags.includes("u")},Char:function(e){var t=e.node;"unicode"!==t.kind||!t.isSurrogatePair||isNaN(t.codePoint)||(t.value="\\u{"+t.codePoint.toString(16)+"}",delete t.isSurrogatePair)}})],["charCodeToSimpleChar",W?z:(W=1,z={Char:function(e){var t=e.node,r=e.parent;if(!isNaN(t.codePoint)&&"simple"!==t.kind&&("ClassRange"!==r.type||(u=(n=r).from,a=n.to,u.codePoint>=48&&u.codePoint<=57&&a.codePoint>=48&&a.codePoint<=57||u.codePoint>=65&&u.codePoint<=90&&a.codePoint>=65&&a.codePoint<=90||u.codePoint>=97&&u.codePoint<=122&&a.codePoint>=97&&a.codePoint<=122))){if((i=t.codePoint)>=32&&i<=126){var n,u,a,i,o,s,d=String.fromCodePoint(t.codePoint),l={type:"Char",kind:"simple",value:d,symbol:d,codePoint:t.codePoint};o=d,("ClassRange"===(s=r.type)||"CharacterClass"===s?/[\]\\^-]/.test(o):/[*[()+?^$./\\|{}]/.test(o))&&(l.escaped=!0),e.replace(l)}}}})],["charCaseInsensitiveLowerCaseTransform",V?Y:(V=1,Y={_AZClassRanges:null,_hasUFlag:!1,init:function(e){this._AZClassRanges=new Set,this._hasUFlag=e.flags.includes("u")},shouldRun:function(e){return e.flags.includes("i")},Char:function(e){var t,r,n,u=e.node,a=e.parent;if(!isNaN(u.codePoint)&&(this._hasUFlag||!(u.codePoint>=4096))){if("ClassRange"===a.type){if(!this._AZClassRanges.has(a)&&(r=(t=a).from,n=t.to,!(r.codePoint>=65)||!(r.codePoint<=90)||!(n.codePoint>=65)||!(n.codePoint<=90)))return;this._AZClassRanges.add(a)}var i=u.symbol.toLowerCase();i!==u.symbol&&(u.value=function(e,t){var r=e.codePointAt(0);if("decimal"===t.kind)return"\\"+r;if("oct"===t.kind)return"\\0"+r.toString(8);if("hex"===t.kind)return"\\x"+r.toString(16);if("unicode"===t.kind)if(t.isSurrogatePair){var n,u={lead:(Math.floor(((n=r)-65536)/1024)+55296).toString(16),trail:((n-65536)%1024+56320).toString(16)},a=u.lead,i=u.trail;return"\\u"+"0".repeat(4-a.length)+a+"\\u"+"0".repeat(4-i.length)+i}else{if(t.value.includes("{"))return"\\u{"+r.toString(16)+"}";var o=r.toString(16);return"\\u"+"0".repeat(4-o.length)+o}return e}(i,u),u.symbol=i,u.codePoint=i.codePointAt(0))}}})],["charClassRemoveDuplicates",G?Z:(G=1,Z={CharacterClass:function(e){for(var t=e.node,r={},n=0;n<t.expressions.length;n++){var u=e.getChild(n),a=u.jsonEncode();r.hasOwnProperty(a)&&(u.remove(),n--),r[a]=!0}}})],["quantifiersMerge",function(){if(J)return X;J=1;var e=aM().increaseQuantifierByOne;function t(e){return e.greedy&&("+"===e.kind||"*"===e.kind||"Range"===e.kind&&!e.to)}function r(e){var t=void 0,r=void 0;return"*"===e.kind?t=0:"+"===e.kind?t=1:"?"===e.kind?(t=0,r=1):(t=e.from,e.to&&(r=e.to)),{from:t,to:r}}return X={Repetition:function(n){var u=n.node;if("Alternative"===n.parent.type&&n.index){var a=n.getPreviousSibling();if(a)if("Repetition"===a.node.type){if(!a.getChild().hasEqualSource(n.getChild()))return;var i=r(a.node.quantifier),o=i.from,s=i.to,d=r(u.quantifier),l=d.from,c=d.to;if(a.node.quantifier.greedy!==u.quantifier.greedy&&!t(a.node.quantifier)&&!t(u.quantifier))return;u.quantifier.kind="Range",u.quantifier.from=o+l,s&&c?u.quantifier.to=s+c:delete u.quantifier.to,(t(a.node.quantifier)||t(u.quantifier))&&(u.quantifier.greedy=!0),a.remove()}else{if(!a.hasEqualSource(n.getChild()))return;e(u.quantifier),a.remove()}}}}}()],["quantifierRangeToSymbol",ee?Q:(ee=1,Q={Quantifier:function(e){var t,r,n,u;"Range"===e.node.kind&&(0!==(t=e.node).from||t.to||(t.kind="*",delete t.from),1!==(r=e.node).from||r.to||(r.kind="+",delete r.from),1===(u=(n=e).node).from&&1===u.to&&n.parentPath.replace(n.parentPath.node.expression))}})],["charClassClassrangesToChars",er?et:(er=1,et={ClassRange:function(e){var t=e.node;t.from.codePoint===t.to.codePoint?e.replace(t.from):t.from.codePoint===t.to.codePoint-1&&(e.getParent().insertChildAt(t.to,e.index+1),e.replace(t.from))}})],["charClassToMeta",function(){if(eu)return en;function e(e){if(!Array.isArray(e))return Array.from(e);for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}eu=1,en={_hasIFlag:!1,_hasUFlag:!1,init:function(e){this._hasIFlag=e.flags.includes("i"),this._hasUFlag=e.flags.includes("u")},CharacterClass:function(e){var r,a,i,o,s,d,l,c,f,p,m;(r=e).node.expressions.forEach(function(e,t){var n;"ClassRange"===(n=e).type&&"0"===n.from.value&&"9"===n.to.value&&r.getChild(t).replace({type:"Char",value:"\\d",kind:"meta"})}),a=e,i=this._hasIFlag,o=this._hasUFlag,s=a.node,d=null,l=null,c=null,f=null,p=null,m=null,s.expressions.forEach(function(e,t){var r,s,g;n(e,"\\d")?d=a.getChild(t):"ClassRange"===(r=e).type&&"a"===r.from.value&&"z"===r.to.value?l=a.getChild(t):"ClassRange"===(s=e).type&&"A"===s.from.value&&"Z"===s.to.value?c=a.getChild(t):"Char"===(g=e).type&&"_"===g.value&&"simple"===g.kind?f=a.getChild(t):i&&o&&u(e,383)?p=a.getChild(t):i&&o&&u(e,8490)&&(m=a.getChild(t))}),d&&(l&&c||i&&(l||c))&&f&&(!o||!i||p&&m)&&(d.replace({type:"Char",value:"\\w",kind:"meta"}),l&&l.remove(),c&&c.remove(),f.remove(),p&&p.remove(),m&&m.remove()),function(e){var r=e.node;if(!(r.expressions.length<t.length)&&t.every(function(e){return r.expressions.some(function(t){return e(t)})})){var u=r.expressions.find(function(e){return n(e,"\\n")});u.value="\\s",u.symbol=void 0,u.codePoint=NaN,r.expressions.map(function(r,n){return t.some(function(e){return e(r)})?e.getChild(n):void 0}).filter(Boolean).forEach(function(e){return e.remove()})}}(e)}};var t=[function(e){return r(e," ")}].concat(e(["\\f","\\n","\\r","\\t","\\v"].map(function(e){return function(t){return n(t,e)}})),e([160,5760,8232,8233,8239,8287,12288,65279].map(function(e){return function(t){return u(t,e)}})),[function(e){return"ClassRange"===e.type&&u(e.from,8192)&&u(e.to,8202)}]);function r(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"simple";return"Char"===e.type&&e.value===t&&e.kind===r}function n(e,t){return r(e,t,"meta")}function u(e,t){return"Char"===e.type&&"unicode"===e.kind&&e.codePoint===t}return en}()],["charClassToSingleChar",ei?ea:(ei=1,ea={CharacterClass:function(e){var t=e.node;if(1===t.expressions.length&&function(e){var t=e.parent,r=e.index;if("Alternative"!==t.type)return!0;var n=t.expressions[r-1];return null==n||("Backreference"!==n.type||"number"!==n.kind)&&("Char"!==n.type||"decimal"!==n.kind)}(e)&&"Char"===(r=t.expressions[0]).type&&"\\b"!==r.value){var r,n,u,a,i=t.expressions[0],o=i.value,s=i.kind,d=i.escaped;if(t.negative){if(n=o,!/^\\[dwsDWS]$/.test(n))return;u=o,o=/[dws]/.test(u)?u.toUpperCase():u.toLowerCase()}e.replace({type:"Char",value:o,kind:s,escaped:d||(a=o,/[*[()+?$./{}|]/.test(a))})}}})],["charEscapeUnescape",function(){if(es)return eo;function e(e,t,r){for(var n=e,u=(r?n>=0:n<t.expressions.length)&&t.expressions[n];u&&"Char"===u.type&&"simple"===u.kind&&!u.escaped&&/\d/.test(u.value);)r?n--:n++,u=(r?n>=0:n<t.expressions.length)&&t.expressions[n];return Math.abs(e-n)}function t(e,t){return e&&"Char"===e.type&&"simple"===e.kind&&!e.escaped&&e.value===t}return es=1,eo={_hasXFlag:!1,init:function(e){this._hasXFlag=e.flags.includes("x")},Char:function(r){var n,u,a,i,o,s,d,l,c,f,p,m,g=r.node;!g.escaped||(n=r,u=this._hasXFlag,a=n.node.value,i=n.index,"CharacterClass"!==(o=n.parent).type&&"ClassRange"!==o.type?(s=a,d=i,l=o,c=u,"{"===s?function(r,n){if(null==r)return!1;var u=e(r+1,n),a=r+u+1,i=a<n.expressions.length&&n.expressions[a];if(u){if(t(i,"}"))return!0;if(t(i,","))return u=e(a+1,n),t(i=(a=a+u+1)<n.expressions.length&&n.expressions[a],"}")}return!1}(d,l):"}"===s?function(r,n){if(null==r)return!1;var u=e(r-1,n,!0),a=r-u-1,i=a>=0&&n.expressions[a];return!!(u&&t(i,"{"))||!!t(i,",")&&(u=e(a-1,n,!0),i=(a=a-u-1)<n.expressions.length&&n.expressions[a],u&&t(i,"{"))}(d,l):!!(c&&/[ #]/.test(s))||/[*[()+?^$./\\|]/.test(s)):(f=a,p=i,m=o,"^"===f?0===p&&!m.negative:"-"===f||/[\]\\]/.test(f)))||delete g.escaped}}}()],["charClassClassrangesMerge",function(){if(el)return ed;function e(e,u){var a=t(e),i=t(u);if(a===i){if("ClassRange"===e.type&&"ClassRange"!==u.type)return -1;if("ClassRange"===u.type&&"ClassRange"!==e.type)return 1;if("ClassRange"===e.type&&"ClassRange"===u.type)return t(e.to)-t(u.to);if(r(e)&&r(u)||n(e)&&n(u))return e.value<u.value?-1:1}return a-i}function t(e){return"Char"===e.type?"-"===e.value||"control"===e.kind?1/0:"meta"===e.kind&&isNaN(e.codePoint)?-1:e.codePoint:e.from.codePoint}function r(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;return"Char"===e.type&&"meta"===e.kind&&(t?e.value===t:/^\\[dws]$/i.test(e.value))}function n(e){return"Char"===e.type&&"control"===e.kind}function u(e){return 9===e.codePoint||10===e.codePoint||11===e.codePoint||12===e.codePoint||13===e.codePoint||32===e.codePoint||160===e.codePoint||5760===e.codePoint||e.codePoint>=8192&&e.codePoint<=8202||8232===e.codePoint||8233===e.codePoint||8239===e.codePoint||8287===e.codePoint||12288===e.codePoint||65279===e.codePoint}function a(e){return e.codePoint>=48&&e.codePoint<=57}function i(e,t){return a(e)||e.codePoint>=65&&e.codePoint<=90||e.codePoint>=97&&e.codePoint<=122||"_"===e.value||t&&(383===e.codePoint||8490===e.codePoint)}function o(e){return e&&"Char"===e.type&&!isNaN(e.codePoint)&&(i(e,!1)||"unicode"===e.kind||"hex"===e.kind||"oct"===e.kind||"decimal"===e.kind)}return el=1,ed={_hasIUFlags:!1,init:function(e){this._hasIUFlags=e.flags.includes("i")&&e.flags.includes("u")},CharacterClass:function(t){var n=t.node.expressions,s=[];n.forEach(function(e){r(e)&&s.push(e.value)}),n.sort(e);for(var d=0;d<n.length;d++){var l,c,f=n[d];if(function(e,t,n){for(var o=0;o<t.length;o++)if(function e(t,n,o){return"ClassRange"===t.type?e(t.from,n,o)&&e(t.to,n,o):!!("\\S"===n&&(r(t,"\\w")||r(t,"\\d"))||"\\D"===n&&(r(t,"\\W")||r(t,"\\s"))||"\\w"===n&&r(t,"\\d")||"\\W"===n&&r(t,"\\s"))||!("Char"!==t.type||isNaN(t.codePoint))&&("\\s"===n?u(t):"\\S"===n?!u(t):"\\d"===n?a(t):"\\D"===n?!a(t):"\\w"===n?i(t,o):"\\W"===n&&!i(t,o))}(e,t[o],n))return!0;return!1}(f,s,this._hasIUFlags)||function(e,t){if(t&&"ClassRange"===t.type){if(function e(t,r){return!("Char"===t.type&&isNaN(t.codePoint))&&("ClassRange"===t.type?e(t.from,r)&&e(t.to,r):t.codePoint>=r.from.codePoint&&t.codePoint<=r.to.codePoint)}(e,t))return!0;else if(o(e)&&t.to.codePoint===e.codePoint-1)return t.to=e,!0;else if("ClassRange"===e.type&&e.from.codePoint<=t.to.codePoint+1&&e.to.codePoint>=t.from.codePoint-1)return e.from.codePoint<t.from.codePoint&&(t.from=e.from),e.to.codePoint>t.to.codePoint&&(t.to=e.to),!0}return!1}(f,n[d-1])||(l=f,(c=n[d+1])&&"ClassRange"===c.type&&o(l)&&c.from.codePoint===l.codePoint+1&&(c.from=l,1)))n.splice(d,1),d--;else{var p=function(e,t,r){if(!o(e))return 0;for(var n=0;t>0;){var u=r[t],a=r[t-1];if(o(a)&&a.codePoint===u.codePoint-1)n++,t--;else break}return n>1?(r[t]={type:"ClassRange",from:r[t],to:e},n):0}(f,d,n);n.splice(d-p+1,p),d-=p}}}}}()],["disjunctionRemoveDuplicates",function(){if(ef)return ec;ef=1;var e=aN(),t=aM(),r=t.disjunctionToList,n=t.listToDisjunction;return ec={Disjunction:function(t){var u=t.node,a={},i=r(u).filter(function(t){var r=t?e.getForNode(t).jsonEncode():"null";return!a.hasOwnProperty(r)&&(a[r]=t,!0)});t.replace(n(i))}}}()],["groupSingleCharsToCharClass",function(){if(em)return ep;em=1;var e={RegExp:function(e,t){e.node.body=t},Group:function(e,t){var r=e.node;r.capturing?r.expression=t:e.replace(t)}};return ep={Disjunction:function(t){var r=t.node,n=t.parent;if(e[n.type]){var u=new Map;if(function e(t,r){if(!t)return!1;var n=t.type;if("Disjunction"===n){var u=t.left,a=t.right;return e(u,r)&&e(a,r)}if("Char"===n){if("meta"===t.kind&&"."===t.symbol)return!1;var i=t.value;return r.set(i,t),!0}return"CharacterClass"===n&&!t.negative&&t.expressions.every(function(t){return e(t,r)})}(r,u)&&u.size){var a={type:"CharacterClass",expressions:Array.from(u.keys()).sort().map(function(e){return u.get(e)})};e[n.type](t.getParent(),a)}}}}}()],["removeEmptyGroup",ey?eg:(ey=1,eg={Group:function(e){var t=e.node,r=e.parent,n=e.getChild();t.capturing||n||("Repetition"===r.type?e.getParent().replace(t):"RegExp"!==r.type&&e.remove())}})],["ungroup",function(){if(eb)return eh;function e(e){if(!Array.isArray(e))return Array.from(e);for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}return eb=1,eh={Group:function(t){var r=t.node,n=t.parent,u=t.getChild();if(!r.capturing&&u&&function(e){var t=e.parent,r=e.index;if("Alternative"!==t.type)return!0;var n=t.expressions[r-1];return null==n||("Backreference"!==n.type||"number"!==n.kind)&&("Char"!==n.type||"decimal"!==n.kind)}(t)&&("Disjunction"!==u.node.type||"RegExp"===n.type)&&("Repetition"!==n.type||"Char"===u.node.type||"CharacterClass"===u.node.type))if("Alternative"===u.node.type){var a=t.getParent();"Alternative"===a.node.type&&a.replace({type:"Alternative",expressions:[].concat(e(n.expressions.slice(0,t.index)),e(u.node.expressions),e(n.expressions.slice(t.index+1)))})}else t.replace(u.node)}}}()],["combineRepeatingPatterns",function(){if(ev)return eE;function e(e){if(!Array.isArray(e))return Array.from(e);for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}ev=1;var t=aN(),r=aM().increaseQuantifierByOne;return eE={Alternative:function(n){for(var u=n.node,a=1;a<u.expressions.length;){var i=n.getChild(a);if((a=Math.max(1,function(r,n,u){for(var a=r.node,i=Math.ceil(u/2),o=0;o<i;){var s=u-2*o-1,d=void 0,l=void 0;if(0===o?(d=n,l=r.getChild(s)):(d=t.getForNode({type:"Alternative",expressions:[].concat(e(a.expressions.slice(u-o,u)),[n.node])}),l=t.getForNode({type:"Alternative",expressions:[].concat(e(a.expressions.slice(s,u-o)))})),d.hasEqualSource(l)){for(var c=0;c<2*o+1;c++)r.getChild(s).remove();return n.replace({type:"Repetition",expression:0===o&&"Repetition"!==d.node.type?d.node:{type:"Group",capturing:!1,expression:d.node},quantifier:{type:"Quantifier",kind:"Range",from:2,to:2,greedy:!0}}),s}o++}return u}(n,i,a)))>=u.expressions.length||(i=n.getChild(a),(a=Math.max(1,function(n,u,a){for(var i=n.node,o=0;o<a;){var s=n.getChild(o);if("Repetition"===s.node.type&&s.node.quantifier.greedy){var d=s.getChild(),l=void 0;if("Group"!==d.node.type||d.node.capturing||(d=d.getChild()),o+1===a?"Group"!==(l=u).node.type||l.node.capturing||(l=l.getChild()):l=t.getForNode({type:"Alternative",expressions:[].concat(e(i.expressions.slice(o+1,a+1)))}),d.hasEqualSource(l)){for(var c=o;c<a;c++)n.getChild(o+1).remove();return r(s.node.quantifier),o}}o++}return a}(n,i,a)))>=u.expressions.length))break;i=n.getChild(a),a=Math.max(1,function(n,u,a){var i=n.node;if("Repetition"===u.node.type&&u.node.quantifier.greedy){var o=u.getChild(),s=void 0;"Group"!==o.node.type||o.node.capturing||(o=o.getChild());var d=void 0;if("Alternative"===o.node.type?(d=o.node.expressions.length,s=t.getForNode({type:"Alternative",expressions:[].concat(e(i.expressions.slice(a-d,a)))})):(d=1,"Group"!==(s=n.getChild(a-1)).node.type||s.node.capturing||(s=s.getChild())),s.hasEqualSource(o)){for(var l=a-d;l<a;l++)n.getChild(a-d).remove();return r(u.node.quantifier),a-d}}return a}(n,i,a)),a++}}}}()]]));return eA={optimize:function(u){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},i=a.whitelist,o=void 0===i?[]:i,s=a.blacklist,d=void 0===s?[]:s,l=(o.length>0?o:Array.from(n.keys())).filter(function(e){return!d.includes(e)}),c=u;u instanceof RegExp&&(u=""+u),"string"==typeof u&&(c=t.parse(u));var f=new r.TransformResult(c),p=void 0;do p=f.toString(),c=e(f.getAST()),l.forEach(function(t){if(!n.has(t))throw Error("Unknown optimization-transform: "+t+". Available transforms are: "+Array.from(n.keys()).join(", "));var u=n.get(t),a=r.transform(c,u);a.toString()!==f.toString()&&(a.toString().length<=f.toString().length?f=a:c=e(f.getAST()))});while(f.toString()!==p);return f}}}(),n=aR(),u=aj(),a=aL(),i=function(){if(eq)return eU;eq=1;var e=aU(),t=function(){if(eI)return eP;eI=1;var e=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();function t(e){if(!Array.isArray(e))return Array.from(e);for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}var r=function(){if(ek)return eF;ek=1;var e=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var r=[],n=!0,u=!1,a=void 0;try{for(var i,o=e[Symbol.iterator]();!(n=(i=o.next()).done)&&(r.push(i.value),!t||r.length!==t);n=!0);}catch(e){u=!0,a=e}finally{try{!n&&o.return&&o.return()}finally{if(u)throw a}}return r}(e,t);throw TypeError("Invalid attempt to destructure non-iterable instance")};function t(e){if(!Array.isArray(e))return Array.from(e);for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}var r=null;return eF={minimize:function(n){var u=n.getTransitionTable(),a=Object.keys(u),i=n.getAlphabet(),o=n.getAcceptingStateNumbers();r={};var s=new Set;a.forEach(function(e){e=Number(e),o.has(e)?r[e]=o:(s.add(e),r[e]=s)});var d=[[s,o].filter(function(e){return e.size>0})],l=void 0,c=void 0;for(l=d[d.length-1],c=d[d.length-2];!function(e,r){if(!r||e.length!==r.length)return!1;for(var n=0;n<e.length;n++){var u=e[n],a=r[n];if(u.size!==a.size||[].concat(t(u)).sort().join(",")!==[].concat(t(a)).sort().join(","))return!1}return!0}(l,c);)!function(){var e={},n=!0,a=!1,o=void 0;try{for(var s,f=l[Symbol.iterator]();!(n=(s=f.next()).done);n=!0){var p=s.value,m={},g=Array.isArray(p)?p:Array.from(p),y=g[0],h=g.slice(1);m[y]=new Set([y]);var b=!0,E=!1,v=void 0;try{e:for(var x,D=h[Symbol.iterator]();!(b=(x=D.next()).done);b=!0){var A=x.value,S=!0,C=!1,T=void 0;try{for(var w,_=Object.keys(m)[Symbol.iterator]();!(S=(w=_.next()).done);S=!0){var F=w.value;if(function(e,t,n,u){var a=!0,i=!1,o=void 0;try{for(var s,d=u[Symbol.iterator]();!(a=(s=d.next()).done);a=!0){var l=s.value;if(!function(e,t,n,u){if(!r[e]||!r[t])return!1;var a=n[e][u],i=n[t][u];return!a&&!i||r[e].has(a)&&r[t].has(i)}(e,t,n,l))return!1}}catch(e){i=!0,o=e}finally{try{!a&&d.return&&d.return()}finally{if(i)throw o}}return!0}(A,F,u,i)){m[F].add(A),m[A]=m[F];continue e}}}catch(e){C=!0,T=e}finally{try{!S&&_.return&&_.return()}finally{if(C)throw T}}m[A]=new Set([A])}}catch(e){E=!0,v=e}finally{try{!b&&D.return&&D.return()}finally{if(E)throw v}}Object.assign(e,m)}}catch(e){a=!0,o=e}finally{try{!n&&f.return&&f.return()}finally{if(a)throw o}}r=e;var k=new Set(Object.keys(e).map(function(t){return e[t]}));d.push([].concat(t(k))),l=d[d.length-1],c=d[d.length-2]}();var f=new Map,p=1;l.forEach(function(e){return f.set(e,p++)});var m={},g=new Set,y=!0,h=!1,b=void 0;try{for(var E,v=f.entries()[Symbol.iterator]();!(y=(E=v.next()).done);y=!0){var x=E.value,D=e(x,2),A=D[0],S=D[1];m[S]={};var C=!0,T=!1,w=void 0;try{for(var _,F=i[Symbol.iterator]();!(C=(_=F.next()).done);C=!0){var k=_.value;!function(e,t){var r=!0,n=!1,u=void 0;try{for(var a,i=e[Symbol.iterator]();!(r=(a=i.next()).done);r=!0){var s=a.value;o.has(s)&&g.add(t)}}catch(e){n=!0,u=e}finally{try{!r&&i.return&&i.return()}finally{if(n)throw u}}}(A,S);var P=void 0,I=!0,B=!1,O=void 0;try{for(var R,N=A[Symbol.iterator]();!(I=(R=N.next()).done)&&!(P=u[R.value][k]);I=!0);}catch(e){B=!0,O=e}finally{try{!I&&N.return&&N.return()}finally{if(B)throw O}}P&&(m[S][k]=f.get(r[P]))}}catch(e){T=!0,w=e}finally{try{!C&&F.return&&F.return()}finally{if(T)throw w}}}}catch(e){h=!0,b=e}finally{try{!y&&v.return&&v.return()}finally{if(h)throw b}}return n.setTransitionTable(m),n.setAcceptingStateNumbers(g),n}}}(),n=a$().EPSILON_CLOSURE;return eP=function(){function u(e){if(!(this instanceof u))throw TypeError("Cannot call a class as a function");this._nfa=e}return e(u,[{key:"minimize",value:function(){this.getTransitionTable(),this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._originalTransitionTable=this._transitionTable,r.minimize(this)}},{key:"getAlphabet",value:function(){return this._nfa.getAlphabet()}},{key:"getAcceptingStateNumbers",value:function(){return this._acceptingStateNumbers||this.getTransitionTable(),this._acceptingStateNumbers}},{key:"getOriginaAcceptingStateNumbers",value:function(){return this._originalAcceptingStateNumbers||this.getTransitionTable(),this._originalAcceptingStateNumbers}},{key:"setTransitionTable",value:function(e){this._transitionTable=e}},{key:"setAcceptingStateNumbers",value:function(e){this._acceptingStateNumbers=e}},{key:"getTransitionTable",value:function(){var e=this;if(this._transitionTable)return this._transitionTable;var r=this._nfa.getTransitionTable(),u=Object.keys(r);this._acceptingStateNumbers=new Set;for(var a=[r[u[0]][n]],i=this.getAlphabet(),o=this._nfa.getAcceptingStateNumbers(),s={};a.length>0;){var d=a.shift(),l=d.join(",");s[l]={};var c=!0,f=!1,p=void 0;try{for(var m,g=i[Symbol.iterator]();!(c=(m=g.next()).done);c=!0){var y=m.value,h=[];!function(t){var r=!0,n=!1,u=void 0;try{for(var a,i=o[Symbol.iterator]();!(r=(a=i.next()).done);r=!0){var s=a.value;if(-1!==t.indexOf(s)){e._acceptingStateNumbers.add(t.join(","));break}}}catch(e){n=!0,u=e}finally{try{!r&&i.return&&i.return()}finally{if(n)throw u}}}(d);var b=!0,E=!1,v=void 0;try{for(var x,D=d[Symbol.iterator]();!(b=(x=D.next()).done);b=!0){var A=r[x.value][y];if(A){var S=!0,C=!1,T=void 0;try{for(var w,_=A[Symbol.iterator]();!(S=(w=_.next()).done);S=!0){var F=w.value;r[F]&&h.push.apply(h,t(r[F][n]))}}catch(e){C=!0,T=e}finally{try{!S&&_.return&&_.return()}finally{if(C)throw T}}}}}catch(e){E=!0,v=e}finally{try{!b&&D.return&&D.return()}finally{if(E)throw v}}var k=new Set(h),P=[].concat(t(k));if(P.length>0){var I=P.join(",");s[l][y]=I,s.hasOwnProperty(I)||a.unshift(P)}}}catch(e){f=!0,p=e}finally{try{!c&&g.return&&g.return()}finally{if(f)throw p}}}return this._transitionTable=this._remapStateNumbers(s)}},{key:"_remapStateNumbers",value:function(e){var t={};this._originalTransitionTable=e;var r={};for(var n in Object.keys(e).forEach(function(e,r){t[e]=r+1}),e){var u=e[n],a={};for(var i in u)a[i]=t[u[i]];r[t[n]]=a}this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._acceptingStateNumbers=new Set;var o=!0,s=!1,d=void 0;try{for(var l,c=this._originalAcceptingStateNumbers[Symbol.iterator]();!(o=(l=c.next()).done);o=!0){var f=l.value;this._acceptingStateNumbers.add(t[f])}}catch(e){s=!0,d=e}finally{try{!o&&c.return&&c.return()}finally{if(s)throw d}}return r}},{key:"getOriginalTransitionTable",value:function(){return this._originalTransitionTable||this.getTransitionTable(),this._originalTransitionTable}},{key:"matches",value:function(e){for(var t=1,r=0,n=this.getTransitionTable();e[r];)if(!(t=n[t][e[r++]]))return!1;return!!this.getAcceptingStateNumbers().has(t)}}]),u}()}(),r=function(){if(e$)return eM;e$=1;var e=aR(),t=aq(),r=t.alt,n=t.char,u=t.or,a=t.rep,i=t.plusRep,o=t.questionRep;function s(e){if(e&&!d[e.type])throw Error(e.type+" is not supported in NFA/DFA interpreter.");return e?d[e.type](e):""}var d={RegExp:function(e){if(""!==e.flags)throw Error("NFA/DFA: Flags are not supported yet.");return s(e.body)},Alternative:function(e){var t=(e.expressions||[]).map(s);return r.apply(void 0,function(e){if(!Array.isArray(e))return Array.from(e);for(var t=0,r=Array(e.length);t<e.length;t++)r[t]=e[t];return r}(t))},Disjunction:function(e){return u(s(e.left),s(e.right))},Repetition:function(e){switch(e.quantifier.kind){case"*":return a(s(e.expression));case"+":return i(s(e.expression));case"?":return o(s(e.expression));default:throw Error("Unknown repeatition: "+e.quantifier.kind+".")}},Char:function(e){if("simple"!==e.kind)throw Error("NFA/DFA: Only simple chars are supported yet.");return n(e.value)},Group:function(e){return s(e.expression)}};return eM={build:function(t){var r=t;return t instanceof RegExp&&(t=""+t),"string"==typeof t&&(r=e.parse(t,{captureLocations:!0})),s(r)}}}();return eU={NFA:e,DFA:t,builders:aq(),toNFA:function(e){return r.build(e)},toDFA:function(e){return new t(this.toNFA(e))},test:function(e,t){return this.toDFA(e).matches(t)}}}(),o=function(){if(eW)return ez;eW=1;var e=function(){function e(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,"value"in n&&(n.writable=!0),Object.defineProperty(e,n.key,n)}}return function(t,r,n){return r&&e(t.prototype,r),n&&e(t,n),t}}();return ez={RegExpTree:function(){function t(e,r){var n=r.flags,u=r.groups,a=r.source;if(!(this instanceof t))throw TypeError("Cannot call a class as a function");this._re=e,this._groups=u,this.flags=n,this.source=a||e.source,this.dotAll=n.includes("s"),this.global=e.global,this.ignoreCase=e.ignoreCase,this.multiline=e.multiline,this.sticky=e.sticky,this.unicode=e.unicode}return e(t,[{key:"test",value:function(e){return this._re.test(e)}},{key:"compile",value:function(e){return this._re.compile(e)}},{key:"toString",value:function(){return this._toStringResult||(this._toStringResult="/"+this.source+"/"+this.flags),this._toStringResult}},{key:"exec",value:function(e){var t=this._re.exec(e);if(!this._groups||!t)return t;for(var r in t.groups={},this._groups){var n=this._groups[r];t.groups[r]=t[n]}return t}}]),t}()}}().RegExpTree;return eY={parser:n,fa:i,TransformResult:u.TransformResult,parse:function(e,t){return n.parse(""+e,t)},traverse:function(e,t,r){return a.traverse(e,t,r)},transform:function(e,t){return u.transform(e,t)},generate:function(e){return t.generate(e)},toRegExp:function(e){var t=this.compatTranspile(e);return new RegExp(t.getSource(),t.getFlags())},optimize:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},u=n.blacklist;return r.optimize(e,{whitelist:t,blacklist:u})},compatTranspile:function(t,r){return e.transform(t,r)},exec:function(e,t){if("string"==typeof e){var r=this.compatTranspile(e),n=r.getExtra();e=n.namedCapturingGroups?new o(r.toRegExp(),{flags:r.getFlags(),source:r.getSource(),groups:n.namedCapturingGroups}):r.toRegExp()}return e.exec(t)}}}()));const aW="better-regex",aY="better-regex/parse-error",aV={create:e=>{let{sortCharacterClasses:t}=e.options[0]||{},r=[];return!1===t&&r.push("charClassClassrangesMerge"),{Literal(e){if(!rS(e))return;let{raw:t,regex:n}=e;if(n.flags.includes("u")||n.flags.includes("v"))return;let u=t;try{u=az.optimize(t,void 0,{blacklist:r}).toString()}catch(r){return{node:e,messageId:aY,data:{original:t,error:r.message}}}if(t===u)return;let a={node:e,messageId:aW,data:{original:t,optimized:u}};return"MemberExpression"!==e.parent.type||e.parent.object!==e||e.parent.optional||e.parent.computed||"Identifier"!==e.parent.property.type||"toString"!==e.parent.property.name&&"source"!==e.parent.property.name?Object.assign(a,{fix:t=>t.replaceText(e,u)}):a},NewExpression(e){if(!rF(e,{name:"RegExp",minimumArguments:1}))return;let[t,r]=e.arguments;if(!rD(t))return;let n=t.value,u=aB(n,rD(r)?r.value:"");if(n!==u)return{node:e,messageId:aW,data:{original:n,optimized:u},fix:e=>e.replaceText(t,rH(u,t.raw.charAt(0)))}}}},meta:{type:"suggestion",docs:{description:"Improve regexes by making them shorter, consistent, and safer.",recommended:!1},fixable:"code",schema:[{type:"object",additionalProperties:!1,properties:{sortCharacterClasses:{type:"boolean"}}}],defaultOptions:[{sortCharacterClasses:!0}],messages:{[aW]:"{{original}} can be optimized to {{optimized}}.",[aY]:"Problem parsing {{original}}: {{error}}"}}},aZ="escape-uppercase",aG="escape-lowercase",aK=/(?<=(?:^|[^\\])(?:\\\\)*\\)(?<data>x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u{[\dA-Fa-f]+})/g,aH=/(?<=(?:^|[^\\])(?:\\\\)*\\)(?<data>x[\dA-Fa-f]{2}|u[\dA-Fa-f]{4}|u{[\dA-Fa-f]+}|c[A-Za-z])/g,aX=({node:e,original:t,regex:r=aK,lowercase:n,fix:u})=>{let a=t.replace(r,e=>e[0]+e.slice(1)[n?"toLowerCase":"toUpperCase"]());if(a!==t)return{node:e,messageId:n?aG:aZ,fix:t=>u?u(t,a):t.replaceText(e,a)}},aJ="no-hex-escape";function aQ(e,t,r){let n=r.replaceAll(/(?<=(?:^|[^\\])(?:\\\\)*\\)x/g,"u00");if(r!==n)return{node:t,messageId:aJ,fix:e=>"TemplateElement"===t.type?n8(e,t,n):e.replaceText(t,n)}}const a0=["hasOwnProperty","isPrototypeOf","propertyIsEnumerable","toLocaleString","toString","valueOf"],a1=["Error","EvalError","RangeError","ReferenceError","SyntaxError","TypeError","URIError","AggregateError","SuppressedError"],a3="missing-message",a2="message-is-empty-string",a4="message-is-not-a-string",a5=new Map([["AggregateError",1],["SuppressedError",2]]),a8=["Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float16Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array"],a6=e=>"instanceof"===e.value&&"Keyword"===e.type,a9="no-instanceof-builtins",a7="switch-to-type-of",ie=new Set(["String","Number","Boolean","BigInt","Symbol"]),it=[...a1,"Map","Set","WeakMap","WeakRef","WeakSet","ArrayBuffer",...a8,"Object","RegExp","Promise","Proxy","DataView","Date","SharedArrayBuffer","FinalizationRegistry"],ir=(e,t)=>function*(r){let{left:n,right:u}=e,a=nn(t,e),i=a.getTokenAfter(n,a6),{sourceCode:o}=t,s=o.getAncestors(e).findLast(e=>"VExpressionContainer"===e.type),d=s?'"'===o.getText(s)[0]?"'":'"':"'";yield*n1(r,e,o);let l=rE(n,a);yield r.insertTextBeforeRange(l,"typeof "),yield r.replaceText(i,"===");let c=rE(u,a);yield r.replaceTextRange(c,d+o.getText(u).toLowerCase()+d)},iu={create:nS(e=>{let{useErrorIsError:t=!1,strategy:r="loose",include:n=[],exclude:u=[]}=e.options[0]??{},a=new Set("strict"===r?[...it,...n]:n);return{BinaryExpression(r){let{right:n,operator:i}=r;if("Identifier"!==n.type||"instanceof"!==i||u.includes(n.name))return;let o=n.name,s={node:r,messageId:a9};if("Array"===o||"Error"===o&&t){let t="Array"===o?"Array.isArray":"Error.isError";return s.fix=function*(n){let{left:u,right:a}=r,i=nn(e,r),o=i.getTokenAfter(u,a6),{sourceCode:s}=e;yield*n1(n,r,s);let d=rE(u,i);yield n.insertTextBeforeRange(d,t+"("),yield n.insertTextAfterRange(d,")"),yield*n7(o,"",n,s,i),yield*n7(a,"",n,s,i)},s}return"Function"===o?(s.fix=ir(r,e),s):ie.has(o)?(s.suggest=[{messageId:a7,data:{type:o.toLowerCase()},fix:ir(r,e)}],s):a.has(o)?s:void 0}}}),meta:{type:"problem",docs:{description:"Disallow `instanceof` with built-in objects",recommended:"unopinionated"},fixable:"code",schema:[{type:"object",properties:{useErrorIsError:{type:"boolean"},strategy:{enum:["loose","strict"]},include:{type:"array",items:{type:"string"}},exclude:{type:"array",items:{type:"string"}}},additionalProperties:!1}],defaultOptions:[{useErrorIsError:!1,strategy:"loose",include:[],exclude:[]}],hasSuggestions:!0,messages:{[a9]:"Avoid using `instanceof` for type checking as it can lead to unreliable results.",[a7]:"Switch to `typeof … === '{{type}}'`."}}},ia="prefer-type-error",ii=new Set(["isArguments","isArray","isArrayBuffer","isArrayLike","isArrayLikeObject","isBigInt","isBoolean","isBuffer","isDate","isElement","isError","isFinite","isFunction","isInteger","isLength","isMap","isNaN","isNative","isNil","isNull","isNumber","isObject","isObjectLike","isPlainObject","isPrototypeOf","isRegExp","isSafeInteger","isSet","isString","isSymbol","isTypedArray","isUndefined","isView","isWeakMap","isWeakSet","isWindow","isXMLDoc"]),io=new Set(["isNaN","isFinite"]),is=(e,t,r)=>void 0!==t&&t.arguments.length>0&&"Identifier"===e.type&&(!0===r&&ii.has(e.name)||!1===r&&io.has(e.name)),id=(e,t)=>!!is(e.property,t,!0)||"MemberExpression"===e.object.type&&id(e.object,t),il=/^(?:[A-Z][\da-z]*)*Error$/,ic=(e,t)=>{switch(e.type){case"Identifier":return is(e,t,!1);case"MemberExpression":return id(e,t);case"CallExpression":return ic(e.callee,e);case"UnaryExpression":return"typeof"===e.operator||"!"===e.operator&&ic(e.argument);case"BinaryExpression":{let{operator:r,left:n,right:u}=e;if("instanceof"===r)return!("Identifier"===u.type?il.test(u.name):"MemberExpression"===u.type&&!u.optional&&!u.computed&&"Identifier"===u.property.type&&il.test(u.property.name));return ic(n,t)||ic(u,t)}case"LogicalExpression":return ic(e.left,t)&&ic(e.right,t);default:return!1}},ip="consistentDestructuring",im="consistentDestructuringSuggest",ig=["Object","Array","ArrayBuffer","DataView","Date","Error","Function","Map","WeakMap","Set","WeakSet","Promise","RegExp","SharedArrayBuffer","Proxy","WeakRef","FinalizationRegistry",...a8],iy=["BigInt","Boolean","Number","String","Symbol"],ih="error-date",ib="suggestion-date",iE="error/array-push",iv="suggestion",ix=e=>rN(e,{property:"classList",optional:!1,computed:!1}),iD=[{description:"Array#push()",test:e=>rL(e,{method:"push",optionalCall:!1,optionalMember:!1}),ignore:["stream.push","this.push","this.stream.push","process.stdin.push","process.stdout.push","process.stderr.push"]},{description:"Element#classList.add()",test:e=>rL(e,{method:"add",optionalCall:!1,optionalMember:!1})&&ix(e.callee.object)},{description:"Element#classList.remove()",test:e=>rL(e,{method:"remove",optionalCall:!1,optionalMember:!1})&&ix(e.callee.object)},{description:"importScripts()",test:e=>r_(e,{name:"importScripts",optional:!1})}].map(e=>({...e,test:t=>e.test(t)&&t?.parent.type==="ExpressionStatement"&&t.parent.expression===t})),iA={create:function(e){let{ignore:t}={ignore:[],...e.options[0]},{sourceCode:r}=e;return{*CallExpression(e){for(let{description:n,test:u,ignore:a=[]}of iD){if(!u(e))continue;let i=[...a,...t];if(r$(e.callee,i))continue;let o=function(e,t){let{parent:r}=e;for(let n of t.visitorKeys[r.type]||Object.keys(r)){let t=r[n];if(t===e)return;if(Array.isArray(t)){let r=t.indexOf(e);if(-1!==r)return t[r-1]}}}(e.parent,r)?.expression;if(!u(o)||!nf(o.callee,e.callee))continue;let s=e.arguments,d={node:"Identifier"===e.callee.type?e.callee:e.callee.property,messageId:iE,data:{description:n}},l=function*(t){if(s.length>0){let n=function(e,t){let{openingParenthesisToken:r,closingParenthesisToken:n}=nt(e,t),[,u]=e.getRange(r),[a]=e.getRange(n);return e.text.slice(u,a)}(r,e),{trailingCommaToken:u,closingParenthesisToken:a}=nt(r,o);yield u?t.insertTextAfter(u,` ${n}`):t.insertTextBefore(a,o.arguments.length>0?`, ${n}`:n)}let n=o.parent,u=e.parent,a=!tW(r.getLastToken(n))&&tW(r.getLastToken(u)),[,i]=r.getRange(n),[,d]=r.getRange(u);yield t.replaceTextRange([i,d],a?";":"")};s.some(e=>ru(e,r))?d.suggest=[{messageId:iv,fix:l}]:d.fix=l,yield d}}}},meta:{type:"suggestion",docs:{description:"Enforce combining multiple `Array#push()`, `Element#classList.{add,remove}()`, and `importScripts()` into one call.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,schema:[{type:"object",additionalProperties:!1,properties:{ignore:{type:"array",uniqueItems:!0}}}],defaultOptions:[{}],messages:{[iE]:"Do not call `{{description}}` multiple times.",[iv]:"Merge with previous one."}}},iS="no-process-exit",iC=e=>rx(e,"node:worker_threads")||rx(e,"worker_threads"),iT="no-single-promise-in-promise-methods/error",iw="no-single-promise-in-promise-methods/unwrap",i_="no-single-promise-in-promise-methods/use-promise-resolve",iF=["all","any","race"];function ik(e,{test:t,expected:r,ruleId:n}){if(t?.(e)||(r=(r=Array.isArray(r)?r:[r]).map(e=>"string"==typeof e?{value:e}:e),!t&&r.some(t=>Object.entries(t).every(([t,r])=>e[t]===r))))return;let u=`'${JSON.stringify({value:e.value,type:e.type})}'`;r=r.map(e=>`'${JSON.stringify(e)}'`).join(" or ");let a=`\`${n}\`: Unexpected token ${u}`,i=`https://github.com/sindresorhus/eslint-plugin-unicorn/issues/new?title=${encodeURIComponent(a)}`;throw Error(`Expected token ${r}, got ${u}.
|
|
4
4
|
Please open an issue at ${i}.`)}const iP="no-static-only-class",iI=({type:e,value:t})=>"Punctuator"===e&&"="===t,iB=e=>"PropertyDefinition"===e.type,iO="no-unreadable-array-destructuring",iR="spread-in-list",iN="iterable-to-array",iL="iterable-to-array-in-for-of",ij="iterable-to-array-in-yield-star",iM="clone-array",i$=e=>"ArrayExpression"===e.type&&1===e.elements.length&&e.elements[0]?.type==="SpreadElement",iU={ArrayExpression:"array literal",ObjectExpression:"object literal",CallExpression:"arguments",NewExpression:"arguments"};function*iq(e,t,r){let[n,u,a]=r.getFirstTokens(t,3);yield e.remove(n),yield e.remove(u);let[i,o]=r.getLastTokens(t,2);yield e.remove(o),tz(i)&&(yield e.remove(i));let{parent:s}=t;if(("ReturnStatement"===s.type||"ThrowStatement"===s.type)&&s.argument===t&&!nd(n,a)&&!ra(t,r))return void(yield*nX(e,s,r));yield*n1(e,t,r)}const iz="no-useless-switch-case/error",iW="no-useless-switch-case/suggestion",iY=e=>e.consequent.every(e=>rI(e)),iV="no-useless-undefined",iZ=new Set(["is","equal","notEqual","strictEqual","notStrictEqual","propertyVal","notPropertyVal","not","include","property","toBe","toHaveBeenCalledWith","toContain","toContainEqual","toEqual","same","notSame","strictSame","strictNotSame"]),iG={create:e=>{let{sourceCode:t}=e,r=(e,r,n)=>{if(n){let r=(e=>{for(;e;e=e.upper)if("function"===e.type)return e.block})(t.getScope(e));if(r?.returnType)return}return{node:e,messageId:iV,fix:r}},n={checkArguments:!0,checkArrowFunctionBody:!0,...e.options[0]},u=(e,r)=>n7(e,"",r,t);e.on("Identifier",e=>{if(rq(e)&&"ReturnStatement"===e.parent.type&&e.parent.argument===e)return r(e,t=>u(e,t),!0)}),e.on("Identifier",e=>{if(rq(e)&&"YieldExpression"===e.parent.type&&!e.parent.delegate&&e.parent.argument===e)return r(e,t=>u(e,t))}),n.checkArrowFunctionBody&&e.on("Identifier",e=>{if(rq(e)&&"ArrowFunctionExpression"===e.parent.type&&e.parent.body===e)return r(e,r=>n7(e," {}",r,t),!0)}),e.on("Identifier",e=>{if(rq(e)&&"VariableDeclarator"===e.parent.type&&e.parent.init===e&&"VariableDeclaration"===e.parent.parent.type&&"const"!==e.parent.parent.kind&&e.parent.parent.declarations.includes(e.parent)){let[,n]=t.getRange(e.parent.id),[,u]=t.getRange(e);return r(e,e=>e.removeRange([n,u]),!0)}}),e.on("Identifier",n=>{if(rq(n)&&"AssignmentPattern"===n.parent.type&&n.parent.right===n)return r(n,function*(r){let u=n.parent,{left:a}=u,[,i]=t.getRange(a),[,o]=t.getRange(n);yield r.removeRange([i,o]),(a.typeAnnotation||/\.(?:ts|mts|cts|tsx)$/i.test(e.physicalFilename))&&!a.optional&&rR(u.parent)&&u.parent.params.includes(u)&&(yield a.typeAnnotation?r.insertTextBefore(a.typeAnnotation,"?"):r.insertTextAfter(a,"?"))},!0)}),n.checkArguments&&e.on("CallExpression",e=>{var r;let n;if("Identifier"===(r=e.callee).type?n=r.name:"MemberExpression"===r.type&&!1===r.computed&&"Identifier"===r.property.type&&(n=r.property.name),iZ.has(n)||"push"===n||"unshift"===n||"includes"===n||"add"===n||"has"===n||"delete"===n||"set"===n||"createContext"===n||/^set[A-Z]/.test(n)||"useRef"===n||"ref"===n)return;let u=e.arguments;if(!e.optional&&"MemberExpression"===e.callee.type&&!e.callee.computed&&"Identifier"===e.callee.property.type&&"bind"===e.callee.property.name&&1!==u.length)return;let a=[];for(let e=u.length-1;e>=0;e--){let t=u[e];if(rq(t))a.unshift(t);else break}if(0===a.length)return;let i=a[0],o=a.at(-1);return{messageId:iV,loc:{start:t.getLoc(i).start,end:t.getLoc(o).end},fix(e){let[r]=t.getRange(i),[,n]=t.getRange(o),s=u[u.length-a.length-1];if(s)[,r]=t.getRange(s);else{let e=t.getTokenAfter(o);tz(e)&&([,n]=t.getRange(e))}return e.removeRange([r,n])}}})},meta:{type:"suggestion",docs:{description:"Disallow useless `undefined`.",recommended:"unopinionated"},fixable:"code",schema:[{type:"object",additionalProperties:!1,properties:{checkArguments:{type:"boolean"},checkArrowFunctionBody:{type:"boolean"}}}],defaultOptions:[{}],messages:{[iV]:"Do not use useless `undefined`."}}},iK="numeric-separators-style";function iH(e,{minimumDigits:t,groupLength:r},n){let{length:u}=e;if(u<t)return e;let a=[];if(n)for(let t=0;t<u;t+=r){let n=Math.min(t+r,u);a.push(e.slice(t,n))}else for(let t=u;t>0;t-=r){let n=Math.max(t-r,0);a.unshift(e.slice(n,t))}return a.join("_")}const iX={binary:{minimumDigits:0,groupLength:4},octal:{minimumDigits:0,groupLength:4},hexadecimal:{minimumDigits:0,groupLength:2},number:{minimumDigits:5,groupLength:3}},iJ={create:e=>{let{onlyIfContainsSeparator:t,binary:r,octal:n,hexadecimal:u,number:a}={onlyIfContainsSeparator:!1,...e.options[0]},i={"0b":{onlyIfContainsSeparator:t,...iX.binary,...r},"0o":{onlyIfContainsSeparator:t,...iX.octal,...n},"0x":{onlyIfContainsSeparator:t,...iX.hexadecimal,...u},"":{onlyIfContainsSeparator:t,...iX.number,...a}};return{Literal(e){let t,r;if(!(rA(e)||rT(e))||rA(e)&&/^0\d+$/.test(e.raw))return;let{raw:n}=e,u=n,a="";rT(e)&&(u=n.slice(0,-1),a="n");let o=u.replaceAll("_",""),{prefix:s,data:d}=(t="",r=o,/^0[box]/i.test(o)&&(t=o.slice(0,2),r=o.slice(2)),{prefix:t,data:r}),{onlyIfContainsSeparator:l}=i[s.toLowerCase()];if(l&&!n.includes("_"))return;let c=function(e,{prefix:t,data:r},n){let u=n[t.toLowerCase()];if(t)return t+iH(r,u);let{number:a,mark:i,sign:o,power:s}=function(e){let{number:t,mark:r="",sign:n="",power:u=""}=e.match(/^(?<number>[\d._]*?)(?:(?<mark>[Ee])(?<sign>[+-])?(?<power>[\d_]+))?$/).groups;return{number:t,mark:r,sign:n,power:u}}(e);return function(e,t){let{integer:r,dot:n,fractional:u}=function(e){let t=e.split("."),[r,n=""]=t;return{integer:r,dot:2===t.length?".":"",fractional:n}}(e);return iH(r,t)+n+iH(u,t,!0)}(a,u)+i+o+iH(s,n[""])}(o,{prefix:s,data:d},i)+a;if(n!==c)return{node:e,messageId:iK,fix:t=>t.replaceText(e,c)}}}},meta:{type:"suggestion",docs:{description:"Enforce the style of numeric separators by correctly grouping digits.",recommended:"unopinionated"},fixable:"code",schema:[{type:"object",additionalProperties:!1,properties:{...Object.fromEntries(Object.entries(iX).map(([e])=>[e,{type:"object",additionalProperties:!1,properties:{onlyIfContainsSeparator:{type:"boolean"},minimumDigits:{type:"integer",minimum:0},groupLength:{type:"integer",minimum:1}}}])),onlyIfContainsSeparator:{type:"boolean"}}}],defaultOptions:[{onlyIfContainsSeparator:!1,binary:iX.binary,octal:iX.octal,hexadecimal:iX.hexadecimal,number:iX.number}],messages:{[iK]:"Invalid group length in numeric value."}}},iQ="error-zero-index",i0="error-shift",i1="error-pop",i3="error-at-zero",i2="error-at-minus-one",i4="error-destructuring-declaration",i5="error-destructuring-assignment",i8="error-variable",i6="suggest-nullish-coalescing-operator",i9="suggest-logical-or-operator",i7=(e,t)=>rL(e,{method:"filter",minimumArguments:1,maximumArguments:2,optionalCall:!1,...t}),oe=e=>e?"AssignmentExpression"===e.type?e:"VariableDeclarator"===e.type?{left:e.id,right:e.init}:{}:{};function*ot(e,t,r){let{left:n}=oe(e),[u]=n.elements,a=t.getText("AssignmentPattern"===u.type?u.left:u);yield r.replaceText(n,a),((e,t)=>{if("AssignmentExpression"!==e.type||ra(e,t))return!1;let{left:r}=oe(e),[n]=r.elements,{type:u}="AssignmentPattern"===n.type?n.left:n;return"ObjectExpression"===u||"ObjectPattern"===u})(e,t)&&(yield r.insertTextBefore(e,"("),yield r.insertTextAfter(e,")"))}const or=e=>"AssignmentPattern"===oe(e).left.elements[0].type,on=(e,t)=>{let r,n,{property:u}=oe(t).right.callee;return or(t)?r=[{operator:"??",messageId:i6},{operator:"||",messageId:i9}].map(({messageId:r,operator:n})=>({messageId:r,*fix(r){yield r.replaceText(u,"find"),yield((e,t,r,n)=>{let{left:u,right:a}=oe(e),[i]=u.elements,o=i.right,s=t.getText(o);return(ra(o,t)||"LogicalExpression"===o.type&&(o.operator===n||"||"===n&&"??"===o.operator||"??"===n&&("||"===o.operator||"&&"===o.operator))||"ConditionalExpression"===o.type||"AssignmentExpression"===o.type||"YieldExpression"===o.type||"SequenceExpression"===o.type)&&(s=`(${s})`),r.insertTextAfter(a,` ${n} ${s}`)})(t,e,r,n),yield*ot(t,e,r)}})):n=function*(r){yield r.replaceText(u,"find"),yield*ot(t,e,r)},{fix:n,suggest:r}},ou=e=>"MemberExpression"===e.parent.type&&!0===e.parent.computed&&e.parent.object===e&&"Literal"===e.parent.property.type&&"0"===e.parent.property.raw,oa=e=>{let{left:t,right:r}=oe(e.parent);return t&&r&&r===e&&"ArrayPattern"===t.type&&1===t.elements.length&&t.elements[0]&&"RestElement"!==t.elements[0].type},oi={create:e=>{let{sourceCode:t}=e,{checkFromLast:r}={checkFromLast:!0,...e.options[0]};e.on("MemberExpression",e=>{if(e.computed&&"Literal"===e.property.type&&"0"===e.property.raw&&i7(e.object)&&!ni(e))return{node:e.object.callee.property,messageId:iQ,fix:r=>[r.replaceText(e.object.callee.property,"find"),n4(r,e,t)]}}),e.on("CallExpression",e=>{if(rL(e,{method:"shift",argumentsLength:0,optionalCall:!1,optionalMember:!1})&&i7(e.callee.object))return{node:e.callee.object.callee.property,messageId:i0,fix:r=>[r.replaceText(e.callee.object.callee.property,"find"),...n5(r,e,t)]}}),e.on("VariableDeclarator",e=>{if("ArrayPattern"===e.id.type&&1===e.id.elements.length&&e.id.elements[0]&&"RestElement"!==e.id.elements[0].type&&i7(e.init,{optionalMember:!1}))return{node:e.init.callee.property,messageId:i4,...on(t,e)}}),e.on("AssignmentExpression",e=>{if("ArrayPattern"===e.left.type&&1===e.left.elements.length&&e.left.elements[0]&&"RestElement"!==e.left.elements[0].type&&i7(e.right,{optionalMember:!1}))return{node:e.right.callee.property,messageId:i5,...on(t,e)}}),e.on("VariableDeclarator",e=>{if(!("Identifier"===e.id.type&&i7(e.init,{optionalMember:!1})&&"VariableDeclaration"===e.parent.type&&e.parent.declarations.includes(e)&&("ExportNamedDeclaration"!==e.parent.parent.type||e.parent.parent.declaration!==e.parent)))return;let r=t.getScope(e),n=t$(r,e.id),u=nu(n).filter(t=>t!==e.id);if(0===u.length)return;let a=[],i=[];for(let e of u)if(ou(e))a.push(e.parent);else{if(!oa(e))return;i.push(e.parent)}let o={node:e.init.callee.property,messageId:i8};return i.some(e=>or(e))||(o.fix=function*(u){yield u.replaceText(e.init.callee.property,"find");let o=(e=>{let t=nP.singular(e);if(t!==e)return t})(e.id.name);if(o){let e=ne(o,r1(r));yield*n9(n,e,u),yield*function*(e,t){yield e.insertTextBeforeRange(t,""),yield e.insertTextAfterRange(t,"")}(u,t.getRange(t.ast))}for(let e of a)yield n4(u,e,t);for(let e of i)yield*ot(e,t,u)}),o}),e.on("CallExpression",e=>{if(rL(e,{method:"at",argumentsLength:1,optionalCall:!1,optionalMember:!1})&&"Literal"===e.arguments[0].type&&"0"===e.arguments[0].raw&&i7(e.callee.object))return{node:e.callee.object.callee.property,messageId:i3,fix:r=>[r.replaceText(e.callee.object.callee.property,"find"),...n5(r,e,t)]}}),r&&(e.on("CallExpression",e=>{if(rL(e,{method:"pop",argumentsLength:0,optionalCall:!1,optionalMember:!1})&&i7(e.callee.object))return{node:e.callee.object.callee.property,messageId:i1,fix:r=>[r.replaceText(e.callee.object.callee.property,"findLast"),...n5(r,e,t)]}}),e.on("CallExpression",e=>{if(rL(e,{method:"at",argumentsLength:1,optionalCall:!1,optionalMember:!1})&&"UnaryExpression"===e.arguments[0].type&&"-"===e.arguments[0].operator&&e.arguments[0].prefix&&"Literal"===e.arguments[0].argument.type&&"1"===e.arguments[0].argument.raw&&i7(e.callee.object))return{node:e.callee.object.callee.property,messageId:i2,fix:r=>[r.replaceText(e.callee.object.callee.property,"findLast"),...n5(r,e,t)]}}))},meta:{type:"suggestion",docs:{description:"Prefer `.find(…)` and `.findLast(…)` over the first or last element from `.filter(…)`.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,schema:[{type:"object",additionalProperties:!1,properties:{checkFromLast:{type:"boolean"}}}],defaultOptions:[{checkFromLast:!0}],messages:{[i8]:"Prefer `.find(…)` over `.filter(…)`.",[iQ]:"Prefer `.find(…)` over `.filter(…)[0]`.",[i3]:"Prefer `.find(…)` over `.filter(…).at(0)`.",[i0]:"Prefer `.find(…)` over `.filter(…).shift()`.",[i1]:"Prefer `.findLast(…)` over `.filter(…).pop()`.",[i2]:"Prefer `.findLast(…)` over `.filter(…).at(-1)`.",[i4]:"Prefer `.find(…)` over destructuring `.filter(…)`.",[i5]:"Prefer `.find(…)` over destructuring `.filter(…)`.",[i6]:"Replace `.filter(…)` with `.find(…) ?? …`.",[i9]:"Replace `.filter(…)` with `.find(…) || …`."}}},oo="prefer-array-flat-map",os=["React.Children","Children"],od="prefer-array-flat",ol=e=>"ArrayExpression"===e.type&&0===e.elements.length,oc={testFunction(e){if(!rL(e,{method:"flatMap",argumentsLength:1,optionalCall:!1}))return!1;let[t]=e.arguments;return"ArrowFunctionExpression"===t.type&&!t.async&&1===t.params.length&&nl(t.params[0],t.body)},getArrayNode:e=>e.callee.object,isOptionalArray:e=>e.callee.optional,description:"Array#flatMap()"},of={testFunction(e){if(!rL(e,{method:"reduce",argumentsLength:2,optionalCall:!1}))return!1;let[t,r]=e.arguments;if(!("ArrowFunctionExpression"===t.type&&!t.async&&2===t.params.length&&ol(r)))return!1;let n=t.body,[u,a]=t.params;return rL(n,{method:"concat",argumentsLength:1,optionalCall:!1,optionalMember:!1})&&nl(u,n.callee.object)&&nl(a,n.arguments[0])||"ArrayExpression"===n.type&&2===n.elements.length&&n.elements.every((e,r)=>e?.type==="SpreadElement"&&"Identifier"===e.argument.type&&nl(t.params[r],e.argument))},getArrayNode:e=>e.callee.object,isOptionalArray:e=>e.callee.optional,description:"Array#reduce()"},op={testFunction:e=>rL(e,{method:"concat",argumentsLength:1,allowSpreadElement:!0,optionalCall:!1,optionalMember:!1})&&ol(e.callee.object),getArrayNode(e){let t=e.arguments[0];return"SpreadElement"===t.type?t.argument:t},description:"[].concat()",shouldSwitchToArray:e=>"SpreadElement"!==e.arguments[0].type},om={testFunction(e){if(!(rL(e,{methods:["apply","call"],argumentsLength:2,allowSpreadElement:!0,optionalCall:!1,optionalMember:!1})&&rz(e.callee.object,{property:"concat"})))return!1;let[t,r]=e.arguments;return ol(t)&&("call"===e.callee.property.name||"SpreadElement"!==r.type)},getArrayNode(e){let t=e.arguments[1];return"SpreadElement"===t.type?t.argument:t},description:"Array.prototype.concat()",shouldSwitchToArray:e=>"SpreadElement"!==e.arguments[1].type&&"call"===e.callee.property.name},og=["_.flatten","lodash.flatten","underscore.flatten"],oy={create:function(e){let{functions:t}={functions:[],...e.options[0]},r=[...t,...og],n=[oc,of,op,om,{testFunction:e=>r_(e,{argumentsLength:1,optional:!1})&&r$(e.callee,r),getArrayNode:e=>e.arguments[0],description:e=>`${r.find(t=>rM(e.callee,t)).trim()}()`}];return{*CallExpression(t){for(let{testFunction:r,description:u,getArrayNode:a,shouldSwitchToArray:i,isOptionalArray:o}of n){if(!r(t))continue;let n=a(t),s=o?.(t),d={description:"string"==typeof u?u:u(t)},l={node:t,messageId:od,data:d},{sourceCode:c}=e;c.getCommentsInside(t).length===c.getCommentsInside(n).length&&(l.fix=function(e,t,r,n,u){return"function"==typeof n&&(n=n(e)),function*(a){let i=rv(t,r);n?i=`[${i}]`:!ra(t,r)&&n_(t,r)&&(i=`(${i})`),i=`${i}${u?"?":""}.flat()`,nh(r.getTokenBefore(e),r,i)&&(i=`;${i}`),yield a.replaceText(e,i),yield*n1(a,e,r)}}(t,n,c,i,s)),yield l}}}},meta:{type:"suggestion",docs:{description:"Prefer `Array#flat()` over legacy techniques to flatten arrays.",recommended:"unopinionated"},fixable:"code",schema:[{type:"object",additionalProperties:!1,properties:{functions:{type:"array",uniqueItems:!0}}}],defaultOptions:[{}],messages:{[od]:"Prefer `Array#flat()` over `{{description}}` to flatten an array."}}},oh="some",ob="some-suggestion",oE="filter",ov={create:nS(e=>{e.on("CallExpression",t=>{if(!rL(t,{methods:["find","findLast"],minimumArguments:1,maximumArguments:2,optionalCall:!1,optionalMember:!1}))return;let r="BinaryExpression"===t.parent.type&&t.parent.left===t&&(("!="===t.parent.operator||"=="===t.parent.operator||"==="===t.parent.operator||"!=="===t.parent.operator)&&rq(t.parent.right)||("!="===t.parent.operator||"=="===t.parent.operator)&&rx(t.parent.right,null));if(!r&&!rZ(t))return;let n=t.callee.property;return{node:n,messageId:oh,data:{method:n.name},suggest:[{messageId:ob,*fix(u){if(yield u.replaceText(n,"some"),!r)return;let{sourceCode:a}=e,i=rE(t,a);yield u.removeRange([i[1],a.getRange(t.parent)[1]]),"!="!==t.parent.operator&&"!=="!==t.parent.operator&&(yield u.insertTextBeforeRange(i,"!"))}}]}}),e.on("BinaryExpression",t=>{let{left:r,right:n,operator:u}=t;if(!(rL(r,{methods:["findIndex","findLastIndex"],argumentsLength:1,optionalCall:!1,optionalMember:!1})&&(["!==","!=",">","===","=="].includes(u)&&"UnaryExpression"===n.type&&"-"===n.operator&&n.argument&&"Literal"===n.argument.type&&1===n.argument.value||[">=","<"].includes(u)&&rx(n,0))))return;let a=r.callee.property;return{node:a,messageId:oh,data:{method:a.name},*fix(n){["===","==","<"].includes(u)&&(yield n.insertTextBefore(t,"!")),yield n.replaceText(a,"some");let{sourceCode:i}=e,o=i.getTokenAfter(r,e=>"Punctuator"===e.type&&e.value===u),[s]=i.getRange(o),[,d]=i.getRange(t);yield n.removeRange([s,d])}}}),e.on("BinaryExpression",t=>{if(!((">"===t.operator||"!=="===t.operator)&&"Literal"===t.right.type&&"0"===t.right.raw&&rN(t.left,{property:"length",optional:!1})&&rL(t.left.object,{method:"filter",optionalCall:!1,optionalMember:!1})))return;let r=t.left.object,[n]=r.arguments;if(!n||no.has(n.type)||ns.has(n.type)||rq(n)||r_(n)&&!rL(n,{method:"bind",optionalCall:!1,optionalMember:!1}))return;let u=r.callee.property;return{node:u,messageId:oE,*fix(r){yield r.replaceText(u,"some");let{sourceCode:n}=e,a=t.left;yield n4(r,a,n),yield r.removeRange([rE(a,n)[1],n.getRange(t)[1]])}}})}),meta:{type:"suggestion",docs:{description:"Prefer `.some(…)` over `.filter(…).length` check and `.{find,findLast,findIndex,findLastIndex}(…)`.",recommended:"unopinionated"},fixable:"code",messages:{[oh]:"Prefer `.some(…)` over `.{{method}}(…)`.",[ob]:"Replace `.{{method}}(…)` with `.some(…)`.",[oE]:"Prefer `.some(…)` over non-zero length check from `.filter(…)`."},hasSuggestions:!0}},ox="preferDefaultParameters",oD="preferDefaultParametersSuggest",oA=(e,t)=>{if(!t)return!1;if("CallExpression"===t.type)return!0;for(let r of e.visitorKeys[t.type]){let n=t[r];if(Array.isArray(n)){for(let t of n)if(oA(e,t))return!0}else if(oA(e,n))return!0}return!1},oS="prefer-logical-operator-over-ternary/error",oC="prefer-logical-operator-over-ternary/suggestion";function oT(e,t,r){if(nf(e,t))return!0;if(e.type!==t.type)return!1;switch(e.type){case"AwaitExpression":return oT(e.argument,t.argument,r);case"LogicalExpression":return e.operator===t.operator&&oT(e.left,t.left,r)&&oT(e.right,t.right,r);case"UnaryExpression":return e.operator===t.operator&&e.prefix===t.prefix&&oT(e.argument,t.argument,r);case"UpdateExpression":return!1}return r.getText(e)===r.getText(t)}function ow({sourceCode:e,conditionalExpression:t,left:r,right:n}){return{node:t,messageId:oS,suggest:["??","||"].map(u=>({messageId:oC,data:{operator:u},fix:a=>(function({fixer:e,sourceCode:t,conditionalExpression:r,left:n,right:u,operator:a}){let i=[n,u].map((e,r)=>{let n=ra(e,t),u=n?rv(e,t):t.getText(e);return!n&&function(e,{operator:t,property:r}){return("LogicalExpression"!==e.type||e.operator!==t)&&("AwaitExpression"===e.type||"BinaryExpression"===e.type||"LogicalExpression"===e.type||"ConditionalExpression"===e.type||"AssignmentExpression"===e.type||"ArrowFunctionExpression"===e.type||"YieldExpression"===e.type||"SequenceExpression"===e.type||!1)}(e,{operator:a,property:0===r?"left":"right"})&&(u=`(${u})`),u}).join(` ${a} `);return nh(t.getTokenBefore(r),t,i)&&(i=`;${i}`),e.replaceText(r,i)})({fixer:a,sourceCode:e,conditionalExpression:t,left:r,right:n,operator:u})}))}}const o_="with-name",oF="without-name",ok="regexp-exec",oP="string-match",oI="suggestion",oB=[{type:ok,test:e=>rL(e,{method:"exec",argumentsLength:1,optionalCall:!1,optionalMember:!1}),getNodes:e=>({stringNode:e.arguments[0],methodNode:e.callee.property,regexpNode:e.callee.object}),fix:(e,{methodNode:t})=>e.replaceText(t,"test")},{type:oP,test:e=>rL(e,{method:"match",argumentsLength:1,optionalCall:!1,optionalMember:!1}),getNodes:e=>({stringNode:e.callee.object,methodNode:e.callee.property,regexpNode:e.arguments[0]}),*fix(e,{stringNode:t,methodNode:r,regexpNode:n},u){yield e.replaceText(r,"test");let a=u.getText(t);ra(n,u)||"SequenceExpression"!==t.type||(a=`(${a})`),yield e.replaceText(n,a);let i=u.getText(n);!ra(t,u)&&n_(n,u)&&(i=`(${i})`),yield e.replaceText(t,i)}}],oO=e=>rS(e)||rF(e,{name:"RegExp"}),oR=(e,t)=>{if(rS(e))return!e.regex.flags.includes("g");let r=t8(e,t);if(!r)return!1;let{value:n}=r;return"[object RegExp]"===Object.prototype.toString.call(n)&&!n.global},oN={create:nS(e=>({*CallExpression(t){if(rZ(t))for(let{type:r,test:n,getNodes:u,fix:a}of oB){if(!n(t))continue;let i=u(t),{methodNode:o,regexpNode:s}=i;if("Literal"===s.type&&!s.regex)continue;let d={node:r===ok?o:t,messageId:r},{sourceCode:l}=e,c=e=>a(e,i,l);oO(s)||oR(s,l.getScope(s))?d.fix=c:d.suggest=[{messageId:oI,fix:c}],yield d}}})),meta:{type:"suggestion",docs:{description:"Prefer `RegExp#test()` over `String#match()` and `RegExp#exec()`.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,messages:{[ok]:"Prefer `.test(…)` over `.exec(…)`.",[oP]:"Prefer `RegExp#test(…)` over `String#match(…)`.",[oI]:"Switch to `RegExp#test(…)`."}}},oL="error",oj="suggestion",oM=["concat","copyWithin","fill","filter","flat","flatMap","map","reverse","slice","sort","splice","toReversed","toSorted","toSpliced","with"],o$=new Set(["ForOfStatement","ForStatement","ForInStatement","WhileStatement","DoWhileStatement","FunctionDeclaration","FunctionExpression","ArrowFunctionExpression"]),oU="prefer-string-raw",oq="prefer-switch",oz=(e,t)=>e===t||nf(e,t),oW=new Set(["WhileStatement","DoWhileStatement","ForStatement","ForOfStatement","ForInStatement","SwitchStatement"]),oY=e=>{for(;e.parent;e=e.parent)if(oW.has(e.type))return e},oV=(e,t)=>e.range[0]>=t.range[0]&&e.range[1]<=t.range[1],oZ={create:e=>{let t={minimumCases:3,emptyDefaultCase:"no-default-comment",...e.options[0]},{sourceCode:r}=e,n=new Set,u=[],a=new Set;return{IfStatement(e){n.add(e)},BreakStatement(e){e.label||u.push(e)},*"Program:exit"(){for(let e of n){if(a.has(e))continue;let{discriminant:n,ifStatements:i}=function(e){let t,r=[];for(;e&&"IfStatement"===e.type;e=e.alternate){let{test:n}=e,u=function(e){let t=[e],r=[];for(;t.length>0;){if("LogicalExpression"===(e=t.pop()).type&&"||"===e.operator){t.push(e.right,e.left);continue}if("BinaryExpression"!==e.type||"==="!==e.operator)return[];r.push(e)}return r}(n);if(0===u.length)break;if(!t){let[{left:e,right:r}]=u;t=[e,r]}let a=function(e,t){for(let{left:r,right:n}of e)if(0===(t=t.filter(e=>oz(e,r)||oz(e,n))).length)break;return t}(u,t);if(0===a.length)break;t=a,r.push({statement:e,compareExpressions:u})}return{ifStatements:r,discriminant:t&&t[0]}}(e);if(!n||i.length<t.minimumCases)continue;for(let{statement:e}of i)a.add(e);let o={loc:{start:r.getLoc(e).start,end:r.getLoc(e.consequent).start},messageId:oq};ru(n,r)||i.some(({statement:e})=>(function(e,t){for(let r of e){if(!oV(r,t))continue;let e=oY(r);if(!e||oV(t,e))return!0}return!1})(u,e))||(o.fix=function({discriminant:e,ifStatements:t},r,n){let u=r.getText(e);return function*(a){let i=t[0].statement,o=nr(i,r);yield a.insertTextBefore(i,`switch (${u}) {`);let s=t.at(-1).statement;if(s.alternate){let{alternate:e}=s;yield a.insertTextBefore(e,`
|
|
@@ -17,6 +17,6 @@ ${r}}`))}(t,a,o))}}}({discriminant:n,ifStatements:i},r,t)),yield o}}}},meta:{typ
|
|
|
17
17
|
super();
|
|
18
18
|
this.name = '${r}';
|
|
19
19
|
}
|
|
20
|
-
`)});let s=o.value.body;if(!s)return;let d=s.body,l=d.find(e=>"ExpressionStatement"===e.type&&"CallExpression"===e.expression.type&&"Super"===e.expression.callee.type),c=d.findIndex(e=>sD(e,"message"));if(l){if(-1!==c){let e=d[c];yield{node:l,message:"Pass the error message to `super()` instead of setting `this.message`.",*fix(t){if(0===l.expression.arguments.length){let r=e.expression.right,[n]=u.getRange(l);yield t.insertTextAfterRange([n,n+6],r.raw||r.name)}let r=0===c?u.getRange(s)[0]:u.getRange(d[c-1])[1],[,n]=u.getRange(e);yield t.removeRange([r,n])}}}}else yield{node:s,message:"Missing call to `super()` in constructor."};let f=d.find(e=>sD(e,"name"));if(f)f.expression.right.value!==r&&(yield{node:f?.expression.right??s,message:`The \`name\` property should be set to \`${r}\`.`});else{let e=a.find(e=>"PropertyDefinition"===e.type&&!e.computed&&"Identifier"===e.key.type&&"name"===e.key.name);e?.value&&e.value.value===r||(yield{node:e?.value??s,message:`The \`name\` property should be set to \`${r}\`.`})}}const sS="no-lonely-if",sC=e=>"IfStatement"===e.type&&!e.alternate,sT=e=>"LogicalExpression"===e.type&&("||"===e.operator||"??"===e.operator)||"ConditionalExpression"===e.type||"AssignmentExpression"===e.type||"YieldExpression"===e.type||"SequenceExpression"===e.type;function sw(e,t){let r={};r.ifToken=t.getFirstToken(e),r.openingParenthesisToken=t.getFirstToken(e,1);let{consequent:n}=e;return r.closingParenthesisToken=t.getTokenBefore(n),"BlockStatement"===n.type&&(r.openingBraceToken=t.getFirstToken(n),r.closingBraceToken=t.getLastToken(n)),r}const s_="no-magic-array-flat-depth",sF="no-negated-condition",sk="identifier",sP="non-identifier",sI="prefer-negative-index",sB=new Map([["slice",{argumentsIndexes:[0,1],supportObjects:new Set(["Array","String","ArrayBuffer",...a8])}],["subarray",{argumentsIndexes:[0,1],supportObjects:new Set(a8)}],["splice",{argumentsIndexes:[0],supportObjects:new Set(["Array"])}],["toSpliced",{argumentsIndexes:[0],supportObjects:new Set(["Array"])}],["at",{argumentsIndexes:[0],supportObjects:new Set(["Array","String",...a8])}],["with",{argumentsIndexes:[0],supportObjects:new Set(["Array",...a8])}]]),sO=e=>{let{type:t,property:r}=e;if("MemberExpression"===t&&"Identifier"===r.type)return r.name};var sR=["node:assert","assert","node:assert/strict","assert/strict","node:async_hooks","async_hooks","node:buffer","buffer","node:child_process","child_process","node:cluster","cluster","node:console","console","node:constants","constants","node:crypto","crypto","node:dgram","dgram","node:diagnostics_channel","diagnostics_channel","node:dns","dns","node:dns/promises","dns/promises","node:domain","domain","node:events","events","node:fs","fs","node:fs/promises","fs/promises","node:http","http","node:http2","http2","node:https","https","node:inspector","inspector","node:inspector/promises","inspector/promises","node:module","module","node:net","net","node:os","os","node:path","path","node:path/posix","path/posix","node:path/win32","path/win32","node:perf_hooks","perf_hooks","node:process","process","node:querystring","querystring","node:quic","node:readline","readline","node:readline/promises","readline/promises","node:repl","repl","node:sea","node:sqlite","node:stream","stream","node:stream/consumers","stream/consumers","node:stream/promises","stream/promises","node:stream/web","stream/web","node:string_decoder","string_decoder","node:test","node:test/reporters","node:timers","timers","node:timers/promises","timers/promises","node:tls","tls","node:trace_events","trace_events","node:tty","tty","node:url","url","node:util","util","node:util/types","util/types","node:v8","v8","node:vm","vm","node:wasi","wasi","node:worker_threads","worker_threads","node:zlib","zlib"];function sN(t){if("string"!=typeof t)throw TypeError("Expected a string");return(e??=new Set(sR)).has(t)}const sL="prefer-node-protocol",sj="node:",sM="consistent-date-clone/error",s$="no-accessor-recursion/error",sU=e=>"Identifier"===e.type||"PrivateIdentifier"===e.type,sq=(e,t)=>["type","name"].every(r=>e[r]===t[r]),sz=(e,t)=>"MemberExpression"===e.parent.type&&e.parent.object===e&&!e.parent.computed&&sU(e.parent.property)&&sq(e.parent.property,t.key),sW="error/calculate-dirname",sY="error/calculate-filename";function sV(e,{modules:t,functionName:r,sourceCode:n}){if(!r_(e,{optional:!1,argumentsLength:1}))return!1;let u=new Set;return function e(t,i){if("MemberExpression"===t.type)return!!("property"===i&&rN(t,{property:r,computed:!1,optional:!1}))&&e(t.object,"module");if("CallExpression"===t.type)return"module"===i&&rL(t,{object:"process",method:"getBuiltinModule",argumentsLength:1,optionalMember:!1,optionalCall:!1})&&a(t.arguments[0]);if("Identifier"!==t.type||u.has(t))return!1;u.add(t);let o=t$(n.getScope(t),t);if(o&&1===o.defs.length){var s=o.defs[0],d=i;if("ImportBinding"===s.type){if(!a(s.parent.source))return!1;let e=s.node;return"module"===d?e?.type==="ImportDefaultSpecifier"||e?.type==="ImportNamespaceSpecifier":e?.type==="ImportSpecifier"&&e.imported.name===r}return"Variable"===s.type&&function t(n,u){let{parent:a}=n;return"VariableDeclarator"===a.type?!!a.init&&a.id===n&&"VariableDeclaration"===a.parent.type&&"const"===a.parent.kind&&e(a.init,u):"Property"===a.type&&!!("property"===u&&a.value===n&&!a.computed&&"Identifier"===a.key.type&&a.key.name===r)&&t(a.parent,"module")}(s.name,d)}}(e.callee,"property");function a(e){return e?.type==="Literal"&&t.has(e.value)}}function sZ(e,t){return sV(e,{modules:new Set(["url","node:url"]),functionName:"fileURLToPath",sourceCode:t})}function sG(e,t){return sV(e,{modules:new Set(["path","node:path"]),functionName:"dirname",sourceCode:t})}const sK="no-unnecessary-array-flat-depth",sH="no-unnecessary-array-splice-count",sX="no-useless-error-capture-stack-trace/error",sJ="prefer-class-fields/error",sQ="prefer-class-fields/suggestion",s0="prefer-bigint-literals/error",s1="prefer-bigint-literals/suggestion",s3="prefer-classlist-toggle/error",s2="prefer-classlist-toggle/suggestion",s4=e=>rN(e,{property:"classList",computed:!1}),s5=(e,t,r)=>{let n={node:r??e,messageId:s3};return"IfStatement"===e.type||rB(e)||rB(e.parent)?n.fix=t:n.suggest=[{messageId:s2,fix:t}],n},s8=(e,t,r)=>{let n=rv(e,t);if(r)return ra(e,t)||"UpdateExpression"!==e.type&&"BinaryExpression"!==e.type&&"LogicalExpression"!==e.type&&"ConditionalExpression"!==e.type&&"AssignmentExpression"!==e.type&&"ArrowFunctionExpression"!==e.type&&"YieldExpression"!==e.type&&"SequenceExpression"!==e.type||(n=`(${n})`),n=`!${n}`;return ra(e,t)||"SequenceExpression"!==e.type||(n=`(${n})`),n},s6=(e,t)=>rL(e,{methods:t,argumentsLength:1,optionalCall:!1,optionalMember:!1})&&s4(e.callee.object),s9=(e,t)=>nf(e.callee.object,t.callee.object)&&nf(e.arguments[0],t.arguments[0]),s7=(e,t,r)=>t?("ChainExpression"===e.type&&(e=e.expression),s6(e,["contains"])&&s9(e,r))?e:void 0:"UnaryExpression"===e.type&&"!"===e.operator&&e.prefix?s7(e.argument,!t,r):void 0,de="require-module-attributes",dt=/^\s*(?<directive>eslint-disable(?:-(?:next-)?line)?)/,dr=/^eslint-disable(?:-next-line|-line)?(?<ruleId>$|(?:\s+(?:@(?:[\w-]+\/){1,2})?[\w-]+)?)/,dn=Symbol("rule-id-no-match");var du=e0.createRule({name:"ban-eslint-disable",meta:{type:"problem",docs:{description:"Ban `eslint-disable` comment directive"},schema:[{oneOf:[{type:"boolean"},{type:"string",enum:["allow-with-description"]}]}],messages:{"do-not-use":"Do not use `{{directive}}`","require-description":"Include a description after the `{{directive}}` directive to explain why the `{{directive}}` is necessary.","require-specific-rule":"Enforce specifying rules to disable in `eslint-disable` comments. If you want to disable ESLint on a file altogether, you should ignore it through ESLint configuration."}},create:(e,t="allow-with-description")=>!1===t?{}:{Program(r){if(r.comments&&0!==r.comments.length)for(let n of r.comments){let r=function(e){let t=dt.exec(e);return t?.groups?.directive}(n.value);if(r&&("allow-with-description"!==t||!n.value.includes("--"))){let u="allow-with-description"===t?"require-description":"do-not-use";e.report({node:n,data:{directive:r},messageId:u})}let u=function(e){let t=dr.exec(e.trim());return t?t.groups?.ruleId:dn}(n.value);u===dn||u||e.report({node:n,messageId:"require-specific-rule"})}}}}),da=e0.createRule({name:"no-return-await",meta:{type:"suggestion",hasSuggestions:!0,docs:{description:"Disallows unnecessary `return await`"},fixable:void 0,deprecated:!1,schema:[],messages:{removeAwait:"Remove redundant `await`.",redundantUseOfAwait:"Redundant use of `await` on a return value."}},create:e=>({AwaitExpression(t){(function e(t){return t.parent?.type===e1.AST_NODE_TYPES.ArrowFunctionExpression||(t.parent?.type===e1.AST_NODE_TYPES.ReturnStatement?!di(t.parent):(t.parent?.type===e1.AST_NODE_TYPES.ConditionalExpression&&(t===t.parent.consequent||t===t.parent.alternate)||t.parent?.type===e1.AST_NODE_TYPES.LogicalExpression&&t===t.parent.right||t.parent?.type===e1.AST_NODE_TYPES.SequenceExpression&&t===t.parent.expressions.at(-1))&&e(t.parent))})(t)&&!di(t)&&e.report({node:e.sourceCode.getFirstToken(t),loc:t.loc,messageId:"redundantUseOfAwait",suggest:[{messageId:"removeAwait",fix(r){let n=e.sourceCode,[u,a]=n.getFirstTokens(t,2);if(u.loc.start.line!==a.loc.start.line)return null;let[i,o]=u.range,s=n.text[o];return r.removeRange([i,o+ +(" "===s)])}}]})}})});function di(e){let t=e;for(;!e1.ASTUtils.isFunction(t)&&t.type!==e1.AST_NODE_TYPES.Program;){if(t.parent.type===e1.AST_NODE_TYPES.TryStatement&&(t===t.parent.block||t===t.parent.handler&&t.parent.finalizer))return!0;t=t.parent}return!1}var ds=e0.createRule({name:"no-expression-empty-lines",meta:{messages:{unexpectedEmptyLine:"Unexpected empty line before"},docs:{description:"Disallows empty lines inside expressions."},fixable:"whitespace",type:"suggestion",schema:[]},create(e){let t=e.sourceCode.getText(),r=e3.detectEol(t);return{MemberExpression(n){let u=n.object.range[1],a=dd(t.slice(u));if(a.includes("\n")){var i;let t=r+((dd(i=a).split(/\r\n|\n/u).at(-1)??"")+i.trimStart());a!==t&&e.report({fix:()=>({range:[u,u+a.length],text:t}),messageId:"unexpectedEmptyLine",node:n.property})}}}}});function dd(e){return e.slice(0,e.length-e.trimStart().length)}var dl=e0.createRule({name:"object-format",meta:{fixable:"whitespace",schema:[{type:"object",properties:{maxLineLength:{type:"number",default:80},maxObjectSize:{type:"number",default:3}},additionalProperties:!1}],docs:{description:"Requires multiline or single-line object format.",recommended:"stylistic"},messages:{preferMultiline:"Prefer multiline object literal",preferSingleLine:"Prefer single-line object literal"},type:"layout"},create(e,t={}){var r;let n=e.sourceCode.getText(),u=e3.detectEol(n),a=`,${u}`,{maxLineLength:i=80,maxObjectSize:o=3}=t,s=(r=n,e=>r.slice(e.range[1]).trimStart().startsWith("//"));return{ObjectExpression(t){let r=t.properties.map(t=>n.slice(Math.min(t.range[0],...e.sourceCode.getCommentsBefore(t).map(e=>e.range[0])),t.range[1]).trim());if(r.length>0){let d=e.sourceCode.getText(t),l=r.length>o||r.some(dc)||t.properties.some(s),c=dc(d),f=!d.includes("\n");l&&f&&e.report({fix:()=>({range:t.range,text:`{${u}${r.join(a)}${u}}`}),messageId:"preferMultiline",node:t}),!l&&c&&function(){var u;let a=e.sourceCode.getLocFromIndex(t.range[0]).column,i=r.reduce((e,t)=>e+t.length,0);return a+i+2*(r.length-1)+4+("number"==typeof(u=t.range[1])?n.slice(u):n.slice(...u.range)).split(/\r\n|\n/u)[0].replace(/^((?: as const)?\S*).*/u,"$1").length}()<=i&&e.report({fix:()=>({range:t.range,text:`{${r.join(",")}}`}),messageId:"preferSingleLine",node:t})}}}}});function dc(e){return e.includes("\n")}var df=e0.createRule({name:"prefer-single-boolean-return",meta:{messages:{replaceIfThenElseByReturn:"Replace this if-then-else flow by a single return statement.",suggest:"Replace with single return statement",suggestCast:'Replace with single return statement using "!!" cast',suggestBoolean:"Replace with single return statement without cast (condition should be boolean!)"},schema:[],type:"suggestion",hasSuggestions:!0,docs:{description:'Return of boolean expressions should not be wrapped into an "if-then-else" statement',recommended:"recommended"}},create:e=>({IfStatement(t){t.parent.type!==e1.AST_NODE_TYPES.IfStatement&&dm(t.consequent)&&function(e){if(e.alternate)return dm(e.alternate);let{parent:t}=e;if(t.type===e1.AST_NODE_TYPES.BlockStatement){let r=t.body.indexOf(e);return dp(t.body[r+1])}return!1}(t)&&e.report({messageId:"replaceIfThenElseByReturn",node:t,suggest:function(t){var r,n;let u=e=>r=>{let n=`return ${e};`;if(t.alternate)return r.replaceText(t,n);let u=t.parent,a=u.body.indexOf(t),i=u.body[a+1],o=[t.range[0],i.range[1]];return r.replaceTextRange(o,n)},a=!1===((r=t.consequent).type===e1.AST_NODE_TYPES.BlockStatement?r.body[0]:r).argument.value,i=!(((n=t.test).type===e1.AST_NODE_TYPES.UnaryExpression||n.type===e1.AST_NODE_TYPES.BinaryExpression)&&["!","==","===","!=","!==","<","<=",">",">=","in","instanceof"].includes(n.operator)),o=e.sourceCode.getText(t.test);return a?[{messageId:"suggest",fix:u(`!(${o})`)}]:i?[{messageId:"suggestCast",fix:u(`!!(${o})`)},{messageId:"suggestBoolean",fix:u(o)}]:[{messageId:"suggest",fix:u(o)}]}(t)})}})});function dp(e){return e?.type===e1.AST_NODE_TYPES.ReturnStatement&&e.argument?.type===e1.AST_NODE_TYPES.Literal&&"boolean"==typeof e.argument.value}function dm(e){return void 0!==e&&(e.type===e1.AST_NODE_TYPES.BlockStatement&&1===e.body.length&&dp(e.body[0])||dp(e))}function dg(e,t,r){var n,u;return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((e,n)=>dg(e,t[n],r)):!(Array.isArray(e)||Array.isArray(t))&&e.type===t.type&&(n=r.getTokens(e),u=r.getTokens(t),n.length===u.length&&n.every((e,t)=>e.value===u[t].value))}function dy(e){let t=!1;return{branches:e.cases.reduce((r,n,u)=>{var a;return n.test||(t=!0),(u===e.cases.length-1||n.consequent.length>0)&&r.push((a=n.consequent).length>0&&a[a.length-1].type===e1.AST_NODE_TYPES.BreakStatement?a.slice(0,-1):a),r},[]),endsWithDefault:t}}e0.createRule({name:"no-all-duplicated-branches",meta:{messages:{removeOrEditConditionalStructure:"Remove this conditional structure or edit its code blocks so that they're not all the same.",returnsTheSameValue:'This conditional operation returns the same value whether the condition is "true" or "false".'},schema:[],type:"problem",docs:{description:"All branches in a conditional structure should not have exactly the same implementation",recommended:"recommended"}},create(e){return{IfStatement(r){if(r.parent?.type!==e1.AST_NODE_TYPES.IfStatement){let{branches:n,endsWithElse:u}=function(e){let t=[e.consequent],r=!1,n=e.alternate;for(;n;)if(n.type===e1.AST_NODE_TYPES.IfStatement)t.push(n.consequent),n=n.alternate;else{t.push(n),r=!0;break}return{branches:t,endsWithElse:r}}(r);u&&t(n)&&e.report({messageId:"removeOrEditConditionalStructure",node:r})}},SwitchStatement(r){let{branches:n,endsWithDefault:u}=dy(r);u&&t(n)&&e.report({messageId:"removeOrEditConditionalStructure",node:r})},ConditionalExpression(r){t([r.consequent,r.alternate])&&e.report({messageId:"returnsTheSameValue",node:r})}};function t(t){return t.length>1&&t.slice(1).every((r,n)=>dg(r,t[n],e.sourceCode))}}});var dh=e0.createRule({name:"no-duplicated-branches",meta:{schema:[],type:"suggestion",docs:{description:"Two branches in a conditional structure should not have exactly the same implementation",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S1871/javascript"},messages:{sameConditionalBlock:"This {{type}}'s code block is the same as the block for the {{type}} on line {{line}}."}},create(e){return{IfStatement(u){!function(u){if(u.parent.type===e1.AST_NODE_TYPES.IfStatement)return;let{branches:a,endsWithElse:i}=function(e){let t=[e.consequent],r=!1,n=e.alternate;for(;n;)if(n.type===e1.AST_NODE_TYPES.IfStatement)t.push(n.consequent),n=n.alternate;else{t.push(n),r=!0;break}return{branches:t,endsWithElse:r}}(u);if(r(a,i))return a.slice(1).forEach((e,t)=>n(e,a[t],"branch"));for(let r=1;r<a.length;r++)if(t([a[r]]))for(let t=0;t<r&&!function(t,r){let u=dE(t,r,e.sourceCode);return u&&"loc"in r&&n(t,r,"branch"),u}(a[r],a[t]);t++);}(u)},SwitchStatement(u){!function(u){let{cases:a}=u,{endsWithDefault:i}=dy(u),o=a.filter(e=>dv(db(e.consequent)).length>0);if(r(o.map(e=>dv(db(e.consequent))),i))return o.slice(1).forEach((e,t)=>n(e,o[t],"case"));for(let r=1;r<a.length;r++){let u=dv(db(a[r].consequent));if(t(u)){for(let t=0;t<r;t++)if(dE(u,dv(db(a[t].consequent)),e.sourceCode)){n(a[r],a[t],"case");break}}}}(u)}};function t(t){if(t.length>0){let r=[...e.sourceCode.getTokens(t[0]),...e.sourceCode.getTokens(t[t.length-1])].filter(e=>"{"!==e.value&&"}"!==e.value);return r.length>0&&r[r.length-1].loc.end.line>r[0].loc.start.line}return!1}function r(t,r){return!r&&t.length>1&&t.slice(1).every((r,n)=>dE(r,t[n],e.sourceCode))}function n(t,r,n){let u=r.loc;e.report({messageId:"sameConditionalBlock",data:{type:n,line:String(u.start.line)},node:t})}}});function db(e){if(1===e.length){let t=e[0];if(t.type===e1.AST_NODE_TYPES.BlockStatement)return t.body}return e}function dE(e,t,r){var n,u;return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((e,n)=>dE(e,t[n],r)):!(Array.isArray(e)||Array.isArray(t))&&e.type===t.type&&(n=r.getTokens(e),u=r.getTokens(t),n.length===u.length&&n.every((e,t)=>e.value===u[t].value))}function dv(e){return e.length>0&&e[e.length-1].type===e1.AST_NODE_TYPES.BreakStatement?e.slice(0,-1):e}var dx=e0.createRule({name:"comma-or-logical-or-case",meta:{type:"problem",docs:{description:"Comma and logical OR operators should not be used in switch cases",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S3616/javascript"},schema:[],messages:{specifyCase:'Explicitly specify {{nesting}} separate cases that fall through; currently this case clause only works for "{{expression}}".'}},create(e){function t(t,r,n){var u;e.report({messageId:"specifyCase",data:{nesting:n.toString(),expression:String((u=r).type===e1.AST_NODE_TYPES.Literal?u.value:e.sourceCode.getText(u))},node:t})}return{"SwitchCase > SequenceExpression":function(e){let r=e.expressions;t(e,r[r.length-1],r.length)},"SwitchCase > LogicalExpression":function(r){var n;if((n=function(t){let r=e.sourceCode.getAncestors(t);for(let e=r.length-1;e>=0;e--)if(r[e].type===e1.AST_NODE_TYPES.SwitchStatement)return r[e];throw Error("A switch case should have an enclosing switch statement")}(r)).discriminant.type!==e1.AST_NODE_TYPES.Literal||!0!==n.discriminant.value){let e=function e(t,r){if("||"===t.operator)return t.left.type===e1.AST_NODE_TYPES.LogicalExpression?e(t.left,r+1):[t.left,r+1]}(r,0);e&&t(r,e[0],e[1]+1)}}}}}),dD=e0.createRule({name:"no-element-overwrite",meta:{schema:[],type:"problem",docs:{description:"Collection elements should not be replaced unconditionally",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S4143/javascript"},messages:{verifyIntendedIndex:'Verify this is the index that was intended; "{{index}}" was already set on line {{line}}.'}},create(e){return{SwitchCase(e){t(e.consequent)},BlockStatement(e){t(e.body)},Program(e){t(e.body.filter(e=>{var t;return!((t=e)&&(t.type===e1.AST_NODE_TYPES.ImportDeclaration||t.type===e1.AST_NODE_TYPES.ExportNamedDeclaration||t.type===e1.AST_NODE_TYPES.ExportDefaultDeclaration||t.type===e1.AST_NODE_TYPES.ExportAllDeclaration))}))}};function t(t){let r,n=new Map;t.forEach(t=>{let u=function(t){if(t.type===e1.AST_NODE_TYPES.ExpressionStatement)return function(t){var r;if((r=t).type===e1.AST_NODE_TYPES.AssignmentExpression&&"="===r.operator&&t.left.type===e1.AST_NODE_TYPES.MemberExpression&&t.left.computed){let{left:r,right:n}=t,u=dS(r.property);if(void 0!==u&&!function(t,r){let n=e.sourceCode.getTokens(t),u=e.sourceCode.getTokens(r);return void 0!==u.find((e,t)=>{if(dA(e,n[0]))for(let e=t,r=0;e<u.length&&r<n.length;e++,r++)if(dA(u[e],n[r])){if(r===n.length-1)return!0}else break;return!1})}(r.object,n))return{collectionNode:r.object,indexOrKey:u,node:t}}}(t.expression)||function(e){if(e.type===e1.AST_NODE_TYPES.CallExpression&&e.callee.type===e1.AST_NODE_TYPES.MemberExpression){let t=e.callee;if(t.property.type===e1.AST_NODE_TYPES.Identifier){let r=t.property.name,n="add"===r&&1===e.arguments.length,u="set"===r&&2===e.arguments.length;if(n||u){let r=dS(e.arguments[0]);if(r)return{collectionNode:t.object,indexOrKey:r,node:e}}}}}(t.expression)}(t);if(u){r&&!dg(u.collectionNode,r,e.sourceCode)&&n.clear();let t=n.get(u.indexOrKey);t?.node.loc&&e.report({node:u.node,messageId:"verifyIntendedIndex",data:{index:u.indexOrKey,line:t.node.loc.start.line}}),n.set(u.indexOrKey,u),r=u.collectionNode}else n.clear()})}}});function dA(e,t){return e.value===t.value}function dS(e){if(e.type===e1.AST_NODE_TYPES.Literal){let{value:t}=e;return"number"==typeof t||"string"==typeof t?String(t):void 0}if(e.type===e1.AST_NODE_TYPES.Identifier)return e.name}var dC=e0.createRule({name:"class-prototype",meta:{schema:[],type:"suggestion",docs:{description:'Class methods should be used instead of "prototype" assignments',recommended:"recommended"},messages:{declareClass:'Declare a "{{class}}" class and move this declaration of "{{declaration}}" into it.'}},create(e){let t=e.sourceCode.parserServices,r=e0.isParserWithTypeInformation(t)?dT:d_;return{AssignmentExpression({left:n,right:u}){if(n.type===e1.AST_NODE_TYPES.MemberExpression&&r(u,t)){let[t,r]=[n.object,n.property];if(t.type===e1.AST_NODE_TYPES.MemberExpression&&r.type===e1.AST_NODE_TYPES.Identifier){let[u,a]=[t.object,t.property];u.type===e1.AST_NODE_TYPES.Identifier&&a.type===e1.AST_NODE_TYPES.Identifier&&"prototype"===a.name&&e.report({messageId:"declareClass",data:{class:u.name,declaration:r.name},node:n})}}}}}});function dT(e,t){e0.ensureParserWithTypeInformation(t);let r=t.program.getTypeChecker().getTypeAtLocation(t.esTreeNodeToTSNodeMap.get(e));return!!r.symbol&&(r.symbol.flags&e2.SymbolFlags.Function)!=0}const dw=new Set(["FunctionDeclaration","FunctionExpression","ArrowFunctionExpression"]);function d_(e,t){return dw.has(e.type)}var dF=e0.createRule({name:"bool-param-default",meta:{schema:[],type:"suggestion",docs:{description:"Optional boolean parameters should have default value"},messages:{provideDefault:"Provide a default value for '{{parameter}}' so that the logic of the function is more evident when this parameter is missing. Consider defining another function if providing default value is not possible."}},create:e=>({"FunctionDeclaration, FunctionExpression, ArrowFunctionExpression":t=>{for(let r of t.params)r.type===e1.AST_NODE_TYPES.Identifier&&function(e){var t;return!!(t=e).optional&&!!t.typeAnnotation&&t.typeAnnotation.typeAnnotation.type===e1.AST_NODE_TYPES.TSBooleanKeyword||function(e){if(e.typeAnnotation&&e.typeAnnotation.typeAnnotation.type===e1.AST_NODE_TYPES.TSUnionType){let t=e.typeAnnotation.typeAnnotation.types;return 2===t.length&&t.some(e=>e.type===e1.AST_NODE_TYPES.TSBooleanKeyword)&&t.some(e=>e.type===e1.AST_NODE_TYPES.TSUndefinedKeyword)}return!1}(e)}(r)&&e.report({messageId:"provideDefault",data:{parameter:r.name},node:r})}})}),dk=e0.createRule({name:"call-argument-line",meta:{type:"suggestion",docs:{description:"Function call arguments should not start on new lines",recommended:"recommended"},schema:[],messages:{moveArguments:"Make those call arguments start on line {{line}}.",moveTemplateLiteral:"Make this template literal start on line {{line}}."}},create(e){let t=e.sourceCode;return{CallExpression(r){if(r.callee.type!==e1.AST_NODE_TYPES.CallExpression&&1===r.arguments.length){var n;let u=(n=r).typeArguments??n.callee,a=(t.getLastTokenBetween(u,r.arguments[0],dP)??t.getLastToken(u)).loc.end.line,{start:i}=t.getTokenAfter(u,dI).loc;if(a!==i.line){let{end:n}=t.getLastToken(r).loc;n.line===i.line?e.report({messageId:"moveArguments",data:{line:a.toString()},loc:{start:i,end:n}}):e.report({messageId:"moveArguments",data:{line:a.toString()},loc:i})}}},TaggedTemplateExpression(r){let{quasi:n}=r,u=t.getTokenBefore(n);if(u&&n.loc&&u.loc.end.line!==n.loc.start.line){let t={start:n.loc.start,end:{line:n.loc.start.line,column:n.loc.start.column+1}};e.report({messageId:"moveTemplateLiteral",data:{line:u.loc.start.line.toString()},loc:t})}}}}});function dP(e){return e.type===e1.AST_TOKEN_TYPES.Punctuator&&")"===e.value}function dI(e){return!dP(e)}var dB=e0.createRule({name:"track-todo-fixme-comment",meta:{type:"suggestion",docs:{description:'Track uses of "FIXME" and "TODO" tags',recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S1134/javascript"},schema:[],messages:{fixme:"Take the required action to fix the issue indicated by this comment.",todo:'Complete the task associated to this "TODO" comment.'}},create(e){function t(t,r){e.sourceCode.getAllComments().forEach(n=>{let u=n.value.toLowerCase();if(u.includes(t)){let a=u.split(/\r\n?|\n/);for(let u=0;u<a.length;u++){let i=a[u].indexOf(t);i>=0&&!function(e,t,r){let n=t+r.length,u=t>0&&dO.test(e.charAt(t-1)),a=n<=e.length-1&&dO.test(e.charAt(n));return u||a}(a[u],i,t)&&e.report({messageId:r,loc:function(e,t,r,n){let u=r.loc.start.line+e,a=(0===e?r.loc.start.column+2:0)+t;return{start:{line:u,column:a},end:{line:u,column:a+n.length}}}(u,i,n,t)})}}})}return{"Program:exit":()=>{t("fixme","fixme"),t("todo","todo")}}}});const dO=/\p{Letter}/u,dR=["Array","Map","Set","WeakSet","WeakMap"],dN=new Set(["copyWithin","pop","reverse","shift","sort","clear","delete","concat","flat","flatMap","includes","indexOf","join","lastIndexOf","slice","toSource","toString","toLocaleString","get","has","entries","every","filter","find","findIndex","forEach","keys","map","reduce","reduceRight","some","values"]);var dL=e0.createRule({name:"no-empty-collection",meta:{schema:[],type:"problem",docs:{description:"Empty collections should not be accessed or iterated",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S4158/javascript"},messages:{reviewUsageOfIdentifier:'Review this usage of "{{identifierName}}" as it can only be empty here.'}},create(e){let t=t=>{if(t.references.length<=1||t.defs.some(e=>e.type===e1.TSESLint.Scope.DefinitionType.Parameter||e.type===e1.TSESLint.Scope.DefinitionType.ImportBinding))return;let r=[],n=!1;for(let e of t.references)if(e.isWriteOnly())if(!function(e){let t=dj(e.identifier,e=>e.type===e1.AST_NODE_TYPES.VariableDeclarator||e.type===e1.AST_NODE_TYPES.ExpressionStatement);if(t){if(t.type===e1.AST_NODE_TYPES.VariableDeclarator&&t.init)return dU(t.init);if(t.type===e1.AST_NODE_TYPES.ExpressionStatement){let{expression:r}=t;return r.type===e1.AST_NODE_TYPES.AssignmentExpression&&d$(e,r.left)&&dU(r.right)}}return!1}(e))return;else n=!0;else{var u;if(!(function(e){let{parent:t}=e.identifier;if(t&&t.type===e1.AST_NODE_TYPES.MemberExpression){let e=t.parent;if(e&&e.type===e1.AST_NODE_TYPES.CallExpression)return dq(t.property,...dN)}return!1}(u=e)||function(e){let t=dj(e.identifier,e=>e.type===e1.AST_NODE_TYPES.ForOfStatement||e.type===e1.AST_NODE_TYPES.ForInStatement);return t&&t.right===e.identifier}(u)||function(e){let{parent:t}=e.identifier;return t&&t.type===e1.AST_NODE_TYPES.MemberExpression&&t.computed&&!function(e){let t=dM(e,new Set),r=t.find(e=>e.type===e1.AST_NODE_TYPES.AssignmentExpression);return!!r&&"="===r.operator&&[e,...t].includes(r.left)}(t)}(u)))return;r.push(e)}n&&r.forEach(t=>{e.report({messageId:"reviewUsageOfIdentifier",data:{identifierName:t.identifier.name},node:t.identifier})})},r=e=>{e.type!==e1.TSESLint.Scope.ScopeType.global&&e.variables.forEach(t),e.childScopes.forEach(r)};return{"Program:exit":t=>{r(e.sourceCode.getScope(t))}}}});function dj(e,t){return dM(e,new Set).find(t)}function dM(e,t){let r=[],n=e.parent;for(;n&&(r.push(n),!t.has(n.type));)n=n.parent;return r}function d$(e,t){return t.type===e1.AST_NODE_TYPES.Identifier&&t===e.identifier}function dU(e){return e&&e.type===e1.AST_NODE_TYPES.ArrayExpression?0===e.elements.length:!!e&&(e.type===e1.AST_NODE_TYPES.CallExpression||e.type===e1.AST_NODE_TYPES.NewExpression)&&dq(e.callee,...dR)&&0===e.arguments.length}function dq(e,...t){return e?.type===e1.AST_NODE_TYPES.Identifier&&(0===t.length||t.some(t=>t===e.name))}const dz=new Set(["!=","==","!==","==="]),dW=new Set(["!==","!="]),dY=new Set(["+=","-="]);var dV=e0.createRule({name:"no-equals-in-for-termination",meta:{schema:[],messages:{replaceOperator:"Replace '{{operator}}' operator with one of '<=', '>=', '<', or '>' comparison operators."},type:"suggestion",docs:{description:'Equality operators should not be used in "for" loop termination conditions',recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S888/javascript"}},create(e){function t(t,r){if(t.type===e1.AST_NODE_TYPES.Identifier){var n;let u=(n=t.name,function(e,t){let r;for(;null==r&&null!=e;)r=e.variables.find(e=>e.name===t),e=e.upper;return r}(e.sourceCode.getScope(t),n)),a=r.range;if(u&&a)return u.references.some(e=>{var t,r;return t=e.identifier,r=a,t.range&&t.range[0]>r[0]&&t.range[1]<r[1]})}return!1}return{ForStatement(r){var n;if(!r.test||!r.update)return;let u=r.test;(n=u).type===e1.AST_NODE_TYPES.BinaryExpression&&dz.has(n.operator)&&function e(t){return!!dZ(t)||t.type===e1.AST_NODE_TYPES.UpdateExpression||t.type===e1.AST_NODE_TYPES.SequenceExpression&&t.expressions.every(e)}(r.update)&&!(function(e){let t=e.test,r=[];return function e(t,r){let n;dZ(t)?n=t.left:t.type===e1.AST_NODE_TYPES.UpdateExpression?n=t.argument:t.type===e1.AST_NODE_TYPES.SequenceExpression&&t.expressions.forEach(t=>e(t,r)),n&&n.type===e1.AST_NODE_TYPES.Identifier&&r.push(n.name)}(e.update,r),t.left.type!==e1.AST_NODE_TYPES.Identifier||!r.includes(t.left.name)}(r)||function(e){let r=e.init,n=e.test;if(r&&dG(n)){let u=function(e,r){var n,u;if(n=e,u=r,n.type===e1.AST_NODE_TYPES.UpdateExpression&&!t(n.argument,u)||function(e){if(dZ(e)){let t=e.right;return t.type===e1.AST_NODE_TYPES.Literal&&1===t.value}return!1}(n)&&!t(n.left,u)){if("++"===e.operator||"+="===e.operator)return 1;if("--"===e.operator||"-="===e.operator)return -1}return 0}(e.update,e.body);if(0!==u){let e=dK(r),t=dK(n);return void 0!==e&&void 0!==t&&u===Math.sign(t-e)}}return!1}(r))&&e.report({messageId:"replaceOperator",data:{operator:u.operator},node:u})}}}});function dZ(e){return e.type===e1.AST_NODE_TYPES.AssignmentExpression&&dY.has(e.operator)}function dG(e){return e.type===e1.AST_NODE_TYPES.BinaryExpression&&dW.has(e.operator)}function dK(e){var t;return dG(e)?dH(e.right):(t=e).type===e1.AST_NODE_TYPES.VariableDeclaration&&1===t.declarations.length?dH(e.declarations[0].init):e.type===e1.AST_NODE_TYPES.AssignmentExpression?dH(e.right):void 0}function dH(e){if(e&&e.type===e1.AST_NODE_TYPES.Literal&&"number"==typeof e.value)return e.value}var dX=e0.createRule({name:"no-top-level-this",meta:{hasSuggestions:!0,schema:[],messages:{removeThis:'Remove the use of "this".',suggestRemoveThis:'Remove "this"',suggestUseGlobalThis:'Replace "this" with "globalThis" object'},type:"suggestion",docs:{description:'The global "this" object should not be used',recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S2990/javascript"},fixable:"code"},create:e=>({'MemberExpression[object.type="ThisExpression"]':t=>{let r=e.sourceCode.getScope(t).variableScope.type,n=e.sourceCode.getAncestors(t).some(e=>e.type===e1.AST_NODE_TYPES.ClassDeclaration||e.type===e1.AST_NODE_TYPES.ClassExpression);if((r===e1.TSESLint.Scope.ScopeType.global||r===e1.TSESLint.Scope.ScopeType.module)&&!n){let r=[];if(!t.computed){let n=e.sourceCode.getText(t.property);r.push({messageId:"suggestRemoveThis",fix:e=>e.replaceText(t,n)},{messageId:"suggestUseGlobalThis",fix:e=>e.replaceText(t.object,"globalThis")})}e.report({messageId:"removeThis",node:t.object,suggest:r})}}})}),dJ=e0.createRule({name:"no-invariant-returns",meta:{schema:[],type:"suggestion",docs:{description:"Function returns should not be invariant",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S3516/javascript",requiresTypeChecking:!1},messages:{refactorReturn:"Refactor this function to only return once or not always return the same value."}},create(e){let t=[],r=[],n=[],u=r=>(function(t,r){var u;!(!r||(u=r,n.some(e=>e.reachable)||u.containsReturnWithoutValue||u.returnStatements.length<=1||u.codePath.thrownSegments.length>0))&&function(e,t){let r=e[0],n=r?d1(r,t):void 0;if(void 0!==n)return e.slice(1).every(e=>d1(e,t)===n);if(r?.type===e1.AST_NODE_TYPES.Identifier){let n=dQ(r.name,t);if(n){let t=new Set(n.variable.references.slice(1).map(e=>e.identifier));return e.every(e=>t.has(e))}}return!1}(r.returnStatements.map(e=>e.argument),e.sourceCode.getScope(t))&&e.report({messageId:"refactorReturn",node:t})})(r,t[t.length-1]);return{onCodePathStart(e){t.push({codePath:e,containsReturnWithoutValue:!1,returnStatements:[]}),r.push(n),n=[]},onCodePathEnd(){t.pop(),n=r.pop()||[]},onCodePathSegmentStart(e){n.push(e)},onCodePathSegmentEnd(){n.pop()},ReturnStatement(e){if(t.length){let r=t[t.length-1];r.containsReturnWithoutValue=r.containsReturnWithoutValue||!e.argument,r.returnStatements.push(e)}},"FunctionDeclaration:exit":u,"FunctionExpression:exit":u,"ArrowFunctionExpression:exit":u}}});function dQ(e,t){let r=t.set.get(e);if(r&&!r.references.slice(1).some(e=>e.isWrite()||function(e){let t=dj(e.identifier,e=>e.type===e1.AST_NODE_TYPES.ExpressionStatement||dw.has(e.type));return t&&t.type===e1.AST_NODE_TYPES.ExpressionStatement&&(d0(t,e)||t.expression.type===e1.AST_NODE_TYPES.CallExpression)}(e))){let e=null;return 1===r.defs.length&&r.defs[0].type===e1.TSESLint.Scope.DefinitionType.Variable&&(e=r.defs[0].node.init),{variable:r,initExpression:e}}return null}function d0(e,t,r=!0){return e.expression.type===e1.AST_NODE_TYPES.AssignmentExpression&&function e(t,r,n=!0){return t.type===e1.AST_NODE_TYPES.MemberExpression&&(d$(r,t.object)||n&&e(t.object,r,n))}(e.expression.left,t,r)}function d1(e,t){if(e){if(e.type===e1.AST_NODE_TYPES.Literal)return e.value;if(e.type===e1.AST_NODE_TYPES.UnaryExpression){let r=d1(e.argument,t);return void 0===r?void 0:function(e,t){switch(e){case"-":return-Number(t);case"+":return Number(t);case"~":return~Number(t);case"!":return!t;case"typeof":return typeof t}}(e.operator,r)}if(e.type===e1.AST_NODE_TYPES.Identifier){let r=dQ(e.name,t);if(r?.initExpression)return d1(r.initExpression,t)}}}function d3(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d2(e,t){let r=t.variables.find(t=>t.name===e.name);return!r&&t.upper&&(r=t.upper.variables.find(t=>t.name===e.name)),r}class d4 extends Set{constructor(...e){super(...e),d3(this,"type","AssignedValues")}}const d5={type:"UnknownValue"};class d8{add(e){e.resolved&&this.references.add(e)}propagate(e){this.in.clear(),this.segment.prevSegments.forEach(t=>{this.join(e.get(t.id).out)});let t=new Map;return this.references.forEach(e=>this.updateProgramState(e,t)),!function(e,t){if(e.size!==t.size)return!1;for(let[u,a]of e){var r,n;if(!t.has(u)||(r=t.get(u),n=a,"AssignedValues"===r.type&&"AssignedValues"===n.type?!function(e,t){return e.size===t.size&&[...e].every(e=>t.has(e))}(r,n):r!==n))return!1}return!0}(this.out,t)&&(this.out=t,!0)}updateProgramState(e,t){let r=e.resolved;if(!r||!e.isWrite())return;if(!e.writeExpr)return void t.set(r,d5);let n=d6(r,e.writeExpr,t,e.from);t.set(r,n)}join(e){for(let[t,r]of e.entries()){let e=this.in.get(t)??new d4;"AssignedValues"===e.type&&"AssignedValues"===r.type?(r.forEach(t=>e.add(t)),this.in.set(t,e)):this.in.set(t,d5)}}constructor(e){d3(this,"segment",void 0),d3(this,"in",void 0),d3(this,"out",void 0),d3(this,"references",void 0),this.segment=e,this.in=new Map,this.out=new Map,this.references=new Set}}function d6(e,t,r,n){if(!t)return d5;switch(t.type){case e1.AST_NODE_TYPES.Literal:return t.raw?new d4([t.raw]):d5;case e1.AST_NODE_TYPES.Identifier:{let u=d2(t,n);if(u&&u!==e)return r.get(u)??d5;return d5}default:return d5}}class d9{constructor(e){d3(this,"codePath",void 0),d3(this,"reachingDefinitionsMap",void 0),d3(this,"reachingDefinitionsStack",void 0),d3(this,"segments",void 0),d3(this,"assignmentStack",void 0),this.codePath=e,this.reachingDefinitionsMap=new Map,this.reachingDefinitionsStack=[],this.segments=new Map,this.assignmentStack=[]}}class d7{isRhs(e){return this.node.type===e1.AST_NODE_TYPES.AssignmentExpression?this.node.right===e:this.node.init===e}isLhs(e){return this.node.type===e1.AST_NODE_TYPES.AssignmentExpression?this.node.left===e:this.node.id===e}add(e){let t=e.identifier;for(;t;){if(this.isLhs(t)){this.lhs.add(e);break}if(this.isRhs(t)){this.rhs.add(e);break}t=t.parent}}constructor(e){d3(this,"node",void 0),d3(this,"lhs",void 0),d3(this,"rhs",void 0),this.node=e,this.lhs=new Set,this.rhs=new Set}}function le(e){return e[e.length-1]}var lt=e0.createRule({name:"no-redundant-assignments",meta:{schema:[],type:"suggestion",docs:{description:"Assignments should not be redundant",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S4165/javascript"},messages:{reviewAssignment:'Review this redundant assignment: "{{symbol}}" already holds the assigned value along all execution paths.'}},create(e){let t=[],r=new Map,n=new Map,u=[],a=[];return{AssignmentExpression:o,"VariableDeclarator[init]":o,"AssignmentExpression:exit":i,"VariableDeclarator[init]:exit":i,Identifier(r){if(r.parent.type!==e1.AST_NODE_TYPES.TSEnumBody&&r.parent.type!==e1.AST_NODE_TYPES.TSEnumDeclaration&&r.parent.type!==e1.AST_NODE_TYPES.TSEnumMember){var u;u=r,e.sourceCode.getAncestors(u).some(e=>e.type===e1.AST_NODE_TYPES.TSEnumDeclaration)||function(r){var u;let{ref:a,variable:i}=function e(t,r){if(null===r)return{ref:null,variable:null};let n=r.references.find(e=>e.identifier===t);if(n)return{ref:n,variable:n.resolved};let u=r.variables.find(e=>e.defs.find(e=>e.name===t));return u?{ref:null,variable:u}:e(t,r.upper)}(u=r,e.sourceCode.getScope(u));if(a&&d(a),i){let e=le(t).codePath.id;n.has(i)?n.get(i).add(e):n.set(i,new Set([e]))}}(r)}},"Program:exit":()=>{let e=Array.from(r.values(),e=>e.segment);for(;e.length;){let t=e.pop();r.get(t.id).propagate(r)&&t.nextSegments.forEach(t=>e.push(t))}r.forEach(s),r.clear(),n.clear(),t.length=0},onCodePathSegmentStart(e){r.set(e.id,new d8(e)),a.push(e)},onCodePathStart(e){var r;r=new d9(e),t.push(r),u.push(a),a.length=0},onCodePathEnd(){t.pop(),u.pop()||(a.length=0)},onCodePathSegmentEnd(){a.pop()}};function i(){let e=le(t).assignmentStack.pop();e.rhs.forEach(d),e.lhs.forEach(d)}function o(e){le(t).assignmentStack.push(new d7(e))}function s(t){let r=new Map(t.in);t.references.forEach(t=>{let u=t.resolved;if(!u||!t.isWrite()||!function(e){var t;let r=e.resolved;return r&&(e.identifier.type!==e1.AST_NODE_TYPES.Identifier||e.identifier.parent.type!==e1.AST_NODE_TYPES.AssignmentPattern)&&!r.name.startsWith("_")&&!function(e){if(e?.parent){let t=e.parent;return t&&t.type===e1.AST_NODE_TYPES.AssignmentExpression&&"="!==t.operator}return!1}(e.writeExpr)&&(e.writeExpr?.type!==e1.AST_NODE_TYPES.Identifier||e.resolved!==d2(e.writeExpr,e.from))&&!r.defs.some(e=>e.type===e1.TSESLint.Scope.DefinitionType.Parameter||e.type===e1.TSESLint.Scope.DefinitionType.Variable&&!e.node.init)&&(t=r,!(n.get(t).size>1))}(t))return;let a=r.get(u),i=d6(u,t.writeExpr,r,t.from);if(a?.type==="AssignedValues"&&1===a.size){let[r]=[...a];!function({resolved:t},r,n,u,a){if("UnknownValue"===u.type||1!==u.size)return;let[i]=[...u];1!==t.references.filter(e=>e.isWrite()).length&&n===i&&e.report({node:r,messageId:"reviewAssignment",data:{symbol:a}})}(t,t.writeExpr,r,i,u.name)}r.set(u,i)})}function d(e){let{assignmentStack:n}=le(t);if(n.length>0)le(n).add(e);else for(let t=0,n=a.length;t<n;t++)(function(e){let t;return r.has(e.id)?t=r.get(e.id):(t=new d8(e),r.set(e.id,t)),t})(a[t]).add(e)}}}),lr=e0.createRule({name:"no-same-line-conditional",meta:{schema:[],type:"layout",docs:{description:"Conditionals should start on new lines",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S3972/javascript"},fixable:"whitespace",messages:{sameLineCondition:'Move this "if" to a new line or add the missing "else".'}},create(e){function t(t){var r;let{sourceCode:n}=e;(r=t).reduce((e,t,n)=>{let u=r[n-1];return t.type===e1.AST_NODE_TYPES.IfStatement&&u&&u.type===e1.AST_NODE_TYPES.IfStatement?[{first:u,following:t},...e]:e},[]).forEach(t=>{let r=t.first,u=t.following;if(r.loc&&u.loc&&r.loc.end.line===u.loc.start.line&&r.loc.start.line!==u.loc.end.line){let t=n.getFirstToken(u);e.report({messageId:"sameLineCondition",loc:t.loc,fix:e=>e.replaceTextRange([r.range[1],u.range[0]],"\n"+" ".repeat(r.loc.start.column))})}})}return{Program:e=>t(e.body),BlockStatement:e=>t(e.body),SwitchCase:e=>t(e.consequent)}}}),ln=e0.createRule({name:"no-small-switch",meta:{schema:[],messages:{replaceSwitch:'Replace this "switch" statement by "if" statements to increase readability.'},type:"suggestion",docs:{description:'"if" statements should be preferred over "switch" when simpler',recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S1301/javascript"}},create:e=>({SwitchStatement(t){let{cases:r}=t,n=r.some(e=>!e.test);if(r.length<2||2===r.length&&n){let r=e.sourceCode.getFirstToken(t);r&&e.report({messageId:"replaceSwitch",loc:r.loc})}}})});const lu=["Array","Map","Set","WeakSet","WeakMap"],la=["copyWithin","fill","pop","push","reverse","set","shift","sort","splice","unshift","add","clear","delete"];var li=e0.createRule({name:"no-unused-collection",meta:{schema:[],messages:{unusedCollection:"Either use this collection's contents or remove the collection."},type:"suggestion",docs:{description:"Collection contents should be used",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S4030/javascript",requiresTypeChecking:!1}},create:e=>({"Program:exit":t=>{let r=[];(function e(t,r){t.type!==e1.TSESLint.Scope.ScopeType.global&&t.variables.forEach(e=>{(function(e){if(function(e){if(!e.defs.length)return;let t=e.defs[0];return t.node.parent?.parent?.type.startsWith("Export")}(e)||e.references.length<=1)return!1;let t=!1;for(let r of e.references)if(r.isWriteOnly())if(!function(e){let t=dj(e.identifier,e=>e.type===e1.AST_NODE_TYPES.VariableDeclarator||e.type===e1.AST_NODE_TYPES.ExpressionStatement);if(t){if(t.type===e1.AST_NODE_TYPES.VariableDeclarator&&t.init)return lo(t.init);if(t.type===e1.AST_NODE_TYPES.ExpressionStatement){let{expression:r}=t;return r.type===e1.AST_NODE_TYPES.AssignmentExpression&&d$(e,r.left)&&lo(r.right)}}return!1}(r))return!1;else t=!0;else if(function(e){let t=dj(e.identifier,e=>e.type===e1.AST_NODE_TYPES.ExpressionStatement);return!t||!d0(t,e,!1)&&!function(e,t){if(e.expression.type===e1.AST_NODE_TYPES.CallExpression){let{callee:r}=e.expression;if(r.type===e1.AST_NODE_TYPES.MemberExpression){let{property:e,object:n}=r;return d$(t,n)&&dq(e,...la)}}return!1}(t,e)}(r))return!1;return t})(e)&&r.push(e)}),t.childScopes.forEach(t=>{e(t,r)})})(e.sourceCode.getScope(t),r),r.forEach(t=>{e.report({messageId:"unusedCollection",node:t.identifiers[0]})})}})});function lo(e){return!!e&&e.type===e1.AST_NODE_TYPES.ArrayExpression||!!e&&(e.type===e1.AST_NODE_TYPES.CallExpression||e.type===e1.AST_NODE_TYPES.NewExpression)&&dq(e.callee,...lu)}var ls=e0.createRule({name:"no-useless-plusplus",meta:{schema:[],type:"problem",docs:{description:"Values should not be uselessly incremented",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S2123/javascript"},messages:{removeIncrement:"Remove this {{updateOperator}}rement or correct the code not to waste it."}},create(e){function t(t){let r="++"===t.operator?"inc":"dec";e.report({messageId:"removeIncrement",data:{updateOperator:r},node:t})}return{"ReturnStatement > UpdateExpression":function(r){var n;let u=r.argument;!r.prefix&&u.type===e1.AST_NODE_TYPES.Identifier&&(n=u,e.sourceCode.getScope(r).variables.some(e=>e.identifiers.some(e=>e.name===n.name)))&&t(r)},AssignmentExpression(e){let r=e.right;if(r.type===e1.AST_NODE_TYPES.UpdateExpression&&!r.prefix){let n=e.left;n.type===e1.AST_NODE_TYPES.Identifier&&r.argument.type===e1.AST_NODE_TYPES.Identifier&&r.argument.name===n.name&&t(r)}}}}});const ld=new Set(["map","filter","reduce","reduceRight","forEach"]);var ll=e0.createRule({name:"no-chain-array-higher-order-functions",meta:{type:"problem",fixable:"code",docs:{description:"Prefer `.reduce` over chaining `.filter`, `.map` methods",recommended:"recommended"},schema:[],messages:{detected:"Detected the chaining of array methods: {{methods}}. Reaplce with `.reduce` to reduce array iterations and improve the performance."}},create:e=>({MemberExpression(t){if(lc(t)){let r=t.parent;lc(r.parent)&&e.report({node:r,messageId:"detected",data:{methods:`arr.${t.property.name}().${r.parent.property.name}()`}})}}})});function lc(e){return e.type===e1.AST_NODE_TYPES.MemberExpression&&!e.computed&&e.property.type===e1.AST_NODE_TYPES.Identifier&&ld.has(e.property.name)&&e.parent.type===e1.AST_NODE_TYPES.CallExpression}var lf=e0.createRule({name:"no-export-const-enum",meta:{type:"suggestion",docs:{description:"Disallow using `const enum` expression as it can not be inlined and tree-shaken by swc/esbuild/babel/webpack/rollup/vite/bun/rspack"},messages:{noConstEnum:"Do not use `const enum` expression"},schema:[]},create(e){let t=(t,r)=>{let n=e1.ASTUtils.findVariable(e.sourceCode.getScope(t),r);n?.defs.forEach(r=>{r.node.type===e1.AST_NODE_TYPES.TSEnumDeclaration&&r.node.const&&e.report({node:t,messageId:"noConstEnum"})})};return{ExportNamedDeclaration(r){let n=r.declaration;if(n?.type===e1.AST_NODE_TYPES.TSEnumDeclaration&&n.const)return void e.report({node:r,messageId:"noConstEnum"});if(n?.type===e1.AST_NODE_TYPES.VariableDeclaration){let e=n.declarations[0].id;e.type===e1.AST_NODE_TYPES.Identifier&&t(r,e)}},ExportDefaultDeclaration(e){let r=e.declaration;r.type===e1.AST_NODE_TYPES.Identifier&&t(e,r)}}}}),lp=e0.createRule({name:"no-for-in-iterable",meta:{schema:[],type:"suggestion",docs:{description:'"for in" should not be used with iterables',recommended:"strict",url:"https://sonarsource.github.io/rspec/#/rspec/S4139/javascript"},messages:{useForOf:'Use "for...of" to iterate over this "{{iterable}}".'}},create(e){let t=e.sourceCode.parserServices;return{ForInStatement(r){var n,u;e0.ensureParserWithTypeInformation(t);let a=lm(r.right,t);if(e0.ensureParserWithTypeInformation(t),(n=a).symbol&&lg.has(n.symbol.name)||((u=a).flags&e2.TypeFlags.StringLike)>0||u.symbol?.name==="String"||function(e,t){var r,n=t.program.getTypeChecker().getBaseConstraintOfType(e)??e,u=t;for(let e of(r=n).isUnion()?r.types:[r])if(!function(e,t){let r=t.program.getTypeChecker();return"isArrayType"in r&&"function"==typeof r.isArrayType&&r.isArrayType(e)}(e,u))return!1;return!0}(a,t)){let t=a.symbol?a.symbol.name:"String";e.report({messageId:"useForOf",data:{iterable:t},loc:e.sourceCode.getFirstToken(r).loc})}}}}});function lm(e,t){return t.program.getTypeChecker().getTypeAtLocation(t.esTreeNodeToTSNodeMap.get(e))}const lg=new Set(["Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","Set","Map"]);var ly=e0.createRule({name:"only-await-thenable",meta:{schema:[],type:"suggestion",docs:{description:'"await" should only be used with promises',recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S4123/javascript"},messages:{refactorAwait:"Refactor this redundant 'await' on a non-promise."}},create(e){let t=e.sourceCode.parserServices;return e0.ensureParserWithTypeInformation(t),{AwaitExpression(r){let n=lm(r.argument,t);(function(e,t){var r,n;if(e.argument.type!==e1.AST_NODE_TYPES.CallExpression)return!1;let u=(r=e.argument,(n=t).program.getTypeChecker().getResolvedSignature(n.esTreeNodeToTSNodeMap.get(r)));return u?.declaration&&function(e){let t=new Set(["return","returns"]);if(!e.jsDoc)return!1;for(let r of e.jsDoc)if(r.tags?.some(e=>t.has(e.tagName.escapedText.toString())))return!0;return!1}(u.declaration)})(r,t)||function(e){let t=e.getProperty("then");return t?.declarations?.some(e=>e.kind===e2.SyntaxKind.MethodSignature||e.kind===e2.SyntaxKind.MethodDeclaration||e.kind===e2.SyntaxKind.PropertyDeclaration)}(n)||n.flags&e2.TypeFlags.Any||n.flags&e2.TypeFlags.Unknown||n.flags&e2.TypeFlags.Union||e.report({messageId:"refactorAwait",node:r})}}}}),lh=e0.createRule({name:"no-undefined-optional-parameters",meta:{schema:[],type:"suggestion",docs:{description:'"undefined" should not be passed as the value of optional parameters',recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S4623/javascript",requiresTypeChecking:!0},fixable:"code",hasSuggestions:!0,messages:{removeUndefined:'Remove this redundant "undefined".',suggestRemoveUndefined:"Remove this redundant argument"}},create(e){let t=e.sourceCode.parserServices;return e0.ensureParserWithTypeInformation(t),{CallExpression(r){var n;let{arguments:u}=r;if(0===u.length)return;let a=u[u.length-1];(n=a).type===e1.AST_NODE_TYPES.Identifier&&"undefined"===n.name&&function(e,t,r){let n=r.program.getTypeChecker().getResolvedSignature(r.esTreeNodeToTSNodeMap.get(t));if(n){var u;let t=n.declaration;if(t&&(u=t,lb.has(u.kind))){let{parameters:r}=t,n=r[e];return n&&(n.initializer||n.questionToken)}}return!1}(u.length-1,r,t)&&e.report({messageId:"removeUndefined",node:a,suggest:[{messageId:"suggestRemoveUndefined",fix(t){if(1===r.arguments.length){let n=e.sourceCode.getTokenAfter(r.callee),u=e.sourceCode.getLastToken(r),[,a]=n.range,[i]=u.range;return t.removeRange([a,i])}let[,n]=u[u.length-2].range,[,i]=a.range;return t.removeRange([n,i])}}]})}}}});const lb=new Set([e2.SyntaxKind.FunctionDeclaration,e2.SyntaxKind.FunctionExpression,e2.SyntaxKind.ArrowFunction,e2.SyntaxKind.MethodDeclaration,e2.SyntaxKind.Constructor,e2.SyntaxKind.GetAccessor,e2.SyntaxKind.SetAccessor]);function lE(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class lv{visit(e,t){let r=e=>{switch(e.type){case e1.AST_NODE_TYPES.AwaitExpression:case e1.AST_NODE_TYPES.CallExpression:case e1.AST_NODE_TYPES.NewExpression:this.callLikeExpressions.push(e);break;case e1.AST_NODE_TYPES.FunctionDeclaration:case e1.AST_NODE_TYPES.FunctionExpression:case e1.AST_NODE_TYPES.ArrowFunctionExpression:return}(function(e,t){let r=[],n=t[e.type];if(n?.length)for(let t of n){let n=e[t];Array.isArray(n)?r.push(...n):r.push(n)}return r.filter(Boolean)})(e,t.sourceCode.visitorKeys).forEach(r)};r(e)}constructor(){lE(this,"callLikeExpressions",[])}}lE(lv,"getCallExpressions",(e,t)=>{let r=new lv;return r.visit(e,t),r.callLikeExpressions});var lx={rules:Object.assign({"array/no-unneeded-flat-map":ta,"browser/prefer-location-assign":to,"jsx/no-template-literal":td,"jsx/no-unneeded-nested":tl,"string/no-locale-case":tf,"string/no-simple-template-literal":tp,"unicode/no-bidi":tv,"unicode/no-invisible":tD,"ban-eslint-disable":du,"no-redundant-variable":tA,"no-single-return":tC,"prefer-early-return":tw,"prefer-fetch":t_,"prefer-timer-id":tP,"no-return-await":da,"no-expression-empty-lines":ds,"object-format":dl,"prefer-single-boolean-return":df,"no-all-duplicated-branches":dh,"no-duplicated-branches":dh,"bool-param-default":dF,"call-argument-line":dk,"class-prototype":dC,"comma-or-logical-or-case":dx,"track-todo-fixme-comment":dB,"no-element-overwrite":dD,"no-empty-collection":dL,"no-equals-in-for-termination":dV,"no-top-level-this":dX,"no-invariant-returns":dJ,"no-redundant-assignments":lt,"no-same-line-conditional":lr,"no-small-switch":ln,"no-unused-collection":li,"no-useless-plusplus":ls,"no-chain-array-higher-order-functions":ll,"string/no-unneeded-to-string":tI,"type/no-force-cast-via-top-type":tB,"type/no-wrapper-type-reference":tR,"no-default-error":tN,"no-export-const-enum":lf,"no-for-in-iterable":lp,"only-await-thenable":ly,"no-undefined-optional-parameters":lh,"no-try-promise":e0.createRule({name:"no-try-promise",meta:{schema:[],type:"problem",docs:{description:'Promise rejections should not be caught by "try" blocks',recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S4822/javascript",requiresTypeChecking:!0},messages:{addAwait:"Consider using 'await' for the promise{{ending}} inside this 'try' or replace it with 'Promise.prototype.catch(...)' usage{{ending}}.",removeTry:"Consider removing this 'try' statement as promise{{ending}} rejection is already captured by '.catch()' method."}},create(e){let t=e.sourceCode.parserServices;return e0.ensureParserWithTypeInformation(t),{TryStatement(r){if(r.handler){let n=[],u=[],a=!1;if(lv.getCallExpressions(r.block,e).forEach(e=>{var r,i,o,s;if(e.type===e1.AST_NODE_TYPES.AwaitExpression||!function(e,t){let r=t.esTreeNodeToTSNodeMap.get(e),n=t.program.getTypeChecker().getTypeAtLocation(r).getProperty("then");return!!(n&&n.flags&e2.SymbolFlags.Method)}(e,t)){a=!0;return}(r=e).parent&&(r.parent.type===e1.AST_NODE_TYPES.AwaitExpression||r.parent.type===e1.AST_NODE_TYPES.YieldExpression)||(i=e).parent&&i.parent.type===e1.AST_NODE_TYPES.MemberExpression&&i.parent.property.type===e1.AST_NODE_TYPES.Identifier&&"then"===i.parent.property.name||(o=e).type===e1.AST_NODE_TYPES.CallExpression&&o.callee.type===e1.AST_NODE_TYPES.MemberExpression&&o.callee.property.type===e1.AST_NODE_TYPES.Identifier&&"catch"===o.callee.property.name||((s=e).parent&&s.parent.type===e1.AST_NODE_TYPES.MemberExpression&&s.parent.property.type===e1.AST_NODE_TYPES.Identifier&&"catch"===s.parent.property.name?u:n).push(e)}),!a){if(n.length>0){let t=n.length>1?"s":"",u=e.sourceCode.getFirstToken(r);e.report({messageId:"addAwait",data:{ending:t},loc:u.loc})}if(0===n.length&&u.length>0){let t=u.length>1?"s":"",n=e.sourceCode.getFirstToken(r);e.report({messageId:"removeTry",data:{ending:t},loc:n.loc})}}}}}}}),"no-useless-string-operation":e0.createRule({name:"no-useless-string-operation",meta:{schema:[],messages:{uselessStringOp:"{{symbol}} is an immutable object; you must either store or return the result of the operation."},type:"problem",docs:{description:"Results of operations on strings should not be ignored",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S1154/javascript"}},create(e){let t=e.sourceCode.parserServices;return{'ExpressionStatement > CallExpression[callee.type="MemberExpression"]':r=>{let n,{object:u,property:a}=r.callee;e0.ensureParserWithTypeInformation(t),(lm(u,t).flags&e4.TypeFlags.StringLike)!=0&&a.type===e1.AST_NODE_TYPES.Identifier&&e.report({messageId:"uselessStringOp",data:{symbol:((n=e.sourceCode.getText(u)).length>30&&(n="String"),n)},node:a})}}}})},Object.fromEntries(Object.entries({"unicorn/better-regex":aV,"unicorn/catch-error-name":{create:e=>{let t={name:"error",ignore:[],...e.options[0]},{name:r}=t,n=t.ignore.map(e=>eQ.isRegExp(e)?e:RegExp(e,"u")),u=e=>e===r||n.some(t=>t.test(e))||e.endsWith(r)||e.endsWith(nB(r));return{Identifier(t){if(("CatchClause"!==t.parent.type||t.parent.param!==t)&&!(("FunctionExpression"===t.parent.type||"ArrowFunctionExpression"===t.parent.type)&&t.parent.params[0]===t&&(rL(t.parent.parent,{method:"then",argumentsLength:2,optionalCall:!1})||rL(t.parent.parent,{method:"catch",argumentsLength:1,optionalCall:!1}))&&t.parent.parent.arguments.at(-1)===t.parent))return;let n=t.name;if(u(n)||u(n.replaceAll(/_+$/g,"")))return;let a=t$(e.sourceCode.getScope(t),t);if(!a||"_"===n&&0===a.references.length)return;let i=ne(r,[a.scope,...a.references.map(({from:e})=>e)]),o={node:t,messageId:sb,data:{originalName:n,fixedName:i||r}};return i&&(o.fix=e=>n9(a,i,e)),o}}},meta:{type:"suggestion",docs:{description:"Enforce a specific parameter name in catch clauses.",recommended:!0},fixable:"code",schema:[{type:"object",additionalProperties:!1,properties:{name:{type:"string"},ignore:{type:"array",uniqueItems:!0}}}],defaultOptions:[{}],messages:{[sb]:"The catch parameter `{{originalName}}` should be named `{{fixedName}}`."}}},"unicorn/custom-error-definition":{create:e=>{e.on("ClassDeclaration",t=>sA(e,t)),e.on("AssignmentExpression",t=>{if("ClassExpression"===t.right.type)return sA(e,t.right)}),e.on("AssignmentExpression",e=>{if("MemberExpression"===e.left.type&&"Identifier"===e.left.object.type&&"exports"===e.left.object.name){let t=e.left.property.name,r=e.right;if("ClassExpression"!==r.type||!sx(r)||!r.id)return;let n=r.id.name;return t!==n?{node:e.left.property,messageId:sE,fix:t=>t.replaceText(e.left.property,n)}:void 0}})},meta:{type:"problem",docs:{description:"Enforce correct `Error` subclassing.",recommended:!1},fixable:"code",messages:{[sE]:"Exported error name should match error class"}}},"unicorn/no-nested-ternary":{create:e=>({ConditionalExpression(t){if([t.test,t.consequent,t.alternate].some(e=>"ConditionalExpression"===e.type))return;let{sourceCode:r}=e,n=r.getAncestors(t).toReversed(),u=n.findIndex(e=>"ConditionalExpression"!==e.type);return 1!==u||ra(t,r)?u>1?{node:u>2?n[u-3]:t,messageId:ry}:void 0:{node:t,messageId:rh,fix:e=>[e.insertTextBefore(t,"("),e.insertTextAfter(t,")")]}}}),meta:{type:"suggestion",docs:{description:"Disallow nested ternary expressions.",recommended:!0},fixable:"code",messages:{[ry]:"Do not nest ternary expressions.",[rh]:"Nested ternary expression should be parenthesized."}}},"unicorn/prefer-event-target":{create:e=>({Identifier(t){if("EventEmitter"!==t.name||("ClassDeclaration"!==t.parent.type&&"ClassExpression"!==t.parent.type||t.parent.superClass!==t)&&("NewExpression"!==t.parent.type||t.parent.callee!==t))return;let r=e.sourceCode.getScope(t);if(!function(e){if(!e)return!1;let t=function(e,t){let r=e=>e.type===t;for(;e.parent;e=e.parent)if(r(e))return e}(e,"ImportDeclaration");return!!(nR.has(t?.source.value)||"Property"===e.parent.type&&e.parent.value===e&&"Identifier"===e.parent.key.type&&"EventEmitter"===e.parent.key.name&&"ObjectPattern"===e.parent.parent.type&&e.parent.parent.properties.includes(e.parent)&&nN(e.parent.parent)&&nL(e.parent.parent.parent.init)||nN(e)&&rN(e.parent.init,{property:"EventEmitter",optional:!1,computed:!1})&&nL(e.parent.init.object))}(t$(r,t)?.defs[0]?.name))return{node:t,messageId:nO}}}),meta:{type:"suggestion",docs:{description:"Prefer `EventTarget` over `EventEmitter`.",recommended:"unopinionated"},messages:{[nO]:"Prefer `EventTarget` over `EventEmitter`."}}},"unicorn/prefer-keyboard-event-key":{create:e=>({Identifier(t){if("keyCode"!==t.name&&"charCode"!==t.name&&"which"!==t.name)return;let{event:r,references:n}=nq(e,t);if(r&&n&&n.some(e=>{let r;return r=e.identifier,t?.parent?.type==="MemberExpression"&&t.parent.object===r}))return nW(t)},Property(t){let r=t.value.name;if(!n$.has(r))return;let{event:n,references:u}=nq(e,t);if(!n)return;let a=nz(t,"VariableDeclarator"),i=a?.init;if(u&&u.some(e=>e.identifier===i))return nW(t.value);if("ObjectPattern"===n.type){for(let e of n.properties)if(e===t)return nW(t.value)}}}),meta:{type:"suggestion",docs:{description:"Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.",recommended:"unopinionated"},fixable:"code",messages:{[nM]:"Use `.key` instead of `.{{name}}`."}}},"unicorn/prefer-text-content":{create:()=>({MemberExpression(e){if(!rN(e,{property:"innerText"}))return;let t=e.property;return{node:t,messageId:nY,suggest:[{messageId:nV,fix:e=>e.replaceText(t,"textContent")}]}},Identifier(e){if("innerText"===e.name&&"Property"===e.parent.type&&e.parent.key===e&&!e.parent.computed&&"init"===e.parent.kind&&"ObjectPattern"===e.parent.parent.type&&e.parent.parent.properties.includes(e.parent))return{node:e,messageId:nY,suggest:[{messageId:nV,fix:t=>t.replaceText(e,e.parent.shorthand?"textContent: innerText":"textContent")}]}}}),meta:{type:"suggestion",docs:{description:"Prefer `.textContent` over `.innerText`.",recommended:"unopinionated"},hasSuggestions:!0,messages:{[nY]:"Prefer `.textContent` over `.innerText`.",[nV]:"Switch to `.textContent`."}}},"unicorn/require-array-join-separator":{create:e=>({CallExpression(t){if(!(rL(t,{method:"join",argumentsLength:0,optionalCall:!1})||rL(t,{method:"call",argumentsLength:1,optionalCall:!1,optionalMember:!1})&&rz(t.callee.object,{property:"join"})))return;let{sourceCode:r}=e,[n,u]=r.getLastTokens(t,2),a=1===t.arguments.length;return{loc:{start:r.getLoc(n)[a?"end":"start"],end:r.getLoc(u).end},messageId:ue,fix:e=>nG(e,t,"','",r)}}}),meta:{type:"suggestion",docs:{description:"Enforce using the separator argument with `Array#join()`.",recommended:"unopinionated"},fixable:"code",messages:{[ue]:"Missing the separator argument."}}},"unicorn/no-thenable":{create:e=>{for(let{selector:t,selectors:r,messageId:n,getNodes:u}of ui)e.on(t??r,function*(t){for(let r of u(t,e))yield{node:r,messageId:n}})},meta:{type:"problem",docs:{description:"Disallow `then` property.",recommended:"unopinionated"},messages:{[ut]:"Do not add `then` to an object.",[ur]:"Do not export `then`.",[un]:"Do not add `then` to a class."}}},"unicorn/no-invalid-remove-event-listener":{create:e=>({CallExpression(t){if(!(rL(t,{method:"removeEventListener",minimumArguments:2,optionalCall:!1})&&"SpreadElement"!==t.arguments[0].type&&("FunctionExpression"===t.arguments[1].type||"ArrowFunctionExpression"===t.arguments[1].type||rL(t.arguments[1],{method:"bind",optionalCall:!1,optionalMember:!1}))))return;let[,r]=t.arguments;return["ArrowFunctionExpression","FunctionExpression"].includes(r.type)?{node:r,loc:tH(r,e.sourceCode),messageId:uo}:{node:r.callee.property,messageId:uo}}}),meta:{type:"problem",docs:{description:"Prevent calling `EventTarget#removeEventListener()` with the result of an expression.",recommended:"unopinionated"},messages:{[uo]:"The listener argument should be a function reference."}}},"unicorn/consistent-function-scoping":up,"unicorn/no-new-buffer":{create:e=>{let{sourceCode:t}=e;return{NewExpression(e){if(!rF(e,{name:"Buffer"}))return;let r=((e,t)=>{if(1!==e.length)return"from";let[r]=e;if("SpreadElement"===r.type)return;if("ArrayExpression"===r.type||"TemplateLiteral"===r.type)return"from";if(function e(t,r){if(rA(t)||um(t,"Math",uy)||"CallExpression"===t.type&&!t.optional&&um(t.callee,"Math",uh)||ug(t,"Number")||um(t,"Number",ub)||"CallExpression"===t.type&&!t.optional&&um(t.callee,"Number",uE)||ug(t,"parseInt")||ug(t,"parseFloat")||"MemberExpression"===t.type&&!t.computed&&!t.optional&&"Identifier"===t.property.type&&"length"===t.property.name)return!0;switch(t.type){case"AssignmentExpression":{let{operator:n}=t;if("="===n&&e(t.right,r))return!0}case"BinaryExpression":{let{operator:n}=t;if("AssignmentExpression"===t.type&&(n=n.slice(0,-1)),"+"===n&&e(t.left,r)&&e(t.right,r)||">>>"===n||uv.has(n)&&(e(t.left,r)||e(t.right,r)))return!0;break}case"UnaryExpression":{let{operator:n}=t;if("+"===n||("-"===n||"~"===n)&&e(t.argument,r))return!0;break}case"UpdateExpression":if(e(t.argument,r))return!0;break;case"ConditionalExpression":{let n=e(t.consequent,r),u=e(t.alternate,r);if(n&&u)return!0;let a=t8(t.test,r);if(null!==a&&(a.value&&n||!a.value&&u))return!0;break}case"SequenceExpression":if(e(t.expressions.at(-1),r))return!0}return"number"==typeof t8(t,r)?.value}(r,t))return"alloc";let n=t8(r,t);if(n){let{value:e}=n;if("string"==typeof e||Array.isArray(e))return"from"}})(e.arguments,t.getScope(e));return r?{node:e,messageId:ux,data:{method:r},fix:uS(e,t,r)}:{node:e,messageId:uD,suggest:["from","alloc"].map(r=>({messageId:uA,data:{replacement:r},fix:uS(e,t,r)}))}}}},meta:{type:"problem",docs:{description:"Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,messages:{[ux]:"`new Buffer()` is deprecated, use `Buffer.{{method}}()` instead.",[uD]:"`new Buffer()` is deprecated, use `Buffer.alloc()` or `Buffer.from()` instead.",[uA]:"Switch to `Buffer.{{replacement}}()`."}}},"unicorn/no-console-spaces":{create:e=>{let{sourceCode:t}=e,r=(e,r,n)=>{let[u,a]=t.getRange(e),i="leading"===n?u+1:a-2,o=[i,i+1];return{loc:nI(o,t),messageId:uC,data:{method:r,position:n},fix:e=>e.removeRange(o)}};return{*CallExpression(e){if(!rL(e,{object:"console",methods:["log","debug","info","warn","error"],minimumArguments:1,optionalCall:!1,optionalMember:!1}))return;let n=e.callee.property.name,{arguments:u}=e,{length:a}=u;for(let[e,i]of u.entries()){if(!rD(i)&&"TemplateLiteral"!==i.type)continue;let u=t.getText(i).slice(1,-1);0!==e&&uT(u)&&(yield r(i,n,"leading")),e!==a-1&&uw(u)&&(yield r(i,n,"trailing"))}}}},meta:{type:"suggestion",docs:{description:"Do not use leading/trailing space between `console.log` parameters.",recommended:"unopinionated"},fixable:"code",messages:{[uC]:"Do not use {{position}} space between `console.{{method}}` parameters."}}},"unicorn/no-empty-file":{create:e=>{let t=e.physicalFilename;if(/\.(?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$/i.test(t))return{Program(t){if(t.body.some(e=>!rI(e,rP)))return;let{sourceCode:r}=e;if(!r.getAllComments().some(e=>"Line"===e.type&&e.value.startsWith("/")))return{node:t,messageId:u_}}}},meta:{type:"suggestion",docs:{description:"Disallow empty files.",recommended:"unopinionated"},messages:{[u_]:"Empty files are not allowed."}}},"unicorn/no-useless-fallback-in-spread":{create:e=>({ObjectExpression(t){if(0===t.properties.length&&"LogicalExpression"===t.parent.type&&t.parent.right===t&&("||"===t.parent.operator||"??"===t.parent.operator)&&"SpreadElement"===t.parent.parent.type&&t.parent.parent.argument===t.parent&&"ObjectExpression"===t.parent.parent.parent.type&&t.parent.parent.parent.properties.includes(t.parent.parent))return{node:t,messageId:uF,*fix(r){let{sourceCode:n}=e,u=t.parent,{left:a}=u,i=ra(a,n),[,o]=i?rE(a,n):n.getRange(a),[,s]=n.getRange(u);yield r.removeRange([o,s]),(i||"SequenceExpression"!==a.type)&&(yield*nZ(u,r,n))}}}}),meta:{type:"suggestion",docs:{description:"Disallow useless fallback when spreading in object literals.",recommended:"unopinionated"},fixable:"code",messages:{[uF]:"The empty object is useless."}}},"unicorn/no-useless-length-check":{create:e=>{let t=[],r=new Set,n=new Set,u=new Set,a=new Set;return{BinaryExpression(e){if("BinaryExpression"===e.type&&"Literal"===e.right.type&&"0"===e.right.raw&&rN(e.left,{property:"length",optional:!1})&&rW(e.parent)){let{operator:t}=e;"==="===t?r.add(e):(">"===t||"!=="===t)&&n.add(e)}},CallExpression(e){rL(e,{optionalCall:!1,optionalMember:!1,computed:!1})&&"Identifier"===e.callee.property.type&&("some"===e.callee.property.name?u.add(e):"every"===e.callee.property.name&&a.add(e))},LogicalExpression(e){rW(e)&&t.push(e)},*"Program:exit"(){let i=new Set(t.flatMap(e=>(function(e){let{operator:t}=e;return(function e(t){return[t.left,t.right].flatMap(r=>"LogicalExpression"===r.type&&r.operator===t.operator?e(r):[r])})(e).filter((e,i,o)=>(function({node:e,operator:t,siblings:i}){return"||"===t&&r.has(e)&&i.some(t=>a.has(t)&&nf(e.left.object,t.callee.object))||"&&"===t&&n.has(e)&&i.some(t=>u.has(t)&&nf(e.left.object,t.callee.object))})({node:e,operator:t,siblings:[o[i-1],o[i+1]].filter(Boolean)}))})(e))),{sourceCode:o}=e;for(let e of i)yield{loc:{start:o.getLoc(e.left.property).start,end:o.getLoc(e).end},messageId:r.has(e)?"zero":"non-zero",fix(t){let{left:r,right:n}=e.parent,u=rE(r,o),a=rE(n,o),i=[];return r===e?(i[0]=u[0],i[1]=a[0]):(i[0]=u[1],i[1]=a[1]),t.removeRange(i)}}}}},meta:{type:"suggestion",docs:{description:"Disallow useless array length check.",recommended:"unopinionated"},fixable:"code",messages:{"non-zero":"The non-empty check is useless as `Array#some()` returns `false` for an empty array.",zero:"The empty check is useless as `Array#every()` returns `true` for an empty array."}}},"unicorn/no-useless-promise-resolve-reject":{create:e=>{let{sourceCode:t}=e;return{CallExpression(e){if(!(rL(e,{object:"Promise",methods:["resolve","reject"],optionalCall:!1,optionalMember:!1})&&("ArrowFunctionExpression"===e.parent.type&&e.parent.body===e||"ReturnStatement"===e.parent.type&&e.parent.argument===e||"YieldExpression"===e.parent.type&&!e.parent.delegate&&e.parent.argument===e)))return;let{functionNode:r,isInTryStatement:n}=function(e){let t,r=!1;for(;e;e=e.parent){if(rR(e)){t=e;break}"TryStatement"===e.type&&(r=!0)}return{functionNode:t,isInTryStatement:r}}(e);if(r&&(r.async||function(e){if("CallExpression"===e.parent.type&&"MemberExpression"===e.parent.callee.type&&!e.parent.callee.computed&&"Identifier"===e.parent.callee.property.type){let{callee:{property:t},arguments:r}=e.parent;if(1===r.length&&("then"===t.name||"catch"===t.name||"finally"===t.name)&&r[0]===e||2===r.length&&"then"===t.name&&(r[0]===e||"SpreadElement"!==r[0].type&&r[1]===e))return!0}return!1}(r))){var u=function(e,t,r){if(e.arguments.length>1)return;let{callee:n,parent:u,arguments:[a]}=e;if(a?.type==="SpreadElement")return;let i="reject"===n.property.name,o="YieldExpression"===u.type;if(!i||!t&&(!o||"ExpressionStatement"===u.parent.type))return function(t){let n="ArrowFunctionExpression"===u.type,s=a?r.getText(a):"";if(a?.type==="SequenceExpression"&&(s=`(${s})`),i){if(s||="undefined",s=`throw ${s}`,o)return t.replaceTextRange(rE(u,r),s);if(s+=";",n)return s=`{ ${s} }`,t.replaceTextRange(rE(e,r),s)}else o?s=`yield${s?" ":""}${s}`:"ReturnStatement"===u.type?s=`return${s?" ":""}${s};`:(a?.type==="ObjectExpression"&&(s=`(${s})`),s||="{}");return t.replaceText(n?e:u,s)}}(e,n,t);let{callee:r,parent:a}=e,i=r.property.name;return{node:r,messageId:i,data:{type:"YieldExpression"===a.type?"yield":"return"},fix:u}}}}},meta:{type:"suggestion",docs:{description:"Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks",recommended:"unopinionated"},fixable:"code",messages:{resolve:"Prefer `{{type}} value` over `{{type}} Promise.resolve(value)`.",reject:"Prefer `throw error` over `{{type}} Promise.reject(error)`."}}},"unicorn/no-zero-fractions":{create:e=>({Literal(t){if(!rA(t))return;let{raw:r}=t,n=r.match(/^(?<before>[\d_]*)(?<dotAndFractions>\.[\d_]*)(?<after>.*)$/);if(!n)return;let{before:u,dotAndFractions:a,after:i}=n.groups,o=(u+a.replaceAll(/[.0_]+$/g,"")||"0")+i;if(o===r)return;let s="."===a,{sourceCode:d}=e,l=d.getRange(t)[0]+u.length+a.length;return{loc:nI([l-(r.length-o.length),l],d),messageId:s?uP:uk,*fix(e){let r=o;"MemberExpression"===t.parent.type&&t.parent.object===t&&nw(o)&&!ra(t,d)&&(r=`(${r})`,nh(d.getTokenBefore(t),d,r)&&(r=`;${r}`)),yield e.replaceText(t,r),yield*n1(e,t,d)}}}}),meta:{type:"suggestion",docs:{description:"Disallow number literals with zero fractions or dangling dots.",recommended:"unopinionated"},fixable:"code",messages:{[uk]:"Don't use a zero fraction in the number.",[uP]:"Don't use a dangling dot in the number."}}},"unicorn/prefer-export-from":u$,"unicorn/prefer-native-coercion-functions":{create:e=>{e.on(rO,t=>{if(t.async||t.generator||0===t.params.length||"Identifier"!==t.params[0].type||("MethodDefinition"===t.parent.type&&("constructor"===t.parent.kind||"set"===t.parent.kind)||"Property"===t.parent.type&&"set"===t.parent.kind)&&t.parent.value===t)return;let r=function(e){if(("ArrowFunctionExpression"===e.type&&"Identifier"===e.body.type&&e.body.name===e.params[0].name||"BlockStatement"===e.body.type&&1===e.body.body.length&&"ReturnStatement"===e.body.body[0].type&&e.body.body[0].argument?.type==="Identifier"&&e.body.body[0].argument.name===e.params[0].name)&&"CallExpression"===e.parent.type&&!e.parent.optional&&e.parent.arguments[0]===e&&"MemberExpression"===e.parent.callee.type&&!e.parent.callee.computed&&!e.parent.callee.optional&&"Identifier"===e.parent.callee.property.type&&uz.has(e.parent.callee.property.name))return{replacementFunction:"Boolean",fix:t=>t.replaceText(e,"Boolean")}}(t)||function(e){let t=function(e){let t=e.params[0].name;return"ArrowFunctionExpression"===e.type&&uW(e.body,t)?e.body:"BlockStatement"===e.body.type&&1===e.body.body.length&&"ReturnStatement"===e.body.body[0].type&&uW(e.body.body[0].argument,t)?e.body.body[0].argument:void 0}(e);if(!t)return;let{name:r}=t.callee,n={replacementFunction:r};return"FunctionDeclaration"===e.type||1!==t.arguments.length||(n.fix=t=>{let n=r;return"Property"===e.parent.type&&e.parent.method&&e.parent.value===e?n=`: ${n}`:"MethodDefinition"===e.parent.type&&(n=` = ${n};`),t.replaceText(e,n)}),n}(t);if(!r)return;let{sourceCode:n}=e,{replacementFunction:u,fix:a}=r;return r={node:t,loc:tH(t,n),messageId:uU,data:{functionNameWithKind:t7(t,n),replacementFunction:u}},!a||1!==t.params.length||n.getCommentsInside(t).length>0||(r.fix=a),r})},meta:{type:"suggestion",docs:{description:"Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.",recommended:"unopinionated"},fixable:"code",messages:{[uU]:"{{functionNameWithKind}} is equivalent to `{{replacementFunction}}`. Use `{{replacementFunction}}` directly."}}},"unicorn/no-document-cookie":{create:e=>uG.createListeners(e),meta:{type:"problem",docs:{description:"Do not use `document.cookie` directly.",recommended:"unopinionated"},messages:{[uZ]:"Do not use `document.cookie` directly."}}},"unicorn/prefer-add-event-listener":uQ,"unicorn/prefer-array-index-of":u5,"unicorn/prefer-blob-reading-methods":{create:()=>({CallExpression(e){if(!rL(e,{methods:["readAsText","readAsArrayBuffer"],argumentsLength:1,optionalCall:!1,optionalMember:!1}))return;let t=e.callee.property,r=t.name;return{node:t,messageId:u8,data:{method:r,replacement:"readAsArrayBuffer"===r?"arrayBuffer":"text"}}}}),meta:{type:"suggestion",docs:{description:"Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.",recommended:"unopinionated"},messages:{[u8]:"Prefer `Blob#{{replacement}}()` over `FileReader#{{method}}(blob)`."}}},"unicorn/prefer-date-now":{create:e=>({CallExpression(e){if(rL(e,{methods:["getTime","valueOf"],argumentsLength:0,optionalCall:!1,optionalMember:!1})&&ae(e.callee.object)){let t=e.callee.property;return at(e,{node:t,messageId:u9,data:{method:t.name}})}if(r_(e,{names:["Number","BigInt"],argumentsLength:1,optional:!1})&&ae(e.arguments[0])){let{name:t}=e.callee;return"Number"===t?at(e,{messageId:u7}):at(e.arguments[0])}},UnaryExpression(t){if(("+"===t.operator||"-"===t.operator)&&ae(t.argument))return at("-"===t.operator?t.argument:t,{},e.sourceCode)},AssignmentExpression(e){if(("-="===e.operator||"*="===e.operator||"/="===e.operator||"%="===e.operator||"**="===e.operator)&&ae(e.right))return at(e.right)},*BinaryExpression(e){if("-"===e.operator||"*"===e.operator||"/"===e.operator||"%"===e.operator||"**"===e.operator)for(let t of[e.left,e.right])ae(t)&&(yield at(t))}}),meta:{type:"suggestion",docs:{description:"Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.",recommended:"unopinionated"},fixable:"code",messages:{[u6]:"Prefer `Date.now()` over `new Date()`.",[u9]:"Prefer `Date.now()` over `Date#{{method}}()`.",[u7]:"Prefer `Date.now()` over `Number(new Date())`."}}},"unicorn/prefer-dom-node-dataset":{create:e=>({CallExpression(t){if(!((rL(t,{method:"setAttribute",argumentsLength:2,optionalCall:!1,optionalMember:!1})||rL(t,{methods:["removeAttribute","hasAttribute"],argumentsLength:1,optionalCall:!1,optionalMember:!1})||rL(t,{method:"getAttribute",argumentsLength:1,optionalCall:!1}))&&rD(t.arguments[0])))return;let r=t.callee.property.name;if(("AwaitExpression"!==t.parent.type||t.parent.argument!==t||"getAttribute"!==r)&&t.arguments[0].value.toLowerCase().startsWith("data-"))return{node:t,messageId:an,data:{method:t.callee.property.name},fix:function(e,t){let r=e.callee.property.name;if(!("setAttribute"===r&&function e(t){return("MemberExpression"===t.type||"CallExpression"===t.type)&&(!!t.optional||"MemberExpression"===t.type&&e(t.object))}(e.callee))){if(("setAttribute"!==r||rB(e.parent))&&("removeAttribute"!==r||rB(e.parent)))return n=>{let[u]=e.arguments,a=u.value.toLowerCase().slice(5).replaceAll(/-[a-z]/g,e=>e[1].toUpperCase()),{sourceCode:i}=t,o="",s=`${i.getText(e.callee.object)}${e.callee.optional?"?":""}.dataset`;switch(r){case"setAttribute":case"getAttribute":case"removeAttribute":o=ar(a)?`.${a}`:`[${rH(a,u.raw.charAt(0))}]`,o=`${s}${o}`,"setAttribute"===r?o+=` = ${i.getText(e.arguments[1])}`:"removeAttribute"===r&&(o=`delete ${o}`);break;case"hasAttribute":o=`Object.hasOwn(${s}, ${rH(a,u.raw.charAt(0))})`}return n.replaceText(e,o)}}}(t,e)}}}),meta:{type:"suggestion",docs:{description:"Prefer using `.dataset` on DOM elements over calling attribute methods.",recommended:"unopinionated"},fixable:"code",messages:{[an]:"Prefer `.dataset` over `{{method}}(…)`."}}},"unicorn/prefer-modern-math-apis":{create:e=>{let t=[];return{CallExpression(t){if(!rL(t,{object:"Math",method:"sqrt",argumentsLength:1,optionalCall:!1,optionalMember:!1}))return;let r=al(t.arguments[0]);if(r.some(e=>!("BinaryExpression"===e.type&&("*"===e.operator&&nf(e.left,e.right)||"**"===e.operator&&rx(e.right,2)))))return;let n=1===r.length?"abs":"hypot",u=new Set(1===r.length?[]:r.map(e=>e.parent));return{node:t.callee.property,messageId:au,data:{replacement:`Math.${n}(…)`,description:"Math.sqrt(…)"},*fix(a){let{sourceCode:i}=e;for(let e of(yield a.replaceText(t.callee.property,n),u)){let t=i.getTokenAfter(e.left,e=>"Punctuator"===e.type&&"+"===e.value);yield*n7(t,",",a,i),yield*nZ(e,a,i)}for(let e of r)yield a.removeRange([rE(e.left,i)[1],i.getRange(e)[1]])}}},BinaryExpression(e){t.push(e)},*"Program:exit"(){for(let r of t)for(let t of ad){let n=t(r,e);n&&(yield n)}}}},meta:{type:"suggestion",docs:{description:"Prefer modern `Math` APIs over legacy patterns.",recommended:"unopinionated"},fixable:"code",messages:{[au]:"Prefer `{{replacement}}` over `{{description}}`."}}},"unicorn/number-literal-case":ap,"unicorn/prefer-number-properties":ah,"unicorn/prefer-reflect-apply":{create:e=>({CallExpression(t){if(!rL(t,{optionalCall:!1,optionalMember:!1})||"Literal"===t.callee.object.type||"ArrayExpression"===t.callee.object.type||"ObjectExpression"===t.callee.object.type)return;let{sourceCode:r}=e,n=((e,t)=>{if("apply"===t9(e.callee)&&2===e.arguments.length&&aE(e.arguments[0],e.arguments[1]))return r=>r.replaceText(e,av(t,e.callee.object,e.arguments[0],e.arguments[1]))})(t,r)||((e,t)=>{if("call"===t9(e.callee)&&"apply"===t9(e.callee.object)&&"prototype"===t9(e.callee.object.object)&&e.callee.object.object.object?.type==="Identifier"&&"Function"===e.callee.object.object.object.name&&3===e.arguments.length&&aE(e.arguments[1],e.arguments[2]))return r=>r.replaceText(e,av(t,e.arguments[0],e.arguments[1],e.arguments[2]))})(t,r);if(n)return{node:t,messageId:ab,fix:n}}}),meta:{type:"suggestion",docs:{description:"Prefer `Reflect.apply()` over `Function#apply()`.",recommended:"unopinionated"},fixable:"code",messages:{[ab]:"Prefer `Reflect.apply()` over `Function#apply()`."}}},"unicorn/prefer-set-size":{create:e=>{let{sourceCode:t}=e;return{MemberExpression(e){if(!rN(e,{property:"length",optional:!1})||"ArrayExpression"!==e.object.type||1!==e.object.elements.length||e.object.elements[0]?.type!=="SpreadElement")return;let r=e.object.elements[0].argument;if(function(e,t){if(aD(e))return!0;if("Identifier"!==e.type)return!1;let r=t$(t,e);if(!r||1!==r.defs.length)return!1;let[n]=r.defs;if("Variable"!==n.type||"const"!==n.kind)return!1;let u=n.node;return"VariableDeclarator"===u.type&&"Identifier"===u.id.type&&aD(n.node.init)}(r,t.getScope(r)))return{node:e.property,messageId:ax,fix:function(e,t){let{object:r,property:n}=t,u=r.elements[0].argument;if(!(e.getCommentsInside(r).length>e.getCommentsInside(u).length))return function*(a){yield a.replaceText(n,"size"),yield a.replaceText(r,e.getText(u)),yield*n1(a,t,e)}}(t,e)}}}},meta:{type:"suggestion",docs:{description:"Prefer using `Set#size` instead of `Array#length`.",recommended:"unopinionated"},fixable:"code",messages:{[ax]:"Prefer using `Set#size` instead of `Array#length`."}}},"unicorn/prefer-string-replace-all":{create:e=>({CallExpression(t){if(!rL(t,{methods:["replace","replaceAll"],argumentsLength:2,optionalCall:!1}))return;let{arguments:[r],callee:{property:n}}=t;if(!((e,t)=>{if(rS(e))return e.regex.flags.includes("g");if(rF(e,{name:"RegExp"})&&e.arguments[0]?.type!=="SpreadElement"&&e.arguments[1]?.type==="Literal"&&"string"==typeof e.arguments[1].value)return e.arguments[1].value.includes("g");let r=t8(e,t);if(!r)return!1;let{value:n}=r;return"[object RegExp]"===Object.prototype.toString.call(n)&&n.global})(r,e.sourceCode.getScope(r)))return;let u=n.name,a=function(e){let t;if(!rS(e))return;let{pattern:r,flags:n}=e.regex;if("g"!==n.replace("u","").replace("v",""))return;try{t=aS(r,n,{unicodePropertyEscape:n.includes("u"),unicodeSet:n.includes("v"),namedGroups:!0,lookbehind:!0})}catch{return}let u="alternative"===t.type?t.body:[t];if(!u.some(e=>"value"!==e.type))return"'"+u.map(e=>{let{kind:t,codePoint:r,raw:n}=e;if("controlLetter"===t)return 13===r?String.raw`\r`:10===r?String.raw`\n`:9===r?String.raw`\t`:`\\u{${r.toString(16)}}`;if("octal"===t)return`\\u{${r.toString(16)}}`;let u=n;return("identifier"===t&&(u=u.slice(1)),"'"===u||"\\"===u)?`\\${u}`:u}).join("")+"'"}(r);if("replaceAll"===u){if(!a)return;return{node:r,messageId:aT,data:{replacement:a.length<20?a:"a string literal"},fix:e=>e.replaceText(r,a)}}return{node:n,messageId:aC,*fix(e){yield e.insertTextAfter(n,"All"),a&&(yield e.replaceText(r,a))}}}}),meta:{type:"suggestion",docs:{description:"Prefer `String#replaceAll()` over regex searches with the global flag.",recommended:"unopinionated"},fixable:"code",messages:{[aC]:"Prefer `String#replaceAll()` over `String#replace()`.",[aT]:"This pattern can be replaced with {{replacement}}."}}},"unicorn/prefer-string-slice":{create:e=>({CallExpression(t){if(!rL(t,{methods:["substr","substring"]}))return;let r=t.callee.property.name;return{node:t,messageId:r,*fix(n,{abort:u}){if(yield n.replaceText(t.callee.property,"slice"),0!==t.arguments.length){if(t.arguments.length>2||t.arguments.some(e=>"SpreadElement"===e.type))return u();yield*("substr"===r?function*({node:e,fixer:t,context:r,abort:n}){let u=e.arguments,[a,i]=u;if(!i)return;let{sourceCode:o}=r,s=t8(a,o.getScope(e)),d=rE(i,o),l=e=>nH(t,i,e,o);return s?.value===0?rA(i)||a_(i)?void 0:"number"==typeof aw(i)?void(yield l(Math.max(0,aw(i)))):(yield t.insertTextBeforeRange(d,"Math.max(0, "),void(yield t.insertTextAfterRange(d,")"))):u.every(e=>rA(e))?void(yield l(a.value+i.value)):n()}:function*({node:e,fixer:t,context:r,abort:n}){let{sourceCode:u}=r,[a,i]=e.arguments,o=a?aw(a):void 0,s=rv(a,u),d=e=>nH(t,a,e,u);if(!i){if(a_(a))return;if(void 0!==o)return void(yield d(Math.max(0,o)));let e=rE(a,u);return yield t.insertTextBeforeRange(e,"Math.max(0, "),void(yield t.insertTextAfterRange(e,")"))}let l=aw(i),c=rv(i,u),f=e=>nH(t,i,e,u);if(void 0!==o&&void 0!==l){let e=[Math.max(0,o),Math.max(0,l)];o>l&&e.reverse(),e[0]!==o&&(yield d(e[0])),e[1]!==l&&(yield f(e[1]));return}if(0===o||0===l){yield d(0),yield f(`Math.max(0, ${0===o?c:s})`);return}return n()})({node:t,fixer:n,context:e,abort:u})}}}}}),meta:{type:"suggestion",docs:{description:"Prefer `String#slice()` over `String#substr()` and `String#substring()`.",recommended:"unopinionated"},fixable:"code",messages:{substr:"Prefer `String#slice()` over `String#substr()`.",substring:"Prefer `String#slice()` over `String#substring()`."}}},"unicorn/prefer-string-trim-start-end":{create:()=>({CallExpression(e){if(!rL(e,{methods:["trimLeft","trimRight"],argumentsLength:0,optionalCall:!1}))return;let t=e.callee.property,r=t.name,n="trimLeft"===r?"trimStart":"trimEnd";return{node:t,messageId:aF,data:{method:r,replacement:n},fix:e=>e.replaceText(t,n)}}}),meta:{type:"suggestion",docs:{description:"Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.",recommended:"unopinionated"},fixable:"code",messages:{[aF]:"Prefer `String#{{replacement}}()` over `String#{{method}}()`."}}},"unicorn/no-unreadable-iife":{create:e=>({CallExpression(t){let{sourceCode:r}=e;if("ArrowFunctionExpression"===t.callee.type&&"BlockStatement"!==t.callee.body.type&&ra(t.callee.body,r))return{node:t,loc:nI(rE(t.callee.body,r),r),messageId:ak}}}),meta:{type:"suggestion",docs:{description:"Disallow unreadable IIFEs.",recommended:"unopinionated"},hasSuggestions:!1,messages:{[ak]:"IIFE with parenthesized arrow function body is considered unreadable."}}},"unicorn/throw-new-error":{create:e=>({CallExpression(t){let{callee:r}=t;if(("Identifier"===r.type&&aI.test(r.name)||"MemberExpression"===r.type&&!r.computed&&"Identifier"===r.property.type&&aI.test(r.property.name))&&!rN(r,{object:"Data",property:"TaggedError",computed:!1}))return{node:t,messageId:aP,fix:r=>n3(t,e.sourceCode,r)}}}),meta:{type:"suggestion",docs:{description:"Require `new` when creating an error.",recommended:"unopinionated"},fixable:"code",messages:{[aP]:"Use `new` when creating an error."}}},"unicorn/escape-case":{create:e=>{let t="lowercase"===e.options[0];e.on("Literal",e=>{if(rD(e))return aX({node:e,original:e.raw,lowercase:t})}),e.on("Literal",e=>{if(rS(e))return aX({node:e,original:e.raw,regex:aH,lowercase:t})}),e.on("TemplateElement",e=>{if(!rU(e.parent,["String.raw"]))return aX({node:e,original:e.value.raw,lowercase:t,fix:(t,r)=>n8(t,e,r)})})},meta:{type:"suggestion",docs:{description:"Require escape sequences to use uppercase or lowercase values.",recommended:"unopinionated"},fixable:"code",schema:[{enum:["uppercase","lowercase"]}],defaultOptions:["uppercase"],messages:{[aZ]:"Use uppercase characters for the value of the escape sequence.",[aG]:"Use lowercase characters for the value of the escape sequence."}}},"unicorn/no-hex-escape":{create:e=>({Literal(t){if(rD(t)||rS(t))return aQ(e,t,t.raw)},TemplateElement(t){if(!rU(t.parent,["String.raw"]))return aQ(e,t,t.value.raw)}}),meta:{type:"suggestion",docs:{description:"Enforce the use of Unicode escapes instead of hexadecimal escapes.",recommended:"unopinionated"},fixable:"code",messages:{[aJ]:"Use Unicode escapes instead of hexadecimal escapes."}}},"unicorn/prefer-prototype-methods":{create:function(e){let{sourceCode:t}=e,r=[];e.on("CallExpression",e=>{r.push(e)}),e.on("Program:exit",function*(e){let n=new WeakMap;for(let{node:r,path:u}of new rm(t.getScope(e)).iterateGlobalReferences(Object.fromEntries(a0.map(e=>[e,{[rm.READ]:!0}]))))n.set(r,u);for(let e of r)yield function(e,{sourceCode:t,globalReferences:r}){let n;rL(e,{object:"Reflect",method:"apply",minimumArguments:1,optionalCall:!1,optionalMember:!1})?n=e.arguments[0]:rL(e,{methods:["apply","bind","call"],optionalCall:!1,optionalMember:!1})&&(n=e.callee.object);let{isGlobalReference:u,constructorName:a,methodName:i}=function(e,{sourceCode:t,globalReferences:r}){if(!e)return;if(r.has(e))return{isGlobalReference:!0,constructorName:"Object",methodName:r.get(e).at(-1)};if(!rN(e,{optional:!1}))return;let n=e.object;if("ArrayExpression"===n.type&&0===n.elements.length||"ObjectExpression"===n.type&&0===n.properties.length)return{constructorName:"ArrayExpression"===n.type?"Array":"Object",methodName:t9(e,t.getScope(e))}}(n,{sourceCode:t,globalReferences:r})??{};if(a)return{node:n,messageId:i?"known-method":"unknown-method",data:{constructorName:a,methodName:i},*fix(r){if(u)return void(yield r.replaceText(n,`${a}.prototype.${i}`));if(rN(n)){let u=n.object;yield r.replaceText(u,`${a}.prototype`),("ArrayExpression"===u.type||"ObjectExpression"===u.type)&&(yield*n1(r,e,t))}}}}(e,{sourceCode:t,globalReferences:n})})},meta:{type:"suggestion",docs:{description:"Prefer borrowing methods from the prototype instead of the instance.",recommended:"unopinionated"},fixable:"code",messages:{"known-method":"Prefer using `{{constructorName}}.prototype.{{methodName}}`.","unknown-method":"Prefer using method from `{{constructorName}}.prototype`."}}},"unicorn/error-message":{create:e=>{e.on(["CallExpression","NewExpression"],t=>{if(!(rk(t,{names:a1,optional:!1})&&e.sourceCode.isGlobalReference(t.callee)))return;let r=t.callee.name,n=a5.has(r)?a5.get(r):0,u=t.arguments;if(u.some((e,t)=>t<=n&&"SpreadElement"===e.type))return;let a=u[n];if(!a)return{node:t,messageId:a3,data:{constructorName:r}};if("ArrayExpression"===a.type||"ObjectExpression"===a.type)return{node:a,messageId:a4};let i=t8(a,e.sourceCode.getScope(a));if(!i)return;let{value:o}=i;return"string"!=typeof o?{node:a,messageId:a4}:""===o?{node:a,messageId:a2}:void 0})},meta:{type:"problem",docs:{description:"Enforce passing a `message` value when creating a built-in error.",recommended:"unopinionated"},messages:{[a3]:"Pass a message to the `{{constructorName}}` constructor.",[a2]:"Error message should not be an empty string.",[a4]:"Error message should be a string."}}},"unicorn/no-instanceof-builtins":iu,"unicorn/prefer-type-error":{create:()=>({ThrowStatement(e){let t;if(rF(e.argument,{name:"Error"})&&e.parent&&e.parent.body&&1===e.parent.body.length&&e.parent.parent&&"IfStatement"===(t=e.parent.parent).type&&ic(t.test)){let t=e.argument.callee;return{node:t,messageId:ia,fix:e=>e.insertTextBefore(t,"Type")}}}}),meta:{type:"suggestion",docs:{description:"Enforce throwing `TypeError` in type checking conditions.",recommended:"unopinionated"},fixable:"code",messages:{[ia]:"`new Error()` is too unspecific for a type check. Use `new TypeError()` instead."}}},"unicorn/consistent-destructuring":{create:e=>{let{sourceCode:t}=e,r=new Map;return{VariableDeclarator(e){"ObjectPattern"===e.id.type&&e.init&&"Literal"!==e.init.type&&(e=>{for(;e;){if(e.computed)return!1;if("MemberExpression"!==e.type)break;e=e.object}return"Identifier"===e.type||"ThisExpression"===e.type})(e.init)&&r.set(t.getText(e.init),{scope:t.getScope(e),variables:t.getDeclaredVariables(e),objectPattern:e.id})},MemberExpression(e){if(e.computed||rk(e.parent)&&e.parent.callee===e||ni(e))return;let n=r.get(t.getText(e.object));if(!n)return;let{scope:u,objectPattern:a}=n,i=t.getScope(e);if(!((e,t)=>{for(;e;){if(e===t)return!0;e=e.upper}return!1})(i,u))return;let o=a.properties.filter(e=>"Property"===e.type&&"Identifier"===e.key.type&&"Identifier"===e.value.type),s=a.properties.at(-1),d=s&&"RestElement"===s.type,l=t.getText(e),c=t.getText(e.property),f=o.find(e=>e.key.name===c);if(!f&&(d||ne(c,[i])!==c))return;if("MemberExpression"===e.parent.type)return{node:e,messageId:ip};let p=f?f.value.name:c;return{node:e,messageId:ip,suggest:[{messageId:im,data:{expression:l,property:p},*fix(t){let{properties:r}=a,n=r.at(-1);yield t.replaceText(e,p),f||(yield n?t.insertTextAfter(n,`, ${p}`):t.replaceText(a,`{${p}}`))}}]}}}},meta:{type:"suggestion",docs:{description:"Use destructured variables over properties.",recommended:!1},hasSuggestions:!0,messages:{[ip]:"Use destructured variables over properties.",[im]:"Replace `{{expression}}` with destructured property `{{property}}`."}}},"unicorn/new-for-builtins":{create:e=>{let{sourceCode:t}=e,r=new uV({objects:iy,type:uV.CONSTRUCT,handle:e=>(function({node:e,path:[t]},r){let n={node:e,messageId:"disallow",data:{name:t}};return"String"!==t&&"Boolean"!==t&&"Number"!==t&&(n.fix=function*(t){yield*nQ(e,r,t)}),n})(e,t)}),n=new uV({objects:ig,type:uV.CALL,handle:e=>(function({node:e,path:[t]},r){if("Object"===t){let{parent:t}=e;if("BinaryExpression"===t.type&&("==="===t.operator||"!=="===t.operator)&&(t.left===e||t.right===e))return}if("Date"===t){function*n(t){yield t.replaceText(e,"String(new Date())"),yield*n1(t,e,r)}let t={node:e,messageId:ih};return 0===r.getCommentsInside(e).length&&0===e.arguments.length?t.fix=n:t.suggest=[{messageId:ib,fix:n}],t}return{node:e,messageId:"enforce",data:{name:t},fix:t=>n3(e,r,t)}})(e,t)});return{*"Program:exit"(e){let u=t.getScope(e);yield*r.track(u),yield*n.track(u)}}},meta:{type:"suggestion",docs:{description:"Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,messages:{enforce:"Use `new {{name}}()` instead of `{{name}}()`.",disallow:"Use `{{name}}()` instead of `new {{name}}()`.",[ih]:"Use `String(new Date())` instead of `Date()`.",[ib]:"Switch to `String(new Date())`."}}},"unicorn/prefer-single-call":iA,"unicorn/no-process-exit":{create:e=>{let t;if(0===e.sourceCode.lines[0].indexOf("#!"))return{};let r=!1,n=[];e.on("CallExpression",e=>{rj(e)&&iC(e.arguments[0])&&(r=!0)}),e.on("ImportDeclaration",e=>{"Literal"===e.source.type&&iC(e.source)&&(r=!0)}),e.on("CallExpression",e=>{rL(e,{object:"process",methods:["on","once"],minimumArguments:1,optionalCall:!1,optionalMember:!1})&&(t=e)}),e.onExit("CallExpression",e=>{e===t&&(t=void 0)}),e.on("CallExpression",e=>{!t&&rL(e,{object:"process",method:"exit",optionalCall:!1,optionalMember:!1})&&n.push(e)}),e.onExit("Program",function*(){if(!r)for(let e of n)yield{node:e,messageId:iS}})},meta:{type:"suggestion",docs:{description:"Disallow `process.exit()`.",recommended:"unopinionated"},messages:{[iS]:"Only use `process.exit()` in CLI apps. Throw an error instead."}}},"unicorn/no-static-only-class":{create:function(e){e.on(["ClassDeclaration","ClassExpression"],t=>{if(t.superClass||t.decorators&&t.decorators.length>0||"ClassBody"!==t.body.type||0===t.body.body.length||t.body.body.some(e=>!function(e){let{private:t,static:r,declare:n,readonly:u,accessibility:a,decorators:i,key:o}=e;return!(!iB(e)&&"MethodDefinition"!==e.type||!r||t||"PrivateIdentifier"===o.type||n||u||void 0!==a||Array.isArray(i)&&i.length>0)}(e)))return;let{sourceCode:r}=e;return{node:t,loc:function(e,t){let{body:r}=e,n=t.getTokenBefore(r),{start:u}=t.getLoc(e),{end:a}=t.getLoc(n);return{start:u,end:a}}(t,r),messageId:iP,fix:function(e,t){let{type:r,id:n,body:u,declare:a,abstract:i,implements:o,parent:s}=e;if(a||i||Array.isArray(o)&&o.length>0||"ClassExpression"===r&&n)return;let d="ClassDeclaration"===e.type&&"ExportDefaultDeclaration"===e.parent.type&&e.parent.declaration===e;if(!d||!n){for(let e of u.body)if(iB(e)&&(e.typeAnnotation||e.value&&t.getText(e.value).includes("this")))return;return function*(n){let a=t.getFirstToken(e);if(ik(a,{expected:{type:"Keyword",value:"class"},ruleId:"no-static-only-class"}),d||"ClassExpression"===r)if("ClassExpression"===r&&"ReturnStatement"===s.type&&t.getLoc(u).start.line!==t.getLoc(s).start.line&&t.text.slice(t.getRange(a)[1],t.getRange(u)[0]).trim()){yield n.replaceText(a,"{");let e=t.getFirstToken(u);yield n.remove(e)}else yield n.replaceText(a,""),yield nJ(a,t,n);else yield n.replaceText(a,"const"),yield n.insertTextBefore(u,"= "),yield n.insertTextAfter(u,";");for(let e of u.body)yield*function*(e,t,r){let n=t.getFirstToken(e);ik(n,{expected:{type:"Keyword",value:"static"},ruleId:"no-static-only-class"}),yield r.remove(n),yield nJ(n,t,r);let u=iB(e)?t.getLastToken(e):t.getTokenAfter(e),a=tW(u);if(iB(e)){let{key:n,value:i}=e;if(i){let e=t.getTokenAfter(n,iI);yield r.replaceText(e,":")}else a?yield r.insertTextBefore(u,": undefined"):yield r.insertTextAfter(e,": undefined")}yield a?r.replaceText(u,","):r.insertTextAfter(e,",")}(e,t,n)}}}(t,r)}})},meta:{type:"suggestion",docs:{description:"Disallow classes that only have static members.",recommended:"unopinionated"},fixable:"code",messages:{[iP]:"Use an object instead of a class with only static members."}}},"unicorn/no-unreadable-array-destructuring":{create:e=>{let{sourceCode:t}=e;return{ArrayPattern(e){let{elements:r,parent:n}=e;if(r.length<3||!r.some((e,t,r)=>null===e&&null===r[t+1]))return;let u={node:e,messageId:iO},a=r.filter(e=>null!==e);if("VariableDeclarator"===n.type&&n.id===e&&null!==n.init&&1===a.length){let[i]=a;"AssignmentPattern"!==i.type&&(u.fix=function*(u){let a=r.indexOf(i),o="RestElement"===i.type,s=o?i.argument:i;yield u.replaceText(e,t.getText(s));let d=o?`.slice(${a})`:`[${a}]`,l=n.init;!ra(l,t)&&n_(l,t)?(yield u.insertTextBefore(l,"("),yield u.insertTextAfter(n,`)${d}`)):yield u.insertTextAfter(n,d),yield*n1(u,e,t)})}return u}}},meta:{type:"suggestion",docs:{description:"Disallow unreadable array destructuring.",recommended:"unopinionated"},fixable:"code",messages:{[iO]:"Array destructuring may not contain consecutive ignored values."}}},"unicorn/no-useless-spread":{create:e=>{let{sourceCode:t}=e;e.on(["ArrayExpression","ObjectExpression"],e=>{if(!("SpreadElement"===e.parent.type&&e.parent.argument===e&&("ObjectExpression"===e.type&&"ObjectExpression"===e.parent.parent.type&&e.parent.parent.properties.includes(e.parent)||"ArrayExpression"===e.type&&("ArrayExpression"===e.parent.parent.type&&e.parent.parent.elements.includes(e.parent)||rk(e.parent.parent)&&e.parent.parent.arguments.includes(e.parent)))))return;let r=e.parent,n=t.getFirstToken(r),u=r.parent.type;return{node:n,messageId:iR,data:{argumentType:"ArrayExpression"===e.type?"array":"object",parentDescription:iU[u]},*fix(r){let a;yield r.remove(n),yield*nZ(e,r,t);let i=t.getFirstToken(e);yield r.remove(i);let[o,s]=t.getLastTokens(e,2);if(yield r.remove(s),tz(o)&&(yield r.remove(o)),"CallExpression"===u||"NewExpression"===u)for(let[n,u]of(a=t.getFirstToken(e),e.elements.map((r,n,u)=>{if(n===u.length-1){let r=t.getLastToken(e,{skip:1});return tz(r)?r:void 0}let i=t.getTokenAfter(r||a,tz);return a=i,i})).entries())e.elements[n]||(yield r.insertTextBefore(u,"undefined"))}}}),e.on("ArrayExpression",e=>{if(!i$(e))return;let{parent:r}=e;if(!("ForOfStatement"===r.type&&r.right===e||"YieldExpression"===r.type&&r.delegate&&r.argument===e||(rF(r,{names:["Map","WeakMap","Set","WeakSet"],argumentsLength:1})||rF(r,{names:a8,minimumArguments:1})||rL(r,{object:"Promise",methods:["all","allSettled","any","race"],argumentsLength:1,optionalCall:!1,optionalMember:!1})||rL(r,{objects:["Array",...a8],method:"from",argumentsLength:1,optionalCall:!1,optionalMember:!1})||rL(r,{object:"Object",method:"fromEntries",argumentsLength:1,optionalCall:!1,optionalMember:!1}))&&r.arguments[0]===e))return;let n="",u=iN;switch(r.type){case"ForOfStatement":u=iL;break;case"YieldExpression":u=ij;break;case"NewExpression":n=`new ${r.callee.name}(…)`;break;case"CallExpression":n=`${r.callee.object.name}.${r.callee.property.name}(…)`}return{node:e,messageId:u,data:{parentDescription:n},fix:r=>iq(r,e,t)}}),e.on("ArrayExpression",e=>{if(!i$(e))return;let r=e.elements[0].argument;if(!(rL(r,{methods:["concat","copyWithin","filter","flat","flatMap","map","slice","splice","toReversed","toSorted","toSpliced","with"],optionalCall:!1,optionalMember:!1})||rL(r,{method:"split",optionalCall:!1,optionalMember:!1})||rL(r,{object:"Object",methods:["keys","values"],argumentsLength:1,optionalCall:!1,optionalMember:!1})||"AwaitExpression"===r.type&&rL(r.argument,{object:"Promise",methods:["all","allSettled"],argumentsLength:1,optionalCall:!1,optionalMember:!1})||rL(r,{object:"Array",methods:["from","of"],optionalCall:!1,optionalMember:!1})||rF(r,{name:"Array"})))return;let n={node:e,messageId:iM};return rF(r,{name:"Array"})||"CallExpression"===r.type&&"MemberExpression"===r.callee.type&&"Identifier"===r.callee.property.type&&"slice"===r.callee.property.name?n:Object.assign(n,{fix:r=>iq(r,e,t)})})},meta:{type:"suggestion",docs:{description:"Disallow unnecessary spread.",recommended:"unopinionated"},fixable:"code",messages:{[iR]:"Spread an {{argumentType}} literal in {{parentDescription}} is unnecessary.",[iN]:"`{{parentDescription}}` accepts iterable as argument, it's unnecessary to convert to an array.",[iL]:"`for…of` can iterate over iterable, it's unnecessary to convert to an array.",[ij]:"`yield*` can delegate iterable, it's unnecessary to convert to an array.",[iM]:"Unnecessarily cloning an array."}}},"unicorn/no-useless-switch-case":{create:e=>({*SwitchStatement(t){let{cases:r}=t;if(!(r.length<2)&&null===r.at(-1).test)for(let t=r.length-2;t>=0;t--){let n=r[t];if(!iY(n))break;yield{node:n,loc:function(e,t){let r=e.test||t.getFirstToken(e),n=t.getTokenAfter(r,tY);return{start:t.getLoc(e).start,end:t.getLoc(n).end}}(n,e.sourceCode),messageId:iz,suggest:[{messageId:iW,fix:e=>e.remove(n)}]}}}}),meta:{type:"suggestion",docs:{description:"Disallow useless case in switch statements.",recommended:"unopinionated"},hasSuggestions:!0,messages:{[iz]:"Useless case in switch statement.",[iW]:"Remove this case."}}},"unicorn/no-useless-undefined":iG,"unicorn/numeric-separators-style":iJ,"unicorn/prefer-array-find":oi,"unicorn/prefer-array-flat-map":{create:e=>({CallExpression(t){if(!(rL(t,{method:"flat",optionalCall:!1,optionalMember:!1})&&(0===t.arguments.length||1===t.arguments.length&&"Literal"===t.arguments[0].type&&"1"===t.arguments[0].raw)&&rL(t.callee.object,{method:"map",optionalCall:!1})))return;let r=t.callee.object;if(r$(r.callee.object,os))return;let{sourceCode:n}=e,u=r.callee.property;return{node:t,loc:{start:n.getLoc(u).start,end:n.getLoc(t).end},messageId:oo,*fix(e){yield*n5(e,t,n),yield e.replaceText(u,"flatMap")}}}}),meta:{type:"suggestion",docs:{description:"Prefer `.flatMap(…)` over `.map(…).flat()`.",recommended:"unopinionated"},fixable:"code",messages:{[oo]:"Prefer `.flatMap(…)` over `.map(…).flat()`."}}},"unicorn/prefer-array-flat":oy,"unicorn/prefer-array-some":ov,"unicorn/prefer-code-point":{create:()=>({CallExpression(e){let t=rL(e,{method:"charCodeAt",optionalCall:!1})?"codePointAt":rL(e,{object:"String",method:"fromCharCode",optionalCall:!1,optionalMember:!1})?"fromCodePoint":void 0;if(!t)return;let r=e.callee.property,n=r.name;return{node:r,messageId:`error/${n}`,suggest:[{messageId:`suggestion/${t}`,fix:e=>e.replaceText(r,t)}]}}}),meta:{type:"suggestion",docs:{description:"Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.",recommended:"unopinionated"},hasSuggestions:!0,messages:{"error/charCodeAt":"Prefer `String#codePointAt()` over `String#charCodeAt()`.","error/fromCharCode":"Prefer `String.fromCodePoint()` over `String.fromCharCode()`.","suggestion/codePointAt":"Use `String#codePointAt()`.","suggestion/fromCodePoint":"Use `String.fromCodePoint()`."}}},"unicorn/prefer-default-parameters":{create:e=>{let{sourceCode:t}=e,r=[],n=(e,n,u,a)=>{let i=r.at(-1);if(!i||!n||!u||"Identifier"!==n.type||"LogicalExpression"!==u.type||"||"!==u.operator&&"??"!==u.operator||"Identifier"!==u.left.type||"Literal"!==u.right.type)return;let{name:o}=n,{left:{name:s},right:{raw:d}}=u;if(a&&o!==s)return;let l=t$(t.getScope(e),s);if(!l)return;let{references:c}=l,{params:f}=i,p=f.find(e=>"Identifier"===e.type&&e.name===s);if(((e,t,r)=>{for(let n of t.body.body){if(n===r)break;if(oA(e,n))return!0}return!1})(t,i,e)||a&&c[0].identifier!==n||!a&&c.length>1||!((e,t)=>{let r=e.at(-1);return t&&t===r})(f,p))return;let m=((e,t)=>{if("ArrowFunctionExpression"!==t.type||t.params.length>1)return!1;let[r]=t.params,n=e.getTokenBefore(r),u=e.getTokenAfter(r);return!u||!n||"("!==n.value||")"!==u.value})(t,i)?`(${o} = ${d})`:`${o} = ${d}`;return{node:e,messageId:ox,suggest:[{messageId:oD,fix:r=>[r.replaceText(p,m),((e,t,r)=>{let{line:n}=t.getLoc(r).start,{column:u}=t.getLoc(r).end,a=t.getText(r),i=t.lines[n-1],o=i.trim()===a,s=" "===i[u];if(o)return e.removeRange([t.getIndexFromLoc({line:n,column:0}),t.getIndexFromLoc({line:n+1,column:0})]);if(s){let[n,u]=t.getRange(r);return e.removeRange([n,u+1])}return e.remove(r)})(r,t,e)]}]}};e.on(rO,e=>{r.push(e)}),e.onExit(rO,()=>{r.pop()}),e.on("AssignmentExpression",e=>{if("ExpressionStatement"===e.parent.type&&e.parent.expression===e)return n(e.parent,e.left,e.right,!0)}),e.on("VariableDeclarator",e=>{if("VariableDeclaration"===e.parent.type&&e.parent.declarations[0]===e)return n(e.parent,e.id,e.init,!1)})},meta:{type:"suggestion",docs:{description:"Prefer default parameters over reassignment.",recommended:"unopinionated"},hasSuggestions:!0,messages:{[ox]:"Prefer default parameters over reassignment.",[oD]:"Replace reassignment with default parameter."}}},"unicorn/prefer-logical-operator-over-ternary":{create:e=>{let{sourceCode:t}=e;return{ConditionalExpression(e){let{test:r,consequent:n,alternate:u}=e;return oT(r,n,t)?ow({sourceCode:t,conditionalExpression:e,left:r,right:u}):"UnaryExpression"===r.type&&"!"===r.operator&&r.prefix&&oT(r.argument,u,t)?ow({sourceCode:t,conditionalExpression:e,left:r.argument,right:n}):void 0}}},meta:{type:"suggestion",docs:{description:"Prefer using a logical operator over a ternary.",recommended:"unopinionated"},hasSuggestions:!0,messages:{[oS]:"Prefer using a logical operator over a ternary.",[oC]:"Switch to `{{operator}}` operator."}}},"unicorn/prefer-optional-catch-binding":{create:e=>({CatchClause(t){let r=t.param;if(!r)return;let{sourceCode:n}=e;if(n.getDeclaredVariables(r.parent).some(e=>e.references.length>0))return;let{type:u,name:a,parent:i}=r;return{node:r,messageId:"Identifier"===u?o_:oF,data:{name:a},*fix(e){let t=n.getTokenBefore(r);ik(t,{test:tV,expected:"(",ruleId:"prefer-optional-catch-binding"});let u=n.getTokenAfter(r);ik(u,{test:tZ,expected:")",ruleId:"prefer-optional-catch-binding"}),yield e.remove(t),yield e.remove(r),yield e.remove(u);let[,a]=n.getRange(u),[o]=n.getRange(i.body),s=n.text.slice(a,o),d=s.length-s.trimStart().length;0!==d&&(yield e.removeRange([a,a+d]))}}}}),meta:{type:"suggestion",docs:{description:"Prefer omitting the `catch` binding parameter.",recommended:"unopinionated"},fixable:"code",messages:{[o_]:"Remove unused catch binding `{{name}}`.",[oF]:"Remove unused catch binding."}}},"unicorn/prefer-regexp-test":oN,"unicorn/prefer-set-has":{create:e=>({Identifier(t){let{parent:r}=t;if(!("VariableDeclarator"===r.type&&r.id===t&&r.init&&"VariableDeclaration"===r.parent.type&&r.parent.declarations.includes(r)&&("ExportNamedDeclaration"!==r.parent.parent.type||r.parent.parent.declaration!==r.parent)&&("ArrayExpression"===r.init.type||rk(r.init,{name:"Array",optional:!1})||rL(r.init,{object:"Array",methods:["from","of"],optionalCall:!1,optionalMember:!1})||rL(r.init,{methods:oM,optionalCall:!1,optionalMember:!1}))))return;let n=t$(e.sourceCode.getScope(t),t);if(!n)return;let u=nu(n).filter(e=>e!==t);if(0===u.length||u.some(e=>!(rL(e.parent.parent,{method:"includes",optionalCall:!1,optionalMember:!1,argumentsLength:1})&&e.parent.object===e))||1===u.length&&u.every(e=>!((e,t)=>{let r=t.parent.parent.parent,{parent:n}=e.parent;for(;n&&n!==r;){if(o$.has(n.type))return!0;n=n.parent}return!1})(e,t)))return;let a={node:t,messageId:oL,data:{name:t.name}},i=function*(e){for(let r of(yield e.insertTextBefore(t.parent.init,"new Set("),yield e.insertTextAfter(t.parent.init,")"),u))yield e.replaceText(r.parent.property,"has")};return t.typeAnnotation?a.suggest=[{messageId:oj,fix:i}]:a.fix=i,a}}),meta:{type:"suggestion",docs:{description:"Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,messages:{[oL]:"`{{name}}` should be a `Set`, and use `{{name}}.has()` to check existence or non-existence.",[oj]:"Switch `{{name}}` to `Set`."}}},"unicorn/prefer-string-raw":{create:e=>{e.on("Literal",t=>{if(!rD(t)||rP(t.parent)||("ImportDeclaration"===t.parent.type||"ExportNamedDeclaration"===t.parent.type||"ExportAllDeclaration"===t.parent.type)&&t.parent.source===t||"Property"===t.parent.type&&!t.parent.computed&&t.parent.key===t||"JSXAttribute"===t.parent.type&&t.parent.value===t||"TSEnumMember"===t.parent.type&&(t.parent.initializer===t||t.parent.id===t)||"ImportAttribute"===t.parent.type&&(t.parent.key===t||t.parent.value===t))return;let{sourceCode:r}=e,{raw:n}=t;if("\\"===n.at(-2)||!n.includes("\\\\")||n.includes("`")||n.includes("${")||r.getLoc(t).start.line!==r.getLoc(t).end.line)return;let u=function(e){let t=e.charAt(0);return e.slice(1,-1).replaceAll(RegExp(String.raw`\\(?<escapedCharacter>[\\${t}])`,"g"),"$<escapedCharacter>")}(n);if(u===t.value)return{node:t,messageId:oU,*fix(e){yield e.replaceText(t,`String.raw\`${u}\``),yield*n1(e,t,r)}}})},meta:{type:"suggestion",docs:{description:"Prefer using the `String.raw` tag to avoid escaping `\\`.",recommended:"unopinionated"},fixable:"code",messages:{[oU]:"`String.raw` should be used to avoid escaping `\\`."}}},"unicorn/prefer-switch":oZ,"unicorn/require-number-to-fixed-digits-argument":{create:e=>({CallExpression(t){if(!rL(t,{method:"toFixed",argumentsLength:0,optionalCall:!1})||"NewExpression"===t.callee.object.type)return;let{sourceCode:r}=e,[n,u]=r.getLastTokens(t,2);return{loc:{start:r.getLoc(n).start,end:r.getLoc(u).end},messageId:oG,fix:e=>nG(e,t,"0",r)}}}),meta:{type:"suggestion",docs:{description:"Enforce using the digits argument with `Number#toFixed()`.",recommended:"unopinionated"},fixable:"code",messages:{[oG]:"Missing the digits argument."}}},"unicorn/template-indent":{create:e=>{let{sourceCode:t}=e,r={tags:["outdent","dedent","gql","sql","html","styled"],functions:["dedent","stripIndent"],selectors:[],comments:["HTML","indent"],...e.options[0]};return r.comments=r.comments.map(e=>e.toLowerCase()),{TemplateLiteral(e){if((e=>{if(r.comments.length>0){let n=t.getTokenBefore(e,{includeComments:!0});if(n?.type==="Block"&&r.comments.includes(n.value.trim().toLowerCase()))return!0}if(rL(e.parent,{method:"toMatchInlineSnapshot",argumentsLength:1,optionalCall:!1,optionalMember:!1})&&e.parent.arguments[0]===e&&r_(e.parent.callee.object,{name:"expect",argumentsLength:1,optionalCall:!1,optionalMember:!1})||r.tags.length>0&&rU(e,r.tags)||r.functions.length>0&&"CallExpression"===e.parent.type&&e.parent.arguments.includes(e)&&r$(e.parent.callee,r.functions))return!0;if(r.selectors.length>0){let n=t.getAncestors(e).toReversed();if(r.selectors.some(t=>sa.matches(e,(so.has(t)||so.set(t,sa.parse(t)),so.get(t)),n)))return!0}return!1})(e))return(e=>{let n,u="__PLACEHOLDER__"+Math.random(),a=e.quasis.map(e=>t.getText(e).slice(1,e.tail?-1:-2)).join(u),i=a.match(/\r?\n/);if(!i)return;let o=i[0],s=t.lines[t.getLoc(e).start.line-1].match(/^(\s*)\S/),d=s?s[1]:"";n="string"==typeof r.indent?r.indent:"number"==typeof r.indent?" ".repeat(r.indent):d.startsWith(" ")?" ":" ";let l=(function(e){let t=oK(e);if(0===t)return e;let r=RegExp(`^[ \\t]{${t}}`,"gm");return e.replace(r,"")})(a).replaceAll(RegExp(`^${o}|${o}[ ]*$`,"g"),""),c=o+function(e,t=1,r={}){let{indent:n=" ",includeEmptyLines:u=!1}=r;if("string"!=typeof e)throw TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if("number"!=typeof t)throw TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(t<0)throw RangeError(`Expected \`count\` to be at least 0, got \`${t}\``);if("string"!=typeof n)throw TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof n}\``);return 0===t?e:e.replace(u?/^/gm:/^(?!\s*$)/gm,n.repeat(t))}(l,1,{indent:d+n})+o+d;if(c!==a)return{node:e,messageId:si,fix:t=>c.split(u).map((r,n)=>n8(t,e.quasis[n],r))}})(e)}}},meta:{type:"suggestion",docs:{description:"Fix whitespace-insensitive template indentation.",recommended:!0},fixable:"code",schema:ss,defaultOptions:[{}],messages:{[si]:"Templates should be properly indented."}}},"unicorn/no-single-promise-in-promise-methods":{create:e=>({CallExpression(t){if(!(rL(t,{object:"Promise",methods:iF,optionalMember:!1,optionalCall:!1,argumentsLength:1})&&"ArrayExpression"===t.arguments[0].type&&1===t.arguments[0].elements.length&&t.arguments[0].elements[0]&&"SpreadElement"!==t.arguments[0].elements[0].type))return;let r=t.callee.property.name,n={node:t.arguments[0],messageId:iT,data:{method:r}},{sourceCode:u}=e;if("AwaitExpression"===t.parent.type&&t.parent.argument===t&&("all"!==r||rB(t.parent.parent)))return n.fix=e=>{let[r]=t.arguments[0].elements,n=rv(r,u);return ra(r,u)||"SequenceExpression"!==r.type&&"YieldExpression"!==r.type&&"ArrowFunctionExpression"!==r.type&&"ConditionalExpression"!==r.type&&"AssignmentExpression"!==r.type&&"LogicalExpression"!==r.type&&"BinaryExpression"!==r.type||(n=`(${n})`),e.replaceText(t,n)},n;return"all"===r?n:(n.suggest=[{messageId:iw,fix:e=>{let[r]=t.arguments[0].elements,n=rv(r,u);return ra(r,u)||"Identifier"===r.type||"MemberExpression"===r.type||(n=`(${n})`),nh(u.getTokenBefore(t),u,n)&&(n=`;${n}`),e.replaceText(t,n)}},{messageId:i_,fix:function*(e){let r=t.callee.property;yield e.replaceText(r,"resolve");let[n]=t.arguments,a=u.getFirstToken(n),[i,o]=u.getLastTokens(n,2);yield e.remove(a),yield e.remove(o),tz(i)&&(yield e.remove(i))}}],n)}}),meta:{type:"suggestion",docs:{description:"Disallow passing single-element arrays to `Promise` methods.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,messages:{[iT]:"Wrapping single-element array with `Promise.{{method}}()` is unnecessary.",[iw]:"Use the value directly.",[i_]:"Switch to `Promise.resolve(…)`."}}},"unicorn/no-await-in-promise-methods":{create:e=>({*CallExpression(t){if(rL(t,{object:"Promise",methods:sc,optionalMember:!1,optionalCall:!1,argumentsLength:1})&&"ArrayExpression"===t.arguments[0].type)for(let r of t.arguments[0].elements)r?.type==="AwaitExpression"&&(yield{node:r,messageId:sd,data:{method:t.callee.property.name},suggest:[{messageId:sl,*fix(t){let{sourceCode:n}=e,u=e.sourceCode.getFirstToken(r);yield t.remove(u),yield nJ(u,n,t)}}]})}}),meta:{type:"suggestion",docs:{description:"Disallow using `await` in `Promise` method parameters.",recommended:"unopinionated"},hasSuggestions:!0,messages:{[sd]:"Promise in `Promise.{{method}}()` should not be awaited.",[sl]:"Remove `await`."}}},"unicorn/no-negation-in-equality-check":{create:e=>({BinaryExpression(t){let{operator:r,left:n}=t;if(!("BinaryExpression"===t.type&&sm.has(t.operator)&&sg(n)&&!sg(n.argument)))return;let{sourceCode:u}=e,a=u.getFirstToken(n),i=`${r.startsWith("!")?"=":"!"}${r.slice(1)}`;return{node:a,messageId:sf,suggest:[{messageId:sp,data:{operator:i},*fix(e){yield*n1(e,t,u);let o=u.getTokenAfter(a),{parent:s}=t;("ReturnStatement"===s.type||"ThrowStatement"===s.type)&&!ra(t,u)&&(nd(u.getFirstToken(s),o)||(yield*nX(e,s,u))),yield e.remove(a),nh(u.getTokenBefore(a),u,o.value)&&(yield e.insertTextAfter(a,";"));let d=u.getTokenAfter(n,e=>"Punctuator"===e.type&&e.value===r);yield e.replaceText(d,i)}}]}}}),meta:{type:"problem",docs:{description:"Disallow negated expression in equality check.",recommended:"unopinionated"},hasSuggestions:!0,messages:{[sf]:"Negated expression is not allowed in equality check.",[sp]:"Switch to '{{operator}}' check."}}},"unicorn/no-unnecessary-slice-end":{create:e=>sy(e,{methods:["slice"],messageId:sh}),meta:{type:"suggestion",docs:{description:"Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.",recommended:"unopinionated"},fixable:"code",messages:{[sh]:"Passing `{{description}}` as the `end` argument is unnecessary."}}},"unicorn/no-lonely-if":{create:e=>({IfStatement(t){if(sC(t)&&("BlockStatement"===t.parent.type&&1===t.parent.body.length&&t.parent.body[0]===t&&sC(t.parent.parent)&&t.parent.parent.consequent===t.parent||sC(t.parent)&&t.parent.consequent===t)){var r;return{node:t,messageId:sS,fix:(r=e.sourceCode,function*(e){let n=("BlockStatement"===t.parent.type?t.parent:t).parent,u={...n,...sw(n,r)},a={...t,...sw(t,r)};if(yield e.remove(a.ifToken),yield nJ(a.ifToken,r,e),u.openingBraceToken){yield e.remove(u.openingBraceToken),yield nJ(u.openingBraceToken,r,e),yield e.remove(u.closingBraceToken);let t=r.getTokenBefore(u.closingBraceToken,{includeComments:!0});yield nJ(t,r,e)}for(let{test:t,openingParenthesisToken:n,closingParenthesisToken:i}of(yield e.insertTextBefore(u.openingParenthesisToken,"("),yield e.insertTextAfter(a.closingParenthesisToken,`)${"EmptyStatement"===a.consequent.type?"":" "}`),yield e.insertTextAfter(u.closingParenthesisToken," && "),[u,a]))(ra(t,r)||!sT(t))&&(yield e.remove(n),yield e.remove(i)),yield nJ(i,r,e);if("BlockStatement"!==a.consequent.type){let t=r.getLastToken(a.consequent);if(tK(t)){let n=r.getTokenAfter(u);n&&nh(t,r,n.value)&&(yield e.insertTextBefore(n,";"))}}})}}}}),meta:{type:"suggestion",docs:{description:"Disallow `if` statements as the only statement in `if` blocks without `else`.",recommended:"unopinionated"},fixable:"code",messages:{[sS]:"Unexpected `if` as the only statement in a `if` block without `else`."}}},"unicorn/no-magic-array-flat-depth":{create:e=>({CallExpression(t){if(!rL(t,{method:"flat",argumentsLength:1,optionalCall:!1}))return;let[r]=t.arguments;if(!rA(r)||1===r.value)return;let{sourceCode:n}=e,{openingParenthesisToken:u,closingParenthesisToken:a}=nt(n,t);if(!n.commentsExistBetween(u,a))return{node:r,messageId:s_}}}),meta:{type:"suggestion",docs:{description:"Disallow a magic number as the `depth` argument in `Array#flat(…).`",recommended:"unopinionated"},messages:{[s_]:"Magic number as depth is not allowed."}}},"unicorn/no-negated-condition":{create:e=>{e.on(["IfStatement","ConditionalExpression"],t=>{if("IfStatement"===t.type&&(!t.alternate||"IfStatement"===t.alternate.type))return;let{test:r}=t;if("UnaryExpression"===r.type&&"!"===r.operator||"BinaryExpression"===r.type&&("!="===r.operator||"!=="===r.operator))return{node:r,messageId:sF,*fix(n){let{sourceCode:u}=e;if(yield*function*(e,t,r){let{test:n}=t;if("UnaryExpression"===n.type){let u=r.getFirstToken(n);"IfStatement"===t.type&&(yield*nZ(n.argument,e,r)),yield e.remove(u);return}let u=r.getTokenAfter(n.left,e=>"Punctuator"===e.type&&e.value===n.operator);yield e.replaceText(u,"="+u.value.slice(1))}(n,t,u),yield*function*(e,t,r){let n="IfStatement"===t.type,[u,a]=[t.consequent,t.alternate].map(e=>{let t=rE(e,r),u=r.text.slice(...t);return n&&"BlockStatement"!==e.type&&(u=`{${u}}`),{range:t,text:u}});u.text!==a.text&&(yield e.replaceTextRange(r.getRange(u),a.text),yield e.replaceTextRange(r.getRange(a),u.text))}(n,t,u),"ConditionalExpression"!==t.type||"UnaryExpression"!==r.type)return;yield*n1(n,t,u);let{parent:a}=t,[i,o]=u.getFirstTokens(r,2);if(("ReturnStatement"===a.type||"ThrowStatement"===a.type)&&a.argument===t&&!nd(i,o)&&!ra(t,u)&&!ra(r,u))return void(yield*nX(n,a,u));nh(u.getTokenBefore(t),u,o.value)&&(yield n.insertTextBefore(t,";"))}}})},meta:{type:"suggestion",docs:{description:"Disallow negated conditions.",recommended:"unopinionated"},fixable:"code",messages:{[sF]:"Unexpected negated condition."}}},"unicorn/no-object-as-default-parameter":{create:()=>({AssignmentPattern(e){if(!("ObjectExpression"===e.right.type&&e.right.properties.length>0&&rR(e.parent)&&e.parent.params.includes(e)))return;let{left:t,right:r}=e;return"Identifier"===t.type?{node:t,messageId:sk,data:{parameter:t.name}}:{node:r,messageId:sP}}}),meta:{type:"problem",docs:{description:"Disallow the use of objects as default parameters.",recommended:"unopinionated"},messages:{[sk]:"Do not use an object literal as default for parameter `{{parameter}}`.",[sP]:"Do not use an object literal as default."}}},"unicorn/prefer-negative-index":{create:e=>({CallExpression(t){if("MemberExpression"!==t.callee.type)return;let r=function(e){let{callee:t,arguments:r}=e,n=t.property.name,u=t.object,a=r;if(sB.has(n))return{method:n,target:u,argumentsNodes:a};if("call"!==n&&"apply"!==n)return;let i="apply"===n;if(n=sO(t.object),!sB.has(n))return;let{supportObjects:o}=sB.get(n),s=t.object.object;if("ArrayExpression"===s.type&&0===s.elements.length||"slice"===n&&rx(s,"")||"prototype"===sO(s)&&"Identifier"===s.object.type&&o.has(s.object.name)){if([u]=r,i){let[,e]=r;if(!e||"ArrayExpression"!==e.type)return;a=e.elements}else a=r.slice(1);return{method:n,target:u,argumentsNodes:a}}}(t);if(!r)return;let{method:n,target:u,argumentsNodes:a}=r,{argumentsIndexes:i}=sB.get(n),o=i.map(e=>(function e(t,r){if(!t)return;let{type:n,operator:u,left:a,right:i}=t;if("BinaryExpression"===n&&"-"===u&&rA(i)&&i.value>0)return"MemberExpression"===a.type&&!a.computed&&!a.optional&&"Identifier"===a.property.type&&"length"===a.property.name&&nf(a.object,r)?a:e(a,r)})(a[e],u)).filter(Boolean);if(0!==o.length)return{node:t,messageId:sI,data:{method:n},*fix(t){let{sourceCode:r}=e;for(let e of o)yield function(e,t,r){let[n,u]=rE(e,r);return t.removeRange([n,u+r.text.slice(u).match(/\S|$/).index])}(e,t,r)}}}}),meta:{type:"suggestion",docs:{description:"Prefer negative index over `.length - index` when possible.",recommended:"unopinionated"},fixable:"code",messages:{[sI]:"Prefer negative index over length minus index for `{{method}}`."}}},"unicorn/prefer-node-protocol":{create:e=>({Literal(t){if(!(("ImportDeclaration"===t.parent.type||"ExportNamedDeclaration"===t.parent.type||"ImportExpression"===t.parent.type)&&t.parent.source===t||(rL(t.parent,{object:"process",method:"getBuiltinModule",argumentsLength:1,optionalCall:!1,optionalMember:!1})||rj(t.parent))&&t.parent.arguments[0]===t))return;let{value:r}=t;if(!("string"==typeof r&&!r.startsWith(sj)&&sN(r)&&sN(`${sj}${r}`)))return;let n=e.sourceCode.getRange(t)[0]+1;return{node:t,messageId:sL,data:{moduleName:r},fix:e=>e.insertTextAfterRange([n,n],sj)}}}),meta:{type:"suggestion",docs:{description:"Prefer using the `node:` protocol when importing Node.js builtin modules.",recommended:"unopinionated"},fixable:"code",messages:{[sL]:"Prefer `node:{{moduleName}}` over `{{moduleName}}`."}}},"unicorn/consistent-date-clone":{create:e=>({NewExpression(t){if(!rF(t,{name:"Date",argumentsLength:1}))return;let[r]=t.arguments;if(!rL(r,{method:"getTime",argumentsLength:0,optionalCall:!1,optionalMember:!1}))return;let{sourceCode:n}=e;return{node:r,loc:{start:n.getLoc(r.callee.property).start,end:n.getLoc(r).end},messageId:sM,fix:e=>n5(e,r,n)}}}),meta:{type:"suggestion",docs:{description:"Prefer passing `Date` directly to the constructor when cloning.",recommended:"unopinionated"},fixable:"code",messages:{[sM]:"Unnecessary `.getTime()` call."}}},"unicorn/no-accessor-recursion":{create:e=>{let{sourceCode:t}=e;return{ThisExpression(e){let r=((e,t)=>{for(let r=e.getScope(t);r;r=r.upper){if("class"===r.type)return;if("function"===r.type&&"ArrowFunctionExpression"!==r.block.type)return r}})(t,e);if(!r)return;let n=r.block.parent;if(["Property","MethodDefinition"].includes(n?.type)&&!n.computed&&["set","get"].includes(n.kind)&&sU(n.key)&&("get"===n.kind&&(sz(e,n)||"VariableDeclarator"===e.parent.type&&e.parent.init===e&&"ObjectPattern"===e.parent.id.type&&e.parent.id.properties.some(e=>"Property"===e.type&&!e.computed&&sq(e.key,n.key)))||"set"===n.kind&&((e,t)=>{if(!sz(e,t))return!1;let r=e.parent,{parent:n}=r;return("AssignmentExpression"===n.type||"AssignmentPattern"===n.type)&&n.left===r||"UpdateExpression"===n.type&&n.argument===r||"ArrayPattern"===n.type&&n.elements.includes(r)||"Property"===n.type&&n.value===r&&"ObjectPattern"===n.parent.type&&n.parent.properties.includes(r.parent)})(e,n)))return{node:e.parent,messageId:s$,data:{kind:n.kind}}}}},meta:{type:"problem",docs:{description:"Disallow recursive access to `this` within getters and setters.",recommended:"unopinionated"},defaultOptions:[],messages:{[s$]:"Disallow recursive access to `this` within {{kind}}ters."}}},"unicorn/prefer-import-meta-properties":{create:function(e){let{sourceCode:t}=e;e.on("MetaProperty",function*(e){if("MetaProperty"!==e.type||"import"!==e.meta.name||"meta"!==e.property.name)return;let r=e.parent;if(!rN(r,{properties:["url","filename"],computed:!1,optional:!1}))return;let n=r.property.name;if("url"===n){if(sZ(r.parent,t)&&r.parent.arguments[0]===r)return void(yield*a(r.parent,{reportFilenameNode:!0}));if(rF(r.parent,{name:"URL",minimumArguments:1,maximumArguments:2})){var u;let e=r.parent,n=e.parent;if(1===e.arguments.length&&e.arguments[0]===r&&sZ(n,t)&&n.arguments[0]===e)return void(yield*a(n,{reportFilenameNode:!0}));2===e.arguments.length&&(u=e.arguments[0],u?.type==="Literal"&&("."===u.value||"./"===u.value))&&e.arguments[1]===r&&sZ(n,t)&&n.arguments[0]===e&&(yield i(n,"dirname"))}return}function*a(e,{reportFilenameNode:r=!1}={}){let{parent:n}=e;if(sG(n,t)&&n.arguments[0]===e)return void(yield i(n,"dirname"));if(r&&(yield i(e,"filename")),"VariableDeclarator"!==n.type||n.init!==e||"Identifier"!==n.id.type||"VariableDeclaration"!==n.parent.type||"const"!==n.parent.kind)return;let u=t$(t.getScope(n.id),n.id);if(u)for(let e of u.references){if(!e.isReadOnly())continue;let{parent:r}=e.identifier;sG(r,t)&&r.arguments[0]===e.identifier&&(yield i(r,"dirname"))}}function i(e,t){return{node:e,messageId:"dirname"===t?sW:sY,fix:r=>r.replaceText(e,`import.meta.${t}`)}}"filename"===n&&(yield*a(r))})},meta:{type:"suggestion",docs:{description:"Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.",recommended:!1},fixable:"code",messages:{[sW]:"Do not construct dirname.",[sY]:"Do not construct filename using `fileURLToPath()`."}}},"unicorn/no-unnecessary-array-flat-depth":{create:e=>{e.on("CallExpression",t=>{if(!(rL(t,{method:"flat",argumentsLength:1,optionalCall:!1})&&rx(t.arguments[0],1)))return;let[r]=t.arguments;return{node:r,messageId:sK,fix:t=>nK(t,r,e.sourceCode)}})},meta:{type:"suggestion",docs:{description:"Disallow using `1` as the `depth` argument of `Array#flat()`.",recommended:"unopinionated"},fixable:"code",messages:{[sK]:"Passing `1` as the `depth` argument is unnecessary."}}},"unicorn/no-unnecessary-array-splice-count":{create:e=>sy(e,{methods:["splice","toSpliced"],messageId:sH}),meta:{type:"suggestion",docs:{description:"Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.",recommended:"unopinionated"},fixable:"code",messages:{[sH]:"Passing `{{description}}` as the `{{argumentName}}` argument is unnecessary."}}},"unicorn/no-useless-error-capture-stack-trace":{create:e=>{let t=[],r=[];e.on(["ClassDeclaration","ClassExpression"],e=>{t.push(e),r.push(e)}),e.onExit(["ClassDeclaration","ClassExpression"],()=>{t.pop(),r.pop()}),e.on(["FunctionDeclaration","FunctionExpression"],e=>{r.push(e)}),e.onExit(["FunctionDeclaration","FunctionExpression"],()=>{r.pop()}),e.on("CallExpression",n=>{let u,a=t.at(-1);if(!(a?.superClass&&"Identifier"===a.superClass.type&&a1.includes(a.superClass.name)&&e.sourceCode.isGlobalReference(a.superClass)&&(u=r.at(-1),u&&"MethodDefinition"===u.parent.type&&"constructor"===u.parent.kind&&u.parent.value===u&&a.body.body.includes(u.parent))&&rL(n,{object:"Error",method:"captureStackTrace",argumentsLength:2,optionalMember:!1})&&e.sourceCode.isGlobalReference(n.callee.object)))return;let[i,o]=n.arguments;if("ThisExpression"!==i.type||!((e,t,r)=>{if("MetaProperty"===e.type&&"Identifier"===e.meta.type&&"new"===e.meta.name&&"Identifier"===e.property.type&&"target"===e.property.name||rN(e,{property:"constructor",computed:!1,optional:!1})&&"ThisExpression"===e.object.type)return!0;if("Identifier"!==e.type||!t.id)return!1;let n=t$(r.sourceCode.getScope(e),e);return n&&1===n.defs.length&&"ClassName"===n.defs[0].type&&n.defs[0].node===t})(o,a,e))return;let s={node:n,messageId:sX},d="ChainExpression"===n.parent?n.parent.parent:n.parent;return"ExpressionStatement"===d.type&&"BlockStatement"===d.parent.type&&(s.fix=e=>e.remove(d)),s})},meta:{type:"suggestion",docs:{description:"Disallow unnecessary `Error.captureStackTrace(…)`.",recommended:"unopinionated"},fixable:"code",messages:{[sX]:"Unnecessary `Error.captureStackTrace(…)` call."}}},"unicorn/prefer-class-fields":{create:e=>{let{sourceCode:t}=e;return{ClassBody(e){let r=e.body.find(e=>"constructor"===e.kind&&!e.computed&&!e.static&&"MethodDefinition"===e.type&&"FunctionExpression"===e.value.type);if(!r)return;let n=r.value.body.body.find(e=>"EmptyStatement"!==e.type);if(!(n?.type==="ExpressionStatement"&&"AssignmentExpression"===n.expression.type&&"="===n.expression.operator&&"MemberExpression"===n.expression.left.type&&"ThisExpression"===n.expression.left.object.type&&!n.expression.left.computed&&["Identifier","PrivateIdentifier"].includes(n.expression.left.property.type)&&"Literal"===n.expression.right.type))return;let u=n.expression.left.property.name,a=n.expression.right.raw,i=n.expression.left.property.type,o=e.body.find(e=>"PropertyDefinition"===e.type&&!e.computed&&!e.static&&e.key.type===i&&e.key.name===u),s={node:n,messageId:sJ};function*d(i){if(yield((e,t,r)=>{let{line:n}=t.getLoc(e).start,u=t.getText(e);return t.lines[n-1].trim()===u?r.removeRange([t.getIndexFromLoc({line:n,column:0}),t.getIndexFromLoc({line:n+1,column:0})]):r.remove(e)})(n,t,i),o){if(o.value)return void(yield i.replaceText(o.value,a));let e=` = ${a}`,r=t.getLastToken(o);return tW(r)?void(yield i.insertTextBefore(r,e)):void(yield i.insertTextAfter(o,`${e};`))}let s=t.getLastToken(e),d=nr(r,t),l=`${d}${u} = ${a};
|
|
20
|
+
`)});let s=o.value.body;if(!s)return;let d=s.body,l=d.find(e=>"ExpressionStatement"===e.type&&"CallExpression"===e.expression.type&&"Super"===e.expression.callee.type),c=d.findIndex(e=>sD(e,"message"));if(l){if(-1!==c){let e=d[c];yield{node:l,message:"Pass the error message to `super()` instead of setting `this.message`.",*fix(t){if(0===l.expression.arguments.length){let r=e.expression.right,[n]=u.getRange(l);yield t.insertTextAfterRange([n,n+6],r.raw||r.name)}let r=0===c?u.getRange(s)[0]:u.getRange(d[c-1])[1],[,n]=u.getRange(e);yield t.removeRange([r,n])}}}}else yield{node:s,message:"Missing call to `super()` in constructor."};let f=d.find(e=>sD(e,"name"));if(f)f.expression.right.value!==r&&(yield{node:f?.expression.right??s,message:`The \`name\` property should be set to \`${r}\`.`});else{let e=a.find(e=>"PropertyDefinition"===e.type&&!e.computed&&"Identifier"===e.key.type&&"name"===e.key.name);e?.value&&e.value.value===r||(yield{node:e?.value??s,message:`The \`name\` property should be set to \`${r}\`.`})}}const sS="no-lonely-if",sC=e=>"IfStatement"===e.type&&!e.alternate,sT=e=>"LogicalExpression"===e.type&&("||"===e.operator||"??"===e.operator)||"ConditionalExpression"===e.type||"AssignmentExpression"===e.type||"YieldExpression"===e.type||"SequenceExpression"===e.type;function sw(e,t){let r={};r.ifToken=t.getFirstToken(e),r.openingParenthesisToken=t.getFirstToken(e,1);let{consequent:n}=e;return r.closingParenthesisToken=t.getTokenBefore(n),"BlockStatement"===n.type&&(r.openingBraceToken=t.getFirstToken(n),r.closingBraceToken=t.getLastToken(n)),r}const s_="no-magic-array-flat-depth",sF="no-negated-condition",sk="identifier",sP="non-identifier",sI="prefer-negative-index",sB=new Map([["slice",{argumentsIndexes:[0,1],supportObjects:new Set(["Array","String","ArrayBuffer",...a8])}],["subarray",{argumentsIndexes:[0,1],supportObjects:new Set(a8)}],["splice",{argumentsIndexes:[0],supportObjects:new Set(["Array"])}],["toSpliced",{argumentsIndexes:[0],supportObjects:new Set(["Array"])}],["at",{argumentsIndexes:[0],supportObjects:new Set(["Array","String",...a8])}],["with",{argumentsIndexes:[0],supportObjects:new Set(["Array",...a8])}]]),sO=e=>{let{type:t,property:r}=e;if("MemberExpression"===t&&"Identifier"===r.type)return r.name};var sR=["node:assert","assert","node:assert/strict","assert/strict","node:async_hooks","async_hooks","node:buffer","buffer","node:child_process","child_process","node:cluster","cluster","node:console","console","node:constants","constants","node:crypto","crypto","node:dgram","dgram","node:diagnostics_channel","diagnostics_channel","node:dns","dns","node:dns/promises","dns/promises","node:domain","domain","node:events","events","node:fs","fs","node:fs/promises","fs/promises","node:http","http","node:http2","http2","node:https","https","node:inspector","inspector","node:inspector/promises","inspector/promises","node:module","module","node:net","net","node:os","os","node:path","path","node:path/posix","path/posix","node:path/win32","path/win32","node:perf_hooks","perf_hooks","node:process","process","node:querystring","querystring","node:quic","node:readline","readline","node:readline/promises","readline/promises","node:repl","repl","node:sea","node:sqlite","node:stream","stream","node:stream/consumers","stream/consumers","node:stream/promises","stream/promises","node:stream/web","stream/web","node:string_decoder","string_decoder","node:test","node:test/reporters","node:timers","timers","node:timers/promises","timers/promises","node:tls","tls","node:trace_events","trace_events","node:tty","tty","node:url","url","node:util","util","node:util/types","util/types","node:v8","v8","node:vm","vm","node:wasi","wasi","node:worker_threads","worker_threads","node:zlib","zlib"];function sN(t){if("string"!=typeof t)throw TypeError("Expected a string");return(e??=new Set(sR)).has(t)}const sL="prefer-node-protocol",sj="node:",sM="consistent-date-clone/error",s$="no-accessor-recursion/error",sU=e=>"Identifier"===e.type||"PrivateIdentifier"===e.type,sq=(e,t)=>["type","name"].every(r=>e[r]===t[r]),sz=(e,t)=>"MemberExpression"===e.parent.type&&e.parent.object===e&&!e.parent.computed&&sU(e.parent.property)&&sq(e.parent.property,t.key),sW="error/calculate-dirname",sY="error/calculate-filename";function sV(e,{modules:t,functionName:r,sourceCode:n}){if(!r_(e,{optional:!1,argumentsLength:1}))return!1;let u=new Set;return function e(t,i){if("MemberExpression"===t.type)return!!("property"===i&&rN(t,{property:r,computed:!1,optional:!1}))&&e(t.object,"module");if("CallExpression"===t.type)return"module"===i&&rL(t,{object:"process",method:"getBuiltinModule",argumentsLength:1,optionalMember:!1,optionalCall:!1})&&a(t.arguments[0]);if("Identifier"!==t.type||u.has(t))return!1;u.add(t);let o=t$(n.getScope(t),t);if(o&&1===o.defs.length){var s=o.defs[0],d=i;if("ImportBinding"===s.type){if(!a(s.parent.source))return!1;let e=s.node;return"module"===d?e?.type==="ImportDefaultSpecifier"||e?.type==="ImportNamespaceSpecifier":e?.type==="ImportSpecifier"&&e.imported.name===r}return"Variable"===s.type&&function t(n,u){let{parent:a}=n;return"VariableDeclarator"===a.type?!!a.init&&a.id===n&&"VariableDeclaration"===a.parent.type&&"const"===a.parent.kind&&e(a.init,u):"Property"===a.type&&!!("property"===u&&a.value===n&&!a.computed&&"Identifier"===a.key.type&&a.key.name===r)&&t(a.parent,"module")}(s.name,d)}}(e.callee,"property");function a(e){return e?.type==="Literal"&&t.has(e.value)}}function sZ(e,t){return sV(e,{modules:new Set(["url","node:url"]),functionName:"fileURLToPath",sourceCode:t})}function sG(e,t){return sV(e,{modules:new Set(["path","node:path"]),functionName:"dirname",sourceCode:t})}const sK="no-unnecessary-array-flat-depth",sH="no-unnecessary-array-splice-count",sX="no-useless-error-capture-stack-trace/error",sJ="prefer-class-fields/error",sQ="prefer-class-fields/suggestion",s0="prefer-bigint-literals/error",s1="prefer-bigint-literals/suggestion",s3="prefer-classlist-toggle/error",s2="prefer-classlist-toggle/suggestion",s4=e=>rN(e,{property:"classList",computed:!1}),s5=(e,t,r)=>{let n={node:r??e,messageId:s3};return"IfStatement"===e.type||rB(e)||rB(e.parent)?n.fix=t:n.suggest=[{messageId:s2,fix:t}],n},s8=(e,t,r)=>{let n=rv(e,t);if(r)return ra(e,t)||"UpdateExpression"!==e.type&&"BinaryExpression"!==e.type&&"LogicalExpression"!==e.type&&"ConditionalExpression"!==e.type&&"AssignmentExpression"!==e.type&&"ArrowFunctionExpression"!==e.type&&"YieldExpression"!==e.type&&"SequenceExpression"!==e.type||(n=`(${n})`),n=`!${n}`;return ra(e,t)||"SequenceExpression"!==e.type||(n=`(${n})`),n},s6=(e,t)=>rL(e,{methods:t,argumentsLength:1,optionalCall:!1,optionalMember:!1})&&s4(e.callee.object),s9=(e,t)=>nf(e.callee.object,t.callee.object)&&nf(e.arguments[0],t.arguments[0]),s7=(e,t,r)=>t?("ChainExpression"===e.type&&(e=e.expression),s6(e,["contains"])&&s9(e,r))?e:void 0:"UnaryExpression"===e.type&&"!"===e.operator&&e.prefix?s7(e.argument,!t,r):void 0,de="require-module-attributes",dt=/^\s*(?<directive>eslint-disable(?:-(?:next-)?line)?)/,dr=/^eslint-disable(?:-next-line|-line)?(?<ruleId>$|(?:\s+(?:@(?:[\w-]+\/){1,2})?[\w-]+)?)/,dn=Symbol("rule-id-no-match");var du=e0.createRule({name:"ban-eslint-disable",meta:{type:"problem",docs:{description:"Ban `eslint-disable` comment directive"},schema:[{oneOf:[{type:"boolean"},{type:"string",enum:["allow-with-description"]}]}],messages:{"do-not-use":"Do not use `{{directive}}`","require-description":"Include a description after the `{{directive}}` directive to explain why the `{{directive}}` is necessary.","require-specific-rule":"Enforce specifying rules to disable in `eslint-disable` comments. If you want to disable ESLint on a file altogether, you should ignore it through ESLint configuration."}},create:(e,t="allow-with-description")=>!1===t?{}:{Program(r){if(r.comments&&0!==r.comments.length)for(let n of r.comments){let r=function(e){let t=dt.exec(e);return t?.groups?.directive}(n.value);if(r&&("allow-with-description"!==t||!n.value.includes("--"))){let u="allow-with-description"===t?"require-description":"do-not-use";e.report({node:n,data:{directive:r},messageId:u})}let u=function(e){let t=dr.exec(e.trim());return t?t.groups?.ruleId:dn}(n.value);u===dn||u||e.report({node:n,messageId:"require-specific-rule"})}}}}),da=e0.createRule({name:"no-return-await",meta:{type:"suggestion",hasSuggestions:!0,docs:{description:"Disallows unnecessary `return await`"},fixable:void 0,deprecated:!1,schema:[],messages:{removeAwait:"Remove redundant `await`.",redundantUseOfAwait:"Redundant use of `await` on a return value."}},create:e=>({AwaitExpression(t){(function e(t){return t.parent?.type===e1.AST_NODE_TYPES.ArrowFunctionExpression||(t.parent?.type===e1.AST_NODE_TYPES.ReturnStatement?!di(t.parent):(t.parent?.type===e1.AST_NODE_TYPES.ConditionalExpression&&(t===t.parent.consequent||t===t.parent.alternate)||t.parent?.type===e1.AST_NODE_TYPES.LogicalExpression&&t===t.parent.right||t.parent?.type===e1.AST_NODE_TYPES.SequenceExpression&&t===t.parent.expressions.at(-1))&&e(t.parent))})(t)&&!di(t)&&e.report({node:e.sourceCode.getFirstToken(t),loc:t.loc,messageId:"redundantUseOfAwait",suggest:[{messageId:"removeAwait",fix(r){let n=e.sourceCode,[u,a]=n.getFirstTokens(t,2);if(u.loc.start.line!==a.loc.start.line)return null;let[i,o]=u.range,s=n.text[o];return r.removeRange([i,o+ +(" "===s)])}}]})}})});function di(e){let t=e;for(;!e1.ASTUtils.isFunction(t)&&t.type!==e1.AST_NODE_TYPES.Program;){if(t.parent.type===e1.AST_NODE_TYPES.TryStatement&&(t===t.parent.block||t===t.parent.handler&&t.parent.finalizer))return!0;t=t.parent}return!1}var ds=e0.createRule({name:"no-expression-empty-lines",meta:{messages:{unexpectedEmptyLine:"Unexpected empty line before"},docs:{description:"Disallows empty lines inside expressions."},fixable:"whitespace",type:"suggestion",schema:[]},create(e){let t=e.sourceCode.getText(),r=e3.detectEol(t);return{MemberExpression(n){let u=n.object.range[1],a=dd(t.slice(u));if(a.includes("\n")){var i;let t=r+((dd(i=a).split(/\r\n|\n/u).at(-1)??"")+i.trimStart());a!==t&&e.report({fix:()=>({range:[u,u+a.length],text:t}),messageId:"unexpectedEmptyLine",node:n.property})}}}}});function dd(e){return e.slice(0,e.length-e.trimStart().length)}var dl=e0.createRule({name:"object-format",meta:{fixable:"whitespace",schema:[{type:"object",properties:{maxLineLength:{type:"number",default:80},maxObjectSize:{type:"number",default:3}},additionalProperties:!1}],docs:{description:"Requires multiline or single-line object format.",recommended:"stylistic"},messages:{preferMultiline:"Prefer multiline object literal",preferSingleLine:"Prefer single-line object literal"},type:"layout"},create(e,t={}){var r;let n=e.sourceCode.getText(),u=e3.detectEol(n),a=`,${u}`,{maxLineLength:i=80,maxObjectSize:o=3}=t,s=(r=n,e=>r.slice(e.range[1]).trimStart().startsWith("//"));return{ObjectExpression(t){let r=t.properties.map(t=>n.slice(Math.min(t.range[0],...e.sourceCode.getCommentsBefore(t).map(e=>e.range[0])),t.range[1]).trim());if(r.length>0){let d=e.sourceCode.getText(t),l=r.length>o||r.some(dc)||t.properties.some(s),c=dc(d),f=!d.includes("\n");l&&f&&e.report({fix:()=>({range:t.range,text:`{${u}${r.join(a)}${u}}`}),messageId:"preferMultiline",node:t}),!l&&c&&function(){var u;let a=e.sourceCode.getLocFromIndex(t.range[0]).column,i=r.reduce((e,t)=>e+t.length,0);return a+i+2*(r.length-1)+4+("number"==typeof(u=t.range[1])?n.slice(u):n.slice(...u.range)).split(/\r\n|\n/u)[0].replace(/^((?: as const)?\S*).*/u,"$1").length}()<=i&&e.report({fix:()=>({range:t.range,text:`{${r.join(",")}}`}),messageId:"preferSingleLine",node:t})}}}}});function dc(e){return e.includes("\n")}var df=e0.createRule({name:"prefer-single-boolean-return",meta:{messages:{replaceIfThenElseByReturn:"Replace this if-then-else flow by a single return statement.",suggest:"Replace with single return statement",suggestCast:'Replace with single return statement using "!!" cast',suggestBoolean:"Replace with single return statement without cast (condition should be boolean!)"},schema:[],type:"suggestion",hasSuggestions:!0,docs:{description:'Return of boolean expressions should not be wrapped into an "if-then-else" statement',recommended:"recommended"}},create:e=>({IfStatement(t){t.parent.type!==e1.AST_NODE_TYPES.IfStatement&&dm(t.consequent)&&function(e){if(e.alternate)return dm(e.alternate);let{parent:t}=e;if(t.type===e1.AST_NODE_TYPES.BlockStatement){let r=t.body.indexOf(e);return dp(t.body[r+1])}return!1}(t)&&e.report({messageId:"replaceIfThenElseByReturn",node:t,suggest:function(t){var r,n;let u=e=>r=>{let n=`return ${e};`;if(t.alternate)return r.replaceText(t,n);let u=t.parent,a=u.body.indexOf(t),i=u.body[a+1],o=[t.range[0],i.range[1]];return r.replaceTextRange(o,n)},a=!1===((r=t.consequent).type===e1.AST_NODE_TYPES.BlockStatement?r.body[0]:r).argument.value,i=!(((n=t.test).type===e1.AST_NODE_TYPES.UnaryExpression||n.type===e1.AST_NODE_TYPES.BinaryExpression)&&["!","==","===","!=","!==","<","<=",">",">=","in","instanceof"].includes(n.operator)),o=e.sourceCode.getText(t.test);return a?[{messageId:"suggest",fix:u(`!(${o})`)}]:i?[{messageId:"suggestCast",fix:u(`!!(${o})`)},{messageId:"suggestBoolean",fix:u(o)}]:[{messageId:"suggest",fix:u(o)}]}(t)})}})});function dp(e){return e?.type===e1.AST_NODE_TYPES.ReturnStatement&&e.argument?.type===e1.AST_NODE_TYPES.Literal&&"boolean"==typeof e.argument.value}function dm(e){return void 0!==e&&(e.type===e1.AST_NODE_TYPES.BlockStatement&&1===e.body.length&&dp(e.body[0])||dp(e))}function dg(e,t,r){var n,u;return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((e,n)=>dg(e,t[n],r)):!(Array.isArray(e)||Array.isArray(t))&&e.type===t.type&&(n=r.getTokens(e),u=r.getTokens(t),n.length===u.length&&n.every((e,t)=>e.value===u[t].value))}function dy(e){let t=!1;return{branches:e.cases.reduce((r,n,u)=>{var a;return n.test||(t=!0),(u===e.cases.length-1||n.consequent.length>0)&&r.push((a=n.consequent).length>0&&a[a.length-1].type===e1.AST_NODE_TYPES.BreakStatement?a.slice(0,-1):a),r},[]),endsWithDefault:t}}e0.createRule({name:"no-all-duplicated-branches",meta:{messages:{removeOrEditConditionalStructure:"Remove this conditional structure or edit its code blocks so that they're not all the same.",returnsTheSameValue:'This conditional operation returns the same value whether the condition is "true" or "false".'},schema:[],type:"problem",docs:{description:"All branches in a conditional structure should not have exactly the same implementation",recommended:"recommended"}},create(e){return{IfStatement(r){if(r.parent?.type!==e1.AST_NODE_TYPES.IfStatement){let{branches:n,endsWithElse:u}=function(e){let t=[e.consequent],r=!1,n=e.alternate;for(;n;)if(n.type===e1.AST_NODE_TYPES.IfStatement)t.push(n.consequent),n=n.alternate;else{t.push(n),r=!0;break}return{branches:t,endsWithElse:r}}(r);u&&t(n)&&e.report({messageId:"removeOrEditConditionalStructure",node:r})}},SwitchStatement(r){let{branches:n,endsWithDefault:u}=dy(r);u&&t(n)&&e.report({messageId:"removeOrEditConditionalStructure",node:r})},ConditionalExpression(r){t([r.consequent,r.alternate])&&e.report({messageId:"returnsTheSameValue",node:r})}};function t(t){return t.length>1&&t.slice(1).every((r,n)=>dg(r,t[n],e.sourceCode))}}});var dh=e0.createRule({name:"no-duplicated-branches",meta:{schema:[],type:"suggestion",docs:{description:"Two branches in a conditional structure should not have exactly the same implementation",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S1871/javascript"},messages:{sameConditionalBlock:"This {{type}}'s code block is the same as the block for the {{type}} on line {{line}}."}},create(e){return{IfStatement(u){!function(u){if(u.parent.type===e1.AST_NODE_TYPES.IfStatement)return;let{branches:a,endsWithElse:i}=function(e){let t=[e.consequent],r=!1,n=e.alternate;for(;n;)if(n.type===e1.AST_NODE_TYPES.IfStatement)t.push(n.consequent),n=n.alternate;else{t.push(n),r=!0;break}return{branches:t,endsWithElse:r}}(u);if(r(a,i))return a.slice(1).forEach((e,t)=>n(e,a[t],"branch"));for(let r=1;r<a.length;r++)if(t([a[r]]))for(let t=0;t<r&&!function(t,r){let u=dE(t,r,e.sourceCode);return u&&"loc"in r&&n(t,r,"branch"),u}(a[r],a[t]);t++);}(u)},SwitchStatement(u){!function(u){let{cases:a}=u,{endsWithDefault:i}=dy(u),o=a.filter(e=>dv(db(e.consequent)).length>0);if(r(o.map(e=>dv(db(e.consequent))),i))return o.slice(1).forEach((e,t)=>n(e,o[t],"case"));for(let r=1;r<a.length;r++){let u=dv(db(a[r].consequent));if(t(u)){for(let t=0;t<r;t++)if(dE(u,dv(db(a[t].consequent)),e.sourceCode)){n(a[r],a[t],"case");break}}}}(u)}};function t(t){if(t.length>0){let r=[...e.sourceCode.getTokens(t[0]),...e.sourceCode.getTokens(t[t.length-1])].filter(e=>"{"!==e.value&&"}"!==e.value);return r.length>0&&r[r.length-1].loc.end.line>r[0].loc.start.line}return!1}function r(t,r){return!r&&t.length>1&&t.slice(1).every((r,n)=>dE(r,t[n],e.sourceCode))}function n(t,r,n){let u=r.loc;e.report({messageId:"sameConditionalBlock",data:{type:n,line:String(u.start.line)},node:t})}}});function db(e){if(1===e.length){let t=e[0];if(t.type===e1.AST_NODE_TYPES.BlockStatement)return t.body}return e}function dE(e,t,r){var n,u;return Array.isArray(e)&&Array.isArray(t)?e.length===t.length&&e.every((e,n)=>dE(e,t[n],r)):!(Array.isArray(e)||Array.isArray(t))&&e.type===t.type&&(n=r.getTokens(e),u=r.getTokens(t),n.length===u.length&&n.every((e,t)=>e.value===u[t].value))}function dv(e){return e.length>0&&e[e.length-1].type===e1.AST_NODE_TYPES.BreakStatement?e.slice(0,-1):e}var dx=e0.createRule({name:"comma-or-logical-or-case",meta:{type:"problem",docs:{description:"Comma and logical OR operators should not be used in switch cases",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S3616/javascript"},schema:[],messages:{specifyCase:'Explicitly specify {{nesting}} separate cases that fall through; currently this case clause only works for "{{expression}}".'}},create(e){function t(t,r,n){var u;e.report({messageId:"specifyCase",data:{nesting:n.toString(),expression:String((u=r).type===e1.AST_NODE_TYPES.Literal?u.value:e.sourceCode.getText(u))},node:t})}return{"SwitchCase > SequenceExpression":function(e){let r=e.expressions;t(e,r[r.length-1],r.length)},"SwitchCase > LogicalExpression":function(r){var n;if((n=function(t){let r=e.sourceCode.getAncestors(t);for(let e=r.length-1;e>=0;e--)if(r[e].type===e1.AST_NODE_TYPES.SwitchStatement)return r[e];throw Error("A switch case should have an enclosing switch statement")}(r)).discriminant.type!==e1.AST_NODE_TYPES.Literal||!0!==n.discriminant.value){let e=function e(t,r){if("||"===t.operator)return t.left.type===e1.AST_NODE_TYPES.LogicalExpression?e(t.left,r+1):[t.left,r+1]}(r,0);e&&t(r,e[0],e[1]+1)}}}}}),dD=e0.createRule({name:"no-element-overwrite",meta:{schema:[],type:"problem",docs:{description:"Collection elements should not be replaced unconditionally",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S4143/javascript"},messages:{verifyIntendedIndex:'Verify this is the index that was intended; "{{index}}" was already set on line {{line}}.'}},create(e){return{SwitchCase(e){t(e.consequent)},BlockStatement(e){t(e.body)},Program(e){t(e.body.filter(e=>{var t;return!((t=e)&&(t.type===e1.AST_NODE_TYPES.ImportDeclaration||t.type===e1.AST_NODE_TYPES.ExportNamedDeclaration||t.type===e1.AST_NODE_TYPES.ExportDefaultDeclaration||t.type===e1.AST_NODE_TYPES.ExportAllDeclaration))}))}};function t(t){let r,n=new Map;t.forEach(t=>{let u=function(t){if(t.type===e1.AST_NODE_TYPES.ExpressionStatement)return function(t){var r;if((r=t).type===e1.AST_NODE_TYPES.AssignmentExpression&&"="===r.operator&&t.left.type===e1.AST_NODE_TYPES.MemberExpression&&t.left.computed){let{left:r,right:n}=t,u=dS(r.property);if(void 0!==u&&!function(t,r){let n=e.sourceCode.getTokens(t),u=e.sourceCode.getTokens(r);return void 0!==u.find((e,t)=>{if(dA(e,n[0]))for(let e=t,r=0;e<u.length&&r<n.length;e++,r++)if(dA(u[e],n[r])){if(r===n.length-1)return!0}else break;return!1})}(r.object,n))return{collectionNode:r.object,indexOrKey:u,node:t}}}(t.expression)||function(e){if(e.type===e1.AST_NODE_TYPES.CallExpression&&e.callee.type===e1.AST_NODE_TYPES.MemberExpression){let t=e.callee;if(t.property.type===e1.AST_NODE_TYPES.Identifier){let r=t.property.name,n="add"===r&&1===e.arguments.length,u="set"===r&&2===e.arguments.length;if(n||u){let r=dS(e.arguments[0]);if(r)return{collectionNode:t.object,indexOrKey:r,node:e}}}}}(t.expression)}(t);if(u){r&&!dg(u.collectionNode,r,e.sourceCode)&&n.clear();let t=n.get(u.indexOrKey);t?.node.loc&&e.report({node:u.node,messageId:"verifyIntendedIndex",data:{index:u.indexOrKey,line:t.node.loc.start.line}}),n.set(u.indexOrKey,u),r=u.collectionNode}else n.clear()})}}});function dA(e,t){return e.value===t.value}function dS(e){if(e.type===e1.AST_NODE_TYPES.Literal){let{value:t}=e;return"number"==typeof t||"string"==typeof t?String(t):void 0}if(e.type===e1.AST_NODE_TYPES.Identifier)return e.name}var dC=e0.createRule({name:"class-prototype",meta:{schema:[],type:"suggestion",docs:{description:'Class methods should be used instead of "prototype" assignments',recommended:"recommended"},messages:{declareClass:'Declare a "{{class}}" class and move this declaration of "{{declaration}}" into it.'}},create(e){let t=e.sourceCode.parserServices,r=e0.isParserWithTypeInformation(t)?dT:d_;return{AssignmentExpression({left:n,right:u}){if(n.type===e1.AST_NODE_TYPES.MemberExpression&&r(u,t)){let[t,r]=[n.object,n.property];if(t.type===e1.AST_NODE_TYPES.MemberExpression&&r.type===e1.AST_NODE_TYPES.Identifier){let[u,a]=[t.object,t.property];u.type===e1.AST_NODE_TYPES.Identifier&&a.type===e1.AST_NODE_TYPES.Identifier&&"prototype"===a.name&&e.report({messageId:"declareClass",data:{class:u.name,declaration:r.name},node:n})}}}}}});function dT(e,t){e0.ensureParserWithTypeInformation(t);let r=t.program.getTypeChecker().getTypeAtLocation(t.esTreeNodeToTSNodeMap.get(e));return!!r.symbol&&(r.symbol.flags&e2.SymbolFlags.Function)!=0}const dw=new Set(["FunctionDeclaration","FunctionExpression","ArrowFunctionExpression"]);function d_(e,t){return dw.has(e.type)}var dF=e0.createRule({name:"bool-param-default",meta:{schema:[],type:"suggestion",docs:{description:"Optional boolean parameters should have default value"},messages:{provideDefault:"Provide a default value for '{{parameter}}' so that the logic of the function is more evident when this parameter is missing. Consider defining another function if providing default value is not possible."}},create:e=>({"FunctionDeclaration, FunctionExpression, ArrowFunctionExpression":t=>{for(let r of t.params)r.type===e1.AST_NODE_TYPES.Identifier&&function(e){var t;return(t=e).optional&&!!t.typeAnnotation&&t.typeAnnotation.typeAnnotation.type===e1.AST_NODE_TYPES.TSBooleanKeyword||function(e){if(e.typeAnnotation&&e.typeAnnotation.typeAnnotation.type===e1.AST_NODE_TYPES.TSUnionType){let t=e.typeAnnotation.typeAnnotation.types;return 2===t.length&&t.some(e=>e.type===e1.AST_NODE_TYPES.TSBooleanKeyword)&&t.some(e=>e.type===e1.AST_NODE_TYPES.TSUndefinedKeyword)}return!1}(e)}(r)&&e.report({messageId:"provideDefault",data:{parameter:r.name},node:r})}})}),dk=e0.createRule({name:"call-argument-line",meta:{type:"suggestion",docs:{description:"Function call arguments should not start on new lines",recommended:"recommended"},schema:[],messages:{moveArguments:"Make those call arguments start on line {{line}}.",moveTemplateLiteral:"Make this template literal start on line {{line}}."}},create(e){let t=e.sourceCode;return{CallExpression(r){if(r.callee.type!==e1.AST_NODE_TYPES.CallExpression&&1===r.arguments.length){var n;let u=(n=r).typeArguments??n.callee,a=(t.getLastTokenBetween(u,r.arguments[0],dP)??t.getLastToken(u)).loc.end.line,{start:i}=t.getTokenAfter(u,dI).loc;if(a!==i.line){let{end:n}=t.getLastToken(r).loc;n.line===i.line?e.report({messageId:"moveArguments",data:{line:a.toString()},loc:{start:i,end:n}}):e.report({messageId:"moveArguments",data:{line:a.toString()},loc:i})}}},TaggedTemplateExpression(r){let{quasi:n}=r,u=t.getTokenBefore(n);if(u&&n.loc&&u.loc.end.line!==n.loc.start.line){let t={start:n.loc.start,end:{line:n.loc.start.line,column:n.loc.start.column+1}};e.report({messageId:"moveTemplateLiteral",data:{line:u.loc.start.line.toString()},loc:t})}}}}});function dP(e){return e.type===e1.AST_TOKEN_TYPES.Punctuator&&")"===e.value}function dI(e){return!dP(e)}var dB=e0.createRule({name:"track-todo-fixme-comment",meta:{type:"suggestion",docs:{description:'Track uses of "FIXME" and "TODO" tags',recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S1134/javascript"},schema:[],messages:{fixme:"Take the required action to fix the issue indicated by this comment.",todo:'Complete the task associated to this "TODO" comment.'}},create(e){function t(t,r){e.sourceCode.getAllComments().forEach(n=>{let u=n.value.toLowerCase();if(u.includes(t)){let a=u.split(/\r\n?|\n/);for(let u=0;u<a.length;u++){let i=a[u].indexOf(t);i>=0&&!function(e,t,r){let n=t+r.length,u=t>0&&dO.test(e.charAt(t-1)),a=n<=e.length-1&&dO.test(e.charAt(n));return u||a}(a[u],i,t)&&e.report({messageId:r,loc:function(e,t,r,n){let u=r.loc.start.line+e,a=(0===e?r.loc.start.column+2:0)+t;return{start:{line:u,column:a},end:{line:u,column:a+n.length}}}(u,i,n,t)})}}})}return{"Program:exit":()=>{t("fixme","fixme"),t("todo","todo")}}}});const dO=/\p{Letter}/u,dR=["Array","Map","Set","WeakSet","WeakMap"],dN=new Set(["copyWithin","pop","reverse","shift","sort","clear","delete","concat","flat","flatMap","includes","indexOf","join","lastIndexOf","slice","toSource","toString","toLocaleString","get","has","entries","every","filter","find","findIndex","forEach","keys","map","reduce","reduceRight","some","values"]);var dL=e0.createRule({name:"no-empty-collection",meta:{schema:[],type:"problem",docs:{description:"Empty collections should not be accessed or iterated",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S4158/javascript"},messages:{reviewUsageOfIdentifier:'Review this usage of "{{identifierName}}" as it can only be empty here.'}},create(e){let t=t=>{if(t.references.length<=1||t.defs.some(e=>e.type===e1.TSESLint.Scope.DefinitionType.Parameter||e.type===e1.TSESLint.Scope.DefinitionType.ImportBinding))return;let r=[],n=!1;for(let e of t.references)if(e.isWriteOnly())if(!function(e){let t=dj(e.identifier,e=>e.type===e1.AST_NODE_TYPES.VariableDeclarator||e.type===e1.AST_NODE_TYPES.ExpressionStatement);if(t){if(t.type===e1.AST_NODE_TYPES.VariableDeclarator&&t.init)return dU(t.init);if(t.type===e1.AST_NODE_TYPES.ExpressionStatement){let{expression:r}=t;return r.type===e1.AST_NODE_TYPES.AssignmentExpression&&d$(e,r.left)&&dU(r.right)}}return!1}(e))return;else n=!0;else{var u;if(!(function(e){let{parent:t}=e.identifier;if(t&&t.type===e1.AST_NODE_TYPES.MemberExpression){let e=t.parent;if(e&&e.type===e1.AST_NODE_TYPES.CallExpression)return dq(t.property,...dN)}return!1}(u=e)||function(e){let t=dj(e.identifier,e=>e.type===e1.AST_NODE_TYPES.ForOfStatement||e.type===e1.AST_NODE_TYPES.ForInStatement);return t&&t.right===e.identifier}(u)||function(e){let{parent:t}=e.identifier;return t&&t.type===e1.AST_NODE_TYPES.MemberExpression&&t.computed&&!function(e){let t=dM(e,new Set),r=t.find(e=>e.type===e1.AST_NODE_TYPES.AssignmentExpression);return!!r&&"="===r.operator&&[e,...t].includes(r.left)}(t)}(u)))return;r.push(e)}n&&r.forEach(t=>{e.report({messageId:"reviewUsageOfIdentifier",data:{identifierName:t.identifier.name},node:t.identifier})})},r=e=>{e.type!==e1.TSESLint.Scope.ScopeType.global&&e.variables.forEach(t),e.childScopes.forEach(r)};return{"Program:exit":t=>{r(e.sourceCode.getScope(t))}}}});function dj(e,t){return dM(e,new Set).find(t)}function dM(e,t){let r=[],n=e.parent;for(;n&&(r.push(n),!t.has(n.type));)n=n.parent;return r}function d$(e,t){return t.type===e1.AST_NODE_TYPES.Identifier&&t===e.identifier}function dU(e){return e&&e.type===e1.AST_NODE_TYPES.ArrayExpression?0===e.elements.length:!!e&&(e.type===e1.AST_NODE_TYPES.CallExpression||e.type===e1.AST_NODE_TYPES.NewExpression)&&dq(e.callee,...dR)&&0===e.arguments.length}function dq(e,...t){return e?.type===e1.AST_NODE_TYPES.Identifier&&(0===t.length||t.some(t=>t===e.name))}const dz=new Set(["!=","==","!==","==="]),dW=new Set(["!==","!="]),dY=new Set(["+=","-="]);var dV=e0.createRule({name:"no-equals-in-for-termination",meta:{schema:[],messages:{replaceOperator:"Replace '{{operator}}' operator with one of '<=', '>=', '<', or '>' comparison operators."},type:"suggestion",docs:{description:'Equality operators should not be used in "for" loop termination conditions',recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S888/javascript"}},create(e){function t(t,r){if(t.type===e1.AST_NODE_TYPES.Identifier){var n;let u=(n=t.name,function(e,t){let r;for(;null==r&&null!=e;)r=e.variables.find(e=>e.name===t),e=e.upper;return r}(e.sourceCode.getScope(t),n)),a=r.range;if(u&&a)return u.references.some(e=>{var t,r;return t=e.identifier,r=a,t.range&&t.range[0]>r[0]&&t.range[1]<r[1]})}return!1}return{ForStatement(r){var n;if(!r.test||!r.update)return;let u=r.test;(n=u).type===e1.AST_NODE_TYPES.BinaryExpression&&dz.has(n.operator)&&function e(t){return!!dZ(t)||t.type===e1.AST_NODE_TYPES.UpdateExpression||t.type===e1.AST_NODE_TYPES.SequenceExpression&&t.expressions.every(e)}(r.update)&&!(function(e){let t=e.test,r=[];return function e(t,r){let n;dZ(t)?n=t.left:t.type===e1.AST_NODE_TYPES.UpdateExpression?n=t.argument:t.type===e1.AST_NODE_TYPES.SequenceExpression&&t.expressions.forEach(t=>e(t,r)),n&&n.type===e1.AST_NODE_TYPES.Identifier&&r.push(n.name)}(e.update,r),t.left.type!==e1.AST_NODE_TYPES.Identifier||!r.includes(t.left.name)}(r)||function(e){let r=e.init,n=e.test;if(r&&dG(n)){let u=function(e,r){var n,u;if(n=e,u=r,n.type===e1.AST_NODE_TYPES.UpdateExpression&&!t(n.argument,u)||function(e){if(dZ(e)){let t=e.right;return t.type===e1.AST_NODE_TYPES.Literal&&1===t.value}return!1}(n)&&!t(n.left,u)){if("++"===e.operator||"+="===e.operator)return 1;if("--"===e.operator||"-="===e.operator)return -1}return 0}(e.update,e.body);if(0!==u){let e=dK(r),t=dK(n);return void 0!==e&&void 0!==t&&u===Math.sign(t-e)}}return!1}(r))&&e.report({messageId:"replaceOperator",data:{operator:u.operator},node:u})}}}});function dZ(e){return e.type===e1.AST_NODE_TYPES.AssignmentExpression&&dY.has(e.operator)}function dG(e){return e.type===e1.AST_NODE_TYPES.BinaryExpression&&dW.has(e.operator)}function dK(e){var t;return dG(e)?dH(e.right):(t=e).type===e1.AST_NODE_TYPES.VariableDeclaration&&1===t.declarations.length?dH(e.declarations[0].init):e.type===e1.AST_NODE_TYPES.AssignmentExpression?dH(e.right):void 0}function dH(e){if(e&&e.type===e1.AST_NODE_TYPES.Literal&&"number"==typeof e.value)return e.value}var dX=e0.createRule({name:"no-top-level-this",meta:{hasSuggestions:!0,schema:[],messages:{removeThis:'Remove the use of "this".',suggestRemoveThis:'Remove "this"',suggestUseGlobalThis:'Replace "this" with "globalThis" object'},type:"suggestion",docs:{description:'The global "this" object should not be used',recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S2990/javascript"},fixable:"code"},create:e=>({'MemberExpression[object.type="ThisExpression"]':t=>{let r=e.sourceCode.getScope(t).variableScope.type,n=e.sourceCode.getAncestors(t).some(e=>e.type===e1.AST_NODE_TYPES.ClassDeclaration||e.type===e1.AST_NODE_TYPES.ClassExpression);if((r===e1.TSESLint.Scope.ScopeType.global||r===e1.TSESLint.Scope.ScopeType.module)&&!n){let r=[];if(!t.computed){let n=e.sourceCode.getText(t.property);r.push({messageId:"suggestRemoveThis",fix:e=>e.replaceText(t,n)},{messageId:"suggestUseGlobalThis",fix:e=>e.replaceText(t.object,"globalThis")})}e.report({messageId:"removeThis",node:t.object,suggest:r})}}})}),dJ=e0.createRule({name:"no-invariant-returns",meta:{schema:[],type:"suggestion",docs:{description:"Function returns should not be invariant",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S3516/javascript",requiresTypeChecking:!1},messages:{refactorReturn:"Refactor this function to only return once or not always return the same value."}},create(e){let t=[],r=[],n=[],u=r=>(function(t,r){var u;!(!r||(u=r,n.some(e=>e.reachable)||u.containsReturnWithoutValue||u.returnStatements.length<=1||u.codePath.thrownSegments.length>0))&&function(e,t){let r=e[0],n=r?d1(r,t):void 0;if(void 0!==n)return e.slice(1).every(e=>d1(e,t)===n);if(r?.type===e1.AST_NODE_TYPES.Identifier){let n=dQ(r.name,t);if(n){let t=new Set(n.variable.references.slice(1).map(e=>e.identifier));return e.every(e=>t.has(e))}}return!1}(r.returnStatements.map(e=>e.argument),e.sourceCode.getScope(t))&&e.report({messageId:"refactorReturn",node:t})})(r,t[t.length-1]);return{onCodePathStart(e){t.push({codePath:e,containsReturnWithoutValue:!1,returnStatements:[]}),r.push(n),n=[]},onCodePathEnd(){t.pop(),n=r.pop()||[]},onCodePathSegmentStart(e){n.push(e)},onCodePathSegmentEnd(){n.pop()},ReturnStatement(e){if(t.length){let r=t[t.length-1];r.containsReturnWithoutValue=r.containsReturnWithoutValue||!e.argument,r.returnStatements.push(e)}},"FunctionDeclaration:exit":u,"FunctionExpression:exit":u,"ArrowFunctionExpression:exit":u}}});function dQ(e,t){let r=t.set.get(e);if(r&&!r.references.slice(1).some(e=>e.isWrite()||function(e){let t=dj(e.identifier,e=>e.type===e1.AST_NODE_TYPES.ExpressionStatement||dw.has(e.type));return t&&t.type===e1.AST_NODE_TYPES.ExpressionStatement&&(d0(t,e)||t.expression.type===e1.AST_NODE_TYPES.CallExpression)}(e))){let e=null;return 1===r.defs.length&&r.defs[0].type===e1.TSESLint.Scope.DefinitionType.Variable&&(e=r.defs[0].node.init),{variable:r,initExpression:e}}return null}function d0(e,t,r=!0){return e.expression.type===e1.AST_NODE_TYPES.AssignmentExpression&&function e(t,r,n=!0){return t.type===e1.AST_NODE_TYPES.MemberExpression&&(d$(r,t.object)||n&&e(t.object,r,n))}(e.expression.left,t,r)}function d1(e,t){if(e){if(e.type===e1.AST_NODE_TYPES.Literal)return e.value;if(e.type===e1.AST_NODE_TYPES.UnaryExpression){let r=d1(e.argument,t);return void 0===r?void 0:function(e,t){switch(e){case"-":return-Number(t);case"+":return Number(t);case"~":return~Number(t);case"!":return!t;case"typeof":return typeof t}}(e.operator,r)}if(e.type===e1.AST_NODE_TYPES.Identifier){let r=dQ(e.name,t);if(r?.initExpression)return d1(r.initExpression,t)}}}function d3(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function d2(e,t){let r=t.variables.find(t=>t.name===e.name);return!r&&t.upper&&(r=t.upper.variables.find(t=>t.name===e.name)),r}class d4 extends Set{constructor(...e){super(...e),d3(this,"type","AssignedValues")}}const d5={type:"UnknownValue"};class d8{add(e){e.resolved&&this.references.add(e)}propagate(e){this.in.clear(),this.segment.prevSegments.forEach(t=>{this.join(e.get(t.id).out)});let t=new Map;return this.references.forEach(e=>this.updateProgramState(e,t)),!function(e,t){if(e.size!==t.size)return!1;for(let[u,a]of e){var r,n;if(!t.has(u)||(r=t.get(u),n=a,"AssignedValues"===r.type&&"AssignedValues"===n.type?!function(e,t){return e.size===t.size&&[...e].every(e=>t.has(e))}(r,n):r!==n))return!1}return!0}(this.out,t)&&(this.out=t,!0)}updateProgramState(e,t){let r=e.resolved;if(!r||!e.isWrite())return;if(!e.writeExpr)return void t.set(r,d5);let n=d6(r,e.writeExpr,t,e.from);t.set(r,n)}join(e){for(let[t,r]of e.entries()){let e=this.in.get(t)??new d4;"AssignedValues"===e.type&&"AssignedValues"===r.type?(r.forEach(t=>e.add(t)),this.in.set(t,e)):this.in.set(t,d5)}}constructor(e){d3(this,"segment",void 0),d3(this,"in",void 0),d3(this,"out",void 0),d3(this,"references",void 0),this.segment=e,this.in=new Map,this.out=new Map,this.references=new Set}}function d6(e,t,r,n){if(!t)return d5;switch(t.type){case e1.AST_NODE_TYPES.Literal:return t.raw?new d4([t.raw]):d5;case e1.AST_NODE_TYPES.Identifier:{let u=d2(t,n);if(u&&u!==e)return r.get(u)??d5;return d5}default:return d5}}class d9{constructor(e){d3(this,"codePath",void 0),d3(this,"reachingDefinitionsMap",void 0),d3(this,"reachingDefinitionsStack",void 0),d3(this,"segments",void 0),d3(this,"assignmentStack",void 0),this.codePath=e,this.reachingDefinitionsMap=new Map,this.reachingDefinitionsStack=[],this.segments=new Map,this.assignmentStack=[]}}class d7{isRhs(e){return this.node.type===e1.AST_NODE_TYPES.AssignmentExpression?this.node.right===e:this.node.init===e}isLhs(e){return this.node.type===e1.AST_NODE_TYPES.AssignmentExpression?this.node.left===e:this.node.id===e}add(e){let t=e.identifier;for(;t;){if(this.isLhs(t)){this.lhs.add(e);break}if(this.isRhs(t)){this.rhs.add(e);break}t=t.parent}}constructor(e){d3(this,"node",void 0),d3(this,"lhs",void 0),d3(this,"rhs",void 0),this.node=e,this.lhs=new Set,this.rhs=new Set}}function le(e){return e[e.length-1]}var lt=e0.createRule({name:"no-redundant-assignments",meta:{schema:[],type:"suggestion",docs:{description:"Assignments should not be redundant",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S4165/javascript"},messages:{reviewAssignment:'Review this redundant assignment: "{{symbol}}" already holds the assigned value along all execution paths.'}},create(e){let t=[],r=new Map,n=new Map,u=[],a=[];return{AssignmentExpression:o,"VariableDeclarator[init]":o,"AssignmentExpression:exit":i,"VariableDeclarator[init]:exit":i,Identifier(r){if(r.parent.type!==e1.AST_NODE_TYPES.TSEnumBody&&r.parent.type!==e1.AST_NODE_TYPES.TSEnumDeclaration&&r.parent.type!==e1.AST_NODE_TYPES.TSEnumMember){var u;u=r,e.sourceCode.getAncestors(u).some(e=>e.type===e1.AST_NODE_TYPES.TSEnumDeclaration)||function(r){var u;let{ref:a,variable:i}=function e(t,r){if(null===r)return{ref:null,variable:null};let n=r.references.find(e=>e.identifier===t);if(n)return{ref:n,variable:n.resolved};let u=r.variables.find(e=>e.defs.find(e=>e.name===t));return u?{ref:null,variable:u}:e(t,r.upper)}(u=r,e.sourceCode.getScope(u));if(a&&d(a),i){let e=le(t).codePath.id;n.has(i)?n.get(i).add(e):n.set(i,new Set([e]))}}(r)}},"Program:exit":()=>{let e=Array.from(r.values(),e=>e.segment);for(;e.length;){let t=e.pop();r.get(t.id).propagate(r)&&t.nextSegments.forEach(t=>e.push(t))}r.forEach(s),r.clear(),n.clear(),t.length=0},onCodePathSegmentStart(e){r.set(e.id,new d8(e)),a.push(e)},onCodePathStart(e){var r;r=new d9(e),t.push(r),u.push(a),a.length=0},onCodePathEnd(){t.pop(),u.pop()||(a.length=0)},onCodePathSegmentEnd(){a.pop()}};function i(){let e=le(t).assignmentStack.pop();e.rhs.forEach(d),e.lhs.forEach(d)}function o(e){le(t).assignmentStack.push(new d7(e))}function s(t){let r=new Map(t.in);t.references.forEach(t=>{let u=t.resolved;if(!u||!t.isWrite()||!function(e){var t;let r=e.resolved;return r&&(e.identifier.type!==e1.AST_NODE_TYPES.Identifier||e.identifier.parent.type!==e1.AST_NODE_TYPES.AssignmentPattern)&&!r.name.startsWith("_")&&!function(e){if(e?.parent){let t=e.parent;return t&&t.type===e1.AST_NODE_TYPES.AssignmentExpression&&"="!==t.operator}return!1}(e.writeExpr)&&(e.writeExpr?.type!==e1.AST_NODE_TYPES.Identifier||e.resolved!==d2(e.writeExpr,e.from))&&!r.defs.some(e=>e.type===e1.TSESLint.Scope.DefinitionType.Parameter||e.type===e1.TSESLint.Scope.DefinitionType.Variable&&!e.node.init)&&(t=r,!(n.get(t).size>1))}(t))return;let a=r.get(u),i=d6(u,t.writeExpr,r,t.from);if(a?.type==="AssignedValues"&&1===a.size){let[r]=[...a];!function({resolved:t},r,n,u,a){if("UnknownValue"===u.type||1!==u.size)return;let[i]=[...u];1!==t.references.filter(e=>e.isWrite()).length&&n===i&&e.report({node:r,messageId:"reviewAssignment",data:{symbol:a}})}(t,t.writeExpr,r,i,u.name)}r.set(u,i)})}function d(e){let{assignmentStack:n}=le(t);if(n.length>0)le(n).add(e);else for(let t=0,n=a.length;t<n;t++)(function(e){let t;return r.has(e.id)?t=r.get(e.id):(t=new d8(e),r.set(e.id,t)),t})(a[t]).add(e)}}}),lr=e0.createRule({name:"no-same-line-conditional",meta:{schema:[],type:"layout",docs:{description:"Conditionals should start on new lines",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S3972/javascript"},fixable:"whitespace",messages:{sameLineCondition:'Move this "if" to a new line or add the missing "else".'}},create(e){function t(t){var r;let{sourceCode:n}=e;(r=t).reduce((e,t,n)=>{let u=r[n-1];return t.type===e1.AST_NODE_TYPES.IfStatement&&u&&u.type===e1.AST_NODE_TYPES.IfStatement?[{first:u,following:t},...e]:e},[]).forEach(t=>{let r=t.first,u=t.following;if(r.loc&&u.loc&&r.loc.end.line===u.loc.start.line&&r.loc.start.line!==u.loc.end.line){let t=n.getFirstToken(u);e.report({messageId:"sameLineCondition",loc:t.loc,fix:e=>e.replaceTextRange([r.range[1],u.range[0]],"\n"+" ".repeat(r.loc.start.column))})}})}return{Program:e=>t(e.body),BlockStatement:e=>t(e.body),SwitchCase:e=>t(e.consequent)}}}),ln=e0.createRule({name:"no-small-switch",meta:{schema:[],messages:{replaceSwitch:'Replace this "switch" statement by "if" statements to increase readability.'},type:"suggestion",docs:{description:'"if" statements should be preferred over "switch" when simpler',recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S1301/javascript"}},create:e=>({SwitchStatement(t){let{cases:r}=t,n=r.some(e=>!e.test);if(r.length<2||2===r.length&&n){let r=e.sourceCode.getFirstToken(t);r&&e.report({messageId:"replaceSwitch",loc:r.loc})}}})});const lu=["Array","Map","Set","WeakSet","WeakMap"],la=["copyWithin","fill","pop","push","reverse","set","shift","sort","splice","unshift","add","clear","delete"];var li=e0.createRule({name:"no-unused-collection",meta:{schema:[],messages:{unusedCollection:"Either use this collection's contents or remove the collection."},type:"suggestion",docs:{description:"Collection contents should be used",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S4030/javascript",requiresTypeChecking:!1}},create:e=>({"Program:exit":t=>{let r=[];(function e(t,r){t.type!==e1.TSESLint.Scope.ScopeType.global&&t.variables.forEach(e=>{(function(e){if(function(e){if(!e.defs.length)return;let t=e.defs[0];return t.node.parent?.parent?.type.startsWith("Export")}(e)||e.references.length<=1)return!1;let t=!1;for(let r of e.references)if(r.isWriteOnly())if(!function(e){let t=dj(e.identifier,e=>e.type===e1.AST_NODE_TYPES.VariableDeclarator||e.type===e1.AST_NODE_TYPES.ExpressionStatement);if(t){if(t.type===e1.AST_NODE_TYPES.VariableDeclarator&&t.init)return lo(t.init);if(t.type===e1.AST_NODE_TYPES.ExpressionStatement){let{expression:r}=t;return r.type===e1.AST_NODE_TYPES.AssignmentExpression&&d$(e,r.left)&&lo(r.right)}}return!1}(r))return!1;else t=!0;else if(function(e){let t=dj(e.identifier,e=>e.type===e1.AST_NODE_TYPES.ExpressionStatement);return!t||!d0(t,e,!1)&&!function(e,t){if(e.expression.type===e1.AST_NODE_TYPES.CallExpression){let{callee:r}=e.expression;if(r.type===e1.AST_NODE_TYPES.MemberExpression){let{property:e,object:n}=r;return d$(t,n)&&dq(e,...la)}}return!1}(t,e)}(r))return!1;return t})(e)&&r.push(e)}),t.childScopes.forEach(t=>{e(t,r)})})(e.sourceCode.getScope(t),r),r.forEach(t=>{e.report({messageId:"unusedCollection",node:t.identifiers[0]})})}})});function lo(e){return!!e&&e.type===e1.AST_NODE_TYPES.ArrayExpression||!!e&&(e.type===e1.AST_NODE_TYPES.CallExpression||e.type===e1.AST_NODE_TYPES.NewExpression)&&dq(e.callee,...lu)}var ls=e0.createRule({name:"no-useless-plusplus",meta:{schema:[],type:"problem",docs:{description:"Values should not be uselessly incremented",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S2123/javascript"},messages:{removeIncrement:"Remove this {{updateOperator}}rement or correct the code not to waste it."}},create(e){function t(t){let r="++"===t.operator?"inc":"dec";e.report({messageId:"removeIncrement",data:{updateOperator:r},node:t})}return{"ReturnStatement > UpdateExpression":function(r){var n;let u=r.argument;!r.prefix&&u.type===e1.AST_NODE_TYPES.Identifier&&(n=u,e.sourceCode.getScope(r).variables.some(e=>e.identifiers.some(e=>e.name===n.name)))&&t(r)},AssignmentExpression(e){let r=e.right;if(r.type===e1.AST_NODE_TYPES.UpdateExpression&&!r.prefix){let n=e.left;n.type===e1.AST_NODE_TYPES.Identifier&&r.argument.type===e1.AST_NODE_TYPES.Identifier&&r.argument.name===n.name&&t(r)}}}}});const ld=new Set(["map","filter","reduce","reduceRight","forEach"]);var ll=e0.createRule({name:"no-chain-array-higher-order-functions",meta:{type:"problem",fixable:"code",docs:{description:"Prefer `.reduce` over chaining `.filter`, `.map` methods",recommended:"recommended"},schema:[],messages:{detected:"Detected the chaining of array methods: {{methods}}. Reaplce with `.reduce` to reduce array iterations and improve the performance."}},create:e=>({MemberExpression(t){if(lc(t)){let r=t.parent;lc(r.parent)&&e.report({node:r,messageId:"detected",data:{methods:`arr.${t.property.name}().${r.parent.property.name}()`}})}}})});function lc(e){return e.type===e1.AST_NODE_TYPES.MemberExpression&&!e.computed&&e.property.type===e1.AST_NODE_TYPES.Identifier&&ld.has(e.property.name)&&e.parent.type===e1.AST_NODE_TYPES.CallExpression}var lf=e0.createRule({name:"no-export-const-enum",meta:{type:"suggestion",docs:{description:"Disallow using `const enum` expression as it can not be inlined and tree-shaken by swc/esbuild/babel/webpack/rollup/vite/bun/rspack"},messages:{noConstEnum:"Do not use `const enum` expression"},schema:[]},create(e){let t=(t,r)=>{let n=e1.ASTUtils.findVariable(e.sourceCode.getScope(t),r);n?.defs.forEach(r=>{r.node.type===e1.AST_NODE_TYPES.TSEnumDeclaration&&r.node.const&&e.report({node:t,messageId:"noConstEnum"})})};return{ExportNamedDeclaration(r){let n=r.declaration;if(n?.type===e1.AST_NODE_TYPES.TSEnumDeclaration&&n.const)return void e.report({node:r,messageId:"noConstEnum"});if(n?.type===e1.AST_NODE_TYPES.VariableDeclaration){let e=n.declarations[0].id;e.type===e1.AST_NODE_TYPES.Identifier&&t(r,e)}},ExportDefaultDeclaration(e){let r=e.declaration;r.type===e1.AST_NODE_TYPES.Identifier&&t(e,r)}}}}),lp=e0.createRule({name:"no-for-in-iterable",meta:{schema:[],type:"suggestion",docs:{description:'"for in" should not be used with iterables',recommended:"strict",url:"https://sonarsource.github.io/rspec/#/rspec/S4139/javascript"},messages:{useForOf:'Use "for...of" to iterate over this "{{iterable}}".'}},create(e){let t=e.sourceCode.parserServices;return{ForInStatement(r){var n,u;e0.ensureParserWithTypeInformation(t);let a=lm(r.right,t);if(e0.ensureParserWithTypeInformation(t),(n=a).symbol&&lg.has(n.symbol.name)||((u=a).flags&e2.TypeFlags.StringLike)>0||u.symbol?.name==="String"||function(e,t){var r,n=t.program.getTypeChecker().getBaseConstraintOfType(e)??e,u=t;for(let e of(r=n).isUnion()?r.types:[r])if(!function(e,t){let r=t.program.getTypeChecker();return"isArrayType"in r&&"function"==typeof r.isArrayType&&r.isArrayType(e)}(e,u))return!1;return!0}(a,t)){let t=a.symbol?a.symbol.name:"String";e.report({messageId:"useForOf",data:{iterable:t},loc:e.sourceCode.getFirstToken(r).loc})}}}}});function lm(e,t){return t.program.getTypeChecker().getTypeAtLocation(t.esTreeNodeToTSNodeMap.get(e))}const lg=new Set(["Array","Int8Array","Uint8Array","Uint8ClampedArray","Int16Array","Uint16Array","Int32Array","Uint32Array","Float32Array","Float64Array","BigInt64Array","BigUint64Array","Set","Map"]);var ly=e0.createRule({name:"only-await-thenable",meta:{schema:[],type:"suggestion",docs:{description:'"await" should only be used with promises',recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S4123/javascript"},messages:{refactorAwait:"Refactor this redundant 'await' on a non-promise."}},create(e){let t=e.sourceCode.parserServices;return e0.ensureParserWithTypeInformation(t),{AwaitExpression(r){let n=lm(r.argument,t);(function(e,t){var r,n;if(e.argument.type!==e1.AST_NODE_TYPES.CallExpression)return!1;let u=(r=e.argument,(n=t).program.getTypeChecker().getResolvedSignature(n.esTreeNodeToTSNodeMap.get(r)));return u?.declaration&&function(e){let t=new Set(["return","returns"]);if(!e.jsDoc)return!1;for(let r of e.jsDoc)if(r.tags?.some(e=>t.has(e.tagName.escapedText.toString())))return!0;return!1}(u.declaration)})(r,t)||function(e){let t=e.getProperty("then");return t?.declarations?.some(e=>e.kind===e2.SyntaxKind.MethodSignature||e.kind===e2.SyntaxKind.MethodDeclaration||e.kind===e2.SyntaxKind.PropertyDeclaration)}(n)||n.flags&e2.TypeFlags.Any||n.flags&e2.TypeFlags.Unknown||n.flags&e2.TypeFlags.Union||e.report({messageId:"refactorAwait",node:r})}}}}),lh=e0.createRule({name:"no-undefined-optional-parameters",meta:{schema:[],type:"suggestion",docs:{description:'"undefined" should not be passed as the value of optional parameters',recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S4623/javascript",requiresTypeChecking:!0},fixable:"code",hasSuggestions:!0,messages:{removeUndefined:'Remove this redundant "undefined".',suggestRemoveUndefined:"Remove this redundant argument"}},create(e){let t=e.sourceCode.parserServices;return e0.ensureParserWithTypeInformation(t),{CallExpression(r){var n;let{arguments:u}=r;if(0===u.length)return;let a=u[u.length-1];(n=a).type===e1.AST_NODE_TYPES.Identifier&&"undefined"===n.name&&function(e,t,r){let n=r.program.getTypeChecker().getResolvedSignature(r.esTreeNodeToTSNodeMap.get(t));if(n){var u;let t=n.declaration;if(t&&(u=t,lb.has(u.kind))){let{parameters:r}=t,n=r[e];return n&&(n.initializer||n.questionToken)}}return!1}(u.length-1,r,t)&&e.report({messageId:"removeUndefined",node:a,suggest:[{messageId:"suggestRemoveUndefined",fix(t){if(1===r.arguments.length){let n=e.sourceCode.getTokenAfter(r.callee),u=e.sourceCode.getLastToken(r),[,a]=n.range,[i]=u.range;return t.removeRange([a,i])}let[,n]=u[u.length-2].range,[,i]=a.range;return t.removeRange([n,i])}}]})}}}});const lb=new Set([e2.SyntaxKind.FunctionDeclaration,e2.SyntaxKind.FunctionExpression,e2.SyntaxKind.ArrowFunction,e2.SyntaxKind.MethodDeclaration,e2.SyntaxKind.Constructor,e2.SyntaxKind.GetAccessor,e2.SyntaxKind.SetAccessor]);function lE(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}class lv{visit(e,t){let r=e=>{switch(e.type){case e1.AST_NODE_TYPES.AwaitExpression:case e1.AST_NODE_TYPES.CallExpression:case e1.AST_NODE_TYPES.NewExpression:this.callLikeExpressions.push(e);break;case e1.AST_NODE_TYPES.FunctionDeclaration:case e1.AST_NODE_TYPES.FunctionExpression:case e1.AST_NODE_TYPES.ArrowFunctionExpression:return}(function(e,t){let r=[],n=t[e.type];if(n?.length)for(let t of n){let n=e[t];Array.isArray(n)?r.push(...n):r.push(n)}return r.filter(Boolean)})(e,t.sourceCode.visitorKeys).forEach(r)};r(e)}constructor(){lE(this,"callLikeExpressions",[])}}lE(lv,"getCallExpressions",(e,t)=>{let r=new lv;return r.visit(e,t),r.callLikeExpressions});var lx={rules:Object.assign({"array/no-unneeded-flat-map":ta,"browser/prefer-location-assign":to,"jsx/no-template-literal":td,"jsx/no-unneeded-nested":tl,"string/no-locale-case":tf,"string/no-simple-template-literal":tp,"unicode/no-bidi":tv,"unicode/no-invisible":tD,"ban-eslint-disable":du,"no-redundant-variable":tA,"no-single-return":tC,"prefer-early-return":tw,"prefer-fetch":t_,"prefer-timer-id":tP,"no-return-await":da,"no-expression-empty-lines":ds,"object-format":dl,"prefer-single-boolean-return":df,"no-all-duplicated-branches":dh,"no-duplicated-branches":dh,"bool-param-default":dF,"call-argument-line":dk,"class-prototype":dC,"comma-or-logical-or-case":dx,"track-todo-fixme-comment":dB,"no-element-overwrite":dD,"no-empty-collection":dL,"no-equals-in-for-termination":dV,"no-top-level-this":dX,"no-invariant-returns":dJ,"no-redundant-assignments":lt,"no-same-line-conditional":lr,"no-small-switch":ln,"no-unused-collection":li,"no-useless-plusplus":ls,"no-chain-array-higher-order-functions":ll,"string/no-unneeded-to-string":tI,"type/no-force-cast-via-top-type":tB,"type/no-wrapper-type-reference":tR,"no-default-error":tN,"no-export-const-enum":lf,"no-for-in-iterable":lp,"only-await-thenable":ly,"no-undefined-optional-parameters":lh,"no-try-promise":e0.createRule({name:"no-try-promise",meta:{schema:[],type:"problem",docs:{description:'Promise rejections should not be caught by "try" blocks',recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S4822/javascript",requiresTypeChecking:!0},messages:{addAwait:"Consider using 'await' for the promise{{ending}} inside this 'try' or replace it with 'Promise.prototype.catch(...)' usage{{ending}}.",removeTry:"Consider removing this 'try' statement as promise{{ending}} rejection is already captured by '.catch()' method."}},create(e){let t=e.sourceCode.parserServices;return e0.ensureParserWithTypeInformation(t),{TryStatement(r){if(r.handler){let n=[],u=[],a=!1;if(lv.getCallExpressions(r.block,e).forEach(e=>{var r,i,o,s;if(e.type===e1.AST_NODE_TYPES.AwaitExpression||!function(e,t){let r=t.esTreeNodeToTSNodeMap.get(e),n=t.program.getTypeChecker().getTypeAtLocation(r).getProperty("then");return!!(n&&n.flags&e2.SymbolFlags.Method)}(e,t)){a=!0;return}(r=e).parent&&(r.parent.type===e1.AST_NODE_TYPES.AwaitExpression||r.parent.type===e1.AST_NODE_TYPES.YieldExpression)||(i=e).parent&&i.parent.type===e1.AST_NODE_TYPES.MemberExpression&&i.parent.property.type===e1.AST_NODE_TYPES.Identifier&&"then"===i.parent.property.name||(o=e).type===e1.AST_NODE_TYPES.CallExpression&&o.callee.type===e1.AST_NODE_TYPES.MemberExpression&&o.callee.property.type===e1.AST_NODE_TYPES.Identifier&&"catch"===o.callee.property.name||((s=e).parent&&s.parent.type===e1.AST_NODE_TYPES.MemberExpression&&s.parent.property.type===e1.AST_NODE_TYPES.Identifier&&"catch"===s.parent.property.name?u:n).push(e)}),!a){if(n.length>0){let t=n.length>1?"s":"",u=e.sourceCode.getFirstToken(r);e.report({messageId:"addAwait",data:{ending:t},loc:u.loc})}if(0===n.length&&u.length>0){let t=u.length>1?"s":"",n=e.sourceCode.getFirstToken(r);e.report({messageId:"removeTry",data:{ending:t},loc:n.loc})}}}}}}}),"no-useless-string-operation":e0.createRule({name:"no-useless-string-operation",meta:{schema:[],messages:{uselessStringOp:"{{symbol}} is an immutable object; you must either store or return the result of the operation."},type:"problem",docs:{description:"Results of operations on strings should not be ignored",recommended:"recommended",url:"https://sonarsource.github.io/rspec/#/rspec/S1154/javascript"}},create(e){let t=e.sourceCode.parserServices;return{'ExpressionStatement > CallExpression[callee.type="MemberExpression"]':r=>{let n,{object:u,property:a}=r.callee;e0.ensureParserWithTypeInformation(t),(lm(u,t).flags&e4.TypeFlags.StringLike)!=0&&a.type===e1.AST_NODE_TYPES.Identifier&&e.report({messageId:"uselessStringOp",data:{symbol:((n=e.sourceCode.getText(u)).length>30&&(n="String"),n)},node:a})}}}})},Object.fromEntries(Object.entries({"unicorn/better-regex":aV,"unicorn/catch-error-name":{create:e=>{let t={name:"error",ignore:[],...e.options[0]},{name:r}=t,n=t.ignore.map(e=>eQ.isRegExp(e)?e:RegExp(e,"u")),u=e=>e===r||n.some(t=>t.test(e))||e.endsWith(r)||e.endsWith(nB(r));return{Identifier(t){if(("CatchClause"!==t.parent.type||t.parent.param!==t)&&!(("FunctionExpression"===t.parent.type||"ArrowFunctionExpression"===t.parent.type)&&t.parent.params[0]===t&&(rL(t.parent.parent,{method:"then",argumentsLength:2,optionalCall:!1})||rL(t.parent.parent,{method:"catch",argumentsLength:1,optionalCall:!1}))&&t.parent.parent.arguments.at(-1)===t.parent))return;let n=t.name;if(u(n)||u(n.replaceAll(/_+$/g,"")))return;let a=t$(e.sourceCode.getScope(t),t);if(!a||"_"===n&&0===a.references.length)return;let i=ne(r,[a.scope,...a.references.map(({from:e})=>e)]),o={node:t,messageId:sb,data:{originalName:n,fixedName:i||r}};return i&&(o.fix=e=>n9(a,i,e)),o}}},meta:{type:"suggestion",docs:{description:"Enforce a specific parameter name in catch clauses.",recommended:!0},fixable:"code",schema:[{type:"object",additionalProperties:!1,properties:{name:{type:"string"},ignore:{type:"array",uniqueItems:!0}}}],defaultOptions:[{}],messages:{[sb]:"The catch parameter `{{originalName}}` should be named `{{fixedName}}`."}}},"unicorn/custom-error-definition":{create:e=>{e.on("ClassDeclaration",t=>sA(e,t)),e.on("AssignmentExpression",t=>{if("ClassExpression"===t.right.type)return sA(e,t.right)}),e.on("AssignmentExpression",e=>{if("MemberExpression"===e.left.type&&"Identifier"===e.left.object.type&&"exports"===e.left.object.name){let t=e.left.property.name,r=e.right;if("ClassExpression"!==r.type||!sx(r)||!r.id)return;let n=r.id.name;return t!==n?{node:e.left.property,messageId:sE,fix:t=>t.replaceText(e.left.property,n)}:void 0}})},meta:{type:"problem",docs:{description:"Enforce correct `Error` subclassing.",recommended:!1},fixable:"code",messages:{[sE]:"Exported error name should match error class"}}},"unicorn/no-nested-ternary":{create:e=>({ConditionalExpression(t){if([t.test,t.consequent,t.alternate].some(e=>"ConditionalExpression"===e.type))return;let{sourceCode:r}=e,n=r.getAncestors(t).toReversed(),u=n.findIndex(e=>"ConditionalExpression"!==e.type);return 1!==u||ra(t,r)?u>1?{node:u>2?n[u-3]:t,messageId:ry}:void 0:{node:t,messageId:rh,fix:e=>[e.insertTextBefore(t,"("),e.insertTextAfter(t,")")]}}}),meta:{type:"suggestion",docs:{description:"Disallow nested ternary expressions.",recommended:!0},fixable:"code",messages:{[ry]:"Do not nest ternary expressions.",[rh]:"Nested ternary expression should be parenthesized."}}},"unicorn/prefer-event-target":{create:e=>({Identifier(t){if("EventEmitter"!==t.name||("ClassDeclaration"!==t.parent.type&&"ClassExpression"!==t.parent.type||t.parent.superClass!==t)&&("NewExpression"!==t.parent.type||t.parent.callee!==t))return;let r=e.sourceCode.getScope(t);if(!function(e){if(!e)return!1;let t=function(e,t){let r=e=>e.type===t;for(;e.parent;e=e.parent)if(r(e))return e}(e,"ImportDeclaration");return!!(nR.has(t?.source.value)||"Property"===e.parent.type&&e.parent.value===e&&"Identifier"===e.parent.key.type&&"EventEmitter"===e.parent.key.name&&"ObjectPattern"===e.parent.parent.type&&e.parent.parent.properties.includes(e.parent)&&nN(e.parent.parent)&&nL(e.parent.parent.parent.init)||nN(e)&&rN(e.parent.init,{property:"EventEmitter",optional:!1,computed:!1})&&nL(e.parent.init.object))}(t$(r,t)?.defs[0]?.name))return{node:t,messageId:nO}}}),meta:{type:"suggestion",docs:{description:"Prefer `EventTarget` over `EventEmitter`.",recommended:"unopinionated"},messages:{[nO]:"Prefer `EventTarget` over `EventEmitter`."}}},"unicorn/prefer-keyboard-event-key":{create:e=>({Identifier(t){if("keyCode"!==t.name&&"charCode"!==t.name&&"which"!==t.name)return;let{event:r,references:n}=nq(e,t);if(r&&n&&n.some(e=>{let r;return r=e.identifier,t?.parent?.type==="MemberExpression"&&t.parent.object===r}))return nW(t)},Property(t){let r=t.value.name;if(!n$.has(r))return;let{event:n,references:u}=nq(e,t);if(!n)return;let a=nz(t,"VariableDeclarator"),i=a?.init;if(u&&u.some(e=>e.identifier===i))return nW(t.value);if("ObjectPattern"===n.type){for(let e of n.properties)if(e===t)return nW(t.value)}}}),meta:{type:"suggestion",docs:{description:"Prefer `KeyboardEvent#key` over `KeyboardEvent#keyCode`.",recommended:"unopinionated"},fixable:"code",messages:{[nM]:"Use `.key` instead of `.{{name}}`."}}},"unicorn/prefer-text-content":{create:()=>({MemberExpression(e){if(!rN(e,{property:"innerText"}))return;let t=e.property;return{node:t,messageId:nY,suggest:[{messageId:nV,fix:e=>e.replaceText(t,"textContent")}]}},Identifier(e){if("innerText"===e.name&&"Property"===e.parent.type&&e.parent.key===e&&!e.parent.computed&&"init"===e.parent.kind&&"ObjectPattern"===e.parent.parent.type&&e.parent.parent.properties.includes(e.parent))return{node:e,messageId:nY,suggest:[{messageId:nV,fix:t=>t.replaceText(e,e.parent.shorthand?"textContent: innerText":"textContent")}]}}}),meta:{type:"suggestion",docs:{description:"Prefer `.textContent` over `.innerText`.",recommended:"unopinionated"},hasSuggestions:!0,messages:{[nY]:"Prefer `.textContent` over `.innerText`.",[nV]:"Switch to `.textContent`."}}},"unicorn/require-array-join-separator":{create:e=>({CallExpression(t){if(!(rL(t,{method:"join",argumentsLength:0,optionalCall:!1})||rL(t,{method:"call",argumentsLength:1,optionalCall:!1,optionalMember:!1})&&rz(t.callee.object,{property:"join"})))return;let{sourceCode:r}=e,[n,u]=r.getLastTokens(t,2),a=1===t.arguments.length;return{loc:{start:r.getLoc(n)[a?"end":"start"],end:r.getLoc(u).end},messageId:ue,fix:e=>nG(e,t,"','",r)}}}),meta:{type:"suggestion",docs:{description:"Enforce using the separator argument with `Array#join()`.",recommended:"unopinionated"},fixable:"code",messages:{[ue]:"Missing the separator argument."}}},"unicorn/no-thenable":{create:e=>{for(let{selector:t,selectors:r,messageId:n,getNodes:u}of ui)e.on(t??r,function*(t){for(let r of u(t,e))yield{node:r,messageId:n}})},meta:{type:"problem",docs:{description:"Disallow `then` property.",recommended:"unopinionated"},messages:{[ut]:"Do not add `then` to an object.",[ur]:"Do not export `then`.",[un]:"Do not add `then` to a class."}}},"unicorn/no-invalid-remove-event-listener":{create:e=>({CallExpression(t){if(!(rL(t,{method:"removeEventListener",minimumArguments:2,optionalCall:!1})&&"SpreadElement"!==t.arguments[0].type&&("FunctionExpression"===t.arguments[1].type||"ArrowFunctionExpression"===t.arguments[1].type||rL(t.arguments[1],{method:"bind",optionalCall:!1,optionalMember:!1}))))return;let[,r]=t.arguments;return["ArrowFunctionExpression","FunctionExpression"].includes(r.type)?{node:r,loc:tH(r,e.sourceCode),messageId:uo}:{node:r.callee.property,messageId:uo}}}),meta:{type:"problem",docs:{description:"Prevent calling `EventTarget#removeEventListener()` with the result of an expression.",recommended:"unopinionated"},messages:{[uo]:"The listener argument should be a function reference."}}},"unicorn/consistent-function-scoping":up,"unicorn/no-new-buffer":{create:e=>{let{sourceCode:t}=e;return{NewExpression(e){if(!rF(e,{name:"Buffer"}))return;let r=((e,t)=>{if(1!==e.length)return"from";let[r]=e;if("SpreadElement"===r.type)return;if("ArrayExpression"===r.type||"TemplateLiteral"===r.type)return"from";if(function e(t,r){if(rA(t)||um(t,"Math",uy)||"CallExpression"===t.type&&!t.optional&&um(t.callee,"Math",uh)||ug(t,"Number")||um(t,"Number",ub)||"CallExpression"===t.type&&!t.optional&&um(t.callee,"Number",uE)||ug(t,"parseInt")||ug(t,"parseFloat")||"MemberExpression"===t.type&&!t.computed&&!t.optional&&"Identifier"===t.property.type&&"length"===t.property.name)return!0;switch(t.type){case"AssignmentExpression":{let{operator:n}=t;if("="===n&&e(t.right,r))return!0}case"BinaryExpression":{let{operator:n}=t;if("AssignmentExpression"===t.type&&(n=n.slice(0,-1)),"+"===n&&e(t.left,r)&&e(t.right,r)||">>>"===n||uv.has(n)&&(e(t.left,r)||e(t.right,r)))return!0;break}case"UnaryExpression":{let{operator:n}=t;if("+"===n||("-"===n||"~"===n)&&e(t.argument,r))return!0;break}case"UpdateExpression":if(e(t.argument,r))return!0;break;case"ConditionalExpression":{let n=e(t.consequent,r),u=e(t.alternate,r);if(n&&u)return!0;let a=t8(t.test,r);if(null!==a&&(a.value&&n||!a.value&&u))return!0;break}case"SequenceExpression":if(e(t.expressions.at(-1),r))return!0}return"number"==typeof t8(t,r)?.value}(r,t))return"alloc";let n=t8(r,t);if(n){let{value:e}=n;if("string"==typeof e||Array.isArray(e))return"from"}})(e.arguments,t.getScope(e));return r?{node:e,messageId:ux,data:{method:r},fix:uS(e,t,r)}:{node:e,messageId:uD,suggest:["from","alloc"].map(r=>({messageId:uA,data:{replacement:r},fix:uS(e,t,r)}))}}}},meta:{type:"problem",docs:{description:"Enforce the use of `Buffer.from()` and `Buffer.alloc()` instead of the deprecated `new Buffer()`.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,messages:{[ux]:"`new Buffer()` is deprecated, use `Buffer.{{method}}()` instead.",[uD]:"`new Buffer()` is deprecated, use `Buffer.alloc()` or `Buffer.from()` instead.",[uA]:"Switch to `Buffer.{{replacement}}()`."}}},"unicorn/no-console-spaces":{create:e=>{let{sourceCode:t}=e,r=(e,r,n)=>{let[u,a]=t.getRange(e),i="leading"===n?u+1:a-2,o=[i,i+1];return{loc:nI(o,t),messageId:uC,data:{method:r,position:n},fix:e=>e.removeRange(o)}};return{*CallExpression(e){if(!rL(e,{object:"console",methods:["log","debug","info","warn","error"],minimumArguments:1,optionalCall:!1,optionalMember:!1}))return;let n=e.callee.property.name,{arguments:u}=e,{length:a}=u;for(let[e,i]of u.entries()){if(!rD(i)&&"TemplateLiteral"!==i.type)continue;let u=t.getText(i).slice(1,-1);0!==e&&uT(u)&&(yield r(i,n,"leading")),e!==a-1&&uw(u)&&(yield r(i,n,"trailing"))}}}},meta:{type:"suggestion",docs:{description:"Do not use leading/trailing space between `console.log` parameters.",recommended:"unopinionated"},fixable:"code",messages:{[uC]:"Do not use {{position}} space between `console.{{method}}` parameters."}}},"unicorn/no-empty-file":{create:e=>{let t=e.physicalFilename;if(/\.(?:js|mjs|cjs|jsx|ts|mts|cts|tsx)$/i.test(t))return{Program(t){if(t.body.some(e=>!rI(e,rP)))return;let{sourceCode:r}=e;if(!r.getAllComments().some(e=>"Line"===e.type&&e.value.startsWith("/")))return{node:t,messageId:u_}}}},meta:{type:"suggestion",docs:{description:"Disallow empty files.",recommended:"unopinionated"},messages:{[u_]:"Empty files are not allowed."}}},"unicorn/no-useless-fallback-in-spread":{create:e=>({ObjectExpression(t){if(0===t.properties.length&&"LogicalExpression"===t.parent.type&&t.parent.right===t&&("||"===t.parent.operator||"??"===t.parent.operator)&&"SpreadElement"===t.parent.parent.type&&t.parent.parent.argument===t.parent&&"ObjectExpression"===t.parent.parent.parent.type&&t.parent.parent.parent.properties.includes(t.parent.parent))return{node:t,messageId:uF,*fix(r){let{sourceCode:n}=e,u=t.parent,{left:a}=u,i=ra(a,n),[,o]=i?rE(a,n):n.getRange(a),[,s]=n.getRange(u);yield r.removeRange([o,s]),(i||"SequenceExpression"!==a.type)&&(yield*nZ(u,r,n))}}}}),meta:{type:"suggestion",docs:{description:"Disallow useless fallback when spreading in object literals.",recommended:"unopinionated"},fixable:"code",messages:{[uF]:"The empty object is useless."}}},"unicorn/no-useless-length-check":{create:e=>{let t=[],r=new Set,n=new Set,u=new Set,a=new Set;return{BinaryExpression(e){if("BinaryExpression"===e.type&&"Literal"===e.right.type&&"0"===e.right.raw&&rN(e.left,{property:"length",optional:!1})&&rW(e.parent)){let{operator:t}=e;"==="===t?r.add(e):(">"===t||"!=="===t)&&n.add(e)}},CallExpression(e){rL(e,{optionalCall:!1,optionalMember:!1,computed:!1})&&"Identifier"===e.callee.property.type&&("some"===e.callee.property.name?u.add(e):"every"===e.callee.property.name&&a.add(e))},LogicalExpression(e){rW(e)&&t.push(e)},*"Program:exit"(){let i=new Set(t.flatMap(e=>(function(e){let{operator:t}=e;return(function e(t){return[t.left,t.right].flatMap(r=>"LogicalExpression"===r.type&&r.operator===t.operator?e(r):[r])})(e).filter((e,i,o)=>(function({node:e,operator:t,siblings:i}){return"||"===t&&r.has(e)&&i.some(t=>a.has(t)&&nf(e.left.object,t.callee.object))||"&&"===t&&n.has(e)&&i.some(t=>u.has(t)&&nf(e.left.object,t.callee.object))})({node:e,operator:t,siblings:[o[i-1],o[i+1]].filter(Boolean)}))})(e))),{sourceCode:o}=e;for(let e of i)yield{loc:{start:o.getLoc(e.left.property).start,end:o.getLoc(e).end},messageId:r.has(e)?"zero":"non-zero",fix(t){let{left:r,right:n}=e.parent,u=rE(r,o),a=rE(n,o),i=[];return r===e?(i[0]=u[0],i[1]=a[0]):(i[0]=u[1],i[1]=a[1]),t.removeRange(i)}}}}},meta:{type:"suggestion",docs:{description:"Disallow useless array length check.",recommended:"unopinionated"},fixable:"code",messages:{"non-zero":"The non-empty check is useless as `Array#some()` returns `false` for an empty array.",zero:"The empty check is useless as `Array#every()` returns `true` for an empty array."}}},"unicorn/no-useless-promise-resolve-reject":{create:e=>{let{sourceCode:t}=e;return{CallExpression(e){if(!(rL(e,{object:"Promise",methods:["resolve","reject"],optionalCall:!1,optionalMember:!1})&&("ArrowFunctionExpression"===e.parent.type&&e.parent.body===e||"ReturnStatement"===e.parent.type&&e.parent.argument===e||"YieldExpression"===e.parent.type&&!e.parent.delegate&&e.parent.argument===e)))return;let{functionNode:r,isInTryStatement:n}=function(e){let t,r=!1;for(;e;e=e.parent){if(rR(e)){t=e;break}"TryStatement"===e.type&&(r=!0)}return{functionNode:t,isInTryStatement:r}}(e);if(r&&(r.async||function(e){if("CallExpression"===e.parent.type&&"MemberExpression"===e.parent.callee.type&&!e.parent.callee.computed&&"Identifier"===e.parent.callee.property.type){let{callee:{property:t},arguments:r}=e.parent;if(1===r.length&&("then"===t.name||"catch"===t.name||"finally"===t.name)&&r[0]===e||2===r.length&&"then"===t.name&&(r[0]===e||"SpreadElement"!==r[0].type&&r[1]===e))return!0}return!1}(r))){var u=function(e,t,r){if(e.arguments.length>1)return;let{callee:n,parent:u,arguments:[a]}=e;if(a?.type==="SpreadElement")return;let i="reject"===n.property.name,o="YieldExpression"===u.type;if(!i||!t&&(!o||"ExpressionStatement"===u.parent.type))return function(t){let n="ArrowFunctionExpression"===u.type,s=a?r.getText(a):"";if(a?.type==="SequenceExpression"&&(s=`(${s})`),i){if(s||="undefined",s=`throw ${s}`,o)return t.replaceTextRange(rE(u,r),s);if(s+=";",n)return s=`{ ${s} }`,t.replaceTextRange(rE(e,r),s)}else o?s=`yield${s?" ":""}${s}`:"ReturnStatement"===u.type?s=`return${s?" ":""}${s};`:(a?.type==="ObjectExpression"&&(s=`(${s})`),s||="{}");return t.replaceText(n?e:u,s)}}(e,n,t);let{callee:r,parent:a}=e,i=r.property.name;return{node:r,messageId:i,data:{type:"YieldExpression"===a.type?"yield":"return"},fix:u}}}}},meta:{type:"suggestion",docs:{description:"Disallow returning/yielding `Promise.resolve/reject()` in async functions or promise callbacks",recommended:"unopinionated"},fixable:"code",messages:{resolve:"Prefer `{{type}} value` over `{{type}} Promise.resolve(value)`.",reject:"Prefer `throw error` over `{{type}} Promise.reject(error)`."}}},"unicorn/no-zero-fractions":{create:e=>({Literal(t){if(!rA(t))return;let{raw:r}=t,n=r.match(/^(?<before>[\d_]*)(?<dotAndFractions>\.[\d_]*)(?<after>.*)$/);if(!n)return;let{before:u,dotAndFractions:a,after:i}=n.groups,o=(u+a.replaceAll(/[.0_]+$/g,"")||"0")+i;if(o===r)return;let s="."===a,{sourceCode:d}=e,l=d.getRange(t)[0]+u.length+a.length;return{loc:nI([l-(r.length-o.length),l],d),messageId:s?uP:uk,*fix(e){let r=o;"MemberExpression"===t.parent.type&&t.parent.object===t&&nw(o)&&!ra(t,d)&&(r=`(${r})`,nh(d.getTokenBefore(t),d,r)&&(r=`;${r}`)),yield e.replaceText(t,r),yield*n1(e,t,d)}}}}),meta:{type:"suggestion",docs:{description:"Disallow number literals with zero fractions or dangling dots.",recommended:"unopinionated"},fixable:"code",messages:{[uk]:"Don't use a zero fraction in the number.",[uP]:"Don't use a dangling dot in the number."}}},"unicorn/prefer-export-from":u$,"unicorn/prefer-native-coercion-functions":{create:e=>{e.on(rO,t=>{if(t.async||t.generator||0===t.params.length||"Identifier"!==t.params[0].type||("MethodDefinition"===t.parent.type&&("constructor"===t.parent.kind||"set"===t.parent.kind)||"Property"===t.parent.type&&"set"===t.parent.kind)&&t.parent.value===t)return;let r=function(e){if(("ArrowFunctionExpression"===e.type&&"Identifier"===e.body.type&&e.body.name===e.params[0].name||"BlockStatement"===e.body.type&&1===e.body.body.length&&"ReturnStatement"===e.body.body[0].type&&e.body.body[0].argument?.type==="Identifier"&&e.body.body[0].argument.name===e.params[0].name)&&"CallExpression"===e.parent.type&&!e.parent.optional&&e.parent.arguments[0]===e&&"MemberExpression"===e.parent.callee.type&&!e.parent.callee.computed&&!e.parent.callee.optional&&"Identifier"===e.parent.callee.property.type&&uz.has(e.parent.callee.property.name))return{replacementFunction:"Boolean",fix:t=>t.replaceText(e,"Boolean")}}(t)||function(e){let t=function(e){let t=e.params[0].name;return"ArrowFunctionExpression"===e.type&&uW(e.body,t)?e.body:"BlockStatement"===e.body.type&&1===e.body.body.length&&"ReturnStatement"===e.body.body[0].type&&uW(e.body.body[0].argument,t)?e.body.body[0].argument:void 0}(e);if(!t)return;let{name:r}=t.callee,n={replacementFunction:r};return"FunctionDeclaration"===e.type||1!==t.arguments.length||(n.fix=t=>{let n=r;return"Property"===e.parent.type&&e.parent.method&&e.parent.value===e?n=`: ${n}`:"MethodDefinition"===e.parent.type&&(n=` = ${n};`),t.replaceText(e,n)}),n}(t);if(!r)return;let{sourceCode:n}=e,{replacementFunction:u,fix:a}=r;return r={node:t,loc:tH(t,n),messageId:uU,data:{functionNameWithKind:t7(t,n),replacementFunction:u}},!a||1!==t.params.length||n.getCommentsInside(t).length>0||(r.fix=a),r})},meta:{type:"suggestion",docs:{description:"Prefer using `String`, `Number`, `BigInt`, `Boolean`, and `Symbol` directly.",recommended:"unopinionated"},fixable:"code",messages:{[uU]:"{{functionNameWithKind}} is equivalent to `{{replacementFunction}}`. Use `{{replacementFunction}}` directly."}}},"unicorn/no-document-cookie":{create:e=>uG.createListeners(e),meta:{type:"problem",docs:{description:"Do not use `document.cookie` directly.",recommended:"unopinionated"},messages:{[uZ]:"Do not use `document.cookie` directly."}}},"unicorn/prefer-add-event-listener":uQ,"unicorn/prefer-array-index-of":u5,"unicorn/prefer-blob-reading-methods":{create:()=>({CallExpression(e){if(!rL(e,{methods:["readAsText","readAsArrayBuffer"],argumentsLength:1,optionalCall:!1,optionalMember:!1}))return;let t=e.callee.property,r=t.name;return{node:t,messageId:u8,data:{method:r,replacement:"readAsArrayBuffer"===r?"arrayBuffer":"text"}}}}),meta:{type:"suggestion",docs:{description:"Prefer `Blob#arrayBuffer()` over `FileReader#readAsArrayBuffer(…)` and `Blob#text()` over `FileReader#readAsText(…)`.",recommended:"unopinionated"},messages:{[u8]:"Prefer `Blob#{{replacement}}()` over `FileReader#{{method}}(blob)`."}}},"unicorn/prefer-date-now":{create:e=>({CallExpression(e){if(rL(e,{methods:["getTime","valueOf"],argumentsLength:0,optionalCall:!1,optionalMember:!1})&&ae(e.callee.object)){let t=e.callee.property;return at(e,{node:t,messageId:u9,data:{method:t.name}})}if(r_(e,{names:["Number","BigInt"],argumentsLength:1,optional:!1})&&ae(e.arguments[0])){let{name:t}=e.callee;return"Number"===t?at(e,{messageId:u7}):at(e.arguments[0])}},UnaryExpression(t){if(("+"===t.operator||"-"===t.operator)&&ae(t.argument))return at("-"===t.operator?t.argument:t,{},e.sourceCode)},AssignmentExpression(e){if(("-="===e.operator||"*="===e.operator||"/="===e.operator||"%="===e.operator||"**="===e.operator)&&ae(e.right))return at(e.right)},*BinaryExpression(e){if("-"===e.operator||"*"===e.operator||"/"===e.operator||"%"===e.operator||"**"===e.operator)for(let t of[e.left,e.right])ae(t)&&(yield at(t))}}),meta:{type:"suggestion",docs:{description:"Prefer `Date.now()` to get the number of milliseconds since the Unix Epoch.",recommended:"unopinionated"},fixable:"code",messages:{[u6]:"Prefer `Date.now()` over `new Date()`.",[u9]:"Prefer `Date.now()` over `Date#{{method}}()`.",[u7]:"Prefer `Date.now()` over `Number(new Date())`."}}},"unicorn/prefer-dom-node-dataset":{create:e=>({CallExpression(t){if(!((rL(t,{method:"setAttribute",argumentsLength:2,optionalCall:!1,optionalMember:!1})||rL(t,{methods:["removeAttribute","hasAttribute"],argumentsLength:1,optionalCall:!1,optionalMember:!1})||rL(t,{method:"getAttribute",argumentsLength:1,optionalCall:!1}))&&rD(t.arguments[0])))return;let r=t.callee.property.name;if(("AwaitExpression"!==t.parent.type||t.parent.argument!==t||"getAttribute"!==r)&&t.arguments[0].value.toLowerCase().startsWith("data-"))return{node:t,messageId:an,data:{method:t.callee.property.name},fix:function(e,t){let r=e.callee.property.name;if(!("setAttribute"===r&&function e(t){return("MemberExpression"===t.type||"CallExpression"===t.type)&&(!!t.optional||"MemberExpression"===t.type&&e(t.object))}(e.callee))){if(("setAttribute"!==r||rB(e.parent))&&("removeAttribute"!==r||rB(e.parent)))return n=>{let[u]=e.arguments,a=u.value.toLowerCase().slice(5).replaceAll(/-[a-z]/g,e=>e[1].toUpperCase()),{sourceCode:i}=t,o="",s=`${i.getText(e.callee.object)}${e.callee.optional?"?":""}.dataset`;switch(r){case"setAttribute":case"getAttribute":case"removeAttribute":o=ar(a)?`.${a}`:`[${rH(a,u.raw.charAt(0))}]`,o=`${s}${o}`,"setAttribute"===r?o+=` = ${i.getText(e.arguments[1])}`:"removeAttribute"===r&&(o=`delete ${o}`);break;case"hasAttribute":o=`Object.hasOwn(${s}, ${rH(a,u.raw.charAt(0))})`}return n.replaceText(e,o)}}}(t,e)}}}),meta:{type:"suggestion",docs:{description:"Prefer using `.dataset` on DOM elements over calling attribute methods.",recommended:"unopinionated"},fixable:"code",messages:{[an]:"Prefer `.dataset` over `{{method}}(…)`."}}},"unicorn/prefer-modern-math-apis":{create:e=>{let t=[];return{CallExpression(t){if(!rL(t,{object:"Math",method:"sqrt",argumentsLength:1,optionalCall:!1,optionalMember:!1}))return;let r=al(t.arguments[0]);if(r.some(e=>!("BinaryExpression"===e.type&&("*"===e.operator&&nf(e.left,e.right)||"**"===e.operator&&rx(e.right,2)))))return;let n=1===r.length?"abs":"hypot",u=new Set(1===r.length?[]:r.map(e=>e.parent));return{node:t.callee.property,messageId:au,data:{replacement:`Math.${n}(…)`,description:"Math.sqrt(…)"},*fix(a){let{sourceCode:i}=e;for(let e of(yield a.replaceText(t.callee.property,n),u)){let t=i.getTokenAfter(e.left,e=>"Punctuator"===e.type&&"+"===e.value);yield*n7(t,",",a,i),yield*nZ(e,a,i)}for(let e of r)yield a.removeRange([rE(e.left,i)[1],i.getRange(e)[1]])}}},BinaryExpression(e){t.push(e)},*"Program:exit"(){for(let r of t)for(let t of ad){let n=t(r,e);n&&(yield n)}}}},meta:{type:"suggestion",docs:{description:"Prefer modern `Math` APIs over legacy patterns.",recommended:"unopinionated"},fixable:"code",messages:{[au]:"Prefer `{{replacement}}` over `{{description}}`."}}},"unicorn/number-literal-case":ap,"unicorn/prefer-number-properties":ah,"unicorn/prefer-reflect-apply":{create:e=>({CallExpression(t){if(!rL(t,{optionalCall:!1,optionalMember:!1})||"Literal"===t.callee.object.type||"ArrayExpression"===t.callee.object.type||"ObjectExpression"===t.callee.object.type)return;let{sourceCode:r}=e,n=((e,t)=>{if("apply"===t9(e.callee)&&2===e.arguments.length&&aE(e.arguments[0],e.arguments[1]))return r=>r.replaceText(e,av(t,e.callee.object,e.arguments[0],e.arguments[1]))})(t,r)||((e,t)=>{if("call"===t9(e.callee)&&"apply"===t9(e.callee.object)&&"prototype"===t9(e.callee.object.object)&&e.callee.object.object.object?.type==="Identifier"&&"Function"===e.callee.object.object.object.name&&3===e.arguments.length&&aE(e.arguments[1],e.arguments[2]))return r=>r.replaceText(e,av(t,e.arguments[0],e.arguments[1],e.arguments[2]))})(t,r);if(n)return{node:t,messageId:ab,fix:n}}}),meta:{type:"suggestion",docs:{description:"Prefer `Reflect.apply()` over `Function#apply()`.",recommended:"unopinionated"},fixable:"code",messages:{[ab]:"Prefer `Reflect.apply()` over `Function#apply()`."}}},"unicorn/prefer-set-size":{create:e=>{let{sourceCode:t}=e;return{MemberExpression(e){if(!rN(e,{property:"length",optional:!1})||"ArrayExpression"!==e.object.type||1!==e.object.elements.length||e.object.elements[0]?.type!=="SpreadElement")return;let r=e.object.elements[0].argument;if(function(e,t){if(aD(e))return!0;if("Identifier"!==e.type)return!1;let r=t$(t,e);if(!r||1!==r.defs.length)return!1;let[n]=r.defs;if("Variable"!==n.type||"const"!==n.kind)return!1;let u=n.node;return"VariableDeclarator"===u.type&&"Identifier"===u.id.type&&aD(n.node.init)}(r,t.getScope(r)))return{node:e.property,messageId:ax,fix:function(e,t){let{object:r,property:n}=t,u=r.elements[0].argument;if(!(e.getCommentsInside(r).length>e.getCommentsInside(u).length))return function*(a){yield a.replaceText(n,"size"),yield a.replaceText(r,e.getText(u)),yield*n1(a,t,e)}}(t,e)}}}},meta:{type:"suggestion",docs:{description:"Prefer using `Set#size` instead of `Array#length`.",recommended:"unopinionated"},fixable:"code",messages:{[ax]:"Prefer using `Set#size` instead of `Array#length`."}}},"unicorn/prefer-string-replace-all":{create:e=>({CallExpression(t){if(!rL(t,{methods:["replace","replaceAll"],argumentsLength:2,optionalCall:!1}))return;let{arguments:[r],callee:{property:n}}=t;if(!((e,t)=>{if(rS(e))return e.regex.flags.includes("g");if(rF(e,{name:"RegExp"})&&e.arguments[0]?.type!=="SpreadElement"&&e.arguments[1]?.type==="Literal"&&"string"==typeof e.arguments[1].value)return e.arguments[1].value.includes("g");let r=t8(e,t);if(!r)return!1;let{value:n}=r;return"[object RegExp]"===Object.prototype.toString.call(n)&&n.global})(r,e.sourceCode.getScope(r)))return;let u=n.name,a=function(e){let t;if(!rS(e))return;let{pattern:r,flags:n}=e.regex;if("g"!==n.replace("u","").replace("v",""))return;try{t=aS(r,n,{unicodePropertyEscape:n.includes("u"),unicodeSet:n.includes("v"),namedGroups:!0,lookbehind:!0})}catch{return}let u="alternative"===t.type?t.body:[t];if(!u.some(e=>"value"!==e.type))return"'"+u.map(e=>{let{kind:t,codePoint:r,raw:n}=e;if("controlLetter"===t)return 13===r?String.raw`\r`:10===r?String.raw`\n`:9===r?String.raw`\t`:`\\u{${r.toString(16)}}`;if("octal"===t)return`\\u{${r.toString(16)}}`;let u=n;return("identifier"===t&&(u=u.slice(1)),"'"===u||"\\"===u)?`\\${u}`:u}).join("")+"'"}(r);if("replaceAll"===u){if(!a)return;return{node:r,messageId:aT,data:{replacement:a.length<20?a:"a string literal"},fix:e=>e.replaceText(r,a)}}return{node:n,messageId:aC,*fix(e){yield e.insertTextAfter(n,"All"),a&&(yield e.replaceText(r,a))}}}}),meta:{type:"suggestion",docs:{description:"Prefer `String#replaceAll()` over regex searches with the global flag.",recommended:"unopinionated"},fixable:"code",messages:{[aC]:"Prefer `String#replaceAll()` over `String#replace()`.",[aT]:"This pattern can be replaced with {{replacement}}."}}},"unicorn/prefer-string-slice":{create:e=>({CallExpression(t){if(!rL(t,{methods:["substr","substring"]}))return;let r=t.callee.property.name;return{node:t,messageId:r,*fix(n,{abort:u}){if(yield n.replaceText(t.callee.property,"slice"),0!==t.arguments.length){if(t.arguments.length>2||t.arguments.some(e=>"SpreadElement"===e.type))return u();yield*("substr"===r?function*({node:e,fixer:t,context:r,abort:n}){let u=e.arguments,[a,i]=u;if(!i)return;let{sourceCode:o}=r,s=t8(a,o.getScope(e)),d=rE(i,o),l=e=>nH(t,i,e,o);return s?.value===0?rA(i)||a_(i)?void 0:"number"==typeof aw(i)?void(yield l(Math.max(0,aw(i)))):(yield t.insertTextBeforeRange(d,"Math.max(0, "),void(yield t.insertTextAfterRange(d,")"))):u.every(e=>rA(e))?void(yield l(a.value+i.value)):n()}:function*({node:e,fixer:t,context:r,abort:n}){let{sourceCode:u}=r,[a,i]=e.arguments,o=a?aw(a):void 0,s=rv(a,u),d=e=>nH(t,a,e,u);if(!i){if(a_(a))return;if(void 0!==o)return void(yield d(Math.max(0,o)));let e=rE(a,u);return yield t.insertTextBeforeRange(e,"Math.max(0, "),void(yield t.insertTextAfterRange(e,")"))}let l=aw(i),c=rv(i,u),f=e=>nH(t,i,e,u);if(void 0!==o&&void 0!==l){let e=[Math.max(0,o),Math.max(0,l)];o>l&&e.reverse(),e[0]!==o&&(yield d(e[0])),e[1]!==l&&(yield f(e[1]));return}if(0===o||0===l){yield d(0),yield f(`Math.max(0, ${0===o?c:s})`);return}return n()})({node:t,fixer:n,context:e,abort:u})}}}}}),meta:{type:"suggestion",docs:{description:"Prefer `String#slice()` over `String#substr()` and `String#substring()`.",recommended:"unopinionated"},fixable:"code",messages:{substr:"Prefer `String#slice()` over `String#substr()`.",substring:"Prefer `String#slice()` over `String#substring()`."}}},"unicorn/prefer-string-trim-start-end":{create:()=>({CallExpression(e){if(!rL(e,{methods:["trimLeft","trimRight"],argumentsLength:0,optionalCall:!1}))return;let t=e.callee.property,r=t.name,n="trimLeft"===r?"trimStart":"trimEnd";return{node:t,messageId:aF,data:{method:r,replacement:n},fix:e=>e.replaceText(t,n)}}}),meta:{type:"suggestion",docs:{description:"Prefer `String#trimStart()` / `String#trimEnd()` over `String#trimLeft()` / `String#trimRight()`.",recommended:"unopinionated"},fixable:"code",messages:{[aF]:"Prefer `String#{{replacement}}()` over `String#{{method}}()`."}}},"unicorn/no-unreadable-iife":{create:e=>({CallExpression(t){let{sourceCode:r}=e;if("ArrowFunctionExpression"===t.callee.type&&"BlockStatement"!==t.callee.body.type&&ra(t.callee.body,r))return{node:t,loc:nI(rE(t.callee.body,r),r),messageId:ak}}}),meta:{type:"suggestion",docs:{description:"Disallow unreadable IIFEs.",recommended:"unopinionated"},hasSuggestions:!1,messages:{[ak]:"IIFE with parenthesized arrow function body is considered unreadable."}}},"unicorn/throw-new-error":{create:e=>({CallExpression(t){let{callee:r}=t;if(("Identifier"===r.type&&aI.test(r.name)||"MemberExpression"===r.type&&!r.computed&&"Identifier"===r.property.type&&aI.test(r.property.name))&&!rN(r,{object:"Data",property:"TaggedError",computed:!1}))return{node:t,messageId:aP,fix:r=>n3(t,e.sourceCode,r)}}}),meta:{type:"suggestion",docs:{description:"Require `new` when creating an error.",recommended:"unopinionated"},fixable:"code",messages:{[aP]:"Use `new` when creating an error."}}},"unicorn/escape-case":{create:e=>{let t="lowercase"===e.options[0];e.on("Literal",e=>{if(rD(e))return aX({node:e,original:e.raw,lowercase:t})}),e.on("Literal",e=>{if(rS(e))return aX({node:e,original:e.raw,regex:aH,lowercase:t})}),e.on("TemplateElement",e=>{if(!rU(e.parent,["String.raw"]))return aX({node:e,original:e.value.raw,lowercase:t,fix:(t,r)=>n8(t,e,r)})})},meta:{type:"suggestion",docs:{description:"Require escape sequences to use uppercase or lowercase values.",recommended:"unopinionated"},fixable:"code",schema:[{enum:["uppercase","lowercase"]}],defaultOptions:["uppercase"],messages:{[aZ]:"Use uppercase characters for the value of the escape sequence.",[aG]:"Use lowercase characters for the value of the escape sequence."}}},"unicorn/no-hex-escape":{create:e=>({Literal(t){if(rD(t)||rS(t))return aQ(e,t,t.raw)},TemplateElement(t){if(!rU(t.parent,["String.raw"]))return aQ(e,t,t.value.raw)}}),meta:{type:"suggestion",docs:{description:"Enforce the use of Unicode escapes instead of hexadecimal escapes.",recommended:"unopinionated"},fixable:"code",messages:{[aJ]:"Use Unicode escapes instead of hexadecimal escapes."}}},"unicorn/prefer-prototype-methods":{create:function(e){let{sourceCode:t}=e,r=[];e.on("CallExpression",e=>{r.push(e)}),e.on("Program:exit",function*(e){let n=new WeakMap;for(let{node:r,path:u}of new rm(t.getScope(e)).iterateGlobalReferences(Object.fromEntries(a0.map(e=>[e,{[rm.READ]:!0}]))))n.set(r,u);for(let e of r)yield function(e,{sourceCode:t,globalReferences:r}){let n;rL(e,{object:"Reflect",method:"apply",minimumArguments:1,optionalCall:!1,optionalMember:!1})?n=e.arguments[0]:rL(e,{methods:["apply","bind","call"],optionalCall:!1,optionalMember:!1})&&(n=e.callee.object);let{isGlobalReference:u,constructorName:a,methodName:i}=function(e,{sourceCode:t,globalReferences:r}){if(!e)return;if(r.has(e))return{isGlobalReference:!0,constructorName:"Object",methodName:r.get(e).at(-1)};if(!rN(e,{optional:!1}))return;let n=e.object;if("ArrayExpression"===n.type&&0===n.elements.length||"ObjectExpression"===n.type&&0===n.properties.length)return{constructorName:"ArrayExpression"===n.type?"Array":"Object",methodName:t9(e,t.getScope(e))}}(n,{sourceCode:t,globalReferences:r})??{};if(a)return{node:n,messageId:i?"known-method":"unknown-method",data:{constructorName:a,methodName:i},*fix(r){if(u)return void(yield r.replaceText(n,`${a}.prototype.${i}`));if(rN(n)){let u=n.object;yield r.replaceText(u,`${a}.prototype`),("ArrayExpression"===u.type||"ObjectExpression"===u.type)&&(yield*n1(r,e,t))}}}}(e,{sourceCode:t,globalReferences:n})})},meta:{type:"suggestion",docs:{description:"Prefer borrowing methods from the prototype instead of the instance.",recommended:"unopinionated"},fixable:"code",messages:{"known-method":"Prefer using `{{constructorName}}.prototype.{{methodName}}`.","unknown-method":"Prefer using method from `{{constructorName}}.prototype`."}}},"unicorn/error-message":{create:e=>{e.on(["CallExpression","NewExpression"],t=>{if(!(rk(t,{names:a1,optional:!1})&&e.sourceCode.isGlobalReference(t.callee)))return;let r=t.callee.name,n=a5.has(r)?a5.get(r):0,u=t.arguments;if(u.some((e,t)=>t<=n&&"SpreadElement"===e.type))return;let a=u[n];if(!a)return{node:t,messageId:a3,data:{constructorName:r}};if("ArrayExpression"===a.type||"ObjectExpression"===a.type)return{node:a,messageId:a4};let i=t8(a,e.sourceCode.getScope(a));if(!i)return;let{value:o}=i;return"string"!=typeof o?{node:a,messageId:a4}:""===o?{node:a,messageId:a2}:void 0})},meta:{type:"problem",docs:{description:"Enforce passing a `message` value when creating a built-in error.",recommended:"unopinionated"},messages:{[a3]:"Pass a message to the `{{constructorName}}` constructor.",[a2]:"Error message should not be an empty string.",[a4]:"Error message should be a string."}}},"unicorn/no-instanceof-builtins":iu,"unicorn/prefer-type-error":{create:()=>({ThrowStatement(e){let t;if(rF(e.argument,{name:"Error"})&&e.parent&&e.parent.body&&1===e.parent.body.length&&e.parent.parent&&"IfStatement"===(t=e.parent.parent).type&&ic(t.test)){let t=e.argument.callee;return{node:t,messageId:ia,fix:e=>e.insertTextBefore(t,"Type")}}}}),meta:{type:"suggestion",docs:{description:"Enforce throwing `TypeError` in type checking conditions.",recommended:"unopinionated"},fixable:"code",messages:{[ia]:"`new Error()` is too unspecific for a type check. Use `new TypeError()` instead."}}},"unicorn/consistent-destructuring":{create:e=>{let{sourceCode:t}=e,r=new Map;return{VariableDeclarator(e){"ObjectPattern"===e.id.type&&e.init&&"Literal"!==e.init.type&&(e=>{for(;e;){if(e.computed)return!1;if("MemberExpression"!==e.type)break;e=e.object}return"Identifier"===e.type||"ThisExpression"===e.type})(e.init)&&r.set(t.getText(e.init),{scope:t.getScope(e),variables:t.getDeclaredVariables(e),objectPattern:e.id})},MemberExpression(e){if(e.computed||rk(e.parent)&&e.parent.callee===e||ni(e))return;let n=r.get(t.getText(e.object));if(!n)return;let{scope:u,objectPattern:a}=n,i=t.getScope(e);if(!((e,t)=>{for(;e;){if(e===t)return!0;e=e.upper}return!1})(i,u))return;let o=a.properties.filter(e=>"Property"===e.type&&"Identifier"===e.key.type&&"Identifier"===e.value.type),s=a.properties.at(-1),d=s&&"RestElement"===s.type,l=t.getText(e),c=t.getText(e.property),f=o.find(e=>e.key.name===c);if(!f&&(d||ne(c,[i])!==c))return;if("MemberExpression"===e.parent.type)return{node:e,messageId:ip};let p=f?f.value.name:c;return{node:e,messageId:ip,suggest:[{messageId:im,data:{expression:l,property:p},*fix(t){let{properties:r}=a,n=r.at(-1);yield t.replaceText(e,p),f||(yield n?t.insertTextAfter(n,`, ${p}`):t.replaceText(a,`{${p}}`))}}]}}}},meta:{type:"suggestion",docs:{description:"Use destructured variables over properties.",recommended:!1},hasSuggestions:!0,messages:{[ip]:"Use destructured variables over properties.",[im]:"Replace `{{expression}}` with destructured property `{{property}}`."}}},"unicorn/new-for-builtins":{create:e=>{let{sourceCode:t}=e,r=new uV({objects:iy,type:uV.CONSTRUCT,handle:e=>(function({node:e,path:[t]},r){let n={node:e,messageId:"disallow",data:{name:t}};return"String"!==t&&"Boolean"!==t&&"Number"!==t&&(n.fix=function*(t){yield*nQ(e,r,t)}),n})(e,t)}),n=new uV({objects:ig,type:uV.CALL,handle:e=>(function({node:e,path:[t]},r){if("Object"===t){let{parent:t}=e;if("BinaryExpression"===t.type&&("==="===t.operator||"!=="===t.operator)&&(t.left===e||t.right===e))return}if("Date"===t){function*n(t){yield t.replaceText(e,"String(new Date())"),yield*n1(t,e,r)}let t={node:e,messageId:ih};return 0===r.getCommentsInside(e).length&&0===e.arguments.length?t.fix=n:t.suggest=[{messageId:ib,fix:n}],t}return{node:e,messageId:"enforce",data:{name:t},fix:t=>n3(e,r,t)}})(e,t)});return{*"Program:exit"(e){let u=t.getScope(e);yield*r.track(u),yield*n.track(u)}}},meta:{type:"suggestion",docs:{description:"Enforce the use of `new` for all builtins, except `String`, `Number`, `Boolean`, `Symbol` and `BigInt`.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,messages:{enforce:"Use `new {{name}}()` instead of `{{name}}()`.",disallow:"Use `{{name}}()` instead of `new {{name}}()`.",[ih]:"Use `String(new Date())` instead of `Date()`.",[ib]:"Switch to `String(new Date())`."}}},"unicorn/prefer-single-call":iA,"unicorn/no-process-exit":{create:e=>{let t;if(0===e.sourceCode.lines[0].indexOf("#!"))return{};let r=!1,n=[];e.on("CallExpression",e=>{rj(e)&&iC(e.arguments[0])&&(r=!0)}),e.on("ImportDeclaration",e=>{"Literal"===e.source.type&&iC(e.source)&&(r=!0)}),e.on("CallExpression",e=>{rL(e,{object:"process",methods:["on","once"],minimumArguments:1,optionalCall:!1,optionalMember:!1})&&(t=e)}),e.onExit("CallExpression",e=>{e===t&&(t=void 0)}),e.on("CallExpression",e=>{!t&&rL(e,{object:"process",method:"exit",optionalCall:!1,optionalMember:!1})&&n.push(e)}),e.onExit("Program",function*(){if(!r)for(let e of n)yield{node:e,messageId:iS}})},meta:{type:"suggestion",docs:{description:"Disallow `process.exit()`.",recommended:"unopinionated"},messages:{[iS]:"Only use `process.exit()` in CLI apps. Throw an error instead."}}},"unicorn/no-static-only-class":{create:function(e){e.on(["ClassDeclaration","ClassExpression"],t=>{if(t.superClass||t.decorators&&t.decorators.length>0||"ClassBody"!==t.body.type||0===t.body.body.length||t.body.body.some(e=>!function(e){let{private:t,static:r,declare:n,readonly:u,accessibility:a,decorators:i,key:o}=e;return!(!iB(e)&&"MethodDefinition"!==e.type||!r||t||"PrivateIdentifier"===o.type||n||u||void 0!==a||Array.isArray(i)&&i.length>0)}(e)))return;let{sourceCode:r}=e;return{node:t,loc:function(e,t){let{body:r}=e,n=t.getTokenBefore(r),{start:u}=t.getLoc(e),{end:a}=t.getLoc(n);return{start:u,end:a}}(t,r),messageId:iP,fix:function(e,t){let{type:r,id:n,body:u,declare:a,abstract:i,implements:o,parent:s}=e;if(a||i||Array.isArray(o)&&o.length>0||"ClassExpression"===r&&n)return;let d="ClassDeclaration"===e.type&&"ExportDefaultDeclaration"===e.parent.type&&e.parent.declaration===e;if(!d||!n){for(let e of u.body)if(iB(e)&&(e.typeAnnotation||e.value&&t.getText(e.value).includes("this")))return;return function*(n){let a=t.getFirstToken(e);if(ik(a,{expected:{type:"Keyword",value:"class"},ruleId:"no-static-only-class"}),d||"ClassExpression"===r)if("ClassExpression"===r&&"ReturnStatement"===s.type&&t.getLoc(u).start.line!==t.getLoc(s).start.line&&t.text.slice(t.getRange(a)[1],t.getRange(u)[0]).trim()){yield n.replaceText(a,"{");let e=t.getFirstToken(u);yield n.remove(e)}else yield n.replaceText(a,""),yield nJ(a,t,n);else yield n.replaceText(a,"const"),yield n.insertTextBefore(u,"= "),yield n.insertTextAfter(u,";");for(let e of u.body)yield*function*(e,t,r){let n=t.getFirstToken(e);ik(n,{expected:{type:"Keyword",value:"static"},ruleId:"no-static-only-class"}),yield r.remove(n),yield nJ(n,t,r);let u=iB(e)?t.getLastToken(e):t.getTokenAfter(e),a=tW(u);if(iB(e)){let{key:n,value:i}=e;if(i){let e=t.getTokenAfter(n,iI);yield r.replaceText(e,":")}else a?yield r.insertTextBefore(u,": undefined"):yield r.insertTextAfter(e,": undefined")}yield a?r.replaceText(u,","):r.insertTextAfter(e,",")}(e,t,n)}}}(t,r)}})},meta:{type:"suggestion",docs:{description:"Disallow classes that only have static members.",recommended:"unopinionated"},fixable:"code",messages:{[iP]:"Use an object instead of a class with only static members."}}},"unicorn/no-unreadable-array-destructuring":{create:e=>{let{sourceCode:t}=e;return{ArrayPattern(e){let{elements:r,parent:n}=e;if(r.length<3||!r.some((e,t,r)=>null===e&&null===r[t+1]))return;let u={node:e,messageId:iO},a=r.filter(e=>null!==e);if("VariableDeclarator"===n.type&&n.id===e&&null!==n.init&&1===a.length){let[i]=a;"AssignmentPattern"!==i.type&&(u.fix=function*(u){let a=r.indexOf(i),o="RestElement"===i.type,s=o?i.argument:i;yield u.replaceText(e,t.getText(s));let d=o?`.slice(${a})`:`[${a}]`,l=n.init;!ra(l,t)&&n_(l,t)?(yield u.insertTextBefore(l,"("),yield u.insertTextAfter(n,`)${d}`)):yield u.insertTextAfter(n,d),yield*n1(u,e,t)})}return u}}},meta:{type:"suggestion",docs:{description:"Disallow unreadable array destructuring.",recommended:"unopinionated"},fixable:"code",messages:{[iO]:"Array destructuring may not contain consecutive ignored values."}}},"unicorn/no-useless-spread":{create:e=>{let{sourceCode:t}=e;e.on(["ArrayExpression","ObjectExpression"],e=>{if(!("SpreadElement"===e.parent.type&&e.parent.argument===e&&("ObjectExpression"===e.type&&"ObjectExpression"===e.parent.parent.type&&e.parent.parent.properties.includes(e.parent)||"ArrayExpression"===e.type&&("ArrayExpression"===e.parent.parent.type&&e.parent.parent.elements.includes(e.parent)||rk(e.parent.parent)&&e.parent.parent.arguments.includes(e.parent)))))return;let r=e.parent,n=t.getFirstToken(r),u=r.parent.type;return{node:n,messageId:iR,data:{argumentType:"ArrayExpression"===e.type?"array":"object",parentDescription:iU[u]},*fix(r){let a;yield r.remove(n),yield*nZ(e,r,t);let i=t.getFirstToken(e);yield r.remove(i);let[o,s]=t.getLastTokens(e,2);if(yield r.remove(s),tz(o)&&(yield r.remove(o)),"CallExpression"===u||"NewExpression"===u)for(let[n,u]of(a=t.getFirstToken(e),e.elements.map((r,n,u)=>{if(n===u.length-1){let r=t.getLastToken(e,{skip:1});return tz(r)?r:void 0}let i=t.getTokenAfter(r||a,tz);return a=i,i})).entries())e.elements[n]||(yield r.insertTextBefore(u,"undefined"))}}}),e.on("ArrayExpression",e=>{if(!i$(e))return;let{parent:r}=e;if(!("ForOfStatement"===r.type&&r.right===e||"YieldExpression"===r.type&&r.delegate&&r.argument===e||(rF(r,{names:["Map","WeakMap","Set","WeakSet"],argumentsLength:1})||rF(r,{names:a8,minimumArguments:1})||rL(r,{object:"Promise",methods:["all","allSettled","any","race"],argumentsLength:1,optionalCall:!1,optionalMember:!1})||rL(r,{objects:["Array",...a8],method:"from",argumentsLength:1,optionalCall:!1,optionalMember:!1})||rL(r,{object:"Object",method:"fromEntries",argumentsLength:1,optionalCall:!1,optionalMember:!1}))&&r.arguments[0]===e))return;let n="",u=iN;switch(r.type){case"ForOfStatement":u=iL;break;case"YieldExpression":u=ij;break;case"NewExpression":n=`new ${r.callee.name}(…)`;break;case"CallExpression":n=`${r.callee.object.name}.${r.callee.property.name}(…)`}return{node:e,messageId:u,data:{parentDescription:n},fix:r=>iq(r,e,t)}}),e.on("ArrayExpression",e=>{if(!i$(e))return;let r=e.elements[0].argument;if(!(rL(r,{methods:["concat","copyWithin","filter","flat","flatMap","map","slice","splice","toReversed","toSorted","toSpliced","with"],optionalCall:!1,optionalMember:!1})||rL(r,{method:"split",optionalCall:!1,optionalMember:!1})||rL(r,{object:"Object",methods:["keys","values"],argumentsLength:1,optionalCall:!1,optionalMember:!1})||"AwaitExpression"===r.type&&rL(r.argument,{object:"Promise",methods:["all","allSettled"],argumentsLength:1,optionalCall:!1,optionalMember:!1})||rL(r,{object:"Array",methods:["from","of"],optionalCall:!1,optionalMember:!1})||rF(r,{name:"Array"})))return;let n={node:e,messageId:iM};return rF(r,{name:"Array"})||"CallExpression"===r.type&&"MemberExpression"===r.callee.type&&"Identifier"===r.callee.property.type&&"slice"===r.callee.property.name?n:Object.assign(n,{fix:r=>iq(r,e,t)})})},meta:{type:"suggestion",docs:{description:"Disallow unnecessary spread.",recommended:"unopinionated"},fixable:"code",messages:{[iR]:"Spread an {{argumentType}} literal in {{parentDescription}} is unnecessary.",[iN]:"`{{parentDescription}}` accepts iterable as argument, it's unnecessary to convert to an array.",[iL]:"`for…of` can iterate over iterable, it's unnecessary to convert to an array.",[ij]:"`yield*` can delegate iterable, it's unnecessary to convert to an array.",[iM]:"Unnecessarily cloning an array."}}},"unicorn/no-useless-switch-case":{create:e=>({*SwitchStatement(t){let{cases:r}=t;if(!(r.length<2)&&null===r.at(-1).test)for(let t=r.length-2;t>=0;t--){let n=r[t];if(!iY(n))break;yield{node:n,loc:function(e,t){let r=e.test||t.getFirstToken(e),n=t.getTokenAfter(r,tY);return{start:t.getLoc(e).start,end:t.getLoc(n).end}}(n,e.sourceCode),messageId:iz,suggest:[{messageId:iW,fix:e=>e.remove(n)}]}}}}),meta:{type:"suggestion",docs:{description:"Disallow useless case in switch statements.",recommended:"unopinionated"},hasSuggestions:!0,messages:{[iz]:"Useless case in switch statement.",[iW]:"Remove this case."}}},"unicorn/no-useless-undefined":iG,"unicorn/numeric-separators-style":iJ,"unicorn/prefer-array-find":oi,"unicorn/prefer-array-flat-map":{create:e=>({CallExpression(t){if(!(rL(t,{method:"flat",optionalCall:!1,optionalMember:!1})&&(0===t.arguments.length||1===t.arguments.length&&"Literal"===t.arguments[0].type&&"1"===t.arguments[0].raw)&&rL(t.callee.object,{method:"map",optionalCall:!1})))return;let r=t.callee.object;if(r$(r.callee.object,os))return;let{sourceCode:n}=e,u=r.callee.property;return{node:t,loc:{start:n.getLoc(u).start,end:n.getLoc(t).end},messageId:oo,*fix(e){yield*n5(e,t,n),yield e.replaceText(u,"flatMap")}}}}),meta:{type:"suggestion",docs:{description:"Prefer `.flatMap(…)` over `.map(…).flat()`.",recommended:"unopinionated"},fixable:"code",messages:{[oo]:"Prefer `.flatMap(…)` over `.map(…).flat()`."}}},"unicorn/prefer-array-flat":oy,"unicorn/prefer-array-some":ov,"unicorn/prefer-code-point":{create:()=>({CallExpression(e){let t=rL(e,{method:"charCodeAt",optionalCall:!1})?"codePointAt":rL(e,{object:"String",method:"fromCharCode",optionalCall:!1,optionalMember:!1})?"fromCodePoint":void 0;if(!t)return;let r=e.callee.property,n=r.name;return{node:r,messageId:`error/${n}`,suggest:[{messageId:`suggestion/${t}`,fix:e=>e.replaceText(r,t)}]}}}),meta:{type:"suggestion",docs:{description:"Prefer `String#codePointAt(…)` over `String#charCodeAt(…)` and `String.fromCodePoint(…)` over `String.fromCharCode(…)`.",recommended:"unopinionated"},hasSuggestions:!0,messages:{"error/charCodeAt":"Prefer `String#codePointAt()` over `String#charCodeAt()`.","error/fromCharCode":"Prefer `String.fromCodePoint()` over `String.fromCharCode()`.","suggestion/codePointAt":"Use `String#codePointAt()`.","suggestion/fromCodePoint":"Use `String.fromCodePoint()`."}}},"unicorn/prefer-default-parameters":{create:e=>{let{sourceCode:t}=e,r=[],n=(e,n,u,a)=>{let i=r.at(-1);if(!i||!n||!u||"Identifier"!==n.type||"LogicalExpression"!==u.type||"||"!==u.operator&&"??"!==u.operator||"Identifier"!==u.left.type||"Literal"!==u.right.type)return;let{name:o}=n,{left:{name:s},right:{raw:d}}=u;if(a&&o!==s)return;let l=t$(t.getScope(e),s);if(!l)return;let{references:c}=l,{params:f}=i,p=f.find(e=>"Identifier"===e.type&&e.name===s);if(((e,t,r)=>{for(let n of t.body.body){if(n===r)break;if(oA(e,n))return!0}return!1})(t,i,e)||a&&c[0].identifier!==n||!a&&c.length>1||!((e,t)=>{let r=e.at(-1);return t&&t===r})(f,p))return;let m=((e,t)=>{if("ArrowFunctionExpression"!==t.type||t.params.length>1)return!1;let[r]=t.params,n=e.getTokenBefore(r),u=e.getTokenAfter(r);return!u||!n||"("!==n.value||")"!==u.value})(t,i)?`(${o} = ${d})`:`${o} = ${d}`;return{node:e,messageId:ox,suggest:[{messageId:oD,fix:r=>[r.replaceText(p,m),((e,t,r)=>{let{line:n}=t.getLoc(r).start,{column:u}=t.getLoc(r).end,a=t.getText(r),i=t.lines[n-1],o=i.trim()===a,s=" "===i[u];if(o)return e.removeRange([t.getIndexFromLoc({line:n,column:0}),t.getIndexFromLoc({line:n+1,column:0})]);if(s){let[n,u]=t.getRange(r);return e.removeRange([n,u+1])}return e.remove(r)})(r,t,e)]}]}};e.on(rO,e=>{r.push(e)}),e.onExit(rO,()=>{r.pop()}),e.on("AssignmentExpression",e=>{if("ExpressionStatement"===e.parent.type&&e.parent.expression===e)return n(e.parent,e.left,e.right,!0)}),e.on("VariableDeclarator",e=>{if("VariableDeclaration"===e.parent.type&&e.parent.declarations[0]===e)return n(e.parent,e.id,e.init,!1)})},meta:{type:"suggestion",docs:{description:"Prefer default parameters over reassignment.",recommended:"unopinionated"},hasSuggestions:!0,messages:{[ox]:"Prefer default parameters over reassignment.",[oD]:"Replace reassignment with default parameter."}}},"unicorn/prefer-logical-operator-over-ternary":{create:e=>{let{sourceCode:t}=e;return{ConditionalExpression(e){let{test:r,consequent:n,alternate:u}=e;return oT(r,n,t)?ow({sourceCode:t,conditionalExpression:e,left:r,right:u}):"UnaryExpression"===r.type&&"!"===r.operator&&r.prefix&&oT(r.argument,u,t)?ow({sourceCode:t,conditionalExpression:e,left:r.argument,right:n}):void 0}}},meta:{type:"suggestion",docs:{description:"Prefer using a logical operator over a ternary.",recommended:"unopinionated"},hasSuggestions:!0,messages:{[oS]:"Prefer using a logical operator over a ternary.",[oC]:"Switch to `{{operator}}` operator."}}},"unicorn/prefer-optional-catch-binding":{create:e=>({CatchClause(t){let r=t.param;if(!r)return;let{sourceCode:n}=e;if(n.getDeclaredVariables(r.parent).some(e=>e.references.length>0))return;let{type:u,name:a,parent:i}=r;return{node:r,messageId:"Identifier"===u?o_:oF,data:{name:a},*fix(e){let t=n.getTokenBefore(r);ik(t,{test:tV,expected:"(",ruleId:"prefer-optional-catch-binding"});let u=n.getTokenAfter(r);ik(u,{test:tZ,expected:")",ruleId:"prefer-optional-catch-binding"}),yield e.remove(t),yield e.remove(r),yield e.remove(u);let[,a]=n.getRange(u),[o]=n.getRange(i.body),s=n.text.slice(a,o),d=s.length-s.trimStart().length;0!==d&&(yield e.removeRange([a,a+d]))}}}}),meta:{type:"suggestion",docs:{description:"Prefer omitting the `catch` binding parameter.",recommended:"unopinionated"},fixable:"code",messages:{[o_]:"Remove unused catch binding `{{name}}`.",[oF]:"Remove unused catch binding."}}},"unicorn/prefer-regexp-test":oN,"unicorn/prefer-set-has":{create:e=>({Identifier(t){let{parent:r}=t;if(!("VariableDeclarator"===r.type&&r.id===t&&r.init&&"VariableDeclaration"===r.parent.type&&r.parent.declarations.includes(r)&&("ExportNamedDeclaration"!==r.parent.parent.type||r.parent.parent.declaration!==r.parent)&&("ArrayExpression"===r.init.type||rk(r.init,{name:"Array",optional:!1})||rL(r.init,{object:"Array",methods:["from","of"],optionalCall:!1,optionalMember:!1})||rL(r.init,{methods:oM,optionalCall:!1,optionalMember:!1}))))return;let n=t$(e.sourceCode.getScope(t),t);if(!n)return;let u=nu(n).filter(e=>e!==t);if(0===u.length||u.some(e=>!(rL(e.parent.parent,{method:"includes",optionalCall:!1,optionalMember:!1,argumentsLength:1})&&e.parent.object===e))||1===u.length&&u.every(e=>!((e,t)=>{let r=t.parent.parent.parent,{parent:n}=e.parent;for(;n&&n!==r;){if(o$.has(n.type))return!0;n=n.parent}return!1})(e,t)))return;let a={node:t,messageId:oL,data:{name:t.name}},i=function*(e){for(let r of(yield e.insertTextBefore(t.parent.init,"new Set("),yield e.insertTextAfter(t.parent.init,")"),u))yield e.replaceText(r.parent.property,"has")};return t.typeAnnotation?a.suggest=[{messageId:oj,fix:i}]:a.fix=i,a}}),meta:{type:"suggestion",docs:{description:"Prefer `Set#has()` over `Array#includes()` when checking for existence or non-existence.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,messages:{[oL]:"`{{name}}` should be a `Set`, and use `{{name}}.has()` to check existence or non-existence.",[oj]:"Switch `{{name}}` to `Set`."}}},"unicorn/prefer-string-raw":{create:e=>{e.on("Literal",t=>{if(!rD(t)||rP(t.parent)||("ImportDeclaration"===t.parent.type||"ExportNamedDeclaration"===t.parent.type||"ExportAllDeclaration"===t.parent.type)&&t.parent.source===t||"Property"===t.parent.type&&!t.parent.computed&&t.parent.key===t||"JSXAttribute"===t.parent.type&&t.parent.value===t||"TSEnumMember"===t.parent.type&&(t.parent.initializer===t||t.parent.id===t)||"ImportAttribute"===t.parent.type&&(t.parent.key===t||t.parent.value===t))return;let{sourceCode:r}=e,{raw:n}=t;if("\\"===n.at(-2)||!n.includes("\\\\")||n.includes("`")||n.includes("${")||r.getLoc(t).start.line!==r.getLoc(t).end.line)return;let u=function(e){let t=e.charAt(0);return e.slice(1,-1).replaceAll(RegExp(String.raw`\\(?<escapedCharacter>[\\${t}])`,"g"),"$<escapedCharacter>")}(n);if(u===t.value)return{node:t,messageId:oU,*fix(e){yield e.replaceText(t,`String.raw\`${u}\``),yield*n1(e,t,r)}}})},meta:{type:"suggestion",docs:{description:"Prefer using the `String.raw` tag to avoid escaping `\\`.",recommended:"unopinionated"},fixable:"code",messages:{[oU]:"`String.raw` should be used to avoid escaping `\\`."}}},"unicorn/prefer-switch":oZ,"unicorn/require-number-to-fixed-digits-argument":{create:e=>({CallExpression(t){if(!rL(t,{method:"toFixed",argumentsLength:0,optionalCall:!1})||"NewExpression"===t.callee.object.type)return;let{sourceCode:r}=e,[n,u]=r.getLastTokens(t,2);return{loc:{start:r.getLoc(n).start,end:r.getLoc(u).end},messageId:oG,fix:e=>nG(e,t,"0",r)}}}),meta:{type:"suggestion",docs:{description:"Enforce using the digits argument with `Number#toFixed()`.",recommended:"unopinionated"},fixable:"code",messages:{[oG]:"Missing the digits argument."}}},"unicorn/template-indent":{create:e=>{let{sourceCode:t}=e,r={tags:["outdent","dedent","gql","sql","html","styled"],functions:["dedent","stripIndent"],selectors:[],comments:["HTML","indent"],...e.options[0]};return r.comments=r.comments.map(e=>e.toLowerCase()),{TemplateLiteral(e){if((e=>{if(r.comments.length>0){let n=t.getTokenBefore(e,{includeComments:!0});if(n?.type==="Block"&&r.comments.includes(n.value.trim().toLowerCase()))return!0}if(rL(e.parent,{method:"toMatchInlineSnapshot",argumentsLength:1,optionalCall:!1,optionalMember:!1})&&e.parent.arguments[0]===e&&r_(e.parent.callee.object,{name:"expect",argumentsLength:1,optionalCall:!1,optionalMember:!1})||r.tags.length>0&&rU(e,r.tags)||r.functions.length>0&&"CallExpression"===e.parent.type&&e.parent.arguments.includes(e)&&r$(e.parent.callee,r.functions))return!0;if(r.selectors.length>0){let n=t.getAncestors(e).toReversed();if(r.selectors.some(t=>sa.matches(e,(so.has(t)||so.set(t,sa.parse(t)),so.get(t)),n)))return!0}return!1})(e))return(e=>{let n,u="__PLACEHOLDER__"+Math.random(),a=e.quasis.map(e=>t.getText(e).slice(1,e.tail?-1:-2)).join(u),i=a.match(/\r?\n/);if(!i)return;let o=i[0],s=t.lines[t.getLoc(e).start.line-1].match(/^(\s*)\S/),d=s?s[1]:"";n="string"==typeof r.indent?r.indent:"number"==typeof r.indent?" ".repeat(r.indent):d.startsWith(" ")?" ":" ";let l=(function(e){let t=oK(e);if(0===t)return e;let r=RegExp(`^[ \\t]{${t}}`,"gm");return e.replace(r,"")})(a).replaceAll(RegExp(`^${o}|${o}[ ]*$`,"g"),""),c=o+function(e,t=1,r={}){let{indent:n=" ",includeEmptyLines:u=!1}=r;if("string"!=typeof e)throw TypeError(`Expected \`input\` to be a \`string\`, got \`${typeof e}\``);if("number"!=typeof t)throw TypeError(`Expected \`count\` to be a \`number\`, got \`${typeof t}\``);if(t<0)throw RangeError(`Expected \`count\` to be at least 0, got \`${t}\``);if("string"!=typeof n)throw TypeError(`Expected \`options.indent\` to be a \`string\`, got \`${typeof n}\``);return 0===t?e:e.replace(u?/^/gm:/^(?!\s*$)/gm,n.repeat(t))}(l,1,{indent:d+n})+o+d;if(c!==a)return{node:e,messageId:si,fix:t=>c.split(u).map((r,n)=>n8(t,e.quasis[n],r))}})(e)}}},meta:{type:"suggestion",docs:{description:"Fix whitespace-insensitive template indentation.",recommended:!0},fixable:"code",schema:ss,defaultOptions:[{}],messages:{[si]:"Templates should be properly indented."}}},"unicorn/no-single-promise-in-promise-methods":{create:e=>({CallExpression(t){if(!(rL(t,{object:"Promise",methods:iF,optionalMember:!1,optionalCall:!1,argumentsLength:1})&&"ArrayExpression"===t.arguments[0].type&&1===t.arguments[0].elements.length&&t.arguments[0].elements[0]&&"SpreadElement"!==t.arguments[0].elements[0].type))return;let r=t.callee.property.name,n={node:t.arguments[0],messageId:iT,data:{method:r}},{sourceCode:u}=e;if("AwaitExpression"===t.parent.type&&t.parent.argument===t&&("all"!==r||rB(t.parent.parent)))return n.fix=e=>{let[r]=t.arguments[0].elements,n=rv(r,u);return ra(r,u)||"SequenceExpression"!==r.type&&"YieldExpression"!==r.type&&"ArrowFunctionExpression"!==r.type&&"ConditionalExpression"!==r.type&&"AssignmentExpression"!==r.type&&"LogicalExpression"!==r.type&&"BinaryExpression"!==r.type||(n=`(${n})`),e.replaceText(t,n)},n;return"all"===r?n:(n.suggest=[{messageId:iw,fix:e=>{let[r]=t.arguments[0].elements,n=rv(r,u);return ra(r,u)||"Identifier"===r.type||"MemberExpression"===r.type||(n=`(${n})`),nh(u.getTokenBefore(t),u,n)&&(n=`;${n}`),e.replaceText(t,n)}},{messageId:i_,fix:function*(e){let r=t.callee.property;yield e.replaceText(r,"resolve");let[n]=t.arguments,a=u.getFirstToken(n),[i,o]=u.getLastTokens(n,2);yield e.remove(a),yield e.remove(o),tz(i)&&(yield e.remove(i))}}],n)}}),meta:{type:"suggestion",docs:{description:"Disallow passing single-element arrays to `Promise` methods.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,messages:{[iT]:"Wrapping single-element array with `Promise.{{method}}()` is unnecessary.",[iw]:"Use the value directly.",[i_]:"Switch to `Promise.resolve(…)`."}}},"unicorn/no-await-in-promise-methods":{create:e=>({*CallExpression(t){if(rL(t,{object:"Promise",methods:sc,optionalMember:!1,optionalCall:!1,argumentsLength:1})&&"ArrayExpression"===t.arguments[0].type)for(let r of t.arguments[0].elements)r?.type==="AwaitExpression"&&(yield{node:r,messageId:sd,data:{method:t.callee.property.name},suggest:[{messageId:sl,*fix(t){let{sourceCode:n}=e,u=e.sourceCode.getFirstToken(r);yield t.remove(u),yield nJ(u,n,t)}}]})}}),meta:{type:"suggestion",docs:{description:"Disallow using `await` in `Promise` method parameters.",recommended:"unopinionated"},hasSuggestions:!0,messages:{[sd]:"Promise in `Promise.{{method}}()` should not be awaited.",[sl]:"Remove `await`."}}},"unicorn/no-negation-in-equality-check":{create:e=>({BinaryExpression(t){let{operator:r,left:n}=t;if(!("BinaryExpression"===t.type&&sm.has(t.operator)&&sg(n)&&!sg(n.argument)))return;let{sourceCode:u}=e,a=u.getFirstToken(n),i=`${r.startsWith("!")?"=":"!"}${r.slice(1)}`;return{node:a,messageId:sf,suggest:[{messageId:sp,data:{operator:i},*fix(e){yield*n1(e,t,u);let o=u.getTokenAfter(a),{parent:s}=t;("ReturnStatement"===s.type||"ThrowStatement"===s.type)&&!ra(t,u)&&(nd(u.getFirstToken(s),o)||(yield*nX(e,s,u))),yield e.remove(a),nh(u.getTokenBefore(a),u,o.value)&&(yield e.insertTextAfter(a,";"));let d=u.getTokenAfter(n,e=>"Punctuator"===e.type&&e.value===r);yield e.replaceText(d,i)}}]}}}),meta:{type:"problem",docs:{description:"Disallow negated expression in equality check.",recommended:"unopinionated"},hasSuggestions:!0,messages:{[sf]:"Negated expression is not allowed in equality check.",[sp]:"Switch to '{{operator}}' check."}}},"unicorn/no-unnecessary-slice-end":{create:e=>sy(e,{methods:["slice"],messageId:sh}),meta:{type:"suggestion",docs:{description:"Disallow using `.length` or `Infinity` as the `end` argument of `{Array,String,TypedArray}#slice()`.",recommended:"unopinionated"},fixable:"code",messages:{[sh]:"Passing `{{description}}` as the `end` argument is unnecessary."}}},"unicorn/no-lonely-if":{create:e=>({IfStatement(t){if(sC(t)&&("BlockStatement"===t.parent.type&&1===t.parent.body.length&&t.parent.body[0]===t&&sC(t.parent.parent)&&t.parent.parent.consequent===t.parent||sC(t.parent)&&t.parent.consequent===t)){var r;return{node:t,messageId:sS,fix:(r=e.sourceCode,function*(e){let n=("BlockStatement"===t.parent.type?t.parent:t).parent,u={...n,...sw(n,r)},a={...t,...sw(t,r)};if(yield e.remove(a.ifToken),yield nJ(a.ifToken,r,e),u.openingBraceToken){yield e.remove(u.openingBraceToken),yield nJ(u.openingBraceToken,r,e),yield e.remove(u.closingBraceToken);let t=r.getTokenBefore(u.closingBraceToken,{includeComments:!0});yield nJ(t,r,e)}for(let{test:t,openingParenthesisToken:n,closingParenthesisToken:i}of(yield e.insertTextBefore(u.openingParenthesisToken,"("),yield e.insertTextAfter(a.closingParenthesisToken,`)${"EmptyStatement"===a.consequent.type?"":" "}`),yield e.insertTextAfter(u.closingParenthesisToken," && "),[u,a]))(ra(t,r)||!sT(t))&&(yield e.remove(n),yield e.remove(i)),yield nJ(i,r,e);if("BlockStatement"!==a.consequent.type){let t=r.getLastToken(a.consequent);if(tK(t)){let n=r.getTokenAfter(u);n&&nh(t,r,n.value)&&(yield e.insertTextBefore(n,";"))}}})}}}}),meta:{type:"suggestion",docs:{description:"Disallow `if` statements as the only statement in `if` blocks without `else`.",recommended:"unopinionated"},fixable:"code",messages:{[sS]:"Unexpected `if` as the only statement in a `if` block without `else`."}}},"unicorn/no-magic-array-flat-depth":{create:e=>({CallExpression(t){if(!rL(t,{method:"flat",argumentsLength:1,optionalCall:!1}))return;let[r]=t.arguments;if(!rA(r)||1===r.value)return;let{sourceCode:n}=e,{openingParenthesisToken:u,closingParenthesisToken:a}=nt(n,t);if(!n.commentsExistBetween(u,a))return{node:r,messageId:s_}}}),meta:{type:"suggestion",docs:{description:"Disallow a magic number as the `depth` argument in `Array#flat(…).`",recommended:"unopinionated"},messages:{[s_]:"Magic number as depth is not allowed."}}},"unicorn/no-negated-condition":{create:e=>{e.on(["IfStatement","ConditionalExpression"],t=>{if("IfStatement"===t.type&&(!t.alternate||"IfStatement"===t.alternate.type))return;let{test:r}=t;if("UnaryExpression"===r.type&&"!"===r.operator||"BinaryExpression"===r.type&&("!="===r.operator||"!=="===r.operator))return{node:r,messageId:sF,*fix(n){let{sourceCode:u}=e;if(yield*function*(e,t,r){let{test:n}=t;if("UnaryExpression"===n.type){let u=r.getFirstToken(n);"IfStatement"===t.type&&(yield*nZ(n.argument,e,r)),yield e.remove(u);return}let u=r.getTokenAfter(n.left,e=>"Punctuator"===e.type&&e.value===n.operator);yield e.replaceText(u,"="+u.value.slice(1))}(n,t,u),yield*function*(e,t,r){let n="IfStatement"===t.type,[u,a]=[t.consequent,t.alternate].map(e=>{let t=rE(e,r),u=r.text.slice(...t);return n&&"BlockStatement"!==e.type&&(u=`{${u}}`),{range:t,text:u}});u.text!==a.text&&(yield e.replaceTextRange(r.getRange(u),a.text),yield e.replaceTextRange(r.getRange(a),u.text))}(n,t,u),"ConditionalExpression"!==t.type||"UnaryExpression"!==r.type)return;yield*n1(n,t,u);let{parent:a}=t,[i,o]=u.getFirstTokens(r,2);if(("ReturnStatement"===a.type||"ThrowStatement"===a.type)&&a.argument===t&&!nd(i,o)&&!ra(t,u)&&!ra(r,u))return void(yield*nX(n,a,u));nh(u.getTokenBefore(t),u,o.value)&&(yield n.insertTextBefore(t,";"))}}})},meta:{type:"suggestion",docs:{description:"Disallow negated conditions.",recommended:"unopinionated"},fixable:"code",messages:{[sF]:"Unexpected negated condition."}}},"unicorn/no-object-as-default-parameter":{create:()=>({AssignmentPattern(e){if(!("ObjectExpression"===e.right.type&&e.right.properties.length>0&&rR(e.parent)&&e.parent.params.includes(e)))return;let{left:t,right:r}=e;return"Identifier"===t.type?{node:t,messageId:sk,data:{parameter:t.name}}:{node:r,messageId:sP}}}),meta:{type:"problem",docs:{description:"Disallow the use of objects as default parameters.",recommended:"unopinionated"},messages:{[sk]:"Do not use an object literal as default for parameter `{{parameter}}`.",[sP]:"Do not use an object literal as default."}}},"unicorn/prefer-negative-index":{create:e=>({CallExpression(t){if("MemberExpression"!==t.callee.type)return;let r=function(e){let{callee:t,arguments:r}=e,n=t.property.name,u=t.object,a=r;if(sB.has(n))return{method:n,target:u,argumentsNodes:a};if("call"!==n&&"apply"!==n)return;let i="apply"===n;if(n=sO(t.object),!sB.has(n))return;let{supportObjects:o}=sB.get(n),s=t.object.object;if("ArrayExpression"===s.type&&0===s.elements.length||"slice"===n&&rx(s,"")||"prototype"===sO(s)&&"Identifier"===s.object.type&&o.has(s.object.name)){if([u]=r,i){let[,e]=r;if(!e||"ArrayExpression"!==e.type)return;a=e.elements}else a=r.slice(1);return{method:n,target:u,argumentsNodes:a}}}(t);if(!r)return;let{method:n,target:u,argumentsNodes:a}=r,{argumentsIndexes:i}=sB.get(n),o=i.map(e=>(function e(t,r){if(!t)return;let{type:n,operator:u,left:a,right:i}=t;if("BinaryExpression"===n&&"-"===u&&rA(i)&&i.value>0)return"MemberExpression"===a.type&&!a.computed&&!a.optional&&"Identifier"===a.property.type&&"length"===a.property.name&&nf(a.object,r)?a:e(a,r)})(a[e],u)).filter(Boolean);if(0!==o.length)return{node:t,messageId:sI,data:{method:n},*fix(t){let{sourceCode:r}=e;for(let e of o)yield function(e,t,r){let[n,u]=rE(e,r);return t.removeRange([n,u+r.text.slice(u).match(/\S|$/).index])}(e,t,r)}}}}),meta:{type:"suggestion",docs:{description:"Prefer negative index over `.length - index` when possible.",recommended:"unopinionated"},fixable:"code",messages:{[sI]:"Prefer negative index over length minus index for `{{method}}`."}}},"unicorn/prefer-node-protocol":{create:e=>({Literal(t){if(!(("ImportDeclaration"===t.parent.type||"ExportNamedDeclaration"===t.parent.type||"ImportExpression"===t.parent.type)&&t.parent.source===t||(rL(t.parent,{object:"process",method:"getBuiltinModule",argumentsLength:1,optionalCall:!1,optionalMember:!1})||rj(t.parent))&&t.parent.arguments[0]===t))return;let{value:r}=t;if(!("string"==typeof r&&!r.startsWith(sj)&&sN(r)&&sN(`${sj}${r}`)))return;let n=e.sourceCode.getRange(t)[0]+1;return{node:t,messageId:sL,data:{moduleName:r},fix:e=>e.insertTextAfterRange([n,n],sj)}}}),meta:{type:"suggestion",docs:{description:"Prefer using the `node:` protocol when importing Node.js builtin modules.",recommended:"unopinionated"},fixable:"code",messages:{[sL]:"Prefer `node:{{moduleName}}` over `{{moduleName}}`."}}},"unicorn/consistent-date-clone":{create:e=>({NewExpression(t){if(!rF(t,{name:"Date",argumentsLength:1}))return;let[r]=t.arguments;if(!rL(r,{method:"getTime",argumentsLength:0,optionalCall:!1,optionalMember:!1}))return;let{sourceCode:n}=e;return{node:r,loc:{start:n.getLoc(r.callee.property).start,end:n.getLoc(r).end},messageId:sM,fix:e=>n5(e,r,n)}}}),meta:{type:"suggestion",docs:{description:"Prefer passing `Date` directly to the constructor when cloning.",recommended:"unopinionated"},fixable:"code",messages:{[sM]:"Unnecessary `.getTime()` call."}}},"unicorn/no-accessor-recursion":{create:e=>{let{sourceCode:t}=e;return{ThisExpression(e){let r=((e,t)=>{for(let r=e.getScope(t);r;r=r.upper){if("class"===r.type)return;if("function"===r.type&&"ArrowFunctionExpression"!==r.block.type)return r}})(t,e);if(!r)return;let n=r.block.parent;if(["Property","MethodDefinition"].includes(n?.type)&&!n.computed&&["set","get"].includes(n.kind)&&sU(n.key)&&("get"===n.kind&&(sz(e,n)||"VariableDeclarator"===e.parent.type&&e.parent.init===e&&"ObjectPattern"===e.parent.id.type&&e.parent.id.properties.some(e=>"Property"===e.type&&!e.computed&&sq(e.key,n.key)))||"set"===n.kind&&((e,t)=>{if(!sz(e,t))return!1;let r=e.parent,{parent:n}=r;return("AssignmentExpression"===n.type||"AssignmentPattern"===n.type)&&n.left===r||"UpdateExpression"===n.type&&n.argument===r||"ArrayPattern"===n.type&&n.elements.includes(r)||"Property"===n.type&&n.value===r&&"ObjectPattern"===n.parent.type&&n.parent.properties.includes(r.parent)})(e,n)))return{node:e.parent,messageId:s$,data:{kind:n.kind}}}}},meta:{type:"problem",docs:{description:"Disallow recursive access to `this` within getters and setters.",recommended:"unopinionated"},defaultOptions:[],messages:{[s$]:"Disallow recursive access to `this` within {{kind}}ters."}}},"unicorn/prefer-import-meta-properties":{create:function(e){let{sourceCode:t}=e;e.on("MetaProperty",function*(e){if("MetaProperty"!==e.type||"import"!==e.meta.name||"meta"!==e.property.name)return;let r=e.parent;if(!rN(r,{properties:["url","filename"],computed:!1,optional:!1}))return;let n=r.property.name;if("url"===n){if(sZ(r.parent,t)&&r.parent.arguments[0]===r)return void(yield*a(r.parent,{reportFilenameNode:!0}));if(rF(r.parent,{name:"URL",minimumArguments:1,maximumArguments:2})){var u;let e=r.parent,n=e.parent;if(1===e.arguments.length&&e.arguments[0]===r&&sZ(n,t)&&n.arguments[0]===e)return void(yield*a(n,{reportFilenameNode:!0}));2===e.arguments.length&&(u=e.arguments[0],u?.type==="Literal"&&("."===u.value||"./"===u.value))&&e.arguments[1]===r&&sZ(n,t)&&n.arguments[0]===e&&(yield i(n,"dirname"))}return}function*a(e,{reportFilenameNode:r=!1}={}){let{parent:n}=e;if(sG(n,t)&&n.arguments[0]===e)return void(yield i(n,"dirname"));if(r&&(yield i(e,"filename")),"VariableDeclarator"!==n.type||n.init!==e||"Identifier"!==n.id.type||"VariableDeclaration"!==n.parent.type||"const"!==n.parent.kind)return;let u=t$(t.getScope(n.id),n.id);if(u)for(let e of u.references){if(!e.isReadOnly())continue;let{parent:r}=e.identifier;sG(r,t)&&r.arguments[0]===e.identifier&&(yield i(r,"dirname"))}}function i(e,t){return{node:e,messageId:"dirname"===t?sW:sY,fix:r=>r.replaceText(e,`import.meta.${t}`)}}"filename"===n&&(yield*a(r))})},meta:{type:"suggestion",docs:{description:"Prefer `import.meta.{dirname,filename}` over legacy techniques for getting file paths.",recommended:!1},fixable:"code",messages:{[sW]:"Do not construct dirname.",[sY]:"Do not construct filename using `fileURLToPath()`."}}},"unicorn/no-unnecessary-array-flat-depth":{create:e=>{e.on("CallExpression",t=>{if(!(rL(t,{method:"flat",argumentsLength:1,optionalCall:!1})&&rx(t.arguments[0],1)))return;let[r]=t.arguments;return{node:r,messageId:sK,fix:t=>nK(t,r,e.sourceCode)}})},meta:{type:"suggestion",docs:{description:"Disallow using `1` as the `depth` argument of `Array#flat()`.",recommended:"unopinionated"},fixable:"code",messages:{[sK]:"Passing `1` as the `depth` argument is unnecessary."}}},"unicorn/no-unnecessary-array-splice-count":{create:e=>sy(e,{methods:["splice","toSpliced"],messageId:sH}),meta:{type:"suggestion",docs:{description:"Disallow using `.length` or `Infinity` as the `deleteCount` or `skipCount` argument of `Array#{splice,toSpliced}()`.",recommended:"unopinionated"},fixable:"code",messages:{[sH]:"Passing `{{description}}` as the `{{argumentName}}` argument is unnecessary."}}},"unicorn/no-useless-error-capture-stack-trace":{create:e=>{let t=[],r=[];e.on(["ClassDeclaration","ClassExpression"],e=>{t.push(e),r.push(e)}),e.onExit(["ClassDeclaration","ClassExpression"],()=>{t.pop(),r.pop()}),e.on(["FunctionDeclaration","FunctionExpression"],e=>{r.push(e)}),e.onExit(["FunctionDeclaration","FunctionExpression"],()=>{r.pop()}),e.on("CallExpression",n=>{let u,a=t.at(-1);if(!(a?.superClass&&"Identifier"===a.superClass.type&&a1.includes(a.superClass.name)&&e.sourceCode.isGlobalReference(a.superClass)&&(u=r.at(-1),u&&"MethodDefinition"===u.parent.type&&"constructor"===u.parent.kind&&u.parent.value===u&&a.body.body.includes(u.parent))&&rL(n,{object:"Error",method:"captureStackTrace",argumentsLength:2,optionalMember:!1})&&e.sourceCode.isGlobalReference(n.callee.object)))return;let[i,o]=n.arguments;if("ThisExpression"!==i.type||!((e,t,r)=>{if("MetaProperty"===e.type&&"Identifier"===e.meta.type&&"new"===e.meta.name&&"Identifier"===e.property.type&&"target"===e.property.name||rN(e,{property:"constructor",computed:!1,optional:!1})&&"ThisExpression"===e.object.type)return!0;if("Identifier"!==e.type||!t.id)return!1;let n=t$(r.sourceCode.getScope(e),e);return n&&1===n.defs.length&&"ClassName"===n.defs[0].type&&n.defs[0].node===t})(o,a,e))return;let s={node:n,messageId:sX},d="ChainExpression"===n.parent?n.parent.parent:n.parent;return"ExpressionStatement"===d.type&&"BlockStatement"===d.parent.type&&(s.fix=e=>e.remove(d)),s})},meta:{type:"suggestion",docs:{description:"Disallow unnecessary `Error.captureStackTrace(…)`.",recommended:"unopinionated"},fixable:"code",messages:{[sX]:"Unnecessary `Error.captureStackTrace(…)` call."}}},"unicorn/prefer-class-fields":{create:e=>{let{sourceCode:t}=e;return{ClassBody(e){let r=e.body.find(e=>"constructor"===e.kind&&!e.computed&&!e.static&&"MethodDefinition"===e.type&&"FunctionExpression"===e.value.type);if(!r)return;let n=r.value.body.body.find(e=>"EmptyStatement"!==e.type);if(!(n?.type==="ExpressionStatement"&&"AssignmentExpression"===n.expression.type&&"="===n.expression.operator&&"MemberExpression"===n.expression.left.type&&"ThisExpression"===n.expression.left.object.type&&!n.expression.left.computed&&["Identifier","PrivateIdentifier"].includes(n.expression.left.property.type)&&"Literal"===n.expression.right.type))return;let u=n.expression.left.property.name,a=n.expression.right.raw,i=n.expression.left.property.type,o=e.body.find(e=>"PropertyDefinition"===e.type&&!e.computed&&!e.static&&e.key.type===i&&e.key.name===u),s={node:n,messageId:sJ};function*d(i){if(yield((e,t,r)=>{let{line:n}=t.getLoc(e).start,u=t.getText(e);return t.lines[n-1].trim()===u?r.removeRange([t.getIndexFromLoc({line:n,column:0}),t.getIndexFromLoc({line:n+1,column:0})]):r.remove(e)})(n,t,i),o){if(o.value)return void(yield i.replaceText(o.value,a));let e=` = ${a}`,r=t.getLastToken(o);return tW(r)?void(yield i.insertTextBefore(r,e)):void(yield i.insertTextAfter(o,`${e};`))}let s=t.getLastToken(e),d=nr(r,t),l=`${d}${u} = ${a};
|
|
21
21
|
`;"\n"!==t.getText()[t.getRange(s)[0]-1]&&(l=`
|
|
22
22
|
${l}`);let c=e.body.at(-1);"PropertyDefinition"===c.type&&";"!==t.getLastToken(c).value&&(l=`;${l}`),yield i.insertTextBefore(s,l)}return o?.value?s.suggest=[{messageId:sQ,fix:d}]:s.fix=d,s}}},meta:{type:"suggestion",docs:{description:"Prefer class field declarations over `this` assignments in constructors.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,messages:{[sJ]:"Prefer class field declaration over `this` assignment in constructor for static values.",[sQ]:"Encountered same-named class field declaration and `this` assignment in constructor. Replace the class field declaration with the value from `this` assignment."}}},"unicorn/prefer-bigint-literals":{create:e=>({CallExpression(t){if(!r_(t,{name:"BigInt",argumentsLength:1,optional:!1}))return;let[r]=t.arguments,n=function(e){let t;if(rD(e)){let t=e.raw.slice(1,-1);try{BigInt(t)}catch{return}return{shouldUseSuggestion:!1,text:`${t.trimEnd()}n`}}let{value:r,raw:n}=e;if(!Number.isInteger(r))return;try{t=BigInt(r)}catch{return}let u=!(e=>{let t=e.raw.replaceAll("_","").toLowerCase();if(t.includes("."))return!1;let{value:r}=e;for(let{prefix:e,base:n}of[{prefix:"0b",base:2},{prefix:"0o",base:8},{prefix:"0x",base:16}])if(t.startsWith(e))return t.slice(2)===r.toString(n);return!t.includes("e")&&t===String(r)})(e),a=u?`${t}n`:`${n}n`;return{shouldUseSuggestion:u,text:a}}(r);if(!n)return;let u={node:t,messageId:s0},{shouldUseSuggestion:a,text:i}=n,o=e=>e.replaceText(t,i);return a||e.sourceCode.getCommentsInside(t).length>0?u.suggest=[{messageId:s1,data:{replacement:i.length<20?`\`${i}\``:"a bigint literal"},fix:o}]:u.fix=o,u}}),meta:{type:"suggestion",docs:{description:"Prefer `BigInt` literals over the constructor.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,messages:{[s0]:"Prefer using bigint literal over `BigInt(…)`.",[s1]:"Replace with {{replacement}}."}}},"unicorn/prefer-classlist-toggle":{create:e=>{let{sourceCode:t}=e;e.on(["IfStatement","ConditionalExpression"],e=>{let r=[e.consequent,e.alternate].map(e=>{if(e)return"BlockStatement"===e.type&&1===e.body.length&&(e=e.body[0]),"ExpressionStatement"===e.type&&(e=e.expression),"ChainExpression"===e.type&&(e=e.expression),e});if(!r.every(e=>s6(e,["add","remove"])))return;let[n,u]=r;if(n.callee.property.name!==u.callee.property.name&&s9(n,u))return s5(e,function*(r){let a=rv(n.callee.object.object,t),i=rv(n.arguments[0],t),o="ConditionalExpression"===e.type,s="remove"===n.callee.property.name,d=e.test,l=s7(d,s,n),c=l?"":s8(d,t,s),f=n.callee.object.optional||u.callee.object.optional||l?.callee.object.optional,p=`${a}${f?"?":""}.classList.toggle(${i}${c?`, ${c}`:""})`;o||(p=`${p};`),nh(t.getTokenBefore(e),t,p)&&(p=`;${p}`),yield r.replaceText(e,p),o&&(yield*n1(r,e,t))})}),e.on("ConditionalExpression",e=>{let r=[e.consequent,e.alternate];if(!(r.every(e=>rD(e)&&("add"===e.value||"remove"===e.value))&&r[0].value!==r[1].value&&"MemberExpression"===e.parent.type&&e.parent.computed&&!e.parent.optional&&e.parent.property===e&&s4(e.parent.object)&&r_(e.parent.parent,{optional:!1,argumentsLength:1})&&e.parent.parent.callee===e.parent))return;let n=e.parent,u=n.parent;return s5(u,function*(r){let a="remove"===e.consequent.value,i=e.test,o=s7(i,a,u)?"":s8(i,t,a);o&&(yield r.insertTextAfter(u.arguments[0],`, ${o}`)),yield n2(r,n,t,".toggle")},e)})},meta:{type:"suggestion",docs:{description:"Prefer using `Element#classList.toggle()` to toggle class names.",recommended:"unopinionated"},fixable:"code",hasSuggestions:!0,messages:{[s3]:"Prefer using `Element#classList.toggle()` to toggle class names.",[s2]:"Replace with `Element#classList.toggle()`."}}},"unicorn/require-module-attributes":{create:e=>{let{sourceCode:t}=e;e.on(["ImportDeclaration","ExportNamedDeclaration","ExportAllDeclaration"],e=>{let{source:r,attributes:n}=e;if(!r||Array.isArray(n)&&n.length>0)return;let u=t.getTokenAfter(r);if(u?.type!=="Keyword"||"with"!==u.value)return;let a=t.getTokenAfter(u),i=t.getTokenAfter(a);return{node:e,loc:{start:t.getLoc(a).start,end:t.getLoc(i).end},messageId:de,data:{type:"ImportDeclaration"===e.type?"import statement":"export statement"},fix:e=>[u,i,a].map(t=>e.remove(t))}}),e.on("ImportExpression",r=>{let{options:n}=r;if(n?.type!=="ObjectExpression")return;let u=n.properties.find(e=>"Property"===e.type&&!e.method&&!e.shorthand&&!e.computed&&"init"===e.kind&&("Identifier"===e.key.type&&"with"===e.key.name||"Literal"===e.key.type&&"with"===e.key.value)&&"ObjectExpression"===e.value.type&&0===e.value.properties.length),a=0===n.properties.length||u&&1===n.properties.length?n:u;if(!a)return;let i="Property"===a.type;return{node:u?.value??a,messageId:de,data:{type:"import expression"},fix:r=>i?function*(e,t,r){let{sourceCode:n}=r;for(let r of n.getTokens(t))yield e.remove(r);let u=n.getTokenAfter(t);if(tz(u))yield e.remove(u);else{let{properties:r}=t.parent;if(r.length>1&&r.at(-1)===t){let r=n.getTokenBefore(t);yield e.remove(r)}}}(r,a,e):[t.getTokenBefore(a,tz),...t.getTokens(a),...rb(a,t)].map(e=>r.remove(e))}})},meta:{type:"suggestion",docs:{description:"Require non-empty module attributes for imports and exports",recommended:"unopinionated"},fixable:"code",messages:{[de]:"{{type}} with empty attribute list is not allowed."}}}}).map(([e,t])=>[e,{meta:{schema:[],...t.meta,docs:{...t.meta.docs,url:function(e){let t=eJ.basename(e,".js");return`https://github.com/sindresorhus/eslint-plugin-unicorn/blob/v61.0.2/docs/rules/${t}.md`}(e)}},create:nA(t.create)}])))};module.exports=lx;
|