@doubao-apps/create 0.0.34 → 0.0.35-canary-e1ece437-20260625020156
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/421.js +3 -3
- package/dist/cli.js +82 -69
- package/dist/index.d.ts +2 -1
- package/dist/template-empty/package.json +3 -2
- package/dist/template-starter/package.json +3 -2
- package/dist/template-starter/src/widgets/hello-world/index.tsx +40 -23
- package/package.json +1 -1
- package/dist/template-starter/src/widgets/hello-world/index.scss +0 -23
package/dist/421.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import"node:module";import e from"node:path";import t,{promises as r}from"node:fs";import{execFileSync as a}from"node:child_process";import{fileURLToPath as o}from"node:url";let i=e.join("src","app.config.ts"),n=e.join("src","app.ts"),s="db_xxxxxx";function c(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}async function l(t,a,o=""){for(let s of[i,n].map(r=>e.join(t,r))){let e;try{e=await r.readFile(s,"utf8")}catch(e){if(e?.code==="ENOENT")continue;throw e}let t=e.replace("<%= appId %>",c(a)).replace("<%= name %>",c(o));t!==e&&await r.writeFile(s,t,"utf8")}}let p=new Set(["node_modules","dist",".git"]);async function d(t,a){let o=async(t,a)=>{for(let i of(await r.mkdir(a,{recursive:!0}),await r.readdir(t,{withFileTypes:!0}))){let n=e.join(t,i.name),s=e.join(a,i.name);if(i.isDirectory()){if(p.has(i.name))continue;await o(n,s)}else await r.copyFile(n,s)}};await o(t,a)}let u=new Set([".js",".cjs",".mjs",".ts",".tsx",".jsx",".json",".md",".txt",".scss",".css",".less",".html",".yml",".yaml"]),f=[["@byted-doubao-apps/framework","@doubao-apps/framework"],["@byted-doubao-apps/kit","@doubao-apps/kit"],["@byted-doubao-apps/ai","@doubao-apps/ai"],["@byted-doubao-apps/create","@doubao-apps/create"],["@byted-doubao-apps/taro-runtime","@doubao-apps/taro-runtime"]],m=["doubao.config.ts"],y=["@byted-doubao-apps/deploy","@doubao-apps/deploy"],w=["deploy"],
|
|
2
|
-
`}return"README.md"===e||"AGENTS.md"===e?
|
|
1
|
+
import"node:module";import e from"node:path";import t,{promises as r}from"node:fs";import{execFileSync as a}from"node:child_process";import{fileURLToPath as o}from"node:url";let i=e.join("src","app.config.ts"),n=e.join("src","app.ts"),s="db_xxxxxx";function c(e){return e.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\u2028/g,"\\u2028").replace(/\u2029/g,"\\u2029")}async function l(t,a,o=""){for(let s of[i,n].map(r=>e.join(t,r))){let e;try{e=await r.readFile(s,"utf8")}catch(e){if(e?.code==="ENOENT")continue;throw e}let t=e.replace("<%= appId %>",c(a)).replace("<%= name %>",c(o));t!==e&&await r.writeFile(s,t,"utf8")}}let p=new Set(["node_modules","dist",".git"]);async function d(t,a){let o=async(t,a)=>{for(let i of(await r.mkdir(a,{recursive:!0}),await r.readdir(t,{withFileTypes:!0}))){let n=e.join(t,i.name),s=e.join(a,i.name);if(i.isDirectory()){if(p.has(i.name))continue;await o(n,s)}else await r.copyFile(n,s)}};await o(t,a)}let u=new Set([".js",".cjs",".mjs",".ts",".tsx",".jsx",".json",".md",".txt",".scss",".css",".less",".html",".yml",".yaml"]),f=[["@byted-doubao-apps/framework","@doubao-apps/framework"],["@byted-doubao-apps/template","@doubao-apps/template"],["@byted-doubao-apps/kit","@doubao-apps/kit"],["@byted-doubao-apps/ai","@doubao-apps/ai"],["@byted-doubao-apps/create","@doubao-apps/create"],["@byted-doubao-apps/taro-runtime","@doubao-apps/taro-runtime"]],m=["doubao.config.ts"],y=["@byted-doubao-apps/deploy","@doubao-apps/deploy"],w=["deploy"],b=["pnpm run deploy","doubao.config.ts","部署到豆包平台"];function h(e){let t=e;for(let[e,r]of f)t=t.replace(RegExp(e.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),"g"),r);return t}async function j(t,a){for(let i of(await r.readdir(t,{withFileTypes:!0}))){var o;let n=e.join(t,i.name);if(function(e){return m.some(t=>t===e)}(i.name)){await r.rm(n,{recursive:!0,force:!0});continue}if(i.isDirectory()){await j(n,a);continue}if(o=i.name,!u.has(e.extname(o))&&"package.json"!==o&&"tsconfig.json"!==o)continue;let s=await r.readFile(n,"utf-8");await r.writeFile(n,function(e,t,r){if("package.json"===e){let e=JSON.parse(h(t));if(e.scripts&&"object"==typeof e.scripts){for(let t of w)delete e.scripts[t];0===Object.keys(e.scripts).length&&delete e.scripts}for(let t of["dependencies","devDependencies","peerDependencies"])if(e[t]&&"object"==typeof e[t]){for(let a of Object.keys(e[t]))y.some(e=>e===a)?delete e[t][a]:a.startsWith("@doubao-apps/")&&(e[t][a]=`^${r}`);0===Object.keys(e[t]).length&&delete e[t]}return`${JSON.stringify(e,null,2)}
|
|
2
|
+
`}return"README.md"===e||"AGENTS.md"===e?h(t).split("\n").filter(e=>!b.some(t=>e.includes(t))).join("\n"):h(t)}(i.name,s,a))}}function g(e){return e?/[<>:"|?*\x00-\x1F]/.test(e)?{valid:!1,error:"Project name contains invalid characters"}:{valid:!0}:{valid:!1,error:"Project name is required"}}function E(e){return e.trim().toLowerCase().replace(/\s+/g,"-").replace(/^[._]/,"").replace(/[^a-z0-9-~._]+/g,"-")}async function N(r,a){let o=e.join(r,"package.json");if(!t.existsSync(o))throw Error("package.json not found in template");let i=JSON.parse(t.readFileSync(o,"utf-8"));i.name=a,t.writeFileSync(o,`${JSON.stringify(i,null,2)}
|
|
3
3
|
`)}let S=["starter","empty"],$=[{value:"starter",label:"Starter (default)",hint:"Starter template with a Page and Widget"},{value:"empty",label:"Empty",hint:"Minimal template without example pages"}];function v(e){return S.includes(e)}let x=o(import.meta.url),T=e.dirname(x),O={".gitignore":["dist","node_modules",".DS_Store"]};async function k(t){for(let[a,o]of Object.entries(O))await r.writeFile(e.join(t,a),`${o.join("\n")}
|
|
4
|
-
`)}async function F(){let t=e.resolve(T,"..","package.json");return JSON.parse(await r.readFile(t,"utf-8")).version??"0.0.1"}async function P(t){let o=e.join(t,".git");if(!await r.stat(o).then(e=>e.isDirectory()).catch(e=>{if(e?.code==="ENOENT")return!1;throw e}))try{a("git",["init"],{cwd:t,stdio:"ignore"})}catch(e){if(e?.code==="ENOENT")return;throw Error(`Failed to initialize git repository: ${t}`,{cause:e})}}async function D({template:t,projectDir:a,public:o=!0,
|
|
4
|
+
`)}async function F(){let t=e.resolve(T,"..","package.json");return JSON.parse(await r.readFile(t,"utf-8")).version??"0.0.1"}async function P(t){let o=e.join(t,".git");if(!await r.stat(o).then(e=>e.isDirectory()).catch(e=>{if(e?.code==="ENOENT")return!1;throw e}))try{a("git",["init"],{cwd:t,stdio:"ignore"})}catch(e){if(e?.code==="ENOENT")return;throw Error(`Failed to initialize git repository: ${t}`,{cause:e})}}async function D({template:t,projectDir:a,public:o=!0,git:i=!0,appId:n,name:c,packageName:p,overwrite:u}){if(!e.isAbsolute(a))throw Error(`Project directory must be an absolute path: ${a}`);if(!v(t))throw Error(`Invalid template: ${t}. Valid options: ${S.join(", ")}`);let f=e.resolve(T,`template-${t}`);try{if(!(await r.stat(f)).isDirectory())throw Error(`Template path is not a directory: ${f}`)}catch(e){if(e?.code==="ENOENT")throw Error(`Template directory not found: ${f}`,{cause:e});throw Error(`Unable to access template directory: ${f}`,{cause:e})}if(await r.stat(a).then(e=>{if(!e.isDirectory())throw Error(`Project path is not a directory: ${a}`);return!0}).catch(e=>{if(e?.code==="ENOENT")return!1;throw Error(`Unable to access project directory: ${a}`,{cause:e})})){if((await r.readdir(a)).length>0&&!u)throw Error(`Project directory is not empty: ${a}`)}else await r.mkdir(a,{recursive:!0});await d(f,a),o&&await j(a,await F()),await k(a),i&&await P(a);let m=p??E(e.basename(a));await N(a,m),await l(a,n??s,c??"")}export{s as DEFAULT_APP_ID,S as TEMPLATES,$ as TEMPLATE_CHOICES,D as create,E as formatProjectName,v as isValidTemplate,g as validateProjectName};
|
|
5
5
|
//# sourceMappingURL=421.js.map
|
package/dist/cli.js
CHANGED
|
@@ -1,91 +1,104 @@
|
|
|
1
|
-
import"node:module";import{execFileSync as u}from"node:child_process";import D from"node:fs";import e from"node:path";import{parseArgs as t,stripVTControlCharacters as r}from"node:util";import s,{stdin as i,stdout as F}from"node:process";import{Writable as o}from"node:stream";import{__webpack_require__ as a}from"./rslib-runtime.js";import{TEMPLATE_CHOICES as n,formatProjectName as C,validateProjectName as l,create as E,isValidTemplate as c,TEMPLATES as p,DEFAULT_APP_ID as h}from"./421.js";import*as m from"node:readline";a.add({"../../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js"(u){let D=process||{},e=D.argv||[],t=D.env||{},r=!(t.NO_COLOR||e.includes("--no-color"))&&(!!t.FORCE_COLOR||e.includes("--color")||"win32"===D.platform||(D.stdout||{}).isTTY&&"dumb"!==t.TERM||!!t.CI),s=(u,D,e=u)=>t=>{let r=""+t,s=r.indexOf(D,u.length);return~s?u+i(r,D,e,s)+D:u+r+D},i=(u,D,e,t)=>{let r="",s=0;do r+=u.substring(s,t)+e,s=t+D.length,t=u.indexOf(D,s);while(~t);return r+u.substring(s)},F=(u=r)=>{let D=u?s:()=>String;return{isColorSupported:u,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")}};u.exports=F(),u.exports.createColors=F},"../../../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js"(u){let D={to:(u,D)=>D?`[${D+1};${u+1}H`:`[${u+1}G`,move(u,D){let e="";return u<0?e+=`[${-u}D`:u>0&&(e+=`[${u}C`),D<0?e+=`[${-D}A`:D>0&&(e+=`[${D}B`),e},up:(u=1)=>`[${u}A`,down:(u=1)=>`[${u}B`,forward:(u=1)=>`[${u}C`,backward:(u=1)=>`[${u}D`,nextLine:(u=1)=>"\x1b[E".repeat(u),prevLine:(u=1)=>"\x1b[F".repeat(u),left:"\x1b[G",hide:"\x1b[?25l",show:"\x1b[?25h",save:"\x1b7",restore:"\x1b8"},e={screen:"\x1b[2J",up:(u=1)=>"\x1b[1J".repeat(u),down:(u=1)=>"\x1b[J".repeat(u),line:"\x1b[2K",lineEnd:"\x1b[K",lineStart:"\x1b[1K",lines(u){let e="";for(let t=0;t<u;t++)e+=this.line+(t<u-1?D.up():"");return u&&(e+=D.left),e}};u.exports={cursor:D,scroll:{up:(u=1)=>"\x1b[S".repeat(u),down:(u=1)=>"\x1b[T".repeat(u)},erase:e,beep:"\x07"}}});let B=a("../../../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js"),d=a("../../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js"),g=function({onlyFirst:u=!1}={}){return RegExp("[\\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=><~]))",u?void 0:"g")}();function b(u){if("string"!=typeof u)throw TypeError(`Expected a \`string\`, got \`${typeof u}\``);return u.replace(g,"")}function A(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var f={exports:{}},x={};function $(u){return u.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}f.exports=x,x.eastAsianWidth=function(u){var D=u.charCodeAt(0),e=2==u.length?u.charCodeAt(1):0,t=D;return 55296<=D&&D<=56319&&56320<=e&&e<=57343&&(D&=1023,e&=1023,t=(D<<10|e)+65536),12288==t||65281<=t&&t<=65376||65504<=t&&t<=65510?"F":8361==t||65377<=t&&t<=65470||65474<=t&&t<=65479||65482<=t&&t<=65487||65490<=t&&t<=65495||65498<=t&&t<=65500||65512<=t&&t<=65518?"H":4352<=t&&t<=4447||4515<=t&&t<=4519||4602<=t&&t<=4607||9001<=t&&t<=9002||11904<=t&&t<=11929||11931<=t&&t<=12019||12032<=t&&t<=12245||12272<=t&&t<=12283||12289<=t&&t<=12350||12353<=t&&t<=12438||12441<=t&&t<=12543||12549<=t&&t<=12589||12593<=t&&t<=12686||12688<=t&&t<=12730||12736<=t&&t<=12771||12784<=t&&t<=12830||12832<=t&&t<=12871||12880<=t&&t<=13054||13056<=t&&t<=19903||19968<=t&&t<=42124||42128<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||55216<=t&&t<=55238||55243<=t&&t<=55291||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65106||65108<=t&&t<=65126||65128<=t&&t<=65131||110592<=t&&t<=110593||127488<=t&&t<=127490||127504<=t&&t<=127546||127552<=t&&t<=127560||127568<=t&&t<=127569||131072<=t&&t<=194367||177984<=t&&t<=196605||196608<=t&&t<=262141?"W":32<=t&&t<=126||162<=t&&t<=163||165<=t&&t<=166||172==t||175==t||10214<=t&&t<=10221||10629<=t&&t<=10630?"Na":161==t||164==t||167<=t&&t<=168||170==t||173<=t&&t<=174||176<=t&&t<=180||182<=t&&t<=186||188<=t&&t<=191||198==t||208==t||215<=t&&t<=216||222<=t&&t<=225||230==t||232<=t&&t<=234||236<=t&&t<=237||240==t||242<=t&&t<=243||247<=t&&t<=250||252==t||254==t||257==t||273==t||275==t||283==t||294<=t&&t<=295||299==t||305<=t&&t<=307||312==t||319<=t&&t<=322||324==t||328<=t&&t<=331||333==t||338<=t&&t<=339||358<=t&&t<=359||363==t||462==t||464==t||466==t||468==t||470==t||472==t||474==t||476==t||593==t||609==t||708==t||711==t||713<=t&&t<=715||717==t||720==t||728<=t&&t<=731||733==t||735==t||768<=t&&t<=879||913<=t&&t<=929||931<=t&&t<=937||945<=t&&t<=961||963<=t&&t<=969||1025==t||1040<=t&&t<=1103||1105==t||8208==t||8211<=t&&t<=8214||8216<=t&&t<=8217||8220<=t&&t<=8221||8224<=t&&t<=8226||8228<=t&&t<=8231||8240==t||8242<=t&&t<=8243||8245==t||8251==t||8254==t||8308==t||8319==t||8321<=t&&t<=8324||8364==t||8451==t||8453==t||8457==t||8467==t||8470==t||8481<=t&&t<=8482||8486==t||8491==t||8531<=t&&t<=8532||8539<=t&&t<=8542||8544<=t&&t<=8555||8560<=t&&t<=8569||8585==t||8592<=t&&t<=8601||8632<=t&&t<=8633||8658==t||8660==t||8679==t||8704==t||8706<=t&&t<=8707||8711<=t&&t<=8712||8715==t||8719==t||8721==t||8725==t||8730==t||8733<=t&&t<=8736||8739==t||8741==t||8743<=t&&t<=8748||8750==t||8756<=t&&t<=8759||8764<=t&&t<=8765||8776==t||8780==t||8786==t||8800<=t&&t<=8801||8804<=t&&t<=8807||8810<=t&&t<=8811||8814<=t&&t<=8815||8834<=t&&t<=8835||8838<=t&&t<=8839||8853==t||8857==t||8869==t||8895==t||8978==t||9312<=t&&t<=9449||9451<=t&&t<=9547||9552<=t&&t<=9587||9600<=t&&t<=9615||9618<=t&&t<=9621||9632<=t&&t<=9633||9635<=t&&t<=9641||9650<=t&&t<=9651||9654<=t&&t<=9655||9660<=t&&t<=9661||9664<=t&&t<=9665||9670<=t&&t<=9672||9675==t||9678<=t&&t<=9681||9698<=t&&t<=9701||9711==t||9733<=t&&t<=9734||9737==t||9742<=t&&t<=9743||9748<=t&&t<=9749||9756==t||9758==t||9792==t||9794==t||9824<=t&&t<=9825||9827<=t&&t<=9829||9831<=t&&t<=9834||9836<=t&&t<=9837||9839==t||9886<=t&&t<=9887||9918<=t&&t<=9919||9924<=t&&t<=9933||9935<=t&&t<=9953||9955==t||9960<=t&&t<=9983||10045==t||10071==t||10102<=t&&t<=10111||11093<=t&&t<=11097||12872<=t&&t<=12879||57344<=t&&t<=63743||65024<=t&&t<=65039||65533==t||127232<=t&&t<=127242||127248<=t&&t<=127277||127280<=t&&t<=127337||127344<=t&&t<=127386||917760<=t&&t<=917999||983040<=t&&t<=1048573||1048576<=t&&t<=1114109?"A":"N"},x.characterLength=function(u){var D=this.eastAsianWidth(u);return"F"==D||"W"==D||"A"==D?2:1},x.length=function(u){for(var D=$(u),e=0,t=0;t<D.length;t++)e+=this.characterLength(D[t]);return e},x.slice=function(u,D,e){textLen=x.length(u),e=e||1,(D=D||0)<0&&(D=textLen+D),e<0&&(e=textLen+e);for(var t="",r=0,s=$(u),i=0;i<s.length;i++){var F=s[i],o=x.length(F);if(r>=D-(2==o))if(r+o<=e)t+=F;else break;r+=o}return t};let v=A(f.exports),y=A(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});function w(u,D={}){if("string"!=typeof u||0===u.length||(D={ambiguousIsNarrow:!0,...D},0===(u=b(u)).length))return 0;u=u.replace(y()," ");let e=D.ambiguousIsNarrow?1:2,t=0;for(let D of u){let u=D.codePointAt(0);if(!(u<=31)&&(!(u>=127)||!(u<=159))&&(!(u>=768)||!(u<=879)))switch(v.eastAsianWidth(D)){case"F":case"W":t+=2;break;case"A":t+=e;break;default:t+=1}}return t}let _=(u=0)=>D=>`\x1b[${D+u}m`,S=(u=0)=>D=>`\x1b[${38+u};5;${D}m`,M=(u=0)=>(D,e,t)=>`\x1b[${38+u};2;${D};${e};${t}m`,k={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(k.modifier),[...Object.keys(k.color),...Object.keys(k.bgColor)];let j=function(){let u=new Map;for(let[D,e]of Object.entries(k)){for(let[D,t]of Object.entries(e))k[D]={open:`\x1b[${t[0]}m`,close:`\x1b[${t[1]}m`},e[D]=k[D],u.set(t[0],t[1]);Object.defineProperty(k,D,{value:e,enumerable:!1})}return Object.defineProperty(k,"codes",{value:u,enumerable:!1}),k.color.close="\x1b[39m",k.bgColor.close="\x1b[49m",k.color.ansi=_(),k.color.ansi256=S(),k.color.ansi16m=M(),k.bgColor.ansi=_(10),k.bgColor.ansi256=S(10),k.bgColor.ansi16m=M(10),Object.defineProperties(k,{rgbToAnsi256:{value:(u,D,e)=>u===D&&D===e?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(D/255*5)+Math.round(e/255*5),enumerable:!1},hexToRgb:{value:u=>{let D=/[a-f\d]{6}|[a-f\d]{3}/i.exec(u.toString(16));if(!D)return[0,0,0];let[e]=D;3===e.length&&(e=[...e].map(u=>u+u).join(""));let t=Number.parseInt(e,16);return[t>>16&255,t>>8&255,255&t]},enumerable:!1},hexToAnsi256:{value:u=>k.rgbToAnsi256(...k.hexToRgb(u)),enumerable:!1},ansi256ToAnsi:{value:u=>{let D,e,t;if(u<8)return 30+u;if(u<16)return 90+(u-8);if(u>=232)e=D=((u-232)*10+8)/255,t=D;else{let r=(u-=16)%36;D=Math.floor(u/36)/5,e=Math.floor(r/6)/5,t=r%6/5}let r=2*Math.max(D,e,t);if(0===r)return 30;let s=30+(Math.round(t)<<2|Math.round(e)<<1|Math.round(D));return 2===r&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(u,D,e)=>k.ansi256ToAnsi(k.rgbToAnsi256(u,D,e)),enumerable:!1},hexToAnsi:{value:u=>k.ansi256ToAnsi(k.hexToAnsi256(u)),enumerable:!1}}),k}(),T=new Set(["\x1b","\x9b"]),I="]8;;",O=u=>`${T.values().next().value}[${u}m`,R=u=>`${T.values().next().value}${I}${u}\x07`,L=(u,D,e)=>{let t=[...D],r=!1,s=!1,i=w(b(u[u.length-1]));for(let[D,F]of t.entries()){let o=w(F);if(i+o<=e?u[u.length-1]+=F:(u.push(F),i=0),T.has(F)&&(r=!0,s=t.slice(D+1).join("").startsWith(I)),r){s?"\x07"===F&&(r=!1,s=!1):"m"===F&&(r=!1);continue}(i+=o)===e&&D<t.length-1&&(u.push(""),i=0)}!i&&u[u.length-1].length>0&&u.length>1&&(u[u.length-2]+=u.pop())};function P(u,D,e){return String(u).normalize().replace(/\r\n/g,`
|
|
1
|
+
import"node:module";import{execFileSync as u}from"node:child_process";import D from"node:fs";import e from"node:path";import{parseArgs as t,stripVTControlCharacters as r}from"node:util";import s,{stdin as i,stdout as o}from"node:process";import{Writable as a}from"node:stream";import{__webpack_require__ as n}from"./rslib-runtime.js";import{TEMPLATE_CHOICES as F,formatProjectName as l,validateProjectName as C,create as c,isValidTemplate as E,TEMPLATES as p,DEFAULT_APP_ID as h}from"./421.js";import*as m from"node:readline";n.add({"../../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js"(u){let D=process||{},e=D.argv||[],t=D.env||{},r=!(t.NO_COLOR||e.includes("--no-color"))&&(!!t.FORCE_COLOR||e.includes("--color")||"win32"===D.platform||(D.stdout||{}).isTTY&&"dumb"!==t.TERM||!!t.CI),s=(u,D,e=u)=>t=>{let r=""+t,s=r.indexOf(D,u.length);return~s?u+i(r,D,e,s)+D:u+r+D},i=(u,D,e,t)=>{let r="",s=0;do r+=u.substring(s,t)+e,s=t+D.length,t=u.indexOf(D,s);while(~t);return r+u.substring(s)},o=(u=r)=>{let D=u?s:()=>String;return{isColorSupported:u,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")}};u.exports=o(),u.exports.createColors=o},"../../../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js"(u){let D={to:(u,D)=>D?`[${D+1};${u+1}H`:`[${u+1}G`,move(u,D){let e="";return u<0?e+=`[${-u}D`:u>0&&(e+=`[${u}C`),D<0?e+=`[${-D}A`:D>0&&(e+=`[${D}B`),e},up:(u=1)=>`[${u}A`,down:(u=1)=>`[${u}B`,forward:(u=1)=>`[${u}C`,backward:(u=1)=>`[${u}D`,nextLine:(u=1)=>"\x1b[E".repeat(u),prevLine:(u=1)=>"\x1b[F".repeat(u),left:"\x1b[G",hide:"\x1b[?25l",show:"\x1b[?25h",save:"\x1b7",restore:"\x1b8"},e={screen:"\x1b[2J",up:(u=1)=>"\x1b[1J".repeat(u),down:(u=1)=>"\x1b[J".repeat(u),line:"\x1b[2K",lineEnd:"\x1b[K",lineStart:"\x1b[1K",lines(u){let e="";for(let t=0;t<u;t++)e+=this.line+(t<u-1?D.up():"");return u&&(e+=D.left),e}};u.exports={cursor:D,scroll:{up:(u=1)=>"\x1b[S".repeat(u),down:(u=1)=>"\x1b[T".repeat(u)},erase:e,beep:"\x07"}}});let d=n("../../../node_modules/.pnpm/sisteransi@1.0.5/node_modules/sisteransi/src/index.js"),B=n("../../../node_modules/.pnpm/picocolors@1.1.1/node_modules/picocolors/picocolors.js"),g=function({onlyFirst:u=!1}={}){return RegExp("[\\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=><~]))",u?void 0:"g")}();function b(u){if("string"!=typeof u)throw TypeError(`Expected a \`string\`, got \`${typeof u}\``);return u.replace(g,"")}function A(u){return u&&u.__esModule&&Object.prototype.hasOwnProperty.call(u,"default")?u.default:u}var f={exports:{}},$={};function x(u){return u.match(/[\uD800-\uDBFF][\uDC00-\uDFFF]|[^\uD800-\uDFFF]/g)||[]}f.exports=$,$.eastAsianWidth=function(u){var D=u.charCodeAt(0),e=2==u.length?u.charCodeAt(1):0,t=D;return 55296<=D&&D<=56319&&56320<=e&&e<=57343&&(D&=1023,e&=1023,t=(D<<10|e)+65536),12288==t||65281<=t&&t<=65376||65504<=t&&t<=65510?"F":8361==t||65377<=t&&t<=65470||65474<=t&&t<=65479||65482<=t&&t<=65487||65490<=t&&t<=65495||65498<=t&&t<=65500||65512<=t&&t<=65518?"H":4352<=t&&t<=4447||4515<=t&&t<=4519||4602<=t&&t<=4607||9001<=t&&t<=9002||11904<=t&&t<=11929||11931<=t&&t<=12019||12032<=t&&t<=12245||12272<=t&&t<=12283||12289<=t&&t<=12350||12353<=t&&t<=12438||12441<=t&&t<=12543||12549<=t&&t<=12589||12593<=t&&t<=12686||12688<=t&&t<=12730||12736<=t&&t<=12771||12784<=t&&t<=12830||12832<=t&&t<=12871||12880<=t&&t<=13054||13056<=t&&t<=19903||19968<=t&&t<=42124||42128<=t&&t<=42182||43360<=t&&t<=43388||44032<=t&&t<=55203||55216<=t&&t<=55238||55243<=t&&t<=55291||63744<=t&&t<=64255||65040<=t&&t<=65049||65072<=t&&t<=65106||65108<=t&&t<=65126||65128<=t&&t<=65131||110592<=t&&t<=110593||127488<=t&&t<=127490||127504<=t&&t<=127546||127552<=t&&t<=127560||127568<=t&&t<=127569||131072<=t&&t<=194367||177984<=t&&t<=196605||196608<=t&&t<=262141?"W":32<=t&&t<=126||162<=t&&t<=163||165<=t&&t<=166||172==t||175==t||10214<=t&&t<=10221||10629<=t&&t<=10630?"Na":161==t||164==t||167<=t&&t<=168||170==t||173<=t&&t<=174||176<=t&&t<=180||182<=t&&t<=186||188<=t&&t<=191||198==t||208==t||215<=t&&t<=216||222<=t&&t<=225||230==t||232<=t&&t<=234||236<=t&&t<=237||240==t||242<=t&&t<=243||247<=t&&t<=250||252==t||254==t||257==t||273==t||275==t||283==t||294<=t&&t<=295||299==t||305<=t&&t<=307||312==t||319<=t&&t<=322||324==t||328<=t&&t<=331||333==t||338<=t&&t<=339||358<=t&&t<=359||363==t||462==t||464==t||466==t||468==t||470==t||472==t||474==t||476==t||593==t||609==t||708==t||711==t||713<=t&&t<=715||717==t||720==t||728<=t&&t<=731||733==t||735==t||768<=t&&t<=879||913<=t&&t<=929||931<=t&&t<=937||945<=t&&t<=961||963<=t&&t<=969||1025==t||1040<=t&&t<=1103||1105==t||8208==t||8211<=t&&t<=8214||8216<=t&&t<=8217||8220<=t&&t<=8221||8224<=t&&t<=8226||8228<=t&&t<=8231||8240==t||8242<=t&&t<=8243||8245==t||8251==t||8254==t||8308==t||8319==t||8321<=t&&t<=8324||8364==t||8451==t||8453==t||8457==t||8467==t||8470==t||8481<=t&&t<=8482||8486==t||8491==t||8531<=t&&t<=8532||8539<=t&&t<=8542||8544<=t&&t<=8555||8560<=t&&t<=8569||8585==t||8592<=t&&t<=8601||8632<=t&&t<=8633||8658==t||8660==t||8679==t||8704==t||8706<=t&&t<=8707||8711<=t&&t<=8712||8715==t||8719==t||8721==t||8725==t||8730==t||8733<=t&&t<=8736||8739==t||8741==t||8743<=t&&t<=8748||8750==t||8756<=t&&t<=8759||8764<=t&&t<=8765||8776==t||8780==t||8786==t||8800<=t&&t<=8801||8804<=t&&t<=8807||8810<=t&&t<=8811||8814<=t&&t<=8815||8834<=t&&t<=8835||8838<=t&&t<=8839||8853==t||8857==t||8869==t||8895==t||8978==t||9312<=t&&t<=9449||9451<=t&&t<=9547||9552<=t&&t<=9587||9600<=t&&t<=9615||9618<=t&&t<=9621||9632<=t&&t<=9633||9635<=t&&t<=9641||9650<=t&&t<=9651||9654<=t&&t<=9655||9660<=t&&t<=9661||9664<=t&&t<=9665||9670<=t&&t<=9672||9675==t||9678<=t&&t<=9681||9698<=t&&t<=9701||9711==t||9733<=t&&t<=9734||9737==t||9742<=t&&t<=9743||9748<=t&&t<=9749||9756==t||9758==t||9792==t||9794==t||9824<=t&&t<=9825||9827<=t&&t<=9829||9831<=t&&t<=9834||9836<=t&&t<=9837||9839==t||9886<=t&&t<=9887||9918<=t&&t<=9919||9924<=t&&t<=9933||9935<=t&&t<=9953||9955==t||9960<=t&&t<=9983||10045==t||10071==t||10102<=t&&t<=10111||11093<=t&&t<=11097||12872<=t&&t<=12879||57344<=t&&t<=63743||65024<=t&&t<=65039||65533==t||127232<=t&&t<=127242||127248<=t&&t<=127277||127280<=t&&t<=127337||127344<=t&&t<=127386||917760<=t&&t<=917999||983040<=t&&t<=1048573||1048576<=t&&t<=1114109?"A":"N"},$.characterLength=function(u){var D=this.eastAsianWidth(u);return"F"==D||"W"==D||"A"==D?2:1},$.length=function(u){for(var D=x(u),e=0,t=0;t<D.length;t++)e+=this.characterLength(D[t]);return e},$.slice=function(u,D,e){textLen=$.length(u),e=e||1,(D=D||0)<0&&(D=textLen+D),e<0&&(e=textLen+e);for(var t="",r=0,s=x(u),i=0;i<s.length;i++){var o=s[i],a=$.length(o);if(r>=D-(2==a))if(r+a<=e)t+=o;else break;r+=a}return t};let v=A(f.exports),y=A(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});function w(u,D={}){if("string"!=typeof u||0===u.length||(D={ambiguousIsNarrow:!0,...D},0===(u=b(u)).length))return 0;u=u.replace(y()," ");let e=D.ambiguousIsNarrow?1:2,t=0;for(let D of u){let u=D.codePointAt(0);if(!(u<=31)&&(!(u>=127)||!(u<=159))&&(!(u>=768)||!(u<=879)))switch(v.eastAsianWidth(D)){case"F":case"W":t+=2;break;case"A":t+=e;break;default:t+=1}}return t}let _=(u=0)=>D=>`\x1b[${D+u}m`,k=(u=0)=>D=>`\x1b[${38+u};5;${D}m`,j=(u=0)=>(D,e,t)=>`\x1b[${38+u};2;${D};${e};${t}m`,S={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(S.modifier),[...Object.keys(S.color),...Object.keys(S.bgColor)];let M=function(){let u=new Map;for(let[D,e]of Object.entries(S)){for(let[D,t]of Object.entries(e))S[D]={open:`\x1b[${t[0]}m`,close:`\x1b[${t[1]}m`},e[D]=S[D],u.set(t[0],t[1]);Object.defineProperty(S,D,{value:e,enumerable:!1})}return Object.defineProperty(S,"codes",{value:u,enumerable:!1}),S.color.close="\x1b[39m",S.bgColor.close="\x1b[49m",S.color.ansi=_(),S.color.ansi256=k(),S.color.ansi16m=j(),S.bgColor.ansi=_(10),S.bgColor.ansi256=k(10),S.bgColor.ansi16m=j(10),Object.defineProperties(S,{rgbToAnsi256:{value:(u,D,e)=>u===D&&D===e?u<8?16:u>248?231:Math.round((u-8)/247*24)+232:16+36*Math.round(u/255*5)+6*Math.round(D/255*5)+Math.round(e/255*5),enumerable:!1},hexToRgb:{value:u=>{let D=/[a-f\d]{6}|[a-f\d]{3}/i.exec(u.toString(16));if(!D)return[0,0,0];let[e]=D;3===e.length&&(e=[...e].map(u=>u+u).join(""));let t=Number.parseInt(e,16);return[t>>16&255,t>>8&255,255&t]},enumerable:!1},hexToAnsi256:{value:u=>S.rgbToAnsi256(...S.hexToRgb(u)),enumerable:!1},ansi256ToAnsi:{value:u=>{let D,e,t;if(u<8)return 30+u;if(u<16)return 90+(u-8);if(u>=232)e=D=((u-232)*10+8)/255,t=D;else{let r=(u-=16)%36;D=Math.floor(u/36)/5,e=Math.floor(r/6)/5,t=r%6/5}let r=2*Math.max(D,e,t);if(0===r)return 30;let s=30+(Math.round(t)<<2|Math.round(e)<<1|Math.round(D));return 2===r&&(s+=60),s},enumerable:!1},rgbToAnsi:{value:(u,D,e)=>S.ansi256ToAnsi(S.rgbToAnsi256(u,D,e)),enumerable:!1},hexToAnsi:{value:u=>S.ansi256ToAnsi(S.hexToAnsi256(u)),enumerable:!1}}),S}(),I=new Set(["\x1b","\x9b"]),T="]8;;",O=u=>`${I.values().next().value}[${u}m`,R=u=>`${I.values().next().value}${T}${u}\x07`,L=(u,D,e)=>{let t=[...D],r=!1,s=!1,i=w(b(u[u.length-1]));for(let[D,o]of t.entries()){let a=w(o);if(i+a<=e?u[u.length-1]+=o:(u.push(o),i=0),I.has(o)&&(r=!0,s=t.slice(D+1).join("").startsWith(T)),r){s?"\x07"===o&&(r=!1,s=!1):"m"===o&&(r=!1);continue}(i+=a)===e&&D<t.length-1&&(u.push(""),i=0)}!i&&u[u.length-1].length>0&&u.length>1&&(u[u.length-2]+=u.pop())};function V(u,D,e){return String(u).normalize().replace(/\r\n/g,`
|
|
2
2
|
`).split(`
|
|
3
|
-
`).map(u=>((u,D,e={})=>{if(!1!==e.trim&&""===u.trim())return"";let t="",r,s,i=u.split(" ").map(u=>w(u)),
|
|
4
|
-
`)];for(let[u,D]of
|
|
3
|
+
`).map(u=>((u,D,e={})=>{if(!1!==e.trim&&""===u.trim())return"";let t="",r,s,i=u.split(" ").map(u=>w(u)),o=[""];for(let[t,r]of u.split(" ").entries()){!1!==e.trim&&(o[o.length-1]=o[o.length-1].trimStart());let u=w(o[o.length-1]);if(0!==t&&(u>=D&&(!1===e.wordWrap||!1===e.trim)&&(o.push(""),u=0),(u>0||!1===e.trim)&&(o[o.length-1]+=" ",u++)),e.hard&&i[t]>D){let e=D-u,s=1+Math.floor((i[t]-e-1)/D);Math.floor((i[t]-1)/D)<s&&o.push(""),L(o,r,D);continue}if(u+i[t]>D&&u>0&&i[t]>0){if(!1===e.wordWrap&&u<D){L(o,r,D);continue}o.push("")}if(u+i[t]>D&&!1===e.wordWrap){L(o,r,D);continue}o[o.length-1]+=r}!1!==e.trim&&(o=o.map(u=>(u=>{let D=u.split(" "),e=D.length;for(;e>0&&!(w(D[e-1])>0);)e--;return e===D.length?u:D.slice(0,e).join(" ")+D.slice(e).join("")})(u)));let a=[...o.join(`
|
|
4
|
+
`)];for(let[u,D]of a.entries()){if(t+=D,I.has(D)){let{groups:D}=RegExp(`(?:\\[(?<code>\\d+)m|\\${T}(?<uri>.*)\x07)`).exec(a.slice(u).join(""))||{groups:{}};if(void 0!==D.code){let u=Number.parseFloat(D.code);r=39===u?void 0:u}else void 0!==D.uri&&(s=0===D.uri.length?void 0:D.uri)}let e=M.codes.get(Number(r));a[u+1]===`
|
|
5
5
|
`?(s&&(t+=R("")),r&&e&&(t+=O(e))):D===`
|
|
6
6
|
`&&(r&&e&&(t+=O(r)),s&&(t+=R(s)))}return t})(u,D,e)).join(`
|
|
7
|
-
`)}let
|
|
8
|
-
`),G(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let u=
|
|
9
|
-
`).length-1;this.output.write(
|
|
7
|
+
`)}let P={actions:new Set(["up","down","left","right","space","enter","cancel"]),aliases:new Map([["k","up"],["j","down"],["h","left"],["l","right"],["\x03","cancel"],["escape","cancel"]])};function N(u,D){if("string"==typeof u)return P.aliases.get(u)===D;for(let e of u)if(void 0!==e&&N(e,D))return!0;return!1}let W=globalThis.process.platform.startsWith("win"),z=Symbol("clack:cancel");function G(u,D){u.isTTY&&u.setRawMode(D)}var K=Object.defineProperty,q=(u,D,e)=>{let t;return(t="symbol"!=typeof D?D+"":D)in u?K(u,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):u[t]=e,e};class U{constructor(u,D=!0){q(this,"input"),q(this,"output"),q(this,"_abortSignal"),q(this,"rl"),q(this,"opts"),q(this,"_render"),q(this,"_track",!1),q(this,"_prevFrame",""),q(this,"_subscribers",new Map),q(this,"_cursor",0),q(this,"state","initial"),q(this,"error",""),q(this,"value");let{input:e=i,output:t=o,render:r,signal:s,...a}=u;this.opts=a,this.onKeypress=this.onKeypress.bind(this),this.close=this.close.bind(this),this.render=this.render.bind(this),this._render=r.bind(this),this._track=D,this._abortSignal=s,this.input=e,this.output=t}unsubscribe(){this._subscribers.clear()}setSubscriber(u,D){let e=this._subscribers.get(u)??[];e.push(D),this._subscribers.set(u,e)}on(u,D){this.setSubscriber(u,{cb:D})}once(u,D){this.setSubscriber(u,{cb:D,once:!0})}emit(u,...D){let e=this._subscribers.get(u)??[],t=[];for(let u of e)u.cb(...D),u.once&&t.push(()=>e.splice(e.indexOf(u),1));for(let u of t)u()}prompt(){return new Promise((u,D)=>{if(this._abortSignal){if(this._abortSignal.aborted)return this.state="cancel",this.close(),u(z);this._abortSignal.addEventListener("abort",()=>{this.state="cancel",this.close()},{once:!0})}let e=new a;e._write=(u,D,e)=>{this._track&&(this.value=this.rl?.line.replace(/\t/g,""),this._cursor=this.rl?.cursor??0,this.emit("value",this.value)),e()},this.input.pipe(e),this.rl=m.default.createInterface({input:this.input,output:e,tabSize:2,prompt:"",escapeCodeTimeout:50,terminal:!0}),m.default.emitKeypressEvents(this.input,this.rl),this.rl.prompt(),void 0!==this.opts.initialValue&&this._track&&this.rl.write(this.opts.initialValue),this.input.on("keypress",this.onKeypress),G(this.input,!0),this.output.on("resize",this.render),this.render(),this.once("submit",()=>{this.output.write(d.cursor.show),this.output.off("resize",this.render),G(this.input,!1),u(this.value)}),this.once("cancel",()=>{this.output.write(d.cursor.show),this.output.off("resize",this.render),G(this.input,!1),u(z)})})}onKeypress(u,D){if("error"===this.state&&(this.state="active"),D?.name&&(!this._track&&P.aliases.has(D.name)&&this.emit("cursor",P.aliases.get(D.name)),P.actions.has(D.name)&&this.emit("cursor",D.name)),u&&("y"===u.toLowerCase()||"n"===u.toLowerCase())&&this.emit("confirm","y"===u.toLowerCase())," "===u&&this.opts.placeholder&&(this.value||(this.rl?.write(this.opts.placeholder),this.emit("value",this.opts.placeholder))),u&&this.emit("key",u.toLowerCase()),D?.name==="return"){if(this.opts.validate){let u=this.opts.validate(this.value);u&&(this.error=u instanceof Error?u.message:u,this.state="error",this.rl?.write(this.value))}"error"!==this.state&&(this.state="submit")}N([u,D?.name,D?.sequence],"cancel")&&(this.state="cancel"),("submit"===this.state||"cancel"===this.state)&&this.emit("finalize"),this.render(),("submit"===this.state||"cancel"===this.state)&&this.close()}close(){this.input.unpipe(),this.input.removeListener("keypress",this.onKeypress),this.output.write(`
|
|
8
|
+
`),G(this.input,!1),this.rl?.close(),this.rl=void 0,this.emit(`${this.state}`,this.value),this.unsubscribe()}restoreCursor(){let u=V(this._prevFrame,process.stdout.columns,{hard:!0}).split(`
|
|
9
|
+
`).length-1;this.output.write(d.cursor.move(-999,-1*u))}render(){let u=V(this._render(this)??"",process.stdout.columns,{hard:!0});if(u!==this._prevFrame){if("initial"===this.state)this.output.write(d.cursor.hide);else{let D=function(u,D){if(u===D)return;let e=u.split(`
|
|
10
10
|
`),t=D.split(`
|
|
11
|
-
`),r=[];for(let u=0;u<Math.max(e.length,t.length);u++)e[u]!==t[u]&&r.push(u);return r}(this._prevFrame,u);if(this.restoreCursor(),D&&D?.length===1){let e=D[0];this.output.write(
|
|
12
|
-
`);this.output.write(t[e]),this._prevFrame=u,this.output.write(
|
|
11
|
+
`),r=[];for(let u=0;u<Math.max(e.length,t.length);u++)e[u]!==t[u]&&r.push(u);return r}(this._prevFrame,u);if(this.restoreCursor(),D&&D?.length===1){let e=D[0];this.output.write(d.cursor.move(0,e)),this.output.write(d.erase.lines(1));let t=u.split(`
|
|
12
|
+
`);this.output.write(t[e]),this._prevFrame=u,this.output.write(d.cursor.move(0,t.length-e-1));return}if(D&&D?.length>1){let e=D[0];this.output.write(d.cursor.move(0,e)),this.output.write(d.erase.down());let t=u.split(`
|
|
13
13
|
`).slice(e);this.output.write(t.join(`
|
|
14
|
-
`)),this._prevFrame=u;return}this.output.write(
|
|
15
|
-
${
|
|
16
|
-
`,e=u.placeholder?
|
|
17
|
-
${
|
|
18
|
-
${
|
|
19
|
-
`;case"submit":return`${D}${
|
|
20
|
-
${
|
|
21
|
-
${
|
|
22
|
-
`}}}).prompt(),
|
|
23
|
-
${
|
|
24
|
-
`,r=this.value?D:e;switch(this.state){case"submit":return`${t}${
|
|
25
|
-
${
|
|
26
|
-
${
|
|
27
|
-
`}}}).prompt()},
|
|
28
|
-
${uB(this.state)} ${u.message}
|
|
29
|
-
`;switch(this.state){case"submit":return`${e}${d.gray(ui)} ${D(this.options[this.cursor],"selected")}`;case"cancel":return`${e}${d.gray(ui)} ${D(this.options[this.cursor],"cancelled")}
|
|
30
|
-
${d.gray(ui)}`;default:return`${e}${d.cyan(ui)} ${(u=>{let{cursor:D,options:e,style:t}=u,r=u.maxItems??1/0,s=Math.min(Math.max(process.stdout.rows-4,0),Math.max(r,5)),i=0;D>=0+s-3?i=Math.max(Math.min(D-s+3,e.length-s),0):D<i+2&&(i=Math.max(D-2,0));let F=s<e.length&&i>0,o=s<e.length&&i+s<e.length;return e.slice(i,i+s).map((u,e,r)=>{let s=e===r.length-1&&o;return 0===e&&F||s?d.dim("..."):t(u,e+i===D)})})({cursor:this.cursor,options:this.options,maxItems:u.maxItems,style:(u,e)=>D(u,e?"active":"inactive")}).join(`
|
|
31
|
-
${d.cyan(ui)} `)}
|
|
32
|
-
${d.cyan(uF)}
|
|
33
|
-
`}}}).prompt()},uA=(u="",D="")=>{let e=`
|
|
14
|
+
`)),this._prevFrame=u;return}this.output.write(d.erase.down())}this.output.write(u),"initial"===this.state&&(this.state="active"),this._prevFrame=u}}}class Y extends U{get cursor(){return+!this.value}get _value(){return 0===this.cursor}constructor(u){super(u,!1),this.value=!!u.initialValue,this.on("value",()=>{this.value=this._value}),this.on("confirm",u=>{this.output.write(d.cursor.move(0,-1)),this.value=u,this.state="submit",this.close()}),this.on("cursor",()=>{this.value=!this.value})}}new WeakMap;var J=Object.defineProperty,H=(u,D,e)=>{let t;return(t="symbol"!=typeof D?D+"":D)in u?J(u,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):u[t]=e,e};let Z=class extends U{constructor(u){super(u,!1),H(this,"options"),H(this,"cursor",0),this.options=u.options,this.value=[...u.initialValues??[]],this.cursor=Math.max(this.options.findIndex(({value:D})=>D===u.cursorAt),0),this.on("key",u=>{"a"===u&&this.toggleAll()}),this.on("cursor",u=>{switch(u){case"left":case"up":this.cursor=0===this.cursor?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()}})}get _value(){return this.options[this.cursor].value}toggleAll(){let u=this.value.length===this.options.length;this.value=u?[]:this.options.map(u=>u.value)}toggleValue(){let u=this.value.includes(this._value);this.value=u?this.value.filter(u=>u!==this._value):[...this.value,this._value]}};var Q=Object.defineProperty,X=(u,D,e)=>{let t;return(t="symbol"!=typeof D?D+"":D)in u?Q(u,t,{enumerable:!0,configurable:!0,writable:!0,value:e}):u[t]=e,e};class uu extends U{constructor(u){super(u,!1),X(this,"options"),X(this,"cursor",0),this.options=u.options,this.cursor=this.options.findIndex(({value:D})=>D===u.initialValue),-1===this.cursor&&(this.cursor=0),this.changeValue(),this.on("cursor",u=>{switch(u){case"left":case"up":this.cursor=0===this.cursor?this.options.length-1:this.cursor-1;break;case"down":case"right":this.cursor=this.cursor===this.options.length-1?0:this.cursor+1}this.changeValue()})}get _value(){return this.options[this.cursor]}changeValue(){this.value=this._value.value}}class uD extends U{get valueWithCursor(){if("submit"===this.state)return this.value;if(this.cursor>=this.value.length)return`${this.value}\u2588`;let u=this.value.slice(0,this.cursor),[D,...e]=this.value.slice(this.cursor);return`${u}${B.inverse(D)}${e.join("")}`}get cursor(){return this._cursor}constructor(u){super(u),this.on("finalize",()=>{this.value||(this.value=u.defaultValue)})}}let ue="win32"!==s.platform?"linux"!==s.env.TERM:!!s.env.CI||!!s.env.WT_SESSION||!!s.env.TERMINUS_SUBLIME||"{cmd::Cmder}"===s.env.ConEmuTask||"Terminus-Sublime"===s.env.TERM_PROGRAM||"vscode"===s.env.TERM_PROGRAM||"xterm-256color"===s.env.TERM||"alacritty"===s.env.TERM||"JetBrains-JediTerm"===s.env.TERMINAL_EMULATOR,ut=(u,D)=>ue?u:D,ur=ut("◆","*"),us=ut("■","x"),ui=ut("▲","x"),uo=ut("◇","o"),ua=ut("┌","T"),un=ut("│","|"),uF=ut("└","—"),ul=ut("●",">"),uC=ut("○"," "),uc=ut("◻","[•]"),uE=ut("◼","[+]"),up=ut("◻","[ ]"),uh=(ut("▪","•"),ut("─","-")),um=ut("╮","+"),ud=ut("├","+"),uB=ut("╯","+"),ug=ut("●","•"),ub=ut("◆","*"),uA=ut("▲","!"),uf=ut("■","x"),u$=u=>{switch(u){case"initial":case"active":return B.cyan(ur);case"cancel":return B.red(us);case"error":return B.yellow(ui);case"submit":return B.green(uo)}},ux=u=>{let{cursor:D,options:e,style:t}=u,r=u.maxItems??1/0,s=Math.min(Math.max(process.stdout.rows-4,0),Math.max(r,5)),i=0;D>=0+s-3?i=Math.max(Math.min(D-s+3,e.length-s),0):D<i+2&&(i=Math.max(D-2,0));let o=s<e.length&&i>0,a=s<e.length&&i+s<e.length;return e.slice(i,i+s).map((u,e,r)=>{let s=e===r.length-1&&a;return 0===e&&o||s?B.dim("..."):t(u,e+i===D)})},uv=u=>new uD({validate:u.validate,placeholder:u.placeholder,defaultValue:u.defaultValue,initialValue:u.initialValue,render(){let D=`${B.gray(un)}
|
|
15
|
+
${u$(this.state)} ${u.message}
|
|
16
|
+
`,e=u.placeholder?B.inverse(u.placeholder[0])+B.dim(u.placeholder.slice(1)):B.inverse(B.hidden("_")),t=this.value?this.valueWithCursor:e;switch(this.state){case"error":return`${D.trim()}
|
|
17
|
+
${B.yellow(un)} ${t}
|
|
18
|
+
${B.yellow(uF)} ${B.yellow(this.error)}
|
|
19
|
+
`;case"submit":return`${D}${B.gray(un)} ${B.dim(this.value||u.placeholder)}`;case"cancel":return`${D}${B.gray(un)} ${B.strikethrough(B.dim(this.value??""))}${this.value?.trim()?`
|
|
20
|
+
${B.gray(un)}`:""}`;default:return`${D}${B.cyan(un)} ${t}
|
|
21
|
+
${B.cyan(uF)}
|
|
22
|
+
`}}}).prompt(),uy=u=>{let D=u.active??"Yes",e=u.inactive??"No";return new Y({active:D,inactive:e,initialValue:u.initialValue??!0,render(){let t=`${B.gray(un)}
|
|
23
|
+
${u$(this.state)} ${u.message}
|
|
24
|
+
`,r=this.value?D:e;switch(this.state){case"submit":return`${t}${B.gray(un)} ${B.dim(r)}`;case"cancel":return`${t}${B.gray(un)} ${B.strikethrough(B.dim(r))}
|
|
25
|
+
${B.gray(un)}`;default:return`${t}${B.cyan(un)} ${this.value?`${B.green(ul)} ${D}`:`${B.dim(uC)} ${B.dim(D)}`} ${B.dim("/")} ${this.value?`${B.dim(uC)} ${B.dim(e)}`:`${B.green(ul)} ${e}`}
|
|
26
|
+
${B.cyan(uF)}
|
|
27
|
+
`}}}).prompt()},uw=(u="",D="")=>{let e=`
|
|
34
28
|
${u}
|
|
35
29
|
`.split(`
|
|
36
|
-
`),t=r(D).length,s=Math.max(e.reduce((u,D)=>{let e=r(D);return e.length>u?e.length:u},0),t)+2,i=e.map(u=>`${
|
|
37
|
-
`);process.stdout.write(`${
|
|
38
|
-
${
|
|
30
|
+
`),t=r(D).length,s=Math.max(e.reduce((u,D)=>{let e=r(D);return e.length>u?e.length:u},0),t)+2,i=e.map(u=>`${B.gray(un)} ${B.dim(u)}${" ".repeat(s-r(u).length)}${B.gray(un)}`).join(`
|
|
31
|
+
`);process.stdout.write(`${B.gray(un)}
|
|
32
|
+
${B.green(uo)} ${B.reset(D)} ${B.gray(uh.repeat(Math.max(s-t-1,1))+um)}
|
|
39
33
|
${i}
|
|
40
|
-
${
|
|
41
|
-
`)},
|
|
34
|
+
${B.gray(ud+uh.repeat(s+2)+uB)}
|
|
35
|
+
`)},u_=(u="")=>{process.stdout.write(`${B.gray(uF)} ${B.red(u)}
|
|
42
36
|
|
|
43
|
-
`)},
|
|
44
|
-
`);e.push(`${D} ${t}`,...r.map(u=>`${
|
|
37
|
+
`)},uk={message:(u="",{symbol:D=B.gray(un)}={})=>{let e=[`${B.gray(un)}`];if(u){let[t,...r]=u.split(`
|
|
38
|
+
`);e.push(`${D} ${t}`,...r.map(u=>`${B.gray(un)} ${u}`))}process.stdout.write(`${e.join(`
|
|
45
39
|
`)}
|
|
46
|
-
`)},info:u=>{
|
|
47
|
-
`)})(
|
|
48
|
-
${
|
|
49
|
-
npm create ${
|
|
50
|
-
pnpm create ${
|
|
40
|
+
`)},info:u=>{uk.message(u,{symbol:B.blue(ug)})},success:u=>{uk.message(u,{symbol:B.green(ub)})},step:u=>{uk.message(u,{symbol:B.green(uo)})},warn:u=>{uk.message(u,{symbol:B.yellow(uA)})},warning:u=>{uk.warn(u)},error:u=>{uk.message(u,{symbol:B.red(uf)})}};B.gray(un);let uj="doubao-apps-dev",uS="claude-code",uM=[{value:"claude-code",label:"Claude Code"},{value:"codex",label:"Codex"},{value:"cursor",label:"Cursor"},{value:"github-copilot",label:"GitHub Copilot"},{value:"opencode",label:"opencode"},{value:"trae-cn",label:"Trae CN"}];function uI(u){if(!/^(?:@[a-z0-9-~][a-z0-9-._~]*\/)?[a-z0-9-~][a-z0-9-._~]*$/.test(u))return"Invalid package name"}function uT(u){if(!/^[a-z0-9][a-z0-9._-]*$/i.test(u))return"Invalid appId"}function uO(u){return JSON.stringify(u)}function uR(u){return u.join(", ")}(async function r({packageScope:s,public:a}){var n,g,b,A;let f=process.stdout.isTTY,$=process.argv.slice(2),x=$.includes("--no-git");f&&(console.clear(),((u="")=>{process.stdout.write(`${B.gray(ua)} ${u}
|
|
41
|
+
`)})(B.bgCyan(B.black(" create-doubao-apps "))));let{values:v,positionals:y}=t({args:$.filter(u=>"--no-git"!==u),options:{template:{type:"string",short:"t"},name:{type:"string"},"package-name":{type:"string"},"app-id":{type:"string"},help:{type:"boolean",short:"h"},yes:{type:"boolean",short:"y"},force:{type:"boolean",short:"f"},ai:{type:"boolean"},agent:{type:"string",multiple:!0}},allowPositionals:!0}),w=!0===v.yes;v.help&&(b=s,console.log(`
|
|
42
|
+
${B.bold("Usage:")}
|
|
43
|
+
npm create ${b} [project-directory] [options]
|
|
44
|
+
pnpm create ${b} [project-directory] [options]
|
|
51
45
|
|
|
52
|
-
${
|
|
46
|
+
${B.bold("Options:")}
|
|
53
47
|
-t, --template <name> Template to use (starter, empty) [default: starter]
|
|
54
|
-
--name <name> Configure
|
|
55
|
-
--
|
|
56
|
-
--
|
|
48
|
+
--name <name> Configure app name in src/app.config.ts
|
|
49
|
+
--package-name <name> Configure package.json name [default: project directory name]
|
|
50
|
+
--app-id <appId> Configure appId in src/app.config.ts [default: ${h}]
|
|
51
|
+
--no-git Skip automatic git repository initialization
|
|
52
|
+
--ai Install the Doubao Apps development skill for AI agents
|
|
53
|
+
--agent <agent> Target AI agent for --ai. Repeat or comma-separate for multiple [default: ${uS}]
|
|
57
54
|
-y, --yes Skip all prompts and use default values (quick mode)
|
|
58
55
|
-f, --force Overwrite if the target directory is not empty
|
|
59
56
|
-h, --help Show this help message
|
|
60
57
|
|
|
61
|
-
${
|
|
62
|
-
npm create ${
|
|
63
|
-
npm create ${
|
|
64
|
-
npm create ${
|
|
65
|
-
npm create ${
|
|
66
|
-
npm create ${
|
|
67
|
-
npm create ${
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
`)
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
58
|
+
${B.bold("Examples:")}
|
|
59
|
+
npm create ${b} my-app
|
|
60
|
+
npm create ${b} my-app --name "My App"
|
|
61
|
+
npm create ${b} my-app --package-name my-app --app-id db_example_app
|
|
62
|
+
npm create ${b} my-app --template empty
|
|
63
|
+
npm create ${b} my-app --no-git
|
|
64
|
+
npm create ${b} my-app --ai --agent claude-code --agent codex
|
|
65
|
+
npm create ${b} my-app --template empty -y
|
|
66
|
+
npm create ${b} . -y --force
|
|
67
|
+
pnpm create ${b}
|
|
68
|
+
`),process.exit(0));let _=y[0];if(_){let u=C(_);u.valid||(uk.error(u.error||"Invalid project directory"),process.exit(1))}else{w&&(uk.error("Project directory is required in quick mode. Use: create-doubao-apps <project-directory> [options]"),process.exit(1));let u=await uv({message:"Project directory:",placeholder:"my-doubao-app",validate:u=>{if(!u)return"Project directory is required";let D=C(u);if(!D.valid)return D.error||"Invalid project name"}});u===z&&(u_("Operation cancelled"),process.exit(0)),_=u}let k=e.resolve(process.cwd(),_),j=!1;if(D.existsSync(k)&&D.readdirSync(k).length>0)if(v.force)j=!0;else if(w)uk.error(`Directory ${B.cyan(_)} is not empty. Aborting.`),process.exit(1);else{let u=await uy({message:`Directory ${B.cyan(_)} is not empty. Continue?`});u!==z&&u||(u_("Operation cancelled"),process.exit(0)),j=!0}let S="starter";if(v.template)E(v.template)||(uk.error(`Invalid template: ${v.template}. Valid options: ${p.join(", ")}`),process.exit(1)),S=v.template;else if(!w){let u,D=await (n={message:"Select a template:",options:[...F],initialValue:"starter"},u=(u,D)=>{let e=u.label??String(u.value);switch(D){case"selected":return`${B.dim(e)}`;case"active":return`${B.green(ul)} ${e} ${u.hint?B.dim(`(${u.hint})`):""}`;case"cancelled":return`${B.strikethrough(B.dim(e))}`;default:return`${B.dim(uC)} ${B.dim(e)}`}},new uu({options:n.options,initialValue:n.initialValue,render(){let D=`${B.gray(un)}
|
|
69
|
+
${u$(this.state)} ${n.message}
|
|
70
|
+
`;switch(this.state){case"submit":return`${D}${B.gray(un)} ${u(this.options[this.cursor],"selected")}`;case"cancel":return`${D}${B.gray(un)} ${u(this.options[this.cursor],"cancelled")}
|
|
71
|
+
${B.gray(un)}`;default:return`${D}${B.cyan(un)} ${ux({cursor:this.cursor,options:this.options,maxItems:n.maxItems,style:(D,e)=>u(D,e?"active":"inactive")}).join(`
|
|
72
|
+
${B.cyan(un)} `)}
|
|
73
|
+
${B.cyan(uF)}
|
|
74
|
+
`}}}).prompt());D===z&&(u_("Operation cancelled"),process.exit(0)),S=D}let M=l(e.basename(k)),I=v["package-name"],T=I??M;if(I){let u=uI(I);u&&(uk.error(u),process.exit(1))}if(!I&&!w&&f){let u=await uv({message:`npm package name: ${B.dim(`(${M})`)}`,placeholder:M,defaultValue:M,validate:u=>uI(u||M)});u===z&&(u_("Operation cancelled"),process.exit(0)),T=u||M}let O=v["app-id"],R=O??h;if(O){let u=uT(O);u&&(uk.error(u),process.exit(1))}if(!O&&!w&&f){let u=await uv({message:`appId: ${B.dim(`(${h})`)}`,placeholder:h,defaultValue:h,validate:u=>uT(u||h)});u===z&&(u_("Operation cancelled"),process.exit(0)),R=u||h}let L=!0===v.ai||void 0!==v.agent,V=[...new Set((Array.isArray(A=v.agent)?A:A?[A]:[]).flatMap(u=>u.split(",")).map(u=>u.trim()).filter(Boolean))];if(!L&&!w&&f){let u=await uy({message:"Install the Doubao Apps development skill for your AI agents?",initialValue:!1});u===z&&(u_("Operation cancelled"),process.exit(0)),L=u}if(L&&0===V.length&&!w&&f){let u,D=await (g={message:"Select the AI agents to install the skill for:",options:[...uM],initialValues:[uS],cursorAt:uS},u=(u,D)=>{let e=u.label??String(u.value);return"active"===D?`${B.cyan(uc)} ${e} ${u.hint?B.dim(`(${u.hint})`):""}`:"selected"===D?`${B.green(uE)} ${B.dim(e)} ${u.hint?B.dim(`(${u.hint})`):""}`:"cancelled"===D?`${B.strikethrough(B.dim(e))}`:"active-selected"===D?`${B.green(uE)} ${e} ${u.hint?B.dim(`(${u.hint})`):""}`:"submitted"===D?`${B.dim(e)}`:`${B.dim(up)} ${B.dim(e)}`},new Z({options:g.options,initialValues:g.initialValues,required:g.required??!0,cursorAt:g.cursorAt,validate(u){if(this.required&&0===u.length)return`Please select at least one option.
|
|
75
|
+
${B.reset(B.dim(`Press ${B.gray(B.bgWhite(B.inverse(" space ")))} to select, ${B.gray(B.bgWhite(B.inverse(" enter ")))} to submit`))}`},render(){let D=`${B.gray(un)}
|
|
76
|
+
${u$(this.state)} ${g.message}
|
|
77
|
+
`,e=(D,e)=>{let t=this.value.includes(D.value);return e&&t?u(D,"active-selected"):t?u(D,"selected"):u(D,e?"active":"inactive")};switch(this.state){case"submit":return`${D}${B.gray(un)} ${this.options.filter(({value:u})=>this.value.includes(u)).map(D=>u(D,"submitted")).join(B.dim(", "))||B.dim("none")}`;case"cancel":{let e=this.options.filter(({value:u})=>this.value.includes(u)).map(D=>u(D,"cancelled")).join(B.dim(", "));return`${D}${B.gray(un)} ${e.trim()?`${e}
|
|
78
|
+
${B.gray(un)}`:""}`}case"error":{let u=this.error.split(`
|
|
79
|
+
`).map((u,D)=>0===D?`${B.yellow(uF)} ${B.yellow(u)}`:` ${u}`).join(`
|
|
80
|
+
`);return`${D+B.yellow(un)} ${ux({options:this.options,cursor:this.cursor,maxItems:g.maxItems,style:e}).join(`
|
|
81
|
+
${B.yellow(un)} `)}
|
|
82
|
+
${u}
|
|
83
|
+
`}default:return`${D}${B.cyan(un)} ${ux({options:this.options,cursor:this.cursor,maxItems:g.maxItems,style:e}).join(`
|
|
84
|
+
${B.cyan(un)} `)}
|
|
85
|
+
${B.cyan(uF)}
|
|
86
|
+
`}}}).prompt());D===z&&(u_("Operation cancelled"),process.exit(0)),V=D}L&&0===V.length&&(V=[uS]);let P=null;try{f?(P=(({indicator:u="dots"}={})=>{let D=ue?["◒","◐","◓","◑"]:["•","o","O","0"],e=ue?80:120,t="true"===process.env.CI,r,s,a=!1,n="",F,l=performance.now(),C=u=>{a&&g(u>1?"Something went wrong":"Canceled",u)},c=()=>C(2),E=()=>C(1),p=()=>{if(void 0===F)return;t&&process.stdout.write(`
|
|
87
|
+
`);let u=F.split(`
|
|
88
|
+
`);process.stdout.write(d.cursor.move(-999,u.length-1)),process.stdout.write(d.erase.down(u.length))},h=u=>{let D=(performance.now()-u)/1e3,e=Math.floor(D/60),t=Math.floor(D%60);return e>0?`[${e}m ${t}s]`:`[${t}s]`},g=(D="",e=0)=>{a=!1,clearInterval(s),p();let t=0===e?B.green(uo):1===e?B.red(us):B.red(ui);n=(D??n).replace(/\.+$/,""),"timer"===u?process.stdout.write(`${t} ${n} ${h(l)}
|
|
89
|
+
`):process.stdout.write(`${t} ${n}
|
|
90
|
+
`),process.removeListener("uncaughtExceptionMonitor",c),process.removeListener("unhandledRejection",c),process.removeListener("SIGINT",E),process.removeListener("SIGTERM",E),process.removeListener("exit",C),r()};return{start:(g="")=>{a=!0,r=function({input:u=i,output:D=o,overwrite:e=!0,hideCursor:t=!0}={}){let r=m.createInterface({input:u,output:D,prompt:"",tabSize:1});m.emitKeypressEvents(u,r),u.isTTY&&u.setRawMode(!0);let s=(r,{name:i,sequence:o})=>{if(N([String(r),i,o],"cancel")){t&&D.write(d.cursor.show),process.exit(0);return}e&&m.moveCursor(D,"return"===i?0:-1,"return"===i?-1:0,()=>{m.clearLine(D,1,()=>{u.once("keypress",s)})})};return t&&D.write(d.cursor.hide),u.once("keypress",s),()=>{u.off("keypress",s),t&&D.write(d.cursor.show),u.isTTY&&!W&&u.setRawMode(!1),r.terminal=!1,r.close()}}(),n=g.replace(/\.+$/,""),l=performance.now(),process.stdout.write(`${B.gray(un)}
|
|
91
|
+
`);let b=0,A=0;process.on("uncaughtExceptionMonitor",c),process.on("unhandledRejection",c),process.on("SIGINT",E),process.on("SIGTERM",E),process.on("exit",C),s=setInterval(()=>{if(t&&n===F)return;p(),F=n;let e=B.magenta(D[b]);if(t)process.stdout.write(`${e} ${n}...`);else if("timer"===u)process.stdout.write(`${e} ${n} ${h(l)}`);else{let u=".".repeat(Math.floor(A)).slice(0,3);process.stdout.write(`${e} ${n}${u}`)}b=b+1<D.length?b+1:0,A=A<D.length?A+.125:0},e)},stop:g,message:(u="")=>{n=(u??n).replace(/\.+$/,"")}}})()).start("Creating project..."):console.log("Creating project..."),await c({template:S,projectDir:k,public:a,git:!x,appId:R,name:v.name??"",packageName:T,overwrite:j}),f&&P&&P.stop("Project files created.");let t=L?function({packageScope:t,projectDir:r,agents:s}){return s.map(s=>(function({packageScope:t,projectDir:r,agent:s}){let i,o,a,n=(i=process.env.DOUBAO_APPS_CREATE_AI_CLI?.trim())?e.resolve(i):null,F=(o=`${t}/ai`,(a=function(){try{let u=JSON.parse(D.readFileSync(new URL("../package.json",import.meta.url),"utf8"));return"string"==typeof u.version&&u.version.length>0?u.version:null}catch{return null}}())?`${o}@${a}`:o),l=n?[n,"skills","add",uj,"--agent",s]:["--yes",F,"skills","add",uj,"--agent",s],C=n?process.execPath:"win32"===process.platform?"npx.cmd":"npx",c=n?[process.execPath,...l].map(uO).join(" "):`npx ${l.join(" ")}`;console.log(`
|
|
92
|
+
Installing Doubao Apps AI Skill for ${s}...`),n&&console.log(` Using local AI CLI: ${n}`);try{return u(C,l,{cwd:r,stdio:"inherit"}),{agent:s,command:c,success:!0}}catch(u){return{agent:s,command:c,success:!1,error:u&&"object"==typeof u&&"status"in u&&"number"==typeof u.status?`exit code ${u.status}`:u instanceof Error?u.message:String(u)}}})({packageScope:t,projectDir:r,agent:s}))}({packageScope:s,projectDir:k,agents:V}):null;f?(uw(`cd ${_}
|
|
76
93
|
pnpm install
|
|
77
|
-
pnpm dev`,"Next steps"),t&&((
|
|
78
|
-
${
|
|
94
|
+
pnpm dev`,"Next steps"),t&&function(u){let D=u.filter(u=>u.success).map(u=>u.agent),e=u.filter(u=>!u.success);for(let u of(D.length>0&&uw(`Skill installed for ${B.cyan(uR(D))}: ${B.cyan(uj)}`,"AI Support"),e))uk.warn(`AI Skill install failed for ${u.agent} (${u.error}).`);e.length>0&&uw(e.map(u=>u.command).join("\n"),"Run manually from the project directory")}(t),((u="")=>{process.stdout.write(`${B.gray(un)}
|
|
95
|
+
${B.gray(uF)} ${u}
|
|
79
96
|
|
|
80
|
-
`)})(
|
|
97
|
+
`)})(B.green("Done! Happy coding!"))):function(u,D){if(console.log(B.green("✓ Project created successfully!")),console.log(`
|
|
81
98
|
Next steps:
|
|
82
|
-
cd ${
|
|
99
|
+
cd ${u}
|
|
83
100
|
pnpm install
|
|
84
|
-
pnpm dev`),
|
|
85
|
-
AI Development Support:
|
|
86
|
-
✓ ${u$} skill installed for ${A.agent}`):A&&console.log(`
|
|
87
|
-
AI Development Support:
|
|
88
|
-
Skill install failed (${A.error}).
|
|
101
|
+
pnpm dev`),!D)return;let e=D.filter(u=>u.success).map(u=>u.agent),t=D.filter(u=>!u.success);for(let u of(console.log("\nAI Development Support:"),e.length>0&&console.log(` ✓ ${uj} skill installed for ${uR(e)}`),t))console.log(` Skill install failed for ${u.agent} (${u.error}).
|
|
89
102
|
Run manually:
|
|
90
|
-
${
|
|
103
|
+
${u.command}`)}(_,t)}catch(u){f&&P?(P.stop("Failed to create project"),uk.error(u instanceof Error?u.message:String(u))):(console.error(B.red("✗ Failed to create project")),console.error(u instanceof Error?u.message:String(u))),process.exit(1)}})({packageScope:"@doubao-apps",public:!0}).catch(u=>{console.error(u),process.exit(1)});
|
|
91
104
|
//# sourceMappingURL=cli.js.map
|
package/dist/index.d.ts
CHANGED
|
@@ -1,9 +1,10 @@
|
|
|
1
|
-
export declare function create({ template, projectDir, public: isPublic, appId, name, packageName, overwrite }: CreateOptions): Promise<void>;
|
|
1
|
+
export declare function create({ template, projectDir, public: isPublic, git, appId, name, packageName, overwrite }: CreateOptions): Promise<void>;
|
|
2
2
|
|
|
3
3
|
declare interface CreateOptions {
|
|
4
4
|
template: Template;
|
|
5
5
|
projectDir: string;
|
|
6
6
|
public?: boolean;
|
|
7
|
+
git?: boolean;
|
|
7
8
|
appId?: string;
|
|
8
9
|
name?: string;
|
|
9
10
|
packageName?: string;
|
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
"build": "doubao build"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@doubao-apps/framework": "^0.0.
|
|
9
|
+
"@doubao-apps/framework": "^0.0.35-canary-e1ece437-20260625020156",
|
|
10
|
+
"@doubao-apps/template": "^0.0.35-canary-e1ece437-20260625020156"
|
|
10
11
|
},
|
|
11
12
|
"devDependencies": {
|
|
12
|
-
"@doubao-apps/kit": "^0.0.
|
|
13
|
+
"@doubao-apps/kit": "^0.0.35-canary-e1ece437-20260625020156",
|
|
13
14
|
"typescript": "6.0.3"
|
|
14
15
|
},
|
|
15
16
|
"version": "0.0.16"
|
|
@@ -6,10 +6,11 @@
|
|
|
6
6
|
"build": "doubao build"
|
|
7
7
|
},
|
|
8
8
|
"dependencies": {
|
|
9
|
-
"@doubao-apps/framework": "^0.0.
|
|
9
|
+
"@doubao-apps/framework": "^0.0.35-canary-e1ece437-20260625020156",
|
|
10
|
+
"@doubao-apps/template": "^0.0.35-canary-e1ece437-20260625020156"
|
|
10
11
|
},
|
|
11
12
|
"devDependencies": {
|
|
12
|
-
"@doubao-apps/kit": "^0.0.
|
|
13
|
+
"@doubao-apps/kit": "^0.0.35-canary-e1ece437-20260625020156",
|
|
13
14
|
"typescript": "6.0.3"
|
|
14
15
|
},
|
|
15
16
|
"version": "0.0.16"
|
|
@@ -1,29 +1,46 @@
|
|
|
1
|
-
import { defineWidget
|
|
2
|
-
import '
|
|
1
|
+
import { defineWidget } from '@doubao-apps/framework';
|
|
2
|
+
import { SingleItemCard, type SingleItemCardInfoRow } from '@doubao-apps/template';
|
|
3
3
|
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
4
|
+
const infoRows: SingleItemCardInfoRow[] = [
|
|
5
|
+
{
|
|
6
|
+
key: 'primary',
|
|
7
|
+
text: '信息字段1'
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
key: 'secondary',
|
|
11
|
+
items: [
|
|
12
|
+
{
|
|
13
|
+
key: 'field-2',
|
|
14
|
+
text: '信息字段2'
|
|
15
|
+
},
|
|
16
|
+
{
|
|
17
|
+
key: 'field-3',
|
|
18
|
+
text: '信息字段3'
|
|
19
|
+
}
|
|
20
|
+
]
|
|
21
|
+
}
|
|
22
|
+
];
|
|
21
23
|
|
|
22
24
|
export default defineWidget({
|
|
23
|
-
onShow() {
|
|
24
|
-
console.log('Hello World widget shown');
|
|
25
|
-
},
|
|
26
25
|
render() {
|
|
27
|
-
return
|
|
26
|
+
return (
|
|
27
|
+
<SingleItemCard
|
|
28
|
+
moreText="查看更多"
|
|
29
|
+
title="主标题"
|
|
30
|
+
infoRows={infoRows}
|
|
31
|
+
price="¥000"
|
|
32
|
+
quantity="1"
|
|
33
|
+
primaryActionText="主按钮"
|
|
34
|
+
onContentClick={() => {
|
|
35
|
+
console.log('[template-single-item-card] content');
|
|
36
|
+
}}
|
|
37
|
+
onMoreClick={() => {
|
|
38
|
+
console.log('[template-single-item-card] more');
|
|
39
|
+
}}
|
|
40
|
+
onPrimaryActionClick={() => {
|
|
41
|
+
console.log('[template-single-item-card] primary action');
|
|
42
|
+
}}
|
|
43
|
+
/>
|
|
44
|
+
);
|
|
28
45
|
}
|
|
29
46
|
});
|
package/package.json
CHANGED
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
.hello-world-widget {
|
|
2
|
-
padding: 28rpx;
|
|
3
|
-
border: 1rpx solid #dfe3ef;
|
|
4
|
-
border-radius: 16rpx;
|
|
5
|
-
background: #ffffff;
|
|
6
|
-
color: #171a24;
|
|
7
|
-
|
|
8
|
-
&__title {
|
|
9
|
-
display: block;
|
|
10
|
-
margin-bottom: 12rpx;
|
|
11
|
-
color: #171a24;
|
|
12
|
-
font-size: 32rpx;
|
|
13
|
-
font-weight: 700;
|
|
14
|
-
line-height: 1.3;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
&__message {
|
|
18
|
-
display: block;
|
|
19
|
-
color: #5d6475;
|
|
20
|
-
font-size: 24rpx;
|
|
21
|
-
line-height: 1.5;
|
|
22
|
-
}
|
|
23
|
-
}
|