eazy-git 0.2.3 → 0.2.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +22 -26
- package/dist/index.js +81 -47
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -5,8 +5,8 @@
|
|
|
5
5
|
[](https://www.npmjs.com/package/eazy-git)
|
|
6
6
|
[](https://opensource.org/licenses/MIT)
|
|
7
7
|
[](https://github.com/jaime00/eazy-git/stargazers)
|
|
8
|
-
---
|
|
9
8
|
|
|
9
|
+
---
|
|
10
10
|
|
|
11
11
|
## 🚀 Installation
|
|
12
12
|
|
|
@@ -14,7 +14,7 @@ Install it globally with npm:
|
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
16
|
npm install -g eazy-git
|
|
17
|
-
|
|
17
|
+
```
|
|
18
18
|
|
|
19
19
|
Or clone it and Link it locally for development:
|
|
20
20
|
|
|
@@ -27,7 +27,6 @@ npm link
|
|
|
27
27
|
|
|
28
28
|
---
|
|
29
29
|
|
|
30
|
-
|
|
31
30
|
## ⚙️ Usage
|
|
32
31
|
|
|
33
32
|
Run the main command from the root of your Git repository:
|
|
@@ -35,6 +34,7 @@ Run the main command from the root of your Git repository:
|
|
|
35
34
|
```bash
|
|
36
35
|
eazy-git
|
|
37
36
|
```
|
|
37
|
+
|
|
38
38
|
or
|
|
39
39
|
|
|
40
40
|
```bash
|
|
@@ -43,32 +43,31 @@ eg
|
|
|
43
43
|
|
|
44
44
|
---
|
|
45
45
|
|
|
46
|
-
|
|
47
46
|
## 🧰 Available Commands
|
|
48
47
|
|
|
49
|
-
| Command
|
|
50
|
-
|
|
|
51
|
-
| `eazy-git`, `eg`, `asd`
|
|
52
|
-
| `pull`
|
|
53
|
-
| `push`
|
|
54
|
-
| `removelast`
|
|
55
|
-
| `mergewith`
|
|
56
|
-
| `commit`
|
|
57
|
-
| `back`
|
|
58
|
-
| `checkout`
|
|
59
|
-
| `log`
|
|
60
|
-
| `run`
|
|
61
|
-
| `runrun`
|
|
62
|
-
| `i`
|
|
63
|
-
| `-version`, `-v`
|
|
64
|
-
| `-help`, `-h`
|
|
48
|
+
| Command | Description |
|
|
49
|
+
| --------------------------------------- | ------------------------------------------------------------------------------------------------------ |
|
|
50
|
+
| `eazy-git`, `eg`, `asd` | Launch the interactive CLI to create and manage Git branches (note: `asd` is an easter egg command 🥚) |
|
|
51
|
+
| `pull` | Pull latest changes from remote repository (`git pull origin HEAD`) |
|
|
52
|
+
| `push` | Push local changes to remote repository (`git push origin HEAD`) |
|
|
53
|
+
| `removelast` | Undo last commit while preserving changes in working directory |
|
|
54
|
+
| `mergewith` | Merge current branch with another remote branch (defaults to `origin/develop`) |
|
|
55
|
+
| `commit` | Stage and commit changes with an interactive prompt |
|
|
56
|
+
| `back` | Switch back to the previously checked out branch |
|
|
57
|
+
| `checkout` | Switch to a specified branch or return to the previous branch if no branch name is provided |
|
|
58
|
+
| `log` | Display formatted commit history with details |
|
|
59
|
+
| `run` | Start development server (`npm run dev`) |
|
|
60
|
+
| `runrun` | Clean development server restart (removes `.next` folder and runs `npm run dev`) |
|
|
61
|
+
| `i` | Install project dependencies using configured auth token |
|
|
62
|
+
| `-version`, `-v` | Display installed package version |
|
|
63
|
+
| `-help`, `-h` _(under construction 🚧)_ | Show command usage and documentation |
|
|
65
64
|
|
|
66
65
|
---
|
|
67
66
|
|
|
68
|
-
|
|
69
67
|
## 📁 Project Structure
|
|
70
68
|
|
|
71
69
|
The project is organized in a modular fashion for easy maintenance and extension. The main directory and file structure is detailed below:
|
|
70
|
+
|
|
72
71
|
```
|
|
73
72
|
eazy-git/
|
|
74
73
|
├── src/
|
|
@@ -112,7 +111,7 @@ eazy-git/
|
|
|
112
111
|
│ ├── hasGitInstalled.js
|
|
113
112
|
│ ├── isEmpty.js
|
|
114
113
|
│ └── validateTicketOfJIRA.js
|
|
115
|
-
│
|
|
114
|
+
│
|
|
116
115
|
├── build.js
|
|
117
116
|
├── git.js
|
|
118
117
|
├── index.js
|
|
@@ -124,7 +123,6 @@ eazy-git/
|
|
|
124
123
|
|
|
125
124
|
---
|
|
126
125
|
|
|
127
|
-
|
|
128
126
|
## 🛠️ Contribute
|
|
129
127
|
|
|
130
128
|
Contributions welcome! To get started:
|
|
@@ -142,14 +140,12 @@ Please open an [issue](https://github.com/jaime00/eazy-git/issues) to report bug
|
|
|
142
140
|
|
|
143
141
|
---
|
|
144
142
|
|
|
145
|
-
|
|
146
143
|
## 📝 License
|
|
147
144
|
|
|
148
145
|
Distributed under the MIT [License](LICENSE).
|
|
149
146
|
|
|
150
147
|
---
|
|
151
148
|
|
|
152
|
-
|
|
153
149
|
## 📬 Contact
|
|
154
150
|
|
|
155
151
|
- 🌐 **Portfolio**: [Visit my website](https://jaime00portfolio.netlify.app/)
|
|
@@ -159,4 +155,4 @@ Distributed under the MIT [License](LICENSE).
|
|
|
159
155
|
|
|
160
156
|
For contributions, bug reports, or suggestions, please open an [issue](https://github.com/jaime00/eazy-git/issues) in the repository.
|
|
161
157
|
|
|
162
|
-
---
|
|
158
|
+
---
|
package/dist/index.js
CHANGED
|
@@ -1,55 +1,89 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
var TD=Object.create;var wu=Object.defineProperty;var OD=Object.getOwnPropertyDescriptor;var kD=Object.getOwnPropertyNames;var RD=Object.getPrototypeOf,SD=Object.prototype.hasOwnProperty;var Tu=(e,D)=>()=>(D||e((D={exports:{}}).exports,D),D.exports);var MD=(e,D,t,r)=>{if(D&&typeof D=="object"||typeof D=="function")for(let s of kD(D))!SD.call(e,s)&&s!==t&&wu(e,s,{get:()=>D[s],enumerable:!(r=OD(D,s))||r.enumerable});return e};var W=(e,D,t)=>(t=e!=null?TD(RD(e)):{},MD(D||!e||!e.__esModule?wu(t,"default",{value:e,enumerable:!0}):t,e));var ou=Tu((Qe,Ou)=>{"use strict";var su="\x1B",C=`${su}[`,ID="\x07",iu={to(e,D){return D?`${C}${D+1};${e+1}H`:`${C}${e+1}G`},move(e,D){let t="";return e<0?t+=`${C}${-e}D`:e>0&&(t+=`${C}${e}C`),D<0?t+=`${C}${-D}A`:D>0&&(t+=`${C}${D}B`),t},up:(e=1)=>`${C}${e}A`,down:(e=1)=>`${C}${e}B`,forward:(e=1)=>`${C}${e}C`,backward:(e=1)=>`${C}${e}D`,nextLine:(e=1)=>`${C}E`.repeat(e),prevLine:(e=1)=>`${C}F`.repeat(e),left:`${C}G`,hide:`${C}?25l`,show:`${C}?25h`,save:`${su}7`,restore:`${su}8`},_D={up:(e=1)=>`${C}S`.repeat(e),down:(e=1)=>`${C}T`.repeat(e)},jD={screen:`${C}2J`,up:(e=1)=>`${C}1J`.repeat(e),down:(e=1)=>`${C}J`.repeat(e),line:`${C}2K`,lineEnd:`${C}K`,lineStart:`${C}1K`,lines(e){let D="";for(let t=0;t<e;t++)D+=this.line+(t<e-1?iu.up():"");return e&&(D+=iu.left),D}};Ou.exports={cursor:iu,scroll:_D,erase:jD,beep:ID}});var au=Tu((Xe,nu)=>{var U=process||{},ku=U.argv||[],Y=U.env||{},ND=!(Y.NO_COLOR||ku.includes("--no-color"))&&(!!Y.FORCE_COLOR||ku.includes("--color")||U.platform==="win32"||(U.stdout||{}).isTTY&&Y.TERM!=="dumb"||!!Y.CI),PD=(e,D,t=e)=>r=>{let s=""+r,i=s.indexOf(D,e.length);return~i?e+GD(s,D,t,i)+D:e+s+D},GD=(e,D,t,r)=>{let s="",i=0;do s+=e.substring(i,r)+t,i=r+D.length,r=e.indexOf(D,i);while(~r);return s+e.substring(i)},Ru=(e=ND)=>{let D=e?PD:()=>String;return{isColorSupported:e,reset:D("\x1B[0m","\x1B[0m"),bold:D("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:D("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:D("\x1B[3m","\x1B[23m"),underline:D("\x1B[4m","\x1B[24m"),inverse:D("\x1B[7m","\x1B[27m"),hidden:D("\x1B[8m","\x1B[28m"),strikethrough:D("\x1B[9m","\x1B[29m"),black:D("\x1B[30m","\x1B[39m"),red:D("\x1B[31m","\x1B[39m"),green:D("\x1B[32m","\x1B[39m"),yellow:D("\x1B[33m","\x1B[39m"),blue:D("\x1B[34m","\x1B[39m"),magenta:D("\x1B[35m","\x1B[39m"),cyan:D("\x1B[36m","\x1B[39m"),white:D("\x1B[37m","\x1B[39m"),gray:D("\x1B[90m","\x1B[39m"),bgBlack:D("\x1B[40m","\x1B[49m"),bgRed:D("\x1B[41m","\x1B[49m"),bgGreen:D("\x1B[42m","\x1B[49m"),bgYellow:D("\x1B[43m","\x1B[49m"),bgBlue:D("\x1B[44m","\x1B[49m"),bgMagenta:D("\x1B[45m","\x1B[49m"),bgCyan:D("\x1B[46m","\x1B[49m"),bgWhite:D("\x1B[47m","\x1B[49m"),blackBright:D("\x1B[90m","\x1B[39m"),redBright:D("\x1B[91m","\x1B[39m"),greenBright:D("\x1B[92m","\x1B[39m"),yellowBright:D("\x1B[93m","\x1B[39m"),blueBright:D("\x1B[94m","\x1B[39m"),magentaBright:D("\x1B[95m","\x1B[39m"),cyanBright:D("\x1B[96m","\x1B[39m"),whiteBright:D("\x1B[97m","\x1B[39m"),bgBlackBright:D("\x1B[100m","\x1B[49m"),bgRedBright:D("\x1B[101m","\x1B[49m"),bgGreenBright:D("\x1B[102m","\x1B[49m"),bgYellowBright:D("\x1B[103m","\x1B[49m"),bgBlueBright:D("\x1B[104m","\x1B[49m"),bgMagentaBright:D("\x1B[105m","\x1B[49m"),bgCyanBright:D("\x1B[106m","\x1B[49m"),bgWhiteBright:D("\x1B[107m","\x1B[49m")}};nu.exports=Ru();nu.exports.createColors=Ru});var d=W(ou(),1),Wu=W(au(),1);import{stdin as Lu,stdout as Vu}from"node:process";import*as k from"node:readline";import Su from"node:readline";import{Writable as LD}from"node:stream";function VD({onlyFirst:e=!1}={}){let D=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(D,e?void 0:"g")}var WD=VD();function Yu(e){if(typeof e!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof e}\``);return e.replace(WD,"")}function Uu(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var Ku={exports:{}};(function(e){var D={};e.exports=D,D.eastAsianWidth=function(r){var s=r.charCodeAt(0),i=r.length==2?r.charCodeAt(1):0,u=s;return 55296<=s&&s<=56319&&56320<=i&&i<=57343&&(s&=1023,i&=1023,u=s<<10|i,u+=65536),u==12288||65281<=u&&u<=65376||65504<=u&&u<=65510?"F":u==8361||65377<=u&&u<=65470||65474<=u&&u<=65479||65482<=u&&u<=65487||65490<=u&&u<=65495||65498<=u&&u<=65500||65512<=u&&u<=65518?"H":4352<=u&&u<=4447||4515<=u&&u<=4519||4602<=u&&u<=4607||9001<=u&&u<=9002||11904<=u&&u<=11929||11931<=u&&u<=12019||12032<=u&&u<=12245||12272<=u&&u<=12283||12289<=u&&u<=12350||12353<=u&&u<=12438||12441<=u&&u<=12543||12549<=u&&u<=12589||12593<=u&&u<=12686||12688<=u&&u<=12730||12736<=u&&u<=12771||12784<=u&&u<=12830||12832<=u&&u<=12871||12880<=u&&u<=13054||13056<=u&&u<=19903||19968<=u&&u<=42124||42128<=u&&u<=42182||43360<=u&&u<=43388||44032<=u&&u<=55203||55216<=u&&u<=55238||55243<=u&&u<=55291||63744<=u&&u<=64255||65040<=u&&u<=65049||65072<=u&&u<=65106||65108<=u&&u<=65126||65128<=u&&u<=65131||110592<=u&&u<=110593||127488<=u&&u<=127490||127504<=u&&u<=127546||127552<=u&&u<=127560||127568<=u&&u<=127569||131072<=u&&u<=194367||177984<=u&&u<=196605||196608<=u&&u<=262141?"W":32<=u&&u<=126||162<=u&&u<=163||165<=u&&u<=166||u==172||u==175||10214<=u&&u<=10221||10629<=u&&u<=10630?"Na":u==161||u==164||167<=u&&u<=168||u==170||173<=u&&u<=174||176<=u&&u<=180||182<=u&&u<=186||188<=u&&u<=191||u==198||u==208||215<=u&&u<=216||222<=u&&u<=225||u==230||232<=u&&u<=234||236<=u&&u<=237||u==240||242<=u&&u<=243||247<=u&&u<=250||u==252||u==254||u==257||u==273||u==275||u==283||294<=u&&u<=295||u==299||305<=u&&u<=307||u==312||319<=u&&u<=322||u==324||328<=u&&u<=331||u==333||338<=u&&u<=339||358<=u&&u<=359||u==363||u==462||u==464||u==466||u==468||u==470||u==472||u==474||u==476||u==593||u==609||u==708||u==711||713<=u&&u<=715||u==717||u==720||728<=u&&u<=731||u==733||u==735||768<=u&&u<=879||913<=u&&u<=929||931<=u&&u<=937||945<=u&&u<=961||963<=u&&u<=969||u==1025||1040<=u&&u<=1103||u==1105||u==8208||8211<=u&&u<=8214||8216<=u&&u<=8217||8220<=u&&u<=8221||8224<=u&&u<=8226||8228<=u&&u<=8231||u==8240||8242<=u&&u<=8243||u==8245||u==8251||u==8254||u==8308||u==8319||8321<=u&&u<=8324||u==8364||u==8451||u==8453||u==8457||u==8467||u==8470||8481<=u&&u<=8482||u==8486||u==8491||8531<=u&&u<=8532||8539<=u&&u<=8542||8544<=u&&u<=8555||8560<=u&&u<=8569||u==8585||8592<=u&&u<=8601||8632<=u&&u<=8633||u==8658||u==8660||u==8679||u==8704||8706<=u&&u<=8707||8711<=u&&u<=8712||u==8715||u==8719||u==8721||u==8725||u==8730||8733<=u&&u<=8736||u==8739||u==8741||8743<=u&&u<=8748||u==8750||8756<=u&&u<=8759||8764<=u&&u<=8765||u==8776||u==8780||u==8786||8800<=u&&u<=8801||8804<=u&&u<=8807||8810<=u&&u<=8811||8814<=u&&u<=8815||8834<=u&&u<=8835||8838<=u&&u<=8839||u==8853||u==8857||u==8869||u==8895||u==8978||9312<=u&&u<=9449||9451<=u&&u<=9547||9552<=u&&u<=9587||9600<=u&&u<=9615||9618<=u&&u<=9621||9632<=u&&u<=9633||9635<=u&&u<=9641||9650<=u&&u<=9651||9654<=u&&u<=9655||9660<=u&&u<=9661||9664<=u&&u<=9665||9670<=u&&u<=9672||u==9675||9678<=u&&u<=9681||9698<=u&&u<=9701||u==9711||9733<=u&&u<=9734||u==9737||9742<=u&&u<=9743||9748<=u&&u<=9749||u==9756||u==9758||u==9792||u==9794||9824<=u&&u<=9825||9827<=u&&u<=9829||9831<=u&&u<=9834||9836<=u&&u<=9837||u==9839||9886<=u&&u<=9887||9918<=u&&u<=9919||9924<=u&&u<=9933||9935<=u&&u<=9953||u==9955||9960<=u&&u<=9983||u==10045||u==10071||10102<=u&&u<=10111||11093<=u&&u<=11097||12872<=u&&u<=12879||57344<=u&&u<=63743||65024<=u&&u<=65039||u==65533||127232<=u&&u<=127242||127248<=u&&u<=127277||127280<=u&&u<=127337||127344<=u&&u<=127386||917760<=u&&u<=917999||983040<=u&&u<=1048573||1048576<=u&&u<=1114109?"A":"N"},D.characterLength=function(r){var s=this.eastAsianWidth(r);return s=="F"||s=="W"||s=="A"?2:1};function t(r){return r.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}D.length=function(r){for(var s=t(r),i=0,u=0;u<s.length;u++)i=i+this.characterLength(s[u]);return i},D.slice=function(r,s,i){textLen=D.length(r),s=s||0,i=i||1,s<0&&(s=textLen+s),i<0&&(i=textLen+i);for(var u="",n=0,E=t(r),a=0;a<E.length;a++){var g=E[a],l=D.length(g);if(n>=s-(l==2?1:0))if(n+l<=i)u+=g;else break;n+=l}return u}})(Ku);var YD=Ku.exports,UD=Uu(YD),KD=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},JD=Uu(KD);function N(e,D={}){if(typeof e!="string"||e.length===0||(D={ambiguousIsNarrow:!0,...D},e=Yu(e),e.length===0))return 0;e=e.replace(JD()," ");let t=D.ambiguousIsNarrow?1:2,r=0;for(let s of e){let i=s.codePointAt(0);if(!(i<=31||i>=127&&i<=159||i>=768&&i<=879))switch(UD.eastAsianWidth(s)){case"F":case"W":r+=2;break;case"A":r+=t;break;default:r+=1}}return r}var lu=10,Mu=(e=0)=>D=>`\x1B[${D+e}m`,Iu=(e=0)=>D=>`\x1B[${38+e};5;${D}m`,_u=(e=0)=>(D,t,r)=>`\x1B[${38+e};2;${D};${t};${r}m`,c={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(c.modifier);var qD=Object.keys(c.color),zD=Object.keys(c.bgColor);[...qD,...zD];function ZD(){let e=new Map;for(let[D,t]of Object.entries(c)){for(let[r,s]of Object.entries(t))c[r]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},t[r]=c[r],e.set(s[0],s[1]);Object.defineProperty(c,D,{value:t,enumerable:!1})}return Object.defineProperty(c,"codes",{value:e,enumerable:!1}),c.color.close="\x1B[39m",c.bgColor.close="\x1B[49m",c.color.ansi=Mu(),c.color.ansi256=Iu(),c.color.ansi16m=_u(),c.bgColor.ansi=Mu(lu),c.bgColor.ansi256=Iu(lu),c.bgColor.ansi16m=_u(lu),Object.defineProperties(c,{rgbToAnsi256:{value:(D,t,r)=>D===t&&t===r?D<8?16:D>248?231:Math.round((D-8)/247*24)+232:16+36*Math.round(D/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5),enumerable:!1},hexToRgb:{value:D=>{let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(D.toString(16));if(!t)return[0,0,0];let[r]=t;r.length===3&&(r=[...r].map(i=>i+i).join(""));let s=Number.parseInt(r,16);return[s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:D=>c.rgbToAnsi256(...c.hexToRgb(D)),enumerable:!1},ansi256ToAnsi:{value:D=>{if(D<8)return 30+D;if(D<16)return 90+(D-8);let t,r,s;if(D>=232)t=((D-232)*10+8)/255,r=t,s=t;else{D-=16;let n=D%36;t=Math.floor(D/36)/5,r=Math.floor(n/6)/5,s=n%6/5}let i=Math.max(t,r,s)*2;if(i===0)return 30;let u=30+(Math.round(s)<<2|Math.round(r)<<1|Math.round(t));return i===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(D,t,r)=>c.ansi256ToAnsi(c.rgbToAnsi256(D,t,r)),enumerable:!1},hexToAnsi:{value:D=>c.ansi256ToAnsi(c.hexToAnsi256(D)),enumerable:!1}}),c}var HD=ZD(),H=new Set(["\x1B","\x9B"]),QD=39,Cu="\x07",Ju="[",XD="]",qu="m",hu=`${XD}8;;`,ju=e=>`${H.values().next().value}${Ju}${e}${qu}`,Nu=e=>`${H.values().next().value}${hu}${e}${Cu}`,ue=e=>e.split(" ").map(D=>N(D)),cu=(e,D,t)=>{let r=[...D],s=!1,i=!1,u=N(Yu(e[e.length-1]));for(let[n,E]of r.entries()){let a=N(E);if(u+a<=t?e[e.length-1]+=E:(e.push(E),u=0),H.has(E)&&(s=!0,i=r.slice(n+1).join("").startsWith(hu)),s){i?E===Cu&&(s=!1,i=!1):E===qu&&(s=!1);continue}u+=a,u===t&&n<r.length-1&&(e.push(""),u=0)}!u&&e[e.length-1].length>0&&e.length>1&&(e[e.length-2]+=e.pop())},De=e=>{let D=e.split(" "),t=D.length;for(;t>0&&!(N(D[t-1])>0);)t--;return t===D.length?e:D.slice(0,t).join(" ")+D.slice(t).join("")},ee=(e,D,t={})=>{if(t.trim!==!1&&e.trim()==="")return"";let r="",s,i,u=ue(e),n=[""];for(let[a,g]of e.split(" ").entries()){t.trim!==!1&&(n[n.length-1]=n[n.length-1].trimStart());let l=N(n[n.length-1]);if(a!==0&&(l>=D&&(t.wordWrap===!1||t.trim===!1)&&(n.push(""),l=0),(l>0||t.trim===!1)&&(n[n.length-1]+=" ",l++)),t.hard&&u[a]>D){let b=D-l,O=1+Math.floor((u[a]-b-1)/D);Math.floor((u[a]-1)/D)<O&&n.push(""),cu(n,g,D);continue}if(l+u[a]>D&&l>0&&u[a]>0){if(t.wordWrap===!1&&l<D){cu(n,g,D);continue}n.push("")}if(l+u[a]>D&&t.wordWrap===!1){cu(n,g,D);continue}n[n.length-1]+=g}t.trim!==!1&&(n=n.map(a=>De(a)));let E=[...n.join(`
|
|
3
|
-
`)];for(let[
|
|
4
|
-
`?(
|
|
5
|
-
`&&(s&&
|
|
2
|
+
var He=Object.create;var Uu=Object.defineProperty;var Ze=Object.getOwnPropertyDescriptor;var Qe=Object.getOwnPropertyNames;var Xe=Object.getPrototypeOf,uD=Object.prototype.hasOwnProperty;var Yu=(D,e)=>()=>(e||D((e={exports:{}}).exports,e),e.exports);var eD=(D,e,t,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let s of Qe(e))!uD.call(D,s)&&s!==t&&Uu(D,s,{get:()=>e[s],enumerable:!(r=Ze(e,s))||r.enumerable});return D};var su=(D,e,t)=>(t=D!=null?He(Xe(D)):{},eD(e||!D||!D.__esModule?Uu(t,"default",{value:D,enumerable:!0}):t,D));var Au=Yu((wt,zu)=>{"use strict";var $u="\x1B",d=`${$u}[`,DD="\x07",vu={to(D,e){return e?`${d}${e+1};${D+1}H`:`${d}${D+1}G`},move(D,e){let t="";return D<0?t+=`${d}${-D}D`:D>0&&(t+=`${d}${D}C`),e<0?t+=`${d}${-e}A`:e>0&&(t+=`${d}${e}B`),t},up:(D=1)=>`${d}${D}A`,down:(D=1)=>`${d}${D}B`,forward:(D=1)=>`${d}${D}C`,backward:(D=1)=>`${d}${D}D`,nextLine:(D=1)=>`${d}E`.repeat(D),prevLine:(D=1)=>`${d}F`.repeat(D),left:`${d}G`,hide:`${d}?25l`,show:`${d}?25h`,save:`${$u}7`,restore:`${$u}8`},tD={up:(D=1)=>`${d}S`.repeat(D),down:(D=1)=>`${d}T`.repeat(D)},rD={screen:`${d}2J`,up:(D=1)=>`${d}1J`.repeat(D),down:(D=1)=>`${d}J`.repeat(D),line:`${d}2K`,lineEnd:`${d}K`,lineStart:`${d}1K`,lines(D){let e="";for(let t=0;t<D;t++)e+=this.line+(t<D-1?vu.up():"");return D&&(e+=vu.left),e}};zu.exports={cursor:vu,scroll:tD,erase:rD,beep:DD}});var xu=Yu((Tt,yu)=>{var ou=process||{},Ku=ou.argv||[],iu=ou.env||{},sD=!(iu.NO_COLOR||Ku.includes("--no-color"))&&(!!iu.FORCE_COLOR||Ku.includes("--color")||ou.platform==="win32"||(ou.stdout||{}).isTTY&&iu.TERM!=="dumb"||!!iu.CI),iD=(D,e,t=D)=>r=>{let s=""+r,o=s.indexOf(e,D.length);return~o?D+oD(s,e,t,o)+e:D+s+e},oD=(D,e,t,r)=>{let s="",o=0;do s+=D.substring(o,r)+t,o=r+e.length,r=D.indexOf(e,o);while(~r);return s+D.substring(o)},Ju=(D=sD)=>{let e=D?iD:()=>String;return{isColorSupported:D,reset:e("\x1B[0m","\x1B[0m"),bold:e("\x1B[1m","\x1B[22m","\x1B[22m\x1B[1m"),dim:e("\x1B[2m","\x1B[22m","\x1B[22m\x1B[2m"),italic:e("\x1B[3m","\x1B[23m"),underline:e("\x1B[4m","\x1B[24m"),inverse:e("\x1B[7m","\x1B[27m"),hidden:e("\x1B[8m","\x1B[28m"),strikethrough:e("\x1B[9m","\x1B[29m"),black:e("\x1B[30m","\x1B[39m"),red:e("\x1B[31m","\x1B[39m"),green:e("\x1B[32m","\x1B[39m"),yellow:e("\x1B[33m","\x1B[39m"),blue:e("\x1B[34m","\x1B[39m"),magenta:e("\x1B[35m","\x1B[39m"),cyan:e("\x1B[36m","\x1B[39m"),white:e("\x1B[37m","\x1B[39m"),gray:e("\x1B[90m","\x1B[39m"),bgBlack:e("\x1B[40m","\x1B[49m"),bgRed:e("\x1B[41m","\x1B[49m"),bgGreen:e("\x1B[42m","\x1B[49m"),bgYellow:e("\x1B[43m","\x1B[49m"),bgBlue:e("\x1B[44m","\x1B[49m"),bgMagenta:e("\x1B[45m","\x1B[49m"),bgCyan:e("\x1B[46m","\x1B[49m"),bgWhite:e("\x1B[47m","\x1B[49m"),blackBright:e("\x1B[90m","\x1B[39m"),redBright:e("\x1B[91m","\x1B[39m"),greenBright:e("\x1B[92m","\x1B[39m"),yellowBright:e("\x1B[93m","\x1B[39m"),blueBright:e("\x1B[94m","\x1B[39m"),magentaBright:e("\x1B[95m","\x1B[39m"),cyanBright:e("\x1B[96m","\x1B[39m"),whiteBright:e("\x1B[97m","\x1B[39m"),bgBlackBright:e("\x1B[100m","\x1B[49m"),bgRedBright:e("\x1B[101m","\x1B[49m"),bgGreenBright:e("\x1B[102m","\x1B[49m"),bgYellowBright:e("\x1B[103m","\x1B[49m"),bgBlueBright:e("\x1B[104m","\x1B[49m"),bgMagentaBright:e("\x1B[105m","\x1B[49m"),bgCyanBright:e("\x1B[106m","\x1B[49m"),bgWhiteBright:e("\x1B[107m","\x1B[49m")}};yu.exports=Ju();yu.exports.createColors=Ju});import{stripVTControlCharacters as Mu}from"node:util";var x=su(Au(),1),oe=su(xu(),1);import{stdin as se,stdout as ie}from"node:process";import*as L from"node:readline";import Hu from"node:readline";import{Writable as nD}from"node:stream";function aD({onlyFirst:D=!1}={}){let e=["[\\u001B\\u009B][[\\]()#;?]*(?:(?:(?:(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]+)*|[a-zA-Z\\d]+(?:;[-a-zA-Z\\d\\/#&.:=?%@~_]*)*)?(?:\\u0007|\\u001B\\u005C|\\u009C))","(?:(?:\\d{1,4}(?:;\\d{0,4})*)?[\\dA-PR-TZcf-nq-uy=><~]))"].join("|");return new RegExp(e,D?void 0:"g")}var lD=aD();function ne(D){if(typeof D!="string")throw new TypeError(`Expected a \`string\`, got \`${typeof D}\``);return D.replace(lD,"")}function ae(D){return D&&D.__esModule&&Object.prototype.hasOwnProperty.call(D,"default")?D.default:D}var le={exports:{}};(function(D){var e={};D.exports=e,e.eastAsianWidth=function(r){var s=r.charCodeAt(0),o=r.length==2?r.charCodeAt(1):0,u=s;return 55296<=s&&s<=56319&&56320<=o&&o<=57343&&(s&=1023,o&=1023,u=s<<10|o,u+=65536),u==12288||65281<=u&&u<=65376||65504<=u&&u<=65510?"F":u==8361||65377<=u&&u<=65470||65474<=u&&u<=65479||65482<=u&&u<=65487||65490<=u&&u<=65495||65498<=u&&u<=65500||65512<=u&&u<=65518?"H":4352<=u&&u<=4447||4515<=u&&u<=4519||4602<=u&&u<=4607||9001<=u&&u<=9002||11904<=u&&u<=11929||11931<=u&&u<=12019||12032<=u&&u<=12245||12272<=u&&u<=12283||12289<=u&&u<=12350||12353<=u&&u<=12438||12441<=u&&u<=12543||12549<=u&&u<=12589||12593<=u&&u<=12686||12688<=u&&u<=12730||12736<=u&&u<=12771||12784<=u&&u<=12830||12832<=u&&u<=12871||12880<=u&&u<=13054||13056<=u&&u<=19903||19968<=u&&u<=42124||42128<=u&&u<=42182||43360<=u&&u<=43388||44032<=u&&u<=55203||55216<=u&&u<=55238||55243<=u&&u<=55291||63744<=u&&u<=64255||65040<=u&&u<=65049||65072<=u&&u<=65106||65108<=u&&u<=65126||65128<=u&&u<=65131||110592<=u&&u<=110593||127488<=u&&u<=127490||127504<=u&&u<=127546||127552<=u&&u<=127560||127568<=u&&u<=127569||131072<=u&&u<=194367||177984<=u&&u<=196605||196608<=u&&u<=262141?"W":32<=u&&u<=126||162<=u&&u<=163||165<=u&&u<=166||u==172||u==175||10214<=u&&u<=10221||10629<=u&&u<=10630?"Na":u==161||u==164||167<=u&&u<=168||u==170||173<=u&&u<=174||176<=u&&u<=180||182<=u&&u<=186||188<=u&&u<=191||u==198||u==208||215<=u&&u<=216||222<=u&&u<=225||u==230||232<=u&&u<=234||236<=u&&u<=237||u==240||242<=u&&u<=243||247<=u&&u<=250||u==252||u==254||u==257||u==273||u==275||u==283||294<=u&&u<=295||u==299||305<=u&&u<=307||u==312||319<=u&&u<=322||u==324||328<=u&&u<=331||u==333||338<=u&&u<=339||358<=u&&u<=359||u==363||u==462||u==464||u==466||u==468||u==470||u==472||u==474||u==476||u==593||u==609||u==708||u==711||713<=u&&u<=715||u==717||u==720||728<=u&&u<=731||u==733||u==735||768<=u&&u<=879||913<=u&&u<=929||931<=u&&u<=937||945<=u&&u<=961||963<=u&&u<=969||u==1025||1040<=u&&u<=1103||u==1105||u==8208||8211<=u&&u<=8214||8216<=u&&u<=8217||8220<=u&&u<=8221||8224<=u&&u<=8226||8228<=u&&u<=8231||u==8240||8242<=u&&u<=8243||u==8245||u==8251||u==8254||u==8308||u==8319||8321<=u&&u<=8324||u==8364||u==8451||u==8453||u==8457||u==8467||u==8470||8481<=u&&u<=8482||u==8486||u==8491||8531<=u&&u<=8532||8539<=u&&u<=8542||8544<=u&&u<=8555||8560<=u&&u<=8569||u==8585||8592<=u&&u<=8601||8632<=u&&u<=8633||u==8658||u==8660||u==8679||u==8704||8706<=u&&u<=8707||8711<=u&&u<=8712||u==8715||u==8719||u==8721||u==8725||u==8730||8733<=u&&u<=8736||u==8739||u==8741||8743<=u&&u<=8748||u==8750||8756<=u&&u<=8759||8764<=u&&u<=8765||u==8776||u==8780||u==8786||8800<=u&&u<=8801||8804<=u&&u<=8807||8810<=u&&u<=8811||8814<=u&&u<=8815||8834<=u&&u<=8835||8838<=u&&u<=8839||u==8853||u==8857||u==8869||u==8895||u==8978||9312<=u&&u<=9449||9451<=u&&u<=9547||9552<=u&&u<=9587||9600<=u&&u<=9615||9618<=u&&u<=9621||9632<=u&&u<=9633||9635<=u&&u<=9641||9650<=u&&u<=9651||9654<=u&&u<=9655||9660<=u&&u<=9661||9664<=u&&u<=9665||9670<=u&&u<=9672||u==9675||9678<=u&&u<=9681||9698<=u&&u<=9701||u==9711||9733<=u&&u<=9734||u==9737||9742<=u&&u<=9743||9748<=u&&u<=9749||u==9756||u==9758||u==9792||u==9794||9824<=u&&u<=9825||9827<=u&&u<=9829||9831<=u&&u<=9834||9836<=u&&u<=9837||u==9839||9886<=u&&u<=9887||9918<=u&&u<=9919||9924<=u&&u<=9933||9935<=u&&u<=9953||u==9955||9960<=u&&u<=9983||u==10045||u==10071||10102<=u&&u<=10111||11093<=u&&u<=11097||12872<=u&&u<=12879||57344<=u&&u<=63743||65024<=u&&u<=65039||u==65533||127232<=u&&u<=127242||127248<=u&&u<=127277||127280<=u&&u<=127337||127344<=u&&u<=127386||917760<=u&&u<=917999||983040<=u&&u<=1048573||1048576<=u&&u<=1114109?"A":"N"},e.characterLength=function(r){var s=this.eastAsianWidth(r);return s=="F"||s=="W"||s=="A"?2:1};function t(r){return r.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}e.length=function(r){for(var s=t(r),o=0,u=0;u<s.length;u++)o=o+this.characterLength(s[u]);return o},e.slice=function(r,s,o){textLen=e.length(r),s=s||0,o=o||1,s<0&&(s=textLen+s),o<0&&(o=textLen+o);for(var u="",n=0,F=t(r),h=0;h<F.length;h++){var g=F[h],c=e.length(g);if(n>=s-(c==2?1:0))if(n+c<=o)u+=g;else break;n+=c}return u}})(le);var cD=le.exports,FD=ae(cD),hD=function(){return/\uD83C\uDFF4\uDB40\uDC67\uDB40\uDC62(?:\uDB40\uDC77\uDB40\uDC6C\uDB40\uDC73|\uDB40\uDC73\uDB40\uDC63\uDB40\uDC74|\uDB40\uDC65\uDB40\uDC6E\uDB40\uDC67)\uDB40\uDC7F|(?:\uD83E\uDDD1\uD83C\uDFFF\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFF\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFE])|(?:\uD83E\uDDD1\uD83C\uDFFE\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFE\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFD\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFD\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFC\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFC\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|(?:\uD83E\uDDD1\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83E\uDDD1|\uD83D\uDC69\uD83C\uDFFB\u200D\uD83E\uDD1D\u200D(?:\uD83D[\uDC68\uDC69]))(?:\uD83C[\uDFFC-\uDFFF])|\uD83D\uDC68(?:\uD83C\uDFFB(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFC-\uDFFF])|[\u2695\u2696\u2708]\uFE0F|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))?|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFF]))|\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D)?\uD83D\uDC68|(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFE])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB-\uDFFD\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFC\uDFFE\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83E\uDD1D\u200D\uD83D\uDC68(?:\uD83C[\uDFFB\uDFFD-\uDFFF])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])\uFE0F|\u200D(?:(?:\uD83D[\uDC68\uDC69])\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D[\uDC66\uDC67])|\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC)?|(?:\uD83D\uDC69(?:\uD83C\uDFFB\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|(?:\uD83C[\uDFFC-\uDFFF])\u200D\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69]))|\uD83E\uDDD1(?:\uD83C[\uDFFB-\uDFFF])\u200D\uD83E\uDD1D\u200D\uD83E\uDDD1)(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67]))|\uD83D\uDC69(?:\u200D(?:\u2764\uFE0F\u200D(?:\uD83D\uDC8B\u200D(?:\uD83D[\uDC68\uDC69])|\uD83D[\uDC68\uDC69])|\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83E\uDDD1(?:\u200D(?:\uD83E\uDD1D\u200D\uD83E\uDDD1|\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFF\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFE\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFD\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFC\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD])|\uD83C\uDFFB\u200D(?:\uD83C[\uDF3E\uDF73\uDF7C\uDF84\uDF93\uDFA4\uDFA8\uDFEB\uDFED]|\uD83D[\uDCBB\uDCBC\uDD27\uDD2C\uDE80\uDE92]|\uD83E[\uDDAF-\uDDB3\uDDBC\uDDBD]))|\uD83D\uDC69\u200D\uD83D\uDC66\u200D\uD83D\uDC66|\uD83D\uDC69\u200D\uD83D\uDC69\u200D(?:\uD83D[\uDC66\uDC67])|\uD83D\uDC69\u200D\uD83D\uDC67\u200D(?:\uD83D[\uDC66\uDC67])|(?:\uD83D\uDC41\uFE0F\u200D\uD83D\uDDE8|\uD83E\uDDD1(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDC69(?:\uD83C\uDFFF\u200D[\u2695\u2696\u2708]|\uD83C\uDFFE\u200D[\u2695\u2696\u2708]|\uD83C\uDFFD\u200D[\u2695\u2696\u2708]|\uD83C\uDFFC\u200D[\u2695\u2696\u2708]|\uD83C\uDFFB\u200D[\u2695\u2696\u2708]|\u200D[\u2695\u2696\u2708])|\uD83D\uDE36\u200D\uD83C\uDF2B|\uD83C\uDFF3\uFE0F\u200D\u26A7|\uD83D\uDC3B\u200D\u2744|(?:(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF])\u200D[\u2640\u2642]|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])\u200D[\u2640\u2642]|\uD83C\uDFF4\u200D\u2620|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])\u200D[\u2640\u2642]|[\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u2328\u23CF\u23ED-\u23EF\u23F1\u23F2\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB\u25FC\u2600-\u2604\u260E\u2611\u2618\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u2692\u2694-\u2697\u2699\u269B\u269C\u26A0\u26A7\u26B0\u26B1\u26C8\u26CF\u26D1\u26D3\u26E9\u26F0\u26F1\u26F4\u26F7\u26F8\u2702\u2708\u2709\u270F\u2712\u2714\u2716\u271D\u2721\u2733\u2734\u2744\u2747\u2763\u27A1\u2934\u2935\u2B05-\u2B07\u3030\u303D\u3297\u3299]|\uD83C[\uDD70\uDD71\uDD7E\uDD7F\uDE02\uDE37\uDF21\uDF24-\uDF2C\uDF36\uDF7D\uDF96\uDF97\uDF99-\uDF9B\uDF9E\uDF9F\uDFCD\uDFCE\uDFD4-\uDFDF\uDFF5\uDFF7]|\uD83D[\uDC3F\uDCFD\uDD49\uDD4A\uDD6F\uDD70\uDD73\uDD76-\uDD79\uDD87\uDD8A-\uDD8D\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA\uDECB\uDECD-\uDECF\uDEE0-\uDEE5\uDEE9\uDEF0\uDEF3])\uFE0F|\uD83C\uDFF3\uFE0F\u200D\uD83C\uDF08|\uD83D\uDC69\u200D\uD83D\uDC67|\uD83D\uDC69\u200D\uD83D\uDC66|\uD83D\uDE35\u200D\uD83D\uDCAB|\uD83D\uDE2E\u200D\uD83D\uDCA8|\uD83D\uDC15\u200D\uD83E\uDDBA|\uD83E\uDDD1(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83D\uDC69(?:\uD83C\uDFFF|\uD83C\uDFFE|\uD83C\uDFFD|\uD83C\uDFFC|\uD83C\uDFFB)?|\uD83C\uDDFD\uD83C\uDDF0|\uD83C\uDDF6\uD83C\uDDE6|\uD83C\uDDF4\uD83C\uDDF2|\uD83D\uDC08\u200D\u2B1B|\u2764\uFE0F\u200D(?:\uD83D\uDD25|\uD83E\uDE79)|\uD83D\uDC41\uFE0F|\uD83C\uDFF3\uFE0F|\uD83C\uDDFF(?:\uD83C[\uDDE6\uDDF2\uDDFC])|\uD83C\uDDFE(?:\uD83C[\uDDEA\uDDF9])|\uD83C\uDDFC(?:\uD83C[\uDDEB\uDDF8])|\uD83C\uDDFB(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDEE\uDDF3\uDDFA])|\uD83C\uDDFA(?:\uD83C[\uDDE6\uDDEC\uDDF2\uDDF3\uDDF8\uDDFE\uDDFF])|\uD83C\uDDF9(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDED\uDDEF-\uDDF4\uDDF7\uDDF9\uDDFB\uDDFC\uDDFF])|\uD83C\uDDF8(?:\uD83C[\uDDE6-\uDDEA\uDDEC-\uDDF4\uDDF7-\uDDF9\uDDFB\uDDFD-\uDDFF])|\uD83C\uDDF7(?:\uD83C[\uDDEA\uDDF4\uDDF8\uDDFA\uDDFC])|\uD83C\uDDF5(?:\uD83C[\uDDE6\uDDEA-\uDDED\uDDF0-\uDDF3\uDDF7-\uDDF9\uDDFC\uDDFE])|\uD83C\uDDF3(?:\uD83C[\uDDE6\uDDE8\uDDEA-\uDDEC\uDDEE\uDDF1\uDDF4\uDDF5\uDDF7\uDDFA\uDDFF])|\uD83C\uDDF2(?:\uD83C[\uDDE6\uDDE8-\uDDED\uDDF0-\uDDFF])|\uD83C\uDDF1(?:\uD83C[\uDDE6-\uDDE8\uDDEE\uDDF0\uDDF7-\uDDFB\uDDFE])|\uD83C\uDDF0(?:\uD83C[\uDDEA\uDDEC-\uDDEE\uDDF2\uDDF3\uDDF5\uDDF7\uDDFC\uDDFE\uDDFF])|\uD83C\uDDEF(?:\uD83C[\uDDEA\uDDF2\uDDF4\uDDF5])|\uD83C\uDDEE(?:\uD83C[\uDDE8-\uDDEA\uDDF1-\uDDF4\uDDF6-\uDDF9])|\uD83C\uDDED(?:\uD83C[\uDDF0\uDDF2\uDDF3\uDDF7\uDDF9\uDDFA])|\uD83C\uDDEC(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEE\uDDF1-\uDDF3\uDDF5-\uDDFA\uDDFC\uDDFE])|\uD83C\uDDEB(?:\uD83C[\uDDEE-\uDDF0\uDDF2\uDDF4\uDDF7])|\uD83C\uDDEA(?:\uD83C[\uDDE6\uDDE8\uDDEA\uDDEC\uDDED\uDDF7-\uDDFA])|\uD83C\uDDE9(?:\uD83C[\uDDEA\uDDEC\uDDEF\uDDF0\uDDF2\uDDF4\uDDFF])|\uD83C\uDDE8(?:\uD83C[\uDDE6\uDDE8\uDDE9\uDDEB-\uDDEE\uDDF0-\uDDF5\uDDF7\uDDFA-\uDDFF])|\uD83C\uDDE7(?:\uD83C[\uDDE6\uDDE7\uDDE9-\uDDEF\uDDF1-\uDDF4\uDDF6-\uDDF9\uDDFB\uDDFC\uDDFE\uDDFF])|\uD83C\uDDE6(?:\uD83C[\uDDE8-\uDDEC\uDDEE\uDDF1\uDDF2\uDDF4\uDDF6-\uDDFA\uDDFC\uDDFD\uDDFF])|[#\*0-9]\uFE0F\u20E3|\u2764\uFE0F|(?:\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD])(?:\uD83C[\uDFFB-\uDFFF])|(?:\u26F9|\uD83C[\uDFCB\uDFCC]|\uD83D\uDD75)(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|\uD83C\uDFF4|(?:[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5])(?:\uD83C[\uDFFB-\uDFFF])|(?:[\u261D\u270C\u270D]|\uD83D[\uDD74\uDD90])(?:\uFE0F|\uD83C[\uDFFB-\uDFFF])|[\u270A\u270B]|\uD83C[\uDF85\uDFC2\uDFC7]|\uD83D[\uDC08\uDC15\uDC3B\uDC42\uDC43\uDC46-\uDC50\uDC66\uDC67\uDC6B-\uDC6D\uDC72\uDC74-\uDC76\uDC78\uDC7C\uDC83\uDC85\uDC8F\uDC91\uDCAA\uDD7A\uDD95\uDD96\uDE2E\uDE35\uDE36\uDE4C\uDE4F\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1C\uDD1E\uDD1F\uDD30-\uDD34\uDD36\uDD77\uDDB5\uDDB6\uDDBB\uDDD2\uDDD3\uDDD5]|\uD83C[\uDFC3\uDFC4\uDFCA]|\uD83D[\uDC6E\uDC70\uDC71\uDC73\uDC77\uDC81\uDC82\uDC86\uDC87\uDE45-\uDE47\uDE4B\uDE4D\uDE4E\uDEA3\uDEB4-\uDEB6]|\uD83E[\uDD26\uDD35\uDD37-\uDD39\uDD3D\uDD3E\uDDB8\uDDB9\uDDCD-\uDDCF\uDDD4\uDDD6-\uDDDD]|\uD83D\uDC6F|\uD83E[\uDD3C\uDDDE\uDDDF]|[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF84\uDF86-\uDF93\uDFA0-\uDFC1\uDFC5\uDFC6\uDFC8\uDFC9\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC07\uDC09-\uDC14\uDC16-\uDC3A\uDC3C-\uDC3E\uDC40\uDC44\uDC45\uDC51-\uDC65\uDC6A\uDC79-\uDC7B\uDC7D-\uDC80\uDC84\uDC88-\uDC8E\uDC90\uDC92-\uDCA9\uDCAB-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDDA4\uDDFB-\uDE2D\uDE2F-\uDE34\uDE37-\uDE44\uDE48-\uDE4A\uDE80-\uDEA2\uDEA4-\uDEB3\uDEB7-\uDEBF\uDEC1-\uDEC5\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0D\uDD0E\uDD10-\uDD17\uDD1D\uDD20-\uDD25\uDD27-\uDD2F\uDD3A\uDD3F-\uDD45\uDD47-\uDD76\uDD78\uDD7A-\uDDB4\uDDB7\uDDBA\uDDBC-\uDDCB\uDDD0\uDDE0-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6]|(?:[\u231A\u231B\u23E9-\u23EC\u23F0\u23F3\u25FD\u25FE\u2614\u2615\u2648-\u2653\u267F\u2693\u26A1\u26AA\u26AB\u26BD\u26BE\u26C4\u26C5\u26CE\u26D4\u26EA\u26F2\u26F3\u26F5\u26FA\u26FD\u2705\u270A\u270B\u2728\u274C\u274E\u2753-\u2755\u2757\u2795-\u2797\u27B0\u27BF\u2B1B\u2B1C\u2B50\u2B55]|\uD83C[\uDC04\uDCCF\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE1A\uDE2F\uDE32-\uDE36\uDE38-\uDE3A\uDE50\uDE51\uDF00-\uDF20\uDF2D-\uDF35\uDF37-\uDF7C\uDF7E-\uDF93\uDFA0-\uDFCA\uDFCF-\uDFD3\uDFE0-\uDFF0\uDFF4\uDFF8-\uDFFF]|\uD83D[\uDC00-\uDC3E\uDC40\uDC42-\uDCFC\uDCFF-\uDD3D\uDD4B-\uDD4E\uDD50-\uDD67\uDD7A\uDD95\uDD96\uDDA4\uDDFB-\uDE4F\uDE80-\uDEC5\uDECC\uDED0-\uDED2\uDED5-\uDED7\uDEEB\uDEEC\uDEF4-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])|(?:[#\*0-9\xA9\xAE\u203C\u2049\u2122\u2139\u2194-\u2199\u21A9\u21AA\u231A\u231B\u2328\u23CF\u23E9-\u23F3\u23F8-\u23FA\u24C2\u25AA\u25AB\u25B6\u25C0\u25FB-\u25FE\u2600-\u2604\u260E\u2611\u2614\u2615\u2618\u261D\u2620\u2622\u2623\u2626\u262A\u262E\u262F\u2638-\u263A\u2640\u2642\u2648-\u2653\u265F\u2660\u2663\u2665\u2666\u2668\u267B\u267E\u267F\u2692-\u2697\u2699\u269B\u269C\u26A0\u26A1\u26A7\u26AA\u26AB\u26B0\u26B1\u26BD\u26BE\u26C4\u26C5\u26C8\u26CE\u26CF\u26D1\u26D3\u26D4\u26E9\u26EA\u26F0-\u26F5\u26F7-\u26FA\u26FD\u2702\u2705\u2708-\u270D\u270F\u2712\u2714\u2716\u271D\u2721\u2728\u2733\u2734\u2744\u2747\u274C\u274E\u2753-\u2755\u2757\u2763\u2764\u2795-\u2797\u27A1\u27B0\u27BF\u2934\u2935\u2B05-\u2B07\u2B1B\u2B1C\u2B50\u2B55\u3030\u303D\u3297\u3299]|\uD83C[\uDC04\uDCCF\uDD70\uDD71\uDD7E\uDD7F\uDD8E\uDD91-\uDD9A\uDDE6-\uDDFF\uDE01\uDE02\uDE1A\uDE2F\uDE32-\uDE3A\uDE50\uDE51\uDF00-\uDF21\uDF24-\uDF93\uDF96\uDF97\uDF99-\uDF9B\uDF9E-\uDFF0\uDFF3-\uDFF5\uDFF7-\uDFFF]|\uD83D[\uDC00-\uDCFD\uDCFF-\uDD3D\uDD49-\uDD4E\uDD50-\uDD67\uDD6F\uDD70\uDD73-\uDD7A\uDD87\uDD8A-\uDD8D\uDD90\uDD95\uDD96\uDDA4\uDDA5\uDDA8\uDDB1\uDDB2\uDDBC\uDDC2-\uDDC4\uDDD1-\uDDD3\uDDDC-\uDDDE\uDDE1\uDDE3\uDDE8\uDDEF\uDDF3\uDDFA-\uDE4F\uDE80-\uDEC5\uDECB-\uDED2\uDED5-\uDED7\uDEE0-\uDEE5\uDEE9\uDEEB\uDEEC\uDEF0\uDEF3-\uDEFC\uDFE0-\uDFEB]|\uD83E[\uDD0C-\uDD3A\uDD3C-\uDD45\uDD47-\uDD78\uDD7A-\uDDCB\uDDCD-\uDDFF\uDE70-\uDE74\uDE78-\uDE7A\uDE80-\uDE86\uDE90-\uDEA8\uDEB0-\uDEB6\uDEC0-\uDEC2\uDED0-\uDED6])\uFE0F|(?:[\u261D\u26F9\u270A-\u270D]|\uD83C[\uDF85\uDFC2-\uDFC4\uDFC7\uDFCA-\uDFCC]|\uD83D[\uDC42\uDC43\uDC46-\uDC50\uDC66-\uDC78\uDC7C\uDC81-\uDC83\uDC85-\uDC87\uDC8F\uDC91\uDCAA\uDD74\uDD75\uDD7A\uDD90\uDD95\uDD96\uDE45-\uDE47\uDE4B-\uDE4F\uDEA3\uDEB4-\uDEB6\uDEC0\uDECC]|\uD83E[\uDD0C\uDD0F\uDD18-\uDD1F\uDD26\uDD30-\uDD39\uDD3C-\uDD3E\uDD77\uDDB5\uDDB6\uDDB8\uDDB9\uDDBB\uDDCD-\uDDCF\uDDD1-\uDDDD])/g},CD=ae(hD);function X(D,e={}){if(typeof D!="string"||D.length===0||(e={ambiguousIsNarrow:!0,...e},D=ne(D),D.length===0))return 0;D=D.replace(CD()," ");let t=e.ambiguousIsNarrow?1:2,r=0;for(let s of D){let o=s.codePointAt(0);if(!(o<=31||o>=127&&o<=159||o>=768&&o<=879))switch(FD.eastAsianWidth(s)){case"F":case"W":r+=2;break;case"A":r+=t;break;default:r+=1}}return r}var wu=10,Zu=(D=0)=>e=>`\x1B[${e+D}m`,Qu=(D=0)=>e=>`\x1B[${38+D};5;${e}m`,Xu=(D=0)=>(e,t,r)=>`\x1B[${38+D};2;${e};${t};${r}m`,m={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};Object.keys(m.modifier);var mD=Object.keys(m.color),pD=Object.keys(m.bgColor);[...mD,...pD];function ED(){let D=new Map;for(let[e,t]of Object.entries(m)){for(let[r,s]of Object.entries(t))m[r]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},t[r]=m[r],D.set(s[0],s[1]);Object.defineProperty(m,e,{value:t,enumerable:!1})}return Object.defineProperty(m,"codes",{value:D,enumerable:!1}),m.color.close="\x1B[39m",m.bgColor.close="\x1B[49m",m.color.ansi=Zu(),m.color.ansi256=Qu(),m.color.ansi16m=Xu(),m.bgColor.ansi=Zu(wu),m.bgColor.ansi256=Qu(wu),m.bgColor.ansi16m=Xu(wu),Object.defineProperties(m,{rgbToAnsi256:{value:(e,t,r)=>e===t&&t===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5),enumerable:!1},hexToRgb:{value:e=>{let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[r]=t;r.length===3&&(r=[...r].map(o=>o+o).join(""));let s=Number.parseInt(r,16);return[s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:e=>m.rgbToAnsi256(...m.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value:e=>{if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,r,s;if(e>=232)t=((e-232)*10+8)/255,r=t,s=t;else{e-=16;let n=e%36;t=Math.floor(e/36)/5,r=Math.floor(n/6)/5,s=n%6/5}let o=Math.max(t,r,s)*2;if(o===0)return 30;let u=30+(Math.round(s)<<2|Math.round(r)<<1|Math.round(t));return o===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(e,t,r)=>m.ansi256ToAnsi(m.rgbToAnsi256(e,t,r)),enumerable:!1},hexToAnsi:{value:e=>m.ansi256ToAnsi(m.hexToAnsi256(e)),enumerable:!1}}),m}var dD=ED(),hu=new Set(["\x1B","\x9B"]),gD=39,ku="\x07",ce="[",fD="]",Fe="m",Ru=`${fD}8;;`,ue=D=>`${hu.values().next().value}${ce}${D}${Fe}`,ee=D=>`${hu.values().next().value}${Ru}${D}${ku}`,bD=D=>D.split(" ").map(e=>X(e)),Tu=(D,e,t)=>{let r=[...e],s=!1,o=!1,u=X(ne(D[D.length-1]));for(let[n,F]of r.entries()){let h=X(F);if(u+h<=t?D[D.length-1]+=F:(D.push(F),u=0),hu.has(F)&&(s=!0,o=r.slice(n+1).join("").startsWith(Ru)),s){o?F===ku&&(s=!1,o=!1):F===Fe&&(s=!1);continue}u+=h,u===t&&n<r.length-1&&(D.push(""),u=0)}!u&&D[D.length-1].length>0&&D.length>1&&(D[D.length-2]+=D.pop())},BD=D=>{let e=D.split(" "),t=e.length;for(;t>0&&!(X(e[t-1])>0);)t--;return t===e.length?D:e.slice(0,t).join(" ")+e.slice(t).join("")},$D=(D,e,t={})=>{if(t.trim!==!1&&D.trim()==="")return"";let r="",s,o,u=bD(D),n=[""];for(let[h,g]of D.split(" ").entries()){t.trim!==!1&&(n[n.length-1]=n[n.length-1].trimStart());let c=X(n[n.length-1]);if(h!==0&&(c>=e&&(t.wordWrap===!1||t.trim===!1)&&(n.push(""),c=0),(c>0||t.trim===!1)&&(n[n.length-1]+=" ",c++)),t.hard&&u[h]>e){let y=e-c,j=1+Math.floor((u[h]-y-1)/e);Math.floor((u[h]-1)/e)<j&&n.push(""),Tu(n,g,e);continue}if(c+u[h]>e&&c>0&&u[h]>0){if(t.wordWrap===!1&&c<e){Tu(n,g,e);continue}n.push("")}if(c+u[h]>e&&t.wordWrap===!1){Tu(n,g,e);continue}n[n.length-1]+=g}t.trim!==!1&&(n=n.map(h=>BD(h)));let F=[...n.join(`
|
|
3
|
+
`)];for(let[h,g]of F.entries()){if(r+=g,hu.has(g)){let{groups:y}=new RegExp(`(?:\\${ce}(?<code>\\d+)m|\\${Ru}(?<uri>.*)${ku})`).exec(F.slice(h).join(""))||{groups:{}};if(y.code!==void 0){let j=Number.parseFloat(y.code);s=j===gD?void 0:j}else y.uri!==void 0&&(o=y.uri.length===0?void 0:y.uri)}let c=dD.codes.get(Number(s));F[h+1]===`
|
|
4
|
+
`?(o&&(r+=ee("")),s&&c&&(r+=ue(c))):g===`
|
|
5
|
+
`&&(s&&c&&(r+=ue(s)),o&&(r+=ee(o)))}return r};function De(D,e,t){return String(D).normalize().replace(/\r\n/g,`
|
|
6
6
|
`).split(`
|
|
7
|
-
`).map(r
|
|
8
|
-
`)}var
|
|
9
|
-
`),r=
|
|
10
|
-
`),s=[];for(let
|
|
11
|
-
`),
|
|
12
|
-
`).length-1;this.output.write(
|
|
13
|
-
`);this.output.write(s[r]),this._prevFrame=
|
|
7
|
+
`).map(r=>$D(r,e,t)).join(`
|
|
8
|
+
`)}var vD=["up","down","left","right","space","enter","cancel"],au={actions:new Set(vD),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["","cancel"],["escape","cancel"]])};function Su(D,e){if(typeof D=="string")return au.aliases.get(D)===e;for(let t of D)if(t!==void 0&&Su(t,e))return!0;return!1}function AD(D,e){if(D===e)return;let t=D.split(`
|
|
9
|
+
`),r=e.split(`
|
|
10
|
+
`),s=[];for(let o=0;o<Math.max(t.length,r.length);o++)t[o]!==r[o]&&s.push(o);return s}var yD=globalThis.process.platform.startsWith("win"),Ou=Symbol("clack:cancel");function Cu(D){return D===Ou}function nu(D,e){let t=D;t.isTTY&&t.setRawMode(e)}function he({input:D=se,output:e=ie,overwrite:t=!0,hideCursor:r=!0}={}){let s=L.createInterface({input:D,output:e,prompt:"",tabSize:1});L.emitKeypressEvents(D,s),D.isTTY&&D.setRawMode(!0);let o=(u,{name:n,sequence:F})=>{let h=String(u);if(Su([h,n,F],"cancel")){r&&e.write(x.cursor.show),process.exit(0);return}if(!t)return;L.moveCursor(e,n==="return"?0:-1,n==="return"?-1:0,()=>{L.clearLine(e,1,()=>{D.once("keypress",o)})})};return r&&e.write(x.cursor.hide),D.once("keypress",o),()=>{D.off("keypress",o),r&&e.write(x.cursor.show),D.isTTY&&!yD&&D.setRawMode(!1),s.terminal=!1,s.close()}}var xD=Object.defineProperty,wD=(D,e,t)=>e in D?xD(D,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):D[e]=t,O=(D,e,t)=>(wD(D,typeof e!="symbol"?e+"":e,t),t),K=class{constructor(e,t=!0){O(this,"input"),O(this,"output"),O(this,"_abortSignal"),O(this,"rl"),O(this,"opts"),O(this,"_render"),O(this,"_track",!1),O(this,"_prevFrame",""),O(this,"_subscribers",new Map),O(this,"_cursor",0),O(this,"state","initial"),O(this,"error",""),O(this,"value");let{input:r=se,output:s=ie,render:o,signal:u,...n}=e;this.opts=n,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=o.bind(this),this._track=t,this._abortSignal=u,this.input=r,this.output=s}unsubscribe(){this._subscribers.clear()}setSubscriber(e,t){let r=this._subscribers.get(e)??[];r.push(t),this._subscribers.set(e,r)}on(e,t){this.setSubscriber(e,{cb:t})}once(e,t){this.setSubscriber(e,{cb:t,once:!0})}emit(e,...t){let r=this._subscribers.get(e)??[],s=[];for(let o of r)o.cb(...t),o.once&&s.push(()=>r.splice(r.indexOf(o),1));for(let o of s)o()}prompt(){return new Promise((e,t)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),e(Ou);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let r=new nD;r._write=(s,o,u)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),u()},this.input.pipe(r),this.rl=Hu.createInterface({input:this.input,output:r,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),Hu.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),this.opts.initialValue!==void 0&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),nu(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(x.cursor.show),this.output.off("resize",this.render),nu(this.input,!1),e(this.value)}),this.once("cancel",()=>{this.output.write(x.cursor.show),this.output.off("resize",this.render),nu(this.input,!1),e(Ou)})})}onKeypress(e,t){if(this.state==="error"&&(this.state="active"),t?.name&&(!this._track&&au.aliases.has(t.name)&&this.emit("cursor",au.aliases.get(t.name)),au.actions.has(t.name)&&this.emit("cursor",t.name)),e&&(e.toLowerCase()==="y"||e.toLowerCase()==="n")&&this.emit("confirm",e.toLowerCase()==="y"),e===" "&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),e&&this.emit("key",e.toLowerCase()),t?.name==="return"){if(!this.value&&this.opts.placeholder&&(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder)),this.opts.validate){let r=this.opts.validate(this.value);r&&(this.error=r instanceof Error?r.message:r,this.state="error",this.rl?.write(this.value))}this.state!=="error"&&(this.state="submit")}Su([e,t?.name,t?.sequence],"cancel")&&(this.state="cancel"),(this.state==="submit"||this.state==="cancel")&&this.emit("finalize"),this.render(),(this.state==="submit"||this.state==="cancel")&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
|
|
11
|
+
`),nu(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let e=De(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
|
|
12
|
+
`).length-1;this.output.write(x.cursor.move(-999,e*-1))}render(){let e=De(this._render(this)??"",process.stdout.columns,{hard:!0});if(e!==this._prevFrame){if(this.state==="initial")this.output.write(x.cursor.hide);else{let t=AD(this._prevFrame,e);if(this.restoreCursor(),t&&t?.length===1){let r=t[0];this.output.write(x.cursor.move(0,r)),this.output.write(x.erase.lines(1));let s=e.split(`
|
|
13
|
+
`);this.output.write(s[r]),this._prevFrame=e,this.output.write(x.cursor.move(0,s.length-r-1));return}if(t&&t?.length>1){let r=t[0];this.output.write(x.cursor.move(0,r)),this.output.write(x.erase.down());let s=e.split(`
|
|
14
14
|
`).slice(r);this.output.write(s.join(`
|
|
15
|
-
`)),this._prevFrame=
|
|
16
|
-
${
|
|
17
|
-
`,t=
|
|
18
|
-
${
|
|
19
|
-
${
|
|
20
|
-
`;case"submit":return`${
|
|
21
|
-
${
|
|
22
|
-
${
|
|
23
|
-
`}}}).prompt();var
|
|
24
|
-
${
|
|
25
|
-
`,s=this.value?
|
|
26
|
-
${
|
|
27
|
-
${
|
|
28
|
-
`}}}).prompt()},
|
|
29
|
-
${
|
|
30
|
-
`;switch(this.state){case"submit":return`${t}${
|
|
31
|
-
${
|
|
32
|
-
${
|
|
33
|
-
${
|
|
34
|
-
`}}}).prompt()};var
|
|
15
|
+
`)),this._prevFrame=e;return}this.output.write(x.erase.down())}this.output.write(e),this.state==="initial"&&(this.state="active"),this._prevFrame=e}}},lu=class extends K{get cursor(){return this.value?0:1}get _value(){return this.cursor===0}constructor(e){super(e,!1),this.value=!!e.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",t=>{this.output.write(x.cursor.move(0,-1)),this.value=t,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}};var TD;TD=new WeakMap;var OD=Object.defineProperty,kD=(D,e,t)=>e in D?OD(D,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):D[e]=t,te=(D,e,t)=>(kD(D,typeof e!="symbol"?e+"":e,t),t),Ce=class extends K{constructor(D){super(D,!1),te(this,"options"),te(this,"cursor",0),this.options=D.options,this.value=[...D.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:e})=>e===D.cursorAt),0),this.on("key",e=>{e==="a"&&this.toggleAll()}),this.on("cursor",e=>{switch(e){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break;case"space":this.toggleValue();break}})}get _value(){return this.options[this.cursor].value}toggleAll(){let D=this.value.length===this.options.length;this.value=D?[]:this.options.map(e=>e.value)}toggleValue(){let D=this.value.includes(this._value);this.value=D?this.value.filter(e=>e!==this._value):[...this.value,this._value]}};var RD=Object.defineProperty,SD=(D,e,t)=>e in D?RD(D,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):D[e]=t,re=(D,e,t)=>(SD(D,typeof e!="symbol"?e+"":e,t),t),cu=class extends K{constructor(e){super(e,!1),re(this,"options"),re(this,"cursor",0),this.options=e.options,this.cursor=this.options.findIndex(({value:t})=>t===e.initialValue),this.cursor===-1&&(this.cursor=0),this.changeValue(),this.on("cursor",t=>{switch(t){case"left":case"up":this.cursor=this.cursor===0?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1;break}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}};var Fu=class extends K{get valueWithCursor(){if(this.state==="submit")return this.value;if(this.cursor>=this.value.length)return`${this.value}\u2588`;let e=this.value.slice(0,this.cursor),[t,...r]=this.value.slice(this.cursor);return`${e}${oe.default.inverse(t)}${r.join("")}`}get cursor(){return this._cursor}constructor(e){super(e),this.on("finalize",()=>{this.value||(this.value=e.defaultValue)})}};var i=su(xu(),1),mu=su(Au(),1);import I from"node:process";function MD(){return I.platform!=="win32"?I.env.TERM!=="linux":!!I.env.CI||!!I.env.WT_SESSION||!!I.env.TERMINUS_SUBLIME||I.env.ConEmuTask==="{cmd::Cmder}"||I.env.TERM_PROGRAM==="Terminus-Sublime"||I.env.TERM_PROGRAM==="vscode"||I.env.TERM==="xterm-256color"||I.env.TERM==="alacritty"||I.env.TERMINAL_EMULATOR==="JetBrains-JediTerm"}var Iu=MD(),b=(D,e)=>Iu?D:e,ID=b("\u25C6","*"),Ee=b("\u25A0","x"),de=b("\u25B2","x"),pu=b("\u25C7","o"),_D=b("\u250C","T"),l=b("\u2502","|"),G=b("\u2514","\u2014"),_u=b("\u25CF",">"),ju=b("\u25CB"," "),jD=b("\u25FB","[\u2022]"),me=b("\u25FC","[+]"),ND=b("\u25FB","[ ]"),Vt=b("\u25AA","\u2022"),pe=b("\u2500","-"),PD=b("\u256E","+"),LD=b("\u251C","+"),GD=b("\u256F","+"),VD=b("\u25CF","\u2022"),WD=b("\u25C6","*"),qD=b("\u25B2","!"),UD=b("\u25A0","x"),Eu=D=>{switch(D){case"initial":case"active":return i.default.cyan(ID);case"cancel":return i.default.red(Ee);case"error":return i.default.yellow(de);case"submit":return i.default.green(pu)}},Nu=D=>{let{cursor:e,options:t,style:r}=D,s=D.maxItems??Number.POSITIVE_INFINITY,o=Math.max(process.stdout.rows-4,0),u=Math.min(o,Math.max(s,5)),n=0;e>=n+u-3?n=Math.max(Math.min(e-u+3,t.length-u),0):e<n+2&&(n=Math.max(e-2,0));let F=u<t.length&&n>0,h=u<t.length&&n+u<t.length;return t.slice(n,n+u).map((g,c,y)=>{let j=c===0&&F,Q=c===y.length-1&&h;return j||Q?i.default.dim("..."):r(g,c+n===e)})},q=D=>new Fu({validate:D.validate,placeholder:D.placeholder,defaultValue:D.defaultValue,initialValue:D.initialValue,render(){let e=`${i.default.gray(l)}
|
|
16
|
+
${Eu(this.state)} ${D.message}
|
|
17
|
+
`,t=D.placeholder?i.default.inverse(D.placeholder[0])+i.default.dim(D.placeholder.slice(1)):i.default.inverse(i.default.hidden("_")),r=this.value?this.valueWithCursor:t;switch(this.state){case"error":return`${e.trim()}
|
|
18
|
+
${i.default.yellow(l)} ${r}
|
|
19
|
+
${i.default.yellow(G)} ${i.default.yellow(this.error)}
|
|
20
|
+
`;case"submit":return`${e}${i.default.gray(l)} ${i.default.dim(this.value||D.placeholder)}`;case"cancel":return`${e}${i.default.gray(l)} ${i.default.strikethrough(i.default.dim(this.value??""))}${this.value?.trim()?`
|
|
21
|
+
${i.default.gray(l)}`:""}`;default:return`${e}${i.default.cyan(l)} ${r}
|
|
22
|
+
${i.default.cyan(G)}
|
|
23
|
+
`}}}).prompt();var U=D=>{let e=D.active??"Yes",t=D.inactive??"No";return new lu({active:e,inactive:t,initialValue:D.initialValue??!0,render(){let r=`${i.default.gray(l)}
|
|
24
|
+
${Eu(this.state)} ${D.message}
|
|
25
|
+
`,s=this.value?e:t;switch(this.state){case"submit":return`${r}${i.default.gray(l)} ${i.default.dim(s)}`;case"cancel":return`${r}${i.default.gray(l)} ${i.default.strikethrough(i.default.dim(s))}
|
|
26
|
+
${i.default.gray(l)}`;default:return`${r}${i.default.cyan(l)} ${this.value?`${i.default.green(_u)} ${e}`:`${i.default.dim(ju)} ${i.default.dim(e)}`} ${i.default.dim("/")} ${this.value?`${i.default.dim(ju)} ${i.default.dim(t)}`:`${i.default.green(_u)} ${t}`}
|
|
27
|
+
${i.default.cyan(G)}
|
|
28
|
+
`}}}).prompt()},S=D=>{let e=(t,r)=>{let s=t.label??String(t.value);switch(r){case"selected":return`${i.default.dim(s)}`;case"active":return`${i.default.green(_u)} ${s} ${t.hint?i.default.dim(`(${t.hint})`):""}`;case"cancelled":return`${i.default.strikethrough(i.default.dim(s))}`;default:return`${i.default.dim(ju)} ${i.default.dim(s)}`}};return new cu({options:D.options,initialValue:D.initialValue,render(){let t=`${i.default.gray(l)}
|
|
29
|
+
${Eu(this.state)} ${D.message}
|
|
30
|
+
`;switch(this.state){case"submit":return`${t}${i.default.gray(l)} ${e(this.options[this.cursor],"selected")}`;case"cancel":return`${t}${i.default.gray(l)} ${e(this.options[this.cursor],"cancelled")}
|
|
31
|
+
${i.default.gray(l)}`;default:return`${t}${i.default.cyan(l)} ${Nu({cursor:this.cursor,options:this.options,maxItems:D.maxItems,style:(r,s)=>e(r,s?"active":"inactive")}).join(`
|
|
32
|
+
${i.default.cyan(l)} `)}
|
|
33
|
+
${i.default.cyan(G)}
|
|
34
|
+
`}}}).prompt()};var ge=D=>{let e=(t,r)=>{let s=t.label??String(t.value);return r==="active"?`${i.default.cyan(jD)} ${s} ${t.hint?i.default.dim(`(${t.hint})`):""}`:r==="selected"?`${i.default.green(me)} ${i.default.dim(s)} ${t.hint?i.default.dim(`(${t.hint})`):""}`:r==="cancelled"?`${i.default.strikethrough(i.default.dim(s))}`:r==="active-selected"?`${i.default.green(me)} ${s} ${t.hint?i.default.dim(`(${t.hint})`):""}`:r==="submitted"?`${i.default.dim(s)}`:`${i.default.dim(ND)} ${i.default.dim(s)}`};return new Ce({options:D.options,initialValues:D.initialValues,required:D.required??!0,cursorAt:D.cursorAt,validate(t){if(this.required&&t.length===0)return`Please select at least one option.
|
|
35
|
+
${i.default.reset(i.default.dim(`Press ${i.default.gray(i.default.bgWhite(i.default.inverse(" space ")))} to select, ${i.default.gray(i.default.bgWhite(i.default.inverse(" enter ")))} to submit`))}`},render(){let t=`${i.default.gray(l)}
|
|
36
|
+
${Eu(this.state)} ${D.message}
|
|
37
|
+
`,r=(s,o)=>{let u=this.value.includes(s.value);return o&&u?e(s,"active-selected"):u?e(s,"selected"):e(s,o?"active":"inactive")};switch(this.state){case"submit":return`${t}${i.default.gray(l)} ${this.options.filter(({value:s})=>this.value.includes(s)).map(s=>e(s,"submitted")).join(i.default.dim(", "))||i.default.dim("none")}`;case"cancel":{let s=this.options.filter(({value:o})=>this.value.includes(o)).map(o=>e(o,"cancelled")).join(i.default.dim(", "));return`${t}${i.default.gray(l)} ${s.trim()?`${s}
|
|
38
|
+
${i.default.gray(l)}`:""}`}case"error":{let s=this.error.split(`
|
|
39
|
+
`).map((o,u)=>u===0?`${i.default.yellow(G)} ${i.default.yellow(o)}`:` ${o}`).join(`
|
|
40
|
+
`);return`${t+i.default.yellow(l)} ${Nu({options:this.options,cursor:this.cursor,maxItems:D.maxItems,style:r}).join(`
|
|
41
|
+
${i.default.yellow(l)} `)}
|
|
42
|
+
${s}
|
|
43
|
+
`}default:return`${t}${i.default.cyan(l)} ${Nu({options:this.options,cursor:this.cursor,maxItems:D.maxItems,style:r}).join(`
|
|
44
|
+
${i.default.cyan(l)} `)}
|
|
45
|
+
${i.default.cyan(G)}
|
|
46
|
+
`}}}).prompt()};var du=(D="",e="")=>{let t=`
|
|
47
|
+
${D}
|
|
48
|
+
`.split(`
|
|
49
|
+
`),r=Mu(e).length,s=Math.max(t.reduce((u,n)=>{let F=Mu(n);return F.length>u?F.length:u},0),r)+2,o=t.map(u=>`${i.default.gray(l)} ${i.default.dim(u)}${" ".repeat(s-Mu(u).length)}${i.default.gray(l)}`).join(`
|
|
50
|
+
`);process.stdout.write(`${i.default.gray(l)}
|
|
51
|
+
${i.default.green(pu)} ${i.default.reset(e)} ${i.default.gray(pe.repeat(Math.max(s-r-1,1))+PD)}
|
|
52
|
+
${o}
|
|
53
|
+
${i.default.gray(LD+pe.repeat(s+2)+GD)}
|
|
54
|
+
`)},gu=(D="")=>{process.stdout.write(`${i.default.gray(G)} ${i.default.red(D)}
|
|
35
55
|
|
|
36
|
-
`)},
|
|
37
|
-
`)},
|
|
38
|
-
${
|
|
56
|
+
`)},fe=(D="")=>{process.stdout.write(`${i.default.gray(_D)} ${D}
|
|
57
|
+
`)},be=(D="")=>{process.stdout.write(`${i.default.gray(l)}
|
|
58
|
+
${i.default.gray(G)} ${D}
|
|
39
59
|
|
|
40
|
-
`)},
|
|
41
|
-
`);t.push(`${
|
|
60
|
+
`)},C={message:(D="",{symbol:e=i.default.gray(l)}={})=>{let t=[`${i.default.gray(l)}`];if(D){let[r,...s]=D.split(`
|
|
61
|
+
`);t.push(`${e} ${r}`,...s.map(o=>`${i.default.gray(l)} ${o}`))}process.stdout.write(`${t.join(`
|
|
42
62
|
`)}
|
|
43
|
-
`)},info:
|
|
44
|
-
`);let B=
|
|
45
|
-
`);process.stdout.write(
|
|
46
|
-
`);let v=0,
|
|
47
|
-
`):process.stdout.write(`${
|
|
48
|
-
`),
|
|
63
|
+
`)},info:D=>{C.message(D,{symbol:i.default.blue(VD)})},success:D=>{C.message(D,{symbol:i.default.green(WD)})},step:D=>{C.message(D,{symbol:i.default.green(pu)})},warn:D=>{C.message(D,{symbol:i.default.yellow(qD)})},warning:D=>{C.warn(D)},error:D=>{C.message(D,{symbol:i.default.red(UD)})}},Wt=`${i.default.gray(l)} `;var fu=({indicator:D="dots"}={})=>{let e=Iu?["\u25D2","\u25D0","\u25D3","\u25D1"]:["\u2022","o","O","0"],t=Iu?80:120,r=process.env.CI==="true",s,o,u=!1,n="",F,h=performance.now(),g=B=>{let v=B>1?"Something went wrong":"Canceled";u&&z(v,B)},c=()=>g(2),y=()=>g(1),j=()=>{process.on("uncaughtExceptionMonitor",c),process.on("unhandledRejection",c),process.on("SIGINT",y),process.on("SIGTERM",y),process.on("exit",g)},Q=()=>{process.removeListener("uncaughtExceptionMonitor",c),process.removeListener("unhandledRejection",c),process.removeListener("SIGINT",y),process.removeListener("SIGTERM",y),process.removeListener("exit",g)},Y=()=>{if(F===void 0)return;r&&process.stdout.write(`
|
|
64
|
+
`);let B=F.split(`
|
|
65
|
+
`);process.stdout.write(mu.cursor.move(-999,B.length-1)),process.stdout.write(mu.erase.down(B.length))},V=B=>B.replace(/\.+$/,""),N=B=>{let v=(performance.now()-B)/1e3,k=Math.floor(v/60),P=Math.floor(v%60);return k>0?`[${k}m ${P}s]`:`[${P}s]`},tu=(B="")=>{u=!0,s=he(),n=V(B),h=performance.now(),process.stdout.write(`${i.default.gray(l)}
|
|
66
|
+
`);let v=0,k=0;j(),o=setInterval(()=>{if(r&&n===F)return;Y(),F=n;let P=i.default.magenta(e[v]);if(r)process.stdout.write(`${P} ${n}...`);else if(D==="timer")process.stdout.write(`${P} ${n} ${N(h)}`);else{let a=".".repeat(Math.floor(k)).slice(0,3);process.stdout.write(`${P} ${n}${a}`)}v=v+1<e.length?v+1:0,k=k<e.length?k+.125:0},t)},z=(B="",v=0)=>{u=!1,clearInterval(o),Y();let k=v===0?i.default.green(pu):v===1?i.default.red(Ee):i.default.red(de);n=V(B??n),D==="timer"?process.stdout.write(`${k} ${n} ${N(h)}
|
|
67
|
+
`):process.stdout.write(`${k} ${n}
|
|
68
|
+
`),Q(),s()};return{start:tu,stop:z,message:(B="")=>{n=V(B??n)}}};var Be=(D=0)=>e=>`\x1B[${e+D}m`,$e=(D=0)=>e=>`\x1B[${38+D};5;${e}m`,ve=(D=0)=>(e,t,r)=>`\x1B[${38+D};2;${e};${t};${r}m`,p={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],overline:[53,55],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],blackBright:[90,39],gray:[90,39],grey:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgGray:[100,49],bgGrey:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}},Yt=Object.keys(p.modifier),YD=Object.keys(p.color),zD=Object.keys(p.bgColor),zt=[...YD,...zD];function KD(){let D=new Map;for(let[e,t]of Object.entries(p)){for(let[r,s]of Object.entries(t))p[r]={open:`\x1B[${s[0]}m`,close:`\x1B[${s[1]}m`},t[r]=p[r],D.set(s[0],s[1]);Object.defineProperty(p,e,{value:t,enumerable:!1})}return Object.defineProperty(p,"codes",{value:D,enumerable:!1}),p.color.close="\x1B[39m",p.bgColor.close="\x1B[49m",p.color.ansi=Be(),p.color.ansi256=$e(),p.color.ansi16m=ve(),p.bgColor.ansi=Be(10),p.bgColor.ansi256=$e(10),p.bgColor.ansi16m=ve(10),Object.defineProperties(p,{rgbToAnsi256:{value(e,t,r){return e===t&&t===r?e<8?16:e>248?231:Math.round((e-8)/247*24)+232:16+36*Math.round(e/255*5)+6*Math.round(t/255*5)+Math.round(r/255*5)},enumerable:!1},hexToRgb:{value(e){let t=/[a-f\d]{6}|[a-f\d]{3}/i.exec(e.toString(16));if(!t)return[0,0,0];let[r]=t;r.length===3&&(r=[...r].map(o=>o+o).join(""));let s=Number.parseInt(r,16);return[s>>16&255,s>>8&255,s&255]},enumerable:!1},hexToAnsi256:{value:e=>p.rgbToAnsi256(...p.hexToRgb(e)),enumerable:!1},ansi256ToAnsi:{value(e){if(e<8)return 30+e;if(e<16)return 90+(e-8);let t,r,s;if(e>=232)t=((e-232)*10+8)/255,r=t,s=t;else{e-=16;let n=e%36;t=Math.floor(e/36)/5,r=Math.floor(n/6)/5,s=n%6/5}let o=Math.max(t,r,s)*2;if(o===0)return 30;let u=30+(Math.round(s)<<2|Math.round(r)<<1|Math.round(t));return o===2&&(u+=60),u},enumerable:!1},rgbToAnsi:{value:(e,t,r)=>p.ansi256ToAnsi(p.rgbToAnsi256(e,t,r)),enumerable:!1},hexToAnsi:{value:e=>p.ansi256ToAnsi(p.hexToAnsi256(e)),enumerable:!1}}),p}var JD=KD(),_=JD;import Pu from"node:process";import HD from"node:os";import Ae from"node:tty";function M(D,e=globalThis.Deno?globalThis.Deno.args:Pu.argv){let t=D.startsWith("-")?"":D.length===1?"-":"--",r=e.indexOf(t+D),s=e.indexOf("--");return r!==-1&&(s===-1||r<s)}var{env:f}=Pu,bu;M("no-color")||M("no-colors")||M("color=false")||M("color=never")?bu=0:(M("color")||M("colors")||M("color=true")||M("color=always"))&&(bu=1);function ZD(){if("FORCE_COLOR"in f)return f.FORCE_COLOR==="true"?1:f.FORCE_COLOR==="false"?0:f.FORCE_COLOR.length===0?1:Math.min(Number.parseInt(f.FORCE_COLOR,10),3)}function QD(D){return D===0?!1:{level:D,hasBasic:!0,has256:D>=2,has16m:D>=3}}function XD(D,{streamIsTTY:e,sniffFlags:t=!0}={}){let r=ZD();r!==void 0&&(bu=r);let s=t?bu:r;if(s===0)return 0;if(t){if(M("color=16m")||M("color=full")||M("color=truecolor"))return 3;if(M("color=256"))return 2}if("TF_BUILD"in f&&"AGENT_NAME"in f)return 1;if(D&&!e&&s===void 0)return 0;let o=s||0;if(f.TERM==="dumb")return o;if(Pu.platform==="win32"){let u=HD.release().split(".");return Number(u[0])>=10&&Number(u[2])>=10586?Number(u[2])>=14931?3:2:1}if("CI"in f)return["GITHUB_ACTIONS","GITEA_ACTIONS","CIRCLECI"].some(u=>u in f)?3:["TRAVIS","APPVEYOR","GITLAB_CI","BUILDKITE","DRONE"].some(u=>u in f)||f.CI_NAME==="codeship"?1:o;if("TEAMCITY_VERSION"in f)return/^(9\.(0*[1-9]\d*)\.|\d{2,}\.)/.test(f.TEAMCITY_VERSION)?1:0;if(f.COLORTERM==="truecolor"||f.TERM==="xterm-kitty")return 3;if("TERM_PROGRAM"in f){let u=Number.parseInt((f.TERM_PROGRAM_VERSION||"").split(".")[0],10);switch(f.TERM_PROGRAM){case"iTerm.app":return u>=3?3:2;case"Apple_Terminal":return 2}}return/-256(color)?$/i.test(f.TERM)?2:/^screen|^xterm|^vt100|^vt220|^rxvt|color|ansi|cygwin|linux/i.test(f.TERM)||"COLORTERM"in f?1:o}function ye(D,e={}){let t=XD(D,{streamIsTTY:D&&D.isTTY,...e});return QD(t)}var ut={stdout:ye({isTTY:Ae.isatty(1)}),stderr:ye({isTTY:Ae.isatty(2)})},xe=ut;function we(D,e,t){let r=D.indexOf(e);if(r===-1)return D;let s=e.length,o=0,u="";do u+=D.slice(o,r)+e+t,o=r+s,r=D.indexOf(e,o);while(r!==-1);return u+=D.slice(o),u}function Te(D,e,t,r){let s=0,o="";do{let u=D[r-1]==="\r";o+=D.slice(s,u?r-1:r)+e+(u?`\r
|
|
49
69
|
`:`
|
|
50
|
-
`)+t,s=r+1,r=
|
|
51
|
-
`,s)}while(r!==-1);return
|
|
52
|
-
`);return
|
|
70
|
+
`)+t,s=r+1,r=D.indexOf(`
|
|
71
|
+
`,s)}while(r!==-1);return o+=D.slice(s),o}var{stdout:Oe,stderr:ke}=xe,Lu=Symbol("GENERATOR"),J=Symbol("STYLER"),uu=Symbol("IS_EMPTY"),Re=["ansi","ansi","ansi256","ansi16m"],H=Object.create(null),et=(D,e={})=>{if(e.level&&!(Number.isInteger(e.level)&&e.level>=0&&e.level<=3))throw new Error("The `level` option should be an integer from 0 to 3");let t=Oe?Oe.level:0;D.level=e.level===void 0?t:e.level};var Dt=D=>{let e=(...t)=>t.join(" ");return et(e,D),Object.setPrototypeOf(e,eu.prototype),e};function eu(D){return Dt(D)}Object.setPrototypeOf(eu.prototype,Function.prototype);for(let[D,e]of Object.entries(_))H[D]={get(){let t=Bu(this,Vu(e.open,e.close,this[J]),this[uu]);return Object.defineProperty(this,D,{value:t}),t}};H.visible={get(){let D=Bu(this,this[J],!0);return Object.defineProperty(this,"visible",{value:D}),D}};var Gu=(D,e,t,...r)=>D==="rgb"?e==="ansi16m"?_[t].ansi16m(...r):e==="ansi256"?_[t].ansi256(_.rgbToAnsi256(...r)):_[t].ansi(_.rgbToAnsi(...r)):D==="hex"?Gu("rgb",e,t,..._.hexToRgb(...r)):_[t][D](...r),tt=["rgb","hex","ansi256"];for(let D of tt){H[D]={get(){let{level:t}=this;return function(...r){let s=Vu(Gu(D,Re[t],"color",...r),_.color.close,this[J]);return Bu(this,s,this[uu])}}};let e="bg"+D[0].toUpperCase()+D.slice(1);H[e]={get(){let{level:t}=this;return function(...r){let s=Vu(Gu(D,Re[t],"bgColor",...r),_.bgColor.close,this[J]);return Bu(this,s,this[uu])}}}}var rt=Object.defineProperties(()=>{},{...H,level:{enumerable:!0,get(){return this[Lu].level},set(D){this[Lu].level=D}}}),Vu=(D,e,t)=>{let r,s;return t===void 0?(r=D,s=e):(r=t.openAll+D,s=e+t.closeAll),{open:D,close:e,openAll:r,closeAll:s,parent:t}},Bu=(D,e,t)=>{let r=(...s)=>st(r,s.length===1?""+s[0]:s.join(" "));return Object.setPrototypeOf(r,rt),r[Lu]=D,r[J]=e,r[uu]=t,r},st=(D,e)=>{if(D.level<=0||!e)return D[uu]?"":e;let t=D[J];if(t===void 0)return e;let{openAll:r,closeAll:s}=t;if(e.includes("\x1B"))for(;t!==void 0;)e=we(e,t.close,t.open),t=t.parent;let o=e.indexOf(`
|
|
72
|
+
`);return o!==-1&&(e=Te(e,s,r,o)),r+e+s};Object.defineProperties(eu.prototype,H);var it=eu(),tr=eu({level:ke?ke.level:0});var Du=it;import{execSync as je}from"child_process";function E(D){if(Cu(D))return gu("\u274C Operation cancelled. Exiting..."),process.exit(0)}var ot=async()=>{let D=await S({message:"\u{1F333} Select the branch type:",options:[{value:"fix",label:"\u{1F41E} Fix"},{value:"improvement",label:"\u2728 Improvement"},{value:"feature",label:"\u{1F680} Feature"},{value:"refactor",label:"\u{1F528} Refactor"}]});return E(D),D},Se=ot;var nt=D=>/^[A-Z]{3}-\d{4}$/.test(D),Me=nt;var at=async()=>{let D=await q({message:"\u{1F3AB} Enter the JIRA ticket code:",placeholder:"DPW-0000",initialValue:"",validate(e){if(e.length===0)return"\u26A0\uFE0F JIRA code is required!";if(!Me(e))return"\u274C JIRA code must have the format DPW-0000"}});return E(D),D},Ie=at;var lt=async()=>{let D=await Se(),e=await Ie();return`${D}/${e}`},_e=lt;var ct=async()=>{let D=await _e(),e=fu();try{e.start("\u{1F331} Creating original branch..."),je(`git checkout -b ${D} origin/master`,{stdio:"inherit"}),je(`git push origin ${D}`,{stdio:"inherit"}),e.stop(`\u2705 Branch "${D}" created and pushed to remote successfully!`),C.success(`\u{1F389} Branch "${D}" created successfully!`)}catch(t){e.stop(),C.error(`\u274C Error: ${t.message}`)}},Ne=ct;import{execSync as Z}from"child_process";var Ft=async()=>{let D=await S({message:"\u{1F30D} \xBFA qu\xE9 rama deseas hacer merge?",options:[{value:"develop",label:"\u{1F9EA} develop (DEV)"},{value:"release",label:"\u{1F6A2} release (UAT)"}],required:!0,initialValue:"develop"});return E(D),D},Pe=Ft;import{execSync as ht}from"child_process";var Ct=()=>ht("git rev-parse --abbrev-ref HEAD").toString().trim(),Le=Ct;var mt=async()=>{try{let D=await Pe(),e=Le(),t=`${e}-${D}`;if(Z(`git checkout -b ${t} origin/${D}`,{stdio:"inherit"}),C.success("\u{1F33F} Temporal branch created successfully"),Z(`git merge origin/${e}`,{stdio:"inherit"}),C.success("\u{1F500} Temporal branch merged successfully"),Z("git status --porcelain",{encoding:"utf-8"}).includes("UU")){C.warn("\u26A0\uFE0F Conflicts detected. Please resolve them manually!");return}Z(`git push origin ${t}`,{stdio:"inherit"}),C.info("\u{1F680} Branch pushed to remote repository");let s=await U({message:"Do you want to remove the temporal branch?"});E(s),s&&(Z(`git checkout ${e}`,{stdio:"inherit"}),Z(`git branch -D ${t}`,{stdio:"inherit"}),C.info("\u{1F5D1}\uFE0F Temporal branch deleted successfully"))}catch(D){console.error("\u274C Error creating the temporal branch:",D)}},Ge=mt;import{execSync as T,spawnSync as Wu,spawn as pt}from"child_process";var Et=[{value:"fix",label:"fix \u2014 correccion de bug"},{value:"feat",label:"feat \u2014 nueva funcionalidad"},{value:"refactor",label:"refactor \u2014 mejora sin cambio funcional"},{value:"chore",label:"chore \u2014 mantenimiento, dependencias"},{value:"docs",label:"docs \u2014 documentacion"},{value:"test",label:"test \u2014 pruebas"},{value:"ci",label:"ci \u2014 integracion continua"},{value:"perf",label:"perf \u2014 rendimiento"},{value:"style",label:"style \u2014 formato, sin cambio de logica"}];function Ve(D){let e=D.slice(3).trim();return e.includes(" -> ")?e.split(" -> ")[1].trim():e}function We(){let D=T("git status --short",{encoding:"utf-8"}).trim();return D?D.split(`
|
|
73
|
+
`):[]}var dt=async()=>{let D=T("git rev-parse --abbrev-ref HEAD",{encoding:"utf-8"}).trim(),e=We();if(C.info(`Branch actual: ${D}`),C.info(`Archivos con cambios: ${e.length}`),e.length===0){let a=await U({message:"No hay cambios pendientes. Deseas continuar de todas formas?"});if(E(a),!a)return}let t=fu();t.start("Actualizando referencias remotas...");try{T("git fetch --quiet"),t.stop("Referencias actualizadas")}catch{t.stop("No se pudo hacer fetch (continuando...)")}let r=await q({message:"Desde que branch base quieres crear la rama?",placeholder:"release",validate:a=>a.length===0?"El branch base es requerido":void 0});E(r);let s=await q({message:"Cual es el identificador del ticket? (ej: DPW-0000)",placeholder:"DPW-0000",validate:a=>a.length===0?"El ticket es requerido":void 0});E(s);let o=await S({message:"Que tipo de cambio es?",options:Et});E(o);let u=`${o}/${s}`;if(T(`git branch --list ${u}`,{encoding:"utf-8"}).trim()){let a=await S({message:`La rama "${u}" ya existe localmente. Que deseas hacer?`,options:[{value:"checkout",label:"Cambiarme a ella y continuar"},{value:"cancel",label:"Cancelar"}]});if(E(a),a==="cancel"){C.warn("Operacion cancelada.");return}T(`git checkout ${u}`,{stdio:"inherit"})}else try{t.start(`Creando rama ${u} desde origin/${r}...`),T(`git checkout -b ${u} origin/${r}`),t.stop(`Rama ${u} creada`)}catch(a){t.stop(""),C.error(`Error al crear la rama: ${a.message}`);return}let F=!1;for(;!F;){let a=We();if(a.length===0){C.warn("No hay archivos para stagear.");return}let R={M:"modificado",A:"agregado",D:"eliminado",R:"renombrado","??":"sin rastrear"},$=await ge({message:"Cuales archivos quieres incluir en el commit?",options:a.map(W=>{let ru=W.slice(0,2).trim(),Ke=Ve(W),Je=R[ru]??ru;return{value:W,label:Ke,hint:Je}}),required:!0});E($),Wu("git",["restore","--staged","."],{encoding:"utf-8"});for(let W of $){let ru=Ve(W);Wu("git",["add",ru],{encoding:"utf-8"})}let w=T("git status --short",{encoding:"utf-8"}).trim();du(w,"Archivos en stage");let A=await U({message:"Los archivos en stage son correctos?"});E(A),F=A,F||Wu("git",["restore","--staged","."],{encoding:"utf-8"})}let h=T("git diff --cached",{encoding:"utf-8"}),g=`Analiza el siguiente git diff y sugiere UN SOLO mensaje de commit en formato convencional.
|
|
74
|
+
|
|
75
|
+
Formato requerido: ${o}(${s}): descripcion en ingles
|
|
76
|
+
Reglas:
|
|
77
|
+
- Maximo 72 caracteres en total
|
|
78
|
+
- Verbo en presente ("add", "fix", "update", NO "added", "fixed")
|
|
79
|
+
- Sin punto final
|
|
80
|
+
- En ingles
|
|
81
|
+
- Responde UNICAMENTE con el mensaje de commit, sin explicaciones, sin comillas, sin markdown
|
|
82
|
+
|
|
83
|
+
Git diff:
|
|
84
|
+
${h}`,c=await S({message:"Con que IA quieres generar la sugerencia de commit?",options:[{value:"claude",label:"Claude"},{value:"opencode",label:"Opencode"}]});E(c);let y={claude:{binary:"claude",args:["-p",g],label:"Claude"},opencode:{binary:"opencode",args:["run",g],label:"Opencode"}},{binary:j,args:Q,label:Y}=y[c];t.start(`Generando sugerencia de commit con ${Y}...`);let V=await new Promise(a=>{let R="",$="",w=pt(j,Q,{stdio:["ignore","pipe","pipe"]});w.stdout.on("data",A=>{R+=A}),w.stderr.on("data",A=>{$+=A}),w.on("close",A=>a({status:A,stdout:R,stderr:$,error:null})),w.on("error",A=>a({status:1,stdout:"",stderr:"",error:A}))});t.stop("");let N;if(V.error||V.status!==0){C.warn(`No se pudo obtener sugerencia de ${Y}. Escribe el mensaje manualmente.`);let a=await q({message:"Escribe el mensaje de commit:",initialValue:`${o}(${s}): `,validate:R=>R.trim().length===0?"El mensaje es requerido":void 0});E(a),N=a}else{let a=V.stdout.trim();du(a,`Sugerencia de ${Y}`);let R=await S({message:"Este mensaje de commit te parece bien?",options:[{value:"yes",label:"Si, usar este"},{value:"modify",label:"Modificar"}]});if(E(R),R==="yes")N=a;else{let $=await q({message:"Escribe el mensaje de commit:",initialValue:a,validate:w=>w.trim().length===0?"El mensaje es requerido":void 0});E($),N=$}}let tu=N.replace(/"/g,'\\"'),z=!1;for(;!z;)try{T(`git commit -m "${tu}"`,{stdio:"inherit"}),C.success("Commit realizado correctamente"),z=!0}catch{let a=await S({message:"El pre-commit hook bloqueo el commit. Que deseas hacer?",options:[{value:"retry",label:"Ya lo corregi, agrega los cambios y vuelve a intentarlo"},{value:"noverify",label:"Saltar el hook (--no-verify)"},{value:"cancel",label:"Cancelar"}]});if(E(a),a==="cancel")return;a==="noverify"&&(T(`git commit --no-verify -m "${tu}"`,{stdio:"inherit"}),C.success("Commit realizado (sin hooks)"),z=!0),a==="retry"&&T("git add -u",{stdio:"inherit"})}let B=await U({message:"Deseas subir la rama al repositorio remoto?"});E(B);let v="";if(B){let a=($=!1)=>{let w=$?`git push -f origin ${u}`:`git push -u origin ${u}`;T(w,{stdio:"inherit"})},R=()=>{let $=T("git remote get-url origin",{encoding:"utf-8"}).trim(),w=$.match(/[:/]([^/]+\/[^/]+?)(\.git)?$/),A=w?w[1]:"";return $.includes("github.com")?`https://github.com/${A}/compare/${u}?expand=1`:$.includes("bitbucket.org")?`https://bitbucket.org/${A}/pull-requests/new?source=${u}`:$.includes("gitlab.com")?`https://gitlab.com/${A}/-/merge_requests/new?merge_request[source_branch]=${u}`:""};try{a(),C.success("Push realizado"),v=R()}catch($){if($.message.includes("rejected")||$.message.includes("non-fast-forward")){let A=await U({message:"La rama ya existe en el remoto con historial diferente. Deseas forzar el push? (git push -f)"});if(E(A),A)try{a(!0),C.success("Push forzado realizado"),v=R()}catch(W){C.error(`Error en el push forzado: ${W.message}`)}}else C.error(`Error en el push: ${$.message}`)}}let k=T('git diff --name-only HEAD~1 HEAD 2>/dev/null || git show --name-only --format="" HEAD',{encoding:"utf-8"}).trim().split(`
|
|
85
|
+
`).filter(Boolean).length,P=[`Rama: ${u}`,`Desde: origin/${r}`,`Commit: ${N}`,`Archivos: ${k} archivos commiteados`,...B&&v?[`Push: origin/${u}`,`Crear PR: ${v}`]:[]];du(P.join(`
|
|
86
|
+
`),"Listo!")},qe=dt;import{readFileSync as gt}from"fs";import{fileURLToPath as ft}from"url";import{dirname as bt,resolve as Bt}from"path";var $t=()=>{let D=ft(import.meta.url),e=bt(D);return JSON.parse(gt(Bt(e,"../package.json"),"utf8"))?.version},Ue=$t;import{existsSync as vt}from"fs";import{join as At}from"path";var yt=()=>{let D=At(process.cwd(),".git");vt(D)||(console.error("\u274C This directory is not a git repository"),process.exit(1))},Ye=yt;var ze=process.argv.slice(2);(ze.includes("-v")||ze.includes("--version"))&&(console.log("eazy-git version:",Ue()),process.exit(0));Ye();fe(Du.hex("#57d7c4")(`
|
|
53
87
|
Welcome to
|
|
54
88
|
|
|
55
89
|
.-------------------------------------------------------------------------------.
|
|
@@ -63,5 +97,5 @@ ${o.default.gray(S)} ${e}
|
|
|
63
97
|
|\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591 \u2591\u2591\u2591\u2591\u2591 |
|
|
64
98
|
'-------------------------------------------------------------------------------'
|
|
65
99
|
|
|
66
|
-
${
|
|
67
|
-
`));var
|
|
100
|
+
${Du.hex("#9ca3af")("your trusted CLI for GIT branch management")}
|
|
101
|
+
`));var qu=await S({message:Du.hex("#199288")("What would you like to do?"),options:[{value:"ACB",label:"\u2726 Add Changes to Branch"},{value:"CRO",label:"\u{1F331} Create Original Branch"},{value:"CRT",label:"\u{1F33F} Create Temporal Branch"}],required:!0,initialValue:"ACB"});qu==="ACB"?await qe():qu==="CRO"?await Ne():qu==="CRT"?await Ge():(gu("\u274C The operation was cancelled. Exiting..."),process.exit(0));be(Du.hex("#06D6A0")("Operation completed!"));
|