@putout/bundle 4.8.1 → 4.9.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/bundle/putout.js +58 -40
- package/bundle/putout.min.js +1 -1
- package/bundle/putout.slim.js +75867 -9
- package/package.json +2 -1
package/bundle/putout.min.js
CHANGED
|
@@ -10,4 +10,4 @@ var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?windo
|
|
|
10
10
|
|
|
11
11
|
return ${CR(r)};
|
|
12
12
|
})(${xR(this.node)})
|
|
13
|
-
`;return this.replaceWith(c)[0].get("arguments.0")},matchesPattern:function(e,t){return XR(this.node,e,t)},isStatic:function(){return this.scope.isStatic(this.node)},isNodeType:function(e){return WR(this.type,e)},canHaveVariableDeclarationOrExpression:function(){return("init"===this.key||"left"===this.key)&&this.parentPath.isFor()},canSwapBetweenExpressionAndStatement:function(e){return!("body"!==this.key||!this.parentPath.isArrowFunctionExpression())&&(this.isExpression()?qR(e):!!this.isBlockStatement()&&JR(e))},isCompletionRecord:function(e){let t=this,n=!0;do{const{type:r,container:i}=t;if(!n&&(t.isFunction()||"StaticBlock"===r))return!!e;if(n=!1,Array.isArray(i)&&t.key!==i.length-1)return!1}while((t=t.parentPath)&&!t.isProgram()&&!t.isDoExpression());return!0},isStatementOrBlock:function(){return!this.parentPath.isLabeledStatement()&&!qR(this.container)&&jR.includes(this.key)},referencesImport:function(e,t){if(!this.isReferencedIdentifier()){if(this.isJSXMemberExpression()&&this.node.property.name===t||(this.isMemberExpression()||this.isOptionalMemberExpression())&&(this.node.computed?KR(this.node.property,{value:t}):this.node.property.name===t)){const t=this.get("object");return t.isReferencedIdentifier()&&t.referencesImport(e,"*")}return!1}const n=this.scope.getBinding(this.node.name);if(!n||"module"!==n.kind)return!1;const r=n.path,i=r.parentPath;return!!i.isImportDeclaration()&&(i.node.source.value===e&&(!t||(!(!r.isImportDefaultSpecifier()||"default"!==t)||(!(!r.isImportNamespaceSpecifier()||"*"!==t)||!(!r.isImportSpecifier()||!$R(r.node.imported,{name:t}))))))},getSource:function(){const e=this.node;if(e.end){const t=this.hub.getCode();if(t)return t.slice(e.start,e.end)}return""},willIMaybeExecuteBefore:function(e){return"after"!==this._guessExecutionStatusRelativeTo(e)},_guessExecutionStatusRelativeTo:function(e){return QR(this,e,new Map)},resolve:function(e,t){return ZR.call(this,e,t)||this},isConstantExpression:function(){if(this.isIdentifier()){const e=this.scope.getBinding(this.node.name);return!!e&&e.constant}if(this.isLiteral())return!this.isRegExpLiteral()&&(!this.isTemplateLiteral()||this.get("expressions").every(e=>e.isConstantExpression()));if(this.isUnaryExpression())return"void"===this.node.operator&&this.get("argument").isConstantExpression();if(this.isBinaryExpression()){const{operator:e}=this.node;return"in"!==e&&"instanceof"!==e&&this.get("left").isConstantExpression()&&this.get("right").isConstantExpression()}return this.isMemberExpression()?!this.node.computed&&this.get("object").isIdentifier({name:"Symbol"})&&!this.scope.hasBinding("Symbol",{noGlobals:!0}):!!this.isCallExpression()&&(1===this.node.arguments.length&&this.get("callee").matchesPattern("Symbol.for")&&!this.scope.hasBinding("Symbol",{noGlobals:!0})&&this.get("arguments")[0].isStringLiteral())},isInStrictMode:function(){const e=(this.isProgram()?this:this.parentPath).find(e=>{if(e.isProgram({sourceType:"module"}))return!0;if(e.isClass())return!0;if(e.isArrowFunctionExpression()&&!e.get("body").isBlockStatement())return!1;let t;if(e.isFunction())t=e.node.body;else{if(!e.isProgram())return!1;t=e.node}for(const e of t.directives)if("use strict"===e.value.value)return!0});return!!e},isDenylisted:function(){const e=this.opts.denylist??this.opts.blacklist;return e?.includes(this.node.type)},visit:function(){if(!this.node)return!1;if(this.isDenylisted())return!1;if(this.opts.shouldSkip?.(this))return!1;const e=this.context;if(this.shouldSkip||kj.call(this,"enter"))return this.debug("Skip..."),this.shouldStop;return _j(this,e),this.debug("Recursing into..."),this.shouldStop=wj(this.node,this.opts,this.scope,this.state,this,this.skipKeys),_j(this,e),kj.call(this,"exit"),this.shouldStop},skip:function(){this.shouldSkip=!0},skipKey:function(e){null==this.skipKeys&&(this.skipKeys={});this.skipKeys[e]=!0},stop:function(){this._traverseFlags|=2|bj},setContext:function(e){null!=this.skipKeys&&(this.skipKeys={});this._traverseFlags=0,e&&(this.context=e,this.state=e.state,this.opts=e.opts);return Nj.call(this),this},requeue:function(e=this){if(e.removed)return;e.shouldSkip=!1;const t=this.contexts;for(const n of t)n.maybeQueue(e)},requeueComputedKeyAndDecorators:function(){const{context:e,node:t}=this;!Ha(t)&&t.computed&&e.maybeQueue(this.get("key"));if(t.decorators)for(const t of this.get("decorators"))e.maybeQueue(t)},remove:function(){$M.call(this),Lj.call(this),UM.call(this)||(this.opts?.noScope||jM.call(this),this.shareCommentsWithSiblings(),qM.call(this)),JM.call(this)},insertBefore:function(e){$M.call(this);const t=pB.call(this,e),{parentPath:n,parent:r}=this;if(n.isExpressionStatement()||n.isLabeledStatement()||ZM(r)||n.isExportDefaultDeclaration()&&this.isDeclaration())return n.insertBefore(t);if(this.isNodeType("Expression")&&!this.isJSXElement()||n.isForStatement()&&"init"===this.key)return this.node&&t.push(this.node),this.replaceExpressionWithStatements(t);if(Array.isArray(this.container))return aB.call(this,t);if(this.isStatementOrBlock()){const e=this.node,n=e&&(!this.isExpressionStatement()||null!=e.expression),[r]=this.replaceWith(XM(n?[e]:[]));return r.unshiftContainer("body",t)}throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?")},insertAfter:function(e){if($M.call(this),this.isSequenceExpression())return uB(this.get("expressions")).insertAfter(e);const t=pB.call(this,e),{parentPath:n,parent:r}=this;if(n.isExpressionStatement()||n.isLabeledStatement()||ZM(r)||n.isExportDefaultDeclaration()&&this.isDeclaration())return n.insertAfter(t.map(e=>eB(e)?YM(e):e));if(this.isNodeType("Expression")&&!this.isJSXElement()&&!n.isJSXElement()||n.isForStatement()&&"init"===this.key){const e=this;if(e.node){const r=e.node;let{scope:i}=this;if(i.path.isPattern())return KM(r),e.replaceWith(HM(VM([],r),[])),e.get("callee.body").insertAfter(t),[e];if(cB(e))t.unshift(r);else if(QM(r)&&rB(r.callee))t.unshift(r),t.push(iB());else if(function(e,t){if(!GM(e)||!tB(e.left))return!1;const n=t.getBlockParent();return n.hasOwnBinding(e.left.name)&&n.getOwnBinding(e.left.name).constantViolations.length<=1}(r,i))t.unshift(r),t.push(zM(r.left));else if(i.isPure(r,!0))t.push(r);else{n.isMethod({computed:!0,key:r})&&(i=i.parent);const e=i.generateDeclaredUidIdentifier();t.unshift(YM(WM("=",zM(e),r))),t.push(YM(zM(e)))}}return this.replaceExpressionWithStatements(t)}if(Array.isArray(this.container))return oB.call(this,t);if(this.isStatementOrBlock()){const e=this.node,n=e&&(!this.isExpressionStatement()||null!=e.expression),[r]=this.replaceWith(XM(n?[e]:[]));return r.pushContainer("body",t)}throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?")},unshiftContainer:function(e,t){$M.call(this);const n=pB.call(this,t),r=this.node[e],i=xj.get({parentPath:this,parent:this.node,container:r,listKey:e,key:0}).setContext(this.context);return aB.call(i,n)},pushContainer:function(e,t){$M.call(this);const n=pB.call(this,t),r=this.node[e];return xj.get({parentPath:this,parent:this.node,container:r,listKey:e,key:r.length}).setContext(this.context).replaceWithMultiple(n)},getOpposite:function(){return"left"===this.key?this.getSibling("right"):"right"===this.key?this.getSibling("left"):null},getCompletionRecords:function(e=!1){return cj(this,{canHaveBreak:!1,shouldPopulateBreak:!1,inCaseClause:!1,shouldPreserveBreak:e}).map(e=>e.path)},getSibling:function(e){return xj.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:e}).setContext(this.context)},getPrevSibling:function(){return this.getSibling(this.key-1)},getNextSibling:function(){return this.getSibling(this.key+1)},getAllNextSiblings:function(){let e=this.key,t=this.getSibling(++e);const n=[];for(;t.node;)n.push(t),t=this.getSibling(++e);return n},getAllPrevSiblings:function(){let e=this.key,t=this.getSibling(--e);const n=[];for(;t.node;)n.push(t),t=this.getSibling(--e);return n},get:function(e,t=!0){!0===t&&(t=this.context);const n=e.split(".");return 1===n.length?lj.call(this,e,t):pj.call(this,n,t)},getAssignmentIdentifiers:function(){return ej(this.node)},getBindingIdentifiers:function(e){return tj(this.node,e)},getOuterBindingIdentifiers:function(e){return nj(this.node,e)},getBindingIdentifierPaths:function(e=!1,t=!1){const n=[this],r=Object.create(null);for(;n.length;){const i=n.shift();if(!i)continue;if(!i.node)continue;const s=tj.keys[i.node.type];if(i.isIdentifier())if(e){(r[i.node.name]=r[i.node.name]||[]).push(i)}else r[i.node.name]=i;else{if(i.isExportDeclaration()){const e=i.get("declaration");e.isDeclaration()&&n.push(e);continue}if(t){if(i.isFunctionDeclaration()){n.push(i.get("id"));continue}if(i.isFunctionExpression())continue}if(s)for(let e=0;e<s.length;e++){const t=s[e],r=i.get(t);Array.isArray(r)?n.push(...r):r.node&&n.push(r)}}}return r},getOuterBindingIdentifierPaths:function(e=!1){return this.getBindingIdentifierPaths(e,!0)},shareCommentsWithSiblings:function(){if("string"==typeof this.key)return;const e=this.node;if(!e)return;const t=e.trailingComments,n=e.leadingComments;if(!t&&!n)return;const r=this.getSibling(this.key-1),i=this.getSibling(this.key+1),s=Boolean(r.node),a=Boolean(i.node);s&&(n&&r.addComments("trailing",fj(n,r.node.trailingComments)),t&&!a&&r.addComments("trailing",t)),a&&(t&&i.addComments("leading",fj(t,i.node.leadingComments)),n&&!s&&i.addComments("leading",n))},addComment:function(e,t,n){dj(this.node,e,t,n)},addComments:function(e,t){hj(this.node,e,t)}};Object.assign(xj.prototype,Sj);for(const e of qu){const t=`is${e}`,n=at[t];xj.prototype[t]=function(e){return n(this.node,e)},xj.prototype[`assert${e}`]=function(t){if(!n(this.node,t))throw new TypeError(`Expected node path of type ${e}`)}}Object.assign(xj.prototype,XO);for(const e of Object.keys(vO))"_"!==e[0]&&(qu.includes(e)||qu.push(e));var{VISITOR_KEYS:Tj}=at,Ej=class{constructor(e,t,n,r){Qe(this,"queue",null),Qe(this,"priorityQueue",null),this.parentPath=r,this.scope=e,this.state=n,this.opts=t}shouldVisit(e){const t=this.opts;if(t.enter||t.exit)return!0;if(t[e.type])return!0;const n=Tj[e.type];if(!n?.length)return!1;for(const t of n)if(e[t])return!0;return!1}create(e,t,n,r){return xj.get({parentPath:this.parentPath,parent:e,container:t,key:n,listKey:r})}maybeQueue(e,t){this.queue&&(t?this.queue.push(e):this.priorityQueue.push(e))}visitMultiple(e,t,n){if(0===e.length)return!1;const r=[];for(let i=0;i<e.length;i++){const s=e[i];s&&this.shouldVisit(s)&&r.push(this.create(t,e,i,n))}return this.visitQueue(r)}visitSingle(e,t){return!!this.shouldVisit(e[t])&&this.visitQueue([this.create(e,e,t)])}visitQueue(e){this.queue=e,this.priorityQueue=[];const t=new WeakSet;let n=!1,r=0;for(;r<e.length;){const i=e[r];if(r++,Lj.call(i),0!==i.contexts.length&&i.contexts[i.contexts.length-1]===this||Bj.call(i,this),null===i.key)continue;const{node:s}=i;if(!t.has(s)){if(s&&t.add(s),i.visit()){n=!0;break}if(this.priorityQueue.length&&(n=this.visitQueue(this.priorityQueue),this.priorityQueue=[],this.queue=e,n))break}}for(let t=0;t<r;t++)Mj.call(e[t]);return this.queue=null,n}visit(e,t){const n=e[t];return!!n&&(Array.isArray(n)?this.visitMultiple(n,e,t):this.visitSingle(e,t))}},{VISITOR_KEYS:Pj}=at;function vj(e,t){e.queue=t,e.priorityQueue=[];const n=new Set;let r=!1,i=0;for(;i<t.length;){const s=t[i];if(i++,Lj.call(s),0!==s.contexts.length&&s.contexts[s.contexts.length-1]===e||Bj.call(s,e),null===s.key)continue;const{node:a}=s;if(!n.has(a)){if(a&&n.add(a),Aj(e,s)){r=!0;break}if(e.priorityQueue.length&&(r=vj(e,e.priorityQueue),e.priorityQueue=[],e.queue=t,r))break}}for(let e=0;e<i;e++)Mj.call(t[e]);return e.queue=null,r}function Aj(e,t){const n=t.node;if(!n)return!1;const r=e.opts,i=r.denylist??r.blacklist;return!i?.includes(n.type)&&(!r.shouldSkip?.(t)&&(t.shouldSkip||Ij.call(t,r.enter)||t.node&&Ij.call(t,r[n.type]?.enter)?t.shouldStop:(t.shouldStop=Cj(t.node,r,t.scope,e.state,t,t.skipKeys),!(!t.node||!Ij.call(t,r.exit))||(t.node&&Ij.call(t,r[n.type]?.exit),t.shouldStop))))}function Cj(e,t,n,r,i,s,a){const o=Pj[e.type];if(!o?.length)return!1;const u=new Ej(n,t,r,i);if(a)return!s?.[i.parentKey]&&vj(u,[i]);for(const t of o){if(s?.[t])continue;const n=e[t];if(n)if(Array.isArray(n)){if(!n.length)continue;const r=[];for(let s=0;s<n.length;s++){const a=xj.get({parentPath:i,parent:e,container:n,key:s,listKey:t});r.push(a)}if(vj(u,r))return!0}else if(vj(u,[xj.get({parentPath:i,parent:e,container:e,key:t,listKey:null})]))return!0}return!1}function wj(e,t,n,r,i,s,a){return Cj(e,t,n,r,i,s,a)}function kj(e){const t=this.opts;return this.debug(e),!(!this.node||!Ij.call(this,t[e]))||!!this.node&&Ij.call(this,t[this.node.type]?.[e])}function Ij(e){if(!e)return!1;for(const t of e){if(!t)continue;const e=this.node;if(!e)return!0;const n=t.call(this.state,this,this.state);if(n&&"object"==typeof n&&"function"==typeof n.then)throw new Error("You appear to be using a plugin with an async traversal visitor, which your current version of Babel does not support. If you're using a published plugin, you may need to upgrade your @babel/core version.");if(n)throw new Error(`Unexpected return value from visitor method ${t}`);if(this.node!==e)return!0;if(this._traverseFlags>0)return!0}return!1}function _j(e,t){e.context!==t&&(e.context=t,e.state=t.state,e.opts=t.opts)}function Nj(){if(this.opts?.noScope)return;let e,t=this.parentPath;for((("key"===this.key||"decorators"===this.listKey)&&t.isMethod()||"discriminant"===this.key&&t.isSwitchStatement())&&(t=t.parentPath);t&&!e;){if(t.opts?.noScope)return;e=t.scope,t=t.parentPath}this.scope=this.getScope(e),this.scope?.init()}function Lj(){this.removed||(Oj.call(this),Fj.call(this),Dj.call(this))}function Oj(){this.parentPath&&(this.parent=this.parentPath.node)}function Dj(){if(this.container&&this.node!==this.container[this.key]){if(Array.isArray(this.container)){for(let e=0;e<this.container.length;e++)if(this.container[e]===this.node)return void jj.call(this,e)}else for(const e of Object.keys(this.container))if(this.container[e]===this.node)return void jj.call(this,e);this.key=null}}function Fj(){if(!this.parent||!this.inList)return;const e=this.parent[this.listKey];this.container!==e&&(this.container=e||null)}function Mj(){this.contexts.pop(),this.contexts.length>0?this.setContext(this.contexts[this.contexts.length-1]):this.setContext(void 0)}function Bj(e){this.contexts.push(e),this.setContext(e)}function Rj(e,t,n,r){this.listKey=n,this.container=t,this.parentPath=e||this.parentPath,jj.call(this,r)}function jj(e){this.key=e,this.node=this.container[this.key],this.type=this.node?.type}function Uj(){let e=this,t=this.contexts;for(;!t.length&&(e=e.parentPath,e);)t=e.contexts;return t}var{VISITOR_KEYS:qj,removeProperties:Jj,traverseFast:$j}=at;function Vj(e,t={},n,r,i,s){if(e){if(!t.noScope&&!n&&"Program"!==e.type&&"File"!==e.type)throw new Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${e.type} node without passing scope and parentPath.`);if(!i&&s)throw new Error("visitSelf can only be used when providing a NodePath.");qj[e.type]&&(tD(t),wj(e,t,n,r,i,null,s))}}Vj.visitors=dD,Vj.verify=nD,Vj.explode=tD,Vj.cheap=function(e,t){$j(e,t)},Vj.node=function(e,t,n,r,i,s){wj(e,t,n,r,i,s)},Vj.clearNode=function(e,t){Jj(e,t)},Vj.removeProperties=function(e,t){return $j(e,Vj.clearNode,t),e},Vj.hasType=function(e,t,n){return!n?.includes(e.type)&&(e.type===t||$j(e,function(e){return n?.includes(e.type)?$j.skip:e.type===t?$j.stop:void 0}))},Vj.cache=PD,st.default;var Kj={},Wj={},Xj={},Hj=e=>{const t={value:e};return(...e)=>{const[n]=e;return e.length?(t.value=n,n):t.value}},zj={TYPES:{TOKEN:"Token",NEWLINE:"Newline",LINEBREAK:"Linebreak",SPLITTER:"Splitter",INDENT:"Indent",DEBUG:"Debug",SPACE:"Space",ROUND_BRACE_OPEN:"RoundBraceOpen",ROUND_BRACE_CLOSE:"RoundBraceClose",QUOTE:"Quote",END_OF_FILE:"EndOfFile"}},Yj={},Gj={},Qj={};const{types:Zj}=st,{isStringLiteral:eU,isIdentifier:tU,isIfStatement:nU,isStatement:rU,isForOfStatement:iU,isVariableDeclaration:sU,isMemberExpression:aU,isArrayExpression:oU,isObjectExpression:uU,isLabeledStatement:cU}=Zj,lU=e=>e.parentPath?.isProgram(),pU=e=>{const t=e.getNextSibling();return!!t.node&&!t.isEmptyStatement()},dU=e=>lU(e)&&!pU(e);function hU([e,t]){return eU(e)&&tU(t)}Qj.isNextObject=e=>e.getNextSibling().isObjectExpression(),Qj.isPrevObject=e=>e.getPrevSibling().isObjectExpression(),Qj.isFirst=e=>e.node===e.parentPath.node.body?.[0],Qj.isPrevBody=e=>e.getPrevSibling().isBlockStatement(),Qj.isNext=pU,Qj.isPrev=e=>e.getPrevSibling().node,Qj.isNextParent=e=>pU(e.parentPath),Qj.isParentProgram=lU,Qj.isParentBlock=e=>e.parentPath.isBlockStatement(),Qj.isLast=dU,Qj.isParentLast=e=>dU(e.parentPath),Qj.isIndented=(e={})=>{const{parentPath:t,node:n}=e;return!t.node.loc||n.loc?.start.column!==t.node.loc.start.column},Qj.isCoupleLines=function(e){const t=e.node?.loc?.start?.line,n=e.node?.loc?.end?.line;return n!==t},Qj.exists=e=>e.node,Qj.isStringAndIdentifier=hU;Qj.isSimpleAndNotEmptyObject=e=>{const[t]=e;return!(t&&!["Identifier","SpreadElement","ArrayExpression","CallExpression","NewExpression"].includes(t.type))&&(e=>{let t=e.at(-1);return uU(t)||(t=e.at(-2)),!!uU(t)&&t.node.properties.length})(e)},Qj.isIdentifierAndIdentifier=([e,t])=>tU(e)&&tU(t),Qj.isStringAndMember=([e,t])=>eU(e)&&aU(t),Qj.isIdentifierAndString=([e,t])=>tU(e)&&eU(t),Qj.isStringAndArray=([e,t])=>!!eU(e)&&(!!oU(t)&&!hU(t.node.elements));const fU=e=>nU(e)||rU(e),mU=e=>iU(e)||rU(e);Qj.isIf=e=>nU(e.find(fU)),Qj.isForOf=e=>{const t=e.find(mU);return!!iU(t)||!!sU(t)&&iU(t.parentPath)},Qj.isInsideIf=e=>e.parentPath?.isIfStatement(),Qj.isNewlineBetweenSiblings=e=>{const t=e.node?.loc?.end?.line,n=e.getNextSibling().node?.loc?.start?.line;return!!n&&n-t>1},Qj.isInsideLabel=({parentPath:e})=>cU(e),Qj.satisfy=e=>t=>{for(const n of e)if(n(t))return!0;return!1};const yU=e=>e.node||e;Qj.hasCoupleTrailingComments=e=>{const t=yU(e);return t?.trailingComments?.length>1},Qj.hasTrailingComment=e=>{const t=yU(e);return t.trailingComments?.length},Qj.hasLeadingComment=e=>e.node?.leadingComments?.length,Qj.noTrailingComment=e=>!e.node.trailingComments?.length,Qj.noLeadingComment=e=>!e.node.leadingComments?.length;var gU={},bU={},xU={},SU={};const TU="__putout_newline_after";function EU(e){e[TU]=!0}function PU(e){return e[TU]}SU.markBefore=function(e){e.__putout_newline_before=!0},SU.markAfter=EU,SU.maybeMarkAfter=(e,t)=>e&&EU(t),SU.isMarkedAfter=PU,SU.hasPrevNewline=e=>PU(e.getPrevSibling());var vU={maybeInsideFn:(e,{print:t,indent:n})=>{e&&(n.inc(),n.inc(),t.breakline(),n.dec(),n.dec())}},AU={};const CU=(e,t)=>()=>e(`//${t}`),wU=(e,t)=>()=>e(`/*${t}*/\n`);AU.hasTrailingCommentsPrinter=e=>{const{printTrailingCommentBlock:t,printTrailingCommentLine:n}=e;return!!t||Boolean(n)},AU.hasLeadingCommentsPrinter=e=>{const{printLeadingCommentLine:t,printLeadingCommentBlock:n}=e;return!!t||Boolean(n)},AU.printLeadingComments=(e,t,n,{currentTraverse:r})=>{const{print:i}=t,{leadingComments:s=[]}=e.node,{printLeadingCommentLine:a,printLeadingCommentBlock:o}=r,u=s.length-1;for(const[r,{type:c,value:l}]of s.entries())"CommentLine"!==c?"CommentBlock"===c&&o?.(e,t,n,{index:r,printComment:wU(i,l)}):a?.(e,t,n,{index:r,printComment:CU(i,l),isLast:r===u})},AU.printTrailingComments=(e,t,n,{currentTraverse:r})=>{const{print:i}=t,{trailingComments:s=[]}=e.node,{printTrailingCommentLine:a,printTrailingCommentBlock:o}=r,u=s.length-1;for(const[r,{type:c,value:l}]of s.entries())"CommentLine"!==c?"CommentBlock"===c&&o?.(e,t,n,{index:r,printComment:wU(i,l)}):a?.(e,t,n,{index:r,printComment:CU(i,l),isLast:r===u})};const{types:kU}=st,{hasTrailingComment:IU,satisfy:_U,isPrev:NU}=Qj,{markBefore:LU}=SU,{maybeInsideFn:OU}=vU,{printLeadingComments:DU,hasLeadingCommentsPrinter:FU}=AU,{isArrowFunctionExpression:MU,isObjectProperty:BU,isVariableDeclarator:RU,isClassProperty:jU,isTSPropertySignature:UU,isSpreadElement:qU,isClassBody:JU,isBinaryExpression:$U,isClassMethod:VU,isDecorator:KU}=kU,WU=_U([BU,RU,jU,UU,qU]),XU=e=>{const{parentPath:t}=e;return!(!RU(t)||e!==t.get("init"))||!!MU(t)&&RU(t.parentPath)};function HU(e){const{loc:t,leadingComments:n}=e.node;if(!WU(e))return!1;const[r]=n,{line:i}=r.loc.start;return!function(e){const[t]=e.node.leadingComments,{line:n}=t.loc.start;return e.getPrevSibling().node?.loc.start.line===n}(e)&&i<=t.start.line-1}const zU=e=>{const{parentPath:t}=e;return e===t.get("properties")[0]||!(!JU(t)||!jU(e))&&e===t.get("body")[0]};xU.parseLeadingComments=(e,t,n,{currentTraverse:r={}}={})=>{const{print:i,maybe:s,indent:a}=t;if(!n.comments)return;const{leadingComments:o}=e.node;if(!o?.length)return;if(FU(r))return DU(e,t,n,{currentTraverse:r});if((e=>e?.parentPath.node?.decorators)(e))return;const u=e.isSwitchCase();if(!u&&IU(e.getPrevSibling()))return;const c=(e.parentPath.isFunction()||e.parentPath.isTSDeclareMethod())&&!e.isTSTypeParameterDeclaration(),l=WU(e),p=zU(e)||!u&&!e.isClassMethod()&&!c&&!l,d=o.length-1;for(const[t,{type:n,value:r}]of o.entries())if("CommentLine"!==n){if("CommentBlock"===n){s.indent(p);const t=e.isClassMethod(),n=e.isDirective(),a=e.isObjectProperty();a&&i.breakline(),i(`/*${r}*/`),UU(e)&&!NU(e)&&i.breakline(),(e.isStatement()||e.isTSEnumMember()||n||t||a||u)&&(i.newline(),LU(e),s.indent(t||a||u));continue}}else(t||!e.isClassProperty()&&!e.isBinaryExpression())&&s.indent(p),OU(c,{print:i,indent:a}),HU(e)?s.print.breakline(!zU(e)):s.print.space(l&&!e.isClassProperty()),i(`//${r}`),t===d?(s.print.breakline(l),s.print.newline(!l),VU(e)?a():($U(e)||KU(e))&&(a.inc(),a(),a.dec())):i.newline(),XU(e)&&(a.inc(),a(),a.dec())};var YU={},GU={},QU={};const{hasTrailingComment:ZU}=Qj,{assign:eq}=Object;function tq(e){const t=[];let n=e.get("object");for(;!n.isIdentifier();){const e=n.isCallExpression(),r=rq(n);if(e&&(n=n.get("callee")),t.unshift(r),!n.isMemberExpression())break;n=n.get("object")}return t}function nq(e){const t=[];for(;e.isMemberExpression()&&(ZU(e.get("object"))&&t.push({type:"CommentLine"}),(e=e.parentPath).isCallExpression()&&(t.push(rq(e)),e=e.parentPath),e.isMemberExpression()););return t.push({type:e.type}),t}function rq(e){const t={type:e.type};return e.isCallExpression()&&eq(t,{args:e.node.arguments.length,name:e.node.callee.property?.name||""}),t}QU.chain=e=>{const t=[...tq(e),...nq(e)],n=t.slice(0,-1);return[t.at(-1),n]};const{types:iq}=st,{chain:sq}=QU,{satisfy:aq}=Qj,{isUnaryExpression:oq,isIfStatement:uq,isCallExpression:cq,isIdentifier:lq}=iq,pq=e=>"CallExpression"===e.type,dq=aq([oq,uq]),hq=({type:e})=>"CommentLine"===e;GU.isLooksLikeChain=e=>{const[t,n]=sq(e);if((e=>!!lq(e.node.object)&&!!lq(e.node.property)&&cq(e.parentPath.parentPath))(e))return!1;if(dq(t))return!1;if(fq(n))return!1;if(n.find(hq))return!0;if(e.find(mq))return!1;const r=n.filter(pq),[i]=r;return!(2===r.length&&!i.name)&&(!(e=>e.parentPath?.isCallExpression()&&e.parentPath.get("arguments.0")===e)(e)&&r.length>1)};const fq=([e])=>cq(e,{name:"get"}),mq=e=>{const t=e.find(uq);let n=!1;return t?(t.get("test").traverse({MemberExpression(t){e===t&&(n=!0,e.stop())}}),n):n},{types:yq}=st,{isLast:gq,isCoupleLines:bq,isNext:xq}=Qj,{isLooksLikeChain:Sq}=GU,{printTrailingComments:Tq,hasTrailingCommentsPrinter:Eq}=AU,{isDecorator:Pq,isMemberExpression:vq,isExpressionStatement:Aq,isCallExpression:Cq}=yq,wq=e=>!!e.isTSModuleDeclaration()||e.node.body?.length,kq=e=>{const{parentPath:t}=e;return!!t.isFunction()&&t.get("params").includes(e)};function Iq(e,t){return e.node.loc?.start.line===t.start.line||e.node.loc?.end.line===t.end.line}const _q=e=>e.node.trailingComments===e.getNextSibling().node?.leadingComments,Nq=e=>{const{parentPath:t}=e;if(Pq(e)){const{loc:t}=e.node.trailingComments[0];return!Iq(e,t)}return!vq(t)&&!gq(e)};function Lq(e){const{node:t}=e,{loc:n,trailingComments:r}=t;if(e.isClassMethod())return!1;if(_q(e))return!1;if(e.isThrowStatement())return!1;const[i]=r,{line:s}=i.loc.start,a=e.getNextSibling();if(a.node&&s<a.node.loc?.start.line)return!1;if(!n)return!0;const o=n.start.line,u=n.end.line;return s===o+1&&s===u+1||s===o+2&&s===u+2}function Oq(e){const t=e.getPrevSibling();if(Aq(t))return!1;const{expression:n}=e.node;return!!Cq(n)&&!Cq(n.arguments[0])}YU.isTrailingIsLeading=_q,YU.parseTrailingComments=(e,t,n,{currentTraverse:r}={})=>{const{parentPath:i}=e,{write:s,maybe:a,indent:o}=t;if(!n.comments)return;const{trailingComments:u}=e.node;if(!u?.length)return;if(Eq(r))return Tq(e,t,n,{currentTraverse:r});if(e.isDirective())return;const c=u.length-1,l=Sq(i);for(const{type:t,value:n,loc:r}of u){const i=Iq(e,r),u=Lq(e);if("CommentLine"===t){const t=u&&l,r=!i&&!u;a.write.breakline(u),a.write.space(i),(r||t)&&(a.indent.inc(t),o(),a.indent.dec(t)),wq(e)&&(a.write.breakline(!xq(e)),a.write.breakline(!c)),s(`//${n}`),a.write.newline(Nq(e));continue}"CommentBlock"===t&&(a.write.space(i),a.indent(!i),a.print.breakline(Oq(e)),s(`/*${n}*/`),a.write.newline(!i||!kq(e)&&bq(e.parentPath)))}};var Dq={};const{isNext:Fq}=Qj;Dq.parseComments=(e,{write:t,maybe:n},r)=>{if(!r.comments)return;const i=e.node.comments||e.node.innerComments;if(!i)return;const s=i.length-1,a=e.isProgram();for(const[r,{type:o,value:u}]of i.entries())if("CommentLine"!==o)"CommentBlock"===o&&(t("/*"),t(u),t("*/"));else{if(n.write.breakline(Fq(e)||!a),t("//"),t(u),a){n.write.newline(r<s);continue}t.newline()}};const{parseLeadingComments:Mq}=xU,{parseTrailingComments:Bq}=YU,{parseComments:Rq}=Dq;bU.parseLeadingComments=Mq,bU.parseTrailingComments=Bq,bU.parseComments=Rq;const{parseComments:jq}=bU,Uq=()=>{},qq=e=>e.get("params");function Jq(e){if("ArrowFunctionExpression"!==e.type)return!1;const{params:t}=e.node,[n]=t;return 1===t.length&&"Identifier"===n.type}gU.printParams=(e,t,n,r={})=>{const{extra:i,typeParameters:s}=e.node,{print:a,maybe:o,traverse:u}=t,{params:c=qq(e),braceOpen:l="(",braceClose:p=")",printSpace:d=a.space,printAfterOpen:h=Uq,printBeforeClose:f=Uq}=r;s&&u(e.get("typeParameters")),function(e,{print:t,braceOpen:n},r){if(Jq(e)&&!r.roundBraces.arrow)return;t(n)}(e,{print:a,braceOpen:l},n),jq(e,t,n),h();const m=c.length-1;for(let e=0;e<=m;e++){const t=e===m;u(c[e]),t||(a(","),d())}o.print(i?.trailingComma,","),f(),function(e,{print:t,braceClose:n},r){if(Jq(e)&&!r.roundBraces.arrow)return;t(n)}(e,{print:a,braceClose:p},n)};var $q={};const Vq=e=>e.node.extra?.parenthesized;$q.isParens=Vq,$q.maybeParens=e=>"function"==typeof e?Kq(e):Wq(e);const Kq=e=>({condition:Vq,before(e,{write:t}){t("(")},print:e,after(e,{write:t}){t(")")}}),Wq=({print:e,condition:t,checkParens:n=!0})=>({...Kq(e),condition:(e,r,i)=>{const s=t?.(e,r,i);return n?s||Vq(e):s}}),{exists:Xq}=Qj,{printParams:Hq}=gU,{maybeParens:zq}=$q;Gj.ArrowFunctionExpression=zq((e,t,n)=>{const{print:r,maybe:i,write:s,traverse:a}=t,{async:o}=e.node;i.print(o,"async "),Hq(e,t,n);const u=e.get("returnType");Xq(u)&&(s(":"),s.space(),a(u)),r.space(),r("=>");const c=e.get("body").isJSXElement();i.print.space(!c),r("__body")});var Yq={};const{types:Gq}=st,{markAfter:Qq}=SU,{isNext:Zq,isNextParent:eJ}=Qj,{printParams:tJ}=gU,nJ=(rJ=function(e){return!!lJ(e.parentPath)&&e.node.body.body.length},(...e)=>!rJ(...e));var rJ;const{isAssignmentExpression:iJ,isTSModuleBlock:sJ,isBlockStatement:aJ,isExportNamedDeclaration:oJ,isExpressionStatement:uJ,isFunctionDeclaration:cJ,isExportDefaultDeclaration:lJ}=Gq;Yq.FunctionDeclaration={print(e,t,n){const{print:r,maybe:i}=t,{async:s,generator:a,returnType:o}=e.node;i.indent(!(({parentPath:e})=>oJ(e))(e)),i.print(s,"async "),r("function"),a?(r("*"),r.space()):r(" "),r("__id"),tJ(e,t,n),o&&(r(": "),r("__returnType")),r.space(),r("__body")},afterSatisfy:()=>[Zq,eJ,hJ],after(e,{indent:t,maybe:n}){(dJ(e)||pJ(e)||Zq(e))&&t(),n.write.newline(nJ(e)),Qq(e)}};const pJ=e=>{const t=e.getNextSibling();return cJ(t)},dJ=e=>{const t=e.getNextSibling();return!!uJ(t)&&iJ(t.node.expression)};function hJ(e){const{parentPath:t}=e;return!!sJ(t.parentPath)||!!aJ(t)&&!e.node.body.body.length}var fJ={},mJ={};const yJ=e=>{const t=e.getPrevSibling();return!!t.node&&(t.isClassProperty()||t.isClassAccessorProperty())};mJ.maybeDecorators=e=>(t,n,r,i)=>{const{write:s,traverse:a,maybe:o}=n,{decorators:u}=t.node;if(u)for(const e of t.get("decorators"))o.write.breakline(yJ(t)),a(e),s.breakline();e(t,n,r,i)};var gJ={},bJ={maybePrintComputed:(e,t,{maybe:n,traverse:r})=>{const{computed:i}=e.node;n.write(i,"["),r(t),n.write(i,"]")}};const{maybePrintComputed:xJ}=bJ;gJ.printKey=(e,t)=>{const n=e.get("key");xJ(e,n,t)};var SJ={printKind:(e,{write:t})=>{const{kind:n,generator:r}=e.node;"get"===n||"set"===n?t(`${n} `):r&&t("*")}},TJ={};const{printParams:EJ}=gU,{hasLeadingComment:PJ}=Qj,vJ=({decorators:e})=>e?.length;TJ.printFunctionParams=(e,t,n)=>{const{params:r}=e.node,i=r.filter(vJ).length,s=(e=>{const t=e.get("params");let n=0,r=0;for(const e of t){const t=e.get("decorators");if(!t.length)continue;const[i]=t;++r,PJ(i)&&++n}return n===r})(e),a=wJ({isNewline:i,printer:t}),o=AJ({type:"inc",printer:t,isNewline:i,isAllHasComments:s}),u=CJ({type:"dec",printer:t,isNewline:i,isAllHasComments:s});EJ(e,t,n,{printAfterOpen:o,printSpace:a,printBeforeClose:u})};const AJ=({isNewline:e,isAllHasComments:t,printer:n,type:r})=>()=>{if(!e)return;const{indent:i,print:s}=n;t||i[r](),s.breakline()},CJ=({isNewline:e,printer:t,isAllHasComments:n,type:r})=>()=>{if(!e)return;const{indent:i,print:s}=t;n||i[r](),s.breakline()},wJ=({isNewline:e,printer:t})=>()=>{const{print:n}=t;if(!e)return n.space();n.breakline()},{isNext:kJ,hasTrailingComment:IJ}=Qj,{maybeDecorators:_J}=mJ,{printKey:NJ}=gJ,{printKind:LJ}=SJ,{printFunctionParams:OJ}=TJ,DJ=e=>!IJ(e)&&kJ(e),FJ={print:_J((e,t,n)=>{const{print:r}=t,{node:i}=e,{accessibility:s,returnType:a}=i;s&&(r(s),r(" ")),i.static&&(r("static"),r(" ")),i.override&&(r("override"),r(" ")),i.async&&(r("async"),r(" ")),LJ(e,t),NJ(e,t),OJ(e,t,n),a&&(r(":"),r.space(),r("__returnType")),r.space(),r("__body")}),afterSatisfy:()=>[DJ],after(e,{print:t}){t.linebreak()}};fJ.ClassPrivateMethod=FJ,fJ.ClassMethod=FJ;var MJ={};const{isNewlineBetweenSiblings:BJ}=Qj,{printParams:RJ}=gU,{printKey:jJ}=gJ,{printKind:UJ}=SJ;MJ.ObjectMethod={beforeIf:e=>e.node.async,before(e,{write:t}){t("async ")},print(e,t,n){const{print:r}=t;UJ(e,t),jJ(e,t),RJ(e,t,n),r.space(),r("__body")},afterIf:e=>BJ(e),after(e,{print:t}){t.linebreak()}};var qJ={};const{exists:JJ}=Qj,{printParams:$J}=gU,{maybeParens:VJ}=$q;qJ.FunctionExpression=VJ((e,t,n)=>{const{print:r,maybe:i,write:s,traverse:a}=t,{node:o}=e,{generator:u,async:c}=o;i.write(c,"async "),s("function"),i.write(u,"*");const l=e.get("id");JJ(l)&&(s(" "),a(l)),$J(e,t,n),r.space(),r("__body")});const{ArrowFunctionExpression:KJ}=Gj,{FunctionDeclaration:WJ}=Yq,{ClassMethod:XJ,ClassPrivateMethod:HJ}=fJ,{ObjectMethod:zJ}=MJ,{FunctionExpression:YJ}=qJ;Yj.FunctionDeclaration=WJ,Yj.FunctionExpression=YJ,Yj.ArrowFunctionExpression=KJ,Yj.ClassMethod=XJ,Yj.ClassPrivateMethod=HJ,Yj.ObjectMethod=zJ;var GJ={};const{isLast:QJ,isNext:ZJ}=Qj,{maybeParens:e$}=$q,t$=e$((e,t)=>{const{maybe:n,traverse:r}=t,{prefix:i,operator:s}=e.node,a=e.get("argument");n.print(i,s),n.print(/^(delete|typeof|void|throw)$/.test(s)," "),r(a),n.print(!i,s)});function n$(e,{print:t}){t(`${e} `),t("__argument")}GJ.UnaryExpression=t$,GJ.UpdateExpression=t$,GJ.AwaitExpression=e$((e,{print:t})=>{n$("await",{print:t})}),GJ.YieldExpression=e$((e,{print:t,maybe:n})=>{const{delegate:r}=e.node;t("yield"),n.print(r,"*"),t(" "),t("__argument")}),GJ.ThrowStatement=(e,{print:t,indent:n,maybe:r})=>{n(),n$("throw",{print:t}),t(";"),r.print.newline(!QJ(e)),r.print.breakline(ZJ(e))};var r$={};const{maybePrintComputed:i$}=bJ,{maybeParens:s$}=$q,{isLooksLikeChain:a$}=GU;r$.MemberExpression=(e,t)=>{const{print:n,maybe:r,traverse:i}=t,s=e.get("object"),a=e.get("property"),o=s.isAssignmentExpression(),{computed:u}=e.node,c=a$(e);if(r.print(o,"("),i(s),r.print(o,")"),u)return i$(e,a,t);r.indent.inc(c),r.print.breakline(c),n("."),n("__property"),r.indent.dec(c)},r$.OptionalMemberExpression=s$((e,{print:t,maybe:n})=>{const{computed:r,optional:i}=e.node;if(t("__object"),n.print(i,"?."),n.print(!i&&!r,"."),r)return t("["),t("__property"),void t("]");t("__property")});var o$={},u$={maybeDeclare:e=>(t,n,r)=>{const{maybe:i}=n,{declare:s}=t.node;i.print(s,"declare "),e(t,n,r)}};const{types:c$}=st,{isNext:l$}=Qj,{markAfter:p$}=SU,{maybeDeclare:d$}=u$,{parseComments:h$}=bU,{maybeDecorators:f$}=mJ,{isFunction:m$,isTSModuleBlock:y$}=c$,g$=e=>m$(e.parentPath.parentPath),b$=f$((e,t,n)=>{const{id:r,abstract:i,superClass:s}=e.node,{print:a,indent:o,maybe:u,traverse:c}=t;u.print(i,"abstract "),a("class"),u.print(r||s," "),a("__id"),a("__typeParameters");const{node:l}=e;l.superClass&&(u.print(r," "),a("extends "),a("__superClass"),a("__superTypeArguments")),l.implements&&(a(" implements "),e.get("implements").forEach(a)),a.space(),a("{"),u.print.newline(e.node.body.body.length),o.inc();const p=e.get("body"),d=p.get("body");for(const e of d)o(),c(e);d.length||h$(p,t,n),o.dec(),u.indent(d.length),a("}")});o$.ClassExpression=b$,o$.ClassDeclaration={print:d$((e,t,n)=>{const{maybe:r}=t;r.indent(!(({parentPath:e})=>e.isExportDeclaration())(e)),b$(e,t,n)}),afterIf:e=>!!g$(e)||(!!l$(e)||(e=>y$(e.parentPath.parentPath))(e)),after(e,{write:t}){t.newline(),!g$(e)&&(({node:e})=>e.body.body.length)(e)&&(t.newline(),p$(e))}};var x$={};const{exists:S$}=Qj,{maybeParens:T$}=$q,{isArray:E$}=Array,P$=T$((e,{indent:t,print:n,maybe:r,traverse:i})=>{const s=(e=>{const t=e.get("arguments");return E$(t)?t:[]})(e),a=function(e){for(const t of e)if(t.isIdentifier()&&t.node.name.length>10)return!0;return!1}(s)&&e.parentPath.isCallExpression(),o=e.get("callee"),u=e.get("typeArguments");i(o),S$(u)&&i(u),e.node.optional&&n("?."),n("(");const c=s.length-1;r.indent.inc(a);for(const[e,t]of s.entries()){const r=t.isObjectExpression();a&&!r&&c&&n.breakline(),n(t),a&&c?n(","):e<c&&(n(","),n.space())}a&&(t.dec(),r.print.breakline(c)),n(")")});x$.OptionalCallExpression=P$,x$.CallExpression=P$;var v$={};const{types:A$}=st,{exists:C$}=Qj,{isMarkedAfter:w$}=SU,{isExpressionStatement:k$,isMemberExpression:I$}=A$;function _$(e,t,n,r){const{maybe:i,print:s}=n,{roundBraces:a}=r,{length:o}=t.node.arguments;if(o||(({parentPath:e})=>I$(e))(t))return s(e);i.print(a.new,e)}v$.NewExpression={beforeIf(e){if(!(({parentPath:e})=>k$(e))(e))return!1;const[t,n]=(({parentPath:e})=>{const t=e.getPrevSibling();return[t.node,t]})(e);return!!t&&(!w$(n)&&(!n.isExpressionStatement()&&(({parentPath:e})=>C$(e.getPrevSibling()))(e)))},before(e,{print:t}){t.breakline()},print(e,t,n){const{print:r,maybe:i}=t;r("new "),r("__callee"),r("__typeArguments");const s=e.get("arguments");!function(e,t,n){_$("(",e,t,n)}(e,t,n);const a=s.length-1;for(const[e,t]of s.entries())r(t),i.print(e<a,", ");!function(e,t,n){_$(")",e,t,n)}(e,t,n)}};var N$={},L$={};const{types:O$}=st,{isArrayExpression:D$}=O$,F$=["NullLiteral","NumericLiteral","BigIntLiteral"];L$.isInsideTuple=e=>{const{parentPath:t}=e;if(!D$(t))return!1;const[n,r]=t.node.elements;return r===e.node&&F$.includes(n.type)};var M$={};const{types:B$}=st,{isArrayExpression:R$,isCallExpression:j$,isIdentifier:U$}=B$;M$.isThirdObjectInsideArray=({parentPath:e})=>{if(!R$(e))return!1;const[,t]=e.node.elements;return j$(t)&&!!U$(t)};const{types:q$}=st,{isCoupleLines:J$,isForOf:$$,isIf:V$,noTrailingComment:K$,isNewlineBetweenSiblings:W$,noLeadingComment:X$,hasLeadingComment:H$,exists:z$}=Qj,{parseComments:Y$}=bU,{isInsideTuple:G$}=L$,{isLooksLikeChain:Q$}=GU,{isThirdObjectInsideArray:Z$}=M$,{isStringLiteral:eV,isArrayExpression:tV}=q$,nV=e=>e.get("argument").isLogicalExpression();N$.ObjectExpression=(e,t,n)=>{const{trailingComma:r}=n,{print:i,maybe:s,indent:a}=t,o=G$(e)||function({parentPath:e}){return!!tV(e)&&!!tV(e.parentPath)&&(({parentPath:e})=>e.isCallExpression())(e.parentPath)}(e)||Z$(e);s.indent.inc(!o);const u=e.get("properties"),{length:c}=u,l=function(e){return!!(e=>e.parentPath.node.body===e.node)(e)||(e=>e.parentPath.isExpressionStatement())(e)}(e),p=!oV(e);s.print(l,"("),i("{"),Y$(e,t,n),s.print.newline(p);const d=u.length-1,h=(({parentPath:e})=>{if(!e.isCallExpression())return!1;const t=e.get("callee");return!!t.isMemberExpression()&&Q$(t)})(e);s.indent.inc(h);for(const[e,t]of u.entries()){if(t.isSpreadElement()){const n=nV(t);X$(t)&&s.indent(c>1||n||p),i(t),K$(t)&&(c>1||p)&&(s.print(e!==d||r,","),i.newline());continue}s.indent(p&&X$(t)),i(t),t.isObjectMethod()||K$(t)&&!rV(t)&&(s.print.newline(p),s.print.linebreak(W$(t)))}o?(G$(e)||function({parentPath:e}){const{elements:t}=e.parentPath.node,[n]=t;return eV(n)}(e))&&(a.dec(),a(),a.inc()):(a.dec(),s.indent(p)),i("}"),s.print(l,")"),s.indent.dec(h)};const rV=e=>{const t=e.getNextSibling();return!!z$(t)&&H$(t)},iV=e=>{const{parentPath:t}=e;return!!t.isCallExpression()&&(!J$(e)&&e!==t.get("arguments").at(-1))},sV=!0,aV=!1;function oV(e){const{length:t}=e.get("properties");return t?iV(e)||$$(e)||V$(e)?sV:J$(e)?aV:!(e=>e.get("properties.0.value").node)(e):sV}N$.isOneLine=oV;var uV={},cV={};const{types:lV}=st,{isStringLiteral:pV,isTemplateLiteral:dV,isBinaryExpression:hV}=lV,fV=e=>!!pV(e)||dV(e);cV.isConcatenation=e=>{const{parentPath:t}=e,{operator:n}=e.node;if("+"!==n)return!1;const r=e.node.loc?.start.line,i=e.node.loc?.end.line;if(r===i)return!1;const s=e.get("left"),a=e.get("right");return!!(fV(s)&&fV(a)&&hV(t))||hV(s)&&fV(a)},cV.concatenate=(e,{print:t,indent:n})=>{e.parentPath.isBinaryExpression()||(n.inc(),t.breakline()),t("__left"),t.space(),t("+"),t.breakline(),t("__right"),e.parentPath.isBinaryExpression()||n.dec()};const{types:mV}=st,{isConcatenation:yV}=cV,{isOneLine:gV}=N$,{printKey:bV}=gJ,{isTSImportType:xV}=mV;uV.ObjectProperty=(e,t,n)=>{const{trailingComma:r}=n,{shorthand:i}=e.node,{maybe:s,traverse:a,write:o}=t,u=e.get("value"),c=e.parentPath.get("properties"),l=e===c.at(-1),p=!gV(e.parentPath);bV(e,t),i||(o(":"),s.write.space(!yV(u)),a(u)),p&&!(({parentPath:e})=>xV(e.parentPath))(e)?s.write(!l||r,","):!l&&c.length&&o(", ")};var SV={},TV={wrongShorthand:({computed:e,isAssign:t,keyPath:n,valuePath:r})=>!e&&!t&&n.node.name!==r.node.name},EV={moreThenMaxPropertiesInOneLine:(e,{maxPropertiesInOneLine:t})=>{const{parentPath:n}=e;if(n.isObjectProperty())return!1;return t>=e.node.properties.length}},PV={};const{types:vV}=st,{isMemberExpression:AV,isSequenceExpression:CV}=vV;function wV(e,t){const{parentPath:n,node:r}=e,{typeAnnotation:i}=r,{write:s,traverse:a}=t;CV(n)||AV(n)||i&&(s(":"),s.space(),a(e.get("typeAnnotation")))}PV.maybePrintTypeAnnotation=wV,PV.maybeTypeAnnotation=e=>(t,n,r)=>{e(t,n,r),wV(t,n)};var kV={};const{types:IV}=st,{isAssignmentPattern:_V,isIdentifier:NV}=IV;function LV(e,t){return NV(e)&&NV(t)?e.name.length+t.name.length:NV(e)?e.name.length:0}kV.moreThenMaxPropertiesLengthInOneLine=(e,{maxPropertiesLengthInOneLine:t})=>{const{properties:n}=e.node;for(const{key:e,value:r}of n){if(_V(r)){const{left:e,right:n}=r;if(LV(e,n)>=t)return!0}if(!NV(e))continue;const{name:n}=e;if(n.length>=t)return!0}return!1};var OV={};const{types:DV}=st,{isAssignmentPattern:FV,isArrayExpression:MV,isObjectExpression:BV,isIdentifier:RV}=DV;function jV(e,t){const{key:n,value:r}=e.node;if(!FV(r))return!1;if(!RV(n))return!0;const{maxPropertiesLengthInOneLine:i}=t;return n.name.length>i}OV.calculateAssigns=(e,t)=>{const n=jV(e,t),{right:r}=e.node.value,i=MV(r)||!!BV(s=r)&&s.properties.length;var s;return{complexAssign:n&&i}},OV.isLongAssignPattern=jV;const{types:UV}=st,{wrongShorthand:qV}=TV,{isForOf:JV,isCoupleLines:$V,exists:VV}=Qj,{moreThenMaxPropertiesInOneLine:KV}=EV,{maybeTypeAnnotation:WV}=PV,{moreThenMaxPropertiesLengthInOneLine:XV}=kV,{printKey:HV}=gJ,{calculateAssigns:zV,isLongAssignPattern:YV}=OV,{isObjectExpression:GV,isIdentifier:QV,isAssignmentPattern:ZV,isVariableDeclarator:eK,isFunction:tK,isObjectPattern:nK,isForOfStatement:rK,isVariableDeclaration:iK}=UV;const sK=({path:e,valuePath:t,property:n})=>{if(!$V(t))return!1;if(VV(n.getPrevSibling()))return!1;const r=e.get("properties");return!(e.parentPath.isVariableDeclarator()&&!lK(r))&&!e.parentPath.isObjectProperty()};function aK({parentPath:e}){return rK(e.parentPath.parentPath)}function oK(e){const t=e.getPrevSibling();return ZV(t.node.value)}function uK(e){const t=e.getPrevSibling();if(!ZV(t.node.value))return!1;const{right:n}=t.node.value;return GV(n)}function cK(e){const t=e.getNextSibling();if(!t.node)return!1;if(!ZV(t.node.value))return!1;const{right:n}=t.node.value;return GV(n)}function lK(e){for(const t of e){const{value:e}=t.node;if(ZV(e))return!0}return!1}function pK(e){for(const t of e)if(nK(t.node.value))return!0;return!1}SV.ObjectPattern={print:WV((e,t,n)=>{const r=function(e){return!e.parentPath.isArrayPattern()}(e),{maxPropertiesInOneLine:i,maxPropertiesLengthInOneLine:s}=n,{print:a,maybe:o,indent:u}=t;o.indent.inc(r),a("{");const c=e.get("properties"),l=c.length-1,p=function(e,t){const{parentPath:n}=e,r=e.get("properties"),i=r.length-1,{maxPropertiesInOneLine:s,maxPropertiesLengthInOneLine:a}=t,o=XV(e,{maxPropertiesLengthInOneLine:a}),u=KV(e,{maxPropertiesInOneLine:s});if(function(e){for(const t of e){const{computed:e}=t.node;if(e)return!0}return!1}(r))return hK;const c=function({parentPath:e}){return!!e.isFunction()||!!e.isAssignmentPattern()&&e.parentPath.isFunction()}(e);return pK(r)?hK:u&&!o&&eK(e.parentPath)?dK:!c&&i&&!JV(e)&&function(e){for(const t of e){const{value:e}=t.node;if(QV(e)&&e.name.length>4)return!0}return!1}(r)||!c&&lK(r)?hK:n.isObjectProperty()}(e,{maxPropertiesInOneLine:i,maxPropertiesLengthInOneLine:s}),d=l&&pK(c),h=!(e=>!!tK(e.parentPath)||tK(e.parentPath.parentPath))(e);o.print.newline(p&&h);for(const[r,i]of c.entries()){if(i.isRestElement()){const e=p||d;o.indent(e),a(i),o.print.newline(e);continue}const s=r&&uK(i),u=cK(i),c=i.get("value"),f=i.get("key"),m=c.isAssignmentPattern(),{shorthand:y,computed:g}=i.node,b=sK({path:e,property:i,valuePath:c});if(o.indent((s||p)&&h),o.print.breakline(b&&!YV(i,n)),!m&&u&&a.breakline(),HV(i,t),!y||qV({computed:g,isAssign:m,keyPath:f,valuePath:c}))a(":"),a.space(),a(c);else if(m){a(c),o.print(b,","),o.print.newline(b);const{right:t}=c.node;if(r&&!oK(i)&&!aK(e)&&GV(t)){a(","),a.newline();continue}}if(!m&&u&&h){a(","),a.breakline();continue}const{complexAssign:x}=zV(i,n);x||!(p||d||s&&h)?!(r<l)||m&&b||(a(","),a.space()):(a(","),a.newline())}u.dec(),o.indent(p||function(e,t){const{parentPath:n}=e;if(iK(n.parentPath)){const{declarations:e}=n.parentPath.node;if(e.length>1)return!1}const r=e.get("properties"),i=r.length;for(const e of r){const{value:n}=e.node;if(ZV(n)&&GV(n.right))return i>1||t<=n.left}return!1}(e,s)),o.indent.inc(!r),a("}")})};const dK=!1,hK=!0;var fK={};const{exists:mK}=Qj,{maybePrintTypeAnnotation:yK}=PV,{maybeDecorators:gK}=mJ,{printKey:bK}=gJ,{printKind:xK}=SJ,SK=gK((e,t,n,{accessor:r}={})=>{const{node:i}=e,{accessibility:s,declare:a,optional:o}=i,{print:u,maybe:c}=t;c.print(r,"accessor ");const l=e.get("value");c.print(a,"declare "),c.print(s,`${s} `),c.print(i.static,"static "),c.print(i.readonly,"readonly "),xK(e,t),bK(e,t),c.print(o,"?"),yK(e,t),mK(l)&&(u.space(),u("="),u.space(),u("__value")),u(";"),u.newline()});fK.ClassProperty=SK,fK.ClassPrivateProperty=SK,fK.PrivateName=(e,{print:t})=>{t("#"),t("__id")},fK.ClassAccessorProperty=(e,t,n)=>{SK(e,t,n,{accessor:!0})};var TK={exports:{}},EK={};const{hasLeadingComment:PK}=Qj,{isParens:vK}=$q;EK.condition=(e,t,n)=>{const{parentPath:r}=e,{type:i}=r,{roundBraces:s}=n;return"ObjectPattern"===e.node.left.type||("LogicalExpression"===i||("BinaryExpression"===i||("UnaryExpression"===i||!(!s.assign&&!PK(e))&&vK(e))))};var AK={};const{types:CK}=st,{hasLeadingComment:wK}=Qj,{isReturnStatement:kK}=CK;AK.printLeadingCommentLine=(e,t,n,{printComment:r,isLast:i})=>{const{parentPath:s}=e,{print:a,maybe:o}=t;kK(s)||(o.print.breakline(!i),r(),a.breakline())},AK.printLeadingCommentBlock=(e,t,n,{printComment:r})=>{const{parentPath:i}=e,{print:s}=t;kK(i)||(r(),s.indent())},AK.maybeInsideReturnWithCommentStart=(e,{print:t,indent:n})=>{const{parentPath:r}=e;if(kK(r)&&wK(e)){n.inc();const{leadingComments:r}=e.node;t.breakline();for(const{type:e,value:n}of r)t("CommentLine"===e?`//${n}`:`/*${n}*/`),t.breakline()}},AK.maybeInsideReturnWithCommentEnd=(e,{print:t,indent:n})=>{const{parentPath:r}=e;kK(r)&&wK(e)&&(n.dec(),t.breakline())};var IK={};const{types:_K}=st,{isAssignmentExpression:NK,isExpressionStatement:LK}=_K;IK.printSeparator=(e,{print:t})=>{!function(e){const{right:t}=e.node;return!!e.parentPath.find(LK)&&NK(t)}(e)?t.space():t.breakline()},function(e){const{condition:t}=EK,{printLeadingCommentLine:n,maybeInsideReturnWithCommentEnd:r,maybeInsideReturnWithCommentStart:i,printLeadingCommentBlock:s}=AK,{maybeParens:a}=$q,{printSeparator:o}=IK;e.exports.AssignmentExpression=a({checkParens:!1,condition:t,print(e,t){const{print:n}=t,{operator:s}=e.node;i(e,t),n("__left"),n.space(),n(s),o(e,t),n("__right"),(({parentPath:e})=>/BlockStatement|Program/.test(e.type))(e)&&(n(";"),n.breakline()),r(e,t)}}),e.exports.AssignmentExpression.printLeadingCommentLine=n,e.exports.AssignmentExpression.printLeadingCommentBlock=s}(TK);var OK=TK.exports;OK.default;var DK={},FK={},MK={},BK={};const{types:RK}=st,{isIdentifier:jK,isMemberExpression:UK}=RK;function qK(e,t){const n=JK(t);return e.scope.getAllBindings()[n]}BK.getBinding=qK,BK.getBindingPath=(e,t)=>qK(e,t)?.path;const JK=e=>"string"==typeof e?e:jK(e)?e.name:UK(e)?JK(e.object):"";var $K={};const{types:VK}=st,{isOptionalMemberExpression:KK,isMemberExpression:WK,isIdentifier:XK,isLiteral:HK}=VK;$K.isSimple=e=>!!HK(e)||(!!XK(e)||(!!WK(e)||KK(e)));var zK={};const{types:YK}=st,{isArrayExpression:GK,isLiteral:QK,isIdentifier:ZK,isMemberExpression:eW,isTemplateElement:tW,isRegExpLiteral:nW,isClassMethod:rW,isTemplateLiteral:iW,isJSXText:sW,isJSXAttribute:aW,isJSXIdentifier:oW,isTSTypeReference:uW,isTSTypeParameter:cW,isTSAsExpression:lW}=YK;function pW(e){if(e=e.node||e,ZK(e))return e.name;if(oW(e))return e.name;if(nW(e))return e.pattern;if(iW(e))return pW(e.quasis[0]);if(QK(e))return e.value;if(tW(e))return e.value.raw;if(eW(e))return`${pW(e.object)}.${pW(e.property)}`;if(GK(e))return dW(e);if(sW(e))return e.value;if(aW(e))return e.name.name;if(rW(e))return pW(e.key);if(uW(e))return pW(e.typeName);if(cW(e))return pW(e.name);if(lW(e))return pW(e.expression);const t=["Literals","Identifiers","TemplateLiteral","TemplateElement","RegExpLiteral","ArrayExpression","MemberExpression","JSXIdentifier","JSXAttribute","JSXText","TSTypeParameter","TSAsExpression"].join(", ");throw Error(`'operator.extract(node)' understands only ${t} and TSTypeReference🤷, found: ${e.type}`)}function dW(e,t=[]){for(const n of e.elements)GK(n)?dW(n,t):t.push(pW(n));return t.join(",")}zK.extract=pW;var hW={};const{getBindingPath:fW}=BK,{extract:mW}=zK,yW=!1,gW=!0;function bW(e){const{node:t}=e;if(!e.evaluate)throw Error("☝️ Looks like argument of 'compute' is not 'path'");const{confident:n,value:r}=e.evaluate();if(n)return[gW,r];if(e.isBinaryExpression())return function(e){const{operator:t}=e.node,n=e.get("left"),r=e.get("right"),[i,s]=bW(n);if(!i)return[yW];const[a,o]=bW(r);if(!a)return[yW];const u=`return a ${t} b`,c=SW[t]||SW.init(t,Function("a","op","b",u));return[gW,c(s,t,o)]}(e);if(xW(e))return[gW,mW(t)];const i=function(e){const{node:t}=e;return e.isIdentifier()?fW(e,mW(t)):function(e){const t=e.get("object");return!!e.isMemberExpression()&&(!e.node.computed&&t.isIdentifier())}(e)?fW(e,mW(t.object)):null}(e);if(!i)return[yW];const s=i.get("init");return s.isObjectExpression()&&e.isMemberExpression()?function(e,t){const n=mW(e.node.property);for(const e of t.get("properties")){const t=e.get("key");if(!xW(t))return[yW];if(mW(t)!==n)continue;const[r,i]=bW(e.get("value"));if(!r)break;return[gW,i]}return[yW]}(e,s):[yW]}function xW(e){const{parentPath:t}=e;return!(!e.isIdentifier()&&!e.isLiteral())&&(!!t.isObjectProperty({computed:!1})&&!function(e){const t=function(e){const{referencesSet:t}=e.scope;if(!t)return{};const n=t.entries();return Object.fromEntries(n)}(e),[n]=Object.keys(t),r=e.scope.bindings[n];if(!r)return!1;const{referencePaths:i}=r;for(const e of i)if(e.parentPath.parentPath?.isAssignmentExpression())return!0;return!1}(e))}hW.compute=bW;const SW={init:(e,t)=>SW[e]=t};var TW={};const{entries:EW}=Object;TW.remove=e=>{if(!e.node)return;const{scope:t}=e,n=vW(e),r=AW(e);if(t&&!r.node){const r=t.getProgramParent().block;t.block!==r||n.node||(r.comments=PW(e))}if(!e.parentPath.isArrayPattern())return void e.remove();const i=e.parentPath.get("elements"),s=i.length-1;for(const[t,n]of EW(i))if(n===e){if(!Number(t)&&s){e.parentPath.node.elements[t]=null;break}e.remove();break}};const PW=e=>{const{leadingComments:t}=e.node;if(t?.length)return t;const{parentPath:n}=e;return e.isVariableDeclarator()&&(({node:e})=>1===e.declarations.length)(n)?n.node.leadingComments:[]},vW=e=>e.isVariableDeclarator()?e.parentPath.getPrevSibling():e.getPrevSibling(),AW=e=>e.isVariableDeclarator()?e.parentPath.getNextSibling():e.getNextSibling();var CW={getExportDefault:e=>{const t=e.scope.getProgramParent().path;for(const e of t.get("body"))if(e.isExportDefaultDeclaration())return e;return null}},wW={},kW={renameProperty:(e,t,n)=>{e.traverse({ObjectProperty(e){const{node:r}=e,{key:i,value:s}=r;i.name===s.name&&i.name===t&&(i.name=n,s.name=n,r.shorthand=!0,e.stop())}})}};const{renameProperty:IW}=kW;wW.rename=(e,t,n)=>{const r=e.scope.getAllBindings()[t];if(!r)return;const i=r.path;IW(i,t,n),i.scope.rename(t,n)};var _W={setLiteralValue:(e,t)=>{const n=e.node||e,{raw:r,extra:i,value:s}=n;n.value=s.replace(s,t),'""'!==r?!r&&s?i&&(n.raw=i.raw.replace(s,t),n.extra.rawValue=s):n.raw="'"+String.raw`${t}`+"'":n.raw=r.replace(r,`"${t}"`)}},NW={};function LW(e){if(!e.isVariableDeclaration())return!1;const t=e.get("declarations.0.init");if(!t.isCallExpression())return!1;return t.get("callee").isIdentifier({name:"require"})}NW.getPathAfterRequires=e=>{let t;for(t of e)if(!LW(t))break;return t};var OW={},DW={};const{traverse:FW,types:MW}=st,{extract:BW}=zK,{isCallExpression:RW,isObjectExpression:jW}=MW,UW=e=>e.node||e;DW.traverseProperties=(e,t,{firstLevel:n=!1}={})=>{const r=[],i=function(e){return jW(e)?RW(e.parentPath)?e.parentPath.node:{type:"ExpressionStatement",expression:UW(e)}:UW(e)}(e),s=qW({name:t,collector:r});return n?(s(e),r):(FW(i,{noScope:!0,ObjectExpression:s}),r)};const qW=({name:e,collector:t})=>n=>{for(const r of n.get("properties")){if(r.isSpreadElement())continue;if(r.isRestElement())continue;const n=r.get("key");if(n.isConditionalExpression())continue;const i=BW(n);e===i&&t.push(r)}},{isObjectExpression:JW,isObjectPattern:$W}=st.types,{extract:VW}=zK,{traverseProperties:KW}=DW;OW.traverseProperties=KW,OW.getProperties=(e,t)=>{const n={};for(const r of e.get("properties")){if(r.isSpreadElement())continue;const e=r.get("key"),i=VW(e);if(t.includes(i)){n[`${i}Path`]=r;continue}}return n},OW.getProperty=(e,t)=>{if(!JW(e)&&!$W(e))throw Error(`☝️Looks like path is not 'ObjectExpression | ObjectPattern', but: '${e.type}' for path: ${e}`);const n=e.get("properties");for(const e of n){const n=e.get("key");if(VW(n)===t)return e}return null};var WW={};const XW=e=>"string"==typeof e;WW.getLiteralRaw=e=>{const{raw:t,extra:n,value:r}=e.node||e;return XW(t)?t:n&&XW(n.raw)?n.raw:`'${i=r,i.includes("\\'")?i:i.replaceAll("'","\\'")}'`;var i};var HW={},zW={},YW={};const{types:GW}=st,{isStatement:QW,isBlockStatement:ZW,blockStatement:eX,expressionStatement:tX}=GW;YW.maybeBody=(e,t)=>{const{parentPath:n}=e;return t&&!QW(t)||ZW(t)||!n?.isArrowFunctionExpression?.()?{currentPath:e}:(n.node.body=eX([tX(e.node)]),{currentPath:n.get("body.body.0")})};var nX={};const{types:rX}=st,{isExpression:iX,toStatement:sX,expressionStatement:aX}=rX;nX.toExpression=e=>{const{type:t}=e;return["ObjectProperty"].includes(t)?e:iX(e)?aX(e):sX(e)};const{maybeBody:oX}=YW,{toExpression:uX}=nX,{isSequenceExpression:cX}=st.types;zW.replaceWithMultiple=(e,t)=>{const{node:n}=e,{trailingComments:r,comments:i,leadingComments:s}=n;delete e.node.trailingComments;const a=e.parentPath.node.comments,o=t.filter(Boolean).map(uX);!function(e){for(const t of e)for(const n of e)t!==n&&t.leadingComments===n.leadingComments&&delete n.leadingComments}(o);const{currentPath:u}=oX(e),c=u.replaceWithMultiple(o);return c.length?(s||cX(e)||delete c[0].node.leadingComments,c[0].node.comments=i||a,c.at(-1).node.trailingComments=r,c):c};var lX={};const{maybeBody:pX}=YW,{assign:dX}=Object;lX.replaceWith=(e,t)=>{t=(e=>{var t;return(e=(t=e).__putout_replaced_with?t.__putout_replaced_with:t).node?e.node:e})(t),e?.parentPath?.isExpressionStatement()&&!e.parentPath.isProgram()&&(!function(e,t){e.__putout_replaced_with=t}(e,t),e=e.parentPath);const{comments:n,loc:r}=e.node,{currentPath:i}=pX(e,t);return i.replaceWith(t),dX(i.node,{comments:n,loc:r}),i};const{replaceWithMultiple:hX}=zW,{replaceWith:fX}=lX,{toExpression:mX}=nX;HW.replaceWith=fX,HW.replaceWithMultiple=hX,HW.toExpression=mX;const{types:yX}=st,{getBinding:gX,getBindingPath:bX}=BK,{isSimple:xX}=$K,{extract:SX}=zK,{compute:TX}=hW,{remove:EX}=TW,{getExportDefault:PX}=CW,{rename:vX}=wW,{renameProperty:AX}=kW,{setLiteralValue:CX}=_W,{getPathAfterRequires:wX}=NW,{getProperty:kX,getProperties:IX,traverseProperties:_X}=OW,{getLiteralRaw:NX}=WW,{replaceWith:LX,replaceWithMultiple:OX,toExpression:DX}=HW,{matchesPattern:FX,isImportDeclaration:MX,isExportDeclaration:BX,isStatement:RX,expressionStatement:jX}=yX;MK.getBinding=gX,MK.getBindingPath=bX,MK.getLiteralRaw=NX,MK.extract=SX,MK.compute=TX,MK.replaceWith=LX,MK.getExportDefault=PX,MK.toExpression=DX,MK.isSimple=xX,MK.rename=vX,MK.renameProperty=AX,MK.setLiteralValue=CX,MK.getProperty=kX,MK.getProperties=IX,MK.traverseProperties=_X,MK.replaceWithMultiple=OX,MK.insertBefore=(e,t)=>{e.insertBefore(t)},MK.insertAfter=(e,t)=>{const{comments:n}=e.node;e.node.trailingComments?.length&&e.getNextSibling()?.node?.leadingComments&&delete e.node.trailingComments,t.trailingComments&&delete t.trailingComments,RX(e)&&!RX(t)?e.insertAfter(jX(t)):e.insertAfter(t),e.node.comments=n},MK.isModuleExports=e=>FX(e.node||e,"module.exports");MK.findBinding=(e,t)=>{const n=e.findParent((e=>t=>t.scope.bindings[e])(t));return n?n.scope.bindings[t]:null},MK.remove=EX,MK.getPathAfterRequires=wX,MK.getPathAfterImports=e=>{const t=e.length;let n=0;for(;n<t-1&&MX(e[n]);)++n;return e[n]},MK.isESM=e=>{const t=e.scope.getProgramParent().path;for(const e of t.node.body){if(MX(e))return!0;if(BX(e))return!0}return!1};const{isSimple:UX}=MK,{types:qX}=st,{isStringAndMember:JX,isStringAndIdentifier:$X,isIdentifierAndString:VX,isCoupleLines:KX,isStringAndArray:WX,isIdentifierAndIdentifier:XX,isSimpleAndNotEmptyObject:HX}=Qj,{isObjectExpression:zX,isArrayExpression:YX,isObjectProperty:GX,isCallExpression:QX,isAwaitExpression:ZX,isBooleanLiteral:eH,isNullLiteral:tH,isStringLiteral:nH,isSpreadElement:rH,isIdentifier:iH}=qX,{round:sH}=Math,aH=!1,oH=!0;FK.isMultiLine=(e,{elements:t,maxElementsInOneLine:n,maxElementLengthInOneLine:r})=>{const[i]=t;return function(e,t){if(e.length>1)return!1;const[n]=e;return!!iH(n)&&n.node.name.length<t}(t,r)?aH:t.length>n&&nH(i)||t.length>3&&!zX(i)||HX(t)?oH:function(e){const t=e.get("elements");if(1!==t.length)return!1;const[n]=t;return!!(n.isIdentifier()&&n.node.name.length<15)||!(n.isStringLiteral()&&n.node.value.length>10)&&(!(n.isIdentifier()||!UX(n))||!n.isCallExpression()&&n.isMemberExpression())}(e)||(e=>{if(e.length>1)return!1;const[t]=e;return rH(t)})(t)||2===t.length&&XX(t)||function(e){const{parentPath:t}=e;return!!t.isCallExpression()&&(!!t.parentPath.isFunction()&&e.node.elements.length<4)}(e)||fH(e)||function(e){return e.parentPath.isForOfStatement()}(e)||(([e,t])=>eH(e)&&UX(t))(t)||(([e,t])=>tH(e)&&UX(t))(t)||(([e,t])=>{if(UX(e))return QX(t)||ZX(t)})(t)||lH(e,n)||function(e){const[t,n]=e;if(e.length>2)return!1;if(!t?.isStringLiteral()||!n?.isStringLiteral())return!1;const r=t.node.value.length,i=n.node.value.length;return sH(i/r)>2}(t)||pH(e)||WX(t)&&t.length<3||JX(t)||$X(t)||VX(t)||(([e,t])=>UX(e)&&zX(t))(t)||cH(t)&&e.parentPath.isArrayExpression()&&YX(e.parentPath.node.elements[0])||(e=>!!e.getNextSibling().isArrayExpression()||e.getPrevSibling().isArrayExpression())(e)?aH:function(e){const t=e.get("elements");if(t.length<2)return!1;for(const t of e.get("elements"))if(t.isStringLiteral()&&t.node.value.length>4)return!0;return!1}(e)||KX(e)||!function(e){for(const t of e)if(t.isNumericLiteral())return!0;return!1}(t)&&!uH(e)&&dH(e)&&!hH(e)?oH:aH};const uH=({parentPath:e})=>e.isForOfStatement(),cH=([e,t])=>nH(e)&&nH(t),lH=(e,t)=>{const{node:n,parentPath:r}=e,{elements:i}=n,{length:s}=i,[a,o]=i;return!!r.isCallExpression()&&(!(!nH(a)||!nH(o))&&s<t)},pH=e=>{const{node:t,parentPath:n}=e,{elements:r}=t,{length:i}=r,[s,a]=r;return!(i>2)&&(!!n.isObjectProperty()&&(!(!nH(s)||!nH(a))&&!KX(e)))};const dH=({parentPath:e})=>!e.isCallExpression(),hH=e=>e.find(GX);function fH(e){const t=e.get("elements");return!!t.length&&(!!(([e,t])=>eH(e)&&zX(t))(t)||!function(e){return!!e.parentPath.isCallExpression()&&e.parentPath.parentPath.isForOfStatement()}(e)&&(!!t[0].isObjectExpression()||!rH(t[1])&&mH(t)))}FK.isIncreaseIndent=fH;const mH=e=>{const t=e.at(0),n=e.at(-1);return nH(t)&&zX(n)};FK.isCurrentNewLine=e=>!!e.isSpreadElement()||!e.isObjectExpression();var yH={};const{types:gH}=st,{isIndented:bH}=Qj,{isStringLiteral:xH,isArrayExpression:SH}=gH,TH=e=>e.parentPath.isArrayExpression();function EH(e){if(!e.isArrayExpression()||!e.parentPath.isArrayExpression())return!1;const t=e.parentPath.node.elements,n=t.filter(SH).length,r=!SH(t.at(-1));if(n&&r)return!1;const{length:i}=t;return i<=3&&1!==i}yH.isInsideArray=TH,yH.isArrayIndented=e=>{const t=e.get("elements");if(EH(e))return!1;const[n]=t;return!PH(t)||!TH(e)&&bH(n)},yH.isArrayInsideArray=EH;const PH=([e,t])=>!(!xH(e)||!xH(t))&&e.node.value.length>20;var vH={};const{isNextObject:AH,isPrevObject:CH}=Qj,wH=["ArrayExpression","ObjectExpression","SpreadElement","CallExpression","Identifier","NewExpression"];vH.isObjectAfterSimple=e=>{const{type:t}=e;return!(!AH(e)||CH(e))&&wH.includes(t)},vH.isNextSimple=e=>{const{type:t}=e.getNextSibling();return wH.includes(t)};const{types:kH}=st,{isCoupleLines:IH,isStringAndIdentifier:_H,isIdentifierAndIdentifier:NH,isStringAndArray:LH,isSimpleAndNotEmptyObject:OH,isNextObject:DH}=Qj,{isIncreaseIndent:FH,isCurrentNewLine:MH,isMultiLine:BH}=FK,{isInsideArray:RH,isArrayInsideArray:jH,isArrayIndented:UH}=yH,{isObjectAfterSimple:qH,isNextSimple:JH}=vH,{isObjectExpression:$H,isSpreadElement:VH,isStringLiteral:KH,isIdentifier:WH,isFunction:XH,isCallExpression:HH,isObjectProperty:zH}=kH,YH=e=>(e=>KH(e.getNextSibling()))(e)||(e=>KH(e.getPrevSibling()))(e),GH=e=>{if(!e.isObjectExpression())return!1;const t=e.getPrevSibling();if(!t.isSpreadElement())return!1;const n=t.get("argument");if(n.isCallExpression()){const[e]=n.get("arguments");if(XH(e))return!1}return!t.getPrevSibling().isObjectExpression()&&t.get("argument").isCallExpression()},QH=e=>{const t=e.getNextSibling();return!(t.isSpreadElement()||t.isIdentifier()||t.isCallExpression())||t.getNextSibling().isObjectExpression()},ZH=({parentPath:e})=>1===e.node.elements.length;function ez(e){if(!VH(e)&&!WH(e)&&!HH(e))return;const t=e.getPrevSibling();return!e.getNextSibling().isObjectExpression()&&t.isObjectExpression()}DK.ArrayExpression={beforeIf(e){const{parentPath:t}=e,{elements:n}=e.node;return!!t.isArrayExpression()&&(!IH(t)&&(!(!_H(n)||!ZH(e))||NH(n)))},before(e,{print:t}){t.breakline()},print(e,{print:t,maybe:n},r){const{maxElementsInOneLine:i,trailingComma:s,maxElementLengthInOneLine:a}=r,o=e.get("elements"),u=!FH(e);t("[");const c=UH(e);n.indent.inc(c&&u);const l=BH(e,{elements:o,maxElementsInOneLine:i,maxElementLengthInOneLine:a}),p=o.length-1;n.print.newline(l&&o.length);for(const[r,i]of o.entries()){const a=l&&MH(i);ez(i)&&t.newline(),n.indent(a),t(i),(r<p||s)&&n.print(a,","),$H(i)&&zH(e.parentPath)||n.print.newline((a||GH(i))&&!DH(i)&&!$H(i)),n.print.space(a&&qH(i)),!a&&r<p&&(t(","),!QH(i)&&i.isObjectExpression()&&JH(i)||t.space())}n.indent.dec(c&&u);const d=e.parentPath.get("elements");if(RH(e)&&LH(d)){const t=2===d.length,r=!YH(e)||t;n.indent.dec(r),n.indent(o.length&&l),n.indent.inc(r)}else jH(e)||$H(o.at(-1))||n.indent(o.length&&l);!OH(o)||VH(o.at(-1))||HH(o.at(-1))||(t(","),t.breakline()),t("]")},afterIf(e){const{parentPath:t}=e,{elements:n}=e.node;return!!t.isArrayExpression()&&(!IH(t)&&(!(!_H(n)||!ZH(e))||NH(n)))},after(e,{print:t,indent:n}){n.dec(),t.breakline(),n.inc()}};var tz={};const{maybeTypeAnnotation:nz}=PV;tz.ArrayPattern=nz((e,{indent:t,maybe:n,print:r},i)=>{const{maxElementsInOneLine:s}=i;r("[");const a=e.get("elements");t.inc();const o=!(({parentPath:e})=>e.parentPath.parentPath?.isForOfStatement())(e)&&a.length>s,u=a.length-1;n.print(o&&a.length,"\n");for(const[e,t]of a.entries())n.indent(o),r(t),o?r(",\n"):e<u&&(r(","),r.space());t.dec(),n.indent(a.length&&o),r("]")});var rz={};rz.AssignmentPattern={print(e,{print:t,maybe:n}){n.print(function(e){const{parentPath:t}=e;return!(!t.isObjectProperty()||t.node.shorthand)||(!!(e=>e.parentPath.isFunction())(e)||(!!t.isTSParameterProperty()||t.isArrayPattern()))}(e),"__left"),t.space(),t("="),t.space(),t("__right")}};var iz={};const{maybeTypeAnnotation:sz}=PV;iz.RestElement=sz((e,{print:t})=>{t("..."),t("__argument")});var az={};const{hasTrailingComment:oz}=Qj;az.SpreadElement=(e,t)=>{const{print:n}=t;n("..."),n("__argument"),oz(e)&&n(",")};var uz={exports:{}},cz={condition:(e,t,n)=>{const{parentPath:r}=e,{type:i}=r,{roundBraces:s}=n;return"ArrowFunctionExpression"===i||("ConditionalExpression"===i&&e!==r.get("test")||("LogicalExpression"===i||s.sequence))}},lz={};const{hasLeadingComment:pz}=Qj,dz=()=>{};lz.printLeadingCommentLine=dz,lz.printLeadingCommentBlock=dz,lz.maybePrintComments=(e,{print:t})=>{if(pz(e)){const{leadingComments:n}=e.node;for(const{type:e,value:r}of n)t("CommentLine"===e?`//${r}`:`/*${r}*/`),t.breakline()}},function(e){const{hasLeadingComment:t}=Qj,{maybeParens:n}=$q,{condition:r}=cz,{maybePrintComments:i,printLeadingCommentLine:s,printLeadingCommentBlock:a}=lz;e.exports.SequenceExpression=n({checkParens:!1,condition:r,print(e,n){const{write:r,traverse:s,indent:a,maybe:o}=n,u=e.get("expressions"),c=u.length-1,l=t(e);l&&(a.inc(),r.breakline(),i(e,n));for(const[e,t]of u.entries())s(t),e<c&&(r(","),o.write.space(!l),o.print.breakline(l));l&&(a.dec(),r.breakline())}}),e.exports.SequenceExpression.printLeadingCommentLine=s,e.exports.SequenceExpression.printLeadingCommentBlock=a}(uz);var hz=uz.exports;hz.default;var fz={TaggedTemplateExpression:(e,{print:t})=>{t("__tag"),t("__quasi")}},mz={},yz={maybeSpace:(e,{print:t})=>{const{right:n}=e.node;return"UnaryExpression"===n.type&&"+"===n.operator?t(" "):t.space()}};const{concatenate:gz,isConcatenation:bz}=cV,{maybeSpace:xz}=yz,{maybeParens:Sz}=$q;mz.BinaryExpression=Sz((e,{print:t,indent:n,maybe:r})=>{const{operator:i}=e.node;return"in"===i||"instanceof"===i?(t("__left"),t(" "),t(i),t(" "),void t("__right")):bz(e)?gz(e,{print:t,indent:n,maybe:r}):(t("__left"),t.space(),t(e.node.operator),xz(e,{print:t}),void t("__right"))});var Tz={},Ez={};const{types:Pz}=st,{isLogicalExpression:vz,isReturnStatement:Az,isVariableDeclarator:Cz}=Pz;function wz(e){let t=0;do{++t;const n=e.get("right");vz(n)&&(t+=wz(n)[0]),e=e.get("left");const{operator:r}=e.node;if("||"!==r&&"&&"!==r)break}while(e.isLogicalExpression());return[t]}Ez.isRootOk=e=>Az(e)||Cz(e),Ez.chain=e=>{const[t]=wz(e),[n,r]=function(e){let t=0;do{++t,e=e.parentPath}while(e.isLogicalExpression());return[t,{type:e.type}]}(e);return[r,t+n,t,n]};const{maybeParens:kz}=$q,{chain:Iz,isRootOk:_z}=Ez;Tz.LogicalExpression=kz({condition:e=>!!e.parentPath.isUnaryExpression()||e.parentPath.isAwaitExpression(),print(e,{print:t,maybe:n},r){t("__left");const i=function(e,t){const[n,r]=Iz(e);if(!_z(n))return!1;if(r<=t.maxLogicalsInOneLine)return!1;const{operator:i}=e.node;return"||"===i||"&&"===i}(e,r);n.indent.inc(i),i?t.breakline():t.space(),n.indent.dec(i),t(e.node.operator),t.space(),t("__right")}});var Nz={};const{maybeParens:Lz}=$q;Nz.ConditionalExpression=Lz((e,{print:t})=>{t("__test"),t.space(),t("?"),t.space(),t("__consequent"),t.space(),t(":"),t.space(),t("__alternate")});var Oz={StaticBlock:(e,{print:t,traverse:n})=>{t("static "),t("{"),t.breakline();for(const t of e.get("body"))n(t);t.indent(),t("}"),t.newline()}},Dz={};function Fz(e,t,n,{source:r="source"}={}){const{print:i,maybe:s}=t,{options:a}=e.node;i("import("),i(`__${r}`),s.print(a,","),s.print.space(a),i("__options"),i(")")}Dz.ImportExpression=Fz,Dz.createImportExpression=Fz;var Mz={};const{types:Bz}=st,{isJSXElement:Rz}=Bz;Mz.ParenthesizedExpression={before(e,{print:t}){t("(")},condition:e=>{const{expression:t}=e.node;return!Rz(t)},print(e,{print:t}){t("__expression")},after(e,{print:t}){t(")")}};const jz=Yj,Uz=GJ,qz=r$,{ClassExpression:Jz,ClassDeclaration:$z}=o$,{CallExpression:Vz,OptionalCallExpression:Kz}=x$,{NewExpression:Wz}=v$,{ObjectExpression:Xz}=N$,{ObjectProperty:Hz}=uV,{ObjectPattern:zz}=SV,{ClassProperty:Yz,ClassAccessorProperty:Gz,ClassPrivateProperty:Qz,PrivateName:Zz}=fK,{AssignmentExpression:eY}=OK,{ArrayExpression:tY}=DK,{ArrayPattern:nY}=tz,{AssignmentPattern:rY}=rz,{RestElement:iY}=iz,{SpreadElement:sY}=az,{SequenceExpression:aY}=hz,{TaggedTemplateExpression:oY}=fz,{BinaryExpression:uY}=mz,{LogicalExpression:cY}=Tz,{ConditionalExpression:lY}=Nz,{StaticBlock:pY}=Oz,{ImportExpression:dY}=Dz,{ParenthesizedExpression:hY}=Mz;var fY={...jz,...Uz,...qz,ArrayPattern:nY,ArrayExpression:tY,AssignmentExpression:eY,AssignmentPattern:rY,BinaryExpression:uY,CallExpression:Vz,ClassExpression:Jz,ClassProperty:Yz,ClassAccessorProperty:Gz,ClassPrivateProperty:Qz,ClassDeclaration:$z,ConditionalExpression:lY,NewExpression:Wz,LogicalExpression:cY,OptionalCallExpression:Kz,ObjectExpression:Xz,ObjectProperty:Hz,ObjectPattern:zz,ParenthesizedExpression:hY,PrivateName:Zz,RestElement:iY,ImportExpression:dY,SpreadElement:sY,SequenceExpression:aY,StaticBlock:pY,TaggedTemplateExpression:oY,ThisExpression(e,{write:t}){t("this")}},mY={exports:{}},yY={};const{types:gY}=st,{isExpressionStatement:bY,isFunction:xY,isAssignmentExpression:SY}=gY;yY.isInsideAssignNextAssignFunction=e=>{const{expression:t}=e.node;if(!SY(t))return!1;const n=e.getNextSibling();if(xY(n)&&n.node.leadingComments)return!0;if(!bY(n))return!1;const{leadingComments:r}=n.node;return!!r&&(!!SY(n.node.expression)&&xY(n.node.expression.right))};var TY={};const{types:EY}=st,{hasTrailingComment:PY}=Qj,{isBlockStatement:vY,isProgram:AY,isIfStatement:CY}=EY;TY.printLeadingCommentLine=(e,t,n,{index:r,isLast:i,printComment:s})=>{const{print:a,indent:o}=t,u=e.getPrevSibling(),{parentPath:c}=e;PY(u)||(r||u.node||!CY(c)&&!vY(c)||o(),s(),a.newline(),i||e.parentPath.isIfStatement()||a.indent())},TY.printLeadingCommentBlock=(e,t,n,{printComment:r})=>{const{indent:i}=t,s=e.getPrevSibling();PY(s)||(vY(e.parentPath)&&!AY(e.parentPath.parentPath)&&i(),r())},function(e){const{types:t}=st,{isNext:n,isLast:r,isParentBlock:i,isParentLast:s,isNewlineBetweenSiblings:a,satisfy:o,noTrailingComment:u,hasTrailingComment:c,isCoupleLines:l,isInsideLabel:p}=Qj,{isInsideAssignNextAssignFunction:d}=yY,{printLeadingCommentLine:h,printLeadingCommentBlock:f}=TY,{isCallExpression:m,isExpressionStatement:y,isAssignmentExpression:g}=t,b=({parentPath:e})=>e.isReturnStatement(),x=(e=>(...t)=>!e(...t))(b),S=o([function(e){return!r(e)&&!s(e)},i,n,function(e){return e.findParent(n)}]),T=o([a,function(e){return e.parentPath.get("body")===e},function(e){const t=e.get("expression");if(!t.isStringLiteral())return!1;const{value:n}=e.node.expression;return"use strict"===n},e=>e.getNextSibling().isIfStatement()]);e.exports.ExpressionStatement={beforeIf:e=>!b(e)&&!p(e),before(e,{indent:t}){t()},print(e,{print:t,maybe:r,store:i,indent:s}){const a=b(e);if(t("__expression"),r.print(!a,";"),n(e)&&!a&&T(e)){t.newline();const r=n(e)&&u(e)||function(e){if(g(e.node.expression))return!1;const t=e.getNextSibling();if(!y(t))return!1;const{expression:n}=t.node;return m(n)}(e)||function(e){const{expression:t}=e.node;return!!m(t)&&(!!m(t.arguments[0])&&function(e){const{trailingComments:t}=e.node,[n]=t;return r=n,"CommentBlock"===r?.type;var r}(e))}(e);r&&s(),i(!0)}},afterIf:e=>!!S(e)||(!(!c(e)||!r(e))||(e=>!!e.parentPath.isIfStatement()&&e===e.parentPath.get("consequent")&&Boolean(e.parentPath.node.alternate))(e)),after(e,{print:t,maybe:n,store:i,indent:s}){c(e)&&r(e)&&l(e)&&t.breakline(),c(e)&&!l(e)||function({parentPath:e}){if(!e.isIfStatement())return!1;const t=e.parentPath;if(!t.isIfStatement())return!1;const n=t.parentPath;return!!n.isIfStatement()&&r(n)}(e)||x(e)&&(d(e)&&s(),t.newline(),n.markAfter(i(),e))}},e.exports.ExpressionStatement.printLeadingCommentLine=h,e.exports.ExpressionStatement.printLeadingCommentBlock=f}(mY);var wY=mY.exports;wY.default;var kY={},IY={maybeSpaceAfterKeyword:(e,{write:t})=>{const{declarations:n}=e.node;if(!n.length)return;const{id:r}=n[0];if("ArrayPattern"===r.type||"ObjectPattern"===r.type)return t.space();t(" ")}};const{types:_Y}=st,{isNext:NY,isCoupleLines:LY,isNewlineBetweenSiblings:OY,exists:DY,noTrailingComment:FY}=Qj,{hasPrevNewline:MY}=SU,{maybeSpaceAfterKeyword:BY}=IY,{isConcatenation:RY}=cV,{parseLeadingComments:jY}=bU,{maybeDeclare:UY}=u$,{isExportDeclaration:qY}=_Y,JY=e=>e.parentPath.isTSModuleBlock(),$Y=e=>/Program|BlockStatement|Export|LabeledStatement/.test(e.parentPath.type),VY=e=>e.parentPath.isSwitchCase();function KY(e){return!NY(e)&&e.parentPath.isBlockStatement()}function WY(e){return!YY(e.parentPath)&&e.parentPath.isExportDeclaration()}function XY(e){return!YY(e)&&LY(e)}function HY(e){const t=e.getPrevSibling(),n=e.getNextSibling();return!!DY(t.getPrevSibling())&&(e.node.loc?.start.line!==t.node?.loc?.start.line+2&&(!YY(e)&&t.isVariableDeclaration()&&!n.isVariableDeclaration()))}function zY(e){const t=e.getNextSibling(),n=e.getPrevSibling();return!(!DY(n.getPrevSibling())&&t.isVariableDeclaration())&&(e.node.loc?.start.line!==n.node?.loc?.start?.line+2&&LY(t))}kY.VariableDeclaration={beforeIf:function(e){if(function(e){return e.node===e.parentPath.node.body?.[0]}(e))return!1;if(MY(e))return!1;if(MY(e.parentPath))return!1;const t=e.getPrevSibling();return!(t.isStatement()&&!t.isExpressionStatement()&&!t.isBlockStatement())&&(!qY(e.parentPath)&&LY(e))},before(e,{print:t}){t.breakline()},print:UY((e,{maybe:t,store:n,write:r,traverse:i,print:s,indent:a},o)=>{const{maxVariablesInOneLine:u}=o;t.indent((e=>/^(Program|BlockStatement|TSModuleBlock|SwitchCase)$/.test(e.parentPath.type))(e)),r(e.node.kind),BY(e,{write:r});const c=e.get("declarations"),l=c.length-1;t.indent.inc(l);for(const[e,n]of c.entries()){const p=n.get("id"),d=n.get("init"),h=e===l;if(i(p),DY(d)&&(r.space(),r("="),t.write.space(!RY(d)),i(d)),!h){const n=c[e+1];if(r(","),!n.node.leadingComments){t.write.breakline(l>u),t.write.space(l<=u);continue}jY(n,{print:s,maybe:t,indent:a},o)}}t.indent.dec(l),($Y(e)||VY(e)||JY(e)||(e=>e.parentPath.isIfStatement())(e))&&r(";");let p=!1;VY(e)&&(r.newline(),(e=>e.parentPath.get("consequent.0")===e)(e)||(p=!0)),$Y(e)&&NY(e)&&(FY(e)||OY(e))&&(r.newline(),p=!0),n(p)}),afterSatisfy:()=>[GY,QY,KY,XY,ZY,zY,HY,OY,WY,JY],after(e,{maybe:t,store:n}){const r=n();if(YY(e.parentPath)&&!e.parentPath.isBlockStatement()||!$Y(e)&&!JY(e))return!1;t.print.linebreak(r),t.print.newline(!r),t.markAfter(r,e)}};const YY=e=>e.parentPath?.isProgram()&&!NY(e);const GY=e=>e.getNextSibling().isIfStatement(),QY=e=>e.getNextSibling().isFunctionDeclaration(),ZY=e=>{const t=e.getNextSibling();if(!t.isExpressionStatement())return!1;const{parentPath:n}=e;return!(n.isBlockStatement()&&n.node.body.length<3)&&t.get("expression").isAssignmentExpression()};var eG={};const{types:tG}=st,{markAfter:nG}=SU,{exists:rG,isNext:iG,isInsideIf:sG}=Qj,{isBlockStatement:aG,isFunctionDeclaration:oG,isStatement:uG}=tG;eG.IfStatement={print:(e,{indent:t,print:n,maybe:r,write:i,traverse:s})=>{const{parentPath:a}=e,o=a.get("alternate");e!==o&&t(),n("if"),n.space(),n("("),n("__test"),n(")");const u=e.get("consequent"),c=e.get("alternate"),l=u.isBlockStatement(),p=u.isVariableDeclaration();if(l)n.space(),n(u),(sG(e.parentPath)||(({parentPath:e})=>"BlockStatement"===e.type&&"BlockStatement"===e.parentPath.type)(e))&&r.print.newline((e=>!e.node.body.length)(u));else{const t=!(e=>e.get("consequent").isEmptyStatement())(e);r.print.newline(t),r.indent.inc(t),r.indent(p),n(u),r.indent.dec(t)}if(c.isBlockStatement()?(i.space(),i("else"),i.space(),s(c)):c.isIfStatement()?(c.get("consequent").isBlockStatement()?i.space():t(),i("else "),s(c)):rG(c)&&(r.write.newline(p),r.indent(!l),r.write.space(l),i("else"),i.splitter(),t.inc(),s(c),t.dec()),!iG(e)&&!u.isBlockStatement())return;const d=e.parentPath.getNextSibling();e!==o||(({parentPath:e})=>e.parentPath.isProgram())(e)||uG(d)||n.newline(),(e=>{const{parentPath:t}=e;return!!aG(t)&&!!aG(e.node.consequent)&&!e.node.consequent.body.length&&oG(e.parentPath.parentPath)})(e)&&n.newline()},afterSatisfy:()=>[iG],after:(e,{print:t})=>{t.linebreak(),nG(e)}};var cG={};const{hasPrevNewline:lG,markAfter:pG,markBefore:dG,isMarkedAfter:hG}=SU,{isFirst:fG,isNext:mG,isLast:yG}=Qj;cG.ForOfStatement={beforeIf(e){const{parentPath:t}=e;return!(!t.isBlockStatement()&&t.isStatement())&&(!fG(e)&&!lG(e))},before(e,{print:t}){t.linebreak(),dG(e)},print(e,{indent:t,print:n,maybe:r,traverse:i}){const{node:s}=e;t(),n("for"),r.print(s.await," await"),n.space(),n("("),n("__left"),n(" of "),n("__right"),n(")");const a=e.get("body");if(a.isBlockStatement()){n.space(),n("__body");const{length:t}=a.node.body;return void r.print.newline(!t&&!yG(e)&&!mG(e))}t.inc(),n.newline(),i(a),t.dec(),r.markAfter(hG(a),e)},afterIf:mG,after(e,{print:t}){t.linebreak(),pG(e)}};var gG={},bG={};const{exists:xG}=Qj;bG.insideIfWithNoBody=e=>{if(!e.parentPath.isIfStatement())return!1;if(!e.parentPath.parentPath.isIfStatement())return!1;const t=e.parentPath?.parentPath.getNextSibling();return!xG(t)};var SG={getDirectives:e=>e.node.directives?e.get("directives"):[]},TG={};const{types:EG}=st,{isLooksLikeChain:PG}=GU,{isReturnStatement:vG,isExpressionStatement:AG,isMemberExpression:CG,isCallExpression:wG}=EG;function kG(e){return!!CG(e)&&AG(e.parentPath.parentPath)}function IG(e){if(!wG(e))return!1;const{parentPath:t}=e;return!!vG(t)||AG(t)}TG.isCallInsideChain=e=>{if(!wG(e.parentPath.parentPath))return!1;const t=e.find(kG);if(t)return PG(t);const n=e.find(IG);if(!n)return!1;const r=n.get("callee");return PG(r)};const{types:_G}=st,{isNext:NG,isParentProgram:LG,isLast:OG,exists:DG,satisfy:FG}=Qj,{markAfter:MG}=SU,{parseComments:BG}=bU,{insideIfWithNoBody:RG}=bG,{getDirectives:jG}=SG,{isCallInsideChain:UG}=TG,{isArrowFunctionExpression:qG,isObjectMethod:JG,isFunctionDeclaration:$G,isExportDeclaration:VG,isDoWhileStatement:KG,isBlockStatement:WG,isArrayExpression:XG}=_G,HG=e=>qG(e)||JG(e);gG.BlockStatement={print(e,t,n){const{trailingComma:r}=n,{indent:i,maybe:s,write:a,traverse:o}=t,u=e.get("body"),c=jG(e);e.parentPath.isBlockStatement()&&i();const l=(e=>{const{parentPath:t}=e.parentPath;if(!XG(t))return!1;const{length:n}=t.node.elements;return 3===n})(e);s.indent.inc(!l),a("{"),((e=>e.node.body[0])(e)||(e=>e.node.directives?.[0])(e))&&a.newline();for(const e of c)o(e);s.write.linebreak(c.length&&u.length);const p=UG(e);s.indent.inc(p);for(const e of u)o(e);BG(e,t,n),s.indent.dec(!l),s.indent.dec(l),s.indent(u.length),s.indent.inc(l),a("}"),s.indent.dec(p);const{parentPath:d}=e;JG(d)&&s.write(NG(d)||r,",")},afterIf:function(e){return eQ(e)?QG:tQ(e)?ZG:zG(e)?QG:YG(e)||function({parentPath:e}){return!!e.isTryStatement()||e.parentPath?.isTryStatement()}(e)||GG(e)||OG(e)||function(e){return!!$G(e.parentPath)&&(!!VG(e.parentPath?.parentPath)&&!NG(e.parentPath?.parentPath))}(e)?ZG:!function(e){const{parentPath:t}=e;if(!t.isIfStatement())return!1;const n=t.get("alternate");return e!==n&&DG(n)}(e)},after(e,{write:t}){t.newline(),MG(e.parentPath)}};const zG=e=>(({parentPath:e})=>!!e.isIfStatement()&&!e.node.alternate)(e)&&e.find(HG),YG=e=>{const{parentPath:t}=e;return t.isStatement()&&!e.node.body.length&&!NG(t)},GG=({parentPath:e})=>/FunctionExpression/.test(e.type),QG=!0,ZG=!1,eQ=({parentPath:e})=>WG(e),tQ=FG([({parentPath:e})=>KG(e),e=>!NG(e)&&(!NG(e.parentPath)&&LG(e.parentPath)),RG]);var nQ={},rQ={maybeSpaceAfterKeyword:(e,{print:t},n)=>{const{roundBraces:r}=n,{argument:i}=e.node;if(!i)return;const{type:s}=i;return"SequenceExpression"===s&&r.sequence||"StringLiteral"===s||"TemplateLiteral"===s||"ArrayExpression"===s||"ObjectExpression"===s||"UnaryExpression"===s&&"!"===i.operator||"ArrowFunctionExpression"===s&&r.arrow?t.space():void t(" ")}};const{types:iQ}=st,{isInsideLabel:sQ}=Qj,{isPrevBody:aQ,noTrailingComment:oQ,isLast:uQ}=Qj,{hasPrevNewline:cQ}=SU,{maybeSpaceAfterKeyword:lQ}=rQ,{isJSXElement:pQ}=iQ;nQ.ReturnStatement={beforeIf:e=>!cQ(e)&&(({parentPath:e})=>e.node?.body?.length>2)(e)||aQ(e),before(e,{print:t}){t.linebreak()},print(e,t,n){const{maybe:r,print:i}=t;if(r.indent(!sQ(e)),i("return"),lQ(e,t,n),function(e){const t=e.node.argument;if(!t)return;const{leadingComments:n}=t;return pQ(t)&&n?.length}(e))return i("("),i.breakline(),i("__argument"),void i(");");i("__argument"),i(";")},afterIf:e=>!!(({parentPath:e})=>e.isIfStatement()&&e.node.alternate)(e)||!uQ(e)&&(!uQ(e.parentPath)&&oQ(e)),after(e,{print:t}){t.newline()}};var dQ={};const{isNext:hQ}=Qj;dQ.TryStatement={print(e,{print:t}){const n=e.get("finalizer");t.indent(),t("try"),t.space(),t("__block"),t("__handler"),n.node&&(t.space(),t("finally"),t.space(),t(n),t.newline())},afterSatisfy:()=>[hQ],after(e,{maybe:t,print:n}){t.print.newline(!e.node.finalizer),n.breakline()}},dQ.CatchClause=(e,{print:t,maybe:n})=>{const r=e.get("param"),i=e.get("body");t.space(),t("catch"),r.node?(t("("),t(r),t(")"),t.space()):t.space(),t(i),n.print.newline(function(e){return e.parentPath.parentPath.isBlockStatement()}(e))};var fQ={};const{isNext:mQ,isInsideIf:yQ}=Qj,gQ=e=>e.parentPath.isBlockStatement();fQ.DebuggerStatement={print(e,{print:t,indent:n}){n(),t("debugger;")},afterSatisfy:()=>[mQ,gQ,yQ],after(e,{print:t}){t.newline()}};var bQ={};const{isInsideLabel:xQ}=Qj,{exists:SQ}=Qj,{markAfter:TQ}=SU;bQ.ForStatement={print(e,{print:t,maybe:n}){const{test:r,update:i,body:s}=e.node;if(n.indent(!xQ(e)),t("for"),t.space(),t("("),t("__init"),t(";"),n.print.space(r),t("__test"),t(";"),n.print.space(i),t("__update"),t(")"),s.body)t.space(),t("__body");else{const r=!e.get("body").isEmptyStatement();n.print.newline(r),n.indent.inc(r),t("__body"),n.indent.dec(r)}},afterIf:e=>SQ(e.getNextSibling()),after(e,{print:t}){t.linebreak(),TQ(e)}};var EQ={exports:{}},PQ={parseImportSpecifiers:e=>{const t=[],n=[],r=[];for(const i of e)"ImportDefaultSpecifier"!==i.type?"ImportNamespaceSpecifier"!==i.type?"ImportSpecifier"!==i.type||r.push(i):n.push(i):t.push(i);return{defaults:t,namespaces:n,imports:r}}},vQ={ImportAttribute:(e,{print:t})=>{t("__key"),t(":"),t.space(),t("__value"),t(",")},maybePrintAttributes:(e,t)=>{if(AQ(e))return CQ(e,"assert",t);CQ(e,"with",t)}};const AQ=e=>e.node.extra?.deprecatedAssertSyntax;function CQ(e,t,{write:n,traverse:r,indent:i}){const s=e.get("attributes");if(s.length){n(` ${t}`),n.space(),n("{"),n.breakline(),i.inc();for(const e of s)i(),r(e),n.newline();i.dec(),n("}")}}var wQ={};const{types:kQ}=st,{isExportDeclaration:IQ}=kQ;wQ.printTrailingCommentLine=(e,t,n,{printComment:r})=>{const{print:i}=t;r(),i.breakline()},wQ.printTrailingCommentBlock=(e,t,n,{printComment:r})=>{const{maybe:i}=t,s=e.getNextSibling();i.print.breakline(!IQ(s)),r()},function(e){const{parseImportSpecifiers:t}=PQ,{markAfter:n}=SU,{isLast:r,isNext:i}=Qj,{maybePrintAttributes:s,ImportAttribute:a}=vQ,{printTrailingCommentBlock:o,printTrailingCommentLine:u}=wQ;e.exports.ImportAttribute=a,e.exports.ImportDeclaration={print(e,n,r){const{print:a,maybe:o,write:u,traverse:c,indent:l}=n,{phase:p}=e.node,d="type"===e.node.importKind,h=e.get("specifiers");l(),u("import"),o.write(d," type"),o.write(p,` ${p}`);let f=!1;const m=h.length-1,{defaults:y,namespaces:g,imports:b}=t(h);o.write(h.length," ");for(const e of y)c(e.get("local")),o.write(m,","),o.write.space(m);for(const e of g)u("* as "),c(e.get("local"));const x=function(e,t){const{maxSpecifiersInOneLine:n,maxPropertiesLengthInOneLine:r}=t;for(const{node:t}of e){if(t.imported.name!==t.local.name)return 1;if(t.imported.name.length>=r)return 1}return n}(b,r),S=b.length-1;for(const[e,t]of b.entries()){const n=e===S,r=!n,{imported:i,local:s}=t.node;if(l.inc(),o.write(!f,"{"),o.write.breakline(S>=x),f=!0,c(t.get("imported")),i.name!==s.name&&(u(" as "),u(s.name)),S<x&&r&&(o.write(m,","),o.write.space(m)),S>=x){o.write(m,",");const t=e===m,n=e===m-1;o.write.newline(n&&y.length),o.write.newline(t)}l.dec(),o.write(n,"}")}o.write(h.length," from"),a.space(),a("__source"),s(e,n),a(";"),i(e)&&a.newline()},afterIf:e=>!r(e)&&!e.getNextSibling().isImportDeclaration(),after(e,{print:t}){t.newline(),n(e)}},e.exports.ImportDeclaration.printTrailingCommentBlock=o,e.exports.ImportDeclaration.printTrailingCommentLine=u}(EQ);var _Q=EQ.exports;_Q.default;var NQ={};const{types:LQ}=st,{isParentBlock:OQ}=Qj,{markAfter:DQ,isMarkedAfter:FQ,hasPrevNewline:MQ}=SU,{isNewlineBetweenSiblings:BQ,exists:RQ,isNext:jQ,isLast:UQ}=Qj,{isExportNamespaceSpecifier:qQ,isVariableDeclaration:JQ,isExportNamedDeclaration:$Q}=LQ,VQ={maxOneLineSpecifiers:2};NQ.ExportSpecifier=(e,{print:t})=>{const{local:n,exported:r}=e.node;t("__local"),r.name!==n.name&&(t(" as "),t("__exported"))},NQ.ExportNamespaceSpecifier=(e,{print:t})=>{t("* as "),t("__exported")},NQ.ExportNamedDeclaration={beforeIf(e){const t=e.getPrevSibling();return!MQ(e)&&JQ(t)},before(e,{print:t}){t.linebreak()},print(e,{print:t,traverse:n,indent:r,maybe:i},s){const{trailingComma:a}=s,{exportKind:o}=e.node,u=e.get("specifiers"),{maxOneLineSpecifiers:c}=VQ,l=e.get("source");if(r(),t("export"),"type"===o&&u.length&&t(" type"),qQ(u[0]))return t(" "),t(u[0]),t(" from "),t("__source"),t(";"),void i.print.newline(!UQ(e));const p=u.length,d=!RQ(l)||p>c;if(u&&!e.node.declaration){if(t.space(),t("{"),u.length){r.inc(),i.print.newline(d);const e=p-1;for(const[r,s]of u.entries()){const o="type"===s.node.exportKind,u=r<e;i.indent(d),i.print(o,"type "),n(s),u&&!d?t(", "):d&&i.print(u||a,","),i.print.newline(d)}r.dec(),r()}t("}");const s=e.get("source");return RQ(s)&&(t(" from "),n(s)),t(";"),void i.print.newline(jQ(e)||(e=>e.parentPath.isTSModuleBlock())(e))}t(" "),t("__declaration")},afterIf:e=>!UQ(e)&&(!(e=>FQ(e.get("declaration")))(e)&&(!!BQ(e)||OQ(e))),after(e,{print:t,indent:n}){const r=e.getNextSibling();$Q(r)&&n(),t.newline(),DQ(e)}};var KQ={ExportAllDeclaration:(e,{print:t})=>{const{exportKind:n}=e.node;t("export "),"type"===n&&t("type "),t("* from "),t("__source"),t(";"),t.newline()}},WQ={};const{isNext:XQ}=Qj,{markAfter:HQ}=SU;WQ.WhileStatement={print(e,{print:t,indent:n}){n(),t("while"),t.space(),t("("),t("__test"),t(")"),e.node.body.body?(t.space(),t("__body")):(n.inc(),t.newline(),t("__body"),n.dec())},afterIf:e=>XQ(e),after(e,{print:t}){t.linebreak(),HQ(e)}};var zQ={};const{isNext:YQ,exists:GQ,isLast:QQ}=Qj,{parseLeadingComments:ZQ}=bU;zQ.SwitchStatement={print(e,t,n){const{print:r,maybe:i,indent:s,write:a,traverse:o}=t;s(),r("switch"),r("("),r("__discriminant"),r(") {"),r.newline();const u=e.get("cases"),c=u.length-1;for(const[e,l]of u.entries()){const u=l.get("test");s(),ZQ(l,t,n),GQ(u)?(a("case "),o(u)):a("default"),r(":");const p=l.get("consequent"),d=l.get("consequent.0")?.isBlockStatement();i.indent.inc(!d),i.print.newline(!d&&p.length);for(const e of p)e.isBlockStatement()?(r.space(),r(e)):r(e);i.indent.dec(!d),i.write.linebreak(e<c)}r.indent(),r("}"),YQ(e)||QQ(e)||r.newline()},afterSatisfy:()=>[YQ],after(e,{print:t}){t.breakline(),t.newline()}};var eZ={ForInStatement:(e,{print:t,indent:n})=>{n(),t("for"),t.space(),t("("),t("__left"),t(" in "),t("__right"),t(")"),e.get("body").isBlockStatement()&&t.space(),t("__body")}},tZ={};const{types:nZ}=st,{isNext:rZ}=Qj,{isVariableDeclaration:iZ,isFunction:sZ}=nZ;tZ.ExportDefaultDeclaration={print(e,{print:t,traverse:n,maybe:r}){const i=e.get("declaration");t("export default "),n(i),r.print(function(e){return!e.isClassDeclaration()&&!e.isFunctionDeclaration()}(i),";")},afterSatisfy:()=>[rZ],after(e,{print:t,maybe:n}){t.newline(),n.print.newline(!function(e){const t=e.getNextSibling();if(!iZ(t))return!1;const{declaration:n}=e.node;return sZ(n)}(e))}};var aZ={};const{isParentBlock:oZ,isNextParent:uZ,isInsideIf:cZ,isInsideLabel:lZ}=Qj,pZ=e=>e.parentPath.isSwitchCase();aZ.BreakStatement={split(e,{print:t}){t.newline()},print(e,{print:t,maybe:n}){const{label:r}=e.node;n.indent(!lZ(e)),t("break"),n.print.space(r),t("__label"),t(";")},afterSatisfy:()=>[oZ,uZ,pZ,cZ]};var dZ={};const{isLast:hZ}=Qj,fZ=e=>!hZ(e);dZ.DoWhileStatement={print(e,{print:t,indent:n}){n(),t("do"),t.space(),t("__body"),t.space(),t("while"),t.space(),t("("),t("__test"),t(")")},afterSatisfy:()=>[fZ],after(e,{print:t}){t.newline()}};var mZ={};const{parseComments:yZ}=bU,{getDirectives:gZ}=SG,{hasCoupleTrailingComments:bZ}=Qj;mZ.Program=(e,t,n)=>{const{body:r}=e.node,{traverse:i,maybe:s,write:a}=t;i(e.get("interpreter")),yZ(e,t,n);const o=gZ(e);for(const e of o)i(e),s.write.newline(r.length);e.get("body").forEach(i),o.length&&!r.length||r.length&&bZ(r.at(-1))||a.endOfFile()};var xZ={};const{isInsideLabel:SZ}=Qj;xZ.ContinueStatement=(e,{print:t,maybe:n,write:r})=>{const{label:i}=e.node;n.indent(!SZ(e)),t("continue"),n.print.space(i),t("__label"),r(";"),t.newline()};var TZ={};const{isInsideLabel:EZ}=Qj;TZ.LabeledStatement=(e,{print:t,maybe:n})=>{n.indent(!EZ(e)),t("__label"),t(":"),t.space(),t("__body")};var PZ={};const{isLast:vZ}=Qj;PZ.EmptyStatement=(e,{write:t,maybe:n})=>{const{parentPath:r}=e;t(";"),n.write.newline(!vZ(e)&&!vZ(r))};var AZ={};const{isNext:CZ}=Qj,{markAfter:wZ}=SU;AZ.WithStatement={print(e,{print:t,indent:n}){n(),t("with"),t.space(),t("("),t("__object"),t(")"),e.node.body.body?(t.space(),t("__body")):(n.inc(),t.newline(),t("__body"),n.dec())},afterIf:e=>CZ(e),after(e,{print:t}){t.linebreak(),wZ(e)}};const{ExpressionStatement:kZ}=wY,{VariableDeclaration:IZ}=kY,{IfStatement:_Z}=eG,{ForOfStatement:NZ}=cG,{BlockStatement:LZ}=gG,{ReturnStatement:OZ}=nQ,DZ=dQ,{DebuggerStatement:FZ}=fQ,{ForStatement:MZ}=bQ,BZ=_Q,RZ=NQ,{ExportAllDeclaration:jZ}=KQ,{WhileStatement:UZ}=WQ,{SwitchStatement:qZ}=zQ,{ForInStatement:JZ}=eZ,{ExportDefaultDeclaration:$Z}=tZ,{BreakStatement:VZ}=aZ,{DoWhileStatement:KZ}=dZ,{Program:WZ}=mZ,{ContinueStatement:XZ}=xZ,{LabeledStatement:HZ}=TZ,{EmptyStatement:zZ}=PZ,{WithStatement:YZ}=AZ,{ExportNamespaceSpecifier:GZ,ExportSpecifier:QZ}=RZ;var ZZ={...BZ,...RZ,BlockStatement:LZ,DoWhileStatement:KZ,ExpressionStatement:kZ,ExportSpecifier:QZ,ExportNamespaceSpecifier:GZ,ExportDefaultDeclaration:$Z,ExportAllDeclaration:jZ,VariableDeclaration:IZ,IfStatement:_Z,ForStatement:MZ,ForInStatement:JZ,ForOfStatement:NZ,ReturnStatement:OZ,DebuggerStatement:FZ,LabeledStatement:HZ,Program:WZ,EmptyStatement:zZ,InterpreterDirective(e,{print:t}){t(`#!${e.node.value}\n`),t.newline()},SwitchStatement:qZ,...DZ,BreakStatement:VZ,ContinueStatement:XZ,WhileStatement:UZ,WithStatement:YZ},e0={},t0={writeTemplateLiteral:(e,t,{write:n,traverse:r})=>{n("`");let i=0;for(const s of e){n(s.node.value.raw);const e=t[i++];e&&(n("${"),r(e),n("}"))}n("`")}};const{writeTemplateLiteral:n0}=t0;e0.TemplateLiteral=(e,t)=>{const n=e.get("expressions"),r=e.get("quasis");n0(r,n,t)};var r0={},i0={maybeDecorators:e=>e.node.decorators?e.get("decorators"):[]};const{maybeDecorators:s0}=i0,{maybeParens:a0}=$q,{maybeTypeAnnotation:o0}=PV;r0.Identifier=a0(o0((e,t)=>{const{write:n,maybe:r,traverse:i,print:s}=t,{node:a}=e,{name:o,optional:u}=a;for(const t of s0(e))i(t),s(" ");n(o),r.write(u,"?")}));var u0={exports:{}};!function(e){const{types:t}=st,{isMemberExpression:n}=t;e.exports.Decorator=(e,{print:t,maybe:r})=>{const{expression:i}=e.node,s=n(i);t("@"),r.print(s,"("),t("__expression"),r.print(s,")")},e.exports.Decorator.printLeadingCommentLine=(e,t,n,{printComment:r})=>{const{print:i}=t;r(),i.breakline()}}(u0);var c0=u0.exports;c0.default;var l0={StringLiteral:(e,{write:t},n)=>{const{value:r,raw:i=`'${r}'`}=e.node;if(e.parentPath.isJSXAttribute())return void t(`"${r}"`);const s=i.slice(1,-1);t.quote(),t(p0(s,n)),t.quote()}};const p0=(e,{escapeDoubleQuote:t,escapeSingleQuote:n})=>{const r=e.split("");return n?d0(r,{slash:"\\",quote:"'"}):t?d0(r,{slash:"\\",quote:'"'}):e},d0=(e,{slash:t,quote:n})=>{const r=[];for(const[i,s]of e.entries()){const a=e[i-1];s!==n||a===t?r.push(s):r.push(`${t}${s}`)}return r.join("")};var h0={DirectiveLiteral:(e,{write:t})=>{t.indent(),t(e.node.raw||`'${e.node.value}'`),t(";"),t.newline()}},f0={VoidPattern:(e,{write:t})=>{t("void")}};const{TemplateLiteral:m0}=e0,{Identifier:y0}=r0,{Decorator:g0}=c0,{StringLiteral:b0}=l0,{DirectiveLiteral:x0}=h0,{VoidPattern:S0}=f0;var T0={Identifier:y0,Decorator:g0,DirectiveLiteral:x0,TemplateLiteral:m0,VoidPattern:S0,BigIntLiteral(e,{write:t}){t(e.node.raw)},NumericLiteral(e,{write:t}){const{raw:n,extra:r,value:i}=e.node;t(n||r?.raw||i)},Directive(e,{print:t,maybe:n}){n.print.breakline(e.node.leadingComments?.length),t("__value")},BooleanLiteral(e,{write:t}){t(e.node.value)},StringLiteral:b0,RegExpLiteral(e,{print:t}){const{raw:n,pattern:r}=e.node;t(n||`/${r}/`)},NullLiteral(e,{write:t}){t("null")},MetaProperty(e,{write:t}){t("import.meta")},Super(e,{write:t}){t("super")}},E0={};E0.TSTypeLiteral=(e,{indent:t,traverse:n,write:r})=>{const i=e.get("members");r("{");const s=function(e){const t=e.get("members");return(1!==t.length||!e.parentPath.isTSTypeParameterInstantiation())&&(t.length&&t[0].node.typeAnnotation)}(e);s&&(r.newline(),t.inc());for(const e of i)t(),n(e);s&&(t.dec(),r.indent()),r("}")};var P0={};const{isLast:v0,isNext:A0,isNextParent:C0}=Qj,{markAfter:w0}=SU,{maybeDeclare:k0}=u$;P0.TSTypeAliasDeclaration={beforeIf:e=>!e.parentPath.isExportDeclaration(),before:(e,{indent:t})=>{t()},print:k0((e,{print:t,maybe:n,store:r})=>{const i=e.get("typeAnnotation").isTSConditionalType();t("type "),t("__id"),t("__typeParameters"),t.space(),t("="),n.print.space(!i),t("__typeAnnotation"),t(";");const s=r(v0(e)||v0(e.parentPath));n.print.newline(!s)}),afterIf:(e,{store:t})=>!t()&&(!(!A0(e)&&!C0(e))&&!e.getNextSibling().isTSTypeAliasDeclaration()),after(e,{print:t,maybe:n}){n.indent(e.getNextSibling().isExportDeclaration()),t.newline(),w0(e)}};var I0={};const{types:_0}=st,{isTSConditionalType:N0}=_0;I0.TSMappedType=(e,{print:t,indent:n,maybe:r})=>{const{readonly:i,optional:s,nameType:a,typeAnnotation:o}=e.node;t("{"),t.newline(),n.inc(),n(),i&&(r.print("-"===i,"-"),t("readonly ")),t("["),t("__key"),t(" "),t("in"),t(" "),t("__constraint"),a&&(t(" as"),r.space(!N0(a)),t("__nameType")),t("]"),s&&(r.print("+"===s,"+"),r.print("-"===s,"-"),t("?")),o&&(t(":"),t.space(),t("__typeAnnotation")),t(";"),n.dec(),t.breakline(),t("}")};var L0={TSConditionalType:(e,{print:t,indent:n})=>{n.inc(),t.breakline(),t("__checkType"),t(" extends "),t("__extendsType"),n.inc(),t.breakline(),t("? "),t("__trueType"),t.breakline(),t(": "),t("__falseType"),n.dec(),n.dec()}},O0={};const{exists:D0}=Qj;O0.TSTypeParameter=(e,{write:t,traverse:n})=>{const r=e.get("constraint");e.node.in?t("in "):e.node.out?t("out "):e.node.const&&t("const "),t(e.node.name.name),D0(r)&&(t(" extends "),n(r));const i=e.get("default");D0(i)&&(t.space(),t("="),t.space(),n(i))};var F0={};const{printParams:M0}=gU,{isNext:B0}=Qj,{maybeDeclare:R0}=u$,j0=e=>e.parentPath.isExportNamedDeclaration();F0.TSDeclareFunction={beforeIf:e=>!j0(e),before:(e,{indent:t})=>{t()},print:R0((e,t,n)=>{const{print:r}=t;r("function "),r("__id"),M0(e,t,n),r(":"),r.space(),r("__returnType")}),afterIf:e=>!(e=>e.parentPath.isExportDefaultDeclaration())(e),after:(e,{print:t})=>{t(";"),(B0(e)||B0(e.parentPath)||j0(e))&&t.newline()}};var U0={};const{printParams:q0}=gU;U0.TSDeclareMethod=(e,t,n)=>{const{print:r}=t,{accessibility:i,abstract:s,returnType:a}=e.node;i&&(r(i),r(" ")),s&&(r("abstract"),r(" ")),r("__key"),q0(e,t,n),a&&(r(":"),r.space(),r("__returnType")),r(";"),r.newline()};var J0={};const{isNext:$0}=Qj,{maybeDeclare:V0}=u$;J0.TSModuleDeclaration={print:V0((e,{print:t})=>{const{kind:n}=e.node;e.get("id").isStringLiteral()?t("module "):"namespace"===n&&t("namespace "),t("__id"),t.space(),t("__body")}),afterSatisfy:()=>[$0],after(e,{print:t}){t.newline(),t.newline()}},J0.TSModuleBlock=(e,{print:t,traverse:n,indent:r})=>{t("{"),t.breakline(),r.inc();for(const t of e.get("body"))n(t);r.dec(),t("}")};var K0={};const{types:W0}=st,{isNext:X0,isNextParent:H0}=Qj,{maybeDeclare:z0}=u$,{markAfter:Y0}=SU,{isTSTypeAliasDeclaration:G0,isExportNamedDeclaration:Q0,isTSModuleBlock:Z0}=W0;K0.TSInterfaceDeclaration={print:z0((e,{print:t,maybe:n})=>{const{node:r}=e;if(n.indent(!Q0(e.parentPath)),t("interface "),t("__id"),r.extends){t(" extends ");const r=e.get("extends"),i=r.length-1;for(const[e,s]of r.entries())t(s),n.print(e<i,", ")}t("__typeParameters"),t("__body")}),afterSatisfy:()=>[X0,H0],after(e,{print:t}){t.linebreak();const n=Q0(e.parentPath);n&&(e=>Z0(e.parentPath.parentPath))(e)&&Y0(e),n||G0(e)||t.newline()}};var e1={};const{types:t1}=st,{maybeParens:n1}=$q,{isVariableDeclarator:r1,isObjectExpression:i1}=t1;e1.TSAsExpression=n1((e,{print:t,maybe:n})=>{const r=function(e){const{expression:t}=e.node;return!r1(e.parentPath)&&i1(t)}(e);n.print(r,"("),t("__expression"),n.print(r,")"),t(" as "),t("__typeAnnotation")});var s1={};const{parseComments:a1}=bU;s1.TSInterfaceBody=(e,t,n)=>{const r=e.get("body"),{traverse:i,write:s,indent:a,maybe:o}=t;s.space(),s("{"),o.write.newline(r.length),a.inc(),a1(e,t,n);for(const e of r)a(),i(e);a.dec(),a(),s("}"),o.write.newline(function(e){return!!e.parentPath.parentPath.isTSModuleBlock()||e.parentPath.parentPath.parentPath?.isTSModuleBlock()}(e))};var o1={TSIntersectionType:(e,{traverse:t,write:n})=>{const r=e.get("types"),i=r.length-1;for(const[e,s]of r.entries()){const r=e===i;t(s),r||(n.space(),n("&"),n.space())}}},u1={};const{maybePrintTypeAnnotation:c1}=PV,{hasTrailingComment:l1,isNext:p1}=Qj,{printKey:d1}=gJ;u1.TSPropertySignature=(e,t)=>{const{maybe:n,write:r}=t,{optional:i,readonly:s}=e.node;n.print(s,"readonly "),d1(e,t),n.print(i,"?"),c1(e,t),function({parentPath:e}){return!!e.parentPath.isTSTypeParameterInstantiation()&&1===e.node.members.length}(e)||(r(";"),r.newline()),p1(e)&&l1(e)&&r.newline()};var h1={},f1={hasReturnType:e=>e.node.returnType,printReturnType:(e,{traverse:t})=>{t(e.get("returnType"))}};const{printParams:m1}=gU,{printReturnType:y1}=f1,{maybeParens:g1}=$q;h1.TSFunctionType=g1((e,t,n)=>{const{print:r}=t;m1(e,t,n),r.space(),r("=>"),r.space(),y1(e,t)});var b1={};const{isNext:x1,isNextParent:S1,isLast:T1}=Qj,{markAfter:E1}=SU;b1.TSEnumDeclaration={beforeIf:e=>e.node.const,before(e,{print:t}){t("const ")},print(e,{print:t,traverse:n,indent:r}){t("enum "),t("__id"),t(" "),t("{"),r.inc(),t.newline();for(const r of e.get("body.members"))n(r),t(","),t.newline();r.dec(),r(),t("}"),T1(e)||(t.newline(),E1(e))},afterSatisfy:()=>[x1,S1],after(e,{print:t}){t.linebreak()}};var P1={TSEnumMember:(e,{print:t,indent:n})=>{const{initializer:r}=e.node;n(),t("__id"),r&&(t.space(),t("="),t.space(),t("__initializer"))}},v1={};v1.TSTupleType=(e,{write:t,traverse:n,indent:r,maybe:i})=>{const s=e.get("elementTypes");t("["),r.inc();const a=function(e){let t;for(const n of e){if(t&&n.type!==t)return!1;({type:t}=n)}return!0}(s);i.write.newline(a&&s.length);const o=s.length-1;for(const[e,t]of s.entries())i.indent(a),n(t),i.write(e<o||a,","),i.write.newline(a),i.write.space(e<o&&!a);r.dec(),i.indent(a&&s.length),t("]")};var A1={TSNamedTupleMember:(e,{print:t})=>{t("__label"),t(":"),t.space(),t("__elementType")}},C1={};const{printParams:w1}=gU,{printReturnType:k1}=f1;C1.TSConstructorType=(e,t,n)=>{const{print:r}=t;r("new"),r(" "),w1(e,t,n),r.space(),r("=>"),r.space(),k1(e,t)};var I1={};const{printReturnType:_1}=f1,{printParams:N1}=gU;I1.TSCallSignatureDeclaration=(e,t,n)=>{const{print:r}=t;N1(e,t,n),r(":"),r.space(),_1(e,t),r(";"),r.newline()};var L1={};const{printParams:O1}=gU,{hasReturnType:D1,printReturnType:F1}=f1;L1.TSConstructSignatureDeclaration=(e,t,n)=>{const{write:r}=t;r("new"),O1(e,t,n),D1(e)&&(r(":"),r.space(),F1(e,t)),r(";"),r.newline()};var M1={};const{printParams:B1}=gU,{printKind:R1}=SJ,{hasReturnType:j1,printReturnType:U1}=f1,{printKey:q1}=gJ;M1.TSMethodSignature=(e,t,n)=>{const{write:r}=t;R1(e,t),q1(e,t),B1(e,t,n),j1(e)&&(r(":"),r.space(),U1(e,t)),r(";"),r.newline()};var J1={};const{maybeParens:$1}=$q;J1.TSUnionType=$1({condition:e=>e.parentPath.isTSArrayType(),print:(e,t,{maxTypesInOneLine:n})=>{const r=e.get("types"),{length:i}=r;!(({parentPath:e})=>e.isTSTypeAliasDeclaration())(e)||i<=n?function(e,{traverse:t,write:n}){const r=e.length-1;for(const[i,s]of e.entries())t(s),i<r&&(n.space(),n("|"),n.space())}(r,t):function(e,{traverse:t,write:n,indent:r}){r.inc();for(const r of e)n.breakline(),n("|"),n.space(),t(r);r.dec()}(r,t)}});var V1={};const{createImportExpression:K1}=Dz;V1.TSImportType=(e,t,n)=>{K1(e,t,n,{source:"argument"})};var W1={};const{isNext:X1}=Qj;W1.TSExportAssignment={print:(e,{print:t})=>{t("export = "),t("__expression"),t(";")},afterSatisfy:()=>[X1],after:(e,{print:t})=>{t.newline()}};var H1={TSTypeReference:(e,{print:t})=>{t("__typeName"),t("__typeArguments")}},z1={};const{maybeParens:Y1}=$q;z1.TSInferType=Y1((e,{print:t})=>{t("infer "),t("__typeParameter")});var G1={exports:{}};!function(e){const{hasLeadingComment:t}=Qj;e.exports.TSParameterProperty=(e,{print:n,maybe:r,indent:i})=>{const{decorators:s,readonly:a,accessibility:o}=e.node,u=s?.length>1;if(r.print.breakline(u),s){for(const t of e.get("decorators"))r.indent(u),n(t);r.print.breakline(u),t(e)?n(" "):i()}o&&(n(o),n.space()),a&&(n("readonly"),n.space()),n("__parameter"),t(e)&&!e.node.decorators&&n.breakline()},e.exports.TSParameterProperty.printLeadingCommentLine=(e,t,n,{printComment:r})=>{const{indent:i,print:s}=t;return e.node.decorators?(r(),void s.breakline()):e.parentPath.isClassMethod()?(i.inc(),s.breakline(),r(),s.breakline(),void i.dec()):void 0}}(G1);var Q1=G1.exports;Q1.default;var Z1={};const{maybeParens:e2}=$q;Z1.TSTypeQuery=e2((e,{print:t})=>{t("typeof "),t("__exprName")});var t2={TSParenthesizedType:(e,{print:t})=>{t("("),t("__typeAnnotation"),t(")")}},n2={};const{writeTemplateLiteral:r2}=t0;n2.TSTemplateLiteralType=(e,t)=>{const n=e.get("quasis"),r=e.get("types");r2(n,r,t)};var i2={TSOptionalType:(e,{print:t})=>{t("__typeAnnotation"),t("?")}};const{isNext:s2}=Qj,{TSTypeLiteral:a2}=E0,{TSTypeAliasDeclaration:o2}=P0,{TSMappedType:u2}=I0,{TSConditionalType:c2}=L0,{TSTypeParameter:l2}=O0,{TSDeclareFunction:p2}=F0,{TSDeclareMethod:d2}=U0,{TSModuleDeclaration:h2,TSModuleBlock:f2}=J0,{TSInterfaceDeclaration:m2}=K0,{TSAsExpression:y2}=e1,{TSInterfaceBody:g2}=s1,{TSIntersectionType:b2}=o1,{TSPropertySignature:x2}=u1,{TSFunctionType:S2}=h1,{printParams:T2}=gU,{TSEnumDeclaration:E2}=b1,{TSEnumMember:P2}=P1,{TSTupleType:v2}=v1,{TSNamedTupleMember:A2}=A1,{TSConstructorType:C2}=C1,{TSCallSignatureDeclaration:w2}=I1,{TSConstructSignatureDeclaration:k2}=L1,{TSMethodSignature:I2}=M1,{TSUnionType:_2}=J1,{maybePrintTypeAnnotation:N2}=PV,{TSImportType:L2}=V1,{TSExportAssignment:O2}=W1,{TSTypeReference:D2}=H1,{TSInferType:F2}=z1,{TSParameterProperty:M2}=Q1,{TSTypeQuery:B2}=Z1,{TSParenthesizedType:R2}=t2,{TSTemplateLiteralType:j2}=n2,{TSOptionalType:U2}=i2;var q2={TSAsExpression:y2,TSExportAssignment:O2,TSTypeLiteral:a2,TSTypeAliasDeclaration:o2,TSTypeParameter:l2,TSMappedType:u2,TSConditionalType:c2,TSDeclareFunction:p2,TSModuleDeclaration:h2,TSModuleBlock:f2,TSIntersectionType:b2,TSImportType:L2,TSUnionType:_2,TSTypeQuery:B2,TSTemplateLiteralType:j2,TSOptionalType:U2,TSBigIntKeyword(e,{write:t}){t("bigint")},TSNullKeyword(e,{write:t}){t("null")},TSSymbolKeyword(e,{write:t}){t("symbol")},TSNeverKeyword(e,{write:t}){t("never")},TSUnknownKeyword(e,{write:t}){t("unknown")},TSObjectKeyword(e,{write:t}){t("object")},TSLiteralType(e,{print:t}){t("__literal")},TSTupleType:v2,TSInferType:F2,TSRestType(e,{print:t}){t("..."),t("__typeAnnotation")},TSTypeParameterDeclaration(e,t,n){T2(e,t,n,{braceOpen:"<",braceClose:">"})},TSTypeParameterInstantiation(e,t,n){T2(e,t,n,{braceOpen:"<",braceClose:">"})},TSArrayType(e,{print:t}){t("__elementType"),t("[]")},TSTypeReference:D2,TSTypeOperator(e,{write:t,print:n}){const{operator:r}=e.node;t(`${r} `),n("__typeAnnotation")},TSInterfaceDeclaration:m2,TSInterfaceBody:g2,TSTypeAssertion(e,{print:t}){t("<"),t("__typeAnnotation"),t(">"),t("__expression")},TSUndefinedKeyword(e,{write:t}){t("undefined")},TSBooleanKeyword(e,{write:t}){t("boolean")},TSSatisfiesExpression(e,{print:t}){t("__expression"),t(" satisfies "),t("__typeAnnotation")},TSNumberKeyword(e,{write:t}){t("number")},TSIndexedAccessType(e,{print:t}){t("__objectType"),t("["),t("__indexType"),t("]")},TSStringKeyword(e,{write:t}){t("string")},TSInstantiationExpression(e,{print:t}){t("__expression"),t("__typeArguments")},TSAnyKeyword(e,{write:t}){t("any")},TSVoidKeyword(e,{write:t}){t("void")},TSQualifiedName(e,{print:t}){t("__left"),t("."),t("__right")},TSTypeAnnotation(e,{print:t}){t("__typeAnnotation")},TSParameterProperty:M2,TSConstructSignatureDeclaration:k2,TSIndexSignature(e,t){const{print:n}=t;n("["),n("__parameters.0"),n("]"),N2(e,t),n(";"),n.newline()},TSClassImplements(e,{print:t}){t("__expression"),t("__typeArguments")},TSInterfaceHeritage(e,{print:t}){t("__expression"),t("__typeArguments")},TSParenthesizedType:R2,TSPropertySignature:x2,TSFunctionType:S2,TSTypePredicate(e,{print:t}){t("__parameterName"),t(" is "),t("__typeAnnotation")},TSNonNullExpression(e,{print:t}){t("__expression"),t("!")},TSEnumDeclaration:E2,TSEnumMember:P2,TSImportEqualsDeclaration(e,{print:t,maybe:n}){n.print(e.node.isExport,"export "),t("import "),t("__id"),t.space(),t("="),t.space(),t("__moduleReference"),t(";"),n.print.newline(s2(e))},TSExternalModuleReference(e,{print:t}){t("require("),t("__expression"),t(")")},TSDeclareMethod:d2,TSNamedTupleMember:A2,TSConstructorType:C2,TSMethodSignature:I2,TSCallSignatureDeclaration:w2,TSThisType(e,{print:t}){t("this")}},J2={};const{types:$2}=st,{isJSXElement:V2,isJSXExpressionContainer:K2,isFunction:W2,isJSXSpreadAttribute:X2}=$2;J2.JSXElement={condition:function(e){return!!e.parentPath.isReturnStatement()||(!!e.parentPath.isParenthesizedExpression()||(!!e.node.extra?.parenthesized||(!!e.parentPath.isArrowFunctionExpression()||e.parentPath.isVariableDeclarator())))},before(e,{write:t,indent:n,maybe:r}){const{leadingComments:i}=e.node,s=i?.length;r.write.space(!s&&(({parentPath:e})=>e.isArrowFunctionExpression())(e)),n.inc(),s||(t("("),t.newline())},print(e,{print:t,traverse:n,maybe:r}){const i=function(e){if(function(e){const{attributes:t}=e.node.openingElement;for(const e of t){const{value:t}=e;if(X2(e))return!0;if(!K2(t))continue;const{expression:n}=t;if(W2(n))return!0}return!1}(e))return!1;const t=e.parentPath.isArrowFunctionExpression(),n=e.parentPath.isJSXElement(),r=e.parentPath.parentPath.isCallExpression();return n||t&&r}(e);r.indent.inc(i),t("__openingElement"),e.get("children").map(n),t("__closingElement"),r.indent.dec(i)},after(e,{write:t,indent:n,maybe:r}){const{leadingComments:i}=e.node;V2(e.parentPath.parentPath?.parentPath?.parentPath)?(t.breakline(),n.dec()):(n.dec(),t.breakline()),r.write(!i?.length,")")}};var H2={};const{isCoupleLines:z2}=Qj;H2.JSXAttribute={condition:e=>z2(e.parentPath),before(e,{print:t,indent:n}){n.inc(),t.breakline()},print(e,{print:t,maybe:n}){const{value:r}=e.node;t("__name"),n.print(r,"="),t("__value")},after(e,{indent:t}){t.dec()}};var Y2={};const{isCoupleLines:G2}=Qj;Y2.JSXOpeningElement={print(e,{print:t,maybe:n}){n.indent((({parentPath:e})=>{const t=e.parentPath;return!(t.isObjectProperty()||t.isCallExpression()||t.isJSXElement()||t.isJSXExpressionContainer()||t.isJSXFragment()||t.isLogicalExpression())})(e)),t("<"),t("__name");const r=G2(e),i=!r,s=r&&e.parentPath.parentPath.isJSXElement();n.indent.inc(s);for(const r of e.get("attributes"))n.print.space(i),t(r);G2(e)&&t.breakline(),e.node.selfClosing&&t("/"),t(">"),n.indent.dec(s)}};var Q2={};Q2.JSXFragment={condition:function(e){return!!e.parentPath.isReturnStatement()||e.parentPath.isVariableDeclarator()},before(e,{write:t,indent:n}){t("("),n.inc(),t.breakline()},print(e,{print:t,traverse:n}){t("__openingFragment"),e.get("children").map(n),t("__closingFragment")},after(e,{write:t,indent:n}){n.dec(),t.breakline(),t(")")}},Q2.JSXOpeningFragment=(e,{write:t})=>{t("<>")},Q2.JSXClosingFragment=(e,{write:t})=>{t("</>")};var Z2={};const{isNext:e3}=Qj;Z2.JSXText=(e,{write:t,indent:n})=>{const{node:r}=e,{value:i,extra:s}=r,a=/^\s+$/.test(i),o=e3(e);return s?.raw.includes("&")?t(s.raw):a&&o?(n.inc(),t.breakline(),void n.dec()):void(a?t.breakline():t(i))};const{JSXElement:t3}=J2,{JSXAttribute:n3}=H2,{isCoupleLines:r3}=Qj,{JSXOpeningElement:i3}=Y2,s3=Q2,{JSXText:a3}=Z2,{parseComments:o3}=bU;var u3={...s3,JSXElement:t3,JSXAttribute:n3,JSXOpeningElement:i3,JSXText:a3,JSXEmptyExpression(e,t,n){o3(e,t,n)},JSXExpressionContainer(e,{print:t}){t("{"),t("__expression"),t("}")},JSXIdentifier(e,{write:t}){t(e.node.name)},JSXMemberExpression(e,{print:t}){t("__object"),t("."),t("__property")},JSXSpreadAttribute(e,{print:t,maybe:n}){const r=r3(e.parentPath);n.indent.inc(r),n.print.breakline(r),t("{"),t("..."),t("__argument"),t("}"),n.indent.dec(r)},JSXClosingElement(e,{print:t}){t("</"),t("__name"),t(">")}};var c3={...fY,...ZZ,...T0,...q2,...u3};c3.default;var l3={};const p3=e=>()=>e,{keys:d3}=Object;function h3(e,t,n){if(!n)return[`{{ ${e} }}`,t[e]];const r=e.replaceAll("{{","").replaceAll("}}","").replaceAll(" ",""),i=t[r]||"";if(!r.includes("|"))return[e,i];const[s,a]=r.split("|"),o=n[a],u=t[s];return o?[e,o(u)]:[e,u]}const{satisfy:f3}=Qj;const m3=e=>{const t=e?.()||[];return f3(t)},y3=(e,t,n)=>{!function(e,t){if(n=e,"string"!=typeof n)throw Error("template should be a string!");var n;if("object"!=typeof t)throw Error("values should be an object!")}(e,t);let r=e;const i=n?e.match(/{{(.*?)}}/g):d3(t);for(const e of i){const[i,s]=h3(e,t,n),a=p3(s);for(;r.includes(i);)r=r.replace(i,a)}return r.includes("{{")&&(r=r.replace(/{{.*?}}/g,"")),r},{types:g3}=st,b3=e=>{if(!e.afterSatisfy&&!e.beforeSatisfy&&!e.satisfy)return e;const{satisfy:t,afterSatisfy:n=t,beforeSatisfy:r=t}=e;return{afterIf:m3(n),beforeIf:m3(r),...e}},{isProgram:x3,isFile:S3,isStatement:T3,expressionStatement:E3,program:P3,file:v3}=g3;l3.maybeThrow=(e,t,n)=>{if(e)throw Error(y3(n,{path:t,type:t.type}))};const A3=e=>T3(e)?e:E3(e);l3.maybeFile=e=>S3(e)?e:v3((e=>x3(e)?e:P3([A3(e)]))(e)),l3.maybeVisitor=(e,t,n,r)=>"function"==typeof e?e(t,n,r):function(e,t,n,r){const{print:i,split:s,condition:a,before:o=s,beforeIf:u=a,after:c=s,afterIf:l=a}=b3(e);u?.(t,n,r)&&o(t,n,r);i(t,n,r),l?.(t,n,r)&&c(t,n,r)}(e,t,n,r);var C3={},w3=t($),k3=function(e){return(e=e.replace(_3,function(e){return" "+(e.toLowerCase()||e)})).trim().split(I3).join("_")},I3=/[\s\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,\-.\/:;<=>?@\[\]^_`{|}~]+/,_3=/[A-Z\u00C0-\u00D6\u00D9-\u00DD]/g;const N3=w3,L3=k3,{codeFrameColumns:O3}=st,{TYPES:D3}=zj,{stringify:F3}=JSON,{LOG:M3,LOG_ALL:B3,LOG_TOKENS:R3,LOG_TERM:j3,LOG_DEBUG:U3}={};function q3(){let e=[];return(...t)=>{const[n]=t;if(t.length)return void e.push(n);const r=e.join("");return e=[],r}}C3.createDebug=e=>t=>{U3&&e.push({type:D3.DEBUG,value:`/*__${L3(t)}*/`})},C3.createLog=({newline:e="\n",store:t=q3()}={})=>({type:n,value:r})=>{if(R3)console.log(O3(F3({type:n,value:r}),{},{highlightCode:!0}));else if(B3)console.log(O3(r,{},{highlightCode:!0}));else{if(M3){if(r===e)return void console.log(O3(t(),{},{highlightCode:!0}));t(r)}j3&&N3.stdout.write(r)}};var J3={},$3={};const V3=e=>"boolean"==typeof e,K3={arrow:!0,sequence:!0,assign:!1,new:!0},W3={arrow:!0,sequence:!0,assign:!0,new:!0},X3={arrow:!1,sequence:!1,assign:!1,new:!1};$3.parseRoundBraces=({roundBraces:e})=>{return(t=e)&&"object"==typeof t?{...K3,...e}:V3(e)&&e?W3:V3(e)&&!e?X3:K3;var t},$3.ROUND_BRACES_DISABLED=X3,$3.ROUND_BRACES_ENABLED=W3,$3.ROUND_BRACES_DEFAULTS=K3;var H3={parseQuotes:({quote:e})=>'"'===e?{escapeSingleQuote:!1,escapeDoubleQuote:!0}:{escapeSingleQuote:!0,escapeDoubleQuote:!1}};const{parseRoundBraces:z3}=$3,{parseQuotes:Y3}=H3;J3.parseOverrides=(e={})=>{const{format:t,semantics:n,visitors:r}=e,i=G3(t);return{format:i,semantics:Q3(i,n),visitors:r}};const G3=e=>({indent:" ",newline:"\n",space:" ",splitter:"\n",quote:"'",endOfFile:"\n",...e}),Q3=(e,t={})=>({comments:!0,maxPropertiesInOneLine:2,maxPropertiesLengthInOneLine:15,maxSpecifiersInOneLine:2,maxElementsInOneLine:5,maxElementLengthInOneLine:10,maxLogicalsInOneLine:3,maxVariablesInOneLine:4,maxTypesInOneLine:3,trailingComma:!0,...Y3(e),...t,roundBraces:z3(t)}),Z3=Hj,e4=st.traverse,{TYPES:t4}=zj,n4=c3,{maybeFile:r4,maybeVisitor:i4,maybeThrow:s4}=l3,{createDebug:a4,createLog:o4}=C3,{maybeMarkAfter:u4}=SU,{parseLeadingComments:c4,parseTrailingComments:l4}=bU,{parseOverrides:p4}=J3,d4=e=>e&&"object"==typeof e,{round:h4}=Math,{assign:f4,freeze:m4}=Object;function y4(e,t){let n="";for(++e;--e>0;)n+=t;return n}Xj.tokenize=(e,t)=>{const{visitors:n,format:r,semantics:i}=p4(t),s=[],a=(e=>{const t=o4();return n=>{t(n),e.push(n)}})(s),o=a4(s),u=e=>{a({type:t4.TOKEN,value:e})},c=()=>{a({type:t4.INDENT,value:y4(x,r.indent)})},l=()=>{a({type:t4.NEWLINE,value:r.newline})},p=e=>e&&l(),d=()=>{l(),c()},h=e=>e&&d(),f=()=>{c(),l()},m=e=>e&&f(),y=(e,t)=>e&&u(t),g=()=>{a({type:t4.SPACE,value:r.space})},b=e=>e&&g();let x=0;f4(c,{inc:()=>++x,dec:()=>--x});const S=()=>{a({type:t4.QUOTE,value:r.quote})};f4(u,{indent:c,newline:l,linebreak:f,breakline:d,space:g,splitter:()=>{a({type:t4.SPLITTER,value:r.splitter})},quote:S,endOfFile:()=>{a({type:t4.END_OF_FILE,value:r.endOfFile})}}),f4(y,{newline:p,breakline:h,linebreak:m,space:b});const T={indent:e=>e&&c(),markAfter:u4,write:y,space:b};f4(T.indent,{inc:e=>e&&c.inc(),dec:e=>e&&c.dec()});const E=m4({indent:c,write:u,debug:o,traverse:v,maybe:T,quote:S,store:Z3()}),P={...n4,...n};function v(e){const{type:t}=e,n=P[t];if(!e.node)return;const r=g4(e,{write:u,traverse:v});f4(r,u,{space:g,round:h4});const s={...E,print:r},a=(e,t)=>e&&r(t);f4(a,{newline:p,breakline:h,linebreak:m,space:b}),f4(s.maybe,{print:a}),s4(!n,e,"☝️ Node type '{{ type }}' is not supported yet by @putout/printer: '{{ path }}'");const c=x;c4(e,s,i,{currentTraverse:n}),i4(n,e,s,i),l4(e,s,i,{currentTraverse:n}),s4(x!==c,e,"☝️Looks like indent level changed after token visitor: '{{ type }}', for code: '{{ path }}'"),o(e.type)}return e.parentPath?function(e,t){e.parentPath.traverse({enter(n){n===e&&(t(n),n.stop())}})}(e,v):e4(r4(e),{Program(e){v(e),e.stop()}}),s};const g4=(e,{traverse:t,write:n})=>r=>{if(r===e)return null;const i=b4(e,r);return d4(i)?t(i):n(i)},b4=(e,t)=>"string"==typeof t&&t.startsWith("__")?((e,t)=>e.get(t.replace("__","")))(e,t):(d4(t),t);var x4={},S4={cook:e=>{const t=[];for(const{value:n}of e)t.push(n);return t}};const{cook:T4}=S4;x4.printTokens=e=>T4(e).join("");var E4={},P4={},v4=new RegExp(/(^[ \t]*\n)/,"gm");const A4=function(e){return e.replace(v4,"")},C4=e=>e.slice(0,e.indexOf("(")),w4=e=>e.includes("(")?`${C4(e)}(`:`${e}(`,k4=e=>"\n"===e.at(-1)?e:`${e}\n`,I4="__putout_processor_json",_4="__putout_processor_yaml",N4="__putout_processor_filesystem",L4="__putout_processor_ignore",O4=`${I4}(__object)`,D4=`${_4}(__object)`,F4=`${N4}(__object)`,M4=`${L4}(__array)`,B4=[I4,_4,N4,L4];P4.__json=O4,P4.__yaml=D4,P4.__filesystem=F4,P4.__ignore=M4,P4.__json_name=I4,P4.__yaml_name=_4,P4.__filesystem_name=N4,P4.__ignore_name=L4,P4.toJS=(e,t=O4)=>`${w4(t)}${e});\n`,P4.fromJS=(e,t=O4)=>{e=k4(e);const n=C4(t);e=e.slice(e.indexOf(n));const r=w4(t),i=e.length-3,s=e.slice(r.length,i);return k4(A4(s))},P4.isJSON=e=>{for(const t of B4)if(!e.indexOf(t))return!0;return!1};const{types:R4}=st,{isJSON:j4}=P4,{isCallExpression:U4,isIdentifier:q4}=R4;E4.maybeJSON=(e,t)=>function(e){const{program:t}=e;if(!t)return!1;const{body:n}=e.program;if(!n.length)return!1;const{expression:r}=e.program.body[0];if(!U4(r))return!1;const{callee:i}=r;return!!q4(i)&&j4(i.name)}(e)?{...t,format:{...t?.format,quote:'"'},semantics:{...t?.semantics,trailingComma:!1,escapeSingleQuote:!1,escapeDoubleQuote:!0}}:t;const{tokenize:J4}=Xj,{printTokens:$4}=x4,{maybeJSON:V4}=E4,{maybeVisitor:K4}=l3,W4=c3;Wj.print=(e,t={})=>{!function(e){if("object"!=typeof e)throw Error("☝️Looks like ast not an object")}(e);const n=V4(e,t),r=J4(e,n);return $4(r)},Wj.visitors=W4,Wj.maybeVisitor=K4;var X4={};function H4(e){let t=e.length;if(!t)return!1;for(;--t>-1;)if(" "!==e[t])return!0;return!1}function z4(e){let t="";for(let n=0;n<e.length;n++){if(" "!==e[n])return t;t+=" "}return t}const{generate:Y4}=st,G4=e=>{!function(e){if(t=e,"string"!=typeof t)throw Error("str should be a string!");var t}(e);const t=e.split("\n"),n=t.length-1;for(let e=0;e<n;e++){const n=t[e];e&&!H4(n)&&(t[e]=z4(t[e+1]))}return t.join("\n")},Q4={alignSpaces:!0};X4.print=(e,t)=>{const{source:n,alignSpaces:r}={...Q4,...t};let{code:i}=Y4(e,{...n&&{experimental_preserveFormat:!0,retainLines:!0}},n);return"\n"===i[0]&&(i=i.trimStart()),i+="\n",r?G4(i):i};const Z4=Wj,e5=X4,{isArray:t5}=Array;var n5=(e,t={})=>{const[n="putout",r]=(i=t.printer,t5(i)?i:[i,{}]);var i;return"babel"===n?e5.print(e,{...t,...r}):Z4.print(e,r)},r5={};const{types:i5}=st,{isFunctionExpression:s5,objectMethod:a5}=i5,{assign:o5}=Object;function u5(e,t){return e.loc&&t.loc?{start:e.loc.start,end:t.loc.end}:null}const{types:c5}=st,{classPrivateMethod:l5,classMethod:p5,privateName:d5,identifier:h5}=c5,{assign:f5}=Object;const m5=({type:e})=>"PrivateIdentifier"===e;const{types:y5}=st,{identifier:g5}=y5;const{types:b5}=st,{directive:x5,directiveLiteral:S5}=b5;const{assign:T5}=Object;var E5={convertParenthesizedExpression:({convertParens:e})=>t=>{if(!e)return;const{expression:n}=t.node;n.extra=n.extra||{},n.extra.parenthesized=!0,t.replaceWith(n)}},P5={convertTSParenthesizedType:({convertParens:e})=>t=>{if(!e)return;const{typeAnnotation:n}=t.node;n.extra=n.extra||{},n.extra.parenthesized=!0,t.replaceWith(n)}},v5={convertNodeComments:e=>{const{comments:t}=e;if(t){delete e.comments,e.leadingComments=void 0,e.trailingComments=void 0,e.innerComments=void 0;for(const n of t){const t=C5(n);e[t]||(e[t]=[]),delete n.leading,delete n.trailing,n.type=A5(n),e[t].push(n)}}},convertProgramComments:e=>{for(const t of e)t.type=A5(t);return e}};const A5=({type:e})=>`Comment${e}`;function C5({trailing:e,leading:t}){return e?"trailingComments":t?"leadingComments":"innerComments"}const{convertProgramComments:w5}=v5;var k5={convertPropertyDefinition:e=>{const{node:t}=e;if("PrivateIdentifier"===t.key.type){const{key:e}=t;return t.type="ClassPrivateProperty",void(t.key=I5(e))}e.node.type="ClassProperty"},convertTSInterfaceHeritage:e=>{let{expression:t}=e.node;for(;"MemberExpression"===t.type;){const{object:e,property:n}=t;t.type="TSQualifiedName",t.left=e,t.right=n,delete t.object,delete t.property,t=e}},convertPrivateIdentifier:e=>{e.replaceWith(I5(e.node))},convertTSAbstractMethodDefinition:e=>{const{node:t}=e,{generator:n,async:r,params:i,id:s,returnType:a}=t.value,o={...t,abstract:!0,generator:n,async:r,params:i,id:s,returnType:a,type:"TSDeclareMethod"};delete o.value,e.replaceWith(o)}};const I5=e=>({type:"PrivateName",id:{...e,type:"Identifier"},loc:e.loc}),{traverse:_5,types:N5}=st,L5=e=>{for(const t of e){const{computed:e,key:n,method:r,value:i}=t.node;r&&s5(i)&&(t.replaceWith(a5("method",n,i.params,i.body,e)),o5(t.node,{id:null,method:!0,generator:i.generator,loc:u5(n,i),async:i.async,type:"ObjectMethod"}))}},O5=e=>{const{node:t}=e,{key:n,kind:r,computed:i,loc:s}=t,{body:a,params:o,expression:u,generator:c}=t.value,l=function({kind:e,key:t,params:n,body:r,computed:i,nodeStatic:s}){if(m5(t)){const s=function(e){return d5(h5(e.name))}(t);return l5(e,s,n,r,i)}return p5(e,t,n,r,i,s)}({kind:r,key:n,params:o,body:a,computed:i,nodeStatic:t.static});e.replaceWith(l),f5(e.node,{loc:s,expression:u,generator:c})},D5=e=>{e.node.type="ClassPrivateProperty"},F5=({node:e})=>{e.name&&(e.id=g5(e.name),e.id.loc={start:{line:e.loc.start.line,column:e.loc.start.column+1},end:e.loc.end},delete e.name)},M5=e=>{const{node:t}=e;if(!t.directives){t.directives=[];for(const n of e.get("body")){if("ExpressionStatement"!==n.type)continue;const e=n.node;if(!("directive"in e))continue;if(!e.directive)continue;const r=S5(e.directive),i=x5(r);t.directives.push(i),n.remove()}}},B5=e=>{const t=e.get("expression"),{expression:n}=e.node;if(t.isCallExpression()){const e=t.get("callee");n.type="OptionalCallExpression",e.isMemberExpression()&&(n.callee.type="OptionalMemberExpression")}else n.type="OptionalMemberExpression";e.replaceWith(n)},R5=e=>{const{attributes:t=[]}=e.node;e.node.attributes=t},j5=e=>{const{attributes:t=[]}=e.node;T5(e.node,{attributes:t})},{convertParenthesizedExpression:U5}=E5,{convertTSParenthesizedType:q5}=P5,{convertNodeComments:J5}=v5,$5=e=>{const{type:t,value:n}=e;"Literal"===t&&(null!==n?(e=>"string"==typeof e)(n)?e.type="StringLiteral":(e=>"number"==typeof e)(n)?e.type="NumericLiteral":(e=>"boolean"==typeof e)(n)?e.type="BooleanLiteral":e.regex&&function(e){e.type="RegExpLiteral";for(const t of Object.keys(e.regex))e[t]=e.regex[t];delete e.regex}(e):e.type="NullLiteral")},V5=e=>{if("File"===e.type)return e;const{comments:t=[],tokens:n,...r}=e;return{type:"File",program:{...r,directives:[]},comments:w5(t),tokens:n}},{convertTSInterfaceHeritage:K5,convertTSAbstractMethodDefinition:W5,convertPropertyDefinition:X5,convertPrivateIdentifier:H5}=k5,{isObjectExpression:z5,isExportDeclaration:Y5}=N5,G5={convertParens:!0};function Q5(e){const{raw:t}=e;e.raw=t||e.extra?.raw,e.extra=e.extra||{raw:t}}r5.estreeToBabel=(e,t)=>{const n=V5(e),r={...G5,...t};return _5(n,{noScope:!0,ParenthesizedExpression:U5(r),TSParenthesizedType:q5(r),enter(e){const{node:t}=e,{type:n}=t;return n.endsWith("Literal")?($5(t),Q5(t)):"JSXText"===n?Q5(t):"BlockStatement"===n||"Program"===n?M5(e):"Property"===n?function(e){e.type="ObjectProperty"}(t):"MethodDefinition"===n?O5(e):"FieldDefinition"===n?D5(e):"PrivateName"===n?F5(e):"ImportDeclaration"===n?R5(e):Y5(e)?j5(e):"ChainExpression"===n?B5(e):"TSAbstractMethodDefinition"===n?W5(e):"TSInterfaceHeritage"===n?K5(e):"PropertyDefinition"===n?X5(e):"PrivateIdentifier"===n?H5(e):void 0},exit(e){const{node:t}=e;if(J5(t),z5(t))return L5(e.get("properties"))}}),n};var Z5={},e8={exports:{}},t8=function e(t,n){if(t&&n)return e(t)(n);if("function"!=typeof t)throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(e){r[e]=t[e]}),r;function r(){for(var e=new Array(arguments.length),n=0;n<e.length;n++)e[n]=arguments[n];var r=t.apply(this,e),i=e[e.length-1];return"function"==typeof r&&r!==i&&Object.keys(i).forEach(function(e){r[e]=i[e]}),r}};var n8=t8;function r8(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function i8(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},n=e.name||"Function wrapped with `once`";return t.onceError=n+" shouldn't be called more than once",t.called=!1,t}e8.exports=n8(r8),e8.exports.strict=n8(i8),r8.proto=r8(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return r8(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return i8(this)},configurable:!0})});var s8=e8.exports;const a8=()=>{};var o8=t(Object.freeze({__proto__:null,default:a8}));var u8,c8,l8=Object.freeze({__proto__:null,default:function(e){return class extends(undefined){parseClassElement(e){const t=this._inClassMemberName;this._inClassMemberName=!0;const n=super.parseClassElement.apply(this,arguments);return this._inClassMemberName=t,n}parsePropertyName(e){const t=this.options.ecmaVersion>=8&&this._inClassMemberName&&this.type==this.privateNameToken&&!e.static;return this._inClassMemberName=!1,t?this.parsePrivateClassElementName(e):super.parsePropertyName(e)}}}}),p8=t(l8);const d8=s8(()=>{const{Parser:e}=o8,t=(c8||(c8=1,u8=function(e){return e.extend(o8,o8,p8)}),u8),n=o8.default;return e.extend(n(),t)});Z5.parse=function(e){const t=d8(),n={locations:!0,comment:!0,ecmaVersion:2023,sourceType:"module",allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,allowImportExportEverywhere:!0,preserveParens:!0},r=Array.from(t.tokenizer(e,n));return{...t.parse(e,n),tokens:r}};var h8={},f8=["importMeta","importAttributes","deprecatedImportAssert","dynamicImport","bigInt","classProperties","decorators-legacy","decoratorAutoAccessors","destructuringPrivate","exportDefaultFrom","throwExpressions","deferredImportEvaluation",["discardBinding",{syntaxType:"void"}],"sourcePhaseImports",["optionalChainingAssign",{version:"2023-07"}]],m8={allowReturnOutsideFunction:!0,allowUndeclaredExports:!0,allowImportExportEverywhere:!0};const y8=s8,g8=f8,b8=m8,{assign:x8}=Object,S8=e=>!e.indexOf("// @flow"),T8=y8(()=>st);function E8({isTS:e,isFlow:t,isJSX:n}){const r=[n&&"jsx"];return e||t?r.concat(["typescript"]):r}h8.parse=function(e,t){const{sourceFileName:n,isTS:r,isJSX:i=!0,isFlow:s=S8(e),isRecovery:a,printer:o}=t,{parse:u}=T8(),c={sourceFileName:n,sourceType:"module",...b8,errorRecovery:a,plugins:(l=[...g8,...E8({isTS:r,isFlow:s,isJSX:i})],l.filter(Boolean))};var l;"babel"===o&&x8(c,{createParenthesizedExpressions:!0,tokens:!0});const p=u(e,c);return p.program.extra.__putout_printer=o,p};var P8={};const v8=s8(()=>o8);P8.parse=function(e){const{parse:t}=v8();return t(e,{loc:!0,tokens:!0,comment:!0,ecmaVersion:2023,sourceType:"module",ecmaFeatures:{jsx:!0}})};var A8={};const C8=s8(()=>o8);A8.parse=function(e){const{parse:t}=C8();return t(e,{loc:!0,tokens:!0,comment:!0,sourceType:"module",jsx:!0})};var w8={};const k8=s8(()=>o8);w8.parse=e=>{const{Tenko:t}=k8(),{ast:n}=t(e,{goalMode:"module",allowGlobalReturn:!0,exposeScopes:!0});return n};var I8={};const _8=s8(()=>o8);I8.parse=function(e){return _8().parse(e,{babel:!0,allowReturnOutsideFunction:!0,flow:"detect",locations:!0,tokens:!0})};var N8=(e,...t)=>{try{return[null,e(...t)]}catch(e){return[e]}};const L8=N8;const O8=Z5,D8=h8,F8=P8,M8=A8,B8=w8,R8=I8,j8=(e,t,n,r)=>{const[i,...s]=r,[a,o]=L8(e,t,i);if(!a)return o;if(function(e,t){for(const n of t)if(e.message.includes(n))return!0;return!1}(a,n))throw a;for(const n of s){const[r,i]=L8(e,t,n);if(!r)return i}throw a},U8=["has already been declared"];function q8(e,{parser:t,printer:n,isTS:r,isJSX:i,isRecovery:s}){return"babel"===t?D8.parse(e,{isTS:r,isJSX:i,isRecovery:s,printer:n}):"object"==typeof t?t.parse(e,{isJSX:i,isTS:r}):"espree"===t?F8.parse(e):"acorn"===t?O8.parse(e):"esprima"===t?M8.parse(e):"tenko"===t?B8.parse(e):"hermes"===t?R8.parse(e):function(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}(t).parse(e)}var J8={};const $8=N8;J8.tryThrowWithReason=(e,...t)=>{const[n,r]=$8(e,...t);if(n)throw n.reason="parse",n;return r};const{estreeToBabel:V8}=r5,K8=(e,t,{isTS:n,isJSX:r,printer:i})=>{const s={parser:t,printer:i,isTS:n,isJSX:r},a={...s,isJSX:!1},o={...s,isRecovery:!0};return j8(q8,e,U8,[s,a,o])},{tryThrowWithReason:W8}=J8,{assign:X8}=Object;var H8=(e,t)=>{!function(e){if(t=e,"string"!=typeof t)throw Error(`☝️ Looks like type of 'source' is not 'string', but '${typeof e}'`);var t}(e);const{parser:n,printer:r="putout",isTS:i,isJSX:s}=t||{},{parse:a}=z8({printer:r,parser:n,isTS:i,isJSX:s});return W8(a,e)};const z8=({parser:e="babel",isTS:t,isJSX:n,printer:r})=>({parse(i){const s={};"babel"===r&&X8(s,{convertParens:!1});return V8(K8(i,e,{isTS:t,isJSX:n,printer:r}),s)}});const{generate:Y8}=st;var G8=(e,t,n)=>Y8(e,{comments:!1,...t},n),Q8={exports:{}};function Z8(e,t){t||(t={});var n,r,i,s=t.vargs||function(e){var t=e+"",n=t.indexOf("...");return n>=0&&(n<t.indexOf(")")||t.indexOf("arguments")>=0)}(e),a=[],o=new Map,u=t.maxAge>0&&t.maxAge<1/0?function(e){return r=setTimeout(function(){n?o.delete(e):a.splice(e,1)},t.maxAge)}:0,c=t.equals?t.equals:0,l=t.maxArgs,p=t.serializer;return 1!==e.length||t.equals||s?i=c?function(){for(var t=l||arguments.length,n=a.length,r=-1;++r<n;)if(a[r].length===t){for(var i=-1;++i<t&&c(arguments[i],a[r][i]););if(i===t)return a[r].val}return a[r]=arguments,!u||u(r),arguments.val=e.apply(this,a[r])}:function(){for(var t=l||arguments.length,n=a.length,r=-1;++r<n;)if(a[r].length===t){for(var i=-1;++i<t&&arguments[i]===a[r][i];);if(i===t)return a[r].val}return a[r]=arguments,!u||u(r),arguments.val=e.apply(this,a[r])}:(i=function(t){var n;return p&&(t=p(t)),o.get(t)||(!u||u(t),o.set(t,n=e.call(this,t)),n)},n=1),i.clear=function(){r&&clearTimeout(r),o.clear(),a=[]},i.keys=function(){return n?[...o.keys()]:a.slice()},i.values=function(){return n?[...o.values()]:a.map(e=>e.val)},i}var e6=t(Object.freeze({__proto__:null,default:Z8,nanomemoize:Z8}));!function(e){const{types:t,template:n}=st,{nanomemoize:r}=e6,i=f8,s={...m8,plugins:[...i,"typescript","jsx"]},{isExpressionStatement:a,isTSExternalModuleReference:o}=t,u=e=>a(e)||o(e)?e.expression:e;e.exports=r((e,t)=>{const r=n(e,{...s,...t});return(...e)=>{const t=r(...e);return u(t)}}),e.exports.ast=r((e,t)=>{const r=n.ast(e,{...s,...t});return u(r)}),e.exports.program=r((e,t)=>n.program(e,{...s,...t})),e.exports.program.ast=r((e,t)=>n.program.ast(e,{...s,...t})),e.exports.ast.fresh=(e,t)=>{const r=n.ast(e,{...s,...t});return u(r)},e.exports.extractExpression=u}(Q8);var t6=Q8.exports;t6.default;const n6=n5,r6=H8,i6=G8,s6=t6;Kj.print=n6,Kj.parse=r6,Kj.generate=i6,Kj.template=s6;var a6={mergeShebang:(e,t)=>e?`${e}\n${t}`:t,cutShebang:e=>{if(e.indexOf("#"))return[e,""];const t=e.split("\n"),n=t.slice(1).join("\n"),[r]=t;return[n,`${r}\n`]}},o6={},u6={},c6={};function l6(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var p6=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,d6=function(e){return p6.exec(e).slice(1)};function h6(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:"/";if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");r&&(e=r+"/"+e,t="/"===r.charAt(0))}return(t?"/":"")+(e=l6(E6(e.split("/"),function(e){return!!e}),!t).join("/"))||"."}function f6(e){var t=m6(e),n="/"===P6(e,-1);return(e=l6(E6(e.split("/"),function(e){return!!e}),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e}function m6(e){return"/"===e.charAt(0)}function y6(){return f6(E6(Array.prototype.slice.call(arguments,0),function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))}function g6(e,t){function n(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=h6(e).substr(1),t=h6(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),s=Math.min(r.length,i.length),a=s,o=0;o<s;o++)if(r[o]!==i[o]){a=o;break}var u=[];for(o=a;o<r.length;o++)u.push("..");return(u=u.concat(i.slice(a))).join("/")}function b6(e){var t=d6(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."}function x6(e,t){var n=d6(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n}function S6(e){return d6(e)[3]}var T6={extname:S6,basename:x6,dirname:b6,sep:"/",delimiter:":",relative:g6,join:y6,isAbsolute:m6,normalize:f6,resolve:h6};function E6(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}var P6="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)},v6=t(Object.freeze({__proto__:null,basename:x6,default:T6,delimiter:":",dirname:b6,extname:S6,isAbsolute:m6,join:y6,normalize:f6,relative:g6,resolve:h6,sep:"/"}));var A6={simpleImport:async e=>{const t=await import(e);return t.default||t}};const C6=w3,{join:w6}=v6,k6=s8,{nanomemoize:I6}=e6,_6=async(e,...t)=>{!function(e){if("function"!=typeof e)throw Error("fn should be a function!")}(e);try{return[null,await e(...t)]}catch(e){return[e]}},{simpleImport:N6}=A6,{assign:L6}=Object;async function O6(e,t=N6){let n,r;for(const i of e){if([n,r]=await _6(t,i),!n)return r;if("ERR_UNSUPPORTED_DIR_IMPORT"===n.code){const e=require.resolve(i);if([n,r]=await _6(t,e),!n)return r}if("ERR_MODULE_NOT_FOUND"!==n.code)throw L6(n,{message:`${i}: ${n.message}`}),n}throw L6(n,{message:n.message.replace(/\simported.*/,"")}),n}c6.createAsyncLoader=e=>I6(async(t,n)=>{if("none"===t)return()=>{};if(t.startsWith("import:")){const e=t.replace("import:","");return await O6([require.resolve(e)],n)}const r=[`@putout/${e}-${t}`,`putout-${e}-${t}`],i=r.flatMap(F6),s=Array.from(new Set([...r,...i]));return await O6(s,n)});const D6=k6(()=>C6.env.PUTOUT_LOAD_DIR);function F6(e){const t=D6();if(!t)return[e];const n=w6(t,e);return[n,`${n}.js`]}var M6={},B6={};const R6=e=>"string"==typeof e,{isArray:j6}=Array,{entries:U6}=Object;B6.parsePluginNames=e=>{const t=[];for(const n of e)if(R6(n))t.push([n]);else{if(j6(n)){const[e,r]=n;t.push([e,r]);continue}t.push(...U6(n))}return t};var q6={};const{isArray:J6}=Array,$6=e=>"boolean"==typeof e,V6=e=>"string"==typeof e,K6=e=>"object"==typeof e,{entries:W6}=Object,{stringify:X6}=JSON,H6=e=>Error(`☝️ Rule format not supported ${e}: ${typeof e}`),z6=e=>Error(`☝️ Looks like you need to change "rules" to "match" for ${X6(e)}`),Y6=()=>Object.create(null),G6=(e,t)=>(function(e,t){if($6(t))return!0;if(/^(on|off)$/.test(t))return!0;if(K6(t))return!0;throw(({rule:e,value:t})=>Error(`☝️ ${e}: state option can be "on" or "off" only, when used as string, received: "${t}"`))({rule:e,value:t})}(e,t),"on"===t||"off"!==t&&t);function Q6(e,t){const[n]=t,r=G6(e,n);if(3===t.length){const[,n,i]=t;return{rule:e,state:r,plugin:null,msg:n,options:i}}const[,i=""]=t;return{rule:e,state:r,plugin:null,msg:"",options:i}}q6.parseRules=e=>{const t=[];!function(e){if(J6(e))throw Error("☝️Looks like type of 'rules' passed to @putout/engine-loader is 'array', expected: 'object'.")}(e);for(const[n,r]of W6(e)){if(V6(r)){t.push({rule:n,state:G6(n,r),plugin:null,msg:"",options:Y6()});continue}if($6(r)){t.push({rule:n,state:r,plugin:null,msg:"",options:Y6()});continue}if(!(J6(r)&&r.length)){if(K6(r))throw z6(r);throw H6(r)}t.push(Q6(n,r))}return t};const Z6=e=>e.split("/")[0];q6.enableNestedRules=e=>{const t={};for(const[n,r]of W6(e))n.includes("/")&&G6(n,r)&&(t[Z6(n)]="on"),t[n]=r;return t};var e9={};e9.mergeRules=([e,t],n)=>{for(const r of n){if(r.rule!==e)continue;const{msg:n,options:i}=r;return{rule:e,plugin:t,msg:n,options:i}}return{rule:e,plugin:t,msg:"",options:Object.create(null)}};var t9={};const n9=e=>e.includes("/")?e.split("/").shift():e,r9=e=>e.replace("import:@putout/plugin-","").replace("@putout/plugin-","");t9.validateRules=({items:e,rules:t})=>{const n=Object.keys(t);for(const t of n){let n=!1,r=!1,i=!1;for(const[s,a={}]of e){const e=r9(s);if(n=e===t,r=e===n9(t),i=t.includes(e),n&&a.rules)throw Error(`Rule '${t}' cannot be applied to nested plugin '${s}'`);if(n||r||i)break}if(!n&&!r&&!i)throw Error(`No plugin found for a rule: '${t}'`)}};var i9={isEnabled:(e,t)=>{for(const{rule:n,state:r}of t)if(n===e)return r;for(const{rule:n,state:r}of t)if(n.includes("/")&&RegExp(`^${n}`).test(e))return r;for(const{rule:n,state:r}of t)if(RegExp(`^${n}/`).test(e))return r;return!0}},s9={getLoadedRules:e=>{const t=[];for(const n of e){const{rule:e}=n;e.includes("/")||t.push(n)}return t}};const{parseRules:a9}=q6,{mergeRules:o9}=e9,{validateRules:u9}=t9,{isEnabled:c9}=i9,{getLoadedRules:l9}=s9;var p9={parseRules:a9,mergeRules:o9,validateRules:u9,isEnabled:c9,getLoadedRules:l9},d9={};d9.check=e=>{if(!e||"object"!=typeof e)throw Error("options should be an object!")},d9.checkRule=e=>{if("string"!=typeof e)throw Error(`☝️ Looks like plugin name type is not 'string', but: '${typeof e}'`)};const{parsePluginNames:h9}=B6,{validateRules:f9}=p9,{check:m9}=d9;M6.validateRulesRelations=e=>{m9(e);const{pluginNames:t=[],rules:n={}}=e,r=h9(t);f9({rules:n,items:r})};var y9={},g9={};const{parsePluginNames:b9}=B6,{enableNestedRules:x9}=q6,{parseRules:S9,getLoadedRules:T9}=p9;g9.prepareRules=({rules:e,pluginNames:t})=>{const n=x9(e),r=S9(n),i=T9(r);return{items:b9(t),loadedRules:i,cookedRules:S9(e)}};const E9=["find","traverse","replace","include","exclude","rules","declare","scan"];var P9=({plugin:e,rule:t})=>{const n=Object.keys(e);for(const e of E9)if(n.includes(e))return;throw Error(`☝️ Cannot determine type of plugin '${t}'. Here is list of supported plugins: https://git.io/JqcMn`)},v9={};const{isEnabled:A9,mergeRules:C9}=p9,{isArray:w9}=Array,k9=e=>w9(e)?e:["on",e];function I9(e,t,n){if("on"===t)return!0;for(const{rule:t,state:r}of n)if(t.includes("/")&&RegExp(`^${t}`).test(e))return r;return!1}v9.filterEnabledPlugins=({plugins:e,cookedRules:t})=>{const n=[];for(const[r,i]of e){if(!A9(r,t))continue;const[e,s]=k9(i);I9(r,e,t)&&n.push(C9([r,s],t))}return n};const{basename:_9}=v6,{isEnabled:N9}=p9,{prepareRules:L9}=g9,O9=P9,{filterEnabledPlugins:D9}=v9,{createAsyncLoader:F9}=c6,{check:M9,checkRule:B9}=d9,R9=F9("plugin");y9.loadPluginsAsync=async e=>{M9(e);const{pluginNames:t=[],rules:n={}}=e,{items:r,loadedRules:i,cookedRules:s}=L9({rules:n,pluginNames:t}),a=await async function({items:e,loadedRules:t}){const n=[],r=[];for(const[i,s]of e){if(!N9(i,t))continue;B9(i);const[e]=j9(i),a=s||R9(e);r.push(q9(i)),n.push(a)}const i=await Promise.all(n),s=[];for(const[e,t]of r.entries()){const n=i[e];O9({plugin:n,rule:t});const{rules:r}=n;r?s.push(...U9(t,r)):s.push([t,n])}return s}({items:r,loadedRules:i});return D9({plugins:a,cookedRules:s})};const j9=e=>[e,"putout"];function U9(e,t){const n=[],r=Object.entries(t);for(const[t,i]of r)n.push([`${e}/${t}`,i]);return n}function q9(e){if(e.startsWith("import:")){return _9(e.replace("import:","")).replace("plugin-","")}return e}var J9,$9={},V9={},K9=t(Object.freeze({__proto__:null,default:{}}));function W9(){if(J9)return V9;J9=1;const e=w3,{createRequire:t}=K9,{join:n}=v6,r=N8,i=s8,{assign:s}=Object,a=e=>({name:t,namespace:n})=>{const[i,a]=function(e,t,n){if(n.startsWith("import:"))return l(n.replace("import:",""));let[r,i]=l(`@${e}/${t}-${n}`);r||([r,i]=l(`${e}-${t}-${n}`));r||([r,i]=l(n));return[r,i]}(n,e,t);if(!i)throw Error(`${o=e,`${o[0].toUpperCase()}${o.slice(1)}`} "${n}-${e}-${t}" could not be found!`);var o;const[u,c]=r(a,i);if("ERR_REQUIRE_ESM"===u?.code&&s(u,{message:`☝️ Looks like '${t}' is ESM, use 'await putoutAsync()' instead`,name:t}),u)throw u;return c};V9.loadPlugin=a("plugin"),V9.loadProcessor=a("processor");const{PUTOUT_YARN_PNP:o="putout"}={},u=i(()=>t(require.resolve(o))),c=i(()=>t(require.resolve("putout")));function l(e,{again:t=!1}={}){let i;const s=u(),a=c();return[,i]=r(a.resolve,e),i?[i,a]:([,i]=r(s.resolve,e),i||t?[i,s]:l(function(e){const t=p();return t?n(t,e):e}(e),{again:!0}))}const p=i(()=>e.env.PUTOUT_LOAD_DIR);return V9}const X9=P9,{prepareRules:H9}=g9,{isEnabled:z9}=p9,{filterEnabledPlugins:Y9}=v9,{check:G9,checkRule:Q9}=d9,{isArray:Z9}=Array;$9.loadPlugins=e=>{G9(e);const{pluginNames:t=[],rules:n={}}=e,{items:r,loadedRules:i,cookedRules:s}=H9({rules:n,pluginNames:t}),a=function({items:e,loadedRules:t}){const n=[];for(const[r,i]of e){if(!z9(r,t))continue;Q9(r);const e=t7(r),[s,a]=e7(r),o=n7(i)||i7({name:s,namespace:a});X9({plugin:o,rule:r});const{rules:u}=o;u?n.push(...r7(e,u)):n.push([e,o])}return n}({items:r,loadedRules:i});return Y9({plugins:a,cookedRules:s})};const e7=e=>[e,"putout"],t7=e=>e.replace("import:@putout/plugin-","").replace("@putout/plugin-",""),n7=e=>Z9(e)?e[1]:e;function r7(e,t){const n=[],r=Object.entries(t);for(const[t,i]of r)n.push([`${e}/${t}`,i]);return n}function i7({name:e,namespace:t}){const{loadPlugin:n}=W9();return n({name:e,namespace:t})}var s7={};const a7=e=>"string"==typeof e,{isArray:o7}=Array,u7=e=>"on"===e,c7=e=>"off"===e;const{createAsyncLoader:l7}=c6,p7=e=>{const t=[];for(const n of e)if(a7(n))t.push([n]);else if(o7(n)){const[e,r]=n;if(c7(r))continue;if(u7(r)){t.push([e]);continue}t.push([e,r]);continue}return t},{check:d7}=d9;s7.loadProcessorsAsync=async(e,t)=>{d7(e);const{processors:n=[]}=e,r=p7(n),i=l7("processor"),s=[];for(const[e,n]of r)n?s.push(n):s.push(i(e,t));return await Promise.all(s)};const{createAsyncLoader:h7}=c6,{validateRulesRelations:f7}=M6,{loadPluginsAsync:m7}=y9,{loadPlugins:y7}=$9,{loadProcessorsAsync:g7}=s7;u6.loadPlugins=y7,u6.loadPluginsAsync=m7,u6.loadProcessorsAsync=g7,u6.createAsyncLoader=h7,u6.validateRulesRelations=f7;var b7,x7,S7={},T7={exports:{}};function E7(){if(x7)return b7;x7=1;var e=1e3,t=60*e,n=60*t,r=24*n,i=7*r,s=365.25*r;function a(e,t,n,r){var i=t>=1.5*n;return Math.round(e/n)+" "+r+(i?"s":"")}return b7=function(o,u){u=u||{};var c=typeof o;if("string"===c&&o.length>0)return function(a){if((a=String(a)).length>100)return;var o=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(a);if(!o)return;var u=parseFloat(o[1]);switch((o[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return u*s;case"weeks":case"week":case"w":return u*i;case"days":case"day":case"d":return u*r;case"hours":case"hour":case"hrs":case"hr":case"h":return u*n;case"minutes":case"minute":case"mins":case"min":case"m":return u*t;case"seconds":case"second":case"secs":case"sec":case"s":return u*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return u;default:return}}(o);if("number"===c&&isFinite(o))return u.long?function(i){var s=Math.abs(i);if(s>=r)return a(i,s,r,"day");if(s>=n)return a(i,s,n,"hour");if(s>=t)return a(i,s,t,"minute");if(s>=e)return a(i,s,e,"second");return i+" ms"}(o):function(i){var s=Math.abs(i);if(s>=r)return Math.round(i/r)+"d";if(s>=n)return Math.round(i/n)+"h";if(s>=t)return Math.round(i/t)+"m";if(s>=e)return Math.round(i/e)+"s";return i+"ms"}(o);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(o))},b7}var P7=function(e){function t(e){let r,i,s,a=null;function o(...e){if(!o.enabled)return;const n=o,i=Number(new Date),s=i-(r||i);n.diff=s,n.prev=r,n.curr=i,r=i,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(r,i)=>{if("%%"===r)return"%";a++;const s=t.formatters[i];if("function"==typeof s){const t=e[a];r=s.call(n,t),e.splice(a,1),a--}return r}),t.formatArgs.call(n,e);(n.log||t.log).apply(n,e)}return o.namespace=e,o.useColors=t.useColors(),o.color=t.selectColor(e),o.extend=n,o.destroy=t.destroy,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==a?a:(i!==t.namespaces&&(i=t.namespaces,s=t.enabled(e)),s),set:e=>{a=e}}),"function"==typeof t.init&&t.init(o),o}function n(e,n){const r=t(this.namespace+(void 0===n?":":n)+e);return r.log=this.log,r}function r(e,t){let n=0,r=0,i=-1,s=0;for(;n<e.length;)if(r<t.length&&(t[r]===e[n]||"*"===t[r]))"*"===t[r]?(i=r,s=n,r++):(n++,r++);else{if(-1===i)return!1;r=i+1,s++,n=s}for(;r<t.length&&"*"===t[r];)r++;return r===t.length}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names,...t.skips.map(e=>"-"+e)].join(",");return t.enable(""),e},t.enable=function(e){t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const e of n)"-"===e[0]?t.skips.push(e.slice(1)):t.names.push(e)},t.enabled=function(e){for(const n of t.skips)if(r(e,n))return!1;for(const n of t.names)if(r(e,n))return!0;return!1},t.humanize=E7(),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach(n=>{t[n]=e[n]}),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let n=0;for(let t=0;t<e.length;t++)n=(n<<5)-n+e.charCodeAt(t),n|=0;return t.colors[Math.abs(n)%t.colors.length]},t.enable(t.load()),t};!function(e,t){t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const n="color: "+this.color;t.splice(1,0,n,"color: inherit");let r=0,i=0;t[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(r++,"%c"===e&&(i=r))}),t.splice(i,0,n)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")||t.storage.getItem("DEBUG")}catch(e){}!e&&"env"in J&&(e=J.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=P7(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}(T7,T7.exports);var v7=T7.exports;v7.default;var A7={};const C7=v7;A7.createDebug=t=>{const n=C7(t);return new Proxy(n,{apply:(n,r,i)=>(e.__putout_debug?.(t,...i),n(...i)),get:(t,n)=>!!e.__putout_debug?.[n]||t[n]})};const w7=N8,{createDebug:k7}=A7,{stringify:I7}=JSON,_7=k7("putout:runner:fix");var N7=(e,t,{path:n,pathOptions:r,rule:i,position:s,options:a})=>{e&&(_7.enabled&&_7(`${i}:`,s,(e=>e.path||e)(n).toString()),function(e,t){if(n=t,"function"!=typeof n)throw Error(`☝️ Looks like '${e}' is not a 'function' but '${typeof t}' with value: '${I7(t)}'. More on writing 🐊Putout Plugins: https://git.io/JqcMn`);var n}("fix",t),((e,{path:t,pathOptions:n,position:r,options:i})=>{const[s]=w7(e,...(({path:e,pathOptions:t,options:n})=>t?[e,t,{options:n}]:[e,{options:n}])({path:t,pathOptions:n,options:i})),{scope:a}=t.path||t;if(!s&&a&&a.getProgramParent().crawl(),s)throw s.loc=s.loc||r,s.reason="fix",s})(t,{path:n,pathOptions:r,position:s,options:a}))};var L7={};const O7=e=>e.path||e[0]||e;L7.getPath=O7,L7.getPosition=(e,t)=>{const n=O7(e);!function(e){if(!e.node)throw Error("☝️ Looks like 'push' called without a 'path' argument.")}(n);const{node:r}=n,{loc:i}=r;if(!i)return{line:0,column:0};const{line:s,column:a}=r.loc.start;return{line:t?s+1:s,column:a}};const{isArray:D7}=Array;var F7=e=>e?(e=>D7(e)?e:[e])(e):[],M7={};const{stringify:B7}=JSON;M7.validate=(e,t)=>{if("function"!=typeof t)throw Error(`☝️ Looks like '${e}' is not a 'function' but '${typeof t}' with value: '${B7(t)}'. More on using Includer: https://git.io/JqcMn`)};var R7={};const{values:j7,entries:U7,assign:q7}=Object,J7=e=>Array.from(e),$7=e=>e.node,V7=e=>J7(e).filter($7),K7=e=>e;function W7({set:e,get:t}){return(n={})=>{const r=(...r)=>{if(!r.length)return t(n);const[i,s]=r;if(1===r.length)return n[i];e(n,i,s)};return r.clear=()=>{n={}},r.entries=()=>U7(n),r}}function X7(e=K7){return(t=new Set)=>{const n=(...n)=>{if(!n.length)return e(J7(t));const[r]=n;t.add(r)};return n.clear=()=>{const n=t;return t=new Set,e(J7(n))},n}}R7.listStore=X7(),R7.pathStore=X7(V7),R7.mapStore=W7({get:e=>j7(e),set(e,t,n){e[t]=n}}),R7.upStore=W7({get:e=>j7(e),set(e,t,n){e[t]=e[t]||{},q7(e[t],n)}}),R7.upListStore=W7({get:e=>j7(e).map(V7),set(e,t,n){e[t]=e[t]||new Set,e[t].add(n)}});const{traverse:H7}=st,{generate:z7}=Kj,Y7=N7,{getPosition:G7}=L7,Q7=F7,{validate:Z7}=M7,{listStore:eee,mapStore:tee,upStore:nee,upListStore:ree,pathStore:iee}=R7,{merge:see}=H7.visitors,{assign:aee}=Object,oee=(e,t,n)=>{const r=[];return t[e]&&(Z7(e,t[e]),r.push(...Q7(t[e]()))),n[e]&&r.push(...Q7(n[e])),r};var uee=(e,{fix:t,shebang:n,template:r})=>{const i=[],s={};for(const{rule:a,plugin:o,msg:u,options:c}of e){const{push:e,pull:l,store:p,upstore:d,listStore:h,pathStore:f,uplist:m}=cee(o,{fix:t,rule:a,shebang:n,msg:u,options:c});s[a]=l;const y=o.traverse({push:e,store:p,listStore:h,pathStore:f,upstore:d,uplist:m,generate:z7,options:c});if(!y)throw Error(`☝️ Visitors cannot be empty in "${a}"`);aee(c,{include:oee("include",o,c),exclude:oee("exclude",o,c)}),i.push(...r({rule:a,visitor:y,options:c}))}return{entries:Object.entries(s),visitor:see(i)}};function cee(e,{fix:t,rule:n,shebang:r,msg:i,options:s}){const a=tee(),o=eee(),u=nee(),c=eee(),l=ree(),p=iee();return{push:(a,o)=>{const u=G7(a,r),l=i||e.report(a,o);c({message:l,position:u}),Y7(t,e.fix,{path:a,pathOptions:o,rule:n,position:u,options:s})},pull:()=>(a.clear(),o.clear(),u.clear(),l.clear(),p.clear(),c.clear()),store:a,listStore:o,upstore:u,uplist:l,pathStore:p}}const{traverse:lee,types:pee}=st,{generate:dee}=Kj,{merge:hee}=lee.visitors;var fee=function({rule:e,find:t,ast:n,options:r,template:i,traverse:s=lee}){const a=[],o=t(n,{traverse:mee({rule:e,options:r,template:i,traverse:s}),generate:dee,types:pee,push:e=>{a.push(e)},options:r});return[...a,...o||[]]};const mee=({rule:e,options:t,template:n,traverse:r})=>(i,s)=>{const a=hee(n({rule:e,visitor:s,options:t}));return r(i,a)};var yee={exports:{}},gee={},bee={};const xee=e=>void 0===e;const See=(e,t=Number(e))=>(e=>!Number.isNaN(e)&&"number"==typeof e)(t),Tee=e=>/__proto__|prototype/.test(e);var Eee={};const Pee=/\.body\.0\.expression$/,vee=/\.body\.0\.key$/,Aee=/\.body\.0$/;Eee.prepareBodyWay=e=>e.replace(Pee,"").replace(vee,"").replace(Aee,"");var Cee={};const{template:wee}=Kj,{types:kee}=st,{isBlockStatement:Iee,isTSModuleBlock:_ee,isBooleanLiteral:Nee,isIdentifier:Lee,isLiteral:Oee,isTemplateElement:Dee,isFunction:Fee,isImportDefaultSpecifier:Mee,isExportSpecifier:Bee,isRegExpLiteral:Ree,isJSXText:jee,isJSXIdentifier:Uee,isJSXAttribute:qee,isTSTypeReference:Jee,isTSTypeParameterDeclaration:$ee}=kee,Vee="__object",Kee="__array",Wee="__args",Xee="__type_params",Hee="__imports",zee="__exports",Yee="__body",Gee="__jsx_children",Qee="__jsx_attributes",Zee="__",ete="__identifier",tte="__bool",nte=/^__[a-z]$/,rte=/__args__[a-z]$/,ite=/^__identifier__[a-z]$/,ste=/^__bool__[a-z]$/,ate=[Vee,Kee,Wee,Xee,tte,Gee,Qee,Hee,zee,Yee,Zee,ete,nte,rte,ite,ste];function ote(e,t){return"string"==typeof t?e===t:t.test(e)}Cee.isTemplate=e=>/[(;={.\s]/.test(e)||!/^[A-Z]/.test(e),Cee.is=(e,t=ate)=>{for(const n of t)if(ote(e,n))return!0;return!1},Cee.isNameStr=e=>nte.test(e),Cee.isImportsStr=e=>e===Hee,Cee.isExportsStr=e=>e===zee,Cee.isArgsStr=e=>e===Wee||rte.test(e),Cee.isTypeParamsStr=e=>e===Xee,Cee.isJSXChildrenStr=e=>e===Gee,Cee.isJSXAttributesStr=e=>e===Qee,Cee.isObjectStr=e=>e===Vee,Cee.isArrayStr=e=>e===Kee,Cee.isAnyStr=e=>e===Zee,Cee.isBodyStr=e=>e===Yee;const ute=e=>Lee(e,{name:Yee}),cte=(e,t)=>e.type===t.type,{isArray:lte}=Array;Cee.isId=(e,t)=>!!Lee(t,{name:ete})&&Lee(e),Cee.isBool=(e,t)=>!!Lee(t,{name:tte})&&Nee(e),Cee.isEqualType=cte,Cee.isStr=e=>"string"==typeof e,Cee.isAny=e=>!!Lee(e,{name:Zee})||jee(e,{value:Zee}),Cee.isAnyLiteral=(e,t)=>!!Oee(t,{value:Zee})&&cte(e,t),Cee.isArgs=e=>{const t=lte(e)?e[0]:e;return Lee(t,{name:Wee})};Cee.isEqualTypeParams=(e,t)=>!!e&&(!!(e=>{if(!$ee(e))return!1;const{params:t}=e,{name:n}=t[0];return Lee(n,{name:Xee})})(t)&&cte(e,t)),Cee.isLinkedArgs=e=>{const t=lte(e)?e[0]:e;return Lee(t)&&rte.test(t.name)},Cee.isJSXChildren=e=>{const t=lte(e)?e[0]:e;return jee(t,{value:Gee})},Cee.isJSXAttributes=e=>{const t=lte(e)?e[0]:e;return!!qee(t)&&Uee(t.name,{name:Qee})},Cee.isLinkedId=(e,t)=>!(!Lee(t)||!ite.test(t.name))&&Lee(e),Cee.isLinkedBool=(e,t)=>!(!Lee(t)||!ste.test(t.name))&&Nee(e),Cee.isLinkedRegExp=(e,t)=>!(!Ree(t)||!nte.test(t.pattern))&&Ree(e),Cee.isPath=e=>Boolean(e.node),Cee.isArray=lte,Cee.isObject=e=>!!e&&(!lte(e)&&"object"==typeof e),Cee.isArrays=(e,t)=>!(!lte(e)||!lte(t))&&e.length===t.length,Cee.isImports=e=>{const t=lte(e)?e[0]:e;return!!Mee(t)&&Lee(t.local,{name:Hee})},Cee.isExports=e=>{const t=lte(e)?e[0]:e;return!!Bee(t)&&Lee(t.local,{name:zee})};const pte="ObjectPattern|ObjectExpression",dte="ArrayPattern|ArrayExpression";Cee.isEqualAnyArray=(e,t)=>{if(!Lee(t,{name:Kee}))return!1;const{type:n}=e;return dte.includes(n)},Cee.isEqualAnyObject=(e,t)=>{if(!Lee(t,{name:Vee}))return!1;const{type:n}=e;return pte.includes(n)},Cee.isEqualBody=(e,t)=>!!e&&(!!ute(t)&&"BlockStatement"===e.type),Cee.isEqualFunctionDeclarationBody=(e,t)=>{if(!e)return!1;if(!(ute(n=t)||(Iee(n)||_ee(n))&&ute(n.body[0].expression)))return!1;var n;const{type:r}=e;return/BlockStatement|TSModuleBlock/.test(r)},Cee.isEqualNop=(e,t)=>{if(!Lee(t,{name:"__nop"}))return!1;if(!Fee(e))return!1;const{body:n}=e;return!!Iee(n)&&!n.body.length},Cee.isLinkedNode=e=>!(!Lee(e)||!nte.test(e.name))||(!(!Oee(e)||!nte.test(e.value))||(!(!jee(e)||!nte.test(e.value))||(!(!Uee(e)||!nte.test(e.name))||(!(!Dee(e)||!nte.test(e.value.raw))||Jee(e)&&nte.test(e.typeName.name))))),Cee.parseTemplate=(e,{program:t}={})=>{const n=(t?wee.program.ast:wee.ast)(e)||wee.ast.fresh(e);if(e===Vee)return[n,pte];if(e===Kee)return[n,dte];const{type:r}=n;return[n,r]},Cee.isInsideTypeReference=e=>e.isIdentifier()&&e.parentPath?.isTSTypeReference(),Cee.isInsideTypeParameter=e=>e.isIdentifier()&&e.parentPath?.isTSTypeParameter();const hte=(e,t,n)=>{if(n||(n=t,t="."),function(e,t){if(n=e,"string"!=typeof n)throw Error("selector should be string!");var n;if("object"!=typeof t)throw Error("obj should be object!")}(e,n),!e)return n;if(r=n,!Object.keys(r).length)return;var r;const i=e.split(t).filter(Boolean);for(const[e,r]of i.entries()){const s=i.slice(e).join(t);if(!xee(n[s])){n=n[s];break}if(!n[r]){n=void 0;break}n=n[r]}return n},fte=(e,t,n,r)=>{r||(r=n||{},n=".");const i=r;!function(e){if(t=e,"string"!=typeof t)throw Error("selector should be string!");var t}(e);const s=e.split(n).filter(Boolean),a=s.length-1;for(const[e,n]of s.entries())if(!Tee(n)){if(e===a)r[n]=t;else if(!r[n]){const t=s[e+1];r[n]=See(t)?[]:{}}r=r[n]}return i},{traverse:mte,types:yte}=st,{template:gte}=Kj,{replaceWith:bte,extract:xte}=MK,{prepareBodyWay:Ste}=Eee,{is:Tte,isArgsStr:Ete,isTypeParamsStr:Pte,isJSXChildrenStr:vte,isJSXAttributesStr:Ate,isImportsStr:Cte,isExportsStr:wte,isInsideTypeReference:kte,isInsideTypeParameter:Ite,isBodyStr:_te}=Cee,{isIdentifier:Nte,isStatement:Lte,isJSXElement:Ote,isJSXAttribute:Dte,isStringLiteral:Fte,isTemplateLiteral:Mte,templateElement:Bte}=yte,{extractExpression:Rte}=gte,{entries:jte}=Object,{stringify:Ute}=JSON;function qte(e){if(Nte(e)&&Tte(e.name))return{[e.name]:[""]};const t={};return mte(e,{noScope:!0,"Identifier|JSXIdentifier|BooleanLiteral|StringLiteral|TemplateElement|RegExpLiteral|JSXText|JSXAttribute|TSTypeReference|TSTypeParameter"(e){if(kte(e))return;if(Ite(e))return;const{node:n}=e;if(Dte(e.parentPath)&&e.parentPath.node.name===n)return;const r=[],i=xte(n);Tte(i)&&(e.find(({key:e,listKey:t})=>{"number"!=typeof e?r.unshift(e):r.unshift(`${t}.${e}`)}),t[i]=t[i]||[],t[i].push(r.join(".")))}}),t}function Jte({waysFrom:e,node:t}){const n={};for(const[r,i]of jte(e))for(let e of i)Cte(r)||wte(r)?e=e.replace(/\.0.local$/,""):(Ete(r)||vte(r)||Ate(r)||Pte(r))&&(e=e.replace(/\.0$/,"")),Ote(t)||(e=e.replace(/\.expression$/,"")),_te(r)&&(e=Ste(e)),n[r]=n[r]||Rte(hte(e,t));return n}bee.getTemplateValues=(e,t)=>{if("string"!=typeof t)throw Error(`☝️ Looks like argument 'template' of 'getTemplateValues(node, template)': is not a string, but '${Ute(t)}'`);e=(e=>e.node||e)(e);return Jte({node:e,waysFrom:qte(gte.ast(t))})},bee.findVarsWays=qte,bee.getValues=Jte;const $te=e=>e.replace("`","\\`");bee.setValues=function({waysTo:e,values:t,path:n}){const r=Rte(n.node);for(const[i,s]of jte(e))for(let e of s){if(!e){bte(n,t[i]);continue}if((Cte(i)||wte(i))&&(e=e.replace(/\.0.local$/,"")),(Ete(i)||vte(i)||Ate(i))&&(e=e.replace(/\.0$/,"")),Lte(t[i])&&(e=e.replace(/\.expression$/,"")),Fte(t[i])&&Mte(r)){const{value:n}=t[i],s=Bte({raw:$te(n)});fte(e,s,r);continue}_te(i)&&(e=Ste(e));const{extra:s}=hte(e,r);if(s){const e=t[i].extra;t[i].extra={...s,...e}}fte(e,t[i],r)}};var Vte={},Kte={exports:{}};const Wte=v7("putout:compare"),{isArray:Xte}=Array;function Hte(e){if(Xte(e)&&e[0]){const[{type:t,name:n,value:r}]=e;return`${t}: ["${n||r}"]`}if((e=>e&&"object"==typeof e)(e)){const{type:t,name:n,value:r}=e;return`${t}: "${n||r}"`}return`${typeof e}: "${e}"`}Kte.exports=(e,t)=>{if(!Wte.enabled)return;const n=Hte(e),r=Hte(t);return Wte(`${n} = ${r}`)},Kte.exports._parseValue=Hte;var zte=Kte.exports,Yte={exports:{}};const{types:Gte}=st,{isIdentifier:Qte,isLiteral:Zte,isStringLiteral:ene,isTemplateElement:tne,isTSTypeReference:nne,isJSXText:rne,isJSXIdentifier:ine}=Gte,sne=e=>{e=e[0]||e;const{name:t,value:n}=e;if(Qte(e)||ine(e))return t;if(Zte(e))return n;if(tne(e))return e.value.cooked;if(nne(e))return e.typeName.name;if(rne(e))return e.value;throw Error(`☝️ Looks like type of node '${e.type}' not supported by 'compare -> link -> parseName()'`)};Yte.exports=({add:e,value:t,nodeValue:n,templateStore:r})=>{const i=sne(t);return!(ene(t)&&!ene(n))&&(r[i]?(Qte(r[i])&&nne(n)||e(r[i],n,{plain:!0}),!0):(r[i]=n,!0))},Yte.exports._parseName=sne;var ane=Yte.exports,one={},une={};const{is:cne}=Cee;une.comparePrimitives=(e,t)=>{return!(n=t,"object"==typeof n&&null!==n||cne(t)||t!==e);var n};const{types:lne}=st,{isObject:pne,isArrays:dne}=Cee,{comparePrimitives:hne}=une,{isIdentifier:fne}=lne;one.comparePlain=(e,t,{add:n})=>!e&&e===t||!!e&&(!!hne(e,t)||(!(!fne(e)||e.name!==t.name)||(pne(t)&&!Array.isArray(t)||!!dne(e,t))&&n(e,t,{plain:!0})));const{types:mne}=st,yne=zte,gne=ane,{isId:bne,isBool:xne,isObject:Sne,isArrays:Tne,isAny:Ene,isAnyLiteral:Pne,isArgs:vne,isEqualTypeParams:Ane,isJSXChildren:Cne,isJSXAttributes:wne,isLinkedArgs:kne,isLinkedId:Ine,isLinkedBool:_ne,isImports:Nne,isExports:Lne,isEqualAnyObject:One,isEqualAnyArray:Dne,isEqualBody:Fne,isEqualFunctionDeclarationBody:Mne,isEqualNop:Bne,isLinkedNode:Rne,isLinkedRegExp:jne}=Cee,{comparePlain:Une}=one,{comparePrimitives:qne}=une,{isClassBody:Jne,isBlock:$ne,isJSXText:Vne,isTemplateElement:Kne}=mne,Wne=e=>(t,n)=>e(n),Xne=[qne,function(e,t){if(!Kne(e)||!Kne(t))return!1;const n=e.value.raw===t.value.raw,r=e.value.cooked===t.value.cooked,i=e.tail===t.tail;return n&&r&&i},function(e,t){return!(!Vne(e)||!Vne(t))&&(/^\s+$/.test(t.value)&&/^\s+$/.test(e.value))},function(e,t){return"__"===t},Wne(Jne),Wne(e=>$ne(e)&&!e.body.length),Wne(Ene),bne,xne,Dne,One,Fne,Mne,Bne,Ane,jne,function(e,t,{add:n,templateStore:r}){const i=e&&(Rne(t)||kne(t)||Ine(e,t)||_ne(e,t));return!!i&&gne({add:n,value:t,nodeValue:e,templateStore:r})},Pne,Wne(Nne),Wne(Lne),Wne(vne),Wne(Cne),Wne(wne),function(e,t,{add:n}){const r=Sne(t);r&&n(e,t);return r},function(e,t,{add:n}){const r=Tne(e,t);r&&n(e,t);return r}];Vte.runComparators=(e,t,{add:n,templateStore:r,plain:i})=>{let s=-1;const a=Xne.length;if(yne(t,e),i)return Une(e,t,{add:n});for(;++s<a;){if((0,Xne[s])(e,t,{add:n,templateStore:r}))return!0}return!1};var Hne={};const{types:zne}=st,{isEqualBody:Yne,isEqualAnyObject:Gne,isEqualAnyArray:Qne,isLinkedNode:Zne,isLinkedId:ere,isLinkedRegExp:tre,isEqualNop:nre}=Cee,{isIdentifier:rre,isStringLiteral:ire}=zne,sre=[Gne,Qne,nre,function(e,t){return rre(e)&&Zne(t)},function(e,t){return ire(e)&&Zne(t)},ere,tre,Yne];Hne.runTopLevelComparators=(e,t)=>{let n=-1;const r=sre.length;for(;++n<r;){if((0,sre[n])(e,t))return!0}return!1};const{template:are}=Kj,{findVarsWays:ore,getValues:ure,setValues:cre,getTemplateValues:lre}=bee,{runComparators:pre}=Vte,{runTopLevelComparators:dre}=Hne,{isStr:hre,isId:fre,isPath:mre,isEqualType:yre,isTemplate:gre,parseTemplate:bre}=Cee,{extractExpression:xre}=are,{keys:Sre}=Object,{isArray:Tre}=Array,Ere=()=>{},Pre=e=>Tre(e)&&!e.length,vre=e=>Tre(e)?e:[e];function Are(e){return hre(e)?are.ast(e):e.node?e.node:e}function Cre(e,t,n={},r=Ere){const{findUp:i=!0}=n;if(!e&&!t)return!0;if(!e)return!1;if(!t)return!1;const s=xre(Are(e)),a=xre(Are(t));if(r(s,a),fre(s,a))return!0;if(s.type===t)return!0;if(dre(s,a))return!0;if(i&&mre(e)&&!yre(s,a)){const{type:t}=a,n=((e,t)=>{const n=e.findParent((e=>t=>t.type===e)(t));return n?n.node:null})(e,t);return kre(n,a)}return kre(s,a)}gee.compare=Cre,gee.parseTemplate=bre,gee.isTemplate=gre,gee.findVarsWays=ore,gee.getValues=ure,gee.setValues=cre,gee.getTemplateValues=lre,gee.compareAny=(e,t,n)=>{t=vre(t);for(const r of t)if(Cre(e,r,n))return!0;return!1},gee.compareAll=(e,t,n)=>{t=vre(t);for(const r of t)if(!Cre(e,r,n))return!1;return!0};const wre=["loc","start","end","directives","extra","raw","comments","leadingComments","innerComments","parent","phase","range","trailingComments","importKind","exportKind","__putout_runner_replace"];function kre(e,t){let n=[e,t];const r=[n],i={},s=(e=>(t,n,r={})=>e.push([t,n,r]))(r);for(;n=r.pop();){const[e,t,{plain:r}={}]=n;if(!e||Pre(e)&&!Pre(t))return!1;for(const n of Sre(t)){if(wre.includes(n))continue;const a=xre(e[n]),o=xre(t[n]);if(!pre(a,o,{add:s,templateStore:i,plain:r}))return!1}}return!0}const Ire=N8,{compareAny:_re,compareAll:Nre,parseTemplate:Lre,isTemplate:Ore}=gee,Dre=F7,{createDebug:Fre}=A7,Mre=Fre("putout:runner:template"),{entries:Bre}=Object,Rre=e=>"function"==typeof e,jre=(e,t)=>{Mre.enabled&&Mre(e,t.toString())},{stringify:Ure}=JSON;yee.exports._log=jre;const qre=({rule:e,tmpl:t,fn:n,nodesExclude:r})=>{if(!Rre(n)||!r.length)return{[t]:n};const i=Jre({rule:e,fn:n,nodesExclude:r,nodesInclude:[]});return{[t]:i}};yee.exports=({rule:e,visitor:t,options:n})=>{const r=[],i=Dre(n.exclude),s=Dre(n.include);for(const[n,a]of Bre(t)){if(!n)continue;if(!Ore(n)){r.push(qre({rule:e,tmpl:n,fn:a,nodesExclude:i}));continue}const[t,o]=Lre(n),u=Jre({rule:e,fn:a,nodesExclude:i,nodesInclude:[t,...s]});r.push({[o]:u})}return r},yee.exports._log=jre;const Jre=({rule:e,nodesInclude:t,nodesExclude:n,fn:r})=>i=>{if(jre(e,i),n.length&&_re(i,n))return;if(t.length&&!Nre(i,t))return;if(!Rre(r))throw Error(`☝️ Looks like provided visitor is not a function: ${Ure(r)}. More on using Traverser: https://git.io/JqcMn`);const[s]=Ire(r,i);if(s)throw s.rule=e,s};var $re,Vre=yee.exports,Kre={};function Wre(){}function Xre(){Xre.init.call(this)}function Hre(e){return void 0===e._maxListeners?Xre.defaultMaxListeners:e._maxListeners}function zre(e,t,n,r){var i,s,a;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((s=e._events)?(s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),a=s[t]):(s=e._events=new Wre,e._eventsCount=0),a){if("function"==typeof a?a=s[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),!a.warned&&(i=Hre(e))&&i>0&&a.length>i){a.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=a.length,function(e){"function"==typeof console.warn?console.warn(e):console.log(e)}(o)}}else a=s[t]=n,++e._eventsCount;return e}function Yre(e,t,n){var r=!1;function i(){e.removeListener(t,i),r||(r=!0,n.apply(e,arguments))}return i.listener=n,i}function Gre(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function Qre(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}Wre.prototype=Object.create(null),Xre.EventEmitter=Xre,Xre.usingDomains=!1,Xre.prototype.domain=void 0,Xre.prototype._events=void 0,Xre.prototype._maxListeners=void 0,Xre.defaultMaxListeners=10,Xre.init=function(){this.domain=null,Xre.usingDomains&&(!$re.active||this instanceof $re.Domain||(this.domain=$re.active)),this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new Wre,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Xre.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},Xre.prototype.getMaxListeners=function(){return Hre(this)},Xre.prototype.emit=function(e){var t,n,r,i,s,a,o,u="error"===e;if(a=this._events)u=u&&null==a.error;else if(!u)return!1;if(o=this.domain,u){if(t=arguments[1],!o){if(t instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=o,t.domainThrown=!1,o.emit("error",t),!1}if(!(n=a[e]))return!1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var r=e.length,i=Qre(e,r),s=0;s<r;++s)i[s].call(n)}(n,l,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var i=e.length,s=Qre(e,i),a=0;a<i;++a)s[a].call(n,r)}(n,l,this,arguments[1]);break;case 3:!function(e,t,n,r,i){if(t)e.call(n,r,i);else for(var s=e.length,a=Qre(e,s),o=0;o<s;++o)a[o].call(n,r,i)}(n,l,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,i,s){if(t)e.call(n,r,i,s);else for(var a=e.length,o=Qre(e,a),u=0;u<a;++u)o[u].call(n,r,i,s)}(n,l,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),s=1;s<r;s++)i[s-1]=arguments[s];!function(e,t,n,r){if(t)e.apply(n,r);else for(var i=e.length,s=Qre(e,i),a=0;a<i;++a)s[a].apply(n,r)}(n,l,this,i)}return!0},Xre.prototype.addListener=function(e,t){return zre(this,e,t,!1)},Xre.prototype.on=Xre.prototype.addListener,Xre.prototype.prependListener=function(e,t){return zre(this,e,t,!0)},Xre.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,Yre(this,e,t)),this},Xre.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,Yre(this,e,t)),this},Xre.prototype.removeListener=function(e,t){var n,r,i,s,a;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0===--this._eventsCount?this._events=new Wre:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,s=n.length;s-- >0;)if(n[s]===t||n[s].listener&&n[s].listener===t){a=n[s].listener,i=s;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0===--this._eventsCount)return this._events=new Wre,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,i=e.length;r<i;n+=1,r+=1)e[n]=e[r];e.pop()}(n,i);r.removeListener&&this.emit("removeListener",e,a||t)}return this},Xre.prototype.off=function(e,t){return this.removeListener(e,t)},Xre.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new Wre,this._eventsCount=0):n[e]&&(0===--this._eventsCount?this._events=new Wre:delete n[e]),this;if(0===arguments.length){for(var r,i=Object.keys(n),s=0;s<i.length;++s)"removeListener"!==(r=i[s])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new Wre,this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},Xre.prototype.listeners=function(e){var t,n=this._events;return n&&(t=n[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[]},Xre.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):Gre.call(e,t)},Xre.prototype.listenerCount=Gre,Xre.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var Zre=t(Object.freeze({__proto__:null,EventEmitter:Xre,default:Xre}));const{EventEmitter:eie}=Zre;Kre.createProgress=()=>{let e=0,t=0;const n=new eie;return n.reset=()=>{t=0,e=0},n.file=({i:e,n:t,percent:r,rule:i})=>{n.emit("file",{i:e,n:t,rule:i,percent:r})},n.inc=()=>{++e},n.start=r=>{++t,n.emit("start",{pluginsIndex:t,pluginsCount:e,rule:r})},n.push=r=>{n.emit("push",{pluginsIndex:t,pluginsCount:e,rule:r})},n.end=r=>{n.emit("end",{rule:r,pluginsIndex:t,pluginsCount:e})},n};var tie={};const nie=N8;tie.tryThrowWithReason=(e,...t)=>{const[n,r]=nie(e,...t);if(n)throw n.reason??="traverse",n;return r};var rie={};const iie=v7("putout:runner:include"),sie=F7,{validate:aie}=M7,oie=()=>[],uie=()=>!0;rie.include=({rule:e,plugin:t,msg:n,options:r})=>{const{fix:i,report:s,include:a,exclude:o=oie,filter:u=uie}=t;aie("include",a),aie("report",s);const c=cie(a(),u,e);return{rule:e,msg:n,options:{...r,exclude:[...o(),...sie(r.exclude)]},plugin:{report:s,fix:i,traverse:c}}};const cie=(e,t,n)=>({push:r,options:i})=>{const s={},a=(({rule:e,filter:t,push:n,options:r})=>i=>{iie(e),t(i,{options:r})&&n(i)})({rule:n,filter:t,push:r,options:i});for(const t of e)s[t]=a;return s};var lie={},pie={exports:{}};const die=e=>(...t)=>(...n)=>e(...t,...n);const{entries:hie}=Object,{isArray:fie}=Array;function mie(e,t){const{node:n}=e;let r,i;for([r,i]of hie(t)){if(fie(i)){const e=i.indexOf(n);if(e>=0)return`${r}.${e}`;continue}if(i===n)break}return r}const yie=(e,...t)=>(function(e){if("function"!=typeof e)throw Error("fn should be a function!")}(e),t.length?die(e)(...t):die(e)),{types:gie}=st,bie=e=>{let t={parentPath:e};const n=[];for(;t=t.parentPath;)n.unshift(mie(t,t.parent));return n.join(".")},{isProgram:xie}=gie,Sie="__putout_runner_replace";function Tie(e,t,n){const r=`${e} -> ${t}`;return{watermark:r,highWatermark:`${bie(n)}: ${r}`}}function Eie({path:e,program:t}){e.node&&(e.node[Sie]=e.node[Sie]||new Set),t.node[Sie]=t.node[Sie]||new Set}function Pie({path:e,program:t,watermark:n,highWatermark:r}){Eie({path:e,program:t}),e?.node[Sie].add(n),t.node[Sie].add(r)}function vie({path:e,program:t,watermark:n,highWatermark:r}){const{node:i}=e,{loc:s}=i;return!!(i?.[Sie].has(n)||e.findParent((e=>t=>t.node?.[Sie]?.has(e))(n))&&!s)||t.node[Sie].has(r)}pie.exports=(e,t,n)=>{const{watermark:r,highWatermark:i}=Tie(e,t,n),s={watermark:r,highWatermark:i,program:n.findParent(xie),path:n};return{init:yie(Eie,s),has:yie(vie,s),add:yie(Pie,s)}},pie.exports.REPLACE_WATERMARK=Sie,pie.exports.create=Tie,pie.exports.init=Eie,pie.exports.add=Pie,pie.exports.has=vie;var Aie=pie.exports;const{template:Cie,print:wie}=Kj,{remove:kie,replaceWith:Iie}=MK,{types:_ie}=st,{compare:Nie,findVarsWays:Lie,getValues:Oie,setValues:Die}=gee,Fie=F7,Mie=Aie,{createDebug:Bie}=A7,Rie=Bie("putout:runner:replace"),jie=(e,t)=>{Rie.enabled&&Rie(`${e} -> ${t}\n`)},{isExpression:Uie,isStatement:qie,isExpressionStatement:Jie}=_ie,$ie={printer:["putout",{format:{newline:"",indent:"",splitter:" ",endOfFile:""}}]},{keys:Vie,entries:Kie}=Object,{stringify:Wie}=JSON,Xie=()=>[],Hie=()=>({});lie.replace=({rule:e,plugin:t,msg:n,options:r})=>{const i=(t.match||Hie)({options:r}),{report:s,exclude:a=Xie,replace:o,filter:u=Qie(i)}=t,c=o({options:r}),l=Gie(c,i),p=(d=c,()=>Vie(d));var d;return{rule:e,msg:n,options:{...r,exclude:[...a(),...Fie(r.exclude)]},plugin:{report:s,fix:l,filter:u,include:p}}},lie.clearWatermark=e=>{delete e.program[Mie.REPLACE_WATERMARK]};const zie=e=>"function"==typeof e,Yie=(e,t,n)=>{const r=Cie.ast(e),i=Mie(e,t,n);if(i.init(),i.has())return;const s=Lie(r),a=((e,{node:t})=>e.type!==t.type&&Jie(t)?t.expression:t)(r,n),o=Oie({waysFrom:s,node:a}),u=function(e,t,n){const r=zie(e)?e(t,n):e;if(!r)return null;if(i=r,"object"==typeof i&&r.type)return r.__putout_replace_cooked=!0,r;var i;if(!(e=>"string"==typeof e)(r))throw Error(`☝️ Looks like you passed 'replace' value with a wrong type. Allowed: 'string', 'node' and 'path'. Received: '${typeof r}' with value '${r}'.`);return Cie.ast.fresh(r)}(t,o,n);if(!u)return jie(e,"''"),kie(n);!function(e,t,n){if(!Uie(e))return;if(!qie(t)||Jie(t))return;if(Jie(n)||Jie(n.parentPath))return;throw Error(`☝️ Looks like a try to put Statement in place of Expression, use 'match' to filter out such cases: '${wie(e,$ie)} -> ${wie(t,$ie)}'. For code: '${n}'`)}(r,u,n);const c=Lie(u),l=Iie(n,u);u.__putout_replace_cooked||(ese(c,s),Die({waysTo:c,values:o,path:l})),i.add(),n.scope.getBlockParent().crawl(),jie(e,l)},Gie=(e,t)=>n=>{for(const[r,i]of Kie(e)){const e=Cie.ast(r);if(Nie(n,e,{findUp:!1})){const s=t[r];s&&!Zie(n,e,s)||Yie(r,i,n)}}},Qie=e=>t=>{const n=Kie(e);for(const[e,r]of n){const n=Cie.ast(e);if(Nie(t.node,n,{findUp:!1}))return Zie(t,n,r)}return!0};function Zie(e,t,n){const r=Lie(t),{node:i}=e,s=Oie({waysFrom:r,node:i});return function(e){if(!zie(e))throw Error(`☝️ Looks like 'match' property value is not a 'function', but '${typeof e}' with value '${e}'.`)}(n),n(s,e)}const ese=(e,t)=>{for(const n of Vie(e))if(!t[n])throw Error(`☝️ Looks like template values not linked: ${Wie(Vie(t))} -> ${Wie(Vie(e))}`)};var tse={},nse={},rse={};const ise="__putout_declare_undefined_variables",sse=e=>e.scope.getProgramParent().path,ase=(e,t)=>t[e]=t[e]||{};rse.checkDeclarationForESLint=(e,t)=>{const n=sse(t);return ase(ise,n),n[ise][e]},rse.addDeclarationForESLint=(e,t)=>{const n=sse(t);ase(ise,n),n[ise][e]=!0},rse.setModuleType=(e,t)=>{const n=sse(t);return ase(ise,n),n[ise].__putout_module_type=e,e},rse.getModuleType=e=>{const t=sse(e);return ase(ise,t),t[ise].__putout_module_type};const{template:ose}=Kj,{isESM:use,insertAfter:cse}=MK,{compare:lse}=gee,{types:pse}=st,{addDeclarationForESLint:dse,checkDeclarationForESLint:hse,getModuleType:fse,setModuleType:mse}=rse,{isImportDeclaration:yse,isVariableDeclaration:gse}=pse,{keys:bse}=Object,xse=e=>e.node.source.value.includes("."),Sse=["TSMethodSignature","TSParameterProperty","TSFunctionType","TSDeclareMethod","TSDeclareFunction","TSTypeAliasDeclaration","TSQualifiedName"];nse.declare=e=>({report:Tse,include:Ese,fix:vse(e),filter:Pse(e)});const Tse=e=>{const{name:t}=e.node;return`Declare '${t.split(".").shift()}', it referenced but not defined`},Ese=()=>["ReferencedIdentifier"],Pse=e=>(t,{options:n})=>{if(Sse.includes(t.parentPath.type))return!1;const{dismiss:r=[],type:i}=n,s={...e,...n.declarations},a=bse(s),{scope:o,node:u}=t,{name:c}=u;if(!a.includes(c))return!1;if(r.includes(c))return!1;if(o.hasBinding(c)||hse(c,t))return!1;const l=function(e,t){if(t)return mse(t,e);const n=fse(e);return n||mse((e=>use(e)?"esm":"commonjs")(e),e)}(t,i);return Ase(l,s[c])},vse=e=>(t,{options:n})=>{const r=fse(t),i={...e,...n.declarations},{name:s}=t.node,a=Ase(r,i[s]),o=t.scope.getProgramParent().path.get("body");!function(e,t){const n=function(e,t){const n=wse(t),r=(e=>e.filter(gse).pop())(t);return gse(e)&&n||(yse(e)||Cse(e))&&n?n:gse(e)&&r&&!((e,t)=>t.at(-1)===e)(r,t)?r:null}(e,t),[r]=t;if(gse(e)&&yse(n)||Cse(n))return cse(n,e);if(gse(e))return Cse(r)?r.insertAfter(e):r.insertBefore(e);n?n.isImportDeclaration()&&xse(n)?n.insertBefore(e):cse(n,e):r.insertBefore(e)}(ose.ast.fresh(a),o),dse(s,t)},Ase=(e,t)=>"string"==typeof t?t:t[e];const Cse=e=>lse(e,"const __a = require(__b)");const wse=e=>{const t=[],n=[];for(const r of e)r.isImportDeclaration()&&(xse(r)?n.push(r):t.push(r));return t.pop()||n.pop()};const{declare:kse}=nse,{stringify:Ise}=JSON;tse.declare=({rule:e,plugin:t,msg:n,options:r})=>(function(e){if(t=e,"function"!=typeof t)throw Error(`☝️ Looks like 'declare' property value is not a 'function', but '${typeof e}' with value '${Ise(e)}'.`);var t}(t.declare),{rule:e,plugin:kse(t.declare()),msg:n,options:r});var _se={},Nse={},Lse={};const Ose=Hj(),{assign:Dse}=Object,Fse=()=>{},Mse={renameFile:Fse,removeFile:Fse,createDirectory:Fse,readFileContent:(Bse="",()=>Bse),writeFileContent:Fse,copyFile:Fse};var Bse;const Rse=Dse({},Mse);function jse(e){Dse(Rse,e)}function Use(){Dse(Rse,Mse)}Lse.renameFile=(e,t)=>{Rse.renameFile(e,t)},Lse.removeFile=e=>{Rse.removeFile(e)},Lse.copyFile=(e,t)=>{Rse.copyFile(e,t)},Lse.createDirectory=e=>{Rse.createDirectory(e)},Lse.readFileContent=e=>Rse.readFileContent(e),Lse.writeFileContent=(e,t)=>{Rse.writeFileContent(e,t)},Lse.init=jse,Lse.pause=()=>{Ose(Rse),Use()},Lse.start=()=>{jse(Ose())},Lse.deinit=Use;var qse={};const{types:Jse}=st,{arrayExpression:$se,stringLiteral:Vse,objectProperty:Kse}=Jse;function Wse(e,t){const n=Vse(e);return Kse(n,t)}qse.createTypeProperty=e=>Wse("type",Vse(e)),qse.createFilesProperty=e=>Wse("files",$se(e)),qse.createFilenameProperty=e=>Wse("filename",Vse(e)),qse.createContentProperty=e=>Wse("content",Vse(e));const{join:Xse,basename:Hse,dirname:zse}=v6,{types:Yse}=st,Gse=N8,{setLiteralValue:Qse,getProperty:Zse,traverseProperties:eae}=MK,tae=Lse,{createTypeProperty:nae,createFilesProperty:rae,createFilenameProperty:iae,createContentProperty:sae}=qse,{isProgram:aae,objectExpression:oae}=Yse,uae=e=>"string"==typeof e,{isArray:cae}=Array,lae=e=>{const[t,n]=Gse(btoa,e);return t?btoa(escape(e)):n},pae=e=>{const t=e.replace(/\./g,"\\.").replace(/\*/g,".*").replace("?",".?");return RegExp(`^${t}$`)};function dae(e){if(!e.parentPath)return null;const{parentPath:t}=e.parentPath.parentPath;return aae(t)?null:t}function hae({name:e,base:t,exclude:n}){for(const r of n)if(e===r||pae(r).test(t))return!0;return!1}function fae(e,t,n=[]){!function(e){if(!uae(e)&&!cae(e))throw Error("☝️ Looks like you forget to pass the 'name' of a file to 'findFile(filePath: Path|FilePath, name: string | string[]): FilePath'")}(t);const r=[],i=(e=>cae(e)?e:[e])(t);for(const t of eae(e,"filename")){const{value:e}=t.node.value,s=Hse(e);for(const a of i)if(e===a||pae(a).test(s)){const e=t.parentPath;if(hae({name:a,base:s,exclude:n}))continue;r.push(e)}}return r}function mae(e){return Zse(e,"filename").get("value")}function yae(e){const{value:t}=mae(e).node;return t}function gae(e){return Zse(e,"type").node.value.value}function bae(e){const t=Zse(e,"content");return[Boolean(t),t?.node.value.value]}function xae(e){const t=yae(e);dae(e)&&(e.remove(),tae.removeFile(t))}function Sae(e,t){const n=gae(e);if("directory"!==n){const t=yae(e);throw Error(`☝️ Looks like '${t}' is not a directory, but: '${n}'. Rename to '${t}/'`)}const r=Zse(e,"files"),i=Xse(yae(e),Hse(t)),[s]=fae(r,i);s&&s.remove()}Nse.getParentDirectory=dae,Nse.findFile=fae,Nse.getFileType=gae,Nse.getFileContent=bae,Nse.getFilename=yae,Nse.renameFile=(e,t)=>{const n=yae(e),r=mae(e),i=n.split("/").pop(),s=t.split("/").pop(),a=n.replace(i,s);Qse(r,a),tae.renameFile(n,a)},Nse.removeFile=xae,Nse.removeEmptyDirectory=e=>{if("directory"!==gae(e))return;let t=e;for(;!Eae(e).length;){if("/"===yae(e))break;if(t=dae(e),!t)break;xae(e),e=t}},Nse.moveFile=(e,t)=>{if(e===t)return;const n=yae(t),r=yae(e),i=Tae(t),s=Zse(e,"filename"),a=r.split("/").pop(),o=Xse(n,a);Sae(t,o),Qse(s.get("value"),o),i.node.value.elements.push(e.node),e.remove(),tae.renameFile(r,o)},Nse.copyFile=(e,t)=>{const n=yae(t),r=yae(e),i=r.split("/").pop(),s=Xse(n,i),[a,o]=bae(e),u=oae([nae("file"),iae(s),a&&sae(o)].filter(Boolean));Sae(t,s);Tae(t).node.value.elements.push(u),tae.copyFile(r,s)},Nse.createFile=(e,t,n)=>{Sae(e,t);const r=Tae(e),i=yae(e),s=Xse(i,t),a=[nae("file"),iae(s),n&&sae(n)].filter(Boolean);r.node.value.elements.push(oae(a));const o=r.get("value.elements").at(-1);return uae(n)&&vae(o,n),o};const Tae=e=>Zse(e,"files");function Eae(e){return"directory"!==gae(e)?[]:Tae(e).get("value.elements")}function Pae(e,t){const n=Tae(e),r=yae(e),i=Xse(r,t),s=nae("directory"),a=rae([]),o=iae(i);return n.node.value.elements.push(oae([s,o,a])),tae.createDirectory(i),n.get("value.elements").at(-1)}function vae(e,t){if("directory"===gae(e))return;const n=yae(e);tae.writeFileContent(n,t);const r=Zse(e,"content");if(r)return void Qse(r.node.value,lae(t));const i=sae(lae(t));e.node.properties.push(i)}function Aae(e){let t=dae(e);if(!t)return e;let n=t;for(;t=dae(t);)n=t;return n}Nse.readDirectory=Eae,Nse.createDirectory=Pae,Nse.readFileContent=e=>{if("directory"===gae(e))return"";const[t,n]=bae(e);if(t)return(e=>{if(e.includes(" "))return e;const[t,n]=Gse(atob,e);return t?e:unescape(n)})(n);const r=yae(e),i=tae.readFileContent(r),s=sae(lae(i));return e.node.properties.push(s),i},Nse.writeFileContent=vae,Nse.createNestedDirectory=(e,t)=>{const n=Aae(e);if(zse(t)===yae(e))return Pae(e,Hse(t));let r=t;const i=yae(n),s=[];let a=r;for(;r!==i;)if(s.unshift(r),a=r,r=zse(r),r===a){r=i;for(const[e,t]of s.entries())s[e]=Xse(i,t);s.shift();break}let o=fae(n,s).at(-1)||n;const u=yae(o),c=s.length;let l=s.indexOf(u)+1;for(;l<c;l++){o=Pae(o,Hse(s[l]))}return o},Nse.getRootDirectory=Aae,Nse.init=tae.init,Nse.deinit=tae.deinit,Nse.pause=tae.pause,Nse.start=tae.start;var Cae={};const{basename:wae,dirname:kae}=v6,{types:Iae}=st,{createDirectory:_ae,getFileType:Nae,getFilename:Lae,findFile:Oae}=Nse,{__filesystem_name:Dae}=P4,{replaceWith:Fae,getProperty:Mae}=MK,{objectExpression:Bae,arrayExpression:Rae,stringLiteral:jae,isArrayExpression:Uae,isStringLiteral:qae,isTemplateLiteral:Jae,objectProperty:$ae}=Iae;Cae.report=()=>"Convert Simple Filesystem to Filesystem";const Vae=e=>e.endsWith("/"),Kae=e=>{const t=Vae(e)?"directory":"file";return $ae(jae("type"),jae(t))},Wae=e=>$ae(jae("filename"),jae(e)),Xae=e=>Vae(e)?$ae(jae("files"),Rae([])):null,Hae=e=>$ae(jae("content"),jae(e));function zae(e,t){if(qae(e))return e.value;if(Jae(e))return btoa(e.quasis[0].value.raw);throw Error(`☝️ Looks like wrong content type: '${e.type}' from file: '${t}'`)}Cae.fix=e=>{const t=Rae([]);for(const n of e.get("elements")){if(Uae(n)){const[e,r]=n.node.elements,{value:i}=e,s=zae(r,n);t.elements.push(Bae([Kae(i),Wae(i),Hae(s)]));continue}if(qae(n)){const{value:e}=n.node;t.elements.push(Bae([Kae(e),Wae(Yae(e)),Xae(e)].filter(Boolean)));continue}throw Error(`☝️ Looks like file '${n}' has wrong type: '${n.type}' expected: 'string | array'`)}!function(e,t){const[n,...r]=Oae(t,"*");for(const e of r){const t=Lae(e);Gae(t);const r=Nae(e),i=kae(t),s=wae(t),[a]=Oae(n,i);if(!a||"directory"!==Nae(a))throw Error(`☝️ Looks like directory '${i}/' is missing`);if("directory"===r){_ae(a,s);continue}Mae(a,"files").node.value.elements.push(e.node)}Fae(e,n)}(e,t)},Cae.traverse=({push:e})=>({[`${Dae}(__array)`]:t=>{const n=t.get("arguments.0");e(n)}});const Yae=e=>"/"===e?e:e.endsWith("/")?e.slice(0,-1):e;function Gae(e){if(!e.includes("/"))throw Error(`☝️ Looks like directory path is missing: '${e}'`)}var Qae={};const{types:Zae}=st,{replaceWith:eoe,getProperty:toe}=MK,{__filesystem_name:noe}=P4,{findFile:roe,getFilename:ioe,getFileType:soe}=Nse,{stringLiteral:aoe,arrayExpression:ooe}=Zae,{isArray:uoe}=Array,coe=e=>"/"===e?e:`${e}/`;Qae.report=()=>"Convert Filesystem to Simple Filesystem",Qae.fix=(e,{files:t})=>{const n=[];for(const e of t){const t=ioe(e),r=soe(e),i=toe(e,"content"),s=i?.node?.value;s?n.push([t,s.value]):"directory"!==r?n.push(t):n.push(coe(t))}const r=[];for(const e of n)uoe(e)?r.push(ooe([aoe(e[0]),aoe(e[1])])):r.push(aoe(e));eoe(e,ooe(r))},Qae.traverse=({push:e})=>({[`${noe}(__object)`]:t=>{const n=t.get("arguments.0"),r=roe(n,"*");e(n,{files:r})}});const loe=Hj,{compare:poe}=gee,{__filesystem_name:doe}=P4,{findFile:hoe,pause:foe,start:moe}=Nse,yoe=v7("putout:runner:scanner"),goe=Cae,boe=Qae;_se.scan=({rule:e,plugin:t,msg:n,options:r},{progress:i})=>{const{scan:s,report:a,fix:o}=t;i.inc();return{rule:e,msg:n,options:r,plugin:{report:a,fix:o,traverse:Soe({scan:s,rule:e,progress:i})}}};const xoe=({push:e,rule:t,progress:n})=>(...r)=>{n.push(t),e(...r)},Soe=({scan:e,rule:t,progress:n})=>({push:r,options:i})=>({[`${doe}(__)`](s){yoe(t),n.start(t);const a=s.get("arguments.0"),o=loe(!1),u=(({rule:e,progress:t})=>({i:n,n:r})=>{++n;const i=`${Math.round(n/r*100)}%`;t.file({i:n,n:r,percent:i,rule:e})})({rule:t,progress:n}),c=(e=>function*(...t){const n=hoe(...t),r=n.length;for(const[t,i]of n.entries())e({i:t,n:r}),yield i})(u);Eoe(goe,{shouldConvert:!0,path:s,isSimple:o}),e(a,{push:xoe({push:r,rule:t,progress:n}),progress:u,trackFile:c,options:i}),Eoe(boe,{shouldConvert:o(),path:s,isSimple:o}),n.end(t)}}),Toe=({fix:e,isSimple:t})=>(...n)=>(t(!0),e(...n));function Eoe(e,{path:t,isSimple:n,shouldConvert:r=!0}){const{traverse:i,fix:s}=e;if(!r)return;const a=i({push:Toe({fix:s,isSimple:n})}),[o,u]=function(e){const t=e[`${doe}(__object)`],n=e[`${doe}(__array)`];return t?[t,`${doe}(__object)`]:[n,`${doe}(__array)`]}(a);poe(t,u)&&(foe(),o(t),moe())}const{traverse:Poe}=st,voe=s8,Aoe=v7("putout:runner:find"),Coe=N7,woe=uee,koe=fee,Ioe=Vre,{createProgress:_oe}=Kre,{tryThrowWithReason:Noe}=tie,{include:Loe}=rie,{replace:Ooe,clearWatermark:Doe}=lie,{declare:Foe}=tse,{scan:Moe}=_se,{getPath:Boe,getPosition:Roe}=L7,joe=e=>e?.removed;S7.runPlugins=({ast:e,shebang:t,fix:n,fixCount:r=2,plugins:i,progress:s=_oe(),traverse:a=Poe})=>{let o=[];const u=voe(woe),{pluginsFind:c,pluginsTraverse:l}=function(e,{progress:t}){const n=[],r=[];for(const i of e){const{plugin:e}=i;e.find?n.push(i):e.traverse?r.push(i):e.replace?r.push(Loe(Ooe(i))):e.declare?r.push(Loe(Foe(i))):e.include?r.push(Loe(i)):e.scan&&r.push(Moe(i,{progress:t}))}return{pluginsFind:n,pluginsTraverse:r}}(i,{progress:s});for(let i=0;i<r;i++){if(o=Uoe({ast:e,fix:n,shebang:t,pluginsFind:c,pluginsTraverse:l,merge:u,template:Ioe,traverse:a}),s.reset(),!n||!o.length)return o;Doe(e)}return o},S7.getPosition=Roe;const Uoe=({ast:e,fix:t,shebang:n,pluginsFind:r,pluginsTraverse:i,template:s,merge:a,traverse:o})=>[...Joe({ast:e,fix:t,shebang:n,template:s,pluginsFind:r,traverse:o}),...qoe({ast:e,fix:t,shebang:n,template:s,pluginsTraverse:i,merge:a,traverse:o})];function qoe({ast:e,fix:t,shebang:n,template:r,pluginsTraverse:i,merge:s,traverse:a}){const{entries:o,visitor:u}=s(i,{fix:t,shebang:n,template:r});Noe(a,e,u);const c=[];for(const[e,t]of o){const n=t();for(const{message:t,position:r}of n)c.push({rule:e,message:t,position:r})}return c}function Joe({ast:e,fix:t,shebang:n,template:r,pluginsFind:i,traverse:s}){const a=[];for(const{rule:o,plugin:u,msg:c,options:l}of i){Aoe(`find: ${o}`);const{report:i,find:p}=u,d=Noe(koe,{rule:o,find:p,ast:e,options:l,fix:t,shebang:n,template:r,traverse:s});if(d.length)for(const e of d){const r=c||i(e),{parentPath:s}=Boe(e),p=Roe(e,n);a.push({rule:o,message:r,position:p}),joe(s)||Coe(t,u.fix,{path:e,rule:o,position:p,options:l})}}return a}const $oe=u6,Voe=S7,{createProgress:Koe}=Kre;o6.defaultOptions=(e={})=>{const{parser:t="babel",printer:n=e.printer||"putout",fix:r=!0,fixCount:i=3,loadPlugins:s=$oe.loadPlugins,loadPluginsAsync:a=$oe.loadPluginsAsync,runPlugins:o=Voe.runPlugins,progress:u=Koe()}=e;return{...e,parser:t,printer:n,fix:r,fixCount:i,loadPlugins:s,loadPluginsAsync:a,runPlugins:o,progress:u}};var Woe={};const Xoe=e=>e.replace(/\s\(\d:\d+\)/,""),Hoe=N8,{validateRulesRelations:zoe}=u6,{defaultOptions:Yoe}=o6,{cutShebang:Goe}=a6,Qoe=(e,t="parser")=>{const{line:n,column:r}=e.loc||{line:1,column:1};return[{rule:e.rule?`${e.rule} (parser)`:t,message:Xoe(e.message),position:{line:n,column:r}}]},Zoe=e=>e?Qoe(e,"loader"):[];Woe.transform=(e,t,n)=>{n=Yoe(n);const{plugins:r,cache:i,rules:s,fix:a,fixCount:o,loadPlugins:u,runPlugins:c,progress:l}=n,[,p]=Goe(t),[d]=Hoe(zoe,{rules:s,pluginNames:r}),h=c({ast:e,shebang:p,fix:a,fixCount:o,plugins:u({pluginNames:r,cache:i,rules:s}),progress:l});return[...Zoe(d),...h]},Woe.transformAsync=async(e,t,n)=>{n=Yoe(n);const{plugins:r,cache:i,rules:s,fix:a,fixCount:o,loadPluginsAsync:u,runPlugins:c,progress:l}=n,[,p]=Goe(t),[d]=Hoe(zoe,{rules:s,pluginNames:r}),h=c({ast:e,shebang:p,fix:a,fixCount:o,plugins:await u({pluginNames:r,cache:i,rules:s}),progress:l});return[...Zoe(d),...h]};var eue={};const{transform:tue,transformAsync:nue}=Woe;eue.findPlaces=(e,t,n)=>tue(e,t,{...n,fix:!1}),eue.findPlacesAsync=async(e,t,n)=>await nue(e,t,{...n,fix:!1});const{isArray:rue}=Array,iue=()=>{};var sue=()=>{let e=0,t=0;return async(n,r)=>{const{name:i,rule:s,source:a,places:o,index:u=0,count:c=1,trace:l=iue,formatterOptions:p={}}=r;if(!rue(o))throw Error(`☝️ Looks like for 'places: Places[]' you passed the wrong type: '${typeof o}'`);return o.length&&++e,t+=o.length,l("progress",{rule:s,name:i,options:p,source:a,places:o,index:u,count:c,filesCount:e,errorsCount:t}),await n({rule:s,name:i,options:p,source:a,places:o,index:u,count:c,filesCount:e,errorsCount:t})}},aue={};const{types:oue,traverse:uue}=st,{compare:cue,parseTemplate:lue,isTemplate:pue,getTemplateValues:due}=gee,{isFile:hue,isProgram:fue}=oue,{merge:mue}=uue.visitors,{entries:yue}=Object;aue.traverse=xue;const gue=e=>{if((e=>Boolean(e.node))(e))return e.traverse.bind(e);const t=!hue(e)&&!fue(e);return n=>{uue(e,{noScope:t,...n})}},bue=([e])=>e;function xue(e,t){const n=gue(e),r=[],i=yue(t);if(!i.map(bue).find(pue))return n(t);for(const[e,t]of i){if(!pue(e)){r.push({[e]:t});continue}const[n,i]=lue(e),s=Sue({fn:t,node:n,tmpl:e});r.push({[i]:s})}n(mue(r))}const Sue=({fn:e,node:t,tmpl:n})=>r=>{cue(r,t)&&e(r,due(r.node,n))};aue.contains=(e,t)=>{let n=!1;const r=e=>{n=!0,e.stop()},i={};for(const e of t)i[e]=r;return xue(e,i),n};var Tue={};const{setLiteralValue:Eue}=MK,{types:Pue}=st,{isJSXElement:vue,jsxAttribute:Aue,jsxIdentifier:Cue,stringLiteral:wue}=Pue,kue=e=>e.node||e;function Iue(e,t){let n=null;const r=kue(e),{attributes:i}=r.openingElement;for(const e of i)if(e.name.name===t){n=e;break}return n}function _ue(e,t){const n=Iue(e,t);return n?n.value.value:""}function Nue(e,t,n){const r=Iue(e,t);if(!r)return Lue(e,t,n);r.value.value.includes(n)||Eue(r.value,`${r.value.value} ${n}`)}function Lue(e,t,n){const r=kue(e);let i=Iue(r,t);i||(i=Aue(Cue(t),wue(n)),r.openingElement.attributes.push(i))}function Oue(e,t,n){if(!e)return;const r=Iue(e.node||e,t),{value:i}=r.value;if(!i.includes(n))return;const s=i.replace(RegExp(`\\s?${n}`),"").trim();Eue(r.value,s)}function Due(e){return _ue(e,"className")}Tue.hasTagName=(e,t)=>{const n=kue(e);return!!vue(e)&&n.openingElement.name.name===t},Tue.getAttributePath=(e,t)=>{const n=e.get("openingElement.attributes");for(const e of n)if(e.node.name.name===t)return e;return null},Tue.getAttributeNode=Iue,Tue.getAttributeValue=_ue,Tue.addAttributeValue=Nue,Tue.addAttribute=Lue,Tue.removeAttributeValue=Oue,Tue.setAttributeValue=(e,t,n)=>{const r=Iue(e,t);if(!r)return Lue(e,t,n);Eue(r.value,n)},Tue.addClassName=(e,t)=>{Nue(e,"className",t)},Tue.getClassName=Due,Tue.removeClassName=(e,t)=>{Oue(e,"className",t)},Tue.containsClassName=(e,t)=>Due(e).includes(t),Tue.hasDataName=(e,t="")=>_ue(e,"data-name")===t,Tue.hasAttributeValue=(e,t,n="")=>_ue(e,t)===n;var Fue={_hasUFlag:!1,shouldRun:function(e){var t=e.flags.includes("s");return!!t&&(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 n="\\uFFFF",r="";this._hasUFlag&&(n="\\u{10FFFF}",r=""),e.replace({type:"CharacterClass",expressions:[{type:"ClassRange",from:{type:"Char",value:"\\0",kind:"decimal",symbol:"\0"},to:{type:"Char",value:n,kind:"unicode",symbol:r}}]})}}},Mue={_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)}},Bue={RegExp:function(e){var t=e.node;t.flags.includes("x")&&(t.flags=t.flags.replace("x",""))}},Rue={dotAll:Fue,namedCapturingGroups:Mue,xFlag:Bue};function jue(e){return e?Uue[e.type](e):""}var Uue={RegExp:function(e){return"/"+jue(e.body)+"/"+e.flags},Alternative:function(e){return(e.expressions||[]).map(jue).join("")},Disjunction:function(e){return jue(e.left)+"|"+jue(e.right)},Group:function(e){var t=jue(e.expression);return e.capturing?e.name?"(?<"+(e.nameRaw||e.name)+">"+t+")":"("+t+")":"(?:"+t+")"},Backreference:function(e){switch(e.kind){case"number":return"\\"+e.reference;case"name":return"\\k<"+(e.referenceRaw||e.reference)+">";default:throw new TypeError("Unknown Backreference kind: "+e.kind)}},Assertion:function(e){switch(e.kind){case"^":case"$":case"\\b":case"\\B":return e.kind;case"Lookahead":var t=jue(e.assertion);return e.negative?"(?!"+t+")":"(?="+t+")";case"Lookbehind":var n=jue(e.assertion);return e.negative?"(?<!"+n+")":"(?<="+n+")";default:throw new TypeError("Unknown Assertion kind: "+e.kind)}},CharacterClass:function(e){var t=e.expressions.map(jue).join("");return e.negative?"[^"+t+"]":"["+t+"]"},ClassRange:function(e){return jue(e.from)+"-"+jue(e.to)},Repetition:function(e){return""+jue(e.expression)+jue(e.quantifier)},Quantifier:function(e){var t=void 0,n=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 new TypeError("Unknown Quantifier kind: "+e.kind)}return""+t+n},Char:function(e){var t=e.value;switch(e.kind){case"simple":return e.escaped?"\\"+t:t;case"hex":case"unicode":case"oct":case"decimal":case"control":case"meta":return t;default:throw new TypeError("Unknown Char kind: "+e.kind)}},UnicodeProperty:function(e){return"\\"+(e.negative?"P":"p")+"{"+(e.shorthand||e.binary?"":e.name+"=")+e.value+"}"}},que={generate:jue},Jue={General_Category:"gc",Script:"sc",Script_Extensions:"scx"},$ue=Yue(Jue),Vue={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"},Kue=Yue(Vue),Wue={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"},Xue=Yue(Wue),Hue={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"},zue=Yue(Hue);function Yue(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)t[r[i]]=n;else t[r]=n}return t}function Gue(e){return Wue.hasOwnProperty(e)||Xue.hasOwnProperty(e)}function Que(e){return Hue.hasOwnProperty(e)||zue.hasOwnProperty(e)}var Zue={isAlias:function(e){return $ue.hasOwnProperty(e)||Kue.hasOwnProperty(e)},isValidName:function(e){return Jue.hasOwnProperty(e)||$ue.hasOwnProperty(e)||Vue.hasOwnProperty(e)||Kue.hasOwnProperty(e)},isValidValue:function(e,t){return function(e){return"General_Category"===e||"gc"==e}(e)?Gue(t):!!function(e){return"Script"===e||"Script_Extensions"===e||"sc"===e||"scx"===e}(e)&&Que(t)},isGeneralCategoryValue:Gue,isScriptCategoryValue:Que,isBinaryPropertyName:function(e){return Vue.hasOwnProperty(e)||Kue.hasOwnProperty(e)},getCanonicalName:function(e){return $ue.hasOwnProperty(e)?$ue[e]:Kue.hasOwnProperty(e)?Kue[e]:null},getCanonicalValue:function(e){return Xue.hasOwnProperty(e)?Xue[e]:zue.hasOwnProperty(e)?zue[e]:Kue.hasOwnProperty(e)?Kue[e]:null},NON_BINARY_PROP_NAMES_TO_ALIASES:Jue,NON_BINARY_ALIASES_TO_PROP_NAMES:$ue,BINARY_PROP_NAMES_TO_ALIASES:Vue,BINARY_ALIASES_TO_PROP_NAMES:Kue,GENERAL_CATEGORY_VALUE_TO_ALIASES:Wue,GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES:Xue,SCRIPT_VALUE_TO_ALIASES:Hue,SCRIPT_VALUE_ALIASES_TO_VALUE:zue},ece=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function tce(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var nce=void 0,rce={},ice=void 0,sce=void 0;function ace(e,t){return rce.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 oce=[[-1,1,function(e,t){sce=ace(t,t),ice=e}],[0,4,function(e,t,n,r,i,s,a,o){sce=ace(i,o),ice=Nce({type:"RegExp",body:t,flags:vce(r)},Lce(i,o||a))}],[1,1,function(e,t){sce=ace(t,t),ice=e}],[1,0,function(){sce=null,ice=""}],[2,1,function(e,t){sce=ace(t,t),ice=e}],[2,2,function(e,t,n,r){sce=ace(n,r),ice=e+t}],[3,1,function(e,t){sce=ace(t,t),ice=e}],[4,1,function(e,t){sce=ace(t,t),ice=e}],[4,3,function(e,t,n,r,i,s){sce=ace(r,s);var a=null;i&&(a=Lce(r||i,s||i)),ice=Nce({type:"Disjunction",left:e,right:n},a)}],[5,1,function(e,t){sce=ace(t,t),ice=0!==e.length?1===e.length?Nce(e[0],sce):Nce({type:"Alternative",expressions:e},sce):null}],[6,0,function(){sce=null,ice=[]}],[6,2,function(e,t,n,r){sce=ace(n,r),ice=e.concat(t)}],[7,1,function(e,t){sce=ace(t,t),ice=Nce(Object.assign({type:"Assertion"},e),sce)}],[7,2,function(e,t,n,r){sce=ace(n,r),ice=e,t&&(ice=Nce({type:"Repetition",expression:e,quantifier:t},sce))}],[8,1,function(e,t){sce=ace(t,t),ice={kind:"^"}}],[8,1,function(e,t){sce=ace(t,t),ice={kind:"$"}}],[8,1,function(e,t){sce=ace(t,t),ice={kind:"\\b"}}],[8,1,function(e,t){sce=ace(t,t),ice={kind:"\\B"}}],[8,3,function(e,t,n,r,i,s){sce=ace(r,s),ice={kind:"Lookahead",assertion:t}}],[8,3,function(e,t,n,r,i,s){sce=ace(r,s),ice={kind:"Lookahead",negative:!0,assertion:t}}],[8,3,function(e,t,n,r,i,s){sce=ace(r,s),ice={kind:"Lookbehind",assertion:t}}],[8,3,function(e,t,n,r,i,s){sce=ace(r,s),ice={kind:"Lookbehind",negative:!0,assertion:t}}],[9,1,function(e,t){sce=ace(t,t),ice=e}],[9,1,function(e,t){sce=ace(t,t),ice=e}],[9,1,function(e,t){sce=ace(t,t),ice=e}],[10,1,function(e,t){sce=ace(t,t),ice=Ece(e,"simple",sce)}],[10,1,function(e,t){sce=ace(t,t),(ice=Ece(e.slice(1),"simple",sce)).escaped=!0}],[10,1,function(e,t){sce=ace(t,t),(ice=Ece(e,"unicode",sce)).isSurrogatePair=!0}],[10,1,function(e,t){sce=ace(t,t),ice=Ece(e,"unicode",sce)}],[10,1,function(e,t){sce=ace(t,t),ice=function(e,t){var n="P"===e[1],r=e.indexOf("="),i=e.slice(3,-1!==r?r:-1),s=void 0,a=-1===r&&Tce.isGeneralCategoryValue(i),o=-1===r&&Tce.isBinaryPropertyName(i);if(a)s=i,i="General_Category";else if(o)s=i;else{if(!Tce.isValidName(i))throw new SyntaxError("Invalid unicode property name: "+i+".");if(s=e.slice(r+1,-1),!Tce.isValidValue(i,s))throw new SyntaxError("Invalid "+i+" unicode property value: "+s+".")}return Nce({type:"UnicodeProperty",name:i,value:s,negative:n,shorthand:a,binary:o,canonicalName:Tce.getCanonicalName(i)||i,canonicalValue:Tce.getCanonicalValue(s)||s},t)}(e,sce)}],[10,1,function(e,t){sce=ace(t,t),ice=Ece(e,"control",sce)}],[10,1,function(e,t){sce=ace(t,t),ice=Ece(e,"hex",sce)}],[10,1,function(e,t){sce=ace(t,t),ice=Ece(e,"oct",sce)}],[10,1,function(e,t){sce=ace(t,t),ice=function(e,t){var n=Number(e.slice(1));if(n>0&&n<=yce)return Nce({type:"Backreference",kind:"number",number:n,reference:n},t);return Ece(e,"decimal",t)}(e,sce)}],[10,1,function(e,t){sce=ace(t,t),ice=Ece(e,"meta",sce)}],[10,1,function(e,t){sce=ace(t,t),ice=Ece(e,"meta",sce)}],[10,1,function(e,t){sce=ace(t,t),ice=function(e,t){var n=e.slice(3,-1),r=_ce(n);if(gce.hasOwnProperty(r))return Nce({type:"Backreference",kind:"name",number:gce[r],reference:r,referenceRaw:n},t);var i=null,s=null,a=null,o=null;t&&(i=t.startOffset,s=t.startLine,a=t.endLine,o=t.startColumn);var u=/^[\w$<>]/,c=void 0,l=[Ece(e.slice(1,2),"simple",i?{startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:i+=2,endColumn:o+=2}:null)];l[0].escaped=!0,e=e.slice(2);for(;e.length>0;){var p=null;(p=e.match(Ace))||(p=e.match(Cce))?(i&&(c={startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:i+=p[0].length,endColumn:o+=p[0].length}),l.push(Ece(p[0],"unicode",c)),e=e.slice(p[0].length)):(p=e.match(u))&&(i&&(c={startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:++i,endColumn:++o}),l.push(Ece(p[0],"simple",c)),e=e.slice(1))}return l}(e,t)}],[11,1,function(e,t){sce=ace(t,t),ice=e}],[11,0],[12,1,function(e,t){sce=ace(t,t),ice=e}],[12,2,function(e,t,n,r){sce=ace(n,r),e.greedy=!1,ice=e}],[13,1,function(e,t){sce=ace(t,t),ice=Nce({type:"Quantifier",kind:e,greedy:!0},sce)}],[13,1,function(e,t){sce=ace(t,t),ice=Nce({type:"Quantifier",kind:e,greedy:!0},sce)}],[13,1,function(e,t){sce=ace(t,t),ice=Nce({type:"Quantifier",kind:e,greedy:!0},sce)}],[13,1,function(e,t){sce=ace(t,t);var n=xce(e);ice=Nce({type:"Quantifier",kind:"Range",from:n[0],to:n[0],greedy:!0},sce)}],[13,1,function(e,t){sce=ace(t,t),ice=Nce({type:"Quantifier",kind:"Range",from:xce(e)[0],greedy:!0},sce)}],[13,1,function(e,t){sce=ace(t,t);var n=xce(e);ice=Nce({type:"Quantifier",kind:"Range",from:n[0],to:n[1],greedy:!0},sce)}],[14,1,function(e,t){sce=ace(t,t),ice=e}],[14,1,function(e,t){sce=ace(t,t),ice=e}],[15,3,function(e,t,n,r,i,s){sce=ace(r,s);var a=String(e),o=_ce(a);if(!rce.options.allowGroupNameDuplicates&&gce.hasOwnProperty(o))throw new SyntaxError('Duplicate of the named group "'+o+'".');gce[o]=e.groupNumber,ice=Nce({type:"Group",capturing:!0,name:o,nameRaw:a,number:e.groupNumber,expression:t},sce)}],[15,3,function(e,t,n,r,i,s){sce=ace(r,s),ice=Nce({type:"Group",capturing:!0,number:e.groupNumber,expression:t},sce)}],[16,3,function(e,t,n,r,i,s){sce=ace(r,s),ice=Nce({type:"Group",capturing:!1,expression:t},sce)}],[17,3,function(e,t,n,r,i,s){sce=ace(r,s),ice=Nce({type:"CharacterClass",negative:!0,expressions:t},sce)}],[17,3,function(e,t,n,r,i,s){sce=ace(r,s),ice=Nce({type:"CharacterClass",expressions:t},sce)}],[18,0,function(){sce=null,ice=[]}],[18,1,function(e,t){sce=ace(t,t),ice=e}],[19,1,function(e,t){sce=ace(t,t),ice=[e]}],[19,2,function(e,t,n,r){sce=ace(n,r),ice=[e].concat(t)}],[19,4,function(e,t,n,r,i,s,a,o){sce=ace(i,o),Sce(e,n),ice=[Nce({type:"ClassRange",from:e,to:n},Lce(i,a))],r&&(ice=ice.concat(r))}],[20,1,function(e,t){sce=ace(t,t),ice=e}],[20,2,function(e,t,n,r){sce=ace(n,r),ice=[e].concat(t)}],[20,4,function(e,t,n,r,i,s,a,o){sce=ace(i,o),Sce(e,n),ice=[Nce({type:"ClassRange",from:e,to:n},Lce(i,a))],r&&(ice=ice.concat(r))}],[21,1,function(e,t){sce=ace(t,t),ice=Ece(e,"simple",sce)}],[21,1,function(e,t){sce=ace(t,t),ice=e}],[22,1,function(e,t){sce=ace(t,t),ice=e}],[22,1,function(e,t){sce=ace(t,t),ice=Ece(e,"meta",sce)}]],uce={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"},cce=[{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"}],lce=[],pce=void 0,dce=[[/^#[^\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 kce(nce.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&&"\\-"===nce)return"ESC_CHAR";if("u"===e||"xu"===e||"u_class"===e)throw new SyntaxError("invalid Unicode escape "+nce);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 kce(nce=nce.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"}]],hce={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]},fce={type:"$",value:""};pce={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(fce);for(var e=this._string.slice(this._cursor),t=hce[this.getCurrentState()],n=0;n<t.length;n++){var r=t[n],i=dce[r],s=this._match(e,i[0]);if(""===e&&""===s&&this._cursor++,null!==s){(nce=s).length;var a=i[1].call(this);if(!a)return this.getNextToken();if(Array.isArray(a)){var o,u=a.slice(1);if(a=a[0],u.length>0)(o=this._tokensQueue).unshift.apply(o,tce(u))}return this.onToken(this._toToken(a,nce))}}if(this.isEOF())return this._cursor++,fce;this.throwUnexpectedToken(e[0],this._currentLine,this._currentColumn)},throwUnexpectedToken:function(e,t,n){var r=this._string.split("\n")[t-1],i="";r&&(i="\n\n"+r+"\n"+" ".repeat(n)+"^\n");throw new SyntaxError(i+'Unexpected token: "'+e+'" at '+t+":"+n+".")},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 n=void 0;null!==(n=t.exec(e));)this._currentLine++,this._currentLineBeginOffset=this._tokenStartOffset+n.index+1;this._tokenEndOffset=this._cursor+e.length,this._tokenEndLine=this._currentLine,this._tokenEndColumn=this._currentColumn=this._tokenEndOffset-this._currentLineBeginOffset},_toToken:function(e){return{type:e,value:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",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 n=e.match(t);return n?(this._captureLocation(n[0]),this._cursor+=n[0].length,n[0]):null},onToken:function(e){return e}},rce.lexer=pce,rce.tokenizer=pce,rce.options={captureLocations:!0};var mce={setOptions:function(e){return rce.options=e,this},getOptions:function(){return rce.options},parse:function(e,t){if(!pce)throw new Error("Tokenizer instance wasn't specified.");pce.initString(e);var n=rce.options;t&&(rce.options=Object.assign({},rce.options,t)),mce.onParseBegin(e,pce,rce.options),lce.length=0,lce.push(0);var r=pce.getNextToken(),i=null;do{r||(rce.options=n,Dce());var s=lce[lce.length-1],a=uce[r.type];cce[s].hasOwnProperty(a)||(rce.options=n,Oce(r));var o=cce[s][a];if("s"===o[0]){var u=null;rce.options.captureLocations&&(u={startOffset:r.startOffset,endOffset:r.endOffset,startLine:r.startLine,endLine:r.endLine,startColumn:r.startColumn,endColumn:r.endColumn}),i=this.onShift(r),lce.push({symbol:uce[i.type],semanticValue:i.value,loc:u},Number(o.slice(1))),r=pce.getNextToken()}else if("r"===o[0]){var c=o.slice(1),l=oce[c],p="function"==typeof l[2],d=p?[]:null,h=p&&rce.options.captureLocations?[]:null;if(0!==l[1])for(var f=l[1];f-- >0;){lce.pop();var m=lce.pop();p&&(d.unshift(m.semanticValue),h&&h.unshift(m.loc))}var y={symbol:l[0]};if(p){nce=i?i.value:null,i&&i.value.length;var g=null!==h?d.concat(h):d;l[2].apply(l,tce(g)),y.semanticValue=ice,h&&(y.loc=sce)}var b=lce[lce.length-1],x=l[0];lce.push(y,cce[b][x])}else if("acc"===o){lce.pop();var S=lce.pop();return(1!==lce.length||0!==lce[0]||pce.hasMoreTokens())&&(rce.options=n,Oce(r)),S.hasOwnProperty("semanticValue")?(rce.options=n,mce.onParseEnd(S.semanticValue),S.semanticValue):(mce.onParseEnd(),rce.options=n,!0)}}while(pce.hasMoreTokens()||lce.length>1)},setTokenizer:function(e){return pce=e,mce},getTokenizer:function(){return pce},onParseBegin:function(e,t,n){},onParseEnd:function(e){},onShift:function(e){return e}},yce=0,gce={},bce="";function xce(e){var t=e.match(/\d+/g).map(Number);if(Number.isFinite(t[1])&&t[1]<t[0])throw new SyntaxError("Numbers out of order in "+e+" quantifier");return t}function Sce(e,t){if("control"===e.kind||"control"===t.kind||!isNaN(e.codePoint)&&!isNaN(t.codePoint)&&e.codePoint>t.codePoint)throw new SyntaxError("Range "+e.value+"-"+t.value+" out of order in character class")}mce.onParseBegin=function(e,t){bce=e,yce=0,gce={};var n=e.lastIndexOf("/"),r=e.slice(n);r.includes("x")&&r.includes("u")?t.pushState("xu"):(r.includes("x")&&t.pushState("x"),r.includes("u")&&t.pushState("u"))},mce.onShift=function(e){return"L_PAREN"!==e.type&&"NAMED_CAPTURE_GROUP"!==e.type||(e.value=new String(e.value),e.value.groupNumber=++yce),e};var Tce=Zue;function Ece(e,t,n){var r=void 0,i=void 0;switch(t){case"decimal":i=Number(e.slice(1)),r=String.fromCodePoint(i);break;case"oct":i=parseInt(e.slice(1),8),r=String.fromCodePoint(i);break;case"hex":case"unicode":if(e.lastIndexOf("\\u")>0){var s=e.split("\\u").slice(1),a=ece(s,2),o=a[0],u=a[1];i=1024*((o=parseInt(o,16))-55296)+((u=parseInt(u,16))-56320)+65536,r=String.fromCodePoint(i)}else{var c=e.slice(2).replace("{","");if((i=parseInt(c,16))>1114111)throw new SyntaxError("Bad character escape sequence: "+e);r=String.fromCodePoint(i)}break;case"meta":switch(e){case"\\t":i=(r="\t").codePointAt(0);break;case"\\n":i=(r="\n").codePointAt(0);break;case"\\r":i=(r="\r").codePointAt(0);break;case"\\v":i=(r="\v").codePointAt(0);break;case"\\f":i=(r="\f").codePointAt(0);break;case"\\b":i=(r="\b").codePointAt(0);case"\\0":r="\0",i=0;case".":r=".",i=NaN;break;default:i=NaN}break;case"simple":i=(r=e).codePointAt(0)}return Nce({type:"Char",value:e,kind:t,symbol:r,codePoint:i},n)}var Pce="gimsuxy";function vce(e){var t=new Set,n=!0,r=!1,i=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done);n=!0){var o=s.value;if(t.has(o)||!Pce.includes(o))throw new SyntaxError("Invalid flags: "+e);t.add(o)}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return e.split("").sort().join("")}var Ace=/^\\u[0-9a-fA-F]{4}/,Cce=/^\\u\{[0-9a-fA-F]{1,}\}/,wce=/\\u\{[0-9a-fA-F]{1,}\}/;function kce(e,t){if(wce.test(e)&&!("u"===t||"xu"===t||"u_class"===t))throw new SyntaxError('invalid group Unicode name "'+e+'", use `u` flag.');return e}var Ice=/\\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 _ce(e){return e.replace(new RegExp(Ice,"g"),function(e,t,n,r,i,s,a){return t?String.fromCodePoint(parseInt(t,16),parseInt(n,16)):r?String.fromCodePoint(parseInt(r,16)):i?String.fromCodePoint(parseInt(i,16)):s?String.fromCodePoint(parseInt(s,16)):a?String.fromCodePoint(parseInt(a,16)):e})}function Nce(e,t){return rce.options.captureLocations&&(e.loc={source:bce.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 Lce(e,t){return rce.options.captureLocations?{startOffset:e.startOffset,endOffset:t.endOffset,startLine:e.startLine,endLine:t.endLine,startColumn:e.startColumn,endColumn:t.endColumn}:null}function Oce(e){"$"===e.type&&Dce(),pce.throwUnexpectedToken(e.value,e.startLine,e.startColumn)}function Dce(){!function(e){throw new SyntaxError(e)}("Unexpected end of input.")}var Fce=mce;Fce.default;var Mce=Fce,Bce=Mce.parse.bind(Mce);Mce.parse=function(e,t){return Bce(""+e,t)},Mce.setOptions({captureLocations:!1});var Rce=Mce;Rce.default;var jce=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Uce="expressions",qce="expression",Jce=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.node=t,this.parentPath=n,this.parent=n?n.node:null,this.property=r,this.index=i}return jce(e,[{key:"_enforceProp",value:function(e){if(!this.node.hasOwnProperty(e))throw new Error("Node of type "+this.node.type+" doesn't have \""+e+'" collection.')}},{key:"setChild",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=void 0;return null!=n?(r||(r=Uce),this._enforceProp(r),this.node[r][n]=t,i=e.getForNode(t,this,r,n)):(r||(r=qce),this._enforceProp(r),this.node[r]=t,i=e.getForNode(t,this,r,null)),i}},{key:"appendChild",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t||(t=Uce),this._enforceProp(t);var n=this.node[t].length;return this.setChild(e,n,t)}},{key:"insertChildAt",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Uce;this._enforceProp(r),this.node[r].splice(n,0,t),n<=e.getTraversingIndex()&&e.updateTraversingIndex(1),this._rebuildIndex(this.node,r)}},{key:"remove",value:function(){if(!this.isRemoved()&&(e.registry.delete(this.node),this.node=null,this.parent)){if(null!==this.index)return this.parent[this.property].splice(this.index,1),this.index<=e.getTraversingIndex()&&e.updateTraversingIndex(-1),this._rebuildIndex(this.parent,this.property),this.index=null,void(this.property=null);delete this.parent[this.property],this.property=null}}},{key:"_rebuildIndex",value:function(t,n){for(var r=e.getForNode(t),i=0;i<t[n].length;i++){e.getForNode(t[n][i],r,n,i).index=i}}},{key:"isRemoved",value:function(){return null===this.node}},{key:"replace",value:function(t){return e.registry.delete(this.node),this.node=t,this.parent?(null!==this.index?this.parent[this.property][this.index]=t:this.parent[this.property]=t,e.getForNode(t,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 t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.node.expressions?e.getForNode(this.node.expressions[t],this,Uce,t):this.node.expression&&0==t?e.getForNode(this.node.expression,this,qce):null}},{key:"hasEqualSource",value:function(e){return JSON.stringify(this.node,$ce)===JSON.stringify(e.node,$ce)}},{key:"jsonEncode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.format,n=e.useLoc;return JSON.stringify(this.node,n?null:$ce,t)}},{key:"getPreviousSibling",value:function(){return this.parent&&null!=this.index?e.getForNode(this.parent[this.property][this.index-1],e.getForNode(this.parent),this.property,this.index-1):null}},{key:"getNextSibling",value:function(){return this.parent&&null!=this.index?e.getForNode(this.parent[this.property][this.index+1],e.getForNode(this.parent),this.property,this.index+1):null}}],[{key:"getForNode",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1;if(!t)return null;e.registry.has(t)||e.registry.set(t,new e(t,n,r,-1==i?null:i));var s=e.registry.get(t);return null!==n&&(s.parentPath=n,s.parent=s.parentPath.node),null!==r&&(s.property=r),i>=0&&(s.index=i),s}},{key:"initRegistry",value:function(){e.registry||(e.registry=new Map),e.registry.clear()}},{key:"updateTraversingIndex",value:function(t){return e.traversingIndexStack[e.traversingIndexStack.length-1]+=t}},{key:"getTraversingIndex",value:function(){return e.traversingIndexStack[e.traversingIndexStack.length-1]}}]),e}();function $ce(e,t){if("loc"!==e)return t}Jce.initRegistry(),Jce.traversingIndexStack=[];var Vce=Jce;Vce.default;var Kce=Vce;var Wce={traverse:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{asNodes:!1};function r(e,t,n,r){var i=Kce.getForNode(t);return Kce.getForNode(e,i,n,r)}Array.isArray(t)||(t=[t]),t=t.filter(function(t){return"function"!=typeof t.shouldRun||t.shouldRun(e)}),Kce.initRegistry(),t.forEach(function(t){"function"==typeof t.init&&t.init(e)}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.pre,r=t.post,i=t.skipProperty;!function e(t,s,a,o){if(t&&"string"==typeof t.type){var u=void 0;if(n&&(u=n(t,s,a,o)),!1!==u)for(var c in s&&s[a]&&(t=isNaN(o)?s[a]:s[a][o]),t)if(t.hasOwnProperty(c)){if(i?i(c,t):"$"===c[0])continue;var l=t[c];if(Array.isArray(l)){var p=0;for(Kce.traversingIndexStack.push(p);p<l.length;)e(l[p],t,c,p),p=Kce.updateTraversingIndex(1);Kce.traversingIndexStack.pop()}else e(l,t,c)}r&&r(t,s,a,o)}}(e,null)}(e,{pre:function(e,i,s,a){var o=void 0;n.asNodes||(o=r(e,i,s,a));var u=!0,c=!1,l=void 0;try{for(var p,d=t[Symbol.iterator]();!(u=(p=d.next()).done);u=!0){var h=p.value;if("function"==typeof h["*"])if(o){if(!o.isRemoved())if(!1===h["*"](o))return!1}else h["*"](e,i,s,a);var f=void 0;if("function"==typeof h[e.type]?f=h[e.type]:"object"==typeof h[e.type]&&"function"==typeof h[e.type].pre&&(f=h[e.type].pre),f)if(o){if(!o.isRemoved())if(!1===f.call(h,o))return!1}else f.call(h,e,i,s,a)}}catch(e){c=!0,l=e}finally{try{!u&&d.return&&d.return()}finally{if(c)throw l}}},post:function(e,i,s,a){if(e){var o=void 0;n.asNodes||(o=r(e,i,s,a));var u=!0,c=!1,l=void 0;try{for(var p,d=t[Symbol.iterator]();!(u=(p=d.next()).done);u=!0){var h=p.value,f=void 0;if("object"==typeof h[e.type]&&"function"==typeof h[e.type].post&&(f=h[e.type].post),f)if(o){if(!o.isRemoved())if(!1===f.call(h,o))return!1}else f.call(h,e,i,s,a)}}catch(e){c=!0,l=e}finally{try{!u&&d.return&&d.return()}finally{if(c)throw l}}}},skipProperty:function(e){return"loc"===e}})}},Xce=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Hce=que,zce=Rce,Yce=Wce,Gce=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._ast=t,this._source=null,this._string=null,this._regexp=null,this._extra=n}return Xce(e,[{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=Hce.generate(this._ast.body)),this._source}},{key:"getFlags",value:function(){return this._ast.flags}},{key:"toString",value:function(){return this._string||(this._string=Hce.generate(this._ast)),this._string}}]),e}(),Qce={TransformResult:Gce,transform:function(e,t){var n=e;return e instanceof RegExp&&(e=""+e),"string"==typeof e&&(n=zce.parse(e,{captureLocations:!0})),Yce.traverse(n,t),new Gce(n)}},Zce=Rue,ele=Qce,tle={transform:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.length>0?t:Object.keys(Zce),r=void 0,i={};return n.forEach(function(t){if(!Zce.hasOwnProperty(t))throw new Error("Unknown compat-transform: "+t+". Available transforms are: "+Object.keys(Zce).join(", "));var n=Zce[t];r=ele.transform(e,n),e=r.getAST(),"function"==typeof n.getExtra&&(i[t]=n.getExtra())}),r.setExtra(i),r}},nle={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)}},rle="A".codePointAt(0),ile="Z".codePointAt(0),sle="a".codePointAt(0),ale="z".codePointAt(0),ole="0".codePointAt(0),ule="9".codePointAt(0),cle={Char:function(e){var t=e.node,n=e.parent;if(!isNaN(t.codePoint)&&"simple"!==t.kind&&("ClassRange"!==n.type||function(e){var t=e.from,n=e.to;return t.codePoint>=ole&&t.codePoint<=ule&&n.codePoint>=ole&&n.codePoint<=ule||t.codePoint>=rle&&t.codePoint<=ile&&n.codePoint>=rle&&n.codePoint<=ile||t.codePoint>=sle&&t.codePoint<=ale&&n.codePoint>=sle&&n.codePoint<=ale}(n))&&(r=t.codePoint)>=32&&r<=126){var r,i=String.fromCodePoint(t.codePoint),s={type:"Char",kind:"simple",value:i,symbol:i,codePoint:t.codePoint};(function(e,t){if("ClassRange"===t||"CharacterClass"===t)return/[\]\\^-]/.test(e);return/[*[()+?^$./\\|{}]/.test(e)})(i,n.type)&&(s.escaped=!0),e.replace(s)}}};var lle="A".codePointAt(0),ple="Z".codePointAt(0),dle={_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=e.node,n=e.parent;if(!isNaN(t.codePoint)&&(this._hasUFlag||!(t.codePoint>=4096))){if("ClassRange"===n.type){if(!this._AZClassRanges.has(n)&&!function(e){var t=e.from,n=e.to;return t.codePoint>=lle&&t.codePoint<=ple&&n.codePoint>=lle&&n.codePoint<=ple}(n))return;this._AZClassRanges.add(n)}var r=t.symbol.toLowerCase();r!==t.symbol&&(t.value=function(e,t){var n=e.codePointAt(0);if("decimal"===t.kind)return"\\"+n;if("oct"===t.kind)return"\\0"+n.toString(8);if("hex"===t.kind)return"\\x"+n.toString(16);if("unicode"===t.kind){if(t.isSurrogatePair){var r=function(e){var t=Math.floor((e-65536)/1024)+55296,n=(e-65536)%1024+56320;return{lead:t.toString(16),trail:n.toString(16)}}(n),i=r.lead,s=r.trail;return"\\u"+"0".repeat(4-i.length)+i+"\\u"+"0".repeat(4-s.length)+s}if(t.value.includes("{"))return"\\u{"+n.toString(16)+"}";var a=n.toString(16);return"\\u"+"0".repeat(4-a.length)+a}return e}(r,t),t.symbol=r,t.codePoint=r.codePointAt(0))}}};var hle={disjunctionToList:function e(t){if("Disjunction"!==t.type)throw new TypeError('Expected "Disjunction" node, got "'+t.type+'"');var n=[];return t.left&&"Disjunction"===t.left.type?n.push.apply(n,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(e(t.left)).concat([t.right])):n.push(t.left,t.right),n},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))}},fle=hle.increaseQuantifierByOne,mle={Repetition:function(e){var t=e.node;if("Alternative"===e.parent.type&&e.index){var n=e.getPreviousSibling();if(n)if("Repetition"===n.node.type){if(!n.getChild().hasEqualSource(e.getChild()))return;var r=gle(n.node.quantifier),i=r.from,s=r.to,a=gle(t.quantifier),o=a.from,u=a.to;if(n.node.quantifier.greedy!==t.quantifier.greedy&&!yle(n.node.quantifier)&&!yle(t.quantifier))return;t.quantifier.kind="Range",t.quantifier.from=i+o,s&&u?t.quantifier.to=s+u:delete t.quantifier.to,(yle(n.node.quantifier)||yle(t.quantifier))&&(t.quantifier.greedy=!0),n.remove()}else{if(!n.hasEqualSource(e.getChild()))return;fle(t.quantifier),n.remove()}}}};function yle(e){return e.greedy&&("+"===e.kind||"*"===e.kind||"Range"===e.kind&&!e.to)}function gle(e){var t=void 0,n=void 0;return"*"===e.kind?t=0:"+"===e.kind?t=1:"?"===e.kind?(t=0,n=1):(t=e.from,e.to&&(n=e.to)),{from:t,to:n}}var ble={Quantifier:function(e){"Range"===e.node.kind&&(function(e){var t=e.node;if(0!==t.from||t.to)return;t.kind="*",delete t.from}(e),function(e){var t=e.node;if(1!==t.from||t.to)return;t.kind="+",delete t.from}(e),function(e){var t=e.node;if(1!==t.from||1!==t.to)return;e.parentPath.replace(e.parentPath.node.expression)}(e))}};function xle(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var Sle={_hasIFlag:!1,_hasUFlag:!1,init:function(e){this._hasIFlag=e.flags.includes("i"),this._hasUFlag=e.flags.includes("u")},CharacterClass:function(e){!function(e){var t=e.node;t.expressions.forEach(function(t,n){(function(e){return"ClassRange"===e.type&&"0"===e.from.value&&"9"===e.to.value})(t)&&e.getChild(n).replace({type:"Char",value:"\\d",kind:"meta"})})}(e),function(e,t,n){var r=e.node,i=null,s=null,a=null,o=null,u=null,c=null;r.expressions.forEach(function(r,l){Ple(r,"\\d")?i=e.getChild(l):!function(e){return"ClassRange"===e.type&&"a"===e.from.value&&"z"===e.to.value}(r)?!function(e){return"ClassRange"===e.type&&"A"===e.from.value&&"Z"===e.to.value}(r)?!function(e){return"Char"===e.type&&"_"===e.value&&"simple"===e.kind}(r)?t&&n&&vle(r,383)?u=e.getChild(l):t&&n&&vle(r,8490)&&(c=e.getChild(l)):o=e.getChild(l):a=e.getChild(l):s=e.getChild(l)}),i&&(s&&a||t&&(s||a))&&o&&(!n||!t||u&&c)&&(i.replace({type:"Char",value:"\\w",kind:"meta"}),s&&s.remove(),a&&a.remove(),o.remove(),u&&u.remove(),c&&c.remove())}(e,this._hasIFlag,this._hasUFlag),function(e){var t=e.node;if(t.expressions.length<Tle.length||!Tle.every(function(e){return t.expressions.some(function(t){return e(t)})}))return;var n=t.expressions.find(function(e){return Ple(e,"\\n")});n.value="\\s",n.symbol=void 0,n.codePoint=NaN,t.expressions.map(function(t,n){return Tle.some(function(e){return e(t)})?e.getChild(n):void 0}).filter(Boolean).forEach(function(e){return e.remove()})}(e)}};var Tle=[function(e){return Ele(e," ")}].concat(xle(["\\f","\\n","\\r","\\t","\\v"].map(function(e){return function(t){return Ple(t,e)}})),xle([160,5760,8232,8233,8239,8287,12288,65279].map(function(e){return function(t){return vle(t,e)}})),[function(e){return"ClassRange"===e.type&&vle(e.from,8192)&&vle(e.to,8202)}]);function Ele(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"simple";return"Char"===e.type&&e.value===t&&e.kind===n}function Ple(e,t){return Ele(e,t,"meta")}function vle(e,t){return"Char"===e.type&&"unicode"===e.kind&&e.codePoint===t}var Ale={CharacterClass:function(e){var t=e.node;if(1===t.expressions.length&&function(e){var t=e.parent,n=e.index;if("Alternative"!==t.type)return!0;var r=t.expressions[n-1];if(null==r)return!0;if("Backreference"===r.type&&"number"===r.kind)return!1;if("Char"===r.type&&"decimal"===r.kind)return!1;return!0}(e)&&function(e){return"Char"===e.type&&"\\b"!==e.value}(t.expressions[0])){var n=t.expressions[0],r=n.value,i=n.kind,s=n.escaped;if(t.negative){if(!function(e){return/^\\[dwsDWS]$/.test(e)}(r))return;r=function(e){return/[dws]/.test(e)?e.toUpperCase():e.toLowerCase()}(r)}e.replace({type:"Char",value:r,kind:i,escaped:s||Cle(r)})}}};function Cle(e){return/[*[()+?$./{}|]/.test(e)}var wle={_hasXFlag:!1,init:function(e){this._hasXFlag=e.flags.includes("x")},Char:function(e){var t=e.node;t.escaped&&function(e,t){var n=e.node.value,r=e.index,i=e.parent;if("CharacterClass"!==i.type&&"ClassRange"!==i.type)return!function(e,t,n,r){if("{"===e)return function(e,t){if(null==e)return!1;var n=kle(e+1,t),r=e+n+1,i=r<t.expressions.length&&t.expressions[r];if(n){if(Ile(i,"}"))return!0;if(Ile(i,","))return Ile(i=(r=r+(n=kle(r+1,t))+1)<t.expressions.length&&t.expressions[r],"}")}return!1}(t,n);if("}"===e)return function(e,t){if(null==e)return!1;var n=kle(e-1,t,!0),r=e-n-1,i=r>=0&&t.expressions[r];if(n&&Ile(i,"{"))return!0;if(Ile(i,","))return i=(r=r-(n=kle(r-1,t,!0))-1)<t.expressions.length&&t.expressions[r],n&&Ile(i,"{");return!1}(t,n);if(r&&/[ #]/.test(e))return!0;return/[*[()+?^$./\\|]/.test(e)}(n,r,i,t);return!function(e,t,n){if("^"===e)return 0===t&&!n.negative;if("-"===e)return!0;return/[\]\\]/.test(e)}(n,r,i)}(e,this._hasXFlag)&&delete t.escaped}};function kle(e,t,n){for(var r=e,i=(n?r>=0:r<t.expressions.length)&&t.expressions[r];i&&"Char"===i.type&&"simple"===i.kind&&!i.escaped&&/\d/.test(i.value);)n?r--:r++,i=(n?r>=0:r<t.expressions.length)&&t.expressions[r];return Math.abs(e-r)}function Ile(e,t){return e&&"Char"===e.type&&"simple"===e.kind&&!e.escaped&&e.value===t}var _le={_hasIUFlags:!1,init:function(e){this._hasIUFlags=e.flags.includes("i")&&e.flags.includes("u")},CharacterClass:function(e){var t=e.node.expressions,n=[];t.forEach(function(e){Ole(e)&&n.push(e.value)}),t.sort(Nle);for(var r=0;r<t.length;r++){var i=t[r];if(Fle(i,n,this._hasIUFlags)||Ule(i,t[r-1])||qle(i,t[r+1]))t.splice(r,1),r--;else{var s=$le(i,r,t);t.splice(r-s+1,s),r-=s}}}};function Nle(e,t){var n=Lle(e),r=Lle(t);if(n===r){if("ClassRange"===e.type&&"ClassRange"!==t.type)return-1;if("ClassRange"===t.type&&"ClassRange"!==e.type)return 1;if("ClassRange"===e.type&&"ClassRange"===t.type)return Lle(e.to)-Lle(t.to);if(Ole(e)&&Ole(t)||Dle(e)&&Dle(t))return e.value<t.value?-1:1}return n-r}function Lle(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 Ole(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 Dle(e){return"Char"===e.type&&"control"===e.kind}function Fle(e,t,n){for(var r=0;r<t.length;r++)if(Mle(e,t[r],n))return!0;return!1}function Mle(e,t,n){return"ClassRange"===e.type?Mle(e.from,t,n)&&Mle(e.to,t,n):!("\\S"!==t||!Ole(e,"\\w")&&!Ole(e,"\\d"))||(!("\\D"!==t||!Ole(e,"\\W")&&!Ole(e,"\\s"))||(!("\\w"!==t||!Ole(e,"\\d"))||(!("\\W"!==t||!Ole(e,"\\s"))||"Char"===e.type&&!isNaN(e.codePoint)&&("\\s"===t?Ble(e):"\\S"===t?!Ble(e):"\\d"===t?Rle(e):"\\D"===t?!Rle(e):"\\w"===t?jle(e,n):"\\W"===t&&!jle(e,n)))))}function Ble(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 Rle(e){return e.codePoint>=48&&e.codePoint<=57}function jle(e,t){return Rle(e)||e.codePoint>=65&&e.codePoint<=90||e.codePoint>=97&&e.codePoint<=122||"_"===e.value||t&&(383===e.codePoint||8490===e.codePoint)}function Ule(e,t){if(t&&"ClassRange"===t.type){if(Jle(e,t))return!0;if(Vle(e)&&t.to.codePoint===e.codePoint-1)return t.to=e,!0;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}function qle(e,t){return!(!t||"ClassRange"!==t.type||!Vle(e)||t.from.codePoint!==e.codePoint+1)&&(t.from=e,!0)}function Jle(e,t){return("Char"!==e.type||!isNaN(e.codePoint))&&("ClassRange"===e.type?Jle(e.from,t)&&Jle(e.to,t):e.codePoint>=t.from.codePoint&&e.codePoint<=t.to.codePoint)}function $le(e,t,n){if(!Vle(e))return 0;for(var r=0;t>0;){var i=n[t],s=n[t-1];if(!Vle(s)||s.codePoint!==i.codePoint-1)break;r++,t--}return r>1?(n[t]={type:"ClassRange",from:n[t],to:e},r):0}function Vle(e){return e&&"Char"===e.type&&!isNaN(e.codePoint)&&(jle(e,!1)||"unicode"===e.kind||"hex"===e.kind||"oct"===e.kind||"decimal"===e.kind)}var Kle=Vce,Wle=hle.disjunctionToList,Xle=hle.listToDisjunction,Hle={Disjunction:function(e){var t=e.node,n={},r=Wle(t).filter(function(e){var t=e?Kle.getForNode(e).jsonEncode():"null";return!n.hasOwnProperty(t)&&(n[t]=e,!0)});e.replace(Xle(r))}},zle={Disjunction:function(e){var t=e.node,n=e.parent;if(Yle[n.type]){var r=new Map;if(Gle(t,r)&&r.size){var i={type:"CharacterClass",expressions:Array.from(r.keys()).sort().map(function(e){return r.get(e)})};Yle[n.type](e.getParent(),i)}}}},Yle={RegExp:function(e,t){e.node.body=t},Group:function(e,t){var n=e.node;n.capturing?n.expression=t:e.replace(t)}};function Gle(e,t){if(!e)return!1;var n=e.type;if("Disjunction"===n){var r=e.left,i=e.right;return Gle(r,t)&&Gle(i,t)}if("Char"===n){if("meta"===e.kind&&"."===e.symbol)return!1;var s=e.value;return t.set(s,e),!0}return"CharacterClass"===n&&!e.negative&&e.expressions.every(function(e){return Gle(e,t)})}function Qle(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var Zle={Group:function(e){var t=e.node,n=e.parent,r=e.getChild();if(!t.capturing&&r&&function(e){var t=e.parent,n=e.index;if("Alternative"!==t.type)return!0;var r=t.expressions[n-1];if(null==r)return!0;if("Backreference"===r.type&&"number"===r.kind)return!1;if("Char"===r.type&&"decimal"===r.kind)return!1;return!0}(e)&&!("Disjunction"===r.node.type&&"RegExp"!==n.type||"Repetition"===n.type&&"Char"!==r.node.type&&"CharacterClass"!==r.node.type))if("Alternative"===r.node.type){var i=e.getParent();"Alternative"===i.node.type&&i.replace({type:"Alternative",expressions:[].concat(Qle(n.expressions.slice(0,e.index)),Qle(r.node.expressions),Qle(n.expressions.slice(e.index+1)))})}else e.replace(r.node)}};function epe(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var tpe=Vce,npe=hle.increaseQuantifierByOne,rpe={Alternative:function(e){for(var t=e.node,n=1;n<t.expressions.length;){var r=e.getChild(n);if((n=Math.max(1,ipe(e,r,n)))>=t.expressions.length)break;if(r=e.getChild(n),(n=Math.max(1,spe(e,r,n)))>=t.expressions.length)break;r=e.getChild(n),n=Math.max(1,ape(e,r,n)),n++}}};function ipe(e,t,n){for(var r=e.node,i=Math.ceil(n/2),s=0;s<i;){var a=n-2*s-1,o=void 0,u=void 0;if(0===s?(o=t,u=e.getChild(a)):(o=tpe.getForNode({type:"Alternative",expressions:[].concat(epe(r.expressions.slice(n-s,n)),[t.node])}),u=tpe.getForNode({type:"Alternative",expressions:[].concat(epe(r.expressions.slice(a,n-s)))})),o.hasEqualSource(u)){for(var c=0;c<2*s+1;c++)e.getChild(a).remove();return t.replace({type:"Repetition",expression:0===s&&"Repetition"!==o.node.type?o.node:{type:"Group",capturing:!1,expression:o.node},quantifier:{type:"Quantifier",kind:"Range",from:2,to:2,greedy:!0}}),a}s++}return n}function spe(e,t,n){for(var r=e.node,i=0;i<n;){var s=e.getChild(i);if("Repetition"===s.node.type&&s.node.quantifier.greedy){var a=s.getChild(),o=void 0;if("Group"!==a.node.type||a.node.capturing||(a=a.getChild()),i+1===n?"Group"!==(o=t).node.type||o.node.capturing||(o=o.getChild()):o=tpe.getForNode({type:"Alternative",expressions:[].concat(epe(r.expressions.slice(i+1,n+1)))}),a.hasEqualSource(o)){for(var u=i;u<n;u++)e.getChild(i+1).remove();return npe(s.node.quantifier),i}}i++}return n}function ape(e,t,n){var r=e.node;if("Repetition"===t.node.type&&t.node.quantifier.greedy){var i=t.getChild(),s=void 0;"Group"!==i.node.type||i.node.capturing||(i=i.getChild());var a=void 0;if("Alternative"===i.node.type?(a=i.node.expressions.length,s=tpe.getForNode({type:"Alternative",expressions:[].concat(epe(r.expressions.slice(n-a,n)))})):(a=1,"Group"!==(s=e.getChild(n-1)).node.type||s.node.capturing||(s=s.getChild())),s.hasEqualSource(i)){for(var o=n-a;o<n;o++)e.getChild(n-a).remove();return npe(t.node.quantifier),n-a}}return n}var ope=new Map([["charSurrogatePairToSingleUnicode",nle],["charCodeToSimpleChar",cle],["charCaseInsensitiveLowerCaseTransform",dle],["charClassRemoveDuplicates",{CharacterClass:function(e){for(var t=e.node,n={},r=0;r<t.expressions.length;r++){var i=e.getChild(r),s=i.jsonEncode();n.hasOwnProperty(s)&&(i.remove(),r--),n[s]=!0}}}],["quantifiersMerge",mle],["quantifierRangeToSymbol",ble],["charClassClassrangesToChars",{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",Sle],["charClassToSingleChar",Ale],["charEscapeUnescape",wle],["charClassClassrangesMerge",_le],["disjunctionRemoveDuplicates",Hle],["groupSingleCharsToCharClass",zle],["removeEmptyGroup",{Group:function(e){var t=e.node,n=e.parent,r=e.getChild();t.capturing||r||("Repetition"===n.type?e.getParent().replace(t):"RegExp"!==n.type&&e.remove())}}],["ungroup",Zle],["combineRepeatingPatterns",rpe]]);ope.default;var upe=function e(t){if(null===t||"object"!=typeof t)return t;var n=void 0;for(var r in n=Array.isArray(t)?[]:{},t)n[r]=e(t[r]);return n},cpe=Rce,lpe=Qce,ppe=ope,dpe={optimize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.whitelist,r=void 0===n?[]:n,i=t.blacklist,s=void 0===i?[]:i,a=(r.length>0?r:Array.from(ppe.keys())).filter(function(e){return!s.includes(e)}),o=e;e instanceof RegExp&&(e=""+e),"string"==typeof e&&(o=cpe.parse(e));var u=new lpe.TransformResult(o),c=void 0;do{c=u.toString(),o=upe(u.getAST()),a.forEach(function(e){if(!ppe.has(e))throw new Error("Unknown optimization-transform: "+e+". Available transforms are: "+Array.from(ppe.keys()).join(", "));var t=ppe.get(e),n=lpe.transform(o,t);n.toString()!==u.toString()&&(n.toString().length<=u.toString().length?u=n:o=upe(u.getAST()))})}while(u.toString()!==c);return u}},hpe={EPSILON:"ε",EPSILON_CLOSURE:"ε*"},fpe=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},mpe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var ype=hpe.EPSILON,gpe=hpe.EPSILON_CLOSURE,bpe=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.in=t,this.out=n}return mpe(e,[{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 n=e[t];for(var r in n)r!==gpe&&this._alphabet.add(r)}}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,n=void 0;try{for(var r,i=this.getAcceptingStates()[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){var s=r.value;this._acceptingStateNumbers.add(s.number)}}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}}return this._acceptingStateNumbers}},{key:"getTransitionTable",value:function(){var e=this;if(!this._transitionTable){this._transitionTable={},this._acceptingStates=new Set;var t=new Set,n=new Set;!function r(i){if(!t.has(i)){t.add(i),i.number=t.size,e._transitionTable[i.number]={},i.accepting&&e._acceptingStates.add(i);var s=i.getTransitions(),a=!0,o=!1,u=void 0;try{for(var c,l=s[Symbol.iterator]();!(a=(c=l.next()).done);a=!0){var p=c.value,d=fpe(p,2),h=d[0],f=d[1],m=[];n.add(h);var y=!0,g=!1,b=void 0;try{for(var x,S=f[Symbol.iterator]();!(y=(x=S.next()).done);y=!0){var T=x.value;r(T),m.push(T.number)}}catch(e){g=!0,b=e}finally{try{!y&&S.return&&S.return()}finally{if(g)throw b}}e._transitionTable[i.number][h]=m}}catch(e){o=!0,u=e}finally{try{!a&&l.return&&l.return()}finally{if(o)throw u}}}}(this.in),t.forEach(function(t){delete e._transitionTable[t.number][ype],e._transitionTable[t.number][gpe]=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t.getEpsilonClosure())).map(function(e){return e.number})})}return this._transitionTable}}]),e}(),xpe=bpe;xpe.default;var Spe=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function Tpe(e){return Array.isArray(e)?e:Array.from(e)}function Epe(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var Ppe=null;function vpe(e,t){if(!t)return!1;if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var r=e[n],i=t[n];if(r.size!==i.size)return!1;if([].concat(Epe(r)).sort().join(",")!==[].concat(Epe(i)).sort().join(","))return!1}return!0}function Ape(e,t,n,r){var i=!0,s=!1,a=void 0;try{for(var o,u=r[Symbol.iterator]();!(i=(o=u.next()).done);i=!0){if(!Cpe(e,t,n,o.value))return!1}}catch(e){s=!0,a=e}finally{try{!i&&u.return&&u.return()}finally{if(s)throw a}}return!0}function Cpe(e,t,n,r){if(!Ppe[e]||!Ppe[t])return!1;var i=n[e][r],s=n[t][r];return!i&&!s||Ppe[e].has(i)&&Ppe[t].has(s)}var wpe={minimize:function(e){var t=e.getTransitionTable(),n=Object.keys(t),r=e.getAlphabet(),i=e.getAcceptingStateNumbers();Ppe={};var s=new Set;n.forEach(function(e){e=Number(e),i.has(e)?Ppe[e]=i:(s.add(e),Ppe[e]=s)});var a=[[s,i].filter(function(e){return e.size>0})],o=void 0,u=void 0;o=a[a.length-1],u=a[a.length-2];for(var c=function(){var e={},n=!0,i=!1,s=void 0;try{for(var c,l=o[Symbol.iterator]();!(n=(c=l.next()).done);n=!0){var p=c.value,d={},h=Tpe(p),f=h[0],m=h.slice(1);d[f]=new Set([f]);var y=!0,g=!1,b=void 0;try{e:for(var x,S=m[Symbol.iterator]();!(y=(x=S.next()).done);y=!0){var T=x.value,E=!0,P=!1,v=void 0;try{for(var A,C=Object.keys(d)[Symbol.iterator]();!(E=(A=C.next()).done);E=!0){var w=A.value;if(Ape(T,w,t,r)){d[w].add(T),d[T]=d[w];continue e}}}catch(e){P=!0,v=e}finally{try{!E&&C.return&&C.return()}finally{if(P)throw v}}d[T]=new Set([T])}}catch(e){g=!0,b=e}finally{try{!y&&S.return&&S.return()}finally{if(g)throw b}}Object.assign(e,d)}}catch(e){i=!0,s=e}finally{try{!n&&l.return&&l.return()}finally{if(i)throw s}}Ppe=e;var k=new Set(Object.keys(e).map(function(t){return e[t]}));a.push([].concat(Epe(k))),o=a[a.length-1],u=a[a.length-2]};!vpe(o,u);)c();var l=new Map,p=1;o.forEach(function(e){return l.set(e,p++)});var d={},h=new Set,f=function(e,t){var n=!0,r=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value;i.has(u)&&h.add(t)}}catch(e){r=!0,s=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw s}}},m=!0,y=!1,g=void 0;try{for(var b,x=l.entries()[Symbol.iterator]();!(m=(b=x.next()).done);m=!0){var S=b.value,T=Spe(S,2),E=T[0],P=T[1];d[P]={};var v=!0,A=!1,C=void 0;try{for(var w,k=r[Symbol.iterator]();!(v=(w=k.next()).done);v=!0){var I=w.value;f(E,P);var _=void 0,N=!0,L=!1,O=void 0;try{for(var D,F=E[Symbol.iterator]();!(N=(D=F.next()).done);N=!0){var M=D.value;if(_=t[M][I])break}}catch(e){L=!0,O=e}finally{try{!N&&F.return&&F.return()}finally{if(L)throw O}}_&&(d[P][I]=l.get(Ppe[_]))}}catch(e){A=!0,C=e}finally{try{!v&&k.return&&k.return()}finally{if(A)throw C}}}}catch(e){y=!0,g=e}finally{try{!m&&x.return&&x.return()}finally{if(y)throw g}}return e.setTransitionTable(d),e.setAcceptingStateNumbers(h),e}},kpe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Ipe(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var _pe=wpe,Npe=hpe.EPSILON_CLOSURE,Lpe=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._nfa=t}return kpe(e,[{key:"minimize",value:function(){this.getTransitionTable(),this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._originalTransitionTable=this._transitionTable,_pe.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 t=this._nfa.getTransitionTable(),n=Object.keys(t);this._acceptingStateNumbers=new Set;for(var r=[t[n[0]][Npe]],i=this.getAlphabet(),s=this._nfa.getAcceptingStateNumbers(),a={},o=function(t){var n=!0,r=!1,i=void 0;try{for(var a,o=s[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value;if(-1!==t.indexOf(u)){e._acceptingStateNumbers.add(t.join(","));break}}}catch(e){r=!0,i=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw i}}};r.length>0;){var u=r.shift(),c=u.join(",");a[c]={};var l=!0,p=!1,d=void 0;try{for(var h,f=i[Symbol.iterator]();!(l=(h=f.next()).done);l=!0){var m=h.value,y=[];o(u);var g=!0,b=!1,x=void 0;try{for(var S,T=u[Symbol.iterator]();!(g=(S=T.next()).done);g=!0){var E=t[S.value][m];if(E){var P=!0,v=!1,A=void 0;try{for(var C,w=E[Symbol.iterator]();!(P=(C=w.next()).done);P=!0){var k=C.value;t[k]&&y.push.apply(y,Ipe(t[k][Npe]))}}catch(e){v=!0,A=e}finally{try{!P&&w.return&&w.return()}finally{if(v)throw A}}}}}catch(e){b=!0,x=e}finally{try{!g&&T.return&&T.return()}finally{if(b)throw x}}var I=new Set(y),_=[].concat(Ipe(I));if(_.length>0){var N=_.join(",");a[c][m]=N,a.hasOwnProperty(N)||r.unshift(_)}}}catch(e){p=!0,d=e}finally{try{!l&&f.return&&f.return()}finally{if(p)throw d}}}return this._transitionTable=this._remapStateNumbers(a)}},{key:"_remapStateNumbers",value:function(e){var t={};this._originalTransitionTable=e;var n={};for(var r in Object.keys(e).forEach(function(e,n){t[e]=n+1}),e){var i=e[r],s={};for(var a in i)s[a]=t[i[a]];n[t[r]]=s}this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._acceptingStateNumbers=new Set;var o=!0,u=!1,c=void 0;try{for(var l,p=this._originalAcceptingStateNumbers[Symbol.iterator]();!(o=(l=p.next()).done);o=!0){var d=l.value;this._acceptingStateNumbers.add(t[d])}}catch(e){u=!0,c=e}finally{try{!o&&p.return&&p.return()}finally{if(u)throw c}}return n}},{key:"getOriginalTransitionTable",value:function(){return this._originalTransitionTable||this.getTransitionTable(),this._originalTransitionTable}},{key:"matches",value:function(e){for(var t=1,n=0,r=this.getTransitionTable();e[n];)if(!(t=r[t][e[n++]]))return!1;return!!this.getAcceptingStateNumbers().has(t)}}]),e}(),Ope=Lpe;Ope.default;var Dpe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Fpe=function(){function e(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).accepting,n=void 0!==t&&t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._transitions=new Map,this.accepting=n}return Dpe(e,[{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}}]),e}(),Mpe=Fpe;Mpe.default;var Bpe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Rpe=Mpe,jpe=hpe.EPSILON,Upe=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(e,Rpe),Bpe(e,[{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,r=!1,i=void 0;try{for(var s,a=this.getTransitionsOnSymbol(jpe)[Symbol.iterator]();!(n=(s=a.next()).done);n=!0){if(s.value.matches("",t))return!0}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return!1}var o=e[0],u=e.slice(1),c=this.getTransitionsOnSymbol(o),l=!0,p=!1,d=void 0;try{for(var h,f=c[Symbol.iterator]();!(l=(h=f.next()).done);l=!0){if(h.value.matches(u))return!0}}catch(e){p=!0,d=e}finally{try{!l&&f.return&&f.return()}finally{if(p)throw d}}var m=!0,y=!1,g=void 0;try{for(var b,x=this.getTransitionsOnSymbol(jpe)[Symbol.iterator]();!(m=(b=x.next()).done);m=!0){if(b.value.matches(e,t))return!0}}catch(e){y=!0,g=e}finally{try{!m&&x.return&&x.return()}finally{if(y)throw g}}return!1}},{key:"getEpsilonClosure",value:function(){var e=this;return this._epsilonClosure||function(){var t=e.getTransitionsOnSymbol(jpe),n=e._epsilonClosure=new Set;n.add(e);var r=!0,i=!1,s=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var u=a.value;if(!n.has(u))n.add(u),u.getEpsilonClosure().forEach(function(e){return n.add(e)})}}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}}(),this._epsilonClosure}}]),e}(),qpe=Upe;qpe.default;var Jpe=xpe,$pe=qpe,Vpe=hpe.EPSILON;function Kpe(e){var t=new $pe,n=new $pe({accepting:!0});return new Jpe(t.addTransition(e,n),n)}function Wpe(e,t){return e.out.accepting=!1,t.out.accepting=!0,e.out.addTransition(Vpe,t.in),new Jpe(e.in,t.out)}function Xpe(e,t){var n=new $pe,r=new $pe;return n.addTransition(Vpe,e.in),n.addTransition(Vpe,t.in),r.accepting=!0,e.out.accepting=!1,t.out.accepting=!1,e.out.addTransition(Vpe,r),t.out.addTransition(Vpe,r),new Jpe(n,r)}var Hpe={alt:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=!0,s=!1,a=void 0;try{for(var o,u=n[Symbol.iterator]();!(i=(o=u.next()).done);i=!0){e=Wpe(e,o.value)}}catch(e){s=!0,a=e}finally{try{!i&&u.return&&u.return()}finally{if(s)throw a}}return e},char:Kpe,e:function(){return Kpe(Vpe)},or:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=!0,s=!1,a=void 0;try{for(var o,u=n[Symbol.iterator]();!(i=(o=u.next()).done);i=!0){e=Xpe(e,o.value)}}catch(e){s=!0,a=e}finally{try{!i&&u.return&&u.return()}finally{if(s)throw a}}return e},rep:function(e){return e.in.addTransition(Vpe,e.out),e.out.addTransition(Vpe,e.in),e},repExplicit:function(e){var t=new $pe,n=new $pe({accepting:!0});return t.addTransition(Vpe,e.in),t.addTransition(Vpe,n),e.out.accepting=!1,e.out.addTransition(Vpe,n),n.addTransition(Vpe,e.in),new Jpe(t,n)},plusRep:function(e){return e.out.addTransition(Vpe,e.in),e},questionRep:function(e){return e.in.addTransition(Vpe,e.out),e}};var zpe=Rce,Ype=Hpe.alt,Gpe=Hpe.char,Qpe=Hpe.or,Zpe=Hpe.rep,ede=Hpe.plusRep,tde=Hpe.questionRep;function nde(e){if(e&&!rde[e.type])throw new Error(e.type+" is not supported in NFA/DFA interpreter.");return e?rde[e.type](e):""}var rde={RegExp:function(e){if(""!==e.flags)throw new Error("NFA/DFA: Flags are not supported yet.");return nde(e.body)},Alternative:function(e){var t=(e.expressions||[]).map(nde);return Ype.apply(void 0,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t))},Disjunction:function(e){return Qpe(nde(e.left),nde(e.right))},Repetition:function(e){switch(e.quantifier.kind){case"*":return Zpe(nde(e.expression));case"+":return ede(nde(e.expression));case"?":return tde(nde(e.expression));default:throw new Error("Unknown repeatition: "+e.quantifier.kind+".")}},Char:function(e){if("simple"!==e.kind)throw new Error("NFA/DFA: Only simple chars are supported yet.");return Gpe(e.value)},Group:function(e){return nde(e.expression)}},ide={build:function(e){var t=e;return e instanceof RegExp&&(e=""+e),"string"==typeof e&&(t=zpe.parse(e,{captureLocations:!0})),nde(t)}},sde=Ope,ade=ide,ode={NFA:xpe,DFA:sde,builders:Hpe,toNFA:function(e){return ade.build(e)},toDFA:function(e){return new sde(this.toNFA(e))},test:function(e,t){return this.toDFA(e).matches(t)}},ude=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var cde=function(){function e(t,n){var r=n.flags,i=n.groups,s=n.source;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._re=t,this._groups=i,this.flags=r,this.source=s||t.source,this.dotAll=r.includes("s"),this.global=t.global,this.ignoreCase=t.ignoreCase,this.multiline=t.multiline,this.sticky=t.sticky,this.unicode=t.unicode}return ude(e,[{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 n in t.groups={},this._groups){var r=this._groups[n];t.groups[n]=t[r]}return t}}]),e}(),lde=tle,pde=que,dde=dpe,hde=Rce,fde=Qce,mde=Wce,yde={RegExpTree:cde}.RegExpTree,gde={parser:hde,fa:ode,TransformResult:fde.TransformResult,parse:function(e,t){return hde.parse(""+e,t)},traverse:function(e,t,n){return mde.traverse(e,t,n)},transform:function(e,t){return fde.transform(e,t)},generate:function(e){return pde.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]:{}).blacklist;return dde.optimize(e,{whitelist:t,blacklist:n})},compatTranspile:function(e,t){return lde.transform(e,t)},exec:function(e,t){if("string"==typeof e){var n=this.compatTranspile(e),r=n.getExtra();e=r.namedCapturingGroups?new yde(n.toRegExp(),{flags:n.getFlags(),source:n.getSource(),groups:r.namedCapturingGroups}):n.toRegExp()}return e.exec(t)}};const bde=gde,xde=({type:e,kind:t})=>"Char"!==e||"simple"!==t;var Sde=e=>{let t=!1;const n=bde.parse(e);return"Alternative"===n.body.type&&(bde.traverse(n,{RegExp({node:e}){const{expressions:n}=e.body;t=Boolean(n.find(xde))}}),!t)},Tde={};const Ede=gde;Tde.transformRegExp=(e,{report:t,traverse:n,fix:r})=>{const i=Ede.parse(e,{captureLocations:!0}),s=[];return Ede.traverse(i,n({push:e=>{const{start:n}=(e.path||e).node.loc;s.push({position:n,message:t(e)}),r(e)}})),[Ede.generate(i),s]};const Pde=Sde,{transformRegExp:vde}=Tde;var Ade={isSimpleRegExp:Pde,transformRegExp:vde},Cde={};const{compareAny:wde}=gee,{template:kde}=Kj,{types:Ide}=st,{isBlockStatement:_de,isFunction:Nde,isLabeledStatement:Lde,isObjectPattern:Ode,isCallExpression:Dde,objectPattern:Fde,objectProperty:Mde}=Ide,{entries:Bde}=Object,Rde=!0,jde=e=>e.isCallExpression()||e.isStatement(),Ude=e=>Dde(e.find(jde)),qde=({name:e})=>`Argument '${e}' is missing`;Cde.addArgs=e=>({report:qde,fix:Jde,traverse:$de(e)});const Jde=({declaration:e,path:t,pattern:n,params:r,index:i})=>{const s=kde.ast.fresh(e);if(_de(s)){const e=function(e){if(!Lde(e)){const{expression:t}=e;return Mde(t,t,!1,Rde)}const{label:t,body:n}=e;return Mde(t,n.expression,!1,Rde)}(s.body[0]);return n.properties.push(e),Ode(r[i])?void 0:r.push(n)}t.scope.block.params=[s]},$de=e=>({push:t,options:n})=>{const r={...n.args,...e};return{ReferencedIdentifier(e){for(const[n,[i,s,a]]of Bde(r)){if(e.node.name!==n)continue;if(e.scope.hasBinding(n))continue;if(!Ude(e))continue;const r=e.find(Nde);if(!r)continue;const{block:o}=r.scope;if(!wde(e.scope.path,s))continue;if(wde(e.scope.path,a))continue;const{params:u}=o,[c,l]=Vde(u);if(Ode(l))return void t({name:n,index:c,declaration:i,path:e,params:u,pattern:l});if(u.length>=3)return;t({name:n,index:c,declaration:i,path:e,params:u,pattern:Fde([])})}}}};function Vde(e){for(const[t,n]of e.entries())if(Ode(n))return[t,n];return[-1,null]}var Kde={};const Wde=["import","export"],Xde=["const","var","let"],Hde=["if"],zde=["readonly","implements","declare","module","type"],Yde=["interface","static"],Gde=[...Hde,...Xde,...Wde,...Yde,"async","break","continue","for","else","from","return","throw","of","while","class","extends","default"],Qde=[...Gde,"as","await","new","yield","typeof","function"];Kde.isKeyword=e=>Qde.includes(e),Kde.isDeclarationKeyword=e=>Xde.includes(e),Kde.isModuleDeclarationKeyword=e=>Wde.includes(e),Kde.isConditionKeyword=e=>Hde.includes(e),Kde.isStatementKeyword=e=>Gde.includes(e),Kde.isTSKeyword=e=>{const t=zde.includes(e),n=Yde.includes(e);return t||n};var Zde={};const{relative:ehe}=v6,the=o8,nhe=e=>!e.indexOf("!"),rhe=e=>e.replace(/^!/,"");var ihe=(e,t,n={})=>{const r=ehe(e,t),i=the(),s=function(e){for(const[t,n]of e.entries()){const r=e.indexOf(rhe(n));nhe(n)&&r>t&&(e[r]=n)}const t=new Set(e);return Array.from(t)}(n.ignore||[]);return i.add(s),e&&i.ignores(r)};const she=v6,{parse:ahe,print:ohe}=Kj,{transform:uhe}=Woe,{findPlaces:che}=eue,lhe=ihe,{toJS:phe,fromJS:dhe}=P4,{readFileContent:hhe,findFile:fhe,writeFileContent:mhe,getFilename:yhe,createFile:ghe,removeFile:bhe,getParentDirectory:xhe}=Nse,{join:She}=she,The=e=>e&&"object"==typeof e,{entries:Ehe}=Object,Phe=(e,{message:t})=>t;function vhe(e,{dirPath:t,matchInputFilename:n,outputFilename:r,matchedJS:i,matchedAST:s,options:a}){uhe(s,i,a);const o=function(e,t){if(/\.json$/.test(e)){const e=ohe(t);return dhe(e)}return ohe(t)}(r,s),u=function({dirPath:e,matchInputFilename:t,outputFilename:n,inputFile:r}){if(t===n)return r;const i=She(yhe(e),n),[s]=fhe(e,i);return s||ghe(e,n)}({dirPath:t,matchInputFilename:n,outputFilename:r,inputFile:e});mhe(u,o),e!==u&&bhe(e)}Zde.matchFiles=e=>{const{filename:t}=e,n=e.files??e,r=e.exclude??[];!function(e){for(const[,t]of Ehe(e))if(!The(t))throw Error(`☝️ Looks like provided to 'matchFiles()' typeof of plugin is not an 'object' but '${typeof t}'`)}(n);return{fix:vhe,scan:Ahe({defaultFilename:t,files:n,exclude:r}),report:Phe}};const Ahe=({files:e,exclude:t,defaultFilename:n})=>(r,{push:i,progress:s,options:a})=>{const o=[],u=yhe(r);a.filename=a.filename??n;for(const[n,i]of Ehe(e)){const[e]=whe(n,a),s=fhe(r,e,t);for(const e of s){const t=xhe(e),r=yhe(e),[s,c=s]=whe(n,{filename:r});lhe(u,r,a)||o.push({dirPath:t,matchInputFilename:s,rawOptions:i,inputFile:e,inputFilename:r,outputFilename:c})}}const c=o.length;for(const[e,t]of o.entries()){const{dirPath:n,matchInputFilename:r,inputFile:a,inputFilename:o,outputFilename:u,rawOptions:l}=t;s({i:e,n:c});const p=hhe(a)||"{}",[d,h]=Che(o,p),f=khe(o,l),m=che(h,d,f);if(!m.length)continue;const{message:y}=m[0];i(a,{dirPath:n,matchInputFilename:r,outputFilename:u,message:y,options:f,matchedAST:h,matchedJS:d})}};function Che(e,t){if(/\.json$/.test(e)){const e=phe(t);return[e,ahe(e)]}if(/\.(c|m)?ts(x)?$/.test(e)){return[t,ahe(t,{isTS:!0})]}return[t,ahe(t)]}function whe(e,t){const{filename:n}=t;if(!n)return e.split(" -> ");const{ext:r,name:i}=she.parse(n);return(e=(e=e.replaceAll("__name",i)).replaceAll("__ext",r)).split(" -> ")}function khe(e,t){if(t.plugins)return t;return{plugins:[[`match-file: ${e}`,t]]}}var Ihe={};const{join:_he}=v6,{getParentDirectory:Nhe,getFilename:Lhe,readFileContent:Ohe,findFile:Dhe,renameFile:Fhe}=Nse,{parse:Mhe}=JSON;Ihe.renameFiles=({type:e,mask:t,rename:n})=>({report:Bhe,fix:Rhe,scan:jhe({type:e,mask:t,rename:n})});const Bhe=(e,{from:t,to:n})=>`Rename '${t}' to '${n}'`,Rhe=(e,{to:t})=>{Fhe(e,t)},jhe=({type:e,mask:t,rename:n})=>(r,{push:i,trackFile:s})=>{for(const a of s(r,t)){if(e&&!Uhe(e,a))continue;const t=Lhe(a);i(a,{from:t,to:n(t)})}};function Uhe(e,t){const n=function(e){let t,n=Nhe(e);do{const e=Lhe(n);[t]=Dhe(n,_he(e,"package.json"))}while(!t&&(n=Nhe(n)));return t}(t);if("commonjs"===e&&!n)return!0;if(!n)return!1;const r=Ohe(n);if(!r)return!1;return(Mhe(r).type||"commonjs")===e}var qhe={};const{types:Jhe}=st,{traverseProperties:$he}=MK,{stringLiteral:Vhe}=Jhe,Khe=({value:e})=>e;qhe.ignore=(e,{name:t,property:n,list:r})=>{const[,i]=e.split(/\(|\)/);return{report:Whe(t),match:Xhe({type:e,property:n,collector:i,list:r}),replace:Hhe({type:e,property:n,collector:i,list:r})}};const Whe=e=>()=>`Add dotfiles to '${e}'`,Xhe=({type:e,property:t,collector:n,list:r})=>({options:i})=>{const{dismiss:s=[]}=i,a=zhe(r,s);return{[e]:e=>{const r=Yhe(e,{property:t,collector:n});if(!r)return!1;const i=r.map(Khe);for(const e of a)if(!i.includes(e))return!0;return!1}}},Hhe=({type:e,property:t,collector:n,list:r})=>({options:i})=>{const{dismiss:s=[]}=i,a=zhe(r,s);return{[e]:(e,r)=>{const i=Yhe(e,{property:t,collector:n}),s=i.map(Khe);for(const e of a)s.includes(e)||i.push(Vhe(e));return r}}};function zhe(e,t){const n=[];for(const r of e)t.includes(r)||n.push(r);return n}function Yhe(e,{property:t,collector:n}){const r=e[n];if(!t)return r.elements;const[i]=$he(r,t);return i?i.node.value.elements:null}var Ghe={};const{types:Qhe}=st,{parenthesizedExpression:Zhe,tsParenthesizedType:efe}=Qhe;function tfe(e){return e.scope.getProgramParent().path.node.extra.__putout_printer}function nfe(e,t=tfe(e)){if("babel"!==t)return e.node.extra?.parenthesized;const{type:n}=e.parentPath;return/^(TS)?Parenthesized(Expression|Type)?$/.test(n)}Ghe.hasParens=nfe,Ghe.addParens=e=>{const t=tfe(e);if(nfe(e,t))return e;if("babel"!==t){const{extra:t={}}=e.node;return t.parenthesized=!0,e.node.extra=t,e}const{node:n}=e;return e.type.startsWith("TS")?e.replaceWith(efe(n)):(e.replaceWith(Zhe(n)),e)},Ghe.removeParens=e=>{const t=tfe(e);if(!nfe(e,t))return e;if("babel"!==t)return e.node.extra.parenthesized=!1,e;const{node:n}=e;return e.parentPath.replaceWith(n),e};const{codeFrameColumns:rfe}=st;var ife=({source:e,error:t,highlightCode:n=!0})=>{const{message:r,loc:i}=t;if(!i)return r;return rfe(e,{start:i},{highlightCode:n,message:r})};const{traverse:sfe,types:afe}=st,{parse:ofe,print:ufe,generate:cfe,template:lfe}=Kj,{cutShebang:pfe,mergeShebang:dfe}=a6,{defaultOptions:hfe}=o6,{transform:ffe,transformAsync:mfe}=Woe,{findPlaces:yfe,findPlacesAsync:gfe}=eue;n.exports=xfe;var bfe=n.exports.putout=xfe;function xfe(e,t){Ffe(e),t=hfe(t);const{parser:n,isTS:r,isJSX:i,printer:s}=t,[a,o]=pfe(e),u=ofe(a,{parser:n,isTS:r,isJSX:i,printer:s}),c=ffe(u,e,t);if(!t.fix)return{code:e,places:c};const l=ufe(u,{printer:s,source:e});return{code:dfe(o,l),places:c}}var Sfe=n.exports.putoutAsync=async(e,t)=>{Ffe(e),t=hfe(t);const{parser:n,isTS:r,isJSX:i,printer:s}=t,[a,o]=pfe(e),u=ofe(a,{parser:n,isTS:r,isJSX:i,printer:s}),c=await mfe(u,e,t);if(!t.fix)return{code:e,places:c};const l=ufe(u,{printer:s});return{code:dfe(o,l),places:c}},Tfe=n.exports.transform=ffe,Efe=n.exports.transformAsync=mfe,Pfe=n.exports.findPlaces=yfe,vfe=n.exports.findPlacesAsync=gfe,Afe=n.exports.parse=ofe,Cfe=n.exports.print=ufe,wfe=n.exports.traverse=sfe,kfe=n.exports.types=afe,Ife=n.exports.template=lfe,_fe=n.exports.generate=cfe,Nfe=n.exports.initReport=sue,Lfe=n.exports.operator={...MK,...gee,...aue,...P4,...Tue,...nse,...Ade,...Cde,...Nse,...Kde,...Zde,...Ihe,...qhe,...Ghe},Ofe=n.exports.ignores=ihe,Dfe=n.exports.codeframe=ife;function Ffe(e){if(!(e=>"string"==typeof e)(e))throw Error(`☝️ Looks like 'source' has type '${typeof e}', expected: 'string'`)}var Mfe=n.exports;export{Dfe as codeframe,Mfe as default,Pfe as findPlaces,vfe as findPlacesAsync,_fe as generate,Ofe as ignores,Nfe as initReport,Lfe as operator,Afe as parse,Cfe as print,bfe as putout,Sfe as putoutAsync,Ife as template,Tfe as transform,Efe as transformAsync,wfe as traverse,kfe as types};
|
|
13
|
+
`;return this.replaceWith(c)[0].get("arguments.0")},matchesPattern:function(e,t){return XR(this.node,e,t)},isStatic:function(){return this.scope.isStatic(this.node)},isNodeType:function(e){return WR(this.type,e)},canHaveVariableDeclarationOrExpression:function(){return("init"===this.key||"left"===this.key)&&this.parentPath.isFor()},canSwapBetweenExpressionAndStatement:function(e){return!("body"!==this.key||!this.parentPath.isArrowFunctionExpression())&&(this.isExpression()?qR(e):!!this.isBlockStatement()&&JR(e))},isCompletionRecord:function(e){let t=this,n=!0;do{const{type:r,container:i}=t;if(!n&&(t.isFunction()||"StaticBlock"===r))return!!e;if(n=!1,Array.isArray(i)&&t.key!==i.length-1)return!1}while((t=t.parentPath)&&!t.isProgram()&&!t.isDoExpression());return!0},isStatementOrBlock:function(){return!this.parentPath.isLabeledStatement()&&!qR(this.container)&&jR.includes(this.key)},referencesImport:function(e,t){if(!this.isReferencedIdentifier()){if(this.isJSXMemberExpression()&&this.node.property.name===t||(this.isMemberExpression()||this.isOptionalMemberExpression())&&(this.node.computed?KR(this.node.property,{value:t}):this.node.property.name===t)){const t=this.get("object");return t.isReferencedIdentifier()&&t.referencesImport(e,"*")}return!1}const n=this.scope.getBinding(this.node.name);if(!n||"module"!==n.kind)return!1;const r=n.path,i=r.parentPath;return!!i.isImportDeclaration()&&(i.node.source.value===e&&(!t||(!(!r.isImportDefaultSpecifier()||"default"!==t)||(!(!r.isImportNamespaceSpecifier()||"*"!==t)||!(!r.isImportSpecifier()||!$R(r.node.imported,{name:t}))))))},getSource:function(){const e=this.node;if(e.end){const t=this.hub.getCode();if(t)return t.slice(e.start,e.end)}return""},willIMaybeExecuteBefore:function(e){return"after"!==this._guessExecutionStatusRelativeTo(e)},_guessExecutionStatusRelativeTo:function(e){return QR(this,e,new Map)},resolve:function(e,t){return ZR.call(this,e,t)||this},isConstantExpression:function(){if(this.isIdentifier()){const e=this.scope.getBinding(this.node.name);return!!e&&e.constant}if(this.isLiteral())return!this.isRegExpLiteral()&&(!this.isTemplateLiteral()||this.get("expressions").every(e=>e.isConstantExpression()));if(this.isUnaryExpression())return"void"===this.node.operator&&this.get("argument").isConstantExpression();if(this.isBinaryExpression()){const{operator:e}=this.node;return"in"!==e&&"instanceof"!==e&&this.get("left").isConstantExpression()&&this.get("right").isConstantExpression()}return this.isMemberExpression()?!this.node.computed&&this.get("object").isIdentifier({name:"Symbol"})&&!this.scope.hasBinding("Symbol",{noGlobals:!0}):!!this.isCallExpression()&&(1===this.node.arguments.length&&this.get("callee").matchesPattern("Symbol.for")&&!this.scope.hasBinding("Symbol",{noGlobals:!0})&&this.get("arguments")[0].isStringLiteral())},isInStrictMode:function(){const e=(this.isProgram()?this:this.parentPath).find(e=>{if(e.isProgram({sourceType:"module"}))return!0;if(e.isClass())return!0;if(e.isArrowFunctionExpression()&&!e.get("body").isBlockStatement())return!1;let t;if(e.isFunction())t=e.node.body;else{if(!e.isProgram())return!1;t=e.node}for(const e of t.directives)if("use strict"===e.value.value)return!0});return!!e},isDenylisted:function(){const e=this.opts.denylist??this.opts.blacklist;return e?.includes(this.node.type)},visit:function(){if(!this.node)return!1;if(this.isDenylisted())return!1;if(this.opts.shouldSkip?.(this))return!1;const e=this.context;if(this.shouldSkip||kj.call(this,"enter"))return this.debug("Skip..."),this.shouldStop;return _j(this,e),this.debug("Recursing into..."),this.shouldStop=wj(this.node,this.opts,this.scope,this.state,this,this.skipKeys),_j(this,e),kj.call(this,"exit"),this.shouldStop},skip:function(){this.shouldSkip=!0},skipKey:function(e){null==this.skipKeys&&(this.skipKeys={});this.skipKeys[e]=!0},stop:function(){this._traverseFlags|=2|bj},setContext:function(e){null!=this.skipKeys&&(this.skipKeys={});this._traverseFlags=0,e&&(this.context=e,this.state=e.state,this.opts=e.opts);return Nj.call(this),this},requeue:function(e=this){if(e.removed)return;e.shouldSkip=!1;const t=this.contexts;for(const n of t)n.maybeQueue(e)},requeueComputedKeyAndDecorators:function(){const{context:e,node:t}=this;!Ha(t)&&t.computed&&e.maybeQueue(this.get("key"));if(t.decorators)for(const t of this.get("decorators"))e.maybeQueue(t)},remove:function(){$M.call(this),Lj.call(this),UM.call(this)||(this.opts?.noScope||jM.call(this),this.shareCommentsWithSiblings(),qM.call(this)),JM.call(this)},insertBefore:function(e){$M.call(this);const t=pB.call(this,e),{parentPath:n,parent:r}=this;if(n.isExpressionStatement()||n.isLabeledStatement()||ZM(r)||n.isExportDefaultDeclaration()&&this.isDeclaration())return n.insertBefore(t);if(this.isNodeType("Expression")&&!this.isJSXElement()||n.isForStatement()&&"init"===this.key)return this.node&&t.push(this.node),this.replaceExpressionWithStatements(t);if(Array.isArray(this.container))return aB.call(this,t);if(this.isStatementOrBlock()){const e=this.node,n=e&&(!this.isExpressionStatement()||null!=e.expression),[r]=this.replaceWith(XM(n?[e]:[]));return r.unshiftContainer("body",t)}throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?")},insertAfter:function(e){if($M.call(this),this.isSequenceExpression())return uB(this.get("expressions")).insertAfter(e);const t=pB.call(this,e),{parentPath:n,parent:r}=this;if(n.isExpressionStatement()||n.isLabeledStatement()||ZM(r)||n.isExportDefaultDeclaration()&&this.isDeclaration())return n.insertAfter(t.map(e=>eB(e)?YM(e):e));if(this.isNodeType("Expression")&&!this.isJSXElement()&&!n.isJSXElement()||n.isForStatement()&&"init"===this.key){const e=this;if(e.node){const r=e.node;let{scope:i}=this;if(i.path.isPattern())return KM(r),e.replaceWith(HM(VM([],r),[])),e.get("callee.body").insertAfter(t),[e];if(cB(e))t.unshift(r);else if(QM(r)&&rB(r.callee))t.unshift(r),t.push(iB());else if(function(e,t){if(!GM(e)||!tB(e.left))return!1;const n=t.getBlockParent();return n.hasOwnBinding(e.left.name)&&n.getOwnBinding(e.left.name).constantViolations.length<=1}(r,i))t.unshift(r),t.push(zM(r.left));else if(i.isPure(r,!0))t.push(r);else{n.isMethod({computed:!0,key:r})&&(i=i.parent);const e=i.generateDeclaredUidIdentifier();t.unshift(YM(WM("=",zM(e),r))),t.push(YM(zM(e)))}}return this.replaceExpressionWithStatements(t)}if(Array.isArray(this.container))return oB.call(this,t);if(this.isStatementOrBlock()){const e=this.node,n=e&&(!this.isExpressionStatement()||null!=e.expression),[r]=this.replaceWith(XM(n?[e]:[]));return r.pushContainer("body",t)}throw new Error("We don't know what to do with this node type. We were previously a Statement but we can't fit in here?")},unshiftContainer:function(e,t){$M.call(this);const n=pB.call(this,t),r=this.node[e],i=xj.get({parentPath:this,parent:this.node,container:r,listKey:e,key:0}).setContext(this.context);return aB.call(i,n)},pushContainer:function(e,t){$M.call(this);const n=pB.call(this,t),r=this.node[e];return xj.get({parentPath:this,parent:this.node,container:r,listKey:e,key:r.length}).setContext(this.context).replaceWithMultiple(n)},getOpposite:function(){return"left"===this.key?this.getSibling("right"):"right"===this.key?this.getSibling("left"):null},getCompletionRecords:function(e=!1){return cj(this,{canHaveBreak:!1,shouldPopulateBreak:!1,inCaseClause:!1,shouldPreserveBreak:e}).map(e=>e.path)},getSibling:function(e){return xj.get({parentPath:this.parentPath,parent:this.parent,container:this.container,listKey:this.listKey,key:e}).setContext(this.context)},getPrevSibling:function(){return this.getSibling(this.key-1)},getNextSibling:function(){return this.getSibling(this.key+1)},getAllNextSiblings:function(){let e=this.key,t=this.getSibling(++e);const n=[];for(;t.node;)n.push(t),t=this.getSibling(++e);return n},getAllPrevSiblings:function(){let e=this.key,t=this.getSibling(--e);const n=[];for(;t.node;)n.push(t),t=this.getSibling(--e);return n},get:function(e,t=!0){!0===t&&(t=this.context);const n=e.split(".");return 1===n.length?lj.call(this,e,t):pj.call(this,n,t)},getAssignmentIdentifiers:function(){return ej(this.node)},getBindingIdentifiers:function(e){return tj(this.node,e)},getOuterBindingIdentifiers:function(e){return nj(this.node,e)},getBindingIdentifierPaths:function(e=!1,t=!1){const n=[this],r=Object.create(null);for(;n.length;){const i=n.shift();if(!i)continue;if(!i.node)continue;const s=tj.keys[i.node.type];if(i.isIdentifier())if(e){(r[i.node.name]=r[i.node.name]||[]).push(i)}else r[i.node.name]=i;else{if(i.isExportDeclaration()){const e=i.get("declaration");e.isDeclaration()&&n.push(e);continue}if(t){if(i.isFunctionDeclaration()){n.push(i.get("id"));continue}if(i.isFunctionExpression())continue}if(s)for(let e=0;e<s.length;e++){const t=s[e],r=i.get(t);Array.isArray(r)?n.push(...r):r.node&&n.push(r)}}}return r},getOuterBindingIdentifierPaths:function(e=!1){return this.getBindingIdentifierPaths(e,!0)},shareCommentsWithSiblings:function(){if("string"==typeof this.key)return;const e=this.node;if(!e)return;const t=e.trailingComments,n=e.leadingComments;if(!t&&!n)return;const r=this.getSibling(this.key-1),i=this.getSibling(this.key+1),s=Boolean(r.node),a=Boolean(i.node);s&&(n&&r.addComments("trailing",fj(n,r.node.trailingComments)),t&&!a&&r.addComments("trailing",t)),a&&(t&&i.addComments("leading",fj(t,i.node.leadingComments)),n&&!s&&i.addComments("leading",n))},addComment:function(e,t,n){dj(this.node,e,t,n)},addComments:function(e,t){hj(this.node,e,t)}};Object.assign(xj.prototype,Sj);for(const e of qu){const t=`is${e}`,n=at[t];xj.prototype[t]=function(e){return n(this.node,e)},xj.prototype[`assert${e}`]=function(t){if(!n(this.node,t))throw new TypeError(`Expected node path of type ${e}`)}}Object.assign(xj.prototype,XO);for(const e of Object.keys(vO))"_"!==e[0]&&(qu.includes(e)||qu.push(e));var{VISITOR_KEYS:Tj}=at,Ej=class{constructor(e,t,n,r){Qe(this,"queue",null),Qe(this,"priorityQueue",null),this.parentPath=r,this.scope=e,this.state=n,this.opts=t}shouldVisit(e){const t=this.opts;if(t.enter||t.exit)return!0;if(t[e.type])return!0;const n=Tj[e.type];if(!n?.length)return!1;for(const t of n)if(e[t])return!0;return!1}create(e,t,n,r){return xj.get({parentPath:this.parentPath,parent:e,container:t,key:n,listKey:r})}maybeQueue(e,t){this.queue&&(t?this.queue.push(e):this.priorityQueue.push(e))}visitMultiple(e,t,n){if(0===e.length)return!1;const r=[];for(let i=0;i<e.length;i++){const s=e[i];s&&this.shouldVisit(s)&&r.push(this.create(t,e,i,n))}return this.visitQueue(r)}visitSingle(e,t){return!!this.shouldVisit(e[t])&&this.visitQueue([this.create(e,e,t)])}visitQueue(e){this.queue=e,this.priorityQueue=[];const t=new WeakSet;let n=!1,r=0;for(;r<e.length;){const i=e[r];if(r++,Lj.call(i),0!==i.contexts.length&&i.contexts[i.contexts.length-1]===this||Bj.call(i,this),null===i.key)continue;const{node:s}=i;if(!t.has(s)){if(s&&t.add(s),i.visit()){n=!0;break}if(this.priorityQueue.length&&(n=this.visitQueue(this.priorityQueue),this.priorityQueue=[],this.queue=e,n))break}}for(let t=0;t<r;t++)Mj.call(e[t]);return this.queue=null,n}visit(e,t){const n=e[t];return!!n&&(Array.isArray(n)?this.visitMultiple(n,e,t):this.visitSingle(e,t))}},{VISITOR_KEYS:Pj}=at;function vj(e,t){e.queue=t,e.priorityQueue=[];const n=new Set;let r=!1,i=0;for(;i<t.length;){const s=t[i];if(i++,Lj.call(s),0!==s.contexts.length&&s.contexts[s.contexts.length-1]===e||Bj.call(s,e),null===s.key)continue;const{node:a}=s;if(!n.has(a)){if(a&&n.add(a),Aj(e,s)){r=!0;break}if(e.priorityQueue.length&&(r=vj(e,e.priorityQueue),e.priorityQueue=[],e.queue=t,r))break}}for(let e=0;e<i;e++)Mj.call(t[e]);return e.queue=null,r}function Aj(e,t){const n=t.node;if(!n)return!1;const r=e.opts,i=r.denylist??r.blacklist;return!i?.includes(n.type)&&(!r.shouldSkip?.(t)&&(t.shouldSkip||Ij.call(t,r.enter)||t.node&&Ij.call(t,r[n.type]?.enter)?t.shouldStop:(t.shouldStop=Cj(t.node,r,t.scope,e.state,t,t.skipKeys),!(!t.node||!Ij.call(t,r.exit))||(t.node&&Ij.call(t,r[n.type]?.exit),t.shouldStop))))}function Cj(e,t,n,r,i,s,a){const o=Pj[e.type];if(!o?.length)return!1;const u=new Ej(n,t,r,i);if(a)return!s?.[i.parentKey]&&vj(u,[i]);for(const t of o){if(s?.[t])continue;const n=e[t];if(n)if(Array.isArray(n)){if(!n.length)continue;const r=[];for(let s=0;s<n.length;s++){const a=xj.get({parentPath:i,parent:e,container:n,key:s,listKey:t});r.push(a)}if(vj(u,r))return!0}else if(vj(u,[xj.get({parentPath:i,parent:e,container:e,key:t,listKey:null})]))return!0}return!1}function wj(e,t,n,r,i,s,a){return Cj(e,t,n,r,i,s,a)}function kj(e){const t=this.opts;return this.debug(e),!(!this.node||!Ij.call(this,t[e]))||!!this.node&&Ij.call(this,t[this.node.type]?.[e])}function Ij(e){if(!e)return!1;for(const t of e){if(!t)continue;const e=this.node;if(!e)return!0;const n=t.call(this.state,this,this.state);if(n&&"object"==typeof n&&"function"==typeof n.then)throw new Error("You appear to be using a plugin with an async traversal visitor, which your current version of Babel does not support. If you're using a published plugin, you may need to upgrade your @babel/core version.");if(n)throw new Error(`Unexpected return value from visitor method ${t}`);if(this.node!==e)return!0;if(this._traverseFlags>0)return!0}return!1}function _j(e,t){e.context!==t&&(e.context=t,e.state=t.state,e.opts=t.opts)}function Nj(){if(this.opts?.noScope)return;let e,t=this.parentPath;for((("key"===this.key||"decorators"===this.listKey)&&t.isMethod()||"discriminant"===this.key&&t.isSwitchStatement())&&(t=t.parentPath);t&&!e;){if(t.opts?.noScope)return;e=t.scope,t=t.parentPath}this.scope=this.getScope(e),this.scope?.init()}function Lj(){this.removed||(Oj.call(this),Fj.call(this),Dj.call(this))}function Oj(){this.parentPath&&(this.parent=this.parentPath.node)}function Dj(){if(this.container&&this.node!==this.container[this.key]){if(Array.isArray(this.container)){for(let e=0;e<this.container.length;e++)if(this.container[e]===this.node)return void jj.call(this,e)}else for(const e of Object.keys(this.container))if(this.container[e]===this.node)return void jj.call(this,e);this.key=null}}function Fj(){if(!this.parent||!this.inList)return;const e=this.parent[this.listKey];this.container!==e&&(this.container=e||null)}function Mj(){this.contexts.pop(),this.contexts.length>0?this.setContext(this.contexts[this.contexts.length-1]):this.setContext(void 0)}function Bj(e){this.contexts.push(e),this.setContext(e)}function Rj(e,t,n,r){this.listKey=n,this.container=t,this.parentPath=e||this.parentPath,jj.call(this,r)}function jj(e){this.key=e,this.node=this.container[this.key],this.type=this.node?.type}function Uj(){let e=this,t=this.contexts;for(;!t.length&&(e=e.parentPath,e);)t=e.contexts;return t}var{VISITOR_KEYS:qj,removeProperties:Jj,traverseFast:$j}=at;function Vj(e,t={},n,r,i,s){if(e){if(!t.noScope&&!n&&"Program"!==e.type&&"File"!==e.type)throw new Error(`You must pass a scope and parentPath unless traversing a Program/File. Instead of that you tried to traverse a ${e.type} node without passing scope and parentPath.`);if(!i&&s)throw new Error("visitSelf can only be used when providing a NodePath.");qj[e.type]&&(tD(t),wj(e,t,n,r,i,null,s))}}Vj.visitors=dD,Vj.verify=nD,Vj.explode=tD,Vj.cheap=function(e,t){$j(e,t)},Vj.node=function(e,t,n,r,i,s){wj(e,t,n,r,i,s)},Vj.clearNode=function(e,t){Jj(e,t)},Vj.removeProperties=function(e,t){return $j(e,Vj.clearNode,t),e},Vj.hasType=function(e,t,n){return!n?.includes(e.type)&&(e.type===t||$j(e,function(e){return n?.includes(e.type)?$j.skip:e.type===t?$j.stop:void 0}))},Vj.cache=PD,st.default;var Kj={},Wj={},Xj={},Hj=e=>{const t={value:e};return(...e)=>{const[n]=e;return e.length?(t.value=n,n):t.value}},zj={TYPES:{TOKEN:"Token",NEWLINE:"Newline",LINEBREAK:"Linebreak",SPLITTER:"Splitter",INDENT:"Indent",DEBUG:"Debug",SPACE:"Space",ROUND_BRACE_OPEN:"RoundBraceOpen",ROUND_BRACE_CLOSE:"RoundBraceClose",QUOTE:"Quote",END_OF_FILE:"EndOfFile"}},Yj={},Gj={},Qj={};const{types:Zj}=st,{isStringLiteral:eU,isIdentifier:tU,isIfStatement:nU,isStatement:rU,isForOfStatement:iU,isVariableDeclaration:sU,isMemberExpression:aU,isArrayExpression:oU,isObjectExpression:uU,isLabeledStatement:cU}=Zj,lU=e=>e.parentPath?.isProgram(),pU=e=>{const t=e.getNextSibling();return!!t.node&&!t.isEmptyStatement()},dU=e=>lU(e)&&!pU(e);function hU([e,t]){return eU(e)&&tU(t)}Qj.isNextObject=e=>e.getNextSibling().isObjectExpression(),Qj.isPrevObject=e=>e.getPrevSibling().isObjectExpression(),Qj.isFirst=e=>e.node===e.parentPath.node.body?.[0],Qj.isPrevBody=e=>e.getPrevSibling().isBlockStatement(),Qj.isNext=pU,Qj.isPrev=e=>e.getPrevSibling().node,Qj.isNextParent=e=>pU(e.parentPath),Qj.isParentProgram=lU,Qj.isParentBlock=e=>e.parentPath.isBlockStatement(),Qj.isLast=dU,Qj.isParentLast=e=>dU(e.parentPath),Qj.isIndented=(e={})=>{const{parentPath:t,node:n}=e;return!t.node.loc||n.loc?.start.column!==t.node.loc.start.column},Qj.isCoupleLines=function(e){const t=e.node?.loc?.start?.line,n=e.node?.loc?.end?.line;return n!==t},Qj.exists=e=>e.node,Qj.isStringAndIdentifier=hU;Qj.isSimpleAndNotEmptyObject=e=>{const[t]=e;return!(t&&!["Identifier","SpreadElement","ArrayExpression","CallExpression","NewExpression"].includes(t.type))&&(e=>{let t=e.at(-1);return uU(t)||(t=e.at(-2)),!!uU(t)&&t.node.properties.length})(e)},Qj.isIdentifierAndIdentifier=([e,t])=>tU(e)&&tU(t),Qj.isStringAndMember=([e,t])=>eU(e)&&aU(t),Qj.isIdentifierAndString=([e,t])=>tU(e)&&eU(t),Qj.isStringAndArray=([e,t])=>!!eU(e)&&(!!oU(t)&&!hU(t.node.elements));const fU=e=>nU(e)||rU(e),mU=e=>iU(e)||rU(e);Qj.isIf=e=>nU(e.find(fU)),Qj.isForOf=e=>{const t=e.find(mU);return!!iU(t)||!!sU(t)&&iU(t.parentPath)},Qj.isInsideIf=e=>e.parentPath?.isIfStatement(),Qj.isNewlineBetweenSiblings=e=>{const t=e.node?.loc?.end?.line,n=e.getNextSibling().node?.loc?.start?.line;return!!n&&n-t>1},Qj.isInsideLabel=({parentPath:e})=>cU(e),Qj.satisfy=e=>t=>{for(const n of e)if(n(t))return!0;return!1};const yU=e=>e.node||e;Qj.hasCoupleTrailingComments=e=>{const t=yU(e);return t?.trailingComments?.length>1},Qj.hasTrailingComment=e=>{const t=yU(e);return t.trailingComments?.length},Qj.hasLeadingComment=e=>e.node?.leadingComments?.length,Qj.noTrailingComment=e=>!e.node.trailingComments?.length,Qj.noLeadingComment=e=>!e.node.leadingComments?.length;var gU={},bU={},xU={},SU={};const TU="__putout_newline_after";function EU(e){e[TU]=!0}function PU(e){return e[TU]}SU.markBefore=function(e){e.__putout_newline_before=!0},SU.markAfter=EU,SU.maybeMarkAfter=(e,t)=>e&&EU(t),SU.isMarkedAfter=PU,SU.hasPrevNewline=e=>PU(e.getPrevSibling());var vU={maybeInsideFn:(e,{print:t,indent:n})=>{e&&(n.inc(),n.inc(),t.breakline(),n.dec(),n.dec())}},AU={};const CU=(e,t)=>()=>e(`//${t}`),wU=(e,t)=>()=>e(`/*${t}*/\n`);AU.hasTrailingCommentsPrinter=e=>{const{printTrailingCommentBlock:t,printTrailingCommentLine:n}=e;return!!t||Boolean(n)},AU.hasLeadingCommentsPrinter=e=>{const{printLeadingCommentLine:t,printLeadingCommentBlock:n}=e;return!!t||Boolean(n)},AU.printLeadingComments=(e,t,n,{currentTraverse:r})=>{const{print:i}=t,{leadingComments:s=[]}=e.node,{printLeadingCommentLine:a,printLeadingCommentBlock:o}=r,u=s.length-1;for(const[r,{type:c,value:l}]of s.entries())"CommentLine"!==c?"CommentBlock"===c&&o?.(e,t,n,{index:r,printComment:wU(i,l)}):a?.(e,t,n,{index:r,printComment:CU(i,l),isLast:r===u})},AU.printTrailingComments=(e,t,n,{currentTraverse:r})=>{const{print:i}=t,{trailingComments:s=[]}=e.node,{printTrailingCommentLine:a,printTrailingCommentBlock:o}=r,u=s.length-1;for(const[r,{type:c,value:l}]of s.entries())"CommentLine"!==c?"CommentBlock"===c&&o?.(e,t,n,{index:r,printComment:wU(i,l)}):a?.(e,t,n,{index:r,printComment:CU(i,l),isLast:r===u})};const{types:kU}=st,{hasTrailingComment:IU,satisfy:_U,isPrev:NU}=Qj,{markBefore:LU}=SU,{maybeInsideFn:OU}=vU,{printLeadingComments:DU,hasLeadingCommentsPrinter:FU}=AU,{isArrowFunctionExpression:MU,isObjectProperty:BU,isVariableDeclarator:RU,isClassProperty:jU,isTSPropertySignature:UU,isSpreadElement:qU,isClassBody:JU,isBinaryExpression:$U,isClassMethod:VU,isDecorator:KU}=kU,WU=_U([BU,RU,jU,UU,qU]),XU=e=>{const{parentPath:t}=e;return!(!RU(t)||e!==t.get("init"))||!!MU(t)&&RU(t.parentPath)};function HU(e){const{loc:t,leadingComments:n}=e.node;if(!WU(e))return!1;const[r]=n,{line:i}=r.loc.start;return!function(e){const[t]=e.node.leadingComments,{line:n}=t.loc.start;return e.getPrevSibling().node?.loc.start.line===n}(e)&&i<=t.start.line-1}const zU=e=>{const{parentPath:t}=e;return e===t.get("properties")[0]||!(!JU(t)||!jU(e))&&e===t.get("body")[0]};xU.parseLeadingComments=(e,t,n,{currentTraverse:r={}}={})=>{const{print:i,maybe:s,indent:a}=t;if(!n.comments)return;const{leadingComments:o}=e.node;if(!o?.length)return;if(FU(r))return DU(e,t,n,{currentTraverse:r});if((e=>e?.parentPath.node?.decorators)(e))return;const u=e.isSwitchCase();if(!u&&IU(e.getPrevSibling()))return;const c=(e.parentPath.isFunction()||e.parentPath.isTSDeclareMethod())&&!e.isTSTypeParameterDeclaration(),l=WU(e),p=zU(e)||!u&&!e.isClassMethod()&&!c&&!l,d=o.length-1;for(const[t,{type:n,value:r}]of o.entries())if("CommentLine"!==n){if("CommentBlock"===n){s.indent(p);const t=e.isClassMethod(),n=e.isDirective(),a=e.isObjectProperty();a&&i.breakline(),i(`/*${r}*/`),UU(e)&&!NU(e)&&i.breakline(),(e.isStatement()||e.isTSEnumMember()||n||t||a||u)&&(i.newline(),LU(e),s.indent(t||a||u));continue}}else(t||!e.isClassProperty()&&!e.isBinaryExpression())&&s.indent(p),OU(c,{print:i,indent:a}),HU(e)?s.print.breakline(!zU(e)):s.print.space(l&&!e.isClassProperty()),i(`//${r}`),t===d?(s.print.breakline(l),s.print.newline(!l),VU(e)?a():($U(e)||KU(e))&&(a.inc(),a(),a.dec())):i.newline(),XU(e)&&(a.inc(),a(),a.dec())};var YU={},GU={},QU={};const{hasTrailingComment:ZU}=Qj,{assign:eq}=Object;function tq(e){const t=[];let n=e.get("object");for(;!n.isIdentifier();){const e=n.isCallExpression(),r=rq(n);if(e&&(n=n.get("callee")),t.unshift(r),!n.isMemberExpression())break;n=n.get("object")}return t}function nq(e){const t=[];for(;e.isMemberExpression()&&(ZU(e.get("object"))&&t.push({type:"CommentLine"}),(e=e.parentPath).isCallExpression()&&(t.push(rq(e)),e=e.parentPath),e.isMemberExpression()););return t.push({type:e.type}),t}function rq(e){const t={type:e.type};return e.isCallExpression()&&eq(t,{args:e.node.arguments.length,name:e.node.callee.property?.name||""}),t}QU.chain=e=>{const t=[...tq(e),...nq(e)],n=t.slice(0,-1);return[t.at(-1),n]};const{types:iq}=st,{chain:sq}=QU,{satisfy:aq}=Qj,{isUnaryExpression:oq,isIfStatement:uq,isCallExpression:cq,isIdentifier:lq}=iq,pq=e=>"CallExpression"===e.type,dq=aq([oq,uq]),hq=({type:e})=>"CommentLine"===e;GU.isLooksLikeChain=e=>{const[t,n]=sq(e);if((e=>!!lq(e.node.object)&&!!lq(e.node.property)&&cq(e.parentPath.parentPath))(e))return!1;if(dq(t))return!1;if(fq(n))return!1;if(n.find(hq))return!0;if(e.find(mq))return!1;const r=n.filter(pq),[i]=r;return!(2===r.length&&!i.name)&&(!(e=>e.parentPath?.isCallExpression()&&e.parentPath.get("arguments.0")===e)(e)&&r.length>1)};const fq=([e])=>cq(e,{name:"get"}),mq=e=>{const t=e.find(uq);let n=!1;return t?(t.get("test").traverse({MemberExpression(t){e===t&&(n=!0,e.stop())}}),n):n},{types:yq}=st,{isLast:gq,isCoupleLines:bq,isNext:xq}=Qj,{isLooksLikeChain:Sq}=GU,{printTrailingComments:Tq,hasTrailingCommentsPrinter:Eq}=AU,{isDecorator:Pq,isMemberExpression:vq,isExpressionStatement:Aq,isCallExpression:Cq}=yq,wq=e=>!!e.isTSModuleDeclaration()||e.node.body?.length,kq=e=>{const{parentPath:t}=e;return!!t.isFunction()&&t.get("params").includes(e)};function Iq(e,t){return e.node.loc?.start.line===t.start.line||e.node.loc?.end.line===t.end.line}const _q=e=>e.node.trailingComments===e.getNextSibling().node?.leadingComments,Nq=e=>{const{parentPath:t}=e;if(Pq(e)){const{loc:t}=e.node.trailingComments[0];return!Iq(e,t)}return!vq(t)&&!gq(e)};function Lq(e){const{node:t}=e,{loc:n,trailingComments:r}=t;if(e.isClassMethod())return!1;if(_q(e))return!1;if(e.isThrowStatement())return!1;const[i]=r,{line:s}=i.loc.start,a=e.getNextSibling();if(a.node&&s<a.node.loc?.start.line)return!1;if(!n)return!0;const o=n.start.line,u=n.end.line;return s===o+1&&s===u+1||s===o+2&&s===u+2}function Oq(e){const t=e.getPrevSibling();if(Aq(t))return!1;const{expression:n}=e.node;return!!Cq(n)&&!Cq(n.arguments[0])}YU.isTrailingIsLeading=_q,YU.parseTrailingComments=(e,t,n,{currentTraverse:r}={})=>{const{parentPath:i}=e,{write:s,maybe:a,indent:o}=t;if(!n.comments)return;const{trailingComments:u}=e.node;if(!u?.length)return;if(Eq(r))return Tq(e,t,n,{currentTraverse:r});if(e.isDirective())return;const c=u.length-1,l=Sq(i);for(const{type:t,value:n,loc:r}of u){const i=Iq(e,r),u=Lq(e);if("CommentLine"===t){const t=u&&l,r=!i&&!u;a.write.breakline(u),a.write.space(i),(r||t)&&(a.indent.inc(t),o(),a.indent.dec(t)),wq(e)&&(a.write.breakline(!xq(e)),a.write.breakline(!c)),s(`//${n}`),a.write.newline(Nq(e));continue}"CommentBlock"===t&&(a.write.space(i),a.indent(!i),a.print.breakline(Oq(e)),s(`/*${n}*/`),a.write.newline(!i||!kq(e)&&bq(e.parentPath)))}};var Dq={};const{isNext:Fq}=Qj;Dq.parseComments=(e,{write:t,maybe:n},r)=>{if(!r.comments)return;const i=e.node.comments||e.node.innerComments;if(!i)return;const s=i.length-1,a=e.isProgram();for(const[r,{type:o,value:u}]of i.entries())if("CommentLine"!==o)"CommentBlock"===o&&(t("/*"),t(u),t("*/"));else{if(n.write.breakline(Fq(e)||!a),t("//"),t(u),a){n.write.newline(r<s);continue}t.newline()}};const{parseLeadingComments:Mq}=xU,{parseTrailingComments:Bq}=YU,{parseComments:Rq}=Dq;bU.parseLeadingComments=Mq,bU.parseTrailingComments=Bq,bU.parseComments=Rq;const{parseComments:jq}=bU,Uq=()=>{},qq=e=>e.get("params");function Jq(e){if("ArrowFunctionExpression"!==e.type)return!1;const{params:t}=e.node,[n]=t;return 1===t.length&&"Identifier"===n.type}gU.printParams=(e,t,n,r={})=>{const{extra:i,typeParameters:s}=e.node,{print:a,maybe:o,traverse:u}=t,{params:c=qq(e),braceOpen:l="(",braceClose:p=")",printSpace:d=a.space,printAfterOpen:h=Uq,printBeforeClose:f=Uq}=r;s&&u(e.get("typeParameters")),function(e,{print:t,braceOpen:n},r){if(Jq(e)&&!r.roundBraces.arrow)return;t(n)}(e,{print:a,braceOpen:l},n),jq(e,t,n),h();const m=c.length-1;for(let e=0;e<=m;e++){const t=e===m;u(c[e]),t||(a(","),d())}o.print(i?.trailingComma,","),f(),function(e,{print:t,braceClose:n},r){if(Jq(e)&&!r.roundBraces.arrow)return;t(n)}(e,{print:a,braceClose:p},n)};var $q={};const Vq=e=>e.node.extra?.parenthesized;$q.isParens=Vq,$q.maybeParens=e=>"function"==typeof e?Kq(e):Wq(e);const Kq=e=>({condition:Vq,before(e,{write:t}){t("(")},print:e,after(e,{write:t}){t(")")}}),Wq=({print:e,condition:t,checkParens:n=!0})=>({...Kq(e),condition:(e,r,i)=>{const s=t?.(e,r,i);return n?s||Vq(e):s}}),{exists:Xq}=Qj,{printParams:Hq}=gU,{maybeParens:zq}=$q;Gj.ArrowFunctionExpression=zq((e,t,n)=>{const{print:r,maybe:i,write:s,traverse:a}=t,{async:o}=e.node;i.print(o,"async "),Hq(e,t,n);const u=e.get("returnType");Xq(u)&&(s(":"),s.space(),a(u)),r.space(),r("=>");const c=e.get("body").isJSXElement();i.print.space(!c),r("__body")});var Yq={};const{types:Gq}=st,{markAfter:Qq}=SU,{isNext:Zq,isNextParent:eJ}=Qj,{printParams:tJ}=gU,nJ=(rJ=function(e){return!!lJ(e.parentPath)&&e.node.body.body.length},(...e)=>!rJ(...e));var rJ;const{isAssignmentExpression:iJ,isTSModuleBlock:sJ,isBlockStatement:aJ,isExportNamedDeclaration:oJ,isExpressionStatement:uJ,isFunctionDeclaration:cJ,isExportDefaultDeclaration:lJ}=Gq;Yq.FunctionDeclaration={print(e,t,n){const{print:r,maybe:i}=t,{async:s,generator:a,returnType:o}=e.node;i.indent(!(({parentPath:e})=>oJ(e))(e)),i.print(s,"async "),r("function"),a?(r("*"),r.space()):r(" "),r("__id"),tJ(e,t,n),o&&(r(": "),r("__returnType")),r.space(),r("__body")},afterSatisfy:()=>[Zq,eJ,hJ],after(e,{indent:t,maybe:n}){(dJ(e)||pJ(e)||Zq(e))&&t(),n.write.newline(nJ(e)),Qq(e)}};const pJ=e=>{const t=e.getNextSibling();return cJ(t)},dJ=e=>{const t=e.getNextSibling();return!!uJ(t)&&iJ(t.node.expression)};function hJ(e){const{parentPath:t}=e;return!!sJ(t.parentPath)||!!aJ(t)&&!e.node.body.body.length}var fJ={},mJ={};const yJ=e=>{const t=e.getPrevSibling();return!!t.node&&(t.isClassProperty()||t.isClassAccessorProperty())};mJ.maybeDecorators=e=>(t,n,r,i)=>{const{write:s,traverse:a,maybe:o}=n,{decorators:u}=t.node;if(u)for(const e of t.get("decorators"))o.write.breakline(yJ(t)),a(e),s.breakline();e(t,n,r,i)};var gJ={},bJ={maybePrintComputed:(e,t,{maybe:n,traverse:r})=>{const{computed:i}=e.node;n.write(i,"["),r(t),n.write(i,"]")}};const{maybePrintComputed:xJ}=bJ;gJ.printKey=(e,t)=>{const n=e.get("key");xJ(e,n,t)};var SJ={printKind:(e,{write:t})=>{const{kind:n,generator:r}=e.node;"get"===n||"set"===n?t(`${n} `):r&&t("*")}},TJ={};const{printParams:EJ}=gU,{hasLeadingComment:PJ}=Qj,vJ=({decorators:e})=>e?.length;TJ.printFunctionParams=(e,t,n)=>{const{params:r}=e.node,i=r.filter(vJ).length,s=(e=>{const t=e.get("params");let n=0,r=0;for(const e of t){const t=e.get("decorators");if(!t.length)continue;const[i]=t;++r,PJ(i)&&++n}return n===r})(e),a=wJ({isNewline:i,printer:t}),o=AJ({type:"inc",printer:t,isNewline:i,isAllHasComments:s}),u=CJ({type:"dec",printer:t,isNewline:i,isAllHasComments:s});EJ(e,t,n,{printAfterOpen:o,printSpace:a,printBeforeClose:u})};const AJ=({isNewline:e,isAllHasComments:t,printer:n,type:r})=>()=>{if(!e)return;const{indent:i,print:s}=n;t||i[r](),s.breakline()},CJ=({isNewline:e,printer:t,isAllHasComments:n,type:r})=>()=>{if(!e)return;const{indent:i,print:s}=t;n||i[r](),s.breakline()},wJ=({isNewline:e,printer:t})=>()=>{const{print:n}=t;if(!e)return n.space();n.breakline()},{isNext:kJ,hasTrailingComment:IJ}=Qj,{maybeDecorators:_J}=mJ,{printKey:NJ}=gJ,{printKind:LJ}=SJ,{printFunctionParams:OJ}=TJ,DJ=e=>!IJ(e)&&kJ(e),FJ={print:_J((e,t,n)=>{const{print:r}=t,{node:i}=e,{accessibility:s,returnType:a}=i;s&&(r(s),r(" ")),i.static&&(r("static"),r(" ")),i.override&&(r("override"),r(" ")),i.async&&(r("async"),r(" ")),LJ(e,t),NJ(e,t),OJ(e,t,n),a&&(r(":"),r.space(),r("__returnType")),r.space(),r("__body")}),afterSatisfy:()=>[DJ],after(e,{print:t}){t.linebreak()}};fJ.ClassPrivateMethod=FJ,fJ.ClassMethod=FJ;var MJ={};const{isNewlineBetweenSiblings:BJ}=Qj,{printParams:RJ}=gU,{printKey:jJ}=gJ,{printKind:UJ}=SJ;MJ.ObjectMethod={beforeIf:e=>e.node.async,before(e,{write:t}){t("async ")},print(e,t,n){const{print:r}=t;UJ(e,t),jJ(e,t),RJ(e,t,n),r.space(),r("__body")},afterIf:e=>BJ(e),after(e,{print:t}){t.linebreak()}};var qJ={};const{exists:JJ}=Qj,{printParams:$J}=gU,{maybeParens:VJ}=$q;qJ.FunctionExpression=VJ((e,t,n)=>{const{print:r,maybe:i,write:s,traverse:a}=t,{node:o}=e,{generator:u,async:c}=o;i.write(c,"async "),s("function"),i.write(u,"*");const l=e.get("id");JJ(l)&&(s(" "),a(l)),$J(e,t,n),r.space(),r("__body")});const{ArrowFunctionExpression:KJ}=Gj,{FunctionDeclaration:WJ}=Yq,{ClassMethod:XJ,ClassPrivateMethod:HJ}=fJ,{ObjectMethod:zJ}=MJ,{FunctionExpression:YJ}=qJ;Yj.FunctionDeclaration=WJ,Yj.FunctionExpression=YJ,Yj.ArrowFunctionExpression=KJ,Yj.ClassMethod=XJ,Yj.ClassPrivateMethod=HJ,Yj.ObjectMethod=zJ;var GJ={};const{isLast:QJ,isNext:ZJ}=Qj,{maybeParens:e$}=$q,t$=e$((e,t)=>{const{maybe:n,traverse:r}=t,{prefix:i,operator:s}=e.node,a=e.get("argument");n.print(i,s),n.print(/^(delete|typeof|void|throw)$/.test(s)," "),r(a),n.print(!i,s)});function n$(e,{print:t}){t(`${e} `),t("__argument")}GJ.UnaryExpression=t$,GJ.UpdateExpression=t$,GJ.AwaitExpression=e$((e,{print:t})=>{n$("await",{print:t})}),GJ.YieldExpression=e$((e,{print:t,maybe:n})=>{const{delegate:r}=e.node;t("yield"),n.print(r,"*"),t(" "),t("__argument")}),GJ.ThrowStatement=(e,{print:t,indent:n,maybe:r})=>{n(),n$("throw",{print:t}),t(";"),r.print.newline(!QJ(e)),r.print.breakline(ZJ(e))};var r$={};const{maybePrintComputed:i$}=bJ,{maybeParens:s$}=$q,{isLooksLikeChain:a$}=GU;r$.MemberExpression=(e,t)=>{const{print:n,maybe:r,traverse:i}=t,s=e.get("object"),a=e.get("property"),o=s.isAssignmentExpression(),{computed:u}=e.node,c=a$(e);if(r.print(o,"("),i(s),r.print(o,")"),u)return i$(e,a,t);r.indent.inc(c),r.print.breakline(c),n("."),n("__property"),r.indent.dec(c)},r$.OptionalMemberExpression=s$((e,{print:t,maybe:n})=>{const{computed:r,optional:i}=e.node;if(t("__object"),n.print(i,"?."),n.print(!i&&!r,"."),r)return t("["),t("__property"),void t("]");t("__property")});var o$={},u$={maybeDeclare:e=>(t,n,r)=>{const{maybe:i}=n,{declare:s}=t.node;i.print(s,"declare "),e(t,n,r)}};const{types:c$}=st,{isNext:l$}=Qj,{markAfter:p$}=SU,{maybeDeclare:d$}=u$,{parseComments:h$}=bU,{maybeDecorators:f$}=mJ,{isFunction:m$,isTSModuleBlock:y$}=c$,g$=e=>m$(e.parentPath.parentPath),b$=f$((e,t,n)=>{const{id:r,abstract:i,superClass:s}=e.node,{print:a,indent:o,maybe:u,traverse:c}=t;u.print(i,"abstract "),a("class"),u.print(r||s," "),a("__id"),a("__typeParameters");const{node:l}=e;l.superClass&&(u.print(r," "),a("extends "),a("__superClass"),a("__superTypeArguments")),l.implements&&(a(" implements "),e.get("implements").forEach(a)),a.space(),a("{"),u.print.newline(e.node.body.body.length),o.inc();const p=e.get("body"),d=p.get("body");for(const e of d)o(),c(e);d.length||h$(p,t,n),o.dec(),u.indent(d.length),a("}")});o$.ClassExpression=b$,o$.ClassDeclaration={print:d$((e,t,n)=>{const{maybe:r}=t;r.indent(!(({parentPath:e})=>e.isExportDeclaration())(e)),b$(e,t,n)}),afterIf:e=>!!g$(e)||(!!l$(e)||(e=>y$(e.parentPath.parentPath))(e)),after(e,{write:t}){t.newline(),!g$(e)&&(({node:e})=>e.body.body.length)(e)&&(t.newline(),p$(e))}};var x$={};const{exists:S$}=Qj,{maybeParens:T$}=$q,{isArray:E$}=Array,P$=T$((e,{indent:t,print:n,maybe:r,traverse:i})=>{const s=(e=>{const t=e.get("arguments");return E$(t)?t:[]})(e),a=function(e){for(const t of e)if(t.isIdentifier()&&t.node.name.length>10)return!0;return!1}(s)&&e.parentPath.isCallExpression(),o=e.get("callee"),u=e.get("typeArguments");i(o),S$(u)&&i(u),e.node.optional&&n("?."),n("(");const c=s.length-1;r.indent.inc(a);for(const[e,t]of s.entries()){const r=t.isObjectExpression();a&&!r&&c&&n.breakline(),n(t),a&&c?n(","):e<c&&(n(","),n.space())}a&&(t.dec(),r.print.breakline(c)),n(")")});x$.OptionalCallExpression=P$,x$.CallExpression=P$;var v$={};const{types:A$}=st,{exists:C$}=Qj,{isMarkedAfter:w$}=SU,{isExpressionStatement:k$,isMemberExpression:I$}=A$;function _$(e,t,n,r){const{maybe:i,print:s}=n,{roundBraces:a}=r,{length:o}=t.node.arguments;if(o||(({parentPath:e})=>I$(e))(t))return s(e);i.print(a.new,e)}v$.NewExpression={beforeIf(e){if(!(({parentPath:e})=>k$(e))(e))return!1;const[t,n]=(({parentPath:e})=>{const t=e.getPrevSibling();return[t.node,t]})(e);return!!t&&(!w$(n)&&(!n.isExpressionStatement()&&(({parentPath:e})=>C$(e.getPrevSibling()))(e)))},before(e,{print:t}){t.breakline()},print(e,t,n){const{print:r,maybe:i}=t;r("new "),r("__callee"),r("__typeArguments");const s=e.get("arguments");!function(e,t,n){_$("(",e,t,n)}(e,t,n);const a=s.length-1;for(const[e,t]of s.entries())r(t),i.print(e<a,", ");!function(e,t,n){_$(")",e,t,n)}(e,t,n)}};var N$={},L$={};const{types:O$}=st,{isArrayExpression:D$}=O$,F$=["NullLiteral","NumericLiteral","BigIntLiteral"];L$.isInsideTuple=e=>{const{parentPath:t}=e;if(!D$(t))return!1;const[n,r]=t.node.elements;return r===e.node&&F$.includes(n.type)};var M$={};const{types:B$}=st,{isArrayExpression:R$,isCallExpression:j$,isIdentifier:U$}=B$;M$.isThirdObjectInsideArray=({parentPath:e})=>{if(!R$(e))return!1;const[,t]=e.node.elements;return j$(t)&&!!U$(t)};const{types:q$}=st,{isCoupleLines:J$,isForOf:$$,isIf:V$,noTrailingComment:K$,isNewlineBetweenSiblings:W$,noLeadingComment:X$,hasLeadingComment:H$,exists:z$}=Qj,{parseComments:Y$}=bU,{isInsideTuple:G$}=L$,{isLooksLikeChain:Q$}=GU,{isThirdObjectInsideArray:Z$}=M$,{isStringLiteral:eV,isArrayExpression:tV}=q$,nV=e=>e.get("argument").isLogicalExpression();N$.ObjectExpression=(e,t,n)=>{const{trailingComma:r}=n,{print:i,maybe:s,indent:a}=t,o=G$(e)||function({parentPath:e}){return!!tV(e)&&!!tV(e.parentPath)&&(({parentPath:e})=>e.isCallExpression())(e.parentPath)}(e)||Z$(e);s.indent.inc(!o);const u=e.get("properties"),{length:c}=u,l=function(e){return!!(e=>e.parentPath.node.body===e.node)(e)||(e=>e.parentPath.isExpressionStatement())(e)}(e),p=!oV(e);s.print(l,"("),i("{"),Y$(e,t,n),s.print.newline(p);const d=u.length-1,h=(({parentPath:e})=>{if(!e.isCallExpression())return!1;const t=e.get("callee");return!!t.isMemberExpression()&&Q$(t)})(e);s.indent.inc(h);for(const[e,t]of u.entries()){if(t.isSpreadElement()){const n=nV(t);X$(t)&&s.indent(c>1||n||p),i(t),K$(t)&&(c>1||p)&&(s.print(e!==d||r,","),i.newline());continue}s.indent(p&&X$(t)),i(t),t.isObjectMethod()||K$(t)&&!rV(t)&&(s.print.newline(p),s.print.linebreak(W$(t)))}o?(G$(e)||function({parentPath:e}){const{elements:t}=e.parentPath.node,[n]=t;return eV(n)}(e))&&(a.dec(),a(),a.inc()):(a.dec(),s.indent(p)),i("}"),s.print(l,")"),s.indent.dec(h)};const rV=e=>{const t=e.getNextSibling();return!!z$(t)&&H$(t)},iV=e=>{const{parentPath:t}=e;return!!t.isCallExpression()&&(!J$(e)&&e!==t.get("arguments").at(-1))},sV=!0,aV=!1;function oV(e){const{length:t}=e.get("properties");return t?iV(e)||$$(e)||V$(e)?sV:J$(e)?aV:!(e=>e.get("properties.0.value").node)(e):sV}N$.isOneLine=oV;var uV={},cV={};const{types:lV}=st,{isStringLiteral:pV,isTemplateLiteral:dV,isBinaryExpression:hV}=lV,fV=e=>!!pV(e)||dV(e);cV.isConcatenation=e=>{const{parentPath:t}=e,{operator:n}=e.node;if("+"!==n)return!1;const r=e.node.loc?.start.line,i=e.node.loc?.end.line;if(r===i)return!1;const s=e.get("left"),a=e.get("right");return!!(fV(s)&&fV(a)&&hV(t))||hV(s)&&fV(a)},cV.concatenate=(e,{print:t,indent:n})=>{e.parentPath.isBinaryExpression()||(n.inc(),t.breakline()),t("__left"),t.space(),t("+"),t.breakline(),t("__right"),e.parentPath.isBinaryExpression()||n.dec()};const{types:mV}=st,{isConcatenation:yV}=cV,{isOneLine:gV}=N$,{printKey:bV}=gJ,{isTSImportType:xV}=mV;uV.ObjectProperty=(e,t,n)=>{const{trailingComma:r}=n,{shorthand:i}=e.node,{maybe:s,traverse:a,write:o}=t,u=e.get("value"),c=e.parentPath.get("properties"),l=e===c.at(-1),p=!gV(e.parentPath);bV(e,t),i||(o(":"),s.write.space(!yV(u)),a(u)),p&&!(({parentPath:e})=>xV(e.parentPath))(e)?s.write(!l||r,","):!l&&c.length&&o(", ")};var SV={},TV={wrongShorthand:({computed:e,isAssign:t,keyPath:n,valuePath:r})=>!e&&!t&&n.node.name!==r.node.name},EV={moreThenMaxPropertiesInOneLine:(e,{maxPropertiesInOneLine:t})=>{const{parentPath:n}=e;if(n.isObjectProperty())return!1;return t>=e.node.properties.length}},PV={};const{types:vV}=st,{isMemberExpression:AV,isSequenceExpression:CV}=vV;function wV(e,t){const{parentPath:n,node:r}=e,{typeAnnotation:i}=r,{write:s,traverse:a}=t;CV(n)||AV(n)||i&&(s(":"),s.space(),a(e.get("typeAnnotation")))}PV.maybePrintTypeAnnotation=wV,PV.maybeTypeAnnotation=e=>(t,n,r)=>{e(t,n,r),wV(t,n)};var kV={};const{types:IV}=st,{isAssignmentPattern:_V,isIdentifier:NV}=IV;function LV(e,t){return NV(e)&&NV(t)?e.name.length+t.name.length:NV(e)?e.name.length:0}kV.moreThenMaxPropertiesLengthInOneLine=(e,{maxPropertiesLengthInOneLine:t})=>{const{properties:n}=e.node;for(const{key:e,value:r}of n){if(_V(r)){const{left:e,right:n}=r;if(LV(e,n)>=t)return!0}if(!NV(e))continue;const{name:n}=e;if(n.length>=t)return!0}return!1};var OV={};const{types:DV}=st,{isAssignmentPattern:FV,isArrayExpression:MV,isObjectExpression:BV,isIdentifier:RV}=DV;function jV(e,t){const{key:n,value:r}=e.node;if(!FV(r))return!1;if(!RV(n))return!0;const{maxPropertiesLengthInOneLine:i}=t;return n.name.length>i}OV.calculateAssigns=(e,t)=>{const n=jV(e,t),{right:r}=e.node.value,i=MV(r)||!!BV(s=r)&&s.properties.length;var s;return{complexAssign:n&&i}},OV.isLongAssignPattern=jV;const{types:UV}=st,{wrongShorthand:qV}=TV,{isForOf:JV,isCoupleLines:$V,exists:VV}=Qj,{moreThenMaxPropertiesInOneLine:KV}=EV,{maybeTypeAnnotation:WV}=PV,{moreThenMaxPropertiesLengthInOneLine:XV}=kV,{printKey:HV}=gJ,{calculateAssigns:zV,isLongAssignPattern:YV}=OV,{isObjectExpression:GV,isIdentifier:QV,isAssignmentPattern:ZV,isVariableDeclarator:eK,isFunction:tK,isObjectPattern:nK,isForOfStatement:rK,isVariableDeclaration:iK}=UV;const sK=({path:e,valuePath:t,property:n})=>{if(!$V(t))return!1;if(VV(n.getPrevSibling()))return!1;const r=e.get("properties");return!(e.parentPath.isVariableDeclarator()&&!lK(r))&&!e.parentPath.isObjectProperty()};function aK({parentPath:e}){return rK(e.parentPath.parentPath)}function oK(e){const t=e.getPrevSibling();return ZV(t.node.value)}function uK(e){const t=e.getPrevSibling();if(!ZV(t.node.value))return!1;const{right:n}=t.node.value;return GV(n)}function cK(e){const t=e.getNextSibling();if(!t.node)return!1;if(!ZV(t.node.value))return!1;const{right:n}=t.node.value;return GV(n)}function lK(e){for(const t of e){const{value:e}=t.node;if(ZV(e))return!0}return!1}function pK(e){for(const t of e)if(nK(t.node.value))return!0;return!1}SV.ObjectPattern={print:WV((e,t,n)=>{const r=function(e){return!e.parentPath.isArrayPattern()}(e),{maxPropertiesInOneLine:i,maxPropertiesLengthInOneLine:s}=n,{print:a,maybe:o,indent:u}=t;o.indent.inc(r),a("{");const c=e.get("properties"),l=c.length-1,p=function(e,t){const{parentPath:n}=e,r=e.get("properties"),i=r.length-1,{maxPropertiesInOneLine:s,maxPropertiesLengthInOneLine:a}=t,o=XV(e,{maxPropertiesLengthInOneLine:a}),u=KV(e,{maxPropertiesInOneLine:s});if(function(e){for(const t of e){const{computed:e}=t.node;if(e)return!0}return!1}(r))return hK;const c=function({parentPath:e}){return!!e.isFunction()||!!e.isAssignmentPattern()&&e.parentPath.isFunction()}(e);return pK(r)?hK:u&&!o&&eK(e.parentPath)?dK:!c&&i&&!JV(e)&&function(e){for(const t of e){const{value:e}=t.node;if(QV(e)&&e.name.length>4)return!0}return!1}(r)||!c&&lK(r)?hK:n.isObjectProperty()}(e,{maxPropertiesInOneLine:i,maxPropertiesLengthInOneLine:s}),d=l&&pK(c),h=!(e=>!!tK(e.parentPath)||tK(e.parentPath.parentPath))(e);o.print.newline(p&&h);for(const[r,i]of c.entries()){if(i.isRestElement()){const e=p||d;o.indent(e),a(i),o.print.newline(e);continue}const s=r&&uK(i),u=cK(i),c=i.get("value"),f=i.get("key"),m=c.isAssignmentPattern(),{shorthand:y,computed:g}=i.node,b=sK({path:e,property:i,valuePath:c});if(o.indent((s||p)&&h),o.print.breakline(b&&!YV(i,n)),!m&&u&&a.breakline(),HV(i,t),!y||qV({computed:g,isAssign:m,keyPath:f,valuePath:c}))a(":"),a.space(),a(c);else if(m){a(c),o.print(b,","),o.print.newline(b);const{right:t}=c.node;if(r&&!oK(i)&&!aK(e)&&GV(t)){a(","),a.newline();continue}}if(!m&&u&&h){a(","),a.breakline();continue}const{complexAssign:x}=zV(i,n);x||!(p||d||s&&h)?!(r<l)||m&&b||(a(","),a.space()):(a(","),a.newline())}u.dec(),o.indent(p||function(e,t){const{parentPath:n}=e;if(iK(n.parentPath)){const{declarations:e}=n.parentPath.node;if(e.length>1)return!1}const r=e.get("properties"),i=r.length;for(const e of r){const{value:n}=e.node;if(ZV(n)&&GV(n.right))return i>1||t<=n.left}return!1}(e,s)),o.indent.inc(!r),a("}")})};const dK=!1,hK=!0;var fK={};const{exists:mK}=Qj,{maybePrintTypeAnnotation:yK}=PV,{maybeDecorators:gK}=mJ,{printKey:bK}=gJ,{printKind:xK}=SJ,SK=gK((e,t,n,{accessor:r}={})=>{const{node:i}=e,{accessibility:s,declare:a,optional:o}=i,{print:u,maybe:c}=t;c.print(r,"accessor ");const l=e.get("value");c.print(a,"declare "),c.print(s,`${s} `),c.print(i.static,"static "),c.print(i.readonly,"readonly "),xK(e,t),bK(e,t),c.print(o,"?"),yK(e,t),mK(l)&&(u.space(),u("="),u.space(),u("__value")),u(";"),u.newline()});fK.ClassProperty=SK,fK.ClassPrivateProperty=SK,fK.PrivateName=(e,{print:t})=>{t("#"),t("__id")},fK.ClassAccessorProperty=(e,t,n)=>{SK(e,t,n,{accessor:!0})};var TK={exports:{}},EK={};const{hasLeadingComment:PK}=Qj,{isParens:vK}=$q;EK.condition=(e,t,n)=>{const{parentPath:r}=e,{type:i}=r,{roundBraces:s}=n;return"ObjectPattern"===e.node.left.type||("LogicalExpression"===i||("BinaryExpression"===i||("UnaryExpression"===i||!(!s.assign&&!PK(e))&&vK(e))))};var AK={};const{types:CK}=st,{hasLeadingComment:wK}=Qj,{isReturnStatement:kK}=CK;AK.printLeadingCommentLine=(e,t,n,{printComment:r,isLast:i})=>{const{parentPath:s}=e,{print:a,maybe:o}=t;kK(s)||(o.print.breakline(!i),r(),a.breakline())},AK.printLeadingCommentBlock=(e,t,n,{printComment:r})=>{const{parentPath:i}=e,{print:s}=t;kK(i)||(r(),s.indent())},AK.maybeInsideReturnWithCommentStart=(e,{print:t,indent:n})=>{const{parentPath:r}=e;if(kK(r)&&wK(e)){n.inc();const{leadingComments:r}=e.node;t.breakline();for(const{type:e,value:n}of r)t("CommentLine"===e?`//${n}`:`/*${n}*/`),t.breakline()}},AK.maybeInsideReturnWithCommentEnd=(e,{print:t,indent:n})=>{const{parentPath:r}=e;kK(r)&&wK(e)&&(n.dec(),t.breakline())};var IK={};const{types:_K}=st,{isAssignmentExpression:NK,isExpressionStatement:LK}=_K;IK.printSeparator=(e,{print:t})=>{!function(e){const{right:t}=e.node;return!!e.parentPath.find(LK)&&NK(t)}(e)?t.space():t.breakline()},function(e){const{condition:t}=EK,{printLeadingCommentLine:n,maybeInsideReturnWithCommentEnd:r,maybeInsideReturnWithCommentStart:i,printLeadingCommentBlock:s}=AK,{maybeParens:a}=$q,{printSeparator:o}=IK;e.exports.AssignmentExpression=a({checkParens:!1,condition:t,print(e,t){const{print:n}=t,{operator:s}=e.node;i(e,t),n("__left"),n.space(),n(s),o(e,t),n("__right"),(({parentPath:e})=>/BlockStatement|Program/.test(e.type))(e)&&(n(";"),n.breakline()),r(e,t)}}),e.exports.AssignmentExpression.printLeadingCommentLine=n,e.exports.AssignmentExpression.printLeadingCommentBlock=s}(TK);var OK=TK.exports;OK.default;var DK={},FK={},MK={},BK={};const{types:RK}=st,{isIdentifier:jK,isMemberExpression:UK}=RK;function qK(e,t){const n=JK(t);return e.scope.getAllBindings()[n]}BK.getBinding=qK,BK.getBindingPath=(e,t)=>qK(e,t)?.path;const JK=e=>"string"==typeof e?e:jK(e)?e.name:UK(e)?JK(e.object):"";var $K={};const{types:VK}=st,{isOptionalMemberExpression:KK,isMemberExpression:WK,isIdentifier:XK,isLiteral:HK}=VK;$K.isSimple=e=>!!HK(e)||(!!XK(e)||(!!WK(e)||KK(e)));var zK={};const{types:YK}=st,{isArrayExpression:GK,isLiteral:QK,isIdentifier:ZK,isMemberExpression:eW,isTemplateElement:tW,isRegExpLiteral:nW,isClassMethod:rW,isTemplateLiteral:iW,isJSXText:sW,isJSXAttribute:aW,isJSXIdentifier:oW,isTSTypeReference:uW,isTSTypeParameter:cW,isTSAsExpression:lW}=YK;function pW(e){if(e=e.node||e,ZK(e))return e.name;if(oW(e))return e.name;if(nW(e))return e.pattern;if(iW(e))return pW(e.quasis[0]);if(QK(e))return e.value;if(tW(e))return e.value.raw;if(eW(e))return`${pW(e.object)}.${pW(e.property)}`;if(GK(e))return dW(e);if(sW(e))return e.value;if(aW(e))return e.name.name;if(rW(e))return pW(e.key);if(uW(e))return pW(e.typeName);if(cW(e))return pW(e.name);if(lW(e))return pW(e.expression);const t=["Literals","Identifiers","TemplateLiteral","TemplateElement","RegExpLiteral","ArrayExpression","MemberExpression","JSXIdentifier","JSXAttribute","JSXText","TSTypeParameter","TSAsExpression"].join(", ");throw Error(`'operator.extract(node)' understands only ${t} and TSTypeReference🤷, found: ${e.type}`)}function dW(e,t=[]){for(const n of e.elements)GK(n)?dW(n,t):t.push(pW(n));return t.join(",")}zK.extract=pW;var hW={};const{getBindingPath:fW}=BK,{extract:mW}=zK,yW=!1,gW=!0;function bW(e){const{node:t}=e;if(!e.evaluate)throw Error("☝️ Looks like argument of 'compute' is not 'path'");const{confident:n,value:r}=e.evaluate();if(n)return[gW,r];if(e.isBinaryExpression())return function(e){const{operator:t}=e.node,n=e.get("left"),r=e.get("right"),[i,s]=bW(n);if(!i)return[yW];const[a,o]=bW(r);if(!a)return[yW];const u=`return a ${t} b`,c=SW[t]||SW.init(t,Function("a","op","b",u));return[gW,c(s,t,o)]}(e);if(xW(e))return[gW,mW(t)];const i=function(e){const{node:t}=e;return e.isIdentifier()?fW(e,mW(t)):function(e){const t=e.get("object");return!!e.isMemberExpression()&&(!e.node.computed&&t.isIdentifier())}(e)?fW(e,mW(t.object)):null}(e);if(!i)return[yW];const s=i.get("init");return s.isObjectExpression()&&e.isMemberExpression()?function(e,t){const n=mW(e.node.property);for(const e of t.get("properties")){const t=e.get("key");if(!xW(t))return[yW];if(mW(t)!==n)continue;const[r,i]=bW(e.get("value"));if(!r)break;return[gW,i]}return[yW]}(e,s):[yW]}function xW(e){const{parentPath:t}=e;return!(!e.isIdentifier()&&!e.isLiteral())&&(!!t.isObjectProperty({computed:!1})&&!function(e){const t=function(e){const{referencesSet:t}=e.scope;if(!t)return{};const n=t.entries();return Object.fromEntries(n)}(e),[n]=Object.keys(t),r=e.scope.bindings[n];if(!r)return!1;const{referencePaths:i}=r;for(const e of i)if(e.parentPath.parentPath?.isAssignmentExpression())return!0;return!1}(e))}hW.compute=bW;const SW={init:(e,t)=>SW[e]=t};var TW={};const{entries:EW}=Object;TW.remove=e=>{if(!e.node)return;const{scope:t}=e,n=vW(e),r=AW(e);if(t&&!r.node){const r=t.getProgramParent().block;t.block!==r||n.node||(r.comments=PW(e))}if(!e.parentPath.isArrayPattern())return void e.remove();const i=e.parentPath.get("elements"),s=i.length-1;for(const[t,n]of EW(i))if(n===e){if(!Number(t)&&s){e.parentPath.node.elements[t]=null;break}e.remove();break}};const PW=e=>{const{leadingComments:t}=e.node;if(t?.length)return t;const{parentPath:n}=e;return e.isVariableDeclarator()&&(({node:e})=>1===e.declarations.length)(n)?n.node.leadingComments:[]},vW=e=>e.isVariableDeclarator()?e.parentPath.getPrevSibling():e.getPrevSibling(),AW=e=>e.isVariableDeclarator()?e.parentPath.getNextSibling():e.getNextSibling();var CW={getExportDefault:e=>{const t=e.scope.getProgramParent().path;for(const e of t.get("body"))if(e.isExportDefaultDeclaration())return e;return null}},wW={},kW={renameProperty:(e,t,n)=>{e.traverse({ObjectProperty(e){const{node:r}=e,{key:i,value:s}=r;i.name===s.name&&i.name===t&&(i.name=n,s.name=n,r.shorthand=!0,e.stop())}})}};const{renameProperty:IW}=kW;wW.rename=(e,t,n)=>{const r=e.scope.getAllBindings()[t];if(!r)return;const i=r.path;IW(i,t,n),i.scope.rename(t,n)};var _W={setLiteralValue:(e,t)=>{const n=e.node||e,{raw:r,extra:i,value:s}=n;n.value=s.replace(s,t),'""'!==r?!r&&s?i&&(n.raw=i.raw.replace(s,t),n.extra.rawValue=s):n.raw="'"+String.raw`${t}`+"'":n.raw=r.replace(r,`"${t}"`)}},NW={};function LW(e){if(!e.isVariableDeclaration())return!1;const t=e.get("declarations.0.init");if(!t.isCallExpression())return!1;return t.get("callee").isIdentifier({name:"require"})}NW.getPathAfterRequires=e=>{let t;for(t of e)if(!LW(t))break;return t};var OW={},DW={};const{traverse:FW,types:MW}=st,{extract:BW}=zK,{isCallExpression:RW,isObjectExpression:jW}=MW,UW=e=>e.node||e;DW.traverseProperties=(e,t,{firstLevel:n=!1}={})=>{const r=[],i=function(e){return jW(e)?RW(e.parentPath)?e.parentPath.node:{type:"ExpressionStatement",expression:UW(e)}:UW(e)}(e),s=qW({name:t,collector:r});return n?(s(e),r):(FW(i,{noScope:!0,ObjectExpression:s}),r)};const qW=({name:e,collector:t})=>n=>{for(const r of n.get("properties")){if(r.isSpreadElement())continue;if(r.isRestElement())continue;const n=r.get("key");if(n.isConditionalExpression())continue;const i=BW(n);e===i&&t.push(r)}},{isObjectExpression:JW,isObjectPattern:$W}=st.types,{extract:VW}=zK,{traverseProperties:KW}=DW;OW.traverseProperties=KW,OW.getProperties=(e,t)=>{const n={};for(const r of e.get("properties")){if(r.isSpreadElement())continue;const e=r.get("key"),i=VW(e);if(t.includes(i)){n[`${i}Path`]=r;continue}}return n},OW.getProperty=(e,t)=>{if(!JW(e)&&!$W(e))throw Error(`☝️Looks like path is not 'ObjectExpression | ObjectPattern', but: '${e.type}' for path: ${e}`);const n=e.get("properties");for(const e of n){const n=e.get("key");if(VW(n)===t)return e}return null};var WW={};const XW=e=>"string"==typeof e;WW.getLiteralRaw=e=>{const{raw:t,extra:n,value:r}=e.node||e;return XW(t)?t:n&&XW(n.raw)?n.raw:`'${i=r,i.includes("\\'")?i:i.replaceAll("'","\\'")}'`;var i};var HW={},zW={},YW={};const{types:GW}=st,{isStatement:QW,isBlockStatement:ZW,blockStatement:eX,expressionStatement:tX}=GW;YW.maybeBody=(e,t)=>{const{parentPath:n}=e;return t&&!QW(t)||ZW(t)||!n?.isArrowFunctionExpression?.()?{currentPath:e}:(n.node.body=eX([tX(e.node)]),{currentPath:n.get("body.body.0")})};var nX={};const{types:rX}=st,{isExpression:iX,toStatement:sX,expressionStatement:aX}=rX;nX.toExpression=e=>{const{type:t}=e;return["ObjectProperty"].includes(t)?e:iX(e)?aX(e):sX(e)};const{maybeBody:oX}=YW,{toExpression:uX}=nX,{isSequenceExpression:cX}=st.types;zW.replaceWithMultiple=(e,t)=>{const{node:n}=e,{trailingComments:r,comments:i,leadingComments:s}=n;delete e.node.trailingComments;const a=e.parentPath.node.comments,o=t.filter(Boolean).map(uX);!function(e){for(const t of e)for(const n of e)t!==n&&t.leadingComments===n.leadingComments&&delete n.leadingComments}(o);const{currentPath:u}=oX(e),c=u.replaceWithMultiple(o);return c.length?(s||cX(e)||delete c[0].node.leadingComments,c[0].node.comments=i||a,c.at(-1).node.trailingComments=r,c):c};var lX={};const{maybeBody:pX}=YW,{assign:dX}=Object;lX.replaceWith=(e,t)=>{t=(e=>{var t;return(e=(t=e).__putout_replaced_with?t.__putout_replaced_with:t).node?e.node:e})(t),e?.parentPath?.isExpressionStatement()&&!e.parentPath.isProgram()&&(!function(e,t){e.__putout_replaced_with=t}(e,t),e=e.parentPath);const{comments:n,loc:r}=e.node,{currentPath:i}=pX(e,t);return i.replaceWith(t),dX(i.node,{comments:n,loc:r}),i};const{replaceWithMultiple:hX}=zW,{replaceWith:fX}=lX,{toExpression:mX}=nX;HW.replaceWith=fX,HW.replaceWithMultiple=hX,HW.toExpression=mX;const{types:yX}=st,{getBinding:gX,getBindingPath:bX}=BK,{isSimple:xX}=$K,{extract:SX}=zK,{compute:TX}=hW,{remove:EX}=TW,{getExportDefault:PX}=CW,{rename:vX}=wW,{renameProperty:AX}=kW,{setLiteralValue:CX}=_W,{getPathAfterRequires:wX}=NW,{getProperty:kX,getProperties:IX,traverseProperties:_X}=OW,{getLiteralRaw:NX}=WW,{replaceWith:LX,replaceWithMultiple:OX,toExpression:DX}=HW,{matchesPattern:FX,isImportDeclaration:MX,isExportDeclaration:BX,isStatement:RX,expressionStatement:jX}=yX;MK.getBinding=gX,MK.getBindingPath=bX,MK.getLiteralRaw=NX,MK.extract=SX,MK.compute=TX,MK.replaceWith=LX,MK.getExportDefault=PX,MK.toExpression=DX,MK.isSimple=xX,MK.rename=vX,MK.renameProperty=AX,MK.setLiteralValue=CX,MK.getProperty=kX,MK.getProperties=IX,MK.traverseProperties=_X,MK.replaceWithMultiple=OX,MK.insertBefore=(e,t)=>{e.insertBefore(t)},MK.insertAfter=(e,t)=>{const{comments:n}=e.node;e.node.trailingComments?.length&&e.getNextSibling()?.node?.leadingComments&&delete e.node.trailingComments,t.trailingComments&&delete t.trailingComments,RX(e)&&!RX(t)?e.insertAfter(jX(t)):e.insertAfter(t),e.node.comments=n},MK.isModuleExports=e=>FX(e.node||e,"module.exports");MK.findBinding=(e,t)=>{const n=e.findParent((e=>t=>t.scope.bindings[e])(t));return n?n.scope.bindings[t]:null},MK.remove=EX,MK.getPathAfterRequires=wX,MK.getPathAfterImports=e=>{const t=e.length;let n=0;for(;n<t-1&&MX(e[n]);)++n;return e[n]},MK.isESM=e=>{const t=e.scope.getProgramParent().path;for(const e of t.node.body){if(MX(e))return!0;if(BX(e))return!0}return!1};const{isSimple:UX}=MK,{types:qX}=st,{isStringAndMember:JX,isStringAndIdentifier:$X,isIdentifierAndString:VX,isCoupleLines:KX,isStringAndArray:WX,isIdentifierAndIdentifier:XX,isSimpleAndNotEmptyObject:HX}=Qj,{isObjectExpression:zX,isArrayExpression:YX,isObjectProperty:GX,isCallExpression:QX,isAwaitExpression:ZX,isBooleanLiteral:eH,isNullLiteral:tH,isStringLiteral:nH,isSpreadElement:rH,isIdentifier:iH}=qX,{round:sH}=Math,aH=!1,oH=!0;FK.isMultiLine=(e,{elements:t,maxElementsInOneLine:n,maxElementLengthInOneLine:r})=>{const[i]=t;return function(e,t){if(e.length>1)return!1;const[n]=e;return!!iH(n)&&n.node.name.length<t}(t,r)?aH:t.length>n&&nH(i)||t.length>3&&!zX(i)||HX(t)?oH:function(e){const t=e.get("elements");if(1!==t.length)return!1;const[n]=t;return!!(n.isIdentifier()&&n.node.name.length<15)||!(n.isStringLiteral()&&n.node.value.length>10)&&(!(n.isIdentifier()||!UX(n))||!n.isCallExpression()&&n.isMemberExpression())}(e)||(e=>{if(e.length>1)return!1;const[t]=e;return rH(t)})(t)||2===t.length&&XX(t)||function(e){const{parentPath:t}=e;return!!t.isCallExpression()&&(!!t.parentPath.isFunction()&&e.node.elements.length<4)}(e)||fH(e)||function(e){return e.parentPath.isForOfStatement()}(e)||(([e,t])=>eH(e)&&UX(t))(t)||(([e,t])=>tH(e)&&UX(t))(t)||(([e,t])=>{if(UX(e))return QX(t)||ZX(t)})(t)||lH(e,n)||function(e){const[t,n]=e;if(e.length>2)return!1;if(!t?.isStringLiteral()||!n?.isStringLiteral())return!1;const r=t.node.value.length,i=n.node.value.length;return sH(i/r)>2}(t)||pH(e)||WX(t)&&t.length<3||JX(t)||$X(t)||VX(t)||(([e,t])=>UX(e)&&zX(t))(t)||cH(t)&&e.parentPath.isArrayExpression()&&YX(e.parentPath.node.elements[0])||(e=>!!e.getNextSibling().isArrayExpression()||e.getPrevSibling().isArrayExpression())(e)?aH:function(e){const t=e.get("elements");if(t.length<2)return!1;for(const t of e.get("elements"))if(t.isStringLiteral()&&t.node.value.length>4)return!0;return!1}(e)||KX(e)||!function(e){for(const t of e)if(t.isNumericLiteral())return!0;return!1}(t)&&!uH(e)&&dH(e)&&!hH(e)?oH:aH};const uH=({parentPath:e})=>e.isForOfStatement(),cH=([e,t])=>nH(e)&&nH(t),lH=(e,t)=>{const{node:n,parentPath:r}=e,{elements:i}=n,{length:s}=i,[a,o]=i;return!!r.isCallExpression()&&(!(!nH(a)||!nH(o))&&s<t)},pH=e=>{const{node:t,parentPath:n}=e,{elements:r}=t,{length:i}=r,[s,a]=r;return!(i>2)&&(!!n.isObjectProperty()&&(!(!nH(s)||!nH(a))&&!KX(e)))};const dH=({parentPath:e})=>!e.isCallExpression(),hH=e=>e.find(GX);function fH(e){const t=e.get("elements");return!!t.length&&(!!(([e,t])=>eH(e)&&zX(t))(t)||!function(e){return!!e.parentPath.isCallExpression()&&e.parentPath.parentPath.isForOfStatement()}(e)&&(!!t[0].isObjectExpression()||!rH(t[1])&&mH(t)))}FK.isIncreaseIndent=fH;const mH=e=>{const t=e.at(0),n=e.at(-1);return nH(t)&&zX(n)};FK.isCurrentNewLine=e=>!!e.isSpreadElement()||!e.isObjectExpression();var yH={};const{types:gH}=st,{isIndented:bH}=Qj,{isStringLiteral:xH,isArrayExpression:SH}=gH,TH=e=>e.parentPath.isArrayExpression();function EH(e){if(!e.isArrayExpression()||!e.parentPath.isArrayExpression())return!1;const t=e.parentPath.node.elements,n=t.filter(SH).length,r=!SH(t.at(-1));if(n&&r)return!1;const{length:i}=t;return i<=3&&1!==i}yH.isInsideArray=TH,yH.isArrayIndented=e=>{const t=e.get("elements");if(EH(e))return!1;const[n]=t;return!PH(t)||!TH(e)&&bH(n)},yH.isArrayInsideArray=EH;const PH=([e,t])=>!(!xH(e)||!xH(t))&&e.node.value.length>20;var vH={};const{isNextObject:AH,isPrevObject:CH}=Qj,wH=["ArrayExpression","ObjectExpression","SpreadElement","CallExpression","Identifier","NewExpression"];vH.isObjectAfterSimple=e=>{const{type:t}=e;return!(!AH(e)||CH(e))&&wH.includes(t)},vH.isNextSimple=e=>{const{type:t}=e.getNextSibling();return wH.includes(t)};const{types:kH}=st,{isCoupleLines:IH,isStringAndIdentifier:_H,isIdentifierAndIdentifier:NH,isStringAndArray:LH,isSimpleAndNotEmptyObject:OH,isNextObject:DH}=Qj,{isIncreaseIndent:FH,isCurrentNewLine:MH,isMultiLine:BH}=FK,{isInsideArray:RH,isArrayInsideArray:jH,isArrayIndented:UH}=yH,{isObjectAfterSimple:qH,isNextSimple:JH}=vH,{isObjectExpression:$H,isSpreadElement:VH,isStringLiteral:KH,isIdentifier:WH,isFunction:XH,isCallExpression:HH,isObjectProperty:zH}=kH,YH=e=>(e=>KH(e.getNextSibling()))(e)||(e=>KH(e.getPrevSibling()))(e),GH=e=>{if(!e.isObjectExpression())return!1;const t=e.getPrevSibling();if(!t.isSpreadElement())return!1;const n=t.get("argument");if(n.isCallExpression()){const[e]=n.get("arguments");if(XH(e))return!1}return!t.getPrevSibling().isObjectExpression()&&t.get("argument").isCallExpression()},QH=e=>{const t=e.getNextSibling();return!(t.isSpreadElement()||t.isIdentifier()||t.isCallExpression())||t.getNextSibling().isObjectExpression()},ZH=({parentPath:e})=>1===e.node.elements.length;function ez(e){if(!VH(e)&&!WH(e)&&!HH(e))return;const t=e.getPrevSibling();return!e.getNextSibling().isObjectExpression()&&t.isObjectExpression()}DK.ArrayExpression={beforeIf(e){const{parentPath:t}=e,{elements:n}=e.node;return!!t.isArrayExpression()&&(!IH(t)&&(!(!_H(n)||!ZH(e))||NH(n)))},before(e,{print:t}){t.breakline()},print(e,{print:t,maybe:n},r){const{maxElementsInOneLine:i,trailingComma:s,maxElementLengthInOneLine:a}=r,o=e.get("elements"),u=!FH(e);t("[");const c=UH(e);n.indent.inc(c&&u);const l=BH(e,{elements:o,maxElementsInOneLine:i,maxElementLengthInOneLine:a}),p=o.length-1;n.print.newline(l&&o.length);for(const[r,i]of o.entries()){const a=l&&MH(i);ez(i)&&t.newline(),n.indent(a),t(i),(r<p||s)&&n.print(a,","),$H(i)&&zH(e.parentPath)||n.print.newline((a||GH(i))&&!DH(i)&&!$H(i)),n.print.space(a&&qH(i)),!a&&r<p&&(t(","),!QH(i)&&i.isObjectExpression()&&JH(i)||t.space())}n.indent.dec(c&&u);const d=e.parentPath.get("elements");if(RH(e)&&LH(d)){const t=2===d.length,r=!YH(e)||t;n.indent.dec(r),n.indent(o.length&&l),n.indent.inc(r)}else jH(e)||$H(o.at(-1))||n.indent(o.length&&l);!OH(o)||VH(o.at(-1))||HH(o.at(-1))||(t(","),t.breakline()),t("]")},afterIf(e){const{parentPath:t}=e,{elements:n}=e.node;return!!t.isArrayExpression()&&(!IH(t)&&(!(!_H(n)||!ZH(e))||NH(n)))},after(e,{print:t,indent:n}){n.dec(),t.breakline(),n.inc()}};var tz={};const{maybeTypeAnnotation:nz}=PV;tz.ArrayPattern=nz((e,{indent:t,maybe:n,print:r},i)=>{const{maxElementsInOneLine:s}=i;r("[");const a=e.get("elements");t.inc();const o=!(({parentPath:e})=>e.parentPath.parentPath?.isForOfStatement())(e)&&a.length>s,u=a.length-1;n.print(o&&a.length,"\n");for(const[e,t]of a.entries())n.indent(o),r(t),o?r(",\n"):e<u&&(r(","),r.space());t.dec(),n.indent(a.length&&o),r("]")});var rz={};rz.AssignmentPattern={print(e,{print:t,maybe:n}){n.print(function(e){const{parentPath:t}=e;return!(!t.isObjectProperty()||t.node.shorthand)||(!!(e=>e.parentPath.isFunction())(e)||(!!t.isTSParameterProperty()||t.isArrayPattern()))}(e),"__left"),t.space(),t("="),t.space(),t("__right")}};var iz={};const{maybeTypeAnnotation:sz}=PV;iz.RestElement=sz((e,{print:t})=>{t("..."),t("__argument")});var az={};const{hasTrailingComment:oz}=Qj;az.SpreadElement=(e,t)=>{const{print:n}=t;n("..."),n("__argument"),oz(e)&&n(",")};var uz={exports:{}},cz={condition:(e,t,n)=>{const{parentPath:r}=e,{type:i}=r,{roundBraces:s}=n;return"ArrowFunctionExpression"===i||("ConditionalExpression"===i&&e!==r.get("test")||("LogicalExpression"===i||s.sequence))}},lz={};const{hasLeadingComment:pz}=Qj,dz=()=>{};lz.printLeadingCommentLine=dz,lz.printLeadingCommentBlock=dz,lz.maybePrintComments=(e,{print:t})=>{if(pz(e)){const{leadingComments:n}=e.node;for(const{type:e,value:r}of n)t("CommentLine"===e?`//${r}`:`/*${r}*/`),t.breakline()}},function(e){const{hasLeadingComment:t}=Qj,{maybeParens:n}=$q,{condition:r}=cz,{maybePrintComments:i,printLeadingCommentLine:s,printLeadingCommentBlock:a}=lz;e.exports.SequenceExpression=n({checkParens:!1,condition:r,print(e,n){const{write:r,traverse:s,indent:a,maybe:o}=n,u=e.get("expressions"),c=u.length-1,l=t(e);l&&(a.inc(),r.breakline(),i(e,n));for(const[e,t]of u.entries())s(t),e<c&&(r(","),o.write.space(!l),o.print.breakline(l));l&&(a.dec(),r.breakline())}}),e.exports.SequenceExpression.printLeadingCommentLine=s,e.exports.SequenceExpression.printLeadingCommentBlock=a}(uz);var hz=uz.exports;hz.default;var fz={TaggedTemplateExpression:(e,{print:t})=>{t("__tag"),t("__quasi")}},mz={},yz={maybeSpace:(e,{print:t})=>{const{right:n}=e.node;return"UnaryExpression"===n.type&&"+"===n.operator?t(" "):t.space()}};const{concatenate:gz,isConcatenation:bz}=cV,{maybeSpace:xz}=yz,{maybeParens:Sz}=$q;mz.BinaryExpression=Sz((e,{print:t,indent:n,maybe:r})=>{const{operator:i}=e.node;return"in"===i||"instanceof"===i?(t("__left"),t(" "),t(i),t(" "),void t("__right")):bz(e)?gz(e,{print:t,indent:n,maybe:r}):(t("__left"),t.space(),t(e.node.operator),xz(e,{print:t}),void t("__right"))});var Tz={},Ez={};const{types:Pz}=st,{isLogicalExpression:vz,isReturnStatement:Az,isVariableDeclarator:Cz}=Pz;function wz(e){let t=0;do{++t;const n=e.get("right");vz(n)&&(t+=wz(n)[0]),e=e.get("left");const{operator:r}=e.node;if("||"!==r&&"&&"!==r)break}while(e.isLogicalExpression());return[t]}Ez.isRootOk=e=>Az(e)||Cz(e),Ez.chain=e=>{const[t]=wz(e),[n,r]=function(e){let t=0;do{++t,e=e.parentPath}while(e.isLogicalExpression());return[t,{type:e.type}]}(e);return[r,t+n,t,n]};const{maybeParens:kz}=$q,{chain:Iz,isRootOk:_z}=Ez;Tz.LogicalExpression=kz({condition:e=>!!e.parentPath.isUnaryExpression()||e.parentPath.isAwaitExpression(),print(e,{print:t,maybe:n},r){t("__left");const i=function(e,t){const[n,r]=Iz(e);if(!_z(n))return!1;if(r<=t.maxLogicalsInOneLine)return!1;const{operator:i}=e.node;return"||"===i||"&&"===i}(e,r);n.indent.inc(i),i?t.breakline():t.space(),n.indent.dec(i),t(e.node.operator),t.space(),t("__right")}});var Nz={};const{maybeParens:Lz}=$q;Nz.ConditionalExpression=Lz((e,{print:t})=>{t("__test"),t.space(),t("?"),t.space(),t("__consequent"),t.space(),t(":"),t.space(),t("__alternate")});var Oz={StaticBlock:(e,{print:t,traverse:n})=>{t("static "),t("{"),t.breakline();for(const t of e.get("body"))n(t);t.indent(),t("}"),t.newline()}},Dz={};function Fz(e,t,n,{source:r="source"}={}){const{print:i,maybe:s}=t,{options:a}=e.node;i("import("),i(`__${r}`),s.print(a,","),s.print.space(a),i("__options"),i(")")}Dz.ImportExpression=Fz,Dz.createImportExpression=Fz;var Mz={};const{types:Bz}=st,{isJSXElement:Rz}=Bz;Mz.ParenthesizedExpression={before(e,{print:t}){t("(")},condition:e=>{const{expression:t}=e.node;return!Rz(t)},print(e,{print:t}){t("__expression")},after(e,{print:t}){t(")")}};const jz=Yj,Uz=GJ,qz=r$,{ClassExpression:Jz,ClassDeclaration:$z}=o$,{CallExpression:Vz,OptionalCallExpression:Kz}=x$,{NewExpression:Wz}=v$,{ObjectExpression:Xz}=N$,{ObjectProperty:Hz}=uV,{ObjectPattern:zz}=SV,{ClassProperty:Yz,ClassAccessorProperty:Gz,ClassPrivateProperty:Qz,PrivateName:Zz}=fK,{AssignmentExpression:eY}=OK,{ArrayExpression:tY}=DK,{ArrayPattern:nY}=tz,{AssignmentPattern:rY}=rz,{RestElement:iY}=iz,{SpreadElement:sY}=az,{SequenceExpression:aY}=hz,{TaggedTemplateExpression:oY}=fz,{BinaryExpression:uY}=mz,{LogicalExpression:cY}=Tz,{ConditionalExpression:lY}=Nz,{StaticBlock:pY}=Oz,{ImportExpression:dY}=Dz,{ParenthesizedExpression:hY}=Mz;var fY={...jz,...Uz,...qz,ArrayPattern:nY,ArrayExpression:tY,AssignmentExpression:eY,AssignmentPattern:rY,BinaryExpression:uY,CallExpression:Vz,ClassExpression:Jz,ClassProperty:Yz,ClassAccessorProperty:Gz,ClassPrivateProperty:Qz,ClassDeclaration:$z,ConditionalExpression:lY,NewExpression:Wz,LogicalExpression:cY,OptionalCallExpression:Kz,ObjectExpression:Xz,ObjectProperty:Hz,ObjectPattern:zz,ParenthesizedExpression:hY,PrivateName:Zz,RestElement:iY,ImportExpression:dY,SpreadElement:sY,SequenceExpression:aY,StaticBlock:pY,TaggedTemplateExpression:oY,ThisExpression(e,{write:t}){t("this")}},mY={exports:{}},yY={};const{types:gY}=st,{isExpressionStatement:bY,isFunction:xY,isAssignmentExpression:SY}=gY;yY.isInsideAssignNextAssignFunction=e=>{const{expression:t}=e.node;if(!SY(t))return!1;const n=e.getNextSibling();if(xY(n)&&n.node.leadingComments)return!0;if(!bY(n))return!1;const{leadingComments:r}=n.node;return!!r&&(!!SY(n.node.expression)&&xY(n.node.expression.right))};var TY={};const{types:EY}=st,{hasTrailingComment:PY}=Qj,{isBlockStatement:vY,isProgram:AY,isIfStatement:CY}=EY;TY.printLeadingCommentLine=(e,t,n,{index:r,isLast:i,printComment:s})=>{const{print:a,indent:o}=t,u=e.getPrevSibling(),{parentPath:c}=e;PY(u)||(r||u.node||!CY(c)&&!vY(c)||o(),s(),a.newline(),i||e.parentPath.isIfStatement()||a.indent())},TY.printLeadingCommentBlock=(e,t,n,{printComment:r})=>{const{indent:i}=t,s=e.getPrevSibling();PY(s)||(vY(e.parentPath)&&!AY(e.parentPath.parentPath)&&i(),r())},function(e){const{types:t}=st,{isNext:n,isLast:r,isParentBlock:i,isParentLast:s,isNewlineBetweenSiblings:a,satisfy:o,noTrailingComment:u,hasTrailingComment:c,isCoupleLines:l,isInsideLabel:p}=Qj,{isInsideAssignNextAssignFunction:d}=yY,{printLeadingCommentLine:h,printLeadingCommentBlock:f}=TY,{isCallExpression:m,isExpressionStatement:y,isAssignmentExpression:g}=t,b=({parentPath:e})=>e.isReturnStatement(),x=(e=>(...t)=>!e(...t))(b),S=o([function(e){return!r(e)&&!s(e)},i,n,function(e){return e.findParent(n)}]),T=o([a,function(e){return e.parentPath.get("body")===e},function(e){const t=e.get("expression");if(!t.isStringLiteral())return!1;const{value:n}=e.node.expression;return"use strict"===n},e=>e.getNextSibling().isIfStatement()]);e.exports.ExpressionStatement={beforeIf:e=>!b(e)&&!p(e),before(e,{indent:t}){t()},print(e,{print:t,maybe:r,store:i,indent:s}){const a=b(e);if(t("__expression"),r.print(!a,";"),n(e)&&!a&&T(e)){t.newline();const r=n(e)&&u(e)||function(e){if(g(e.node.expression))return!1;const t=e.getNextSibling();if(!y(t))return!1;const{expression:n}=t.node;return m(n)}(e)||function(e){const{expression:t}=e.node;return!!m(t)&&(!!m(t.arguments[0])&&function(e){const{trailingComments:t}=e.node,[n]=t;return r=n,"CommentBlock"===r?.type;var r}(e))}(e);r&&s(),i(!0)}},afterIf:e=>!!S(e)||(!(!c(e)||!r(e))||(e=>!!e.parentPath.isIfStatement()&&e===e.parentPath.get("consequent")&&Boolean(e.parentPath.node.alternate))(e)),after(e,{print:t,maybe:n,store:i,indent:s}){c(e)&&r(e)&&l(e)&&t.breakline(),c(e)&&!l(e)||function({parentPath:e}){if(!e.isIfStatement())return!1;const t=e.parentPath;if(!t.isIfStatement())return!1;const n=t.parentPath;return!!n.isIfStatement()&&r(n)}(e)||x(e)&&(d(e)&&s(),t.newline(),n.markAfter(i(),e))}},e.exports.ExpressionStatement.printLeadingCommentLine=h,e.exports.ExpressionStatement.printLeadingCommentBlock=f}(mY);var wY=mY.exports;wY.default;var kY={},IY={maybeSpaceAfterKeyword:(e,{write:t})=>{const{declarations:n}=e.node;if(!n.length)return;const{id:r}=n[0];if("ArrayPattern"===r.type||"ObjectPattern"===r.type)return t.space();t(" ")}};const{types:_Y}=st,{isNext:NY,isCoupleLines:LY,isNewlineBetweenSiblings:OY,exists:DY,noTrailingComment:FY}=Qj,{hasPrevNewline:MY}=SU,{maybeSpaceAfterKeyword:BY}=IY,{isConcatenation:RY}=cV,{parseLeadingComments:jY}=bU,{maybeDeclare:UY}=u$,{isExportDeclaration:qY}=_Y,JY=e=>e.parentPath.isTSModuleBlock(),$Y=e=>/Program|BlockStatement|Export|LabeledStatement/.test(e.parentPath.type),VY=e=>e.parentPath.isSwitchCase();function KY(e){return!NY(e)&&e.parentPath.isBlockStatement()}function WY(e){return!YY(e.parentPath)&&e.parentPath.isExportDeclaration()}function XY(e){return!YY(e)&&LY(e)}function HY(e){const t=e.getPrevSibling(),n=e.getNextSibling();return!!DY(t.getPrevSibling())&&(e.node.loc?.start.line!==t.node?.loc?.start.line+2&&(!YY(e)&&t.isVariableDeclaration()&&!n.isVariableDeclaration()))}function zY(e){const t=e.getNextSibling(),n=e.getPrevSibling();return!(!DY(n.getPrevSibling())&&t.isVariableDeclaration())&&(e.node.loc?.start.line!==n.node?.loc?.start?.line+2&&LY(t))}kY.VariableDeclaration={beforeIf:function(e){if(function(e){return e.node===e.parentPath.node.body?.[0]}(e))return!1;if(MY(e))return!1;if(MY(e.parentPath))return!1;const t=e.getPrevSibling();return!(t.isStatement()&&!t.isExpressionStatement()&&!t.isBlockStatement())&&(!qY(e.parentPath)&&LY(e))},before(e,{print:t}){t.breakline()},print:UY((e,{maybe:t,store:n,write:r,traverse:i,print:s,indent:a},o)=>{const{maxVariablesInOneLine:u}=o;t.indent((e=>/^(Program|BlockStatement|TSModuleBlock|SwitchCase)$/.test(e.parentPath.type))(e)),r(e.node.kind),BY(e,{write:r});const c=e.get("declarations"),l=c.length-1;t.indent.inc(l);for(const[e,n]of c.entries()){const p=n.get("id"),d=n.get("init"),h=e===l;if(i(p),DY(d)&&(r.space(),r("="),t.write.space(!RY(d)),i(d)),!h){const n=c[e+1];if(r(","),!n.node.leadingComments){t.write.breakline(l>u),t.write.space(l<=u);continue}jY(n,{print:s,maybe:t,indent:a},o)}}t.indent.dec(l),($Y(e)||VY(e)||JY(e)||(e=>e.parentPath.isIfStatement())(e))&&r(";");let p=!1;VY(e)&&(r.newline(),(e=>e.parentPath.get("consequent.0")===e)(e)||(p=!0)),$Y(e)&&NY(e)&&(FY(e)||OY(e))&&(r.newline(),p=!0),n(p)}),afterSatisfy:()=>[GY,QY,KY,XY,ZY,zY,HY,OY,WY,JY],after(e,{maybe:t,store:n}){const r=n();if(YY(e.parentPath)&&!e.parentPath.isBlockStatement()||!$Y(e)&&!JY(e))return!1;t.print.linebreak(r),t.print.newline(!r),t.markAfter(r,e)}};const YY=e=>e.parentPath?.isProgram()&&!NY(e);const GY=e=>e.getNextSibling().isIfStatement(),QY=e=>e.getNextSibling().isFunctionDeclaration(),ZY=e=>{const t=e.getNextSibling();if(!t.isExpressionStatement())return!1;const{parentPath:n}=e;return!(n.isBlockStatement()&&n.node.body.length<3)&&t.get("expression").isAssignmentExpression()};var eG={};const{types:tG}=st,{markAfter:nG}=SU,{exists:rG,isNext:iG,isInsideIf:sG}=Qj,{isBlockStatement:aG,isFunctionDeclaration:oG,isStatement:uG,isExpressionStatement:cG,isReturnStatement:lG,isContinueStatement:pG}=tG,dG=e=>!aG(e)&&(!lG(e)&&(!pG(e)&&!cG(e)));eG.IfStatement={print:(e,{indent:t,print:n,maybe:r,write:i,traverse:s})=>{const{parentPath:a}=e,o=a.get("alternate");e!==o&&t(),n("if"),n.space(),n("("),n("__test"),n(")");const u=e.get("consequent"),c=e.get("alternate"),l=u.isBlockStatement(),p=u.isVariableDeclaration();if(l)n.space(),n(u),(sG(e.parentPath)||(({parentPath:e})=>"BlockStatement"===e.type&&"BlockStatement"===e.parentPath.type)(e))&&r.print.newline((e=>!e.node.body.length)(u));else{const t=!(e=>e.get("consequent").isEmptyStatement())(e);r.print.newline(t),r.indent.inc(t),r.indent(p),n(u),r.indent.dec(t)}if(c.isBlockStatement()?(i.space(),i("else"),i.space(),s(c)):c.isIfStatement()?(c.get("consequent").isBlockStatement()?i.space():(r.write.newline(dG(u)),t()),i("else "),s(c)):rG(c)&&(r.write.newline(p||dG(u)),r.indent(!l),r.write.space(l),i("else"),i.splitter(),t.inc(),s(c),t.dec()),!iG(e)&&!u.isBlockStatement())return;const d=e.parentPath.getNextSibling();e!==o||(({parentPath:e})=>e.parentPath.isProgram())(e)||uG(d)||n.newline(),(e=>{const{parentPath:t}=e;return!!aG(t)&&!!aG(e.node.consequent)&&!e.node.consequent.body.length&&oG(e.parentPath.parentPath)})(e)&&n.newline()},afterSatisfy:()=>[iG],after:(e,{print:t})=>{t.linebreak(),nG(e)}};var hG={};const{hasPrevNewline:fG,markAfter:mG,markBefore:yG,isMarkedAfter:gG}=SU,{isFirst:bG,isNext:xG,isLast:SG}=Qj;hG.ForOfStatement={beforeIf(e){const{parentPath:t}=e;return!(!t.isBlockStatement()&&t.isStatement())&&(!bG(e)&&!fG(e))},before(e,{print:t}){t.linebreak(),yG(e)},print(e,{indent:t,print:n,maybe:r,traverse:i}){const{node:s}=e;t(),n("for"),r.print(s.await," await"),n.space(),n("("),n("__left"),n(" of "),n("__right"),n(")");const a=e.get("body");if(a.isBlockStatement()){n.space(),n("__body");const{length:t}=a.node.body;return void r.print.newline(!t&&!SG(e)&&!xG(e))}t.inc(),n.newline(),i(a),t.dec(),r.markAfter(gG(a),e)},afterIf:xG,after(e,{print:t}){t.linebreak(),mG(e)}};var TG={},EG={};const{exists:PG}=Qj;EG.insideIfWithNoBody=e=>{if(!e.parentPath.isIfStatement())return!1;if(!e.parentPath.parentPath.isIfStatement())return!1;const t=e.parentPath?.parentPath.getNextSibling();return!PG(t)};var vG={getDirectives:e=>e.node.directives?e.get("directives"):[]},AG={};const{types:CG}=st,{isLooksLikeChain:wG}=GU,{isReturnStatement:kG,isExpressionStatement:IG,isMemberExpression:_G,isCallExpression:NG}=CG;function LG(e){return!!_G(e)&&IG(e.parentPath.parentPath)}function OG(e){if(!NG(e))return!1;const{parentPath:t}=e;return!!kG(t)||IG(t)}AG.isCallInsideChain=e=>{if(!NG(e.parentPath.parentPath))return!1;const t=e.find(LG);if(t)return wG(t);const n=e.find(OG);if(!n)return!1;const r=n.get("callee");return wG(r)};const{types:DG}=st,{isNext:FG,isParentProgram:MG,isLast:BG,exists:RG,satisfy:jG}=Qj,{markAfter:UG}=SU,{parseComments:qG}=bU,{insideIfWithNoBody:JG}=EG,{getDirectives:$G}=vG,{isCallInsideChain:VG}=AG,{isArrowFunctionExpression:KG,isObjectMethod:WG,isFunctionDeclaration:XG,isExportDeclaration:HG,isDoWhileStatement:zG,isBlockStatement:YG,isArrayExpression:GG}=DG,QG=e=>KG(e)||WG(e);TG.BlockStatement={print(e,t,n){const{trailingComma:r}=n,{indent:i,maybe:s,write:a,traverse:o}=t,u=e.get("body"),c=$G(e);e.parentPath.isBlockStatement()&&i();const l=(e=>{const{parentPath:t}=e.parentPath;if(!GG(t))return!1;const{length:n}=t.node.elements;return 3===n})(e);s.indent.inc(!l),a("{"),((e=>e.node.body[0])(e)||(e=>e.node.directives?.[0])(e))&&a.newline();for(const e of c)o(e);s.write.linebreak(c.length&&u.length);const p=VG(e);s.indent.inc(p);for(const e of u)o(e);qG(e,t,n),s.indent.dec(!l),s.indent.dec(l),s.indent(u.length),s.indent.inc(l),a("}"),s.indent.dec(p);const{parentPath:d}=e;WG(d)&&s.write(FG(d)||r,",")},afterIf:function(e){return iQ(e)?nQ:sQ(e)?rQ:ZG(e)?nQ:eQ(e)||function({parentPath:e}){return!!e.isTryStatement()||e.parentPath?.isTryStatement()}(e)||tQ(e)||BG(e)||function(e){return!!XG(e.parentPath)&&(!!HG(e.parentPath?.parentPath)&&!FG(e.parentPath?.parentPath))}(e)?rQ:!function(e){const{parentPath:t}=e;if(!t.isIfStatement())return!1;const n=t.get("alternate");return e!==n&&RG(n)}(e)},after(e,{write:t}){t.newline(),UG(e.parentPath)}};const ZG=e=>(({parentPath:e})=>!!e.isIfStatement()&&!e.node.alternate)(e)&&e.find(QG),eQ=e=>{const{parentPath:t}=e;return t.isStatement()&&!e.node.body.length&&!FG(t)},tQ=({parentPath:e})=>/FunctionExpression/.test(e.type),nQ=!0,rQ=!1,iQ=({parentPath:e})=>YG(e),sQ=jG([({parentPath:e})=>zG(e),e=>!FG(e)&&(!FG(e.parentPath)&&MG(e.parentPath)),JG]);var aQ={},oQ={maybeSpaceAfterKeyword:(e,{print:t},n)=>{const{roundBraces:r}=n,{argument:i}=e.node;if(!i)return;const{type:s}=i;return"SequenceExpression"===s&&r.sequence||"StringLiteral"===s||"TemplateLiteral"===s||"ArrayExpression"===s||"ObjectExpression"===s||"UnaryExpression"===s&&"!"===i.operator||"ArrowFunctionExpression"===s&&r.arrow?t.space():void t(" ")}};const{types:uQ}=st,{isInsideLabel:cQ}=Qj,{isPrevBody:lQ,noTrailingComment:pQ,isLast:dQ}=Qj,{hasPrevNewline:hQ}=SU,{maybeSpaceAfterKeyword:fQ}=oQ,{isJSXElement:mQ}=uQ;aQ.ReturnStatement={beforeIf:e=>!hQ(e)&&(({parentPath:e})=>e.node?.body?.length>2)(e)||lQ(e),before(e,{print:t}){t.linebreak()},print(e,t,n){const{maybe:r,print:i}=t;if(r.indent(!cQ(e)),i("return"),fQ(e,t,n),function(e){const t=e.node.argument;if(!t)return;const{leadingComments:n}=t;return mQ(t)&&n?.length}(e))return i("("),i.breakline(),i("__argument"),void i(");");i("__argument"),i(";")},afterIf:e=>!!(({parentPath:e})=>e.isIfStatement()&&e.node.alternate)(e)||!dQ(e)&&(!dQ(e.parentPath)&&pQ(e)),after(e,{print:t}){t.newline()}};var yQ={};const{isNext:gQ}=Qj;yQ.TryStatement={print(e,{print:t}){const n=e.get("finalizer");t.indent(),t("try"),t.space(),t("__block"),t("__handler"),n.node&&(t.space(),t("finally"),t.space(),t(n),t.newline())},afterSatisfy:()=>[gQ],after(e,{maybe:t,print:n}){t.print.newline(!e.node.finalizer),n.breakline()}},yQ.CatchClause=(e,{print:t,maybe:n})=>{const r=e.get("param"),i=e.get("body");t.space(),t("catch"),r.node?(t("("),t(r),t(")"),t.space()):t.space(),t(i),n.print.newline(function(e){return e.parentPath.parentPath.isBlockStatement()}(e))};var bQ={};const{isNext:xQ,isInsideIf:SQ}=Qj,TQ=e=>e.parentPath.isBlockStatement();bQ.DebuggerStatement={print(e,{print:t,indent:n}){n(),t("debugger;")},afterSatisfy:()=>[xQ,TQ,SQ],after(e,{print:t}){t.newline()}};var EQ={};const{isInsideLabel:PQ}=Qj,{exists:vQ}=Qj,{markAfter:AQ}=SU;EQ.ForStatement={print(e,{print:t,maybe:n}){const{test:r,update:i,body:s}=e.node;if(n.indent(!PQ(e)),t("for"),t.space(),t("("),t("__init"),t(";"),n.print.space(r),t("__test"),t(";"),n.print.space(i),t("__update"),t(")"),s.body)t.space(),t("__body");else{const r=!e.get("body").isEmptyStatement();n.print.newline(r),n.indent.inc(r),t("__body"),n.indent.dec(r)}},afterIf:e=>vQ(e.getNextSibling()),after(e,{print:t}){t.linebreak(),AQ(e)}};var CQ={exports:{}},wQ={parseImportSpecifiers:e=>{const t=[],n=[],r=[];for(const i of e)"ImportDefaultSpecifier"!==i.type?"ImportNamespaceSpecifier"!==i.type?"ImportSpecifier"!==i.type||r.push(i):n.push(i):t.push(i);return{defaults:t,namespaces:n,imports:r}}},kQ={ImportAttribute:(e,{print:t})=>{t("__key"),t(":"),t.space(),t("__value"),t(",")},maybePrintAttributes:(e,t)=>{if(IQ(e))return _Q(e,"assert",t);_Q(e,"with",t)}};const IQ=e=>e.node.extra?.deprecatedAssertSyntax;function _Q(e,t,{write:n,traverse:r,indent:i}){const s=e.get("attributes");if(s.length){n(` ${t}`),n.space(),n("{"),n.breakline(),i.inc();for(const e of s)i(),r(e),n.newline();i.dec(),n("}")}}var NQ={};const{types:LQ}=st,{isExportDeclaration:OQ}=LQ;NQ.printTrailingCommentLine=(e,t,n,{printComment:r})=>{const{print:i}=t;r(),i.breakline()},NQ.printTrailingCommentBlock=(e,t,n,{printComment:r})=>{const{maybe:i}=t,s=e.getNextSibling();i.print.breakline(!OQ(s)),r()},function(e){const{parseImportSpecifiers:t}=wQ,{markAfter:n}=SU,{isLast:r,isNext:i}=Qj,{maybePrintAttributes:s,ImportAttribute:a}=kQ,{printTrailingCommentBlock:o,printTrailingCommentLine:u}=NQ;e.exports.ImportAttribute=a,e.exports.ImportDeclaration={print(e,n,r){const{print:a,maybe:o,write:u,traverse:c,indent:l}=n,{phase:p}=e.node,d="type"===e.node.importKind,h=e.get("specifiers");l(),u("import"),o.write(d," type"),o.write(p,` ${p}`);let f=!1;const m=h.length-1,{defaults:y,namespaces:g,imports:b}=t(h);o.write(h.length," ");for(const e of y)c(e.get("local")),o.write(m,","),o.write.space(m);for(const e of g)u("* as "),c(e.get("local"));const x=function(e,t){const{maxSpecifiersInOneLine:n,maxPropertiesLengthInOneLine:r}=t;for(const{node:t}of e){if(t.imported.name!==t.local.name)return 1;if(t.imported.name.length>=r)return 1}return n}(b,r),S=b.length-1;for(const[e,t]of b.entries()){const n=e===S,r=!n,{imported:i,local:s}=t.node;if(l.inc(),o.write(!f,"{"),o.write.breakline(S>=x),f=!0,c(t.get("imported")),i.name!==s.name&&(u(" as "),u(s.name)),S<x&&r&&(o.write(m,","),o.write.space(m)),S>=x){o.write(m,",");const t=e===m,n=e===m-1;o.write.newline(n&&y.length),o.write.newline(t)}l.dec(),o.write(n,"}")}o.write(h.length," from"),a.space(),a("__source"),s(e,n),a(";"),i(e)&&a.newline()},afterIf:e=>!r(e)&&!e.getNextSibling().isImportDeclaration(),after(e,{print:t}){t.newline(),n(e)}},e.exports.ImportDeclaration.printTrailingCommentBlock=o,e.exports.ImportDeclaration.printTrailingCommentLine=u}(CQ);var DQ=CQ.exports;DQ.default;var FQ={};const{types:MQ}=st,{isParentBlock:BQ}=Qj,{markAfter:RQ,isMarkedAfter:jQ,hasPrevNewline:UQ}=SU,{isNewlineBetweenSiblings:qQ,exists:JQ,isNext:$Q,isLast:VQ}=Qj,{isExportNamespaceSpecifier:KQ,isVariableDeclaration:WQ,isExportNamedDeclaration:XQ}=MQ,HQ={maxOneLineSpecifiers:2};FQ.ExportSpecifier=(e,{print:t})=>{const{local:n,exported:r}=e.node;t("__local"),r.name!==n.name&&(t(" as "),t("__exported"))},FQ.ExportNamespaceSpecifier=(e,{print:t})=>{t("* as "),t("__exported")},FQ.ExportNamedDeclaration={beforeIf(e){const t=e.getPrevSibling();return!UQ(e)&&WQ(t)},before(e,{print:t}){t.linebreak()},print(e,{print:t,traverse:n,indent:r,maybe:i},s){const{trailingComma:a}=s,{exportKind:o}=e.node,u=e.get("specifiers"),{maxOneLineSpecifiers:c}=HQ,l=e.get("source");if(r(),t("export"),"type"===o&&u.length&&t(" type"),KQ(u[0]))return t(" "),t(u[0]),t(" from "),t("__source"),t(";"),void i.print.newline(!VQ(e));const p=u.length,d=!JQ(l)||p>c;if(u&&!e.node.declaration){if(t.space(),t("{"),u.length){r.inc(),i.print.newline(d);const e=p-1;for(const[r,s]of u.entries()){const o="type"===s.node.exportKind,u=r<e;i.indent(d),i.print(o,"type "),n(s),u&&!d?t(", "):d&&i.print(u||a,","),i.print.newline(d)}r.dec(),r()}t("}");const s=e.get("source");return JQ(s)&&(t(" from "),n(s)),t(";"),void i.print.newline($Q(e)||(e=>e.parentPath.isTSModuleBlock())(e))}t(" "),t("__declaration")},afterIf:e=>!VQ(e)&&(!(e=>jQ(e.get("declaration")))(e)&&(!!qQ(e)||BQ(e))),after(e,{print:t,indent:n}){const r=e.getNextSibling();XQ(r)&&n(),t.newline(),RQ(e)}};var zQ={ExportAllDeclaration:(e,{print:t})=>{const{exportKind:n}=e.node;t("export "),"type"===n&&t("type "),t("* from "),t("__source"),t(";"),t.newline()}},YQ={};const{isNext:GQ}=Qj,{markAfter:QQ}=SU;YQ.WhileStatement={print(e,{print:t,indent:n}){n(),t("while"),t.space(),t("("),t("__test"),t(")"),e.node.body.body?(t.space(),t("__body")):(n.inc(),t.newline(),t("__body"),n.dec())},afterIf:e=>GQ(e),after(e,{print:t}){t.linebreak(),QQ(e)}};var ZQ={};const{isNext:eZ,exists:tZ,isLast:nZ}=Qj,{parseLeadingComments:rZ}=bU;ZQ.SwitchStatement={print(e,t,n){const{print:r,maybe:i,indent:s,write:a,traverse:o}=t;s(),r("switch"),r("("),r("__discriminant"),r(") {"),r.newline();const u=e.get("cases"),c=u.length-1;for(const[e,l]of u.entries()){const u=l.get("test");s(),rZ(l,t,n),tZ(u)?(a("case "),o(u)):a("default"),r(":");const p=l.get("consequent"),d=l.get("consequent.0")?.isBlockStatement();i.indent.inc(!d),i.print.newline(!d&&p.length);for(const e of p)e.isBlockStatement()?(r.space(),r(e)):r(e);i.indent.dec(!d),i.write.linebreak(e<c)}r.indent(),r("}"),eZ(e)||nZ(e)||r.newline()},afterSatisfy:()=>[eZ],after(e,{print:t}){t.breakline(),t.newline()}};var iZ={ForInStatement:(e,{print:t,indent:n})=>{n(),t("for"),t.space(),t("("),t("__left"),t(" in "),t("__right"),t(")"),e.get("body").isBlockStatement()&&t.space(),t("__body")}},sZ={};const{types:aZ}=st,{isNext:oZ}=Qj,{isVariableDeclaration:uZ,isFunction:cZ}=aZ;sZ.ExportDefaultDeclaration={print(e,{print:t,traverse:n,maybe:r}){const i=e.get("declaration");t("export default "),n(i),r.print(function(e){return!e.isClassDeclaration()&&!e.isFunctionDeclaration()}(i),";")},afterSatisfy:()=>[oZ],after(e,{print:t,maybe:n}){t.newline(),n.print.newline(!function(e){const t=e.getNextSibling();if(!uZ(t))return!1;const{declaration:n}=e.node;return cZ(n)}(e))}};var lZ={};const{isParentBlock:pZ,isNextParent:dZ,isInsideIf:hZ,isInsideLabel:fZ}=Qj,mZ=e=>e.parentPath.isSwitchCase();lZ.BreakStatement={split(e,{print:t}){t.newline()},print(e,{print:t,maybe:n}){const{label:r}=e.node;n.indent(!fZ(e)),t("break"),n.print.space(r),t("__label"),t(";")},afterSatisfy:()=>[pZ,dZ,mZ,hZ]};var yZ={};const{isLast:gZ}=Qj,bZ=e=>!gZ(e);yZ.DoWhileStatement={print(e,{print:t,indent:n}){n(),t("do"),t.space(),t("__body"),t.space(),t("while"),t.space(),t("("),t("__test"),t(")")},afterSatisfy:()=>[bZ],after(e,{print:t}){t.newline()}};var xZ={};const{parseComments:SZ}=bU,{getDirectives:TZ}=vG,{hasCoupleTrailingComments:EZ}=Qj;xZ.Program=(e,t,n)=>{const{body:r}=e.node,{traverse:i,maybe:s,write:a}=t;i(e.get("interpreter")),SZ(e,t,n);const o=TZ(e);for(const e of o)i(e),s.write.newline(r.length);e.get("body").forEach(i),o.length&&!r.length||r.length&&EZ(r.at(-1))||a.endOfFile()};var PZ={};const{isInsideLabel:vZ}=Qj;PZ.ContinueStatement=(e,{print:t,maybe:n,write:r})=>{const{label:i}=e.node;n.indent(!vZ(e)),t("continue"),n.print.space(i),t("__label"),r(";"),t.newline()};var AZ={};const{isInsideLabel:CZ}=Qj;AZ.LabeledStatement=(e,{print:t,maybe:n})=>{n.indent(!CZ(e)),t("__label"),t(":"),t.space(),t("__body")};var wZ={};const{isLast:kZ}=Qj;wZ.EmptyStatement=(e,{write:t,maybe:n})=>{const{parentPath:r}=e;t(";"),n.write.newline(!kZ(e)&&!kZ(r))};var IZ={};const{isNext:_Z}=Qj,{markAfter:NZ}=SU;IZ.WithStatement={print(e,{print:t,indent:n}){n(),t("with"),t.space(),t("("),t("__object"),t(")"),e.node.body.body?(t.space(),t("__body")):(n.inc(),t.newline(),t("__body"),n.dec())},afterIf:e=>_Z(e),after(e,{print:t}){t.linebreak(),NZ(e)}};const{ExpressionStatement:LZ}=wY,{VariableDeclaration:OZ}=kY,{IfStatement:DZ}=eG,{ForOfStatement:FZ}=hG,{BlockStatement:MZ}=TG,{ReturnStatement:BZ}=aQ,RZ=yQ,{DebuggerStatement:jZ}=bQ,{ForStatement:UZ}=EQ,qZ=DQ,JZ=FQ,{ExportAllDeclaration:$Z}=zQ,{WhileStatement:VZ}=YQ,{SwitchStatement:KZ}=ZQ,{ForInStatement:WZ}=iZ,{ExportDefaultDeclaration:XZ}=sZ,{BreakStatement:HZ}=lZ,{DoWhileStatement:zZ}=yZ,{Program:YZ}=xZ,{ContinueStatement:GZ}=PZ,{LabeledStatement:QZ}=AZ,{EmptyStatement:ZZ}=wZ,{WithStatement:e0}=IZ,{ExportNamespaceSpecifier:t0,ExportSpecifier:n0}=JZ;var r0={...qZ,...JZ,BlockStatement:MZ,DoWhileStatement:zZ,ExpressionStatement:LZ,ExportSpecifier:n0,ExportNamespaceSpecifier:t0,ExportDefaultDeclaration:XZ,ExportAllDeclaration:$Z,VariableDeclaration:OZ,IfStatement:DZ,ForStatement:UZ,ForInStatement:WZ,ForOfStatement:FZ,ReturnStatement:BZ,DebuggerStatement:jZ,LabeledStatement:QZ,Program:YZ,EmptyStatement:ZZ,InterpreterDirective(e,{print:t}){t(`#!${e.node.value}\n`),t.newline()},SwitchStatement:KZ,...RZ,BreakStatement:HZ,ContinueStatement:GZ,WhileStatement:VZ,WithStatement:e0},i0={},s0={writeTemplateLiteral:(e,t,{write:n,traverse:r})=>{n("`");let i=0;for(const s of e){n(s.node.value.raw);const e=t[i++];e&&(n("${"),r(e),n("}"))}n("`")}};const{writeTemplateLiteral:a0}=s0;i0.TemplateLiteral=(e,t)=>{const n=e.get("expressions"),r=e.get("quasis");a0(r,n,t)};var o0={},u0={maybeDecorators:e=>e.node.decorators?e.get("decorators"):[]};const{maybeDecorators:c0}=u0,{maybeParens:l0}=$q,{maybeTypeAnnotation:p0}=PV;o0.Identifier=l0(p0((e,t)=>{const{write:n,maybe:r,traverse:i,print:s}=t,{node:a}=e,{name:o,optional:u}=a;for(const t of c0(e))i(t),s(" ");n(o),r.write(u,"?")}));var d0={exports:{}};!function(e){const{types:t}=st,{isMemberExpression:n}=t;e.exports.Decorator=(e,{print:t,maybe:r})=>{const{expression:i}=e.node,s=n(i);t("@"),r.print(s,"("),t("__expression"),r.print(s,")")},e.exports.Decorator.printLeadingCommentLine=(e,t,n,{printComment:r})=>{const{print:i}=t;r(),i.breakline()}}(d0);var h0=d0.exports;h0.default;var f0={StringLiteral:(e,{write:t},n)=>{const{value:r,raw:i=`'${r}'`}=e.node;if(e.parentPath.isJSXAttribute())return void t(`"${r}"`);const s=i.slice(1,-1);t.quote(),t(m0(s,n)),t.quote()}};const m0=(e,{escapeDoubleQuote:t,escapeSingleQuote:n})=>{const r=e.split("");return n?y0(r,{slash:"\\",quote:"'"}):t?y0(r,{slash:"\\",quote:'"'}):e},y0=(e,{slash:t,quote:n})=>{const r=[];for(const[i,s]of e.entries()){const a=e[i-1];s!==n||a===t?r.push(s):r.push(`${t}${s}`)}return r.join("")};var g0={DirectiveLiteral:(e,{write:t})=>{t.indent(),t(e.node.raw||`'${e.node.value}'`),t(";"),t.newline()}},b0={VoidPattern:(e,{write:t})=>{t("void")}};const{TemplateLiteral:x0}=i0,{Identifier:S0}=o0,{Decorator:T0}=h0,{StringLiteral:E0}=f0,{DirectiveLiteral:P0}=g0,{VoidPattern:v0}=b0;var A0={Identifier:S0,Decorator:T0,DirectiveLiteral:P0,TemplateLiteral:x0,VoidPattern:v0,BigIntLiteral(e,{write:t}){t(e.node.raw)},NumericLiteral(e,{write:t}){const{raw:n,extra:r,value:i}=e.node;t(n||r?.raw||i)},Directive(e,{print:t,maybe:n}){n.print.breakline(e.node.leadingComments?.length),t("__value")},BooleanLiteral(e,{write:t}){t(e.node.value)},StringLiteral:E0,RegExpLiteral(e,{print:t}){const{raw:n,pattern:r}=e.node;t(n||`/${r}/`)},NullLiteral(e,{write:t}){t("null")},MetaProperty(e,{write:t}){t("import.meta")},Super(e,{write:t}){t("super")}},C0={};C0.TSTypeLiteral=(e,{indent:t,traverse:n,write:r})=>{const i=e.get("members");r("{");const s=function(e){const t=e.get("members");return(1!==t.length||!e.parentPath.isTSTypeParameterInstantiation())&&(t.length&&t[0].node.typeAnnotation)}(e);s&&(r.newline(),t.inc());for(const e of i)t(),n(e);s&&(t.dec(),r.indent()),r("}")};var w0={};const{isLast:k0,isNext:I0,isNextParent:_0}=Qj,{markAfter:N0}=SU,{maybeDeclare:L0}=u$;w0.TSTypeAliasDeclaration={beforeIf:e=>!e.parentPath.isExportDeclaration(),before:(e,{indent:t})=>{t()},print:L0((e,{print:t,maybe:n,store:r})=>{const i=e.get("typeAnnotation").isTSConditionalType();t("type "),t("__id"),t("__typeParameters"),t.space(),t("="),n.print.space(!i),t("__typeAnnotation"),t(";");const s=r(k0(e)||k0(e.parentPath));n.print.newline(!s)}),afterIf:(e,{store:t})=>!t()&&(!(!I0(e)&&!_0(e))&&!e.getNextSibling().isTSTypeAliasDeclaration()),after(e,{print:t,maybe:n}){n.indent(e.getNextSibling().isExportDeclaration()),t.newline(),N0(e)}};var O0={};const{types:D0}=st,{isTSConditionalType:F0}=D0;O0.TSMappedType=(e,{print:t,indent:n,maybe:r})=>{const{readonly:i,optional:s,nameType:a,typeAnnotation:o}=e.node;t("{"),t.newline(),n.inc(),n(),i&&(r.print("-"===i,"-"),t("readonly ")),t("["),t("__key"),t(" "),t("in"),t(" "),t("__constraint"),a&&(t(" as"),r.space(!F0(a)),t("__nameType")),t("]"),s&&(r.print("+"===s,"+"),r.print("-"===s,"-"),t("?")),o&&(t(":"),t.space(),t("__typeAnnotation")),t(";"),n.dec(),t.breakline(),t("}")};var M0={TSConditionalType:(e,{print:t,indent:n})=>{n.inc(),t.breakline(),t("__checkType"),t(" extends "),t("__extendsType"),n.inc(),t.breakline(),t("? "),t("__trueType"),t.breakline(),t(": "),t("__falseType"),n.dec(),n.dec()}},B0={};const{exists:R0}=Qj;B0.TSTypeParameter=(e,{write:t,traverse:n})=>{const r=e.get("constraint");e.node.in?t("in "):e.node.out?t("out "):e.node.const&&t("const "),t(e.node.name.name),R0(r)&&(t(" extends "),n(r));const i=e.get("default");R0(i)&&(t.space(),t("="),t.space(),n(i))};var j0={};const{printParams:U0}=gU,{isNext:q0}=Qj,{maybeDeclare:J0}=u$,$0=e=>e.parentPath.isExportNamedDeclaration();j0.TSDeclareFunction={beforeIf:e=>!$0(e),before:(e,{indent:t})=>{t()},print:J0((e,t,n)=>{const{print:r}=t;r("function "),r("__id"),U0(e,t,n),r(":"),r.space(),r("__returnType")}),afterIf:e=>!(e=>e.parentPath.isExportDefaultDeclaration())(e),after:(e,{print:t})=>{t(";"),(q0(e)||q0(e.parentPath)||$0(e))&&t.newline()}};var V0={};const{printParams:K0}=gU;V0.TSDeclareMethod=(e,t,n)=>{const{print:r}=t,{accessibility:i,abstract:s,returnType:a}=e.node;i&&(r(i),r(" ")),s&&(r("abstract"),r(" ")),r("__key"),K0(e,t,n),a&&(r(":"),r.space(),r("__returnType")),r(";"),r.newline()};var W0={};const{isNext:X0}=Qj,{maybeDeclare:H0}=u$;W0.TSModuleDeclaration={print:H0((e,{print:t})=>{const{kind:n}=e.node;e.get("id").isStringLiteral()?t("module "):"namespace"===n&&t("namespace "),t("__id"),t.space(),t("__body")}),afterSatisfy:()=>[X0],after(e,{print:t}){t.newline(),t.newline()}},W0.TSModuleBlock=(e,{print:t,traverse:n,indent:r})=>{t("{"),t.breakline(),r.inc();for(const t of e.get("body"))n(t);r.dec(),t("}")};var z0={};const{types:Y0}=st,{isNext:G0,isNextParent:Q0}=Qj,{maybeDeclare:Z0}=u$,{markAfter:e1}=SU,{isTSTypeAliasDeclaration:t1,isExportNamedDeclaration:n1,isTSModuleBlock:r1}=Y0;z0.TSInterfaceDeclaration={print:Z0((e,{print:t,maybe:n})=>{const{node:r}=e;if(n.indent(!n1(e.parentPath)),t("interface "),t("__id"),r.extends){t(" extends ");const r=e.get("extends"),i=r.length-1;for(const[e,s]of r.entries())t(s),n.print(e<i,", ")}t("__typeParameters"),t("__body")}),afterSatisfy:()=>[G0,Q0],after(e,{print:t}){t.linebreak();const n=n1(e.parentPath);n&&(e=>r1(e.parentPath.parentPath))(e)&&e1(e),n||t1(e)||t.newline()}};var i1={};const{types:s1}=st,{maybeParens:a1}=$q,{isVariableDeclarator:o1,isObjectExpression:u1}=s1;i1.TSAsExpression=a1((e,{print:t,maybe:n})=>{const r=function(e){const{expression:t}=e.node;return!o1(e.parentPath)&&u1(t)}(e);n.print(r,"("),t("__expression"),n.print(r,")"),t(" as "),t("__typeAnnotation")});var c1={};const{parseComments:l1}=bU;c1.TSInterfaceBody=(e,t,n)=>{const r=e.get("body"),{traverse:i,write:s,indent:a,maybe:o}=t;s.space(),s("{"),o.write.newline(r.length),a.inc(),l1(e,t,n);for(const e of r)a(),i(e);a.dec(),a(),s("}"),o.write.newline(function(e){return!!e.parentPath.parentPath.isTSModuleBlock()||e.parentPath.parentPath.parentPath?.isTSModuleBlock()}(e))};var p1={TSIntersectionType:(e,{traverse:t,write:n})=>{const r=e.get("types"),i=r.length-1;for(const[e,s]of r.entries()){const r=e===i;t(s),r||(n.space(),n("&"),n.space())}}},d1={};const{maybePrintTypeAnnotation:h1}=PV,{hasTrailingComment:f1,isNext:m1}=Qj,{printKey:y1}=gJ;d1.TSPropertySignature=(e,t)=>{const{maybe:n,write:r}=t,{optional:i,readonly:s}=e.node;n.print(s,"readonly "),y1(e,t),n.print(i,"?"),h1(e,t),function({parentPath:e}){return!!e.parentPath.isTSTypeParameterInstantiation()&&1===e.node.members.length}(e)||(r(";"),r.newline()),m1(e)&&f1(e)&&r.newline()};var g1={},b1={hasReturnType:e=>e.node.returnType,printReturnType:(e,{traverse:t})=>{t(e.get("returnType"))}};const{printParams:x1}=gU,{printReturnType:S1}=b1,{maybeParens:T1}=$q;g1.TSFunctionType=T1((e,t,n)=>{const{print:r}=t;x1(e,t,n),r.space(),r("=>"),r.space(),S1(e,t)});var E1={};const{isNext:P1,isNextParent:v1,isLast:A1}=Qj,{markAfter:C1}=SU;E1.TSEnumDeclaration={beforeIf:e=>e.node.const,before(e,{print:t}){t("const ")},print(e,{print:t,traverse:n,indent:r}){t("enum "),t("__id"),t(" "),t("{"),r.inc(),t.newline();for(const r of e.get("body.members"))n(r),t(","),t.newline();r.dec(),r(),t("}"),A1(e)||(t.newline(),C1(e))},afterSatisfy:()=>[P1,v1],after(e,{print:t}){t.linebreak()}};var w1={TSEnumMember:(e,{print:t,indent:n})=>{const{initializer:r}=e.node;n(),t("__id"),r&&(t.space(),t("="),t.space(),t("__initializer"))}},k1={};k1.TSTupleType=(e,{write:t,traverse:n,indent:r,maybe:i})=>{const s=e.get("elementTypes");t("["),r.inc();const a=function(e){let t;for(const n of e){if(t&&n.type!==t)return!1;({type:t}=n)}return!0}(s);i.write.newline(a&&s.length);const o=s.length-1;for(const[e,t]of s.entries())i.indent(a),n(t),i.write(e<o||a,","),i.write.newline(a),i.write.space(e<o&&!a);r.dec(),i.indent(a&&s.length),t("]")};var I1={TSNamedTupleMember:(e,{print:t})=>{t("__label"),t(":"),t.space(),t("__elementType")}},_1={};const{printParams:N1}=gU,{printReturnType:L1}=b1;_1.TSConstructorType=(e,t,n)=>{const{print:r}=t;r("new"),r(" "),N1(e,t,n),r.space(),r("=>"),r.space(),L1(e,t)};var O1={};const{printReturnType:D1}=b1,{printParams:F1}=gU;O1.TSCallSignatureDeclaration=(e,t,n)=>{const{print:r}=t;F1(e,t,n),r(":"),r.space(),D1(e,t),r(";"),r.newline()};var M1={};const{printParams:B1}=gU,{hasReturnType:R1,printReturnType:j1}=b1;M1.TSConstructSignatureDeclaration=(e,t,n)=>{const{write:r}=t;r("new"),B1(e,t,n),R1(e)&&(r(":"),r.space(),j1(e,t)),r(";"),r.newline()};var U1={};const{printParams:q1}=gU,{printKind:J1}=SJ,{hasReturnType:$1,printReturnType:V1}=b1,{printKey:K1}=gJ;U1.TSMethodSignature=(e,t,n)=>{const{write:r}=t;J1(e,t),K1(e,t),q1(e,t,n),$1(e)&&(r(":"),r.space(),V1(e,t)),r(";"),r.newline()};var W1={};const{maybeParens:X1}=$q;W1.TSUnionType=X1({condition:e=>e.parentPath.isTSArrayType(),print:(e,t,{maxTypesInOneLine:n})=>{const r=e.get("types"),{length:i}=r;!(({parentPath:e})=>e.isTSTypeAliasDeclaration())(e)||i<=n?function(e,{traverse:t,write:n}){const r=e.length-1;for(const[i,s]of e.entries())t(s),i<r&&(n.space(),n("|"),n.space())}(r,t):function(e,{traverse:t,write:n,indent:r}){r.inc();for(const r of e)n.breakline(),n("|"),n.space(),t(r);r.dec()}(r,t)}});var H1={};const{createImportExpression:z1}=Dz;H1.TSImportType=(e,t,n)=>{z1(e,t,n,{source:"argument"})};var Y1={};const{isNext:G1}=Qj;Y1.TSExportAssignment={print:(e,{print:t})=>{t("export = "),t("__expression"),t(";")},afterSatisfy:()=>[G1],after:(e,{print:t})=>{t.newline()}};var Q1={TSTypeReference:(e,{print:t})=>{t("__typeName"),t("__typeArguments")}},Z1={};const{maybeParens:e2}=$q;Z1.TSInferType=e2((e,{print:t})=>{t("infer "),t("__typeParameter")});var t2={exports:{}};!function(e){const{hasLeadingComment:t}=Qj;e.exports.TSParameterProperty=(e,{print:n,maybe:r,indent:i})=>{const{decorators:s,readonly:a,accessibility:o}=e.node,u=s?.length>1;if(r.print.breakline(u),s){for(const t of e.get("decorators"))r.indent(u),n(t);r.print.breakline(u),t(e)?n(" "):i()}o&&(n(o),n.space()),a&&(n("readonly"),n.space()),n("__parameter"),t(e)&&!e.node.decorators&&n.breakline()},e.exports.TSParameterProperty.printLeadingCommentLine=(e,t,n,{printComment:r})=>{const{indent:i,print:s}=t;return e.node.decorators?(r(),void s.breakline()):e.parentPath.isClassMethod()?(i.inc(),s.breakline(),r(),s.breakline(),void i.dec()):void 0}}(t2);var n2=t2.exports;n2.default;var r2={};const{maybeParens:i2}=$q;r2.TSTypeQuery=i2((e,{print:t})=>{t("typeof "),t("__exprName")});var s2={TSParenthesizedType:(e,{print:t})=>{t("("),t("__typeAnnotation"),t(")")}},a2={};const{writeTemplateLiteral:o2}=s0;a2.TSTemplateLiteralType=(e,t)=>{const n=e.get("quasis"),r=e.get("types");o2(n,r,t)};var u2={TSOptionalType:(e,{print:t})=>{t("__typeAnnotation"),t("?")}};const{isNext:c2}=Qj,{TSTypeLiteral:l2}=C0,{TSTypeAliasDeclaration:p2}=w0,{TSMappedType:d2}=O0,{TSConditionalType:h2}=M0,{TSTypeParameter:f2}=B0,{TSDeclareFunction:m2}=j0,{TSDeclareMethod:y2}=V0,{TSModuleDeclaration:g2,TSModuleBlock:b2}=W0,{TSInterfaceDeclaration:x2}=z0,{TSAsExpression:S2}=i1,{TSInterfaceBody:T2}=c1,{TSIntersectionType:E2}=p1,{TSPropertySignature:P2}=d1,{TSFunctionType:v2}=g1,{printParams:A2}=gU,{TSEnumDeclaration:C2}=E1,{TSEnumMember:w2}=w1,{TSTupleType:k2}=k1,{TSNamedTupleMember:I2}=I1,{TSConstructorType:_2}=_1,{TSCallSignatureDeclaration:N2}=O1,{TSConstructSignatureDeclaration:L2}=M1,{TSMethodSignature:O2}=U1,{TSUnionType:D2}=W1,{maybePrintTypeAnnotation:F2}=PV,{TSImportType:M2}=H1,{TSExportAssignment:B2}=Y1,{TSTypeReference:R2}=Q1,{TSInferType:j2}=Z1,{TSParameterProperty:U2}=n2,{TSTypeQuery:q2}=r2,{TSParenthesizedType:J2}=s2,{TSTemplateLiteralType:$2}=a2,{TSOptionalType:V2}=u2;var K2={TSAsExpression:S2,TSExportAssignment:B2,TSTypeLiteral:l2,TSTypeAliasDeclaration:p2,TSTypeParameter:f2,TSMappedType:d2,TSConditionalType:h2,TSDeclareFunction:m2,TSModuleDeclaration:g2,TSModuleBlock:b2,TSIntersectionType:E2,TSImportType:M2,TSUnionType:D2,TSTypeQuery:q2,TSTemplateLiteralType:$2,TSOptionalType:V2,TSBigIntKeyword(e,{write:t}){t("bigint")},TSNullKeyword(e,{write:t}){t("null")},TSSymbolKeyword(e,{write:t}){t("symbol")},TSNeverKeyword(e,{write:t}){t("never")},TSUnknownKeyword(e,{write:t}){t("unknown")},TSObjectKeyword(e,{write:t}){t("object")},TSLiteralType(e,{print:t}){t("__literal")},TSTupleType:k2,TSInferType:j2,TSRestType(e,{print:t}){t("..."),t("__typeAnnotation")},TSTypeParameterDeclaration(e,t,n){A2(e,t,n,{braceOpen:"<",braceClose:">"})},TSTypeParameterInstantiation(e,t,n){A2(e,t,n,{braceOpen:"<",braceClose:">"})},TSArrayType(e,{print:t}){t("__elementType"),t("[]")},TSTypeReference:R2,TSTypeOperator(e,{write:t,print:n}){const{operator:r}=e.node;t(`${r} `),n("__typeAnnotation")},TSInterfaceDeclaration:x2,TSInterfaceBody:T2,TSTypeAssertion(e,{print:t}){t("<"),t("__typeAnnotation"),t(">"),t("__expression")},TSUndefinedKeyword(e,{write:t}){t("undefined")},TSBooleanKeyword(e,{write:t}){t("boolean")},TSSatisfiesExpression(e,{print:t}){t("__expression"),t(" satisfies "),t("__typeAnnotation")},TSNumberKeyword(e,{write:t}){t("number")},TSIndexedAccessType(e,{print:t}){t("__objectType"),t("["),t("__indexType"),t("]")},TSStringKeyword(e,{write:t}){t("string")},TSInstantiationExpression(e,{print:t}){t("__expression"),t("__typeArguments")},TSAnyKeyword(e,{write:t}){t("any")},TSVoidKeyword(e,{write:t}){t("void")},TSQualifiedName(e,{print:t}){t("__left"),t("."),t("__right")},TSTypeAnnotation(e,{print:t}){t("__typeAnnotation")},TSParameterProperty:U2,TSConstructSignatureDeclaration:L2,TSIndexSignature(e,t){const{print:n}=t;n("["),n("__parameters.0"),n("]"),F2(e,t),n(";"),n.newline()},TSClassImplements(e,{print:t}){t("__expression"),t("__typeArguments")},TSInterfaceHeritage(e,{print:t}){t("__expression"),t("__typeArguments")},TSParenthesizedType:J2,TSPropertySignature:P2,TSFunctionType:v2,TSTypePredicate(e,{print:t}){t("__parameterName"),t(" is "),t("__typeAnnotation")},TSNonNullExpression(e,{print:t}){t("__expression"),t("!")},TSEnumDeclaration:C2,TSEnumMember:w2,TSImportEqualsDeclaration(e,{print:t,maybe:n}){n.print(e.node.isExport,"export "),t("import "),t("__id"),t.space(),t("="),t.space(),t("__moduleReference"),t(";"),n.print.newline(c2(e))},TSExternalModuleReference(e,{print:t}){t("require("),t("__expression"),t(")")},TSDeclareMethod:y2,TSNamedTupleMember:I2,TSConstructorType:_2,TSMethodSignature:O2,TSCallSignatureDeclaration:N2,TSThisType(e,{print:t}){t("this")}},W2={};const{types:X2}=st,{isJSXElement:H2,isJSXExpressionContainer:z2,isFunction:Y2,isJSXSpreadAttribute:G2}=X2;W2.JSXElement={condition:function(e){return!!e.parentPath.isReturnStatement()||(!!e.parentPath.isParenthesizedExpression()||(!!e.node.extra?.parenthesized||(!!e.parentPath.isArrowFunctionExpression()||e.parentPath.isVariableDeclarator())))},before(e,{write:t,indent:n,maybe:r}){const{leadingComments:i}=e.node,s=i?.length;r.write.space(!s&&(({parentPath:e})=>e.isArrowFunctionExpression())(e)),n.inc(),s||(t("("),t.newline())},print(e,{print:t,traverse:n,maybe:r}){const i=function(e){if(function(e){const{attributes:t}=e.node.openingElement;for(const e of t){const{value:t}=e;if(G2(e))return!0;if(!z2(t))continue;const{expression:n}=t;if(Y2(n))return!0}return!1}(e))return!1;const t=e.parentPath.isArrowFunctionExpression(),n=e.parentPath.isJSXElement(),r=e.parentPath.parentPath.isCallExpression();return n||t&&r}(e);r.indent.inc(i),t("__openingElement"),e.get("children").map(n),t("__closingElement"),r.indent.dec(i)},after(e,{write:t,indent:n,maybe:r}){const{leadingComments:i}=e.node;H2(e.parentPath.parentPath?.parentPath?.parentPath)?(t.breakline(),n.dec()):(n.dec(),t.breakline()),r.write(!i?.length,")")}};var Q2={};const{isCoupleLines:Z2}=Qj;Q2.JSXAttribute={condition:e=>Z2(e.parentPath),before(e,{print:t,indent:n}){n.inc(),t.breakline()},print(e,{print:t,maybe:n}){const{value:r}=e.node;t("__name"),n.print(r,"="),t("__value")},after(e,{indent:t}){t.dec()}};var e3={};const{isCoupleLines:t3}=Qj;e3.JSXOpeningElement={print(e,{print:t,maybe:n}){n.indent((({parentPath:e})=>{const t=e.parentPath;return!(t.isObjectProperty()||t.isCallExpression()||t.isJSXElement()||t.isJSXExpressionContainer()||t.isJSXFragment()||t.isLogicalExpression())})(e)),t("<"),t("__name");const r=t3(e),i=!r,s=r&&e.parentPath.parentPath.isJSXElement();n.indent.inc(s);for(const r of e.get("attributes"))n.print.space(i),t(r);t3(e)&&t.breakline(),e.node.selfClosing&&t("/"),t(">"),n.indent.dec(s)}};var n3={};n3.JSXFragment={condition:function(e){return!!e.parentPath.isReturnStatement()||e.parentPath.isVariableDeclarator()},before(e,{write:t,indent:n}){t("("),n.inc(),t.breakline()},print(e,{print:t,traverse:n}){t("__openingFragment"),e.get("children").map(n),t("__closingFragment")},after(e,{write:t,indent:n}){n.dec(),t.breakline(),t(")")}},n3.JSXOpeningFragment=(e,{write:t})=>{t("<>")},n3.JSXClosingFragment=(e,{write:t})=>{t("</>")};var r3={};const{isNext:i3}=Qj;r3.JSXText=(e,{write:t,indent:n})=>{const{node:r}=e,{value:i,extra:s}=r,a=/^\s+$/.test(i),o=i3(e);return s?.raw.includes("&")?t(s.raw):a&&o?(n.inc(),t.breakline(),void n.dec()):void(a?t.breakline():t(i))};const{JSXElement:s3}=W2,{JSXAttribute:a3}=Q2,{isCoupleLines:o3}=Qj,{JSXOpeningElement:u3}=e3,c3=n3,{JSXText:l3}=r3,{parseComments:p3}=bU;var d3={...c3,JSXElement:s3,JSXAttribute:a3,JSXOpeningElement:u3,JSXText:l3,JSXEmptyExpression(e,t,n){p3(e,t,n)},JSXExpressionContainer(e,{print:t}){t("{"),t("__expression"),t("}")},JSXIdentifier(e,{write:t}){t(e.node.name)},JSXMemberExpression(e,{print:t}){t("__object"),t("."),t("__property")},JSXSpreadAttribute(e,{print:t,maybe:n}){const r=o3(e.parentPath);n.indent.inc(r),n.print.breakline(r),t("{"),t("..."),t("__argument"),t("}"),n.indent.dec(r)},JSXClosingElement(e,{print:t}){t("</"),t("__name"),t(">")}};var h3={...fY,...r0,...A0,...K2,...d3};h3.default;var f3={};const m3=e=>()=>e,{keys:y3}=Object;function g3(e,t,n){if(!n)return[`{{ ${e} }}`,t[e]];const r=e.replaceAll("{{","").replaceAll("}}","").replaceAll(" ",""),i=t[r]||"";if(!r.includes("|"))return[e,i];const[s,a]=r.split("|"),o=n[a],u=t[s];return o?[e,o(u)]:[e,u]}const{satisfy:b3}=Qj;const x3=e=>{const t=e?.()||[];return b3(t)},S3=(e,t,n)=>{!function(e,t){if(n=e,"string"!=typeof n)throw Error("template should be a string!");var n;if("object"!=typeof t)throw Error("values should be an object!")}(e,t);let r=e;const i=n?e.match(/{{(.*?)}}/g):y3(t);for(const e of i){const[i,s]=g3(e,t,n),a=m3(s);for(;r.includes(i);)r=r.replace(i,a)}return r.includes("{{")&&(r=r.replace(/{{.*?}}/g,"")),r},{types:T3}=st,E3=e=>{if(!e.afterSatisfy&&!e.beforeSatisfy&&!e.satisfy)return e;const{satisfy:t,afterSatisfy:n=t,beforeSatisfy:r=t}=e;return{afterIf:x3(n),beforeIf:x3(r),...e}},{isProgram:P3,isFile:v3,isStatement:A3,expressionStatement:C3,program:w3,file:k3}=T3;f3.maybeThrow=(e,t,n)=>{if(e)throw Error(S3(n,{path:t,type:t.type}))};const I3=e=>A3(e)?e:C3(e);f3.maybeFile=e=>v3(e)?e:k3((e=>P3(e)?e:w3([I3(e)]))(e)),f3.maybeVisitor=(e,t,n,r)=>"function"==typeof e?e(t,n,r):function(e,t,n,r){const{print:i,split:s,condition:a,before:o=s,beforeIf:u=a,after:c=s,afterIf:l=a}=E3(e);u?.(t,n,r)&&o(t,n,r);i(t,n,r),l?.(t,n,r)&&c(t,n,r)}(e,t,n,r);var _3={},N3=t($),L3=function(e){return(e=e.replace(D3,function(e){return" "+(e.toLowerCase()||e)})).trim().split(O3).join("_")},O3=/[\s\u2000-\u206F\u2E00-\u2E7F\\'!"#$%&()*+,\-.\/:;<=>?@\[\]^_`{|}~]+/,D3=/[A-Z\u00C0-\u00D6\u00D9-\u00DD]/g;const F3=N3,M3=L3,{codeFrameColumns:B3}=st,{TYPES:R3}=zj,{stringify:j3}=JSON,{LOG:U3,LOG_ALL:q3,LOG_TOKENS:J3,LOG_TERM:$3,LOG_DEBUG:V3}={};function K3(){let e=[];return(...t)=>{const[n]=t;if(t.length)return void e.push(n);const r=e.join("");return e=[],r}}_3.createDebug=e=>t=>{V3&&e.push({type:R3.DEBUG,value:`/*__${M3(t)}*/`})},_3.createLog=({newline:e="\n",store:t=K3()}={})=>({type:n,value:r})=>{if(J3)console.log(B3(j3({type:n,value:r}),{},{highlightCode:!0}));else if(q3)console.log(B3(r,{},{highlightCode:!0}));else{if(U3){if(r===e)return void console.log(B3(t(),{},{highlightCode:!0}));t(r)}$3&&F3.stdout.write(r)}};var W3={},X3={};const H3=e=>"boolean"==typeof e,z3={arrow:!0,sequence:!0,assign:!1,new:!0},Y3={arrow:!0,sequence:!0,assign:!0,new:!0},G3={arrow:!1,sequence:!1,assign:!1,new:!1};X3.parseRoundBraces=({roundBraces:e})=>{return(t=e)&&"object"==typeof t?{...z3,...e}:H3(e)&&e?Y3:H3(e)&&!e?G3:z3;var t},X3.ROUND_BRACES_DISABLED=G3,X3.ROUND_BRACES_ENABLED=Y3,X3.ROUND_BRACES_DEFAULTS=z3;var Q3={parseQuotes:({quote:e})=>'"'===e?{escapeSingleQuote:!1,escapeDoubleQuote:!0}:{escapeSingleQuote:!0,escapeDoubleQuote:!1}};const{parseRoundBraces:Z3}=X3,{parseQuotes:e4}=Q3;W3.parseOverrides=(e={})=>{const{format:t,semantics:n,visitors:r}=e,i=t4(t);return{format:i,semantics:n4(i,n),visitors:r}};const t4=e=>({indent:" ",newline:"\n",space:" ",splitter:"\n",quote:"'",endOfFile:"\n",...e}),n4=(e,t={})=>({comments:!0,maxPropertiesInOneLine:2,maxPropertiesLengthInOneLine:15,maxSpecifiersInOneLine:2,maxElementsInOneLine:5,maxElementLengthInOneLine:10,maxLogicalsInOneLine:3,maxVariablesInOneLine:4,maxTypesInOneLine:3,trailingComma:!0,...e4(e),...t,roundBraces:Z3(t)}),r4=Hj,i4=st.traverse,{TYPES:s4}=zj,a4=h3,{maybeFile:o4,maybeVisitor:u4,maybeThrow:c4}=f3,{createDebug:l4,createLog:p4}=_3,{maybeMarkAfter:d4}=SU,{parseLeadingComments:h4,parseTrailingComments:f4}=bU,{parseOverrides:m4}=W3,y4=e=>e&&"object"==typeof e,{round:g4}=Math,{assign:b4,freeze:x4}=Object;function S4(e,t){let n="";for(++e;--e>0;)n+=t;return n}Xj.tokenize=(e,t)=>{const{visitors:n,format:r,semantics:i}=m4(t),s=[],a=(e=>{const t=p4();return n=>{t(n),e.push(n)}})(s),o=l4(s),u=e=>{a({type:s4.TOKEN,value:e})},c=()=>{a({type:s4.INDENT,value:S4(x,r.indent)})},l=()=>{a({type:s4.NEWLINE,value:r.newline})},p=e=>e&&l(),d=()=>{l(),c()},h=e=>e&&d(),f=()=>{c(),l()},m=e=>e&&f(),y=(e,t)=>e&&u(t),g=()=>{a({type:s4.SPACE,value:r.space})},b=e=>e&&g();let x=0;b4(c,{inc:()=>++x,dec:()=>--x});const S=()=>{a({type:s4.QUOTE,value:r.quote})};b4(u,{indent:c,newline:l,linebreak:f,breakline:d,space:g,splitter:()=>{a({type:s4.SPLITTER,value:r.splitter})},quote:S,endOfFile:()=>{a({type:s4.END_OF_FILE,value:r.endOfFile})}}),b4(y,{newline:p,breakline:h,linebreak:m,space:b});const T={indent:e=>e&&c(),markAfter:d4,write:y,space:b};b4(T.indent,{inc:e=>e&&c.inc(),dec:e=>e&&c.dec()});const E=x4({indent:c,write:u,debug:o,traverse:v,maybe:T,quote:S,store:r4()}),P={...a4,...n};function v(e){const{type:t}=e,n=P[t];if(!e.node)return;const r=T4(e,{write:u,traverse:v});b4(r,u,{space:g,round:g4});const s={...E,print:r},a=(e,t)=>e&&r(t);b4(a,{newline:p,breakline:h,linebreak:m,space:b}),b4(s.maybe,{print:a}),c4(!n,e,"☝️ Node type '{{ type }}' is not supported yet by @putout/printer: '{{ path }}'");const c=x;h4(e,s,i,{currentTraverse:n}),u4(n,e,s,i),f4(e,s,i,{currentTraverse:n}),c4(x!==c,e,"☝️Looks like indent level changed after token visitor: '{{ type }}', for code: '{{ path }}'"),o(e.type)}return e.parentPath?function(e,t){e.parentPath.traverse({enter(n){n===e&&(t(n),n.stop())}})}(e,v):i4(o4(e),{Program(e){v(e),e.stop()}}),s};const T4=(e,{traverse:t,write:n})=>r=>{if(r===e)return null;const i=E4(e,r);return y4(i)?t(i):n(i)},E4=(e,t)=>"string"==typeof t&&t.startsWith("__")?((e,t)=>e.get(t.replace("__","")))(e,t):(y4(t),t);var P4={},v4={cook:e=>{const t=[];for(const{value:n}of e)t.push(n);return t}};const{cook:A4}=v4;P4.printTokens=e=>A4(e).join("");var C4={},w4={},k4=new RegExp(/(^[ \t]*\n)/,"gm");const I4=function(e){return e.replace(k4,"")},_4=e=>e.slice(0,e.indexOf("(")),N4=e=>e.includes("(")?`${_4(e)}(`:`${e}(`,L4=e=>"\n"===e.at(-1)?e:`${e}\n`,O4="__putout_processor_json",D4="__putout_processor_yaml",F4="__putout_processor_filesystem",M4="__putout_processor_ignore",B4=`${O4}(__object)`,R4=`${D4}(__object)`,j4=`${F4}(__object)`,U4=`${M4}(__array)`,q4=[O4,D4,F4,M4];w4.__json=B4,w4.__yaml=R4,w4.__filesystem=j4,w4.__ignore=U4,w4.__json_name=O4,w4.__yaml_name=D4,w4.__filesystem_name=F4,w4.__ignore_name=M4,w4.toJS=(e,t=B4)=>`${N4(t)}${e});\n`,w4.fromJS=(e,t=B4)=>{e=L4(e);const n=_4(t);e=e.slice(e.indexOf(n));const r=N4(t),i=e.length-3,s=e.slice(r.length,i);return L4(I4(s))},w4.isJSON=e=>{for(const t of q4)if(!e.indexOf(t))return!0;return!1};const{types:J4}=st,{isJSON:$4}=w4,{isCallExpression:V4,isIdentifier:K4}=J4;C4.maybeJSON=(e,t)=>function(e){const{program:t}=e;if(!t)return!1;const{body:n}=e.program;if(!n.length)return!1;const{expression:r}=e.program.body[0];if(!V4(r))return!1;const{callee:i}=r;return!!K4(i)&&$4(i.name)}(e)?{...t,format:{...t?.format,quote:'"'},semantics:{...t?.semantics,trailingComma:!1,escapeSingleQuote:!1,escapeDoubleQuote:!0}}:t;const{tokenize:W4}=Xj,{printTokens:X4}=P4,{maybeJSON:H4}=C4,{maybeVisitor:z4}=f3,Y4=h3;Wj.print=(e,t={})=>{!function(e){if("object"!=typeof e)throw Error("☝️Looks like ast not an object")}(e);const n=H4(e,t),r=W4(e,n);return X4(r)},Wj.visitors=Y4,Wj.maybeVisitor=z4;var G4={};function Q4(e){let t=e.length;if(!t)return!1;for(;--t>-1;)if(" "!==e[t])return!0;return!1}function Z4(e){let t="";for(let n=0;n<e.length;n++){if(" "!==e[n])return t;t+=" "}return t}const{generate:e5}=st,t5=e=>{!function(e){if(t=e,"string"!=typeof t)throw Error("str should be a string!");var t}(e);const t=e.split("\n"),n=t.length-1;for(let e=0;e<n;e++){const n=t[e];e&&!Q4(n)&&(t[e]=Z4(t[e+1]))}return t.join("\n")},n5={alignSpaces:!0};G4.print=(e,t)=>{const{source:n,alignSpaces:r}={...n5,...t};let{code:i}=e5(e,{...n&&{experimental_preserveFormat:!0,retainLines:!0}},n);return"\n"===i[0]&&(i=i.trimStart()),i+="\n",r?t5(i):i};const r5=Wj,i5=G4,{isArray:s5}=Array;var a5=(e,t={})=>{const[n="putout",r]=(i=t.printer,s5(i)?i:[i,{}]);var i;return"babel"===n?i5.print(e,{...t,...r}):r5.print(e,r)},o5={};const{types:u5}=st,{isFunctionExpression:c5,objectMethod:l5}=u5,{assign:p5}=Object;function d5(e,t){return e.loc&&t.loc?{start:e.loc.start,end:t.loc.end}:null}const{types:h5}=st,{classPrivateMethod:f5,classMethod:m5,privateName:y5,identifier:g5}=h5,{assign:b5}=Object;const x5=({type:e})=>"PrivateIdentifier"===e;const{types:S5}=st,{identifier:T5}=S5;const{types:E5}=st,{directive:P5,directiveLiteral:v5}=E5;const{assign:A5}=Object;var C5={convertParenthesizedExpression:({convertParens:e})=>t=>{if(!e)return;const{expression:n}=t.node;n.extra=n.extra||{},n.extra.parenthesized=!0,t.replaceWith(n)}},w5={convertTSParenthesizedType:({convertParens:e})=>t=>{if(!e)return;const{typeAnnotation:n}=t.node;n.extra=n.extra||{},n.extra.parenthesized=!0,t.replaceWith(n)}},k5={convertNodeComments:e=>{const{comments:t}=e;if(t){delete e.comments,e.leadingComments=void 0,e.trailingComments=void 0,e.innerComments=void 0;for(const n of t){const t=_5(n);e[t]||(e[t]=[]),delete n.leading,delete n.trailing,n.type=I5(n),e[t].push(n)}}},convertProgramComments:e=>{for(const t of e)t.type=I5(t);return e}};const I5=({type:e})=>`Comment${e}`;function _5({trailing:e,leading:t}){return e?"trailingComments":t?"leadingComments":"innerComments"}const{convertProgramComments:N5}=k5;var L5={convertPropertyDefinition:e=>{const{node:t}=e;if("PrivateIdentifier"===t.key.type){const{key:e}=t;return t.type="ClassPrivateProperty",void(t.key=O5(e))}e.node.type="ClassProperty"},convertTSInterfaceHeritage:e=>{let{expression:t}=e.node;for(;"MemberExpression"===t.type;){const{object:e,property:n}=t;t.type="TSQualifiedName",t.left=e,t.right=n,delete t.object,delete t.property,t=e}},convertPrivateIdentifier:e=>{e.replaceWith(O5(e.node))},convertTSAbstractMethodDefinition:e=>{const{node:t}=e,{generator:n,async:r,params:i,id:s,returnType:a}=t.value,o={...t,abstract:!0,generator:n,async:r,params:i,id:s,returnType:a,type:"TSDeclareMethod"};delete o.value,e.replaceWith(o)}};const O5=e=>({type:"PrivateName",id:{...e,type:"Identifier"},loc:e.loc}),{traverse:D5,types:F5}=st,M5=e=>{for(const t of e){const{computed:e,key:n,method:r,value:i}=t.node;r&&c5(i)&&(t.replaceWith(l5("method",n,i.params,i.body,e)),p5(t.node,{id:null,method:!0,generator:i.generator,loc:d5(n,i),async:i.async,type:"ObjectMethod"}))}},B5=e=>{const{node:t}=e,{key:n,kind:r,computed:i,loc:s}=t,{body:a,params:o,expression:u,generator:c}=t.value,l=function({kind:e,key:t,params:n,body:r,computed:i,nodeStatic:s}){if(x5(t)){const s=function(e){return y5(g5(e.name))}(t);return f5(e,s,n,r,i)}return m5(e,t,n,r,i,s)}({kind:r,key:n,params:o,body:a,computed:i,nodeStatic:t.static});e.replaceWith(l),b5(e.node,{loc:s,expression:u,generator:c})},R5=e=>{e.node.type="ClassPrivateProperty"},j5=({node:e})=>{e.name&&(e.id=T5(e.name),e.id.loc={start:{line:e.loc.start.line,column:e.loc.start.column+1},end:e.loc.end},delete e.name)},U5=e=>{const{node:t}=e;if(!t.directives){t.directives=[];for(const n of e.get("body")){if("ExpressionStatement"!==n.type)continue;const e=n.node;if(!("directive"in e))continue;if(!e.directive)continue;const r=v5(e.directive),i=P5(r);t.directives.push(i),n.remove()}}},q5=e=>{const t=e.get("expression"),{expression:n}=e.node;if(t.isCallExpression()){const e=t.get("callee");n.type="OptionalCallExpression",e.isMemberExpression()&&(n.callee.type="OptionalMemberExpression")}else n.type="OptionalMemberExpression";e.replaceWith(n)},J5=e=>{const{attributes:t=[]}=e.node;e.node.attributes=t},$5=e=>{const{attributes:t=[]}=e.node;A5(e.node,{attributes:t})},{convertParenthesizedExpression:V5}=C5,{convertTSParenthesizedType:K5}=w5,{convertNodeComments:W5}=k5,X5=e=>{const{type:t,value:n}=e;"Literal"===t&&(null!==n?(e=>"string"==typeof e)(n)?e.type="StringLiteral":(e=>"number"==typeof e)(n)?e.type="NumericLiteral":(e=>"boolean"==typeof e)(n)?e.type="BooleanLiteral":e.regex&&function(e){e.type="RegExpLiteral";for(const t of Object.keys(e.regex))e[t]=e.regex[t];delete e.regex}(e):e.type="NullLiteral")},H5=e=>{if("File"===e.type)return e;const{comments:t=[],tokens:n,...r}=e;return{type:"File",program:{...r,directives:[]},comments:N5(t),tokens:n}},{convertTSInterfaceHeritage:z5,convertTSAbstractMethodDefinition:Y5,convertPropertyDefinition:G5,convertPrivateIdentifier:Q5}=L5,{isObjectExpression:Z5,isExportDeclaration:e8}=F5,t8={convertParens:!0};function n8(e){const{raw:t}=e;e.raw=t||e.extra?.raw,e.extra=e.extra||{raw:t}}o5.estreeToBabel=(e,t)=>{const n=H5(e),r={...t8,...t};return D5(n,{noScope:!0,ParenthesizedExpression:V5(r),TSParenthesizedType:K5(r),enter(e){const{node:t}=e,{type:n}=t;return n.endsWith("Literal")?(X5(t),n8(t)):"JSXText"===n?n8(t):"BlockStatement"===n||"Program"===n?U5(e):"Property"===n?function(e){e.type="ObjectProperty"}(t):"MethodDefinition"===n?B5(e):"FieldDefinition"===n?R5(e):"PrivateName"===n?j5(e):"ImportDeclaration"===n?J5(e):e8(e)?$5(e):"ChainExpression"===n?q5(e):"TSAbstractMethodDefinition"===n?Y5(e):"TSInterfaceHeritage"===n?z5(e):"PropertyDefinition"===n?G5(e):"PrivateIdentifier"===n?Q5(e):void 0},exit(e){const{node:t}=e;if(W5(t),Z5(t))return M5(e.get("properties"))}}),n};var r8={},i8={exports:{}},s8=function e(t,n){if(t&&n)return e(t)(n);if("function"!=typeof t)throw new TypeError("need wrapper function");return Object.keys(t).forEach(function(e){r[e]=t[e]}),r;function r(){for(var e=new Array(arguments.length),n=0;n<e.length;n++)e[n]=arguments[n];var r=t.apply(this,e),i=e[e.length-1];return"function"==typeof r&&r!==i&&Object.keys(i).forEach(function(e){r[e]=i[e]}),r}};var a8=s8;function o8(e){var t=function(){return t.called?t.value:(t.called=!0,t.value=e.apply(this,arguments))};return t.called=!1,t}function u8(e){var t=function(){if(t.called)throw new Error(t.onceError);return t.called=!0,t.value=e.apply(this,arguments)},n=e.name||"Function wrapped with `once`";return t.onceError=n+" shouldn't be called more than once",t.called=!1,t}i8.exports=a8(o8),i8.exports.strict=a8(u8),o8.proto=o8(function(){Object.defineProperty(Function.prototype,"once",{value:function(){return o8(this)},configurable:!0}),Object.defineProperty(Function.prototype,"onceStrict",{value:function(){return u8(this)},configurable:!0})});var c8=i8.exports;const l8=()=>{};var p8=t(Object.freeze({__proto__:null,default:l8}));var d8,h8,f8=Object.freeze({__proto__:null,default:function(e){return class extends(undefined){parseClassElement(e){const t=this._inClassMemberName;this._inClassMemberName=!0;const n=super.parseClassElement.apply(this,arguments);return this._inClassMemberName=t,n}parsePropertyName(e){const t=this.options.ecmaVersion>=8&&this._inClassMemberName&&this.type==this.privateNameToken&&!e.static;return this._inClassMemberName=!1,t?this.parsePrivateClassElementName(e):super.parsePropertyName(e)}}}}),m8=t(f8);const y8=c8(()=>{const{Parser:e}=p8,t=(h8||(h8=1,d8=function(e){return e.extend(p8,p8,m8)}),d8),n=p8.default;return e.extend(n(),t)});r8.parse=function(e){const t=y8(),n={locations:!0,comment:!0,ecmaVersion:2023,sourceType:"module",allowAwaitOutsideFunction:!0,allowReturnOutsideFunction:!0,allowImportExportEverywhere:!0,preserveParens:!0},r=Array.from(t.tokenizer(e,n));return{...t.parse(e,n),tokens:r}};var g8={},b8=["importMeta","importAttributes","deprecatedImportAssert","dynamicImport","bigInt","classProperties","decorators-legacy","decoratorAutoAccessors","destructuringPrivate","exportDefaultFrom","throwExpressions","deferredImportEvaluation",["discardBinding",{syntaxType:"void"}],"sourcePhaseImports",["optionalChainingAssign",{version:"2023-07"}]],x8={allowReturnOutsideFunction:!0,allowUndeclaredExports:!0,allowImportExportEverywhere:!0};const S8=c8,T8=b8,E8=x8,{assign:P8}=Object,v8=e=>!e.indexOf("// @flow"),A8=S8(()=>st);function C8({isTS:e,isFlow:t,isJSX:n}){const r=[n&&"jsx"];return e||t?r.concat(["typescript"]):r}g8.parse=function(e,t){const{sourceFileName:n,isTS:r,isJSX:i=!0,isFlow:s=v8(e),isRecovery:a,printer:o}=t,{parse:u}=A8(),c={sourceFileName:n,sourceType:"module",...E8,errorRecovery:a,plugins:(l=[...T8,...C8({isTS:r,isFlow:s,isJSX:i})],l.filter(Boolean))};var l;"babel"===o&&P8(c,{createParenthesizedExpressions:!0,tokens:!0});const p=u(e,c);return p.program.extra.__putout_printer=o,p};var w8={};const k8=c8(()=>p8);w8.parse=function(e){const{parse:t}=k8();return t(e,{loc:!0,tokens:!0,comment:!0,ecmaVersion:2023,sourceType:"module",ecmaFeatures:{jsx:!0}})};var I8={};const _8=c8(()=>p8);I8.parse=function(e){const{parse:t}=_8();return t(e,{loc:!0,tokens:!0,comment:!0,sourceType:"module",jsx:!0})};var N8={};const L8=c8(()=>p8);N8.parse=e=>{const{Tenko:t}=L8(),{ast:n}=t(e,{goalMode:"module",allowGlobalReturn:!0,exposeScopes:!0});return n};var O8={};const D8=c8(()=>p8);O8.parse=function(e){return D8().parse(e,{babel:!0,allowReturnOutsideFunction:!0,flow:"detect",locations:!0,tokens:!0})};var F8=(e,...t)=>{try{return[null,e(...t)]}catch(e){return[e]}};const M8=F8;const B8=r8,R8=g8,j8=w8,U8=I8,q8=N8,J8=O8,$8=(e,t,n,r)=>{const[i,...s]=r,[a,o]=M8(e,t,i);if(!a)return o;if(function(e,t){for(const n of t)if(e.message.includes(n))return!0;return!1}(a,n))throw a;for(const n of s){const[r,i]=M8(e,t,n);if(!r)return i}throw a},V8=["has already been declared"];function K8(e,{parser:t,printer:n,isTS:r,isJSX:i,isRecovery:s}){return"babel"===t?R8.parse(e,{isTS:r,isJSX:i,isRecovery:s,printer:n}):"object"==typeof t?t.parse(e,{isJSX:i,isTS:r}):"espree"===t?j8.parse(e):"acorn"===t?B8.parse(e):"esprima"===t?U8.parse(e):"tenko"===t?q8.parse(e):"hermes"===t?J8.parse(e):function(e){throw new Error('Could not dynamically require "'+e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}(t).parse(e)}var W8={};const X8=F8;W8.tryThrowWithReason=(e,...t)=>{const[n,r]=X8(e,...t);if(n)throw n.reason="parse",n;return r};const{estreeToBabel:H8}=o5,z8=(e,t,{isTS:n,isJSX:r,printer:i})=>{const s={parser:t,printer:i,isTS:n,isJSX:r},a={...s,isJSX:!1},o={...s,isRecovery:!0};return $8(K8,e,V8,[s,a,o])},{tryThrowWithReason:Y8}=W8,{assign:G8}=Object;var Q8=(e,t)=>{!function(e){if(t=e,"string"!=typeof t)throw Error(`☝️ Looks like type of 'source' is not 'string', but '${typeof e}'`);var t}(e);const{parser:n,printer:r="putout",isTS:i,isJSX:s}=t||{},{parse:a}=Z8({printer:r,parser:n,isTS:i,isJSX:s});return Y8(a,e)};const Z8=({parser:e="babel",isTS:t,isJSX:n,printer:r})=>({parse(i){const s={};"babel"===r&&G8(s,{convertParens:!1});return H8(z8(i,e,{isTS:t,isJSX:n,printer:r}),s)}});const{generate:e6}=st;var t6=(e,t,n)=>e6(e,{comments:!1,...t},n),n6={exports:{}};function r6(e,t){t||(t={});var n,r,i,s=t.vargs||function(e){var t=e+"",n=t.indexOf("...");return n>=0&&(n<t.indexOf(")")||t.indexOf("arguments")>=0)}(e),a=[],o=new Map,u=t.maxAge>0&&t.maxAge<1/0?function(e){return r=setTimeout(function(){n?o.delete(e):a.splice(e,1)},t.maxAge)}:0,c=t.equals?t.equals:0,l=t.maxArgs,p=t.serializer;return 1!==e.length||t.equals||s?i=c?function(){for(var t=l||arguments.length,n=a.length,r=-1;++r<n;)if(a[r].length===t){for(var i=-1;++i<t&&c(arguments[i],a[r][i]););if(i===t)return a[r].val}return a[r]=arguments,!u||u(r),arguments.val=e.apply(this,a[r])}:function(){for(var t=l||arguments.length,n=a.length,r=-1;++r<n;)if(a[r].length===t){for(var i=-1;++i<t&&arguments[i]===a[r][i];);if(i===t)return a[r].val}return a[r]=arguments,!u||u(r),arguments.val=e.apply(this,a[r])}:(i=function(t){var n;return p&&(t=p(t)),o.get(t)||(!u||u(t),o.set(t,n=e.call(this,t)),n)},n=1),i.clear=function(){r&&clearTimeout(r),o.clear(),a=[]},i.keys=function(){return n?[...o.keys()]:a.slice()},i.values=function(){return n?[...o.values()]:a.map(e=>e.val)},i}var i6=t(Object.freeze({__proto__:null,default:r6,nanomemoize:r6}));!function(e){const{types:t,template:n}=st,{nanomemoize:r}=i6,i=b8,s={...x8,plugins:[...i,"typescript","jsx"]},{isExpressionStatement:a,isTSExternalModuleReference:o}=t,u=e=>a(e)||o(e)?e.expression:e;e.exports=r((e,t)=>{const r=n(e,{...s,...t});return(...e)=>{const t=r(...e);return u(t)}}),e.exports.ast=r((e,t)=>{const r=n.ast(e,{...s,...t});return u(r)}),e.exports.program=r((e,t)=>n.program(e,{...s,...t})),e.exports.program.ast=r((e,t)=>n.program.ast(e,{...s,...t})),e.exports.ast.fresh=(e,t)=>{const r=n.ast(e,{...s,...t});return u(r)},e.exports.extractExpression=u}(n6);var s6=n6.exports;s6.default;const a6=a5,o6=Q8,u6=t6,c6=s6;Kj.print=a6,Kj.parse=o6,Kj.generate=u6,Kj.template=c6;var l6={mergeShebang:(e,t)=>e?`${e}\n${t}`:t,cutShebang:e=>{if(e.indexOf("#"))return[e,""];const t=e.split("\n"),n=t.slice(1).join("\n"),[r]=t;return[n,`${r}\n`]}},p6={},d6={},h6={};function f6(e,t){for(var n=0,r=e.length-1;r>=0;r--){var i=e[r];"."===i?e.splice(r,1):".."===i?(e.splice(r,1),n++):n&&(e.splice(r,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}var m6=/^(\/?|)([\s\S]*?)((?:\.{1,2}|[^\/]+?|)(\.[^.\/]*|))(?:[\/]*)$/,y6=function(e){return m6.exec(e).slice(1)};function g6(){for(var e="",t=!1,n=arguments.length-1;n>=-1&&!t;n--){var r=n>=0?arguments[n]:"/";if("string"!=typeof r)throw new TypeError("Arguments to path.resolve must be strings");r&&(e=r+"/"+e,t="/"===r.charAt(0))}return(t?"/":"")+(e=f6(C6(e.split("/"),function(e){return!!e}),!t).join("/"))||"."}function b6(e){var t=x6(e),n="/"===w6(e,-1);return(e=f6(C6(e.split("/"),function(e){return!!e}),!t).join("/"))||t||(e="."),e&&n&&(e+="/"),(t?"/":"")+e}function x6(e){return"/"===e.charAt(0)}function S6(){return b6(C6(Array.prototype.slice.call(arguments,0),function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))}function T6(e,t){function n(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=g6(e).substr(1),t=g6(t).substr(1);for(var r=n(e.split("/")),i=n(t.split("/")),s=Math.min(r.length,i.length),a=s,o=0;o<s;o++)if(r[o]!==i[o]){a=o;break}var u=[];for(o=a;o<r.length;o++)u.push("..");return(u=u.concat(i.slice(a))).join("/")}function E6(e){var t=y6(e),n=t[0],r=t[1];return n||r?(r&&(r=r.substr(0,r.length-1)),n+r):"."}function P6(e,t){var n=y6(e)[2];return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n}function v6(e){return y6(e)[3]}var A6={extname:v6,basename:P6,dirname:E6,sep:"/",delimiter:":",relative:T6,join:S6,isAbsolute:x6,normalize:b6,resolve:g6};function C6(e,t){if(e.filter)return e.filter(t);for(var n=[],r=0;r<e.length;r++)t(e[r],r,e)&&n.push(e[r]);return n}var w6="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)},k6=t(Object.freeze({__proto__:null,basename:P6,default:A6,delimiter:":",dirname:E6,extname:v6,isAbsolute:x6,join:S6,normalize:b6,relative:T6,resolve:g6,sep:"/"}));var I6={simpleImport:async e=>{const t=await import(e);return t.default||t}};const _6=N3,{join:N6}=k6,L6=c8,{nanomemoize:O6}=i6,D6=async(e,...t)=>{!function(e){if("function"!=typeof e)throw Error("fn should be a function!")}(e);try{return[null,await e(...t)]}catch(e){return[e]}},{simpleImport:F6}=I6,{assign:M6}=Object;async function B6(e,t=F6){let n,r;for(const i of e){if([n,r]=await D6(t,i),!n)return r;if("ERR_UNSUPPORTED_DIR_IMPORT"===n.code){const e=require.resolve(i);if([n,r]=await D6(t,e),!n)return r}if("ERR_MODULE_NOT_FOUND"!==n.code)throw M6(n,{message:`${i}: ${n.message}`}),n}throw M6(n,{message:n.message.replace(/\simported.*/,"")}),n}h6.createAsyncLoader=e=>O6(async(t,n)=>{if("none"===t)return()=>{};if(t.startsWith("import:")){const e=t.replace("import:","");return await B6([require.resolve(e)],n)}const r=[`@putout/${e}-${t}`,`putout-${e}-${t}`],i=r.flatMap(j6),s=Array.from(new Set([...r,...i]));return await B6(s,n)});const R6=L6(()=>_6.env.PUTOUT_LOAD_DIR);function j6(e){const t=R6();if(!t)return[e];const n=N6(t,e);return[n,`${n}.js`]}var U6={},q6={};const J6=e=>"string"==typeof e,{isArray:$6}=Array,{entries:V6}=Object;q6.parsePluginNames=e=>{const t=[];for(const n of e)if(J6(n))t.push([n]);else{if($6(n)){const[e,r]=n;t.push([e,r]);continue}t.push(...V6(n))}return t};var K6={};const{isArray:W6}=Array,X6=e=>"boolean"==typeof e,H6=e=>"string"==typeof e,z6=e=>"object"==typeof e,{entries:Y6}=Object,{stringify:G6}=JSON,Q6=e=>Error(`☝️ Rule format not supported ${e}: ${typeof e}`),Z6=e=>Error(`☝️ Looks like you need to change "rules" to "match" for ${G6(e)}`),e9=()=>Object.create(null),t9=(e,t)=>(function(e,t){if(X6(t))return!0;if(/^(on|off)$/.test(t))return!0;if(z6(t))return!0;throw(({rule:e,value:t})=>Error(`☝️ ${e}: state option can be "on" or "off" only, when used as string, received: "${t}"`))({rule:e,value:t})}(e,t),"on"===t||"off"!==t&&t);function n9(e,t){const[n]=t,r=t9(e,n);if(3===t.length){const[,n,i]=t;return{rule:e,state:r,plugin:null,msg:n,options:i}}const[,i=""]=t;return{rule:e,state:r,plugin:null,msg:"",options:i}}K6.parseRules=e=>{const t=[];!function(e){if(W6(e))throw Error("☝️Looks like type of 'rules' passed to @putout/engine-loader is 'array', expected: 'object'.")}(e);for(const[n,r]of Y6(e)){if(H6(r)){t.push({rule:n,state:t9(n,r),plugin:null,msg:"",options:e9()});continue}if(X6(r)){t.push({rule:n,state:r,plugin:null,msg:"",options:e9()});continue}if(!(W6(r)&&r.length)){if(z6(r))throw Z6(r);throw Q6(r)}t.push(n9(n,r))}return t};const r9=e=>e.split("/")[0];K6.enableNestedRules=e=>{const t={};for(const[n,r]of Y6(e))n.includes("/")&&t9(n,r)&&(t[r9(n)]="on"),t[n]=r;return t};var i9={};i9.mergeRules=([e,t],n)=>{for(const r of n){if(r.rule!==e)continue;const{msg:n,options:i}=r;return{rule:e,plugin:t,msg:n,options:i}}return{rule:e,plugin:t,msg:"",options:Object.create(null)}};var s9={};const a9=e=>e.includes("/")?e.split("/").shift():e,o9=e=>e.replace("import:@putout/plugin-","").replace("@putout/plugin-","");s9.validateRules=({items:e,rules:t})=>{const n=Object.keys(t);for(const t of n){let n=!1,r=!1,i=!1;for(const[s,a={}]of e){const e=o9(s);if(n=e===t,r=e===a9(t),i=t.includes(e),n&&a.rules)throw Error(`Rule '${t}' cannot be applied to nested plugin '${s}'`);if(n||r||i)break}if(!n&&!r&&!i)throw Error(`No plugin found for a rule: '${t}'`)}};var u9={isEnabled:(e,t)=>{for(const{rule:n,state:r}of t)if(n===e)return r;for(const{rule:n,state:r}of t)if(n.includes("/")&&RegExp(`^${n}`).test(e))return r;for(const{rule:n,state:r}of t)if(RegExp(`^${n}/`).test(e))return r;return!0}},c9={getLoadedRules:e=>{const t=[];for(const n of e){const{rule:e}=n;e.includes("/")||t.push(n)}return t}};const{parseRules:l9}=K6,{mergeRules:p9}=i9,{validateRules:d9}=s9,{isEnabled:h9}=u9,{getLoadedRules:f9}=c9;var m9={parseRules:l9,mergeRules:p9,validateRules:d9,isEnabled:h9,getLoadedRules:f9},y9={};y9.check=e=>{if(!e||"object"!=typeof e)throw Error("options should be an object!")},y9.checkRule=e=>{if("string"!=typeof e)throw Error(`☝️ Looks like plugin name type is not 'string', but: '${typeof e}'`)};const{parsePluginNames:g9}=q6,{validateRules:b9}=m9,{check:x9}=y9;U6.validateRulesRelations=e=>{x9(e);const{pluginNames:t=[],rules:n={}}=e,r=g9(t);b9({rules:n,items:r})};var S9={},T9={};const{parsePluginNames:E9}=q6,{enableNestedRules:P9}=K6,{parseRules:v9,getLoadedRules:A9}=m9;T9.prepareRules=({rules:e,pluginNames:t})=>{const n=P9(e),r=v9(n),i=A9(r);return{items:E9(t),loadedRules:i,cookedRules:v9(e)}};const C9=["find","traverse","replace","include","exclude","rules","declare","scan"];var w9=({plugin:e,rule:t})=>{const n=Object.keys(e);for(const e of C9)if(n.includes(e))return;throw Error(`☝️ Cannot determine type of plugin '${t}'. Here is list of supported plugins: https://git.io/JqcMn`)},k9={};const{isEnabled:I9,mergeRules:_9}=m9,{isArray:N9}=Array,L9=e=>N9(e)?e:["on",e];function O9(e,t,n){if("on"===t)return!0;for(const{rule:t,state:r}of n)if(t.includes("/")&&RegExp(`^${t}`).test(e))return r;return!1}k9.filterEnabledPlugins=({plugins:e,cookedRules:t})=>{const n=[];for(const[r,i]of e){if(!I9(r,t))continue;const[e,s]=L9(i);O9(r,e,t)&&n.push(_9([r,s],t))}return n};const{basename:D9}=k6,{isEnabled:F9}=m9,{prepareRules:M9}=T9,B9=w9,{filterEnabledPlugins:R9}=k9,{createAsyncLoader:j9}=h6,{check:U9,checkRule:q9}=y9,J9=j9("plugin");S9.loadPluginsAsync=async e=>{U9(e);const{pluginNames:t=[],rules:n={}}=e,{items:r,loadedRules:i,cookedRules:s}=M9({rules:n,pluginNames:t}),a=await async function({items:e,loadedRules:t}){const n=[],r=[];for(const[i,s]of e){if(!F9(i,t))continue;q9(i);const[e]=$9(i),a=s||J9(e);r.push(K9(i)),n.push(a)}const i=await Promise.all(n),s=[];for(const[e,t]of r.entries()){const n=i[e];B9({plugin:n,rule:t});const{rules:r}=n;r?s.push(...V9(t,r)):s.push([t,n])}return s}({items:r,loadedRules:i});return R9({plugins:a,cookedRules:s})};const $9=e=>[e,"putout"];function V9(e,t){const n=[],r=Object.entries(t);for(const[t,i]of r)n.push([`${e}/${t}`,i]);return n}function K9(e){if(e.startsWith("import:")){return D9(e.replace("import:","")).replace("plugin-","")}return e}var W9,X9={},H9={},z9=t(Object.freeze({__proto__:null,default:{}}));function Y9(){if(W9)return H9;W9=1;const e=N3,{createRequire:t}=z9,{join:n}=k6,r=F8,i=c8,{assign:s}=Object,a=e=>({name:t,namespace:n})=>{const[i,a]=function(e,t,n){if(n.startsWith("import:"))return l(n.replace("import:",""));let[r,i]=l(`@${e}/${t}-${n}`);r||([r,i]=l(`${e}-${t}-${n}`));r||([r,i]=l(n));return[r,i]}(n,e,t);if(!i)throw Error(`${o=e,`${o[0].toUpperCase()}${o.slice(1)}`} "${n}-${e}-${t}" could not be found!`);var o;const[u,c]=r(a,i);if("ERR_REQUIRE_ESM"===u?.code&&s(u,{message:`☝️ Looks like '${t}' is ESM, use 'await putoutAsync()' instead`,name:t}),u)throw u;return c};H9.loadPlugin=a("plugin"),H9.loadProcessor=a("processor");const{PUTOUT_YARN_PNP:o="putout"}={},u=i(()=>t(require.resolve(o))),c=i(()=>t(require.resolve("putout")));function l(e,{again:t=!1}={}){let i;const s=u(),a=c();return[,i]=r(a.resolve,e),i?[i,a]:([,i]=r(s.resolve,e),i||t?[i,s]:l(function(e){const t=p();return t?n(t,e):e}(e),{again:!0}))}const p=i(()=>e.env.PUTOUT_LOAD_DIR);return H9}const G9=w9,{prepareRules:Q9}=T9,{isEnabled:Z9}=m9,{filterEnabledPlugins:e7}=k9,{check:t7,checkRule:n7}=y9,{isArray:r7}=Array;X9.loadPlugins=e=>{t7(e);const{pluginNames:t=[],rules:n={}}=e,{items:r,loadedRules:i,cookedRules:s}=Q9({rules:n,pluginNames:t}),a=function({items:e,loadedRules:t}){const n=[];for(const[r,i]of e){if(!Z9(r,t))continue;n7(r);const e=s7(r),[s,a]=i7(r),o=a7(i)||u7({name:s,namespace:a});G9({plugin:o,rule:r});const{rules:u}=o;u?n.push(...o7(e,u)):n.push([e,o])}return n}({items:r,loadedRules:i});return e7({plugins:a,cookedRules:s})};const i7=e=>[e,"putout"],s7=e=>e.replace("import:@putout/plugin-","").replace("@putout/plugin-",""),a7=e=>r7(e)?e[1]:e;function o7(e,t){const n=[],r=Object.entries(t);for(const[t,i]of r)n.push([`${e}/${t}`,i]);return n}function u7({name:e,namespace:t}){const{loadPlugin:n}=Y9();return n({name:e,namespace:t})}var c7={};const l7=e=>"string"==typeof e,{isArray:p7}=Array,d7=e=>"on"===e,h7=e=>"off"===e;const{createAsyncLoader:f7}=h6,m7=e=>{const t=[];for(const n of e)if(l7(n))t.push([n]);else if(p7(n)){const[e,r]=n;if(h7(r))continue;if(d7(r)){t.push([e]);continue}t.push([e,r]);continue}return t},{check:y7}=y9;c7.loadProcessorsAsync=async(e,t)=>{y7(e);const{processors:n=[]}=e,r=m7(n),i=f7("processor"),s=[];for(const[e,n]of r)n?s.push(n):s.push(i(e,t));return await Promise.all(s)};const{createAsyncLoader:g7}=h6,{validateRulesRelations:b7}=U6,{loadPluginsAsync:x7}=S9,{loadPlugins:S7}=X9,{loadProcessorsAsync:T7}=c7;d6.loadPlugins=S7,d6.loadPluginsAsync=x7,d6.loadProcessorsAsync=T7,d6.createAsyncLoader=g7,d6.validateRulesRelations=b7;var E7,P7,v7={},A7={exports:{}};function C7(){if(P7)return E7;P7=1;var e=1e3,t=60*e,n=60*t,r=24*n,i=7*r,s=365.25*r;function a(e,t,n,r){var i=t>=1.5*n;return Math.round(e/n)+" "+r+(i?"s":"")}return E7=function(o,u){u=u||{};var c=typeof o;if("string"===c&&o.length>0)return function(a){if((a=String(a)).length>100)return;var o=/^(-?(?:\d+)?\.?\d+) *(milliseconds?|msecs?|ms|seconds?|secs?|s|minutes?|mins?|m|hours?|hrs?|h|days?|d|weeks?|w|years?|yrs?|y)?$/i.exec(a);if(!o)return;var u=parseFloat(o[1]);switch((o[2]||"ms").toLowerCase()){case"years":case"year":case"yrs":case"yr":case"y":return u*s;case"weeks":case"week":case"w":return u*i;case"days":case"day":case"d":return u*r;case"hours":case"hour":case"hrs":case"hr":case"h":return u*n;case"minutes":case"minute":case"mins":case"min":case"m":return u*t;case"seconds":case"second":case"secs":case"sec":case"s":return u*e;case"milliseconds":case"millisecond":case"msecs":case"msec":case"ms":return u;default:return}}(o);if("number"===c&&isFinite(o))return u.long?function(i){var s=Math.abs(i);if(s>=r)return a(i,s,r,"day");if(s>=n)return a(i,s,n,"hour");if(s>=t)return a(i,s,t,"minute");if(s>=e)return a(i,s,e,"second");return i+" ms"}(o):function(i){var s=Math.abs(i);if(s>=r)return Math.round(i/r)+"d";if(s>=n)return Math.round(i/n)+"h";if(s>=t)return Math.round(i/t)+"m";if(s>=e)return Math.round(i/e)+"s";return i+"ms"}(o);throw new Error("val is not a non-empty string or a valid number. val="+JSON.stringify(o))},E7}var w7=function(e){function t(e){let r,i,s,a=null;function o(...e){if(!o.enabled)return;const n=o,i=Number(new Date),s=i-(r||i);n.diff=s,n.prev=r,n.curr=i,r=i,e[0]=t.coerce(e[0]),"string"!=typeof e[0]&&e.unshift("%O");let a=0;e[0]=e[0].replace(/%([a-zA-Z%])/g,(r,i)=>{if("%%"===r)return"%";a++;const s=t.formatters[i];if("function"==typeof s){const t=e[a];r=s.call(n,t),e.splice(a,1),a--}return r}),t.formatArgs.call(n,e);(n.log||t.log).apply(n,e)}return o.namespace=e,o.useColors=t.useColors(),o.color=t.selectColor(e),o.extend=n,o.destroy=t.destroy,Object.defineProperty(o,"enabled",{enumerable:!0,configurable:!1,get:()=>null!==a?a:(i!==t.namespaces&&(i=t.namespaces,s=t.enabled(e)),s),set:e=>{a=e}}),"function"==typeof t.init&&t.init(o),o}function n(e,n){const r=t(this.namespace+(void 0===n?":":n)+e);return r.log=this.log,r}function r(e,t){let n=0,r=0,i=-1,s=0;for(;n<e.length;)if(r<t.length&&(t[r]===e[n]||"*"===t[r]))"*"===t[r]?(i=r,s=n,r++):(n++,r++);else{if(-1===i)return!1;r=i+1,s++,n=s}for(;r<t.length&&"*"===t[r];)r++;return r===t.length}return t.debug=t,t.default=t,t.coerce=function(e){if(e instanceof Error)return e.stack||e.message;return e},t.disable=function(){const e=[...t.names,...t.skips.map(e=>"-"+e)].join(",");return t.enable(""),e},t.enable=function(e){t.save(e),t.namespaces=e,t.names=[],t.skips=[];const n=("string"==typeof e?e:"").trim().replace(/\s+/g,",").split(",").filter(Boolean);for(const e of n)"-"===e[0]?t.skips.push(e.slice(1)):t.names.push(e)},t.enabled=function(e){for(const n of t.skips)if(r(e,n))return!1;for(const n of t.names)if(r(e,n))return!0;return!1},t.humanize=C7(),t.destroy=function(){console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`.")},Object.keys(e).forEach(n=>{t[n]=e[n]}),t.names=[],t.skips=[],t.formatters={},t.selectColor=function(e){let n=0;for(let t=0;t<e.length;t++)n=(n<<5)-n+e.charCodeAt(t),n|=0;return t.colors[Math.abs(n)%t.colors.length]},t.enable(t.load()),t};!function(e,t){t.formatArgs=function(t){if(t[0]=(this.useColors?"%c":"")+this.namespace+(this.useColors?" %c":" ")+t[0]+(this.useColors?"%c ":" ")+"+"+e.exports.humanize(this.diff),!this.useColors)return;const n="color: "+this.color;t.splice(1,0,n,"color: inherit");let r=0,i=0;t[0].replace(/%[a-zA-Z%]/g,e=>{"%%"!==e&&(r++,"%c"===e&&(i=r))}),t.splice(i,0,n)},t.save=function(e){try{e?t.storage.setItem("debug",e):t.storage.removeItem("debug")}catch(e){}},t.load=function(){let e;try{e=t.storage.getItem("debug")||t.storage.getItem("DEBUG")}catch(e){}!e&&"env"in J&&(e=J.env.DEBUG);return e},t.useColors=function(){if("undefined"!=typeof window&&window.process&&("renderer"===window.process.type||window.process.__nwjs))return!0;if("undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/(edge|trident)\/(\d+)/))return!1;let e;return"undefined"!=typeof document&&document.documentElement&&document.documentElement.style&&document.documentElement.style.WebkitAppearance||"undefined"!=typeof window&&window.console&&(window.console.firebug||window.console.exception&&window.console.table)||"undefined"!=typeof navigator&&navigator.userAgent&&(e=navigator.userAgent.toLowerCase().match(/firefox\/(\d+)/))&&parseInt(e[1],10)>=31||"undefined"!=typeof navigator&&navigator.userAgent&&navigator.userAgent.toLowerCase().match(/applewebkit\/(\d+)/)},t.storage=function(){try{return localStorage}catch(e){}}(),t.destroy=(()=>{let e=!1;return()=>{e||(e=!0,console.warn("Instance method `debug.destroy()` is deprecated and no longer does anything. It will be removed in the next major version of `debug`."))}})(),t.colors=["#0000CC","#0000FF","#0033CC","#0033FF","#0066CC","#0066FF","#0099CC","#0099FF","#00CC00","#00CC33","#00CC66","#00CC99","#00CCCC","#00CCFF","#3300CC","#3300FF","#3333CC","#3333FF","#3366CC","#3366FF","#3399CC","#3399FF","#33CC00","#33CC33","#33CC66","#33CC99","#33CCCC","#33CCFF","#6600CC","#6600FF","#6633CC","#6633FF","#66CC00","#66CC33","#9900CC","#9900FF","#9933CC","#9933FF","#99CC00","#99CC33","#CC0000","#CC0033","#CC0066","#CC0099","#CC00CC","#CC00FF","#CC3300","#CC3333","#CC3366","#CC3399","#CC33CC","#CC33FF","#CC6600","#CC6633","#CC9900","#CC9933","#CCCC00","#CCCC33","#FF0000","#FF0033","#FF0066","#FF0099","#FF00CC","#FF00FF","#FF3300","#FF3333","#FF3366","#FF3399","#FF33CC","#FF33FF","#FF6600","#FF6633","#FF9900","#FF9933","#FFCC00","#FFCC33"],t.log=console.debug||console.log||(()=>{}),e.exports=w7(t);const{formatters:n}=e.exports;n.j=function(e){try{return JSON.stringify(e)}catch(e){return"[UnexpectedJSONParseError]: "+e.message}}}(A7,A7.exports);var k7=A7.exports;k7.default;var I7={};const _7=k7;I7.createDebug=t=>{const n=_7(t);return new Proxy(n,{apply:(n,r,i)=>(e.__putout_debug?.(t,...i),n(...i)),get:(t,n)=>!!e.__putout_debug?.[n]||t[n]})};const N7=F8,{createDebug:L7}=I7,{stringify:O7}=JSON,D7=L7("putout:runner:fix");var F7=(e,t,{path:n,pathOptions:r,rule:i,position:s,options:a})=>{e&&(D7.enabled&&D7(`${i}:`,s,(e=>e.path||e)(n).toString()),function(e,t){if(n=t,"function"!=typeof n)throw Error(`☝️ Looks like '${e}' is not a 'function' but '${typeof t}' with value: '${O7(t)}'. More on writing 🐊Putout Plugins: https://git.io/JqcMn`);var n}("fix",t),((e,{path:t,pathOptions:n,position:r,options:i})=>{const[s]=N7(e,...(({path:e,pathOptions:t,options:n})=>t?[e,t,{options:n}]:[e,{options:n}])({path:t,pathOptions:n,options:i})),{scope:a}=t.path||t;if(!s&&a&&a.getProgramParent().crawl(),s)throw s.loc=s.loc||r,s.reason="fix",s})(t,{path:n,pathOptions:r,position:s,options:a}))};var M7={};const B7=e=>e.path||e[0]||e;M7.getPath=B7,M7.getPosition=(e,t)=>{const n=B7(e);!function(e){if(!e.node)throw Error("☝️ Looks like 'push' called without a 'path' argument.")}(n);const{node:r}=n,{loc:i}=r;if(!i)return{line:0,column:0};const{line:s,column:a}=r.loc.start;return{line:t?s+1:s,column:a}};const{isArray:R7}=Array;var j7=e=>e?(e=>R7(e)?e:[e])(e):[],U7={};const{stringify:q7}=JSON;U7.validate=(e,t)=>{if("function"!=typeof t)throw Error(`☝️ Looks like '${e}' is not a 'function' but '${typeof t}' with value: '${q7(t)}'. More on using Includer: https://git.io/JqcMn`)};var J7={};const{values:$7,entries:V7,assign:K7}=Object,W7=e=>Array.from(e),X7=e=>e.node,H7=e=>W7(e).filter(X7),z7=e=>e;function Y7({set:e,get:t}){return(n={})=>{const r=(...r)=>{if(!r.length)return t(n);const[i,s]=r;if(1===r.length)return n[i];e(n,i,s)};return r.clear=()=>{n={}},r.entries=()=>V7(n),r}}function G7(e=z7){return(t=new Set)=>{const n=(...n)=>{if(!n.length)return e(W7(t));const[r]=n;t.add(r)};return n.clear=()=>{const n=t;return t=new Set,e(W7(n))},n}}J7.listStore=G7(),J7.pathStore=G7(H7),J7.mapStore=Y7({get:e=>$7(e),set(e,t,n){e[t]=n}}),J7.upStore=Y7({get:e=>$7(e),set(e,t,n){e[t]=e[t]||{},K7(e[t],n)}}),J7.upListStore=Y7({get:e=>$7(e).map(H7),set(e,t,n){e[t]=e[t]||new Set,e[t].add(n)}});const{traverse:Q7}=st,{generate:Z7}=Kj,eee=F7,{getPosition:tee}=M7,nee=j7,{validate:ree}=U7,{listStore:iee,mapStore:see,upStore:aee,upListStore:oee,pathStore:uee}=J7,{merge:cee}=Q7.visitors,{assign:lee}=Object,pee=(e,t,n)=>{const r=[];return t[e]&&(ree(e,t[e]),r.push(...nee(t[e]()))),n[e]&&r.push(...nee(n[e])),r};var dee=(e,{fix:t,shebang:n,template:r})=>{const i=[],s={};for(const{rule:a,plugin:o,msg:u,options:c}of e){const{push:e,pull:l,store:p,upstore:d,listStore:h,pathStore:f,uplist:m}=hee(o,{fix:t,rule:a,shebang:n,msg:u,options:c});s[a]=l;const y=o.traverse({push:e,store:p,listStore:h,pathStore:f,upstore:d,uplist:m,generate:Z7,options:c});if(!y)throw Error(`☝️ Visitors cannot be empty in "${a}"`);lee(c,{include:pee("include",o,c),exclude:pee("exclude",o,c)}),i.push(...r({rule:a,visitor:y,options:c}))}return{entries:Object.entries(s),visitor:cee(i)}};function hee(e,{fix:t,rule:n,shebang:r,msg:i,options:s}){const a=see(),o=iee(),u=aee(),c=iee(),l=oee(),p=uee();return{push:(a,o)=>{const u=tee(a,r),l=i||e.report(a,o);c({message:l,position:u}),eee(t,e.fix,{path:a,pathOptions:o,rule:n,position:u,options:s})},pull:()=>(a.clear(),o.clear(),u.clear(),l.clear(),p.clear(),c.clear()),store:a,listStore:o,upstore:u,uplist:l,pathStore:p}}const{traverse:fee,types:mee}=st,{generate:yee}=Kj,{merge:gee}=fee.visitors;var bee=function({rule:e,find:t,ast:n,options:r,template:i,traverse:s=fee}){const a=[],o=t(n,{traverse:xee({rule:e,options:r,template:i,traverse:s}),generate:yee,types:mee,push:e=>{a.push(e)},options:r});return[...a,...o||[]]};const xee=({rule:e,options:t,template:n,traverse:r})=>(i,s)=>{const a=gee(n({rule:e,visitor:s,options:t}));return r(i,a)};var See={exports:{}},Tee={},Eee={};const Pee=e=>void 0===e;const vee=(e,t=Number(e))=>(e=>!Number.isNaN(e)&&"number"==typeof e)(t),Aee=e=>/__proto__|prototype/.test(e);var Cee={};const wee=/\.body\.0\.expression$/,kee=/\.body\.0\.key$/,Iee=/\.body\.0$/;Cee.prepareBodyWay=e=>e.replace(wee,"").replace(kee,"").replace(Iee,"");var _ee={};const{template:Nee}=Kj,{types:Lee}=st,{isBlockStatement:Oee,isTSModuleBlock:Dee,isBooleanLiteral:Fee,isIdentifier:Mee,isLiteral:Bee,isTemplateElement:Ree,isFunction:jee,isImportDefaultSpecifier:Uee,isExportSpecifier:qee,isRegExpLiteral:Jee,isJSXText:$ee,isJSXIdentifier:Vee,isJSXAttribute:Kee,isTSTypeReference:Wee,isTSTypeParameterDeclaration:Xee}=Lee,Hee="__object",zee="__array",Yee="__args",Gee="__type_params",Qee="__imports",Zee="__exports",ete="__body",tte="__jsx_children",nte="__jsx_attributes",rte="__",ite="__identifier",ste="__bool",ate=/^__[a-z]$/,ote=/__args__[a-z]$/,ute=/^__identifier__[a-z]$/,cte=/^__bool__[a-z]$/,lte=[Hee,zee,Yee,Gee,ste,tte,nte,Qee,Zee,ete,rte,ite,ate,ote,ute,cte];function pte(e,t){return"string"==typeof t?e===t:t.test(e)}_ee.isTemplate=e=>/[(;={.\s]/.test(e)||!/^[A-Z]/.test(e),_ee.is=(e,t=lte)=>{for(const n of t)if(pte(e,n))return!0;return!1},_ee.isNameStr=e=>ate.test(e),_ee.isImportsStr=e=>e===Qee,_ee.isExportsStr=e=>e===Zee,_ee.isArgsStr=e=>e===Yee||ote.test(e),_ee.isTypeParamsStr=e=>e===Gee,_ee.isJSXChildrenStr=e=>e===tte,_ee.isJSXAttributesStr=e=>e===nte,_ee.isObjectStr=e=>e===Hee,_ee.isArrayStr=e=>e===zee,_ee.isAnyStr=e=>e===rte,_ee.isBodyStr=e=>e===ete;const dte=e=>Mee(e,{name:ete}),hte=(e,t)=>e.type===t.type,{isArray:fte}=Array;_ee.isId=(e,t)=>!!Mee(t,{name:ite})&&Mee(e),_ee.isBool=(e,t)=>!!Mee(t,{name:ste})&&Fee(e),_ee.isEqualType=hte,_ee.isStr=e=>"string"==typeof e,_ee.isAny=e=>!!Mee(e,{name:rte})||$ee(e,{value:rte}),_ee.isAnyLiteral=(e,t)=>!!Bee(t,{value:rte})&&hte(e,t),_ee.isArgs=e=>{const t=fte(e)?e[0]:e;return Mee(t,{name:Yee})};_ee.isEqualTypeParams=(e,t)=>!!e&&(!!(e=>{if(!Xee(e))return!1;const{params:t}=e,{name:n}=t[0];return Mee(n,{name:Gee})})(t)&&hte(e,t)),_ee.isLinkedArgs=e=>{const t=fte(e)?e[0]:e;return Mee(t)&&ote.test(t.name)},_ee.isJSXChildren=e=>{const t=fte(e)?e[0]:e;return $ee(t,{value:tte})},_ee.isJSXAttributes=e=>{const t=fte(e)?e[0]:e;return!!Kee(t)&&Vee(t.name,{name:nte})},_ee.isLinkedId=(e,t)=>!(!Mee(t)||!ute.test(t.name))&&Mee(e),_ee.isLinkedBool=(e,t)=>!(!Mee(t)||!cte.test(t.name))&&Fee(e),_ee.isLinkedRegExp=(e,t)=>!(!Jee(t)||!ate.test(t.pattern))&&Jee(e),_ee.isPath=e=>Boolean(e.node),_ee.isArray=fte,_ee.isObject=e=>!!e&&(!fte(e)&&"object"==typeof e),_ee.isArrays=(e,t)=>!(!fte(e)||!fte(t))&&e.length===t.length,_ee.isImports=e=>{const t=fte(e)?e[0]:e;return!!Uee(t)&&Mee(t.local,{name:Qee})},_ee.isExports=e=>{const t=fte(e)?e[0]:e;return!!qee(t)&&Mee(t.local,{name:Zee})};const mte="ObjectPattern|ObjectExpression",yte="ArrayPattern|ArrayExpression";_ee.isEqualAnyArray=(e,t)=>{if(!Mee(t,{name:zee}))return!1;const{type:n}=e;return yte.includes(n)},_ee.isEqualAnyObject=(e,t)=>{if(!Mee(t,{name:Hee}))return!1;const{type:n}=e;return mte.includes(n)},_ee.isEqualBody=(e,t)=>!!e&&(!!dte(t)&&"BlockStatement"===e.type),_ee.isEqualFunctionDeclarationBody=(e,t)=>{if(!e)return!1;if(!(dte(n=t)||(Oee(n)||Dee(n))&&dte(n.body[0].expression)))return!1;var n;const{type:r}=e;return/BlockStatement|TSModuleBlock/.test(r)},_ee.isEqualNop=(e,t)=>{if(!Mee(t,{name:"__nop"}))return!1;if(!jee(e))return!1;const{body:n}=e;return!!Oee(n)&&!n.body.length},_ee.isLinkedNode=e=>!(!Mee(e)||!ate.test(e.name))||(!(!Bee(e)||!ate.test(e.value))||(!(!$ee(e)||!ate.test(e.value))||(!(!Vee(e)||!ate.test(e.name))||(!(!Ree(e)||!ate.test(e.value.raw))||Wee(e)&&ate.test(e.typeName.name))))),_ee.parseTemplate=(e,{program:t}={})=>{const n=(t?Nee.program.ast:Nee.ast)(e)||Nee.ast.fresh(e);if(e===Hee)return[n,mte];if(e===zee)return[n,yte];const{type:r}=n;return[n,r]},_ee.isInsideTypeReference=e=>e.isIdentifier()&&e.parentPath?.isTSTypeReference(),_ee.isInsideTypeParameter=e=>e.isIdentifier()&&e.parentPath?.isTSTypeParameter();const gte=(e,t,n)=>{if(n||(n=t,t="."),function(e,t){if(n=e,"string"!=typeof n)throw Error("selector should be string!");var n;if("object"!=typeof t)throw Error("obj should be object!")}(e,n),!e)return n;if(r=n,!Object.keys(r).length)return;var r;const i=e.split(t).filter(Boolean);for(const[e,r]of i.entries()){const s=i.slice(e).join(t);if(!Pee(n[s])){n=n[s];break}if(!n[r]){n=void 0;break}n=n[r]}return n},bte=(e,t,n,r)=>{r||(r=n||{},n=".");const i=r;!function(e){if(t=e,"string"!=typeof t)throw Error("selector should be string!");var t}(e);const s=e.split(n).filter(Boolean),a=s.length-1;for(const[e,n]of s.entries())if(!Aee(n)){if(e===a)r[n]=t;else if(!r[n]){const t=s[e+1];r[n]=vee(t)?[]:{}}r=r[n]}return i},{traverse:xte,types:Ste}=st,{template:Tte}=Kj,{replaceWith:Ete,extract:Pte}=MK,{prepareBodyWay:vte}=Cee,{is:Ate,isArgsStr:Cte,isTypeParamsStr:wte,isJSXChildrenStr:kte,isJSXAttributesStr:Ite,isImportsStr:_te,isExportsStr:Nte,isInsideTypeReference:Lte,isInsideTypeParameter:Ote,isBodyStr:Dte}=_ee,{isIdentifier:Fte,isStatement:Mte,isJSXElement:Bte,isJSXAttribute:Rte,isStringLiteral:jte,isTemplateLiteral:Ute,templateElement:qte}=Ste,{extractExpression:Jte}=Tte,{entries:$te}=Object,{stringify:Vte}=JSON;function Kte(e){if(Fte(e)&&Ate(e.name))return{[e.name]:[""]};const t={};return xte(e,{noScope:!0,"Identifier|JSXIdentifier|BooleanLiteral|StringLiteral|TemplateElement|RegExpLiteral|JSXText|JSXAttribute|TSTypeReference|TSTypeParameter"(e){if(Lte(e))return;if(Ote(e))return;const{node:n}=e;if(Rte(e.parentPath)&&e.parentPath.node.name===n)return;const r=[],i=Pte(n);Ate(i)&&(e.find(({key:e,listKey:t})=>{"number"!=typeof e?r.unshift(e):r.unshift(`${t}.${e}`)}),t[i]=t[i]||[],t[i].push(r.join(".")))}}),t}function Wte({waysFrom:e,node:t}){const n={};for(const[r,i]of $te(e))for(let e of i)_te(r)||Nte(r)?e=e.replace(/\.0.local$/,""):(Cte(r)||kte(r)||Ite(r)||wte(r))&&(e=e.replace(/\.0$/,"")),Bte(t)||(e=e.replace(/\.expression$/,"")),Dte(r)&&(e=vte(e)),n[r]=n[r]||Jte(gte(e,t));return n}Eee.getTemplateValues=(e,t)=>{if("string"!=typeof t)throw Error(`☝️ Looks like argument 'template' of 'getTemplateValues(node, template)': is not a string, but '${Vte(t)}'`);e=(e=>e.node||e)(e);return Wte({node:e,waysFrom:Kte(Tte.ast(t))})},Eee.findVarsWays=Kte,Eee.getValues=Wte;const Xte=e=>e.replace("`","\\`");Eee.setValues=function({waysTo:e,values:t,path:n}){const r=Jte(n.node);for(const[i,s]of $te(e))for(let e of s){if(!e){Ete(n,t[i]);continue}if((_te(i)||Nte(i))&&(e=e.replace(/\.0.local$/,"")),(Cte(i)||kte(i)||Ite(i))&&(e=e.replace(/\.0$/,"")),Mte(t[i])&&(e=e.replace(/\.expression$/,"")),jte(t[i])&&Ute(r)){const{value:n}=t[i],s=qte({raw:Xte(n)});bte(e,s,r);continue}Dte(i)&&(e=vte(e));const{extra:s}=gte(e,r);if(s){const e=t[i].extra;t[i].extra={...s,...e}}bte(e,t[i],r)}};var Hte={},zte={exports:{}};const Yte=k7("putout:compare"),{isArray:Gte}=Array;function Qte(e){if(Gte(e)&&e[0]){const[{type:t,name:n,value:r}]=e;return`${t}: ["${n||r}"]`}if((e=>e&&"object"==typeof e)(e)){const{type:t,name:n,value:r}=e;return`${t}: "${n||r}"`}return`${typeof e}: "${e}"`}zte.exports=(e,t)=>{if(!Yte.enabled)return;const n=Qte(e),r=Qte(t);return Yte(`${n} = ${r}`)},zte.exports._parseValue=Qte;var Zte=zte.exports,ene={exports:{}};const{types:tne}=st,{isIdentifier:nne,isLiteral:rne,isStringLiteral:ine,isTemplateElement:sne,isTSTypeReference:ane,isJSXText:one,isJSXIdentifier:une}=tne,cne=e=>{e=e[0]||e;const{name:t,value:n}=e;if(nne(e)||une(e))return t;if(rne(e))return n;if(sne(e))return e.value.cooked;if(ane(e))return e.typeName.name;if(one(e))return e.value;throw Error(`☝️ Looks like type of node '${e.type}' not supported by 'compare -> link -> parseName()'`)};ene.exports=({add:e,value:t,nodeValue:n,templateStore:r})=>{const i=cne(t);return!(ine(t)&&!ine(n))&&(r[i]?(nne(r[i])&&ane(n)||e(r[i],n,{plain:!0}),!0):(r[i]=n,!0))},ene.exports._parseName=cne;var lne=ene.exports,pne={},dne={};const{is:hne}=_ee;dne.comparePrimitives=(e,t)=>{return!(n=t,"object"==typeof n&&null!==n||hne(t)||t!==e);var n};const{types:fne}=st,{isObject:mne,isArrays:yne}=_ee,{comparePrimitives:gne}=dne,{isIdentifier:bne}=fne;pne.comparePlain=(e,t,{add:n})=>!e&&e===t||!!e&&(!!gne(e,t)||(!(!bne(e)||e.name!==t.name)||(mne(t)&&!Array.isArray(t)||!!yne(e,t))&&n(e,t,{plain:!0})));const{types:xne}=st,Sne=Zte,Tne=lne,{isId:Ene,isBool:Pne,isObject:vne,isArrays:Ane,isAny:Cne,isAnyLiteral:wne,isArgs:kne,isEqualTypeParams:Ine,isJSXChildren:_ne,isJSXAttributes:Nne,isLinkedArgs:Lne,isLinkedId:One,isLinkedBool:Dne,isImports:Fne,isExports:Mne,isEqualAnyObject:Bne,isEqualAnyArray:Rne,isEqualBody:jne,isEqualFunctionDeclarationBody:Une,isEqualNop:qne,isLinkedNode:Jne,isLinkedRegExp:$ne}=_ee,{comparePlain:Vne}=pne,{comparePrimitives:Kne}=dne,{isClassBody:Wne,isBlock:Xne,isJSXText:Hne,isTemplateElement:zne}=xne,Yne=e=>(t,n)=>e(n),Gne=[Kne,function(e,t){if(!zne(e)||!zne(t))return!1;const n=e.value.raw===t.value.raw,r=e.value.cooked===t.value.cooked,i=e.tail===t.tail;return n&&r&&i},function(e,t){return!(!Hne(e)||!Hne(t))&&(/^\s+$/.test(t.value)&&/^\s+$/.test(e.value))},function(e,t){return"__"===t},Yne(Wne),Yne(e=>Xne(e)&&!e.body.length),Yne(Cne),Ene,Pne,Rne,Bne,jne,Une,qne,Ine,$ne,function(e,t,{add:n,templateStore:r}){const i=e&&(Jne(t)||Lne(t)||One(e,t)||Dne(e,t));return!!i&&Tne({add:n,value:t,nodeValue:e,templateStore:r})},wne,Yne(Fne),Yne(Mne),Yne(kne),Yne(_ne),Yne(Nne),function(e,t,{add:n}){const r=vne(t);r&&n(e,t);return r},function(e,t,{add:n}){const r=Ane(e,t);r&&n(e,t);return r}];Hte.runComparators=(e,t,{add:n,templateStore:r,plain:i})=>{let s=-1;const a=Gne.length;if(Sne(t,e),i)return Vne(e,t,{add:n});for(;++s<a;){if((0,Gne[s])(e,t,{add:n,templateStore:r}))return!0}return!1};var Qne={};const{types:Zne}=st,{isEqualBody:ere,isEqualAnyObject:tre,isEqualAnyArray:nre,isLinkedNode:rre,isLinkedId:ire,isLinkedRegExp:sre,isEqualNop:are}=_ee,{isIdentifier:ore,isStringLiteral:ure}=Zne,cre=[tre,nre,are,function(e,t){return ore(e)&&rre(t)},function(e,t){return ure(e)&&rre(t)},ire,sre,ere];Qne.runTopLevelComparators=(e,t)=>{let n=-1;const r=cre.length;for(;++n<r;){if((0,cre[n])(e,t))return!0}return!1};const{template:lre}=Kj,{findVarsWays:pre,getValues:dre,setValues:hre,getTemplateValues:fre}=Eee,{runComparators:mre}=Hte,{runTopLevelComparators:yre}=Qne,{isStr:gre,isId:bre,isPath:xre,isEqualType:Sre,isTemplate:Tre,parseTemplate:Ere}=_ee,{extractExpression:Pre}=lre,{keys:vre}=Object,{isArray:Are}=Array,Cre=()=>{},wre=e=>Are(e)&&!e.length,kre=e=>Are(e)?e:[e];function Ire(e){return gre(e)?lre.ast(e):e.node?e.node:e}function _re(e,t,n={},r=Cre){const{findUp:i=!0}=n;if(!e&&!t)return!0;if(!e)return!1;if(!t)return!1;const s=Pre(Ire(e)),a=Pre(Ire(t));if(r(s,a),bre(s,a))return!0;if(s.type===t)return!0;if(yre(s,a))return!0;if(i&&xre(e)&&!Sre(s,a)){const{type:t}=a,n=((e,t)=>{const n=e.findParent((e=>t=>t.type===e)(t));return n?n.node:null})(e,t);return Lre(n,a)}return Lre(s,a)}Tee.compare=_re,Tee.parseTemplate=Ere,Tee.isTemplate=Tre,Tee.findVarsWays=pre,Tee.getValues=dre,Tee.setValues=hre,Tee.getTemplateValues=fre,Tee.compareAny=(e,t,n)=>{t=kre(t);for(const r of t)if(_re(e,r,n))return!0;return!1},Tee.compareAll=(e,t,n)=>{t=kre(t);for(const r of t)if(!_re(e,r,n))return!1;return!0};const Nre=["loc","start","end","directives","extra","raw","comments","leadingComments","innerComments","parent","phase","range","trailingComments","importKind","exportKind","__putout_runner_replace"];function Lre(e,t){let n=[e,t];const r=[n],i={},s=(e=>(t,n,r={})=>e.push([t,n,r]))(r);for(;n=r.pop();){const[e,t,{plain:r}={}]=n;if(!e||wre(e)&&!wre(t))return!1;for(const n of vre(t)){if(Nre.includes(n))continue;const a=Pre(e[n]),o=Pre(t[n]);if(!mre(a,o,{add:s,templateStore:i,plain:r}))return!1}}return!0}const Ore=F8,{compareAny:Dre,compareAll:Fre,parseTemplate:Mre,isTemplate:Bre}=Tee,Rre=j7,{createDebug:jre}=I7,Ure=jre("putout:runner:template"),{entries:qre}=Object,Jre=e=>"function"==typeof e,$re=(e,t)=>{Ure.enabled&&Ure(e,t.toString())},{stringify:Vre}=JSON;See.exports._log=$re;const Kre=({rule:e,tmpl:t,fn:n,nodesExclude:r})=>{if(!Jre(n)||!r.length)return{[t]:n};const i=Wre({rule:e,fn:n,nodesExclude:r,nodesInclude:[]});return{[t]:i}};See.exports=({rule:e,visitor:t,options:n})=>{const r=[],i=Rre(n.exclude),s=Rre(n.include);for(const[n,a]of qre(t)){if(!n)continue;if(!Bre(n)){r.push(Kre({rule:e,tmpl:n,fn:a,nodesExclude:i}));continue}const[t,o]=Mre(n),u=Wre({rule:e,fn:a,nodesExclude:i,nodesInclude:[t,...s]});r.push({[o]:u})}return r},See.exports._log=$re;const Wre=({rule:e,nodesInclude:t,nodesExclude:n,fn:r})=>i=>{if($re(e,i),n.length&&Dre(i,n))return;if(t.length&&!Fre(i,t))return;if(!Jre(r))throw Error(`☝️ Looks like provided visitor is not a function: ${Vre(r)}. More on using Traverser: https://git.io/JqcMn`);const[s]=Ore(r,i);if(s)throw s.rule=e,s};var Xre,Hre=See.exports,zre={};function Yre(){}function Gre(){Gre.init.call(this)}function Qre(e){return void 0===e._maxListeners?Gre.defaultMaxListeners:e._maxListeners}function Zre(e,t,n,r){var i,s,a;if("function"!=typeof n)throw new TypeError('"listener" argument must be a function');if((s=e._events)?(s.newListener&&(e.emit("newListener",t,n.listener?n.listener:n),s=e._events),a=s[t]):(s=e._events=new Yre,e._eventsCount=0),a){if("function"==typeof a?a=s[t]=r?[n,a]:[a,n]:r?a.unshift(n):a.push(n),!a.warned&&(i=Qre(e))&&i>0&&a.length>i){a.warned=!0;var o=new Error("Possible EventEmitter memory leak detected. "+a.length+" "+t+" listeners added. Use emitter.setMaxListeners() to increase limit");o.name="MaxListenersExceededWarning",o.emitter=e,o.type=t,o.count=a.length,function(e){"function"==typeof console.warn?console.warn(e):console.log(e)}(o)}}else a=s[t]=n,++e._eventsCount;return e}function eie(e,t,n){var r=!1;function i(){e.removeListener(t,i),r||(r=!0,n.apply(e,arguments))}return i.listener=n,i}function tie(e){var t=this._events;if(t){var n=t[e];if("function"==typeof n)return 1;if(n)return n.length}return 0}function nie(e,t){for(var n=new Array(t);t--;)n[t]=e[t];return n}Yre.prototype=Object.create(null),Gre.EventEmitter=Gre,Gre.usingDomains=!1,Gre.prototype.domain=void 0,Gre.prototype._events=void 0,Gre.prototype._maxListeners=void 0,Gre.defaultMaxListeners=10,Gre.init=function(){this.domain=null,Gre.usingDomains&&(!Xre.active||this instanceof Xre.Domain||(this.domain=Xre.active)),this._events&&this._events!==Object.getPrototypeOf(this)._events||(this._events=new Yre,this._eventsCount=0),this._maxListeners=this._maxListeners||void 0},Gre.prototype.setMaxListeners=function(e){if("number"!=typeof e||e<0||isNaN(e))throw new TypeError('"n" argument must be a positive number');return this._maxListeners=e,this},Gre.prototype.getMaxListeners=function(){return Qre(this)},Gre.prototype.emit=function(e){var t,n,r,i,s,a,o,u="error"===e;if(a=this._events)u=u&&null==a.error;else if(!u)return!1;if(o=this.domain,u){if(t=arguments[1],!o){if(t instanceof Error)throw t;var c=new Error('Uncaught, unspecified "error" event. ('+t+")");throw c.context=t,c}return t||(t=new Error('Uncaught, unspecified "error" event')),t.domainEmitter=this,t.domain=o,t.domainThrown=!1,o.emit("error",t),!1}if(!(n=a[e]))return!1;var l="function"==typeof n;switch(r=arguments.length){case 1:!function(e,t,n){if(t)e.call(n);else for(var r=e.length,i=nie(e,r),s=0;s<r;++s)i[s].call(n)}(n,l,this);break;case 2:!function(e,t,n,r){if(t)e.call(n,r);else for(var i=e.length,s=nie(e,i),a=0;a<i;++a)s[a].call(n,r)}(n,l,this,arguments[1]);break;case 3:!function(e,t,n,r,i){if(t)e.call(n,r,i);else for(var s=e.length,a=nie(e,s),o=0;o<s;++o)a[o].call(n,r,i)}(n,l,this,arguments[1],arguments[2]);break;case 4:!function(e,t,n,r,i,s){if(t)e.call(n,r,i,s);else for(var a=e.length,o=nie(e,a),u=0;u<a;++u)o[u].call(n,r,i,s)}(n,l,this,arguments[1],arguments[2],arguments[3]);break;default:for(i=new Array(r-1),s=1;s<r;s++)i[s-1]=arguments[s];!function(e,t,n,r){if(t)e.apply(n,r);else for(var i=e.length,s=nie(e,i),a=0;a<i;++a)s[a].apply(n,r)}(n,l,this,i)}return!0},Gre.prototype.addListener=function(e,t){return Zre(this,e,t,!1)},Gre.prototype.on=Gre.prototype.addListener,Gre.prototype.prependListener=function(e,t){return Zre(this,e,t,!0)},Gre.prototype.once=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.on(e,eie(this,e,t)),this},Gre.prototype.prependOnceListener=function(e,t){if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');return this.prependListener(e,eie(this,e,t)),this},Gre.prototype.removeListener=function(e,t){var n,r,i,s,a;if("function"!=typeof t)throw new TypeError('"listener" argument must be a function');if(!(r=this._events))return this;if(!(n=r[e]))return this;if(n===t||n.listener&&n.listener===t)0===--this._eventsCount?this._events=new Yre:(delete r[e],r.removeListener&&this.emit("removeListener",e,n.listener||t));else if("function"!=typeof n){for(i=-1,s=n.length;s-- >0;)if(n[s]===t||n[s].listener&&n[s].listener===t){a=n[s].listener,i=s;break}if(i<0)return this;if(1===n.length){if(n[0]=void 0,0===--this._eventsCount)return this._events=new Yre,this;delete r[e]}else!function(e,t){for(var n=t,r=n+1,i=e.length;r<i;n+=1,r+=1)e[n]=e[r];e.pop()}(n,i);r.removeListener&&this.emit("removeListener",e,a||t)}return this},Gre.prototype.off=function(e,t){return this.removeListener(e,t)},Gre.prototype.removeAllListeners=function(e){var t,n;if(!(n=this._events))return this;if(!n.removeListener)return 0===arguments.length?(this._events=new Yre,this._eventsCount=0):n[e]&&(0===--this._eventsCount?this._events=new Yre:delete n[e]),this;if(0===arguments.length){for(var r,i=Object.keys(n),s=0;s<i.length;++s)"removeListener"!==(r=i[s])&&this.removeAllListeners(r);return this.removeAllListeners("removeListener"),this._events=new Yre,this._eventsCount=0,this}if("function"==typeof(t=n[e]))this.removeListener(e,t);else if(t)do{this.removeListener(e,t[t.length-1])}while(t[0]);return this},Gre.prototype.listeners=function(e){var t,n=this._events;return n&&(t=n[e])?"function"==typeof t?[t.listener||t]:function(e){for(var t=new Array(e.length),n=0;n<t.length;++n)t[n]=e[n].listener||e[n];return t}(t):[]},Gre.listenerCount=function(e,t){return"function"==typeof e.listenerCount?e.listenerCount(t):tie.call(e,t)},Gre.prototype.listenerCount=tie,Gre.prototype.eventNames=function(){return this._eventsCount>0?Reflect.ownKeys(this._events):[]};var rie=t(Object.freeze({__proto__:null,EventEmitter:Gre,default:Gre}));const{EventEmitter:iie}=rie;zre.createProgress=()=>{let e=0,t=0;const n=new iie;return n.reset=()=>{t=0,e=0},n.file=({i:e,n:t,percent:r,rule:i})=>{n.emit("file",{i:e,n:t,rule:i,percent:r})},n.inc=()=>{++e},n.start=r=>{++t,n.emit("start",{pluginsIndex:t,pluginsCount:e,rule:r})},n.push=r=>{n.emit("push",{pluginsIndex:t,pluginsCount:e,rule:r})},n.end=r=>{n.emit("end",{rule:r,pluginsIndex:t,pluginsCount:e})},n};var sie={};const aie=F8;sie.tryThrowWithReason=(e,...t)=>{const[n,r]=aie(e,...t);if(n)throw n.reason??="traverse",n;return r};var oie={};const uie=k7("putout:runner:include"),cie=j7,{validate:lie}=U7,pie=()=>[],die=()=>!0;oie.include=({rule:e,plugin:t,msg:n,options:r})=>{const{fix:i,report:s,include:a,exclude:o=pie,filter:u=die}=t;lie("include",a),lie("report",s);const c=hie(a(),u,e);return{rule:e,msg:n,options:{...r,exclude:[...o(),...cie(r.exclude)]},plugin:{report:s,fix:i,traverse:c}}};const hie=(e,t,n)=>({push:r,options:i})=>{const s={},a=(({rule:e,filter:t,push:n,options:r})=>i=>{uie(e),t(i,{options:r})&&n(i)})({rule:n,filter:t,push:r,options:i});for(const t of e)s[t]=a;return s};var fie={},mie={exports:{}};const yie=e=>(...t)=>(...n)=>e(...t,...n);const{entries:gie}=Object,{isArray:bie}=Array;function xie(e,t){const{node:n}=e;let r,i;for([r,i]of gie(t)){if(bie(i)){const e=i.indexOf(n);if(e>=0)return`${r}.${e}`;continue}if(i===n)break}return r}const Sie=(e,...t)=>(function(e){if("function"!=typeof e)throw Error("fn should be a function!")}(e),t.length?yie(e)(...t):yie(e)),{types:Tie}=st,Eie=e=>{let t={parentPath:e};const n=[];for(;t=t.parentPath;)n.unshift(xie(t,t.parent));return n.join(".")},{isProgram:Pie}=Tie,vie="__putout_runner_replace";function Aie(e,t,n){const r=`${e} -> ${t}`;return{watermark:r,highWatermark:`${Eie(n)}: ${r}`}}function Cie({path:e,program:t}){e.node&&(e.node[vie]=e.node[vie]||new Set),t.node[vie]=t.node[vie]||new Set}function wie({path:e,program:t,watermark:n,highWatermark:r}){Cie({path:e,program:t}),e?.node[vie].add(n),t.node[vie].add(r)}function kie({path:e,program:t,watermark:n,highWatermark:r}){const{node:i}=e,{loc:s}=i;return!!(i?.[vie].has(n)||e.findParent((e=>t=>t.node?.[vie]?.has(e))(n))&&!s)||t.node[vie].has(r)}mie.exports=(e,t,n)=>{const{watermark:r,highWatermark:i}=Aie(e,t,n),s={watermark:r,highWatermark:i,program:n.findParent(Pie),path:n};return{init:Sie(Cie,s),has:Sie(kie,s),add:Sie(wie,s)}},mie.exports.REPLACE_WATERMARK=vie,mie.exports.create=Aie,mie.exports.init=Cie,mie.exports.add=wie,mie.exports.has=kie;var Iie=mie.exports;const{template:_ie,print:Nie}=Kj,{remove:Lie,replaceWith:Oie}=MK,{types:Die}=st,{compare:Fie,findVarsWays:Mie,getValues:Bie,setValues:Rie}=Tee,jie=j7,Uie=Iie,{createDebug:qie}=I7,Jie=qie("putout:runner:replace"),$ie=(e,t)=>{Jie.enabled&&Jie(`${e} -> ${t}\n`)},{isExpression:Vie,isStatement:Kie,isExpressionStatement:Wie}=Die,Xie={printer:["putout",{format:{newline:"",indent:"",splitter:" ",endOfFile:""}}]},{keys:Hie,entries:zie}=Object,{stringify:Yie}=JSON,Gie=()=>[],Qie=()=>({});fie.replace=({rule:e,plugin:t,msg:n,options:r})=>{const i=(t.match||Qie)({options:r}),{report:s,exclude:a=Gie,replace:o,filter:u=nse(i)}=t,c=o({options:r}),l=tse(c,i),p=(d=c,()=>Hie(d));var d;return{rule:e,msg:n,options:{...r,exclude:[...a(),...jie(r.exclude)]},plugin:{report:s,fix:l,filter:u,include:p}}},fie.clearWatermark=e=>{delete e.program[Uie.REPLACE_WATERMARK]};const Zie=e=>"function"==typeof e,ese=(e,t,n)=>{const r=_ie.ast(e),i=Uie(e,t,n);if(i.init(),i.has())return;const s=Mie(r),a=((e,{node:t})=>e.type!==t.type&&Wie(t)?t.expression:t)(r,n),o=Bie({waysFrom:s,node:a}),u=function(e,t,n){const r=Zie(e)?e(t,n):e;if(!r)return null;if(i=r,"object"==typeof i&&r.type)return r.__putout_replace_cooked=!0,r;var i;if(!(e=>"string"==typeof e)(r))throw Error(`☝️ Looks like you passed 'replace' value with a wrong type. Allowed: 'string', 'node' and 'path'. Received: '${typeof r}' with value '${r}'.`);return _ie.ast.fresh(r)}(t,o,n);if(!u)return $ie(e,"''"),Lie(n);!function(e,t,n){if(!Vie(e))return;if(!Kie(t)||Wie(t))return;if(Wie(n)||Wie(n.parentPath))return;throw Error(`☝️ Looks like a try to put Statement in place of Expression, use 'match' to filter out such cases: '${Nie(e,Xie)} -> ${Nie(t,Xie)}'. For code: '${n}'`)}(r,u,n);const c=Mie(u),l=Oie(n,u);u.__putout_replace_cooked||(ise(c,s),Rie({waysTo:c,values:o,path:l})),i.add(),n.scope.getBlockParent().crawl(),$ie(e,l)},tse=(e,t)=>n=>{for(const[r,i]of zie(e)){const e=_ie.ast(r);if(Fie(n,e,{findUp:!1})){const s=t[r];s&&!rse(n,e,s)||ese(r,i,n)}}},nse=e=>t=>{const n=zie(e);for(const[e,r]of n){const n=_ie.ast(e);if(Fie(t.node,n,{findUp:!1}))return rse(t,n,r)}return!0};function rse(e,t,n){const r=Mie(t),{node:i}=e,s=Bie({waysFrom:r,node:i});return function(e){if(!Zie(e))throw Error(`☝️ Looks like 'match' property value is not a 'function', but '${typeof e}' with value '${e}'.`)}(n),n(s,e)}const ise=(e,t)=>{for(const n of Hie(e))if(!t[n])throw Error(`☝️ Looks like template values not linked: ${Yie(Hie(t))} -> ${Yie(Hie(e))}`)};var sse={},ase={},ose={};const use="__putout_declare_undefined_variables",cse=e=>e.scope.getProgramParent().path,lse=(e,t)=>t[e]=t[e]||{};ose.checkDeclarationForESLint=(e,t)=>{const n=cse(t);return lse(use,n),n[use][e]},ose.addDeclarationForESLint=(e,t)=>{const n=cse(t);lse(use,n),n[use][e]=!0},ose.setModuleType=(e,t)=>{const n=cse(t);return lse(use,n),n[use].__putout_module_type=e,e},ose.getModuleType=e=>{const t=cse(e);return lse(use,t),t[use].__putout_module_type};const{template:pse}=Kj,{isESM:dse,insertAfter:hse}=MK,{compare:fse}=Tee,{types:mse}=st,{addDeclarationForESLint:yse,checkDeclarationForESLint:gse,getModuleType:bse,setModuleType:xse}=ose,{isImportDeclaration:Sse,isVariableDeclaration:Tse}=mse,{keys:Ese}=Object,Pse=e=>e.node.source.value.includes("."),vse=["TSMethodSignature","TSParameterProperty","TSFunctionType","TSDeclareMethod","TSDeclareFunction","TSTypeAliasDeclaration","TSQualifiedName"];ase.declare=e=>({report:Ase,include:Cse,fix:kse(e),filter:wse(e)});const Ase=e=>{const{name:t}=e.node;return`Declare '${t.split(".").shift()}', it referenced but not defined`},Cse=()=>["ReferencedIdentifier"],wse=e=>(t,{options:n})=>{if(vse.includes(t.parentPath.type))return!1;const{dismiss:r=[],type:i}=n,s={...e,...n.declarations},a=Ese(s),{scope:o,node:u}=t,{name:c}=u;if(!a.includes(c))return!1;if(r.includes(c))return!1;if(o.hasBinding(c)||gse(c,t))return!1;const l=function(e,t){if(t)return xse(t,e);const n=bse(e);return n||xse((e=>dse(e)?"esm":"commonjs")(e),e)}(t,i);return Ise(l,s[c])},kse=e=>(t,{options:n})=>{const r=bse(t),i={...e,...n.declarations},{name:s}=t.node,a=Ise(r,i[s]),o=t.scope.getProgramParent().path.get("body");!function(e,t){const n=function(e,t){const n=Nse(t),r=(e=>e.filter(Tse).pop())(t);return Tse(e)&&n||(Sse(e)||_se(e))&&n?n:Tse(e)&&r&&!((e,t)=>t.at(-1)===e)(r,t)?r:null}(e,t),[r]=t;if(Tse(e)&&Sse(n)||_se(n))return hse(n,e);if(Tse(e))return _se(r)?r.insertAfter(e):r.insertBefore(e);n?n.isImportDeclaration()&&Pse(n)?n.insertBefore(e):hse(n,e):r.insertBefore(e)}(pse.ast.fresh(a),o),yse(s,t)},Ise=(e,t)=>"string"==typeof t?t:t[e];const _se=e=>fse(e,"const __a = require(__b)");const Nse=e=>{const t=[],n=[];for(const r of e)r.isImportDeclaration()&&(Pse(r)?n.push(r):t.push(r));return t.pop()||n.pop()};const{declare:Lse}=ase,{stringify:Ose}=JSON;sse.declare=({rule:e,plugin:t,msg:n,options:r})=>(function(e){if(t=e,"function"!=typeof t)throw Error(`☝️ Looks like 'declare' property value is not a 'function', but '${typeof e}' with value '${Ose(e)}'.`);var t}(t.declare),{rule:e,plugin:Lse(t.declare()),msg:n,options:r});var Dse={},Fse={},Mse={};const Bse=Hj(),{assign:Rse}=Object,jse=()=>{},Use={renameFile:jse,removeFile:jse,createDirectory:jse,readFileContent:(qse="",()=>qse),writeFileContent:jse,copyFile:jse};var qse;const Jse=Rse({},Use);function $se(e){Rse(Jse,e)}function Vse(){Rse(Jse,Use)}Mse.renameFile=(e,t)=>{Jse.renameFile(e,t)},Mse.removeFile=e=>{Jse.removeFile(e)},Mse.copyFile=(e,t)=>{Jse.copyFile(e,t)},Mse.createDirectory=e=>{Jse.createDirectory(e)},Mse.readFileContent=e=>Jse.readFileContent(e),Mse.writeFileContent=(e,t)=>{Jse.writeFileContent(e,t)},Mse.init=$se,Mse.pause=()=>{Bse(Jse),Vse()},Mse.start=()=>{$se(Bse())},Mse.deinit=Vse;var Kse={};const{types:Wse}=st,{arrayExpression:Xse,stringLiteral:Hse,objectProperty:zse}=Wse;function Yse(e,t){const n=Hse(e);return zse(n,t)}Kse.createTypeProperty=e=>Yse("type",Hse(e)),Kse.createFilesProperty=e=>Yse("files",Xse(e)),Kse.createFilenameProperty=e=>Yse("filename",Hse(e)),Kse.createContentProperty=e=>Yse("content",Hse(e));const{join:Gse,basename:Qse,dirname:Zse}=k6,{types:eae}=st,tae=F8,{setLiteralValue:nae,getProperty:rae,traverseProperties:iae}=MK,sae=Mse,{createTypeProperty:aae,createFilesProperty:oae,createFilenameProperty:uae,createContentProperty:cae}=Kse,{isProgram:lae,objectExpression:pae}=eae,dae=e=>"string"==typeof e,{isArray:hae}=Array,fae=e=>{const[t,n]=tae(btoa,e);return t?btoa(escape(e)):n},mae=e=>{const t=e.replace(/\./g,"\\.").replace(/\*/g,".*").replace("?",".?");return RegExp(`^${t}$`)};function yae(e){if(!e.parentPath)return null;const{parentPath:t}=e.parentPath.parentPath;return lae(t)?null:t}function gae({name:e,base:t,exclude:n}){for(const r of n)if(e===r||mae(r).test(t))return!0;return!1}function bae(e,t,n=[]){!function(e){if(!dae(e)&&!hae(e))throw Error("☝️ Looks like you forget to pass the 'name' of a file to 'findFile(filePath: Path|FilePath, name: string | string[]): FilePath'")}(t);const r=[],i=(e=>hae(e)?e:[e])(t);for(const t of iae(e,"filename")){const{value:e}=t.node.value,s=Qse(e);for(const a of i)if(e===a||mae(a).test(s)){const e=t.parentPath;if(gae({name:a,base:s,exclude:n}))continue;r.push(e)}}return r}function xae(e){return rae(e,"filename").get("value")}function Sae(e){const{value:t}=xae(e).node;return t}function Tae(e){return rae(e,"type").node.value.value}function Eae(e){const t=rae(e,"content");return[Boolean(t),t?.node.value.value]}function Pae(e){const t=Sae(e);yae(e)&&(e.remove(),sae.removeFile(t))}function vae(e,t){const n=Tae(e);if("directory"!==n){const t=Sae(e);throw Error(`☝️ Looks like '${t}' is not a directory, but: '${n}'. Rename to '${t}/'`)}const r=rae(e,"files"),i=Gse(Sae(e),Qse(t)),[s]=bae(r,i);s&&s.remove()}Fse.getParentDirectory=yae,Fse.findFile=bae,Fse.getFileType=Tae,Fse.getFileContent=Eae,Fse.getFilename=Sae,Fse.renameFile=(e,t)=>{const n=Sae(e),r=xae(e),i=n.split("/").pop(),s=t.split("/").pop(),a=n.replace(i,s);nae(r,a),sae.renameFile(n,a)},Fse.removeFile=Pae,Fse.removeEmptyDirectory=e=>{if("directory"!==Tae(e))return;let t=e;for(;!Cae(e).length;){if("/"===Sae(e))break;if(t=yae(e),!t)break;Pae(e),e=t}},Fse.moveFile=(e,t)=>{if(e===t)return;const n=Sae(t),r=Sae(e),i=Aae(t),s=rae(e,"filename"),a=r.split("/").pop(),o=Gse(n,a);vae(t,o),nae(s.get("value"),o),i.node.value.elements.push(e.node),e.remove(),sae.renameFile(r,o)},Fse.copyFile=(e,t)=>{const n=Sae(t),r=Sae(e),i=r.split("/").pop(),s=Gse(n,i),[a,o]=Eae(e),u=pae([aae("file"),uae(s),a&&cae(o)].filter(Boolean));vae(t,s);Aae(t).node.value.elements.push(u),sae.copyFile(r,s)},Fse.createFile=(e,t,n)=>{vae(e,t);const r=Aae(e),i=Sae(e),s=Gse(i,t),a=[aae("file"),uae(s),n&&cae(n)].filter(Boolean);r.node.value.elements.push(pae(a));const o=r.get("value.elements").at(-1);return dae(n)&&kae(o,n),o};const Aae=e=>rae(e,"files");function Cae(e){return"directory"!==Tae(e)?[]:Aae(e).get("value.elements")}function wae(e,t){const n=Aae(e),r=Sae(e),i=Gse(r,t),s=aae("directory"),a=oae([]),o=uae(i);return n.node.value.elements.push(pae([s,o,a])),sae.createDirectory(i),n.get("value.elements").at(-1)}function kae(e,t){if("directory"===Tae(e))return;const n=Sae(e);sae.writeFileContent(n,t);const r=rae(e,"content");if(r)return void nae(r.node.value,fae(t));const i=cae(fae(t));e.node.properties.push(i)}function Iae(e){let t=yae(e);if(!t)return e;let n=t;for(;t=yae(t);)n=t;return n}Fse.readDirectory=Cae,Fse.createDirectory=wae,Fse.readFileContent=e=>{if("directory"===Tae(e))return"";const[t,n]=Eae(e);if(t)return(e=>{if(e.includes(" "))return e;const[t,n]=tae(atob,e);return t?e:unescape(n)})(n);const r=Sae(e),i=sae.readFileContent(r),s=cae(fae(i));return e.node.properties.push(s),i},Fse.writeFileContent=kae,Fse.createNestedDirectory=(e,t)=>{const n=Iae(e);if(Zse(t)===Sae(e))return wae(e,Qse(t));let r=t;const i=Sae(n),s=[];let a=r;for(;r!==i;)if(s.unshift(r),a=r,r=Zse(r),r===a){r=i;for(const[e,t]of s.entries())s[e]=Gse(i,t);s.shift();break}let o=bae(n,s).at(-1)||n;const u=Sae(o),c=s.length;let l=s.indexOf(u)+1;for(;l<c;l++){o=wae(o,Qse(s[l]))}return o},Fse.getRootDirectory=Iae,Fse.init=sae.init,Fse.deinit=sae.deinit,Fse.pause=sae.pause,Fse.start=sae.start;var _ae={};const{basename:Nae,dirname:Lae}=k6,{types:Oae}=st,{createDirectory:Dae,getFileType:Fae,getFilename:Mae,findFile:Bae}=Fse,{__filesystem_name:Rae}=w4,{replaceWith:jae,getProperty:Uae}=MK,{objectExpression:qae,arrayExpression:Jae,stringLiteral:$ae,isArrayExpression:Vae,isStringLiteral:Kae,isTemplateLiteral:Wae,objectProperty:Xae}=Oae;_ae.report=()=>"Convert Simple Filesystem to Filesystem";const Hae=e=>e.endsWith("/"),zae=e=>{const t=Hae(e)?"directory":"file";return Xae($ae("type"),$ae(t))},Yae=e=>Xae($ae("filename"),$ae(e)),Gae=e=>Hae(e)?Xae($ae("files"),Jae([])):null,Qae=e=>Xae($ae("content"),$ae(e));function Zae(e,t){if(Kae(e))return e.value;if(Wae(e))return btoa(e.quasis[0].value.raw);throw Error(`☝️ Looks like wrong content type: '${e.type}' from file: '${t}'`)}_ae.fix=e=>{const t=Jae([]);for(const n of e.get("elements")){if(Vae(n)){const[e,r]=n.node.elements,{value:i}=e,s=Zae(r,n);t.elements.push(qae([zae(i),Yae(i),Qae(s)]));continue}if(Kae(n)){const{value:e}=n.node;t.elements.push(qae([zae(e),Yae(eoe(e)),Gae(e)].filter(Boolean)));continue}throw Error(`☝️ Looks like file '${n}' has wrong type: '${n.type}' expected: 'string | array'`)}!function(e,t){const[n,...r]=Bae(t,"*");for(const e of r){const t=Mae(e);toe(t);const r=Fae(e),i=Lae(t),s=Nae(t),[a]=Bae(n,i);if(!a||"directory"!==Fae(a))throw Error(`☝️ Looks like directory '${i}/' is missing`);if("directory"===r){Dae(a,s);continue}Uae(a,"files").node.value.elements.push(e.node)}jae(e,n)}(e,t)},_ae.traverse=({push:e})=>({[`${Rae}(__array)`]:t=>{const n=t.get("arguments.0");e(n)}});const eoe=e=>"/"===e?e:e.endsWith("/")?e.slice(0,-1):e;function toe(e){if(!e.includes("/"))throw Error(`☝️ Looks like directory path is missing: '${e}'`)}var noe={};const{types:roe}=st,{replaceWith:ioe,getProperty:soe}=MK,{__filesystem_name:aoe}=w4,{findFile:ooe,getFilename:uoe,getFileType:coe}=Fse,{stringLiteral:loe,arrayExpression:poe}=roe,{isArray:doe}=Array,hoe=e=>"/"===e?e:`${e}/`;noe.report=()=>"Convert Filesystem to Simple Filesystem",noe.fix=(e,{files:t})=>{const n=[];for(const e of t){const t=uoe(e),r=coe(e),i=soe(e,"content"),s=i?.node?.value;s?n.push([t,s.value]):"directory"!==r?n.push(t):n.push(hoe(t))}const r=[];for(const e of n)doe(e)?r.push(poe([loe(e[0]),loe(e[1])])):r.push(loe(e));ioe(e,poe(r))},noe.traverse=({push:e})=>({[`${aoe}(__object)`]:t=>{const n=t.get("arguments.0"),r=ooe(n,"*");e(n,{files:r})}});const foe=Hj,{compare:moe}=Tee,{__filesystem_name:yoe}=w4,{findFile:goe,pause:boe,start:xoe}=Fse,Soe=k7("putout:runner:scanner"),Toe=_ae,Eoe=noe;Dse.scan=({rule:e,plugin:t,msg:n,options:r},{progress:i})=>{const{scan:s,report:a,fix:o}=t;i.inc();return{rule:e,msg:n,options:r,plugin:{report:a,fix:o,traverse:voe({scan:s,rule:e,progress:i})}}};const Poe=({push:e,rule:t,progress:n})=>(...r)=>{n.push(t),e(...r)},voe=({scan:e,rule:t,progress:n})=>({push:r,options:i})=>({[`${yoe}(__)`](s){Soe(t),n.start(t);const a=s.get("arguments.0"),o=foe(!1),u=(({rule:e,progress:t})=>({i:n,n:r})=>{++n;const i=`${Math.round(n/r*100)}%`;t.file({i:n,n:r,percent:i,rule:e})})({rule:t,progress:n}),c=(e=>function*(...t){const n=goe(...t),r=n.length;for(const[t,i]of n.entries())e({i:t,n:r}),yield i})(u);Coe(Toe,{shouldConvert:!0,path:s,isSimple:o}),e(a,{push:Poe({push:r,rule:t,progress:n}),progress:u,trackFile:c,options:i}),Coe(Eoe,{shouldConvert:o(),path:s,isSimple:o}),n.end(t)}}),Aoe=({fix:e,isSimple:t})=>(...n)=>(t(!0),e(...n));function Coe(e,{path:t,isSimple:n,shouldConvert:r=!0}){const{traverse:i,fix:s}=e;if(!r)return;const a=i({push:Aoe({fix:s,isSimple:n})}),[o,u]=function(e){const t=e[`${yoe}(__object)`],n=e[`${yoe}(__array)`];return t?[t,`${yoe}(__object)`]:[n,`${yoe}(__array)`]}(a);moe(t,u)&&(boe(),o(t),xoe())}const{traverse:woe}=st,koe=c8,Ioe=k7("putout:runner:find"),_oe=F7,Noe=dee,Loe=bee,Ooe=Hre,{createProgress:Doe}=zre,{tryThrowWithReason:Foe}=sie,{include:Moe}=oie,{replace:Boe,clearWatermark:Roe}=fie,{declare:joe}=sse,{scan:Uoe}=Dse,{getPath:qoe,getPosition:Joe}=M7,$oe=e=>e?.removed;v7.runPlugins=({ast:e,shebang:t,fix:n,fixCount:r=2,plugins:i,progress:s=Doe(),traverse:a=woe})=>{let o=[];const u=koe(Noe),{pluginsFind:c,pluginsTraverse:l}=function(e,{progress:t}){const n=[],r=[];for(const i of e){const{plugin:e}=i;e.find?n.push(i):e.traverse?r.push(i):e.replace?r.push(Moe(Boe(i))):e.declare?r.push(Moe(joe(i))):e.include?r.push(Moe(i)):e.scan&&r.push(Uoe(i,{progress:t}))}return{pluginsFind:n,pluginsTraverse:r}}(i,{progress:s});for(let i=0;i<r;i++){if(o=Voe({ast:e,fix:n,shebang:t,pluginsFind:c,pluginsTraverse:l,merge:u,template:Ooe,traverse:a}),s.reset(),!n||!o.length)return o;Roe(e)}return o},v7.getPosition=Joe;const Voe=({ast:e,fix:t,shebang:n,pluginsFind:r,pluginsTraverse:i,template:s,merge:a,traverse:o})=>[...Woe({ast:e,fix:t,shebang:n,template:s,pluginsFind:r,traverse:o}),...Koe({ast:e,fix:t,shebang:n,template:s,pluginsTraverse:i,merge:a,traverse:o})];function Koe({ast:e,fix:t,shebang:n,template:r,pluginsTraverse:i,merge:s,traverse:a}){const{entries:o,visitor:u}=s(i,{fix:t,shebang:n,template:r});Foe(a,e,u);const c=[];for(const[e,t]of o){const n=t();for(const{message:t,position:r}of n)c.push({rule:e,message:t,position:r})}return c}function Woe({ast:e,fix:t,shebang:n,template:r,pluginsFind:i,traverse:s}){const a=[];for(const{rule:o,plugin:u,msg:c,options:l}of i){Ioe(`find: ${o}`);const{report:i,find:p}=u,d=Foe(Loe,{rule:o,find:p,ast:e,options:l,fix:t,shebang:n,template:r,traverse:s});if(d.length)for(const e of d){const r=c||i(e),{parentPath:s}=qoe(e),p=Joe(e,n);a.push({rule:o,message:r,position:p}),$oe(s)||_oe(t,u.fix,{path:e,rule:o,position:p,options:l})}}return a}const Xoe=d6,Hoe=v7,{createProgress:zoe}=zre;p6.defaultOptions=(e={})=>{const{parser:t="babel",printer:n=e.printer||"putout",fix:r=!0,fixCount:i=3,loadPlugins:s=Xoe.loadPlugins,loadPluginsAsync:a=Xoe.loadPluginsAsync,runPlugins:o=Hoe.runPlugins,progress:u=zoe()}=e;return{...e,parser:t,printer:n,fix:r,fixCount:i,loadPlugins:s,loadPluginsAsync:a,runPlugins:o,progress:u}};var Yoe={};const Goe=e=>e.replace(/\s\(\d:\d+\)/,""),Qoe=F8,{validateRulesRelations:Zoe}=d6,{defaultOptions:eue}=p6,{cutShebang:tue}=l6,nue=(e,t="parser")=>{const{line:n,column:r}=e.loc||{line:1,column:1};return[{rule:e.rule?`${e.rule} (parser)`:t,message:Goe(e.message),position:{line:n,column:r}}]},rue=e=>e?nue(e,"loader"):[];Yoe.transform=(e,t,n)=>{n=eue(n);const{plugins:r,cache:i,rules:s,fix:a,fixCount:o,loadPlugins:u,runPlugins:c,progress:l}=n,[,p]=tue(t),[d]=Qoe(Zoe,{rules:s,pluginNames:r}),h=c({ast:e,shebang:p,fix:a,fixCount:o,plugins:u({pluginNames:r,cache:i,rules:s}),progress:l});return[...rue(d),...h]},Yoe.transformAsync=async(e,t,n)=>{n=eue(n);const{plugins:r,cache:i,rules:s,fix:a,fixCount:o,loadPluginsAsync:u,runPlugins:c,progress:l}=n,[,p]=tue(t),[d]=Qoe(Zoe,{rules:s,pluginNames:r}),h=c({ast:e,shebang:p,fix:a,fixCount:o,plugins:await u({pluginNames:r,cache:i,rules:s}),progress:l});return[...rue(d),...h]};var iue={};const{transform:sue,transformAsync:aue}=Yoe;iue.findPlaces=(e,t,n)=>sue(e,t,{...n,fix:!1}),iue.findPlacesAsync=async(e,t,n)=>await aue(e,t,{...n,fix:!1});const{isArray:oue}=Array,uue=()=>{};var cue=()=>{let e=0,t=0;return async(n,r)=>{const{name:i,rule:s,source:a,places:o,index:u=0,count:c=1,trace:l=uue,formatterOptions:p={}}=r;if(!oue(o))throw Error(`☝️ Looks like for 'places: Places[]' you passed the wrong type: '${typeof o}'`);return o.length&&++e,t+=o.length,l("progress",{rule:s,name:i,options:p,source:a,places:o,index:u,count:c,filesCount:e,errorsCount:t}),await n({rule:s,name:i,options:p,source:a,places:o,index:u,count:c,filesCount:e,errorsCount:t})}},lue={};const{types:pue,traverse:due}=st,{compare:hue,parseTemplate:fue,isTemplate:mue,getTemplateValues:yue}=Tee,{isFile:gue,isProgram:bue}=pue,{merge:xue}=due.visitors,{entries:Sue}=Object;lue.traverse=Pue;const Tue=e=>{if((e=>Boolean(e.node))(e))return e.traverse.bind(e);const t=!gue(e)&&!bue(e);return n=>{due(e,{noScope:t,...n})}},Eue=([e])=>e;function Pue(e,t){const n=Tue(e),r=[],i=Sue(t);if(!i.map(Eue).find(mue))return n(t);for(const[e,t]of i){if(!mue(e)){r.push({[e]:t});continue}const[n,i]=fue(e),s=vue({fn:t,node:n,tmpl:e});r.push({[i]:s})}n(xue(r))}const vue=({fn:e,node:t,tmpl:n})=>r=>{hue(r,t)&&e(r,yue(r.node,n))};lue.contains=(e,t)=>{let n=!1;const r=e=>{n=!0,e.stop()},i={};for(const e of t)i[e]=r;return Pue(e,i),n};var Aue={};const{setLiteralValue:Cue}=MK,{types:wue}=st,{isJSXElement:kue,jsxAttribute:Iue,jsxIdentifier:_ue,stringLiteral:Nue}=wue,Lue=e=>e.node||e;function Oue(e,t){let n=null;const r=Lue(e),{attributes:i}=r.openingElement;for(const e of i)if(e.name.name===t){n=e;break}return n}function Due(e,t){const n=Oue(e,t);return n?n.value.value:""}function Fue(e,t,n){const r=Oue(e,t);if(!r)return Mue(e,t,n);r.value.value.includes(n)||Cue(r.value,`${r.value.value} ${n}`)}function Mue(e,t,n){const r=Lue(e);let i=Oue(r,t);i||(i=Iue(_ue(t),Nue(n)),r.openingElement.attributes.push(i))}function Bue(e,t,n){if(!e)return;const r=Oue(e.node||e,t),{value:i}=r.value;if(!i.includes(n))return;const s=i.replace(RegExp(`\\s?${n}`),"").trim();Cue(r.value,s)}function Rue(e){return Due(e,"className")}Aue.hasTagName=(e,t)=>{const n=Lue(e);return!!kue(e)&&n.openingElement.name.name===t},Aue.getAttributePath=(e,t)=>{const n=e.get("openingElement.attributes");for(const e of n)if(e.node.name.name===t)return e;return null},Aue.getAttributeNode=Oue,Aue.getAttributeValue=Due,Aue.addAttributeValue=Fue,Aue.addAttribute=Mue,Aue.removeAttributeValue=Bue,Aue.setAttributeValue=(e,t,n)=>{const r=Oue(e,t);if(!r)return Mue(e,t,n);Cue(r.value,n)},Aue.addClassName=(e,t)=>{Fue(e,"className",t)},Aue.getClassName=Rue,Aue.removeClassName=(e,t)=>{Bue(e,"className",t)},Aue.containsClassName=(e,t)=>Rue(e).includes(t),Aue.hasDataName=(e,t="")=>Due(e,"data-name")===t,Aue.hasAttributeValue=(e,t,n="")=>Due(e,t)===n;var jue={_hasUFlag:!1,shouldRun:function(e){var t=e.flags.includes("s");return!!t&&(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 n="\\uFFFF",r="";this._hasUFlag&&(n="\\u{10FFFF}",r=""),e.replace({type:"CharacterClass",expressions:[{type:"ClassRange",from:{type:"Char",value:"\\0",kind:"decimal",symbol:"\0"},to:{type:"Char",value:n,kind:"unicode",symbol:r}}]})}}},Uue={_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)}},que={RegExp:function(e){var t=e.node;t.flags.includes("x")&&(t.flags=t.flags.replace("x",""))}},Jue={dotAll:jue,namedCapturingGroups:Uue,xFlag:que};function $ue(e){return e?Vue[e.type](e):""}var Vue={RegExp:function(e){return"/"+$ue(e.body)+"/"+e.flags},Alternative:function(e){return(e.expressions||[]).map($ue).join("")},Disjunction:function(e){return $ue(e.left)+"|"+$ue(e.right)},Group:function(e){var t=$ue(e.expression);return e.capturing?e.name?"(?<"+(e.nameRaw||e.name)+">"+t+")":"("+t+")":"(?:"+t+")"},Backreference:function(e){switch(e.kind){case"number":return"\\"+e.reference;case"name":return"\\k<"+(e.referenceRaw||e.reference)+">";default:throw new TypeError("Unknown Backreference kind: "+e.kind)}},Assertion:function(e){switch(e.kind){case"^":case"$":case"\\b":case"\\B":return e.kind;case"Lookahead":var t=$ue(e.assertion);return e.negative?"(?!"+t+")":"(?="+t+")";case"Lookbehind":var n=$ue(e.assertion);return e.negative?"(?<!"+n+")":"(?<="+n+")";default:throw new TypeError("Unknown Assertion kind: "+e.kind)}},CharacterClass:function(e){var t=e.expressions.map($ue).join("");return e.negative?"[^"+t+"]":"["+t+"]"},ClassRange:function(e){return $ue(e.from)+"-"+$ue(e.to)},Repetition:function(e){return""+$ue(e.expression)+$ue(e.quantifier)},Quantifier:function(e){var t=void 0,n=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 new TypeError("Unknown Quantifier kind: "+e.kind)}return""+t+n},Char:function(e){var t=e.value;switch(e.kind){case"simple":return e.escaped?"\\"+t:t;case"hex":case"unicode":case"oct":case"decimal":case"control":case"meta":return t;default:throw new TypeError("Unknown Char kind: "+e.kind)}},UnicodeProperty:function(e){return"\\"+(e.negative?"P":"p")+"{"+(e.shorthand||e.binary?"":e.name+"=")+e.value+"}"}},Kue={generate:$ue},Wue={General_Category:"gc",Script:"sc",Script_Extensions:"scx"},Xue=ece(Wue),Hue={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"},zue=ece(Hue),Yue={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"},Gue=ece(Yue),Que={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"},Zue=ece(Que);function ece(e){var t={};for(var n in e)if(e.hasOwnProperty(n)){var r=e[n];if(Array.isArray(r))for(var i=0;i<r.length;i++)t[r[i]]=n;else t[r]=n}return t}function tce(e){return Yue.hasOwnProperty(e)||Gue.hasOwnProperty(e)}function nce(e){return Que.hasOwnProperty(e)||Zue.hasOwnProperty(e)}var rce={isAlias:function(e){return Xue.hasOwnProperty(e)||zue.hasOwnProperty(e)},isValidName:function(e){return Wue.hasOwnProperty(e)||Xue.hasOwnProperty(e)||Hue.hasOwnProperty(e)||zue.hasOwnProperty(e)},isValidValue:function(e,t){return function(e){return"General_Category"===e||"gc"==e}(e)?tce(t):!!function(e){return"Script"===e||"Script_Extensions"===e||"sc"===e||"scx"===e}(e)&&nce(t)},isGeneralCategoryValue:tce,isScriptCategoryValue:nce,isBinaryPropertyName:function(e){return Hue.hasOwnProperty(e)||zue.hasOwnProperty(e)},getCanonicalName:function(e){return Xue.hasOwnProperty(e)?Xue[e]:zue.hasOwnProperty(e)?zue[e]:null},getCanonicalValue:function(e){return Gue.hasOwnProperty(e)?Gue[e]:Zue.hasOwnProperty(e)?Zue[e]:zue.hasOwnProperty(e)?zue[e]:null},NON_BINARY_PROP_NAMES_TO_ALIASES:Wue,NON_BINARY_ALIASES_TO_PROP_NAMES:Xue,BINARY_PROP_NAMES_TO_ALIASES:Hue,BINARY_ALIASES_TO_PROP_NAMES:zue,GENERAL_CATEGORY_VALUE_TO_ALIASES:Yue,GENERAL_CATEGORY_VALUE_ALIASES_TO_VALUES:Gue,SCRIPT_VALUE_TO_ALIASES:Que,SCRIPT_VALUE_ALIASES_TO_VALUE:Zue},ice=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function sce(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var ace=void 0,oce={},uce=void 0,cce=void 0;function lce(e,t){return oce.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 pce=[[-1,1,function(e,t){cce=lce(t,t),uce=e}],[0,4,function(e,t,n,r,i,s,a,o){cce=lce(i,o),uce=Fce({type:"RegExp",body:t,flags:kce(r)},Mce(i,o||a))}],[1,1,function(e,t){cce=lce(t,t),uce=e}],[1,0,function(){cce=null,uce=""}],[2,1,function(e,t){cce=lce(t,t),uce=e}],[2,2,function(e,t,n,r){cce=lce(n,r),uce=e+t}],[3,1,function(e,t){cce=lce(t,t),uce=e}],[4,1,function(e,t){cce=lce(t,t),uce=e}],[4,3,function(e,t,n,r,i,s){cce=lce(r,s);var a=null;i&&(a=Mce(r||i,s||i)),uce=Fce({type:"Disjunction",left:e,right:n},a)}],[5,1,function(e,t){cce=lce(t,t),uce=0!==e.length?1===e.length?Fce(e[0],cce):Fce({type:"Alternative",expressions:e},cce):null}],[6,0,function(){cce=null,uce=[]}],[6,2,function(e,t,n,r){cce=lce(n,r),uce=e.concat(t)}],[7,1,function(e,t){cce=lce(t,t),uce=Fce(Object.assign({type:"Assertion"},e),cce)}],[7,2,function(e,t,n,r){cce=lce(n,r),uce=e,t&&(uce=Fce({type:"Repetition",expression:e,quantifier:t},cce))}],[8,1,function(e,t){cce=lce(t,t),uce={kind:"^"}}],[8,1,function(e,t){cce=lce(t,t),uce={kind:"$"}}],[8,1,function(e,t){cce=lce(t,t),uce={kind:"\\b"}}],[8,1,function(e,t){cce=lce(t,t),uce={kind:"\\B"}}],[8,3,function(e,t,n,r,i,s){cce=lce(r,s),uce={kind:"Lookahead",assertion:t}}],[8,3,function(e,t,n,r,i,s){cce=lce(r,s),uce={kind:"Lookahead",negative:!0,assertion:t}}],[8,3,function(e,t,n,r,i,s){cce=lce(r,s),uce={kind:"Lookbehind",assertion:t}}],[8,3,function(e,t,n,r,i,s){cce=lce(r,s),uce={kind:"Lookbehind",negative:!0,assertion:t}}],[9,1,function(e,t){cce=lce(t,t),uce=e}],[9,1,function(e,t){cce=lce(t,t),uce=e}],[9,1,function(e,t){cce=lce(t,t),uce=e}],[10,1,function(e,t){cce=lce(t,t),uce=Cce(e,"simple",cce)}],[10,1,function(e,t){cce=lce(t,t),(uce=Cce(e.slice(1),"simple",cce)).escaped=!0}],[10,1,function(e,t){cce=lce(t,t),(uce=Cce(e,"unicode",cce)).isSurrogatePair=!0}],[10,1,function(e,t){cce=lce(t,t),uce=Cce(e,"unicode",cce)}],[10,1,function(e,t){cce=lce(t,t),uce=function(e,t){var n="P"===e[1],r=e.indexOf("="),i=e.slice(3,-1!==r?r:-1),s=void 0,a=-1===r&&Ace.isGeneralCategoryValue(i),o=-1===r&&Ace.isBinaryPropertyName(i);if(a)s=i,i="General_Category";else if(o)s=i;else{if(!Ace.isValidName(i))throw new SyntaxError("Invalid unicode property name: "+i+".");if(s=e.slice(r+1,-1),!Ace.isValidValue(i,s))throw new SyntaxError("Invalid "+i+" unicode property value: "+s+".")}return Fce({type:"UnicodeProperty",name:i,value:s,negative:n,shorthand:a,binary:o,canonicalName:Ace.getCanonicalName(i)||i,canonicalValue:Ace.getCanonicalValue(s)||s},t)}(e,cce)}],[10,1,function(e,t){cce=lce(t,t),uce=Cce(e,"control",cce)}],[10,1,function(e,t){cce=lce(t,t),uce=Cce(e,"hex",cce)}],[10,1,function(e,t){cce=lce(t,t),uce=Cce(e,"oct",cce)}],[10,1,function(e,t){cce=lce(t,t),uce=function(e,t){var n=Number(e.slice(1));if(n>0&&n<=Sce)return Fce({type:"Backreference",kind:"number",number:n,reference:n},t);return Cce(e,"decimal",t)}(e,cce)}],[10,1,function(e,t){cce=lce(t,t),uce=Cce(e,"meta",cce)}],[10,1,function(e,t){cce=lce(t,t),uce=Cce(e,"meta",cce)}],[10,1,function(e,t){cce=lce(t,t),uce=function(e,t){var n=e.slice(3,-1),r=Dce(n);if(Tce.hasOwnProperty(r))return Fce({type:"Backreference",kind:"name",number:Tce[r],reference:r,referenceRaw:n},t);var i=null,s=null,a=null,o=null;t&&(i=t.startOffset,s=t.startLine,a=t.endLine,o=t.startColumn);var u=/^[\w$<>]/,c=void 0,l=[Cce(e.slice(1,2),"simple",i?{startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:i+=2,endColumn:o+=2}:null)];l[0].escaped=!0,e=e.slice(2);for(;e.length>0;){var p=null;(p=e.match(Ice))||(p=e.match(_ce))?(i&&(c={startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:i+=p[0].length,endColumn:o+=p[0].length}),l.push(Cce(p[0],"unicode",c)),e=e.slice(p[0].length)):(p=e.match(u))&&(i&&(c={startLine:s,endLine:a,startColumn:o,startOffset:i,endOffset:++i,endColumn:++o}),l.push(Cce(p[0],"simple",c)),e=e.slice(1))}return l}(e,t)}],[11,1,function(e,t){cce=lce(t,t),uce=e}],[11,0],[12,1,function(e,t){cce=lce(t,t),uce=e}],[12,2,function(e,t,n,r){cce=lce(n,r),e.greedy=!1,uce=e}],[13,1,function(e,t){cce=lce(t,t),uce=Fce({type:"Quantifier",kind:e,greedy:!0},cce)}],[13,1,function(e,t){cce=lce(t,t),uce=Fce({type:"Quantifier",kind:e,greedy:!0},cce)}],[13,1,function(e,t){cce=lce(t,t),uce=Fce({type:"Quantifier",kind:e,greedy:!0},cce)}],[13,1,function(e,t){cce=lce(t,t);var n=Pce(e);uce=Fce({type:"Quantifier",kind:"Range",from:n[0],to:n[0],greedy:!0},cce)}],[13,1,function(e,t){cce=lce(t,t),uce=Fce({type:"Quantifier",kind:"Range",from:Pce(e)[0],greedy:!0},cce)}],[13,1,function(e,t){cce=lce(t,t);var n=Pce(e);uce=Fce({type:"Quantifier",kind:"Range",from:n[0],to:n[1],greedy:!0},cce)}],[14,1,function(e,t){cce=lce(t,t),uce=e}],[14,1,function(e,t){cce=lce(t,t),uce=e}],[15,3,function(e,t,n,r,i,s){cce=lce(r,s);var a=String(e),o=Dce(a);if(!oce.options.allowGroupNameDuplicates&&Tce.hasOwnProperty(o))throw new SyntaxError('Duplicate of the named group "'+o+'".');Tce[o]=e.groupNumber,uce=Fce({type:"Group",capturing:!0,name:o,nameRaw:a,number:e.groupNumber,expression:t},cce)}],[15,3,function(e,t,n,r,i,s){cce=lce(r,s),uce=Fce({type:"Group",capturing:!0,number:e.groupNumber,expression:t},cce)}],[16,3,function(e,t,n,r,i,s){cce=lce(r,s),uce=Fce({type:"Group",capturing:!1,expression:t},cce)}],[17,3,function(e,t,n,r,i,s){cce=lce(r,s),uce=Fce({type:"CharacterClass",negative:!0,expressions:t},cce)}],[17,3,function(e,t,n,r,i,s){cce=lce(r,s),uce=Fce({type:"CharacterClass",expressions:t},cce)}],[18,0,function(){cce=null,uce=[]}],[18,1,function(e,t){cce=lce(t,t),uce=e}],[19,1,function(e,t){cce=lce(t,t),uce=[e]}],[19,2,function(e,t,n,r){cce=lce(n,r),uce=[e].concat(t)}],[19,4,function(e,t,n,r,i,s,a,o){cce=lce(i,o),vce(e,n),uce=[Fce({type:"ClassRange",from:e,to:n},Mce(i,a))],r&&(uce=uce.concat(r))}],[20,1,function(e,t){cce=lce(t,t),uce=e}],[20,2,function(e,t,n,r){cce=lce(n,r),uce=[e].concat(t)}],[20,4,function(e,t,n,r,i,s,a,o){cce=lce(i,o),vce(e,n),uce=[Fce({type:"ClassRange",from:e,to:n},Mce(i,a))],r&&(uce=uce.concat(r))}],[21,1,function(e,t){cce=lce(t,t),uce=Cce(e,"simple",cce)}],[21,1,function(e,t){cce=lce(t,t),uce=e}],[22,1,function(e,t){cce=lce(t,t),uce=e}],[22,1,function(e,t){cce=lce(t,t),uce=Cce(e,"meta",cce)}]],dce={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"},hce=[{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"}],fce=[],mce=void 0,yce=[[/^#[^\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 Lce(ace.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&&"\\-"===ace)return"ESC_CHAR";if("u"===e||"xu"===e||"u_class"===e)throw new SyntaxError("invalid Unicode escape "+ace);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 Lce(ace=ace.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"}]],gce={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]},bce={type:"$",value:""};mce={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(bce);for(var e=this._string.slice(this._cursor),t=gce[this.getCurrentState()],n=0;n<t.length;n++){var r=t[n],i=yce[r],s=this._match(e,i[0]);if(""===e&&""===s&&this._cursor++,null!==s){(ace=s).length;var a=i[1].call(this);if(!a)return this.getNextToken();if(Array.isArray(a)){var o,u=a.slice(1);if(a=a[0],u.length>0)(o=this._tokensQueue).unshift.apply(o,sce(u))}return this.onToken(this._toToken(a,ace))}}if(this.isEOF())return this._cursor++,bce;this.throwUnexpectedToken(e[0],this._currentLine,this._currentColumn)},throwUnexpectedToken:function(e,t,n){var r=this._string.split("\n")[t-1],i="";r&&(i="\n\n"+r+"\n"+" ".repeat(n)+"^\n");throw new SyntaxError(i+'Unexpected token: "'+e+'" at '+t+":"+n+".")},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 n=void 0;null!==(n=t.exec(e));)this._currentLine++,this._currentLineBeginOffset=this._tokenStartOffset+n.index+1;this._tokenEndOffset=this._cursor+e.length,this._tokenEndLine=this._currentLine,this._tokenEndColumn=this._currentColumn=this._tokenEndOffset-this._currentLineBeginOffset},_toToken:function(e){return{type:e,value:arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",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 n=e.match(t);return n?(this._captureLocation(n[0]),this._cursor+=n[0].length,n[0]):null},onToken:function(e){return e}},oce.lexer=mce,oce.tokenizer=mce,oce.options={captureLocations:!0};var xce={setOptions:function(e){return oce.options=e,this},getOptions:function(){return oce.options},parse:function(e,t){if(!mce)throw new Error("Tokenizer instance wasn't specified.");mce.initString(e);var n=oce.options;t&&(oce.options=Object.assign({},oce.options,t)),xce.onParseBegin(e,mce,oce.options),fce.length=0,fce.push(0);var r=mce.getNextToken(),i=null;do{r||(oce.options=n,Rce());var s=fce[fce.length-1],a=dce[r.type];hce[s].hasOwnProperty(a)||(oce.options=n,Bce(r));var o=hce[s][a];if("s"===o[0]){var u=null;oce.options.captureLocations&&(u={startOffset:r.startOffset,endOffset:r.endOffset,startLine:r.startLine,endLine:r.endLine,startColumn:r.startColumn,endColumn:r.endColumn}),i=this.onShift(r),fce.push({symbol:dce[i.type],semanticValue:i.value,loc:u},Number(o.slice(1))),r=mce.getNextToken()}else if("r"===o[0]){var c=o.slice(1),l=pce[c],p="function"==typeof l[2],d=p?[]:null,h=p&&oce.options.captureLocations?[]:null;if(0!==l[1])for(var f=l[1];f-- >0;){fce.pop();var m=fce.pop();p&&(d.unshift(m.semanticValue),h&&h.unshift(m.loc))}var y={symbol:l[0]};if(p){ace=i?i.value:null,i&&i.value.length;var g=null!==h?d.concat(h):d;l[2].apply(l,sce(g)),y.semanticValue=uce,h&&(y.loc=cce)}var b=fce[fce.length-1],x=l[0];fce.push(y,hce[b][x])}else if("acc"===o){fce.pop();var S=fce.pop();return(1!==fce.length||0!==fce[0]||mce.hasMoreTokens())&&(oce.options=n,Bce(r)),S.hasOwnProperty("semanticValue")?(oce.options=n,xce.onParseEnd(S.semanticValue),S.semanticValue):(xce.onParseEnd(),oce.options=n,!0)}}while(mce.hasMoreTokens()||fce.length>1)},setTokenizer:function(e){return mce=e,xce},getTokenizer:function(){return mce},onParseBegin:function(e,t,n){},onParseEnd:function(e){},onShift:function(e){return e}},Sce=0,Tce={},Ece="";function Pce(e){var t=e.match(/\d+/g).map(Number);if(Number.isFinite(t[1])&&t[1]<t[0])throw new SyntaxError("Numbers out of order in "+e+" quantifier");return t}function vce(e,t){if("control"===e.kind||"control"===t.kind||!isNaN(e.codePoint)&&!isNaN(t.codePoint)&&e.codePoint>t.codePoint)throw new SyntaxError("Range "+e.value+"-"+t.value+" out of order in character class")}xce.onParseBegin=function(e,t){Ece=e,Sce=0,Tce={};var n=e.lastIndexOf("/"),r=e.slice(n);r.includes("x")&&r.includes("u")?t.pushState("xu"):(r.includes("x")&&t.pushState("x"),r.includes("u")&&t.pushState("u"))},xce.onShift=function(e){return"L_PAREN"!==e.type&&"NAMED_CAPTURE_GROUP"!==e.type||(e.value=new String(e.value),e.value.groupNumber=++Sce),e};var Ace=rce;function Cce(e,t,n){var r=void 0,i=void 0;switch(t){case"decimal":i=Number(e.slice(1)),r=String.fromCodePoint(i);break;case"oct":i=parseInt(e.slice(1),8),r=String.fromCodePoint(i);break;case"hex":case"unicode":if(e.lastIndexOf("\\u")>0){var s=e.split("\\u").slice(1),a=ice(s,2),o=a[0],u=a[1];i=1024*((o=parseInt(o,16))-55296)+((u=parseInt(u,16))-56320)+65536,r=String.fromCodePoint(i)}else{var c=e.slice(2).replace("{","");if((i=parseInt(c,16))>1114111)throw new SyntaxError("Bad character escape sequence: "+e);r=String.fromCodePoint(i)}break;case"meta":switch(e){case"\\t":i=(r="\t").codePointAt(0);break;case"\\n":i=(r="\n").codePointAt(0);break;case"\\r":i=(r="\r").codePointAt(0);break;case"\\v":i=(r="\v").codePointAt(0);break;case"\\f":i=(r="\f").codePointAt(0);break;case"\\b":i=(r="\b").codePointAt(0);case"\\0":r="\0",i=0;case".":r=".",i=NaN;break;default:i=NaN}break;case"simple":i=(r=e).codePointAt(0)}return Fce({type:"Char",value:e,kind:t,symbol:r,codePoint:i},n)}var wce="gimsuxy";function kce(e){var t=new Set,n=!0,r=!1,i=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done);n=!0){var o=s.value;if(t.has(o)||!wce.includes(o))throw new SyntaxError("Invalid flags: "+e);t.add(o)}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return e.split("").sort().join("")}var Ice=/^\\u[0-9a-fA-F]{4}/,_ce=/^\\u\{[0-9a-fA-F]{1,}\}/,Nce=/\\u\{[0-9a-fA-F]{1,}\}/;function Lce(e,t){if(Nce.test(e)&&!("u"===t||"xu"===t||"u_class"===t))throw new SyntaxError('invalid group Unicode name "'+e+'", use `u` flag.');return e}var Oce=/\\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 Dce(e){return e.replace(new RegExp(Oce,"g"),function(e,t,n,r,i,s,a){return t?String.fromCodePoint(parseInt(t,16),parseInt(n,16)):r?String.fromCodePoint(parseInt(r,16)):i?String.fromCodePoint(parseInt(i,16)):s?String.fromCodePoint(parseInt(s,16)):a?String.fromCodePoint(parseInt(a,16)):e})}function Fce(e,t){return oce.options.captureLocations&&(e.loc={source:Ece.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 Mce(e,t){return oce.options.captureLocations?{startOffset:e.startOffset,endOffset:t.endOffset,startLine:e.startLine,endLine:t.endLine,startColumn:e.startColumn,endColumn:t.endColumn}:null}function Bce(e){"$"===e.type&&Rce(),mce.throwUnexpectedToken(e.value,e.startLine,e.startColumn)}function Rce(){!function(e){throw new SyntaxError(e)}("Unexpected end of input.")}var jce=xce;jce.default;var Uce=jce,qce=Uce.parse.bind(Uce);Uce.parse=function(e,t){return qce(""+e,t)},Uce.setOptions({captureLocations:!1});var Jce=Uce;Jce.default;var $ce=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Vce="expressions",Kce="expression",Wce=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.node=t,this.parentPath=n,this.parent=n?n.node:null,this.property=r,this.index=i}return $ce(e,[{key:"_enforceProp",value:function(e){if(!this.node.hasOwnProperty(e))throw new Error("Node of type "+this.node.type+" doesn't have \""+e+'" collection.')}},{key:"setChild",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=void 0;return null!=n?(r||(r=Vce),this._enforceProp(r),this.node[r][n]=t,i=e.getForNode(t,this,r,n)):(r||(r=Kce),this._enforceProp(r),this.node[r]=t,i=e.getForNode(t,this,r,null)),i}},{key:"appendChild",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t||(t=Vce),this._enforceProp(t);var n=this.node[t].length;return this.setChild(e,n,t)}},{key:"insertChildAt",value:function(t,n){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:Vce;this._enforceProp(r),this.node[r].splice(n,0,t),n<=e.getTraversingIndex()&&e.updateTraversingIndex(1),this._rebuildIndex(this.node,r)}},{key:"remove",value:function(){if(!this.isRemoved()&&(e.registry.delete(this.node),this.node=null,this.parent)){if(null!==this.index)return this.parent[this.property].splice(this.index,1),this.index<=e.getTraversingIndex()&&e.updateTraversingIndex(-1),this._rebuildIndex(this.parent,this.property),this.index=null,void(this.property=null);delete this.parent[this.property],this.property=null}}},{key:"_rebuildIndex",value:function(t,n){for(var r=e.getForNode(t),i=0;i<t[n].length;i++){e.getForNode(t[n][i],r,n,i).index=i}}},{key:"isRemoved",value:function(){return null===this.node}},{key:"replace",value:function(t){return e.registry.delete(this.node),this.node=t,this.parent?(null!==this.index?this.parent[this.property][this.index]=t:this.parent[this.property]=t,e.getForNode(t,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 t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:0;return this.node.expressions?e.getForNode(this.node.expressions[t],this,Vce,t):this.node.expression&&0==t?e.getForNode(this.node.expression,this,Kce):null}},{key:"hasEqualSource",value:function(e){return JSON.stringify(this.node,Xce)===JSON.stringify(e.node,Xce)}},{key:"jsonEncode",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=e.format,n=e.useLoc;return JSON.stringify(this.node,n?null:Xce,t)}},{key:"getPreviousSibling",value:function(){return this.parent&&null!=this.index?e.getForNode(this.parent[this.property][this.index-1],e.getForNode(this.parent),this.property,this.index-1):null}},{key:"getNextSibling",value:function(){return this.parent&&null!=this.index?e.getForNode(this.parent[this.property][this.index+1],e.getForNode(this.parent),this.property,this.index+1):null}}],[{key:"getForNode",value:function(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null,r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null,i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:-1;if(!t)return null;e.registry.has(t)||e.registry.set(t,new e(t,n,r,-1==i?null:i));var s=e.registry.get(t);return null!==n&&(s.parentPath=n,s.parent=s.parentPath.node),null!==r&&(s.property=r),i>=0&&(s.index=i),s}},{key:"initRegistry",value:function(){e.registry||(e.registry=new Map),e.registry.clear()}},{key:"updateTraversingIndex",value:function(t){return e.traversingIndexStack[e.traversingIndexStack.length-1]+=t}},{key:"getTraversingIndex",value:function(){return e.traversingIndexStack[e.traversingIndexStack.length-1]}}]),e}();function Xce(e,t){if("loc"!==e)return t}Wce.initRegistry(),Wce.traversingIndexStack=[];var Hce=Wce;Hce.default;var zce=Hce;var Yce={traverse:function(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{asNodes:!1};function r(e,t,n,r){var i=zce.getForNode(t);return zce.getForNode(e,i,n,r)}Array.isArray(t)||(t=[t]),t=t.filter(function(t){return"function"!=typeof t.shouldRun||t.shouldRun(e)}),zce.initRegistry(),t.forEach(function(t){"function"==typeof t.init&&t.init(e)}),function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.pre,r=t.post,i=t.skipProperty;!function e(t,s,a,o){if(t&&"string"==typeof t.type){var u=void 0;if(n&&(u=n(t,s,a,o)),!1!==u)for(var c in s&&s[a]&&(t=isNaN(o)?s[a]:s[a][o]),t)if(t.hasOwnProperty(c)){if(i?i(c,t):"$"===c[0])continue;var l=t[c];if(Array.isArray(l)){var p=0;for(zce.traversingIndexStack.push(p);p<l.length;)e(l[p],t,c,p),p=zce.updateTraversingIndex(1);zce.traversingIndexStack.pop()}else e(l,t,c)}r&&r(t,s,a,o)}}(e,null)}(e,{pre:function(e,i,s,a){var o=void 0;n.asNodes||(o=r(e,i,s,a));var u=!0,c=!1,l=void 0;try{for(var p,d=t[Symbol.iterator]();!(u=(p=d.next()).done);u=!0){var h=p.value;if("function"==typeof h["*"])if(o){if(!o.isRemoved())if(!1===h["*"](o))return!1}else h["*"](e,i,s,a);var f=void 0;if("function"==typeof h[e.type]?f=h[e.type]:"object"==typeof h[e.type]&&"function"==typeof h[e.type].pre&&(f=h[e.type].pre),f)if(o){if(!o.isRemoved())if(!1===f.call(h,o))return!1}else f.call(h,e,i,s,a)}}catch(e){c=!0,l=e}finally{try{!u&&d.return&&d.return()}finally{if(c)throw l}}},post:function(e,i,s,a){if(e){var o=void 0;n.asNodes||(o=r(e,i,s,a));var u=!0,c=!1,l=void 0;try{for(var p,d=t[Symbol.iterator]();!(u=(p=d.next()).done);u=!0){var h=p.value,f=void 0;if("object"==typeof h[e.type]&&"function"==typeof h[e.type].post&&(f=h[e.type].post),f)if(o){if(!o.isRemoved())if(!1===f.call(h,o))return!1}else f.call(h,e,i,s,a)}}catch(e){c=!0,l=e}finally{try{!u&&d.return&&d.return()}finally{if(c)throw l}}}},skipProperty:function(e){return"loc"===e}})}},Gce=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Qce=Kue,Zce=Jce,ele=Yce,tle=function(){function e(t){var n=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._ast=t,this._source=null,this._string=null,this._regexp=null,this._extra=n}return Gce(e,[{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=Qce.generate(this._ast.body)),this._source}},{key:"getFlags",value:function(){return this._ast.flags}},{key:"toString",value:function(){return this._string||(this._string=Qce.generate(this._ast)),this._string}}]),e}(),nle={TransformResult:tle,transform:function(e,t){var n=e;return e instanceof RegExp&&(e=""+e),"string"==typeof e&&(n=Zce.parse(e,{captureLocations:!0})),ele.traverse(n,t),new tle(n)}},rle=Jue,ile=nle,sle={transform:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:[],n=t.length>0?t:Object.keys(rle),r=void 0,i={};return n.forEach(function(t){if(!rle.hasOwnProperty(t))throw new Error("Unknown compat-transform: "+t+". Available transforms are: "+Object.keys(rle).join(", "));var n=rle[t];r=ile.transform(e,n),e=r.getAST(),"function"==typeof n.getExtra&&(i[t]=n.getExtra())}),r.setExtra(i),r}},ale={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)}},ole="A".codePointAt(0),ule="Z".codePointAt(0),cle="a".codePointAt(0),lle="z".codePointAt(0),ple="0".codePointAt(0),dle="9".codePointAt(0),hle={Char:function(e){var t=e.node,n=e.parent;if(!isNaN(t.codePoint)&&"simple"!==t.kind&&("ClassRange"!==n.type||function(e){var t=e.from,n=e.to;return t.codePoint>=ple&&t.codePoint<=dle&&n.codePoint>=ple&&n.codePoint<=dle||t.codePoint>=ole&&t.codePoint<=ule&&n.codePoint>=ole&&n.codePoint<=ule||t.codePoint>=cle&&t.codePoint<=lle&&n.codePoint>=cle&&n.codePoint<=lle}(n))&&(r=t.codePoint)>=32&&r<=126){var r,i=String.fromCodePoint(t.codePoint),s={type:"Char",kind:"simple",value:i,symbol:i,codePoint:t.codePoint};(function(e,t){if("ClassRange"===t||"CharacterClass"===t)return/[\]\\^-]/.test(e);return/[*[()+?^$./\\|{}]/.test(e)})(i,n.type)&&(s.escaped=!0),e.replace(s)}}};var fle="A".codePointAt(0),mle="Z".codePointAt(0),yle={_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=e.node,n=e.parent;if(!isNaN(t.codePoint)&&(this._hasUFlag||!(t.codePoint>=4096))){if("ClassRange"===n.type){if(!this._AZClassRanges.has(n)&&!function(e){var t=e.from,n=e.to;return t.codePoint>=fle&&t.codePoint<=mle&&n.codePoint>=fle&&n.codePoint<=mle}(n))return;this._AZClassRanges.add(n)}var r=t.symbol.toLowerCase();r!==t.symbol&&(t.value=function(e,t){var n=e.codePointAt(0);if("decimal"===t.kind)return"\\"+n;if("oct"===t.kind)return"\\0"+n.toString(8);if("hex"===t.kind)return"\\x"+n.toString(16);if("unicode"===t.kind){if(t.isSurrogatePair){var r=function(e){var t=Math.floor((e-65536)/1024)+55296,n=(e-65536)%1024+56320;return{lead:t.toString(16),trail:n.toString(16)}}(n),i=r.lead,s=r.trail;return"\\u"+"0".repeat(4-i.length)+i+"\\u"+"0".repeat(4-s.length)+s}if(t.value.includes("{"))return"\\u{"+n.toString(16)+"}";var a=n.toString(16);return"\\u"+"0".repeat(4-a.length)+a}return e}(r,t),t.symbol=r,t.codePoint=r.codePointAt(0))}}};var gle={disjunctionToList:function e(t){if("Disjunction"!==t.type)throw new TypeError('Expected "Disjunction" node, got "'+t.type+'"');var n=[];return t.left&&"Disjunction"===t.left.type?n.push.apply(n,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(e(t.left)).concat([t.right])):n.push(t.left,t.right),n},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))}},ble=gle.increaseQuantifierByOne,xle={Repetition:function(e){var t=e.node;if("Alternative"===e.parent.type&&e.index){var n=e.getPreviousSibling();if(n)if("Repetition"===n.node.type){if(!n.getChild().hasEqualSource(e.getChild()))return;var r=Tle(n.node.quantifier),i=r.from,s=r.to,a=Tle(t.quantifier),o=a.from,u=a.to;if(n.node.quantifier.greedy!==t.quantifier.greedy&&!Sle(n.node.quantifier)&&!Sle(t.quantifier))return;t.quantifier.kind="Range",t.quantifier.from=i+o,s&&u?t.quantifier.to=s+u:delete t.quantifier.to,(Sle(n.node.quantifier)||Sle(t.quantifier))&&(t.quantifier.greedy=!0),n.remove()}else{if(!n.hasEqualSource(e.getChild()))return;ble(t.quantifier),n.remove()}}}};function Sle(e){return e.greedy&&("+"===e.kind||"*"===e.kind||"Range"===e.kind&&!e.to)}function Tle(e){var t=void 0,n=void 0;return"*"===e.kind?t=0:"+"===e.kind?t=1:"?"===e.kind?(t=0,n=1):(t=e.from,e.to&&(n=e.to)),{from:t,to:n}}var Ele={Quantifier:function(e){"Range"===e.node.kind&&(function(e){var t=e.node;if(0!==t.from||t.to)return;t.kind="*",delete t.from}(e),function(e){var t=e.node;if(1!==t.from||t.to)return;t.kind="+",delete t.from}(e),function(e){var t=e.node;if(1!==t.from||1!==t.to)return;e.parentPath.replace(e.parentPath.node.expression)}(e))}};function Ple(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var vle={_hasIFlag:!1,_hasUFlag:!1,init:function(e){this._hasIFlag=e.flags.includes("i"),this._hasUFlag=e.flags.includes("u")},CharacterClass:function(e){!function(e){var t=e.node;t.expressions.forEach(function(t,n){(function(e){return"ClassRange"===e.type&&"0"===e.from.value&&"9"===e.to.value})(t)&&e.getChild(n).replace({type:"Char",value:"\\d",kind:"meta"})})}(e),function(e,t,n){var r=e.node,i=null,s=null,a=null,o=null,u=null,c=null;r.expressions.forEach(function(r,l){wle(r,"\\d")?i=e.getChild(l):!function(e){return"ClassRange"===e.type&&"a"===e.from.value&&"z"===e.to.value}(r)?!function(e){return"ClassRange"===e.type&&"A"===e.from.value&&"Z"===e.to.value}(r)?!function(e){return"Char"===e.type&&"_"===e.value&&"simple"===e.kind}(r)?t&&n&&kle(r,383)?u=e.getChild(l):t&&n&&kle(r,8490)&&(c=e.getChild(l)):o=e.getChild(l):a=e.getChild(l):s=e.getChild(l)}),i&&(s&&a||t&&(s||a))&&o&&(!n||!t||u&&c)&&(i.replace({type:"Char",value:"\\w",kind:"meta"}),s&&s.remove(),a&&a.remove(),o.remove(),u&&u.remove(),c&&c.remove())}(e,this._hasIFlag,this._hasUFlag),function(e){var t=e.node;if(t.expressions.length<Ale.length||!Ale.every(function(e){return t.expressions.some(function(t){return e(t)})}))return;var n=t.expressions.find(function(e){return wle(e,"\\n")});n.value="\\s",n.symbol=void 0,n.codePoint=NaN,t.expressions.map(function(t,n){return Ale.some(function(e){return e(t)})?e.getChild(n):void 0}).filter(Boolean).forEach(function(e){return e.remove()})}(e)}};var Ale=[function(e){return Cle(e," ")}].concat(Ple(["\\f","\\n","\\r","\\t","\\v"].map(function(e){return function(t){return wle(t,e)}})),Ple([160,5760,8232,8233,8239,8287,12288,65279].map(function(e){return function(t){return kle(t,e)}})),[function(e){return"ClassRange"===e.type&&kle(e.from,8192)&&kle(e.to,8202)}]);function Cle(e,t){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"simple";return"Char"===e.type&&e.value===t&&e.kind===n}function wle(e,t){return Cle(e,t,"meta")}function kle(e,t){return"Char"===e.type&&"unicode"===e.kind&&e.codePoint===t}var Ile={CharacterClass:function(e){var t=e.node;if(1===t.expressions.length&&function(e){var t=e.parent,n=e.index;if("Alternative"!==t.type)return!0;var r=t.expressions[n-1];if(null==r)return!0;if("Backreference"===r.type&&"number"===r.kind)return!1;if("Char"===r.type&&"decimal"===r.kind)return!1;return!0}(e)&&function(e){return"Char"===e.type&&"\\b"!==e.value}(t.expressions[0])){var n=t.expressions[0],r=n.value,i=n.kind,s=n.escaped;if(t.negative){if(!function(e){return/^\\[dwsDWS]$/.test(e)}(r))return;r=function(e){return/[dws]/.test(e)?e.toUpperCase():e.toLowerCase()}(r)}e.replace({type:"Char",value:r,kind:i,escaped:s||_le(r)})}}};function _le(e){return/[*[()+?$./{}|]/.test(e)}var Nle={_hasXFlag:!1,init:function(e){this._hasXFlag=e.flags.includes("x")},Char:function(e){var t=e.node;t.escaped&&function(e,t){var n=e.node.value,r=e.index,i=e.parent;if("CharacterClass"!==i.type&&"ClassRange"!==i.type)return!function(e,t,n,r){if("{"===e)return function(e,t){if(null==e)return!1;var n=Lle(e+1,t),r=e+n+1,i=r<t.expressions.length&&t.expressions[r];if(n){if(Ole(i,"}"))return!0;if(Ole(i,","))return Ole(i=(r=r+(n=Lle(r+1,t))+1)<t.expressions.length&&t.expressions[r],"}")}return!1}(t,n);if("}"===e)return function(e,t){if(null==e)return!1;var n=Lle(e-1,t,!0),r=e-n-1,i=r>=0&&t.expressions[r];if(n&&Ole(i,"{"))return!0;if(Ole(i,","))return i=(r=r-(n=Lle(r-1,t,!0))-1)<t.expressions.length&&t.expressions[r],n&&Ole(i,"{");return!1}(t,n);if(r&&/[ #]/.test(e))return!0;return/[*[()+?^$./\\|]/.test(e)}(n,r,i,t);return!function(e,t,n){if("^"===e)return 0===t&&!n.negative;if("-"===e)return!0;return/[\]\\]/.test(e)}(n,r,i)}(e,this._hasXFlag)&&delete t.escaped}};function Lle(e,t,n){for(var r=e,i=(n?r>=0:r<t.expressions.length)&&t.expressions[r];i&&"Char"===i.type&&"simple"===i.kind&&!i.escaped&&/\d/.test(i.value);)n?r--:r++,i=(n?r>=0:r<t.expressions.length)&&t.expressions[r];return Math.abs(e-r)}function Ole(e,t){return e&&"Char"===e.type&&"simple"===e.kind&&!e.escaped&&e.value===t}var Dle={_hasIUFlags:!1,init:function(e){this._hasIUFlags=e.flags.includes("i")&&e.flags.includes("u")},CharacterClass:function(e){var t=e.node.expressions,n=[];t.forEach(function(e){Ble(e)&&n.push(e.value)}),t.sort(Fle);for(var r=0;r<t.length;r++){var i=t[r];if(jle(i,n,this._hasIUFlags)||Vle(i,t[r-1])||Kle(i,t[r+1]))t.splice(r,1),r--;else{var s=Xle(i,r,t);t.splice(r-s+1,s),r-=s}}}};function Fle(e,t){var n=Mle(e),r=Mle(t);if(n===r){if("ClassRange"===e.type&&"ClassRange"!==t.type)return-1;if("ClassRange"===t.type&&"ClassRange"!==e.type)return 1;if("ClassRange"===e.type&&"ClassRange"===t.type)return Mle(e.to)-Mle(t.to);if(Ble(e)&&Ble(t)||Rle(e)&&Rle(t))return e.value<t.value?-1:1}return n-r}function Mle(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 Ble(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 Rle(e){return"Char"===e.type&&"control"===e.kind}function jle(e,t,n){for(var r=0;r<t.length;r++)if(Ule(e,t[r],n))return!0;return!1}function Ule(e,t,n){return"ClassRange"===e.type?Ule(e.from,t,n)&&Ule(e.to,t,n):!("\\S"!==t||!Ble(e,"\\w")&&!Ble(e,"\\d"))||(!("\\D"!==t||!Ble(e,"\\W")&&!Ble(e,"\\s"))||(!("\\w"!==t||!Ble(e,"\\d"))||(!("\\W"!==t||!Ble(e,"\\s"))||"Char"===e.type&&!isNaN(e.codePoint)&&("\\s"===t?qle(e):"\\S"===t?!qle(e):"\\d"===t?Jle(e):"\\D"===t?!Jle(e):"\\w"===t?$le(e,n):"\\W"===t&&!$le(e,n)))))}function qle(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 Jle(e){return e.codePoint>=48&&e.codePoint<=57}function $le(e,t){return Jle(e)||e.codePoint>=65&&e.codePoint<=90||e.codePoint>=97&&e.codePoint<=122||"_"===e.value||t&&(383===e.codePoint||8490===e.codePoint)}function Vle(e,t){if(t&&"ClassRange"===t.type){if(Wle(e,t))return!0;if(Hle(e)&&t.to.codePoint===e.codePoint-1)return t.to=e,!0;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}function Kle(e,t){return!(!t||"ClassRange"!==t.type||!Hle(e)||t.from.codePoint!==e.codePoint+1)&&(t.from=e,!0)}function Wle(e,t){return("Char"!==e.type||!isNaN(e.codePoint))&&("ClassRange"===e.type?Wle(e.from,t)&&Wle(e.to,t):e.codePoint>=t.from.codePoint&&e.codePoint<=t.to.codePoint)}function Xle(e,t,n){if(!Hle(e))return 0;for(var r=0;t>0;){var i=n[t],s=n[t-1];if(!Hle(s)||s.codePoint!==i.codePoint-1)break;r++,t--}return r>1?(n[t]={type:"ClassRange",from:n[t],to:e},r):0}function Hle(e){return e&&"Char"===e.type&&!isNaN(e.codePoint)&&($le(e,!1)||"unicode"===e.kind||"hex"===e.kind||"oct"===e.kind||"decimal"===e.kind)}var zle=Hce,Yle=gle.disjunctionToList,Gle=gle.listToDisjunction,Qle={Disjunction:function(e){var t=e.node,n={},r=Yle(t).filter(function(e){var t=e?zle.getForNode(e).jsonEncode():"null";return!n.hasOwnProperty(t)&&(n[t]=e,!0)});e.replace(Gle(r))}},Zle={Disjunction:function(e){var t=e.node,n=e.parent;if(epe[n.type]){var r=new Map;if(tpe(t,r)&&r.size){var i={type:"CharacterClass",expressions:Array.from(r.keys()).sort().map(function(e){return r.get(e)})};epe[n.type](e.getParent(),i)}}}},epe={RegExp:function(e,t){e.node.body=t},Group:function(e,t){var n=e.node;n.capturing?n.expression=t:e.replace(t)}};function tpe(e,t){if(!e)return!1;var n=e.type;if("Disjunction"===n){var r=e.left,i=e.right;return tpe(r,t)&&tpe(i,t)}if("Char"===n){if("meta"===e.kind&&"."===e.symbol)return!1;var s=e.value;return t.set(s,e),!0}return"CharacterClass"===n&&!e.negative&&e.expressions.every(function(e){return tpe(e,t)})}function npe(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var rpe={Group:function(e){var t=e.node,n=e.parent,r=e.getChild();if(!t.capturing&&r&&function(e){var t=e.parent,n=e.index;if("Alternative"!==t.type)return!0;var r=t.expressions[n-1];if(null==r)return!0;if("Backreference"===r.type&&"number"===r.kind)return!1;if("Char"===r.type&&"decimal"===r.kind)return!1;return!0}(e)&&!("Disjunction"===r.node.type&&"RegExp"!==n.type||"Repetition"===n.type&&"Char"!==r.node.type&&"CharacterClass"!==r.node.type))if("Alternative"===r.node.type){var i=e.getParent();"Alternative"===i.node.type&&i.replace({type:"Alternative",expressions:[].concat(npe(n.expressions.slice(0,e.index)),npe(r.node.expressions),npe(n.expressions.slice(e.index+1)))})}else e.replace(r.node)}};function ipe(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var spe=Hce,ape=gle.increaseQuantifierByOne,ope={Alternative:function(e){for(var t=e.node,n=1;n<t.expressions.length;){var r=e.getChild(n);if((n=Math.max(1,upe(e,r,n)))>=t.expressions.length)break;if(r=e.getChild(n),(n=Math.max(1,cpe(e,r,n)))>=t.expressions.length)break;r=e.getChild(n),n=Math.max(1,lpe(e,r,n)),n++}}};function upe(e,t,n){for(var r=e.node,i=Math.ceil(n/2),s=0;s<i;){var a=n-2*s-1,o=void 0,u=void 0;if(0===s?(o=t,u=e.getChild(a)):(o=spe.getForNode({type:"Alternative",expressions:[].concat(ipe(r.expressions.slice(n-s,n)),[t.node])}),u=spe.getForNode({type:"Alternative",expressions:[].concat(ipe(r.expressions.slice(a,n-s)))})),o.hasEqualSource(u)){for(var c=0;c<2*s+1;c++)e.getChild(a).remove();return t.replace({type:"Repetition",expression:0===s&&"Repetition"!==o.node.type?o.node:{type:"Group",capturing:!1,expression:o.node},quantifier:{type:"Quantifier",kind:"Range",from:2,to:2,greedy:!0}}),a}s++}return n}function cpe(e,t,n){for(var r=e.node,i=0;i<n;){var s=e.getChild(i);if("Repetition"===s.node.type&&s.node.quantifier.greedy){var a=s.getChild(),o=void 0;if("Group"!==a.node.type||a.node.capturing||(a=a.getChild()),i+1===n?"Group"!==(o=t).node.type||o.node.capturing||(o=o.getChild()):o=spe.getForNode({type:"Alternative",expressions:[].concat(ipe(r.expressions.slice(i+1,n+1)))}),a.hasEqualSource(o)){for(var u=i;u<n;u++)e.getChild(i+1).remove();return ape(s.node.quantifier),i}}i++}return n}function lpe(e,t,n){var r=e.node;if("Repetition"===t.node.type&&t.node.quantifier.greedy){var i=t.getChild(),s=void 0;"Group"!==i.node.type||i.node.capturing||(i=i.getChild());var a=void 0;if("Alternative"===i.node.type?(a=i.node.expressions.length,s=spe.getForNode({type:"Alternative",expressions:[].concat(ipe(r.expressions.slice(n-a,n)))})):(a=1,"Group"!==(s=e.getChild(n-1)).node.type||s.node.capturing||(s=s.getChild())),s.hasEqualSource(i)){for(var o=n-a;o<n;o++)e.getChild(n-a).remove();return ape(t.node.quantifier),n-a}}return n}var ppe=new Map([["charSurrogatePairToSingleUnicode",ale],["charCodeToSimpleChar",hle],["charCaseInsensitiveLowerCaseTransform",yle],["charClassRemoveDuplicates",{CharacterClass:function(e){for(var t=e.node,n={},r=0;r<t.expressions.length;r++){var i=e.getChild(r),s=i.jsonEncode();n.hasOwnProperty(s)&&(i.remove(),r--),n[s]=!0}}}],["quantifiersMerge",xle],["quantifierRangeToSymbol",Ele],["charClassClassrangesToChars",{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",vle],["charClassToSingleChar",Ile],["charEscapeUnescape",Nle],["charClassClassrangesMerge",Dle],["disjunctionRemoveDuplicates",Qle],["groupSingleCharsToCharClass",Zle],["removeEmptyGroup",{Group:function(e){var t=e.node,n=e.parent,r=e.getChild();t.capturing||r||("Repetition"===n.type?e.getParent().replace(t):"RegExp"!==n.type&&e.remove())}}],["ungroup",rpe],["combineRepeatingPatterns",ope]]);ppe.default;var dpe=function e(t){if(null===t||"object"!=typeof t)return t;var n=void 0;for(var r in n=Array.isArray(t)?[]:{},t)n[r]=e(t[r]);return n},hpe=Jce,fpe=nle,mpe=ppe,ype={optimize:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{},n=t.whitelist,r=void 0===n?[]:n,i=t.blacklist,s=void 0===i?[]:i,a=(r.length>0?r:Array.from(mpe.keys())).filter(function(e){return!s.includes(e)}),o=e;e instanceof RegExp&&(e=""+e),"string"==typeof e&&(o=hpe.parse(e));var u=new fpe.TransformResult(o),c=void 0;do{c=u.toString(),o=dpe(u.getAST()),a.forEach(function(e){if(!mpe.has(e))throw new Error("Unknown optimization-transform: "+e+". Available transforms are: "+Array.from(mpe.keys()).join(", "));var t=mpe.get(e),n=fpe.transform(o,t);n.toString()!==u.toString()&&(n.toString().length<=u.toString().length?u=n:o=dpe(u.getAST()))})}while(u.toString()!==c);return u}},gpe={EPSILON:"ε",EPSILON_CLOSURE:"ε*"},bpe=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")},xpe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Spe=gpe.EPSILON,Tpe=gpe.EPSILON_CLOSURE,Epe=function(){function e(t,n){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this.in=t,this.out=n}return xpe(e,[{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 n=e[t];for(var r in n)r!==Tpe&&this._alphabet.add(r)}}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,n=void 0;try{for(var r,i=this.getAcceptingStates()[Symbol.iterator]();!(e=(r=i.next()).done);e=!0){var s=r.value;this._acceptingStateNumbers.add(s.number)}}catch(e){t=!0,n=e}finally{try{!e&&i.return&&i.return()}finally{if(t)throw n}}}return this._acceptingStateNumbers}},{key:"getTransitionTable",value:function(){var e=this;if(!this._transitionTable){this._transitionTable={},this._acceptingStates=new Set;var t=new Set,n=new Set;!function r(i){if(!t.has(i)){t.add(i),i.number=t.size,e._transitionTable[i.number]={},i.accepting&&e._acceptingStates.add(i);var s=i.getTransitions(),a=!0,o=!1,u=void 0;try{for(var c,l=s[Symbol.iterator]();!(a=(c=l.next()).done);a=!0){var p=c.value,d=bpe(p,2),h=d[0],f=d[1],m=[];n.add(h);var y=!0,g=!1,b=void 0;try{for(var x,S=f[Symbol.iterator]();!(y=(x=S.next()).done);y=!0){var T=x.value;r(T),m.push(T.number)}}catch(e){g=!0,b=e}finally{try{!y&&S.return&&S.return()}finally{if(g)throw b}}e._transitionTable[i.number][h]=m}}catch(e){o=!0,u=e}finally{try{!a&&l.return&&l.return()}finally{if(o)throw u}}}}(this.in),t.forEach(function(t){delete e._transitionTable[t.number][Spe],e._transitionTable[t.number][Tpe]=[].concat(function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t.getEpsilonClosure())).map(function(e){return e.number})})}return this._transitionTable}}]),e}(),Ppe=Epe;Ppe.default;var vpe=function(e,t){if(Array.isArray(e))return e;if(Symbol.iterator in Object(e))return function(e,t){var n=[],r=!0,i=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(r=(a=o.next()).done)&&(n.push(a.value),!t||n.length!==t);r=!0);}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}return n}(e,t);throw new TypeError("Invalid attempt to destructure non-iterable instance")};function Ape(e){return Array.isArray(e)?e:Array.from(e)}function Cpe(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var wpe=null;function kpe(e,t){if(!t)return!1;if(e.length!==t.length)return!1;for(var n=0;n<e.length;n++){var r=e[n],i=t[n];if(r.size!==i.size)return!1;if([].concat(Cpe(r)).sort().join(",")!==[].concat(Cpe(i)).sort().join(","))return!1}return!0}function Ipe(e,t,n,r){var i=!0,s=!1,a=void 0;try{for(var o,u=r[Symbol.iterator]();!(i=(o=u.next()).done);i=!0){if(!_pe(e,t,n,o.value))return!1}}catch(e){s=!0,a=e}finally{try{!i&&u.return&&u.return()}finally{if(s)throw a}}return!0}function _pe(e,t,n,r){if(!wpe[e]||!wpe[t])return!1;var i=n[e][r],s=n[t][r];return!i&&!s||wpe[e].has(i)&&wpe[t].has(s)}var Npe={minimize:function(e){var t=e.getTransitionTable(),n=Object.keys(t),r=e.getAlphabet(),i=e.getAcceptingStateNumbers();wpe={};var s=new Set;n.forEach(function(e){e=Number(e),i.has(e)?wpe[e]=i:(s.add(e),wpe[e]=s)});var a=[[s,i].filter(function(e){return e.size>0})],o=void 0,u=void 0;o=a[a.length-1],u=a[a.length-2];for(var c=function(){var e={},n=!0,i=!1,s=void 0;try{for(var c,l=o[Symbol.iterator]();!(n=(c=l.next()).done);n=!0){var p=c.value,d={},h=Ape(p),f=h[0],m=h.slice(1);d[f]=new Set([f]);var y=!0,g=!1,b=void 0;try{e:for(var x,S=m[Symbol.iterator]();!(y=(x=S.next()).done);y=!0){var T=x.value,E=!0,P=!1,v=void 0;try{for(var A,C=Object.keys(d)[Symbol.iterator]();!(E=(A=C.next()).done);E=!0){var w=A.value;if(Ipe(T,w,t,r)){d[w].add(T),d[T]=d[w];continue e}}}catch(e){P=!0,v=e}finally{try{!E&&C.return&&C.return()}finally{if(P)throw v}}d[T]=new Set([T])}}catch(e){g=!0,b=e}finally{try{!y&&S.return&&S.return()}finally{if(g)throw b}}Object.assign(e,d)}}catch(e){i=!0,s=e}finally{try{!n&&l.return&&l.return()}finally{if(i)throw s}}wpe=e;var k=new Set(Object.keys(e).map(function(t){return e[t]}));a.push([].concat(Cpe(k))),o=a[a.length-1],u=a[a.length-2]};!kpe(o,u);)c();var l=new Map,p=1;o.forEach(function(e){return l.set(e,p++)});var d={},h=new Set,f=function(e,t){var n=!0,r=!1,s=void 0;try{for(var a,o=e[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value;i.has(u)&&h.add(t)}}catch(e){r=!0,s=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw s}}},m=!0,y=!1,g=void 0;try{for(var b,x=l.entries()[Symbol.iterator]();!(m=(b=x.next()).done);m=!0){var S=b.value,T=vpe(S,2),E=T[0],P=T[1];d[P]={};var v=!0,A=!1,C=void 0;try{for(var w,k=r[Symbol.iterator]();!(v=(w=k.next()).done);v=!0){var I=w.value;f(E,P);var _=void 0,N=!0,L=!1,O=void 0;try{for(var D,F=E[Symbol.iterator]();!(N=(D=F.next()).done);N=!0){var M=D.value;if(_=t[M][I])break}}catch(e){L=!0,O=e}finally{try{!N&&F.return&&F.return()}finally{if(L)throw O}}_&&(d[P][I]=l.get(wpe[_]))}}catch(e){A=!0,C=e}finally{try{!v&&k.return&&k.return()}finally{if(A)throw C}}}}catch(e){y=!0,g=e}finally{try{!m&&x.return&&x.return()}finally{if(y)throw g}}return e.setTransitionTable(d),e.setAcceptingStateNumbers(h),e}},Lpe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();function Ope(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}var Dpe=Npe,Fpe=gpe.EPSILON_CLOSURE,Mpe=function(){function e(t){!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._nfa=t}return Lpe(e,[{key:"minimize",value:function(){this.getTransitionTable(),this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._originalTransitionTable=this._transitionTable,Dpe.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 t=this._nfa.getTransitionTable(),n=Object.keys(t);this._acceptingStateNumbers=new Set;for(var r=[t[n[0]][Fpe]],i=this.getAlphabet(),s=this._nfa.getAcceptingStateNumbers(),a={},o=function(t){var n=!0,r=!1,i=void 0;try{for(var a,o=s[Symbol.iterator]();!(n=(a=o.next()).done);n=!0){var u=a.value;if(-1!==t.indexOf(u)){e._acceptingStateNumbers.add(t.join(","));break}}}catch(e){r=!0,i=e}finally{try{!n&&o.return&&o.return()}finally{if(r)throw i}}};r.length>0;){var u=r.shift(),c=u.join(",");a[c]={};var l=!0,p=!1,d=void 0;try{for(var h,f=i[Symbol.iterator]();!(l=(h=f.next()).done);l=!0){var m=h.value,y=[];o(u);var g=!0,b=!1,x=void 0;try{for(var S,T=u[Symbol.iterator]();!(g=(S=T.next()).done);g=!0){var E=t[S.value][m];if(E){var P=!0,v=!1,A=void 0;try{for(var C,w=E[Symbol.iterator]();!(P=(C=w.next()).done);P=!0){var k=C.value;t[k]&&y.push.apply(y,Ope(t[k][Fpe]))}}catch(e){v=!0,A=e}finally{try{!P&&w.return&&w.return()}finally{if(v)throw A}}}}}catch(e){b=!0,x=e}finally{try{!g&&T.return&&T.return()}finally{if(b)throw x}}var I=new Set(y),_=[].concat(Ope(I));if(_.length>0){var N=_.join(",");a[c][m]=N,a.hasOwnProperty(N)||r.unshift(_)}}}catch(e){p=!0,d=e}finally{try{!l&&f.return&&f.return()}finally{if(p)throw d}}}return this._transitionTable=this._remapStateNumbers(a)}},{key:"_remapStateNumbers",value:function(e){var t={};this._originalTransitionTable=e;var n={};for(var r in Object.keys(e).forEach(function(e,n){t[e]=n+1}),e){var i=e[r],s={};for(var a in i)s[a]=t[i[a]];n[t[r]]=s}this._originalAcceptingStateNumbers=this._acceptingStateNumbers,this._acceptingStateNumbers=new Set;var o=!0,u=!1,c=void 0;try{for(var l,p=this._originalAcceptingStateNumbers[Symbol.iterator]();!(o=(l=p.next()).done);o=!0){var d=l.value;this._acceptingStateNumbers.add(t[d])}}catch(e){u=!0,c=e}finally{try{!o&&p.return&&p.return()}finally{if(u)throw c}}return n}},{key:"getOriginalTransitionTable",value:function(){return this._originalTransitionTable||this.getTransitionTable(),this._originalTransitionTable}},{key:"matches",value:function(e){for(var t=1,n=0,r=this.getTransitionTable();e[n];)if(!(t=r[t][e[n++]]))return!1;return!!this.getAcceptingStateNumbers().has(t)}}]),e}(),Bpe=Mpe;Bpe.default;var Rpe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var jpe=function(){function e(){var t=(arguments.length>0&&void 0!==arguments[0]?arguments[0]:{}).accepting,n=void 0!==t&&t;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._transitions=new Map,this.accepting=n}return Rpe(e,[{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}}]),e}(),Upe=jpe;Upe.default;var qpe=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var Jpe=Upe,$pe=gpe.EPSILON,Vpe=function(){function e(){return function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),function(e,t){if(!e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return!t||"object"!=typeof t&&"function"!=typeof t?e:t}(this,(e.__proto__||Object.getPrototypeOf(e)).apply(this,arguments))}return function(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function, not "+typeof t);e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,enumerable:!1,writable:!0,configurable:!0}}),t&&(Object.setPrototypeOf?Object.setPrototypeOf(e,t):e.__proto__=t)}(e,Jpe),qpe(e,[{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,r=!1,i=void 0;try{for(var s,a=this.getTransitionsOnSymbol($pe)[Symbol.iterator]();!(n=(s=a.next()).done);n=!0){if(s.value.matches("",t))return!0}}catch(e){r=!0,i=e}finally{try{!n&&a.return&&a.return()}finally{if(r)throw i}}return!1}var o=e[0],u=e.slice(1),c=this.getTransitionsOnSymbol(o),l=!0,p=!1,d=void 0;try{for(var h,f=c[Symbol.iterator]();!(l=(h=f.next()).done);l=!0){if(h.value.matches(u))return!0}}catch(e){p=!0,d=e}finally{try{!l&&f.return&&f.return()}finally{if(p)throw d}}var m=!0,y=!1,g=void 0;try{for(var b,x=this.getTransitionsOnSymbol($pe)[Symbol.iterator]();!(m=(b=x.next()).done);m=!0){if(b.value.matches(e,t))return!0}}catch(e){y=!0,g=e}finally{try{!m&&x.return&&x.return()}finally{if(y)throw g}}return!1}},{key:"getEpsilonClosure",value:function(){var e=this;return this._epsilonClosure||function(){var t=e.getTransitionsOnSymbol($pe),n=e._epsilonClosure=new Set;n.add(e);var r=!0,i=!1,s=void 0;try{for(var a,o=t[Symbol.iterator]();!(r=(a=o.next()).done);r=!0){var u=a.value;if(!n.has(u))n.add(u),u.getEpsilonClosure().forEach(function(e){return n.add(e)})}}catch(e){i=!0,s=e}finally{try{!r&&o.return&&o.return()}finally{if(i)throw s}}}(),this._epsilonClosure}}]),e}(),Kpe=Vpe;Kpe.default;var Wpe=Ppe,Xpe=Kpe,Hpe=gpe.EPSILON;function zpe(e){var t=new Xpe,n=new Xpe({accepting:!0});return new Wpe(t.addTransition(e,n),n)}function Ype(e,t){return e.out.accepting=!1,t.out.accepting=!0,e.out.addTransition(Hpe,t.in),new Wpe(e.in,t.out)}function Gpe(e,t){var n=new Xpe,r=new Xpe;return n.addTransition(Hpe,e.in),n.addTransition(Hpe,t.in),r.accepting=!0,e.out.accepting=!1,t.out.accepting=!1,e.out.addTransition(Hpe,r),t.out.addTransition(Hpe,r),new Wpe(n,r)}var Qpe={alt:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=!0,s=!1,a=void 0;try{for(var o,u=n[Symbol.iterator]();!(i=(o=u.next()).done);i=!0){e=Ype(e,o.value)}}catch(e){s=!0,a=e}finally{try{!i&&u.return&&u.return()}finally{if(s)throw a}}return e},char:zpe,e:function(){return zpe(Hpe)},or:function(e){for(var t=arguments.length,n=Array(t>1?t-1:0),r=1;r<t;r++)n[r-1]=arguments[r];var i=!0,s=!1,a=void 0;try{for(var o,u=n[Symbol.iterator]();!(i=(o=u.next()).done);i=!0){e=Gpe(e,o.value)}}catch(e){s=!0,a=e}finally{try{!i&&u.return&&u.return()}finally{if(s)throw a}}return e},rep:function(e){return e.in.addTransition(Hpe,e.out),e.out.addTransition(Hpe,e.in),e},repExplicit:function(e){var t=new Xpe,n=new Xpe({accepting:!0});return t.addTransition(Hpe,e.in),t.addTransition(Hpe,n),e.out.accepting=!1,e.out.addTransition(Hpe,n),n.addTransition(Hpe,e.in),new Wpe(t,n)},plusRep:function(e){return e.out.addTransition(Hpe,e.in),e},questionRep:function(e){return e.in.addTransition(Hpe,e.out),e}};var Zpe=Jce,ede=Qpe.alt,tde=Qpe.char,nde=Qpe.or,rde=Qpe.rep,ide=Qpe.plusRep,sde=Qpe.questionRep;function ade(e){if(e&&!ode[e.type])throw new Error(e.type+" is not supported in NFA/DFA interpreter.");return e?ode[e.type](e):""}var ode={RegExp:function(e){if(""!==e.flags)throw new Error("NFA/DFA: Flags are not supported yet.");return ade(e.body)},Alternative:function(e){var t=(e.expressions||[]).map(ade);return ede.apply(void 0,function(e){if(Array.isArray(e)){for(var t=0,n=Array(e.length);t<e.length;t++)n[t]=e[t];return n}return Array.from(e)}(t))},Disjunction:function(e){return nde(ade(e.left),ade(e.right))},Repetition:function(e){switch(e.quantifier.kind){case"*":return rde(ade(e.expression));case"+":return ide(ade(e.expression));case"?":return sde(ade(e.expression));default:throw new Error("Unknown repeatition: "+e.quantifier.kind+".")}},Char:function(e){if("simple"!==e.kind)throw new Error("NFA/DFA: Only simple chars are supported yet.");return tde(e.value)},Group:function(e){return ade(e.expression)}},ude={build:function(e){var t=e;return e instanceof RegExp&&(e=""+e),"string"==typeof e&&(t=Zpe.parse(e,{captureLocations:!0})),ade(t)}},cde=Bpe,lde=ude,pde={NFA:Ppe,DFA:cde,builders:Qpe,toNFA:function(e){return lde.build(e)},toDFA:function(e){return new cde(this.toNFA(e))},test:function(e,t){return this.toDFA(e).matches(t)}},dde=function(){function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}return function(t,n,r){return n&&e(t.prototype,n),r&&e(t,r),t}}();var hde=function(){function e(t,n){var r=n.flags,i=n.groups,s=n.source;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,e),this._re=t,this._groups=i,this.flags=r,this.source=s||t.source,this.dotAll=r.includes("s"),this.global=t.global,this.ignoreCase=t.ignoreCase,this.multiline=t.multiline,this.sticky=t.sticky,this.unicode=t.unicode}return dde(e,[{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 n in t.groups={},this._groups){var r=this._groups[n];t.groups[n]=t[r]}return t}}]),e}(),fde=sle,mde=Kue,yde=ype,gde=Jce,bde=nle,xde=Yce,Sde={RegExpTree:hde}.RegExpTree,Tde={parser:gde,fa:pde,TransformResult:bde.TransformResult,parse:function(e,t){return gde.parse(""+e,t)},traverse:function(e,t,n){return xde.traverse(e,t,n)},transform:function(e,t){return bde.transform(e,t)},generate:function(e){return mde.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]:{}).blacklist;return yde.optimize(e,{whitelist:t,blacklist:n})},compatTranspile:function(e,t){return fde.transform(e,t)},exec:function(e,t){if("string"==typeof e){var n=this.compatTranspile(e),r=n.getExtra();e=r.namedCapturingGroups?new Sde(n.toRegExp(),{flags:n.getFlags(),source:n.getSource(),groups:r.namedCapturingGroups}):n.toRegExp()}return e.exec(t)}};const Ede=Tde,Pde=({type:e,kind:t})=>"Char"!==e||"simple"!==t;var vde=e=>{let t=!1;const n=Ede.parse(e);return"Alternative"===n.body.type&&(Ede.traverse(n,{RegExp({node:e}){const{expressions:n}=e.body;t=Boolean(n.find(Pde))}}),!t)},Ade={};const Cde=Tde;Ade.transformRegExp=(e,{report:t,traverse:n,fix:r})=>{const i=Cde.parse(e,{captureLocations:!0}),s=[];return Cde.traverse(i,n({push:e=>{const{start:n}=(e.path||e).node.loc;s.push({position:n,message:t(e)}),r(e)}})),[Cde.generate(i),s]};const wde=vde,{transformRegExp:kde}=Ade;var Ide={isSimpleRegExp:wde,transformRegExp:kde},_de={};const{compareAny:Nde}=Tee,{template:Lde}=Kj,{types:Ode}=st,{isBlockStatement:Dde,isFunction:Fde,isLabeledStatement:Mde,isObjectPattern:Bde,isCallExpression:Rde,objectPattern:jde,objectProperty:Ude}=Ode,{entries:qde}=Object,Jde=!0,$de=e=>e.isCallExpression()||e.isStatement(),Vde=e=>Rde(e.find($de)),Kde=({name:e})=>`Argument '${e}' is missing`;_de.addArgs=e=>({report:Kde,fix:Wde,traverse:Xde(e)});const Wde=({declaration:e,path:t,pattern:n,params:r,index:i})=>{const s=Lde.ast.fresh(e);if(Dde(s)){const e=function(e){if(!Mde(e)){const{expression:t}=e;return Ude(t,t,!1,Jde)}const{label:t,body:n}=e;return Ude(t,n.expression,!1,Jde)}(s.body[0]);return n.properties.push(e),Bde(r[i])?void 0:r.push(n)}t.scope.block.params=[s]},Xde=e=>({push:t,options:n})=>{const r={...n.args,...e};return{ReferencedIdentifier(e){for(const[n,[i,s,a]]of qde(r)){if(e.node.name!==n)continue;if(e.scope.hasBinding(n))continue;if(!Vde(e))continue;const r=e.find(Fde);if(!r)continue;const{block:o}=r.scope;if(!Nde(e.scope.path,s))continue;if(Nde(e.scope.path,a))continue;const{params:u}=o,[c,l]=Hde(u);if(Bde(l))return void t({name:n,index:c,declaration:i,path:e,params:u,pattern:l});if(u.length>=3)return;t({name:n,index:c,declaration:i,path:e,params:u,pattern:jde([])})}}}};function Hde(e){for(const[t,n]of e.entries())if(Bde(n))return[t,n];return[-1,null]}var zde={};const Yde=["import","export"],Gde=["const","var","let"],Qde=["if"],Zde=["readonly","implements","declare","module","type"],ehe=["interface","static"],the=[...Qde,...Gde,...Yde,...ehe,"async","break","continue","for","else","from","return","throw","of","while","class","extends","default"],nhe=[...the,"as","await","new","yield","typeof","function"];zde.isKeyword=e=>nhe.includes(e),zde.isDeclarationKeyword=e=>Gde.includes(e),zde.isModuleDeclarationKeyword=e=>Yde.includes(e),zde.isConditionKeyword=e=>Qde.includes(e),zde.isStatementKeyword=e=>the.includes(e),zde.isTSKeyword=e=>{const t=Zde.includes(e),n=ehe.includes(e);return t||n};var rhe={};const{relative:ihe}=k6,she=p8,ahe=e=>!e.indexOf("!"),ohe=e=>e.replace(/^!/,"");var uhe=(e,t,n={})=>{const r=ihe(e,t),i=she(),s=function(e){for(const[t,n]of e.entries()){const r=e.indexOf(ohe(n));ahe(n)&&r>t&&(e[r]=n)}const t=new Set(e);return Array.from(t)}(n.ignore||[]);return i.add(s),e&&i.ignores(r)};const che=k6,{parse:lhe,print:phe}=Kj,{transform:dhe}=Yoe,{findPlaces:hhe}=iue,fhe=uhe,{toJS:mhe,fromJS:yhe}=w4,{readFileContent:ghe,findFile:bhe,writeFileContent:xhe,getFilename:She,createFile:The,removeFile:Ehe,getParentDirectory:Phe}=Fse,{join:vhe}=che,Ahe=e=>e&&"object"==typeof e,{entries:Che}=Object,whe=(e,{message:t})=>t;function khe(e,{dirPath:t,matchInputFilename:n,outputFilename:r,matchedJS:i,matchedAST:s,options:a}){dhe(s,i,a);const o=function(e,t){if(/\.json$/.test(e)){const e=phe(t);return yhe(e)}return phe(t)}(r,s),u=function({dirPath:e,matchInputFilename:t,outputFilename:n,inputFile:r}){if(t===n)return r;const i=vhe(She(e),n),[s]=bhe(e,i);return s||The(e,n)}({dirPath:t,matchInputFilename:n,outputFilename:r,inputFile:e});xhe(u,o),e!==u&&Ehe(e)}rhe.matchFiles=e=>{const{filename:t}=e,n=e.files??e,r=e.exclude??[];!function(e){for(const[,t]of Che(e))if(!Ahe(t))throw Error(`☝️ Looks like provided to 'matchFiles()' typeof of plugin is not an 'object' but '${typeof t}'`)}(n);return{fix:khe,scan:Ihe({defaultFilename:t,files:n,exclude:r}),report:whe}};const Ihe=({files:e,exclude:t,defaultFilename:n})=>(r,{push:i,progress:s,options:a})=>{const o=[],u=She(r);a.filename=a.filename??n;for(const[n,i]of Che(e)){const[e]=Nhe(n,a),s=bhe(r,e,t);for(const e of s){const t=Phe(e),r=She(e),[s,c=s]=Nhe(n,{filename:r});fhe(u,r,a)||o.push({dirPath:t,matchInputFilename:s,rawOptions:i,inputFile:e,inputFilename:r,outputFilename:c})}}const c=o.length;for(const[e,t]of o.entries()){const{dirPath:n,matchInputFilename:r,inputFile:a,inputFilename:o,outputFilename:u,rawOptions:l}=t;s({i:e,n:c});const p=ghe(a)||"{}",[d,h]=_he(o,p),f=Lhe(o,l),m=hhe(h,d,f);if(!m.length)continue;const{message:y}=m[0];i(a,{dirPath:n,matchInputFilename:r,outputFilename:u,message:y,options:f,matchedAST:h,matchedJS:d})}};function _he(e,t){if(/\.json$/.test(e)){const e=mhe(t);return[e,lhe(e)]}if(/\.(c|m)?ts(x)?$/.test(e)){return[t,lhe(t,{isTS:!0})]}return[t,lhe(t)]}function Nhe(e,t){const{filename:n}=t;if(!n)return e.split(" -> ");const{ext:r,name:i}=che.parse(n);return(e=(e=e.replaceAll("__name",i)).replaceAll("__ext",r)).split(" -> ")}function Lhe(e,t){if(t.plugins)return t;return{plugins:[[`match-file: ${e}`,t]]}}var Ohe={};const{join:Dhe}=k6,{getParentDirectory:Fhe,getFilename:Mhe,readFileContent:Bhe,findFile:Rhe,renameFile:jhe}=Fse,{parse:Uhe}=JSON;Ohe.renameFiles=({type:e,mask:t,rename:n})=>({report:qhe,fix:Jhe,scan:$he({type:e,mask:t,rename:n})});const qhe=(e,{from:t,to:n})=>`Rename '${t}' to '${n}'`,Jhe=(e,{to:t})=>{jhe(e,t)},$he=({type:e,mask:t,rename:n})=>(r,{push:i,trackFile:s})=>{for(const a of s(r,t)){if(e&&!Vhe(e,a))continue;const t=Mhe(a);i(a,{from:t,to:n(t)})}};function Vhe(e,t){const n=function(e){let t,n=Fhe(e);do{const e=Mhe(n);[t]=Rhe(n,Dhe(e,"package.json"))}while(!t&&(n=Fhe(n)));return t}(t);if("commonjs"===e&&!n)return!0;if(!n)return!1;const r=Bhe(n);if(!r)return!1;return(Uhe(r).type||"commonjs")===e}var Khe={};const{types:Whe}=st,{traverseProperties:Xhe}=MK,{stringLiteral:Hhe}=Whe,zhe=({value:e})=>e;Khe.ignore=(e,{name:t,property:n,list:r})=>{const[,i]=e.split(/\(|\)/);return{report:Yhe(t),match:Ghe({type:e,property:n,collector:i,list:r}),replace:Qhe({type:e,property:n,collector:i,list:r})}};const Yhe=e=>()=>`Add dotfiles to '${e}'`,Ghe=({type:e,property:t,collector:n,list:r})=>({options:i})=>{const{dismiss:s=[]}=i,a=Zhe(r,s);return{[e]:e=>{const r=efe(e,{property:t,collector:n});if(!r)return!1;const i=r.map(zhe);for(const e of a)if(!i.includes(e))return!0;return!1}}},Qhe=({type:e,property:t,collector:n,list:r})=>({options:i})=>{const{dismiss:s=[]}=i,a=Zhe(r,s);return{[e]:(e,r)=>{const i=efe(e,{property:t,collector:n}),s=i.map(zhe);for(const e of a)s.includes(e)||i.push(Hhe(e));return r}}};function Zhe(e,t){const n=[];for(const r of e)t.includes(r)||n.push(r);return n}function efe(e,{property:t,collector:n}){const r=e[n];if(!t)return r.elements;const[i]=Xhe(r,t);return i?i.node.value.elements:null}var tfe={};const{types:nfe}=st,{parenthesizedExpression:rfe,tsParenthesizedType:ife}=nfe;function sfe(e){return e.scope.getProgramParent().path.node.extra.__putout_printer}function afe(e,t=sfe(e)){if("babel"!==t)return e.node.extra?.parenthesized;const{type:n}=e.parentPath;return/^(TS)?Parenthesized(Expression|Type)?$/.test(n)}tfe.hasParens=afe,tfe.addParens=e=>{const t=sfe(e);if(afe(e,t))return e;if("babel"!==t){const{extra:t={}}=e.node;return t.parenthesized=!0,e.node.extra=t,e}const{node:n}=e;return e.type.startsWith("TS")?e.replaceWith(ife(n)):(e.replaceWith(rfe(n)),e)},tfe.removeParens=e=>{const t=sfe(e);if(!afe(e,t))return e;if("babel"!==t)return e.node.extra.parenthesized=!1,e;const{node:n}=e;return e.parentPath.replaceWith(n),e};const{codeFrameColumns:ofe}=st;var ufe=({source:e,error:t,highlightCode:n=!0})=>{const{message:r,loc:i}=t;if(!i)return r;return ofe(e,{start:i},{highlightCode:n,message:r})};const{traverse:cfe,types:lfe}=st,{parse:pfe,print:dfe,generate:hfe,template:ffe}=Kj,{cutShebang:mfe,mergeShebang:yfe}=l6,{defaultOptions:gfe}=p6,{transform:bfe,transformAsync:xfe}=Yoe,{findPlaces:Sfe,findPlacesAsync:Tfe}=iue;n.exports=Pfe;var Efe=n.exports.putout=Pfe;function Pfe(e,t){jfe(e),t=gfe(t);const{parser:n,isTS:r,isJSX:i,printer:s}=t,[a,o]=mfe(e),u=pfe(a,{parser:n,isTS:r,isJSX:i,printer:s}),c=bfe(u,e,t);if(!t.fix)return{code:e,places:c};const l=dfe(u,{printer:s,source:e});return{code:yfe(o,l),places:c}}var vfe=n.exports.putoutAsync=async(e,t)=>{jfe(e),t=gfe(t);const{parser:n,isTS:r,isJSX:i,printer:s}=t,[a,o]=mfe(e),u=pfe(a,{parser:n,isTS:r,isJSX:i,printer:s}),c=await xfe(u,e,t);if(!t.fix)return{code:e,places:c};const l=dfe(u,{printer:s});return{code:yfe(o,l),places:c}},Afe=n.exports.transform=bfe,Cfe=n.exports.transformAsync=xfe,wfe=n.exports.findPlaces=Sfe,kfe=n.exports.findPlacesAsync=Tfe,Ife=n.exports.parse=pfe,_fe=n.exports.print=dfe,Nfe=n.exports.traverse=cfe,Lfe=n.exports.types=lfe,Ofe=n.exports.template=ffe,Dfe=n.exports.generate=hfe,Ffe=n.exports.initReport=cue,Mfe=n.exports.operator={...MK,...Tee,...lue,...w4,...Aue,...ase,...Ide,..._de,...Fse,...zde,...rhe,...Ohe,...Khe,...tfe},Bfe=n.exports.ignores=uhe,Rfe=n.exports.codeframe=ufe;function jfe(e){if(!(e=>"string"==typeof e)(e))throw Error(`☝️ Looks like 'source' has type '${typeof e}', expected: 'string'`)}var Ufe=n.exports;export{Rfe as codeframe,Ufe as default,wfe as findPlaces,kfe as findPlacesAsync,Dfe as generate,Bfe as ignores,Ffe as initReport,Mfe as operator,Ife as parse,_fe as print,Efe as putout,vfe as putoutAsync,Ofe as template,Afe as transform,Cfe as transformAsync,Nfe as traverse,Lfe as types};
|