wbfy 1.77.0 → 1.78.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.mjs +1 -1
- package/dist/index.mjs.map +1 -1
- package/package.json +5 -5
package/dist/index.mjs
CHANGED
@@ -1,2 +1,2 @@
|
|
1
|
-
import e from"node:fs/promises";import t from"node:path";import{ignoreEnoentAsync as n,ignoreErrorAsync as r}from"@willbooster/shared-lib";import i from"yargs";import a from"node:fs";import{PromisePool as o}from"minimal-promise-pool";import s from"node:child_process";import c from"deepmerge";import u from"node:os";import{globby as l,globbySync as p}from"globby";import{Octokit as f}from"@octokit/core";import d from"lodash.clonedeep";import m from"js-yaml";import h from"dotenv";import v from"libsodium-wrappers";import{simpleGit as y}from"simple-git";function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){O(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function x(){x=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},i="function"==typeof Symbol?Symbol:{},a=i.iterator||"@@iterator",o=i.asyncIterator||"@@asyncIterator",s=i.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function u(e,t,n,i){var a=t&&t.prototype instanceof f?t:f,o=Object.create(a.prototype),s=new S(i||[]);return r(o,"_invoke",{value:w(e,n,s)}),o}function l(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var p={};function f(){}function d(){}function m(){}var h={};c(h,a,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(O([])));y&&y!==t&&n.call(y,a)&&(h=y);var g=m.prototype=f.prototype=Object.create(h);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function i(r,a,o,s){var c=l(e[r],e,a);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==typeof p&&n.call(p,"__await")?t.resolve(p.__await).then((function(e){i("next",e,o,s)}),(function(e){i("throw",e,o,s)})):t.resolve(p).then((function(e){u.value=e,o(u)}),(function(e){return i("throw",e,o,s)}))}s(c.arg)}var a;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){i(e,n,t,r)}))}return a=a?a.then(r,r):r()}})}function w(e,t,n){var r="suspendedStart";return function(i,a){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===i)throw a;return F()}for(n.method=i,n.arg=a;;){var o=n.delegate;if(o){var s=j(o,n);if(s){if(s===p)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var c=l(e,t,n);if("normal"===c.type){if(r=n.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r="completed",n.method="throw",n.arg=c.arg)}}}function j(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),p;var i=l(r,e.iterator,t.arg);if("throw"===i.type)return t.method="throw",t.arg=i.arg,t.delegate=null,p;var a=i.arg;return a?a.done?(t[e.resultName]=a.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):a:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function P(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function O(e){if(e){var t=e[a];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,i=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return i.next=i}}return{next:F}}function F(){return{value:void 0,done:!0}}return d.prototype=m,r(g,"constructor",{value:m,configurable:!0}),r(m,"constructor",{value:d,configurable:!0}),d.displayName=c(m,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,c(e,s,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},b(k.prototype),c(k.prototype,o,(function(){return this})),e.AsyncIterator=k,e.async=function(t,n,r,i,a){void 0===a&&(a=Promise);var o=new k(u(t,n,r,i),a);return e.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},b(g),c(g,s,"Generator"),c(g,a,(function(){return this})),c(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},e.values=O,S.prototype={constructor:S,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var i=this.tryEntries.length-1;i>=0;--i){var a=this.tryEntries[i],o=a.completion;if("root"===a.tryLoc)return r("end");if(a.tryLoc<=this.prev){var s=n.call(a,"catchLoc"),c=n.call(a,"finallyLoc");if(s&&c){if(this.prev<a.catchLoc)return r(a.catchLoc,!0);if(this.prev<a.finallyLoc)return r(a.finallyLoc)}else if(s){if(this.prev<a.catchLoc)return r(a.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<a.finallyLoc)return r(a.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var i=this.tryEntries[r];if(i.tryLoc<=this.prev&&n.call(i,"finallyLoc")&&this.prev<i.finallyLoc){var a=i;break}}a&&("break"===e||"continue"===e)&&a.tryLoc<=t&&t<=a.finallyLoc&&(a=null);var o=a?a.completion:{};return o.type=e,o.arg=t,a?(this.method="next",this.next=a.finallyLoc,p):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),p},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var i=r.arg;_(n)}return i}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:O(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),p}},e}function k(e){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k(e)}function w(e,t,n,r,i,a,o){try{var s=e[a](o),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,i)}function j(e){return function(){var t=this,n=arguments;return new Promise((function(r,i){var a=e.apply(t,n);function o(e){w(a,r,i,o,s,"next",e)}function s(e){w(a,r,i,o,s,"throw",e)}o(void 0)}))}}function P(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,B(r.key),r)}}function S(e,t,n){return t&&_(e.prototype,t),n&&_(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function O(e,t,n){return(t=B(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,i,a,o,s=[],c=!0,u=!1;try{if(a=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=a.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,i=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw i}}return s}}(e,t)||T(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e){return function(e){if(Array.isArray(e))return R(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||T(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){if(e){if("string"==typeof e)return R(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?R(e,t):void 0}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function D(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=T(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,i=function(){};return{s:i,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var a,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,a=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw a}}}}function B(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}var N=new(S((function e(){P(this,e),O(this,"isVerbose",void 0),this.isVerbose=!1}))),L=new(function(){function e(){P(this,e)}var t;return S(e,[{key:"function",value:(t=j(x().mark((function e(t,n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return N.isVerbose&&console.info("--------- ".concat(t," start ---------")),e.next=3,n();case 3:N.isVerbose&&console.info("---------- ".concat(t," end ----------"));case 4:case"end":return e.stop()}}),e)}))),function(e,n){return t.apply(this,arguments)})}]),e}());function I(e){return W.apply(this,arguments)}function W(){return W=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("fixTestDirectories",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(n.map(function(){var e=j(x().mark((function e(n){var r,i,o,s;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.join(n,"__tests__"),i=t.join(n,"tests"),e.prev=2,e.next=5,a.promises.rename(r,i);case 5:return e.next=7,a.promises.readFile(t.join(n,"package.json"),"utf8");case 7:return o=e.sent,s=o.replace(/__tests__/g,"tests"),e.next=11,a.promises.writeFile(t.join(n,"package.json"),s);case 11:e.next=15;break;case 13:e.prev=13,e.t0=e.catch(2);case 15:case"end":return e.stop()}}),e,null,[[2,13]])})));return function(t){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),W.apply(this,arguments)}var A=new o;function $(e,t){return C.apply(this,arguments)}function C(){return(C=j(x().mark((function r(i,a){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",L.function("fixTypeDefinitions",j(x().mark((function r(){var o,s,c,u,l,p;return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return o=t.resolve(i.dirPath,"@types"),s=i.root&&i.containingSubPackageJsons?void 0:t.resolve(i.dirPath,"src","types"),r.next=4,n((function(){return e.readdir(o,{withFileTypes:!0})}));case 4:if(c=r.sent){r.next=7;break}return r.abrupt("return");case 7:u=D(c),r.prev=8,p=x().mark((function r(){var i,c,u,p,f;return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(i=l.value,c=i.name.slice(0,-5),u=i.name.endsWith(".d.ts"),(p=u?c:i.name).includes("__")&&(p="@".concat(p.replace("__","/"))),f=a.some((function(e){var t,n,r,i;return(null===(t=e.packageJson)||void 0===t||null===(n=t.dependencies)||void 0===n?void 0:n[p])||(null===(r=e.packageJson)||void 0===r||null===(i=r.devDependencies)||void 0===i?void 0:i[p])})),!i.isFile()||!u){r.next=21;break}if(!f){r.next=14;break}return r.next=10,e.mkdir(t.join(o,c));case 10:return r.next=12,A.run((function(){return e.rename(t.join(o,i.name),t.join(o,c,"index.d.ts"))}));case 12:r.next=19;break;case 14:if(!s){r.next=19;break}return r.next=17,e.mkdir(s,{recursive:!0});case 17:return r.next=19,A.run((function(){return e.rename(t.join(o,i.name),t.join(s,i.name))}));case 19:r.next=26;break;case 21:if(!i.isDirectory()||!s||f){r.next=26;break}return r.next=24,e.mkdir(s,{recursive:!0});case 24:return r.next=26,A.run((function(){return n((function(){return e.rename(t.join(o,i.name,"index.d.ts"),t.join(s,"".concat(i.name,".d.ts")))}))}));case 26:case"end":return r.stop()}}),r)})),u.s();case 11:if((l=u.n()).done){r.next=15;break}return r.delegateYield(p(),"t0",13);case 13:r.next=11;break;case 15:r.next=20;break;case 17:r.prev=17,r.t1=r.catch(8),u.e(r.t1);case 20:return r.prev=20,u.f(),r.finish(20);case 23:case"end":return r.stop()}}),r,null,[[8,17,20,23]])})))));case 1:case"end":return r.stop()}}),r)})))).apply(this,arguments)}function J(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;do{var i=G(e,t,n),a=F(i,3),o=a[0],c=a[1],u=a[2];console.log("$ ".concat(o," ").concat(c.join(" ")," at ").concat(u.cwd));var l=s.spawnSync(o,c,u);if(0===l.status)break}while(--r>=0)}function z(e,t,n){var r=F(G(e,t,n),3),i=r[0],a=r[1],o=r[2];o.stdio="pipe";var c=s.spawnSync(i,a,o),u=c.stderr.toString().trim();return u&&console.error("".concat(i," [").concat(a.map((function(e){return'"'.concat(e,'"')})),"] caused the following error:\n ").concat(u)),c.stdout.toString().trim()}function G(e,t,n){var r=b({},process.env);return r.PATH&&r.BERRY_BIN_FOLDER&&(r.PATH=r.PATH.replace("".concat(r.BERRY_BIN_FOLDER,":"),"")),r.ASDF_DIR&&(t=["-l","-c",". ".concat(r.ASDF_DIR,"/asdf.sh && ").concat(e," ").concat(t.join(" "))],e="bash"),[e,t,{cwd:n,env:r,shell:!1,stdio:"inherit"}]}function M(e){return H.apply(this,arguments)}function H(){return(H=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateVersionConfigs",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,K(t);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var U="1.3.1",Y="3.9.16",q="adoptopenjdk-11.0.17+8";function K(e){return V.apply(this,arguments)}function V(){return(V=j(x().mark((function e(n){var r,i,o,s,c,u;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.versionsText){e.next=2;break}return e.abrupt("return");case 2:r=[],i=D(n.versionsText.trim().split("\n")),e.prev=4,s=x().mark((function e(){var i,s,c,u,l,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(i=o.value,s=i.trim(),c=s.split(/\s+/),u=F(c,2),l=u[0],p=u[1],l&&p){e.next=5;break}return e.abrupt("return","continue");case 5:if("nodejs"!==l){e.next=10;break}return e.next=8,A.run((function(){return a.promises.writeFile(t.resolve(n.dirPath,".node-version"),p+"\n")}));case 8:e.next=16;break;case 10:if("python"!==l){e.next=15;break}return e.next=13,A.run((function(){return a.promises.writeFile(t.resolve(n.dirPath,".python-version"),p+"\n")}));case 13:e.next=16;break;case 15:r.push(s);case 16:case"end":return e.stop()}}),e)})),i.s();case 7:if((o=i.n()).done){e.next=14;break}return e.delegateYield(s(),"t0",9);case 9:if("continue"!==e.t0){e.next=12;break}return e.abrupt("continue",12);case 12:e.next=7;break;case 14:e.next=19;break;case 16:e.prev=16,e.t1=e.catch(4),i.e(e.t1);case 19:return e.prev=19,i.f(),e.finish(19);case 22:return n.containingPoetryLock&&(X(r,"poetry",U),a.existsSync(t.resolve(n.dirPath,".python-version"))||X(r,"python",Y,!0)),n.depending.firebase&&X(r,"java",q,!0),n.containingPackageJson&&(c=z("npm",["show","yarn","version"],n.dirPath),X(r,"yarn",c)),u=t.resolve(n.dirPath,".tool-versions"),e.next=28,r.length>0?A.run((function(){return a.promises.writeFile(u,r.join("\n")+"\n")})):A.run((function(){return a.promises.rm(u,{force:!0})}));case 28:return e.next=30,A.promiseAll();case 30:J("asdf",["plugin","update","--all"],n.dirPath),J("asdf",["install"],n.dirPath);case 32:case"end":return e.stop()}}),e,null,[[4,16,19,22]])})))).apply(this,arguments)}function X(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],i=e.findIndex((function(e){return e.split(/\s+/)[0]===t})),a="".concat(t," ").concat(n);if(i>=0){var o=e[i].split(/\s+/),s=F(o,2),c=s[1];Z(n)>Z(c)&&(e[i]=a)}else e.splice(r?0:e.length,0,a)}function Z(e){var t,n=0,r=1,i=D(e.split(/[+.-]/).map(Number).filter(Number.isNaN));try{for(i.s();!(t=i.n()).done;){n+=t.value*r,r/=1e3}}catch(e){i.e(e)}finally{i.f()}return n}var Q={codeWith2IndentSize:["cjs","mjs","js","jsx","cts","mts","ts","tsx","json","json5","cpp","dart","htm","html","pu","puml","rb","vue","yaml","yml"].sort(),codeWith4IndentSize:["go","gradle","py"].sort(),codeWith8IndentSize:["sh"].sort(),markdownLike:["md"].sort(),eslint:["cjs","mjs","js","cts","mts","ts","tsx","jsx"].sort(),prettier:["cjs","mjs","js","jsx","cts","mts","ts","tsx","json","json5","css","htm","html","md","scss","vue","yaml","yml"].sort()},ee=function(t){return j(x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,e.readFile(t,"utf8");case 3:return n.abrupt("return",n.sent);case 6:n.prev=6,n.t0=n.catch(0);case 8:case"end":return n.stop()}}),n,null,[[0,6]])})))()},te=function(t,n){return j(x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,e.writeFile(t,n);case 2:console.log("Generated ".concat(t));case 3:case"end":return r.stop()}}),r)})))()},ne="root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n".concat(ae(Q.codeWith2IndentSize),"\nindent_size = 2\nindent_style = space\n\n").concat(ae(Q.codeWith4IndentSize),"\nindent_size = 4\nindent_style = space\n\n").concat(ae(Q.codeWith8IndentSize),"\nindent_size = 8\nindent_style = space\n\n").concat(ae(Q.markdownLike),"\nmax_line_length = off\ntrim_trailing_whitespace = false\n\n[{Makefile,*.mk}]\nindent_style = tab\n");function re(e){return ie.apply(this,arguments)}function ie(){return(ie=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateEditorconfig",j(x().mark((function e(){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n.dirPath,".editorconfig"),e.next=3,A.run((function(){return te(r,ne)}));case 3:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ae(e){return e.length>1?"[*.{".concat(e.join(","),"}]"):"[*.".concat(e[0],"]")}var oe="# Project-specific settings",se=/# Project-specific settings[^\n]*\n/gm,ce="# Generated by wbfy",ue="".concat(oe," (head)\n\n\n").concat(ce,"\n"),le="\n".concat(oe," (tail)\n"),pe={separator:ce,separatorPrefix:"# Generated by ",defaultHeadUserContent:ue,defaultTailUserContent:le,readGitignoreWithoutSeparators:function(e){return j(x().mark((function t(){var n,r;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,a.promises.readFile(e,"utf8");case 3:return n=t.sent,(r=fe(n))>0&&(n=n.slice(0,r-1)),t.abrupt("return",n.replace(se,"").replace(/# Generated by [^\n]*\n/gm,"").replace(/\r?\n\r?\n(\r?\n)+/gm,"\n\n").trim()+"\n");case 9:t.prev=9,t.t0=t.catch(0);case 11:case"end":return t.stop()}}),t,null,[[0,9]])})))()},getHeadUserContent:function(e){var t=e.indexOf(this.separatorPrefix);return t>=0?e.slice(0,e.indexOf("\n",t)+1).replace(se,"".concat(oe," (head)\n")):ue},getTailUserContent:function(e){var t=fe(e);return t>0?e.slice(t-1):le},isBerryZeroInstallEnabled:function(e){return j(x().mark((function t(){var n;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,a.promises.readFile(e,"utf8");case 3:return n=t.sent,t.abrupt("return",n.includes("\n!.yarn/cache"));case 7:return t.prev=7,t.t0=t.catch(0),t.abrupt("return",!1);case 10:case"end":return t.stop()}}),t,null,[[0,7]])})))()}};function fe(e){var t=e.indexOf(oe),n=e.lastIndexOf(oe);return n>t?n:-1}var de="\n3rd-party/\n@types/\n__generated__/\nandroid/\nios/\nno-format/\ntest-fixtures/\n*.config.*js\n*.d.ts\n*.min.*js\n.yarn/\n.pnp.js\n";function me(e){return he.apply(this,arguments)}function he(){return he=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateEslintignore",j(x().mark((function e(){var r,i,a,o,s,c,u,l;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.resolve(n.dirPath,".eslintignore"),e.next=3,ee(i);case 3:if(e.t1=r=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==r;case 7:if(!e.t0){e.next=11;break}e.t2=r,e.next=12;break;case 11:e.t2="";case 12:return a=e.t2,o=pe.getHeadUserContent(a)+de,s=pe.getTailUserContent(a),c=t.resolve(n.dirPath,".gitignore"),e.next=18,pe.readGitignoreWithoutSeparators(c);case 18:if(e.t3=e.sent,e.t3){e.next=21;break}e.t3="";case 21:return u=e.t3,l=o+de+u+s,e.next=25,A.run((function(){return te(i,l)}));case 25:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),he.apply(this,arguments)}function ve(e,t){return t}function ye(e,t,n){var r,i=E(e),a=D(t.entries());try{for(a.s();!(r=a.n()).done;){var o=F(r.value,2),s=o[0],u=o[1];void 0===i[s]?i[s]=n.cloneUnlessOtherwiseSpecified(u,n):n.isMergeableObject(u)?i[s]=c(e[s],u,n):e.includes(u)||i.push(u)}}catch(e){a.e(e)}finally{a.f()}return i}function ge(e,t){return be.apply(this,arguments)}function be(){return be=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateEslintrc",j(x().mark((function e(){var i,o,s,u,l,p,f;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("2"!==r.depending.blitz){e.next=2;break}return e.abrupt("return");case 2:return i=[],n.eslintBase&&i.push(n.eslintBase),n!==r&&i.push("../../.eslintrc.json"),o={root:!0,extends:i},s=t.resolve(n.dirPath,".eslintrc.json"),e.prev=7,e.next=10,a.promises.readFile(s,"utf8");case 10:u=e.sent,(l=JSON.parse(u)).extends&&(l.extends=l.extends.filter((function(e){return!e.startsWith("@willbooster/")&&"../../.eslintrc.json"!==e}))),0===i.length&&(l.extends=[]),p=o.extends,o.extends=l.extends,l.extends=p,o=c.all([o,l,o],{arrayMerge:ye}),"0"===n.depending.blitz?xe(o,"blitz"):"2"===n.depending.blitz&&xe(o,"@blitzjs/next/eslint"),e.next=23;break;case 21:e.prev=21,e.t0=e.catch(7);case 23:return f=JSON.stringify(o),e.next=26,A.run((function(){return te(s,f)}));case 26:case"end":return e.stop()}}),e,null,[[7,21]])})))));case 1:case"end":return e.stop()}}),e)}))),be.apply(this,arguments)}function xe(e,t){e.extends=[t].concat(E(e.extends.filter((function(e){return e!==t}))))}var ke="* text=auto\n\n*.vcproj text eol=crlf\n\n".concat([].concat(E(Q.codeWith2IndentSize),E(Q.codeWith4IndentSize),E(Q.markdownLike)).map((function(e){return"*.".concat(e," text eol=lf")})).join("\n"),"\n");function we(e){return je.apply(this,arguments)}function je(){return(je=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateGitattributes",j(x().mark((function e(){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n.dirPath,".gitattributes"),e.next=3,A.run((function(){return te(r,ke)}));case 3:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Pe=["windows","macos","linux","jetbrains","visualstudiocode","emacs","vim","yarn"],_e="\n.devcontainer/\ndist/\ntemp/\nIcon[\r]\n!.keep\n";function Se(e,t){return Oe.apply(this,arguments)}function Oe(){return Oe=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateGitignore",j(x().mark((function e(){var i,a,o,s,c,u,l,p,f,d,m,h;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.resolve(n.dirPath,".gitignore"),e.next=3,ee(a);case 3:if(e.t1=i=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==i;case 7:if(!e.t0){e.next=11;break}e.t2=i,e.next=12;break;case 11:e.t2="";case 12:o=e.t2,s=pe.getHeadUserContent(o)+_e,c=pe.getTailUserContent(o),u=[].concat(Pe),n.containingGemfile&&u.push("ruby"),n.containingGoMod&&(u.push("go"),s+="".concat(t.basename(n.dirPath),"\n")),n.containingPackageJson&&u.push("node"),n.containingPomXml&&(u.push("maven"),s+=".idea/google-java-format.xml\n"),n.containingPubspecYaml&&(u.push("flutter","AndroidStudio","ruby"),s+=".flutter-plugins-dependencies\nandroid/key.properties\nios/.bundle\n.idea/runConfigurations.xml\n"),n.containingTemplateYaml&&(s+=".aws-sam/\npackaged.yaml\n"),n.containingPoetryLock&&(u.push("python"),s+=".venv/\n"),r.depending.blitz&&(u.push("nextjs"),s+=".blitz/\n.blitz**\n"),(r.depending.firebase||n.depending.firebase)&&u.push("firebase"),r.depending.prisma&&(s+="*.sqlite3\n*.sqlite3-journal\n"),r.depending.playwright&&(s+="test-results/\n"),(r.depending.reactNative||n.depending.reactNative)&&(u.push("reactnative"),s+="google-services.json\nandroid/app/src/main/assets/\n"),r.depending.storybook&&u.push("storybookjs"),l="",p=D(u),e.prev=31,d=x().mark((function e(){var t,n,r,i,a,o;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=f.value,e.next=3,Re(n);case 3:if(e.t1=t=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==t;case 7:if(!e.t0){e.next=11;break}e.t2=t,e.next=12;break;case 11:e.t2="";case 12:if(r=e.t2){e.next=28;break}return i="https://www.toptal.com/developers/gitignore/api/".concat(n),e.next=17,fetch(i);case 17:return a=e.sent,e.next=20,a.text();case 20:if(!(o=e.sent).includes("Attention Required!")){e.next=24;break}return console.error("Failed to fetch ".concat(i)),e.abrupt("return",{v:void 0});case 24:return r=o.trim(),e.next=27,A.run((function(){return Ee(n,r)}));case 27:N.isVerbose&&console.info("Fetched ".concat(i));case 28:l&&(l+="\n"),l+=r+"\n";case 30:case"end":return e.stop()}}),e)})),p.s();case 34:if((f=p.n()).done){e.next=41;break}return e.delegateYield(d(),"t3",36);case 36:if("object"!==k(m=e.t3)){e.next=39;break}return e.abrupt("return",m.v);case 39:e.next=34;break;case 41:e.next=46;break;case 43:e.prev=43,e.t4=e.catch(31),p.e(e.t4);case 46:return e.prev=46,p.f(),e.finish(46);case 49:return e.next=51,pe.isBerryZeroInstallEnabled(a);case 51:if(e.sent){e.next=53;break}l=l.replace("!.yarn/cache","# !.yarn/cache").replace("# .pnp.*",".pnp.*");case 53:return(n.containingPomXml||n.containingPubspecYaml)&&(l=l.replace(/^# .idea\/artifacts$/gm,".idea/artifacts").replace(/^# .idea\/compiler.xml$/gm,".idea/compiler.xml").replace(/^# .idea\/jarRepositories.xml$/gm,".idea/jarRepositories.xml").replace(/^# .idea\/modules.xml$/gm,".idea/modules.xml").replace(/^# .idea\/*.iml$/gm,".idea/*.iml").replace(/^# .idea\/modules$/gm,".idea/modules").replace(/^# *.iml$/gm,"*.iml").replace(/^# *.ipr$/gm,"*.ipr"),n.containingPubspecYaml&&(l=l.replace(/^.idea\/modules.xml$/gm,"# .idea/modules.xml"))),l=l.replace(/^.idea\/?$/gm,"# .idea"),(r.depending.reactNative||n.depending.reactNative||n.containingPubspecYaml)&&(l=l.replace(/^(.idea\/.+)$/gm,"$1\nandroid/$1")),h=s+l+c,e.next=59,A.run((function(){return te(a,h)}));case 59:case"end":return e.stop()}}),e,null,[[31,43,46,49]])})))));case 1:case"end":return e.stop()}}),e)}))),Oe.apply(this,arguments)}var Fe=t.join(u.homedir(),".cache","wbfy","gitignore");function Ee(e,t){return Te.apply(this,arguments)}function Te(){return(Te=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,a.promises.mkdir(Fe,{recursive:!0});case 2:return e.next=4,a.promises.writeFile(t.join(Fe,n),r);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Re(e){return De.apply(this,arguments)}function De(){return(De=j(x().mark((function e(n){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,a.promises.stat(t.join(Fe,n));case 3:if(r=e.sent,!(Date.now()-r.mtimeMs>216e5)){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,a.promises.readFile(t.join(Fe,n),"utf8");case 8:return e.abrupt("return",e.sent);case 11:e.prev=11,e.t0=e.catch(0);case 13:case"end":return e.stop()}}),e,null,[[0,11]])})))).apply(this,arguments)}var Be=function(e){return e.containingJsxOrTsx?' --rule "{ react-hooks/exhaustive-deps: 0 }"':""},Ne=process.env.GH_BOT_PAT||process.env.PUBLIC_GH_BOT_PAT||process.env.GH_TOKEN||process.env.GITHUB_TOKEN,Le=!!Ne,Ie=new f({auth:Ne}),We=new(function(){function e(){P(this,e)}return S(e,[{key:"getOrgAndName",value:function(e){var t,n,r,i=e.split(":").at(-1),a=null==i?void 0:i.split("/");return[null!==(t=null==a?void 0:a.at(-2))&&void 0!==t?t:"",null!==(n=null==a||null===(r=a.at(-1))||void 0===r?void 0:r.replace(/.git$/,""))&&void 0!==n?n:""]}}]),e}()),Ae={node:["src","tests","scripts"].sort(),blitz0:["tests","scripts","app","db","integrations","mailers","test"].sort(),blitz2:["src","tests","scripts","db","integrations","mailers"].sort()};function $e(e){return e.depending.blitz?"0"===e.depending.blitz?Ae.blitz0:Ae.blitz2:Ae.node}var Ce=["eslint","eslint-config-prettier","eslint-plugin-import","eslint-plugin-sort-class-members","eslint-plugin-sort-destructure-keys","eslint-plugin-unicorn"],Je=[].concat(Ce,["@typescript-eslint/eslint-plugin","@typescript-eslint/parser","eslint-import-resolver-typescript"]),ze=["eslint-plugin-react","eslint-plugin-react-hooks"],Ge={"@willbooster/eslint-config-js":["@willbooster/eslint-config-js"].concat(Ce),"@willbooster/eslint-config-js-react":["@willbooster/eslint-config-js-react"].concat(Ce,ze),"@willbooster/eslint-config-ts":["@willbooster/eslint-config-ts"].concat(E(Je)),"@willbooster/eslint-config-ts-react":["@willbooster/eslint-config-ts-react"].concat(E(Je),ze),"../../.eslintrc.json":[]};function Me(e,t,n){return He.apply(this,arguments)}function He(){return(He=j(x().mark((function e(t,n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generatePackageJson",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Ue(t,n,r);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ue(e,t,n){return Ye.apply(this,arguments)}function Ye(){return Ye=j(x().mark((function e(n,r,i){var o,s,u,p,f,d,m,h,v,y,g,b,k,w,j,P,_,S,O,T,R,B,N,L,I,W,A,$,C,z;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=t.resolve(n.dirPath,"package.json"),e.next=3,a.promises.readFile(u,"utf8");case 3:return p=e.sent,(f=JSON.parse(p)).scripts=f.scripts||{},f.dependencies=f.dependencies||{},f.devDependencies=f.devDependencies||{},f.peerDependencies=f.peerDependencies||{},e.next=11,qe(f);case 11:for("@willbooster/prettier-config"!==f.name&&(f.prettier="@willbooster/prettier-config"),d=0,m=Object.keys(f.scripts);d<m.length;d++)h=m[d],f.scripts[h].includes("git clone")||(f.scripts[h]=f.scripts[h].replace(/yarn\s*&&\s*/,"").replace(/yarn\s*install\s*&&\s*/,""));return f.scripts=c(f.scripts,Ve(n)),e.t0=f.scripts.prettify,e.next=17,Xe(n.dirPath);case 17:if(f.scripts.prettify=e.t0+=e.sent,v=[],y=["lint-staged","prettier","sort-package-json","@willbooster/prettier-config"],g=[],n.root&&(y.push("husky","@willbooster/renovate-config"),(n.publicRepo||n.referredByOtherRepo)&&(y.push("pinst"),f.scripts.prepack="pinst --disable",f.scripts.postpack="pinst --enable"),n.depending.semanticRelease&&(y.push("conventional-changelog-conventionalcommits"),f.devDependencies["semantic-release"]||f.devDependencies["multi-semantic-release"]||f.devDependencies["@qiwi/multi-semantic-release"]||y.push("semantic-release"),f.version="0.0.0-semantically-released"),n.containingSubPackageJsons?f.workspaces=["packages/*"]:delete f.workspaces),(n.containingJavaScript||n.containingJavaScriptInPackages||n.containingTypeScript||n.containingTypeScriptInPackages)&&(y.push("eslint","micromatch"),n.containingTypeScriptInPackages&&y.push("@typescript-eslint/parser")),(n.containingTypeScript||n.containingTypeScriptInPackages)&&y.push("typescript"),n.eslintBase&&(b=y).push.apply(b,E(Ge[n.eslintBase])),n.willBoosterConfigs&&(v=v.filter((function(e){return!e.includes("@willbooster/")})),y=y.filter((function(e){return!e.includes("@willbooster/")}))),f.name||(f.name=t.basename(n.dirPath)),n.containingSubPackageJsons&&(f.private=!0),f.license||(f.license="UNLICENSED"),!f.private&&"UNLICENSED"!==f.license&&r.publicRepo&&(null!==(k=f.publishConfig)&&void 0!==k||(f.publishConfig={}),null!==(j=(w=f.publishConfig).access)&&void 0!==j||(w.access="public")),P=We.getOrgAndName(null!==(o=n.repository)&&void 0!==o?o:""),_=F(P,1),"WillBooster"!==(S=_[0])&&"WillBoosterLab"!==S||(f.author="WillBooster Inc."),n.depending.semanticRelease&&n.release.npm&&(n.esmPackage?null===(O=f.resolutions)||void 0===O||delete O["npm/chalk"]:(f.resolutions||(f.resolutions={}),f.resolutions["npm/chalk"]="^4.1.2")),n.containingSubPackageJsons){e.next=46;break}if(n.containingJavaScript||n.containingTypeScript?f.scripts["lint-fix"]+=Be(n):(delete f.scripts.lint,delete f.scripts["lint-fix"],f.scripts.cleanup=f.scripts.cleanup.replace(" && yarn lint-fix","")),n.containingPubspecYaml&&(f.scripts.lint="flutter analyze",f.scripts["lint-fix"]="yarn lint",(T=["lib","test","test_driver"].filter((function(e){return a.existsSync(t.resolve(n.dirPath,e))}))).length>0&&(f.scripts["format-code"]="flutter format $(find ".concat(T.join(" ")," -name generated -prune -o -name '*.freezed.dart' -prune -o -name '*.g.dart' -prune -o -name '*.dart' -print)"),f.scripts.format+=" && yarn format-code")),!n.containingPoetryLock){e.next=45;break}return"poetry install"===f.scripts.postinstall&&delete f.scripts.postinstall,e.next=40,l("**/*.py",{cwd:n.dirPath,dot:!0,gitignore:!0,ignore:["test-fixtures"]});case 40:R=e.sent,B=new Set,N=D(R);try{for(N.s();!(L=N.n()).done;)I=L.value,W=I.split(/[/\\]/),A=F(W,2),$=A[0],A[1]&&B.add($)}catch(e){N.e(e)}finally{N.f()}B.size>0&&(C=E(B).join(" "),f.scripts["format-code"]="poetry run isort --profile black ".concat(C," && poetry run black ").concat(C),f.scripts.lint="poetry run flake8 ".concat(C),f.scripts["lint-fix"]="yarn lint",f.scripts.format+=" && yarn format-code",g.push("black","isort","flake8"));case 45:n.repository&&(f.repository=n.repository);case 46:return n.depending.blitz?("0"===n.depending.blitz&&(y=(y=y.filter((function(e){return!e.includes("@typescript-eslint/")}))).filter((function(e){return"eslint-plugin-react"!==e&&"eslint-import-resolver-typescript"!==e&&"eslint-plugin-import"!==e&&"eslint-plugin-react-hooks"!==e}))),null!==(z=f.scripts["gen-code"])&&void 0!==z&&z.startsWith("blitz codegen")||(f.scripts["gen-code"]="blitz codegen")):!n.depending.prisma||null!==(s=f.scripts["gen-code"])&&void 0!==s&&s.startsWith("prisma generate")||(f.scripts["gen-code"]="prisma generate"),0===Object.keys(f.dependencies).length&&delete f.dependencies,0===Object.keys(f.devDependencies).length&&delete f.devDependencies,0===Object.keys(f.peerDependencies).length&&delete f.peerDependencies,e.next=52,a.promises.writeFile(u,JSON.stringify(f));case 52:i||((v=v.filter((function(e){var t;return!(null!==(t=f.devDependencies)&&void 0!==t&&t[e])}))).length>0&&J("yarn",["add"].concat(E(new Set(v))),n.dirPath),(y=y.filter((function(e){var t;return!(null!==(t=f.dependencies)&&void 0!==t&&t[e])}))).length>0&&J("yarn",["add","-D"].concat(E(new Set(y))),n.dirPath),g.length>0&&J("poetry",["add"].concat(E(new Set(g))),n.dirPath));case 53:case"end":return e.stop()}}),e)}))),Ye.apply(this,arguments)}function qe(e){return Ke.apply(this,arguments)}function Ke(){return Ke=j(x().mark((function e(t){var n,r,i,o,s,c;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for("WillBooster LLC"===t.author&&(t.author="WillBooster Inc."),delete t.scripts["sort-package-json"],delete t.scripts["sort-all-package-json"],delete t.scripts["typecheck:codegen"],delete t.dependencies.tslib,delete t.devDependencies["@willbooster/eslint-config"],delete t.devDependencies["@willbooster/eslint-config-react"],delete t.devDependencies["@willbooster/tsconfig"],delete t.devDependencies["eslint-import-resolver-node"],delete t.devDependencies["eslint-plugin-prettier"],delete t.devDependencies.lerna,delete t.devDependencies.pinst,delete t.scripts["flutter-format"],delete t.scripts["format-flutter"],delete t.scripts["python-format"],delete t.scripts["format-python"],delete t.scripts.prettier,n=0,r=Object.values(Ge);n<r.length;n++){i=r[n],o=D(i);try{for(o.s();!(s=o.n()).done;)c=s.value,delete t.devDependencies[c]}catch(e){o.e(e)}finally{o.f()}}return e.next=20,A.run((function(){return a.promises.rm("lerna.json",{force:!0})}));case 20:case"end":return e.stop()}}),e)}))),Ke.apply(this,arguments)}function Ve(e){var t={cleanup:"yarn format && yarn lint-fix",format:"sort-package-json && yarn prettify",lint:'eslint --color "./{'.concat($e(e),"}/**/*.{").concat(Q.eslint.join(","),'}"'),"lint-fix":"yarn lint --fix",prettify:'prettier --cache --color --write "**/{.*/,}*.{'.concat(Q.prettier.join(","),'}" "!**/test-fixtures/**"'),typecheck:"tsc --noEmit --Pretty"};return e.containingSubPackageJsons?(t=c(b({},t),{format:"sort-package-json && yarn prettify && yarn workspaces foreach --parallel --verbose run format",lint:"yarn workspaces foreach --parallel --verbose run lint","lint-fix":"yarn workspaces foreach --parallel --verbose run lint-fix",prettify:'prettier --cache --color --write "**/{.*/,}*.{'.concat(Q.prettier.join(","),'}" "!**/packages/**" "!**/test-fixtures/**"'),test:"yarn workspaces foreach --verbose run test",typecheck:"yarn workspaces foreach --parallel --verbose run typecheck"}),e.containingTypeScript||e.containingTypeScriptInPackages||delete t.typecheck):(e.depending.blitz&&(t.typecheck+=" || yarn run typecheck/warn",t["typecheck/warn"]="echo 'Please try \"yarn gen-code\" if you face unknown type errors.' && exit 1",t["typecheck:gen-code"]="yarn gen-code && tsc --noEmit --Pretty"),e.containingTypeScript||e.containingTypeScriptInPackages||delete t.typecheck,e.depending.pyright&&(t.typecheck=t.typecheck?"".concat(t.typecheck," && "):"",t.typecheck+="pyright")),t}function Xe(e){return Ze.apply(this,arguments)}function Ze(){return Ze=j(x().mark((function e(n){var r,i,o,s,c;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n,".prettierignore"),e.next=3,a.promises.readFile(r,"utf8");case 3:if(i=e.sent,!((o=i.indexOf(pe.separatorPrefix))<0)){e.next=7;break}return e.abrupt("return","");case 7:return s=i.slice(0,o),c=s.split("\n").map((function(e){var t=e.trim();return t.endsWith("/")?t.slice(0,-1):t})).filter((function(e){return e&&!e.startsWith("#")&&!e.includes("/")})),e.abrupt("return",c.map((function(e){return' "!**/'.concat(e,'/**"')})).join(""));case 10:case"end":return e.stop()}}),e)}))),Ze.apply(this,arguments)}var Qe="npm test",et={preCommit:"node node_modules/.bin/lint-staged",prePush:"yarn typecheck",prePushForLab:'\nif [ $(git branch --show-current) = "main" ] && [ $(git config user.email) != "exkazuu@gmail.com" ]; then\n echo "************************************************"\n echo "*** Don\'t push main branch directly. Use PR! ***"\n echo "************************************************"\n exit 1\nfi\n\nyarn typecheck\n'.trim(),postMerge:'\nchanged_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"\n\nrun_if_changed() {\n if echo "$changed_files" | grep --quiet -E "$1"; then\n eval "$2"\n fi\n}\n'.trim()};function tt(e){return nt.apply(this,arguments)}function nt(){return(nt=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateHuskyrc",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,rt(t);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function rt(e){return it.apply(this,arguments)}function it(){return it=j(x().mark((function e(n){var r,i,o,s,c,u,l,p,f,d,m,h,v;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.resolve(n.dirPath,"package.json"),e.next=3,a.promises.readFile(i,"utf8");case 3:return o=e.sent,(s=JSON.parse(o)).scripts||(s.scripts={}),delete s.scripts.postinstall,delete s.scripts.postpublish,delete s.scripts.prepare,delete s.scripts.prepublishOnly,delete s.scripts.prepack,delete s.scripts.postpack,c=t.resolve(n.dirPath,".husky"),e.next=15,Promise.all([a.promises.writeFile(i,JSON.stringify(s,void 0,2)),a.promises.rm(c,{force:!0,recursive:!0})]);case 15:return J("yarn",["dlx","husky-init","--yarn2"],n.dirPath),u=t.resolve(c,"pre-commit"),e.next=19,a.promises.readFile(u,"utf8");case 19:return l=e.sent,e.next=22,A.run((function(){return a.promises.rm(t.resolve(n.dirPath,".huskyrc.json"),{force:!0})}));case 22:return e.next=24,A.run((function(){return a.promises.writeFile(u,l.replace(Qe,et.preCommit))}));case 24:if(p=Ve(n),!(f=p.typecheck)){e.next=30;break}return m=(m=null!==(d=n.repository)&&void 0!==d&&d.startsWith("github:WillBoosterLab/")?et.prePushForLab:et.prePush).replace("yarn typecheck",f.replace("tsc","node node_modules/.bin/tsc").replace("pyright","node node_modules/.bin/pyright")),e.next=30,A.run((function(){return a.promises.writeFile(t.resolve(c,"pre-push"),l.replace(Qe,m),{mode:493})}));case 30:return h=[],n.versionsText&&h.push('run_if_changed "\\..+-version" "asdf plugin update --all"'),null!==(r=n.versionsText)&&void 0!==r&&r.includes("python ")&&h.push('run_if_changed "\\..+-version" "asdf install python"'),n.versionsText&&h.push('run_if_changed "\\..+-version" "asdf install"'),h.push('run_if_changed "package\\.json" "yarn"'),n.containingPoetryLock&&h.push('run_if_changed "poetry\\.lock" "poetry install"'),n.depending.blitz?h.push('run_if_changed "db/schema.prisma" "node node_modules/.bin/blitz prisma migrate deploy"','run_if_changed "db/schema.prisma" "node node_modules/.bin/blitz blitz codegen"'):n.depending.prisma&&h.push('run_if_changed "prisma/schema.prisma" "node node_modules/.bin/prisma migrate deploy"','run_if_changed "prisma/schema.prisma" "node node_modules/.bin/prisma generate"'),v=l.replace(Qe,"".concat(et.postMerge,"\n\n").concat(h.join("\n"))),e.next=40,A.run((function(){return a.promises.writeFile(t.resolve(c,"post-merge"),v,{mode:493})}));case 40:case"end":return e.stop()}}),e)}))),it.apply(this,arguments)}var at='<?xml version="1.0" encoding="UTF-8"?>\n<project version="4">\n <component name="ProjectTasksOptions">\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="ts" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.ts)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="tsx" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.tsx)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="js" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.js)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="json" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.json)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="md" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.md)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="html" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.html)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n </component>\n</project>\n';function ot(e){return st.apply(this,arguments)}function st(){return st=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateIdeaSettings",j(x().mark((function e(){var r,i;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.resolve(n.dirPath,".idea"),!a.existsSync(r)){e.next=5;break}return i=t.resolve(r,"watcherTasks.xml"),e.next=5,n.containingJavaScript||n.containingJavaScriptInPackages||n.containingTypeScript||n.containingTypeScriptInPackages||n.containingPackageJson&&!n.containingPubspecYaml&&!n.containingGemfile&&!n.containingGoMod&&!n.containingPomXml?A.run((function(){return te(i,at)})):A.run((function(){return a.promises.rm(i,{force:!0})}));case 5:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),st.apply(this,arguments)}function ct(e){return ut.apply(this,arguments)}function ut(){return(ut=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateLintstagedrc",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,lt(t);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function lt(e){return pt.apply(this,arguments)}function pt(){return pt=j(x().mark((function e(n){var r,i,o,s,c,u;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.root?"node node_modules/.bin/":"node ../../node_modules/.bin/",i=[],(n.containingJavaScript||n.containingTypeScript)&&(o="\n '".concat(ft(n),"': [").concat(JSON.stringify("".concat(r,"eslint --fix").concat(Be(n))),", '").concat(r,"prettier --cache --write'],"),i.push(o)),s=n.root?" && !file.includes('/packages/')":"",i.push("\n './**/*.{".concat(Q.prettier.join(","),"}': files => {\n ").concat(n.containingJavaScript||n.containingTypeScript?dt(n):"","\n const filteredFiles = files.filter(file => !file.includes('/test-fixtures/')").concat(s,");\n if (filteredFiles.length === 0) return [];\n const commands = [`").concat(r,"prettier --cache --write ${filteredFiles.join(' ')}`];\n if (filteredFiles.some(file => file.endsWith('package.json'))) {\n commands.push('").concat(r,"sort-package-json');\n }\n return commands;\n },")),n.containingPubspecYaml&&i.push("\n './{lib,test,test_driver}/**/*.dart': files => {\n const filteredFiles = files.filter(file => !file.includes('generated'))\n .filter(file => !file.endsWith('.freezed.dart') && !file.endsWith('.g.dart'));\n if (filteredFiles.length === 0) return [];\n return [`flutter format ${filteredFiles.join(' ')}`];\n },"),n.containingPoetryLock&&i.push("\n './**/*.py': [\n 'poetry run isort --profile black --filter-files',\n 'poetry run black',\n 'poetry run flake8'\n ],"),c="".concat(n.containingJavaScript||n.containingTypeScript?"const micromatch = require('micromatch');":"","\n\nmodule.exports = {").concat(i.join(""),"\n};\n"),u=t.resolve(n.dirPath,".lintstagedrc.cjs"),e.next=11,A.run((function(){return a.promises.rm(t.resolve(n.dirPath,".lintstagedrc.js"),{force:!0})}));case 11:return e.next=13,A.run((function(){return a.promises.rm(t.resolve(n.dirPath,".lintstagedrc.json"),{force:!0})}));case 13:return e.next=15,A.run((function(){return te(u,c)}));case 15:case"end":return e.stop()}}),e)}))),pt.apply(this,arguments)}function ft(e){var t=$e(e);return"./{".concat(t.join(","),"}/**/*.{").concat(Q.eslint.join(","),"}")}function dt(e){return"files = micromatch.not(files, '".concat(ft(e),"');")}var mt="\n3rd-party/\nandroid/\nios/\nno-format/\ntest-fixtures/\n*.d.ts\n*.min.js\n.yarn/\n.pnp.js\n";function ht(e){return vt.apply(this,arguments)}function vt(){return vt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generatePrettierignore",j(x().mark((function e(){var r,i,a,o,s,c,u,l,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.resolve(n.dirPath,".prettierignore"),e.next=3,ee(i);case 3:if(e.t1=r=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==r;case 7:if(!e.t0){e.next=11;break}e.t2=r,e.next=12;break;case 11:e.t2="";case 12:return a=e.t2,o=pe.getHeadUserContent(a)+mt,s=pe.getTailUserContent(a),c=t.resolve(n.dirPath,".gitignore"),e.next=18,pe.readGitignoreWithoutSeparators(c);case 18:if(e.t3=e.sent,e.t3){e.next=21;break}e.t3="";case 21:return u=e.t3,l="",n.containingPubspecYaml&&(l="\nandroid/app/\nios/Runner/Assets.xcassets/\npubspec.yaml\n"),p=o+mt+l+u+s,e.next=27,A.run((function(){return te(i,p)}));case 27:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),vt.apply(this,arguments)}var yt={venvPath:".",venv:".venv"};function gt(e){return bt.apply(this,arguments)}function bt(){return bt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generatePyrightConfigJson",j(x().mark((function e(){var r,i,o,s,u;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=d(yt),i=t.resolve(n.dirPath,"pyrightconfig.json"),e.prev=2,e.next=5,a.promises.readFile(i,"utf8");case 5:o=e.sent,s=JSON.parse(o),r=c.all([r,s,r],{arrayMerge:ve}),e.next=12;break;case 10:e.prev=10,e.t0=e.catch(2);case 12:return u=JSON.stringify(r),e.next=15,A.run((function(){return te(i,u)}));case 15:case"end":return e.stop()}}),e,null,[[2,10]])})))));case 1:case"end":return e.stop()}}),e)}))),bt.apply(this,arguments)}function xt(e){return kt.apply(this,arguments)}function kt(){return kt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateReadme",j(x().mark((function e(){var r,i,o,s,c,u,l,p,f,d,m;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.resolve(n.dirPath,"README.md"),e.next=3,a.promises.readFile(o,"utf8");case 3:s=e.sent,s=jt(n,s,wt,".releaserc.json"),c=null===(r=n.repository)||void 0===r?void 0:r.slice((null===(i=n.repository)||void 0===i?void 0:i.indexOf(":"))+1),u=a.readdirSync("".concat(n.dirPath,"/.github/workflows")),l=D(u),e.prev=8,l.s();case 10:if((p=l.n()).done){e.next=21;break}if((f=p.value).startsWith("test")||f.startsWith("deploy")){e.next=14;break}return e.abrupt("continue",19);case 14:d=(d=(d=f).charAt(0).toUpperCase()+d.slice(1,d.indexOf("."))).replace("-"," "),m="[.concat(c,"/actions/workflows/").concat(f,"/badge.svg)](https://github.com/").concat(c,"/actions/workflows/").concat(f,")"),s=jt(n,s,m,".github/workflows/".concat(f));case 19:e.next=10;break;case 21:e.next=26;break;case 23:e.prev=23,e.t0=e.catch(8),l.e(e.t0);case 26:return e.prev=26,l.f(),e.finish(26);case 29:return e.next=31,A.run((function(){return te(o,s)}));case 31:case"end":return e.stop()}}),e,null,[[8,23,26,29]])})))));case 1:case"end":return e.stop()}}),e)}))),kt.apply(this,arguments)}var wt="[](https://github.com/semantic-release/semantic-release)";function jt(e,n,r,i){if(!a.existsSync(t.resolve(e.dirPath,i)))return n;var o=n.indexOf(r);o>=0&&(n=n.slice(0,o)+n.slice(o+r.length));for(var s=!1,c=0;c<n.length;c++)if("\n"===n[c]){s=!0,n="".concat(n.slice(0,c+1)).concat(r,"\n").concat(n.slice(c+1));break}return s||(n="".concat(n,"\n").concat(r,"\n")),n}function Pt(e){return _t.apply(this,arguments)}function _t(){return _t=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateReleaserc",j(x().mark((function e(){var r,i,o,s,u,l,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n.dirPath,".releaserc.json"),e.prev=1,e.t0=JSON,e.next=5,a.promises.readFile(r,"utf8");case 5:for(e.t1=e.sent,i=e.t0.parse.call(e.t0,e.t1),o=(null==i?void 0:i.plugins)||[],s=0;s<o.length;s++)u=Array.isArray(o[s])?o[s][0]:o[s],l=Array.isArray(o[s])&&o[s][1]||{},"@semantic-release/commit-analyzer"===u?o[s]=["@semantic-release/commit-analyzer",c.all([l,{preset:"conventionalcommits"}],{arrayMerge:ve})]:"@semantic-release/github"===u&&(o[s]=["@semantic-release/github",c.all([l,{successComment:!1,labels:["r: semantic-release"],releasedLabels:["released :bookmark:"]}],{arrayMerge:ve})]);return p=JSON.stringify(i),e.next=12,A.run((function(){return te(r,p)}));case 12:e.next=16;break;case 14:e.prev=14,e.t2=e.catch(1);case 16:case"end":return e.stop()}}),e,null,[[1,14]])})))));case 1:case"end":return e.stop()}}),e)}))),_t.apply(this,arguments)}var St={extends:["@willbooster"]};function Ot(e){return Ft.apply(this,arguments)}function Ft(){return Ft=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateRenovateJson",j(x().mark((function e(){var r,i,o,s,u;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=d(St),i=t.resolve(n.dirPath,".renovaterc.json"),e.prev=2,e.next=5,a.promises.readFile(i,"utf8");case 5:o=e.sent,s=JSON.parse(o),r=c.all([r,s,r],{arrayMerge:ve}),e.next=12;break;case 10:e.prev=10,e.t0=e.catch(2);case 12:return e.next=14,A.run((function(){return a.promises.rm(t.resolve(n.dirPath,".dependabot"),{force:!0})}));case 14:return e.next=16,A.run((function(){return a.promises.rm(t.resolve(n.dirPath,"renovate.json"),{force:!0})}));case 16:return u=JSON.stringify(r),e.next=19,A.run((function(){return te(i,u)}));case 19:case"end":return e.stop()}}),e,null,[[2,10]])})))));case 1:case"end":return e.stop()}}),e)}))),Ft.apply(this,arguments)}function Et(e){var t,n=D(Object.entries(e).sort((function(e,t){var n=F(e,1)[0],r=F(t,1)[0];return n.localeCompare(r)})));try{for(n.s();!(t=n.n()).done;){var r=F(t.value,2),i=r[0],a=r[1];delete e[i],e[i]=a}}catch(e){n.e(e)}finally{n.f()}return e}var Tt={compilerOptions:{target:"ESNext",module:"ESNext",moduleResolution:"Node",jsx:"react-jsx",alwaysStrict:!0,strict:!0,skipLibCheck:!0,allowSyntheticDefaultImports:!0,esModuleInterop:!0,resolveJsonModule:!0,declaration:!0,sourceMap:!0,importHelpers:!1,outDir:"dist",typeRoots:["./node_modules/@types","./@types"]},include:["src/**/*","tests/**/*","scripts/**/*","packages/*/src/**/*","packages/*/tests/**/*","packages/*/scripts/**/*"]},Rt={compilerOptions:{target:"ESNext",module:"ESNext",moduleResolution:"Node",jsx:"react-jsx",alwaysStrict:!0,strict:!0,skipLibCheck:!0,allowSyntheticDefaultImports:!0,esModuleInterop:!0,resolveJsonModule:!0,declaration:!0,sourceMap:!0,importHelpers:!1,outDir:"dist",typeRoots:["../../node_modules/@types","../../@types","./@types"]},include:["src/**/*","tests/**/*","scripts/**/*"]};function Dt(e,t){return Bt.apply(this,arguments)}function Bt(){return Bt=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateTsconfig",j(x().mark((function e(){var i,o,s,u,l,p,f,m,h,v,y,g,k,w,j;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r.depending.blitz){e.next=2;break}return e.abrupt("return");case 2:return s=d(n.root?Tt:Rt),n.containingJsxOrTsx||n.containingJsxOrTsxInPackages||null===(u=s.compilerOptions)||void 0===u||delete u.jsx,n.root&&!n.containingSubPackageJsons&&(s.include=null===(l=s.include)||void 0===l?void 0:l.filter((function(e){return!e.startsWith("packages/*/")}))),n.esmPackage&&(s.compilerOptions=b(b({},s.compilerOptions),{},{moduleResolution:"NodeNext"})),p=t.resolve(n.dirPath,"tsconfig.json"),e.prev=7,e.next=10,a.promises.readFile(p,"utf8");case 10:g=e.sent,"./node_modules/@willbooster/tsconfig/tsconfig.json"===(k=JSON.parse(g)).extends&&delete k.extends,null===(f=s.compilerOptions)||void 0===f||delete f.target,null===(m=s.compilerOptions)||void 0===m||delete m.module,null===(h=s.compilerOptions)||void 0===h||delete h.moduleResolution,null!==(v=k.compilerOptions)&&void 0!==v&&v.jsx&&(null===(w=s.compilerOptions)||void 0===w||delete w.jsx),(s=c.all([s,k,s],{arrayMerge:ye})).include=null===(y=s.include)||void 0===y?void 0:y.filter((function(e){return!e.includes("@types")&&!e.includes("__tests__")})),e.next=23;break;case 21:e.prev=21,e.t0=e.catch(7);case 23:return Et(null!==(i=s.compilerOptions)&&void 0!==i?i:{}),null===(o=s.include)||void 0===o||o.sort(),j=JSON.stringify(s),e.next=28,A.run((function(){return te(p,j)}));case 28:case"end":return e.stop()}}),e,null,[[7,21]])})))));case 1:case"end":return e.stop()}}),e)}))),Bt.apply(this,arguments)}var Nt={test:{name:"Test",on:{pull_request:null,push:{branches:["main","wbfy","renovate/**"]}},jobs:{test:{uses:"WillBooster/reusable-workflows/.github/workflows/test.yml@main"}}},release:{name:"Release",on:{push:{branches:[]}},jobs:{release:{uses:"WillBooster/reusable-workflows/.github/workflows/release.yml@main"}}},wbfy:{name:"Willboosterify",on:{workflow_dispatch:null},jobs:{wbfy:{uses:"WillBooster/reusable-workflows/.github/workflows/wbfy.yml@main"}}},"wbfy-merge":{name:"Merge wbfy",on:{workflow_dispatch:null},jobs:{"wbfy-merge":{uses:"WillBooster/reusable-workflows/.github/workflows/wbfy-merge.yml@main"}}},"semantic-pr":{name:"Lint PR title",on:{pull_request_target:{types:["opened","edited","synchronize"]}},jobs:{"semantic-pr":{uses:"WillBooster/reusable-workflows/.github/workflows/semantic-pr.yml@main"}}},"notify-ready":{name:"Notify ready",on:{issues:{types:["labeled"]}},jobs:{"notify-ready":{uses:"WillBooster/reusable-workflows/.github/workflows/notify-ready.yml@main",secrets:{DISCORD_WEBHOOK_URL:"${{ secrets.DISCORD_WEBHOOK_URL_FOR_READY }}"}}}},"close-comment":{name:"Add close comment",on:{pull_request:{types:["opened"]}},jobs:{"close-comment":{uses:"WillBooster/reusable-workflows/.github/workflows/close-comment.yml@main"}}},"add-issue-to-project":{name:"Add issue to github project",on:{issues:{types:["labeled"]}},jobs:{"add-issue-to-project":{uses:"WillBooster/reusable-workflows/.github/workflows/add-issue-to-project.yml@main",secrets:{GH_PROJECT_URL:"${{ secrets.GH_PROJECT_URL }}"}}}}};function Lt(e){return It.apply(this,arguments)}function It(){return(It=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateWorkflow",j(x().mark((function e(){var r,i,o,s,c,u,l,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.resolve(n.dirPath,".github","workflows"),e.next=3,a.promises.mkdir(i,{recursive:!0});case 3:return o=t.resolve(n.dirPath,".github","semantic.yml"),e.next=6,A.run((function(){return a.promises.rm(o,{force:!0,recursive:!0})}));case 6:return e.next=8,a.promises.readdir(i,{withFileTypes:!0});case 8:s=e.sent,c=s.filter((function(e){return e.isFile()&&e.name.endsWith(".yml")})).map((function(e){return e.name})),n.depending.semanticRelease&&c.push("release.yml"),(n.publicRepo||null!==(r=n.repository)&&void 0!==r&&r.startsWith("github:WillBoosterLab/"))&&c.push("notify-ready.yml"),c.push("test.yml","wbfy.yml","wbfy-merge.yml","semantic-pr.yml","close-comment.yml","add-issue-to-project.yml"),u=D(c),e.prev=14,p=x().mark((function e(){var r,a;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l.value,a=t.basename(r,".yml"),e.next=4,A.run((function(){return Wt(n,i,a)}));case 4:case"end":return e.stop()}}),e)})),u.s();case 17:if((l=u.n()).done){e.next=21;break}return e.delegateYield(p(),"t0",19);case 19:e.next=17;break;case 21:e.next=26;break;case 23:e.prev=23,e.t1=e.catch(14),u.e(e.t1);case 26:return e.prev=26,u.f(),e.finish(26);case 29:case"end":return e.stop()}}),e,null,[[14,23,26,29]])})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Wt(e,t,n){return At.apply(this,arguments)}function At(){return(At=j(x().mark((function e(n,r,i){var o,s,u,l,p,f,h,v,y,g,b;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=d(Nt[i]||{}),s=t.join(r,"".concat(i,".yml")),e.prev=2,e.next=5,a.promises.readFile(s,"utf8");case 5:u=e.sent,l=m.load(u),"wbfy"!==i&&"wbfy-merge"!==i||(console.log("writeWorkflowYaml:",i),console.dir(l,{depth:null})),o=c.all([o,l,o],{arrayMerge:ye}),"wbfy"!==i&&"wbfy-merge"!==i||console.dir(o,{depth:null}),e.next=14;break;case 12:e.prev=12,e.t0=e.catch(2);case 14:p=0,f=Object.values(o.jobs);case 15:if(!(p<f.length)){e.next=23;break}if(g=f[p],null!==(h=g.uses)&&void 0!==h&&null!==(v=(y=h).includes)&&void 0!==v&&v.call(y,"/reusable-workflows/")){e.next=19;break}return e.abrupt("return");case 19:$t(n,g,i);case 20:p++,e.next=15;break;case 23:e.t1=i,e.next="release"===e.t1?26:"wbfy"===e.t1?38:"wbfy-merge"===e.t1?40:42;break;case 26:if(!o.on.schedule){e.next=30;break}delete o.on.push,e.next=37;break;case 30:if(!(n.release.branches.length>0)){e.next=34;break}o.on.push.branches=n.release.branches,e.next=37;break;case 34:return e.next=36,a.promises.rm(t.join(r,"release.yml"),{force:!0});case 36:return e.abrupt("return");case 37:return e.abrupt("break",42);case 38:return Ct(o,20,24),e.abrupt("break",42);case 40:return Ct(o,1,4),e.abrupt("break",42);case 42:return Gt(o),e.next=45,Jt(o,s);case 45:if("release"!==i){e.next=50;break}return e.next=48,a.promises.rm(t.join(r,"semantic-release.yml"),{force:!0});case 48:e.next=65;break;case 50:if("sync"!==i){e.next=65;break}return e.next=53,a.promises.rm(t.join(r,"sync-init.yml"),{force:!0});case 53:if(o.jobs.sync){e.next=55;break}return e.abrupt("return");case 55:if(o.jobs["sync-force"]=o.jobs.sync,b=o.jobs.sync.with.sync_params_without_dest){e.next=59;break}return e.abrupt("return");case 59:return o.jobs.sync.with.sync_params_without_dest="--force ".concat(b),o.name="Force to Sync",o.on={workflow_dispatch:null},delete o.jobs.sync,e.next=65,Jt(o,t.join(r,"sync-force.yml"));case 65:case"end":return e.stop()}}),e,null,[[2,12]])})))).apply(this,arguments)}function $t(e,t,n){var r,i;if(t.with||(t.with={}),t.secrets||(t.secrets={}),"test"!==n&&"release"!==n&&"wbfy"!==n&&"wbfy-merge"!==n&&"add-issue-to-project"!==n||(t.secrets.GH_TOKEN=e.publicRepo?"${{ secrets.PUBLIC_GH_BOT_PAT }}":"${{ secrets.GH_BOT_PAT }}"),!e.release.npm||"release"!==n&&"test"!==n||(t.secrets.NPM_TOKEN="${{ secrets.NPM_TOKEN }}"),t.secrets.FIREBASE_TOKEN&&(t.secrets.GCP_SA_KEY_JSON_FOR_FIREBASE="${{ secrets.GCP_SA_KEY_JSON_FOR_FIREBASE }}",delete t.secrets.FIREBASE_TOKEN),(t.secrets.DISCORD_WEBHOOK_URL&&("release"===n||n.startsWith("deploy"))||t.with.server_url&&n.startsWith("deploy"))&&(t.secrets.DISCORD_WEBHOOK_URL="${{ secrets.DISCORD_WEBHOOK_URL_FOR_RELEASE }}"),"sync"===n){var a,o=null===(a=t.with)||void 0===a?void 0:a.sync_params_without_dest;o&&(t.with.sync_params_without_dest=o.replace("sync ",""))}if(null!==(r=e.repository)&&void 0!==r&&r.startsWith("github:WillBooster/")?t.uses=t.uses.replace("WillBoosterLab/","WillBooster/"):null!==(i=e.repository)&&void 0!==i&&i.startsWith("github:WillBoosterLab/")&&(t.uses=t.uses.replace("WillBooster/","WillBoosterLab/")),function(e){delete e.with.non_self_hosted,delete e.with.notify_discord,delete e.with.require_fly,delete e.with.require_gcloud}(t),".env"===t.with.dot_env_path&&delete t.with.dot_env_path,e.containingDockerfile&&n.startsWith("deploy")&&(t.with.cpu_arch="X64"),"release"===n||"test"===n||"wbfy"===n||"wbfy-merge"===n||n.startsWith("deploy")?e.publicRepo&&(t.with.github_hosted_runner=!0):delete t.with.github_hosted_runner,Object.keys(t.with).length>0?Et(t.with):delete t.with,Object.keys(t.secrets).length>0){var s=Et(t.secrets);delete t.secrets,t.secrets=s}else delete t.secrets}function Ct(e,t,n){var r,i,a,o=F((null!==(r=null===(i=e.on.schedule)||void 0===i||null===(a=i[0])||void 0===a?void 0:a.cron)&&void 0!==r?r:"").split(" ").map(Number),2),s=o[0],c=o[1];if(0!==s&&Number.isInteger(c)){var u=(c+9)%24,l=t<n?t<=u&&u<n:t<=u||u<n;if(l)return;console.log("setSchedule:",e,s,c,l,u,t,n)}else console.log("setSchedule:",e,s,c);var p=1+Math.floor(59*Math.random()),f=t+Math.floor(Math.random()*(n-t)),d="".concat(p," ").concat((f-9+24)%24," * * *");e.on.schedule=[{cron:d}]}function Jt(e,t){return zt.apply(this,arguments)}function zt(){return(zt=j(x().mark((function e(t,n){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=m.dump(t,{lineWidth:-1,noCompatMode:!0,styles:{"!!null":"empty"}}),e.next=3,a.promises.writeFile(n,r);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Gt(e){delete e.jobs["add-to-project"]}function Mt(e){return Ht.apply(this,arguments)}function Ht(){return Ht=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateYarnrcYml",j(x().mark((function e(){var r,i,o,s,c,u,l,p,f,d,h,v,y,g,b,k,w,j;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=z("yarn",["--version"],n.dirPath),l=Ut("@yarnpkg/cli",n.dirPath),qt(u)<=qt(l)&&u!==l&&J("yarn",["set","version",l],n.dirPath,1),p=t.join(n.dirPath,".yarn","releases"),e.next=6,a.promises.mkdir(p,{recursive:!0});case 6:return e.t0=D,e.next=9,a.promises.readdir(p);case 9:e.t1=e.sent,f=(0,e.t0)(e.t1),e.prev=11,h=x().mark((function e(){var n;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=d.value).startsWith("yarn-")||n.startsWith("yarn-".concat(l,"."))){e.next=5;break}return e.next=4,A.run((function(){return a.promises.rm(t.join(p,n))}));case 4:console.log("Removed",t.join(p,n));case 5:case"end":return e.stop()}}),e)})),f.s();case 14:if((d=f.n()).done){e.next=18;break}return e.delegateYield(h(),"t2",16);case 16:e.next=14;break;case 18:e.next=23;break;case 20:e.prev=20,e.t3=e.catch(11),f.e(e.t3);case 23:return e.prev=23,f.f(),e.finish(23);case 26:return v=t.resolve(n.dirPath,".yarnrc"),e.next=29,A.run((function(){return a.promises.rm(v,{force:!0})}));case 29:return y=t.resolve(n.dirPath,".yarnrc.yml"),e.t4=m,e.next=33,a.promises.readFile(y,"utf8");case 33:if(e.t5=e.sent,(g=e.t4.load.call(e.t4,e.t5)).defaultSemverRangePrefix="",g.nodeLinker="node-modules",g.nmMode="hardlinks-global",g.enableGlobalCache=!0,b=null!==(r=null===(i=g.plugins)||void 0===i?void 0:i.length)&&void 0!==r?r:0,g.plugins=null!==(o=null===(s=g.plugins)||void 0===s?void 0:s.filter((function(e){return".yarn/plugins/undefined.cjs"!==e.path})))&&void 0!==o?o:[],g.plugins.length===b){e.next=45;break}return k=t.resolve(n.dirPath,".yarnrc","undefined.cjs"),e.next=45,A.run((function(){return a.promises.rm(k,{force:!0})}));case 45:return 0===g.plugins.length&&delete g.plugins,e.next=48,a.promises.writeFile(y,m.dump(g,{lineWidth:-1}));case 48:w=(null!==(c=g.plugins)&&void 0!==c?c:[]).map((function(e){return e.spec})),j=n.containingTypeScript||n.containingTypeScriptInPackages,Yt(n,w,j,"@yarnpkg/plugin-typescript"),Yt(n,w,n.containingSubPackageJsons,"@yarnpkg/plugin-workspace-tools"),J("yarn",["dlx","yarn-plugin-auto-install"],n.dirPath);case 53:case"end":return e.stop()}}),e,null,[[11,20,23,26]])})))));case 1:case"end":return e.stop()}}),e)}))),Ht.apply(this,arguments)}function Ut(e,t){var n=z("npm",["show",e,"versions","--json"],t),r=JSON.parse(n);return r[r.length-1]}function Yt(e,t,n,r){n!==t.includes(r)&&J("yarn",["plugin",n?"import":"remove",r],e.dirPath)}function qt(e){var t=F(e.split("."),1)[0];return Number(t)}function Kt(e){return Vt.apply(this,arguments)}function Vt(){return(Vt=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("setupLabels",j(x().mark((function e(){var n,r,i,a,o,s;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Le){e.next=2;break}return e.abrupt("return");case 2:if(r=We.getOrgAndName(null!==(n=t.repository)&&void 0!==n?n:""),i=F(r,2),a=i[0],o=i[1],a&&o){e.next=5;break}return e.abrupt("return");case 5:if("WillBooster"===a||"WillBoosterLab"===a){e.next=7;break}return e.abrupt("return");case 7:return e.prev=7,e.next=10,Xt(a,o,"d1: x-easy :hedgehog:","EDE9FE");case 10:return e.next=12,Xt(a,o,"d2: easy :rabbit2:","DDD6FE");case 12:return e.next=14,Xt(a,o,"d3: medium :ox:","C4B5FD");case 14:return e.next=16,Xt(a,o,"d4: hard :squid:","A78BFA");case 16:return e.next=18,Xt(a,o,"d5: x-hard :whale2:","8B5CF6");case 18:return e.next=20,Xt(a,o,"p1: critical :fire::fire::fire:","EF4444");case 20:return e.next=22,Xt(a,o,"p2: urgent :fire::fire:","F87171");case 22:return e.next=24,Xt(a,o,"p3: important :fire:","FCA5A5");case 24:return e.next=26,Xt(a,o,"p4: nice to have :droplet:","FECACA");case 26:return e.next=28,Xt(a,o,"r: blitz","5300bc");case 28:return e.next=30,Xt(a,o,"r: firebase","ffca28");case 30:return e.next=32,Xt(a,o,"r: prisma","0c344b");case 32:return e.next=34,Xt(a,o,"r: react","61dafb");case 34:return e.next=36,Xt(a,o,"r: svelte","ff3e00");case 36:return e.next=38,Xt(a,o,"r: semantic-release","494949");case 38:return e.next=40,Xt(a,o,"ready :rocket:","22C55E");case 40:return e.next=42,Xt(a,o,"review requested :mag:","FBCA04");case 42:return e.next=44,Xt(a,o,"released :bookmark:","6366F1");case 44:return e.next=46,Xt(a,o,"s: 0.5h :clock1230:","F3F4F6");case 46:return e.next=48,Xt(a,o,"s: 1h :clock1:","E5E7EB");case 48:return e.next=50,Xt(a,o,"s: 2h :clock2:","D1D5DB");case 50:return e.next=52,Xt(a,o,"s: 3h :clock3:","9CA3AF");case 52:return e.next=54,Xt(a,o,"s: 5h :clock5:","6B7280");case 54:return e.next=56,Xt(a,o,"s: 8h :clock8:","4B5563");case 56:return e.next=58,Xt(a,o,"s: 13h :clock1:","374151");case 58:return e.next=60,Xt(a,o,"t: build :hammer:","BFDBFE");case 60:return e.next=62,Xt(a,o,"t: chore :broom:","BFDBFE");case 62:return e.next=64,Xt(a,o,"t: ci :construction_worker:","BFDBFE");case 64:return e.next=66,Xt(a,o,"t: docs :memo:","BFDBFE");case 66:return e.next=68,Xt(a,o,"t: feat :sparkles:","BFDBFE");case 68:return e.next=70,Xt(a,o,"t: fix :bug:","BFDBFE");case 70:return e.next=72,Xt(a,o,"t: perf :zap:","BFDBFE");case 72:return e.next=74,Xt(a,o,"t: refactor :recycle:","BFDBFE");case 74:return e.next=76,Xt(a,o,"t: style :lipstick:","BFDBFE");case 76:return e.next=78,Xt(a,o,"t: test :test_tube:","BFDBFE");case 78:return e.next=80,Xt(a,o,"project","24292F");case 80:return e.next=82,Qt(a,o,"bug");case 82:return e.next=84,Qt(a,o,"documentation");case 84:return e.next=86,Qt(a,o,"duplicate");case 86:return e.next=88,Qt(a,o,"enhancement");case 88:return e.next=90,Qt(a,o,"good first issue");case 90:return e.next=92,Qt(a,o,"help wanted");case 92:return e.next=94,Qt(a,o,"invalid");case 94:return e.next=96,Qt(a,o,"question");case 96:return e.next=98,Qt(a,o,"wontfix");case 98:return e.next=100,Qt(a,o,"ready");case 100:return e.next=102,Qt(a,o,"review requested");case 102:return e.next=104,Qt(a,o,"released");case 104:return e.next=106,Qt(a,o,"semantic-release");case 106:e.next=111;break;case 108:e.prev=108,e.t0=e.catch(7),console.warn("Skip setupLabels due to:",null!==(s=null===e.t0||void 0===e.t0?void 0:e.t0.stack)&&void 0!==s?s:e.t0);case 111:case"end":return e.stop()}}),e,null,[[7,108]])})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Xt(e,t,n,r){return Zt.apply(this,arguments)}function Zt(){return(Zt=j(x().mark((function e(t,n,r,i){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Ie.request("POST /repos/{owner}/{repo}/labels",{owner:t,repo:n,name:r,color:i});case 3:e.next=9;break;case 5:return e.prev=5,e.t0=e.catch(0),e.next=9,Ie.request("PATCH /repos/{owner}/{repo}/labels/{name}",{owner:t,repo:n,name:r,color:i});case 9:case"end":return e.stop()}}),e,null,[[0,5]])})))).apply(this,arguments)}function Qt(e,t,n){return en.apply(this,arguments)}function en(){return(en=j(x().mark((function e(t,n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,Ie.request("DELETE /repos/{owner}/{repo}/labels/{name}",{owner:t,repo:n,name:r});case 3:e.next=7;break;case 5:e.prev=5,e.t0=e.catch(0);case 7:case"end":return e.stop()}}),e,null,[[0,5]])})))).apply(this,arguments)}var tn=["READY_DISCORD_WEBHOOK_URL"];function nn(e){return rn.apply(this,arguments)}function rn(){return(rn=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("setupSecrets",j(x().mark((function e(){var n,r,i,a,o,s,c,u,l,p,f,d,m,y,g,b,k,w,j,P,_,S,O;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Le){e.next=2;break}return e.abrupt("return");case 2:if(r=We.getOrgAndName(null!==(n=t.repository)&&void 0!==n?n:""),i=F(r,2),a=i[0],o=i[1],a&&o&&"WillBoosterLab"===a){e.next=5;break}return e.abrupt("return");case 5:if(s=h.config().parsed||{},0!==Object.keys(s).length){e.next=8;break}return e.abrupt("return");case 8:e.prev=8,c=D(tn),e.prev=10,c.s();case 12:if((u=c.n()).done){e.next=23;break}return l=u.value,e.prev=14,e.next=17,Ie.request("DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}",{owner:a,repo:o,secret_name:l});case 17:e.next=21;break;case 19:e.prev=19,e.t0=e.catch(14);case 21:e.next=12;break;case 23:e.next=28;break;case 25:e.prev=25,e.t1=e.catch(10),c.e(e.t1);case 28:return e.prev=28,c.f(),e.finish(28);case 31:return e.next=33,Ie.request("GET /repos/{owner}/{repo}/actions/secrets/public-key",{owner:a,repo:o});case 33:return p=e.sent,f=p.data,d=f.key,m=f.key_id,e.next=37,v.ready;case 37:y=0,g=Object.entries(s);case 38:if(!(y<g.length)){e.next=53;break}if(b=F(g[y],2),k=b[0],w=b[1],!t.publicRepo||"GH_BOT_PAT"!==k){e.next=42;break}return e.abrupt("continue",50);case 42:if(t.publicRepo||"PUBLIC_GH_BOT_PAT"!==k){e.next=44;break}return e.abrupt("continue",50);case 44:return j=v.from_base64(d,v.base64_variants.ORIGINAL),P=v.from_string(w),_=v.crypto_box_seal(P,j),S=v.to_base64(_,v.base64_variants.ORIGINAL),e.next=50,Ie.request("PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}",{owner:a,repo:o,secret_name:k,encrypted_value:S,key_id:m});case 50:y++,e.next=38;break;case 53:e.next=58;break;case 55:e.prev=55,e.t2=e.catch(8),console.warn("Skip setupSecrets due to:",null!==(O=null===e.t2||void 0===e.t2?void 0:e.t2.stack)&&void 0!==O?O:e.t2);case 58:case"end":return e.stop()}}),e,null,[[8,55],[10,25,28,31],[14,19]])})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function an(e){return on.apply(this,arguments)}function on(){return(on=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function sn(e){return cn.apply(this,arguments)}function cn(){return cn=j(x().mark((function n(r){var i,o,s,c,u,l,p,f,d,m,h,v,y,g,b,k,w,j,P,_,S,O,E,T,R,D,B,N;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return i=t.resolve(r,"package.json"),n.prev=1,u=a.existsSync(i),l={},p={},f={},d=!1,u&&(v=a.readFileSync(i,"utf8"),f=JSON.parse(v),l=null!==(m=f.dependencies)&&void 0!==m?m:{},p=null!==(h=f.devDependencies)&&void 0!==h?h:{},d="module"===f.type),y=[],g=[],n.prev=10,k=t.resolve(r,".releaserc.json"),n.t0=JSON,n.next=15,e.readFile(k,"utf8");case 15:n.t1=n.sent,w=n.t0.parse.call(n.t0,n.t1),y=(null==w?void 0:w.branches)||[],g=(null==w||null===(b=w.plugins)||void 0===b?void 0:b.flat())||[],n.next=23;break;case 21:n.prev=21,n.t2=n.catch(10);case 23:if(!(j="packages"!==t.basename(t.resolve(r,".."))||!a.existsSync(t.resolve(r,"..","..","package.json")))){n.next=28;break}return n.next=27,pn(r,f);case 27:P=n.sent;case 28:return _="",n.prev=29,n.next=32,e.readFile(t.resolve(r,".tool-versions"),"utf8");case 32:S=n.sent,_+=S.trim(),n.next=38;break;case 36:n.prev=36,n.t3=n.catch(29);case 38:O=0,E=[["node","nodejs"],["python","python"]];case 39:if(!(O<E.length)){n.next=54;break}return T=F(E[O],2),R=T[0],D=T[1],n.prev=41,n.next=44,e.readFile(t.resolve(r,".".concat(R,"-version")),"utf8");case 44:B=n.sent,_&&(_+="\n"),_+=D+" "+B.trim(),n.next=51;break;case 49:n.prev=49,n.t4=n.catch(41);case 51:O++,n.next=39;break;case 54:if((N={dirPath:r,root:j,publicRepo:!1===(null===(o=P)||void 0===o?void 0:o.private),referredByOtherRepo:!!f.files,repository:null!==(s=P)&&void 0!==s&&s.full_name?"github:".concat(null===(c=P)||void 0===c?void 0:c.full_name):void 0,esmPackage:d,willBoosterConfigs:i.includes("".concat(t.sep,"willbooster-configs")),containingSubPackageJsons:un("packages/**/package.json",r),containingDockerfile:a.existsSync(t.resolve(r,"Dockerfile"))||a.existsSync(t.resolve(r,"docker-compose.yml")),containingGemfile:a.existsSync(t.resolve(r,"Gemfile")),containingGoMod:a.existsSync(t.resolve(r,"go.mod")),containingPackageJson:a.existsSync(t.resolve(r,"package.json")),containingPoetryLock:a.existsSync(t.resolve(r,"poetry.lock")),containingPomXml:a.existsSync(t.resolve(r,"pom.xml")),containingPubspecYaml:a.existsSync(t.resolve(r,"pubspec.yaml")),containingTemplateYaml:a.existsSync(t.resolve(r,"template.yaml")),containingJavaScript:un("@(app|src|tests|scripts)/**/*.{cjs,mjs,js,jsx}",r),containingTypeScript:un("@(app|src|tests|scripts)/**/*.{cts,mts,ts,tsx}",r),containingJsxOrTsx:un("@(app|src|tests)/**/*.{t,j}sx",r),containingJavaScriptInPackages:un("packages/**/@(app|src|tests|scripts)/**/*.{cjs,mjs,js,jsx}",r),containingTypeScriptInPackages:un("packages/**/@(app|src|tests|scripts)/**/*.{cts,mts,ts,tsx}",r),containingJsxOrTsxInPackages:un("packages/**/@(app|src|tests)/**/*.{t,j}sx",r),depending:{blitz:(l.blitz||p.blitz||"").replace("^","")[0],firebase:!!p["firebase-tools"],playwright:!!p.playwright,prisma:!!l.prisma,pyright:!!p.pyright,reactNative:!!l["react-native"],semanticRelease:!!(p["semantic-release"]||y.length>0||g.length>0),storybook:!!p["@storybook/react"]},release:{branches:y,github:g.includes("@semantic-release/github"),npm:g.includes("@semantic-release/npm")},versionsText:_,packageJson:f}).eslintBase=ln(N),!(N.containingGemfile||N.containingGoMod||N.containingPackageJson||N.containingPoetryLock||N.containingPomXml||N.containingPubspecYaml||N.containingTemplateYaml)){n.next=58;break}return n.abrupt("return",N);case 58:n.next=62;break;case 60:n.prev=60,n.t5=n.catch(1);case 62:case"end":return n.stop()}}),n,null,[[1,60],[10,21],[29,36],[41,49]])}))),cn.apply(this,arguments)}function un(e,t){return p(e,{dot:!0,cwd:t}).length>0}function ln(e){return e.containingTypeScript?e.containingJsxOrTsx?"@willbooster/eslint-config-ts-react":"@willbooster/eslint-config-ts":e.containingJsxOrTsx?"@willbooster/eslint-config-js-react":e.containingJavaScript?"@willbooster/eslint-config-js":void 0}function pn(e,t){return fn.apply(this,arguments)}function fn(){return fn=j(x().mark((function e(t,n){var r,i,a,o,s,c,u,l,p,f,d;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=y(t),e.next=3,s.getRemotes(!0);case 3:if(c=e.sent,u=c.find((function(e){return"origin"===e.name})),"string"!=typeof(l=null!==(r=null==u||null===(i=u.refs)||void 0===i?void 0:i.fetch)&&void 0!==r?r:null==u||null===(a=u.refs)||void 0===a?void 0:a.push)){e.next=12;break}return e.next=9,dn(l);case 9:if(!(p=e.sent)){e.next=12;break}return e.abrupt("return",p);case 12:if(!(f="string"==typeof n.repository?n.repository:null===(o=n.repository)||void 0===o?void 0:o.url)){e.next=19;break}return e.next=16,dn(f);case 16:if(!(d=e.sent)||"Not Found"===d.message){e.next=19;break}return e.abrupt("return",d);case 19:case"end":return e.stop()}}),e)}))),fn.apply(this,arguments)}function dn(e){return mn.apply(this,arguments)}function mn(){return(mn=j(x().mark((function e(t){var n,r,i,a,o,s;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=We.getOrgAndName(t),r=F(n,2),i=r[0],a=r[1],i&&a){e.next=3;break}return e.abrupt("return");case 3:return o={full_name:"".concat(i,"/").concat(a)},e.prev=4,e.next=7,Ie.request("GET /repos/{owner}/{repo}",{owner:i,repo:a});case 7:s=e.sent,Object.assign(o,s.data),e.next=13;break;case 11:e.prev=11,e.t0=e.catch(4);case 13:return e.abrupt("return",o);case 14:case"end":return e.stop()}}),e,null,[[4,11]])})))).apply(this,arguments)}function hn(){return hn=j(x().mark((function n(){var a,o,s,c;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,i(process.argv.slice(2)).command("$0 [paths..]","Make a given project follow the WillBooster standard",(function(e){e.positional("paths",{describe:"project paths to be wbfied",array:!0,type:"string",default:["."]})})).options({skipDeps:{description:"Skip dependency installation",type:"boolean",default:!1,alias:"d"},verbose:{description:"Whether or not to enable verbose mode",type:"boolean",default:!1,alias:"v"}}).strict().argv;case 2:a=n.sent,N.isVerbose=a.verbose,o=x().mark((function n(){var i,o,u,l,p,f,d,m,h,v,y,g,b,k,w,j;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=c[s],u=t.join(o,"packages"),n.next=4,r((function(){return e.readdir(u,{withFileTypes:!0})}));case 4:if(n.t1=i=n.sent,n.t0=null!==n.t1,!n.t0){n.next=8;break}n.t0=void 0!==i;case 8:if(!n.t0){n.next=12;break}n.t2=i,n.next=13;break;case 12:n.t2=[];case 13:return l=n.t2,p=l.filter((function(e){return e.isDirectory()})).map((function(e){return t.join(u,e.name)})),n.next=17,I([o].concat(E(p)));case 17:return n.next=19,sn(o);case 19:if(f=n.sent){n.next=23;break}return console.error("there is no valid package.json in ".concat(o)),n.abrupt("return","continue");case 23:return n.next=25,Promise.all(p.map((function(e){return sn(e)})));case 25:if(d=n.sent,m=d.filter((function(e){return!!e})),h=[f].concat(E(m)),N.isVerbose){v=D(h);try{for(v.s();!(y=v.n()).done;)g=y.value,console.info(g)}catch(e){v.e(e)}finally{v.f()}}return n.next=31,M(f);case 31:return n.next=33,Mt(f);case 33:return n.next=35,Promise.all([re(f),we(f),tt(f),ot(f),ct(f),xt(f),Ot(f),Pt(f),Lt(f),Kt(f),nn(f),an(f)]);case 35:return n.next=37,A.promiseAll();case 37:b=[],k=D(h),n.prev=39,k.s();case 41:if((w=k.n()).done){n.next=60;break}return((j=w.value).containingTypeScript||j.containingTypeScriptInPackages)&&b.push($(j,j.root?h:[j])),n.next=46,Se(j,f);case 46:return n.next=48,A.promiseAll();case 48:if(j.root||j.containingPackageJson){n.next=50;break}return n.abrupt("continue",58);case 50:return n.next=52,ht(j);case 52:return n.next=54,Me(j,f,a.skipDeps);case 54:b.push(ct(j)),(j.containingTypeScript||j.containingTypeScriptInPackages)&&b.push(Dt(j,f)),(j.containingJavaScript||j.containingJavaScriptInPackages||j.containingTypeScript||j.containingTypeScriptInPackages)&&(f.willBoosterConfigs||b.push(ge(j,f)),b.push(me(j))),j.depending.pyright&&b.push(gt(j));case 58:n.next=41;break;case 60:n.next=65;break;case 62:n.prev=62,n.t3=n.catch(39),k.e(n.t3);case 65:return n.prev=65,k.f(),n.finish(65);case 68:return n.next=70,Promise.all(b);case 70:return n.next=72,A.promiseAll();case 72:J("yarn",["cleanup"],o),J("yarn",["install"],o);case 74:case"end":return n.stop()}}),n,null,[[39,62,65,68]])})),s=0,c=a.paths;case 6:if(!(s<c.length)){n.next=14;break}return n.delegateYield(o(),"t0",8);case 8:if("continue"!==n.t0){n.next=11;break}return n.abrupt("continue",11);case 11:s++,n.next=6;break;case 14:case"end":return n.stop()}}),n)}))),hn.apply(this,arguments)}await function(){return hn.apply(this,arguments)}();
|
1
|
+
import e from"node:fs/promises";import t from"node:path";import{ignoreEnoentAsync as n,ignoreErrorAsync as r}from"@willbooster/shared-lib";import a from"yargs";import i from"node:fs";import{globby as o,globbySync as s}from"globby";import{PromisePool as c}from"minimal-promise-pool";import u from"node:child_process";import l from"deepmerge";import p from"node:os";import{Octokit as f}from"@octokit/core";import d from"lodash.clonedeep";import m from"js-yaml";import h from"dotenv";import v from"libsodium-wrappers";import{simpleGit as y}from"simple-git";function g(e,t){var n=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);t&&(r=r.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),n.push.apply(n,r)}return n}function b(e){for(var t=1;t<arguments.length;t++){var n=null!=arguments[t]?arguments[t]:{};t%2?g(Object(n),!0).forEach((function(t){O(e,t,n[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(n)):g(Object(n)).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(n,t))}))}return e}function x(){x=function(){return e};var e={},t=Object.prototype,n=t.hasOwnProperty,r=Object.defineProperty||function(e,t,n){e[t]=n.value},a="function"==typeof Symbol?Symbol:{},i=a.iterator||"@@iterator",o=a.asyncIterator||"@@asyncIterator",s=a.toStringTag||"@@toStringTag";function c(e,t,n){return Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}),e[t]}try{c({},"")}catch(e){c=function(e,t,n){return e[t]=n}}function u(e,t,n,a){var i=t&&t.prototype instanceof f?t:f,o=Object.create(i.prototype),s=new S(a||[]);return r(o,"_invoke",{value:w(e,n,s)}),o}function l(e,t,n){try{return{type:"normal",arg:e.call(t,n)}}catch(e){return{type:"throw",arg:e}}}e.wrap=u;var p={};function f(){}function d(){}function m(){}var h={};c(h,i,(function(){return this}));var v=Object.getPrototypeOf,y=v&&v(v(O([])));y&&y!==t&&n.call(y,i)&&(h=y);var g=m.prototype=f.prototype=Object.create(h);function b(e){["next","throw","return"].forEach((function(t){c(e,t,(function(e){return this._invoke(t,e)}))}))}function k(e,t){function a(r,i,o,s){var c=l(e[r],e,i);if("throw"!==c.type){var u=c.arg,p=u.value;return p&&"object"==typeof p&&n.call(p,"__await")?t.resolve(p.__await).then((function(e){a("next",e,o,s)}),(function(e){a("throw",e,o,s)})):t.resolve(p).then((function(e){u.value=e,o(u)}),(function(e){return a("throw",e,o,s)}))}s(c.arg)}var i;r(this,"_invoke",{value:function(e,n){function r(){return new t((function(t,r){a(e,n,t,r)}))}return i=i?i.then(r,r):r()}})}function w(e,t,n){var r="suspendedStart";return function(a,i){if("executing"===r)throw new Error("Generator is already running");if("completed"===r){if("throw"===a)throw i;return F()}for(n.method=a,n.arg=i;;){var o=n.delegate;if(o){var s=j(o,n);if(s){if(s===p)continue;return s}}if("next"===n.method)n.sent=n._sent=n.arg;else if("throw"===n.method){if("suspendedStart"===r)throw r="completed",n.arg;n.dispatchException(n.arg)}else"return"===n.method&&n.abrupt("return",n.arg);r="executing";var c=l(e,t,n);if("normal"===c.type){if(r=n.done?"completed":"suspendedYield",c.arg===p)continue;return{value:c.arg,done:n.done}}"throw"===c.type&&(r="completed",n.method="throw",n.arg=c.arg)}}}function j(e,t){var n=t.method,r=e.iterator[n];if(void 0===r)return t.delegate=null,"throw"===n&&e.iterator.return&&(t.method="return",t.arg=void 0,j(e,t),"throw"===t.method)||"return"!==n&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+n+"' method")),p;var a=l(r,e.iterator,t.arg);if("throw"===a.type)return t.method="throw",t.arg=a.arg,t.delegate=null,p;var i=a.arg;return i?i.done?(t[e.resultName]=i.value,t.next=e.nextLoc,"return"!==t.method&&(t.method="next",t.arg=void 0),t.delegate=null,p):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,p)}function P(e){var t={tryLoc:e[0]};1 in e&&(t.catchLoc=e[1]),2 in e&&(t.finallyLoc=e[2],t.afterLoc=e[3]),this.tryEntries.push(t)}function _(e){var t=e.completion||{};t.type="normal",delete t.arg,e.completion=t}function S(e){this.tryEntries=[{tryLoc:"root"}],e.forEach(P,this),this.reset(!0)}function O(e){if(e){var t=e[i];if(t)return t.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length)){var r=-1,a=function t(){for(;++r<e.length;)if(n.call(e,r))return t.value=e[r],t.done=!1,t;return t.value=void 0,t.done=!0,t};return a.next=a}}return{next:F}}function F(){return{value:void 0,done:!0}}return d.prototype=m,r(g,"constructor",{value:m,configurable:!0}),r(m,"constructor",{value:d,configurable:!0}),d.displayName=c(m,s,"GeneratorFunction"),e.isGeneratorFunction=function(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===d||"GeneratorFunction"===(t.displayName||t.name))},e.mark=function(e){return Object.setPrototypeOf?Object.setPrototypeOf(e,m):(e.__proto__=m,c(e,s,"GeneratorFunction")),e.prototype=Object.create(g),e},e.awrap=function(e){return{__await:e}},b(k.prototype),c(k.prototype,o,(function(){return this})),e.AsyncIterator=k,e.async=function(t,n,r,a,i){void 0===i&&(i=Promise);var o=new k(u(t,n,r,a),i);return e.isGeneratorFunction(n)?o:o.next().then((function(e){return e.done?e.value:o.next()}))},b(g),c(g,s,"Generator"),c(g,i,(function(){return this})),c(g,"toString",(function(){return"[object Generator]"})),e.keys=function(e){var t=Object(e),n=[];for(var r in t)n.push(r);return n.reverse(),function e(){for(;n.length;){var r=n.pop();if(r in t)return e.value=r,e.done=!1,e}return e.done=!0,e}},e.values=O,S.prototype={constructor:S,reset:function(e){if(this.prev=0,this.next=0,this.sent=this._sent=void 0,this.done=!1,this.delegate=null,this.method="next",this.arg=void 0,this.tryEntries.forEach(_),!e)for(var t in this)"t"===t.charAt(0)&&n.call(this,t)&&!isNaN(+t.slice(1))&&(this[t]=void 0)},stop:function(){this.done=!0;var e=this.tryEntries[0].completion;if("throw"===e.type)throw e.arg;return this.rval},dispatchException:function(e){if(this.done)throw e;var t=this;function r(n,r){return o.type="throw",o.arg=e,t.next=n,r&&(t.method="next",t.arg=void 0),!!r}for(var a=this.tryEntries.length-1;a>=0;--a){var i=this.tryEntries[a],o=i.completion;if("root"===i.tryLoc)return r("end");if(i.tryLoc<=this.prev){var s=n.call(i,"catchLoc"),c=n.call(i,"finallyLoc");if(s&&c){if(this.prev<i.catchLoc)return r(i.catchLoc,!0);if(this.prev<i.finallyLoc)return r(i.finallyLoc)}else if(s){if(this.prev<i.catchLoc)return r(i.catchLoc,!0)}else{if(!c)throw new Error("try statement without catch or finally");if(this.prev<i.finallyLoc)return r(i.finallyLoc)}}}},abrupt:function(e,t){for(var r=this.tryEntries.length-1;r>=0;--r){var a=this.tryEntries[r];if(a.tryLoc<=this.prev&&n.call(a,"finallyLoc")&&this.prev<a.finallyLoc){var i=a;break}}i&&("break"===e||"continue"===e)&&i.tryLoc<=t&&t<=i.finallyLoc&&(i=null);var o=i?i.completion:{};return o.type=e,o.arg=t,i?(this.method="next",this.next=i.finallyLoc,p):this.complete(o)},complete:function(e,t){if("throw"===e.type)throw e.arg;return"break"===e.type||"continue"===e.type?this.next=e.arg:"return"===e.type?(this.rval=this.arg=e.arg,this.method="return",this.next="end"):"normal"===e.type&&t&&(this.next=t),p},finish:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.finallyLoc===e)return this.complete(n.completion,n.afterLoc),_(n),p}},catch:function(e){for(var t=this.tryEntries.length-1;t>=0;--t){var n=this.tryEntries[t];if(n.tryLoc===e){var r=n.completion;if("throw"===r.type){var a=r.arg;_(n)}return a}}throw new Error("illegal catch attempt")},delegateYield:function(e,t,n){return this.delegate={iterator:O(e),resultName:t,nextLoc:n},"next"===this.method&&(this.arg=void 0),p}},e}function k(e){return k="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&"function"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?"symbol":typeof e},k(e)}function w(e,t,n,r,a,i,o){try{var s=e[i](o),c=s.value}catch(e){return void n(e)}s.done?t(c):Promise.resolve(c).then(r,a)}function j(e){return function(){var t=this,n=arguments;return new Promise((function(r,a){var i=e.apply(t,n);function o(e){w(i,r,a,o,s,"next",e)}function s(e){w(i,r,a,o,s,"throw",e)}o(void 0)}))}}function P(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function _(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,B(r.key),r)}}function S(e,t,n){return t&&_(e.prototype,t),n&&_(e,n),Object.defineProperty(e,"prototype",{writable:!1}),e}function O(e,t,n){return(t=B(t))in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}function F(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){var n=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=n){var r,a,i,o,s=[],c=!0,u=!1;try{if(i=(n=n.call(e)).next,0===t){if(Object(n)!==n)return;c=!1}else for(;!(c=(r=i.call(n)).done)&&(s.push(r.value),s.length!==t);c=!0);}catch(e){u=!0,a=e}finally{try{if(!c&&null!=n.return&&(o=n.return(),Object(o)!==o))return}finally{if(u)throw a}}return s}}(e,t)||T(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function E(e){return function(e){if(Array.isArray(e))return R(e)}(e)||function(e){if("undefined"!=typeof Symbol&&null!=e[Symbol.iterator]||null!=e["@@iterator"])return Array.from(e)}(e)||T(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function T(e,t){if(e){if("string"==typeof e)return R(e,t);var n=Object.prototype.toString.call(e).slice(8,-1);return"Object"===n&&e.constructor&&(n=e.constructor.name),"Map"===n||"Set"===n?Array.from(e):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?R(e,t):void 0}}function R(e,t){(null==t||t>e.length)&&(t=e.length);for(var n=0,r=new Array(t);n<t;n++)r[n]=e[n];return r}function D(e,t){var n="undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(!n){if(Array.isArray(e)||(n=T(e))||t&&e&&"number"==typeof e.length){n&&(e=n);var r=0,a=function(){};return{s:a,n:function(){return r>=e.length?{done:!0}:{done:!1,value:e[r++]}},e:function(e){throw e},f:a}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var i,o=!0,s=!1;return{s:function(){n=n.call(e)},n:function(){var e=n.next();return o=e.done,e},e:function(e){s=!0,i=e},f:function(){try{o||null==n.return||n.return()}finally{if(s)throw i}}}}function B(e){var t=function(e,t){if("object"!=typeof e||null===e)return e;var n=e[Symbol.toPrimitive];if(void 0!==n){var r=n.call(e,t||"default");if("object"!=typeof r)return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===t?String:Number)(e)}(e,"string");return"symbol"==typeof t?t:String(t)}var N=new(S((function e(){P(this,e),O(this,"isVerbose",void 0),this.isVerbose=!1}))),L=new(function(){function e(){P(this,e)}var t;return S(e,[{key:"function",value:(t=j(x().mark((function e(t,n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return N.isVerbose&&console.info("--------- ".concat(t," start ---------")),e.next=3,n();case 3:N.isVerbose&&console.info("---------- ".concat(t," end ----------"));case 4:case"end":return e.stop()}}),e)}))),function(e,n){return t.apply(this,arguments)})}]),e}()),A=new c;function I(e){return $.apply(this,arguments)}function $(){return $=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("fixAbbreviations",j(x().mark((function e(){var r,a,s,c,u,l,p,f,d,m,h;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,o("**/*.md",{dot:!0,cwd:n});case 2:r=e.sent,a=D(r),e.prev=4,c=x().mark((function e(){var r,a;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=s.value,a=t.join(n,r),e.next=4,A.run(j(x().mark((function e(){var t,n;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.promises.readFile(a,"utf8");case 2:return t=e.sent,n=t.replaceAll("c.f.","cf.").replaceAll("eg.","e.g.").replaceAll("ie.","i.e."),e.next=6,i.promises.writeFile(a,n);case 6:case"end":return e.stop()}}),e)}))));case 4:case"end":return e.stop()}}),e)})),a.s();case 7:if((s=a.n()).done){e.next=11;break}return e.delegateYield(c(),"t0",9);case 9:e.next=7;break;case 11:e.next=16;break;case 13:e.prev=13,e.t1=e.catch(4),a.e(e.t1);case 16:return e.prev=16,a.f(),e.finish(16);case 19:return e.next=21,o("**/*.(ts|tsx)",{dot:!0,cwd:n});case 21:u=e.sent,l=D(u),e.prev=23,l.s();case 25:if((p=l.n()).done){e.next=36;break}return f=p.value,d=t.join(n,f),e.next=30,i.promises.readFile(d,"utf8");case 30:return m=e.sent,h=m.replaceAll(/\/\/(.*)c\.f\./g,"//$1cf.").replaceAll(/\/\/(.*)eg\./g,"//$1e.g.").replaceAll(/\/\/(.*)ie\./g,"//$1i.e."),e.next=34,i.promises.writeFile(d,h);case 34:e.next=25;break;case 36:e.next=41;break;case 38:e.prev=38,e.t2=e.catch(23),l.e(e.t2);case 41:return e.prev=41,l.f(),e.finish(41);case 44:return e.next=46,A.promiseAll();case 46:case"end":return e.stop()}}),e,null,[[4,13,16,19],[23,38,41,44]])})))));case 1:case"end":return e.stop()}}),e)}))),$.apply(this,arguments)}function W(e){return C.apply(this,arguments)}function C(){return C=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("fixTestDirectories",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,Promise.all(n.map(function(){var e=j(x().mark((function e(n){var r,a,o,s;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.join(n,"__tests__"),a=t.join(n,"tests"),e.prev=2,e.next=5,i.promises.rename(r,a);case 5:return e.next=7,i.promises.readFile(t.join(n,"package.json"),"utf8");case 7:return o=e.sent,s=o.replace(/__tests__/g,"tests"),e.next=11,i.promises.writeFile(t.join(n,"package.json"),s);case 11:e.next=15;break;case 13:e.prev=13,e.t0=e.catch(2);case 15:case"end":return e.stop()}}),e,null,[[2,13]])})));return function(t){return e.apply(this,arguments)}}()));case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),C.apply(this,arguments)}function J(e,t){return z.apply(this,arguments)}function z(){return(z=j(x().mark((function r(a,i){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.abrupt("return",L.function("fixTypeDefinitions",j(x().mark((function r(){var o,s,c,u,l,p;return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return o=t.resolve(a.dirPath,"@types"),s=a.root&&a.containingSubPackageJsons?void 0:t.resolve(a.dirPath,"src","types"),r.next=4,n((function(){return e.readdir(o,{withFileTypes:!0})}));case 4:if(c=r.sent){r.next=7;break}return r.abrupt("return");case 7:u=D(c),r.prev=8,p=x().mark((function r(){var a,c,u,p,f;return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:if(a=l.value,c=a.name.slice(0,-5),u=a.name.endsWith(".d.ts"),(p=u?c:a.name).includes("__")&&(p="@".concat(p.replace("__","/"))),f=i.some((function(e){var t,n,r,a;return(null===(t=e.packageJson)||void 0===t||null===(n=t.dependencies)||void 0===n?void 0:n[p])||(null===(r=e.packageJson)||void 0===r||null===(a=r.devDependencies)||void 0===a?void 0:a[p])})),!a.isFile()||!u){r.next=21;break}if(!f){r.next=14;break}return r.next=10,e.mkdir(t.join(o,c));case 10:return r.next=12,A.run((function(){return e.rename(t.join(o,a.name),t.join(o,c,"index.d.ts"))}));case 12:r.next=19;break;case 14:if(!s){r.next=19;break}return r.next=17,e.mkdir(s,{recursive:!0});case 17:return r.next=19,A.run((function(){return e.rename(t.join(o,a.name),t.join(s,a.name))}));case 19:r.next=26;break;case 21:if(!a.isDirectory()||!s||f){r.next=26;break}return r.next=24,e.mkdir(s,{recursive:!0});case 24:return r.next=26,A.run((function(){return n((function(){return e.rename(t.join(o,a.name,"index.d.ts"),t.join(s,"".concat(a.name,".d.ts")))}))}));case 26:case"end":return r.stop()}}),r)})),u.s();case 11:if((l=u.n()).done){r.next=15;break}return r.delegateYield(p(),"t0",13);case 13:r.next=11;break;case 15:r.next=20;break;case 17:r.prev=17,r.t1=r.catch(8),u.e(r.t1);case 20:return r.prev=20,u.f(),r.finish(20);case 23:case"end":return r.stop()}}),r,null,[[8,17,20,23]])})))));case 1:case"end":return r.stop()}}),r)})))).apply(this,arguments)}function G(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]?arguments[3]:0;do{var a=H(e,t,n),i=F(a,3),o=i[0],s=i[1],c=i[2];console.log("$ ".concat(o," ").concat(s.join(" ")," at ").concat(c.cwd));var l=u.spawnSync(o,s,c);if(0===l.status)break}while(--r>=0)}function M(e,t,n){var r=F(H(e,t,n),3),a=r[0],i=r[1],o=r[2];o.stdio="pipe";var s=u.spawnSync(a,i,o),c=s.stderr.toString().trim();return c&&console.error("".concat(a," [").concat(i.map((function(e){return'"'.concat(e,'"')})),"] caused the following error:\n ").concat(c)),s.stdout.toString().trim()}function H(e,t,n){var r=b({},process.env);return r.PATH&&r.BERRY_BIN_FOLDER&&(r.PATH=r.PATH.replace("".concat(r.BERRY_BIN_FOLDER,":"),"")),r.ASDF_DIR&&(t=["-l","-c",". ".concat(r.ASDF_DIR,"/asdf.sh && ").concat(e," ").concat(t.join(" "))],e="bash"),[e,t,{cwd:n,env:r,shell:!1,stdio:"inherit"}]}function Y(e){return U.apply(this,arguments)}function U(){return(U=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateVersionConfigs",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,X(t);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var q="1.3.1",K="3.9.16",V="adoptopenjdk-11.0.17+8";function X(e){return Z.apply(this,arguments)}function Z(){return(Z=j(x().mark((function e(n){var r,a,o,s,c,u;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n.versionsText){e.next=2;break}return e.abrupt("return");case 2:r=[],a=D(n.versionsText.trim().split("\n")),e.prev=4,s=x().mark((function e(){var a,s,c,u,l,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(a=o.value,s=a.trim(),c=s.split(/\s+/),u=F(c,2),l=u[0],p=u[1],l&&p){e.next=5;break}return e.abrupt("return","continue");case 5:if("nodejs"!==l){e.next=10;break}return e.next=8,A.run((function(){return i.promises.writeFile(t.resolve(n.dirPath,".node-version"),p+"\n")}));case 8:e.next=16;break;case 10:if("python"!==l){e.next=15;break}return e.next=13,A.run((function(){return i.promises.writeFile(t.resolve(n.dirPath,".python-version"),p+"\n")}));case 13:e.next=16;break;case 15:r.push(s);case 16:case"end":return e.stop()}}),e)})),a.s();case 7:if((o=a.n()).done){e.next=14;break}return e.delegateYield(s(),"t0",9);case 9:if("continue"!==e.t0){e.next=12;break}return e.abrupt("continue",12);case 12:e.next=7;break;case 14:e.next=19;break;case 16:e.prev=16,e.t1=e.catch(4),a.e(e.t1);case 19:return e.prev=19,a.f(),e.finish(19);case 22:return n.containingPoetryLock&&(Q(r,"poetry",q),i.existsSync(t.resolve(n.dirPath,".python-version"))||Q(r,"python",K,!0)),n.depending.firebase&&Q(r,"java",V,!0),n.containingPackageJson&&(c=M("npm",["show","yarn","version"],n.dirPath),Q(r,"yarn",c)),u=t.resolve(n.dirPath,".tool-versions"),e.next=28,r.length>0?A.run((function(){return i.promises.writeFile(u,r.join("\n")+"\n")})):A.run((function(){return i.promises.rm(u,{force:!0})}));case 28:return e.next=30,A.promiseAll();case 30:G("asdf",["plugin","update","--all"],n.dirPath),G("asdf",["install"],n.dirPath);case 32:case"end":return e.stop()}}),e,null,[[4,16,19,22]])})))).apply(this,arguments)}function Q(e,t,n){var r=arguments.length>3&&void 0!==arguments[3]&&arguments[3],a=e.findIndex((function(e){return e.split(/\s+/)[0]===t})),i="".concat(t," ").concat(n);if(a>=0){var o=e[a].split(/\s+/),s=F(o,2),c=s[1];ee(n)>ee(c)&&(e[a]=i)}else e.splice(r?0:e.length,0,i)}function ee(e){var t,n=0,r=1,a=D(e.split(/[+.-]/).map(Number).filter(Number.isNaN));try{for(a.s();!(t=a.n()).done;){n+=t.value*r,r/=1e3}}catch(e){a.e(e)}finally{a.f()}return n}var te={codeWith2IndentSize:["cjs","mjs","js","jsx","cts","mts","ts","tsx","json","json5","cpp","dart","htm","html","pu","puml","rb","vue","yaml","yml"].sort(),codeWith4IndentSize:["go","gradle","py"].sort(),codeWith8IndentSize:["sh"].sort(),markdownLike:["md"].sort(),eslint:["cjs","mjs","js","cts","mts","ts","tsx","jsx"].sort(),prettier:["cjs","mjs","js","jsx","cts","mts","ts","tsx","json","json5","css","htm","html","md","scss","vue","yaml","yml"].sort()},ne=function(t){return j(x().mark((function n(){return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.prev=0,n.next=3,e.readFile(t,"utf8");case 3:return n.abrupt("return",n.sent);case 6:n.prev=6,n.t0=n.catch(0);case 8:case"end":return n.stop()}}),n,null,[[0,6]])})))()},re=function(t,n){return j(x().mark((function r(){return x().wrap((function(r){for(;;)switch(r.prev=r.next){case 0:return r.next=2,e.writeFile(t,n);case 2:console.log("Generated ".concat(t));case 3:case"end":return r.stop()}}),r)})))()},ae="root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n".concat(se(te.codeWith2IndentSize),"\nindent_size = 2\nindent_style = space\n\n").concat(se(te.codeWith4IndentSize),"\nindent_size = 4\nindent_style = space\n\n").concat(se(te.codeWith8IndentSize),"\nindent_size = 8\nindent_style = space\n\n").concat(se(te.markdownLike),"\nmax_line_length = off\ntrim_trailing_whitespace = false\n\n[{Makefile,*.mk}]\nindent_style = tab\n");function ie(e){return oe.apply(this,arguments)}function oe(){return(oe=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateEditorconfig",j(x().mark((function e(){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n.dirPath,".editorconfig"),e.next=3,A.run((function(){return re(r,ae)}));case 3:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function se(e){return e.length>1?"[*.{".concat(e.join(","),"}]"):"[*.".concat(e[0],"]")}var ce="# Project-specific settings",ue=/# Project-specific settings[^\n]*\n/gm,le="# Generated by wbfy",pe="".concat(ce," (head)\n\n\n").concat(le,"\n"),fe="\n".concat(ce," (tail)\n"),de={separator:le,separatorPrefix:"# Generated by ",defaultHeadUserContent:pe,defaultTailUserContent:fe,readGitignoreWithoutSeparators:function(e){return j(x().mark((function t(){var n,r;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,i.promises.readFile(e,"utf8");case 3:return n=t.sent,(r=me(n))>0&&(n=n.slice(0,r-1)),t.abrupt("return",n.replace(ue,"").replace(/# Generated by [^\n]*\n/gm,"").replace(/\r?\n\r?\n(\r?\n)+/gm,"\n\n").trim()+"\n");case 9:t.prev=9,t.t0=t.catch(0);case 11:case"end":return t.stop()}}),t,null,[[0,9]])})))()},getHeadUserContent:function(e){var t=e.indexOf(this.separatorPrefix);return t>=0?e.slice(0,e.indexOf("\n",t)+1).replace(ue,"".concat(ce," (head)\n")):pe},getTailUserContent:function(e){var t=me(e);return t>0?e.slice(t-1):fe},isBerryZeroInstallEnabled:function(e){return j(x().mark((function t(){var n;return x().wrap((function(t){for(;;)switch(t.prev=t.next){case 0:return t.prev=0,t.next=3,i.promises.readFile(e,"utf8");case 3:return n=t.sent,t.abrupt("return",n.includes("\n!.yarn/cache"));case 7:return t.prev=7,t.t0=t.catch(0),t.abrupt("return",!1);case 10:case"end":return t.stop()}}),t,null,[[0,7]])})))()}};function me(e){var t=e.indexOf(ce),n=e.lastIndexOf(ce);return n>t?n:-1}var he="\n3rd-party/\n@types/\n__generated__/\nandroid/\nios/\nno-format/\ntest-fixtures/\n*.config.*js\n*.d.ts\n*.min.*js\n.yarn/\n.pnp.js\n";function ve(e){return ye.apply(this,arguments)}function ye(){return ye=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateEslintignore",j(x().mark((function e(){var r,a,i,o,s,c,u,l;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.resolve(n.dirPath,".eslintignore"),e.next=3,ne(a);case 3:if(e.t1=r=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==r;case 7:if(!e.t0){e.next=11;break}e.t2=r,e.next=12;break;case 11:e.t2="";case 12:return i=e.t2,o=de.getHeadUserContent(i)+he,s=de.getTailUserContent(i),c=t.resolve(n.dirPath,".gitignore"),e.next=18,de.readGitignoreWithoutSeparators(c);case 18:if(e.t3=e.sent,e.t3){e.next=21;break}e.t3="";case 21:return u=e.t3,l=o+he+u+s,e.next=25,A.run((function(){return re(a,l)}));case 25:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),ye.apply(this,arguments)}function ge(e,t){return t}function be(e,t,n){var r,a=E(e),i=D(t.entries());try{for(i.s();!(r=i.n()).done;){var o=F(r.value,2),s=o[0],c=o[1];void 0===a[s]?a[s]=n.cloneUnlessOtherwiseSpecified(c,n):n.isMergeableObject(c)?a[s]=l(e[s],c,n):e.includes(c)||a.push(c)}}catch(e){i.e(e)}finally{i.f()}return a}function xe(e,t){return ke.apply(this,arguments)}function ke(){return ke=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateEslintrc",j(x().mark((function e(){var a,o,s,c,u,p,f;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if("2"!==r.depending.blitz){e.next=2;break}return e.abrupt("return");case 2:return a=[],n.eslintBase&&a.push(n.eslintBase),n!==r&&a.push("../../.eslintrc.json"),o={root:!0,extends:a},s=t.resolve(n.dirPath,".eslintrc.json"),e.prev=7,e.next=10,i.promises.readFile(s,"utf8");case 10:c=e.sent,(u=JSON.parse(c)).extends&&(u.extends=u.extends.filter((function(e){return!e.startsWith("@willbooster/")&&"../../.eslintrc.json"!==e}))),0===a.length&&(u.extends=[]),p=o.extends,o.extends=u.extends,u.extends=p,o=l.all([o,u,o],{arrayMerge:be}),"0"===n.depending.blitz?we(o,"blitz"):"2"===n.depending.blitz&&we(o,"@blitzjs/next/eslint"),e.next=23;break;case 21:e.prev=21,e.t0=e.catch(7);case 23:return f=JSON.stringify(o),e.next=26,A.run((function(){return re(s,f)}));case 26:case"end":return e.stop()}}),e,null,[[7,21]])})))));case 1:case"end":return e.stop()}}),e)}))),ke.apply(this,arguments)}function we(e,t){e.extends=[t].concat(E(e.extends.filter((function(e){return e!==t}))))}var je="* text=auto\n\n*.vcproj text eol=crlf\n\n".concat([].concat(E(te.codeWith2IndentSize),E(te.codeWith4IndentSize),E(te.markdownLike)).map((function(e){return"*.".concat(e," text eol=lf")})).join("\n"),"\n");function Pe(e){return _e.apply(this,arguments)}function _e(){return(_e=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateGitattributes",j(x().mark((function e(){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n.dirPath,".gitattributes"),e.next=3,A.run((function(){return re(r,je)}));case 3:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}var Se=["windows","macos","linux","jetbrains","visualstudiocode","emacs","vim","yarn"],Oe="\n.devcontainer/\ndist/\ntemp/\nIcon[\r]\n!.keep\n";function Fe(e,t){return Ee.apply(this,arguments)}function Ee(){return Ee=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateGitignore",j(x().mark((function e(){var a,i,o,s,c,u,l,p,f,d,m,h;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return i=t.resolve(n.dirPath,".gitignore"),e.next=3,ne(i);case 3:if(e.t1=a=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==a;case 7:if(!e.t0){e.next=11;break}e.t2=a,e.next=12;break;case 11:e.t2="";case 12:o=e.t2,s=de.getHeadUserContent(o)+Oe,c=de.getTailUserContent(o),u=[].concat(Se),n.containingGemfile&&u.push("ruby"),n.containingGoMod&&(u.push("go"),s+="".concat(t.basename(n.dirPath),"\n")),n.containingPackageJson&&u.push("node"),n.containingPomXml&&(u.push("maven"),s+=".idea/google-java-format.xml\n"),n.containingPubspecYaml&&(u.push("flutter","AndroidStudio","ruby"),s+=".flutter-plugins-dependencies\nandroid/key.properties\nios/.bundle\n.idea/runConfigurations.xml\n"),n.containingTemplateYaml&&(s+=".aws-sam/\npackaged.yaml\n"),n.containingPoetryLock&&(u.push("python"),s+=".venv/\n"),r.depending.blitz&&(u.push("nextjs"),s+=".blitz/\n.blitz**\n"),(r.depending.firebase||n.depending.firebase)&&u.push("firebase"),r.depending.prisma&&(s+="*.sqlite3\n*.sqlite3-journal\n"),r.depending.playwright&&(s+="test-results/\n"),(r.depending.reactNative||n.depending.reactNative)&&(u.push("reactnative"),s+="google-services.json\nandroid/app/src/main/assets/\n"),r.depending.storybook&&u.push("storybookjs"),l="",p=D(u),e.prev=31,d=x().mark((function e(){var t,n,r,a,i,o;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return n=f.value,e.next=3,Be(n);case 3:if(e.t1=t=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==t;case 7:if(!e.t0){e.next=11;break}e.t2=t,e.next=12;break;case 11:e.t2="";case 12:if(r=e.t2){e.next=28;break}return a="https://www.toptal.com/developers/gitignore/api/".concat(n),e.next=17,fetch(a);case 17:return i=e.sent,e.next=20,i.text();case 20:if(!(o=e.sent).includes("Attention Required!")){e.next=24;break}return console.error("Failed to fetch ".concat(a)),e.abrupt("return",{v:void 0});case 24:return r=o.trim(),e.next=27,A.run((function(){return Re(n,r)}));case 27:N.isVerbose&&console.info("Fetched ".concat(a));case 28:l&&(l+="\n"),l+=r+"\n";case 30:case"end":return e.stop()}}),e)})),p.s();case 34:if((f=p.n()).done){e.next=41;break}return e.delegateYield(d(),"t3",36);case 36:if("object"!==k(m=e.t3)){e.next=39;break}return e.abrupt("return",m.v);case 39:e.next=34;break;case 41:e.next=46;break;case 43:e.prev=43,e.t4=e.catch(31),p.e(e.t4);case 46:return e.prev=46,p.f(),e.finish(46);case 49:return e.next=51,de.isBerryZeroInstallEnabled(i);case 51:if(e.sent){e.next=53;break}l=l.replace("!.yarn/cache","# !.yarn/cache").replace("# .pnp.*",".pnp.*");case 53:return(n.containingPomXml||n.containingPubspecYaml)&&(l=l.replace(/^# .idea\/artifacts$/gm,".idea/artifacts").replace(/^# .idea\/compiler.xml$/gm,".idea/compiler.xml").replace(/^# .idea\/jarRepositories.xml$/gm,".idea/jarRepositories.xml").replace(/^# .idea\/modules.xml$/gm,".idea/modules.xml").replace(/^# .idea\/*.iml$/gm,".idea/*.iml").replace(/^# .idea\/modules$/gm,".idea/modules").replace(/^# *.iml$/gm,"*.iml").replace(/^# *.ipr$/gm,"*.ipr"),n.containingPubspecYaml&&(l=l.replace(/^.idea\/modules.xml$/gm,"# .idea/modules.xml"))),l=l.replace(/^.idea\/?$/gm,"# .idea"),(r.depending.reactNative||n.depending.reactNative||n.containingPubspecYaml)&&(l=l.replace(/^(.idea\/.+)$/gm,"$1\nandroid/$1")),h=s+l+c,e.next=59,A.run((function(){return re(i,h)}));case 59:case"end":return e.stop()}}),e,null,[[31,43,46,49]])})))));case 1:case"end":return e.stop()}}),e)}))),Ee.apply(this,arguments)}var Te=t.join(p.homedir(),".cache","wbfy","gitignore");function Re(e,t){return De.apply(this,arguments)}function De(){return(De=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,i.promises.mkdir(Te,{recursive:!0});case 2:return e.next=4,i.promises.writeFile(t.join(Te,n),r);case 4:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Be(e){return Ne.apply(this,arguments)}function Ne(){return(Ne=j(x().mark((function e(n){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,i.promises.stat(t.join(Te,n));case 3:if(r=e.sent,!(Date.now()-r.mtimeMs>216e5)){e.next=6;break}return e.abrupt("return");case 6:return e.next=8,i.promises.readFile(t.join(Te,n),"utf8");case 8:return e.abrupt("return",e.sent);case 11:e.prev=11,e.t0=e.catch(0);case 13:case"end":return e.stop()}}),e,null,[[0,11]])})))).apply(this,arguments)}var Le=function(e){return e.containingJsxOrTsx?' --rule "{ react-hooks/exhaustive-deps: 0 }"':""},Ae=process.env.GH_BOT_PAT||process.env.PUBLIC_GH_BOT_PAT||process.env.GH_TOKEN||process.env.GITHUB_TOKEN,Ie=!!Ae,$e=new f({auth:Ae}),We=new(function(){function e(){P(this,e)}return S(e,[{key:"getOrgAndName",value:function(e){var t,n,r,a=e.split(":").at(-1),i=null==a?void 0:a.split("/");return[null!==(t=null==i?void 0:i.at(-2))&&void 0!==t?t:"",null!==(n=null==i||null===(r=i.at(-1))||void 0===r?void 0:r.replace(/.git$/,""))&&void 0!==n?n:""]}}]),e}()),Ce={node:["src","tests","scripts"].sort(),blitz0:["tests","scripts","app","db","integrations","mailers","test"].sort(),blitz2:["src","tests","scripts","db","integrations","mailers"].sort()};function Je(e){return e.depending.blitz?"0"===e.depending.blitz?Ce.blitz0:Ce.blitz2:Ce.node}var ze=["eslint","eslint-config-prettier","eslint-plugin-import","eslint-plugin-sort-class-members","eslint-plugin-sort-destructure-keys","eslint-plugin-unicorn"],Ge=[].concat(ze,["@typescript-eslint/eslint-plugin","@typescript-eslint/parser","eslint-import-resolver-typescript"]),Me=["eslint-plugin-react","eslint-plugin-react-hooks"],He={"@willbooster/eslint-config-js":["@willbooster/eslint-config-js"].concat(ze),"@willbooster/eslint-config-js-react":["@willbooster/eslint-config-js-react"].concat(ze,Me),"@willbooster/eslint-config-ts":["@willbooster/eslint-config-ts"].concat(E(Ge)),"@willbooster/eslint-config-ts-react":["@willbooster/eslint-config-ts-react"].concat(E(Ge),Me),"../../.eslintrc.json":[]};function Ye(e,t,n){return Ue.apply(this,arguments)}function Ue(){return(Ue=j(x().mark((function e(t,n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generatePackageJson",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,qe(t,n,r);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function qe(e,t,n){return Ke.apply(this,arguments)}function Ke(){return Ke=j(x().mark((function e(n,r,a){var s,c,u,p,f,d,m,h,v,y,g,b,k,w,j,P,_,S,O,T,R,B,N,L,A,I,$,W,C,J;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=t.resolve(n.dirPath,"package.json"),e.next=3,i.promises.readFile(u,"utf8");case 3:return p=e.sent,(f=JSON.parse(p)).scripts=f.scripts||{},f.dependencies=f.dependencies||{},f.devDependencies=f.devDependencies||{},f.peerDependencies=f.peerDependencies||{},e.next=11,Ve(f);case 11:for("@willbooster/prettier-config"!==f.name&&(f.prettier="@willbooster/prettier-config"),d=0,m=Object.keys(f.scripts);d<m.length;d++)h=m[d],f.scripts[h].includes("git clone")||(f.scripts[h]=f.scripts[h].replace(/yarn\s*&&\s*/,"").replace(/yarn\s*install\s*&&\s*/,""));return f.scripts=l(f.scripts,Ze(n)),e.t0=f.scripts.prettify,e.next=17,Qe(n.dirPath);case 17:if(f.scripts.prettify=e.t0+=e.sent,v=[],y=["lint-staged","prettier","sort-package-json","@willbooster/prettier-config"],g=[],n.root&&(y.push("husky","@willbooster/renovate-config"),(n.publicRepo||n.referredByOtherRepo)&&(y.push("pinst"),f.scripts.prepack="pinst --disable",f.scripts.postpack="pinst --enable"),n.depending.semanticRelease&&(y.push("conventional-changelog-conventionalcommits"),f.devDependencies["semantic-release"]||f.devDependencies["multi-semantic-release"]||f.devDependencies["@qiwi/multi-semantic-release"]||y.push("semantic-release"),f.version="0.0.0-semantically-released"),n.containingSubPackageJsons?f.workspaces=["packages/*"]:delete f.workspaces),(n.containingJavaScript||n.containingJavaScriptInPackages||n.containingTypeScript||n.containingTypeScriptInPackages)&&(y.push("eslint","micromatch"),n.containingTypeScriptInPackages&&y.push("@typescript-eslint/parser")),(n.containingTypeScript||n.containingTypeScriptInPackages)&&y.push("typescript"),n.eslintBase&&(b=y).push.apply(b,E(He[n.eslintBase])),n.willBoosterConfigs&&(v=v.filter((function(e){return!e.includes("@willbooster/")})),y=y.filter((function(e){return!e.includes("@willbooster/")}))),f.name||(f.name=t.basename(n.dirPath)),n.containingSubPackageJsons&&(f.private=!0),f.license||(f.license="UNLICENSED"),!f.private&&"UNLICENSED"!==f.license&&r.publicRepo&&(null!==(k=f.publishConfig)&&void 0!==k||(f.publishConfig={}),null!==(j=(w=f.publishConfig).access)&&void 0!==j||(w.access="public")),P=We.getOrgAndName(null!==(s=n.repository)&&void 0!==s?s:""),_=F(P,1),"WillBooster"!==(S=_[0])&&"WillBoosterLab"!==S||(f.author="WillBooster Inc."),n.depending.semanticRelease&&n.release.npm&&(n.esmPackage?null===(O=f.resolutions)||void 0===O||delete O["npm/chalk"]:(f.resolutions||(f.resolutions={}),f.resolutions["npm/chalk"]="^4.1.2")),n.containingSubPackageJsons){e.next=46;break}if(n.containingJavaScript||n.containingTypeScript?f.scripts["lint-fix"]+=Le(n):(delete f.scripts.lint,delete f.scripts["lint-fix"],f.scripts.cleanup=f.scripts.cleanup.replace(" && yarn lint-fix","")),n.containingPubspecYaml&&(f.scripts.lint="flutter analyze",f.scripts["lint-fix"]="yarn lint",(T=["lib","test","test_driver"].filter((function(e){return i.existsSync(t.resolve(n.dirPath,e))}))).length>0&&(f.scripts["format-code"]="flutter format $(find ".concat(T.join(" ")," -name generated -prune -o -name '*.freezed.dart' -prune -o -name '*.g.dart' -prune -o -name '*.dart' -print)"),f.scripts.format+=" && yarn format-code")),!n.containingPoetryLock){e.next=45;break}return"poetry install"===f.scripts.postinstall&&delete f.scripts.postinstall,e.next=40,o("**/*.py",{cwd:n.dirPath,dot:!0,gitignore:!0,ignore:["test-fixtures"]});case 40:R=e.sent,B=new Set,N=D(R);try{for(N.s();!(L=N.n()).done;)A=L.value,I=A.split(/[/\\]/),$=F(I,2),W=$[0],$[1]&&B.add(W)}catch(e){N.e(e)}finally{N.f()}B.size>0&&(C=E(B).join(" "),f.scripts["format-code"]="poetry run isort --profile black ".concat(C," && poetry run black ").concat(C),f.scripts.lint="poetry run flake8 ".concat(C),f.scripts["lint-fix"]="yarn lint",f.scripts.format+=" && yarn format-code",g.push("black","isort","flake8"));case 45:n.repository&&(f.repository=n.repository);case 46:return n.depending.blitz?("0"===n.depending.blitz&&(y=(y=y.filter((function(e){return!e.includes("@typescript-eslint/")}))).filter((function(e){return"eslint-plugin-react"!==e&&"eslint-import-resolver-typescript"!==e&&"eslint-plugin-import"!==e&&"eslint-plugin-react-hooks"!==e}))),null!==(J=f.scripts["gen-code"])&&void 0!==J&&J.startsWith("blitz codegen")||(f.scripts["gen-code"]="blitz codegen")):!n.depending.prisma||null!==(c=f.scripts["gen-code"])&&void 0!==c&&c.startsWith("prisma generate")||(f.scripts["gen-code"]="prisma generate"),0===Object.keys(f.dependencies).length&&delete f.dependencies,0===Object.keys(f.devDependencies).length&&delete f.devDependencies,0===Object.keys(f.peerDependencies).length&&delete f.peerDependencies,e.next=52,i.promises.writeFile(u,JSON.stringify(f));case 52:a||((v=v.filter((function(e){var t;return!(null!==(t=f.devDependencies)&&void 0!==t&&t[e])}))).length>0&&G("yarn",["add"].concat(E(new Set(v))),n.dirPath),(y=y.filter((function(e){var t;return!(null!==(t=f.dependencies)&&void 0!==t&&t[e])}))).length>0&&G("yarn",["add","-D"].concat(E(new Set(y))),n.dirPath),g.length>0&&G("poetry",["add"].concat(E(new Set(g))),n.dirPath));case 53:case"end":return e.stop()}}),e)}))),Ke.apply(this,arguments)}function Ve(e){return Xe.apply(this,arguments)}function Xe(){return Xe=j(x().mark((function e(t){var n,r,a,o,s,c;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:for("WillBooster LLC"===t.author&&(t.author="WillBooster Inc."),delete t.scripts["sort-package-json"],delete t.scripts["sort-all-package-json"],delete t.scripts["typecheck:codegen"],delete t.dependencies.tslib,delete t.devDependencies["@willbooster/eslint-config"],delete t.devDependencies["@willbooster/eslint-config-react"],delete t.devDependencies["@willbooster/tsconfig"],delete t.devDependencies["eslint-import-resolver-node"],delete t.devDependencies["eslint-plugin-prettier"],delete t.devDependencies.lerna,delete t.devDependencies.pinst,delete t.scripts["flutter-format"],delete t.scripts["format-flutter"],delete t.scripts["python-format"],delete t.scripts["format-python"],delete t.scripts.prettier,n=0,r=Object.values(He);n<r.length;n++){a=r[n],o=D(a);try{for(o.s();!(s=o.n()).done;)c=s.value,delete t.devDependencies[c]}catch(e){o.e(e)}finally{o.f()}}return e.next=20,A.run((function(){return i.promises.rm("lerna.json",{force:!0})}));case 20:case"end":return e.stop()}}),e)}))),Xe.apply(this,arguments)}function Ze(e){var t={cleanup:"yarn format && yarn lint-fix",format:"sort-package-json && yarn prettify",lint:'eslint --color "./{'.concat(Je(e),"}/**/*.{").concat(te.eslint.join(","),'}"'),"lint-fix":"yarn lint --fix",prettify:'prettier --cache --color --write "**/{.*/,}*.{'.concat(te.prettier.join(","),'}" "!**/test-fixtures/**"'),typecheck:"tsc --noEmit --Pretty"};return e.containingSubPackageJsons?(t=l(b({},t),{format:"sort-package-json && yarn prettify && yarn workspaces foreach --parallel --verbose run format",lint:"yarn workspaces foreach --parallel --verbose run lint","lint-fix":"yarn workspaces foreach --parallel --verbose run lint-fix",prettify:'prettier --cache --color --write "**/{.*/,}*.{'.concat(te.prettier.join(","),'}" "!**/packages/**" "!**/test-fixtures/**"'),test:"yarn workspaces foreach --verbose run test",typecheck:"yarn workspaces foreach --parallel --verbose run typecheck"}),e.containingTypeScript||e.containingTypeScriptInPackages||delete t.typecheck):(e.depending.blitz&&(t.typecheck+=" || yarn run typecheck/warn",t["typecheck/warn"]="echo 'Please try \"yarn gen-code\" if you face unknown type errors.' && exit 1",t["typecheck:gen-code"]="yarn gen-code && tsc --noEmit --Pretty"),e.containingTypeScript||e.containingTypeScriptInPackages||delete t.typecheck,e.depending.pyright&&(t.typecheck=t.typecheck?"".concat(t.typecheck," && "):"",t.typecheck+="pyright")),t}function Qe(e){return et.apply(this,arguments)}function et(){return et=j(x().mark((function e(n){var r,a,o,s,c;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n,".prettierignore"),e.next=3,i.promises.readFile(r,"utf8");case 3:if(a=e.sent,!((o=a.indexOf(de.separatorPrefix))<0)){e.next=7;break}return e.abrupt("return","");case 7:return s=a.slice(0,o),c=s.split("\n").map((function(e){var t=e.trim();return t.endsWith("/")?t.slice(0,-1):t})).filter((function(e){return e&&!e.startsWith("#")&&!e.includes("/")})),e.abrupt("return",c.map((function(e){return' "!**/'.concat(e,'/**"')})).join(""));case 10:case"end":return e.stop()}}),e)}))),et.apply(this,arguments)}var tt="npm test",nt={preCommit:"node node_modules/.bin/lint-staged",prePush:"yarn typecheck",prePushForLab:'\nif [ $(git branch --show-current) = "main" ] && [ $(git config user.email) != "exkazuu@gmail.com" ]; then\n echo "************************************************"\n echo "*** Don\'t push main branch directly. Use PR! ***"\n echo "************************************************"\n exit 1\nfi\n\nyarn typecheck\n'.trim(),postMerge:'\nchanged_files="$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)"\n\nrun_if_changed() {\n if echo "$changed_files" | grep --quiet -E "$1"; then\n eval "$2"\n fi\n}\n'.trim()};function rt(e){return at.apply(this,arguments)}function at(){return(at=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateHuskyrc",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,it(t);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function it(e){return ot.apply(this,arguments)}function ot(){return ot=j(x().mark((function e(n){var r,a,o,s,c,u,l,p,f,d,m,h,v;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.resolve(n.dirPath,"package.json"),e.next=3,i.promises.readFile(a,"utf8");case 3:return o=e.sent,(s=JSON.parse(o)).scripts||(s.scripts={}),delete s.scripts.postinstall,delete s.scripts.postpublish,delete s.scripts.prepare,delete s.scripts.prepublishOnly,delete s.scripts.prepack,delete s.scripts.postpack,c=t.resolve(n.dirPath,".husky"),e.next=15,Promise.all([i.promises.writeFile(a,JSON.stringify(s,void 0,2)),i.promises.rm(c,{force:!0,recursive:!0})]);case 15:return G("yarn",["dlx","husky-init","--yarn2"],n.dirPath),u=t.resolve(c,"pre-commit"),e.next=19,i.promises.readFile(u,"utf8");case 19:return l=e.sent,e.next=22,A.run((function(){return i.promises.rm(t.resolve(n.dirPath,".huskyrc.json"),{force:!0})}));case 22:return e.next=24,A.run((function(){return i.promises.writeFile(u,l.replace(tt,nt.preCommit))}));case 24:if(p=Ze(n),!(f=p.typecheck)){e.next=30;break}return m=(m=null!==(d=n.repository)&&void 0!==d&&d.startsWith("github:WillBoosterLab/")?nt.prePushForLab:nt.prePush).replace("yarn typecheck",f.replace("tsc","node node_modules/.bin/tsc").replace("pyright","node node_modules/.bin/pyright")),e.next=30,A.run((function(){return i.promises.writeFile(t.resolve(c,"pre-push"),l.replace(tt,m),{mode:493})}));case 30:return h=[],n.versionsText&&h.push('run_if_changed "\\..+-version" "asdf plugin update --all"'),null!==(r=n.versionsText)&&void 0!==r&&r.includes("python ")&&h.push('run_if_changed "\\..+-version" "asdf install python"'),n.versionsText&&h.push('run_if_changed "\\..+-version" "asdf install"'),h.push('run_if_changed "package\\.json" "yarn"'),n.containingPoetryLock&&h.push('run_if_changed "poetry\\.lock" "poetry install"'),n.depending.blitz?h.push('run_if_changed "db/schema.prisma" "node node_modules/.bin/blitz prisma migrate deploy"','run_if_changed "db/schema.prisma" "node node_modules/.bin/blitz blitz codegen"'):n.depending.prisma&&h.push('run_if_changed "prisma/schema.prisma" "node node_modules/.bin/prisma migrate deploy"','run_if_changed "prisma/schema.prisma" "node node_modules/.bin/prisma generate"'),v=l.replace(tt,"".concat(nt.postMerge,"\n\n").concat(h.join("\n"))),e.next=40,A.run((function(){return i.promises.writeFile(t.resolve(c,"post-merge"),v,{mode:493})}));case 40:case"end":return e.stop()}}),e)}))),ot.apply(this,arguments)}var st='<?xml version="1.0" encoding="UTF-8"?>\n<project version="4">\n <component name="ProjectTasksOptions">\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="ts" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.ts)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="tsx" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.tsx)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="js" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.js)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="json" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.json)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="md" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.md)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled="true">\n <option name="arguments" value="node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$" />\n <option name="checkSyntaxErrors" value="false" />\n <option name="description" />\n <option name="exitCodeBehavior" value="ERROR" />\n <option name="fileExtension" value="html" />\n <option name="immediateSync" value="false" />\n <option name="name" value="Prettier (.html)" />\n <option name="output" value="$FilePathRelativeToProjectRoot$" />\n <option name="outputFilters">\n <array />\n </option>\n <option name="outputFromStdout" value="false" />\n <option name="program" value="yarn" />\n <option name="runOnExternalChanges" value="false" />\n <option name="scopeName" value="Project Files" />\n <option name="trackOnlyRoot" value="false" />\n <option name="workingDir" value="$ProjectFileDir$" />\n <envs />\n </TaskOptions>\n </component>\n</project>\n';function ct(e){return ut.apply(this,arguments)}function ut(){return ut=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateIdeaSettings",j(x().mark((function e(){var r,a;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(r=t.resolve(n.dirPath,".idea"),!i.existsSync(r)){e.next=5;break}return a=t.resolve(r,"watcherTasks.xml"),e.next=5,n.containingJavaScript||n.containingJavaScriptInPackages||n.containingTypeScript||n.containingTypeScriptInPackages||n.containingPackageJson&&!n.containingPubspecYaml&&!n.containingGemfile&&!n.containingGoMod&&!n.containingPomXml?A.run((function(){return re(a,st)})):A.run((function(){return i.promises.rm(a,{force:!0})}));case 5:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),ut.apply(this,arguments)}function lt(e){return pt.apply(this,arguments)}function pt(){return(pt=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateLintstagedrc",j(x().mark((function e(){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.next=2,ft(t);case 2:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function ft(e){return dt.apply(this,arguments)}function dt(){return dt=j(x().mark((function e(n){var r,a,o,s,c,u;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=n.root?"node node_modules/.bin/":"node ../../node_modules/.bin/",a=[],(n.containingJavaScript||n.containingTypeScript)&&(o="\n '".concat(mt(n),"': [").concat(JSON.stringify("".concat(r,"eslint --fix").concat(Le(n))),", '").concat(r,"prettier --cache --write'],"),a.push(o)),s=n.root?" && !file.includes('/packages/')":"",a.push("\n './**/*.{".concat(te.prettier.join(","),"}': files => {\n ").concat(n.containingJavaScript||n.containingTypeScript?ht(n):"","\n const filteredFiles = files.filter(file => !file.includes('/test-fixtures/')").concat(s,");\n if (filteredFiles.length === 0) return [];\n const commands = [`").concat(r,"prettier --cache --write ${filteredFiles.join(' ')}`];\n if (filteredFiles.some(file => file.endsWith('package.json'))) {\n commands.push('").concat(r,"sort-package-json');\n }\n return commands;\n },")),n.containingPubspecYaml&&a.push("\n './{lib,test,test_driver}/**/*.dart': files => {\n const filteredFiles = files.filter(file => !file.includes('generated'))\n .filter(file => !file.endsWith('.freezed.dart') && !file.endsWith('.g.dart'));\n if (filteredFiles.length === 0) return [];\n return [`flutter format ${filteredFiles.join(' ')}`];\n },"),n.containingPoetryLock&&a.push("\n './**/*.py': [\n 'poetry run isort --profile black --filter-files',\n 'poetry run black',\n 'poetry run flake8'\n ],"),c="".concat(n.containingJavaScript||n.containingTypeScript?"const micromatch = require('micromatch');":"","\n\nmodule.exports = {").concat(a.join(""),"\n};\n"),u=t.resolve(n.dirPath,".lintstagedrc.cjs"),e.next=11,A.run((function(){return i.promises.rm(t.resolve(n.dirPath,".lintstagedrc.js"),{force:!0})}));case 11:return e.next=13,A.run((function(){return i.promises.rm(t.resolve(n.dirPath,".lintstagedrc.json"),{force:!0})}));case 13:return e.next=15,A.run((function(){return re(u,c)}));case 15:case"end":return e.stop()}}),e)}))),dt.apply(this,arguments)}function mt(e){var t=Je(e);return"./{".concat(t.join(","),"}/**/*.{").concat(te.eslint.join(","),"}")}function ht(e){return"files = micromatch.not(files, '".concat(mt(e),"');")}var vt="\n3rd-party/\nandroid/\nios/\nno-format/\ntest-fixtures/\n*.d.ts\n*.min.js\n.yarn/\n.pnp.js\n";function yt(e){return gt.apply(this,arguments)}function gt(){return gt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generatePrettierignore",j(x().mark((function e(){var r,a,i,o,s,c,u,l,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.resolve(n.dirPath,".prettierignore"),e.next=3,ne(a);case 3:if(e.t1=r=e.sent,e.t0=null!==e.t1,!e.t0){e.next=7;break}e.t0=void 0!==r;case 7:if(!e.t0){e.next=11;break}e.t2=r,e.next=12;break;case 11:e.t2="";case 12:return i=e.t2,o=de.getHeadUserContent(i)+vt,s=de.getTailUserContent(i),c=t.resolve(n.dirPath,".gitignore"),e.next=18,de.readGitignoreWithoutSeparators(c);case 18:if(e.t3=e.sent,e.t3){e.next=21;break}e.t3="";case 21:return u=e.t3,l="",n.containingPubspecYaml&&(l="\nandroid/app/\nios/Runner/Assets.xcassets/\npubspec.yaml\n"),p=o+vt+l+u+s,e.next=27,A.run((function(){return re(a,p)}));case 27:case"end":return e.stop()}}),e)})))));case 1:case"end":return e.stop()}}),e)}))),gt.apply(this,arguments)}var bt={venvPath:".",venv:".venv"};function xt(e){return kt.apply(this,arguments)}function kt(){return kt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generatePyrightConfigJson",j(x().mark((function e(){var r,a,o,s,c;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=d(bt),a=t.resolve(n.dirPath,"pyrightconfig.json"),e.prev=2,e.next=5,i.promises.readFile(a,"utf8");case 5:o=e.sent,s=JSON.parse(o),r=l.all([r,s,r],{arrayMerge:ge}),e.next=12;break;case 10:e.prev=10,e.t0=e.catch(2);case 12:return c=JSON.stringify(r),e.next=15,A.run((function(){return re(a,c)}));case 15:case"end":return e.stop()}}),e,null,[[2,10]])})))));case 1:case"end":return e.stop()}}),e)}))),kt.apply(this,arguments)}function wt(e){return jt.apply(this,arguments)}function jt(){return jt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateReadme",j(x().mark((function e(){var r,a,o,s,c,u,l,p,f,d,m;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=t.resolve(n.dirPath,"README.md"),e.next=3,i.promises.readFile(o,"utf8");case 3:s=e.sent,s=_t(n,s,Pt,".releaserc.json"),c=null===(r=n.repository)||void 0===r?void 0:r.slice((null===(a=n.repository)||void 0===a?void 0:a.indexOf(":"))+1),u=i.readdirSync("".concat(n.dirPath,"/.github/workflows")),l=D(u),e.prev=8,l.s();case 10:if((p=l.n()).done){e.next=21;break}if((f=p.value).startsWith("test")||f.startsWith("deploy")){e.next=14;break}return e.abrupt("continue",19);case 14:d=(d=(d=f).charAt(0).toUpperCase()+d.slice(1,d.indexOf("."))).replace("-"," "),m="[.concat(c,"/actions/workflows/").concat(f,"/badge.svg)](https://github.com/").concat(c,"/actions/workflows/").concat(f,")"),s=_t(n,s,m,".github/workflows/".concat(f));case 19:e.next=10;break;case 21:e.next=26;break;case 23:e.prev=23,e.t0=e.catch(8),l.e(e.t0);case 26:return e.prev=26,l.f(),e.finish(26);case 29:return e.next=31,A.run((function(){return re(o,s)}));case 31:case"end":return e.stop()}}),e,null,[[8,23,26,29]])})))));case 1:case"end":return e.stop()}}),e)}))),jt.apply(this,arguments)}var Pt="[](https://github.com/semantic-release/semantic-release)";function _t(e,n,r,a){if(!i.existsSync(t.resolve(e.dirPath,a)))return n;var o=n.indexOf(r);o>=0&&(n=n.slice(0,o)+n.slice(o+r.length));for(var s=!1,c=0;c<n.length;c++)if("\n"===n[c]){s=!0,n="".concat(n.slice(0,c+1)).concat(r,"\n").concat(n.slice(c+1));break}return s||(n="".concat(n,"\n").concat(r,"\n")),n}function St(e){return Ot.apply(this,arguments)}function Ot(){return Ot=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateReleaserc",j(x().mark((function e(){var r,a,o,s,c,u,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=t.resolve(n.dirPath,".releaserc.json"),e.prev=1,e.t0=JSON,e.next=5,i.promises.readFile(r,"utf8");case 5:for(e.t1=e.sent,a=e.t0.parse.call(e.t0,e.t1),o=(null==a?void 0:a.plugins)||[],s=0;s<o.length;s++)c=Array.isArray(o[s])?o[s][0]:o[s],u=Array.isArray(o[s])&&o[s][1]||{},"@semantic-release/commit-analyzer"===c?o[s]=["@semantic-release/commit-analyzer",l.all([u,{preset:"conventionalcommits"}],{arrayMerge:ge})]:"@semantic-release/github"===c&&(o[s]=["@semantic-release/github",l.all([u,{successComment:!1,labels:["r: semantic-release"],releasedLabels:["released :bookmark:"]}],{arrayMerge:ge})]);return p=JSON.stringify(a),e.next=12,A.run((function(){return re(r,p)}));case 12:e.next=16;break;case 14:e.prev=14,e.t2=e.catch(1);case 16:case"end":return e.stop()}}),e,null,[[1,14]])})))));case 1:case"end":return e.stop()}}),e)}))),Ot.apply(this,arguments)}var Ft={extends:["@willbooster"]};function Et(e){return Tt.apply(this,arguments)}function Tt(){return Tt=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateRenovateJson",j(x().mark((function e(){var r,a,o,s,c;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=d(Ft),a=t.resolve(n.dirPath,".renovaterc.json"),e.prev=2,e.next=5,i.promises.readFile(a,"utf8");case 5:o=e.sent,s=JSON.parse(o),r=l.all([r,s,r],{arrayMerge:ge}),e.next=12;break;case 10:e.prev=10,e.t0=e.catch(2);case 12:return e.next=14,A.run((function(){return i.promises.rm(t.resolve(n.dirPath,".dependabot"),{force:!0})}));case 14:return e.next=16,A.run((function(){return i.promises.rm(t.resolve(n.dirPath,"renovate.json"),{force:!0})}));case 16:return c=JSON.stringify(r),e.next=19,A.run((function(){return re(a,c)}));case 19:case"end":return e.stop()}}),e,null,[[2,10]])})))));case 1:case"end":return e.stop()}}),e)}))),Tt.apply(this,arguments)}function Rt(e){var t,n=D(Object.entries(e).sort((function(e,t){var n=F(e,1)[0],r=F(t,1)[0];return n.localeCompare(r)})));try{for(n.s();!(t=n.n()).done;){var r=F(t.value,2),a=r[0],i=r[1];delete e[a],e[a]=i}}catch(e){n.e(e)}finally{n.f()}return e}var Dt={compilerOptions:{target:"ESNext",module:"ESNext",moduleResolution:"Node",jsx:"react-jsx",alwaysStrict:!0,strict:!0,skipLibCheck:!0,allowSyntheticDefaultImports:!0,esModuleInterop:!0,resolveJsonModule:!0,declaration:!0,sourceMap:!0,importHelpers:!1,outDir:"dist",typeRoots:["./node_modules/@types","./@types"]},include:["src/**/*","tests/**/*","scripts/**/*","packages/*/src/**/*","packages/*/tests/**/*","packages/*/scripts/**/*"]},Bt={compilerOptions:{target:"ESNext",module:"ESNext",moduleResolution:"Node",jsx:"react-jsx",alwaysStrict:!0,strict:!0,skipLibCheck:!0,allowSyntheticDefaultImports:!0,esModuleInterop:!0,resolveJsonModule:!0,declaration:!0,sourceMap:!0,importHelpers:!1,outDir:"dist",typeRoots:["../../node_modules/@types","../../@types","./@types"]},include:["src/**/*","tests/**/*","scripts/**/*"]};function Nt(e,t){return Lt.apply(this,arguments)}function Lt(){return Lt=j(x().mark((function e(n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateTsconfig",j(x().mark((function e(){var a,o,s,c,u,p,f,m,h,v,y,g,k,w,j;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!r.depending.blitz){e.next=2;break}return e.abrupt("return");case 2:return s=d(n.root?Dt:Bt),n.containingJsxOrTsx||n.containingJsxOrTsxInPackages||null===(c=s.compilerOptions)||void 0===c||delete c.jsx,n.root&&!n.containingSubPackageJsons&&(s.include=null===(u=s.include)||void 0===u?void 0:u.filter((function(e){return!e.startsWith("packages/*/")}))),n.esmPackage&&(s.compilerOptions=b(b({},s.compilerOptions),{},{moduleResolution:"NodeNext"})),p=t.resolve(n.dirPath,"tsconfig.json"),e.prev=7,e.next=10,i.promises.readFile(p,"utf8");case 10:g=e.sent,"./node_modules/@willbooster/tsconfig/tsconfig.json"===(k=JSON.parse(g)).extends&&delete k.extends,null===(f=s.compilerOptions)||void 0===f||delete f.target,null===(m=s.compilerOptions)||void 0===m||delete m.module,null===(h=s.compilerOptions)||void 0===h||delete h.moduleResolution,null!==(v=k.compilerOptions)&&void 0!==v&&v.jsx&&(null===(w=s.compilerOptions)||void 0===w||delete w.jsx),(s=l.all([s,k,s],{arrayMerge:be})).include=null===(y=s.include)||void 0===y?void 0:y.filter((function(e){return!e.includes("@types")&&!e.includes("__tests__")})),e.next=23;break;case 21:e.prev=21,e.t0=e.catch(7);case 23:return Rt(null!==(a=s.compilerOptions)&&void 0!==a?a:{}),null===(o=s.include)||void 0===o||o.sort(),j=JSON.stringify(s),e.next=28,A.run((function(){return re(p,j)}));case 28:case"end":return e.stop()}}),e,null,[[7,21]])})))));case 1:case"end":return e.stop()}}),e)}))),Lt.apply(this,arguments)}var At={test:{name:"Test",on:{pull_request:null,push:{branches:["main","wbfy","renovate/**"]}},jobs:{test:{uses:"WillBooster/reusable-workflows/.github/workflows/test.yml@main"}}},release:{name:"Release",on:{push:{branches:[]}},jobs:{release:{uses:"WillBooster/reusable-workflows/.github/workflows/release.yml@main"}}},wbfy:{name:"Willboosterify",on:{workflow_dispatch:null},jobs:{wbfy:{uses:"WillBooster/reusable-workflows/.github/workflows/wbfy.yml@main"}}},"wbfy-merge":{name:"Merge wbfy",on:{workflow_dispatch:null},jobs:{"wbfy-merge":{uses:"WillBooster/reusable-workflows/.github/workflows/wbfy-merge.yml@main"}}},"semantic-pr":{name:"Lint PR title",on:{pull_request_target:{types:["opened","edited","synchronize"]}},jobs:{"semantic-pr":{uses:"WillBooster/reusable-workflows/.github/workflows/semantic-pr.yml@main"}}},"notify-ready":{name:"Notify ready",on:{issues:{types:["labeled"]}},jobs:{"notify-ready":{uses:"WillBooster/reusable-workflows/.github/workflows/notify-ready.yml@main",secrets:{DISCORD_WEBHOOK_URL:"${{ secrets.DISCORD_WEBHOOK_URL_FOR_READY }}"}}}},"close-comment":{name:"Add close comment",on:{pull_request:{types:["opened"]}},jobs:{"close-comment":{uses:"WillBooster/reusable-workflows/.github/workflows/close-comment.yml@main"}}},"add-issue-to-project":{name:"Add issue to github project",on:{issues:{types:["labeled"]}},jobs:{"add-issue-to-project":{uses:"WillBooster/reusable-workflows/.github/workflows/add-issue-to-project.yml@main",secrets:{GH_PROJECT_URL:"${{ secrets.GH_PROJECT_URL }}"}}}}};function It(e){return $t.apply(this,arguments)}function $t(){return($t=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateWorkflow",j(x().mark((function e(){var r,a,o,s,c,u,l,p;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return a=t.resolve(n.dirPath,".github","workflows"),e.next=3,i.promises.mkdir(a,{recursive:!0});case 3:return o=t.resolve(n.dirPath,".github","semantic.yml"),e.next=6,A.run((function(){return i.promises.rm(o,{force:!0,recursive:!0})}));case 6:return e.next=8,i.promises.readdir(a,{withFileTypes:!0});case 8:s=e.sent,c=s.filter((function(e){return e.isFile()&&e.name.endsWith(".yml")})).map((function(e){return e.name})),n.depending.semanticRelease&&c.push("release.yml"),(n.publicRepo||null!==(r=n.repository)&&void 0!==r&&r.startsWith("github:WillBoosterLab/"))&&c.push("notify-ready.yml"),c.push("test.yml","wbfy.yml","wbfy-merge.yml","semantic-pr.yml","close-comment.yml","add-issue-to-project.yml"),u=D(c),e.prev=14,p=x().mark((function e(){var r,i;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=l.value,i=t.basename(r,".yml"),e.next=4,A.run((function(){return Wt(n,a,i)}));case 4:case"end":return e.stop()}}),e)})),u.s();case 17:if((l=u.n()).done){e.next=21;break}return e.delegateYield(p(),"t0",19);case 19:e.next=17;break;case 21:e.next=26;break;case 23:e.prev=23,e.t1=e.catch(14),u.e(e.t1);case 26:return e.prev=26,u.f(),e.finish(26);case 29:case"end":return e.stop()}}),e,null,[[14,23,26,29]])})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Wt(e,t,n){return Ct.apply(this,arguments)}function Ct(){return(Ct=j(x().mark((function e(n,r,a){var o,s,c,u,p,f,h,v,y,g,b;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return o=d(At[a]||{}),s=t.join(r,"".concat(a,".yml")),e.prev=2,e.next=5,i.promises.readFile(s,"utf8");case 5:c=e.sent,u=m.load(c),"wbfy"!==a&&"wbfy-merge"!==a||(console.log("writeWorkflowYaml:",a),console.dir(u,{depth:null})),o=l.all([o,u,o],{arrayMerge:be}),"wbfy"!==a&&"wbfy-merge"!==a||console.dir(o,{depth:null}),e.next=14;break;case 12:e.prev=12,e.t0=e.catch(2);case 14:p=0,f=Object.values(o.jobs);case 15:if(!(p<f.length)){e.next=23;break}if(g=f[p],null!==(h=g.uses)&&void 0!==h&&null!==(v=(y=h).includes)&&void 0!==v&&v.call(y,"/reusable-workflows/")){e.next=19;break}return e.abrupt("return");case 19:Jt(n,g,a);case 20:p++,e.next=15;break;case 23:e.t1=a,e.next="release"===e.t1?26:"wbfy"===e.t1?38:"wbfy-merge"===e.t1?40:42;break;case 26:if(!o.on.schedule){e.next=30;break}delete o.on.push,e.next=37;break;case 30:if(!(n.release.branches.length>0)){e.next=34;break}o.on.push.branches=n.release.branches,e.next=37;break;case 34:return e.next=36,i.promises.rm(t.join(r,"release.yml"),{force:!0});case 36:return e.abrupt("return");case 37:return e.abrupt("break",42);case 38:return zt(o,20,24),e.abrupt("break",42);case 40:return zt(o,1,4),e.abrupt("break",42);case 42:return Ht(o),e.next=45,Gt(o,s);case 45:if("release"!==a){e.next=50;break}return e.next=48,i.promises.rm(t.join(r,"semantic-release.yml"),{force:!0});case 48:e.next=65;break;case 50:if("sync"!==a){e.next=65;break}return e.next=53,i.promises.rm(t.join(r,"sync-init.yml"),{force:!0});case 53:if(o.jobs.sync){e.next=55;break}return e.abrupt("return");case 55:if(o.jobs["sync-force"]=o.jobs.sync,b=o.jobs.sync.with.sync_params_without_dest){e.next=59;break}return e.abrupt("return");case 59:return o.jobs.sync.with.sync_params_without_dest="--force ".concat(b),o.name="Force to Sync",o.on={workflow_dispatch:null},delete o.jobs.sync,e.next=65,Gt(o,t.join(r,"sync-force.yml"));case 65:case"end":return e.stop()}}),e,null,[[2,12]])})))).apply(this,arguments)}function Jt(e,t,n){var r,a;if(t.with||(t.with={}),t.secrets||(t.secrets={}),"test"!==n&&"release"!==n&&"wbfy"!==n&&"wbfy-merge"!==n&&"add-issue-to-project"!==n||(t.secrets.GH_TOKEN=e.publicRepo?"${{ secrets.PUBLIC_GH_BOT_PAT }}":"${{ secrets.GH_BOT_PAT }}"),!e.release.npm||"release"!==n&&"test"!==n||(t.secrets.NPM_TOKEN="${{ secrets.NPM_TOKEN }}"),t.secrets.FIREBASE_TOKEN&&(t.secrets.GCP_SA_KEY_JSON_FOR_FIREBASE="${{ secrets.GCP_SA_KEY_JSON_FOR_FIREBASE }}",delete t.secrets.FIREBASE_TOKEN),(t.secrets.DISCORD_WEBHOOK_URL&&("release"===n||n.startsWith("deploy"))||t.with.server_url&&n.startsWith("deploy"))&&(t.secrets.DISCORD_WEBHOOK_URL="${{ secrets.DISCORD_WEBHOOK_URL_FOR_RELEASE }}"),"sync"===n){var i,o=null===(i=t.with)||void 0===i?void 0:i.sync_params_without_dest;o&&(t.with.sync_params_without_dest=o.replace("sync ",""))}if(null!==(r=e.repository)&&void 0!==r&&r.startsWith("github:WillBooster/")?t.uses=t.uses.replace("WillBoosterLab/","WillBooster/"):null!==(a=e.repository)&&void 0!==a&&a.startsWith("github:WillBoosterLab/")&&(t.uses=t.uses.replace("WillBooster/","WillBoosterLab/")),function(e){delete e.with.non_self_hosted,delete e.with.notify_discord,delete e.with.require_fly,delete e.with.require_gcloud}(t),".env"===t.with.dot_env_path&&delete t.with.dot_env_path,e.containingDockerfile&&n.startsWith("deploy")&&(t.with.cpu_arch="X64"),"release"===n||"test"===n||"wbfy"===n||"wbfy-merge"===n||n.startsWith("deploy")?e.publicRepo&&(t.with.github_hosted_runner=!0):delete t.with.github_hosted_runner,Object.keys(t.with).length>0?Rt(t.with):delete t.with,Object.keys(t.secrets).length>0){var s=Rt(t.secrets);delete t.secrets,t.secrets=s}else delete t.secrets}function zt(e,t,n){var r,a,i,o=F((null!==(r=null===(a=e.on.schedule)||void 0===a||null===(i=a[0])||void 0===i?void 0:i.cron)&&void 0!==r?r:"").split(" ").map(Number),2),s=o[0],c=o[1];if(0!==s&&Number.isInteger(c)){var u=(c+9)%24,l=t<n?t<=u&&u<n:t<=u||u<n;if(l)return;console.log("setSchedule:",e,s,c,l,u,t,n)}else console.log("setSchedule:",e,s,c);var p=1+Math.floor(59*Math.random()),f=t+Math.floor(Math.random()*(n-t)),d="".concat(p," ").concat((f-9+24)%24," * * *");e.on.schedule=[{cron:d}]}function Gt(e,t){return Mt.apply(this,arguments)}function Mt(){return(Mt=j(x().mark((function e(t,n){var r;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r=m.dump(t,{lineWidth:-1,noCompatMode:!0,styles:{"!!null":"empty"}}),e.next=3,i.promises.writeFile(n,r);case 3:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Ht(e){delete e.jobs["add-to-project"]}function Yt(e){return Ut.apply(this,arguments)}function Ut(){return Ut=j(x().mark((function e(n){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("generateYarnrcYml",j(x().mark((function e(){var r,a,o,s,c,u,l,p,f,d,h,v,y,g,b,k,w,j;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return u=M("yarn",["--version"],n.dirPath),l=qt("@yarnpkg/cli",n.dirPath),Vt(u)<=Vt(l)&&u!==l&&G("yarn",["set","version",l],n.dirPath,1),p=t.join(n.dirPath,".yarn","releases"),e.next=6,i.promises.mkdir(p,{recursive:!0});case 6:return e.t0=D,e.next=9,i.promises.readdir(p);case 9:e.t1=e.sent,f=(0,e.t0)(e.t1),e.prev=11,h=x().mark((function e(){var n;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!(n=d.value).startsWith("yarn-")||n.startsWith("yarn-".concat(l,"."))){e.next=5;break}return e.next=4,A.run((function(){return i.promises.rm(t.join(p,n))}));case 4:console.log("Removed",t.join(p,n));case 5:case"end":return e.stop()}}),e)})),f.s();case 14:if((d=f.n()).done){e.next=18;break}return e.delegateYield(h(),"t2",16);case 16:e.next=14;break;case 18:e.next=23;break;case 20:e.prev=20,e.t3=e.catch(11),f.e(e.t3);case 23:return e.prev=23,f.f(),e.finish(23);case 26:return v=t.resolve(n.dirPath,".yarnrc"),e.next=29,A.run((function(){return i.promises.rm(v,{force:!0})}));case 29:return y=t.resolve(n.dirPath,".yarnrc.yml"),e.t4=m,e.next=33,i.promises.readFile(y,"utf8");case 33:if(e.t5=e.sent,(g=e.t4.load.call(e.t4,e.t5)).defaultSemverRangePrefix="",g.nodeLinker="node-modules",g.nmMode="hardlinks-global",g.enableGlobalCache=!0,b=null!==(r=null===(a=g.plugins)||void 0===a?void 0:a.length)&&void 0!==r?r:0,g.plugins=null!==(o=null===(s=g.plugins)||void 0===s?void 0:s.filter((function(e){return".yarn/plugins/undefined.cjs"!==e.path})))&&void 0!==o?o:[],g.plugins.length===b){e.next=45;break}return k=t.resolve(n.dirPath,".yarnrc","undefined.cjs"),e.next=45,A.run((function(){return i.promises.rm(k,{force:!0})}));case 45:return 0===g.plugins.length&&delete g.plugins,e.next=48,i.promises.writeFile(y,m.dump(g,{lineWidth:-1}));case 48:w=(null!==(c=g.plugins)&&void 0!==c?c:[]).map((function(e){return e.spec})),j=n.containingTypeScript||n.containingTypeScriptInPackages,Kt(n,w,j,"@yarnpkg/plugin-typescript"),Kt(n,w,n.containingSubPackageJsons,"@yarnpkg/plugin-workspace-tools"),G("yarn",["dlx","yarn-plugin-auto-install"],n.dirPath);case 53:case"end":return e.stop()}}),e,null,[[11,20,23,26]])})))));case 1:case"end":return e.stop()}}),e)}))),Ut.apply(this,arguments)}function qt(e,t){var n=M("npm",["show",e,"versions","--json"],t),r=JSON.parse(n);return r[r.length-1]}function Kt(e,t,n,r){n!==t.includes(r)&&G("yarn",["plugin",n?"import":"remove",r],e.dirPath)}function Vt(e){var t=F(e.split("."),1)[0];return Number(t)}function Xt(e){return Zt.apply(this,arguments)}function Zt(){return(Zt=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("setupLabels",j(x().mark((function e(){var n,r,a,i,o,s;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Ie){e.next=2;break}return e.abrupt("return");case 2:if(r=We.getOrgAndName(null!==(n=t.repository)&&void 0!==n?n:""),a=F(r,2),i=a[0],o=a[1],i&&o){e.next=5;break}return e.abrupt("return");case 5:if("WillBooster"===i||"WillBoosterLab"===i){e.next=7;break}return e.abrupt("return");case 7:return e.prev=7,e.next=10,Qt(i,o,"d1: x-easy :hedgehog:","EDE9FE");case 10:return e.next=12,Qt(i,o,"d2: easy :rabbit2:","DDD6FE");case 12:return e.next=14,Qt(i,o,"d3: medium :ox:","C4B5FD");case 14:return e.next=16,Qt(i,o,"d4: hard :squid:","A78BFA");case 16:return e.next=18,Qt(i,o,"d5: x-hard :whale2:","8B5CF6");case 18:return e.next=20,Qt(i,o,"p1: critical :fire::fire::fire:","EF4444");case 20:return e.next=22,Qt(i,o,"p2: urgent :fire::fire:","F87171");case 22:return e.next=24,Qt(i,o,"p3: important :fire:","FCA5A5");case 24:return e.next=26,Qt(i,o,"p4: nice to have :droplet:","FECACA");case 26:return e.next=28,Qt(i,o,"r: blitz","5300bc");case 28:return e.next=30,Qt(i,o,"r: firebase","ffca28");case 30:return e.next=32,Qt(i,o,"r: prisma","0c344b");case 32:return e.next=34,Qt(i,o,"r: react","61dafb");case 34:return e.next=36,Qt(i,o,"r: svelte","ff3e00");case 36:return e.next=38,Qt(i,o,"r: semantic-release","494949");case 38:return e.next=40,Qt(i,o,"ready :rocket:","22C55E");case 40:return e.next=42,Qt(i,o,"review requested :mag:","FBCA04");case 42:return e.next=44,Qt(i,o,"released :bookmark:","6366F1");case 44:return e.next=46,Qt(i,o,"s: 0.5h :clock1230:","F3F4F6");case 46:return e.next=48,Qt(i,o,"s: 1h :clock1:","E5E7EB");case 48:return e.next=50,Qt(i,o,"s: 2h :clock2:","D1D5DB");case 50:return e.next=52,Qt(i,o,"s: 3h :clock3:","9CA3AF");case 52:return e.next=54,Qt(i,o,"s: 5h :clock5:","6B7280");case 54:return e.next=56,Qt(i,o,"s: 8h :clock8:","4B5563");case 56:return e.next=58,Qt(i,o,"s: 13h :clock1:","374151");case 58:return e.next=60,Qt(i,o,"t: build :hammer:","BFDBFE");case 60:return e.next=62,Qt(i,o,"t: chore :broom:","BFDBFE");case 62:return e.next=64,Qt(i,o,"t: ci :construction_worker:","BFDBFE");case 64:return e.next=66,Qt(i,o,"t: docs :memo:","BFDBFE");case 66:return e.next=68,Qt(i,o,"t: feat :sparkles:","BFDBFE");case 68:return e.next=70,Qt(i,o,"t: fix :bug:","BFDBFE");case 70:return e.next=72,Qt(i,o,"t: perf :zap:","BFDBFE");case 72:return e.next=74,Qt(i,o,"t: refactor :recycle:","BFDBFE");case 74:return e.next=76,Qt(i,o,"t: style :lipstick:","BFDBFE");case 76:return e.next=78,Qt(i,o,"t: test :test_tube:","BFDBFE");case 78:return e.next=80,Qt(i,o,"project","24292F");case 80:return e.next=82,tn(i,o,"bug");case 82:return e.next=84,tn(i,o,"documentation");case 84:return e.next=86,tn(i,o,"duplicate");case 86:return e.next=88,tn(i,o,"enhancement");case 88:return e.next=90,tn(i,o,"good first issue");case 90:return e.next=92,tn(i,o,"help wanted");case 92:return e.next=94,tn(i,o,"invalid");case 94:return e.next=96,tn(i,o,"question");case 96:return e.next=98,tn(i,o,"wontfix");case 98:return e.next=100,tn(i,o,"ready");case 100:return e.next=102,tn(i,o,"review requested");case 102:return e.next=104,tn(i,o,"released");case 104:return e.next=106,tn(i,o,"semantic-release");case 106:e.next=111;break;case 108:e.prev=108,e.t0=e.catch(7),console.warn("Skip setupLabels due to:",null!==(s=null===e.t0||void 0===e.t0?void 0:e.t0.stack)&&void 0!==s?s:e.t0);case 111:case"end":return e.stop()}}),e,null,[[7,108]])})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function Qt(e,t,n,r){return en.apply(this,arguments)}function en(){return(en=j(x().mark((function e(t,n,r,a){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,$e.request("POST /repos/{owner}/{repo}/labels",{owner:t,repo:n,name:r,color:a});case 3:e.next=9;break;case 5:return e.prev=5,e.t0=e.catch(0),e.next=9,$e.request("PATCH /repos/{owner}/{repo}/labels/{name}",{owner:t,repo:n,name:r,color:a});case 9:case"end":return e.stop()}}),e,null,[[0,5]])})))).apply(this,arguments)}function tn(e,t,n){return nn.apply(this,arguments)}function nn(){return(nn=j(x().mark((function e(t,n,r){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,e.next=3,$e.request("DELETE /repos/{owner}/{repo}/labels/{name}",{owner:t,repo:n,name:r});case 3:e.next=7;break;case 5:e.prev=5,e.t0=e.catch(0);case 7:case"end":return e.stop()}}),e,null,[[0,5]])})))).apply(this,arguments)}var rn=["READY_DISCORD_WEBHOOK_URL"];function an(e){return on.apply(this,arguments)}function on(){return(on=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.abrupt("return",L.function("setupSecrets",j(x().mark((function e(){var n,r,a,i,o,s,c,u,l,p,f,d,m,y,g,b,k,w,j,P,_,S,O;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(Ie){e.next=2;break}return e.abrupt("return");case 2:if(r=We.getOrgAndName(null!==(n=t.repository)&&void 0!==n?n:""),a=F(r,2),i=a[0],o=a[1],i&&o&&"WillBoosterLab"===i){e.next=5;break}return e.abrupt("return");case 5:if(s=h.config().parsed||{},0!==Object.keys(s).length){e.next=8;break}return e.abrupt("return");case 8:e.prev=8,c=D(rn),e.prev=10,c.s();case 12:if((u=c.n()).done){e.next=23;break}return l=u.value,e.prev=14,e.next=17,$e.request("DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}",{owner:i,repo:o,secret_name:l});case 17:e.next=21;break;case 19:e.prev=19,e.t0=e.catch(14);case 21:e.next=12;break;case 23:e.next=28;break;case 25:e.prev=25,e.t1=e.catch(10),c.e(e.t1);case 28:return e.prev=28,c.f(),e.finish(28);case 31:return e.next=33,$e.request("GET /repos/{owner}/{repo}/actions/secrets/public-key",{owner:i,repo:o});case 33:return p=e.sent,f=p.data,d=f.key,m=f.key_id,e.next=37,v.ready;case 37:y=0,g=Object.entries(s);case 38:if(!(y<g.length)){e.next=53;break}if(b=F(g[y],2),k=b[0],w=b[1],!t.publicRepo||"GH_BOT_PAT"!==k){e.next=42;break}return e.abrupt("continue",50);case 42:if(t.publicRepo||"PUBLIC_GH_BOT_PAT"!==k){e.next=44;break}return e.abrupt("continue",50);case 44:return j=v.from_base64(d,v.base64_variants.ORIGINAL),P=v.from_string(w),_=v.crypto_box_seal(P,j),S=v.to_base64(_,v.base64_variants.ORIGINAL),e.next=50,$e.request("PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}",{owner:i,repo:o,secret_name:k,encrypted_value:S,key_id:m});case 50:y++,e.next=38;break;case 53:e.next=58;break;case 55:e.prev=55,e.t2=e.catch(8),console.warn("Skip setupSecrets due to:",null!==(O=null===e.t2||void 0===e.t2?void 0:e.t2.stack)&&void 0!==O?O:e.t2);case 58:case"end":return e.stop()}}),e,null,[[8,55],[10,25,28,31],[14,19]])})))));case 1:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function sn(e){return cn.apply(this,arguments)}function cn(){return(cn=j(x().mark((function e(t){return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:case"end":return e.stop()}}),e)})))).apply(this,arguments)}function un(e){return ln.apply(this,arguments)}function ln(){return ln=j(x().mark((function n(r){var a,o,s,c,u,l,p,f,d,m,h,v,y,g,b,k,w,j,P,_,S,O,E,T,R,D,B,N;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return a=t.resolve(r,"package.json"),n.prev=1,u=i.existsSync(a),l={},p={},f={},d=!1,u&&(v=i.readFileSync(a,"utf8"),f=JSON.parse(v),l=null!==(m=f.dependencies)&&void 0!==m?m:{},p=null!==(h=f.devDependencies)&&void 0!==h?h:{},d="module"===f.type),y=[],g=[],n.prev=10,k=t.resolve(r,".releaserc.json"),n.t0=JSON,n.next=15,e.readFile(k,"utf8");case 15:n.t1=n.sent,w=n.t0.parse.call(n.t0,n.t1),y=(null==w?void 0:w.branches)||[],g=(null==w||null===(b=w.plugins)||void 0===b?void 0:b.flat())||[],n.next=23;break;case 21:n.prev=21,n.t2=n.catch(10);case 23:if(!(j="packages"!==t.basename(t.resolve(r,".."))||!i.existsSync(t.resolve(r,"..","..","package.json")))){n.next=28;break}return n.next=27,dn(r,f);case 27:P=n.sent;case 28:return _="",n.prev=29,n.next=32,e.readFile(t.resolve(r,".tool-versions"),"utf8");case 32:S=n.sent,_+=S.trim(),n.next=38;break;case 36:n.prev=36,n.t3=n.catch(29);case 38:O=0,E=[["node","nodejs"],["python","python"]];case 39:if(!(O<E.length)){n.next=54;break}return T=F(E[O],2),R=T[0],D=T[1],n.prev=41,n.next=44,e.readFile(t.resolve(r,".".concat(R,"-version")),"utf8");case 44:B=n.sent,_&&(_+="\n"),_+=D+" "+B.trim(),n.next=51;break;case 49:n.prev=49,n.t4=n.catch(41);case 51:O++,n.next=39;break;case 54:if((N={dirPath:r,root:j,publicRepo:!1===(null===(o=P)||void 0===o?void 0:o.private),referredByOtherRepo:!!f.files,repository:null!==(s=P)&&void 0!==s&&s.full_name?"github:".concat(null===(c=P)||void 0===c?void 0:c.full_name):void 0,esmPackage:d,willBoosterConfigs:a.includes("".concat(t.sep,"willbooster-configs")),containingSubPackageJsons:pn("packages/**/package.json",r),containingDockerfile:i.existsSync(t.resolve(r,"Dockerfile"))||i.existsSync(t.resolve(r,"docker-compose.yml")),containingGemfile:i.existsSync(t.resolve(r,"Gemfile")),containingGoMod:i.existsSync(t.resolve(r,"go.mod")),containingPackageJson:i.existsSync(t.resolve(r,"package.json")),containingPoetryLock:i.existsSync(t.resolve(r,"poetry.lock")),containingPomXml:i.existsSync(t.resolve(r,"pom.xml")),containingPubspecYaml:i.existsSync(t.resolve(r,"pubspec.yaml")),containingTemplateYaml:i.existsSync(t.resolve(r,"template.yaml")),containingJavaScript:pn("@(app|src|tests|scripts)/**/*.{cjs,mjs,js,jsx}",r),containingTypeScript:pn("@(app|src|tests|scripts)/**/*.{cts,mts,ts,tsx}",r),containingJsxOrTsx:pn("@(app|src|tests)/**/*.{t,j}sx",r),containingJavaScriptInPackages:pn("packages/**/@(app|src|tests|scripts)/**/*.{cjs,mjs,js,jsx}",r),containingTypeScriptInPackages:pn("packages/**/@(app|src|tests|scripts)/**/*.{cts,mts,ts,tsx}",r),containingJsxOrTsxInPackages:pn("packages/**/@(app|src|tests)/**/*.{t,j}sx",r),depending:{blitz:(l.blitz||p.blitz||"").replace("^","")[0],firebase:!!p["firebase-tools"],playwright:!!p.playwright,prisma:!!l.prisma,pyright:!!p.pyright,reactNative:!!l["react-native"],semanticRelease:!!(p["semantic-release"]||y.length>0||g.length>0),storybook:!!p["@storybook/react"]},release:{branches:y,github:g.includes("@semantic-release/github"),npm:g.includes("@semantic-release/npm")},versionsText:_,packageJson:f}).eslintBase=fn(N),!(N.containingGemfile||N.containingGoMod||N.containingPackageJson||N.containingPoetryLock||N.containingPomXml||N.containingPubspecYaml||N.containingTemplateYaml)){n.next=58;break}return n.abrupt("return",N);case 58:n.next=62;break;case 60:n.prev=60,n.t5=n.catch(1);case 62:case"end":return n.stop()}}),n,null,[[1,60],[10,21],[29,36],[41,49]])}))),ln.apply(this,arguments)}function pn(e,t){return s(e,{dot:!0,cwd:t}).length>0}function fn(e){return e.containingTypeScript?e.containingJsxOrTsx?"@willbooster/eslint-config-ts-react":"@willbooster/eslint-config-ts":e.containingJsxOrTsx?"@willbooster/eslint-config-js-react":e.containingJavaScript?"@willbooster/eslint-config-js":void 0}function dn(e,t){return mn.apply(this,arguments)}function mn(){return mn=j(x().mark((function e(t,n){var r,a,i,o,s,c,u,l,p,f,d;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return s=y(t),e.next=3,s.getRemotes(!0);case 3:if(c=e.sent,u=c.find((function(e){return"origin"===e.name})),"string"!=typeof(l=null!==(r=null==u||null===(a=u.refs)||void 0===a?void 0:a.fetch)&&void 0!==r?r:null==u||null===(i=u.refs)||void 0===i?void 0:i.push)){e.next=12;break}return e.next=9,hn(l);case 9:if(!(p=e.sent)){e.next=12;break}return e.abrupt("return",p);case 12:if(!(f="string"==typeof n.repository?n.repository:null===(o=n.repository)||void 0===o?void 0:o.url)){e.next=19;break}return e.next=16,hn(f);case 16:if(!(d=e.sent)||"Not Found"===d.message){e.next=19;break}return e.abrupt("return",d);case 19:case"end":return e.stop()}}),e)}))),mn.apply(this,arguments)}function hn(e){return vn.apply(this,arguments)}function vn(){return(vn=j(x().mark((function e(t){var n,r,a,i,o,s;return x().wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=We.getOrgAndName(t),r=F(n,2),a=r[0],i=r[1],a&&i){e.next=3;break}return e.abrupt("return");case 3:return o={full_name:"".concat(a,"/").concat(i)},e.prev=4,e.next=7,$e.request("GET /repos/{owner}/{repo}",{owner:a,repo:i});case 7:s=e.sent,Object.assign(o,s.data),e.next=13;break;case 11:e.prev=11,e.t0=e.catch(4);case 13:return e.abrupt("return",o);case 14:case"end":return e.stop()}}),e,null,[[4,11]])})))).apply(this,arguments)}function yn(){return yn=j(x().mark((function n(){var i,o,s,c;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return n.next=2,a(process.argv.slice(2)).command("$0 [paths..]","Make a given project follow the WillBooster standard",(function(e){e.positional("paths",{describe:"project paths to be wbfied",array:!0,type:"string",default:["."]})})).options({skipDeps:{description:"Skip dependency installation",type:"boolean",default:!1,alias:"d"},verbose:{description:"Whether or not to enable verbose mode",type:"boolean",default:!1,alias:"v"}}).strict().argv;case 2:i=n.sent,N.isVerbose=i.verbose,o=x().mark((function n(){var a,o,u,l,p,f,d,m,h,v,y,g,b,k,w,j;return x().wrap((function(n){for(;;)switch(n.prev=n.next){case 0:return o=c[s],u=t.join(o,"packages"),n.next=4,r((function(){return e.readdir(u,{withFileTypes:!0})}));case 4:if(n.t1=a=n.sent,n.t0=null!==n.t1,!n.t0){n.next=8;break}n.t0=void 0!==a;case 8:if(!n.t0){n.next=12;break}n.t2=a,n.next=13;break;case 12:n.t2=[];case 13:return l=n.t2,p=l.filter((function(e){return e.isDirectory()})).map((function(e){return t.join(u,e.name)})),n.next=17,W([o].concat(E(p)));case 17:return n.next=19,I(o);case 19:return n.next=21,un(o);case 21:if(f=n.sent){n.next=25;break}return console.error("there is no valid package.json in ".concat(o)),n.abrupt("return","continue");case 25:return n.next=27,Promise.all(p.map((function(e){return un(e)})));case 27:if(d=n.sent,m=d.filter((function(e){return!!e})),h=[f].concat(E(m)),N.isVerbose){v=D(h);try{for(v.s();!(y=v.n()).done;)g=y.value,console.info(g)}catch(e){v.e(e)}finally{v.f()}}return n.next=33,Y(f);case 33:return n.next=35,Yt(f);case 35:return n.next=37,Promise.all([ie(f),Pe(f),rt(f),ct(f),lt(f),wt(f),Et(f),St(f),It(f),Xt(f),an(f),sn(f)]);case 37:return n.next=39,A.promiseAll();case 39:b=[],k=D(h),n.prev=41,k.s();case 43:if((w=k.n()).done){n.next=62;break}return((j=w.value).containingTypeScript||j.containingTypeScriptInPackages)&&b.push(J(j,j.root?h:[j])),n.next=48,Fe(j,f);case 48:return n.next=50,A.promiseAll();case 50:if(j.root||j.containingPackageJson){n.next=52;break}return n.abrupt("continue",60);case 52:return n.next=54,yt(j);case 54:return n.next=56,Ye(j,f,i.skipDeps);case 56:b.push(lt(j)),(j.containingTypeScript||j.containingTypeScriptInPackages)&&b.push(Nt(j,f)),(j.containingJavaScript||j.containingJavaScriptInPackages||j.containingTypeScript||j.containingTypeScriptInPackages)&&(f.willBoosterConfigs||b.push(xe(j,f)),b.push(ve(j))),j.depending.pyright&&b.push(xt(j));case 60:n.next=43;break;case 62:n.next=67;break;case 64:n.prev=64,n.t3=n.catch(41),k.e(n.t3);case 67:return n.prev=67,k.f(),n.finish(67);case 70:return n.next=72,Promise.all(b);case 72:return n.next=74,A.promiseAll();case 74:G("yarn",["cleanup"],o),G("yarn",["install"],o);case 76:case"end":return n.stop()}}),n,null,[[41,64,67,70]])})),s=0,c=i.paths;case 6:if(!(s<c.length)){n.next=14;break}return n.delegateYield(o(),"t0",8);case 8:if("continue"!==n.t0){n.next=11;break}return n.abrupt("continue",11);case 11:s++,n.next=6;break;case 14:case"end":return n.stop()}}),n)}))),yn.apply(this,arguments)}await function(){return yn.apply(this,arguments)}();
|
2
2
|
//# sourceMappingURL=index.mjs.map
|
package/dist/index.mjs.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
1
|
+
{"version":3,"file":"index.mjs","sources":["../src/options.ts","../src/logger.ts","../src/utils/promisePool.ts","../src/fixers/abbreviations.ts","../src/fixers/testDirectory.ts","../src/fixers/typeDefinition.ts","../src/utils/spawnUtil.ts","../src/generators/asdf.ts","../src/utils/extensions.ts","../src/utils/fsUtil.ts","../src/generators/editorconfig.ts","../src/utils/ignoreFileUtil.ts","../src/generators/eslintignore.ts","../src/utils/mergeUtil.ts","../src/generators/eslintrc.ts","../src/generators/gitattributes.ts","../src/generators/gitignore.ts","../src/utils/eslintUtil.ts","../src/utils/githubUtil.ts","../src/utils/srcDirectories.ts","../src/generators/packageJson.ts","../src/generators/huskyrc.ts","../src/generators/idea.ts","../src/generators/lintstagedrc.ts","../src/generators/prettierignore.ts","../src/generators/pyrightconfig.ts","../src/generators/readme.ts","../src/generators/releaserc.ts","../src/generators/renovaterc.ts","../src/utils/objectUtil.ts","../src/generators/tsconfig.ts","../src/generators/workflow.ts","../src/generators/yarnrc.ts","../src/github/label.ts","../src/github/secret.ts","../src/github/settings.ts","../src/packageConfig.ts","../src/index.ts"],"sourcesContent":["class Options {\n isVerbose: boolean;\n\n constructor() {\n this.isVerbose = false;\n }\n}\n\nexport const options = new Options();\n","import { options } from './options.js';\n\nclass Logger {\n async function(name: string, func: () => Promise<void>): Promise<void> {\n if (options.isVerbose) {\n console.info(`--------- ${name} start ---------`);\n }\n await func();\n if (options.isVerbose) {\n console.info(`---------- ${name} end ----------`);\n }\n }\n}\n\nexport const logger = new Logger();\n","import { PromisePool } from 'minimal-promise-pool';\n\nexport const promisePool = new PromisePool();\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { globby } from 'globby';\n\nimport { logger } from '../logger.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nexport async function fixAbbreviations(dirPath: string): Promise<void> {\n return logger.function('fixAbbreviations', async () => {\n const mdFiles = await globby('**/*.md', { dot: true, cwd: dirPath });\n for (const mdFile of mdFiles) {\n const filePath = path.join(dirPath, mdFile);\n await promisePool.run(async () => {\n const content = await fs.promises.readFile(filePath, 'utf8');\n const newContent = content.replaceAll('c.f.', 'cf.').replaceAll('eg.', 'e.g.').replaceAll('ie.', 'i.e.');\n await fs.promises.writeFile(filePath, newContent);\n });\n }\n\n const tsFiles = await globby('**/*.(ts|tsx)', { dot: true, cwd: dirPath });\n for (const tsFile of tsFiles) {\n const filePath = path.join(dirPath, tsFile);\n const content = await fs.promises.readFile(filePath, 'utf8');\n const newContent = content\n .replaceAll(/\\/\\/(.*)c\\.f\\./g, '//$1cf.')\n .replaceAll(/\\/\\/(.*)eg\\./g, '//$1e.g.')\n .replaceAll(/\\/\\/(.*)ie\\./g, '//$1i.e.');\n await fs.promises.writeFile(filePath, newContent);\n }\n\n await promisePool.promiseAll();\n });\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\n\nexport async function fixTestDirectories(packageDirPaths: string[]): Promise<void> {\n return logger.function('fixTestDirectories', async () => {\n await Promise.all(\n packageDirPaths.map(async (packageDirPath) => {\n const oldTestDirPath = path.join(packageDirPath, '__tests__');\n const newTestDirPath = path.join(packageDirPath, 'tests');\n try {\n await fs.promises.rename(oldTestDirPath, newTestDirPath);\n const packageJsonText = await fs.promises.readFile(path.join(packageDirPath, 'package.json'), 'utf8');\n const newPackageJsonText = packageJsonText.replace(/__tests__/g, 'tests');\n await fs.promises.writeFile(path.join(packageDirPath, 'package.json'), newPackageJsonText);\n } catch {\n // do nothing\n }\n })\n );\n });\n}\n","import fs from 'node:fs/promises';\nimport path from 'node:path';\n\nimport { ignoreEnoentAsync } from '@willbooster/shared-lib';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nexport async function fixTypeDefinitions(\n config: PackageConfig,\n configsIncludingChildren: PackageConfig[]\n): Promise<void> {\n return logger.function('fixTypeDefinitions', async () => {\n const libTypeDirPath = path.resolve(config.dirPath, '@types');\n const srcTypeDirPath =\n config.root && config.containingSubPackageJsons ? undefined : path.resolve(config.dirPath, 'src', 'types');\n\n const dirents = await ignoreEnoentAsync(() => fs.readdir(libTypeDirPath, { withFileTypes: true }));\n if (!dirents) return;\n\n for (const dirent of dirents) {\n const dirName = dirent.name.slice(0, -5);\n const hasTypeDeclarationExtension = dirent.name.endsWith('.d.ts');\n let packageName = hasTypeDeclarationExtension ? dirName : dirent.name;\n if (packageName.includes('__')) {\n packageName = `@${packageName.replace('__', '/')}`;\n }\n const hasLibrary = configsIncludingChildren.some(\n (config) =>\n config.packageJson?.dependencies?.[packageName] || config.packageJson?.devDependencies?.[packageName]\n );\n\n if (dirent.isFile() && hasTypeDeclarationExtension) {\n if (hasLibrary) {\n // Move @types/<name>/index.d.ts if installed\n await fs.mkdir(path.join(libTypeDirPath, dirName));\n await promisePool.run(() =>\n fs.rename(path.join(libTypeDirPath, dirent.name), path.join(libTypeDirPath, dirName, 'index.d.ts'))\n );\n } else if (srcTypeDirPath) {\n // Move src/types/<name> if not installed\n await fs.mkdir(srcTypeDirPath, { recursive: true });\n await promisePool.run(() =>\n fs.rename(path.join(libTypeDirPath, dirent.name), path.join(srcTypeDirPath, dirent.name))\n );\n }\n } else if (dirent.isDirectory() && srcTypeDirPath && !hasLibrary) {\n // Move src/types/<name>.d.ts if not installed\n await fs.mkdir(srcTypeDirPath, { recursive: true });\n await promisePool.run(() =>\n ignoreEnoentAsync(() =>\n fs.rename(\n path.join(libTypeDirPath, dirent.name, 'index.d.ts'),\n path.join(srcTypeDirPath, `${dirent.name}.d.ts`)\n )\n )\n );\n }\n }\n });\n}\n","import child_process, { SpawnSyncOptions } from 'node:child_process';\n\nexport function spawnSync(command: string, args: string[], cwd: string, retry = 0): void {\n do {\n const [newCmd, newArgs, options] = getSpawnSyncArgs(command, args, cwd);\n console.log(`$ ${newCmd} ${newArgs.join(' ')} at ${options.cwd}`);\n const ret = child_process.spawnSync(newCmd, newArgs, options);\n if (ret.status === 0) break;\n } while (--retry >= 0);\n}\n\nexport function spawnSyncWithStringResult(command: string, args: string[], cwd: string): string {\n const [newCmd, newArgs, options] = getSpawnSyncArgs(command, args, cwd);\n options.stdio = 'pipe';\n const proc = child_process.spawnSync(newCmd, newArgs, options);\n const error = proc.stderr.toString().trim();\n if (error) {\n console.error(`${newCmd} [${newArgs.map((s) => `\"${s}\"`)}] caused the following error:\\n ${error}`);\n }\n return proc.stdout.toString().trim();\n}\n\nexport function getSpawnSyncArgs(command: string, args: string[], cwd: string): [string, string[], SpawnSyncOptions] {\n const env = { ...process.env };\n // Remove berry from PATH\n if (env.PATH && env.BERRY_BIN_FOLDER) {\n env.PATH = env.PATH.replace(`${env.BERRY_BIN_FOLDER}:`, '');\n }\n\n if (env.ASDF_DIR) {\n args = ['-l', '-c', `. ${env.ASDF_DIR}/asdf.sh && ${command} ${args.join(' ')}`];\n command = 'bash';\n }\n return [\n command,\n args,\n {\n cwd,\n env,\n shell: false,\n stdio: 'inherit',\n },\n ];\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { promisePool } from '../utils/promisePool.js';\nimport { spawnSync, spawnSyncWithStringResult } from '../utils/spawnUtil.js';\n\nexport async function generateVersionConfigs(config: PackageConfig): Promise<void> {\n return logger.function('generateVersionConfigs', async () => {\n await core(config);\n });\n}\n\nconst POETRY_VERSION = '1.3.1';\nconst PYTHON_VERSION = '3.9.16';\nconst JAVA_VERSION = 'adoptopenjdk-11.0.17+8';\n\nasync function core(config: PackageConfig): Promise<void> {\n if (!config.versionsText) return;\n\n const lines: string[] = [];\n for (const versionText of config.versionsText.trim().split('\\n')) {\n const line = versionText.trim();\n const [name, version] = line.split(/\\s+/);\n if (!name || !version) continue;\n if (name === 'nodejs') {\n await promisePool.run(() => fs.promises.writeFile(path.resolve(config.dirPath, '.node-version'), version + '\\n'));\n } else if (name === 'python') {\n await promisePool.run(() =>\n fs.promises.writeFile(path.resolve(config.dirPath, '.python-version'), version + '\\n')\n );\n } else {\n lines.push(line);\n }\n }\n\n if (config.containingPoetryLock) {\n updateVersion(lines, 'poetry', POETRY_VERSION);\n // Don't update python in .python-version automatically\n if (!fs.existsSync(path.resolve(config.dirPath, '.python-version'))) {\n updateVersion(lines, 'python', PYTHON_VERSION, true);\n }\n }\n if (config.depending.firebase) {\n updateVersion(lines, 'java', JAVA_VERSION, true);\n }\n if (config.containingPackageJson) {\n const version = spawnSyncWithStringResult('npm', ['show', 'yarn', 'version'], config.dirPath);\n updateVersion(lines, 'yarn', version);\n }\n\n const toolVersionsPath = path.resolve(config.dirPath, '.tool-versions');\n await (lines.length > 0\n ? promisePool.run(() => fs.promises.writeFile(toolVersionsPath, lines.join('\\n') + '\\n'))\n : promisePool.run(() => fs.promises.rm(toolVersionsPath, { force: true })));\n await promisePool.promiseAll();\n spawnSync('asdf', ['plugin', 'update', '--all'], config.dirPath);\n spawnSync('asdf', ['install'], config.dirPath);\n}\n\nfunction updateVersion(lines: string[], toolName: string, newVersion: string, head = false): void {\n const index = lines.findIndex((l) => l.split(/\\s+/)[0] === toolName);\n const newLine = `${toolName} ${newVersion}`;\n if (index >= 0) {\n const [, version] = lines[index].split(/\\s+/);\n if (convertVersionIntoNumber(newVersion) > convertVersionIntoNumber(version)) {\n lines[index] = newLine;\n }\n } else {\n lines.splice(head ? 0 : lines.length, 0, newLine);\n }\n}\n\nfunction convertVersionIntoNumber(version: string): number {\n // e.g. java adoptopenjdk-11.0.17+8\n const numbers = version.split(/[+.-]/).map(Number).filter(Number.isNaN);\n let versionNumber = 0;\n let divisor = 1;\n for (const num of numbers) {\n versionNumber += num * divisor;\n divisor /= 1000;\n }\n return versionNumber;\n}\n","export const extensions = {\n codeWith2IndentSize: [\n 'cjs',\n 'mjs',\n 'js',\n 'jsx',\n 'cts',\n 'mts',\n 'ts',\n 'tsx',\n 'json',\n 'json5',\n 'cpp',\n 'dart',\n 'htm',\n 'html',\n 'pu',\n 'puml',\n 'rb',\n 'vue',\n 'yaml',\n 'yml',\n ].sort(),\n codeWith4IndentSize: ['go', 'gradle', 'py'].sort(),\n codeWith8IndentSize: ['sh'].sort(),\n markdownLike: ['md'].sort(),\n eslint: ['cjs', 'mjs', 'js', 'cts', 'mts', 'ts', 'tsx', 'jsx'].sort(),\n prettier: [\n 'cjs',\n 'mjs',\n 'js',\n 'jsx',\n 'cts',\n 'mts',\n 'ts',\n 'tsx',\n 'json',\n 'json5',\n 'css',\n 'htm',\n 'html',\n 'md',\n 'scss',\n 'vue',\n 'yaml',\n 'yml',\n ].sort(),\n};\n","import fsp from 'node:fs/promises';\n\nexport const fsUtil = {\n async readFileIgnoringError(filePath: string): Promise<string | undefined> {\n try {\n return await fsp.readFile(filePath, 'utf8');\n } catch {\n // do nothing\n }\n },\n async generateFile(filePath: string, content: string): Promise<void> {\n await fsp.writeFile(filePath, content);\n console.log(`Generated ${filePath}`);\n },\n};\n","import path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { extensions } from '../utils/extensions.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst newContent = `root = true\n\n[*]\ncharset = utf-8\nend_of_line = lf\ninsert_final_newline = true\ntrim_trailing_whitespace = true\n\n${generateExtensions(extensions.codeWith2IndentSize)}\nindent_size = 2\nindent_style = space\n\n${generateExtensions(extensions.codeWith4IndentSize)}\nindent_size = 4\nindent_style = space\n\n${generateExtensions(extensions.codeWith8IndentSize)}\nindent_size = 8\nindent_style = space\n\n${generateExtensions(extensions.markdownLike)}\nmax_line_length = off\ntrim_trailing_whitespace = false\n\n[{Makefile,*.mk}]\nindent_style = tab\n`;\n\nexport async function generateEditorconfig(config: PackageConfig): Promise<void> {\n return logger.function('generateEditorconfig', async () => {\n const filePath = path.resolve(config.dirPath, '.editorconfig');\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n\nfunction generateExtensions(extensions: string[]): string {\n return extensions.length > 1 ? `[*.{${extensions.join(',')}}]` : `[*.${extensions[0]}]`;\n}\n","import fs from 'node:fs';\n\nconst userContentHeader = '# Project-specific settings';\nconst userContentHeaderRegex = /# Project-specific settings[^\\n]*\\n/gm;\nconst separator = '# Generated by wbfy';\nconst separatorPrefix = '# Generated by ';\nconst defaultHeadUserContent = `${userContentHeader} (head)\n\n\n${separator}\n`;\nconst defaultTailUserContent = `\n${userContentHeader} (tail)\n`;\n\nexport const ignoreFileUtil = {\n separator,\n separatorPrefix,\n defaultHeadUserContent,\n defaultTailUserContent,\n async readGitignoreWithoutSeparators(filePath: string): Promise<string | undefined> {\n try {\n let content = await fs.promises.readFile(filePath, 'utf8');\n const lastHeaderIndex = getIndexOfTailUserContentHeader(content);\n if (lastHeaderIndex > 0) {\n content = content.slice(0, lastHeaderIndex - 1);\n }\n return (\n content\n .replace(userContentHeaderRegex, '')\n .replace(/# Generated by [^\\n]*\\n/gm, '')\n .replace(/\\r?\\n\\r?\\n(\\r?\\n)+/gm, '\\n\\n')\n .trim() + '\\n'\n );\n } catch {\n // do nothing\n }\n },\n getHeadUserContent(content: string): string {\n const index = content.indexOf(this.separatorPrefix);\n if (index >= 0) {\n return content\n .slice(0, content.indexOf('\\n', index) + 1)\n .replace(userContentHeaderRegex, `${userContentHeader} (head)\\n`);\n }\n return defaultHeadUserContent;\n },\n getTailUserContent(content: string): string | undefined {\n const lastHeaderIndex = getIndexOfTailUserContentHeader(content);\n if (lastHeaderIndex > 0) {\n return content.slice(lastHeaderIndex - 1);\n }\n return defaultTailUserContent;\n },\n async isBerryZeroInstallEnabled(filePath: string): Promise<boolean> {\n try {\n const content = await fs.promises.readFile(filePath, 'utf8');\n return content.includes('\\n!.yarn/cache');\n } catch {\n return false;\n }\n },\n};\n\nfunction getIndexOfTailUserContentHeader(content: string): number {\n const index = content.indexOf(userContentHeader);\n const lastIndex = content.lastIndexOf(userContentHeader);\n return lastIndex > index ? lastIndex : -1;\n}\n","import path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { ignoreFileUtil } from '../utils/ignoreFileUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst commonContent = `\n3rd-party/\n@types/\n__generated__/\nandroid/\nios/\nno-format/\ntest-fixtures/\n*.config.*js\n*.d.ts\n*.min.*js\n.yarn/\n.pnp.js\n`;\n\nexport async function generateEslintignore(config: PackageConfig): Promise<void> {\n return logger.function('generateEslintignore', async () => {\n const filePath = path.resolve(config.dirPath, '.eslintignore');\n const content = (await fsUtil.readFileIgnoringError(filePath)) ?? '';\n const headUserContent = ignoreFileUtil.getHeadUserContent(content) + commonContent;\n const tailUserContent = ignoreFileUtil.getTailUserContent(content);\n\n const gitignoreFilePath = path.resolve(config.dirPath, '.gitignore');\n const gitignoreContent = (await ignoreFileUtil.readGitignoreWithoutSeparators(gitignoreFilePath)) || '';\n\n const newContent = headUserContent + commonContent + gitignoreContent + tailUserContent;\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n","import merge from 'deepmerge';\n\nexport function overwriteMerge(destinationArray: any[], sourceArray: any[]): any[] {\n return sourceArray;\n}\n\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nexport function combineMerge(target: any[], source: any[], options: any): any[] {\n const destination = [...target];\n\n for (const [index, item] of source.entries()) {\n if (destination[index] === undefined) {\n destination[index] = options.cloneUnlessOtherwiseSpecified(item, options);\n } else if (options.isMergeableObject(item)) {\n destination[index] = merge(target[index], item, options);\n } else if (!target.includes(item)) {\n destination.push(item);\n }\n }\n return destination;\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport merge from 'deepmerge';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { combineMerge } from '../utils/mergeUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nexport async function generateEslintrc(config: PackageConfig, rootConfig: PackageConfig): Promise<void> {\n return logger.function('generateEslintrc', async () => {\n // TODO: support Blitz v2\n if (rootConfig.depending.blitz === '2') return;\n\n const bases = [];\n if (config.eslintBase) {\n bases.push(config.eslintBase);\n }\n if (config !== rootConfig) {\n bases.push('../../.eslintrc.json');\n }\n let newSettings: any = { root: true, extends: bases };\n\n const filePath = path.resolve(config.dirPath, '.eslintrc.json');\n try {\n const oldContent = await fs.promises.readFile(filePath, 'utf8');\n const oldSettings = JSON.parse(oldContent);\n if (oldSettings.extends) {\n oldSettings.extends = oldSettings.extends.filter(\n (ext: string) => !ext.startsWith('@willbooster/') && ext !== '../../.eslintrc.json'\n );\n }\n if (bases.length === 0) {\n oldSettings.extends = [];\n }\n const newExtends = newSettings.extends;\n newSettings.extends = oldSettings.extends;\n oldSettings.extends = newExtends;\n newSettings = merge.all([newSettings, oldSettings, newSettings], { arrayMerge: combineMerge });\n if (config.depending.blitz === '0') {\n addExtensionToHead(newSettings, 'blitz');\n } else if (config.depending.blitz === '2') {\n addExtensionToHead(newSettings, '@blitzjs/next/eslint');\n }\n } catch {\n // do nothing\n }\n const newContent = JSON.stringify(newSettings);\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n\nfunction addExtensionToHead(newSettings: any, extension: string): void {\n newSettings.extends = [extension, ...newSettings.extends.filter((e: string) => e !== extension)];\n}\n","import path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { extensions } from '../utils/extensions.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst newContent = `* text=auto\n\n*.vcproj text eol=crlf\n\n${[...extensions.codeWith2IndentSize, ...extensions.codeWith4IndentSize, ...extensions.markdownLike]\n .map((ext) => `*.${ext} text eol=lf`)\n .join('\\n')}\n`;\n\nexport async function generateGitattributes(config: PackageConfig): Promise<void> {\n return logger.function('generateGitattributes', async () => {\n const filePath = path.resolve(config.dirPath, '.gitattributes');\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n","import fs from 'node:fs';\nimport os from 'node:os';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { options } from '../options.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { ignoreFileUtil } from '../utils/ignoreFileUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst defaultNames = ['windows', 'macos', 'linux', 'jetbrains', 'visualstudiocode', 'emacs', 'vim', 'yarn'];\n\nconst commonContent = `\n.devcontainer/\ndist/\ntemp/\nIcon[\\r]\n!.keep\n`;\n\nexport async function generateGitignore(config: PackageConfig, rootConfig: PackageConfig): Promise<void> {\n return logger.function('generateGitignore', async () => {\n const filePath = path.resolve(config.dirPath, '.gitignore');\n const content = (await fsUtil.readFileIgnoringError(filePath)) ?? '';\n let headUserContent = ignoreFileUtil.getHeadUserContent(content) + commonContent;\n const tailUserContent = ignoreFileUtil.getTailUserContent(content);\n\n const names = [...defaultNames];\n if (config.containingGemfile) {\n names.push('ruby');\n }\n if (config.containingGoMod) {\n names.push('go');\n headUserContent += `${path.basename(config.dirPath)}\n`;\n }\n if (config.containingPackageJson) {\n names.push('node');\n }\n if (config.containingPomXml) {\n names.push('maven');\n headUserContent += `.idea/google-java-format.xml\n`;\n }\n if (config.containingPubspecYaml) {\n names.push('flutter', 'AndroidStudio', 'ruby');\n headUserContent += `.flutter-plugins-dependencies\nandroid/key.properties\nios/.bundle\n.idea/runConfigurations.xml\n`;\n }\n if (config.containingTemplateYaml) {\n headUserContent += `.aws-sam/\npackaged.yaml\n`;\n }\n // Because .venv should be ignored on root directory\n if (config.containingPoetryLock) {\n names.push('python');\n headUserContent += `.venv/\n`;\n }\n\n if (rootConfig.depending.blitz) {\n names.push('nextjs');\n headUserContent += `.blitz/\n.blitz**\n`;\n }\n if (rootConfig.depending.firebase || config.depending.firebase) {\n names.push('firebase');\n }\n if (rootConfig.depending.prisma) {\n headUserContent += `*.sqlite3\n*.sqlite3-journal\n`;\n }\n if (rootConfig.depending.playwright) {\n headUserContent += `test-results/\n`;\n }\n if (rootConfig.depending.reactNative || config.depending.reactNative) {\n names.push('reactnative');\n headUserContent += `google-services.json\nandroid/app/src/main/assets/\n`;\n }\n if (rootConfig.depending.storybook) {\n names.push('storybookjs');\n }\n\n let generated = '';\n for (const name of names) {\n let content = (await readCache(name)) ?? '';\n if (!content) {\n const url = `https://www.toptal.com/developers/gitignore/api/${name}`;\n const response = await fetch(url);\n const responseText = await response.text();\n if (responseText.includes('Attention Required!')) {\n console.error(`Failed to fetch ${url}`);\n return;\n }\n content = responseText.trim();\n await promisePool.run(() => writeCache(name, content));\n if (options.isVerbose) {\n console.info(`Fetched ${url}`);\n }\n }\n if (generated) generated += '\\n';\n generated += content + '\\n';\n }\n if (!(await ignoreFileUtil.isBerryZeroInstallEnabled(filePath))) {\n generated = generated.replace('!.yarn/cache', '# !.yarn/cache').replace('# .pnp.*', '.pnp.*');\n }\n if (config.containingPomXml || config.containingPubspecYaml) {\n generated = generated\n .replace(/^# .idea\\/artifacts$/gm, '.idea/artifacts')\n .replace(/^# .idea\\/compiler.xml$/gm, '.idea/compiler.xml')\n .replace(/^# .idea\\/jarRepositories.xml$/gm, '.idea/jarRepositories.xml')\n .replace(/^# .idea\\/modules.xml$/gm, '.idea/modules.xml')\n .replace(/^# .idea\\/*.iml$/gm, '.idea/*.iml')\n .replace(/^# .idea\\/modules$/gm, '.idea/modules')\n .replace(/^# *.iml$/gm, '*.iml')\n .replace(/^# *.ipr$/gm, '*.ipr');\n if (config.containingPubspecYaml) {\n generated = generated.replace(/^.idea\\/modules.xml$/gm, '# .idea/modules.xml');\n }\n }\n generated = generated.replace(/^.idea\\/?$/gm, '# .idea');\n if (rootConfig.depending.reactNative || config.depending.reactNative || config.containingPubspecYaml) {\n generated = generated.replace(/^(.idea\\/.+)$/gm, '$1\\nandroid/$1');\n }\n const newContent = headUserContent + generated + tailUserContent;\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n\nconst dirPath = path.join(os.homedir(), '.cache', 'wbfy', 'gitignore');\n\nasync function writeCache(name: string, content: string): Promise<void> {\n await fs.promises.mkdir(dirPath, { recursive: true });\n await fs.promises.writeFile(path.join(dirPath, name), content);\n}\n\nasync function readCache(name: string): Promise<string | undefined> {\n try {\n const stat = await fs.promises.stat(path.join(dirPath, name));\n if (Date.now() - stat.mtimeMs > 6 * 60 * 60 * 1000) {\n return;\n }\n return await fs.promises.readFile(path.join(dirPath, name), 'utf8');\n } catch {\n // do nothing\n }\n}\n","import { PackageConfig } from '../packageConfig.js';\n\nexport const EslintUtil = {\n getLintFixSuffix(config: PackageConfig): string {\n return config.containingJsxOrTsx ? ' --rule \"{ react-hooks/exhaustive-deps: 0 }\"' : '';\n },\n};\n","import { Octokit } from '@octokit/core';\n\nconst token =\n process.env.GH_BOT_PAT || process.env.PUBLIC_GH_BOT_PAT || process.env.GH_TOKEN || process.env.GITHUB_TOKEN;\nexport const hasGitHubToken = !!token;\nexport const octokit = new Octokit({\n auth: token,\n});\n\nclass GitHubUtil {\n getOrgAndName(urlOrFullName: string): [string, string] {\n const urlWithoutProtocol = urlOrFullName.split(':').at(-1);\n const names = urlWithoutProtocol?.split('/');\n const org = names?.at(-2) ?? '';\n const name = names?.at(-1)?.replace(/.git$/, '') ?? '';\n return [org, name];\n }\n}\n\nexport const gitHubUtil = new GitHubUtil();\n","import { PackageConfig } from '../packageConfig.js';\n\nconst srcDirectories = {\n node: ['src', 'tests', 'scripts'].sort(),\n blitz0: ['tests', 'scripts', 'app', 'db', 'integrations', 'mailers', 'test'].sort(),\n // We rename 'test' directory to 'tests'\n blitz2: ['src', 'tests', 'scripts', 'db', 'integrations', 'mailers'].sort(),\n};\n\nexport function getSrcDirs(config: PackageConfig): string[] {\n if (config.depending.blitz) {\n return config.depending.blitz === '0' ? srcDirectories.blitz0 : srcDirectories.blitz2;\n }\n return srcDirectories.node;\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport merge from 'deepmerge';\nimport { globby } from 'globby';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { EslintUtil } from '../utils/eslintUtil.js';\nimport { extensions } from '../utils/extensions.js';\nimport { gitHubUtil } from '../utils/githubUtil.js';\nimport { ignoreFileUtil } from '../utils/ignoreFileUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\nimport { spawnSync } from '../utils/spawnUtil.js';\nimport { getSrcDirs } from '../utils/srcDirectories.js';\n\nconst jsCommonDeps = [\n 'eslint',\n 'eslint-config-prettier',\n 'eslint-plugin-import',\n 'eslint-plugin-sort-class-members',\n 'eslint-plugin-sort-destructure-keys',\n 'eslint-plugin-unicorn',\n];\n\nconst tsCommonDeps = [\n ...jsCommonDeps,\n '@typescript-eslint/eslint-plugin',\n '@typescript-eslint/parser',\n 'eslint-import-resolver-typescript',\n];\n\nconst reactCommonDeps = ['eslint-plugin-react', 'eslint-plugin-react-hooks'];\n\nconst devDeps: { [prop: string]: string[] } = {\n '@willbooster/eslint-config-js': ['@willbooster/eslint-config-js', ...jsCommonDeps],\n '@willbooster/eslint-config-js-react': ['@willbooster/eslint-config-js-react', ...jsCommonDeps, ...reactCommonDeps],\n '@willbooster/eslint-config-ts': ['@willbooster/eslint-config-ts', ...tsCommonDeps],\n '@willbooster/eslint-config-ts-react': ['@willbooster/eslint-config-ts-react', ...tsCommonDeps, ...reactCommonDeps],\n '../../.eslintrc.json': [],\n};\n\nexport async function generatePackageJson(\n config: PackageConfig,\n rootConfig: PackageConfig,\n skipAddingDeps: boolean\n): Promise<void> {\n return logger.function('generatePackageJson', async () => {\n await core(config, rootConfig, skipAddingDeps);\n });\n}\n\nasync function core(config: PackageConfig, rootConfig: PackageConfig, skipAddingDeps: boolean): Promise<void> {\n const filePath = path.resolve(config.dirPath, 'package.json');\n const jsonText = await fs.promises.readFile(filePath, 'utf8');\n const jsonObj = JSON.parse(jsonText);\n jsonObj.scripts = jsonObj.scripts || {};\n jsonObj.dependencies = jsonObj.dependencies || {};\n jsonObj.devDependencies = jsonObj.devDependencies || {};\n jsonObj.peerDependencies = jsonObj.peerDependencies || {};\n\n await removeDeprecatedStuff(jsonObj);\n\n if (jsonObj.name !== '@willbooster/prettier-config') {\n jsonObj.prettier = '@willbooster/prettier-config';\n }\n\n for (const scriptKey of Object.keys(jsonObj.scripts)) {\n // Fresh repo still requires 'yarn install'\n if (!jsonObj.scripts[scriptKey].includes('git clone')) {\n jsonObj.scripts[scriptKey] = jsonObj.scripts[scriptKey]\n .replace(/yarn\\s*&&\\s*/, '')\n .replace(/yarn\\s*install\\s*&&\\s*/, '');\n }\n }\n\n jsonObj.scripts = merge(jsonObj.scripts, generateScripts(config));\n jsonObj.scripts.prettify += await generatePrettierSuffix(config.dirPath);\n\n let dependencies: string[] = [];\n let devDependencies = ['lint-staged', 'prettier', 'sort-package-json', '@willbooster/prettier-config'];\n const poetryDependencies: string[] = [];\n\n if (config.root) {\n // To install the latest pinst\n devDependencies.push('husky', '@willbooster/renovate-config');\n if (config.publicRepo || config.referredByOtherRepo) {\n // https://typicode.github.io/husky/#/?id=install-1\n devDependencies.push('pinst');\n jsonObj.scripts['prepack'] = 'pinst --disable';\n jsonObj.scripts['postpack'] = 'pinst --enable';\n }\n if (config.depending.semanticRelease) {\n devDependencies.push('conventional-changelog-conventionalcommits');\n if (\n !jsonObj.devDependencies['semantic-release'] &&\n !jsonObj.devDependencies['multi-semantic-release'] &&\n !jsonObj.devDependencies['@qiwi/multi-semantic-release']\n ) {\n devDependencies.push('semantic-release');\n }\n jsonObj.version = '0.0.0-semantically-released';\n }\n if (config.containingSubPackageJsons) {\n jsonObj.workspaces = ['packages/*'];\n } else {\n delete jsonObj.workspaces;\n }\n }\n\n if (\n config.containingJavaScript ||\n config.containingJavaScriptInPackages ||\n config.containingTypeScript ||\n config.containingTypeScriptInPackages\n ) {\n devDependencies.push('eslint', 'micromatch');\n // TODO: not needed anymore?\n if (config.containingTypeScriptInPackages) {\n devDependencies.push('@typescript-eslint/parser');\n }\n }\n\n if (config.containingTypeScript || config.containingTypeScriptInPackages) {\n devDependencies.push('typescript');\n }\n\n if (config.eslintBase) {\n devDependencies.push(...devDeps[config.eslintBase]);\n }\n\n if (config.willBoosterConfigs) {\n dependencies = dependencies.filter((dep) => !dep.includes('@willbooster/'));\n devDependencies = devDependencies.filter((dep) => !dep.includes('@willbooster/'));\n }\n\n if (!jsonObj.name) {\n jsonObj.name = path.basename(config.dirPath);\n }\n\n if (config.containingSubPackageJsons) {\n jsonObj.private = true;\n }\n if (!jsonObj.license) {\n jsonObj.license = 'UNLICENSED';\n }\n if (!jsonObj.private && jsonObj.license !== 'UNLICENSED' && rootConfig.publicRepo) {\n jsonObj.publishConfig ??= {};\n jsonObj.publishConfig.access ??= 'public';\n }\n const [owner] = gitHubUtil.getOrgAndName(config.repository ?? '');\n if (owner === 'WillBooster' || owner === 'WillBoosterLab') {\n jsonObj.author = 'WillBooster Inc.';\n }\n\n // https://github.com/semantic-release/semantic-release/issues/2323#issuecomment-1032341621\n if (config.depending.semanticRelease && config.release.npm) {\n if (config.esmPackage) {\n delete jsonObj.resolutions?.['npm/chalk'];\n } else {\n jsonObj.resolutions ||= {};\n jsonObj.resolutions['npm/chalk'] = '^4.1.2';\n }\n }\n\n if (!config.containingSubPackageJsons) {\n if (!config.containingJavaScript && !config.containingTypeScript) {\n delete jsonObj.scripts.lint;\n delete jsonObj.scripts['lint-fix'];\n jsonObj.scripts.cleanup = jsonObj.scripts.cleanup.replace(' && yarn lint-fix', '');\n } else {\n jsonObj.scripts['lint-fix'] += EslintUtil.getLintFixSuffix(config);\n }\n\n if (config.containingPubspecYaml) {\n jsonObj.scripts.lint = 'flutter analyze';\n jsonObj.scripts['lint-fix'] = 'yarn lint';\n const dirs = ['lib', 'test', 'test_driver'].filter((dir) => fs.existsSync(path.resolve(config.dirPath, dir)));\n if (dirs.length > 0) {\n jsonObj.scripts['format-code'] = `flutter format $(find ${dirs.join(\n ' '\n )} -name generated -prune -o -name '*.freezed.dart' -prune -o -name '*.g.dart' -prune -o -name '*.dart' -print)`;\n jsonObj.scripts.format += ` && yarn format-code`;\n }\n }\n\n if (config.containingPoetryLock) {\n if (jsonObj.scripts.postinstall === 'poetry install') {\n delete jsonObj.scripts.postinstall;\n }\n const pythonFiles = await globby('**/*.py', {\n cwd: config.dirPath,\n dot: true,\n gitignore: true,\n ignore: ['test-fixtures'],\n });\n const dirNameSet = new Set<string>();\n for (const pythonFile of pythonFiles) {\n const [first, second] = pythonFile.split(/[/\\\\]/);\n if (second) {\n dirNameSet.add(first);\n }\n }\n if (dirNameSet.size > 0) {\n const dirNamesStr = [...dirNameSet].join(' ');\n jsonObj.scripts[\n 'format-code'\n ] = `poetry run isort --profile black ${dirNamesStr} && poetry run black ${dirNamesStr}`;\n jsonObj.scripts.lint = `poetry run flake8 ${dirNamesStr}`;\n jsonObj.scripts['lint-fix'] = 'yarn lint';\n jsonObj.scripts.format += ` && yarn format-code`;\n poetryDependencies.push('black', 'isort', 'flake8');\n }\n }\n\n if (config.repository) {\n jsonObj.repository = config.repository;\n }\n }\n\n if (config.depending.blitz) {\n if (config.depending.blitz === '0') {\n // These cause an error of eslint-plugin-import loading\n devDependencies = devDependencies.filter((dep) => !dep.includes('@typescript-eslint/'));\n // This causes eslint errors\n devDependencies = devDependencies.filter(\n (d) =>\n d !== 'eslint-plugin-react' &&\n d !== 'eslint-import-resolver-typescript' &&\n d !== 'eslint-plugin-import' &&\n d !== 'eslint-plugin-react-hooks'\n );\n }\n if (!jsonObj.scripts['gen-code']?.startsWith('blitz codegen')) {\n jsonObj.scripts['gen-code'] = 'blitz codegen';\n }\n } else if (config.depending.prisma && !jsonObj.scripts['gen-code']?.startsWith('prisma generate')) {\n jsonObj.scripts['gen-code'] = 'prisma generate';\n }\n if (Object.keys(jsonObj.dependencies).length === 0) {\n delete jsonObj.dependencies;\n }\n if (Object.keys(jsonObj.devDependencies).length === 0) {\n delete jsonObj.devDependencies;\n }\n if (Object.keys(jsonObj.peerDependencies).length === 0) {\n delete jsonObj.peerDependencies;\n }\n\n await fs.promises.writeFile(filePath, JSON.stringify(jsonObj));\n\n if (!skipAddingDeps) {\n dependencies = dependencies.filter((dep) => !jsonObj.devDependencies?.[dep]);\n if (dependencies.length > 0) {\n spawnSync('yarn', ['add', ...new Set(dependencies)], config.dirPath);\n }\n devDependencies = devDependencies.filter((dep) => !jsonObj.dependencies?.[dep]);\n if (devDependencies.length > 0) {\n spawnSync('yarn', ['add', '-D', ...new Set(devDependencies)], config.dirPath);\n }\n if (poetryDependencies.length > 0) {\n spawnSync('poetry', ['add', ...new Set(poetryDependencies)], config.dirPath);\n }\n }\n}\n\n// TODO: remove the following migration code in future\nasync function removeDeprecatedStuff(jsonObj: any): Promise<void> {\n if (jsonObj.author === 'WillBooster LLC') {\n jsonObj.author = 'WillBooster Inc.';\n }\n delete jsonObj.scripts['sort-package-json'];\n delete jsonObj.scripts['sort-all-package-json'];\n delete jsonObj.scripts['typecheck:codegen'];\n delete jsonObj.dependencies['tslib'];\n delete jsonObj.devDependencies['@willbooster/eslint-config'];\n delete jsonObj.devDependencies['@willbooster/eslint-config-react'];\n delete jsonObj.devDependencies['@willbooster/tsconfig'];\n delete jsonObj.devDependencies['eslint-import-resolver-node'];\n delete jsonObj.devDependencies['eslint-plugin-prettier'];\n delete jsonObj.devDependencies['lerna'];\n // To install the latest pinst\n delete jsonObj.devDependencies['pinst'];\n delete jsonObj.scripts['flutter-format'];\n delete jsonObj.scripts['format-flutter'];\n delete jsonObj.scripts['python-format'];\n delete jsonObj.scripts['format-python'];\n delete jsonObj.scripts['prettier'];\n for (const deps of Object.values(devDeps)) {\n for (const dep of deps) {\n delete jsonObj.devDependencies[dep];\n }\n }\n await promisePool.run(() => fs.promises.rm('lerna.json', { force: true }));\n}\n\nexport function generateScripts(config: PackageConfig): Record<string, string> {\n let scripts: Record<string, string> = {\n cleanup: 'yarn format && yarn lint-fix',\n format: `sort-package-json && yarn prettify`,\n lint: `eslint --color \"./{${getSrcDirs(config)}}/**/*.{${extensions.eslint.join(',')}}\"`,\n 'lint-fix': 'yarn lint --fix',\n prettify: `prettier --cache --color --write \"**/{.*/,}*.{${extensions.prettier.join(',')}}\" \"!**/test-fixtures/**\"`,\n typecheck: 'tsc --noEmit --Pretty',\n };\n if (config.containingSubPackageJsons) {\n scripts = merge(\n { ...scripts },\n {\n format: `sort-package-json && yarn prettify && yarn workspaces foreach --parallel --verbose run format`,\n lint: `yarn workspaces foreach --parallel --verbose run lint`,\n 'lint-fix': 'yarn workspaces foreach --parallel --verbose run lint-fix',\n prettify: `prettier --cache --color --write \"**/{.*/,}*.{${extensions.prettier.join(\n ','\n )}}\" \"!**/packages/**\" \"!**/test-fixtures/**\"`,\n test: 'yarn workspaces foreach --verbose run test',\n typecheck: 'yarn workspaces foreach --parallel --verbose run typecheck',\n }\n );\n if (!config.containingTypeScript && !config.containingTypeScriptInPackages) {\n delete scripts.typecheck;\n }\n } else {\n if (config.depending.blitz) {\n scripts.typecheck += ' || yarn run typecheck/warn';\n scripts['typecheck/warn'] = `echo 'Please try \"yarn gen-code\" if you face unknown type errors.' && exit 1`;\n scripts['typecheck:gen-code'] = 'yarn gen-code && tsc --noEmit --Pretty';\n }\n if (!config.containingTypeScript && !config.containingTypeScriptInPackages) {\n delete scripts.typecheck;\n }\n if (config.depending.pyright) {\n scripts.typecheck = scripts.typecheck ? `${scripts.typecheck} && ` : '';\n scripts.typecheck += 'pyright';\n }\n }\n return scripts;\n}\n\nasync function generatePrettierSuffix(dirPath: string): Promise<string> {\n const filePath = path.resolve(dirPath, '.prettierignore');\n const existingContent = await fs.promises.readFile(filePath, 'utf8');\n const index = existingContent.indexOf(ignoreFileUtil.separatorPrefix);\n if (index < 0) return '';\n\n const originalContent = existingContent.slice(0, index);\n const lines = originalContent\n .split('\\n')\n .map((line) => {\n const newLine = line.trim();\n return newLine.endsWith('/') ? newLine.slice(0, -1) : newLine;\n })\n .filter((l) => l && !l.startsWith('#') && !l.includes('/'));\n\n return lines.map((line) => ` \"!**/${line}/**\"`).join('');\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { promisePool } from '../utils/promisePool.js';\nimport { spawnSync } from '../utils/spawnUtil.js';\n\nimport { generateScripts } from './packageJson.js';\n\nconst DEFAULT_COMMAND = 'npm test';\n\nconst settings = {\n preCommit: 'node node_modules/.bin/lint-staged',\n prePush: `yarn typecheck`,\n prePushForLab: `\nif [ $(git branch --show-current) = \"main\" ] && [ $(git config user.email) != \"exkazuu@gmail.com\" ]; then\n echo \"************************************************\"\n echo \"*** Don't push main branch directly. Use PR! ***\"\n echo \"************************************************\"\n exit 1\nfi\n\nyarn typecheck\n`.trim(),\n postMerge: `\nchanged_files=\"$(git diff-tree -r --name-only --no-commit-id ORIG_HEAD HEAD)\"\n\nrun_if_changed() {\n if echo \"$changed_files\" | grep --quiet -E \"$1\"; then\n eval \"$2\"\n fi\n}\n`.trim(),\n};\n\nexport async function generateHuskyrc(config: PackageConfig): Promise<void> {\n return logger.function('generateHuskyrc', async () => {\n await core(config);\n });\n}\n\nasync function core(config: PackageConfig): Promise<void> {\n const packageJsonPath = path.resolve(config.dirPath, 'package.json');\n const jsonText = await fs.promises.readFile(packageJsonPath, 'utf8');\n const packageJson = JSON.parse(jsonText);\n packageJson.scripts ||= {};\n delete packageJson.scripts['postinstall'];\n delete packageJson.scripts['postpublish'];\n delete packageJson.scripts['prepare'];\n delete packageJson.scripts['prepublishOnly'];\n delete packageJson.scripts['prepack'];\n delete packageJson.scripts['postpack'];\n\n const dirPath = path.resolve(config.dirPath, '.husky');\n await Promise.all([\n fs.promises.writeFile(packageJsonPath, JSON.stringify(packageJson, undefined, 2)),\n fs.promises.rm(dirPath, { force: true, recursive: true }),\n ]);\n spawnSync('yarn', ['dlx', 'husky-init', '--yarn2'], config.dirPath);\n\n const preCommitFilePath = path.resolve(dirPath, 'pre-commit');\n const content = await fs.promises.readFile(preCommitFilePath, 'utf8');\n\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, '.huskyrc.json'), { force: true }));\n await promisePool.run(() =>\n fs.promises.writeFile(preCommitFilePath, content.replace(DEFAULT_COMMAND, settings.preCommit))\n );\n\n const { typecheck } = generateScripts(config);\n if (typecheck) {\n let prePush = config.repository?.startsWith('github:WillBoosterLab/') ? settings.prePushForLab : settings.prePush;\n prePush = prePush.replace(\n 'yarn typecheck',\n typecheck.replace('tsc', 'node node_modules/.bin/tsc').replace('pyright', 'node node_modules/.bin/pyright')\n );\n await promisePool.run(() =>\n fs.promises.writeFile(path.resolve(dirPath, 'pre-push'), content.replace(DEFAULT_COMMAND, prePush), {\n mode: 0o755,\n })\n );\n }\n\n const postMergeCommands: string[] = [];\n if (config.versionsText) {\n postMergeCommands.push('run_if_changed \"\\\\..+-version\" \"asdf plugin update --all\"');\n }\n // Pythonがないとインストールできない処理系が存在するため、強制的に最初にインストールする。\n if (config.versionsText?.includes('python ')) {\n postMergeCommands.push('run_if_changed \"\\\\..+-version\" \"asdf install python\"');\n }\n if (config.versionsText) {\n postMergeCommands.push('run_if_changed \"\\\\..+-version\" \"asdf install\"');\n }\n postMergeCommands.push('run_if_changed \"package\\\\.json\" \"yarn\"');\n if (config.containingPoetryLock) {\n postMergeCommands.push('run_if_changed \"poetry\\\\.lock\" \"poetry install\"');\n }\n if (config.depending.blitz) {\n postMergeCommands.push(\n 'run_if_changed \"db/schema.prisma\" \"node node_modules/.bin/blitz prisma migrate deploy\"',\n 'run_if_changed \"db/schema.prisma\" \"node node_modules/.bin/blitz blitz codegen\"'\n );\n } else if (config.depending.prisma) {\n postMergeCommands.push(\n 'run_if_changed \"prisma/schema.prisma\" \"node node_modules/.bin/prisma migrate deploy\"',\n 'run_if_changed \"prisma/schema.prisma\" \"node node_modules/.bin/prisma generate\"'\n );\n }\n const postMergeCommand = content.replace(DEFAULT_COMMAND, `${settings.postMerge}\\n\\n${postMergeCommands.join('\\n')}`);\n await promisePool.run(() =>\n fs.promises.writeFile(path.resolve(dirPath, 'post-merge'), postMergeCommand, {\n mode: 0o755,\n })\n );\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst newContent = `<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<project version=\"4\">\n <component name=\"ProjectTasksOptions\">\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"ts\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.ts)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"tsx\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.tsx)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"js\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.js)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"json\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.json)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"md\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.md)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n <TaskOptions isEnabled=\"true\">\n <option name=\"arguments\" value=\"node node_modules/.bin/prettier --cache --write $FilePathRelativeToProjectRoot$\" />\n <option name=\"checkSyntaxErrors\" value=\"false\" />\n <option name=\"description\" />\n <option name=\"exitCodeBehavior\" value=\"ERROR\" />\n <option name=\"fileExtension\" value=\"html\" />\n <option name=\"immediateSync\" value=\"false\" />\n <option name=\"name\" value=\"Prettier (.html)\" />\n <option name=\"output\" value=\"$FilePathRelativeToProjectRoot$\" />\n <option name=\"outputFilters\">\n <array />\n </option>\n <option name=\"outputFromStdout\" value=\"false\" />\n <option name=\"program\" value=\"yarn\" />\n <option name=\"runOnExternalChanges\" value=\"false\" />\n <option name=\"scopeName\" value=\"Project Files\" />\n <option name=\"trackOnlyRoot\" value=\"false\" />\n <option name=\"workingDir\" value=\"$ProjectFileDir$\" />\n <envs />\n </TaskOptions>\n </component>\n</project>\n`;\n\nexport async function generateIdeaSettings(config: PackageConfig): Promise<void> {\n return logger.function('generateIdeaSettings', async () => {\n const dirPath = path.resolve(config.dirPath, '.idea');\n if (fs.existsSync(dirPath)) {\n const filePath = path.resolve(dirPath, 'watcherTasks.xml');\n await (config.containingJavaScript ||\n config.containingJavaScriptInPackages ||\n config.containingTypeScript ||\n config.containingTypeScriptInPackages ||\n (config.containingPackageJson &&\n !config.containingPubspecYaml &&\n !config.containingGemfile &&\n !config.containingGoMod &&\n !config.containingPomXml)\n ? promisePool.run(() => fsUtil.generateFile(filePath, newContent))\n : promisePool.run(() => fs.promises.rm(filePath, { force: true })));\n }\n });\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { EslintUtil } from '../utils/eslintUtil.js';\nimport { extensions } from '../utils/extensions.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\nimport { getSrcDirs } from '../utils/srcDirectories.js';\n\nexport async function generateLintstagedrc(config: PackageConfig): Promise<void> {\n return logger.function('generateLintstagedrc', async () => {\n await core(config);\n });\n}\n\nasync function core(config: PackageConfig): Promise<void> {\n const packagePrefix = config.root ? 'node node_modules/.bin/' : 'node ../../node_modules/.bin/';\n const lines: string[] = [];\n if (config.containingJavaScript || config.containingTypeScript) {\n const eslint = `\n '${getEslintKey(config)}': [${JSON.stringify(\n `${packagePrefix}eslint --fix${EslintUtil.getLintFixSuffix(config)}`\n )}, '${packagePrefix}prettier --cache --write'],`;\n lines.push(eslint);\n }\n const packagesFilter = config.root ? \" && !file.includes('/packages/')\" : '';\n lines.push(`\n './**/*.{${extensions.prettier.join(',')}}': files => {\n ${config.containingJavaScript || config.containingTypeScript ? getEslintFilterForPrettier(config) : ''}\n const filteredFiles = files.filter(file => !file.includes('/test-fixtures/')${packagesFilter});\n if (filteredFiles.length === 0) return [];\n const commands = [\\`${packagePrefix}prettier --cache --write \\${filteredFiles.join(' ')}\\`];\n if (filteredFiles.some(file => file.endsWith('package.json'))) {\n commands.push('${packagePrefix}sort-package-json');\n }\n return commands;\n },`);\n if (config.containingPubspecYaml) {\n lines.push(`\n './{lib,test,test_driver}/**/*.dart': files => {\n const filteredFiles = files.filter(file => !file.includes('generated'))\n .filter(file => !file.endsWith('.freezed.dart') && !file.endsWith('.g.dart'));\n if (filteredFiles.length === 0) return [];\n return [\\`flutter format \\${filteredFiles.join(' ')}\\`];\n },`);\n }\n if (config.containingPoetryLock) {\n lines.push(`\n './**/*.py': [\n 'poetry run isort --profile black --filter-files',\n 'poetry run black',\n 'poetry run flake8'\n ],`);\n }\n\n const newContent = `${\n config.containingJavaScript || config.containingTypeScript ? \"const micromatch = require('micromatch');\" : ''\n }\n\nmodule.exports = {${lines.join('')}\n};\n`;\n\n const filePath = path.resolve(config.dirPath, '.lintstagedrc.cjs');\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, '.lintstagedrc.js'), { force: true }));\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, '.lintstagedrc.json'), { force: true }));\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n}\n\nfunction getEslintKey(config: PackageConfig): string {\n const dirs = getSrcDirs(config);\n return `./{${dirs.join(',')}}/**/*.{${extensions.eslint.join(',')}}`;\n}\n\nfunction getEslintFilterForPrettier(config: PackageConfig): string {\n return `files = micromatch.not(files, '${getEslintKey(config)}');`;\n}\n","import path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { ignoreFileUtil } from '../utils/ignoreFileUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst commonContent = `\n3rd-party/\nandroid/\nios/\nno-format/\ntest-fixtures/\n*.d.ts\n*.min.js\n.yarn/\n.pnp.js\n`;\n\nexport async function generatePrettierignore(config: PackageConfig): Promise<void> {\n return logger.function('generatePrettierignore', async () => {\n const filePath = path.resolve(config.dirPath, '.prettierignore');\n const content = (await fsUtil.readFileIgnoringError(filePath)) ?? '';\n const headUserContent = ignoreFileUtil.getHeadUserContent(content) + commonContent;\n const tailUserContent = ignoreFileUtil.getTailUserContent(content);\n\n const gitignoreFilePath = path.resolve(config.dirPath, '.gitignore');\n const gitignoreContent = (await ignoreFileUtil.readGitignoreWithoutSeparators(gitignoreFilePath)) || '';\n\n let additionalContent = '';\n if (config.containingPubspecYaml) {\n additionalContent = `\nandroid/app/\nios/Runner/Assets.xcassets/\npubspec.yaml\n`;\n }\n\n const newContent = headUserContent + commonContent + additionalContent + gitignoreContent + tailUserContent;\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport merge from 'deepmerge';\nimport cloneDeep from 'lodash.clonedeep';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { overwriteMerge } from '../utils/mergeUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst jsonObj = {\n venvPath: '.',\n venv: '.venv',\n};\n\nexport async function generatePyrightConfigJson(config: PackageConfig): Promise<void> {\n return logger.function('generatePyrightConfigJson', async () => {\n let newSettings: unknown = cloneDeep(jsonObj);\n const filePath = path.resolve(config.dirPath, 'pyrightconfig.json');\n try {\n const oldContent = await fs.promises.readFile(filePath, 'utf8');\n const oldSettings = JSON.parse(oldContent);\n newSettings = merge.all([newSettings, oldSettings, newSettings], { arrayMerge: overwriteMerge });\n } catch {\n // do nothing\n }\n const newContent = JSON.stringify(newSettings);\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nexport async function generateReadme(config: PackageConfig): Promise<void> {\n return logger.function('generateReadme', async () => {\n const filePath = path.resolve(config.dirPath, 'README.md');\n let newContent = await fs.promises.readFile(filePath, 'utf8');\n\n newContent = insertBadge(config, newContent, semanticReleaseBadge, '.releaserc.json');\n\n const repository = config.repository?.slice(config.repository?.indexOf(':') + 1);\n const fileNames = fs.readdirSync(`${config.dirPath}/.github/workflows`);\n for (const fileName of fileNames) {\n if (!fileName.startsWith('test') && !fileName.startsWith('deploy')) continue;\n\n let badgeName = fileName;\n badgeName = badgeName.charAt(0).toUpperCase() + badgeName.slice(1, badgeName.indexOf('.'));\n badgeName = badgeName.replace('-', ' ');\n const badge = `[](https://github.com/${repository}/actions/workflows/${fileName})`;\n newContent = insertBadge(config, newContent, badge, `.github/workflows/${fileName}`);\n }\n\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n\nconst semanticReleaseBadge =\n '[](https://github.com/semantic-release/semantic-release)';\n\nfunction insertBadge(config: PackageConfig, newContent: string, badge: string, fileName: string): string {\n if (!fs.existsSync(path.resolve(config.dirPath, fileName))) {\n return newContent;\n }\n\n // 既にbadgeがある場合は削除\n const badgePos = newContent.indexOf(badge);\n if (badgePos >= 0) {\n newContent = newContent.slice(0, badgePos) + newContent.slice(badgePos + badge.length);\n }\n let inserted = false;\n for (let i = 0; i < newContent.length; i++) {\n if (newContent[i] === '\\n') {\n inserted = true;\n newContent = `${newContent.slice(0, i + 1)}${badge}\\n${newContent.slice(i + 1)}`;\n break;\n }\n }\n if (!inserted) newContent = `${newContent}\\n${badge}\\n`;\n return newContent;\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport merge from 'deepmerge';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { overwriteMerge } from '../utils/mergeUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nexport async function generateReleaserc(rootConfig: PackageConfig): Promise<void> {\n return logger.function('generateReleaserc', async () => {\n const filePath = path.resolve(rootConfig.dirPath, '.releaserc.json');\n try {\n const settings = JSON.parse(await fs.promises.readFile(filePath, 'utf8'));\n const plugins = settings?.plugins || [];\n for (let i = 0; i < plugins.length; i++) {\n const plugin = Array.isArray(plugins[i]) ? plugins[i][0] : plugins[i];\n const oldConfig = (Array.isArray(plugins[i]) && plugins[i][1]) || {};\n if (plugin === '@semantic-release/commit-analyzer') {\n plugins[i] = [\n '@semantic-release/commit-analyzer',\n merge.all(\n [\n oldConfig,\n {\n preset: 'conventionalcommits',\n },\n ],\n { arrayMerge: overwriteMerge }\n ),\n ];\n } else if (plugin === '@semantic-release/github') {\n plugins[i] = [\n '@semantic-release/github',\n merge.all(\n [\n oldConfig,\n {\n successComment: false,\n labels: ['r: semantic-release'],\n releasedLabels: ['released :bookmark:'],\n },\n ],\n { arrayMerge: overwriteMerge }\n ),\n ];\n }\n }\n const newContent = JSON.stringify(settings);\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n } catch {\n // do nothing\n }\n });\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport merge from 'deepmerge';\nimport cloneDeep from 'lodash.clonedeep';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { overwriteMerge } from '../utils/mergeUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst jsonObj = {\n extends: ['@willbooster'],\n};\n\nexport async function generateRenovateJson(config: PackageConfig): Promise<void> {\n return logger.function('generateRenovateJson', async () => {\n let newSettings: any = cloneDeep(jsonObj);\n const filePath = path.resolve(config.dirPath, '.renovaterc.json');\n try {\n const oldContent = await fs.promises.readFile(filePath, 'utf8');\n const oldSettings = JSON.parse(oldContent) as any;\n newSettings = merge.all([newSettings, oldSettings, newSettings], { arrayMerge: overwriteMerge });\n } catch {\n // do nothing\n }\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, '.dependabot'), { force: true }));\n await promisePool.run(() => fs.promises.rm(path.resolve(config.dirPath, 'renovate.json'), { force: true }));\n const newContent = JSON.stringify(newSettings);\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n","export function sortKeys<T extends Record<string, unknown>>(obj: T): T {\n const keyAndValues = Object.entries(obj).sort(([key1], [key2]) => key1.localeCompare(key2));\n for (const [key, value] of keyAndValues) {\n delete obj[key];\n (obj as Record<string, unknown>)[key] = value;\n }\n return obj;\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport merge from 'deepmerge';\nimport cloneDeep from 'lodash.clonedeep';\nimport { TsConfigJson } from 'type-fest';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { fsUtil } from '../utils/fsUtil.js';\nimport { combineMerge } from '../utils/mergeUtil.js';\nimport { sortKeys } from '../utils/objectUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst rootJsonObj = {\n compilerOptions: {\n target: 'ESNext',\n module: 'ESNext',\n moduleResolution: 'Node',\n jsx: 'react-jsx',\n alwaysStrict: true,\n strict: true,\n skipLibCheck: true,\n allowSyntheticDefaultImports: true,\n esModuleInterop: true,\n resolveJsonModule: true,\n declaration: true,\n sourceMap: true,\n importHelpers: false,\n outDir: 'dist',\n typeRoots: ['./node_modules/@types', './@types'],\n },\n include: [\n 'src/**/*',\n 'tests/**/*',\n 'scripts/**/*',\n 'packages/*/src/**/*',\n 'packages/*/tests/**/*',\n 'packages/*/scripts/**/*',\n ],\n};\n\nconst subJsonObj = {\n compilerOptions: {\n target: 'ESNext',\n module: 'ESNext',\n moduleResolution: 'Node',\n jsx: 'react-jsx',\n alwaysStrict: true,\n strict: true,\n skipLibCheck: true,\n allowSyntheticDefaultImports: true,\n esModuleInterop: true,\n resolveJsonModule: true,\n declaration: true,\n sourceMap: true,\n importHelpers: false,\n outDir: 'dist',\n typeRoots: ['../../node_modules/@types', '../../@types', './@types'],\n },\n include: ['src/**/*', 'tests/**/*', 'scripts/**/*'],\n};\n\nexport async function generateTsconfig(config: PackageConfig, rootConfig: PackageConfig): Promise<void> {\n return logger.function('generateTsconfig', async () => {\n if (rootConfig.depending.blitz) return;\n\n let newSettings = cloneDeep(config.root ? rootJsonObj : subJsonObj) as TsConfigJson;\n if (!config.containingJsxOrTsx && !config.containingJsxOrTsxInPackages) {\n delete newSettings.compilerOptions?.jsx;\n }\n if (config.root && !config.containingSubPackageJsons) {\n newSettings.include = newSettings.include?.filter((dirPath: string) => !dirPath.startsWith('packages/*/'));\n }\n if (config.esmPackage) {\n newSettings.compilerOptions = { ...newSettings.compilerOptions, moduleResolution: 'NodeNext' };\n }\n\n const filePath = path.resolve(config.dirPath, 'tsconfig.json');\n try {\n const existingContent = await fs.promises.readFile(filePath, 'utf8');\n const oldSettings = JSON.parse(existingContent) as TsConfigJson;\n if (oldSettings.extends === './node_modules/@willbooster/tsconfig/tsconfig.json') {\n delete oldSettings.extends;\n }\n // Don't modify \"target\", \"module\" and \"moduleResolution\".\n delete newSettings.compilerOptions?.target;\n delete newSettings.compilerOptions?.module;\n delete newSettings.compilerOptions?.moduleResolution;\n if (oldSettings.compilerOptions?.jsx) {\n delete newSettings.compilerOptions?.jsx;\n }\n newSettings = merge.all([newSettings, oldSettings, newSettings], { arrayMerge: combineMerge });\n newSettings.include = newSettings.include?.filter(\n (dirPath: string) => !dirPath.includes('@types') && !dirPath.includes('__tests__')\n );\n } catch {\n // do nothing\n }\n sortKeys(newSettings.compilerOptions ?? {});\n newSettings.include?.sort();\n const newContent = JSON.stringify(newSettings);\n await promisePool.run(() => fsUtil.generateFile(filePath, newContent));\n });\n}\n","/* eslint-disable unicorn/no-null */\n\nimport fs from 'node:fs';\nimport path from 'node:path';\n\nimport merge from 'deepmerge';\nimport yaml from 'js-yaml';\nimport cloneDeep from 'lodash.clonedeep';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { combineMerge } from '../utils/mergeUtil.js';\nimport { sortKeys } from '../utils/objectUtil.js';\nimport { promisePool } from '../utils/promisePool.js';\n\nconst workflows = {\n test: {\n name: 'Test',\n on: {\n pull_request: null,\n push: {\n branches: ['main', 'wbfy', 'renovate/**'],\n },\n },\n jobs: {\n test: {\n uses: 'WillBooster/reusable-workflows/.github/workflows/test.yml@main',\n },\n },\n },\n release: {\n name: 'Release',\n on: {\n push: {\n branches: [],\n },\n },\n jobs: {\n release: {\n uses: 'WillBooster/reusable-workflows/.github/workflows/release.yml@main',\n },\n },\n },\n wbfy: {\n name: 'Willboosterify',\n on: {\n workflow_dispatch: null,\n },\n jobs: {\n wbfy: {\n uses: 'WillBooster/reusable-workflows/.github/workflows/wbfy.yml@main',\n },\n },\n },\n 'wbfy-merge': {\n name: 'Merge wbfy',\n on: {\n workflow_dispatch: null,\n },\n jobs: {\n 'wbfy-merge': {\n uses: 'WillBooster/reusable-workflows/.github/workflows/wbfy-merge.yml@main',\n },\n },\n },\n 'semantic-pr': {\n name: 'Lint PR title',\n on: {\n pull_request_target: {\n types: ['opened', 'edited', 'synchronize'],\n },\n },\n jobs: {\n 'semantic-pr': {\n uses: 'WillBooster/reusable-workflows/.github/workflows/semantic-pr.yml@main',\n },\n },\n },\n 'notify-ready': {\n name: 'Notify ready',\n on: {\n issues: {\n types: ['labeled'],\n },\n },\n jobs: {\n 'notify-ready': {\n uses: 'WillBooster/reusable-workflows/.github/workflows/notify-ready.yml@main',\n secrets: {\n DISCORD_WEBHOOK_URL: '${{ secrets.DISCORD_WEBHOOK_URL_FOR_READY }}',\n },\n },\n },\n },\n 'close-comment': {\n name: 'Add close comment',\n on: {\n pull_request: {\n types: ['opened'],\n },\n },\n jobs: {\n 'close-comment': {\n uses: 'WillBooster/reusable-workflows/.github/workflows/close-comment.yml@main',\n },\n },\n },\n 'add-issue-to-project': {\n name: 'Add issue to github project',\n on: {\n issues: {\n types: ['labeled'],\n },\n },\n jobs: {\n 'add-issue-to-project': {\n uses: 'WillBooster/reusable-workflows/.github/workflows/add-issue-to-project.yml@main',\n secrets: {\n GH_PROJECT_URL: '${{ secrets.GH_PROJECT_URL }}',\n },\n },\n },\n },\n} as Record<KnownKind, any>;\n\ntype KnownKind =\n | 'test'\n | 'release'\n | 'sync'\n | 'wbfy'\n | 'wbfy-merge'\n | 'semantic-pr'\n | 'notify-ready'\n | 'close-comment'\n | 'add-issue-to-project';\n\nexport async function generateWorkflows(rootConfig: PackageConfig): Promise<void> {\n return logger.function('generateWorkflow', async () => {\n const workflowsPath = path.resolve(rootConfig.dirPath, '.github', 'workflows');\n await fs.promises.mkdir(workflowsPath, { recursive: true });\n\n // Remove config of semantic pull request\n const semanticYmlPath = path.resolve(rootConfig.dirPath, '.github', 'semantic.yml');\n await promisePool.run(() => fs.promises.rm(semanticYmlPath, { force: true, recursive: true }));\n\n const entries = await fs.promises.readdir(workflowsPath, { withFileTypes: true });\n const fileNames = entries\n .filter((dirent) => dirent.isFile() && dirent.name.endsWith('.yml'))\n .map((dirent) => dirent.name);\n if (rootConfig.depending.semanticRelease) {\n fileNames.push('release.yml');\n }\n if (rootConfig.publicRepo || rootConfig.repository?.startsWith('github:WillBoosterLab/')) {\n fileNames.push('notify-ready.yml');\n }\n fileNames.push(\n 'test.yml',\n 'wbfy.yml',\n 'wbfy-merge.yml',\n 'semantic-pr.yml',\n 'close-comment.yml',\n 'add-issue-to-project.yml'\n );\n\n for (const fileName of fileNames) {\n // 実際はKnownKind以外の値も代入されることに注意\n const kind = path.basename(fileName, '.yml') as KnownKind;\n await promisePool.run(() => writeWorkflowYaml(rootConfig, workflowsPath, kind));\n }\n });\n}\n\nasync function writeWorkflowYaml(config: PackageConfig, workflowsPath: string, kind: KnownKind): Promise<void> {\n let newSettings = cloneDeep(workflows[kind] || {});\n const filePath = path.join(workflowsPath, `${kind}.yml`);\n try {\n const oldContent = await fs.promises.readFile(filePath, 'utf8');\n const oldSettings = yaml.load(oldContent);\n if (kind === 'wbfy' || kind === 'wbfy-merge') {\n console.log('writeWorkflowYaml:', kind);\n console.dir(oldSettings, { depth: null });\n }\n newSettings = merge.all([newSettings, oldSettings, newSettings], { arrayMerge: combineMerge });\n if (kind === 'wbfy' || kind === 'wbfy-merge') {\n console.dir(newSettings, { depth: null });\n }\n } catch {\n // do nothing\n }\n for (const job of Object.values(newSettings.jobs) as any[]) {\n // Ignore non-reusable workflows\n if (!job.uses?.includes?.('/reusable-workflows/')) return;\n\n normalizeJob(config, job, kind);\n }\n\n switch (kind) {\n case 'release': {\n if (newSettings.on.schedule) {\n delete newSettings.on.push;\n } else if (config.release.branches.length > 0) {\n newSettings.on.push.branches = config.release.branches;\n } else {\n // Don't use release.yml if release branch is not specified\n await fs.promises.rm(path.join(workflowsPath, 'release.yml'), { force: true });\n return;\n }\n break;\n }\n case 'wbfy': {\n setSchedule(newSettings, 20, 24);\n break;\n }\n case 'wbfy-merge': {\n setSchedule(newSettings, 1, 4);\n break;\n }\n // No default\n }\n migrateWorkflow(newSettings);\n await writeYaml(newSettings, filePath);\n\n if (kind === 'release') {\n await fs.promises.rm(path.join(workflowsPath, 'semantic-release.yml'), { force: true });\n } else if (kind === 'sync') {\n await fs.promises.rm(path.join(workflowsPath, 'sync-init.yml'), { force: true });\n if (!newSettings.jobs.sync) return;\n\n newSettings.jobs['sync-force'] = newSettings.jobs.sync;\n const params = newSettings.jobs.sync.with.sync_params_without_dest;\n if (!params) return;\n\n newSettings.jobs.sync.with.sync_params_without_dest = `--force ${params}`;\n newSettings.name = 'Force to Sync';\n newSettings.on = { workflow_dispatch: null };\n delete newSettings.jobs.sync;\n await writeYaml(newSettings, path.join(workflowsPath, 'sync-force.yml'));\n }\n}\n\nfunction normalizeJob(config: PackageConfig, job: any, kind: KnownKind): void {\n job.with ||= {};\n job.secrets ||= {};\n\n if (\n kind === 'test' ||\n kind === 'release' ||\n kind === 'wbfy' ||\n kind === 'wbfy-merge' ||\n kind === 'add-issue-to-project'\n ) {\n job.secrets['GH_TOKEN'] = config.publicRepo ? '${{ secrets.PUBLIC_GH_BOT_PAT }}' : '${{ secrets.GH_BOT_PAT }}';\n }\n if (config.release.npm && (kind === 'release' || kind === 'test')) {\n job.secrets['NPM_TOKEN'] = '${{ secrets.NPM_TOKEN }}';\n }\n if (job.secrets['FIREBASE_TOKEN']) {\n job.secrets['GCP_SA_KEY_JSON_FOR_FIREBASE'] = '${{ secrets.GCP_SA_KEY_JSON_FOR_FIREBASE }}';\n delete job.secrets['FIREBASE_TOKEN'];\n }\n if (\n (job.secrets['DISCORD_WEBHOOK_URL'] && (kind === 'release' || kind.startsWith('deploy'))) ||\n (job.with.server_url && kind.startsWith('deploy'))\n ) {\n job.secrets['DISCORD_WEBHOOK_URL'] = '${{ secrets.DISCORD_WEBHOOK_URL_FOR_RELEASE }}';\n }\n\n if (kind === 'sync') {\n const params = job.with?.sync_params_without_dest;\n if (params) {\n job.with.sync_params_without_dest = params.replace('sync ', '');\n }\n }\n\n if (config.repository?.startsWith('github:WillBooster/')) {\n job.uses = job.uses.replace('WillBoosterLab/', 'WillBooster/');\n } else if (config.repository?.startsWith('github:WillBoosterLab/')) {\n job.uses = job.uses.replace('WillBooster/', 'WillBoosterLab/');\n }\n\n // Remove deprecated parameters\n migrateJob(job);\n if (job.with['dot_env_path'] === '.env') {\n delete job.with['dot_env_path'];\n }\n\n if (config.containingDockerfile && kind.startsWith('deploy')) {\n job.with['cpu_arch'] = 'X64';\n }\n // Because github.event.repository.private is always true if job is scheduled\n if (kind === 'release' || kind === 'test' || kind === 'wbfy' || kind === 'wbfy-merge' || kind.startsWith('deploy')) {\n if (config.publicRepo) {\n job.with['github_hosted_runner'] = true;\n }\n } else {\n delete job.with['github_hosted_runner'];\n }\n\n if (Object.keys(job.with).length > 0) {\n sortKeys(job.with);\n } else {\n delete job.with;\n }\n if (Object.keys(job.secrets).length > 0) {\n // Move secrets prop after with prop\n const newSecrets = sortKeys(job.secrets);\n delete job.secrets;\n job.secrets = newSecrets;\n } else {\n delete job.secrets;\n }\n}\n\nfunction setSchedule(newSettings: any, inclusiveMinHourJst: number, exclusiveMaxHourJst: number): void {\n const [minuteUtc, hourUtc] = ((newSettings.on.schedule?.[0]?.cron as string) ?? '').split(' ').map(Number);\n if (minuteUtc !== 0 && Number.isInteger(hourUtc)) {\n const hourJst = (hourUtc + 9) % 24;\n const inRange =\n inclusiveMinHourJst < exclusiveMaxHourJst\n ? inclusiveMinHourJst <= hourJst && hourJst < exclusiveMaxHourJst\n : inclusiveMinHourJst <= hourJst || hourJst < exclusiveMaxHourJst;\n if (inRange) return;\n console.log(\n 'setSchedule:',\n newSettings,\n minuteUtc,\n hourUtc,\n inRange,\n hourJst,\n inclusiveMinHourJst,\n exclusiveMaxHourJst\n );\n } else {\n console.log('setSchedule:', newSettings, minuteUtc, hourUtc);\n }\n\n const minJst = 1 + Math.floor(Math.random() * 59);\n const hourJst = inclusiveMinHourJst + Math.floor(Math.random() * (exclusiveMaxHourJst - inclusiveMinHourJst));\n const cron = `${minJst} ${(hourJst - 9 + 24) % 24} * * *`;\n newSettings.on.schedule = [{ cron }];\n}\n\nasync function writeYaml(newSettings: any, filePath: string): Promise<void> {\n const yamlText = yaml.dump(newSettings, {\n lineWidth: -1,\n noCompatMode: true,\n styles: {\n '!!null': 'empty',\n },\n });\n await fs.promises.writeFile(filePath, yamlText);\n}\n\nfunction migrateWorkflow(newSettings: any): void {\n delete newSettings.jobs['add-to-project'];\n}\n\nfunction migrateJob(job: any): void {\n delete job.with['non_self_hosted'];\n delete job.with['notify_discord'];\n delete job.with['require_fly'];\n delete job.with['require_gcloud'];\n}\n","import fs from 'node:fs';\nimport path from 'node:path';\n\nimport yaml from 'js-yaml';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { promisePool } from '../utils/promisePool.js';\nimport { spawnSync, spawnSyncWithStringResult } from '../utils/spawnUtil.js';\n\nexport async function generateYarnrcYml(config: PackageConfig): Promise<void> {\n return logger.function('generateYarnrcYml', async () => {\n const currentVersion = spawnSyncWithStringResult('yarn', ['--version'], config.dirPath);\n const latestVersion = getLatestVersion('@yarnpkg/cli', config.dirPath);\n if (getMajorNumber(currentVersion) <= getMajorNumber(latestVersion) && currentVersion !== latestVersion) {\n spawnSync('yarn', ['set', 'version', latestVersion], config.dirPath, 1);\n }\n\n const releasesPath = path.join(config.dirPath, '.yarn', 'releases');\n await fs.promises.mkdir(releasesPath, { recursive: true });\n for (const file of await fs.promises.readdir(releasesPath)) {\n if (file.startsWith('yarn-') && !file.startsWith(`yarn-${latestVersion}.`)) {\n await promisePool.run(() => fs.promises.rm(path.join(releasesPath, file)));\n console.log('Removed', path.join(releasesPath, file));\n }\n }\n\n const yarnrcPath = path.resolve(config.dirPath, '.yarnrc');\n await promisePool.run(() => fs.promises.rm(yarnrcPath, { force: true }));\n\n const yarnrcYmlPath = path.resolve(config.dirPath, '.yarnrc.yml');\n const settings = yaml.load(await fs.promises.readFile(yarnrcYmlPath, 'utf8')) as any;\n settings.defaultSemverRangePrefix = '';\n settings.nodeLinker = 'node-modules';\n settings.nmMode = 'hardlinks-global';\n // c.f. https://github.com/yarnpkg/berry/pull/4698\n settings.enableGlobalCache = true;\n const originalLength = settings.plugins?.length ?? 0;\n settings.plugins = settings.plugins?.filter((p: any) => p.path !== '.yarn/plugins/undefined.cjs') ?? [];\n if (settings.plugins.length !== originalLength) {\n const pluginPath = path.resolve(config.dirPath, '.yarnrc', 'undefined.cjs');\n await promisePool.run(() => fs.promises.rm(pluginPath, { force: true }));\n }\n if (settings.plugins.length === 0) {\n delete settings.plugins;\n }\n await fs.promises.writeFile(yarnrcYmlPath, yaml.dump(settings, { lineWidth: -1 }));\n\n const plugins = (settings.plugins ?? []).map((p: any) => p.spec);\n const requireTypeScript = config.containingTypeScript || config.containingTypeScriptInPackages;\n importOrRemovePlugin(config, plugins, requireTypeScript, '@yarnpkg/plugin-typescript');\n importOrRemovePlugin(config, plugins, config.containingSubPackageJsons, '@yarnpkg/plugin-workspace-tools');\n spawnSync('yarn', ['dlx', 'yarn-plugin-auto-install'], config.dirPath);\n });\n}\n\nexport function getLatestVersion(packageName: string, dirPath: string): string {\n const versionsJson = spawnSyncWithStringResult('npm', ['show', packageName, 'versions', '--json'], dirPath);\n const versions = JSON.parse(versionsJson) as string[];\n return versions[versions.length - 1];\n}\n\nfunction importOrRemovePlugin(config: PackageConfig, plugins: string[], requirePlugin: boolean, plugin: string): void {\n if (requirePlugin !== plugins.includes(plugin)) {\n spawnSync('yarn', ['plugin', requirePlugin ? 'import' : 'remove', plugin], config.dirPath);\n }\n}\n\nfunction getMajorNumber(version: string): number {\n const [major] = version.split('.');\n return Number(major);\n}\n","import { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { gitHubUtil, hasGitHubToken, octokit } from '../utils/githubUtil.js';\n\nexport async function setupLabels(config: PackageConfig): Promise<void> {\n return logger.function('setupLabels', async () => {\n if (!hasGitHubToken) return;\n\n const [owner, repo] = gitHubUtil.getOrgAndName(config.repository ?? '');\n if (!owner || !repo) return;\n if (owner !== 'WillBooster' && owner !== 'WillBoosterLab') return;\n\n try {\n await setupLabel(owner, repo, 'd1: x-easy :hedgehog:', 'EDE9FE');\n await setupLabel(owner, repo, 'd2: easy :rabbit2:', 'DDD6FE');\n await setupLabel(owner, repo, 'd3: medium :ox:', 'C4B5FD');\n await setupLabel(owner, repo, 'd4: hard :squid:', 'A78BFA');\n await setupLabel(owner, repo, 'd5: x-hard :whale2:', '8B5CF6');\n await setupLabel(owner, repo, 'p1: critical :fire::fire::fire:', 'EF4444');\n await setupLabel(owner, repo, 'p2: urgent :fire::fire:', 'F87171');\n await setupLabel(owner, repo, 'p3: important :fire:', 'FCA5A5');\n await setupLabel(owner, repo, 'p4: nice to have :droplet:', 'FECACA');\n await setupLabel(owner, repo, 'r: blitz', '5300bc');\n await setupLabel(owner, repo, 'r: firebase', 'ffca28');\n await setupLabel(owner, repo, 'r: prisma', '0c344b');\n await setupLabel(owner, repo, 'r: react', '61dafb');\n await setupLabel(owner, repo, 'r: svelte', 'ff3e00');\n await setupLabel(owner, repo, 'r: semantic-release', '494949');\n await setupLabel(owner, repo, 'ready :rocket:', '22C55E');\n await setupLabel(owner, repo, 'review requested :mag:', 'FBCA04');\n await setupLabel(owner, repo, 'released :bookmark:', '6366F1');\n await setupLabel(owner, repo, 's: 0.5h :clock1230:', 'F3F4F6');\n await setupLabel(owner, repo, 's: 1h :clock1:', 'E5E7EB');\n await setupLabel(owner, repo, 's: 2h :clock2:', 'D1D5DB');\n await setupLabel(owner, repo, 's: 3h :clock3:', '9CA3AF');\n await setupLabel(owner, repo, 's: 5h :clock5:', '6B7280');\n await setupLabel(owner, repo, 's: 8h :clock8:', '4B5563');\n await setupLabel(owner, repo, 's: 13h :clock1:', '374151');\n await setupLabel(owner, repo, 't: build :hammer:', 'BFDBFE');\n await setupLabel(owner, repo, 't: chore :broom:', 'BFDBFE');\n await setupLabel(owner, repo, 't: ci :construction_worker:', 'BFDBFE');\n await setupLabel(owner, repo, 't: docs :memo:', 'BFDBFE');\n await setupLabel(owner, repo, 't: feat :sparkles:', 'BFDBFE');\n await setupLabel(owner, repo, 't: fix :bug:', 'BFDBFE');\n await setupLabel(owner, repo, 't: perf :zap:', 'BFDBFE');\n await setupLabel(owner, repo, 't: refactor :recycle:', 'BFDBFE');\n await setupLabel(owner, repo, 't: style :lipstick:', 'BFDBFE');\n await setupLabel(owner, repo, 't: test :test_tube:', 'BFDBFE');\n await setupLabel(owner, repo, 'project', '24292F');\n\n await deleteLabel(owner, repo, 'bug');\n await deleteLabel(owner, repo, 'documentation');\n await deleteLabel(owner, repo, 'duplicate');\n await deleteLabel(owner, repo, 'enhancement');\n await deleteLabel(owner, repo, 'good first issue');\n await deleteLabel(owner, repo, 'help wanted');\n await deleteLabel(owner, repo, 'invalid');\n await deleteLabel(owner, repo, 'question');\n await deleteLabel(owner, repo, 'wontfix');\n\n await deleteLabel(owner, repo, 'ready');\n await deleteLabel(owner, repo, 'review requested');\n await deleteLabel(owner, repo, 'released');\n await deleteLabel(owner, repo, 'semantic-release');\n } catch (error) {\n console.warn('Skip setupLabels due to:', (error as Error)?.stack ?? error);\n }\n });\n}\n\nasync function setupLabel(owner: string, repo: string, name: string, color: string): Promise<void> {\n try {\n await octokit.request('POST /repos/{owner}/{repo}/labels', {\n owner,\n repo,\n name,\n color,\n });\n } catch {\n await octokit.request('PATCH /repos/{owner}/{repo}/labels/{name}', {\n owner,\n repo,\n name,\n color,\n });\n }\n}\n\nasync function deleteLabel(owner: string, repo: string, name: string): Promise<void> {\n try {\n await octokit.request('DELETE /repos/{owner}/{repo}/labels/{name}', {\n owner,\n repo,\n name,\n });\n } catch {\n // do nothing\n }\n}\n","import dotenv from 'dotenv';\nimport sodium from 'libsodium-wrappers';\n\nimport { logger } from '../logger.js';\nimport { PackageConfig } from '../packageConfig.js';\nimport { gitHubUtil, hasGitHubToken, octokit } from '../utils/githubUtil.js';\n\nconst deprecatedSecretNames = ['READY_DISCORD_WEBHOOK_URL'];\n\nexport async function setupSecrets(config: PackageConfig): Promise<void> {\n return logger.function('setupSecrets', async () => {\n if (!hasGitHubToken) return;\n\n const [owner, repo] = gitHubUtil.getOrgAndName(config.repository ?? '');\n if (!owner || !repo || owner !== 'WillBoosterLab') return;\n\n const parsed = dotenv.config().parsed || {};\n if (Object.keys(parsed).length === 0) return;\n\n try {\n for (const secretName of deprecatedSecretNames) {\n try {\n await octokit.request('DELETE /repos/{owner}/{repo}/actions/secrets/{secret_name}', {\n owner,\n repo,\n secret_name: secretName,\n });\n } catch {\n // do nothing\n }\n }\n\n const response = await octokit.request('GET /repos/{owner}/{repo}/actions/secrets/public-key', {\n owner,\n repo,\n });\n const { key, key_id: keyId } = response.data;\n\n await sodium.ready;\n\n for (const [name, secret] of Object.entries(parsed)) {\n if (config.publicRepo && name === 'GH_BOT_PAT') continue;\n if (!config.publicRepo && name === 'PUBLIC_GH_BOT_PAT') continue;\n\n // Convert Secret & Base64 key to Uint8Array.\n const rawKey = sodium.from_base64(key, sodium.base64_variants.ORIGINAL);\n const rawSec = sodium.from_string(secret);\n\n // Encrypt the secret using LibSodium\n const encBytes = sodium.crypto_box_seal(rawSec, rawKey);\n\n // Convert encrypted Uint8Array to Base64\n const encBase64 = sodium.to_base64(encBytes, sodium.base64_variants.ORIGINAL);\n\n await octokit.request('PUT /repos/{owner}/{repo}/actions/secrets/{secret_name}', {\n owner,\n repo,\n secret_name: name,\n encrypted_value: encBase64,\n key_id: keyId,\n });\n }\n } catch (error) {\n console.warn('Skip setupSecrets due to:', (error as Error)?.stack ?? error);\n }\n });\n}\n","import { PackageConfig } from '../packageConfig.js';\n\nexport async function setupSettings(config: PackageConfig): Promise<void> {\n // TODO: implement code for https://github.com/WillBooster/wbfy/issues/324\n}\n","import fs from 'node:fs';\nimport fsp from 'node:fs/promises';\nimport path from 'node:path';\n\nimport { globbySync } from 'globby';\nimport { simpleGit } from 'simple-git';\nimport { PackageJson } from 'type-fest';\n\nimport { gitHubUtil, octokit } from './utils/githubUtil.js';\n\nexport interface PackageConfig {\n dirPath: string;\n root: boolean;\n publicRepo: boolean;\n referredByOtherRepo: boolean;\n repository?: string;\n esmPackage: boolean;\n willBoosterConfigs: boolean;\n containingSubPackageJsons: boolean;\n containingDockerfile: boolean;\n containingGemfile: boolean;\n containingGoMod: boolean;\n containingPackageJson: boolean;\n containingPoetryLock: boolean;\n containingPomXml: boolean;\n containingPubspecYaml: boolean;\n containingTemplateYaml: boolean;\n\n containingJavaScript: boolean;\n containingTypeScript: boolean;\n containingJsxOrTsx: boolean;\n containingJavaScriptInPackages: boolean;\n containingTypeScriptInPackages: boolean;\n containingJsxOrTsxInPackages: boolean;\n depending: {\n blitz?: string;\n firebase: boolean;\n playwright: boolean;\n prisma: boolean;\n pyright: boolean;\n reactNative: boolean;\n semanticRelease: boolean;\n storybook: boolean;\n };\n release: {\n branches: string[];\n github: boolean;\n npm: boolean;\n };\n eslintBase?: string;\n versionsText?: string;\n packageJson?: PackageJson;\n}\n\nexport async function getPackageConfig(dirPath: string): Promise<PackageConfig | undefined> {\n const packageJsonPath = path.resolve(dirPath, 'package.json');\n try {\n const containingPackageJson = fs.existsSync(packageJsonPath);\n let dependencies: PackageJson['dependencies'] = {};\n let devDependencies: PackageJson['devDependencies'] = {};\n let packageJson: PackageJson = {};\n let esmPackage = false;\n if (containingPackageJson) {\n const packageJsonText = fs.readFileSync(packageJsonPath, 'utf8');\n packageJson = JSON.parse(packageJsonText);\n dependencies = packageJson.dependencies ?? {};\n devDependencies = packageJson.devDependencies ?? {};\n esmPackage = packageJson.type === 'module';\n }\n\n let releaseBranches: string[] = [];\n let releasePlugins: string[] = [];\n try {\n const releasercJsonPath = path.resolve(dirPath, '.releaserc.json');\n const json = JSON.parse(await fsp.readFile(releasercJsonPath, 'utf8'));\n releaseBranches = json?.branches || [];\n releasePlugins = json?.plugins?.flat() || [];\n } catch {\n // do nothing\n }\n\n const isRoot =\n path.basename(path.resolve(dirPath, '..')) !== 'packages' ||\n !fs.existsSync(path.resolve(dirPath, '..', '..', 'package.json'));\n\n let repoInfo: Record<string, any> | undefined;\n if (isRoot) {\n repoInfo = await fetchRepoInfo(dirPath, packageJson);\n }\n\n let versionsText = '';\n try {\n const content = await fsp.readFile(path.resolve(dirPath, '.tool-versions'), 'utf8');\n versionsText += content.trim();\n } catch {\n // do nothing\n }\n for (const [prefix, name] of [\n ['node', 'nodejs'],\n ['python', 'python'],\n ]) {\n try {\n const nodeVersionContent = await fsp.readFile(path.resolve(dirPath, `.${prefix}-version`), 'utf8');\n if (versionsText) {\n versionsText += '\\n';\n }\n versionsText += name + ' ' + nodeVersionContent.trim();\n } catch {\n // do nothing\n }\n }\n\n const config: PackageConfig = {\n dirPath,\n root: isRoot,\n publicRepo: repoInfo?.private === false,\n referredByOtherRepo: !!packageJson.files,\n repository: repoInfo?.full_name ? `github:${repoInfo?.full_name}` : undefined,\n esmPackage,\n willBoosterConfigs: packageJsonPath.includes(`${path.sep}willbooster-configs`),\n containingSubPackageJsons: containsAny('packages/**/package.json', dirPath),\n containingDockerfile:\n fs.existsSync(path.resolve(dirPath, 'Dockerfile')) ||\n fs.existsSync(path.resolve(dirPath, 'docker-compose.yml')),\n containingGemfile: fs.existsSync(path.resolve(dirPath, 'Gemfile')),\n containingGoMod: fs.existsSync(path.resolve(dirPath, 'go.mod')),\n containingPackageJson: fs.existsSync(path.resolve(dirPath, 'package.json')),\n containingPoetryLock: fs.existsSync(path.resolve(dirPath, 'poetry.lock')),\n containingPomXml: fs.existsSync(path.resolve(dirPath, 'pom.xml')),\n containingPubspecYaml: fs.existsSync(path.resolve(dirPath, 'pubspec.yaml')),\n containingTemplateYaml: fs.existsSync(path.resolve(dirPath, 'template.yaml')),\n containingJavaScript: containsAny('@(app|src|tests|scripts)/**/*.{cjs,mjs,js,jsx}', dirPath),\n containingTypeScript: containsAny('@(app|src|tests|scripts)/**/*.{cts,mts,ts,tsx}', dirPath),\n containingJsxOrTsx: containsAny('@(app|src|tests)/**/*.{t,j}sx', dirPath),\n containingJavaScriptInPackages: containsAny(\n 'packages/**/@(app|src|tests|scripts)/**/*.{cjs,mjs,js,jsx}',\n dirPath\n ),\n containingTypeScriptInPackages: containsAny(\n 'packages/**/@(app|src|tests|scripts)/**/*.{cts,mts,ts,tsx}',\n dirPath\n ),\n containingJsxOrTsxInPackages: containsAny('packages/**/@(app|src|tests)/**/*.{t,j}sx', dirPath),\n depending: {\n blitz: (dependencies['blitz'] || devDependencies['blitz'] || '').replace('^', '')[0],\n firebase: !!devDependencies['firebase-tools'],\n playwright: !!devDependencies['playwright'],\n prisma: !!dependencies['prisma'],\n pyright: !!devDependencies['pyright'],\n reactNative: !!dependencies['react-native'],\n semanticRelease: !!(\n devDependencies['semantic-release'] ||\n releaseBranches.length > 0 ||\n releasePlugins.length > 0\n ),\n storybook: !!devDependencies['@storybook/react'],\n },\n release: {\n branches: releaseBranches,\n github: releasePlugins.includes('@semantic-release/github'),\n npm: releasePlugins.includes('@semantic-release/npm'),\n },\n versionsText,\n packageJson,\n };\n config.eslintBase = getEslintExtensionBase(config);\n if (\n config.containingGemfile ||\n config.containingGoMod ||\n config.containingPackageJson ||\n config.containingPoetryLock ||\n config.containingPomXml ||\n config.containingPubspecYaml ||\n config.containingTemplateYaml\n ) {\n return config;\n }\n } catch {\n // do nothing\n }\n}\n\nfunction containsAny(pattern: string, dirPath: string): boolean {\n return globbySync(pattern, { dot: true, cwd: dirPath }).length > 0;\n}\n\nfunction getEslintExtensionBase(config: PackageConfig): string | undefined {\n if (config.containingTypeScript) {\n return config.containingJsxOrTsx ? '@willbooster/eslint-config-ts-react' : '@willbooster/eslint-config-ts';\n } else {\n if (config.containingJsxOrTsx) {\n return '@willbooster/eslint-config-js-react';\n } else if (config.containingJavaScript) {\n return '@willbooster/eslint-config-js';\n }\n }\n}\n\nasync function fetchRepoInfo(dirPath: string, packageJson: PackageJson): Promise<Record<string, any> | undefined> {\n const git = simpleGit(dirPath);\n const remotes = await git.getRemotes(true);\n const origin = remotes.find((r) => r.name === 'origin');\n const remoteUrl = origin?.refs?.fetch ?? origin?.refs?.push;\n if (typeof remoteUrl === 'string') {\n const json = await requestRepoInfo(remoteUrl);\n if (json) return json;\n }\n\n const url = typeof packageJson.repository === 'string' ? packageJson.repository : packageJson.repository?.url;\n if (url) {\n const json = await requestRepoInfo(url);\n if (json && json.message !== 'Not Found') return json;\n }\n}\n\nasync function requestRepoInfo(urlOrFullName: string): Promise<Record<string, any> | undefined> {\n const [org, name] = gitHubUtil.getOrgAndName(urlOrFullName);\n if (!org || !name) return;\n\n const ret = { full_name: `${org}/${name}` };\n try {\n const response = await octokit.request('GET /repos/{owner}/{repo}', {\n owner: org,\n repo: name,\n });\n Object.assign(ret, response.data);\n } catch {\n // do nothing\n }\n return ret;\n}\n","import fs from 'node:fs/promises';\nimport path from 'node:path';\n\nimport { ignoreErrorAsync } from '@willbooster/shared-lib';\nimport yargs from 'yargs';\n\nimport { fixAbbreviations } from './fixers/abbreviations.js';\nimport { fixTestDirectories } from './fixers/testDirectory.js';\nimport { fixTypeDefinitions } from './fixers/typeDefinition.js';\nimport { generateVersionConfigs } from './generators/asdf.js';\nimport { generateEditorconfig } from './generators/editorconfig.js';\nimport { generateEslintignore } from './generators/eslintignore.js';\nimport { generateEslintrc } from './generators/eslintrc.js';\nimport { generateGitattributes } from './generators/gitattributes.js';\nimport { generateGitignore } from './generators/gitignore.js';\nimport { generateHuskyrc } from './generators/huskyrc.js';\nimport { generateIdeaSettings } from './generators/idea.js';\nimport { generateLintstagedrc } from './generators/lintstagedrc.js';\nimport { generatePackageJson } from './generators/packageJson.js';\nimport { generatePrettierignore } from './generators/prettierignore.js';\nimport { generatePyrightConfigJson } from './generators/pyrightconfig.js';\nimport { generateReadme } from './generators/readme.js';\nimport { generateReleaserc } from './generators/releaserc.js';\nimport { generateRenovateJson } from './generators/renovaterc.js';\nimport { generateTsconfig } from './generators/tsconfig.js';\nimport { generateWorkflows } from './generators/workflow.js';\nimport { generateYarnrcYml } from './generators/yarnrc.js';\nimport { setupLabels } from './github/label.js';\nimport { setupSecrets } from './github/secret.js';\nimport { setupSettings } from './github/settings.js';\nimport { options } from './options.js';\nimport { getPackageConfig, PackageConfig } from './packageConfig.js';\nimport { promisePool } from './utils/promisePool.js';\nimport { spawnSync } from './utils/spawnUtil.js';\n\nasync function main(): Promise<void> {\n const argv = await yargs(process.argv.slice(2))\n .command('$0 [paths..]', 'Make a given project follow the WillBooster standard', (yargs) => {\n yargs.positional('paths', {\n describe: 'project paths to be wbfied',\n array: true,\n type: 'string',\n default: ['.'],\n });\n })\n .options({\n skipDeps: {\n description: 'Skip dependency installation',\n type: 'boolean',\n default: false,\n alias: 'd',\n },\n verbose: {\n description: 'Whether or not to enable verbose mode',\n type: 'boolean',\n default: false,\n alias: 'v',\n },\n })\n .strict().argv;\n options.isVerbose = argv.verbose;\n\n for (const rootDirPath of argv.paths as string[]) {\n const packagesDirPath = path.join(rootDirPath, 'packages');\n const dirents = (await ignoreErrorAsync(() => fs.readdir(packagesDirPath, { withFileTypes: true }))) ?? [];\n const subDirPaths = dirents.filter((d) => d.isDirectory()).map((d) => path.join(packagesDirPath, d.name));\n\n await fixTestDirectories([rootDirPath, ...subDirPaths]);\n await fixAbbreviations(rootDirPath);\n\n const rootConfig = await getPackageConfig(rootDirPath);\n if (!rootConfig) {\n console.error(`there is no valid package.json in ${rootDirPath}`);\n continue;\n }\n\n const nullableSubPackageConfigs = await Promise.all(subDirPaths.map((subDirPath) => getPackageConfig(subDirPath)));\n const subPackageConfigs = nullableSubPackageConfigs.filter((config) => !!config) as PackageConfig[];\n const allPackageConfigs = [rootConfig, ...subPackageConfigs];\n\n if (options.isVerbose) {\n for (const config of allPackageConfigs) {\n console.info(config);\n }\n }\n\n // Install tools via asdf at first\n await generateVersionConfigs(rootConfig);\n // Install yarn berry\n await generateYarnrcYml(rootConfig);\n await Promise.all([\n generateEditorconfig(rootConfig),\n generateGitattributes(rootConfig),\n generateHuskyrc(rootConfig),\n generateIdeaSettings(rootConfig),\n generateLintstagedrc(rootConfig),\n generateReadme(rootConfig),\n generateRenovateJson(rootConfig),\n generateReleaserc(rootConfig),\n generateWorkflows(rootConfig),\n setupLabels(rootConfig),\n setupSecrets(rootConfig),\n setupSettings(rootConfig),\n ]);\n await promisePool.promiseAll();\n\n const promises: Promise<void>[] = [];\n for (const config of allPackageConfigs) {\n if (config.containingTypeScript || config.containingTypeScriptInPackages) {\n promises.push(fixTypeDefinitions(config, config.root ? allPackageConfigs : [config]));\n }\n await generateGitignore(config, rootConfig);\n await promisePool.promiseAll();\n if (!config.root && !config.containingPackageJson) {\n continue;\n }\n await generatePrettierignore(config);\n await generatePackageJson(config, rootConfig, argv.skipDeps);\n\n promises.push(generateLintstagedrc(config));\n if (config.containingTypeScript || config.containingTypeScriptInPackages) {\n promises.push(generateTsconfig(config, rootConfig));\n }\n if (\n config.containingJavaScript ||\n config.containingJavaScriptInPackages ||\n config.containingTypeScript ||\n config.containingTypeScriptInPackages\n ) {\n if (!rootConfig.willBoosterConfigs) {\n promises.push(generateEslintrc(config, rootConfig));\n }\n promises.push(generateEslintignore(config));\n }\n if (config.depending.pyright) {\n promises.push(generatePyrightConfigJson(config));\n }\n }\n await Promise.all(promises);\n await promisePool.promiseAll();\n\n spawnSync('yarn', ['cleanup'], rootDirPath);\n // 'yarn install' should be after `yarn cleanup` because yarn berry generates yarn.lock\n // corresponding to the contents of dependant sub-package in monorepo\n spawnSync('yarn', ['install'], rootDirPath);\n }\n}\n\nawait main();\n"],"names":["Options","options","_classCallCheck","this","_defineProperty","isVerbose","logger","Logger","_function2","_createClass","key","value","_asyncToGenerator","_regeneratorRuntime","mark","_callee","name","func","wrap","_context","prev","next","console","info","stop","_x","_x2","apply","arguments","promisePool","PromisePool","fixAbbreviations","_fixAbbreviations","dirPath","_context4","abrupt","_callee2","mdFiles","_iterator","_step","_loop","tsFiles","_iterator2","_step2","tsFile","filePath","content","newContent","_context3","globby","dot","cwd","sent","_createForOfIteratorHelper","mdFile","_context2","path","join","run","fs","promises","readFile","replaceAll","writeFile","s","n","done","delegateYield","t1","e","f","finish","t2","promiseAll","_callee3","fixTestDirectories","_fixTestDirectories","packageDirPaths","Promise","all","map","_ref2","packageDirPath","oldTestDirPath","newTestDirPath","packageJsonText","newPackageJsonText","rename","replace","t0","fixTypeDefinitions","_fixTypeDefinitions","config","configsIncludingChildren","libTypeDirPath","srcTypeDirPath","dirents","resolve","root","containingSubPackageJsons","undefined","ignoreEnoentAsync","readdir","withFileTypes","dirent","dirName","hasTypeDeclarationExtension","packageName","hasLibrary","slice","endsWith","includes","concat","some","_config$packageJson","_config$packageJson$d","_config$packageJson2","_config$packageJson2$","packageJson","dependencies","devDependencies","isFile","mkdir","recursive","isDirectory","spawnSync","command","args","retry","_getSpawnSyncArgs","getSpawnSyncArgs","_getSpawnSyncArgs2","_slicedToArray","newCmd","newArgs","log","ret","child_process","status","spawnSyncWithStringResult","_getSpawnSyncArgs4","stdio","proc","error","stderr","toString","trim","stdout","env","_objectSpread","process","PATH","BERRY_BIN_FOLDER","ASDF_DIR","shell","generateVersionConfigs","_generateVersionConfigs","core","POETRY_VERSION","PYTHON_VERSION","JAVA_VERSION","_core","lines","version","toolVersionsPath","versionsText","split","versionText","line","_line$split","_line$split2","push","containingPoetryLock","updateVersion","existsSync","depending","firebase","containingPackageJson","length","rm","force","toolName","newVersion","head","index","findIndex","l","newLine","_lines$index$split2","_lines$index$split","convertVersionIntoNumber","splice","versionNumber","divisor","Number","filter","isNaN","err","extensions","codeWith2IndentSize","sort","codeWith4IndentSize","codeWith8IndentSize","markdownLike","eslint","prettier","fsUtil","fsp","generateExtensions","generateEditorconfig","_generateEditorconfig","userContentHeader","userContentHeaderRegex","separator","defaultHeadUserContent","defaultTailUserContent","ignoreFileUtil","separatorPrefix","readGitignoreWithoutSeparators","lastHeaderIndex","getIndexOfTailUserContentHeader","getHeadUserContent","indexOf","getTailUserContent","isBerryZeroInstallEnabled","lastIndex","lastIndexOf","commonContent","generateEslintignore","_generateEslintignore","_yield$fsUtil$readFil","headUserContent","tailUserContent","gitignoreFilePath","gitignoreContent","t3","overwriteMerge","destinationArray","sourceArray","combineMerge","target","source","destination","entries","_step$value","item","cloneUnlessOtherwiseSpecified","isMergeableObject","merge","generateEslintrc","_generateEslintrc","rootConfig","bases","newSettings","oldContent","oldSettings","newExtends","blitz","eslintBase","extends","JSON","parse","ext","startsWith","arrayMerge","addExtensionToHead","stringify","extension","_toConsumableArray","generateGitattributes","_generateGitattributes","defaultNames","generateGitignore","_generateGitignore","names","generated","_ret","containingGemfile","containingGoMod","basename","containingPomXml","containingPubspecYaml","containingTemplateYaml","prisma","playwright","reactNative","storybook","_yield$readCache","url","response","responseText","readCache","fetch","text","v","writeCache","_typeof","t4","os","homedir","_x3","_x4","_writeCache","_x5","_readCache","stat","_context5","Date","now","mtimeMs","_callee4","EslintUtil","containingJsxOrTsx","token","GH_BOT_PAT","PUBLIC_GH_BOT_PAT","GH_TOKEN","GITHUB_TOKEN","hasGitHubToken","octokit","Octokit","auth","gitHubUtil","GitHubUtil","urlOrFullName","_names$at","_names$at$replace","_names$at2","urlWithoutProtocol","at","srcDirectories","node","blitz0","blitz2","getSrcDirs","jsCommonDeps","tsCommonDeps","reactCommonDeps","devDeps","generatePackageJson","_generatePackageJson","skipAddingDeps","_x6","_config$repository","_jsonObj$scripts$gen2","jsonText","jsonObj","_i","_Object$keys","scriptKey","poetryDependencies","_devDependencies","_jsonObj$publishConfi","_jsonObj$publishConfi2","_jsonObj$publishConfi3","_gitHubUtil$getOrgAnd","_gitHubUtil$getOrgAnd2","owner","_jsonObj$resolutions","dirs","pythonFiles","dirNameSet","pythonFile","_pythonFile$split","_pythonFile$split2","first","dirNamesStr","_jsonObj$scripts$gen","scripts","peerDependencies","removeDeprecatedStuff","Object","keys","generateScripts","prettify","generatePrettierSuffix","publicRepo","referredByOtherRepo","semanticRelease","workspaces","containingJavaScript","containingJavaScriptInPackages","containingTypeScript","containingTypeScriptInPackages","willBoosterConfigs","dep","license","publishConfig","access","getOrgAndName","repository","author","release","npm","esmPackage","resolutions","lint","cleanup","dir","format","postinstall","gitignore","ignore","Set","add","size","d","_jsonObj$devDependenc","_jsonObj$dependencies","_x7","_removeDeprecatedStuff","_i2","_Object$values","deps","values","typecheck","test","pyright","_x8","_generatePrettierSuffix","existingContent","originalContent","_callee5","DEFAULT_COMMAND","settings","preCommit","prePush","prePushForLab","postMerge","generateHuskyrc","_generateHuskyrc","_config$versionsText","packageJsonPath","preCommitFilePath","_generateScripts","postMergeCommands","postMergeCommand","mode","generateIdeaSettings","_generateIdeaSettings","generateLintstagedrc","_generateLintstagedrc","packagePrefix","packagesFilter","getEslintKey","getEslintFilterForPrettier","generatePrettierignore","_generatePrettierignore","additionalContent","venvPath","venv","generatePyrightConfigJson","_generatePyrightConfigJson","cloneDeep","generateReadme","_generateReadme","_config$repository2","fileNames","fileName","badgeName","badge","insertBadge","semanticReleaseBadge","readdirSync","charAt","toUpperCase","badgePos","inserted","i","generateReleaserc","_generateReleaserc","plugins","plugin","oldConfig","call","Array","isArray","preset","successComment","labels","releasedLabels","generateRenovateJson","_generateRenovateJson","sortKeys","obj","_ref","key1","key2","localeCompare","rootJsonObj","compilerOptions","module","moduleResolution","jsx","alwaysStrict","strict","skipLibCheck","allowSyntheticDefaultImports","esModuleInterop","resolveJsonModule","declaration","sourceMap","importHelpers","outDir","typeRoots","include","subJsonObj","generateTsconfig","_generateTsconfig","_newSettings$compiler6","_newSettings$include3","_newSettings$compiler","_newSettings$include","_newSettings$compiler2","_newSettings$compiler3","_newSettings$compiler4","_oldSettings$compiler","_newSettings$include2","_newSettings$compiler5","containingJsxOrTsxInPackages","workflows","on","pull_request","branches","jobs","uses","wbfy","workflow_dispatch","pull_request_target","types","issues","secrets","DISCORD_WEBHOOK_URL","GH_PROJECT_URL","generateWorkflows","_generateWorkflows","_rootConfig$repositor","workflowsPath","semanticYmlPath","kind","writeWorkflowYaml","_writeWorkflowYaml","_arr","_job$uses","_job$uses$includes","_job$uses2","job","params","yaml","load","depth","normalizeJob","schedule","setSchedule","migrateWorkflow","writeYaml","sync","sync_params_without_dest","server_url","_job$with","migrateJob","containingDockerfile","newSecrets","inclusiveMinHourJst","exclusiveMaxHourJst","_newSettings$on$sched","_newSettings$on$sched2","_split$map2","cron","minuteUtc","hourUtc","isInteger","hourJst","inRange","minJst","Math","floor","random","_writeYaml","yamlText","dump","lineWidth","noCompatMode","styles","generateYarnrcYml","_generateYarnrcYml","_settings$plugins$len","_settings$plugins","_settings$plugins$fil","_settings$plugins2","_settings$plugins3","currentVersion","latestVersion","releasesPath","yarnrcPath","yarnrcYmlPath","originalLength","pluginPath","requireTypeScript","getLatestVersion","getMajorNumber","file","t5","defaultSemverRangePrefix","nodeLinker","nmMode","enableGlobalCache","p","spec","importOrRemovePlugin","versionsJson","versions","requirePlugin","major","setupLabels","_setupLabels","repo","_stack","setupLabel","deleteLabel","warn","stack","_setupLabel","color","request","_deleteLabel","deprecatedSecretNames","setupSecrets","_setupSecrets","parsed","secretName","_response$data","keyId","_Object$entries","_Object$entries$_i","secret","rawKey","rawSec","encBytes","encBase64","dotenv","secret_name","data","key_id","sodium","ready","from_base64","base64_variants","ORIGINAL","from_string","crypto_box_seal","to_base64","encrypted_value","setupSettings","_setupSettings","getPackageConfig","_getPackageConfig","_repoInfo","_repoInfo2","_repoInfo3","_packageJson$dependen","_packageJson$devDepen","releaseBranches","releasePlugins","_json$plugins","releasercJsonPath","json","isRoot","repoInfo","_arr$_i","prefix","nodeVersionContent","readFileSync","type","flat","fetchRepoInfo","files","full_name","sep","containsAny","github","getEslintExtensionBase","pattern","globbySync","_fetchRepoInfo","_origin$refs$fetch","_origin$refs","_origin$refs2","_packageJson$reposito","git","remotes","origin","remoteUrl","_json","simpleGit","getRemotes","find","r","refs","requestRepoInfo","message","_requestRepoInfo","org","assign","_main","argv","yargs","positional","describe","array","default","skipDeps","description","alias","verbose","_yield$ignoreErrorAsy","rootDirPath","packagesDirPath","subDirPaths","nullableSubPackageConfigs","subPackageConfigs","allPackageConfigs","_config","ignoreErrorAsync","subDirPath","paths","main"],"mappings":"k4VAAMA,IAQOC,EAAU,OALrB,SAAcD,IAAAE,EAAAC,KAAAH,GAAAI,EAAAD,KAAA,iBAAA,GACZA,KAAKE,WAAY,CACnB,KCSWC,EAAS,IAZV,WAAA,SAAAC,IAAAL,EAAAC,KAAAI,EAAA,CAAA,IACVC,EAQC,OATSC,EAAAF,EAAA,CAAA,CAAAG,IAAA,WAAAC,OACVH,EAAAI,EAAAC,IAAAC,MAAA,SAAAC,EAAeC,EAAcC,GAAyB,OAAAJ,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAGnD,OAFGpB,EAAQI,WACViB,QAAQC,KAAkBP,aAAAA,OAAAA,EAAuB,qBAClDG,EAAAE,KAAA,EACKJ,IAAM,KAAA,EACRhB,EAAQI,WACViB,QAAQC,KAAmBP,cAAAA,OAAAA,EAAsB,oBAClD,KAAA,EAAA,IAAA,MAAA,OAAAG,EAAAK,OAAA,GAAAT,EACF,KAAA,SAAAU,EAAAC,GAAA,OAAAlB,EAAAmB,MAAAxB,KAAAyB,UAAA,MAAArB,CAAA,CATS,ICACsB,EAAc,IAAIC,ECM/B,SAAsBC,EAAgBN,GAAA,OAAAO,EAAAL,MAAAxB,KAAAyB,UAAA,CAyBrC,SAAAI,IAAA,OAAAA,EAAApB,EAAAC,IAAAC,MAzBM,WAAgCmB,GAAe,OAAApB,IAAAK,MAAA,SAAAgB,GAAA,cAAAA,EAAAd,KAAAc,EAAAb,MAAA,KAAA,EAAA,OAAAa,EAAAC,OAAA,SAC7C7B,EAAM,SAAU,mBAAoBM,EAAAC,IAAAC,MAAA,SAAAsB,IAAA,IAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAlC,IAAAK,MAAA,SAAA8B,GAAA,cAAAA,EAAA5B,KAAA4B,EAAA3B,MAAA,KAAA,EAAA,OAAA2B,EAAA3B,KAAA,EACnB4B,EAAO,UAAW,CAAEC,KAAK,EAAMC,IAAKlB,IAAU,KAAA,EAA9DI,EAAOW,EAAAI,KAAAd,EAAAe,EACQhB,GAAOW,EAAA5B,KAAA,EAAAoB,EAAA3B,IAAAC,MAAA,SAAA0B,IAAA,IAAAc,EAAAT,EAAA,OAAAhC,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EACiB,OADlCiC,EAAMf,EAAA5B,MACTkC,EAAWW,EAAKC,KAAKxB,EAASqB,GAAOC,EAAAlC,KAAA,EACrCQ,EAAY6B,IAAI9C,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAA+B,EAAAC,EAAA,OAAAlC,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAE,KAAA,EACEsC,EAAGC,SAASC,SAAShB,EAAU,QAAO,KAAA,EAC4C,OADlGC,EAAO3B,EAAAiC,KACPL,EAAaD,EAAQgB,WAAW,OAAQ,OAAOA,WAAW,MAAO,QAAQA,WAAW,MAAO,QAAO3C,EAAAE,KAAA,EAClGsC,EAAGC,SAASG,UAAUlB,EAAUE,GAAW,KAAA,EAAA,IAAA,MAAA,OAAA5B,EAAAK,OAAA,GAAAT,EAClD,MAAC,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAgB,EAAA,IAAAF,EAAA0B,IAAA,KAAA,EAAA,IAAAzB,EAAAD,EAAA2B,KAAAC,KAAA,CAAAlB,EAAA3B,KAAA,GAAA,KAAA,CAAA,OAAA2B,EAAAmB,cAAA3B,IAAA,KAAA,GAAA,KAAA,EAAAQ,EAAA3B,KAAA,EAAA,MAAA,KAAA,GAAA2B,EAAA3B,KAAA,GAAA,MAAA,KAAA,GAAA2B,EAAA5B,KAAA,GAAA4B,EAAAoB,GAAApB,EAAA,MAAA,GAAAV,EAAA+B,EAAArB,EAAAoB,IAAA,KAAA,GAAA,OAAApB,EAAA5B,KAAA,GAAAkB,EAAAgC,IAAAtB,EAAAuB,OAAA,IAAA,KAAA,GAAA,OAAAvB,EAAA3B,KAAA,GAGkB4B,EAAO,gBAAiB,CAAEC,KAAK,EAAMC,IAAKlB,IAAU,KAAA,GAApEQ,EAAOO,EAAAI,KAAAV,EAAAW,EACQZ,GAAOO,EAAA5B,KAAA,GAAAsB,EAAAsB,IAAA,KAAA,GAAA,IAAArB,EAAAD,EAAAuB,KAAAC,KAAA,CAAAlB,EAAA3B,KAAA,GAAA,KAAA,CACiB,OADlCuB,EAAMD,EAAAhC,MACTkC,EAAWW,EAAKC,KAAKxB,EAASW,GAAOI,EAAA3B,KAAA,GACrBsC,EAAGC,SAASC,SAAShB,EAAU,QAAO,KAAA,GAIlB,OAJpCC,EAAOE,EAAAI,KACPL,EAAaD,EAChBgB,WAAW,kBAAmB,WAC9BA,WAAW,gBAAiB,YAC5BA,WAAW,gBAAiB,YAAWd,EAAA3B,KAAA,GACpCsC,EAAGC,SAASG,UAAUlB,EAAUE,GAAW,KAAA,GAAAC,EAAA3B,KAAA,GAAA,MAAA,KAAA,GAAA2B,EAAA3B,KAAA,GAAA,MAAA,KAAA,GAAA2B,EAAA5B,KAAA,GAAA4B,EAAAwB,GAAAxB,EAAA,MAAA,IAAAN,EAAA2B,EAAArB,EAAAwB,IAAA,KAAA,GAAA,OAAAxB,EAAA5B,KAAA,GAAAsB,EAAA4B,IAAAtB,EAAAuB,OAAA,IAAA,KAAA,GAAA,OAAAvB,EAAA3B,KAAA,GAG7CQ,EAAY4C,aAAY,KAAA,GAAA,IAAA,MAAA,OAAAzB,EAAAxB,OAAA,GAAAY,EAAA,KAAA,CAAA,CAAA,EAAA,GAAA,GAAA,IAAA,CAAA,GAAA,GAAA,GAAA,KAAA,OAC9B,KAAA,EAAA,IAAA,MAAA,OAAAF,EAAAV,OAAA,GAAAkD,EACH,KAAA1C,EAAAL,MAAAxB,KAAAyB,UAAA,CC5BD,SAAsB+C,EAAkBlD,GAAA,OAAAmD,EAAAjD,MAAAxB,KAAAyB,UAAA,CAiBvC,SAAAgD,IAAA,OAAAA,EAAAhE,EAAAC,IAAAC,MAjBM,WAAkC+D,GAAyB,OAAAhE,IAAAK,MAAA,SAAA8B,GAAA,cAAAA,EAAA5B,KAAA4B,EAAA3B,MAAA,KAAA,EAAA,OAAA2B,EAAAb,OAAA,SACzD7B,EAAM,SAAU,qBAAsBM,EAAAC,IAAAC,MAAA,SAAAsB,IAAA,OAAAvB,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAAlC,KAAA,EACrCyD,QAAQC,IACZF,EAAgBG,IAAG,WAAA,IAAAC,EAAArE,EAAAC,IAAAC,MAAC,WAAOoE,GAAc,IAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAzE,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAEkB,OADnD8D,EAAiB3B,EAAKC,KAAKyB,EAAgB,aAC3CE,EAAiB5B,EAAKC,KAAKyB,EAAgB,SAAQ/D,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEjDsC,EAAGC,SAAS2B,OAAOJ,EAAgBC,GAAe,KAAA,EAAA,OAAAjE,EAAAE,KAAA,EAC1BsC,EAAGC,SAASC,SAASL,EAAKC,KAAKyB,EAAgB,gBAAiB,QAAO,KAAA,EAC5B,OADnEG,EAAelE,EAAAiC,KACfkC,EAAqBD,EAAgBG,QAAQ,aAAc,SAAQrE,EAAAE,KAAA,GACnEsC,EAAGC,SAASG,UAAUP,EAAKC,KAAKyB,EAAgB,gBAAiBI,GAAmB,KAAA,GAAAnE,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAsE,GAAAtE,EAAA,MAAA,GAAA,KAAA,GAAA,IAAA,MAAA,OAAAA,EAAAK,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,EAAA,KAI7F,KAAA,OAAA,SAAAW,GAAA,OAAAuD,EAAAtD,MAAAxB,KAAAyB,UAAA,CAAA,CAXkB,KAYpB,KAAA,EAAA,IAAA,MAAA,OAAA2B,EAAA/B,OAAA,GAAAY,EAAA,OACD,KAAA,EAAA,IAAA,MAAA,OAAAY,EAAAxB,OAAA,GAAAkD,EACH,KAAAE,EAAAjD,MAAAxB,KAAAyB,UAAA,CCbD,SAAsB8D,EAAkBjE,EAAAC,GAAA,OAAAiE,EAAAhE,MAAAxB,KAAAyB,UAAA,CAoDvC,SAAA+D,IAAA,OAAAA,EApDM/E,EAAAC,IAAAC,MAAA,SAAAsB,EACLwD,EACAC,GAAyC,OAAAhF,IAAAK,MAAA,SAAA8B,GAAA,cAAAA,EAAA5B,KAAA4B,EAAA3B,MAAA,KAAA,EAAA,OAAA2B,EAAAb,OAAA,SAElC7B,EAAM,SAAU,qBAAsBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAA+E,EAAAC,EAAAC,EAAA1D,EAAAC,EAAAC,EAAA,OAAA3B,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAGiE,OAFtGyE,EAAiBtC,EAAKyC,QAAQL,EAAO3D,QAAS,UAC9C8D,EACJH,EAAOM,MAAQN,EAAOO,+BAA4BC,EAAY5C,EAAKyC,QAAQL,EAAO3D,QAAS,MAAO,SAAQsB,EAAAlC,KAAA,EAEtFgF,GAAkB,WAAA,OAAM1C,EAAG2C,QAAQR,EAAgB,CAAES,eAAe,OAAQ,KAAA,EAArF,GAAPP,EAAOzC,EAAAH,KACD,CAAAG,EAAAlC,KAAA,EAAA,KAAA,CAAA,OAAAkC,EAAApB,OAAA,UAAA,KAAA,EAAAG,EAAAe,EAES2C,GAAOzC,EAAAnC,KAAA,EAAAoB,EAAA3B,IAAAC,MAAA,SAAA0B,IAAA,IAAAgE,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAA/F,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAUzB,GAVQmF,EAAMjE,EAAA5B,MACT8F,EAAUD,EAAOxF,KAAK6F,MAAM,GAAI,GAChCH,EAA8BF,EAAOxF,KAAK8F,SAAS,UACrDH,EAAcD,EAA8BD,EAAUD,EAAOxF,MACjD+F,SAAS,QACvBJ,EAAW,IAAAK,OAAOL,EAAYnB,QAAQ,KAAM,OAExCoB,EAAaf,EAAyBoB,MAC1C,SAACrB,GAAM,IAAAsB,EAAAC,EAAAC,EAAAC,EAAA,eACLH,EAAAtB,EAAO0B,oCAAPJ,EAAoBK,iCAApBJ,EAAmCR,MAAkC,QAAlBf,EAAAA,EAAO0B,mBAAW,IAAAF,GAAiB,QAAjBC,EAAlBD,EAAoBI,uBAAe,IAAAH,OAAjB,EAAlBA,EAAsCV,QAGzFH,EAAOiB,WAAYf,EAA2B,CAAAvF,EAAAE,KAAA,GAAA,KAAA,CAAA,IAC5CuF,EAAU,CAAAzF,EAAAE,KAAA,GAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,GAENsC,EAAG+D,MAAMlE,EAAKC,KAAKqC,EAAgBW,IAAS,KAAA,GAAA,OAAAtF,EAAAE,KAAA,GAC5CQ,EAAY6B,KAAI,WAAA,OACpBC,EAAG4B,OAAO/B,EAAKC,KAAKqC,EAAgBU,EAAOxF,MAAOwC,EAAKC,KAAKqC,EAAgBW,EAAS,kBACtF,KAAA,GAAAtF,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAA,IACQ0E,EAAc,CAAA5E,EAAAE,KAAA,GAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,GAEjBsC,EAAG+D,MAAM3B,EAAgB,CAAE4B,WAAW,IAAO,KAAA,GAAA,OAAAxG,EAAAE,KAAA,GAC7CQ,EAAY6B,KAAI,WAAA,OACpBC,EAAG4B,OAAO/B,EAAKC,KAAKqC,EAAgBU,EAAOxF,MAAOwC,EAAKC,KAAKsC,EAAgBS,EAAOxF,UACpF,KAAA,GAAAG,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAA,IAEMmF,EAAOoB,gBAAiB7B,GAAmBa,EAAU,CAAAzF,EAAAE,KAAA,GAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,GAExDsC,EAAG+D,MAAM3B,EAAgB,CAAE4B,WAAW,IAAO,KAAA,GAAA,OAAAxG,EAAAE,KAAA,GAC7CQ,EAAY6B,KAAI,WAAA,OACpB2C,GAAkB,WAAA,OAChB1C,EAAG4B,OACD/B,EAAKC,KAAKqC,EAAgBU,EAAOxF,KAAM,cACvCwC,EAAKC,KAAKsC,EAAc,GAAAiB,OAAKR,EAAOxF,KAAI,iBAG7C,KAAA,GAAA,IAAA,MAAA,OAAAG,EAAAK,OAAA,GAAAgB,EAAA,IAAAF,EAAA0B,IAAA,KAAA,GAAA,IAAAzB,EAAAD,EAAA2B,KAAAC,KAAA,CAAAX,EAAAlC,KAAA,GAAA,KAAA,CAAA,OAAAkC,EAAAY,cAAA3B,IAAA,KAAA,IAAA,KAAA,GAAAe,EAAAlC,KAAA,GAAA,MAAA,KAAA,GAAAkC,EAAAlC,KAAA,GAAA,MAAA,KAAA,GAAAkC,EAAAnC,KAAA,GAAAmC,EAAAa,GAAAb,EAAA,MAAA,GAAAjB,EAAA+B,EAAAd,EAAAa,IAAA,KAAA,GAAA,OAAAb,EAAAnC,KAAA,GAAAkB,EAAAgC,IAAAf,EAAAgB,OAAA,IAAA,KAAA,GAAA,IAAA,MAAA,OAAAhB,EAAA/B,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,EAAA,GAAA,GAAA,KAAA,OAGL,KAAA,EAAA,IAAA,MAAA,OAAAiC,EAAAxB,OAAA,GAAAY,EACH,MAAAT,MAAAxB,KAAAyB,UAAA,CC3DM,SAASiG,EAAUC,EAAiBC,EAAgB5E,GAA8B,IAAjB6E,yDAAQ,EAC9E,EAAG,CACD,IAAAC,EAAmCC,EAAiBJ,EAASC,EAAM5E,GAAIgF,EAAAC,EAAAH,EAAA,GAAhEI,EAAMF,EAAA,GAAEG,EAAOH,EAAA,GAAElI,EAAOkI,EAAA,GAC/B7G,QAAQiH,IAASF,KAAAA,OAAAA,cAAUC,EAAQ7E,KAAK,KAAI,QAAAuD,OAAO/G,EAAQkD,MAC3D,IAAMqF,EAAMC,EAAcZ,UAAUQ,EAAQC,EAASrI,GACrD,GAAmB,IAAfuI,EAAIE,OAAc,KACxB,SAAWV,GAAS,EACtB,CAEO,SAASW,EAA0Bb,EAAiBC,EAAgB5E,GACzE,IAAuEyF,EAAAR,EAApCF,EAAiBJ,EAASC,EAAM5E,GAAI,GAAhEkF,EAAMO,EAAA,GAAEN,EAAOM,EAAA,GAAE3I,EAAO2I,EAAA,GAC/B3I,EAAQ4I,MAAQ,OAChB,IAAMC,EAAOL,EAAcZ,UAAUQ,EAAQC,EAASrI,GAChD8I,EAAQD,EAAKE,OAAOC,WAAWC,OAIrC,OAHIH,GACFzH,QAAQyH,MAAK,GAAA/B,OAAIqB,EAAM,MAAArB,OAAKsB,EAAQtD,KAAI,SAAChB,GAAC,MAAA,IAAAgD,OAAShD,EAAC,IAAG,IAAoC+E,oCAAAA,OAAAA,IAEtFD,EAAKK,OAAOF,WAAWC,MAChC,CAEO,SAAShB,EAAiBJ,EAAiBC,EAAgB5E,GAChE,IAAMiG,EAAGC,EAAA,CAAA,EAAQC,QAAQF,KAUzB,OARIA,EAAIG,MAAQH,EAAII,mBAClBJ,EAAIG,KAAOH,EAAIG,KAAK/D,QAAO,GAAAwB,OAAIoC,EAAII,iBAAgB,KAAK,KAGtDJ,EAAIK,WACN1B,EAAO,CAAC,KAAM,KAAI,KAAAf,OAAOoC,EAAIK,SAAuB3B,gBAAAA,OAAAA,cAAWC,EAAKtE,KAAK,OACzEqE,EAAU,QAEL,CACLA,EACAC,EACA,CACE5E,IAAAA,EACAiG,IAAAA,EACAM,OAAO,EACPb,MAAO,WAGb,CCnCA,SAAsBc,EAAsBlI,GAAA,OAAAmI,EAAAjI,MAAAxB,KAAAyB,UAAA,CAI3C,SAAAgI,IAAA,OAAAA,EAAAhJ,EAAAC,IAAAC,MAJM,WAAsC8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SACzD7B,EAAM,SAAU,yBAA0BM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,OAAAF,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAE,KAAA,EACzCwI,EAAKjE,GAAO,KAAA,EAAA,IAAA,MAAA,OAAAzE,EAAAK,OAAA,GAAAT,EAAA,OAClB,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,MAAAT,MAAAxB,KAAAyB,UAAA,CAED,IAAMkI,EAAiB,QACjBC,EAAiB,SACjBC,EAAe,yBAAyB,SAE/BH,EAAInI,GAAA,OAAAuI,EAAAtI,MAAAxB,KAAAyB,UAAA,CAAA,SAAAqI,IAyClB,OAzCkBA,EAAArJ,EAAAC,IAAAC,MAAnB,WAAoB8E,GAAqB,IAAAsE,EAAAxH,EAAAC,EAAAH,EAAA2H,EAAAC,EAAA,OAAAvJ,IAAAK,MAAA,SAAAgB,GAAA,cAAAA,EAAAd,KAAAc,EAAAb,MAAA,KAAA,EAAA,GAClCuE,EAAOyE,aAAY,CAAAnI,EAAAb,KAAA,EAAA,KAAA,CAAA,OAAAa,EAAAC,OAAA,UAAA,KAAA,EAElB+H,EAAkB,GAAExH,EACAkD,EAAAA,EAAOyE,aAAanB,OAAOoB,MAAM,OAAKpI,EAAAd,KAAA,EAAAoB,EAAA3B,IAAAC,MAAA,SAAA0B,IAAA,IAAA+H,EAAAC,EAAAC,EAAAC,EAAA1J,EAAAmJ,EAAA,OAAAtJ,IAAAK,MAAA,SAAA8B,GAAA,cAAAA,EAAA5B,KAAA4B,EAAA3B,MAAA,KAAA,EAE1C,GAFXkJ,EAAW5H,EAAAhC,MACd6J,EAAOD,EAAYrB,OAAMuB,EACPD,EAAKF,MAAM,OAAMI,EAAAtC,EAAAqC,EAAA,GAAlCzJ,EAAI0J,EAAA,GAAEP,EAAOO,EAAA,GACf1J,GAASmJ,EAAO,CAAAnH,EAAA3B,KAAA,EAAA,KAAA,CAAA,OAAA2B,EAAAb,OAAA,SAAA,YAAA,KAAA,EAAA,GACR,WAATnB,EAAiB,CAAAgC,EAAA3B,KAAA,GAAA,KAAA,CAAA,OAAA2B,EAAA3B,KAAA,EACbQ,EAAY6B,KAAI,WAAA,OAAMC,EAAGC,SAASG,UAAUP,EAAKyC,QAAQL,EAAO3D,QAAS,iBAAkBkI,EAAU,SAAM,KAAA,EAAAnH,EAAA3B,KAAA,GAAA,MAAA,KAAA,GAAA,GAC/F,WAATL,EAAiB,CAAAgC,EAAA3B,KAAA,GAAA,KAAA,CAAA,OAAA2B,EAAA3B,KAAA,GACpBQ,EAAY6B,KAAI,WAAA,OACpBC,EAAGC,SAASG,UAAUP,EAAKyC,QAAQL,EAAO3D,QAAS,mBAAoBkI,EAAU,SAClF,KAAA,GAAAnH,EAAA3B,KAAA,GAAA,MAAA,KAAA,GAED6I,EAAMS,KAAKH,GAAM,KAAA,GAAA,IAAA,MAAA,OAAAxH,EAAAxB,OAAA,GAAAgB,EAAA,IAAAE,EAAAsB,IAAA,KAAA,EAAA,IAAArB,EAAAD,EAAAuB,KAAAC,KAAA,CAAAhC,EAAAb,KAAA,GAAA,KAAA,CAAA,OAAAa,EAAAiC,cAAA3B,IAAA,KAAA,GAAA,KAAA,EAAA,GAAA,aAAAN,EAAAuD,GAAA,CAAAvD,EAAAb,KAAA,GAAA,KAAA,CAAA,OAAAa,EAAAC,OAAA,WAAA,IAAA,KAAA,GAAAD,EAAAb,KAAA,EAAA,MAAA,KAAA,GAAAa,EAAAb,KAAA,GAAA,MAAA,KAAA,GAAAa,EAAAd,KAAA,GAAAc,EAAAkC,GAAAlC,EAAA,MAAA,GAAAQ,EAAA2B,EAAAnC,EAAAkC,IAAA,KAAA,GAAA,OAAAlC,EAAAd,KAAA,GAAAsB,EAAA4B,IAAApC,EAAAqC,OAAA,IAAA,KAAA,GAmBkD,OAfnEqB,EAAOgF,uBACTC,EAAcX,EAAO,SAAUJ,GAE1BnG,EAAGmH,WAAWtH,EAAKyC,QAAQL,EAAO3D,QAAS,qBAC9C4I,EAAcX,EAAO,SAAUH,GAAgB,IAG/CnE,EAAOmF,UAAUC,UACnBH,EAAcX,EAAO,OAAQF,GAAc,GAEzCpE,EAAOqF,wBACHd,EAAUxB,EAA0B,MAAO,CAAC,OAAQ,OAAQ,WAAY/C,EAAO3D,SACrF4I,EAAcX,EAAO,OAAQC,IAGzBC,EAAmB5G,EAAKyC,QAAQL,EAAO3D,QAAS,kBAAiBC,EAAAb,KAAA,GAChE6I,EAAMgB,OAAS,EAClBrJ,EAAY6B,KAAI,WAAA,OAAMC,EAAGC,SAASG,UAAUqG,EAAkBF,EAAMzG,KAAK,MAAQ,KAAK,IACtF5B,EAAY6B,KAAI,WAAA,OAAMC,EAAGC,SAASuH,GAAGf,EAAkB,CAAEgB,OAAO,OAAQ,KAAA,GAAA,OAAAlJ,EAAAb,KAAA,GACtEQ,EAAY4C,aAAY,KAAA,GAC9BoD,EAAU,OAAQ,CAAC,SAAU,SAAU,SAAUjC,EAAO3D,SACxD4F,EAAU,OAAQ,CAAC,WAAYjC,EAAO3D,SAAS,KAAA,GAAA,IAAA,MAAA,OAAAC,EAAAV,OAAA,GAAAkD,EAAA,KAAA,CAAA,CAAA,EAAA,GAAA,GAAA,KAChD,MAAA/C,MAAAxB,KAAAyB,UAAA,CAED,SAASiJ,EAAcX,EAAiBmB,EAAkBC,GAAwC,IAApBC,0DACtEC,EAAQtB,EAAMuB,WAAU,SAACC,GAAC,OAAKA,EAAEpB,MAAM,OAAO,KAAOe,KACrDM,EAAO,GAAA3E,OAAMqE,EAAQ,KAAArE,OAAIsE,GAC/B,GAAIE,GAAS,EAAG,CACd,IAAoBtB,EAAAA,EAAMsB,GAAOlB,MAAM,OAAMsB,EAAAxD,EAAAyD,EAAA,GAApC1B,EAAOyB,EAAA,GACZE,GAAyBR,GAAcQ,GAAyB3B,KAClED,EAAMsB,GAASG,EAEnB,MACEzB,EAAM6B,OAAOR,EAAO,EAAIrB,EAAMgB,OAAQ,EAAGS,EAE7C,CAEA,SAASG,GAAyB3B,GAEhC,IAGyB5H,EAFrByJ,EAAgB,EAChBC,EAAU,EAAE3J,EAAAe,EAFA8G,EAAQG,MAAM,SAAStF,IAAIkH,QAAQC,OAAOD,OAAOE,QAGxC,IAAzB,IAA2B9J,EAAA0B,MAAAzB,EAAAD,EAAA2B,KAAAC,MAAA,CACzB8H,GADYzJ,EAAA5B,MACWsL,EACvBA,GAAW,GACb,CAAC,CAAA,MAAAI,GAAA/J,EAAA+B,EAAAgI,EAAA,CAAA,QAAA/J,EAAAgC,GAAA,CACD,OAAO0H,CACT,CCpFO,IAAMM,GAAa,CACxBC,oBAAqB,CACnB,MACA,MACA,KACA,MACA,MACA,MACA,KACA,MACA,OACA,QACA,MACA,OACA,MACA,OACA,KACA,OACA,KACA,MACA,OACA,OACAC,OACFC,oBAAqB,CAAC,KAAM,SAAU,MAAMD,OAC5CE,oBAAqB,CAAC,MAAMF,OAC5BG,aAAc,CAAC,MAAMH,OACrBI,OAAQ,CAAC,MAAO,MAAO,KAAM,MAAO,MAAO,KAAM,MAAO,OAAOJ,OAC/DK,SAAU,CACR,MACA,MACA,KACA,MACA,MACA,MACA,KACA,MACA,OACA,QACA,MACA,MACA,OACA,KACA,OACA,MACA,OACA,OACAL,QC5CSM,GACgB,SAACjK,GAA+C,OAAAjC,EAAAC,IAAAC,MAAA,SAAAC,IAAA,OAAAF,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAE1D0L,EAAIlJ,SAAShB,EAAU,QAAO,KAAA,EAAA,OAAA1B,EAAAgB,OAAA,SAAAhB,EAAAiC,MAAA,KAAA,EAAAjC,EAAAC,KAAA,EAAAD,EAAAsE,GAAAtE,EAAA,MAAA,GAAA,KAAA,EAAA,IAAA,MAAA,OAAAA,EAAAK,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,EAAA,IAAA,IAF4BH,EAM1E,EAPUkM,GAQQjK,SAAAA,EAAkBC,GAAgC,OAAAlC,EAAAC,IAAAC,MAAA,SAAAsB,IAAA,OAAAvB,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAAlC,KAAA,EAC7D0L,EAAIhJ,UAAUlB,EAAUC,GAAQ,KAAA,EACtCxB,QAAQiH,IAAiB1F,aAAAA,OAAAA,IAAY,KAAA,EAAA,IAAA,MAAA,OAAAU,EAAA/B,OAAA,GAAAY,EAAA,IAF8BxB,EAGrE,ECLImC,GAAU,0HAAAiE,OAQdgG,GAAmBV,GAAWC,qBAI9BS,+CAAAA,OAAAA,GAAmBV,GAAWG,qBAAoB,+CAAAzF,OAIlDgG,GAAmBV,GAAWI,qBAI9BM,+CAAAA,OAAAA,GAAmBV,GAAWK,cAM/B,wGAED,SAAsBM,GAAoBxL,GAAA,OAAAyL,GAAAvL,MAAAxB,KAAAyB,UAAA,CAKzC,SAAAsL,KAAA,OAAAA,GAAAtM,EAAAC,IAAAC,MALM,WAAoC8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SACvD7B,EAAM,SAAU,uBAAwBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAA8B,EAAA,OAAAhC,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACiB,OAAxDwB,EAAWW,EAAKyC,QAAQL,EAAO3D,QAAS,iBAAgBd,EAAAE,KAAA,EACxDQ,EAAY6B,KAAI,WAAA,OAAMoJ,GAAoBjK,EAAUE,OAAY,KAAA,EAAA,IAAA,MAAA,OAAA5B,EAAAK,OAAA,GAAAT,EAAA,OACtE,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,MAAAT,MAAAxB,KAAAyB,UAAA,CAED,SAASoL,GAAmBV,GAC1B,OAAOA,EAAWpB,OAAS,gBAAWoB,EAAW7I,KAAK,KAAI,MAAA,MAAAuD,OAAasF,EAAW,GAAK,IACzF,CC3CA,IAAMa,GAAoB,8BACpBC,GAAyB,wCACzBC,GAAY,sBAEZC,GAAsB,GAAAtG,OAAMmG,GAAiB,iBAAAnG,OAGjDqG,GACD,MACKE,GACJJ,KAAAA,OAAAA,GACD,aAEYK,GAAiB,CAC5BH,UAAAA,GACAI,gBAZsB,kBAatBH,uBAAAA,GACAC,uBAAAA,GACMG,+BAA8B,SAAC7K,GAA+C,OAAAjC,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAA+B,EAAA6K,EAAA,OAAA9M,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAE5DsC,EAAGC,SAASC,SAAShB,EAAU,QAAO,KAAA,EAIzD,OAJGC,EAAO3B,EAAAiC,MACLuK,EAAkBC,GAAgC9K,IAClC,IACpBA,EAAUA,EAAQ+D,MAAM,EAAG8G,EAAkB,IAG7C7K,EAAAA,OAAAA,SAAAA,EACG0C,QAAQ4H,GAAwB,IAChC5H,QAAQ,4BAA6B,IACrCA,QAAQ,uBAAwB,QAChC0D,OAAS,MAAI,KAAA,EAAA/H,EAAAC,KAAA,EAAAD,EAAAsE,GAAAtE,EAAA,MAAA,GAAA,KAAA,GAAA,IAAA,MAAA,OAAAA,EAAAK,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,EAAA,IAAA,IAZ8DH,EAiBnF,EACDiN,mBAAkB,SAAC/K,GACjB,IAAM0I,EAAQ1I,EAAQgL,QAAQ3N,KAAKsN,iBACnC,OAAIjC,GAAS,EACJ1I,EACJ+D,MAAM,EAAG/D,EAAQgL,QAAQ,KAAMtC,GAAS,GACxChG,QAAQ4H,GAA2BD,GAAAA,OAAAA,GAA6B,cAE9DG,EACR,EACDS,mBAAkB,SAACjL,GACjB,IAAM6K,EAAkBC,GAAgC9K,GACxD,OAAI6K,EAAkB,EACb7K,EAAQ+D,MAAM8G,EAAkB,GAElCJ,EACR,EACKS,0BAAyB,SAACnL,GAAoC,OAAAjC,EAAAC,IAAAC,MAAA,SAAAsB,IAAA,IAAAU,EAAA,OAAAjC,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAAnC,KAAA,EAAAmC,EAAAlC,KAAA,EAE1CsC,EAAGC,SAASC,SAAShB,EAAU,QAAO,KAAA,EAA/C,OAAPC,EAAOS,EAAAH,KAAAG,EAAApB,OAAA,SACNW,EAAQiE,SAAS,mBAAiB,KAAA,EAAA,OAAAxD,EAAAnC,KAAA,EAAAmC,EAAAkC,GAAAlC,EAAA,MAAA,GAAAA,EAAApB,OAAA,UAElC,GAAK,KAAA,GAAA,IAAA,MAAA,OAAAoB,EAAA/B,OAAA,GAAAY,EAAA,KAAA,CAAA,CAAA,EAAA,IAAA,IALoDxB,EAOpE,GAGF,SAASgN,GAAgC9K,GACvC,IAAM0I,EAAQ1I,EAAQgL,QAAQX,IACxBc,EAAYnL,EAAQoL,YAAYf,IACtC,OAAOc,EAAYzC,EAAQyC,GAAa,CAC1C,CC5DA,IAAME,GAaL,wIAED,SAAsBC,GAAoB3M,GAAA,OAAA4M,GAAA1M,MAAAxB,KAAAyB,UAAA,CAazC,SAAAyM,KAAA,OAAAA,GAAAzN,EAAAC,IAAAC,MAbM,WAAoC8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SACvD7B,EAAM,SAAU,uBAAwBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAAuN,EAAAzL,EAAAC,EAAAyL,EAAAC,EAAAC,EAAAC,EAAA3L,EAAA,OAAAlC,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACiB,OAAxDwB,EAAWW,EAAKyC,QAAQL,EAAO3D,QAAS,iBAAgBd,EAAAE,KAAA,EACvCyL,GAA6BjK,GAAS,KAAA,EAAA,GAAA1B,EAAAiD,GAAAkK,EAAAnN,EAAAiC,KAAAjC,EAAAsE,GAAA,OAAAtE,EAAAiD,IAAAjD,EAAAsE,GAAA,CAAAtE,EAAAE,KAAA,EAAA,KAAA,CAAAF,EAAAsE,QAAA,IAAA6I,EAAA,KAAA,EAAA,IAAAnN,EAAAsE,GAAA,CAAAtE,EAAAE,KAAA,GAAA,KAAA,CAAAF,EAAAqD,GAAA8J,EAAAnN,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAqD,GAAK,GAAE,KAAA,GAIA,OAJ9D1B,EAAO3B,EAAAqD,GACP+J,EAAkBf,GAAeK,mBAAmB/K,GAAWqL,GAC/DK,EAAkBhB,GAAeO,mBAAmBjL,GAEpD2L,EAAoBjL,EAAKyC,QAAQL,EAAO3D,QAAS,cAAad,EAAAE,KAAA,GACpCmM,GAAeE,+BAA+Be,GAAkB,KAAA,GAAA,GAAAtN,EAAAwN,GAAAxN,EAAAiC,KAAAjC,EAAAwN,GAAA,CAAAxN,EAAAE,KAAA,GAAA,KAAA,CAAAF,EAAAwN,GAAK,GAAE,KAAA,GAEhB,OAFjFD,EAAgBvN,EAAAwN,GAEhB5L,EAAawL,EAAkBJ,GAAgBO,EAAmBF,EAAerN,EAAAE,KAAA,GACjFQ,EAAY6B,KAAI,WAAA,OAAMoJ,GAAoBjK,EAAUE,MAAY,KAAA,GAAA,IAAA,MAAA,OAAA5B,EAAAK,OAAA,GAAAT,EAAA,OACtE,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,KAAAiM,GAAA1M,MAAAxB,KAAAyB,UAAA,CClCM,SAASgN,GAAeC,EAAyBC,GACtD,OAAOA,CACT,CAGO,SAASC,GAAaC,EAAeC,EAAehP,GACzD,IAE4CsC,EAFtC2M,EAAkBF,EAAAA,GAEIC,EAAAA,EAAAA,EAAOE,WAAS,IAA5C,IAA8C7M,EAAA0B,MAAAzB,EAAAD,EAAA2B,KAAAC,MAAA,CAAA,IAAAkL,EAAAhH,EAAA7F,EAAA5B,MAAA,GAAlC6K,EAAK4D,EAAA,GAAEC,EAAID,EAAA,QACMhJ,IAAvB8I,EAAY1D,GACd0D,EAAY1D,GAASvL,EAAQqP,8BAA8BD,EAAMpP,GACxDA,EAAQsP,kBAAkBF,GACnCH,EAAY1D,GAASgE,EAAMR,EAAOxD,GAAQ6D,EAAMpP,GACtC+O,EAAOjI,SAASsI,IAC1BH,EAAYvE,KAAK0E,EAErB,CAAC,CAAA,MAAAhD,GAAA/J,EAAA+B,EAAAgI,EAAA,CAAA,QAAA/J,EAAAgC,GAAA,CACD,OAAO4K,CACT,CCTA,SAAsBO,GAAgBhO,EAAAC,GAAA,OAAAgO,GAAA/N,MAAAxB,KAAAyB,UAAA,CAyCrC,SAAA8N,KAAA,OAAAA,GAzCM9O,EAAAC,IAAAC,MAAA,SAAAsB,EAAgCwD,EAAuB+J,GAAyB,OAAA9O,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SAC9E7B,EAAM,SAAU,mBAAoBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAA6O,EAAAC,EAAAhN,EAAAiN,EAAAC,EAAAC,EAAAjN,EAAA,OAAAlC,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GAEN,MAA/BsO,EAAW5E,UAAUkF,MAAa,CAAA9O,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAgB,OAAA,UAAA,KAAA,EAWyB,OATzDyN,EAAQ,GACVhK,EAAOsK,YACTN,EAAMjF,KAAK/E,EAAOsK,YAEhBtK,IAAW+J,GACbC,EAAMjF,KAAK,wBAETkF,EAAmB,CAAE3J,MAAM,EAAMiK,QAASP,GAExC/M,EAAWW,EAAKyC,QAAQL,EAAO3D,QAAS,kBAAiBd,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAEpCsC,EAAGC,SAASC,SAAShB,EAAU,QAAO,KAAA,GAAzDiN,EAAU3O,EAAAiC,MACV2M,EAAcK,KAAKC,MAAMP,cAE7BC,EAAW,QAAWA,EAAW,QAAS5D,QACxC,SAACmE,GAAW,OAAMA,EAAIC,WAAW,kBAA4B,yBAARD,MAGpC,IAAjBV,EAAM1E,SACR6E,EAAW,QAAW,IAElBC,EAAaH,EAAmB,QACtCA,EAAW,QAAWE,EAAmB,QACzCA,EAAW,QAAWC,EACtBH,EAAcL,EAAMzK,IAAI,CAAC8K,EAAaE,EAAaF,GAAc,CAAEW,WAAYzB,KAChD,MAA3BnJ,EAAOmF,UAAUkF,MACnBQ,GAAmBZ,EAAa,SACI,MAA3BjK,EAAOmF,UAAUkF,OAC1BQ,GAAmBZ,EAAa,wBACjC1O,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAsE,GAAAtE,EAAA,MAAA,GAAA,KAAA,GAI2C,OAAxC4B,EAAaqN,KAAKM,UAAUb,GAAY1O,EAAAE,KAAA,GACxCQ,EAAY6B,KAAI,WAAA,OAAMoJ,GAAoBjK,EAAUE,MAAY,KAAA,GAAA,IAAA,MAAA,OAAA5B,EAAAK,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,EAAA,KAAA,OACtE,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,KAAAsN,GAAA/N,MAAAxB,KAAAyB,UAAA,CAED,SAAS6O,GAAmBZ,EAAkBc,GAC5Cd,EAAW,QAAYc,CAAAA,GAAcd,OAAAA,EAAAA,UAAoB1D,QAAO,SAAC9H,GAAS,OAAKA,IAAMsM,CAAS,KAChG,CChDA,IAAM5N,GAIJ,4CAAAiE,OAAA,GAAAA,OAAA4J,EAAItE,GAAWC,uBAAwBD,GAAWG,qBAAmBmE,EAAKtE,GAAWK,eACpF3H,KAAI,SAACsL,GAAG,MAAA,KAAAtJ,OAAUsJ,EAAG,eAAA,IACrB7M,KAAK,MACP,MAED,SAAsBoN,GAAqBpP,GAAA,OAAAqP,GAAAnP,MAAAxB,KAAAyB,UAAA,CAK1C,SAAAkP,KAAA,OAAAA,GAAAlQ,EAAAC,IAAAC,MALM,WAAqC8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SACxD7B,EAAM,SAAU,wBAAyBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAA8B,EAAA,OAAAhC,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACiB,OAAzDwB,EAAWW,EAAKyC,QAAQL,EAAO3D,QAAS,kBAAiBd,EAAAE,KAAA,EACzDQ,EAAY6B,KAAI,WAAA,OAAMoJ,GAAoBjK,EAAUE,OAAY,KAAA,EAAA,IAAA,MAAA,OAAA5B,EAAAK,OAAA,GAAAT,EAAA,OACtE,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,MAAAT,MAAAxB,KAAAyB,UAAA,CCXD,IAAMmP,GAAe,CAAC,UAAW,QAAS,QAAS,YAAa,mBAAoB,QAAS,MAAO,QAE9F5C,GAML,qDAED,SAAsB6C,GAAiBvP,EAAAC,GAAA,OAAAuP,GAAAtP,MAAAxB,KAAAyB,UAAA,CAoHtC,SAAAqP,KAAA,OAAAA,GApHMrQ,EAAAC,IAAAC,MAAA,SAAAsB,EAAiCwD,EAAuB+J,GAAyB,OAAA9O,IAAAK,MAAA,SAAA8B,GAAA,cAAAA,EAAA5B,KAAA4B,EAAA3B,MAAA,KAAA,EAAA,OAAA2B,EAAAb,OAAA,SAC/E7B,EAAM,SAAU,oBAAqBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAAuN,EAAAzL,EAAAC,EAAAyL,EAAAC,EAAA0C,EAAAC,EAAA7O,EAAAC,EAAAC,EAAA4O,EAAArO,EAAA,OAAAlC,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EACiB,OAArDwB,EAAWW,EAAKyC,QAAQL,EAAO3D,QAAS,cAAasB,EAAAlC,KAAA,EACpCyL,GAA6BjK,GAAS,KAAA,EAAA,GAAAU,EAAAa,GAAAkK,EAAA/K,EAAAH,KAAAG,EAAAkC,GAAA,OAAAlC,EAAAa,IAAAb,EAAAkC,GAAA,CAAAlC,EAAAlC,KAAA,EAAA,KAAA,CAAAkC,EAAAkC,QAAA,IAAA6I,EAAA,KAAA,EAAA,IAAA/K,EAAAkC,GAAA,CAAAlC,EAAAlC,KAAA,GAAA,KAAA,CAAAkC,EAAAiB,GAAA8J,EAAA/K,EAAAlC,KAAA,GAAA,MAAA,KAAA,GAAAkC,EAAAiB,GAAK,GAAE,KAAA,GAA9D1B,EAAOS,EAAAiB,GACT+J,EAAkBf,GAAeK,mBAAmB/K,GAAWqL,GAC7DK,EAAkBhB,GAAeO,mBAAmBjL,GAEpDoO,YAAYH,IACdnL,EAAOyL,mBACTH,EAAMvG,KAAK,QAET/E,EAAO0L,kBACTJ,EAAMvG,KAAK,MACX4D,GAAe,GAAAvH,OAAOxD,EAAK+N,SAAS3L,EAAO3D,SAChD,OAEO2D,EAAOqF,uBACTiG,EAAMvG,KAAK,QAET/E,EAAO4L,mBACTN,EAAMvG,KAAK,SACX4D,GACL,kCAEO3I,EAAO6L,wBACTP,EAAMvG,KAAK,UAAW,gBAAiB,QACvC4D,GAIL,qGAEO3I,EAAO8L,yBACTnD,GAEL,8BAGO3I,EAAOgF,uBACTsG,EAAMvG,KAAK,UACX4D,GACL,YAGOoB,EAAW5E,UAAUkF,QACvBiB,EAAMvG,KAAK,UACX4D,GAEL,wBAEOoB,EAAW5E,UAAUC,UAAYpF,EAAOmF,UAAUC,WACpDkG,EAAMvG,KAAK,YAETgF,EAAW5E,UAAU4G,SACvBpD,GAEL,kCAEOoB,EAAW5E,UAAU6G,aACvBrD,GACL,oBAEOoB,EAAW5E,UAAU8G,aAAejM,EAAOmF,UAAU8G,eACvDX,EAAMvG,KAAK,eACX4D,GAEL,wDAEOoB,EAAW5E,UAAU+G,WACvBZ,EAAMvG,KAAK,eAGTwG,EAAY,GAAE7O,EAAAe,EACC6N,GAAK3N,EAAAnC,KAAA,GAAAoB,EAAA3B,IAAAC,MAAA,SAAA0B,IAAA,IAAAuP,EAAA/Q,EAAA8B,EAAAkP,EAAAC,EAAAC,EAAA,OAAArR,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAT,OAAJL,EAAIuB,EAAA5B,MAAAQ,EAAAE,KAAA,EACQ8Q,GAAUnR,GAAK,KAAA,EAAA,GAAAG,EAAAiD,GAAA2N,EAAA5Q,EAAAiC,KAAAjC,EAAAsE,GAAA,OAAAtE,EAAAiD,IAAAjD,EAAAsE,GAAA,CAAAtE,EAAAE,KAAA,EAAA,KAAA,CAAAF,EAAAsE,QAAA,IAAAsM,EAAA,KAAA,EAAA,IAAA5Q,EAAAsE,GAAA,CAAAtE,EAAAE,KAAA,GAAA,KAAA,CAAAF,EAAAqD,GAAAuN,EAAA5Q,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAqD,GAAK,GAAE,KAAA,GAAhC,GAAP1B,EAAO3B,EAAAqD,GACC,CAAArD,EAAAE,KAAA,GAAA,KAAA,CACyD,OAA7D2Q,4DAAyDhR,GAAIG,EAAAE,KAAA,GAC5C+Q,MAAMJ,GAAI,KAAA,GAAnB,OAARC,EAAQ9Q,EAAAiC,KAAAjC,EAAAE,KAAA,GACa4Q,EAASI,OAAM,KAAA,GAAxB,KAAZH,EAAY/Q,EAAAiC,MACD2D,SAAS,uBAAsB,CAAA5F,EAAAE,KAAA,GAAA,KAAA,CACN,OAAxCC,QAAQyH,MAAyBiJ,mBAAAA,OAAAA,IAAO7Q,EAAAgB,OAAA,SAAA,CAAAmQ,OAAA,IAAA,KAAA,GAGZ,OAA9BxP,EAAUoP,EAAahJ,OAAO/H,EAAAE,KAAA,GACxBQ,EAAY6B,KAAI,WAAA,OAAM6O,GAAWvR,EAAM8B,MAAS,KAAA,GAClD7C,EAAQI,WACViB,QAAQC,KAAgByQ,WAAAA,OAAAA,IACzB,KAAA,GAECb,IAAWA,GAAa,MAC5BA,GAAarO,EAAU,KAAK,KAAA,GAAA,IAAA,MAAA,OAAA3B,EAAAK,OAAA,GAAAgB,EAAA,IAAAF,EAAA0B,IAAA,KAAA,GAAA,IAAAzB,EAAAD,EAAA2B,KAAAC,KAAA,CAAAX,EAAAlC,KAAA,GAAA,KAAA,CAAA,OAAAkC,EAAAY,cAAA3B,IAAA,KAAA,IAAA,KAAA,GAAA,GAAA,WAAAgQ,EAAApB,EAAA7N,EAAAoL,IAAA,CAAApL,EAAAlC,KAAA,GAAA,KAAA,CAAA,OAAAkC,EAAApB,OAAA,SAAAiP,EAAAkB,GAAA,KAAA,GAAA/O,EAAAlC,KAAA,GAAA,MAAA,KAAA,GAAAkC,EAAAlC,KAAA,GAAA,MAAA,KAAA,GAAAkC,EAAAnC,KAAA,GAAAmC,EAAAkP,GAAAlP,EAAA,MAAA,IAAAjB,EAAA+B,EAAAd,EAAAkP,IAAA,KAAA,GAAA,OAAAlP,EAAAnC,KAAA,GAAAkB,EAAAgC,IAAAf,EAAAgB,OAAA,IAAA,KAAA,GAAA,OAAAhB,EAAAlC,KAAA,GAElBmM,GAAeQ,0BAA0BnL,GAAS,KAAA,GAAA,GAAAU,EAAAH,KAAA,CAAAG,EAAAlC,KAAA,GAAA,KAAA,CAC5D8P,EAAYA,EAAU3L,QAAQ,eAAgB,kBAAkBA,QAAQ,WAAY,UAAU,KAAA,GAoBhC,OAlB5DI,EAAO4L,kBAAoB5L,EAAO6L,yBACpCN,EAAYA,EACT3L,QAAQ,yBAA0B,mBAClCA,QAAQ,4BAA6B,sBACrCA,QAAQ,mCAAoC,6BAC5CA,QAAQ,2BAA4B,qBACpCA,QAAQ,qBAAsB,eAC9BA,QAAQ,uBAAwB,iBAChCA,QAAQ,cAAe,SACvBA,QAAQ,cAAe,SACtBI,EAAO6L,wBACTN,EAAYA,EAAU3L,QAAQ,yBAA0B,yBAG5D2L,EAAYA,EAAU3L,QAAQ,eAAgB,YAC1CmK,EAAW5E,UAAU8G,aAAejM,EAAOmF,UAAU8G,aAAejM,EAAO6L,yBAC7EN,EAAYA,EAAU3L,QAAQ,kBAAmB,mBAE7CzC,EAAawL,EAAkB4C,EAAY3C,EAAejL,EAAAlC,KAAA,GAC1DQ,EAAY6B,KAAI,WAAA,OAAMoJ,GAAoBjK,EAAUE,MAAY,KAAA,GAAA,IAAA,MAAA,OAAAQ,EAAA/B,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,GAAA,GAAA,GAAA,KAAA,OACtE,KAAA,EAAA,IAAA,MAAA,OAAAiC,EAAAxB,OAAA,GAAAY,EACH,KAAA6O,GAAAtP,MAAAxB,KAAAyB,UAAA,CAED,IAAMK,GAAUuB,EAAKC,KAAKiP,EAAGC,UAAW,SAAU,OAAQ,aAAa,SAExDJ,GAAUK,EAAAC,GAAA,OAAAC,GAAAnR,MAAAxB,KAAAyB,UAAA,CAAA,SAAAkR,KAGxB,OAHwBA,GAAzBlS,EAAAC,IAAAC,MAAA,SAAA4D,EAA0B1D,EAAc8B,GAAe,OAAAjC,IAAAK,MAAA,SAAAgB,GAAA,cAAAA,EAAAd,KAAAc,EAAAb,MAAA,KAAA,EAAA,OAAAa,EAAAb,KAAA,EAC/CsC,EAAGC,SAAS8D,MAAMzF,GAAS,CAAE0F,WAAW,IAAO,KAAA,EAAA,OAAAzF,EAAAb,KAAA,EAC/CsC,EAAGC,SAASG,UAAUP,EAAKC,KAAKxB,GAASjB,GAAO8B,GAAQ,KAAA,EAAA,IAAA,MAAA,OAAAZ,EAAAV,OAAA,GAAAkD,EAC/D,MAAA/C,MAAAxB,KAAAyB,UAAA,CAAA,SAEcuQ,GAASY,GAAA,OAAAC,GAAArR,MAAAxB,KAAAyB,UAAA,CAAA,SAAAoR,KAUvB,OAVuBA,GAAApS,EAAAC,IAAAC,MAAxB,WAAyBE,GAAY,IAAAiS,EAAA,OAAApS,IAAAK,MAAA,SAAAgS,GAAA,cAAAA,EAAA9R,KAAA8R,EAAA7R,MAAA,KAAA,EAAA,OAAA6R,EAAA9R,KAAA,EAAA8R,EAAA7R,KAAA,EAEdsC,EAAGC,SAASqP,KAAKzP,EAAKC,KAAKxB,GAASjB,IAAM,KAAA,EAAnD,GAAJiS,EAAIC,EAAA9P,OACN+P,KAAKC,MAAQH,EAAKI,QAAU,OAAkB,CAAAH,EAAA7R,KAAA,EAAA,KAAA,CAAA,OAAA6R,EAAA/Q,OAAA,UAAA,KAAA,EAAA,OAAA+Q,EAAA7R,KAAA,EAGrCsC,EAAGC,SAASC,SAASL,EAAKC,KAAKxB,GAASjB,GAAO,QAAO,KAAA,EAAA,OAAAkS,EAAA/Q,OAAA,SAAA+Q,EAAA9P,MAAA,KAAA,GAAA8P,EAAA9R,KAAA,GAAA8R,EAAAzN,GAAAyN,EAAA,MAAA,GAAA,KAAA,GAAA,IAAA,MAAA,OAAAA,EAAA1R,OAAA,GAAA8R,EAAA,KAAA,CAAA,CAAA,EAAA,KAItE,MAAA3R,MAAAxB,KAAAyB,UAAA,CC1JM,IAAM2R,GACK,SAAC3N,GACf,OAAOA,EAAO4N,mBAAqB,+CAAiD,EACtF,ECHIC,GACJnK,QAAQF,IAAIsK,YAAcpK,QAAQF,IAAIuK,mBAAqBrK,QAAQF,IAAIwK,UAAYtK,QAAQF,IAAIyK,aACpFC,KAAmBL,GACnBM,GAAU,IAAIC,EAAQ,CACjCC,KAAMR,KAaKS,GAAa,IAVV,WAAA,SAAAC,IAAAjU,EAAAC,KAAAgU,EAAA,CAOb,OAPa1T,EAAA0T,EAAA,CAAA,CAAAzT,IAAA,gBAAAC,MACd,SAAcyT,GAAyC,IAAAC,EAAAC,EAAAC,EAC/CC,EAAqBJ,EAAc9J,MAAM,KAAKmK,IAAI,GAClDvD,EAAQsD,aAAAA,EAAAA,EAAoBlK,MAAM,KAGxC,MAAO,SAFE+J,EAAGnD,aAAAA,EAAAA,EAAOuD,IAAI,kBAAM,GACmB,UAAnCvD,SAAa,QAAbA,EAAAA,EAAOuD,IAAI,UAAE,IAAAF,OAAbrD,EAAAqD,EAAe/O,QAAQ,QAAS,WAAG,IAAA8O,EAAAA,EAAI,GAEtD,KAACH,CAAA,CAPa,ICPVO,GAAiB,CACrBC,KAAM,CAAC,MAAO,QAAS,WAAWnI,OAClCoI,OAAQ,CAAC,QAAS,UAAW,MAAO,KAAM,eAAgB,UAAW,QAAQpI,OAE7EqI,OAAQ,CAAC,MAAO,QAAS,UAAW,KAAM,eAAgB,WAAWrI,QAGhE,SAASsI,GAAWlP,GACzB,OAAIA,EAAOmF,UAAUkF,MACe,MAA3BrK,EAAOmF,UAAUkF,MAAgByE,GAAeE,OAASF,GAAeG,OAE1EH,GAAeC,IACxB,CCEA,IAAMI,GAAe,CACnB,SACA,yBACA,uBACA,mCACA,sCACA,yBAGIC,aACDD,GAAY,CACf,mCACA,4BACA,sCAGIE,GAAkB,CAAC,sBAAuB,6BAE1CC,GAAwC,CAC5C,gCAAkC,CAAA,iCAAoCH,OAAAA,IACtE,uCAAwC,uCAAqC/N,OAAK+N,GAAiBE,IACnG,gCAAkC,CAAA,iCAAoCD,OAAAA,EAAAA,KACtE,uCAAwC,uCAAqChO,OAAA4J,EAAKoE,IAAiBC,IACnG,uBAAwB,IAG1B,SAAsBE,GAAmB1T,EAAAC,EAAAkR,GAAA,OAAAwC,GAAAzT,MAAAxB,KAAAyB,UAAA,CAQxC,SAAAwT,KAAA,OAAAA,GAAAxU,EAAAC,IAAAC,MARM,SACL8E,EAAAA,EACA+J,EACA0F,GAAuB,OAAAxU,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SAEhB7B,EAAM,SAAU,sBAAuBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,OAAAF,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAE,KAAA,EACtCwI,GAAKjE,EAAQ+J,EAAY0F,GAAe,KAAA,EAAA,IAAA,MAAA,OAAAlU,EAAAK,OAAA,GAAAT,EAAA,OAC9C,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,MAAAT,MAAAxB,KAAAyB,UAAA,CAAA,SAEciI,GAAIgJ,EAAAE,EAAAuC,GAAA,OAAArL,GAAAtI,MAAAxB,KAAAyB,UAAA,CAsNnB,SAAAqI,KAFC,OAEDA,GAAArJ,EAAAC,IAAAC,MAtNA,SAAoB8E,EAAAA,EAAuB+J,EAA2B0F,GAAuB,IAAAE,EAAAC,EAAA3S,EAAA4S,EAAAC,EAAAC,EAAAC,EAAAC,EAAAtO,EAAAC,EAAAsO,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAnU,EAAAC,EAAAmU,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAlW,IAAAK,MAAA,SAAA8B,GAAA,cAAAA,EAAA5B,KAAA4B,EAAA3B,MAAA,KAAA,EAC9B,OAAvDwB,EAAWW,EAAKyC,QAAQL,EAAO3D,QAAS,gBAAee,EAAA3B,KAAA,EACtCsC,EAAGC,SAASC,SAAShB,EAAU,QAAO,KAAA,EAKH,OALpD4S,EAAQzS,EAAAI,MACRsS,EAAUtF,KAAKC,MAAMoF,IACnBuB,QAAUtB,EAAQsB,SAAW,CAAA,EACrCtB,EAAQnO,aAAemO,EAAQnO,cAAgB,CAAA,EAC/CmO,EAAQlO,gBAAkBkO,EAAQlO,iBAAmB,CAAA,EACrDkO,EAAQuB,iBAAmBvB,EAAQuB,kBAAoB,CAAA,EAAGjU,EAAA3B,KAAA,GAEpD6V,GAAsBxB,GAAQ,KAAA,GAMpC,IAJqB,iCAAjBA,EAAQ1U,OACV0U,EAAQ7I,SAAW,gCAGGsK,EAAAA,EAAAA,EAAAA,OAAOC,KAAK1B,EAAQsB,SAAUrB,EAAAC,EAAA1K,OAAAyK,IAA3CE,EAASD,EAAAD,GAEbD,EAAQsB,QAAQnB,GAAW9O,SAAS,eACvC2O,EAAQsB,QAAQnB,GAAaH,EAAQsB,QAAQnB,GAC1CrQ,QAAQ,eAAgB,IACxBA,QAAQ,yBAA0B,KAKjB,OADxBkQ,EAAQsB,QAAUxH,EAAMkG,EAAQsB,QAASK,GAAgBzR,IAAS5C,EAAAyC,GAClEiQ,EAAQsB,QAAQM,SAAQtU,EAAA3B,KAAA,GAAUkW,GAAuB3R,EAAO3D,SAAQ,KAAA,GAsFvE,GAtFDyT,EAAQsB,QAAQM,SAAQtU,EAAAyC,IAAAzC,EAAAI,KAEpBmE,EAAyB,GACzBC,EAAkB,CAAC,cAAe,WAAY,oBAAqB,gCACjEsO,EAA+B,GAEjClQ,EAAOM,OAETsB,EAAgBmD,KAAK,QAAS,iCAC1B/E,EAAO4R,YAAc5R,EAAO6R,uBAE9BjQ,EAAgBmD,KAAK,SACrB+K,EAAQsB,QAAiB,QAAI,kBAC7BtB,EAAQsB,QAAkB,SAAI,kBAE5BpR,EAAOmF,UAAU2M,kBACnBlQ,EAAgBmD,KAAK,8CAElB+K,EAAQlO,gBAAgB,qBACxBkO,EAAQlO,gBAAgB,2BACxBkO,EAAQlO,gBAAgB,iCAEzBA,EAAgBmD,KAAK,oBAEvB+K,EAAQvL,QAAU,+BAEhBvE,EAAOO,0BACTuP,EAAQiC,WAAa,CAAC,qBAEfjC,EAAQiC,aAKjB/R,EAAOgS,sBACPhS,EAAOiS,gCACPjS,EAAOkS,sBACPlS,EAAOmS,kCAEPvQ,EAAgBmD,KAAK,SAAU,cAE3B/E,EAAOmS,gCACTvQ,EAAgBmD,KAAK,+BAIrB/E,EAAOkS,sBAAwBlS,EAAOmS,iCACxCvQ,EAAgBmD,KAAK,cAGnB/E,EAAOsK,aACT1I,EAAAA,GAAgBmD,KAAQuK,MAAAA,EAAAA,EAAAA,GAAQtP,EAAOsK,cAGrCtK,EAAOoS,qBACTzQ,EAAeA,EAAa4E,QAAO,SAAC8L,GAAG,OAAMA,EAAIlR,SAAS,oBAC1DS,EAAkBA,EAAgB2E,QAAO,SAAC8L,GAAG,OAAMA,EAAIlR,SAAS,qBAG7D2O,EAAQ1U,OACX0U,EAAQ1U,KAAOwC,EAAK+N,SAAS3L,EAAO3D,UAGlC2D,EAAOO,4BACTuP,EAAO,SAAW,GAEfA,EAAQwC,UACXxC,EAAQwC,QAAU,eAEfxC,EAAe,SAAwB,eAApBA,EAAQwC,SAA4BvI,EAAW6H,aAChD,QAArB9B,EAAAA,EAAQyC,qBAAa,IAAAnC,IAArBN,EAAQyC,cAAkB,CAAA,GAC1B,QAAAzC,GAAAA,EAAAA,EAAQyC,eAAcC,cAAtB,IAAAlC,IAAAD,EAAsBmC,OAAW,WAClCjC,EACejC,GAAWmE,cAAmC,QAArBzS,EAAAA,EAAO0S,kBAAc,IAAA/C,EAAAA,EAAA,IAAGa,EAAAhO,EAAA+N,EAAA,GACnD,iBADPE,EAAKD,EAAA,KAC6B,mBAAVC,IAC7BX,EAAQ6C,OAAS,oBAIf3S,EAAOmF,UAAU2M,iBAAmB9R,EAAO4S,QAAQC,MACjD7S,EAAO8S,mBACTpC,EAAOZ,EAAQiD,iCAARrC,EAAsB,cAE7BZ,EAAQiD,cAARjD,EAAQiD,YAAgB,CAAE,GAC1BjD,EAAQiD,YAAY,aAAe,WAIlC/S,EAAOO,0BAAyB,CAAAnD,EAAA3B,KAAA,GAAA,KAAA,CAmBlC,GAlBIuE,EAAOgS,sBAAyBhS,EAAOkS,qBAK1CpC,EAAQsB,QAAQ,aAAezD,GAA4B3N,WAJpD8P,EAAQsB,QAAQ4B,YAChBlD,EAAQsB,QAAQ,YACvBtB,EAAQsB,QAAQ6B,QAAUnD,EAAQsB,QAAQ6B,QAAQrT,QAAQ,oBAAqB,KAK7EI,EAAO6L,wBACTiE,EAAQsB,QAAQ4B,KAAO,kBACvBlD,EAAQsB,QAAQ,YAAc,aACxBT,EAAO,CAAC,MAAO,OAAQ,eAAepK,QAAO,SAAC2M,GAAG,OAAKnV,EAAGmH,WAAWtH,EAAKyC,QAAQL,EAAO3D,QAAS6W,QAC9F5N,OAAS,IAChBwK,EAAQsB,QAAQ,eAAc,yBAAAhQ,OAA4BuP,EAAK9S,KAC7D,KAC8G,iHAChHiS,EAAQsB,QAAQ+B,QAAgC,0BAIhDnT,EAAOgF,qBAAoB,CAAA5H,EAAA3B,KAAA,GAAA,KAAA,CAG5B,MAFmC,mBAAhCqU,EAAQsB,QAAQgC,oBACXtD,EAAQsB,QAAQgC,YACxBhW,EAAA3B,KAAA,GACyB4B,EAAO,UAAW,CAC1CE,IAAKyC,EAAO3D,QACZiB,KAAK,EACL+V,WAAW,EACXC,OAAQ,CAAC,mBACT,KAAA,GALI1C,EAAWxT,EAAAI,KAMXqT,EAAa,IAAI0C,IAAa7W,EAAAe,EACXmT,GAAW,IAApC,IAAsClU,EAAA0B,MAAAzB,EAAAD,EAAA2B,KAAAC,MAA3BwS,EAAUnU,EAAA5B,MAAAgW,EACKD,EAAWpM,MAAM,SAAQsM,EAAAxO,EAAAuO,EAAA,GAA1CE,EAAKD,EAAA,GAAQA,EAAA,IAElBH,EAAW2C,IAAIvC,EAElB,CAAA,MAAAxK,GAAA/J,EAAA+B,EAAAgI,EAAA,CAAA,QAAA/J,EAAAgC,GAAA,CACGmS,EAAW4C,KAAO,IACdvC,EAAclG,EAAI6F,GAAYhT,KAAK,KACzCiS,EAAQsB,QACN,eACsCF,oCAAAA,OAAAA,EAAmCA,yBAAAA,OAAAA,GAC3EpB,EAAQsB,QAAQ4B,KAAI,qBAAA5R,OAAwB8P,GAC5CpB,EAAQsB,QAAQ,YAAc,YAC9BtB,EAAQsB,QAAQ+B,QAAgC,uBAChDjD,EAAmBnL,KAAK,QAAS,QAAS,WAC3C,KAAA,GAGC/E,EAAO0S,aACT5C,EAAQ4C,WAAa1S,EAAO0S,YAC7B,KAAA,GA8BF,OA3BG1S,EAAOmF,UAAUkF,OACY,MAA3BrK,EAAOmF,UAAUkF,QAInBzI,GAFAA,EAAkBA,EAAgB2E,QAAO,SAAC8L,GAAG,OAAMA,EAAIlR,SAAS,2BAE9BoF,QAChC,SAACmN,GAAC,MACM,wBAANA,GACM,sCAANA,GACM,yBAANA,GACM,8BAANA,MAG0B,QAA3B5D,EAAAA,EAAQsB,QAAQ,mBAAW,IAAAD,GAA3BA,EAA6BxG,WAAW,mBAC3CmF,EAAQsB,QAAQ,YAAc,mBAEvBpR,EAAOmF,UAAU4G,QAAsC,QAA3B+D,EAAAA,EAAQsB,QAAQ,mBAAW,IAAAxB,GAA3BA,EAA6BjF,WAAW,qBAC7EmF,EAAQsB,QAAQ,YAAc,mBAEiB,IAA7CG,OAAOC,KAAK1B,EAAQnO,cAAc2D,eAC7BwK,EAAQnO,aAEmC,IAAhD4P,OAAOC,KAAK1B,EAAQlO,iBAAiB0D,eAChCwK,EAAQlO,gBAEoC,IAAjD2P,OAAOC,KAAK1B,EAAQuB,kBAAkB/L,eACjCwK,EAAQuB,iBAChBjU,EAAA3B,KAAA,GAEKsC,EAAGC,SAASG,UAAUlB,EAAUuN,KAAKM,UAAUgF,IAAS,KAAA,GAEzDL,KACH9N,EAAeA,EAAa4E,QAAO,SAAC8L,GAAG,IAAAsB,EAAA,QAAM,UAAA7D,EAAQlO,uBAAR,IAAA+R,GAAAA,EAA0BtB,QACtD/M,OAAS,GACxBrD,EAAU,OAAS,CAAA,gBAAU,IAAIsR,IAAI5R,KAAgB3B,EAAO3D,UAE9DuF,EAAkBA,EAAgB2E,QAAO,SAAC8L,GAAG,IAAAuB,EAAA,QAAM,UAAA9D,EAAQnO,oBAAR,IAAAiS,GAAAA,EAAuBvB,QACtD/M,OAAS,GAC3BrD,EAAU,OAAM,CAAG,MAAO,MAASb,OAAA4J,EAAA,IAAIuI,IAAI3R,KAAmB5B,EAAO3D,SAEnE6T,EAAmB5K,OAAS,GAC9BrD,EAAU,SAAW,CAAA,gBAAU,IAAIsR,IAAIrD,KAAsBlQ,EAAO3D,UAEvE,KAAA,GAAA,IAAA,MAAA,OAAAe,EAAAxB,OAAA,GAAAkD,EACF,KAAAuF,GAAAtI,MAAAxB,KAAAyB,UAAA,CAAA,SAGcsV,GAAqBuC,GAAA,OAAAC,GAAA/X,MAAAxB,KAAAyB,UAAA,CAAA,SAAA8X,KA2BnC,OA3BmCA,GAAA9Y,EAAAC,IAAAC,MAApC,WAAqC4U,GAAY,IAAAiE,EAAAC,EAAAC,EAAAnX,EAAAC,EAAAsV,EAAA,OAAApX,IAAAK,MAAA,SAAAgB,GAAA,cAAAA,EAAAd,KAAAc,EAAAb,MAAA,KAAA,EAqB/C,IApBuB,oBAAnBqU,EAAQ6C,SACV7C,EAAQ6C,OAAS,2BAEZ7C,EAAQsB,QAAQ,4BAChBtB,EAAQsB,QAAQ,gCAChBtB,EAAQsB,QAAQ,4BAChBtB,EAAQnO,aAAoB,aAC5BmO,EAAQlO,gBAAgB,qCACxBkO,EAAQlO,gBAAgB,2CACxBkO,EAAQlO,gBAAgB,gCACxBkO,EAAQlO,gBAAgB,sCACxBkO,EAAQlO,gBAAgB,iCACxBkO,EAAQlO,gBAAuB,aAE/BkO,EAAQlO,gBAAuB,aAC/BkO,EAAQsB,QAAQ,yBAChBtB,EAAQsB,QAAQ,yBAChBtB,EAAQsB,QAAQ,wBAChBtB,EAAQsB,QAAQ,wBAChBtB,EAAQsB,QAAkB,SACjC2C,EAAA,EAAAC,EAAmBzC,OAAO2C,OAAO5E,IAAUyE,EAAAC,EAAA1O,OAAAyO,IAAA,CAAhCE,EAAID,EAAAD,GAAAjX,EAAAW,EACKwW,GAAI,IAAtB,IAAwBnX,EAAAsB,MAAArB,EAAAD,EAAAuB,KAAAC,MAAb+T,EAAGtV,EAAAhC,aACL+U,EAAQlO,gBAAgByQ,EAChC,CAAA,MAAA5L,GAAA3J,EAAA2B,EAAAgI,EAAA,CAAA,QAAA3J,EAAA4B,GAAA,CACH,CAAC,OAAApC,EAAAb,KAAA,GACKQ,EAAY6B,KAAI,WAAA,OAAMC,EAAGC,SAASuH,GAAG,aAAc,CAAEC,OAAO,OAAQ,KAAA,GAAA,IAAA,MAAA,OAAAlJ,EAAAV,OAAA,GAAA8R,EAC3E,KAAAoG,GAAA/X,MAAAxB,KAAAyB,UAAA,CAEM,SAASyV,GAAgBzR,GAC9B,IAAIoR,EAAkC,CACpC6B,QAAS,+BACTE,OAA4C,qCAC5CH,KAA4B9D,sBAAAA,OAAAA,GAAWlP,GAAkB0G,YAAAA,OAAAA,GAAWM,OAAOnJ,KAAK,KAAQ,MACxF,WAAY,kBACZ6T,SAAQ,iDAAAtQ,OAAmDsF,GAAWO,SAASpJ,KAAK,KAA+B,6BACnHsW,UAAW,yBAiCb,OA/BInU,EAAOO,2BACT6Q,EAAUxH,EACHwH,EAAAA,CAAAA,EAAAA,GACL,CACE+B,OAAuG,gGACvGH,KAA6D,wDAC7D,WAAY,4DACZtB,SAAQ,iDAAAtQ,OAAmDsF,GAAWO,SAASpJ,KAC7E,KAC4C,+CAC9CuW,KAAM,6CACND,UAAW,+DAGVnU,EAAOkS,sBAAyBlS,EAAOmS,uCACnCf,EAAQ+C,YAGbnU,EAAOmF,UAAUkF,QACnB+G,EAAQ+C,WAAa,8BACrB/C,EAAQ,kBAAkG,iFAC1GA,EAAQ,sBAAwB,0CAE7BpR,EAAOkS,sBAAyBlS,EAAOmS,uCACnCf,EAAQ+C,UAEbnU,EAAOmF,UAAUkP,UACnBjD,EAAQ+C,UAAY/C,EAAQ+C,UAAS,GAAA/S,OAAMgQ,EAAQ+C,UAAS,QAAS,GACrE/C,EAAQ+C,WAAa,YAGlB/C,CACT,CAAC,SAEcO,GAAsB2C,GAAA,OAAAC,GAAAxY,MAAAxB,KAAAyB,UAAA,CAAA,SAAAuY,KAgBpC,OAhBoCA,GAAAvZ,EAAAC,IAAAC,MAArC,WAAsCmB,GAAe,IAAAY,EAAAuX,EAAA5O,EAAA6O,EAAAnQ,EAAA,OAAArJ,IAAAK,MAAA,SAAAgS,GAAA,cAAAA,EAAA9R,KAAA8R,EAAA7R,MAAA,KAAA,EACM,OAAnDwB,EAAWW,EAAKyC,QAAQhE,EAAS,mBAAkBiR,EAAA7R,KAAA,EAC3BsC,EAAGC,SAASC,SAAShB,EAAU,QAAO,KAAA,EACC,GAD/DuX,EAAelH,EAAA9P,QACfoI,EAAQ4O,EAAgBtM,QAAQN,GAAeC,kBACzC,GAAC,CAAAyF,EAAA7R,KAAA,EAAA,KAAA,CAAA,OAAA6R,EAAA/Q,OAAA,SAAS,IAAE,KAAA,EASqC,OAPvDkY,EAAkBD,EAAgBvT,MAAM,EAAG2E,GAC3CtB,EAAQmQ,EACX/P,MAAM,MACNtF,KAAI,SAACwF,GACJ,IAAMmB,EAAUnB,EAAKtB,OACrB,OAAOyC,EAAQ7E,SAAS,KAAO6E,EAAQ9E,MAAM,GAAI,GAAK8E,CACxD,IACCQ,QAAO,SAACT,GAAC,OAAKA,IAAMA,EAAE6E,WAAW,OAAS7E,EAAE3E,SAAS,QAAKmM,EAAA/Q,OAAA,SAEtD+H,EAAMlF,KAAI,SAACwF,GAAI,MAAA,SAAAxD,OAAcwD,EAAI,OAAA,IAAQ/G,KAAK,KAAG,KAAA,GAAA,IAAA,MAAA,OAAAyP,EAAA1R,OAAA,GAAA8Y,EACzD,KAAAH,GAAAxY,MAAAxB,KAAAyB,UAAA,CCzVD,IAAM2Y,GAAkB,WAElBC,GAAW,CACfC,UAAW,qCACXC,QAAyB,iBACzBC,cAAe,kUASfzR,OACA0R,UAAW,2LAQX1R,QAGF,SAAsB2R,GAAepZ,GAAA,OAAAqZ,GAAAnZ,MAAAxB,KAAAyB,UAAA,CAIpC,SAAAkZ,KAAA,OAAAA,GAAAla,EAAAC,IAAAC,MAJM,WAA+B8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SAClD7B,EAAM,SAAU,kBAAmBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,OAAAF,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAE,KAAA,EAClCwI,GAAKjE,GAAO,KAAA,EAAA,IAAA,MAAA,OAAAzE,EAAAK,OAAA,GAAAT,EAAA,OAClB,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,MAAAT,MAAAxB,KAAAyB,UAAA,CAAA,SAEciI,GAAInI,GAAA,OAAAuI,GAAAtI,MAAAxB,KAAAyB,UAAA,CAAA,SAAAqI,KAyElB,OAzEkBA,GAAArJ,EAAAC,IAAAC,MAAnB,WAAoB8E,GAAqB,IAAAmV,EAAAC,EAAAvF,EAAAnO,EAAArF,EAAAgZ,EAAAnY,EAAAoY,EAAAnB,EAAAxE,EAAAmF,EAAAS,EAAAC,EAAA,OAAAva,IAAAK,MAAA,SAAA8B,GAAA,cAAAA,EAAA5B,KAAA4B,EAAA3B,MAAA,KAAA,EAC6B,OAA9D2Z,EAAkBxX,EAAKyC,QAAQL,EAAO3D,QAAS,gBAAee,EAAA3B,KAAA,EAC7CsC,EAAGC,SAASC,SAASmX,EAAiB,QAAO,KAAA,EAUd,OAVhDvF,EAAQzS,EAAAI,MACRkE,EAAc8I,KAAKC,MAAMoF,IACnBuB,UAAZ1P,EAAY0P,QAAY,CAAE,UACnB1P,EAAY0P,QAAqB,mBACjC1P,EAAY0P,QAAqB,mBACjC1P,EAAY0P,QAAiB,eAC7B1P,EAAY0P,QAAwB,sBACpC1P,EAAY0P,QAAiB,eAC7B1P,EAAY0P,QAAkB,SAE/B/U,EAAUuB,EAAKyC,QAAQL,EAAO3D,QAAS,UAASe,EAAA3B,KAAA,GAChDyD,QAAQC,IAAI,CAChBpB,EAAGC,SAASG,UAAUiX,EAAiB5K,KAAKM,UAAUpJ,OAAalB,EAAW,IAC9EzC,EAAGC,SAASuH,GAAGlJ,EAAS,CAAEmJ,OAAO,EAAMzD,WAAW,MAClD,KAAA,GAG2D,OAF7DE,EAAU,OAAQ,CAAC,MAAO,aAAc,WAAYjC,EAAO3D,SAErDgZ,EAAoBzX,EAAKyC,QAAQhE,EAAS,cAAae,EAAA3B,KAAA,GACvCsC,EAAGC,SAASC,SAASoX,EAAmB,QAAO,KAAA,GAAxD,OAAPnY,EAAOE,EAAAI,KAAAJ,EAAA3B,KAAA,GAEPQ,EAAY6B,KAAI,WAAA,OAAMC,EAAGC,SAASuH,GAAG3H,EAAKyC,QAAQL,EAAO3D,QAAS,iBAAkB,CAAEmJ,OAAO,OAAQ,KAAA,GAAA,OAAApI,EAAA3B,KAAA,GACrGQ,EAAY6B,KAAI,WAAA,OACpBC,EAAGC,SAASG,UAAUkX,EAAmBnY,EAAQ0C,QAAQ+U,GAAiBC,GAASC,eACpF,KAAA,GAEgB,GAFhBS,EAEqB7D,GAAgBzR,KAA9BmU,IAAAA,WACK,CAAA/W,EAAA3B,KAAA,GAAA,KAAA,CAKT,OAHFqZ,GADIA,EAA2B,QAAjB9U,EAAAA,EAAO0S,kBAAU,IAAA/C,GAAjBA,EAAmBhF,WAAW,0BAA4BiK,GAASG,cAAgBH,GAASE,SACxFlV,QAChB,iBACAuU,EAAUvU,QAAQ,MAAO,8BAA8BA,QAAQ,UAAW,mCAC1ExC,EAAA3B,KAAA,GACIQ,EAAY6B,KAAI,WAAA,OACpBC,EAAGC,SAASG,UAAUP,EAAKyC,QAAQhE,EAAS,YAAaa,EAAQ0C,QAAQ+U,GAAiBG,GAAU,CAClGW,KAAM,SAET,KAAA,GA6BkH,OA1B/GF,EAA8B,GAChCvV,EAAOyE,cACT8Q,EAAkBxQ,KAAK,6DAGF,QAAnB/E,EAAAA,EAAOyE,oBAAY,IAAA0Q,GAAnBA,EAAqBhU,SAAS,YAChCoU,EAAkBxQ,KAAK,wDAErB/E,EAAOyE,cACT8Q,EAAkBxQ,KAAK,iDAEzBwQ,EAAkBxQ,KAAK,0CACnB/E,EAAOgF,sBACTuQ,EAAkBxQ,KAAK,mDAErB/E,EAAOmF,UAAUkF,MACnBkL,EAAkBxQ,KAChB,yFACA,kFAEO/E,EAAOmF,UAAU4G,QAC1BwJ,EAAkBxQ,KAChB,uFACA,kFAGEyQ,EAAmBtY,EAAQ0C,QAAQ+U,GAAoBC,GAAAA,OAAAA,GAASI,yBAAgBO,EAAkB1X,KAAK,QAAQT,EAAA3B,KAAA,GAC/GQ,EAAY6B,KAAI,WAAA,OACpBC,EAAGC,SAASG,UAAUP,EAAKyC,QAAQhE,EAAS,cAAemZ,EAAkB,CAC3EC,KAAM,SAET,KAAA,GAAA,IAAA,MAAA,OAAArY,EAAAxB,OAAA,GAAAkD,EACF,KAAAuF,GAAAtI,MAAAxB,KAAAyB,UAAA,CC3GD,IAAMmB,GA6HL,o4LAED,SAAsBuY,GAAoB7Z,GAAA,OAAA8Z,GAAA5Z,MAAAxB,KAAAyB,UAAA,CAkBzC,SAAA2Z,KAAA,OAAAA,GAAA3a,EAAAC,IAAAC,MAlBM,WAAoC8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SACvD7B,EAAM,SAAU,uBAAwBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAAkB,EAAAY,EAAA,OAAAhC,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACQ,GAA/CY,EAAUuB,EAAKyC,QAAQL,EAAO3D,QAAS,UACzC0B,EAAGmH,WAAW7I,GAAQ,CAAAd,EAAAE,KAAA,EAAA,KAAA,CACkC,OAApDwB,EAAWW,EAAKyC,QAAQhE,EAAS,oBAAmBd,EAAAE,KAAA,EACnDuE,EAAOgS,sBACdhS,EAAOiS,gCACPjS,EAAOkS,sBACPlS,EAAOmS,gCACNnS,EAAOqF,wBACLrF,EAAO6L,wBACP7L,EAAOyL,oBACPzL,EAAO0L,kBACP1L,EAAO4L,iBACN3P,EAAY6B,KAAI,WAAA,OAAMoJ,GAAoBjK,EAAUE,GAAW,IAC/DlB,EAAY6B,KAAI,WAAA,OAAMC,EAAGC,SAASuH,GAAGtI,EAAU,CAAEuI,OAAO,OAAQ,KAAA,EAAA,IAAA,MAAA,OAAAjK,EAAAK,OAAA,GAAAT,EAAA,OAEtE,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,KAAAmZ,GAAA5Z,MAAAxB,KAAAyB,UAAA,CC9ID,SAAsB4Z,GAAoB/Z,GAAA,OAAAga,GAAA9Z,MAAAxB,KAAAyB,UAAA,CAIzC,SAAA6Z,KAAA,OAAAA,GAAA7a,EAAAC,IAAAC,MAJM,WAAoC8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SACvD7B,EAAM,SAAU,uBAAwBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,OAAAF,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,OAAAF,EAAAE,KAAA,EACvCwI,GAAKjE,GAAO,KAAA,EAAA,IAAA,MAAA,OAAAzE,EAAAK,OAAA,GAAAT,EAAA,OAClB,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,MAAAT,MAAAxB,KAAAyB,UAAA,CAAA,SAEciI,GAAInI,GAAA,OAAAuI,GAAAtI,MAAAxB,KAAAyB,UAAA,CAAA,SAAAqI,KAoDlB,OApDkBA,GAAArJ,EAAAC,IAAAC,MAAnB,WAAoB8E,GAAqB,IAAA8V,EAAAxR,EAAA0C,EAAA+O,EAAA5Y,EAAAF,EAAA,OAAAhC,IAAAK,MAAA,SAAA8B,GAAA,cAAAA,EAAA5B,KAAA4B,EAAA3B,MAAA,KAAA,EAgD2B,OA/C5Dqa,EAAgB9V,EAAOM,KAAO,0BAA4B,gCAC1DgE,EAAkB,IACpBtE,EAAOgS,sBAAwBhS,EAAOkS,wBAClClL,EAAM,QAAA5F,OACX4U,GAAahW,GAAcwK,QAAAA,OAAAA,KAAKM,UAAS,GAAA1J,OACrC0U,EAA4BnI,gBAAAA,OAAAA,GAA4B3N,mBACtD8V,EAAa,+BACpBxR,EAAMS,KAAKiC,IAEP+O,EAAiB/V,EAAOM,KAAO,mCAAqC,GAC1EgE,EAAMS,KACK2B,gBAAAA,OAAAA,GAAWO,SAASpJ,KAAK,KAChCmC,wBAAAA,OAAAA,EAAOgS,sBAAwBhS,EAAOkS,qBAAuB+D,GAA2BjW,GAAU,GAAE,sFAAAoB,OACxB2U,EAAc,+EAAA3U,OAEtE0U,EAAa,uJAAA1U,OAEhB0U,EAGjB,4DACA9V,EAAO6L,uBACTvH,EAAMS,KAMJ,4UAEA/E,EAAOgF,sBACTV,EAAMS,KAKJ,sIAGE5H,YACJ6C,EAAOgS,sBAAwBhS,EAAOkS,qBAAuB,4CAA8C,GAG3F5N,0BAAAA,OAAAA,EAAMzG,KAAK,IAAG,UAI1BZ,EAAWW,EAAKyC,QAAQL,EAAO3D,QAAS,qBAAoBe,EAAA3B,KAAA,GAC5DQ,EAAY6B,KAAI,WAAA,OAAMC,EAAGC,SAASuH,GAAG3H,EAAKyC,QAAQL,EAAO3D,QAAS,oBAAqB,CAAEmJ,OAAO,OAAQ,KAAA,GAAA,OAAApI,EAAA3B,KAAA,GACxGQ,EAAY6B,KAAI,WAAA,OAAMC,EAAGC,SAASuH,GAAG3H,EAAKyC,QAAQL,EAAO3D,QAAS,sBAAuB,CAAEmJ,OAAO,OAAQ,KAAA,GAAA,OAAApI,EAAA3B,KAAA,GAC1GQ,EAAY6B,KAAI,WAAA,OAAMoJ,GAAoBjK,EAAUE,MAAY,KAAA,GAAA,IAAA,MAAA,OAAAC,EAAAxB,OAAA,GAAAkD,EACvE,KAAAuF,GAAAtI,MAAAxB,KAAAyB,UAAA,CAED,SAASga,GAAahW,GACpB,IAAM2Q,EAAOzB,GAAWlP,GACxB,MAAA,MAAAoB,OAAauP,EAAK9S,KAAK,KAAI,YAAAuD,OAAWsF,GAAWM,OAAOnJ,KAAK,KAAI,IACnE,CAEA,SAASoY,GAA2BjW,GAClC,MAAyCgW,kCAAAA,OAAAA,GAAahW,GAAO,MAC/D,CCtEA,IAAMuI,GAUL,gGAED,SAAsB2N,GAAsBra,GAAA,OAAAsa,GAAApa,MAAAxB,KAAAyB,UAAA,CAsB3C,SAAAma,KAAA,OAAAA,GAAAnb,EAAAC,IAAAC,MAtBM,WAAsC8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SACzD7B,EAAM,SAAU,yBAA0BM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAAuN,EAAAzL,EAAAC,EAAAyL,EAAAC,EAAAC,EAAAC,EAAAsN,EAAAjZ,EAAA,OAAAlC,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACiB,OAA1DwB,EAAWW,EAAKyC,QAAQL,EAAO3D,QAAS,mBAAkBd,EAAAE,KAAA,EACzCyL,GAA6BjK,GAAS,KAAA,EAAA,GAAA1B,EAAAiD,GAAAkK,EAAAnN,EAAAiC,KAAAjC,EAAAsE,GAAA,OAAAtE,EAAAiD,IAAAjD,EAAAsE,GAAA,CAAAtE,EAAAE,KAAA,EAAA,KAAA,CAAAF,EAAAsE,QAAA,IAAA6I,EAAA,KAAA,EAAA,IAAAnN,EAAAsE,GAAA,CAAAtE,EAAAE,KAAA,GAAA,KAAA,CAAAF,EAAAqD,GAAA8J,EAAAnN,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAqD,GAAK,GAAE,KAAA,GAIA,OAJ9D1B,EAAO3B,EAAAqD,GACP+J,EAAkBf,GAAeK,mBAAmB/K,GAAWqL,GAC/DK,EAAkBhB,GAAeO,mBAAmBjL,GAEpD2L,EAAoBjL,EAAKyC,QAAQL,EAAO3D,QAAS,cAAad,EAAAE,KAAA,GACpCmM,GAAeE,+BAA+Be,GAAkB,KAAA,GAAA,GAAAtN,EAAAwN,GAAAxN,EAAAiC,KAAAjC,EAAAwN,GAAA,CAAAxN,EAAAE,KAAA,GAAA,KAAA,CAAAF,EAAAwN,GAAK,GAAE,KAAA,GAWI,OAXrGD,EAAgBvN,EAAAwN,GAElBqN,EAAoB,GACpBpW,EAAO6L,wBACTuK,EAIL,+DAGSjZ,EAAawL,EAAkBJ,GAAgB6N,EAAoBtN,EAAmBF,EAAerN,EAAAE,KAAA,GACrGQ,EAAY6B,KAAI,WAAA,OAAMoJ,GAAoBjK,EAAUE,MAAY,KAAA,GAAA,IAAA,MAAA,OAAA5B,EAAAK,OAAA,GAAAT,EAAA,OACtE,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,KAAA2Z,GAAApa,MAAAxB,KAAAyB,UAAA,CC9BD,IAAM8T,GAAU,CACduG,SAAU,IACVC,KAAM,SAGR,SAAsBC,GAAyB1a,GAAA,OAAA2a,GAAAza,MAAAxB,KAAAyB,UAAA,CAc9C,SAAAwa,KAAA,OAAAA,GAAAxb,EAAAC,IAAAC,MAdM,WAAyC8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SAC5D7B,EAAM,SAAU,4BAA6BM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAA8O,EAAAhN,EAAAiN,EAAAC,EAAAhN,EAAA,OAAAlC,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAEiB,OAD/DwO,EAAuBwM,EAAU3G,IAC/B7S,EAAWW,EAAKyC,QAAQL,EAAO3D,QAAS,sBAAqBd,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAExCsC,EAAGC,SAASC,SAAShB,EAAU,QAAO,KAAA,EAAzDiN,EAAU3O,EAAAiC,KACV2M,EAAcK,KAAKC,MAAMP,GAC/BD,EAAcL,EAAMzK,IAAI,CAAC8K,EAAaE,EAAaF,GAAc,CAAEW,WAAY5B,KAAkBzN,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAsE,GAAAtE,EAAA,MAAA,GAAA,KAAA,GAIrD,OAAxC4B,EAAaqN,KAAKM,UAAUb,GAAY1O,EAAAE,KAAA,GACxCQ,EAAY6B,KAAI,WAAA,OAAMoJ,GAAoBjK,EAAUE,MAAY,KAAA,GAAA,IAAA,MAAA,OAAA5B,EAAAK,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,EAAA,KAAA,OACtE,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,KAAAga,GAAAza,MAAAxB,KAAAyB,UAAA,CCvBD,SAAsB0a,GAAc7a,GAAA,OAAA8a,GAAA5a,MAAAxB,KAAAyB,UAAA,CAqBnC,SAAA2a,KAAA,OAAAA,GAAA3b,EAAAC,IAAAC,MArBM,WAA8B8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SACjD7B,EAAM,SAAU,iBAAkBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAAwU,EAAAiH,EAAA3Z,EAAAE,EAAAuV,EAAAmE,EAAAna,EAAAC,EAAAma,EAAAC,EAAAC,EAAA,OAAA/b,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EACmB,OAApDwB,EAAWW,EAAKyC,QAAQL,EAAO3D,QAAS,aAAYd,EAAAE,KAAA,EACnCsC,EAAGC,SAASC,SAAShB,EAAU,QAAO,KAAA,EAAzDE,EAAU5B,EAAAiC,KAEdL,EAAa8Z,GAAYjX,EAAQ7C,EAAY+Z,GAAsB,mBAE7DxE,UAAU/C,EAAG3P,EAAO0S,+BAAP/C,EAAmB1O,OAAuB,QAAjBjB,EAAAA,EAAO0S,kBAAU,IAAAkE,OAAA,EAAjBA,EAAmB1O,QAAQ,MAAO,GACxE2O,EAAY9Y,EAAGoZ,sBAAenX,EAAO3D,QAA4B,uBAAAK,EAAAe,EAChDoZ,GAAStb,EAAAC,KAAA,EAAAkB,EAAA0B,IAAA,KAAA,GAAA,IAAAzB,EAAAD,EAAA2B,KAAAC,KAAA,CAAA/C,EAAAE,KAAA,GAAA,KAAA,CAAb,IAARqb,EAAQna,EAAA5B,OACH4P,WAAW,SAAYmM,EAASnM,WAAW,UAAS,CAAApP,EAAAE,KAAA,GAAA,KAAA,CAAA,OAAAF,EAAAgB,OAAA,WAAA,IAAA,KAAA,GAIlEwa,GADAA,GADIA,EAAYD,GACMM,OAAO,GAAGC,cAAgBN,EAAU9V,MAAM,EAAG8V,EAAU7O,QAAQ,OAC/DtI,QAAQ,IAAK,KAC7BoX,EAAK,MAAA5V,OAAS2V,EAAiCrE,yBAAAA,OAAAA,gCAAgCoE,EAAQ,oCAAA1V,OAAmCsR,EAAU,uBAAAtR,OAAsB0V,EAAQ,KACxK3Z,EAAa8Z,GAAYjX,EAAQ7C,EAAY6Z,EAA4BF,qBAAAA,OAAAA,IAAY,KAAA,GAAAvb,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAsE,GAAAtE,EAAA,MAAA,GAAAmB,EAAA+B,EAAAlD,EAAAsE,IAAA,KAAA,GAAA,OAAAtE,EAAAC,KAAA,GAAAkB,EAAAgC,IAAAnD,EAAAoD,OAAA,IAAA,KAAA,GAAA,OAAApD,EAAAE,KAAA,GAGjFQ,EAAY6B,KAAI,WAAA,OAAMoJ,GAAoBjK,EAAUE,MAAY,KAAA,GAAA,IAAA,MAAA,OAAA5B,EAAAK,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,EAAA,GAAA,GAAA,KAAA,OACtE,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,KAAAma,GAAA5a,MAAAxB,KAAAyB,UAAA,CAED,IAAMkb,GACJ,wKAEF,SAASD,GAAYjX,EAAuB7C,EAAoB6Z,EAAeF,GAC7E,IAAK/Y,EAAGmH,WAAWtH,EAAKyC,QAAQL,EAAO3D,QAASya,IAC9C,OAAO3Z,EAIT,IAAMma,EAAWna,EAAW+K,QAAQ8O,GAChCM,GAAY,IACdna,EAAaA,EAAW8D,MAAM,EAAGqW,GAAYna,EAAW8D,MAAMqW,EAAWN,EAAM1R,SAGjF,IADA,IAAIiS,GAAW,EACNC,EAAI,EAAGA,EAAIra,EAAWmI,OAAQkS,IACrC,GAAsB,OAAlBra,EAAWqa,GAAa,CAC1BD,GAAW,EACXpa,EAAU,GAAAiE,OAAMjE,EAAW8D,MAAM,EAAGuW,EAAI,WAAKR,EAAK,MAAA5V,OAAKjE,EAAW8D,MAAMuW,EAAI,IAC5E,KACF,CAGF,OADKD,IAAUpa,YAAgBA,EAAU,MAAAiE,OAAK4V,EAAS,OAChD7Z,CACT,CC3CA,SAAsBsa,GAAiB5b,GAAA,OAAA6b,GAAA3b,MAAAxB,KAAAyB,UAAA,CA6CtC,SAAA0b,KAAA,OAAAA,GAAA1c,EAAAC,IAAAC,MA7CM,WAAiC6O,GAAyB,OAAA9O,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SACxD7B,EAAM,SAAU,oBAAqBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAA8B,EAAA2X,EAAA+C,EAAAH,EAAAI,EAAAC,EAAA1a,EAAA,OAAAlC,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAGnB,OAFjBwB,EAAWW,EAAKyC,QAAQ0J,EAAW1N,QAAS,mBAAkBd,EAAAC,KAAA,EAAAD,EAAAsE,GAEjD2K,KAAIjP,EAAAE,KAAA,EAAasC,EAAGC,SAASC,SAAShB,EAAU,QAAO,KAAA,EAExE,IAFwE1B,EAAAiD,GAAAjD,EAAAiC,KAAlEoX,OAAgBnK,MAAKqN,KAAAvc,EAAAsE,GAAAtE,EAAAiD,IACrBmZ,GAAU/C,eAAAA,EAAU+C,UAAW,GAC5BH,EAAI,EAAGA,EAAIG,EAAQrS,OAAQkS,IAC5BI,EAASG,MAAMC,QAAQL,EAAQH,IAAMG,EAAQH,GAAG,GAAKG,EAAQH,GAC7DK,EAAaE,MAAMC,QAAQL,EAAQH,KAAOG,EAAQH,GAAG,IAAO,CAAA,EACnD,sCAAXI,EACFD,EAAQH,GAAK,CACX,oCACA5N,EAAMzK,IACJ,CACE0Y,EACA,CACEI,OAAQ,wBAGZ,CAAErN,WAAY5B,MAGE,6BAAX4O,IACTD,EAAQH,GAAK,CACX,2BACA5N,EAAMzK,IACJ,CACE0Y,EACA,CACEK,gBAAgB,EAChBC,OAAQ,CAAC,uBACTC,eAAgB,CAAC,yBAGrB,CAAExN,WAAY5B,OAKqB,OAArC7L,EAAaqN,KAAKM,UAAU8J,GAASrZ,EAAAE,KAAA,GACrCQ,EAAY6B,KAAI,WAAA,OAAMoJ,GAAoBjK,EAAUE,MAAY,KAAA,GAAA5B,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAqD,GAAArD,EAAA,MAAA,GAAA,KAAA,GAAA,IAAA,MAAA,OAAAA,EAAAK,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,EAAA,KAAA,OAIxE,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,KAAAkb,GAAA3b,MAAAxB,KAAAyB,UAAA,CC5CD,IAAM8T,GAAU,CACdvF,QAAS,CAAC,iBAGZ,SAAsB8N,GAAoBxc,GAAA,OAAAyc,GAAAvc,MAAAxB,KAAAyB,UAAA,CAgBzC,SAAAsc,KAAA,OAAAA,GAAAtd,EAAAC,IAAAC,MAhBM,WAAoC8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SACvD7B,EAAM,SAAU,uBAAwBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAA8O,EAAAhN,EAAAiN,EAAAC,EAAAhN,EAAA,OAAAlC,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAEoB,OAD7DwO,EAAmBwM,EAAU3G,IAC3B7S,EAAWW,EAAKyC,QAAQL,EAAO3D,QAAS,oBAAmBd,EAAAC,KAAA,EAAAD,EAAAE,KAAA,EAEtCsC,EAAGC,SAASC,SAAShB,EAAU,QAAO,KAAA,EAAzDiN,EAAU3O,EAAAiC,KACV2M,EAAcK,KAAKC,MAAMP,GAC/BD,EAAcL,EAAMzK,IAAI,CAAC8K,EAAaE,EAAaF,GAAc,CAAEW,WAAY5B,KAAkBzN,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAsE,GAAAtE,EAAA,MAAA,GAAA,KAAA,GAAA,OAAAA,EAAAE,KAAA,GAI7FQ,EAAY6B,KAAI,WAAA,OAAMC,EAAGC,SAASuH,GAAG3H,EAAKyC,QAAQL,EAAO3D,QAAS,eAAgB,CAAEmJ,OAAO,OAAQ,KAAA,GAAA,OAAAjK,EAAAE,KAAA,GACnGQ,EAAY6B,KAAI,WAAA,OAAMC,EAAGC,SAASuH,GAAG3H,EAAKyC,QAAQL,EAAO3D,QAAS,iBAAkB,CAAEmJ,OAAO,OAAQ,KAAA,GAC7D,OAAxCrI,EAAaqN,KAAKM,UAAUb,GAAY1O,EAAAE,KAAA,GACxCQ,EAAY6B,KAAI,WAAA,OAAMoJ,GAAoBjK,EAAUE,MAAY,KAAA,GAAA,IAAA,MAAA,OAAA5B,EAAAK,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,EAAA,KAAA,OACtE,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,KAAA8b,GAAAvc,MAAAxB,KAAAyB,UAAA,CChCM,SAASuc,GAA4CC,GAC1D,IACuC7b,EADqDD,EAAAe,EAAvE8T,OAAOhI,QAAQiP,GAAK5R,MAAK,SAAA6R,EAAApZ,GAAA,IAAEqZ,EAAFlW,EAAAiW,EAAA,GAAM,GAAIE,EAAJnW,EAAAnD,EAAA,GAAQ,GAAA,OAAMqZ,EAAKE,cAAcD,OAC9C,IAAvC,IAAyCjc,EAAA0B,MAAAzB,EAAAD,EAAA2B,KAAAC,MAAA,CAAA,IAAAkL,EAAAhH,EAAA7F,EAAA5B,MAAA,GAA7BD,EAAG0O,EAAA,GAAEzO,EAAKyO,EAAA,UACbgP,EAAI1d,GACV0d,EAAgC1d,GAAOC,CAC1C,CAAC,CAAA,MAAA0L,GAAA/J,EAAA+B,EAAAgI,EAAA,CAAA,QAAA/J,EAAAgC,GAAA,CACD,OAAO8Z,CACT,CCOA,IAAMK,GAAc,CAClBC,gBAAiB,CACf1P,OAAQ,SACR2P,OAAQ,SACRC,iBAAkB,OAClBC,IAAK,YACLC,cAAc,EACdC,QAAQ,EACRC,cAAc,EACdC,8BAA8B,EAC9BC,iBAAiB,EACjBC,mBAAmB,EACnBC,aAAa,EACbC,WAAW,EACXC,eAAe,EACfC,OAAQ,OACRC,UAAW,CAAC,wBAAyB,aAEvCC,QAAS,CACP,WACA,aACA,eACA,sBACA,wBACA,4BAIEC,GAAa,CACjBhB,gBAAiB,CACf1P,OAAQ,SACR2P,OAAQ,SACRC,iBAAkB,OAClBC,IAAK,YACLC,cAAc,EACdC,QAAQ,EACRC,cAAc,EACdC,8BAA8B,EAC9BC,iBAAiB,EACjBC,mBAAmB,EACnBC,aAAa,EACbC,WAAW,EACXC,eAAe,EACfC,OAAQ,OACRC,UAAW,CAAC,4BAA6B,eAAgB,aAE3DC,QAAS,CAAC,WAAY,aAAc,iBAGtC,SAAsBE,GAAgBle,EAAAC,GAAA,OAAAke,GAAAje,MAAAxB,KAAAyB,UAAA,CAyCrC,SAAAge,KAAA,OAAAA,GAzCMhf,EAAAC,IAAAC,MAAA,SAAAsB,EAAgCwD,EAAuB+J,GAAyB,OAAA9O,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SAC9E7B,EAAM,SAAU,mBAAoBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAA8e,EAAAC,EAAAjQ,EAAAkQ,EAAAC,EAAAnd,EAAAod,EAAAC,EAAAC,EAAAC,EAAAC,EAAAjG,EAAArK,EAAAuQ,EAAAvd,EAAA,OAAAlC,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,IACrCsO,EAAW5E,UAAUkF,MAAK,CAAA9O,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAgB,OAAA,UAAA,KAAA,EAagC,OAX1D0N,EAAcwM,EAAUzW,EAAOM,KAAOuY,GAAciB,IACnD9Z,EAAO4N,oBAAuB5N,EAAO2a,8BACxC,QAAAR,EAAOlQ,EAAY6O,uBAAnB,IAAAqB,UAAOA,EAA6BlB,IAElCjZ,EAAOM,OAASN,EAAOO,4BACzB0J,EAAY4P,QAA6B,QAAtBO,EAAGnQ,EAAY4P,eAAO,IAAAO,OAAA,EAAnBA,EAAqB7T,QAAO,SAAClK,GAAe,OAAMA,EAAQsO,WAAW,mBAEzF3K,EAAO8S,aACT7I,EAAY6O,gBAAuB7O,EAAAA,EAAAA,CAAAA,EAAAA,EAAY6O,iBAAe,GAAA,CAAEE,iBAAkB,cAG9E/b,EAAWW,EAAKyC,QAAQL,EAAO3D,QAAS,iBAAgBd,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAE9BsC,EAAGC,SAASC,SAAShB,EAAU,QAAO,KAAA,GAA9DuX,EAAejZ,EAAAiC,KAEO,wDADtB2M,EAAcK,KAAKC,MAAM+J,IAChB,gBACNrK,EAAmB,QAG5B,QAAAkQ,EAAOpQ,EAAY6O,uBAAnB,IAAAuB,UAAOA,EAA6BjR,OACpC,QAAAkR,EAAOrQ,EAAY6O,uBAAnB,IAAAwB,UAAOA,EAA6BvB,OACpC,QAAAwB,EAAOtQ,EAAY6O,uBAAnB,IAAAyB,UAAOA,EAA6BvB,iBAChC,QAAJwB,EAAIrQ,EAAY2O,uBAAZ,IAAA0B,GAAAA,EAA6BvB,MAC/B,QAAAyB,EAAOzQ,EAAY6O,uBAAnB,IAAA4B,UAAOA,EAA6BzB,MAEtChP,EAAcL,EAAMzK,IAAI,CAAC8K,EAAaE,EAAaF,GAAc,CAAEW,WAAYzB,MACnE0Q,QAA6B,QAAtBY,EAAGxQ,EAAY4P,eAAO,IAAAY,OAAA,EAAnBA,EAAqBlU,QACzC,SAAClK,GAAe,OAAMA,EAAQ8E,SAAS,YAAc9E,EAAQ8E,SAAS,gBACtE5F,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAsE,GAAAtE,EAAA,MAAA,GAAA,KAAA,GAM0C,OAF9Cgd,GAAwC,UAA/BtO,EAAY6O,uBAAmB,IAAAmB,EAAAA,EAAA,CAAA,GACxC,QAAAC,EAAAjQ,EAAY4P,eAAZ,IAAAK,GAAAA,EAAqBtT,OACfzJ,EAAaqN,KAAKM,UAAUb,GAAY1O,EAAAE,KAAA,GACxCQ,EAAY6B,KAAI,WAAA,OAAMoJ,GAAoBjK,EAAUE,MAAY,KAAA,GAAA,IAAA,MAAA,OAAA5B,EAAAK,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,EAAA,KAAA,OACtE,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,KAAAwd,GAAAje,MAAAxB,KAAAyB,UAAA,CCzFD,IAAM4e,GAAY,CAChBxG,KAAM,CACJhZ,KAAM,OACNyf,GAAI,CACFC,aAAc,KACd/V,KAAM,CACJgW,SAAU,CAAC,OAAQ,OAAQ,iBAG/BC,KAAM,CACJ5G,KAAM,CACJ6G,KAAM,oEAIZrI,QAAS,CACPxX,KAAM,UACNyf,GAAI,CACF9V,KAAM,CACJgW,SAAU,KAGdC,KAAM,CACJpI,QAAS,CACPqI,KAAM,uEAIZC,KAAM,CACJ9f,KAAM,iBACNyf,GAAI,CACFM,kBAAmB,MAErBH,KAAM,CACJE,KAAM,CACJD,KAAM,oEAIZ,aAAc,CACZ7f,KAAM,aACNyf,GAAI,CACFM,kBAAmB,MAErBH,KAAM,CACJ,aAAc,CACZC,KAAM,0EAIZ,cAAe,CACb7f,KAAM,gBACNyf,GAAI,CACFO,oBAAqB,CACnBC,MAAO,CAAC,SAAU,SAAU,iBAGhCL,KAAM,CACJ,cAAe,CACbC,KAAM,2EAIZ,eAAgB,CACd7f,KAAM,eACNyf,GAAI,CACFS,OAAQ,CACND,MAAO,CAAC,aAGZL,KAAM,CACJ,eAAgB,CACdC,KAAM,yEACNM,QAAS,CACPC,oBAAqB,mDAK7B,gBAAiB,CACfpgB,KAAM,oBACNyf,GAAI,CACFC,aAAc,CACZO,MAAO,CAAC,YAGZL,KAAM,CACJ,gBAAiB,CACfC,KAAM,6EAIZ,uBAAwB,CACtB7f,KAAM,8BACNyf,GAAI,CACFS,OAAQ,CACND,MAAO,CAAC,aAGZL,KAAM,CACJ,uBAAwB,CACtBC,KAAM,iFACNM,QAAS,CACPE,eAAgB,qCAkB1B,SAAsBC,GAAiB7f,GAAA,OAAA8f,GAAA5f,MAAAxB,KAAAyB,UAAA,CAkCtC,SAAA2f,KAAA,OAAAA,GAAA3gB,EAAAC,IAAAC,MAlCM,WAAiC6O,GAAyB,OAAA9O,IAAAK,MAAA,SAAA8B,GAAA,cAAAA,EAAA5B,KAAA4B,EAAA3B,MAAA,KAAA,EAAA,OAAA2B,EAAAb,OAAA,SACxD7B,EAAM,SAAU,mBAAoBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAAygB,EAAAC,EAAAC,EAAAvS,EAAAsN,EAAAna,EAAAC,EAAAC,EAAA,OAAA3B,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EACqC,OAAxEogB,EAAgBje,EAAKyC,QAAQ0J,EAAW1N,QAAS,UAAW,aAAYsB,EAAAlC,KAAA,EACxEsC,EAAGC,SAAS8D,MAAM+Z,EAAe,CAAE9Z,WAAW,IAAO,KAAA,EAGwB,OAA7E+Z,EAAkBle,EAAKyC,QAAQ0J,EAAW1N,QAAS,UAAW,gBAAesB,EAAAlC,KAAA,EAC7EQ,EAAY6B,KAAI,WAAA,OAAMC,EAAGC,SAASuH,GAAGuW,EAAiB,CAAEtW,OAAO,EAAMzD,WAAW,OAAQ,KAAA,EAAA,OAAApE,EAAAlC,KAAA,EAExEsC,EAAGC,SAAS0C,QAAQmb,EAAe,CAAElb,eAAe,IAAO,KAAA,EAA3E4I,EAAO5L,EAAAH,KACPqZ,EAAYtN,EACfhD,QAAO,SAAC3F,GAAM,OAAKA,EAAOiB,UAAYjB,EAAOxF,KAAK8F,SAAS,OAAO,IAClE9B,KAAI,SAACwB,GAAM,OAAKA,EAAOxF,QACtB2O,EAAW5E,UAAU2M,iBACvB+E,EAAU9R,KAAK,gBAEbgF,EAAW6H,YAAmC,QAAzBgK,EAAI7R,EAAW2I,kBAAU,IAAAkJ,GAArBA,EAAuBjR,WAAW,4BAC7DkM,EAAU9R,KAAK,oBAEjB8R,EAAU9R,KACR,WACA,WACA,iBACA,kBACA,oBACA,4BACArI,EAAAe,EAEqBoZ,GAASlZ,EAAAnC,KAAA,GAAAoB,EAAA3B,IAAAC,MAAA,SAAA0B,IAAA,IAAAka,EAAAiF,EAAA,OAAA9gB,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAEc,OAFnCqb,EAAQna,EAAA5B,MAEXghB,EAAOne,EAAK+N,SAASmL,EAAU,QAAOvb,EAAAE,KAAA,EACtCQ,EAAY6B,KAAI,WAAA,OAAMke,GAAkBjS,EAAY8R,EAAeE,MAAM,KAAA,EAAA,IAAA,MAAA,OAAAxgB,EAAAK,OAAA,GAAAgB,EAAA,IAAAF,EAAA0B,IAAA,KAAA,GAAA,IAAAzB,EAAAD,EAAA2B,KAAAC,KAAA,CAAAX,EAAAlC,KAAA,GAAA,KAAA,CAAA,OAAAkC,EAAAY,cAAA3B,IAAA,KAAA,IAAA,KAAA,GAAAe,EAAAlC,KAAA,GAAA,MAAA,KAAA,GAAAkC,EAAAlC,KAAA,GAAA,MAAA,KAAA,GAAAkC,EAAAnC,KAAA,GAAAmC,EAAAa,GAAAb,EAAA,MAAA,IAAAjB,EAAA+B,EAAAd,EAAAa,IAAA,KAAA,GAAA,OAAAb,EAAAnC,KAAA,GAAAkB,EAAAgC,IAAAf,EAAAgB,OAAA,IAAA,KAAA,GAAA,IAAA,MAAA,OAAAhB,EAAA/B,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,GAAA,GAAA,GAAA,KAAA,OAEjF,KAAA,EAAA,IAAA,MAAA,OAAAiC,EAAAxB,OAAA,GAAAY,EACH,MAAAT,MAAAxB,KAAAyB,UAAA,CAAA,SAEcggB,GAAiBlgB,EAAAkR,EAAAC,GAAA,OAAAgP,GAAAlgB,MAAAxB,KAAAyB,UAAA,CAAA,SAAAigB,KAkE/B,OAlE+BA,GAAAjhB,EAAAC,IAAAC,MAAhC,SAAiC8E,EAAAA,EAAuB6b,EAAuBE,GAAe,IAAA9R,EAAAhN,EAAAiN,EAAAC,EAAA4F,EAAAmM,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA,OAAAthB,IAAAK,MAAA,SAAAgB,GAAA,cAAAA,EAAAd,KAAAc,EAAAb,MAAA,KAAA,EAEpC,OADpDwO,EAAcwM,EAAUmE,GAAUmB,IAAS,CAAE,GAC3C9e,EAAWW,EAAKC,KAAKge,EAAa,GAAAza,OAAK2a,EAAW,SAAAzf,EAAAd,KAAA,EAAAc,EAAAb,KAAA,EAE7BsC,EAAGC,SAASC,SAAShB,EAAU,QAAO,KAAA,EAAzDiN,EAAU5N,EAAAkB,KACV2M,EAAcqS,EAAKC,KAAKvS,GACjB,SAAT6R,GAA4B,eAATA,IACrBrgB,QAAQiH,IAAI,qBAAsBoZ,GAClCrgB,QAAQwX,IAAI/I,EAAa,CAAEuS,MAAO,QAEpCzS,EAAcL,EAAMzK,IAAI,CAAC8K,EAAaE,EAAaF,GAAc,CAAEW,WAAYzB,KAClE,SAAT4S,GAA4B,eAATA,GACrBrgB,QAAQwX,IAAIjJ,EAAa,CAAEyS,MAAO,OACnCpgB,EAAAb,KAAA,GAAA,MAAA,KAAA,GAAAa,EAAAd,KAAA,GAAAc,EAAAuD,GAAAvD,EAAA,MAAA,GAAA,KAAA,GAAAyT,EAAA,EAAAmM,EAIe3K,OAAO2C,OAAOjK,EAAY+Q,MAAK,KAAA,GAAA,KAAAjL,EAAAmM,EAAA5W,QAAA,CAAAhJ,EAAAb,KAAA,GAAA,KAAA,CAAnC,GAAH6gB,EAAGJ,EAAAnM,GAEC,QAARuM,EAAAA,EAAIrB,YAAI,IAAAkB,GAAU,QAAVC,QAAEjb,gBAAQ,IAAAib,GAAlBA,EAAqBtE,KAAAuE,EAAA,wBAAuB,CAAA/f,EAAAb,KAAA,GAAA,KAAA,CAAA,OAAAa,EAAAC,OAAA,UAAA,KAAA,GAEjDogB,GAAa3c,EAAQsc,EAAKP,GAAM,KAAA,GAAAhM,IAAAzT,EAAAb,KAAA,GAAA,MAAA,KAAA,GAAAa,EAAAkC,GAG1Bud,EAAIzf,EAAAb,KACL,YADKa,EAAAkC,GACI,GAYT,SAZSlC,EAAAkC,GAYH,GAIN,eAJMlC,EAAAkC,GAIM,GAAA,GAAA,MAAA,KAAA,GAAA,IAfXyL,EAAY4Q,GAAG+B,SAAQ,CAAAtgB,EAAAb,KAAA,GAAA,KAAA,QAClBwO,EAAY4Q,GAAG9V,KAAKzI,EAAAb,KAAA,GAAA,MAAA,KAAA,GAAA,KAClBuE,EAAO4S,QAAQmI,SAASzV,OAAS,GAAC,CAAAhJ,EAAAb,KAAA,GAAA,KAAA,CAC3CwO,EAAY4Q,GAAG9V,KAAKgW,SAAW/a,EAAO4S,QAAQmI,SAASze,EAAAb,KAAA,GAAA,MAAA,KAAA,GAAA,OAAAa,EAAAb,KAAA,GAGjDsC,EAAGC,SAASuH,GAAG3H,EAAKC,KAAKge,EAAe,eAAgB,CAAErW,OAAO,IAAO,KAAA,GAAA,OAAAlJ,EAAAC,OAAA,UAAA,KAAA,GAAA,OAAAD,EAAAC,OAAA,QAAA,IAAA,KAAA,GAM/C,OAAjCsgB,GAAY5S,EAAa,GAAI,IAAI3N,EAAAC,OAAA,QAAA,IAAA,KAAA,GAIF,OAA/BsgB,GAAY5S,EAAa,EAAG,GAAG3N,EAAAC,OAAA,QAAA,IAAA,KAAA,GAKN,OAA7BugB,GAAgB7S,GAAa3N,EAAAb,KAAA,GACvBshB,GAAU9S,EAAahN,GAAS,KAAA,GAAA,GAEzB,YAAT8e,EAAkB,CAAAzf,EAAAb,KAAA,GAAA,KAAA,CAAA,OAAAa,EAAAb,KAAA,GACdsC,EAAGC,SAASuH,GAAG3H,EAAKC,KAAKge,EAAe,wBAAyB,CAAErW,OAAO,IAAO,KAAA,GAAAlJ,EAAAb,KAAA,GAAA,MAAA,KAAA,GAAA,GACrE,SAATsgB,EAAe,CAAAzf,EAAAb,KAAA,GAAA,KAAA,CAAA,OAAAa,EAAAb,KAAA,GAClBsC,EAAGC,SAASuH,GAAG3H,EAAKC,KAAKge,EAAe,iBAAkB,CAAErW,OAAO,IAAO,KAAA,GAAA,GAC3EyE,EAAY+Q,KAAKgC,KAAI,CAAA1gB,EAAAb,KAAA,GAAA,KAAA,CAAA,OAAAa,EAAAC,OAAA,UAAA,KAAA,GAGwC,GADlE0N,EAAY+Q,KAAK,cAAgB/Q,EAAY+Q,KAAKgC,KAC5CT,EAAStS,EAAY+Q,KAAKgC,KAAI,KAAMC,yBAC/B,CAAA3gB,EAAAb,KAAA,GAAA,KAAA,CAAA,OAAAa,EAAAC,OAAA,UAAA,KAAA,GAKkB,OAH7B0N,EAAY+Q,KAAKgC,UAAUC,yBAAsCV,WAAAA,OAAAA,GACjEtS,EAAY7O,KAAO,gBACnB6O,EAAY4Q,GAAK,CAAEM,kBAAmB,aAC/BlR,EAAY+Q,KAAKgC,KAAK1gB,EAAAb,KAAA,GACvBshB,GAAU9S,EAAarM,EAAKC,KAAKge,EAAe,mBAAkB,KAAA,GAAA,IAAA,MAAA,OAAAvf,EAAAV,OAAA,GAAAkD,EAAA,KAAA,CAAA,CAAA,EAAA,KAE3E,MAAA/C,MAAAxB,KAAAyB,UAAA,CAED,SAAS2gB,GAAa3c,EAAuBsc,EAAUP,GAAuB,IAAApM,EAAAiH,EA2B5E,GA1BA0F,SAAAA,EAAQ,KAAK,CAAE,GACfA,EAAIf,UAAJe,EAAIf,QAAY,CAAE,GAGP,SAATQ,GACS,YAATA,GACS,SAATA,GACS,eAATA,GACS,yBAATA,IAEAO,EAAIf,QAAkB,SAAIvb,EAAO4R,WAAa,mCAAqC,8BAEjF5R,EAAO4S,QAAQC,KAAiB,YAATkJ,GAA+B,SAATA,IAC/CO,EAAIf,QAAmB,UAAI,4BAEzBe,EAAIf,QAAwB,iBAC9Be,EAAIf,QAAsC,6BAAI,qDACvCe,EAAIf,QAAwB,iBAGlCe,EAAIf,QAA6B,sBAAe,YAATQ,GAAsBA,EAAKpR,WAAW,YAC7E2R,EAAG,KAAMY,YAAcnB,EAAKpR,WAAW,aAExC2R,EAAIf,QAA6B,oBAAI,kDAG1B,SAATQ,EAAiB,CAAA,IAAAoB,EACbZ,EAAiB,QAARD,EAAAA,EAAQ,YAAA,IAAAa,OAAA,EAARA,EAAUF,yBACrBV,IACFD,EAAG,KAAMW,yBAA2BV,EAAO3c,QAAQ,QAAS,IAEhE,CA+BA,GA7BqB,QAAjBI,EAAAA,EAAO0S,kBAAU,IAAA/C,GAAjBA,EAAmBhF,WAAW,uBAChC2R,EAAIrB,KAAOqB,EAAIrB,KAAKrb,QAAQ,kBAAmB,gBACtC,QAAAI,EAAAA,EAAO0S,kBAAP,IAAAkE,GAAAA,EAAmBjM,WAAW,4BACvC2R,EAAIrB,KAAOqB,EAAIrB,KAAKrb,QAAQ,eAAgB,oBAgFhD,SAAoB0c,UACXA,EAAG,KAAuB,uBAC1BA,EAAG,KAAsB,sBACzBA,EAAG,KAAmB,mBACtBA,EAAG,KAAsB,cAClC,CAjFEc,CAAWd,GACsB,SAA7BA,EAAQ,KAAe,qBAClBA,EAAG,KAAoB,aAG5Btc,EAAOqd,sBAAwBtB,EAAKpR,WAAW,YACjD2R,EAAQ,KAAW,SAAI,OAGZ,YAATP,GAA+B,SAATA,GAA4B,SAATA,GAA4B,eAATA,GAAyBA,EAAKpR,WAAW,UACnG3K,EAAO4R,aACT0K,EAAQ,KAAuB,sBAAI,UAG9BA,EAAG,KAA4B,qBAGpC/K,OAAOC,KAAK8K,EAAQ,MAAEhX,OAAS,EACjCiT,GAAS+D,EAAG,aAELA,EAAQ,KAEb/K,OAAOC,KAAK8K,EAAIf,SAASjW,OAAS,EAAG,CAEvC,IAAMgY,EAAa/E,GAAS+D,EAAIf,gBACzBe,EAAIf,QACXe,EAAIf,QAAU+B,CAChB,aACShB,EAAIf,OAEf,CAEA,SAASsB,GAAY5S,EAAkBsT,EAA6BC,GAAmC,IAAA/E,EAAAgF,EAAAC,EACKC,EAAAnb,GAA1B,QAAnDiW,EAAE,QAAFgF,EAAExT,EAAY4Q,GAAG+B,gBAAf,IAAAa,GAAA,QAAAC,EAAAD,EAA0B,UAA1B,IAAAC,OAAA,EAAAA,EAA8BE,YAAmB,IAAAnF,EAAAA,EAAA,IAAI/T,MAAM,KAAKtF,IAAIkH,QAAO,GAAnGuX,EAASF,EAAA,GAAEG,EAAOH,EAAA,GACzB,GAAkB,IAAdE,GAAmBvX,OAAOyX,UAAUD,GAAU,CAChD,IAAME,GAAWF,EAAU,GAAK,GAC1BG,EACJV,EAAsBC,EAClBD,GAAuBS,GAAWA,EAAUR,EAC5CD,GAAuBS,GAAWA,EAAUR,EAClD,GAAIS,EAAS,OACbviB,QAAQiH,IACN,eACAsH,EACA4T,EACAC,EACAG,EACAD,EACAT,EACAC,EAEJ,MACE9hB,QAAQiH,IAAI,eAAgBsH,EAAa4T,EAAWC,GAGtD,IAAMI,EAAS,EAAIC,KAAKC,MAAsB,GAAhBD,KAAKE,UAC7BL,EAAUT,EAAsBY,KAAKC,MAAMD,KAAKE,UAAYb,EAAsBD,IAClFK,EAAI,GAAAxc,OAAM8c,EAAM,KAAA9c,QAAK4c,EAAU,EAAI,IAAM,GAAU,UACzD/T,EAAY4Q,GAAG+B,SAAW,CAAC,CAAEgB,KAAAA,GAC/B,CAAC,SAEcb,GAAS5P,EAAAuC,GAAA,OAAA4O,GAAAviB,MAAAxB,KAAAyB,UAAA,CAAA,SAAAsiB,KASvB,OATuBA,GAAxBtjB,EAAAC,IAAAC,MAAA,SAAAwS,EAAyBzD,EAAkBhN,GAAgB,IAAAshB,EAAA,OAAAtjB,IAAAK,MAAA,SAAAgS,GAAA,cAAAA,EAAA9R,KAAA8R,EAAA7R,MAAA,KAAA,EAOvD,OANI8iB,EAAW/B,EAAKgC,KAAKvU,EAAa,CACtCwU,WAAY,EACZC,cAAc,EACdC,OAAQ,CACN,SAAU,WAEZrR,EAAA7R,KAAA,EACIsC,EAAGC,SAASG,UAAUlB,EAAUshB,GAAS,KAAA,EAAA,IAAA,MAAA,OAAAjR,EAAA1R,OAAA,GAAA8R,EAChD,MAAA3R,MAAAxB,KAAAyB,UAAA,CAED,SAAS8gB,GAAgB7S,UAChBA,EAAY+Q,KAAK,iBAC1B,CCzVA,SAAsB4D,GAAiB/iB,GAAA,OAAAgjB,GAAA9iB,MAAAxB,KAAAyB,UAAA,CA4CtC,SAAA6iB,KAAA,OAAAA,GAAA7jB,EAAAC,IAAAC,MA5CM,WAAiC8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAA8B,GAAA,cAAAA,EAAA5B,KAAA4B,EAAA3B,MAAA,KAAA,EAAA,OAAA2B,EAAAb,OAAA,SACpD7B,EAAM,SAAU,oBAAqBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAA2jB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA3iB,EAAAC,EAAAC,EAAA0iB,EAAAC,EAAA3K,EAAA4K,EAAAC,EAAA9H,EAAA+H,EAAA,OAAAzkB,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAOyB,OAN7D0jB,EAAiBpc,EAA0B,OAAQ,CAAC,aAAc/C,EAAO3D,SACzE+iB,EAAgBO,GAAiB,eAAgB3f,EAAO3D,SAC1DujB,GAAeT,IAAmBS,GAAeR,IAAkBD,IAAmBC,GACxFnd,EAAU,OAAQ,CAAC,MAAO,UAAWmd,GAAgBpf,EAAO3D,QAAS,GAGjEgjB,EAAezhB,EAAKC,KAAKmC,EAAO3D,QAAS,QAAS,YAAWsB,EAAAlC,KAAA,EAC7DsC,EAAGC,SAAS8D,MAAMud,EAAc,CAAEtd,WAAW,IAAO,KAAA,EAAA,OAAApE,EAAAkC,GAAApC,EAAAE,EAAAlC,KAAA,EACjCsC,EAAGC,SAAS0C,QAAQ2e,GAAa,KAAA,EAAA1hB,EAAAa,GAAAb,EAAAH,KAAAd,GAAA,EAAAiB,EAAAkC,IAAAlC,EAAAa,IAAAb,EAAAnC,KAAA,GAAAoB,EAAA3B,IAAAC,MAAA,SAAA0B,IAAA,IAAAijB,EAAA,OAAA5kB,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAA3C,KAAJokB,EAAIljB,EAAA5B,OACJ4P,WAAW,UAAakV,EAAKlV,WAAU,QAAAvJ,OAASge,EAAiB,MAAA,CAAA7jB,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,EAClEQ,EAAY6B,KAAI,WAAA,OAAMC,EAAGC,SAASuH,GAAG3H,EAAKC,KAAKwhB,EAAcQ,OAAO,KAAA,EAC1EnkB,QAAQiH,IAAI,UAAW/E,EAAKC,KAAKwhB,EAAcQ,IAAO,KAAA,EAAA,IAAA,MAAA,OAAAtkB,EAAAK,OAAA,GAAAgB,EAAA,IAAAF,EAAA0B,IAAA,KAAA,GAAA,IAAAzB,EAAAD,EAAA2B,KAAAC,KAAA,CAAAX,EAAAlC,KAAA,GAAA,KAAA,CAAA,OAAAkC,EAAAY,cAAA3B,IAAA,KAAA,IAAA,KAAA,GAAAe,EAAAlC,KAAA,GAAA,MAAA,KAAA,GAAAkC,EAAAlC,KAAA,GAAA,MAAA,KAAA,GAAAkC,EAAAnC,KAAA,GAAAmC,EAAAoL,GAAApL,EAAA,MAAA,IAAAjB,EAAA+B,EAAAd,EAAAoL,IAAA,KAAA,GAAA,OAAApL,EAAAnC,KAAA,GAAAkB,EAAAgC,IAAAf,EAAAgB,OAAA,IAAA,KAAA,GAIA,OAApD2gB,EAAa1hB,EAAKyC,QAAQL,EAAO3D,QAAS,WAAUsB,EAAAlC,KAAA,GACpDQ,EAAY6B,KAAI,WAAA,OAAMC,EAAGC,SAASuH,GAAG+Z,EAAY,CAAE9Z,OAAO,OAAQ,KAAA,GAGnD,OADf+Z,EAAgB3hB,EAAKyC,QAAQL,EAAO3D,QAAS,eAAcsB,EAAAkP,GAChD2P,EAAI7e,EAAAlC,KAAA,GAAYsC,EAAGC,SAASC,SAASshB,EAAe,QAAO,KAAA,GAO4B,GAP5B5hB,EAAAmiB,GAAAniB,EAAAH,MAAtEoX,OAAgB6H,KAAI3E,KAAAna,EAAAkP,GAAAlP,EAAAmiB,KACjBC,yBAA2B,GACpCnL,EAASoL,WAAa,eACtBpL,EAASqL,OAAS,mBAElBrL,EAASsL,mBAAoB,EACvBV,UAAcV,UAAAC,EAAGnK,EAAS+C,4BAAToH,EAAkBzZ,sBAAU,EACnDsP,EAAS+C,gBAAOqH,EAAmB,QAAnBC,EAAGrK,EAAS+C,eAAO,IAAAsH,OAAA,EAAhBA,EAAkB1Y,QAAO,SAAC4Z,GAAM,MAAgB,gCAAXA,EAAEviB,IAAsC,mBAAK,GACjGgX,EAAS+C,QAAQrS,SAAWka,EAAc,CAAA7hB,EAAAlC,KAAA,GAAA,KAAA,CAC+B,OAArEgkB,EAAa7hB,EAAKyC,QAAQL,EAAO3D,QAAS,UAAW,iBAAgBsB,EAAAlC,KAAA,GACrEQ,EAAY6B,KAAI,WAAA,OAAMC,EAAGC,SAASuH,GAAGka,EAAY,CAAEja,OAAO,OAAQ,KAAA,GAIzE,OAF+B,IAA5BoP,EAAS+C,QAAQrS,eACZsP,EAAS+C,QACjBha,EAAAlC,KAAA,GACKsC,EAAGC,SAASG,UAAUohB,EAAe/C,EAAKgC,KAAK5J,EAAU,CAAE6J,WAAY,KAAK,KAAA,GAE5E9G,GAA+B,QAApB/C,EAAAA,EAAS+C,eAAW,IAAAuH,EAAAA,EAAA,IAAI9f,KAAI,SAAC+gB,GAAM,OAAKA,EAAEC,QACrDV,EAAoB1f,EAAOkS,sBAAwBlS,EAAOmS,+BAChEkO,GAAqBrgB,EAAQ2X,EAAS+H,EAAmB,8BACzDW,GAAqBrgB,EAAQ2X,EAAS3X,EAAOO,0BAA2B,mCACxE0B,EAAU,OAAQ,CAAC,MAAO,4BAA6BjC,EAAO3D,SAAS,KAAA,GAAA,IAAA,MAAA,OAAAsB,EAAA/B,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,GAAA,GAAA,GAAA,KAAA,OACvE,KAAA,EAAA,IAAA,MAAA,OAAAiC,EAAAxB,OAAA,GAAAY,EACH,KAAAqiB,GAAA9iB,MAAAxB,KAAAyB,UAAA,CAEM,SAAS2jB,GAAiB5e,EAAqB1E,GACpD,IAAMikB,EAAevd,EAA0B,MAAO,CAAC,OAAQhC,EAAa,WAAY,UAAW1E,GAC7FkkB,EAAW/V,KAAKC,MAAM6V,GAC5B,OAAOC,EAASA,EAASjb,OAAS,EACpC,CAEA,SAAS+a,GAAqBrgB,EAAuB2X,EAAmB6I,EAAwB5I,GAC1F4I,IAAkB7I,EAAQxW,SAASyW,IACrC3V,EAAU,OAAQ,CAAC,SAAUue,EAAgB,SAAW,SAAU5I,GAAS5X,EAAO3D,QAEtF,CAEA,SAASujB,GAAerb,GACtB,IAAOkc,EAA2Bje,EAAlB+B,EAAQG,MAAM,KAAI,GAAtB,GACZ,OAAO4B,OAAOma,EAChB,CCnEA,SAAsBC,GAAW7kB,GAAA,OAAA8kB,GAAA5kB,MAAAxB,KAAAyB,UAAA,CAgEhC,SAAA2kB,KAAA,OAAAA,GAAA3lB,EAAAC,IAAAC,MAhEM,WAA2B8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SAC9C7B,EAAM,SAAU,cAAeM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAAwU,EAAAY,EAAAC,EAAAC,EAAAmQ,EAAAC,EAAA,OAAA5lB,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GAC/ByS,GAAc,CAAA3S,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAgB,OAAA,UAAA,KAAA,EAED,GAFCgU,EAEGjC,GAAWmE,cAA+B,QAAlB9C,EAAC3P,EAAO0S,kBAAU,IAAA/C,EAAAA,EAAI,IAA7Dc,EAAAA,EAAAA,EAAAA,GAAAA,OAAOmQ,EAAIpQ,EAAA,GACbC,GAAUmQ,EAAI,CAAArlB,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAgB,OAAA,UAAA,KAAA,EAAA,GACL,gBAAVkU,GAAqC,mBAAVA,EAA0B,CAAAlV,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAgB,OAAA,UAAA,KAAA,EAAA,OAAAhB,EAAAC,KAAA,EAAAD,EAAAE,KAAA,GAGjDqlB,GAAWrQ,EAAOmQ,EAAM,wBAAyB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAC1DqlB,GAAWrQ,EAAOmQ,EAAM,qBAAsB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACvDqlB,GAAWrQ,EAAOmQ,EAAM,kBAAmB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACpDqlB,GAAWrQ,EAAOmQ,EAAM,mBAAoB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACrDqlB,GAAWrQ,EAAOmQ,EAAM,sBAAuB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACxDqlB,GAAWrQ,EAAOmQ,EAAM,kCAAmC,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACpEqlB,GAAWrQ,EAAOmQ,EAAM,0BAA2B,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAC5DqlB,GAAWrQ,EAAOmQ,EAAM,uBAAwB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACzDqlB,GAAWrQ,EAAOmQ,EAAM,6BAA8B,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAC/DqlB,GAAWrQ,EAAOmQ,EAAM,WAAY,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAC7CqlB,GAAWrQ,EAAOmQ,EAAM,cAAe,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAChDqlB,GAAWrQ,EAAOmQ,EAAM,YAAa,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAC9CqlB,GAAWrQ,EAAOmQ,EAAM,WAAY,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAC7CqlB,GAAWrQ,EAAOmQ,EAAM,YAAa,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAC9CqlB,GAAWrQ,EAAOmQ,EAAM,sBAAuB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACxDqlB,GAAWrQ,EAAOmQ,EAAM,iBAAkB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACnDqlB,GAAWrQ,EAAOmQ,EAAM,yBAA0B,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAC3DqlB,GAAWrQ,EAAOmQ,EAAM,sBAAuB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACxDqlB,GAAWrQ,EAAOmQ,EAAM,sBAAuB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACxDqlB,GAAWrQ,EAAOmQ,EAAM,iBAAkB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACnDqlB,GAAWrQ,EAAOmQ,EAAM,iBAAkB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACnDqlB,GAAWrQ,EAAOmQ,EAAM,iBAAkB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACnDqlB,GAAWrQ,EAAOmQ,EAAM,iBAAkB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACnDqlB,GAAWrQ,EAAOmQ,EAAM,iBAAkB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACnDqlB,GAAWrQ,EAAOmQ,EAAM,kBAAmB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACpDqlB,GAAWrQ,EAAOmQ,EAAM,oBAAqB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACtDqlB,GAAWrQ,EAAOmQ,EAAM,mBAAoB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACrDqlB,GAAWrQ,EAAOmQ,EAAM,8BAA+B,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAChEqlB,GAAWrQ,EAAOmQ,EAAM,iBAAkB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACnDqlB,GAAWrQ,EAAOmQ,EAAM,qBAAsB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACvDqlB,GAAWrQ,EAAOmQ,EAAM,eAAgB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACjDqlB,GAAWrQ,EAAOmQ,EAAM,gBAAiB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAClDqlB,GAAWrQ,EAAOmQ,EAAM,wBAAyB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAC1DqlB,GAAWrQ,EAAOmQ,EAAM,sBAAuB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACxDqlB,GAAWrQ,EAAOmQ,EAAM,sBAAuB,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACxDqlB,GAAWrQ,EAAOmQ,EAAM,UAAW,UAAS,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAE5CslB,GAAYtQ,EAAOmQ,EAAM,OAAM,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAC/BslB,GAAYtQ,EAAOmQ,EAAM,iBAAgB,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACzCslB,GAAYtQ,EAAOmQ,EAAM,aAAY,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACrCslB,GAAYtQ,EAAOmQ,EAAM,eAAc,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACvCslB,GAAYtQ,EAAOmQ,EAAM,oBAAmB,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GAC5CslB,GAAYtQ,EAAOmQ,EAAM,eAAc,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACvCslB,GAAYtQ,EAAOmQ,EAAM,WAAU,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACnCslB,GAAYtQ,EAAOmQ,EAAM,YAAW,KAAA,GAAA,OAAArlB,EAAAE,KAAA,GACpCslB,GAAYtQ,EAAOmQ,EAAM,WAAU,KAAA,GAAA,OAAArlB,EAAAE,KAAA,IAEnCslB,GAAYtQ,EAAOmQ,EAAM,SAAQ,KAAA,IAAA,OAAArlB,EAAAE,KAAA,IACjCslB,GAAYtQ,EAAOmQ,EAAM,oBAAmB,KAAA,IAAA,OAAArlB,EAAAE,KAAA,IAC5CslB,GAAYtQ,EAAOmQ,EAAM,YAAW,KAAA,IAAA,OAAArlB,EAAAE,KAAA,IACpCslB,GAAYtQ,EAAOmQ,EAAM,oBAAmB,KAAA,IAAArlB,EAAAE,KAAA,IAAA,MAAA,KAAA,IAAAF,EAAAC,KAAA,IAAAD,EAAAsE,GAAAtE,EAAA,MAAA,GAElDG,QAAQslB,KAAK,2BAA6D,QAAjCH,EAAA,OAAAtlB,EAAAsE,SAAA,IAAAtE,EAAAsE,QAAA,EAAAtE,EAAAsE,GAAkBohB,aAAe,IAAAJ,EAAAA,EAAAtlB,EAAAsE,IAAC,KAAA,IAAA,IAAA,MAAA,OAAAtE,EAAAK,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,EAAA,MAAA,OAE7E,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,MAAAT,MAAAxB,KAAAyB,UAAA,CAAA,SAEc8kB,GAAUhlB,EAAAkR,EAAAC,EAAAE,GAAA,OAAA+T,GAAAnlB,MAAAxB,KAAAyB,UAAA,CAAA,SAAAklB,KAgBxB,OAhBwBA,GAAAlmB,EAAAC,IAAAC,MAAzB,WAA0BuV,EAAemQ,EAAcxlB,EAAc+lB,GAAa,OAAAlmB,IAAAK,MAAA,SAAA8B,GAAA,cAAAA,EAAA5B,KAAA4B,EAAA3B,MAAA,KAAA,EAAA,OAAA2B,EAAA5B,KAAA,EAAA4B,EAAA3B,KAAA,EAExE0S,GAAQiT,QAAQ,oCAAqC,CACzD3Q,MAAAA,EACAmQ,KAAAA,EACAxlB,KAAAA,EACA+lB,MAAAA,IACA,KAAA,EAAA/jB,EAAA3B,KAAA,EAAA,MAAA,KAAA,EAAA,OAAA2B,EAAA5B,KAAA,EAAA4B,EAAAyC,GAAAzC,EAAA,MAAA,GAAAA,EAAA3B,KAAA,EAEI0S,GAAQiT,QAAQ,4CAA6C,CACjE3Q,MAAAA,EACAmQ,KAAAA,EACAxlB,KAAAA,EACA+lB,MAAAA,IACA,KAAA,EAAA,IAAA,MAAA,OAAA/jB,EAAAxB,OAAA,GAAAkD,EAAA,KAAA,CAAA,CAAA,EAAA,IAEL,MAAA/C,MAAAxB,KAAAyB,UAAA,CAAA,SAEc+kB,GAAWrR,EAAAmE,EAAAS,GAAA,OAAA+M,GAAAtlB,MAAAxB,KAAAyB,UAAA,CAAA,SAAAqlB,KAUzB,OAVyBA,GAAArmB,EAAAC,IAAAC,MAA1B,SAA2BuV,EAAAA,EAAemQ,EAAcxlB,GAAY,OAAAH,IAAAK,MAAA,SAAAgB,GAAA,cAAAA,EAAAd,KAAAc,EAAAb,MAAA,KAAA,EAAA,OAAAa,EAAAd,KAAA,EAAAc,EAAAb,KAAA,EAE1D0S,GAAQiT,QAAQ,6CAA8C,CAClE3Q,MAAAA,EACAmQ,KAAAA,EACAxlB,KAAAA,IACA,KAAA,EAAAkB,EAAAb,KAAA,EAAA,MAAA,KAAA,EAAAa,EAAAd,KAAA,EAAAc,EAAAuD,GAAAvD,EAAA,MAAA,GAAA,KAAA,EAAA,IAAA,MAAA,OAAAA,EAAAV,OAAA,GAAA8R,EAAA,KAAA,CAAA,CAAA,EAAA,IAIL,MAAA3R,MAAAxB,KAAAyB,UAAA,CC3FD,IAAMslB,GAAwB,CAAC,6BAE/B,SAAsBC,GAAY1lB,GAAA,OAAA2lB,GAAAzlB,MAAAxB,KAAAyB,UAAA,CAyDjC,SAAAwlB,KAAA,OAAAA,GAAAxmB,EAAAC,IAAAC,MAzDM,WAA4B8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAApB,OAAA,SAC/C7B,EAAM,SAAU,eAAgBM,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAAwU,EAAAY,EAAAC,EAAAC,EAAAmQ,EAAAa,EAAA/kB,EAAAC,EAAA+kB,EAAArV,EAAAsV,EAAA7mB,EAAA8mB,EAAA7R,EAAA8R,EAAAC,EAAA1mB,EAAA2mB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAtB,EAAA,OAAA5lB,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,GAChCyS,GAAc,CAAA3S,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAgB,OAAA,UAAA,KAAA,EAED,GAFCgU,EAEGjC,GAAWmE,cAA+B,QAAlB9C,EAAC3P,EAAO0S,kBAAU,IAAA/C,EAAAA,EAAI,IAA7Dc,EAAAA,EAAAA,EAAAA,GAAAA,OAAOmQ,EAAIpQ,EAAA,GACbC,GAAUmQ,GAAkB,mBAAVnQ,EAA0B,CAAAlV,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAgB,OAAA,UAAA,KAAA,EAEN,GAArCklB,EAASW,EAAOpiB,SAASyhB,QAAU,CAAA,EACN,IAA/BlQ,OAAOC,KAAKiQ,GAAQnc,OAAY,CAAA/J,EAAAE,KAAA,EAAA,KAAA,CAAA,OAAAF,EAAAgB,OAAA,UAAA,KAAA,EAAAhB,EAAAC,KAAA,EAAAkB,EAAAe,EAGT6jB,IAAqB/lB,EAAAC,KAAA,GAAAkB,EAAA0B,IAAA,KAAA,GAAA,IAAAzB,EAAAD,EAAA2B,KAAAC,KAAA,CAAA/C,EAAAE,KAAA,GAAA,KAAA,CAAzB,OAAVimB,EAAU/kB,EAAA5B,MAAAQ,EAAAC,KAAA,GAAAD,EAAAE,KAAA,GAEX0S,GAAQiT,QAAQ,6DAA8D,CAClF3Q,MAAAA,EACAmQ,KAAAA,EACAyB,YAAaX,IACb,KAAA,GAAAnmB,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAsE,GAAAtE,EAAA,MAAA,IAAA,KAAA,GAAAA,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAiD,GAAAjD,EAAA,MAAA,IAAAmB,EAAA+B,EAAAlD,EAAAiD,IAAA,KAAA,GAAA,OAAAjD,EAAAC,KAAA,GAAAkB,EAAAgC,IAAAnD,EAAAoD,OAAA,IAAA,KAAA,GAAA,OAAApD,EAAAE,KAAA,GAMiB0S,GAAQiT,QAAQ,uDAAwD,CAC7F3Q,MAAAA,EACAmQ,KAAAA,IACA,KAAA,GACiB,OAJbvU,EAAQ9Q,EAAAiC,KAAAmkB,EAIiBtV,EAASiW,KAAhCxnB,IAAAA,IAAa8mB,EAAKD,EAAbY,OAAMhnB,EAAAE,KAAA,GAEb+mB,EAAOC,MAAK,KAAA,GAAA1S,EAAA,EAAA8R,EAEWtQ,OAAOhI,QAAQkY,GAAO,KAAA,GAAA,KAAA1R,EAAA8R,EAAAvc,QAAA,CAAA/J,EAAAE,KAAA,GAAA,KAAA,CAA3B,GAA2BqmB,EAAvC1mB,EAAAA,EAAAA,GAAAA,GAAAA,OAAM2mB,EAAMD,EAAA,IAClB9hB,EAAO4R,YAAuB,eAATxW,EAAqB,CAAAG,EAAAE,KAAA,GAAA,KAAA,CAAA,OAAAF,EAAAgB,OAAA,WAAA,IAAA,KAAA,GAAA,GACzCyD,EAAO4R,YAAuB,sBAATxW,EAA4B,CAAAG,EAAAE,KAAA,GAAA,KAAA,CAAA,OAAAF,EAAAgB,OAAA,WAAA,IAAA,KAAA,GAUuB,OAPvEylB,EAASQ,EAAOE,YAAY5nB,EAAK0nB,EAAOG,gBAAgBC,UACxDX,EAASO,EAAOK,YAAYd,GAG5BG,EAAWM,EAAOM,gBAAgBb,EAAQD,GAG1CG,EAAYK,EAAOO,UAAUb,EAAUM,EAAOG,gBAAgBC,UAASrnB,EAAAE,KAAA,GAEvE0S,GAAQiT,QAAQ,0DAA2D,CAC/E3Q,MAAAA,EACAmQ,KAAAA,EACAyB,YAAajnB,EACb4nB,gBAAiBb,EACjBI,OAAQX,IACR,KAAA,GAAA7R,IAAAxU,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAqD,GAAArD,EAAA,MAAA,GAGJG,QAAQslB,KAAK,4BAA8D,QAAjCH,EAAA,OAAAtlB,EAAAqD,SAAA,IAAArD,EAAAqD,QAAA,EAAArD,EAAAqD,GAAkBqiB,aAAe,IAAAJ,EAAAA,EAAAtlB,EAAAqD,IAAC,KAAA,GAAA,IAAA,MAAA,OAAArD,EAAAK,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,EAAA,IAAA,CAAA,GAAA,GAAA,GAAA,IAAA,CAAA,GAAA,KAAA,OAE9E,KAAA,EAAA,IAAA,MAAA,OAAAwC,EAAA/B,OAAA,GAAAY,EACH,MAAAT,MAAAxB,KAAAyB,UAAA,CChED,SAAsBinB,GAAapnB,GAAA,OAAAqnB,GAAAnnB,MAAAxB,KAAAyB,UAAA,CAElC,SAAAknB,KAAA,OAAAA,GAAAloB,EAAAC,IAAAC,MAFM,WAA6B8E,GAAqB,OAAA/E,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAAA,IAAA,MAAA,OAAAF,EAAAK,OAAA,GAAAT,EAExD,MAAAY,MAAAxB,KAAAyB,UAAA,CCkDD,SAAsBmnB,GAAgBtnB,GAAA,OAAAunB,GAAArnB,MAAAxB,KAAAyB,UAAA,CA8HrC,SAAAonB,KAAA,OAAAA,GAAApoB,EAAAC,IAAAC,MA9HM,WAAgCmB,GAAe,IAAA+Y,EAAAiO,EAAAC,EAAAC,EAAAle,EAAA1D,EAAAC,EAAAF,EAAAoR,EAAA0Q,EAAAC,EAAAhkB,EAAAikB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAvf,EAAAvH,EAAA6S,EAAAmM,EAAA+H,EAAAC,EAAA9oB,EAAA+oB,EAAAnkB,EAAA,OAAA/E,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAoB/B,OAnBf2Z,EAAkBxX,EAAKyC,QAAQhE,EAAS,gBAAed,EAAAC,KAAA,EAErD6J,EAAwBtH,EAAGmH,WAAWkQ,GACxCzT,EAA4C,CAAA,EAC5CC,EAAkD,CAAA,EAClDF,EAA2B,CAAA,EAC3BoR,GAAa,EACbzN,IACI5F,EAAkB1B,EAAGqmB,aAAahP,EAAiB,QACzD1T,EAAc8I,KAAKC,MAAMhL,GACzBkC,EAAuC,UAAxBD,EAAYC,oBAAY,IAAA6hB,EAAAA,EAAI,GAC3C5hB,EAA6C,UAA3BF,EAAYE,uBAAe,IAAA6hB,EAAAA,EAAI,GACjD3Q,EAAkC,WAArBpR,EAAY2iB,MAGvBX,EAA4B,GAC5BC,EAA2B,GAAEpoB,EAAAC,KAAA,GAEzBqoB,EAAoBjmB,EAAKyC,QAAQhE,EAAS,mBAAkBd,EAAAsE,GACrD2K,KAAIjP,EAAAE,KAAA,GAAa0L,EAAIlJ,SAAS4lB,EAAmB,QAAO,KAAA,GAAAtoB,EAAAiD,GAAAjD,EAAAiC,KAA/DsmB,OAAYrZ,MAAKqN,KAAAvc,EAAAsE,GAAAtE,EAAAiD,IACvBklB,GAAkBI,eAAAA,EAAM/I,WAAY,GACpC4I,GAAiBG,SAAA,QAAAA,EAAAA,EAAMnM,eAAN,IAAAiM,OAAAE,EAAAF,EAAeU,SAAU,GAAG/oB,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAqD,GAAArD,EAAA,MAAA,IAAA,KAAA,GAOoB,KAF7DwoB,EAC2C,aAA/CnmB,EAAK+N,SAAS/N,EAAKyC,QAAQhE,EAAS,SACnC0B,EAAGmH,WAAWtH,EAAKyC,QAAQhE,EAAS,KAAM,KAAM,kBAGzC,CAAAd,EAAAE,KAAA,GAAA,KAAA,CAAA,OAAAF,EAAAE,KAAA,GACS8oB,GAAcloB,EAASqF,GAAY,KAAA,GAApDsiB,EAAQzoB,EAAAiC,KAAA,KAAA,GAGW,OAAjBiH,EAAe,GAAElJ,EAAAC,KAAA,GAAAD,EAAAE,KAAA,GAEG0L,EAAIlJ,SAASL,EAAKyC,QAAQhE,EAAS,kBAAmB,QAAO,KAAA,GAA7Ea,EAAO3B,EAAAiC,KACbiH,GAAgBvH,EAAQoG,OAAO/H,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAwN,GAAAxN,EAAA,MAAA,IAAA,KAAA,GAAAwU,EAAA,EAAAmM,EAIJ,CAC3B,CAAC,OAAQ,UACT,CAAC,SAAU,WACZ,KAAA,GAAA,KAAAnM,EAAAmM,EAAA5W,QAAA,CAAA/J,EAAAE,KAAA,GAAA,KAAA,CAHuB,OAGvBwoB,EAHWC,EAAAA,EAAAA,GAAAA,GAAAA,OAAQ9oB,EAAI6oB,EAAA,GAAA1oB,EAAAC,KAAA,GAAAD,EAAAE,KAAA,GAKa0L,EAAIlJ,SAASL,EAAKyC,QAAQhE,EAAa6nB,IAAAA,OAAAA,EAAiB,aAAE,QAAO,KAAA,GAA5FC,EAAkB5oB,EAAAiC,KACpBiH,IACFA,GAAgB,MAElBA,GAAgBrJ,EAAO,IAAM+oB,EAAmB7gB,OAAO/H,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAsR,GAAAtR,EAAA,MAAA,IAAA,KAAA,GAAAwU,IAAAxU,EAAAE,KAAA,GAAA,MAAA,KAAA,GA2DR,IArD7CuE,EAAwB,CAC5B3D,QAAAA,EACAiE,KAAMyjB,EACNnS,YAAkC,KAAtB,QAAAoS,EAAAA,SAAA,IAAAX,OAAA,EAAAA,EAAA,SACZxR,sBAAuBnQ,EAAY8iB,MACnC9R,WAAoB,QAAR4Q,EAAAU,SAAQ,IAAAV,GAARA,EAAUmB,UAAsBT,UAAAA,OAAA,QAAAA,EAAAA,SAAA,IAAAT,OAAA,EAAAA,EAAUkB,gBAAcjkB,EACpEsS,WAAAA,EACAV,mBAAoBgD,EAAgBjU,mBAAYvD,EAAK8mB,IAAyB,wBAC9EnkB,0BAA2BokB,GAAY,2BAA4BtoB,GACnEghB,qBACEtf,EAAGmH,WAAWtH,EAAKyC,QAAQhE,EAAS,gBACpC0B,EAAGmH,WAAWtH,EAAKyC,QAAQhE,EAAS,uBACtCoP,kBAAmB1N,EAAGmH,WAAWtH,EAAKyC,QAAQhE,EAAS,YACvDqP,gBAAiB3N,EAAGmH,WAAWtH,EAAKyC,QAAQhE,EAAS,WACrDgJ,sBAAuBtH,EAAGmH,WAAWtH,EAAKyC,QAAQhE,EAAS,iBAC3D2I,qBAAsBjH,EAAGmH,WAAWtH,EAAKyC,QAAQhE,EAAS,gBAC1DuP,iBAAkB7N,EAAGmH,WAAWtH,EAAKyC,QAAQhE,EAAS,YACtDwP,sBAAuB9N,EAAGmH,WAAWtH,EAAKyC,QAAQhE,EAAS,iBAC3DyP,uBAAwB/N,EAAGmH,WAAWtH,EAAKyC,QAAQhE,EAAS,kBAC5D2V,qBAAsB2S,GAAY,iDAAkDtoB,GACpF6V,qBAAsByS,GAAY,iDAAkDtoB,GACpFuR,mBAAoB+W,GAAY,gCAAiCtoB,GACjE4V,+BAAgC0S,GAC9B,6DACAtoB,GAEF8V,+BAAgCwS,GAC9B,6DACAtoB,GAEFse,6BAA8BgK,GAAY,4CAA6CtoB,GACvF8I,UAAW,CACTkF,OAAQ1I,EAAoB,OAAKC,EAAuB,OAAK,IAAIhC,QAAQ,IAAK,IAAI,GAClFwF,WAAYxD,EAAgB,kBAC5BoK,aAAcpK,EAA4B,WAC1CmK,SAAUpK,EAAqB,OAC/B0S,UAAWzS,EAAyB,QACpCqK,cAAetK,EAAa,gBAC5BmQ,mBACElQ,EAAgB,qBAChB8hB,EAAgBpe,OAAS,GACzBqe,EAAere,OAAS,GAE1B4G,YAAatK,EAAgB,qBAE/BgR,QAAS,CACPmI,SAAU2I,EACVkB,OAAQjB,EAAexiB,SAAS,4BAChC0R,IAAK8Q,EAAexiB,SAAS,0BAE/BsD,aAAAA,EACA/C,YAAAA,IAEK4I,WAAaua,GAAuB7kB,KAEzCA,EAAOyL,mBACPzL,EAAO0L,iBACP1L,EAAOqF,uBACPrF,EAAOgF,sBACPhF,EAAO4L,kBACP5L,EAAO6L,uBACP7L,EAAO8L,wBAAsB,CAAAvQ,EAAAE,KAAA,GAAA,KAAA,CAAA,OAAAF,EAAAgB,OAAA,SAEtByD,GAAM,KAAA,GAAAzE,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAukB,GAAAvkB,EAAA,MAAA,GAAA,KAAA,GAAA,IAAA,MAAA,OAAAA,EAAAK,OAAA,GAAAT,EAAA,KAAA,CAAA,CAAA,EAAA,IAAA,CAAA,GAAA,IAAA,CAAA,GAAA,IAAA,CAAA,GAAA,KAKlB,KAAAioB,GAAArnB,MAAAxB,KAAAyB,UAAA,CAED,SAAS2oB,GAAYG,EAAiBzoB,GACpC,OAAO0oB,EAAWD,EAAS,CAAExnB,KAAK,EAAMC,IAAKlB,IAAWiJ,OAAS,CACnE,CAEA,SAASuf,GAAuB7kB,GAC9B,OAAIA,EAAOkS,qBACFlS,EAAO4N,mBAAqB,sCAAwC,gCAEvE5N,EAAO4N,mBACF,sCACE5N,EAAOgS,qBACT,qCADF,CAIX,CAAC,SAEcuS,GAAazoB,EAAAkR,GAAA,OAAAgY,GAAAjpB,MAAAxB,KAAAyB,UAAA,CAAA,SAAAgpB,KAe3B,OAf2BA,GAA5BhqB,EAAAC,IAAAC,MAAA,SAAAsB,EAA6BH,EAAiBqF,GAAwB,IAAAujB,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAAC,EAAA1B,EAAA1X,EAAAqZ,EAAA,OAAAxqB,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EACtC,OAAxB4pB,EAAMK,EAAUrpB,GAAQsB,EAAAlC,KAAA,EACR4pB,EAAIM,YAAW,GAAK,KAAA,EAEiB,GAFrDL,EAAO3nB,EAAAH,KACP+nB,EAASD,EAAQM,MAAK,SAACC,GAAC,MAAgB,WAAXA,EAAEzqB,QAEZ,iBADnBoqB,EAAmCD,QAA1BN,EAAGM,SAAA,UAAAA,EAAQO,YAAR,IAAAZ,SAAAA,EAAc1Y,aAAS+Y,IAAAA,EAAAA,EAAAA,SAAA,QAAMJ,EAANI,EAAQO,YAAR,IAAAX,OAAM,EAANA,EAAcpgB,MACtB,CAAApH,EAAAlC,KAAA,GAAA,KAAA,CAAA,OAAAkC,EAAAlC,KAAA,EACZsqB,GAAgBP,GAAU,KAAA,EAAnC,KAAJ1B,EAAInmB,EAAAH,MACF,CAAAG,EAAAlC,KAAA,GAAA,KAAA,CAAA,OAAAkC,EAAApB,OAAA,SAASunB,GAAI,KAAA,GAGsF,KAAvG1X,EAAwC,iBAA3B1K,EAAYgR,WAA0BhR,EAAYgR,WAAmC,QAAtBhR,EAAAA,EAAYgR,kBAAU,IAAA0S,OAAA,EAAtBA,EAAwBhZ,KACnG,CAAAzO,EAAAlC,KAAA,GAAA,KAAA,CAAA,OAAAkC,EAAAlC,KAAA,GACcsqB,GAAgB3Z,GAAI,KAAA,GAA7B,KAAJ0X,EAAInmB,EAAAH,OACmB,cAAjBsmB,EAAKkC,QAAuB,CAAAroB,EAAAlC,KAAA,GAAA,KAAA,CAAA,OAAAkC,EAAApB,OAAA,SAASunB,GAAI,KAAA,GAAA,IAAA,MAAA,OAAAnmB,EAAA/B,OAAA,GAAAY,EAExD,KAAAwoB,GAAAjpB,MAAAxB,KAAAyB,UAAA,CAAA,SAEc+pB,GAAe9Y,GAAA,OAAAgZ,GAAAlqB,MAAAxB,KAAAyB,UAAA,CAAA,SAAAiqB,KAe7B,OAf6BA,GAAAjrB,EAAAC,IAAAC,MAA9B,WAA+BsT,GAAqB,IAAA+B,EAAAC,EAAA0V,EAAA9qB,EAAAwH,EAAAyJ,EAAA,OAAApR,IAAAK,MAAA,SAAA8B,GAAA,cAAAA,EAAA5B,KAAA4B,EAAA3B,MAAA,KAAA,EAClC,GADkC8U,EAC9BjC,GAAWmE,cAAcjE,GAAcgC,EAAAhO,EAAA+N,EAAA,GAApD2V,EAAG1V,EAAA,GAAEpV,EAAIoV,EAAA,GACX0V,GAAQ9qB,EAAI,CAAAgC,EAAA3B,KAAA,EAAA,KAAA,CAAA,OAAA2B,EAAAb,OAAA,UAAA,KAAA,EAE0B,OAArCqG,EAAM,CAAE6hB,UAAS,GAAArjB,OAAK8kB,EAAG,KAAA9kB,OAAIhG,IAAQgC,EAAA5B,KAAA,EAAA4B,EAAA3B,KAAA,EAElB0S,GAAQiT,QAAQ,4BAA6B,CAClE3Q,MAAOyV,EACPtF,KAAMxlB,IACN,KAAA,EAHIiR,EAAQjP,EAAAI,KAId+T,OAAO4U,OAAOvjB,EAAKyJ,EAASiW,MAAMllB,EAAA3B,KAAA,GAAA,MAAA,KAAA,GAAA2B,EAAA5B,KAAA,GAAA4B,EAAAyC,GAAAzC,EAAA,MAAA,GAAA,KAAA,GAAA,OAAAA,EAAAb,OAAA,SAI7BqG,GAAG,KAAA,GAAA,IAAA,MAAA,OAAAxF,EAAAxB,OAAA,GAAAkD,EAAA,KAAA,CAAA,CAAA,EAAA,KACX,MAAA/C,MAAAxB,KAAAyB,UAAA,CCnMkB,SAAAoqB,KA+GlB,OA/GkBA,GAAnBprB,EAAAC,IAAAC,MAAA,SAAAC,IAAA,IAAAkrB,EAAAzpB,EAAAmT,EAAAmM,EAAA,OAAAjhB,IAAAK,MAAA,SAAAqC,GAAA,cAAAA,EAAAnC,KAAAmC,EAAAlC,MAAA,KAAA,EAAA,OAAAkC,EAAAlC,KAAA,EACqB6qB,EAAM5iB,QAAQ2iB,KAAKplB,MAAM,IACzCiB,QAAQ,eAAgB,wDAAwD,SAACokB,GAChFA,EAAMC,WAAW,QAAS,CACxBC,SAAU,6BACVC,OAAO,EACPpC,KAAM,SACNqC,QAAS,CAAC,MAEb,IACArsB,QAAQ,CACPssB,SAAU,CACRC,YAAa,+BACbvC,KAAM,UACNqC,SAAS,EACTG,MAAO,KAETC,QAAS,CACPF,YAAa,wCACbvC,KAAM,UACNqC,SAAS,EACTG,MAAO,OAGV1N,SAASkN,KAAI,KAAA,EAvBVA,EAAI1oB,EAAAH,KAwBVnD,EAAQI,UAAY4rB,EAAKS,QAAQlqB,EAAA3B,IAAAC,MAAA,SAAA0B,IAAA,IAAAmqB,EAAAC,EAAAC,EAAA7mB,EAAA8mB,EAAAnd,EAAAod,EAAAC,EAAAC,EAAA3qB,EAAAC,EAAAqD,EAAAhC,EAAAlB,EAAAC,EAAAuqB,EAAA,OAAArsB,IAAAK,MAAA,SAAAC,GAAA,cAAAA,EAAAC,KAAAD,EAAAE,MAAA,KAAA,EAG2B,OADjDurB,EAAW9K,EAAAnM,GACdkX,EAAkBrpB,EAAKC,KAAKmpB,EAAa,YAAWzrB,EAAAE,KAAA,EACnC8rB,GAAiB,WAAA,OAAMxpB,EAAG2C,QAAQumB,EAAiB,CAAEtmB,eAAe,OAAQ,KAAA,EAAA,GAAApF,EAAAiD,GAAAuoB,EAAAxrB,EAAAiC,KAAAjC,EAAAsE,GAAA,OAAAtE,EAAAiD,IAAAjD,EAAAsE,GAAA,CAAAtE,EAAAE,KAAA,EAAA,KAAA,CAAAF,EAAAsE,QAAA,IAAAknB,EAAA,KAAA,EAAA,IAAAxrB,EAAAsE,GAAA,CAAAtE,EAAAE,KAAA,GAAA,KAAA,CAAAF,EAAAqD,GAAAmoB,EAAAxrB,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAqD,GAAK,GAAE,KAAA,GACD,OADnGwB,EAAO7E,EAAAqD,GACPsoB,EAAc9mB,EAAQmG,QAAO,SAACmN,GAAC,OAAKA,EAAE1R,aAAa,IAAE5C,KAAI,SAACsU,GAAC,OAAK9V,EAAKC,KAAKopB,EAAiBvT,EAAEtY,SAAMG,EAAAE,KAAA,GAEnGsD,EAAkB,CAAEioB,GAAW5lB,OAAA4J,EAAKkc,KAAa,KAAA,GAAA,OAAA3rB,EAAAE,KAAA,GACjDU,EAAiB6qB,GAAY,KAAA,GAAA,OAAAzrB,EAAAE,KAAA,GAEV0nB,GAAiB6D,GAAY,KAAA,GAAtC,GAAVjd,EAAUxO,EAAAiC,KACD,CAAAjC,EAAAE,KAAA,GAAA,KAAA,CACqD,OAAlEC,QAAQyH,MAA2C6jB,qCAAAA,OAAAA,IAAezrB,EAAAgB,OAAA,SAAA,YAAA,KAAA,GAAA,OAAAhB,EAAAE,KAAA,GAI5ByD,QAAQC,IAAI+nB,EAAY9nB,KAAI,SAACooB,GAAU,OAAKrE,GAAiBqE,EAAW,KAAE,KAAA,GAIlH,GAJML,EAAyB5rB,EAAAiC,KACzB4pB,EAAoBD,EAA0B5gB,QAAO,SAACvG,GAAM,QAAOA,KACnEqnB,EAAiB,CAAItd,GAAU3I,OAAA4J,EAAKoc,IAEtC/sB,EAAQI,UAAW,CAAAiC,EAAAe,EACA4pB,GAAiB,IAAtC,IAAwC3qB,EAAA0B,MAAAzB,EAAAD,EAAA2B,KAAAC,MAA7B0B,EAAMrD,EAAA5B,MACfW,QAAQC,KAAKqE,EACd,CAAA,MAAAyG,GAAA/J,EAAA+B,EAAAgI,EAAA,CAAA,QAAA/J,EAAAgC,GAAA,CACH,CAEA,OAAAnD,EAAAE,KAAA,GACMsI,EAAuBgG,GAAW,KAAA,GAAA,OAAAxO,EAAAE,KAAA,GAElCmjB,GAAkB7U,GAAW,KAAA,GAAA,OAAAxO,EAAAE,KAAA,GAC7ByD,QAAQC,IAAI,CAChBkI,GAAqB0C,GACrBkB,GAAsBlB,GACtBkL,GAAgBlL,GAChB2L,GAAqB3L,GACrB6L,GAAqB7L,GACrB2M,GAAe3M,GACfsO,GAAqBtO,GACrB0N,GAAkB1N,GAClB2R,GAAkB3R,GAClB2W,GAAY3W,GACZwX,GAAaxX,GACbkZ,GAAclZ,KACd,KAAA,GAAA,OAAAxO,EAAAE,KAAA,GACIQ,EAAY4C,aAAY,KAAA,GAExBb,EAA4B,GAAElB,EAAAW,EACf4pB,GAAiB9rB,EAAAC,KAAA,GAAAsB,EAAAsB,IAAA,KAAA,GAAA,IAAArB,EAAAD,EAAAuB,KAAAC,KAAA,CAAA/C,EAAAE,KAAA,GAAA,KAAA,CAGnC,QAHQuE,EAAMjD,EAAAhC,OACJmX,sBAAwBlS,EAAOmS,iCACxCnU,EAAS+G,KAAKjF,EAAmBE,EAAQA,EAAOM,KAAO+mB,EAAoB,CAACrnB,KAC7EzE,EAAAE,KAAA,GACK2P,GAAkBpL,EAAQ+J,GAAW,KAAA,GAAA,OAAAxO,EAAAE,KAAA,GACrCQ,EAAY4C,aAAY,KAAA,GAAA,GACzBmB,EAAOM,MAASN,EAAOqF,sBAAqB,CAAA9J,EAAAE,KAAA,GAAA,KAAA,CAAA,OAAAF,EAAAgB,OAAA,WAAA,IAAA,KAAA,GAAA,OAAAhB,EAAAE,KAAA,GAG3Cya,GAAuBlW,GAAO,KAAA,GAAA,OAAAzE,EAAAE,KAAA,GAC9B8T,GAAoBvP,EAAQ+J,EAAYsc,EAAKM,UAAS,KAAA,GAE5D3oB,EAAS+G,KAAK6Q,GAAqB5V,KAC/BA,EAAOkS,sBAAwBlS,EAAOmS,iCACxCnU,EAAS+G,KAAKgV,GAAiB/Z,EAAQ+J,KAGvC/J,EAAOgS,sBACPhS,EAAOiS,gCACPjS,EAAOkS,sBACPlS,EAAOmS,kCAEFpI,EAAWqI,oBACdpU,EAAS+G,KAAK8E,GAAiB7J,EAAQ+J,IAEzC/L,EAAS+G,KAAKyD,GAAqBxI,KAEjCA,EAAOmF,UAAUkP,SACnBrW,EAAS+G,KAAKwR,GAA0BvW,IACzC,KAAA,GAAAzE,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAE,KAAA,GAAA,MAAA,KAAA,GAAAF,EAAAC,KAAA,GAAAD,EAAAwN,GAAAxN,EAAA,MAAA,IAAAuB,EAAA2B,EAAAlD,EAAAwN,IAAA,KAAA,GAAA,OAAAxN,EAAAC,KAAA,GAAAsB,EAAA4B,IAAAnD,EAAAoD,OAAA,IAAA,KAAA,GAAA,OAAApD,EAAAE,KAAA,GAEGyD,QAAQC,IAAInB,GAAS,KAAA,GAAA,OAAAzC,EAAAE,KAAA,GACrBQ,EAAY4C,aAAY,KAAA,GAE9BoD,EAAU,OAAQ,CAAC,WAAY+kB,GAG/B/kB,EAAU,OAAQ,CAAC,WAAY+kB,GAAa,KAAA,GAAA,IAAA,MAAA,OAAAzrB,EAAAK,OAAA,GAAAgB,EAAA,KAAA,CAAA,CAAA,GAAA,GAAA,GAAA,KAAA,IAAAmT,EAlFpBsW,EAAAA,EAAAA,EAAKoB,MAAK,KAAA,EAAA,KAAA1X,EAAAmM,EAAA5W,QAAA,CAAA3H,EAAAlC,KAAA,GAAA,KAAA,CAAA,OAAAkC,EAAAY,cAAA3B,IAAA,KAAA,GAAA,KAAA,EAAA,GAAA,aAAAe,EAAAkC,GAAA,CAAAlC,EAAAlC,KAAA,GAAA,KAAA,CAAA,OAAAkC,EAAApB,OAAA,WAAA,IAAA,KAAA,GAAAwT,IAAApS,EAAAlC,KAAA,EAAA,MAAA,KAAA,GAAA,IAAA,MAAA,OAAAkC,EAAA/B,OAAA,GAAAT,EAoFrC,KAAAirB,GAAArqB,MAAAxB,KAAAyB,UAAA,OAjHgD,WAE9B,OAAAoqB,GAAArqB,MAAAxB,KAAAyB,UAAA,CAiHb0rB"}
|
package/package.json
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
{
|
2
2
|
"name": "wbfy",
|
3
|
-
"version": "1.
|
3
|
+
"version": "1.78.0",
|
4
4
|
"description": "A tool for applying WillBooster's conventional configures to npm packages",
|
5
5
|
"repository": "github:WillBooster/wbfy",
|
6
6
|
"license": "Apache-2.0",
|
@@ -57,8 +57,8 @@
|
|
57
57
|
"@willbooster/eslint-config-ts": "10.0.8",
|
58
58
|
"@willbooster/prettier-config": "9.1.1",
|
59
59
|
"@willbooster/renovate-config": "9.5.0",
|
60
|
-
"@yarnpkg/core": "4.0.0-rc.
|
61
|
-
"build-ts": "3.2.
|
60
|
+
"@yarnpkg/core": "4.0.0-rc.35",
|
61
|
+
"build-ts": "3.2.5",
|
62
62
|
"conventional-changelog-conventionalcommits": "5.0.0",
|
63
63
|
"eslint": "8.31.0",
|
64
64
|
"eslint-config-prettier": "8.6.0",
|
@@ -73,12 +73,12 @@
|
|
73
73
|
"micromatch": "4.0.5",
|
74
74
|
"pinst": "3.0.0",
|
75
75
|
"prettier": "2.8.2",
|
76
|
-
"semantic-release": "20.0.
|
76
|
+
"semantic-release": "20.0.2",
|
77
77
|
"sort-package-json": "2.1.0",
|
78
78
|
"ts-node": "10.9.1",
|
79
79
|
"type-fest": "3.5.1",
|
80
80
|
"typescript": "4.9.4",
|
81
|
-
"vitest": "0.
|
81
|
+
"vitest": "0.27.1"
|
82
82
|
},
|
83
83
|
"packageManager": "yarn@4.0.0-rc.35",
|
84
84
|
"engines": {
|