twenty-sdk 2.0.0 → 2.1.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/billing/index.cjs +2 -0
- package/dist/billing/index.cjs.map +1 -0
- package/dist/billing/index.d.ts +10 -0
- package/dist/billing/index.mjs +43 -0
- package/dist/billing/index.mjs.map +1 -0
- package/dist/cli/commands/add.d.ts +3 -1
- package/dist/cli/utilities/build/common/plugins/stub-twenty-sdk-define.plugin.d.ts +7 -0
- package/dist/cli/utilities/build/manifest/manifest-extract-config.d.ts +4 -2
- package/dist/cli/utilities/entity/entity-page-layout-tab-template.d.ts +3 -0
- package/dist/cli/utilities/entity/entity-record-page-layout-template.d.ts +5 -0
- package/dist/cli/utilities/entity/entity-view-template.d.ts +9 -3
- package/dist/cli.cjs +123 -55
- package/dist/cli.mjs +2183 -2020
- package/dist/define/index.cjs +13 -13
- package/dist/define/index.cjs.map +1 -1
- package/dist/define/index.d.ts +29 -4
- package/dist/define/index.mjs +995 -978
- package/dist/define/index.mjs.map +1 -1
- package/dist/front-component/index.cjs +9 -9
- package/dist/front-component/index.cjs.map +1 -1
- package/dist/front-component/index.d.ts +6 -2
- package/dist/front-component/index.mjs +44 -42
- package/dist/front-component/index.mjs.map +1 -1
- package/dist/{get-function-input-schema-BZ7_XyUh-0e9upvLV.mjs → get-function-input-schema-BZ7_XyUh-CKgoFzji.mjs} +1 -1
- package/dist/{get-function-input-schema-BZ7_XyUh-CoN3o7CS.js → get-function-input-schema-BZ7_XyUh-D38OurwZ.js} +1 -1
- package/dist/logic-function/index.cjs +2 -0
- package/dist/logic-function/index.cjs.map +1 -0
- package/dist/logic-function/index.d.ts +215 -0
- package/dist/logic-function/index.mjs +2 -0
- package/dist/logic-function/index.mjs.map +1 -0
- package/dist/operations.cjs +1 -1
- package/dist/operations.mjs +2 -2
- package/dist/{uninstall-CsGNVq-c.mjs → uninstall-Bw-TK4rL.mjs} +3955 -3701
- package/dist/{uninstall-CV3Frzv-.js → uninstall-CYiYoBPe.js} +70 -45
- package/package.json +15 -2
- package/dist/cli/utilities/build/manifest/utils/generate-default-field-universal-identifier.d.ts +0 -5
package/dist/cli.cjs
CHANGED
|
@@ -1,31 +1,31 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
"use strict";var qg=Object.create;var
|
|
2
|
+
"use strict";var qg=Object.create;var Fo=Object.defineProperty;var Hg=Object.getOwnPropertyDescriptor;var zg=Object.getOwnPropertyNames;var Kg=Object.getPrototypeOf,Vg=Object.prototype.hasOwnProperty;var Yg=(f,a,i,l)=>{if(a&&typeof a=="object"||typeof a=="function")for(let d of zg(a))!Vg.call(f,d)&&d!==i&&Fo(f,d,{get:()=>a[d],enumerable:!(l=Hg(a,d))||l.enumerable});return f};var Zg=(f,a,i)=>(i=f!=null?qg(Kg(f)):{},Yg(a||!f||!f.__esModule?Fo(i,"default",{value:f,enumerable:!0}):i,f));const z=require("path"),jg=require("chalk"),v=require("./uninstall-CYiYoBPe.js"),Jg=require("inquirer"),Dt=require("node:fs/promises"),re=require("uuid"),Xg=require("chokidar"),Qg=require("crypto"),bn=require("node:child_process"),ev=require("node:path"),P=require("react/jsx-runtime"),Et=require("react"),Wo=require("commander"),tv=require("util"),$t=f=>f&&f.__esModule?f:{default:f},Mo=$t(z),_=$t(jg),Ge=$t(Jg),Bo=$t(Xg),nv=$t(Qg),Ro=$t(ev),ko=$t(Et),ee=process.env.INIT_CWD||process.cwd(),ht=f=>f&&!f?.startsWith("/")?z.join(ee,f):f;var Tn={exports:{}};/**
|
|
3
3
|
* @license
|
|
4
4
|
* Lodash <https://lodash.com/>
|
|
5
5
|
* Copyright OpenJS Foundation and other contributors <https://openjsf.org/>
|
|
6
6
|
* Released under MIT license <https://lodash.com/license>
|
|
7
7
|
* Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>
|
|
8
8
|
* Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors
|
|
9
|
-
*/var rv=bn.exports,Fo;function iv(){return Fo||(Fo=1,function(f,a){(function(){var i,l="4.17.21",d=200,A="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",E="Expected a function",M="Invalid `variable` option passed into `_.template`",L="__lodash_hash_undefined__",ue=500,te="__lodash_placeholder__",Y=1,Ke=2,G=4,B=1,Je=2,We=1,Nt=2,Yi=4,Xe=8,Qt=16,je=32,en=64,Qe=128,tn=256,Sr=512,Vo=30,Yo="...",Zo=800,Jo=16,Zi=1,Xo=2,jo=3,Et=1/0,ht=9007199254740991,Qo=17976931348623157e292,Tn=NaN,ze=4294967295,eu=ze-1,tu=ze>>>1,nu=[["ary",Qe],["bind",We],["bindKey",Nt],["curry",Xe],["curryRight",Qt],["flip",Sr],["partial",je],["partialRight",en],["rearg",tn]],Ut="[object Arguments]",Rn="[object Array]",ru="[object AsyncFunction]",nn="[object Boolean]",rn="[object Date]",iu="[object DOMException]",Fn="[object Error]",Pn="[object Function]",Ji="[object GeneratorFunction]",Me="[object Map]",sn="[object Number]",su="[object Null]",et="[object Object]",Xi="[object Promise]",au="[object Proxy]",an="[object RegExp]",Be="[object Set]",on="[object String]",On="[object Symbol]",ou="[object Undefined]",un="[object WeakMap]",uu="[object WeakSet]",ln="[object ArrayBuffer]",Dt="[object DataView]",xr="[object Float32Array]",Er="[object Float64Array]",Ar="[object Int8Array]",Ir="[object Int16Array]",br="[object Int32Array]",Cr="[object Uint8Array]",Tr="[object Uint8ClampedArray]",Rr="[object Uint16Array]",Fr="[object Uint32Array]",lu=/\b__p \+= '';/g,cu=/\b(__p \+=) '' \+/g,fu=/(__e\(.*?\)|\b__t\)) \+\n'';/g,ji=/&(?:amp|lt|gt|quot|#39);/g,Qi=/[&<>"']/g,hu=RegExp(ji.source),pu=RegExp(Qi.source),du=/<%-([\s\S]+?)%>/g,gu=/<%([\s\S]+?)%>/g,es=/<%=([\s\S]+?)%>/g,vu=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,mu=/^\w*$/,_u=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Pr=/[\\^$.*+?()[\]{}|]/g,yu=RegExp(Pr.source),Or=/^\s+/,wu=/\s/,Su=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,xu=/\{\n\/\* \[wrapped with (.+)\] \*/,Eu=/,? & /,Au=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Iu=/[()=,{}\[\]\/\s]/,bu=/\\(\\)?/g,Cu=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ts=/\w*$/,Tu=/^[-+]0x[0-9a-f]+$/i,Ru=/^0b[01]+$/i,Fu=/^\[object .+?Constructor\]$/,Pu=/^0o[0-7]+$/i,Ou=/^(?:0|[1-9]\d*)$/,Lu=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Ln=/($^)/,Nu=/['\n\r\u2028\u2029\\]/g,Nn="\\ud800-\\udfff",Uu="\\u0300-\\u036f",Du="\\ufe20-\\ufe2f",$u="\\u20d0-\\u20ff",ns=Uu+Du+$u,rs="\\u2700-\\u27bf",is="a-z\\xdf-\\xf6\\xf8-\\xff",Wu="\\xac\\xb1\\xd7\\xf7",Mu="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Bu="\\u2000-\\u206f",ku=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",ss="A-Z\\xc0-\\xd6\\xd8-\\xde",as="\\ufe0e\\ufe0f",os=Wu+Mu+Bu+ku,Lr="['’]",Gu="["+Nn+"]",us="["+os+"]",Un="["+ns+"]",ls="\\d+",qu="["+rs+"]",cs="["+is+"]",fs="[^"+Nn+os+ls+rs+is+ss+"]",Nr="\\ud83c[\\udffb-\\udfff]",Hu="(?:"+Un+"|"+Nr+")",hs="[^"+Nn+"]",Ur="(?:\\ud83c[\\udde6-\\uddff]){2}",Dr="[\\ud800-\\udbff][\\udc00-\\udfff]",$t="["+ss+"]",ps="\\u200d",ds="(?:"+cs+"|"+fs+")",Ku="(?:"+$t+"|"+fs+")",gs="(?:"+Lr+"(?:d|ll|m|re|s|t|ve))?",vs="(?:"+Lr+"(?:D|LL|M|RE|S|T|VE))?",ms=Hu+"?",_s="["+as+"]?",zu="(?:"+ps+"(?:"+[hs,Ur,Dr].join("|")+")"+_s+ms+")*",Vu="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Yu="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ys=_s+ms+zu,Zu="(?:"+[qu,Ur,Dr].join("|")+")"+ys,Ju="(?:"+[hs+Un+"?",Un,Ur,Dr,Gu].join("|")+")",Xu=RegExp(Lr,"g"),ju=RegExp(Un,"g"),$r=RegExp(Nr+"(?="+Nr+")|"+Ju+ys,"g"),Qu=RegExp([$t+"?"+cs+"+"+gs+"(?="+[us,$t,"$"].join("|")+")",Ku+"+"+vs+"(?="+[us,$t+ds,"$"].join("|")+")",$t+"?"+ds+"+"+gs,$t+"+"+vs,Yu,Vu,ls,Zu].join("|"),"g"),el=RegExp("["+ps+Nn+ns+as+"]"),tl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nl=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],rl=-1,J={};J[xr]=J[Er]=J[Ar]=J[Ir]=J[br]=J[Cr]=J[Tr]=J[Rr]=J[Fr]=!0,J[Ut]=J[Rn]=J[ln]=J[nn]=J[Dt]=J[rn]=J[Fn]=J[Pn]=J[Me]=J[sn]=J[et]=J[an]=J[Be]=J[on]=J[un]=!1;var Z={};Z[Ut]=Z[Rn]=Z[ln]=Z[Dt]=Z[nn]=Z[rn]=Z[xr]=Z[Er]=Z[Ar]=Z[Ir]=Z[br]=Z[Me]=Z[sn]=Z[et]=Z[an]=Z[Be]=Z[on]=Z[On]=Z[Cr]=Z[Tr]=Z[Rr]=Z[Fr]=!0,Z[Fn]=Z[Pn]=Z[un]=!1;var il={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},sl={"&":"&","<":"<",">":">",'"':""","'":"'"},al={"&":"&","<":"<",">":">",""":'"',"'":"'"},ol={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ul=parseFloat,ll=parseInt,ws=typeof m.commonjsGlobal=="object"&&m.commonjsGlobal&&m.commonjsGlobal.Object===Object&&m.commonjsGlobal,cl=typeof self=="object"&&self&&self.Object===Object&&self,le=ws||cl||Function("return this")(),Wr=a&&!a.nodeType&&a,At=Wr&&!0&&f&&!f.nodeType&&f,Ss=At&&At.exports===Wr,Mr=Ss&&ws.process,Te=function(){try{var p=At&&At.require&&At.require("util").types;return p||Mr&&Mr.binding&&Mr.binding("util")}catch{}}(),xs=Te&&Te.isArrayBuffer,Es=Te&&Te.isDate,As=Te&&Te.isMap,Is=Te&&Te.isRegExp,bs=Te&&Te.isSet,Cs=Te&&Te.isTypedArray;function Se(p,_,v){switch(v.length){case 0:return p.call(_);case 1:return p.call(_,v[0]);case 2:return p.call(_,v[0],v[1]);case 3:return p.call(_,v[0],v[1],v[2])}return p.apply(_,v)}function fl(p,_,v,b){for(var O=-1,H=p==null?0:p.length;++O<H;){var se=p[O];_(b,se,v(se),p)}return b}function Re(p,_){for(var v=-1,b=p==null?0:p.length;++v<b&&_(p[v],v,p)!==!1;);return p}function hl(p,_){for(var v=p==null?0:p.length;v--&&_(p[v],v,p)!==!1;);return p}function Ts(p,_){for(var v=-1,b=p==null?0:p.length;++v<b;)if(!_(p[v],v,p))return!1;return!0}function pt(p,_){for(var v=-1,b=p==null?0:p.length,O=0,H=[];++v<b;){var se=p[v];_(se,v,p)&&(H[O++]=se)}return H}function Dn(p,_){var v=p==null?0:p.length;return!!v&&Wt(p,_,0)>-1}function Br(p,_,v){for(var b=-1,O=p==null?0:p.length;++b<O;)if(v(_,p[b]))return!0;return!1}function j(p,_){for(var v=-1,b=p==null?0:p.length,O=Array(b);++v<b;)O[v]=_(p[v],v,p);return O}function dt(p,_){for(var v=-1,b=_.length,O=p.length;++v<b;)p[O+v]=_[v];return p}function kr(p,_,v,b){var O=-1,H=p==null?0:p.length;for(b&&H&&(v=p[++O]);++O<H;)v=_(v,p[O],O,p);return v}function pl(p,_,v,b){var O=p==null?0:p.length;for(b&&O&&(v=p[--O]);O--;)v=_(v,p[O],O,p);return v}function Gr(p,_){for(var v=-1,b=p==null?0:p.length;++v<b;)if(_(p[v],v,p))return!0;return!1}var dl=qr("length");function gl(p){return p.split("")}function vl(p){return p.match(Au)||[]}function Rs(p,_,v){var b;return v(p,function(O,H,se){if(_(O,H,se))return b=H,!1}),b}function $n(p,_,v,b){for(var O=p.length,H=v+(b?1:-1);b?H--:++H<O;)if(_(p[H],H,p))return H;return-1}function Wt(p,_,v){return _===_?Tl(p,_,v):$n(p,Fs,v)}function ml(p,_,v,b){for(var O=v-1,H=p.length;++O<H;)if(b(p[O],_))return O;return-1}function Fs(p){return p!==p}function Ps(p,_){var v=p==null?0:p.length;return v?Kr(p,_)/v:Tn}function qr(p){return function(_){return _==null?i:_[p]}}function Hr(p){return function(_){return p==null?i:p[_]}}function Os(p,_,v,b,O){return O(p,function(H,se,V){v=b?(b=!1,H):_(v,H,se,V)}),v}function _l(p,_){var v=p.length;for(p.sort(_);v--;)p[v]=p[v].value;return p}function Kr(p,_){for(var v,b=-1,O=p.length;++b<O;){var H=_(p[b]);H!==i&&(v=v===i?H:v+H)}return v}function zr(p,_){for(var v=-1,b=Array(p);++v<p;)b[v]=_(v);return b}function yl(p,_){return j(_,function(v){return[v,p[v]]})}function Ls(p){return p&&p.slice(0,$s(p)+1).replace(Or,"")}function xe(p){return function(_){return p(_)}}function Vr(p,_){return j(_,function(v){return p[v]})}function cn(p,_){return p.has(_)}function Ns(p,_){for(var v=-1,b=p.length;++v<b&&Wt(_,p[v],0)>-1;);return v}function Us(p,_){for(var v=p.length;v--&&Wt(_,p[v],0)>-1;);return v}function wl(p,_){for(var v=p.length,b=0;v--;)p[v]===_&&++b;return b}var Sl=Hr(il),xl=Hr(sl);function El(p){return"\\"+ol[p]}function Al(p,_){return p==null?i:p[_]}function Mt(p){return el.test(p)}function Il(p){return tl.test(p)}function bl(p){for(var _,v=[];!(_=p.next()).done;)v.push(_.value);return v}function Yr(p){var _=-1,v=Array(p.size);return p.forEach(function(b,O){v[++_]=[O,b]}),v}function Ds(p,_){return function(v){return p(_(v))}}function gt(p,_){for(var v=-1,b=p.length,O=0,H=[];++v<b;){var se=p[v];(se===_||se===te)&&(p[v]=te,H[O++]=v)}return H}function Wn(p){var _=-1,v=Array(p.size);return p.forEach(function(b){v[++_]=b}),v}function Cl(p){var _=-1,v=Array(p.size);return p.forEach(function(b){v[++_]=[b,b]}),v}function Tl(p,_,v){for(var b=v-1,O=p.length;++b<O;)if(p[b]===_)return b;return-1}function Rl(p,_,v){for(var b=v+1;b--;)if(p[b]===_)return b;return b}function Bt(p){return Mt(p)?Pl(p):dl(p)}function ke(p){return Mt(p)?Ol(p):gl(p)}function $s(p){for(var _=p.length;_--&&wu.test(p.charAt(_)););return _}var Fl=Hr(al);function Pl(p){for(var _=$r.lastIndex=0;$r.test(p);)++_;return _}function Ol(p){return p.match($r)||[]}function Ll(p){return p.match(Qu)||[]}var Nl=function p(_){_=_==null?le:kt.defaults(le.Object(),_,kt.pick(le,nl));var v=_.Array,b=_.Date,O=_.Error,H=_.Function,se=_.Math,V=_.Object,Zr=_.RegExp,Ul=_.String,Fe=_.TypeError,Mn=v.prototype,Dl=H.prototype,Gt=V.prototype,Bn=_["__core-js_shared__"],kn=Dl.toString,z=Gt.hasOwnProperty,$l=0,Ws=function(){var e=/[^.]+$/.exec(Bn&&Bn.keys&&Bn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),Gn=Gt.toString,Wl=kn.call(V),Ml=le._,Bl=Zr("^"+kn.call(z).replace(Pr,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),qn=Ss?_.Buffer:i,vt=_.Symbol,Hn=_.Uint8Array,Ms=qn?qn.allocUnsafe:i,Kn=Ds(V.getPrototypeOf,V),Bs=V.create,ks=Gt.propertyIsEnumerable,zn=Mn.splice,Gs=vt?vt.isConcatSpreadable:i,fn=vt?vt.iterator:i,It=vt?vt.toStringTag:i,Vn=function(){try{var e=Ft(V,"defineProperty");return e({},"",{}),e}catch{}}(),kl=_.clearTimeout!==le.clearTimeout&&_.clearTimeout,Gl=b&&b.now!==le.Date.now&&b.now,ql=_.setTimeout!==le.setTimeout&&_.setTimeout,Yn=se.ceil,Zn=se.floor,Jr=V.getOwnPropertySymbols,Hl=qn?qn.isBuffer:i,qs=_.isFinite,Kl=Mn.join,zl=Ds(V.keys,V),ae=se.max,fe=se.min,Vl=b.now,Yl=_.parseInt,Hs=se.random,Zl=Mn.reverse,Xr=Ft(_,"DataView"),hn=Ft(_,"Map"),jr=Ft(_,"Promise"),qt=Ft(_,"Set"),pn=Ft(_,"WeakMap"),dn=Ft(V,"create"),Jn=pn&&new pn,Ht={},Jl=Pt(Xr),Xl=Pt(hn),jl=Pt(jr),Ql=Pt(qt),ec=Pt(pn),Xn=vt?vt.prototype:i,gn=Xn?Xn.valueOf:i,Ks=Xn?Xn.toString:i;function o(e){if(ee(e)&&!N(e)&&!(e instanceof k)){if(e instanceof Pe)return e;if(z.call(e,"__wrapped__"))return za(e)}return new Pe(e)}var Kt=function(){function e(){}return function(t){if(!Q(t))return{};if(Bs)return Bs(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function jn(){}function Pe(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}o.templateSettings={escape:du,evaluate:gu,interpolate:es,variable:"",imports:{_:o}},o.prototype=jn.prototype,o.prototype.constructor=o,Pe.prototype=Kt(jn.prototype),Pe.prototype.constructor=Pe;function k(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=ze,this.__views__=[]}function tc(){var e=new k(this.__wrapped__);return e.__actions__=me(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=me(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=me(this.__views__),e}function nc(){if(this.__filtered__){var e=new k(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function rc(){var e=this.__wrapped__.value(),t=this.__dir__,n=N(e),r=t<0,s=n?e.length:0,u=vf(0,s,this.__views__),c=u.start,h=u.end,g=h-c,w=r?h:c-1,S=this.__iteratees__,x=S.length,I=0,C=fe(g,this.__takeCount__);if(!n||!r&&s==g&&C==g)return ga(e,this.__actions__);var R=[];e:for(;g--&&I<C;){w+=t;for(var D=-1,F=e[w];++D<x;){var W=S[D],q=W.iteratee,Ie=W.type,ve=q(F);if(Ie==Xo)F=ve;else if(!ve){if(Ie==Zi)continue e;break e}}R[I++]=F}return R}k.prototype=Kt(jn.prototype),k.prototype.constructor=k;function bt(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function ic(){this.__data__=dn?dn(null):{},this.size=0}function sc(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}function ac(e){var t=this.__data__;if(dn){var n=t[e];return n===L?i:n}return z.call(t,e)?t[e]:i}function oc(e){var t=this.__data__;return dn?t[e]!==i:z.call(t,e)}function uc(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=dn&&t===i?L:t,this}bt.prototype.clear=ic,bt.prototype.delete=sc,bt.prototype.get=ac,bt.prototype.has=oc,bt.prototype.set=uc;function tt(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function lc(){this.__data__=[],this.size=0}function cc(e){var t=this.__data__,n=Qn(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():zn.call(t,n,1),--this.size,!0}function fc(e){var t=this.__data__,n=Qn(t,e);return n<0?i:t[n][1]}function hc(e){return Qn(this.__data__,e)>-1}function pc(e,t){var n=this.__data__,r=Qn(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}tt.prototype.clear=lc,tt.prototype.delete=cc,tt.prototype.get=fc,tt.prototype.has=hc,tt.prototype.set=pc;function nt(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function dc(){this.size=0,this.__data__={hash:new bt,map:new(hn||tt),string:new bt}}function gc(e){var t=fr(this,e).delete(e);return this.size-=t?1:0,t}function vc(e){return fr(this,e).get(e)}function mc(e){return fr(this,e).has(e)}function _c(e,t){var n=fr(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}nt.prototype.clear=dc,nt.prototype.delete=gc,nt.prototype.get=vc,nt.prototype.has=mc,nt.prototype.set=_c;function Ct(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new nt;++t<n;)this.add(e[t])}function yc(e){return this.__data__.set(e,L),this}function wc(e){return this.__data__.has(e)}Ct.prototype.add=Ct.prototype.push=yc,Ct.prototype.has=wc;function Ge(e){var t=this.__data__=new tt(e);this.size=t.size}function Sc(){this.__data__=new tt,this.size=0}function xc(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Ec(e){return this.__data__.get(e)}function Ac(e){return this.__data__.has(e)}function Ic(e,t){var n=this.__data__;if(n instanceof tt){var r=n.__data__;if(!hn||r.length<d-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new nt(r)}return n.set(e,t),this.size=n.size,this}Ge.prototype.clear=Sc,Ge.prototype.delete=xc,Ge.prototype.get=Ec,Ge.prototype.has=Ac,Ge.prototype.set=Ic;function zs(e,t){var n=N(e),r=!n&&Ot(e),s=!n&&!r&&St(e),u=!n&&!r&&!s&&Zt(e),c=n||r||s||u,h=c?zr(e.length,Ul):[],g=h.length;for(var w in e)(t||z.call(e,w))&&!(c&&(w=="length"||s&&(w=="offset"||w=="parent")||u&&(w=="buffer"||w=="byteLength"||w=="byteOffset")||at(w,g)))&&h.push(w);return h}function Vs(e){var t=e.length;return t?e[li(0,t-1)]:i}function bc(e,t){return hr(me(e),Tt(t,0,e.length))}function Cc(e){return hr(me(e))}function Qr(e,t,n){(n!==i&&!qe(e[t],n)||n===i&&!(t in e))&&rt(e,t,n)}function vn(e,t,n){var r=e[t];(!(z.call(e,t)&&qe(r,n))||n===i&&!(t in e))&&rt(e,t,n)}function Qn(e,t){for(var n=e.length;n--;)if(qe(e[n][0],t))return n;return-1}function Tc(e,t,n,r){return mt(e,function(s,u,c){t(r,s,n(s),c)}),r}function Ys(e,t){return e&&Ye(t,oe(t),e)}function Rc(e,t){return e&&Ye(t,ye(t),e)}function rt(e,t,n){t=="__proto__"&&Vn?Vn(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function ei(e,t){for(var n=-1,r=t.length,s=v(r),u=e==null;++n<r;)s[n]=u?i:Ni(e,t[n]);return s}function Tt(e,t,n){return e===e&&(n!==i&&(e=e<=n?e:n),t!==i&&(e=e>=t?e:t)),e}function Oe(e,t,n,r,s,u){var c,h=t&Y,g=t&Ke,w=t&G;if(n&&(c=s?n(e,r,s,u):n(e)),c!==i)return c;if(!Q(e))return e;var S=N(e);if(S){if(c=_f(e),!h)return me(e,c)}else{var x=he(e),I=x==Pn||x==Ji;if(St(e))return _a(e,h);if(x==et||x==Ut||I&&!s){if(c=g||I?{}:$a(e),!h)return g?of(e,Rc(c,e)):af(e,Ys(c,e))}else{if(!Z[x])return s?e:{};c=yf(e,x,h)}}u||(u=new Ge);var C=u.get(e);if(C)return C;u.set(e,c),ho(e)?e.forEach(function(F){c.add(Oe(F,t,n,F,e,u))}):co(e)&&e.forEach(function(F,W){c.set(W,Oe(F,t,n,W,e,u))});var R=w?g?wi:yi:g?ye:oe,D=S?i:R(e);return Re(D||e,function(F,W){D&&(W=F,F=e[W]),vn(c,W,Oe(F,t,n,W,e,u))}),c}function Fc(e){var t=oe(e);return function(n){return Zs(n,e,t)}}function Zs(e,t,n){var r=n.length;if(e==null)return!r;for(e=V(e);r--;){var s=n[r],u=t[s],c=e[s];if(c===i&&!(s in e)||!u(c))return!1}return!0}function Js(e,t,n){if(typeof e!="function")throw new Fe(E);return En(function(){e.apply(i,n)},t)}function mn(e,t,n,r){var s=-1,u=Dn,c=!0,h=e.length,g=[],w=t.length;if(!h)return g;n&&(t=j(t,xe(n))),r?(u=Br,c=!1):t.length>=d&&(u=cn,c=!1,t=new Ct(t));e:for(;++s<h;){var S=e[s],x=n==null?S:n(S);if(S=r||S!==0?S:0,c&&x===x){for(var I=w;I--;)if(t[I]===x)continue e;g.push(S)}else u(t,x,r)||g.push(S)}return g}var mt=Ea(Ve),Xs=Ea(ni,!0);function Pc(e,t){var n=!0;return mt(e,function(r,s,u){return n=!!t(r,s,u),n}),n}function er(e,t,n){for(var r=-1,s=e.length;++r<s;){var u=e[r],c=t(u);if(c!=null&&(h===i?c===c&&!Ae(c):n(c,h)))var h=c,g=u}return g}function Oc(e,t,n,r){var s=e.length;for(n=U(n),n<0&&(n=-n>s?0:s+n),r=r===i||r>s?s:U(r),r<0&&(r+=s),r=n>r?0:go(r);n<r;)e[n++]=t;return e}function js(e,t){var n=[];return mt(e,function(r,s,u){t(r,s,u)&&n.push(r)}),n}function ce(e,t,n,r,s){var u=-1,c=e.length;for(n||(n=Sf),s||(s=[]);++u<c;){var h=e[u];t>0&&n(h)?t>1?ce(h,t-1,n,r,s):dt(s,h):r||(s[s.length]=h)}return s}var ti=Aa(),Qs=Aa(!0);function Ve(e,t){return e&&ti(e,t,oe)}function ni(e,t){return e&&Qs(e,t,oe)}function tr(e,t){return pt(t,function(n){return ot(e[n])})}function Rt(e,t){t=yt(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[Ze(t[n++])];return n&&n==r?e:i}function ea(e,t,n){var r=t(e);return N(e)?r:dt(r,n(e))}function de(e){return e==null?e===i?ou:su:It&&It in V(e)?gf(e):Tf(e)}function ri(e,t){return e>t}function Lc(e,t){return e!=null&&z.call(e,t)}function Nc(e,t){return e!=null&&t in V(e)}function Uc(e,t,n){return e>=fe(t,n)&&e<ae(t,n)}function ii(e,t,n){for(var r=n?Br:Dn,s=e[0].length,u=e.length,c=u,h=v(u),g=1/0,w=[];c--;){var S=e[c];c&&t&&(S=j(S,xe(t))),g=fe(S.length,g),h[c]=!n&&(t||s>=120&&S.length>=120)?new Ct(c&&S):i}S=e[0];var x=-1,I=h[0];e:for(;++x<s&&w.length<g;){var C=S[x],R=t?t(C):C;if(C=n||C!==0?C:0,!(I?cn(I,R):r(w,R,n))){for(c=u;--c;){var D=h[c];if(!(D?cn(D,R):r(e[c],R,n)))continue e}I&&I.push(R),w.push(C)}}return w}function Dc(e,t,n,r){return Ve(e,function(s,u,c){t(r,n(s),u,c)}),r}function _n(e,t,n){t=yt(t,e),e=ka(e,t);var r=e==null?e:e[Ze(Ne(t))];return r==null?i:Se(r,e,n)}function ta(e){return ee(e)&&de(e)==Ut}function $c(e){return ee(e)&&de(e)==ln}function Wc(e){return ee(e)&&de(e)==rn}function yn(e,t,n,r,s){return e===t?!0:e==null||t==null||!ee(e)&&!ee(t)?e!==e&&t!==t:Mc(e,t,n,r,yn,s)}function Mc(e,t,n,r,s,u){var c=N(e),h=N(t),g=c?Rn:he(e),w=h?Rn:he(t);g=g==Ut?et:g,w=w==Ut?et:w;var S=g==et,x=w==et,I=g==w;if(I&&St(e)){if(!St(t))return!1;c=!0,S=!1}if(I&&!S)return u||(u=new Ge),c||Zt(e)?Na(e,t,n,r,s,u):pf(e,t,g,n,r,s,u);if(!(n&B)){var C=S&&z.call(e,"__wrapped__"),R=x&&z.call(t,"__wrapped__");if(C||R){var D=C?e.value():e,F=R?t.value():t;return u||(u=new Ge),s(D,F,n,r,u)}}return I?(u||(u=new Ge),df(e,t,n,r,s,u)):!1}function Bc(e){return ee(e)&&he(e)==Me}function si(e,t,n,r){var s=n.length,u=s,c=!r;if(e==null)return!u;for(e=V(e);s--;){var h=n[s];if(c&&h[2]?h[1]!==e[h[0]]:!(h[0]in e))return!1}for(;++s<u;){h=n[s];var g=h[0],w=e[g],S=h[1];if(c&&h[2]){if(w===i&&!(g in e))return!1}else{var x=new Ge;if(r)var I=r(w,S,g,e,t,x);if(!(I===i?yn(S,w,B|Je,r,x):I))return!1}}return!0}function na(e){if(!Q(e)||Ef(e))return!1;var t=ot(e)?Bl:Fu;return t.test(Pt(e))}function kc(e){return ee(e)&&de(e)==an}function Gc(e){return ee(e)&&he(e)==Be}function qc(e){return ee(e)&&_r(e.length)&&!!J[de(e)]}function ra(e){return typeof e=="function"?e:e==null?we:typeof e=="object"?N(e)?aa(e[0],e[1]):sa(e):bo(e)}function ai(e){if(!xn(e))return zl(e);var t=[];for(var n in V(e))z.call(e,n)&&n!="constructor"&&t.push(n);return t}function Hc(e){if(!Q(e))return Cf(e);var t=xn(e),n=[];for(var r in e)r=="constructor"&&(t||!z.call(e,r))||n.push(r);return n}function oi(e,t){return e<t}function ia(e,t){var n=-1,r=_e(e)?v(e.length):[];return mt(e,function(s,u,c){r[++n]=t(s,u,c)}),r}function sa(e){var t=xi(e);return t.length==1&&t[0][2]?Ma(t[0][0],t[0][1]):function(n){return n===e||si(n,e,t)}}function aa(e,t){return Ai(e)&&Wa(t)?Ma(Ze(e),t):function(n){var r=Ni(n,e);return r===i&&r===t?Ui(n,e):yn(t,r,B|Je)}}function nr(e,t,n,r,s){e!==t&&ti(t,function(u,c){if(s||(s=new Ge),Q(u))Kc(e,t,c,n,nr,r,s);else{var h=r?r(bi(e,c),u,c+"",e,t,s):i;h===i&&(h=u),Qr(e,c,h)}},ye)}function Kc(e,t,n,r,s,u,c){var h=bi(e,n),g=bi(t,n),w=c.get(g);if(w){Qr(e,n,w);return}var S=u?u(h,g,n+"",e,t,c):i,x=S===i;if(x){var I=N(g),C=!I&&St(g),R=!I&&!C&&Zt(g);S=g,I||C||R?N(h)?S=h:ne(h)?S=me(h):C?(x=!1,S=_a(g,!0)):R?(x=!1,S=ya(g,!0)):S=[]:An(g)||Ot(g)?(S=h,Ot(h)?S=vo(h):(!Q(h)||ot(h))&&(S=$a(g))):x=!1}x&&(c.set(g,S),s(S,g,r,u,c),c.delete(g)),Qr(e,n,S)}function oa(e,t){var n=e.length;if(n)return t+=t<0?n:0,at(t,n)?e[t]:i}function ua(e,t,n){t.length?t=j(t,function(u){return N(u)?function(c){return Rt(c,u.length===1?u[0]:u)}:u}):t=[we];var r=-1;t=j(t,xe(T()));var s=ia(e,function(u,c,h){var g=j(t,function(w){return w(u)});return{criteria:g,index:++r,value:u}});return _l(s,function(u,c){return sf(u,c,n)})}function zc(e,t){return la(e,t,function(n,r){return Ui(e,r)})}function la(e,t,n){for(var r=-1,s=t.length,u={};++r<s;){var c=t[r],h=Rt(e,c);n(h,c)&&wn(u,yt(c,e),h)}return u}function Vc(e){return function(t){return Rt(t,e)}}function ui(e,t,n,r){var s=r?ml:Wt,u=-1,c=t.length,h=e;for(e===t&&(t=me(t)),n&&(h=j(e,xe(n)));++u<c;)for(var g=0,w=t[u],S=n?n(w):w;(g=s(h,S,g,r))>-1;)h!==e&&zn.call(h,g,1),zn.call(e,g,1);return e}function ca(e,t){for(var n=e?t.length:0,r=n-1;n--;){var s=t[n];if(n==r||s!==u){var u=s;at(s)?zn.call(e,s,1):hi(e,s)}}return e}function li(e,t){return e+Zn(Hs()*(t-e+1))}function Yc(e,t,n,r){for(var s=-1,u=ae(Yn((t-e)/(n||1)),0),c=v(u);u--;)c[r?u:++s]=e,e+=n;return c}function ci(e,t){var n="";if(!e||t<1||t>ht)return n;do t%2&&(n+=e),t=Zn(t/2),t&&(e+=e);while(t);return n}function $(e,t){return Ci(Ba(e,t,we),e+"")}function Zc(e){return Vs(Jt(e))}function Jc(e,t){var n=Jt(e);return hr(n,Tt(t,0,n.length))}function wn(e,t,n,r){if(!Q(e))return e;t=yt(t,e);for(var s=-1,u=t.length,c=u-1,h=e;h!=null&&++s<u;){var g=Ze(t[s]),w=n;if(g==="__proto__"||g==="constructor"||g==="prototype")return e;if(s!=c){var S=h[g];w=r?r(S,g,h):i,w===i&&(w=Q(S)?S:at(t[s+1])?[]:{})}vn(h,g,w),h=h[g]}return e}var fa=Jn?function(e,t){return Jn.set(e,t),e}:we,Xc=Vn?function(e,t){return Vn(e,"toString",{configurable:!0,enumerable:!1,value:$i(t),writable:!0})}:we;function jc(e){return hr(Jt(e))}function Le(e,t,n){var r=-1,s=e.length;t<0&&(t=-t>s?0:s+t),n=n>s?s:n,n<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;for(var u=v(s);++r<s;)u[r]=e[r+t];return u}function Qc(e,t){var n;return mt(e,function(r,s,u){return n=t(r,s,u),!n}),!!n}function rr(e,t,n){var r=0,s=e==null?r:e.length;if(typeof t=="number"&&t===t&&s<=tu){for(;r<s;){var u=r+s>>>1,c=e[u];c!==null&&!Ae(c)&&(n?c<=t:c<t)?r=u+1:s=u}return s}return fi(e,t,we,n)}function fi(e,t,n,r){var s=0,u=e==null?0:e.length;if(u===0)return 0;t=n(t);for(var c=t!==t,h=t===null,g=Ae(t),w=t===i;s<u;){var S=Zn((s+u)/2),x=n(e[S]),I=x!==i,C=x===null,R=x===x,D=Ae(x);if(c)var F=r||R;else w?F=R&&(r||I):h?F=R&&I&&(r||!C):g?F=R&&I&&!C&&(r||!D):C||D?F=!1:F=r?x<=t:x<t;F?s=S+1:u=S}return fe(u,eu)}function ha(e,t){for(var n=-1,r=e.length,s=0,u=[];++n<r;){var c=e[n],h=t?t(c):c;if(!n||!qe(h,g)){var g=h;u[s++]=c===0?0:c}}return u}function pa(e){return typeof e=="number"?e:Ae(e)?Tn:+e}function Ee(e){if(typeof e=="string")return e;if(N(e))return j(e,Ee)+"";if(Ae(e))return Ks?Ks.call(e):"";var t=e+"";return t=="0"&&1/e==-Et?"-0":t}function _t(e,t,n){var r=-1,s=Dn,u=e.length,c=!0,h=[],g=h;if(n)c=!1,s=Br;else if(u>=d){var w=t?null:ff(e);if(w)return Wn(w);c=!1,s=cn,g=new Ct}else g=t?[]:h;e:for(;++r<u;){var S=e[r],x=t?t(S):S;if(S=n||S!==0?S:0,c&&x===x){for(var I=g.length;I--;)if(g[I]===x)continue e;t&&g.push(x),h.push(S)}else s(g,x,n)||(g!==h&&g.push(x),h.push(S))}return h}function hi(e,t){return t=yt(t,e),e=ka(e,t),e==null||delete e[Ze(Ne(t))]}function da(e,t,n,r){return wn(e,t,n(Rt(e,t)),r)}function ir(e,t,n,r){for(var s=e.length,u=r?s:-1;(r?u--:++u<s)&&t(e[u],u,e););return n?Le(e,r?0:u,r?u+1:s):Le(e,r?u+1:0,r?s:u)}function ga(e,t){var n=e;return n instanceof k&&(n=n.value()),kr(t,function(r,s){return s.func.apply(s.thisArg,dt([r],s.args))},n)}function pi(e,t,n){var r=e.length;if(r<2)return r?_t(e[0]):[];for(var s=-1,u=v(r);++s<r;)for(var c=e[s],h=-1;++h<r;)h!=s&&(u[s]=mn(u[s]||c,e[h],t,n));return _t(ce(u,1),t,n)}function va(e,t,n){for(var r=-1,s=e.length,u=t.length,c={};++r<s;){var h=r<u?t[r]:i;n(c,e[r],h)}return c}function di(e){return ne(e)?e:[]}function gi(e){return typeof e=="function"?e:we}function yt(e,t){return N(e)?e:Ai(e,t)?[e]:Ka(K(e))}var ef=$;function wt(e,t,n){var r=e.length;return n=n===i?r:n,!t&&n>=r?e:Le(e,t,n)}var ma=kl||function(e){return le.clearTimeout(e)};function _a(e,t){if(t)return e.slice();var n=e.length,r=Ms?Ms(n):new e.constructor(n);return e.copy(r),r}function vi(e){var t=new e.constructor(e.byteLength);return new Hn(t).set(new Hn(e)),t}function tf(e,t){var n=t?vi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function nf(e){var t=new e.constructor(e.source,ts.exec(e));return t.lastIndex=e.lastIndex,t}function rf(e){return gn?V(gn.call(e)):{}}function ya(e,t){var n=t?vi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function wa(e,t){if(e!==t){var n=e!==i,r=e===null,s=e===e,u=Ae(e),c=t!==i,h=t===null,g=t===t,w=Ae(t);if(!h&&!w&&!u&&e>t||u&&c&&g&&!h&&!w||r&&c&&g||!n&&g||!s)return 1;if(!r&&!u&&!w&&e<t||w&&n&&s&&!r&&!u||h&&n&&s||!c&&s||!g)return-1}return 0}function sf(e,t,n){for(var r=-1,s=e.criteria,u=t.criteria,c=s.length,h=n.length;++r<c;){var g=wa(s[r],u[r]);if(g){if(r>=h)return g;var w=n[r];return g*(w=="desc"?-1:1)}}return e.index-t.index}function Sa(e,t,n,r){for(var s=-1,u=e.length,c=n.length,h=-1,g=t.length,w=ae(u-c,0),S=v(g+w),x=!r;++h<g;)S[h]=t[h];for(;++s<c;)(x||s<u)&&(S[n[s]]=e[s]);for(;w--;)S[h++]=e[s++];return S}function xa(e,t,n,r){for(var s=-1,u=e.length,c=-1,h=n.length,g=-1,w=t.length,S=ae(u-h,0),x=v(S+w),I=!r;++s<S;)x[s]=e[s];for(var C=s;++g<w;)x[C+g]=t[g];for(;++c<h;)(I||s<u)&&(x[C+n[c]]=e[s++]);return x}function me(e,t){var n=-1,r=e.length;for(t||(t=v(r));++n<r;)t[n]=e[n];return t}function Ye(e,t,n,r){var s=!n;n||(n={});for(var u=-1,c=t.length;++u<c;){var h=t[u],g=r?r(n[h],e[h],h,n,e):i;g===i&&(g=e[h]),s?rt(n,h,g):vn(n,h,g)}return n}function af(e,t){return Ye(e,Ei(e),t)}function of(e,t){return Ye(e,Ua(e),t)}function sr(e,t){return function(n,r){var s=N(n)?fl:Tc,u=t?t():{};return s(n,e,T(r,2),u)}}function zt(e){return $(function(t,n){var r=-1,s=n.length,u=s>1?n[s-1]:i,c=s>2?n[2]:i;for(u=e.length>3&&typeof u=="function"?(s--,u):i,c&&ge(n[0],n[1],c)&&(u=s<3?i:u,s=1),t=V(t);++r<s;){var h=n[r];h&&e(t,h,r,u)}return t})}function Ea(e,t){return function(n,r){if(n==null)return n;if(!_e(n))return e(n,r);for(var s=n.length,u=t?s:-1,c=V(n);(t?u--:++u<s)&&r(c[u],u,c)!==!1;);return n}}function Aa(e){return function(t,n,r){for(var s=-1,u=V(t),c=r(t),h=c.length;h--;){var g=c[e?h:++s];if(n(u[g],g,u)===!1)break}return t}}function uf(e,t,n){var r=t&We,s=Sn(e);function u(){var c=this&&this!==le&&this instanceof u?s:e;return c.apply(r?n:this,arguments)}return u}function Ia(e){return function(t){t=K(t);var n=Mt(t)?ke(t):i,r=n?n[0]:t.charAt(0),s=n?wt(n,1).join(""):t.slice(1);return r[e]()+s}}function Vt(e){return function(t){return kr(Ao(Eo(t).replace(Xu,"")),e,"")}}function Sn(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=Kt(e.prototype),r=e.apply(n,t);return Q(r)?r:n}}function lf(e,t,n){var r=Sn(e);function s(){for(var u=arguments.length,c=v(u),h=u,g=Yt(s);h--;)c[h]=arguments[h];var w=u<3&&c[0]!==g&&c[u-1]!==g?[]:gt(c,g);if(u-=w.length,u<n)return Fa(e,t,ar,s.placeholder,i,c,w,i,i,n-u);var S=this&&this!==le&&this instanceof s?r:e;return Se(S,this,c)}return s}function ba(e){return function(t,n,r){var s=V(t);if(!_e(t)){var u=T(n,3);t=oe(t),n=function(h){return u(s[h],h,s)}}var c=e(t,n,r);return c>-1?s[u?t[c]:c]:i}}function Ca(e){return st(function(t){var n=t.length,r=n,s=Pe.prototype.thru;for(e&&t.reverse();r--;){var u=t[r];if(typeof u!="function")throw new Fe(E);if(s&&!c&&cr(u)=="wrapper")var c=new Pe([],!0)}for(r=c?r:n;++r<n;){u=t[r];var h=cr(u),g=h=="wrapper"?Si(u):i;g&&Ii(g[0])&&g[1]==(Qe|Xe|je|tn)&&!g[4].length&&g[9]==1?c=c[cr(g[0])].apply(c,g[3]):c=u.length==1&&Ii(u)?c[h]():c.thru(u)}return function(){var w=arguments,S=w[0];if(c&&w.length==1&&N(S))return c.plant(S).value();for(var x=0,I=n?t[x].apply(this,w):S;++x<n;)I=t[x].call(this,I);return I}})}function ar(e,t,n,r,s,u,c,h,g,w){var S=t&Qe,x=t&We,I=t&Nt,C=t&(Xe|Qt),R=t&Sr,D=I?i:Sn(e);function F(){for(var W=arguments.length,q=v(W),Ie=W;Ie--;)q[Ie]=arguments[Ie];if(C)var ve=Yt(F),be=wl(q,ve);if(r&&(q=Sa(q,r,s,C)),u&&(q=xa(q,u,c,C)),W-=be,C&&W<w){var re=gt(q,ve);return Fa(e,t,ar,F.placeholder,n,q,re,h,g,w-W)}var He=x?n:this,lt=I?He[e]:e;return W=q.length,h?q=Rf(q,h):R&&W>1&&q.reverse(),S&&g<W&&(q.length=g),this&&this!==le&&this instanceof F&&(lt=D||Sn(lt)),lt.apply(He,q)}return F}function Ta(e,t){return function(n,r){return Dc(n,e,t(r),{})}}function or(e,t){return function(n,r){var s;if(n===i&&r===i)return t;if(n!==i&&(s=n),r!==i){if(s===i)return r;typeof n=="string"||typeof r=="string"?(n=Ee(n),r=Ee(r)):(n=pa(n),r=pa(r)),s=e(n,r)}return s}}function mi(e){return st(function(t){return t=j(t,xe(T())),$(function(n){var r=this;return e(t,function(s){return Se(s,r,n)})})})}function ur(e,t){t=t===i?" ":Ee(t);var n=t.length;if(n<2)return n?ci(t,e):t;var r=ci(t,Yn(e/Bt(t)));return Mt(t)?wt(ke(r),0,e).join(""):r.slice(0,e)}function cf(e,t,n,r){var s=t&We,u=Sn(e);function c(){for(var h=-1,g=arguments.length,w=-1,S=r.length,x=v(S+g),I=this&&this!==le&&this instanceof c?u:e;++w<S;)x[w]=r[w];for(;g--;)x[w++]=arguments[++h];return Se(I,s?n:this,x)}return c}function Ra(e){return function(t,n,r){return r&&typeof r!="number"&&ge(t,n,r)&&(n=r=i),t=ut(t),n===i?(n=t,t=0):n=ut(n),r=r===i?t<n?1:-1:ut(r),Yc(t,n,r,e)}}function lr(e){return function(t,n){return typeof t=="string"&&typeof n=="string"||(t=Ue(t),n=Ue(n)),e(t,n)}}function Fa(e,t,n,r,s,u,c,h,g,w){var S=t&Xe,x=S?c:i,I=S?i:c,C=S?u:i,R=S?i:u;t|=S?je:en,t&=~(S?en:je),t&Yi||(t&=-4);var D=[e,t,s,C,x,R,I,h,g,w],F=n.apply(i,D);return Ii(e)&&Ga(F,D),F.placeholder=r,qa(F,e,t)}function _i(e){var t=se[e];return function(n,r){if(n=Ue(n),r=r==null?0:fe(U(r),292),r&&qs(n)){var s=(K(n)+"e").split("e"),u=t(s[0]+"e"+(+s[1]+r));return s=(K(u)+"e").split("e"),+(s[0]+"e"+(+s[1]-r))}return t(n)}}var ff=qt&&1/Wn(new qt([,-0]))[1]==Et?function(e){return new qt(e)}:Bi;function Pa(e){return function(t){var n=he(t);return n==Me?Yr(t):n==Be?Cl(t):yl(t,e(t))}}function it(e,t,n,r,s,u,c,h){var g=t&Nt;if(!g&&typeof e!="function")throw new Fe(E);var w=r?r.length:0;if(w||(t&=-97,r=s=i),c=c===i?c:ae(U(c),0),h=h===i?h:U(h),w-=s?s.length:0,t&en){var S=r,x=s;r=s=i}var I=g?i:Si(e),C=[e,t,n,r,s,S,x,u,c,h];if(I&&bf(C,I),e=C[0],t=C[1],n=C[2],r=C[3],s=C[4],h=C[9]=C[9]===i?g?0:e.length:ae(C[9]-w,0),!h&&t&(Xe|Qt)&&(t&=-25),!t||t==We)var R=uf(e,t,n);else t==Xe||t==Qt?R=lf(e,t,h):(t==je||t==(We|je))&&!s.length?R=cf(e,t,n,r):R=ar.apply(i,C);var D=I?fa:Ga;return qa(D(R,C),e,t)}function Oa(e,t,n,r){return e===i||qe(e,Gt[n])&&!z.call(r,n)?t:e}function La(e,t,n,r,s,u){return Q(e)&&Q(t)&&(u.set(t,e),nr(e,t,i,La,u),u.delete(t)),e}function hf(e){return An(e)?i:e}function Na(e,t,n,r,s,u){var c=n&B,h=e.length,g=t.length;if(h!=g&&!(c&&g>h))return!1;var w=u.get(e),S=u.get(t);if(w&&S)return w==t&&S==e;var x=-1,I=!0,C=n&Je?new Ct:i;for(u.set(e,t),u.set(t,e);++x<h;){var R=e[x],D=t[x];if(r)var F=c?r(D,R,x,t,e,u):r(R,D,x,e,t,u);if(F!==i){if(F)continue;I=!1;break}if(C){if(!Gr(t,function(W,q){if(!cn(C,q)&&(R===W||s(R,W,n,r,u)))return C.push(q)})){I=!1;break}}else if(!(R===D||s(R,D,n,r,u))){I=!1;break}}return u.delete(e),u.delete(t),I}function pf(e,t,n,r,s,u,c){switch(n){case Dt:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case ln:return!(e.byteLength!=t.byteLength||!u(new Hn(e),new Hn(t)));case nn:case rn:case sn:return qe(+e,+t);case Fn:return e.name==t.name&&e.message==t.message;case an:case on:return e==t+"";case Me:var h=Yr;case Be:var g=r&B;if(h||(h=Wn),e.size!=t.size&&!g)return!1;var w=c.get(e);if(w)return w==t;r|=Je,c.set(e,t);var S=Na(h(e),h(t),r,s,u,c);return c.delete(e),S;case On:if(gn)return gn.call(e)==gn.call(t)}return!1}function df(e,t,n,r,s,u){var c=n&B,h=yi(e),g=h.length,w=yi(t),S=w.length;if(g!=S&&!c)return!1;for(var x=g;x--;){var I=h[x];if(!(c?I in t:z.call(t,I)))return!1}var C=u.get(e),R=u.get(t);if(C&&R)return C==t&&R==e;var D=!0;u.set(e,t),u.set(t,e);for(var F=c;++x<g;){I=h[x];var W=e[I],q=t[I];if(r)var Ie=c?r(q,W,I,t,e,u):r(W,q,I,e,t,u);if(!(Ie===i?W===q||s(W,q,n,r,u):Ie)){D=!1;break}F||(F=I=="constructor")}if(D&&!F){var ve=e.constructor,be=t.constructor;ve!=be&&"constructor"in e&&"constructor"in t&&!(typeof ve=="function"&&ve instanceof ve&&typeof be=="function"&&be instanceof be)&&(D=!1)}return u.delete(e),u.delete(t),D}function st(e){return Ci(Ba(e,i,Za),e+"")}function yi(e){return ea(e,oe,Ei)}function wi(e){return ea(e,ye,Ua)}var Si=Jn?function(e){return Jn.get(e)}:Bi;function cr(e){for(var t=e.name+"",n=Ht[t],r=z.call(Ht,t)?n.length:0;r--;){var s=n[r],u=s.func;if(u==null||u==e)return s.name}return t}function Yt(e){var t=z.call(o,"placeholder")?o:e;return t.placeholder}function T(){var e=o.iteratee||Wi;return e=e===Wi?ra:e,arguments.length?e(arguments[0],arguments[1]):e}function fr(e,t){var n=e.__data__;return xf(t)?n[typeof t=="string"?"string":"hash"]:n.map}function xi(e){for(var t=oe(e),n=t.length;n--;){var r=t[n],s=e[r];t[n]=[r,s,Wa(s)]}return t}function Ft(e,t){var n=Al(e,t);return na(n)?n:i}function gf(e){var t=z.call(e,It),n=e[It];try{e[It]=i;var r=!0}catch{}var s=Gn.call(e);return r&&(t?e[It]=n:delete e[It]),s}var Ei=Jr?function(e){return e==null?[]:(e=V(e),pt(Jr(e),function(t){return ks.call(e,t)}))}:ki,Ua=Jr?function(e){for(var t=[];e;)dt(t,Ei(e)),e=Kn(e);return t}:ki,he=de;(Xr&&he(new Xr(new ArrayBuffer(1)))!=Dt||hn&&he(new hn)!=Me||jr&&he(jr.resolve())!=Xi||qt&&he(new qt)!=Be||pn&&he(new pn)!=un)&&(he=function(e){var t=de(e),n=t==et?e.constructor:i,r=n?Pt(n):"";if(r)switch(r){case Jl:return Dt;case Xl:return Me;case jl:return Xi;case Ql:return Be;case ec:return un}return t});function vf(e,t,n){for(var r=-1,s=n.length;++r<s;){var u=n[r],c=u.size;switch(u.type){case"drop":e+=c;break;case"dropRight":t-=c;break;case"take":t=fe(t,e+c);break;case"takeRight":e=ae(e,t-c);break}}return{start:e,end:t}}function mf(e){var t=e.match(xu);return t?t[1].split(Eu):[]}function Da(e,t,n){t=yt(t,e);for(var r=-1,s=t.length,u=!1;++r<s;){var c=Ze(t[r]);if(!(u=e!=null&&n(e,c)))break;e=e[c]}return u||++r!=s?u:(s=e==null?0:e.length,!!s&&_r(s)&&at(c,s)&&(N(e)||Ot(e)))}function _f(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&z.call(e,"index")&&(n.index=e.index,n.input=e.input),n}function $a(e){return typeof e.constructor=="function"&&!xn(e)?Kt(Kn(e)):{}}function yf(e,t,n){var r=e.constructor;switch(t){case ln:return vi(e);case nn:case rn:return new r(+e);case Dt:return tf(e,n);case xr:case Er:case Ar:case Ir:case br:case Cr:case Tr:case Rr:case Fr:return ya(e,n);case Me:return new r;case sn:case on:return new r(e);case an:return nf(e);case Be:return new r;case On:return rf(e)}}function wf(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(Su,`{
|
|
9
|
+
*/var rv=Tn.exports,Po;function iv(){return Po||(Po=1,function(f,a){(function(){var i,l="4.17.21",d=200,E="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",I="Expected a function",N="Invalid `variable` option passed into `_.template`",q="__lodash_hash_undefined__",te=500,X="__lodash_placeholder__",K=1,Ze=2,k=4,W=1,Pe=2,xe=1,je=2,Cn=4,Le=8,At=16,Ie=32,Ee=64,tt=128,nn=256,Ir=512,Vo=30,Yo="...",Zo=800,jo=16,ji=1,Jo=2,Xo=3,bt=1/0,pt=9007199254740991,Qo=17976931348623157e292,Fn=NaN,Je=4294967295,eu=Je-1,tu=Je>>>1,nu=[["ary",tt],["bind",xe],["bindKey",je],["curry",Le],["curryRight",At],["flip",Ir],["partial",Ie],["partialRight",Ee],["rearg",nn]],Wt="[object Arguments]",Rn="[object Array]",ru="[object AsyncFunction]",rn="[object Boolean]",sn="[object Date]",iu="[object DOMException]",Pn="[object Error]",Ln="[object Function]",Ji="[object GeneratorFunction]",qe="[object Map]",an="[object Number]",su="[object Null]",nt="[object Object]",Xi="[object Promise]",au="[object Proxy]",on="[object RegExp]",He="[object Set]",un="[object String]",On="[object Symbol]",ou="[object Undefined]",ln="[object WeakMap]",uu="[object WeakSet]",cn="[object ArrayBuffer]",Mt="[object DataView]",Er="[object Float32Array]",Ar="[object Float64Array]",br="[object Int8Array]",Tr="[object Int16Array]",Cr="[object Int32Array]",Fr="[object Uint8Array]",Rr="[object Uint8ClampedArray]",Pr="[object Uint16Array]",Lr="[object Uint32Array]",lu=/\b__p \+= '';/g,cu=/\b(__p \+=) '' \+/g,fu=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Qi=/&(?:amp|lt|gt|quot|#39);/g,es=/[&<>"']/g,hu=RegExp(Qi.source),du=RegExp(es.source),pu=/<%-([\s\S]+?)%>/g,gu=/<%([\s\S]+?)%>/g,ts=/<%=([\s\S]+?)%>/g,vu=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,mu=/^\w*$/,yu=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Or=/[\\^$.*+?()[\]{}|]/g,_u=RegExp(Or.source),Ur=/^\s+/,wu=/\s/,Su=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,xu=/\{\n\/\* \[wrapped with (.+)\] \*/,Iu=/,? & /,Eu=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Au=/[()=,{}\[\]\/\s]/,bu=/\\(\\)?/g,Tu=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,ns=/\w*$/,Cu=/^[-+]0x[0-9a-f]+$/i,Fu=/^0b[01]+$/i,Ru=/^\[object .+?Constructor\]$/,Pu=/^0o[0-7]+$/i,Lu=/^(?:0|[1-9]\d*)$/,Ou=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Un=/($^)/,Uu=/['\n\r\u2028\u2029\\]/g,Nn="\\ud800-\\udfff",Nu="\\u0300-\\u036f",Du="\\ufe20-\\ufe2f",$u="\\u20d0-\\u20ff",rs=Nu+Du+$u,is="\\u2700-\\u27bf",ss="a-z\\xdf-\\xf6\\xf8-\\xff",Wu="\\xac\\xb1\\xd7\\xf7",Mu="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Bu="\\u2000-\\u206f",ku=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",as="A-Z\\xc0-\\xd6\\xd8-\\xde",os="\\ufe0e\\ufe0f",us=Wu+Mu+Bu+ku,Nr="['’]",Gu="["+Nn+"]",ls="["+us+"]",Dn="["+rs+"]",cs="\\d+",qu="["+is+"]",fs="["+ss+"]",hs="[^"+Nn+us+cs+is+ss+as+"]",Dr="\\ud83c[\\udffb-\\udfff]",Hu="(?:"+Dn+"|"+Dr+")",ds="[^"+Nn+"]",$r="(?:\\ud83c[\\udde6-\\uddff]){2}",Wr="[\\ud800-\\udbff][\\udc00-\\udfff]",Bt="["+as+"]",ps="\\u200d",gs="(?:"+fs+"|"+hs+")",zu="(?:"+Bt+"|"+hs+")",vs="(?:"+Nr+"(?:d|ll|m|re|s|t|ve))?",ms="(?:"+Nr+"(?:D|LL|M|RE|S|T|VE))?",ys=Hu+"?",_s="["+os+"]?",Ku="(?:"+ps+"(?:"+[ds,$r,Wr].join("|")+")"+_s+ys+")*",Vu="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Yu="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ws=_s+ys+Ku,Zu="(?:"+[qu,$r,Wr].join("|")+")"+ws,ju="(?:"+[ds+Dn+"?",Dn,$r,Wr,Gu].join("|")+")",Ju=RegExp(Nr,"g"),Xu=RegExp(Dn,"g"),Mr=RegExp(Dr+"(?="+Dr+")|"+ju+ws,"g"),Qu=RegExp([Bt+"?"+fs+"+"+vs+"(?="+[ls,Bt,"$"].join("|")+")",zu+"+"+ms+"(?="+[ls,Bt+gs,"$"].join("|")+")",Bt+"?"+gs+"+"+vs,Bt+"+"+ms,Yu,Vu,cs,Zu].join("|"),"g"),el=RegExp("["+ps+Nn+rs+os+"]"),tl=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,nl=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],rl=-1,J={};J[Er]=J[Ar]=J[br]=J[Tr]=J[Cr]=J[Fr]=J[Rr]=J[Pr]=J[Lr]=!0,J[Wt]=J[Rn]=J[cn]=J[rn]=J[Mt]=J[sn]=J[Pn]=J[Ln]=J[qe]=J[an]=J[nt]=J[on]=J[He]=J[un]=J[ln]=!1;var j={};j[Wt]=j[Rn]=j[cn]=j[Mt]=j[rn]=j[sn]=j[Er]=j[Ar]=j[br]=j[Tr]=j[Cr]=j[qe]=j[an]=j[nt]=j[on]=j[He]=j[un]=j[On]=j[Fr]=j[Rr]=j[Pr]=j[Lr]=!0,j[Pn]=j[Ln]=j[ln]=!1;var il={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},sl={"&":"&","<":"<",">":">",'"':""","'":"'"},al={"&":"&","<":"<",">":">",""":'"',"'":"'"},ol={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},ul=parseFloat,ll=parseInt,Ss=typeof v.commonjsGlobal=="object"&&v.commonjsGlobal&&v.commonjsGlobal.Object===Object&&v.commonjsGlobal,cl=typeof self=="object"&&self&&self.Object===Object&&self,ce=Ss||cl||Function("return this")(),Br=a&&!a.nodeType&&a,Tt=Br&&!0&&f&&!f.nodeType&&f,xs=Tt&&Tt.exports===Br,kr=xs&&Ss.process,Oe=function(){try{var p=Tt&&Tt.require&&Tt.require("util").types;return p||kr&&kr.binding&&kr.binding("util")}catch{}}(),Is=Oe&&Oe.isArrayBuffer,Es=Oe&&Oe.isDate,As=Oe&&Oe.isMap,bs=Oe&&Oe.isRegExp,Ts=Oe&&Oe.isSet,Cs=Oe&&Oe.isTypedArray;function Ae(p,y,m){switch(m.length){case 0:return p.call(y);case 1:return p.call(y,m[0]);case 2:return p.call(y,m[0],m[1]);case 3:return p.call(y,m[0],m[1],m[2])}return p.apply(y,m)}function fl(p,y,m,b){for(var L=-1,H=p==null?0:p.length;++L<H;){var oe=p[L];y(b,oe,m(oe),p)}return b}function Ue(p,y){for(var m=-1,b=p==null?0:p.length;++m<b&&y(p[m],m,p)!==!1;);return p}function hl(p,y){for(var m=p==null?0:p.length;m--&&y(p[m],m,p)!==!1;);return p}function Fs(p,y){for(var m=-1,b=p==null?0:p.length;++m<b;)if(!y(p[m],m,p))return!1;return!0}function gt(p,y){for(var m=-1,b=p==null?0:p.length,L=0,H=[];++m<b;){var oe=p[m];y(oe,m,p)&&(H[L++]=oe)}return H}function $n(p,y){var m=p==null?0:p.length;return!!m&&kt(p,y,0)>-1}function Gr(p,y,m){for(var b=-1,L=p==null?0:p.length;++b<L;)if(m(y,p[b]))return!0;return!1}function Q(p,y){for(var m=-1,b=p==null?0:p.length,L=Array(b);++m<b;)L[m]=y(p[m],m,p);return L}function vt(p,y){for(var m=-1,b=y.length,L=p.length;++m<b;)p[L+m]=y[m];return p}function qr(p,y,m,b){var L=-1,H=p==null?0:p.length;for(b&&H&&(m=p[++L]);++L<H;)m=y(m,p[L],L,p);return m}function dl(p,y,m,b){var L=p==null?0:p.length;for(b&&L&&(m=p[--L]);L--;)m=y(m,p[L],L,p);return m}function Hr(p,y){for(var m=-1,b=p==null?0:p.length;++m<b;)if(y(p[m],m,p))return!0;return!1}var pl=zr("length");function gl(p){return p.split("")}function vl(p){return p.match(Eu)||[]}function Rs(p,y,m){var b;return m(p,function(L,H,oe){if(y(L,H,oe))return b=H,!1}),b}function Wn(p,y,m,b){for(var L=p.length,H=m+(b?1:-1);b?H--:++H<L;)if(y(p[H],H,p))return H;return-1}function kt(p,y,m){return y===y?Cl(p,y,m):Wn(p,Ps,m)}function ml(p,y,m,b){for(var L=m-1,H=p.length;++L<H;)if(b(p[L],y))return L;return-1}function Ps(p){return p!==p}function Ls(p,y){var m=p==null?0:p.length;return m?Vr(p,y)/m:Fn}function zr(p){return function(y){return y==null?i:y[p]}}function Kr(p){return function(y){return p==null?i:p[y]}}function Os(p,y,m,b,L){return L(p,function(H,oe,Z){m=b?(b=!1,H):y(m,H,oe,Z)}),m}function yl(p,y){var m=p.length;for(p.sort(y);m--;)p[m]=p[m].value;return p}function Vr(p,y){for(var m,b=-1,L=p.length;++b<L;){var H=y(p[b]);H!==i&&(m=m===i?H:m+H)}return m}function Yr(p,y){for(var m=-1,b=Array(p);++m<p;)b[m]=y(m);return b}function _l(p,y){return Q(y,function(m){return[m,p[m]]})}function Us(p){return p&&p.slice(0,Ws(p)+1).replace(Ur,"")}function be(p){return function(y){return p(y)}}function Zr(p,y){return Q(y,function(m){return p[m]})}function fn(p,y){return p.has(y)}function Ns(p,y){for(var m=-1,b=p.length;++m<b&&kt(y,p[m],0)>-1;);return m}function Ds(p,y){for(var m=p.length;m--&&kt(y,p[m],0)>-1;);return m}function wl(p,y){for(var m=p.length,b=0;m--;)p[m]===y&&++b;return b}var Sl=Kr(il),xl=Kr(sl);function Il(p){return"\\"+ol[p]}function El(p,y){return p==null?i:p[y]}function Gt(p){return el.test(p)}function Al(p){return tl.test(p)}function bl(p){for(var y,m=[];!(y=p.next()).done;)m.push(y.value);return m}function jr(p){var y=-1,m=Array(p.size);return p.forEach(function(b,L){m[++y]=[L,b]}),m}function $s(p,y){return function(m){return p(y(m))}}function mt(p,y){for(var m=-1,b=p.length,L=0,H=[];++m<b;){var oe=p[m];(oe===y||oe===X)&&(p[m]=X,H[L++]=m)}return H}function Mn(p){var y=-1,m=Array(p.size);return p.forEach(function(b){m[++y]=b}),m}function Tl(p){var y=-1,m=Array(p.size);return p.forEach(function(b){m[++y]=[b,b]}),m}function Cl(p,y,m){for(var b=m-1,L=p.length;++b<L;)if(p[b]===y)return b;return-1}function Fl(p,y,m){for(var b=m+1;b--;)if(p[b]===y)return b;return b}function qt(p){return Gt(p)?Pl(p):pl(p)}function ze(p){return Gt(p)?Ll(p):gl(p)}function Ws(p){for(var y=p.length;y--&&wu.test(p.charAt(y)););return y}var Rl=Kr(al);function Pl(p){for(var y=Mr.lastIndex=0;Mr.test(p);)++y;return y}function Ll(p){return p.match(Mr)||[]}function Ol(p){return p.match(Qu)||[]}var Ul=function p(y){y=y==null?ce:Ht.defaults(ce.Object(),y,Ht.pick(ce,nl));var m=y.Array,b=y.Date,L=y.Error,H=y.Function,oe=y.Math,Z=y.Object,Jr=y.RegExp,Nl=y.String,Ne=y.TypeError,Bn=m.prototype,Dl=H.prototype,zt=Z.prototype,kn=y["__core-js_shared__"],Gn=Dl.toString,Y=zt.hasOwnProperty,$l=0,Ms=function(){var e=/[^.]+$/.exec(kn&&kn.keys&&kn.keys.IE_PROTO||"");return e?"Symbol(src)_1."+e:""}(),qn=zt.toString,Wl=Gn.call(Z),Ml=ce._,Bl=Jr("^"+Gn.call(Y).replace(Or,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$"),Hn=xs?y.Buffer:i,yt=y.Symbol,zn=y.Uint8Array,Bs=Hn?Hn.allocUnsafe:i,Kn=$s(Z.getPrototypeOf,Z),ks=Z.create,Gs=zt.propertyIsEnumerable,Vn=Bn.splice,qs=yt?yt.isConcatSpreadable:i,hn=yt?yt.iterator:i,Ct=yt?yt.toStringTag:i,Yn=function(){try{var e=Ot(Z,"defineProperty");return e({},"",{}),e}catch{}}(),kl=y.clearTimeout!==ce.clearTimeout&&y.clearTimeout,Gl=b&&b.now!==ce.Date.now&&b.now,ql=y.setTimeout!==ce.setTimeout&&y.setTimeout,Zn=oe.ceil,jn=oe.floor,Xr=Z.getOwnPropertySymbols,Hl=Hn?Hn.isBuffer:i,Hs=y.isFinite,zl=Bn.join,Kl=$s(Z.keys,Z),ue=oe.max,he=oe.min,Vl=b.now,Yl=y.parseInt,zs=oe.random,Zl=Bn.reverse,Qr=Ot(y,"DataView"),dn=Ot(y,"Map"),ei=Ot(y,"Promise"),Kt=Ot(y,"Set"),pn=Ot(y,"WeakMap"),gn=Ot(Z,"create"),Jn=pn&&new pn,Vt={},jl=Ut(Qr),Jl=Ut(dn),Xl=Ut(ei),Ql=Ut(Kt),ec=Ut(pn),Xn=yt?yt.prototype:i,vn=Xn?Xn.valueOf:i,Ks=Xn?Xn.toString:i;function o(e){if(ie(e)&&!O(e)&&!(e instanceof B)){if(e instanceof De)return e;if(Y.call(e,"__wrapped__"))return Va(e)}return new De(e)}var Yt=function(){function e(){}return function(t){if(!ne(t))return{};if(ks)return ks(t);e.prototype=t;var n=new e;return e.prototype=i,n}}();function Qn(){}function De(e,t){this.__wrapped__=e,this.__actions__=[],this.__chain__=!!t,this.__index__=0,this.__values__=i}o.templateSettings={escape:pu,evaluate:gu,interpolate:ts,variable:"",imports:{_:o}},o.prototype=Qn.prototype,o.prototype.constructor=o,De.prototype=Yt(Qn.prototype),De.prototype.constructor=De;function B(e){this.__wrapped__=e,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Je,this.__views__=[]}function tc(){var e=new B(this.__wrapped__);return e.__actions__=ye(this.__actions__),e.__dir__=this.__dir__,e.__filtered__=this.__filtered__,e.__iteratees__=ye(this.__iteratees__),e.__takeCount__=this.__takeCount__,e.__views__=ye(this.__views__),e}function nc(){if(this.__filtered__){var e=new B(this);e.__dir__=-1,e.__filtered__=!0}else e=this.clone(),e.__dir__*=-1;return e}function rc(){var e=this.__wrapped__.value(),t=this.__dir__,n=O(e),r=t<0,s=n?e.length:0,u=vf(0,s,this.__views__),c=u.start,h=u.end,g=h-c,w=r?h:c-1,S=this.__iteratees__,x=S.length,A=0,T=he(g,this.__takeCount__);if(!n||!r&&s==g&&T==g)return va(e,this.__actions__);var F=[];e:for(;g--&&A<T;){w+=t;for(var D=-1,R=e[w];++D<x;){var M=S[D],G=M.iteratee,Fe=M.type,me=G(R);if(Fe==Jo)R=me;else if(!me){if(Fe==ji)continue e;break e}}F[A++]=R}return F}B.prototype=Yt(Qn.prototype),B.prototype.constructor=B;function Ft(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function ic(){this.__data__=gn?gn(null):{},this.size=0}function sc(e){var t=this.has(e)&&delete this.__data__[e];return this.size-=t?1:0,t}function ac(e){var t=this.__data__;if(gn){var n=t[e];return n===q?i:n}return Y.call(t,e)?t[e]:i}function oc(e){var t=this.__data__;return gn?t[e]!==i:Y.call(t,e)}function uc(e,t){var n=this.__data__;return this.size+=this.has(e)?0:1,n[e]=gn&&t===i?q:t,this}Ft.prototype.clear=ic,Ft.prototype.delete=sc,Ft.prototype.get=ac,Ft.prototype.has=oc,Ft.prototype.set=uc;function rt(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function lc(){this.__data__=[],this.size=0}function cc(e){var t=this.__data__,n=er(t,e);if(n<0)return!1;var r=t.length-1;return n==r?t.pop():Vn.call(t,n,1),--this.size,!0}function fc(e){var t=this.__data__,n=er(t,e);return n<0?i:t[n][1]}function hc(e){return er(this.__data__,e)>-1}function dc(e,t){var n=this.__data__,r=er(n,e);return r<0?(++this.size,n.push([e,t])):n[r][1]=t,this}rt.prototype.clear=lc,rt.prototype.delete=cc,rt.prototype.get=fc,rt.prototype.has=hc,rt.prototype.set=dc;function it(e){var t=-1,n=e==null?0:e.length;for(this.clear();++t<n;){var r=e[t];this.set(r[0],r[1])}}function pc(){this.size=0,this.__data__={hash:new Ft,map:new(dn||rt),string:new Ft}}function gc(e){var t=hr(this,e).delete(e);return this.size-=t?1:0,t}function vc(e){return hr(this,e).get(e)}function mc(e){return hr(this,e).has(e)}function yc(e,t){var n=hr(this,e),r=n.size;return n.set(e,t),this.size+=n.size==r?0:1,this}it.prototype.clear=pc,it.prototype.delete=gc,it.prototype.get=vc,it.prototype.has=mc,it.prototype.set=yc;function Rt(e){var t=-1,n=e==null?0:e.length;for(this.__data__=new it;++t<n;)this.add(e[t])}function _c(e){return this.__data__.set(e,q),this}function wc(e){return this.__data__.has(e)}Rt.prototype.add=Rt.prototype.push=_c,Rt.prototype.has=wc;function Ke(e){var t=this.__data__=new rt(e);this.size=t.size}function Sc(){this.__data__=new rt,this.size=0}function xc(e){var t=this.__data__,n=t.delete(e);return this.size=t.size,n}function Ic(e){return this.__data__.get(e)}function Ec(e){return this.__data__.has(e)}function Ac(e,t){var n=this.__data__;if(n instanceof rt){var r=n.__data__;if(!dn||r.length<d-1)return r.push([e,t]),this.size=++n.size,this;n=this.__data__=new it(r)}return n.set(e,t),this.size=n.size,this}Ke.prototype.clear=Sc,Ke.prototype.delete=xc,Ke.prototype.get=Ic,Ke.prototype.has=Ec,Ke.prototype.set=Ac;function Vs(e,t){var n=O(e),r=!n&&Nt(e),s=!n&&!r&&It(e),u=!n&&!r&&!s&&Xt(e),c=n||r||s||u,h=c?Yr(e.length,Nl):[],g=h.length;for(var w in e)(t||Y.call(e,w))&&!(c&&(w=="length"||s&&(w=="offset"||w=="parent")||u&&(w=="buffer"||w=="byteLength"||w=="byteOffset")||ut(w,g)))&&h.push(w);return h}function Ys(e){var t=e.length;return t?e[fi(0,t-1)]:i}function bc(e,t){return dr(ye(e),Pt(t,0,e.length))}function Tc(e){return dr(ye(e))}function ti(e,t,n){(n!==i&&!Ve(e[t],n)||n===i&&!(t in e))&&st(e,t,n)}function mn(e,t,n){var r=e[t];(!(Y.call(e,t)&&Ve(r,n))||n===i&&!(t in e))&&st(e,t,n)}function er(e,t){for(var n=e.length;n--;)if(Ve(e[n][0],t))return n;return-1}function Cc(e,t,n,r){return _t(e,function(s,u,c){t(r,s,n(s),c)}),r}function Zs(e,t){return e&&Qe(t,le(t),e)}function Fc(e,t){return e&&Qe(t,we(t),e)}function st(e,t,n){t=="__proto__"&&Yn?Yn(e,t,{configurable:!0,enumerable:!0,value:n,writable:!0}):e[t]=n}function ni(e,t){for(var n=-1,r=t.length,s=m(r),u=e==null;++n<r;)s[n]=u?i:Di(e,t[n]);return s}function Pt(e,t,n){return e===e&&(n!==i&&(e=e<=n?e:n),t!==i&&(e=e>=t?e:t)),e}function $e(e,t,n,r,s,u){var c,h=t&K,g=t&Ze,w=t&k;if(n&&(c=s?n(e,r,s,u):n(e)),c!==i)return c;if(!ne(e))return e;var S=O(e);if(S){if(c=yf(e),!h)return ye(e,c)}else{var x=de(e),A=x==Ln||x==Ji;if(It(e))return _a(e,h);if(x==nt||x==Wt||A&&!s){if(c=g||A?{}:Wa(e),!h)return g?of(e,Fc(c,e)):af(e,Zs(c,e))}else{if(!j[x])return s?e:{};c=_f(e,x,h)}}u||(u=new Ke);var T=u.get(e);if(T)return T;u.set(e,c),po(e)?e.forEach(function(R){c.add($e(R,t,n,R,e,u))}):fo(e)&&e.forEach(function(R,M){c.set(M,$e(R,t,n,M,e,u))});var F=w?g?xi:Si:g?we:le,D=S?i:F(e);return Ue(D||e,function(R,M){D&&(M=R,R=e[M]),mn(c,M,$e(R,t,n,M,e,u))}),c}function Rc(e){var t=le(e);return function(n){return js(n,e,t)}}function js(e,t,n){var r=n.length;if(e==null)return!r;for(e=Z(e);r--;){var s=n[r],u=t[s],c=e[s];if(c===i&&!(s in e)||!u(c))return!1}return!0}function Js(e,t,n){if(typeof e!="function")throw new Ne(I);return En(function(){e.apply(i,n)},t)}function yn(e,t,n,r){var s=-1,u=$n,c=!0,h=e.length,g=[],w=t.length;if(!h)return g;n&&(t=Q(t,be(n))),r?(u=Gr,c=!1):t.length>=d&&(u=fn,c=!1,t=new Rt(t));e:for(;++s<h;){var S=e[s],x=n==null?S:n(S);if(S=r||S!==0?S:0,c&&x===x){for(var A=w;A--;)if(t[A]===x)continue e;g.push(S)}else u(t,x,r)||g.push(S)}return g}var _t=Ea(Xe),Xs=Ea(ii,!0);function Pc(e,t){var n=!0;return _t(e,function(r,s,u){return n=!!t(r,s,u),n}),n}function tr(e,t,n){for(var r=-1,s=e.length;++r<s;){var u=e[r],c=t(u);if(c!=null&&(h===i?c===c&&!Ce(c):n(c,h)))var h=c,g=u}return g}function Lc(e,t,n,r){var s=e.length;for(n=U(n),n<0&&(n=-n>s?0:s+n),r=r===i||r>s?s:U(r),r<0&&(r+=s),r=n>r?0:vo(r);n<r;)e[n++]=t;return e}function Qs(e,t){var n=[];return _t(e,function(r,s,u){t(r,s,u)&&n.push(r)}),n}function fe(e,t,n,r,s){var u=-1,c=e.length;for(n||(n=Sf),s||(s=[]);++u<c;){var h=e[u];t>0&&n(h)?t>1?fe(h,t-1,n,r,s):vt(s,h):r||(s[s.length]=h)}return s}var ri=Aa(),ea=Aa(!0);function Xe(e,t){return e&&ri(e,t,le)}function ii(e,t){return e&&ea(e,t,le)}function nr(e,t){return gt(t,function(n){return lt(e[n])})}function Lt(e,t){t=St(t,e);for(var n=0,r=t.length;e!=null&&n<r;)e=e[et(t[n++])];return n&&n==r?e:i}function ta(e,t,n){var r=t(e);return O(e)?r:vt(r,n(e))}function ge(e){return e==null?e===i?ou:su:Ct&&Ct in Z(e)?gf(e):Cf(e)}function si(e,t){return e>t}function Oc(e,t){return e!=null&&Y.call(e,t)}function Uc(e,t){return e!=null&&t in Z(e)}function Nc(e,t,n){return e>=he(t,n)&&e<ue(t,n)}function ai(e,t,n){for(var r=n?Gr:$n,s=e[0].length,u=e.length,c=u,h=m(u),g=1/0,w=[];c--;){var S=e[c];c&&t&&(S=Q(S,be(t))),g=he(S.length,g),h[c]=!n&&(t||s>=120&&S.length>=120)?new Rt(c&&S):i}S=e[0];var x=-1,A=h[0];e:for(;++x<s&&w.length<g;){var T=S[x],F=t?t(T):T;if(T=n||T!==0?T:0,!(A?fn(A,F):r(w,F,n))){for(c=u;--c;){var D=h[c];if(!(D?fn(D,F):r(e[c],F,n)))continue e}A&&A.push(F),w.push(T)}}return w}function Dc(e,t,n,r){return Xe(e,function(s,u,c){t(r,n(s),u,c)}),r}function _n(e,t,n){t=St(t,e),e=Ga(e,t);var r=e==null?e:e[et(Me(t))];return r==null?i:Ae(r,e,n)}function na(e){return ie(e)&&ge(e)==Wt}function $c(e){return ie(e)&&ge(e)==cn}function Wc(e){return ie(e)&&ge(e)==sn}function wn(e,t,n,r,s){return e===t?!0:e==null||t==null||!ie(e)&&!ie(t)?e!==e&&t!==t:Mc(e,t,n,r,wn,s)}function Mc(e,t,n,r,s,u){var c=O(e),h=O(t),g=c?Rn:de(e),w=h?Rn:de(t);g=g==Wt?nt:g,w=w==Wt?nt:w;var S=g==nt,x=w==nt,A=g==w;if(A&&It(e)){if(!It(t))return!1;c=!0,S=!1}if(A&&!S)return u||(u=new Ke),c||Xt(e)?Na(e,t,n,r,s,u):df(e,t,g,n,r,s,u);if(!(n&W)){var T=S&&Y.call(e,"__wrapped__"),F=x&&Y.call(t,"__wrapped__");if(T||F){var D=T?e.value():e,R=F?t.value():t;return u||(u=new Ke),s(D,R,n,r,u)}}return A?(u||(u=new Ke),pf(e,t,n,r,s,u)):!1}function Bc(e){return ie(e)&&de(e)==qe}function oi(e,t,n,r){var s=n.length,u=s,c=!r;if(e==null)return!u;for(e=Z(e);s--;){var h=n[s];if(c&&h[2]?h[1]!==e[h[0]]:!(h[0]in e))return!1}for(;++s<u;){h=n[s];var g=h[0],w=e[g],S=h[1];if(c&&h[2]){if(w===i&&!(g in e))return!1}else{var x=new Ke;if(r)var A=r(w,S,g,e,t,x);if(!(A===i?wn(S,w,W|Pe,r,x):A))return!1}}return!0}function ra(e){if(!ne(e)||If(e))return!1;var t=lt(e)?Bl:Ru;return t.test(Ut(e))}function kc(e){return ie(e)&&ge(e)==on}function Gc(e){return ie(e)&&de(e)==He}function qc(e){return ie(e)&&_r(e.length)&&!!J[ge(e)]}function ia(e){return typeof e=="function"?e:e==null?Se:typeof e=="object"?O(e)?oa(e[0],e[1]):aa(e):To(e)}function ui(e){if(!In(e))return Kl(e);var t=[];for(var n in Z(e))Y.call(e,n)&&n!="constructor"&&t.push(n);return t}function Hc(e){if(!ne(e))return Tf(e);var t=In(e),n=[];for(var r in e)r=="constructor"&&(t||!Y.call(e,r))||n.push(r);return n}function li(e,t){return e<t}function sa(e,t){var n=-1,r=_e(e)?m(e.length):[];return _t(e,function(s,u,c){r[++n]=t(s,u,c)}),r}function aa(e){var t=Ei(e);return t.length==1&&t[0][2]?Ba(t[0][0],t[0][1]):function(n){return n===e||oi(n,e,t)}}function oa(e,t){return bi(e)&&Ma(t)?Ba(et(e),t):function(n){var r=Di(n,e);return r===i&&r===t?$i(n,e):wn(t,r,W|Pe)}}function rr(e,t,n,r,s){e!==t&&ri(t,function(u,c){if(s||(s=new Ke),ne(u))zc(e,t,c,n,rr,r,s);else{var h=r?r(Ci(e,c),u,c+"",e,t,s):i;h===i&&(h=u),ti(e,c,h)}},we)}function zc(e,t,n,r,s,u,c){var h=Ci(e,n),g=Ci(t,n),w=c.get(g);if(w){ti(e,n,w);return}var S=u?u(h,g,n+"",e,t,c):i,x=S===i;if(x){var A=O(g),T=!A&&It(g),F=!A&&!T&&Xt(g);S=g,A||T||F?O(h)?S=h:se(h)?S=ye(h):T?(x=!1,S=_a(g,!0)):F?(x=!1,S=wa(g,!0)):S=[]:An(g)||Nt(g)?(S=h,Nt(h)?S=mo(h):(!ne(h)||lt(h))&&(S=Wa(g))):x=!1}x&&(c.set(g,S),s(S,g,r,u,c),c.delete(g)),ti(e,n,S)}function ua(e,t){var n=e.length;if(n)return t+=t<0?n:0,ut(t,n)?e[t]:i}function la(e,t,n){t.length?t=Q(t,function(u){return O(u)?function(c){return Lt(c,u.length===1?u[0]:u)}:u}):t=[Se];var r=-1;t=Q(t,be(C()));var s=sa(e,function(u,c,h){var g=Q(t,function(w){return w(u)});return{criteria:g,index:++r,value:u}});return yl(s,function(u,c){return sf(u,c,n)})}function Kc(e,t){return ca(e,t,function(n,r){return $i(e,r)})}function ca(e,t,n){for(var r=-1,s=t.length,u={};++r<s;){var c=t[r],h=Lt(e,c);n(h,c)&&Sn(u,St(c,e),h)}return u}function Vc(e){return function(t){return Lt(t,e)}}function ci(e,t,n,r){var s=r?ml:kt,u=-1,c=t.length,h=e;for(e===t&&(t=ye(t)),n&&(h=Q(e,be(n)));++u<c;)for(var g=0,w=t[u],S=n?n(w):w;(g=s(h,S,g,r))>-1;)h!==e&&Vn.call(h,g,1),Vn.call(e,g,1);return e}function fa(e,t){for(var n=e?t.length:0,r=n-1;n--;){var s=t[n];if(n==r||s!==u){var u=s;ut(s)?Vn.call(e,s,1):pi(e,s)}}return e}function fi(e,t){return e+jn(zs()*(t-e+1))}function Yc(e,t,n,r){for(var s=-1,u=ue(Zn((t-e)/(n||1)),0),c=m(u);u--;)c[r?u:++s]=e,e+=n;return c}function hi(e,t){var n="";if(!e||t<1||t>pt)return n;do t%2&&(n+=e),t=jn(t/2),t&&(e+=e);while(t);return n}function $(e,t){return Fi(ka(e,t,Se),e+"")}function Zc(e){return Ys(Qt(e))}function jc(e,t){var n=Qt(e);return dr(n,Pt(t,0,n.length))}function Sn(e,t,n,r){if(!ne(e))return e;t=St(t,e);for(var s=-1,u=t.length,c=u-1,h=e;h!=null&&++s<u;){var g=et(t[s]),w=n;if(g==="__proto__"||g==="constructor"||g==="prototype")return e;if(s!=c){var S=h[g];w=r?r(S,g,h):i,w===i&&(w=ne(S)?S:ut(t[s+1])?[]:{})}mn(h,g,w),h=h[g]}return e}var ha=Jn?function(e,t){return Jn.set(e,t),e}:Se,Jc=Yn?function(e,t){return Yn(e,"toString",{configurable:!0,enumerable:!1,value:Mi(t),writable:!0})}:Se;function Xc(e){return dr(Qt(e))}function We(e,t,n){var r=-1,s=e.length;t<0&&(t=-t>s?0:s+t),n=n>s?s:n,n<0&&(n+=s),s=t>n?0:n-t>>>0,t>>>=0;for(var u=m(s);++r<s;)u[r]=e[r+t];return u}function Qc(e,t){var n;return _t(e,function(r,s,u){return n=t(r,s,u),!n}),!!n}function ir(e,t,n){var r=0,s=e==null?r:e.length;if(typeof t=="number"&&t===t&&s<=tu){for(;r<s;){var u=r+s>>>1,c=e[u];c!==null&&!Ce(c)&&(n?c<=t:c<t)?r=u+1:s=u}return s}return di(e,t,Se,n)}function di(e,t,n,r){var s=0,u=e==null?0:e.length;if(u===0)return 0;t=n(t);for(var c=t!==t,h=t===null,g=Ce(t),w=t===i;s<u;){var S=jn((s+u)/2),x=n(e[S]),A=x!==i,T=x===null,F=x===x,D=Ce(x);if(c)var R=r||F;else w?R=F&&(r||A):h?R=F&&A&&(r||!T):g?R=F&&A&&!T&&(r||!D):T||D?R=!1:R=r?x<=t:x<t;R?s=S+1:u=S}return he(u,eu)}function da(e,t){for(var n=-1,r=e.length,s=0,u=[];++n<r;){var c=e[n],h=t?t(c):c;if(!n||!Ve(h,g)){var g=h;u[s++]=c===0?0:c}}return u}function pa(e){return typeof e=="number"?e:Ce(e)?Fn:+e}function Te(e){if(typeof e=="string")return e;if(O(e))return Q(e,Te)+"";if(Ce(e))return Ks?Ks.call(e):"";var t=e+"";return t=="0"&&1/e==-bt?"-0":t}function wt(e,t,n){var r=-1,s=$n,u=e.length,c=!0,h=[],g=h;if(n)c=!1,s=Gr;else if(u>=d){var w=t?null:ff(e);if(w)return Mn(w);c=!1,s=fn,g=new Rt}else g=t?[]:h;e:for(;++r<u;){var S=e[r],x=t?t(S):S;if(S=n||S!==0?S:0,c&&x===x){for(var A=g.length;A--;)if(g[A]===x)continue e;t&&g.push(x),h.push(S)}else s(g,x,n)||(g!==h&&g.push(x),h.push(S))}return h}function pi(e,t){return t=St(t,e),e=Ga(e,t),e==null||delete e[et(Me(t))]}function ga(e,t,n,r){return Sn(e,t,n(Lt(e,t)),r)}function sr(e,t,n,r){for(var s=e.length,u=r?s:-1;(r?u--:++u<s)&&t(e[u],u,e););return n?We(e,r?0:u,r?u+1:s):We(e,r?u+1:0,r?s:u)}function va(e,t){var n=e;return n instanceof B&&(n=n.value()),qr(t,function(r,s){return s.func.apply(s.thisArg,vt([r],s.args))},n)}function gi(e,t,n){var r=e.length;if(r<2)return r?wt(e[0]):[];for(var s=-1,u=m(r);++s<r;)for(var c=e[s],h=-1;++h<r;)h!=s&&(u[s]=yn(u[s]||c,e[h],t,n));return wt(fe(u,1),t,n)}function ma(e,t,n){for(var r=-1,s=e.length,u=t.length,c={};++r<s;){var h=r<u?t[r]:i;n(c,e[r],h)}return c}function vi(e){return se(e)?e:[]}function mi(e){return typeof e=="function"?e:Se}function St(e,t){return O(e)?e:bi(e,t)?[e]:Ka(V(e))}var ef=$;function xt(e,t,n){var r=e.length;return n=n===i?r:n,!t&&n>=r?e:We(e,t,n)}var ya=kl||function(e){return ce.clearTimeout(e)};function _a(e,t){if(t)return e.slice();var n=e.length,r=Bs?Bs(n):new e.constructor(n);return e.copy(r),r}function yi(e){var t=new e.constructor(e.byteLength);return new zn(t).set(new zn(e)),t}function tf(e,t){var n=t?yi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.byteLength)}function nf(e){var t=new e.constructor(e.source,ns.exec(e));return t.lastIndex=e.lastIndex,t}function rf(e){return vn?Z(vn.call(e)):{}}function wa(e,t){var n=t?yi(e.buffer):e.buffer;return new e.constructor(n,e.byteOffset,e.length)}function Sa(e,t){if(e!==t){var n=e!==i,r=e===null,s=e===e,u=Ce(e),c=t!==i,h=t===null,g=t===t,w=Ce(t);if(!h&&!w&&!u&&e>t||u&&c&&g&&!h&&!w||r&&c&&g||!n&&g||!s)return 1;if(!r&&!u&&!w&&e<t||w&&n&&s&&!r&&!u||h&&n&&s||!c&&s||!g)return-1}return 0}function sf(e,t,n){for(var r=-1,s=e.criteria,u=t.criteria,c=s.length,h=n.length;++r<c;){var g=Sa(s[r],u[r]);if(g){if(r>=h)return g;var w=n[r];return g*(w=="desc"?-1:1)}}return e.index-t.index}function xa(e,t,n,r){for(var s=-1,u=e.length,c=n.length,h=-1,g=t.length,w=ue(u-c,0),S=m(g+w),x=!r;++h<g;)S[h]=t[h];for(;++s<c;)(x||s<u)&&(S[n[s]]=e[s]);for(;w--;)S[h++]=e[s++];return S}function Ia(e,t,n,r){for(var s=-1,u=e.length,c=-1,h=n.length,g=-1,w=t.length,S=ue(u-h,0),x=m(S+w),A=!r;++s<S;)x[s]=e[s];for(var T=s;++g<w;)x[T+g]=t[g];for(;++c<h;)(A||s<u)&&(x[T+n[c]]=e[s++]);return x}function ye(e,t){var n=-1,r=e.length;for(t||(t=m(r));++n<r;)t[n]=e[n];return t}function Qe(e,t,n,r){var s=!n;n||(n={});for(var u=-1,c=t.length;++u<c;){var h=t[u],g=r?r(n[h],e[h],h,n,e):i;g===i&&(g=e[h]),s?st(n,h,g):mn(n,h,g)}return n}function af(e,t){return Qe(e,Ai(e),t)}function of(e,t){return Qe(e,Da(e),t)}function ar(e,t){return function(n,r){var s=O(n)?fl:Cc,u=t?t():{};return s(n,e,C(r,2),u)}}function Zt(e){return $(function(t,n){var r=-1,s=n.length,u=s>1?n[s-1]:i,c=s>2?n[2]:i;for(u=e.length>3&&typeof u=="function"?(s--,u):i,c&&ve(n[0],n[1],c)&&(u=s<3?i:u,s=1),t=Z(t);++r<s;){var h=n[r];h&&e(t,h,r,u)}return t})}function Ea(e,t){return function(n,r){if(n==null)return n;if(!_e(n))return e(n,r);for(var s=n.length,u=t?s:-1,c=Z(n);(t?u--:++u<s)&&r(c[u],u,c)!==!1;);return n}}function Aa(e){return function(t,n,r){for(var s=-1,u=Z(t),c=r(t),h=c.length;h--;){var g=c[e?h:++s];if(n(u[g],g,u)===!1)break}return t}}function uf(e,t,n){var r=t&xe,s=xn(e);function u(){var c=this&&this!==ce&&this instanceof u?s:e;return c.apply(r?n:this,arguments)}return u}function ba(e){return function(t){t=V(t);var n=Gt(t)?ze(t):i,r=n?n[0]:t.charAt(0),s=n?xt(n,1).join(""):t.slice(1);return r[e]()+s}}function jt(e){return function(t){return qr(Ao(Eo(t).replace(Ju,"")),e,"")}}function xn(e){return function(){var t=arguments;switch(t.length){case 0:return new e;case 1:return new e(t[0]);case 2:return new e(t[0],t[1]);case 3:return new e(t[0],t[1],t[2]);case 4:return new e(t[0],t[1],t[2],t[3]);case 5:return new e(t[0],t[1],t[2],t[3],t[4]);case 6:return new e(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new e(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var n=Yt(e.prototype),r=e.apply(n,t);return ne(r)?r:n}}function lf(e,t,n){var r=xn(e);function s(){for(var u=arguments.length,c=m(u),h=u,g=Jt(s);h--;)c[h]=arguments[h];var w=u<3&&c[0]!==g&&c[u-1]!==g?[]:mt(c,g);if(u-=w.length,u<n)return Pa(e,t,or,s.placeholder,i,c,w,i,i,n-u);var S=this&&this!==ce&&this instanceof s?r:e;return Ae(S,this,c)}return s}function Ta(e){return function(t,n,r){var s=Z(t);if(!_e(t)){var u=C(n,3);t=le(t),n=function(h){return u(s[h],h,s)}}var c=e(t,n,r);return c>-1?s[u?t[c]:c]:i}}function Ca(e){return ot(function(t){var n=t.length,r=n,s=De.prototype.thru;for(e&&t.reverse();r--;){var u=t[r];if(typeof u!="function")throw new Ne(I);if(s&&!c&&fr(u)=="wrapper")var c=new De([],!0)}for(r=c?r:n;++r<n;){u=t[r];var h=fr(u),g=h=="wrapper"?Ii(u):i;g&&Ti(g[0])&&g[1]==(tt|Le|Ie|nn)&&!g[4].length&&g[9]==1?c=c[fr(g[0])].apply(c,g[3]):c=u.length==1&&Ti(u)?c[h]():c.thru(u)}return function(){var w=arguments,S=w[0];if(c&&w.length==1&&O(S))return c.plant(S).value();for(var x=0,A=n?t[x].apply(this,w):S;++x<n;)A=t[x].call(this,A);return A}})}function or(e,t,n,r,s,u,c,h,g,w){var S=t&tt,x=t&xe,A=t&je,T=t&(Le|At),F=t&Ir,D=A?i:xn(e);function R(){for(var M=arguments.length,G=m(M),Fe=M;Fe--;)G[Fe]=arguments[Fe];if(T)var me=Jt(R),Re=wl(G,me);if(r&&(G=xa(G,r,s,T)),u&&(G=Ia(G,u,c,T)),M-=Re,T&&M<w){var ae=mt(G,me);return Pa(e,t,or,R.placeholder,n,G,ae,h,g,w-M)}var Ye=x?n:this,ft=A?Ye[e]:e;return M=G.length,h?G=Ff(G,h):F&&M>1&&G.reverse(),S&&g<M&&(G.length=g),this&&this!==ce&&this instanceof R&&(ft=D||xn(ft)),ft.apply(Ye,G)}return R}function Fa(e,t){return function(n,r){return Dc(n,e,t(r),{})}}function ur(e,t){return function(n,r){var s;if(n===i&&r===i)return t;if(n!==i&&(s=n),r!==i){if(s===i)return r;typeof n=="string"||typeof r=="string"?(n=Te(n),r=Te(r)):(n=pa(n),r=pa(r)),s=e(n,r)}return s}}function _i(e){return ot(function(t){return t=Q(t,be(C())),$(function(n){var r=this;return e(t,function(s){return Ae(s,r,n)})})})}function lr(e,t){t=t===i?" ":Te(t);var n=t.length;if(n<2)return n?hi(t,e):t;var r=hi(t,Zn(e/qt(t)));return Gt(t)?xt(ze(r),0,e).join(""):r.slice(0,e)}function cf(e,t,n,r){var s=t&xe,u=xn(e);function c(){for(var h=-1,g=arguments.length,w=-1,S=r.length,x=m(S+g),A=this&&this!==ce&&this instanceof c?u:e;++w<S;)x[w]=r[w];for(;g--;)x[w++]=arguments[++h];return Ae(A,s?n:this,x)}return c}function Ra(e){return function(t,n,r){return r&&typeof r!="number"&&ve(t,n,r)&&(n=r=i),t=ct(t),n===i?(n=t,t=0):n=ct(n),r=r===i?t<n?1:-1:ct(r),Yc(t,n,r,e)}}function cr(e){return function(t,n){return typeof t=="string"&&typeof n=="string"||(t=Be(t),n=Be(n)),e(t,n)}}function Pa(e,t,n,r,s,u,c,h,g,w){var S=t&Le,x=S?c:i,A=S?i:c,T=S?u:i,F=S?i:u;t|=S?Ie:Ee,t&=~(S?Ee:Ie),t&Cn||(t&=-4);var D=[e,t,s,T,x,F,A,h,g,w],R=n.apply(i,D);return Ti(e)&&qa(R,D),R.placeholder=r,Ha(R,e,t)}function wi(e){var t=oe[e];return function(n,r){if(n=Be(n),r=r==null?0:he(U(r),292),r&&Hs(n)){var s=(V(n)+"e").split("e"),u=t(s[0]+"e"+(+s[1]+r));return s=(V(u)+"e").split("e"),+(s[0]+"e"+(+s[1]-r))}return t(n)}}var ff=Kt&&1/Mn(new Kt([,-0]))[1]==bt?function(e){return new Kt(e)}:Gi;function La(e){return function(t){var n=de(t);return n==qe?jr(t):n==He?Tl(t):_l(t,e(t))}}function at(e,t,n,r,s,u,c,h){var g=t&je;if(!g&&typeof e!="function")throw new Ne(I);var w=r?r.length:0;if(w||(t&=-97,r=s=i),c=c===i?c:ue(U(c),0),h=h===i?h:U(h),w-=s?s.length:0,t&Ee){var S=r,x=s;r=s=i}var A=g?i:Ii(e),T=[e,t,n,r,s,S,x,u,c,h];if(A&&bf(T,A),e=T[0],t=T[1],n=T[2],r=T[3],s=T[4],h=T[9]=T[9]===i?g?0:e.length:ue(T[9]-w,0),!h&&t&(Le|At)&&(t&=-25),!t||t==xe)var F=uf(e,t,n);else t==Le||t==At?F=lf(e,t,h):(t==Ie||t==(xe|Ie))&&!s.length?F=cf(e,t,n,r):F=or.apply(i,T);var D=A?ha:qa;return Ha(D(F,T),e,t)}function Oa(e,t,n,r){return e===i||Ve(e,zt[n])&&!Y.call(r,n)?t:e}function Ua(e,t,n,r,s,u){return ne(e)&&ne(t)&&(u.set(t,e),rr(e,t,i,Ua,u),u.delete(t)),e}function hf(e){return An(e)?i:e}function Na(e,t,n,r,s,u){var c=n&W,h=e.length,g=t.length;if(h!=g&&!(c&&g>h))return!1;var w=u.get(e),S=u.get(t);if(w&&S)return w==t&&S==e;var x=-1,A=!0,T=n&Pe?new Rt:i;for(u.set(e,t),u.set(t,e);++x<h;){var F=e[x],D=t[x];if(r)var R=c?r(D,F,x,t,e,u):r(F,D,x,e,t,u);if(R!==i){if(R)continue;A=!1;break}if(T){if(!Hr(t,function(M,G){if(!fn(T,G)&&(F===M||s(F,M,n,r,u)))return T.push(G)})){A=!1;break}}else if(!(F===D||s(F,D,n,r,u))){A=!1;break}}return u.delete(e),u.delete(t),A}function df(e,t,n,r,s,u,c){switch(n){case Mt:if(e.byteLength!=t.byteLength||e.byteOffset!=t.byteOffset)return!1;e=e.buffer,t=t.buffer;case cn:return!(e.byteLength!=t.byteLength||!u(new zn(e),new zn(t)));case rn:case sn:case an:return Ve(+e,+t);case Pn:return e.name==t.name&&e.message==t.message;case on:case un:return e==t+"";case qe:var h=jr;case He:var g=r&W;if(h||(h=Mn),e.size!=t.size&&!g)return!1;var w=c.get(e);if(w)return w==t;r|=Pe,c.set(e,t);var S=Na(h(e),h(t),r,s,u,c);return c.delete(e),S;case On:if(vn)return vn.call(e)==vn.call(t)}return!1}function pf(e,t,n,r,s,u){var c=n&W,h=Si(e),g=h.length,w=Si(t),S=w.length;if(g!=S&&!c)return!1;for(var x=g;x--;){var A=h[x];if(!(c?A in t:Y.call(t,A)))return!1}var T=u.get(e),F=u.get(t);if(T&&F)return T==t&&F==e;var D=!0;u.set(e,t),u.set(t,e);for(var R=c;++x<g;){A=h[x];var M=e[A],G=t[A];if(r)var Fe=c?r(G,M,A,t,e,u):r(M,G,A,e,t,u);if(!(Fe===i?M===G||s(M,G,n,r,u):Fe)){D=!1;break}R||(R=A=="constructor")}if(D&&!R){var me=e.constructor,Re=t.constructor;me!=Re&&"constructor"in e&&"constructor"in t&&!(typeof me=="function"&&me instanceof me&&typeof Re=="function"&&Re instanceof Re)&&(D=!1)}return u.delete(e),u.delete(t),D}function ot(e){return Fi(ka(e,i,ja),e+"")}function Si(e){return ta(e,le,Ai)}function xi(e){return ta(e,we,Da)}var Ii=Jn?function(e){return Jn.get(e)}:Gi;function fr(e){for(var t=e.name+"",n=Vt[t],r=Y.call(Vt,t)?n.length:0;r--;){var s=n[r],u=s.func;if(u==null||u==e)return s.name}return t}function Jt(e){var t=Y.call(o,"placeholder")?o:e;return t.placeholder}function C(){var e=o.iteratee||Bi;return e=e===Bi?ia:e,arguments.length?e(arguments[0],arguments[1]):e}function hr(e,t){var n=e.__data__;return xf(t)?n[typeof t=="string"?"string":"hash"]:n.map}function Ei(e){for(var t=le(e),n=t.length;n--;){var r=t[n],s=e[r];t[n]=[r,s,Ma(s)]}return t}function Ot(e,t){var n=El(e,t);return ra(n)?n:i}function gf(e){var t=Y.call(e,Ct),n=e[Ct];try{e[Ct]=i;var r=!0}catch{}var s=qn.call(e);return r&&(t?e[Ct]=n:delete e[Ct]),s}var Ai=Xr?function(e){return e==null?[]:(e=Z(e),gt(Xr(e),function(t){return Gs.call(e,t)}))}:qi,Da=Xr?function(e){for(var t=[];e;)vt(t,Ai(e)),e=Kn(e);return t}:qi,de=ge;(Qr&&de(new Qr(new ArrayBuffer(1)))!=Mt||dn&&de(new dn)!=qe||ei&&de(ei.resolve())!=Xi||Kt&&de(new Kt)!=He||pn&&de(new pn)!=ln)&&(de=function(e){var t=ge(e),n=t==nt?e.constructor:i,r=n?Ut(n):"";if(r)switch(r){case jl:return Mt;case Jl:return qe;case Xl:return Xi;case Ql:return He;case ec:return ln}return t});function vf(e,t,n){for(var r=-1,s=n.length;++r<s;){var u=n[r],c=u.size;switch(u.type){case"drop":e+=c;break;case"dropRight":t-=c;break;case"take":t=he(t,e+c);break;case"takeRight":e=ue(e,t-c);break}}return{start:e,end:t}}function mf(e){var t=e.match(xu);return t?t[1].split(Iu):[]}function $a(e,t,n){t=St(t,e);for(var r=-1,s=t.length,u=!1;++r<s;){var c=et(t[r]);if(!(u=e!=null&&n(e,c)))break;e=e[c]}return u||++r!=s?u:(s=e==null?0:e.length,!!s&&_r(s)&&ut(c,s)&&(O(e)||Nt(e)))}function yf(e){var t=e.length,n=new e.constructor(t);return t&&typeof e[0]=="string"&&Y.call(e,"index")&&(n.index=e.index,n.input=e.input),n}function Wa(e){return typeof e.constructor=="function"&&!In(e)?Yt(Kn(e)):{}}function _f(e,t,n){var r=e.constructor;switch(t){case cn:return yi(e);case rn:case sn:return new r(+e);case Mt:return tf(e,n);case Er:case Ar:case br:case Tr:case Cr:case Fr:case Rr:case Pr:case Lr:return wa(e,n);case qe:return new r;case an:case un:return new r(e);case on:return nf(e);case He:return new r;case On:return rf(e)}}function wf(e,t){var n=t.length;if(!n)return e;var r=n-1;return t[r]=(n>1?"& ":"")+t[r],t=t.join(n>2?", ":" "),e.replace(Su,`{
|
|
10
10
|
/* [wrapped with `+t+`] */
|
|
11
|
-
`)}function Sf(e){return N(e)||Ot(e)||!!(Gs&&e&&e[Gs])}function at(e,t){var n=typeof e;return t=t??ht,!!t&&(n=="number"||n!="symbol"&&Ou.test(e))&&e>-1&&e%1==0&&e<t}function ge(e,t,n){if(!Q(n))return!1;var r=typeof t;return(r=="number"?_e(n)&&at(t,n.length):r=="string"&&t in n)?qe(n[t],e):!1}function Ai(e,t){if(N(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||Ae(e)?!0:mu.test(e)||!vu.test(e)||t!=null&&e in V(t)}function xf(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function Ii(e){var t=cr(e),n=o[t];if(typeof n!="function"||!(t in k.prototype))return!1;if(e===n)return!0;var r=Si(n);return!!r&&e===r[0]}function Ef(e){return!!Ws&&Ws in e}var Af=Bn?ot:Gi;function xn(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||Gt;return e===n}function Wa(e){return e===e&&!Q(e)}function Ma(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==i||e in V(n))}}function If(e){var t=vr(e,function(r){return n.size===ue&&n.clear(),r}),n=t.cache;return t}function bf(e,t){var n=e[1],r=t[1],s=n|r,u=s<(We|Nt|Qe),c=r==Qe&&n==Xe||r==Qe&&n==tn&&e[7].length<=t[8]||r==(Qe|tn)&&t[7].length<=t[8]&&n==Xe;if(!(u||c))return e;r&We&&(e[2]=t[2],s|=n&We?0:Yi);var h=t[3];if(h){var g=e[3];e[3]=g?Sa(g,h,t[4]):h,e[4]=g?gt(e[3],te):t[4]}return h=t[5],h&&(g=e[5],e[5]=g?xa(g,h,t[6]):h,e[6]=g?gt(e[5],te):t[6]),h=t[7],h&&(e[7]=h),r&Qe&&(e[8]=e[8]==null?t[8]:fe(e[8],t[8])),e[9]==null&&(e[9]=t[9]),e[0]=t[0],e[1]=s,e}function Cf(e){var t=[];if(e!=null)for(var n in V(e))t.push(n);return t}function Tf(e){return Gn.call(e)}function Ba(e,t,n){return t=ae(t===i?e.length-1:t,0),function(){for(var r=arguments,s=-1,u=ae(r.length-t,0),c=v(u);++s<u;)c[s]=r[t+s];s=-1;for(var h=v(t+1);++s<t;)h[s]=r[s];return h[t]=n(c),Se(e,this,h)}}function ka(e,t){return t.length<2?e:Rt(e,Le(t,0,-1))}function Rf(e,t){for(var n=e.length,r=fe(t.length,n),s=me(e);r--;){var u=t[r];e[r]=at(u,n)?s[u]:i}return e}function bi(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}var Ga=Ha(fa),En=ql||function(e,t){return le.setTimeout(e,t)},Ci=Ha(Xc);function qa(e,t,n){var r=t+"";return Ci(e,wf(r,Ff(mf(r),n)))}function Ha(e){var t=0,n=0;return function(){var r=Vl(),s=Jo-(r-n);if(n=r,s>0){if(++t>=Zo)return arguments[0]}else t=0;return e.apply(i,arguments)}}function hr(e,t){var n=-1,r=e.length,s=r-1;for(t=t===i?r:t;++n<t;){var u=li(n,s),c=e[u];e[u]=e[n],e[n]=c}return e.length=t,e}var Ka=If(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(_u,function(n,r,s,u){t.push(s?u.replace(bu,"$1"):r||n)}),t});function Ze(e){if(typeof e=="string"||Ae(e))return e;var t=e+"";return t=="0"&&1/e==-Et?"-0":t}function Pt(e){if(e!=null){try{return kn.call(e)}catch{}try{return e+""}catch{}}return""}function Ff(e,t){return Re(nu,function(n){var r="_."+n[0];t&n[1]&&!Dn(e,r)&&e.push(r)}),e.sort()}function za(e){if(e instanceof k)return e.clone();var t=new Pe(e.__wrapped__,e.__chain__);return t.__actions__=me(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}function Pf(e,t,n){(n?ge(e,t,n):t===i)?t=1:t=ae(U(t),0);var r=e==null?0:e.length;if(!r||t<1)return[];for(var s=0,u=0,c=v(Yn(r/t));s<r;)c[u++]=Le(e,s,s+=t);return c}function Of(e){for(var t=-1,n=e==null?0:e.length,r=0,s=[];++t<n;){var u=e[t];u&&(s[r++]=u)}return s}function Lf(){var e=arguments.length;if(!e)return[];for(var t=v(e-1),n=arguments[0],r=e;r--;)t[r-1]=arguments[r];return dt(N(n)?me(n):[n],ce(t,1))}var Nf=$(function(e,t){return ne(e)?mn(e,ce(t,1,ne,!0)):[]}),Uf=$(function(e,t){var n=Ne(t);return ne(n)&&(n=i),ne(e)?mn(e,ce(t,1,ne,!0),T(n,2)):[]}),Df=$(function(e,t){var n=Ne(t);return ne(n)&&(n=i),ne(e)?mn(e,ce(t,1,ne,!0),i,n):[]});function $f(e,t,n){var r=e==null?0:e.length;return r?(t=n||t===i?1:U(t),Le(e,t<0?0:t,r)):[]}function Wf(e,t,n){var r=e==null?0:e.length;return r?(t=n||t===i?1:U(t),t=r-t,Le(e,0,t<0?0:t)):[]}function Mf(e,t){return e&&e.length?ir(e,T(t,3),!0,!0):[]}function Bf(e,t){return e&&e.length?ir(e,T(t,3),!0):[]}function kf(e,t,n,r){var s=e==null?0:e.length;return s?(n&&typeof n!="number"&&ge(e,t,n)&&(n=0,r=s),Oc(e,t,n,r)):[]}function Va(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var s=n==null?0:U(n);return s<0&&(s=ae(r+s,0)),$n(e,T(t,3),s)}function Ya(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var s=r-1;return n!==i&&(s=U(n),s=n<0?ae(r+s,0):fe(s,r-1)),$n(e,T(t,3),s,!0)}function Za(e){var t=e==null?0:e.length;return t?ce(e,1):[]}function Gf(e){var t=e==null?0:e.length;return t?ce(e,Et):[]}function qf(e,t){var n=e==null?0:e.length;return n?(t=t===i?1:U(t),ce(e,t)):[]}function Hf(e){for(var t=-1,n=e==null?0:e.length,r={};++t<n;){var s=e[t];r[s[0]]=s[1]}return r}function Ja(e){return e&&e.length?e[0]:i}function Kf(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var s=n==null?0:U(n);return s<0&&(s=ae(r+s,0)),Wt(e,t,s)}function zf(e){var t=e==null?0:e.length;return t?Le(e,0,-1):[]}var Vf=$(function(e){var t=j(e,di);return t.length&&t[0]===e[0]?ii(t):[]}),Yf=$(function(e){var t=Ne(e),n=j(e,di);return t===Ne(n)?t=i:n.pop(),n.length&&n[0]===e[0]?ii(n,T(t,2)):[]}),Zf=$(function(e){var t=Ne(e),n=j(e,di);return t=typeof t=="function"?t:i,t&&n.pop(),n.length&&n[0]===e[0]?ii(n,i,t):[]});function Jf(e,t){return e==null?"":Kl.call(e,t)}function Ne(e){var t=e==null?0:e.length;return t?e[t-1]:i}function Xf(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var s=r;return n!==i&&(s=U(n),s=s<0?ae(r+s,0):fe(s,r-1)),t===t?Rl(e,t,s):$n(e,Fs,s,!0)}function jf(e,t){return e&&e.length?oa(e,U(t)):i}var Qf=$(Xa);function Xa(e,t){return e&&e.length&&t&&t.length?ui(e,t):e}function eh(e,t,n){return e&&e.length&&t&&t.length?ui(e,t,T(n,2)):e}function th(e,t,n){return e&&e.length&&t&&t.length?ui(e,t,i,n):e}var nh=st(function(e,t){var n=e==null?0:e.length,r=ei(e,t);return ca(e,j(t,function(s){return at(s,n)?+s:s}).sort(wa)),r});function rh(e,t){var n=[];if(!(e&&e.length))return n;var r=-1,s=[],u=e.length;for(t=T(t,3);++r<u;){var c=e[r];t(c,r,e)&&(n.push(c),s.push(r))}return ca(e,s),n}function Ti(e){return e==null?e:Zl.call(e)}function ih(e,t,n){var r=e==null?0:e.length;return r?(n&&typeof n!="number"&&ge(e,t,n)?(t=0,n=r):(t=t==null?0:U(t),n=n===i?r:U(n)),Le(e,t,n)):[]}function sh(e,t){return rr(e,t)}function ah(e,t,n){return fi(e,t,T(n,2))}function oh(e,t){var n=e==null?0:e.length;if(n){var r=rr(e,t);if(r<n&&qe(e[r],t))return r}return-1}function uh(e,t){return rr(e,t,!0)}function lh(e,t,n){return fi(e,t,T(n,2),!0)}function ch(e,t){var n=e==null?0:e.length;if(n){var r=rr(e,t,!0)-1;if(qe(e[r],t))return r}return-1}function fh(e){return e&&e.length?ha(e):[]}function hh(e,t){return e&&e.length?ha(e,T(t,2)):[]}function ph(e){var t=e==null?0:e.length;return t?Le(e,1,t):[]}function dh(e,t,n){return e&&e.length?(t=n||t===i?1:U(t),Le(e,0,t<0?0:t)):[]}function gh(e,t,n){var r=e==null?0:e.length;return r?(t=n||t===i?1:U(t),t=r-t,Le(e,t<0?0:t,r)):[]}function vh(e,t){return e&&e.length?ir(e,T(t,3),!1,!0):[]}function mh(e,t){return e&&e.length?ir(e,T(t,3)):[]}var _h=$(function(e){return _t(ce(e,1,ne,!0))}),yh=$(function(e){var t=Ne(e);return ne(t)&&(t=i),_t(ce(e,1,ne,!0),T(t,2))}),wh=$(function(e){var t=Ne(e);return t=typeof t=="function"?t:i,_t(ce(e,1,ne,!0),i,t)});function Sh(e){return e&&e.length?_t(e):[]}function xh(e,t){return e&&e.length?_t(e,T(t,2)):[]}function Eh(e,t){return t=typeof t=="function"?t:i,e&&e.length?_t(e,i,t):[]}function Ri(e){if(!(e&&e.length))return[];var t=0;return e=pt(e,function(n){if(ne(n))return t=ae(n.length,t),!0}),zr(t,function(n){return j(e,qr(n))})}function ja(e,t){if(!(e&&e.length))return[];var n=Ri(e);return t==null?n:j(n,function(r){return Se(t,i,r)})}var Ah=$(function(e,t){return ne(e)?mn(e,t):[]}),Ih=$(function(e){return pi(pt(e,ne))}),bh=$(function(e){var t=Ne(e);return ne(t)&&(t=i),pi(pt(e,ne),T(t,2))}),Ch=$(function(e){var t=Ne(e);return t=typeof t=="function"?t:i,pi(pt(e,ne),i,t)}),Th=$(Ri);function Rh(e,t){return va(e||[],t||[],vn)}function Fh(e,t){return va(e||[],t||[],wn)}var Ph=$(function(e){var t=e.length,n=t>1?e[t-1]:i;return n=typeof n=="function"?(e.pop(),n):i,ja(e,n)});function Qa(e){var t=o(e);return t.__chain__=!0,t}function Oh(e,t){return t(e),e}function pr(e,t){return t(e)}var Lh=st(function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,s=function(u){return ei(u,e)};return t>1||this.__actions__.length||!(r instanceof k)||!at(n)?this.thru(s):(r=r.slice(n,+n+(t?1:0)),r.__actions__.push({func:pr,args:[s],thisArg:i}),new Pe(r,this.__chain__).thru(function(u){return t&&!u.length&&u.push(i),u}))});function Nh(){return Qa(this)}function Uh(){return new Pe(this.value(),this.__chain__)}function Dh(){this.__values__===i&&(this.__values__=po(this.value()));var e=this.__index__>=this.__values__.length,t=e?i:this.__values__[this.__index__++];return{done:e,value:t}}function $h(){return this}function Wh(e){for(var t,n=this;n instanceof jn;){var r=za(n);r.__index__=0,r.__values__=i,t?s.__wrapped__=r:t=r;var s=r;n=n.__wrapped__}return s.__wrapped__=e,t}function Mh(){var e=this.__wrapped__;if(e instanceof k){var t=e;return this.__actions__.length&&(t=new k(this)),t=t.reverse(),t.__actions__.push({func:pr,args:[Ti],thisArg:i}),new Pe(t,this.__chain__)}return this.thru(Ti)}function Bh(){return ga(this.__wrapped__,this.__actions__)}var kh=sr(function(e,t,n){z.call(e,n)?++e[n]:rt(e,n,1)});function Gh(e,t,n){var r=N(e)?Ts:Pc;return n&&ge(e,t,n)&&(t=i),r(e,T(t,3))}function qh(e,t){var n=N(e)?pt:js;return n(e,T(t,3))}var Hh=ba(Va),Kh=ba(Ya);function zh(e,t){return ce(dr(e,t),1)}function Vh(e,t){return ce(dr(e,t),Et)}function Yh(e,t,n){return n=n===i?1:U(n),ce(dr(e,t),n)}function eo(e,t){var n=N(e)?Re:mt;return n(e,T(t,3))}function to(e,t){var n=N(e)?hl:Xs;return n(e,T(t,3))}var Zh=sr(function(e,t,n){z.call(e,n)?e[n].push(t):rt(e,n,[t])});function Jh(e,t,n,r){e=_e(e)?e:Jt(e),n=n&&!r?U(n):0;var s=e.length;return n<0&&(n=ae(s+n,0)),yr(e)?n<=s&&e.indexOf(t,n)>-1:!!s&&Wt(e,t,n)>-1}var Xh=$(function(e,t,n){var r=-1,s=typeof t=="function",u=_e(e)?v(e.length):[];return mt(e,function(c){u[++r]=s?Se(t,c,n):_n(c,t,n)}),u}),jh=sr(function(e,t,n){rt(e,n,t)});function dr(e,t){var n=N(e)?j:ia;return n(e,T(t,3))}function Qh(e,t,n,r){return e==null?[]:(N(t)||(t=t==null?[]:[t]),n=r?i:n,N(n)||(n=n==null?[]:[n]),ua(e,t,n))}var ep=sr(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]});function tp(e,t,n){var r=N(e)?kr:Os,s=arguments.length<3;return r(e,T(t,4),n,s,mt)}function np(e,t,n){var r=N(e)?pl:Os,s=arguments.length<3;return r(e,T(t,4),n,s,Xs)}function rp(e,t){var n=N(e)?pt:js;return n(e,mr(T(t,3)))}function ip(e){var t=N(e)?Vs:Zc;return t(e)}function sp(e,t,n){(n?ge(e,t,n):t===i)?t=1:t=U(t);var r=N(e)?bc:Jc;return r(e,t)}function ap(e){var t=N(e)?Cc:jc;return t(e)}function op(e){if(e==null)return 0;if(_e(e))return yr(e)?Bt(e):e.length;var t=he(e);return t==Me||t==Be?e.size:ai(e).length}function up(e,t,n){var r=N(e)?Gr:Qc;return n&&ge(e,t,n)&&(t=i),r(e,T(t,3))}var lp=$(function(e,t){if(e==null)return[];var n=t.length;return n>1&&ge(e,t[0],t[1])?t=[]:n>2&&ge(t[0],t[1],t[2])&&(t=[t[0]]),ua(e,ce(t,1),[])}),gr=Gl||function(){return le.Date.now()};function cp(e,t){if(typeof t!="function")throw new Fe(E);return e=U(e),function(){if(--e<1)return t.apply(this,arguments)}}function no(e,t,n){return t=n?i:t,t=e&&t==null?e.length:t,it(e,Qe,i,i,i,i,t)}function ro(e,t){var n;if(typeof t!="function")throw new Fe(E);return e=U(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var Fi=$(function(e,t,n){var r=We;if(n.length){var s=gt(n,Yt(Fi));r|=je}return it(e,r,t,n,s)}),io=$(function(e,t,n){var r=We|Nt;if(n.length){var s=gt(n,Yt(io));r|=je}return it(t,r,e,n,s)});function so(e,t,n){t=n?i:t;var r=it(e,Xe,i,i,i,i,i,t);return r.placeholder=so.placeholder,r}function ao(e,t,n){t=n?i:t;var r=it(e,Qt,i,i,i,i,i,t);return r.placeholder=ao.placeholder,r}function oo(e,t,n){var r,s,u,c,h,g,w=0,S=!1,x=!1,I=!0;if(typeof e!="function")throw new Fe(E);t=Ue(t)||0,Q(n)&&(S=!!n.leading,x="maxWait"in n,u=x?ae(Ue(n.maxWait)||0,t):u,I="trailing"in n?!!n.trailing:I);function C(re){var He=r,lt=s;return r=s=i,w=re,c=e.apply(lt,He),c}function R(re){return w=re,h=En(W,t),S?C(re):c}function D(re){var He=re-g,lt=re-w,Co=t-He;return x?fe(Co,u-lt):Co}function F(re){var He=re-g,lt=re-w;return g===i||He>=t||He<0||x&<>=u}function W(){var re=gr();if(F(re))return q(re);h=En(W,D(re))}function q(re){return h=i,I&&r?C(re):(r=s=i,c)}function Ie(){h!==i&&ma(h),w=0,r=g=s=h=i}function ve(){return h===i?c:q(gr())}function be(){var re=gr(),He=F(re);if(r=arguments,s=this,g=re,He){if(h===i)return R(g);if(x)return ma(h),h=En(W,t),C(g)}return h===i&&(h=En(W,t)),c}return be.cancel=Ie,be.flush=ve,be}var fp=$(function(e,t){return Js(e,1,t)}),hp=$(function(e,t,n){return Js(e,Ue(t)||0,n)});function pp(e){return it(e,Sr)}function vr(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new Fe(E);var n=function(){var r=arguments,s=t?t.apply(this,r):r[0],u=n.cache;if(u.has(s))return u.get(s);var c=e.apply(this,r);return n.cache=u.set(s,c)||u,c};return n.cache=new(vr.Cache||nt),n}vr.Cache=nt;function mr(e){if(typeof e!="function")throw new Fe(E);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function dp(e){return ro(2,e)}var gp=ef(function(e,t){t=t.length==1&&N(t[0])?j(t[0],xe(T())):j(ce(t,1),xe(T()));var n=t.length;return $(function(r){for(var s=-1,u=fe(r.length,n);++s<u;)r[s]=t[s].call(this,r[s]);return Se(e,this,r)})}),Pi=$(function(e,t){var n=gt(t,Yt(Pi));return it(e,je,i,t,n)}),uo=$(function(e,t){var n=gt(t,Yt(uo));return it(e,en,i,t,n)}),vp=st(function(e,t){return it(e,tn,i,i,i,t)});function mp(e,t){if(typeof e!="function")throw new Fe(E);return t=t===i?t:U(t),$(e,t)}function _p(e,t){if(typeof e!="function")throw new Fe(E);return t=t==null?0:ae(U(t),0),$(function(n){var r=n[t],s=wt(n,0,t);return r&&dt(s,r),Se(e,this,s)})}function yp(e,t,n){var r=!0,s=!0;if(typeof e!="function")throw new Fe(E);return Q(n)&&(r="leading"in n?!!n.leading:r,s="trailing"in n?!!n.trailing:s),oo(e,t,{leading:r,maxWait:t,trailing:s})}function wp(e){return no(e,1)}function Sp(e,t){return Pi(gi(t),e)}function xp(){if(!arguments.length)return[];var e=arguments[0];return N(e)?e:[e]}function Ep(e){return Oe(e,G)}function Ap(e,t){return t=typeof t=="function"?t:i,Oe(e,G,t)}function Ip(e){return Oe(e,Y|G)}function bp(e,t){return t=typeof t=="function"?t:i,Oe(e,Y|G,t)}function Cp(e,t){return t==null||Zs(e,t,oe(t))}function qe(e,t){return e===t||e!==e&&t!==t}var Tp=lr(ri),Rp=lr(function(e,t){return e>=t}),Ot=ta(function(){return arguments}())?ta:function(e){return ee(e)&&z.call(e,"callee")&&!ks.call(e,"callee")},N=v.isArray,Fp=xs?xe(xs):$c;function _e(e){return e!=null&&_r(e.length)&&!ot(e)}function ne(e){return ee(e)&&_e(e)}function Pp(e){return e===!0||e===!1||ee(e)&&de(e)==nn}var St=Hl||Gi,Op=Es?xe(Es):Wc;function Lp(e){return ee(e)&&e.nodeType===1&&!An(e)}function Np(e){if(e==null)return!0;if(_e(e)&&(N(e)||typeof e=="string"||typeof e.splice=="function"||St(e)||Zt(e)||Ot(e)))return!e.length;var t=he(e);if(t==Me||t==Be)return!e.size;if(xn(e))return!ai(e).length;for(var n in e)if(z.call(e,n))return!1;return!0}function Up(e,t){return yn(e,t)}function Dp(e,t,n){n=typeof n=="function"?n:i;var r=n?n(e,t):i;return r===i?yn(e,t,i,n):!!r}function Oi(e){if(!ee(e))return!1;var t=de(e);return t==Fn||t==iu||typeof e.message=="string"&&typeof e.name=="string"&&!An(e)}function $p(e){return typeof e=="number"&&qs(e)}function ot(e){if(!Q(e))return!1;var t=de(e);return t==Pn||t==Ji||t==ru||t==au}function lo(e){return typeof e=="number"&&e==U(e)}function _r(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=ht}function Q(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function ee(e){return e!=null&&typeof e=="object"}var co=As?xe(As):Bc;function Wp(e,t){return e===t||si(e,t,xi(t))}function Mp(e,t,n){return n=typeof n=="function"?n:i,si(e,t,xi(t),n)}function Bp(e){return fo(e)&&e!=+e}function kp(e){if(Af(e))throw new O(A);return na(e)}function Gp(e){return e===null}function qp(e){return e==null}function fo(e){return typeof e=="number"||ee(e)&&de(e)==sn}function An(e){if(!ee(e)||de(e)!=et)return!1;var t=Kn(e);if(t===null)return!0;var n=z.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&kn.call(n)==Wl}var Li=Is?xe(Is):kc;function Hp(e){return lo(e)&&e>=-ht&&e<=ht}var ho=bs?xe(bs):Gc;function yr(e){return typeof e=="string"||!N(e)&&ee(e)&&de(e)==on}function Ae(e){return typeof e=="symbol"||ee(e)&&de(e)==On}var Zt=Cs?xe(Cs):qc;function Kp(e){return e===i}function zp(e){return ee(e)&&he(e)==un}function Vp(e){return ee(e)&&de(e)==uu}var Yp=lr(oi),Zp=lr(function(e,t){return e<=t});function po(e){if(!e)return[];if(_e(e))return yr(e)?ke(e):me(e);if(fn&&e[fn])return bl(e[fn]());var t=he(e),n=t==Me?Yr:t==Be?Wn:Jt;return n(e)}function ut(e){if(!e)return e===0?e:0;if(e=Ue(e),e===Et||e===-Et){var t=e<0?-1:1;return t*Qo}return e===e?e:0}function U(e){var t=ut(e),n=t%1;return t===t?n?t-n:t:0}function go(e){return e?Tt(U(e),0,ze):0}function Ue(e){if(typeof e=="number")return e;if(Ae(e))return Tn;if(Q(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=Q(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=Ls(e);var n=Ru.test(e);return n||Pu.test(e)?ll(e.slice(2),n?2:8):Tu.test(e)?Tn:+e}function vo(e){return Ye(e,ye(e))}function Jp(e){return e?Tt(U(e),-ht,ht):e===0?e:0}function K(e){return e==null?"":Ee(e)}var Xp=zt(function(e,t){if(xn(t)||_e(t)){Ye(t,oe(t),e);return}for(var n in t)z.call(t,n)&&vn(e,n,t[n])}),mo=zt(function(e,t){Ye(t,ye(t),e)}),wr=zt(function(e,t,n,r){Ye(t,ye(t),e,r)}),jp=zt(function(e,t,n,r){Ye(t,oe(t),e,r)}),Qp=st(ei);function ed(e,t){var n=Kt(e);return t==null?n:Ys(n,t)}var td=$(function(e,t){e=V(e);var n=-1,r=t.length,s=r>2?t[2]:i;for(s&&ge(t[0],t[1],s)&&(r=1);++n<r;)for(var u=t[n],c=ye(u),h=-1,g=c.length;++h<g;){var w=c[h],S=e[w];(S===i||qe(S,Gt[w])&&!z.call(e,w))&&(e[w]=u[w])}return e}),nd=$(function(e){return e.push(i,La),Se(_o,i,e)});function rd(e,t){return Rs(e,T(t,3),Ve)}function id(e,t){return Rs(e,T(t,3),ni)}function sd(e,t){return e==null?e:ti(e,T(t,3),ye)}function ad(e,t){return e==null?e:Qs(e,T(t,3),ye)}function od(e,t){return e&&Ve(e,T(t,3))}function ud(e,t){return e&&ni(e,T(t,3))}function ld(e){return e==null?[]:tr(e,oe(e))}function cd(e){return e==null?[]:tr(e,ye(e))}function Ni(e,t,n){var r=e==null?i:Rt(e,t);return r===i?n:r}function fd(e,t){return e!=null&&Da(e,t,Lc)}function Ui(e,t){return e!=null&&Da(e,t,Nc)}var hd=Ta(function(e,t,n){t!=null&&typeof t.toString!="function"&&(t=Gn.call(t)),e[t]=n},$i(we)),pd=Ta(function(e,t,n){t!=null&&typeof t.toString!="function"&&(t=Gn.call(t)),z.call(e,t)?e[t].push(n):e[t]=[n]},T),dd=$(_n);function oe(e){return _e(e)?zs(e):ai(e)}function ye(e){return _e(e)?zs(e,!0):Hc(e)}function gd(e,t){var n={};return t=T(t,3),Ve(e,function(r,s,u){rt(n,t(r,s,u),r)}),n}function vd(e,t){var n={};return t=T(t,3),Ve(e,function(r,s,u){rt(n,s,t(r,s,u))}),n}var md=zt(function(e,t,n){nr(e,t,n)}),_o=zt(function(e,t,n,r){nr(e,t,n,r)}),_d=st(function(e,t){var n={};if(e==null)return n;var r=!1;t=j(t,function(u){return u=yt(u,e),r||(r=u.length>1),u}),Ye(e,wi(e),n),r&&(n=Oe(n,Y|Ke|G,hf));for(var s=t.length;s--;)hi(n,t[s]);return n});function yd(e,t){return yo(e,mr(T(t)))}var wd=st(function(e,t){return e==null?{}:zc(e,t)});function yo(e,t){if(e==null)return{};var n=j(wi(e),function(r){return[r]});return t=T(t),la(e,n,function(r,s){return t(r,s[0])})}function Sd(e,t,n){t=yt(t,e);var r=-1,s=t.length;for(s||(s=1,e=i);++r<s;){var u=e==null?i:e[Ze(t[r])];u===i&&(r=s,u=n),e=ot(u)?u.call(e):u}return e}function xd(e,t,n){return e==null?e:wn(e,t,n)}function Ed(e,t,n,r){return r=typeof r=="function"?r:i,e==null?e:wn(e,t,n,r)}var wo=Pa(oe),So=Pa(ye);function Ad(e,t,n){var r=N(e),s=r||St(e)||Zt(e);if(t=T(t,4),n==null){var u=e&&e.constructor;s?n=r?new u:[]:Q(e)?n=ot(u)?Kt(Kn(e)):{}:n={}}return(s?Re:Ve)(e,function(c,h,g){return t(n,c,h,g)}),n}function Id(e,t){return e==null?!0:hi(e,t)}function bd(e,t,n){return e==null?e:da(e,t,gi(n))}function Cd(e,t,n,r){return r=typeof r=="function"?r:i,e==null?e:da(e,t,gi(n),r)}function Jt(e){return e==null?[]:Vr(e,oe(e))}function Td(e){return e==null?[]:Vr(e,ye(e))}function Rd(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=Ue(n),n=n===n?n:0),t!==i&&(t=Ue(t),t=t===t?t:0),Tt(Ue(e),t,n)}function Fd(e,t,n){return t=ut(t),n===i?(n=t,t=0):n=ut(n),e=Ue(e),Uc(e,t,n)}function Pd(e,t,n){if(n&&typeof n!="boolean"&&ge(e,t,n)&&(t=n=i),n===i&&(typeof t=="boolean"?(n=t,t=i):typeof e=="boolean"&&(n=e,e=i)),e===i&&t===i?(e=0,t=1):(e=ut(e),t===i?(t=e,e=0):t=ut(t)),e>t){var r=e;e=t,t=r}if(n||e%1||t%1){var s=Hs();return fe(e+s*(t-e+ul("1e-"+((s+"").length-1))),t)}return li(e,t)}var Od=Vt(function(e,t,n){return t=t.toLowerCase(),e+(n?xo(t):t)});function xo(e){return Di(K(e).toLowerCase())}function Eo(e){return e=K(e),e&&e.replace(Lu,Sl).replace(ju,"")}function Ld(e,t,n){e=K(e),t=Ee(t);var r=e.length;n=n===i?r:Tt(U(n),0,r);var s=n;return n-=t.length,n>=0&&e.slice(n,s)==t}function Nd(e){return e=K(e),e&&pu.test(e)?e.replace(Qi,xl):e}function Ud(e){return e=K(e),e&&yu.test(e)?e.replace(Pr,"\\$&"):e}var Dd=Vt(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),$d=Vt(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),Wd=Ia("toLowerCase");function Md(e,t,n){e=K(e),t=U(t);var r=t?Bt(e):0;if(!t||r>=t)return e;var s=(t-r)/2;return ur(Zn(s),n)+e+ur(Yn(s),n)}function Bd(e,t,n){e=K(e),t=U(t);var r=t?Bt(e):0;return t&&r<t?e+ur(t-r,n):e}function kd(e,t,n){e=K(e),t=U(t);var r=t?Bt(e):0;return t&&r<t?ur(t-r,n)+e:e}function Gd(e,t,n){return n||t==null?t=0:t&&(t=+t),Yl(K(e).replace(Or,""),t||0)}function qd(e,t,n){return(n?ge(e,t,n):t===i)?t=1:t=U(t),ci(K(e),t)}function Hd(){var e=arguments,t=K(e[0]);return e.length<3?t:t.replace(e[1],e[2])}var Kd=Vt(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()});function zd(e,t,n){return n&&typeof n!="number"&&ge(e,t,n)&&(t=n=i),n=n===i?ze:n>>>0,n?(e=K(e),e&&(typeof t=="string"||t!=null&&!Li(t))&&(t=Ee(t),!t&&Mt(e))?wt(ke(e),0,n):e.split(t,n)):[]}var Vd=Vt(function(e,t,n){return e+(n?" ":"")+Di(t)});function Yd(e,t,n){return e=K(e),n=n==null?0:Tt(U(n),0,e.length),t=Ee(t),e.slice(n,n+t.length)==t}function Zd(e,t,n){var r=o.templateSettings;n&&ge(e,t,n)&&(t=i),e=K(e),t=wr({},t,r,Oa);var s=wr({},t.imports,r.imports,Oa),u=oe(s),c=Vr(s,u),h,g,w=0,S=t.interpolate||Ln,x="__p += '",I=Zr((t.escape||Ln).source+"|"+S.source+"|"+(S===es?Cu:Ln).source+"|"+(t.evaluate||Ln).source+"|$","g"),C="//# sourceURL="+(z.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++rl+"]")+`
|
|
12
|
-
`;e.replace(
|
|
13
|
-
__e(`+
|
|
14
|
-
'`),
|
|
15
|
-
`+
|
|
16
|
-
__p += '`),
|
|
17
|
-
((__t = (`+
|
|
18
|
-
'`),w=
|
|
19
|
-
`;var
|
|
11
|
+
`)}function Sf(e){return O(e)||Nt(e)||!!(qs&&e&&e[qs])}function ut(e,t){var n=typeof e;return t=t??pt,!!t&&(n=="number"||n!="symbol"&&Lu.test(e))&&e>-1&&e%1==0&&e<t}function ve(e,t,n){if(!ne(n))return!1;var r=typeof t;return(r=="number"?_e(n)&&ut(t,n.length):r=="string"&&t in n)?Ve(n[t],e):!1}function bi(e,t){if(O(e))return!1;var n=typeof e;return n=="number"||n=="symbol"||n=="boolean"||e==null||Ce(e)?!0:mu.test(e)||!vu.test(e)||t!=null&&e in Z(t)}function xf(e){var t=typeof e;return t=="string"||t=="number"||t=="symbol"||t=="boolean"?e!=="__proto__":e===null}function Ti(e){var t=fr(e),n=o[t];if(typeof n!="function"||!(t in B.prototype))return!1;if(e===n)return!0;var r=Ii(n);return!!r&&e===r[0]}function If(e){return!!Ms&&Ms in e}var Ef=kn?lt:Hi;function In(e){var t=e&&e.constructor,n=typeof t=="function"&&t.prototype||zt;return e===n}function Ma(e){return e===e&&!ne(e)}function Ba(e,t){return function(n){return n==null?!1:n[e]===t&&(t!==i||e in Z(n))}}function Af(e){var t=mr(e,function(r){return n.size===te&&n.clear(),r}),n=t.cache;return t}function bf(e,t){var n=e[1],r=t[1],s=n|r,u=s<(xe|je|tt),c=r==tt&&n==Le||r==tt&&n==nn&&e[7].length<=t[8]||r==(tt|nn)&&t[7].length<=t[8]&&n==Le;if(!(u||c))return e;r&xe&&(e[2]=t[2],s|=n&xe?0:Cn);var h=t[3];if(h){var g=e[3];e[3]=g?xa(g,h,t[4]):h,e[4]=g?mt(e[3],X):t[4]}return h=t[5],h&&(g=e[5],e[5]=g?Ia(g,h,t[6]):h,e[6]=g?mt(e[5],X):t[6]),h=t[7],h&&(e[7]=h),r&tt&&(e[8]=e[8]==null?t[8]:he(e[8],t[8])),e[9]==null&&(e[9]=t[9]),e[0]=t[0],e[1]=s,e}function Tf(e){var t=[];if(e!=null)for(var n in Z(e))t.push(n);return t}function Cf(e){return qn.call(e)}function ka(e,t,n){return t=ue(t===i?e.length-1:t,0),function(){for(var r=arguments,s=-1,u=ue(r.length-t,0),c=m(u);++s<u;)c[s]=r[t+s];s=-1;for(var h=m(t+1);++s<t;)h[s]=r[s];return h[t]=n(c),Ae(e,this,h)}}function Ga(e,t){return t.length<2?e:Lt(e,We(t,0,-1))}function Ff(e,t){for(var n=e.length,r=he(t.length,n),s=ye(e);r--;){var u=t[r];e[r]=ut(u,n)?s[u]:i}return e}function Ci(e,t){if(!(t==="constructor"&&typeof e[t]=="function")&&t!="__proto__")return e[t]}var qa=za(ha),En=ql||function(e,t){return ce.setTimeout(e,t)},Fi=za(Jc);function Ha(e,t,n){var r=t+"";return Fi(e,wf(r,Rf(mf(r),n)))}function za(e){var t=0,n=0;return function(){var r=Vl(),s=jo-(r-n);if(n=r,s>0){if(++t>=Zo)return arguments[0]}else t=0;return e.apply(i,arguments)}}function dr(e,t){var n=-1,r=e.length,s=r-1;for(t=t===i?r:t;++n<t;){var u=fi(n,s),c=e[u];e[u]=e[n],e[n]=c}return e.length=t,e}var Ka=Af(function(e){var t=[];return e.charCodeAt(0)===46&&t.push(""),e.replace(yu,function(n,r,s,u){t.push(s?u.replace(bu,"$1"):r||n)}),t});function et(e){if(typeof e=="string"||Ce(e))return e;var t=e+"";return t=="0"&&1/e==-bt?"-0":t}function Ut(e){if(e!=null){try{return Gn.call(e)}catch{}try{return e+""}catch{}}return""}function Rf(e,t){return Ue(nu,function(n){var r="_."+n[0];t&n[1]&&!$n(e,r)&&e.push(r)}),e.sort()}function Va(e){if(e instanceof B)return e.clone();var t=new De(e.__wrapped__,e.__chain__);return t.__actions__=ye(e.__actions__),t.__index__=e.__index__,t.__values__=e.__values__,t}function Pf(e,t,n){(n?ve(e,t,n):t===i)?t=1:t=ue(U(t),0);var r=e==null?0:e.length;if(!r||t<1)return[];for(var s=0,u=0,c=m(Zn(r/t));s<r;)c[u++]=We(e,s,s+=t);return c}function Lf(e){for(var t=-1,n=e==null?0:e.length,r=0,s=[];++t<n;){var u=e[t];u&&(s[r++]=u)}return s}function Of(){var e=arguments.length;if(!e)return[];for(var t=m(e-1),n=arguments[0],r=e;r--;)t[r-1]=arguments[r];return vt(O(n)?ye(n):[n],fe(t,1))}var Uf=$(function(e,t){return se(e)?yn(e,fe(t,1,se,!0)):[]}),Nf=$(function(e,t){var n=Me(t);return se(n)&&(n=i),se(e)?yn(e,fe(t,1,se,!0),C(n,2)):[]}),Df=$(function(e,t){var n=Me(t);return se(n)&&(n=i),se(e)?yn(e,fe(t,1,se,!0),i,n):[]});function $f(e,t,n){var r=e==null?0:e.length;return r?(t=n||t===i?1:U(t),We(e,t<0?0:t,r)):[]}function Wf(e,t,n){var r=e==null?0:e.length;return r?(t=n||t===i?1:U(t),t=r-t,We(e,0,t<0?0:t)):[]}function Mf(e,t){return e&&e.length?sr(e,C(t,3),!0,!0):[]}function Bf(e,t){return e&&e.length?sr(e,C(t,3),!0):[]}function kf(e,t,n,r){var s=e==null?0:e.length;return s?(n&&typeof n!="number"&&ve(e,t,n)&&(n=0,r=s),Lc(e,t,n,r)):[]}function Ya(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var s=n==null?0:U(n);return s<0&&(s=ue(r+s,0)),Wn(e,C(t,3),s)}function Za(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var s=r-1;return n!==i&&(s=U(n),s=n<0?ue(r+s,0):he(s,r-1)),Wn(e,C(t,3),s,!0)}function ja(e){var t=e==null?0:e.length;return t?fe(e,1):[]}function Gf(e){var t=e==null?0:e.length;return t?fe(e,bt):[]}function qf(e,t){var n=e==null?0:e.length;return n?(t=t===i?1:U(t),fe(e,t)):[]}function Hf(e){for(var t=-1,n=e==null?0:e.length,r={};++t<n;){var s=e[t];r[s[0]]=s[1]}return r}function Ja(e){return e&&e.length?e[0]:i}function zf(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var s=n==null?0:U(n);return s<0&&(s=ue(r+s,0)),kt(e,t,s)}function Kf(e){var t=e==null?0:e.length;return t?We(e,0,-1):[]}var Vf=$(function(e){var t=Q(e,vi);return t.length&&t[0]===e[0]?ai(t):[]}),Yf=$(function(e){var t=Me(e),n=Q(e,vi);return t===Me(n)?t=i:n.pop(),n.length&&n[0]===e[0]?ai(n,C(t,2)):[]}),Zf=$(function(e){var t=Me(e),n=Q(e,vi);return t=typeof t=="function"?t:i,t&&n.pop(),n.length&&n[0]===e[0]?ai(n,i,t):[]});function jf(e,t){return e==null?"":zl.call(e,t)}function Me(e){var t=e==null?0:e.length;return t?e[t-1]:i}function Jf(e,t,n){var r=e==null?0:e.length;if(!r)return-1;var s=r;return n!==i&&(s=U(n),s=s<0?ue(r+s,0):he(s,r-1)),t===t?Fl(e,t,s):Wn(e,Ps,s,!0)}function Xf(e,t){return e&&e.length?ua(e,U(t)):i}var Qf=$(Xa);function Xa(e,t){return e&&e.length&&t&&t.length?ci(e,t):e}function eh(e,t,n){return e&&e.length&&t&&t.length?ci(e,t,C(n,2)):e}function th(e,t,n){return e&&e.length&&t&&t.length?ci(e,t,i,n):e}var nh=ot(function(e,t){var n=e==null?0:e.length,r=ni(e,t);return fa(e,Q(t,function(s){return ut(s,n)?+s:s}).sort(Sa)),r});function rh(e,t){var n=[];if(!(e&&e.length))return n;var r=-1,s=[],u=e.length;for(t=C(t,3);++r<u;){var c=e[r];t(c,r,e)&&(n.push(c),s.push(r))}return fa(e,s),n}function Ri(e){return e==null?e:Zl.call(e)}function ih(e,t,n){var r=e==null?0:e.length;return r?(n&&typeof n!="number"&&ve(e,t,n)?(t=0,n=r):(t=t==null?0:U(t),n=n===i?r:U(n)),We(e,t,n)):[]}function sh(e,t){return ir(e,t)}function ah(e,t,n){return di(e,t,C(n,2))}function oh(e,t){var n=e==null?0:e.length;if(n){var r=ir(e,t);if(r<n&&Ve(e[r],t))return r}return-1}function uh(e,t){return ir(e,t,!0)}function lh(e,t,n){return di(e,t,C(n,2),!0)}function ch(e,t){var n=e==null?0:e.length;if(n){var r=ir(e,t,!0)-1;if(Ve(e[r],t))return r}return-1}function fh(e){return e&&e.length?da(e):[]}function hh(e,t){return e&&e.length?da(e,C(t,2)):[]}function dh(e){var t=e==null?0:e.length;return t?We(e,1,t):[]}function ph(e,t,n){return e&&e.length?(t=n||t===i?1:U(t),We(e,0,t<0?0:t)):[]}function gh(e,t,n){var r=e==null?0:e.length;return r?(t=n||t===i?1:U(t),t=r-t,We(e,t<0?0:t,r)):[]}function vh(e,t){return e&&e.length?sr(e,C(t,3),!1,!0):[]}function mh(e,t){return e&&e.length?sr(e,C(t,3)):[]}var yh=$(function(e){return wt(fe(e,1,se,!0))}),_h=$(function(e){var t=Me(e);return se(t)&&(t=i),wt(fe(e,1,se,!0),C(t,2))}),wh=$(function(e){var t=Me(e);return t=typeof t=="function"?t:i,wt(fe(e,1,se,!0),i,t)});function Sh(e){return e&&e.length?wt(e):[]}function xh(e,t){return e&&e.length?wt(e,C(t,2)):[]}function Ih(e,t){return t=typeof t=="function"?t:i,e&&e.length?wt(e,i,t):[]}function Pi(e){if(!(e&&e.length))return[];var t=0;return e=gt(e,function(n){if(se(n))return t=ue(n.length,t),!0}),Yr(t,function(n){return Q(e,zr(n))})}function Qa(e,t){if(!(e&&e.length))return[];var n=Pi(e);return t==null?n:Q(n,function(r){return Ae(t,i,r)})}var Eh=$(function(e,t){return se(e)?yn(e,t):[]}),Ah=$(function(e){return gi(gt(e,se))}),bh=$(function(e){var t=Me(e);return se(t)&&(t=i),gi(gt(e,se),C(t,2))}),Th=$(function(e){var t=Me(e);return t=typeof t=="function"?t:i,gi(gt(e,se),i,t)}),Ch=$(Pi);function Fh(e,t){return ma(e||[],t||[],mn)}function Rh(e,t){return ma(e||[],t||[],Sn)}var Ph=$(function(e){var t=e.length,n=t>1?e[t-1]:i;return n=typeof n=="function"?(e.pop(),n):i,Qa(e,n)});function eo(e){var t=o(e);return t.__chain__=!0,t}function Lh(e,t){return t(e),e}function pr(e,t){return t(e)}var Oh=ot(function(e){var t=e.length,n=t?e[0]:0,r=this.__wrapped__,s=function(u){return ni(u,e)};return t>1||this.__actions__.length||!(r instanceof B)||!ut(n)?this.thru(s):(r=r.slice(n,+n+(t?1:0)),r.__actions__.push({func:pr,args:[s],thisArg:i}),new De(r,this.__chain__).thru(function(u){return t&&!u.length&&u.push(i),u}))});function Uh(){return eo(this)}function Nh(){return new De(this.value(),this.__chain__)}function Dh(){this.__values__===i&&(this.__values__=go(this.value()));var e=this.__index__>=this.__values__.length,t=e?i:this.__values__[this.__index__++];return{done:e,value:t}}function $h(){return this}function Wh(e){for(var t,n=this;n instanceof Qn;){var r=Va(n);r.__index__=0,r.__values__=i,t?s.__wrapped__=r:t=r;var s=r;n=n.__wrapped__}return s.__wrapped__=e,t}function Mh(){var e=this.__wrapped__;if(e instanceof B){var t=e;return this.__actions__.length&&(t=new B(this)),t=t.reverse(),t.__actions__.push({func:pr,args:[Ri],thisArg:i}),new De(t,this.__chain__)}return this.thru(Ri)}function Bh(){return va(this.__wrapped__,this.__actions__)}var kh=ar(function(e,t,n){Y.call(e,n)?++e[n]:st(e,n,1)});function Gh(e,t,n){var r=O(e)?Fs:Pc;return n&&ve(e,t,n)&&(t=i),r(e,C(t,3))}function qh(e,t){var n=O(e)?gt:Qs;return n(e,C(t,3))}var Hh=Ta(Ya),zh=Ta(Za);function Kh(e,t){return fe(gr(e,t),1)}function Vh(e,t){return fe(gr(e,t),bt)}function Yh(e,t,n){return n=n===i?1:U(n),fe(gr(e,t),n)}function to(e,t){var n=O(e)?Ue:_t;return n(e,C(t,3))}function no(e,t){var n=O(e)?hl:Xs;return n(e,C(t,3))}var Zh=ar(function(e,t,n){Y.call(e,n)?e[n].push(t):st(e,n,[t])});function jh(e,t,n,r){e=_e(e)?e:Qt(e),n=n&&!r?U(n):0;var s=e.length;return n<0&&(n=ue(s+n,0)),wr(e)?n<=s&&e.indexOf(t,n)>-1:!!s&&kt(e,t,n)>-1}var Jh=$(function(e,t,n){var r=-1,s=typeof t=="function",u=_e(e)?m(e.length):[];return _t(e,function(c){u[++r]=s?Ae(t,c,n):_n(c,t,n)}),u}),Xh=ar(function(e,t,n){st(e,n,t)});function gr(e,t){var n=O(e)?Q:sa;return n(e,C(t,3))}function Qh(e,t,n,r){return e==null?[]:(O(t)||(t=t==null?[]:[t]),n=r?i:n,O(n)||(n=n==null?[]:[n]),la(e,t,n))}var ed=ar(function(e,t,n){e[n?0:1].push(t)},function(){return[[],[]]});function td(e,t,n){var r=O(e)?qr:Os,s=arguments.length<3;return r(e,C(t,4),n,s,_t)}function nd(e,t,n){var r=O(e)?dl:Os,s=arguments.length<3;return r(e,C(t,4),n,s,Xs)}function rd(e,t){var n=O(e)?gt:Qs;return n(e,yr(C(t,3)))}function id(e){var t=O(e)?Ys:Zc;return t(e)}function sd(e,t,n){(n?ve(e,t,n):t===i)?t=1:t=U(t);var r=O(e)?bc:jc;return r(e,t)}function ad(e){var t=O(e)?Tc:Xc;return t(e)}function od(e){if(e==null)return 0;if(_e(e))return wr(e)?qt(e):e.length;var t=de(e);return t==qe||t==He?e.size:ui(e).length}function ud(e,t,n){var r=O(e)?Hr:Qc;return n&&ve(e,t,n)&&(t=i),r(e,C(t,3))}var ld=$(function(e,t){if(e==null)return[];var n=t.length;return n>1&&ve(e,t[0],t[1])?t=[]:n>2&&ve(t[0],t[1],t[2])&&(t=[t[0]]),la(e,fe(t,1),[])}),vr=Gl||function(){return ce.Date.now()};function cd(e,t){if(typeof t!="function")throw new Ne(I);return e=U(e),function(){if(--e<1)return t.apply(this,arguments)}}function ro(e,t,n){return t=n?i:t,t=e&&t==null?e.length:t,at(e,tt,i,i,i,i,t)}function io(e,t){var n;if(typeof t!="function")throw new Ne(I);return e=U(e),function(){return--e>0&&(n=t.apply(this,arguments)),e<=1&&(t=i),n}}var Li=$(function(e,t,n){var r=xe;if(n.length){var s=mt(n,Jt(Li));r|=Ie}return at(e,r,t,n,s)}),so=$(function(e,t,n){var r=xe|je;if(n.length){var s=mt(n,Jt(so));r|=Ie}return at(t,r,e,n,s)});function ao(e,t,n){t=n?i:t;var r=at(e,Le,i,i,i,i,i,t);return r.placeholder=ao.placeholder,r}function oo(e,t,n){t=n?i:t;var r=at(e,At,i,i,i,i,i,t);return r.placeholder=oo.placeholder,r}function uo(e,t,n){var r,s,u,c,h,g,w=0,S=!1,x=!1,A=!0;if(typeof e!="function")throw new Ne(I);t=Be(t)||0,ne(n)&&(S=!!n.leading,x="maxWait"in n,u=x?ue(Be(n.maxWait)||0,t):u,A="trailing"in n?!!n.trailing:A);function T(ae){var Ye=r,ft=s;return r=s=i,w=ae,c=e.apply(ft,Ye),c}function F(ae){return w=ae,h=En(M,t),S?T(ae):c}function D(ae){var Ye=ae-g,ft=ae-w,Co=t-Ye;return x?he(Co,u-ft):Co}function R(ae){var Ye=ae-g,ft=ae-w;return g===i||Ye>=t||Ye<0||x&&ft>=u}function M(){var ae=vr();if(R(ae))return G(ae);h=En(M,D(ae))}function G(ae){return h=i,A&&r?T(ae):(r=s=i,c)}function Fe(){h!==i&&ya(h),w=0,r=g=s=h=i}function me(){return h===i?c:G(vr())}function Re(){var ae=vr(),Ye=R(ae);if(r=arguments,s=this,g=ae,Ye){if(h===i)return F(g);if(x)return ya(h),h=En(M,t),T(g)}return h===i&&(h=En(M,t)),c}return Re.cancel=Fe,Re.flush=me,Re}var fd=$(function(e,t){return Js(e,1,t)}),hd=$(function(e,t,n){return Js(e,Be(t)||0,n)});function dd(e){return at(e,Ir)}function mr(e,t){if(typeof e!="function"||t!=null&&typeof t!="function")throw new Ne(I);var n=function(){var r=arguments,s=t?t.apply(this,r):r[0],u=n.cache;if(u.has(s))return u.get(s);var c=e.apply(this,r);return n.cache=u.set(s,c)||u,c};return n.cache=new(mr.Cache||it),n}mr.Cache=it;function yr(e){if(typeof e!="function")throw new Ne(I);return function(){var t=arguments;switch(t.length){case 0:return!e.call(this);case 1:return!e.call(this,t[0]);case 2:return!e.call(this,t[0],t[1]);case 3:return!e.call(this,t[0],t[1],t[2])}return!e.apply(this,t)}}function pd(e){return io(2,e)}var gd=ef(function(e,t){t=t.length==1&&O(t[0])?Q(t[0],be(C())):Q(fe(t,1),be(C()));var n=t.length;return $(function(r){for(var s=-1,u=he(r.length,n);++s<u;)r[s]=t[s].call(this,r[s]);return Ae(e,this,r)})}),Oi=$(function(e,t){var n=mt(t,Jt(Oi));return at(e,Ie,i,t,n)}),lo=$(function(e,t){var n=mt(t,Jt(lo));return at(e,Ee,i,t,n)}),vd=ot(function(e,t){return at(e,nn,i,i,i,t)});function md(e,t){if(typeof e!="function")throw new Ne(I);return t=t===i?t:U(t),$(e,t)}function yd(e,t){if(typeof e!="function")throw new Ne(I);return t=t==null?0:ue(U(t),0),$(function(n){var r=n[t],s=xt(n,0,t);return r&&vt(s,r),Ae(e,this,s)})}function _d(e,t,n){var r=!0,s=!0;if(typeof e!="function")throw new Ne(I);return ne(n)&&(r="leading"in n?!!n.leading:r,s="trailing"in n?!!n.trailing:s),uo(e,t,{leading:r,maxWait:t,trailing:s})}function wd(e){return ro(e,1)}function Sd(e,t){return Oi(mi(t),e)}function xd(){if(!arguments.length)return[];var e=arguments[0];return O(e)?e:[e]}function Id(e){return $e(e,k)}function Ed(e,t){return t=typeof t=="function"?t:i,$e(e,k,t)}function Ad(e){return $e(e,K|k)}function bd(e,t){return t=typeof t=="function"?t:i,$e(e,K|k,t)}function Td(e,t){return t==null||js(e,t,le(t))}function Ve(e,t){return e===t||e!==e&&t!==t}var Cd=cr(si),Fd=cr(function(e,t){return e>=t}),Nt=na(function(){return arguments}())?na:function(e){return ie(e)&&Y.call(e,"callee")&&!Gs.call(e,"callee")},O=m.isArray,Rd=Is?be(Is):$c;function _e(e){return e!=null&&_r(e.length)&&!lt(e)}function se(e){return ie(e)&&_e(e)}function Pd(e){return e===!0||e===!1||ie(e)&&ge(e)==rn}var It=Hl||Hi,Ld=Es?be(Es):Wc;function Od(e){return ie(e)&&e.nodeType===1&&!An(e)}function Ud(e){if(e==null)return!0;if(_e(e)&&(O(e)||typeof e=="string"||typeof e.splice=="function"||It(e)||Xt(e)||Nt(e)))return!e.length;var t=de(e);if(t==qe||t==He)return!e.size;if(In(e))return!ui(e).length;for(var n in e)if(Y.call(e,n))return!1;return!0}function Nd(e,t){return wn(e,t)}function Dd(e,t,n){n=typeof n=="function"?n:i;var r=n?n(e,t):i;return r===i?wn(e,t,i,n):!!r}function Ui(e){if(!ie(e))return!1;var t=ge(e);return t==Pn||t==iu||typeof e.message=="string"&&typeof e.name=="string"&&!An(e)}function $d(e){return typeof e=="number"&&Hs(e)}function lt(e){if(!ne(e))return!1;var t=ge(e);return t==Ln||t==Ji||t==ru||t==au}function co(e){return typeof e=="number"&&e==U(e)}function _r(e){return typeof e=="number"&&e>-1&&e%1==0&&e<=pt}function ne(e){var t=typeof e;return e!=null&&(t=="object"||t=="function")}function ie(e){return e!=null&&typeof e=="object"}var fo=As?be(As):Bc;function Wd(e,t){return e===t||oi(e,t,Ei(t))}function Md(e,t,n){return n=typeof n=="function"?n:i,oi(e,t,Ei(t),n)}function Bd(e){return ho(e)&&e!=+e}function kd(e){if(Ef(e))throw new L(E);return ra(e)}function Gd(e){return e===null}function qd(e){return e==null}function ho(e){return typeof e=="number"||ie(e)&&ge(e)==an}function An(e){if(!ie(e)||ge(e)!=nt)return!1;var t=Kn(e);if(t===null)return!0;var n=Y.call(t,"constructor")&&t.constructor;return typeof n=="function"&&n instanceof n&&Gn.call(n)==Wl}var Ni=bs?be(bs):kc;function Hd(e){return co(e)&&e>=-pt&&e<=pt}var po=Ts?be(Ts):Gc;function wr(e){return typeof e=="string"||!O(e)&&ie(e)&&ge(e)==un}function Ce(e){return typeof e=="symbol"||ie(e)&&ge(e)==On}var Xt=Cs?be(Cs):qc;function zd(e){return e===i}function Kd(e){return ie(e)&&de(e)==ln}function Vd(e){return ie(e)&&ge(e)==uu}var Yd=cr(li),Zd=cr(function(e,t){return e<=t});function go(e){if(!e)return[];if(_e(e))return wr(e)?ze(e):ye(e);if(hn&&e[hn])return bl(e[hn]());var t=de(e),n=t==qe?jr:t==He?Mn:Qt;return n(e)}function ct(e){if(!e)return e===0?e:0;if(e=Be(e),e===bt||e===-bt){var t=e<0?-1:1;return t*Qo}return e===e?e:0}function U(e){var t=ct(e),n=t%1;return t===t?n?t-n:t:0}function vo(e){return e?Pt(U(e),0,Je):0}function Be(e){if(typeof e=="number")return e;if(Ce(e))return Fn;if(ne(e)){var t=typeof e.valueOf=="function"?e.valueOf():e;e=ne(t)?t+"":t}if(typeof e!="string")return e===0?e:+e;e=Us(e);var n=Fu.test(e);return n||Pu.test(e)?ll(e.slice(2),n?2:8):Cu.test(e)?Fn:+e}function mo(e){return Qe(e,we(e))}function jd(e){return e?Pt(U(e),-pt,pt):e===0?e:0}function V(e){return e==null?"":Te(e)}var Jd=Zt(function(e,t){if(In(t)||_e(t)){Qe(t,le(t),e);return}for(var n in t)Y.call(t,n)&&mn(e,n,t[n])}),yo=Zt(function(e,t){Qe(t,we(t),e)}),Sr=Zt(function(e,t,n,r){Qe(t,we(t),e,r)}),Xd=Zt(function(e,t,n,r){Qe(t,le(t),e,r)}),Qd=ot(ni);function ep(e,t){var n=Yt(e);return t==null?n:Zs(n,t)}var tp=$(function(e,t){e=Z(e);var n=-1,r=t.length,s=r>2?t[2]:i;for(s&&ve(t[0],t[1],s)&&(r=1);++n<r;)for(var u=t[n],c=we(u),h=-1,g=c.length;++h<g;){var w=c[h],S=e[w];(S===i||Ve(S,zt[w])&&!Y.call(e,w))&&(e[w]=u[w])}return e}),np=$(function(e){return e.push(i,Ua),Ae(_o,i,e)});function rp(e,t){return Rs(e,C(t,3),Xe)}function ip(e,t){return Rs(e,C(t,3),ii)}function sp(e,t){return e==null?e:ri(e,C(t,3),we)}function ap(e,t){return e==null?e:ea(e,C(t,3),we)}function op(e,t){return e&&Xe(e,C(t,3))}function up(e,t){return e&&ii(e,C(t,3))}function lp(e){return e==null?[]:nr(e,le(e))}function cp(e){return e==null?[]:nr(e,we(e))}function Di(e,t,n){var r=e==null?i:Lt(e,t);return r===i?n:r}function fp(e,t){return e!=null&&$a(e,t,Oc)}function $i(e,t){return e!=null&&$a(e,t,Uc)}var hp=Fa(function(e,t,n){t!=null&&typeof t.toString!="function"&&(t=qn.call(t)),e[t]=n},Mi(Se)),dp=Fa(function(e,t,n){t!=null&&typeof t.toString!="function"&&(t=qn.call(t)),Y.call(e,t)?e[t].push(n):e[t]=[n]},C),pp=$(_n);function le(e){return _e(e)?Vs(e):ui(e)}function we(e){return _e(e)?Vs(e,!0):Hc(e)}function gp(e,t){var n={};return t=C(t,3),Xe(e,function(r,s,u){st(n,t(r,s,u),r)}),n}function vp(e,t){var n={};return t=C(t,3),Xe(e,function(r,s,u){st(n,s,t(r,s,u))}),n}var mp=Zt(function(e,t,n){rr(e,t,n)}),_o=Zt(function(e,t,n,r){rr(e,t,n,r)}),yp=ot(function(e,t){var n={};if(e==null)return n;var r=!1;t=Q(t,function(u){return u=St(u,e),r||(r=u.length>1),u}),Qe(e,xi(e),n),r&&(n=$e(n,K|Ze|k,hf));for(var s=t.length;s--;)pi(n,t[s]);return n});function _p(e,t){return wo(e,yr(C(t)))}var wp=ot(function(e,t){return e==null?{}:Kc(e,t)});function wo(e,t){if(e==null)return{};var n=Q(xi(e),function(r){return[r]});return t=C(t),ca(e,n,function(r,s){return t(r,s[0])})}function Sp(e,t,n){t=St(t,e);var r=-1,s=t.length;for(s||(s=1,e=i);++r<s;){var u=e==null?i:e[et(t[r])];u===i&&(r=s,u=n),e=lt(u)?u.call(e):u}return e}function xp(e,t,n){return e==null?e:Sn(e,t,n)}function Ip(e,t,n,r){return r=typeof r=="function"?r:i,e==null?e:Sn(e,t,n,r)}var So=La(le),xo=La(we);function Ep(e,t,n){var r=O(e),s=r||It(e)||Xt(e);if(t=C(t,4),n==null){var u=e&&e.constructor;s?n=r?new u:[]:ne(e)?n=lt(u)?Yt(Kn(e)):{}:n={}}return(s?Ue:Xe)(e,function(c,h,g){return t(n,c,h,g)}),n}function Ap(e,t){return e==null?!0:pi(e,t)}function bp(e,t,n){return e==null?e:ga(e,t,mi(n))}function Tp(e,t,n,r){return r=typeof r=="function"?r:i,e==null?e:ga(e,t,mi(n),r)}function Qt(e){return e==null?[]:Zr(e,le(e))}function Cp(e){return e==null?[]:Zr(e,we(e))}function Fp(e,t,n){return n===i&&(n=t,t=i),n!==i&&(n=Be(n),n=n===n?n:0),t!==i&&(t=Be(t),t=t===t?t:0),Pt(Be(e),t,n)}function Rp(e,t,n){return t=ct(t),n===i?(n=t,t=0):n=ct(n),e=Be(e),Nc(e,t,n)}function Pp(e,t,n){if(n&&typeof n!="boolean"&&ve(e,t,n)&&(t=n=i),n===i&&(typeof t=="boolean"?(n=t,t=i):typeof e=="boolean"&&(n=e,e=i)),e===i&&t===i?(e=0,t=1):(e=ct(e),t===i?(t=e,e=0):t=ct(t)),e>t){var r=e;e=t,t=r}if(n||e%1||t%1){var s=zs();return he(e+s*(t-e+ul("1e-"+((s+"").length-1))),t)}return fi(e,t)}var Lp=jt(function(e,t,n){return t=t.toLowerCase(),e+(n?Io(t):t)});function Io(e){return Wi(V(e).toLowerCase())}function Eo(e){return e=V(e),e&&e.replace(Ou,Sl).replace(Xu,"")}function Op(e,t,n){e=V(e),t=Te(t);var r=e.length;n=n===i?r:Pt(U(n),0,r);var s=n;return n-=t.length,n>=0&&e.slice(n,s)==t}function Up(e){return e=V(e),e&&du.test(e)?e.replace(es,xl):e}function Np(e){return e=V(e),e&&_u.test(e)?e.replace(Or,"\\$&"):e}var Dp=jt(function(e,t,n){return e+(n?"-":"")+t.toLowerCase()}),$p=jt(function(e,t,n){return e+(n?" ":"")+t.toLowerCase()}),Wp=ba("toLowerCase");function Mp(e,t,n){e=V(e),t=U(t);var r=t?qt(e):0;if(!t||r>=t)return e;var s=(t-r)/2;return lr(jn(s),n)+e+lr(Zn(s),n)}function Bp(e,t,n){e=V(e),t=U(t);var r=t?qt(e):0;return t&&r<t?e+lr(t-r,n):e}function kp(e,t,n){e=V(e),t=U(t);var r=t?qt(e):0;return t&&r<t?lr(t-r,n)+e:e}function Gp(e,t,n){return n||t==null?t=0:t&&(t=+t),Yl(V(e).replace(Ur,""),t||0)}function qp(e,t,n){return(n?ve(e,t,n):t===i)?t=1:t=U(t),hi(V(e),t)}function Hp(){var e=arguments,t=V(e[0]);return e.length<3?t:t.replace(e[1],e[2])}var zp=jt(function(e,t,n){return e+(n?"_":"")+t.toLowerCase()});function Kp(e,t,n){return n&&typeof n!="number"&&ve(e,t,n)&&(t=n=i),n=n===i?Je:n>>>0,n?(e=V(e),e&&(typeof t=="string"||t!=null&&!Ni(t))&&(t=Te(t),!t&&Gt(e))?xt(ze(e),0,n):e.split(t,n)):[]}var Vp=jt(function(e,t,n){return e+(n?" ":"")+Wi(t)});function Yp(e,t,n){return e=V(e),n=n==null?0:Pt(U(n),0,e.length),t=Te(t),e.slice(n,n+t.length)==t}function Zp(e,t,n){var r=o.templateSettings;n&&ve(e,t,n)&&(t=i),e=V(e),t=Sr({},t,r,Oa);var s=Sr({},t.imports,r.imports,Oa),u=le(s),c=Zr(s,u),h,g,w=0,S=t.interpolate||Un,x="__p += '",A=Jr((t.escape||Un).source+"|"+S.source+"|"+(S===ts?Tu:Un).source+"|"+(t.evaluate||Un).source+"|$","g"),T="//# sourceURL="+(Y.call(t,"sourceURL")?(t.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++rl+"]")+`
|
|
12
|
+
`;e.replace(A,function(R,M,G,Fe,me,Re){return G||(G=Fe),x+=e.slice(w,Re).replace(Uu,Il),M&&(h=!0,x+=`' +
|
|
13
|
+
__e(`+M+`) +
|
|
14
|
+
'`),me&&(g=!0,x+=`';
|
|
15
|
+
`+me+`;
|
|
16
|
+
__p += '`),G&&(x+=`' +
|
|
17
|
+
((__t = (`+G+`)) == null ? '' : __t) +
|
|
18
|
+
'`),w=Re+R.length,R}),x+=`';
|
|
19
|
+
`;var F=Y.call(t,"variable")&&t.variable;if(!F)x=`with (obj) {
|
|
20
20
|
`+x+`
|
|
21
21
|
}
|
|
22
|
-
`;else if(
|
|
23
|
-
`+(
|
|
22
|
+
`;else if(Au.test(F))throw new L(N);x=(g?x.replace(lu,""):x).replace(cu,"$1").replace(fu,"$1;"),x="function("+(F||"obj")+`) {
|
|
23
|
+
`+(F?"":`obj || (obj = {});
|
|
24
24
|
`)+"var __t, __p = ''"+(h?", __e = _.escape":"")+(g?`, __j = Array.prototype.join;
|
|
25
25
|
function print() { __p += __j.call(arguments, '') }
|
|
26
26
|
`:`;
|
|
27
27
|
`)+x+`return __p
|
|
28
|
-
}`;var D=Io(function(){return H(u,C+"return "+x).apply(i,c)});if(D.source=x,Oi(D))throw D;return D}function Jd(e){return K(e).toLowerCase()}function Xd(e){return K(e).toUpperCase()}function jd(e,t,n){if(e=K(e),e&&(n||t===i))return Ls(e);if(!e||!(t=Ee(t)))return e;var r=ke(e),s=ke(t),u=Ns(r,s),c=Us(r,s)+1;return wt(r,u,c).join("")}function Qd(e,t,n){if(e=K(e),e&&(n||t===i))return e.slice(0,$s(e)+1);if(!e||!(t=Ee(t)))return e;var r=ke(e),s=Us(r,ke(t))+1;return wt(r,0,s).join("")}function eg(e,t,n){if(e=K(e),e&&(n||t===i))return e.replace(Or,"");if(!e||!(t=Ee(t)))return e;var r=ke(e),s=Ns(r,ke(t));return wt(r,s).join("")}function tg(e,t){var n=Vo,r=Yo;if(Q(t)){var s="separator"in t?t.separator:s;n="length"in t?U(t.length):n,r="omission"in t?Ee(t.omission):r}e=K(e);var u=e.length;if(Mt(e)){var c=ke(e);u=c.length}if(n>=u)return e;var h=n-Bt(r);if(h<1)return r;var g=c?wt(c,0,h).join(""):e.slice(0,h);if(s===i)return g+r;if(c&&(h+=g.length-h),Li(s)){if(e.slice(h).search(s)){var w,S=g;for(s.global||(s=Zr(s.source,K(ts.exec(s))+"g")),s.lastIndex=0;w=s.exec(S);)var x=w.index;g=g.slice(0,x===i?h:x)}}else if(e.indexOf(Ee(s),h)!=h){var I=g.lastIndexOf(s);I>-1&&(g=g.slice(0,I))}return g+r}function ng(e){return e=K(e),e&&hu.test(e)?e.replace(ji,Fl):e}var rg=Vt(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),Di=Ia("toUpperCase");function Ao(e,t,n){return e=K(e),t=n?i:t,t===i?Il(e)?Ll(e):vl(e):e.match(t)||[]}var Io=$(function(e,t){try{return Se(e,i,t)}catch(n){return Oi(n)?n:new O(n)}}),ig=st(function(e,t){return Re(t,function(n){n=Ze(n),rt(e,n,Fi(e[n],e))}),e});function sg(e){var t=e==null?0:e.length,n=T();return e=t?j(e,function(r){if(typeof r[1]!="function")throw new Fe(E);return[n(r[0]),r[1]]}):[],$(function(r){for(var s=-1;++s<t;){var u=e[s];if(Se(u[0],this,r))return Se(u[1],this,r)}})}function ag(e){return Fc(Oe(e,Y))}function $i(e){return function(){return e}}function og(e,t){return e==null||e!==e?t:e}var ug=Ca(),lg=Ca(!0);function we(e){return e}function Wi(e){return ra(typeof e=="function"?e:Oe(e,Y))}function cg(e){return sa(Oe(e,Y))}function fg(e,t){return aa(e,Oe(t,Y))}var hg=$(function(e,t){return function(n){return _n(n,e,t)}}),pg=$(function(e,t){return function(n){return _n(e,n,t)}});function Mi(e,t,n){var r=oe(t),s=tr(t,r);n==null&&!(Q(t)&&(s.length||!r.length))&&(n=t,t=e,e=this,s=tr(t,oe(t)));var u=!(Q(n)&&"chain"in n)||!!n.chain,c=ot(e);return Re(s,function(h){var g=t[h];e[h]=g,c&&(e.prototype[h]=function(){var w=this.__chain__;if(u||w){var S=e(this.__wrapped__),x=S.__actions__=me(this.__actions__);return x.push({func:g,args:arguments,thisArg:e}),S.__chain__=w,S}return g.apply(e,dt([this.value()],arguments))})}),e}function dg(){return le._===this&&(le._=Ml),this}function Bi(){}function gg(e){return e=U(e),$(function(t){return oa(t,e)})}var vg=mi(j),mg=mi(Ts),_g=mi(Gr);function bo(e){return Ai(e)?qr(Ze(e)):Vc(e)}function yg(e){return function(t){return e==null?i:Rt(e,t)}}var wg=Ra(),Sg=Ra(!0);function ki(){return[]}function Gi(){return!1}function xg(){return{}}function Eg(){return""}function Ag(){return!0}function Ig(e,t){if(e=U(e),e<1||e>ht)return[];var n=ze,r=fe(e,ze);t=T(t),e-=ze;for(var s=zr(r,t);++n<e;)t(n);return s}function bg(e){return N(e)?j(e,Ze):Ae(e)?[e]:me(Ka(K(e)))}function Cg(e){var t=++$l;return K(e)+t}var Tg=or(function(e,t){return e+t},0),Rg=_i("ceil"),Fg=or(function(e,t){return e/t},1),Pg=_i("floor");function Og(e){return e&&e.length?er(e,we,ri):i}function Lg(e,t){return e&&e.length?er(e,T(t,2),ri):i}function Ng(e){return Ps(e,we)}function Ug(e,t){return Ps(e,T(t,2))}function Dg(e){return e&&e.length?er(e,we,oi):i}function $g(e,t){return e&&e.length?er(e,T(t,2),oi):i}var Wg=or(function(e,t){return e*t},1),Mg=_i("round"),Bg=or(function(e,t){return e-t},0);function kg(e){return e&&e.length?Kr(e,we):0}function Gg(e,t){return e&&e.length?Kr(e,T(t,2)):0}return o.after=cp,o.ary=no,o.assign=Xp,o.assignIn=mo,o.assignInWith=wr,o.assignWith=jp,o.at=Qp,o.before=ro,o.bind=Fi,o.bindAll=ig,o.bindKey=io,o.castArray=xp,o.chain=Qa,o.chunk=Pf,o.compact=Of,o.concat=Lf,o.cond=sg,o.conforms=ag,o.constant=$i,o.countBy=kh,o.create=ed,o.curry=so,o.curryRight=ao,o.debounce=oo,o.defaults=td,o.defaultsDeep=nd,o.defer=fp,o.delay=hp,o.difference=Nf,o.differenceBy=Uf,o.differenceWith=Df,o.drop=$f,o.dropRight=Wf,o.dropRightWhile=Mf,o.dropWhile=Bf,o.fill=kf,o.filter=qh,o.flatMap=zh,o.flatMapDeep=Vh,o.flatMapDepth=Yh,o.flatten=Za,o.flattenDeep=Gf,o.flattenDepth=qf,o.flip=pp,o.flow=ug,o.flowRight=lg,o.fromPairs=Hf,o.functions=ld,o.functionsIn=cd,o.groupBy=Zh,o.initial=zf,o.intersection=Vf,o.intersectionBy=Yf,o.intersectionWith=Zf,o.invert=hd,o.invertBy=pd,o.invokeMap=Xh,o.iteratee=Wi,o.keyBy=jh,o.keys=oe,o.keysIn=ye,o.map=dr,o.mapKeys=gd,o.mapValues=vd,o.matches=cg,o.matchesProperty=fg,o.memoize=vr,o.merge=md,o.mergeWith=_o,o.method=hg,o.methodOf=pg,o.mixin=Mi,o.negate=mr,o.nthArg=gg,o.omit=_d,o.omitBy=yd,o.once=dp,o.orderBy=Qh,o.over=vg,o.overArgs=gp,o.overEvery=mg,o.overSome=_g,o.partial=Pi,o.partialRight=uo,o.partition=ep,o.pick=wd,o.pickBy=yo,o.property=bo,o.propertyOf=yg,o.pull=Qf,o.pullAll=Xa,o.pullAllBy=eh,o.pullAllWith=th,o.pullAt=nh,o.range=wg,o.rangeRight=Sg,o.rearg=vp,o.reject=rp,o.remove=rh,o.rest=mp,o.reverse=Ti,o.sampleSize=sp,o.set=xd,o.setWith=Ed,o.shuffle=ap,o.slice=ih,o.sortBy=lp,o.sortedUniq=fh,o.sortedUniqBy=hh,o.split=zd,o.spread=_p,o.tail=ph,o.take=dh,o.takeRight=gh,o.takeRightWhile=vh,o.takeWhile=mh,o.tap=Oh,o.throttle=yp,o.thru=pr,o.toArray=po,o.toPairs=wo,o.toPairsIn=So,o.toPath=bg,o.toPlainObject=vo,o.transform=Ad,o.unary=wp,o.union=_h,o.unionBy=yh,o.unionWith=wh,o.uniq=Sh,o.uniqBy=xh,o.uniqWith=Eh,o.unset=Id,o.unzip=Ri,o.unzipWith=ja,o.update=bd,o.updateWith=Cd,o.values=Jt,o.valuesIn=Td,o.without=Ah,o.words=Ao,o.wrap=Sp,o.xor=Ih,o.xorBy=bh,o.xorWith=Ch,o.zip=Th,o.zipObject=Rh,o.zipObjectDeep=Fh,o.zipWith=Ph,o.entries=wo,o.entriesIn=So,o.extend=mo,o.extendWith=wr,Mi(o,o),o.add=Tg,o.attempt=Io,o.camelCase=Od,o.capitalize=xo,o.ceil=Rg,o.clamp=Rd,o.clone=Ep,o.cloneDeep=Ip,o.cloneDeepWith=bp,o.cloneWith=Ap,o.conformsTo=Cp,o.deburr=Eo,o.defaultTo=og,o.divide=Fg,o.endsWith=Ld,o.eq=qe,o.escape=Nd,o.escapeRegExp=Ud,o.every=Gh,o.find=Hh,o.findIndex=Va,o.findKey=rd,o.findLast=Kh,o.findLastIndex=Ya,o.findLastKey=id,o.floor=Pg,o.forEach=eo,o.forEachRight=to,o.forIn=sd,o.forInRight=ad,o.forOwn=od,o.forOwnRight=ud,o.get=Ni,o.gt=Tp,o.gte=Rp,o.has=fd,o.hasIn=Ui,o.head=Ja,o.identity=we,o.includes=Jh,o.indexOf=Kf,o.inRange=Fd,o.invoke=dd,o.isArguments=Ot,o.isArray=N,o.isArrayBuffer=Fp,o.isArrayLike=_e,o.isArrayLikeObject=ne,o.isBoolean=Pp,o.isBuffer=St,o.isDate=Op,o.isElement=Lp,o.isEmpty=Np,o.isEqual=Up,o.isEqualWith=Dp,o.isError=Oi,o.isFinite=$p,o.isFunction=ot,o.isInteger=lo,o.isLength=_r,o.isMap=co,o.isMatch=Wp,o.isMatchWith=Mp,o.isNaN=Bp,o.isNative=kp,o.isNil=qp,o.isNull=Gp,o.isNumber=fo,o.isObject=Q,o.isObjectLike=ee,o.isPlainObject=An,o.isRegExp=Li,o.isSafeInteger=Hp,o.isSet=ho,o.isString=yr,o.isSymbol=Ae,o.isTypedArray=Zt,o.isUndefined=Kp,o.isWeakMap=zp,o.isWeakSet=Vp,o.join=Jf,o.kebabCase=Dd,o.last=Ne,o.lastIndexOf=Xf,o.lowerCase=$d,o.lowerFirst=Wd,o.lt=Yp,o.lte=Zp,o.max=Og,o.maxBy=Lg,o.mean=Ng,o.meanBy=Ug,o.min=Dg,o.minBy=$g,o.stubArray=ki,o.stubFalse=Gi,o.stubObject=xg,o.stubString=Eg,o.stubTrue=Ag,o.multiply=Wg,o.nth=jf,o.noConflict=dg,o.noop=Bi,o.now=gr,o.pad=Md,o.padEnd=Bd,o.padStart=kd,o.parseInt=Gd,o.random=Pd,o.reduce=tp,o.reduceRight=np,o.repeat=qd,o.replace=Hd,o.result=Sd,o.round=Mg,o.runInContext=p,o.sample=ip,o.size=op,o.snakeCase=Kd,o.some=up,o.sortedIndex=sh,o.sortedIndexBy=ah,o.sortedIndexOf=oh,o.sortedLastIndex=uh,o.sortedLastIndexBy=lh,o.sortedLastIndexOf=ch,o.startCase=Vd,o.startsWith=Yd,o.subtract=Bg,o.sum=kg,o.sumBy=Gg,o.template=Zd,o.times=Ig,o.toFinite=ut,o.toInteger=U,o.toLength=go,o.toLower=Jd,o.toNumber=Ue,o.toSafeInteger=Jp,o.toString=K,o.toUpper=Xd,o.trim=jd,o.trimEnd=Qd,o.trimStart=eg,o.truncate=tg,o.unescape=ng,o.uniqueId=Cg,o.upperCase=rg,o.upperFirst=Di,o.each=eo,o.eachRight=to,o.first=Ja,Mi(o,function(){var e={};return Ve(o,function(t,n){z.call(o.prototype,n)||(e[n]=t)}),e}(),{chain:!1}),o.VERSION=l,Re(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){o[e].placeholder=o}),Re(["drop","take"],function(e,t){k.prototype[e]=function(n){n=n===i?1:ae(U(n),0);var r=this.__filtered__&&!t?new k(this):this.clone();return r.__filtered__?r.__takeCount__=fe(n,r.__takeCount__):r.__views__.push({size:fe(n,ze),type:e+(r.__dir__<0?"Right":"")}),r},k.prototype[e+"Right"]=function(n){return this.reverse()[e](n).reverse()}}),Re(["filter","map","takeWhile"],function(e,t){var n=t+1,r=n==Zi||n==jo;k.prototype[e]=function(s){var u=this.clone();return u.__iteratees__.push({iteratee:T(s,3),type:n}),u.__filtered__=u.__filtered__||r,u}}),Re(["head","last"],function(e,t){var n="take"+(t?"Right":"");k.prototype[e]=function(){return this[n](1).value()[0]}}),Re(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");k.prototype[e]=function(){return this.__filtered__?new k(this):this[n](1)}}),k.prototype.compact=function(){return this.filter(we)},k.prototype.find=function(e){return this.filter(e).head()},k.prototype.findLast=function(e){return this.reverse().find(e)},k.prototype.invokeMap=$(function(e,t){return typeof e=="function"?new k(this):this.map(function(n){return _n(n,e,t)})}),k.prototype.reject=function(e){return this.filter(mr(T(e)))},k.prototype.slice=function(e,t){e=U(e);var n=this;return n.__filtered__&&(e>0||t<0)?new k(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(t=U(t),n=t<0?n.dropRight(-t):n.take(t-e)),n)},k.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},k.prototype.toArray=function(){return this.take(ze)},Ve(k.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),s=o[r?"take"+(t=="last"?"Right":""):t],u=r||/^find/.test(t);s&&(o.prototype[t]=function(){var c=this.__wrapped__,h=r?[1]:arguments,g=c instanceof k,w=h[0],S=g||N(c),x=function(W){var q=s.apply(o,dt([W],h));return r&&I?q[0]:q};S&&n&&typeof w=="function"&&w.length!=1&&(g=S=!1);var I=this.__chain__,C=!!this.__actions__.length,R=u&&!I,D=g&&!C;if(!u&&S){c=D?c:new k(this);var F=e.apply(c,h);return F.__actions__.push({func:pr,args:[x],thisArg:i}),new Pe(F,I)}return R&&D?e.apply(this,h):(F=this.thru(x),R?r?F.value()[0]:F.value():F)})}),Re(["pop","push","shift","sort","splice","unshift"],function(e){var t=Mn[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);o.prototype[e]=function(){var s=arguments;if(r&&!this.__chain__){var u=this.value();return t.apply(N(u)?u:[],s)}return this[n](function(c){return t.apply(N(c)?c:[],s)})}}),Ve(k.prototype,function(e,t){var n=o[t];if(n){var r=n.name+"";z.call(Ht,r)||(Ht[r]=[]),Ht[r].push({name:t,func:n})}}),Ht[ar(i,Nt).name]=[{name:"wrapper",func:i}],k.prototype.clone=tc,k.prototype.reverse=nc,k.prototype.value=rc,o.prototype.at=Lh,o.prototype.chain=Nh,o.prototype.commit=Uh,o.prototype.next=Dh,o.prototype.plant=Wh,o.prototype.reverse=Mh,o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=Bh,o.prototype.first=o.prototype.head,fn&&(o.prototype[fn]=$h),o},kt=Nl();At?((At.exports=kt)._=kt,Wr._=kt):le._=kt}).call(rv)}(bn,bn.exports)),bn.exports}var sv=iv();const qi=f=>{const a=sv.startCase(f).toLowerCase();return a.charAt(0).toUpperCase()+a.slice(1)},av=({data:f})=>{const a=pe.v4(),i=f.description?`
|
|
28
|
+
}`;var D=bo(function(){return H(u,T+"return "+x).apply(i,c)});if(D.source=x,Ui(D))throw D;return D}function jp(e){return V(e).toLowerCase()}function Jp(e){return V(e).toUpperCase()}function Xp(e,t,n){if(e=V(e),e&&(n||t===i))return Us(e);if(!e||!(t=Te(t)))return e;var r=ze(e),s=ze(t),u=Ns(r,s),c=Ds(r,s)+1;return xt(r,u,c).join("")}function Qp(e,t,n){if(e=V(e),e&&(n||t===i))return e.slice(0,Ws(e)+1);if(!e||!(t=Te(t)))return e;var r=ze(e),s=Ds(r,ze(t))+1;return xt(r,0,s).join("")}function eg(e,t,n){if(e=V(e),e&&(n||t===i))return e.replace(Ur,"");if(!e||!(t=Te(t)))return e;var r=ze(e),s=Ns(r,ze(t));return xt(r,s).join("")}function tg(e,t){var n=Vo,r=Yo;if(ne(t)){var s="separator"in t?t.separator:s;n="length"in t?U(t.length):n,r="omission"in t?Te(t.omission):r}e=V(e);var u=e.length;if(Gt(e)){var c=ze(e);u=c.length}if(n>=u)return e;var h=n-qt(r);if(h<1)return r;var g=c?xt(c,0,h).join(""):e.slice(0,h);if(s===i)return g+r;if(c&&(h+=g.length-h),Ni(s)){if(e.slice(h).search(s)){var w,S=g;for(s.global||(s=Jr(s.source,V(ns.exec(s))+"g")),s.lastIndex=0;w=s.exec(S);)var x=w.index;g=g.slice(0,x===i?h:x)}}else if(e.indexOf(Te(s),h)!=h){var A=g.lastIndexOf(s);A>-1&&(g=g.slice(0,A))}return g+r}function ng(e){return e=V(e),e&&hu.test(e)?e.replace(Qi,Rl):e}var rg=jt(function(e,t,n){return e+(n?" ":"")+t.toUpperCase()}),Wi=ba("toUpperCase");function Ao(e,t,n){return e=V(e),t=n?i:t,t===i?Al(e)?Ol(e):vl(e):e.match(t)||[]}var bo=$(function(e,t){try{return Ae(e,i,t)}catch(n){return Ui(n)?n:new L(n)}}),ig=ot(function(e,t){return Ue(t,function(n){n=et(n),st(e,n,Li(e[n],e))}),e});function sg(e){var t=e==null?0:e.length,n=C();return e=t?Q(e,function(r){if(typeof r[1]!="function")throw new Ne(I);return[n(r[0]),r[1]]}):[],$(function(r){for(var s=-1;++s<t;){var u=e[s];if(Ae(u[0],this,r))return Ae(u[1],this,r)}})}function ag(e){return Rc($e(e,K))}function Mi(e){return function(){return e}}function og(e,t){return e==null||e!==e?t:e}var ug=Ca(),lg=Ca(!0);function Se(e){return e}function Bi(e){return ia(typeof e=="function"?e:$e(e,K))}function cg(e){return aa($e(e,K))}function fg(e,t){return oa(e,$e(t,K))}var hg=$(function(e,t){return function(n){return _n(n,e,t)}}),dg=$(function(e,t){return function(n){return _n(e,n,t)}});function ki(e,t,n){var r=le(t),s=nr(t,r);n==null&&!(ne(t)&&(s.length||!r.length))&&(n=t,t=e,e=this,s=nr(t,le(t)));var u=!(ne(n)&&"chain"in n)||!!n.chain,c=lt(e);return Ue(s,function(h){var g=t[h];e[h]=g,c&&(e.prototype[h]=function(){var w=this.__chain__;if(u||w){var S=e(this.__wrapped__),x=S.__actions__=ye(this.__actions__);return x.push({func:g,args:arguments,thisArg:e}),S.__chain__=w,S}return g.apply(e,vt([this.value()],arguments))})}),e}function pg(){return ce._===this&&(ce._=Ml),this}function Gi(){}function gg(e){return e=U(e),$(function(t){return ua(t,e)})}var vg=_i(Q),mg=_i(Fs),yg=_i(Hr);function To(e){return bi(e)?zr(et(e)):Vc(e)}function _g(e){return function(t){return e==null?i:Lt(e,t)}}var wg=Ra(),Sg=Ra(!0);function qi(){return[]}function Hi(){return!1}function xg(){return{}}function Ig(){return""}function Eg(){return!0}function Ag(e,t){if(e=U(e),e<1||e>pt)return[];var n=Je,r=he(e,Je);t=C(t),e-=Je;for(var s=Yr(r,t);++n<e;)t(n);return s}function bg(e){return O(e)?Q(e,et):Ce(e)?[e]:ye(Ka(V(e)))}function Tg(e){var t=++$l;return V(e)+t}var Cg=ur(function(e,t){return e+t},0),Fg=wi("ceil"),Rg=ur(function(e,t){return e/t},1),Pg=wi("floor");function Lg(e){return e&&e.length?tr(e,Se,si):i}function Og(e,t){return e&&e.length?tr(e,C(t,2),si):i}function Ug(e){return Ls(e,Se)}function Ng(e,t){return Ls(e,C(t,2))}function Dg(e){return e&&e.length?tr(e,Se,li):i}function $g(e,t){return e&&e.length?tr(e,C(t,2),li):i}var Wg=ur(function(e,t){return e*t},1),Mg=wi("round"),Bg=ur(function(e,t){return e-t},0);function kg(e){return e&&e.length?Vr(e,Se):0}function Gg(e,t){return e&&e.length?Vr(e,C(t,2)):0}return o.after=cd,o.ary=ro,o.assign=Jd,o.assignIn=yo,o.assignInWith=Sr,o.assignWith=Xd,o.at=Qd,o.before=io,o.bind=Li,o.bindAll=ig,o.bindKey=so,o.castArray=xd,o.chain=eo,o.chunk=Pf,o.compact=Lf,o.concat=Of,o.cond=sg,o.conforms=ag,o.constant=Mi,o.countBy=kh,o.create=ep,o.curry=ao,o.curryRight=oo,o.debounce=uo,o.defaults=tp,o.defaultsDeep=np,o.defer=fd,o.delay=hd,o.difference=Uf,o.differenceBy=Nf,o.differenceWith=Df,o.drop=$f,o.dropRight=Wf,o.dropRightWhile=Mf,o.dropWhile=Bf,o.fill=kf,o.filter=qh,o.flatMap=Kh,o.flatMapDeep=Vh,o.flatMapDepth=Yh,o.flatten=ja,o.flattenDeep=Gf,o.flattenDepth=qf,o.flip=dd,o.flow=ug,o.flowRight=lg,o.fromPairs=Hf,o.functions=lp,o.functionsIn=cp,o.groupBy=Zh,o.initial=Kf,o.intersection=Vf,o.intersectionBy=Yf,o.intersectionWith=Zf,o.invert=hp,o.invertBy=dp,o.invokeMap=Jh,o.iteratee=Bi,o.keyBy=Xh,o.keys=le,o.keysIn=we,o.map=gr,o.mapKeys=gp,o.mapValues=vp,o.matches=cg,o.matchesProperty=fg,o.memoize=mr,o.merge=mp,o.mergeWith=_o,o.method=hg,o.methodOf=dg,o.mixin=ki,o.negate=yr,o.nthArg=gg,o.omit=yp,o.omitBy=_p,o.once=pd,o.orderBy=Qh,o.over=vg,o.overArgs=gd,o.overEvery=mg,o.overSome=yg,o.partial=Oi,o.partialRight=lo,o.partition=ed,o.pick=wp,o.pickBy=wo,o.property=To,o.propertyOf=_g,o.pull=Qf,o.pullAll=Xa,o.pullAllBy=eh,o.pullAllWith=th,o.pullAt=nh,o.range=wg,o.rangeRight=Sg,o.rearg=vd,o.reject=rd,o.remove=rh,o.rest=md,o.reverse=Ri,o.sampleSize=sd,o.set=xp,o.setWith=Ip,o.shuffle=ad,o.slice=ih,o.sortBy=ld,o.sortedUniq=fh,o.sortedUniqBy=hh,o.split=Kp,o.spread=yd,o.tail=dh,o.take=ph,o.takeRight=gh,o.takeRightWhile=vh,o.takeWhile=mh,o.tap=Lh,o.throttle=_d,o.thru=pr,o.toArray=go,o.toPairs=So,o.toPairsIn=xo,o.toPath=bg,o.toPlainObject=mo,o.transform=Ep,o.unary=wd,o.union=yh,o.unionBy=_h,o.unionWith=wh,o.uniq=Sh,o.uniqBy=xh,o.uniqWith=Ih,o.unset=Ap,o.unzip=Pi,o.unzipWith=Qa,o.update=bp,o.updateWith=Tp,o.values=Qt,o.valuesIn=Cp,o.without=Eh,o.words=Ao,o.wrap=Sd,o.xor=Ah,o.xorBy=bh,o.xorWith=Th,o.zip=Ch,o.zipObject=Fh,o.zipObjectDeep=Rh,o.zipWith=Ph,o.entries=So,o.entriesIn=xo,o.extend=yo,o.extendWith=Sr,ki(o,o),o.add=Cg,o.attempt=bo,o.camelCase=Lp,o.capitalize=Io,o.ceil=Fg,o.clamp=Fp,o.clone=Id,o.cloneDeep=Ad,o.cloneDeepWith=bd,o.cloneWith=Ed,o.conformsTo=Td,o.deburr=Eo,o.defaultTo=og,o.divide=Rg,o.endsWith=Op,o.eq=Ve,o.escape=Up,o.escapeRegExp=Np,o.every=Gh,o.find=Hh,o.findIndex=Ya,o.findKey=rp,o.findLast=zh,o.findLastIndex=Za,o.findLastKey=ip,o.floor=Pg,o.forEach=to,o.forEachRight=no,o.forIn=sp,o.forInRight=ap,o.forOwn=op,o.forOwnRight=up,o.get=Di,o.gt=Cd,o.gte=Fd,o.has=fp,o.hasIn=$i,o.head=Ja,o.identity=Se,o.includes=jh,o.indexOf=zf,o.inRange=Rp,o.invoke=pp,o.isArguments=Nt,o.isArray=O,o.isArrayBuffer=Rd,o.isArrayLike=_e,o.isArrayLikeObject=se,o.isBoolean=Pd,o.isBuffer=It,o.isDate=Ld,o.isElement=Od,o.isEmpty=Ud,o.isEqual=Nd,o.isEqualWith=Dd,o.isError=Ui,o.isFinite=$d,o.isFunction=lt,o.isInteger=co,o.isLength=_r,o.isMap=fo,o.isMatch=Wd,o.isMatchWith=Md,o.isNaN=Bd,o.isNative=kd,o.isNil=qd,o.isNull=Gd,o.isNumber=ho,o.isObject=ne,o.isObjectLike=ie,o.isPlainObject=An,o.isRegExp=Ni,o.isSafeInteger=Hd,o.isSet=po,o.isString=wr,o.isSymbol=Ce,o.isTypedArray=Xt,o.isUndefined=zd,o.isWeakMap=Kd,o.isWeakSet=Vd,o.join=jf,o.kebabCase=Dp,o.last=Me,o.lastIndexOf=Jf,o.lowerCase=$p,o.lowerFirst=Wp,o.lt=Yd,o.lte=Zd,o.max=Lg,o.maxBy=Og,o.mean=Ug,o.meanBy=Ng,o.min=Dg,o.minBy=$g,o.stubArray=qi,o.stubFalse=Hi,o.stubObject=xg,o.stubString=Ig,o.stubTrue=Eg,o.multiply=Wg,o.nth=Xf,o.noConflict=pg,o.noop=Gi,o.now=vr,o.pad=Mp,o.padEnd=Bp,o.padStart=kp,o.parseInt=Gp,o.random=Pp,o.reduce=td,o.reduceRight=nd,o.repeat=qp,o.replace=Hp,o.result=Sp,o.round=Mg,o.runInContext=p,o.sample=id,o.size=od,o.snakeCase=zp,o.some=ud,o.sortedIndex=sh,o.sortedIndexBy=ah,o.sortedIndexOf=oh,o.sortedLastIndex=uh,o.sortedLastIndexBy=lh,o.sortedLastIndexOf=ch,o.startCase=Vp,o.startsWith=Yp,o.subtract=Bg,o.sum=kg,o.sumBy=Gg,o.template=Zp,o.times=Ag,o.toFinite=ct,o.toInteger=U,o.toLength=vo,o.toLower=jp,o.toNumber=Be,o.toSafeInteger=jd,o.toString=V,o.toUpper=Jp,o.trim=Xp,o.trimEnd=Qp,o.trimStart=eg,o.truncate=tg,o.unescape=ng,o.uniqueId=Tg,o.upperCase=rg,o.upperFirst=Wi,o.each=to,o.eachRight=no,o.first=Ja,ki(o,function(){var e={};return Xe(o,function(t,n){Y.call(o.prototype,n)||(e[n]=t)}),e}(),{chain:!1}),o.VERSION=l,Ue(["bind","bindKey","curry","curryRight","partial","partialRight"],function(e){o[e].placeholder=o}),Ue(["drop","take"],function(e,t){B.prototype[e]=function(n){n=n===i?1:ue(U(n),0);var r=this.__filtered__&&!t?new B(this):this.clone();return r.__filtered__?r.__takeCount__=he(n,r.__takeCount__):r.__views__.push({size:he(n,Je),type:e+(r.__dir__<0?"Right":"")}),r},B.prototype[e+"Right"]=function(n){return this.reverse()[e](n).reverse()}}),Ue(["filter","map","takeWhile"],function(e,t){var n=t+1,r=n==ji||n==Xo;B.prototype[e]=function(s){var u=this.clone();return u.__iteratees__.push({iteratee:C(s,3),type:n}),u.__filtered__=u.__filtered__||r,u}}),Ue(["head","last"],function(e,t){var n="take"+(t?"Right":"");B.prototype[e]=function(){return this[n](1).value()[0]}}),Ue(["initial","tail"],function(e,t){var n="drop"+(t?"":"Right");B.prototype[e]=function(){return this.__filtered__?new B(this):this[n](1)}}),B.prototype.compact=function(){return this.filter(Se)},B.prototype.find=function(e){return this.filter(e).head()},B.prototype.findLast=function(e){return this.reverse().find(e)},B.prototype.invokeMap=$(function(e,t){return typeof e=="function"?new B(this):this.map(function(n){return _n(n,e,t)})}),B.prototype.reject=function(e){return this.filter(yr(C(e)))},B.prototype.slice=function(e,t){e=U(e);var n=this;return n.__filtered__&&(e>0||t<0)?new B(n):(e<0?n=n.takeRight(-e):e&&(n=n.drop(e)),t!==i&&(t=U(t),n=t<0?n.dropRight(-t):n.take(t-e)),n)},B.prototype.takeRightWhile=function(e){return this.reverse().takeWhile(e).reverse()},B.prototype.toArray=function(){return this.take(Je)},Xe(B.prototype,function(e,t){var n=/^(?:filter|find|map|reject)|While$/.test(t),r=/^(?:head|last)$/.test(t),s=o[r?"take"+(t=="last"?"Right":""):t],u=r||/^find/.test(t);s&&(o.prototype[t]=function(){var c=this.__wrapped__,h=r?[1]:arguments,g=c instanceof B,w=h[0],S=g||O(c),x=function(M){var G=s.apply(o,vt([M],h));return r&&A?G[0]:G};S&&n&&typeof w=="function"&&w.length!=1&&(g=S=!1);var A=this.__chain__,T=!!this.__actions__.length,F=u&&!A,D=g&&!T;if(!u&&S){c=D?c:new B(this);var R=e.apply(c,h);return R.__actions__.push({func:pr,args:[x],thisArg:i}),new De(R,A)}return F&&D?e.apply(this,h):(R=this.thru(x),F?r?R.value()[0]:R.value():R)})}),Ue(["pop","push","shift","sort","splice","unshift"],function(e){var t=Bn[e],n=/^(?:push|sort|unshift)$/.test(e)?"tap":"thru",r=/^(?:pop|shift)$/.test(e);o.prototype[e]=function(){var s=arguments;if(r&&!this.__chain__){var u=this.value();return t.apply(O(u)?u:[],s)}return this[n](function(c){return t.apply(O(c)?c:[],s)})}}),Xe(B.prototype,function(e,t){var n=o[t];if(n){var r=n.name+"";Y.call(Vt,r)||(Vt[r]=[]),Vt[r].push({name:t,func:n})}}),Vt[or(i,je).name]=[{name:"wrapper",func:i}],B.prototype.clone=tc,B.prototype.reverse=nc,B.prototype.value=rc,o.prototype.at=Oh,o.prototype.chain=Uh,o.prototype.commit=Nh,o.prototype.next=Dh,o.prototype.plant=Wh,o.prototype.reverse=Mh,o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=Bh,o.prototype.first=o.prototype.head,hn&&(o.prototype[hn]=$h),o},Ht=Ul();Tt?((Tt.exports=Ht)._=Ht,Br._=Ht):ce._=Ht}).call(rv)}(Tn,Tn.exports)),Tn.exports}var sv=iv();const zi=f=>{const a=sv.startCase(f).toLowerCase();return a.charAt(0).toUpperCase()+a.slice(1)},av=({data:f})=>{const a=re.v4(),i=f.description?`
|
|
29
29
|
description: '${f.description}',`:"";return`import { defineField, FieldType } from 'twenty-sdk/define';
|
|
30
30
|
|
|
31
31
|
export default defineField({
|
|
@@ -35,7 +35,7 @@ export default defineField({
|
|
|
35
35
|
type: FieldType.${f.type},
|
|
36
36
|
objectUniversalIdentifier: '${f.objectUniversalIdentifier}',${i}
|
|
37
37
|
});
|
|
38
|
-
`},
|
|
38
|
+
`},pe=f=>f.replace(/([a-z])([A-Z])/g,"$1-$2").replace(/([A-Z])([A-Z][a-z])/g,"$1-$2").replace(/([a-zA-Z])(\d)/g,"$1-$2").replace(/(\d)([a-zA-Z])/g,"$1-$2").replace(/[\s_]+/g,"-").replace(/[^a-zA-Z0-9-]+/g,"-").toLowerCase(),ov=({name:f,universalIdentifier:a=re.v4()})=>{const i=pe(f);return`import { defineFrontComponent } from 'twenty-sdk/define';
|
|
39
39
|
|
|
40
40
|
// React component - implement your UI here
|
|
41
41
|
const Component = () => {
|
|
@@ -53,7 +53,7 @@ export default defineFrontComponent({
|
|
|
53
53
|
description: 'Add a description for your front component',
|
|
54
54
|
component: Component,
|
|
55
55
|
});
|
|
56
|
-
`},uv=({name:f,universalIdentifier:a=
|
|
56
|
+
`},uv=({name:f,universalIdentifier:a=re.v4()})=>{const i=pe(f);return`import { defineLogicFunction } from 'twenty-sdk/define';
|
|
57
57
|
|
|
58
58
|
// Logic function handler - rename and implement your logic
|
|
59
59
|
const handler = async (params: {
|
|
@@ -90,20 +90,20 @@ export default defineLogicFunction({
|
|
|
90
90
|
// eventName: 'objectName.created',
|
|
91
91
|
// },
|
|
92
92
|
});
|
|
93
|
-
`},
|
|
94
|
-
targetObjectUniversalIdentifier: '${d}',`:i==="VIEW"&&l?
|
|
95
|
-
viewUniversalIdentifier: '${l}',`:i==="LINK"?
|
|
96
|
-
link: 'https://example.com',`:i==="FOLDER"?
|
|
93
|
+
`},Lo=({name:f,universalIdentifier:a=re.v4(),type:i,viewUniversalIdentifier:l,targetObjectUniversalIdentifier:d})=>{const E=pe(f);let I;return i==="OBJECT"&&d?I=` type: 'OBJECT',
|
|
94
|
+
targetObjectUniversalIdentifier: '${d}',`:i==="VIEW"&&l?I=` type: 'VIEW',
|
|
95
|
+
viewUniversalIdentifier: '${l}',`:i==="LINK"?I=` type: 'LINK',
|
|
96
|
+
link: 'https://example.com',`:i==="FOLDER"?I=" type: 'FOLDER',":I=` type: 'VIEW',
|
|
97
97
|
// viewUniversalIdentifier: '...',`,`import { defineNavigationMenuItem } from 'twenty-sdk/define';
|
|
98
98
|
|
|
99
99
|
export default defineNavigationMenuItem({
|
|
100
100
|
universalIdentifier: '${a}',
|
|
101
|
-
name: '${
|
|
101
|
+
name: '${E}',
|
|
102
102
|
icon: 'IconList',
|
|
103
103
|
position: 0,
|
|
104
|
-
${
|
|
104
|
+
${I}
|
|
105
105
|
});
|
|
106
|
-
`},lv=({data:f,universalIdentifier:a=
|
|
106
|
+
`},lv=({data:f,universalIdentifier:a=re.v4(),nameFieldUniversalIdentifier:i=re.v4()})=>`import { defineObject, FieldType } from 'twenty-sdk/define';
|
|
107
107
|
|
|
108
108
|
export const NAME_FIELD_UNIVERSAL_IDENTIFIER =
|
|
109
109
|
'${i}';
|
|
@@ -130,17 +130,73 @@ export default defineObject({
|
|
|
130
130
|
`,cv=({name:f})=>`import { definePageLayout } from 'twenty-sdk/define';
|
|
131
131
|
|
|
132
132
|
export default definePageLayout({
|
|
133
|
-
universalIdentifier: '${
|
|
133
|
+
universalIdentifier: '${re.v4()}',
|
|
134
134
|
name: '${f}',
|
|
135
135
|
tabs: [
|
|
136
136
|
{
|
|
137
|
-
universalIdentifier: '${
|
|
137
|
+
universalIdentifier: '${re.v4()}',
|
|
138
138
|
title: 'Overview',
|
|
139
139
|
widgets: [],
|
|
140
140
|
},
|
|
141
141
|
],
|
|
142
142
|
});
|
|
143
|
-
`,fv=({name:f
|
|
143
|
+
`,fv=({name:f})=>`import { definePageLayoutTab, PageLayoutTabLayoutMode } from 'twenty-sdk/define';
|
|
144
|
+
|
|
145
|
+
export default definePageLayoutTab({
|
|
146
|
+
universalIdentifier: '${re.v4()}',
|
|
147
|
+
pageLayoutUniversalIdentifier: 'replace-with-existing-page-layout-uuid',
|
|
148
|
+
title: '${f}',
|
|
149
|
+
position: 1000,
|
|
150
|
+
icon: 'IconLayout',
|
|
151
|
+
layoutMode: PageLayoutTabLayoutMode.CANVAS,
|
|
152
|
+
widgets: [],
|
|
153
|
+
});
|
|
154
|
+
`,hv=({objectLabelSingular:f,objectUniversalIdentifier:a,fieldsWidgetViewUniversalIdentifier:i})=>`import { definePageLayout, PageLayoutTabLayoutMode } from 'twenty-sdk/define';
|
|
155
|
+
|
|
156
|
+
export default definePageLayout({
|
|
157
|
+
universalIdentifier: '${re.v4()}',
|
|
158
|
+
name: 'Default ${f} Layout',
|
|
159
|
+
type: 'RECORD_PAGE',
|
|
160
|
+
objectUniversalIdentifier: '${a}',
|
|
161
|
+
tabs: [
|
|
162
|
+
{
|
|
163
|
+
universalIdentifier: '${re.v4()}',
|
|
164
|
+
title: 'Home',
|
|
165
|
+
position: 10,
|
|
166
|
+
icon: 'IconHome',
|
|
167
|
+
layoutMode: PageLayoutTabLayoutMode.VERTICAL_LIST,
|
|
168
|
+
widgets: [
|
|
169
|
+
{
|
|
170
|
+
universalIdentifier: '${re.v4()}',
|
|
171
|
+
title: 'Fields',
|
|
172
|
+
type: 'FIELDS',
|
|
173
|
+
configuration: {
|
|
174
|
+
configurationType: 'FIELDS',
|
|
175
|
+
viewUniversalIdentifier: '${i}',
|
|
176
|
+
},
|
|
177
|
+
},
|
|
178
|
+
],
|
|
179
|
+
},
|
|
180
|
+
{
|
|
181
|
+
universalIdentifier: '${re.v4()}',
|
|
182
|
+
title: 'Timeline',
|
|
183
|
+
position: 20,
|
|
184
|
+
icon: 'IconTimelineEvent',
|
|
185
|
+
layoutMode: PageLayoutTabLayoutMode.CANVAS,
|
|
186
|
+
widgets: [
|
|
187
|
+
{
|
|
188
|
+
universalIdentifier: '${re.v4()}',
|
|
189
|
+
title: 'Timeline',
|
|
190
|
+
type: 'TIMELINE',
|
|
191
|
+
configuration: {
|
|
192
|
+
configurationType: 'TIMELINE',
|
|
193
|
+
},
|
|
194
|
+
},
|
|
195
|
+
],
|
|
196
|
+
},
|
|
197
|
+
],
|
|
198
|
+
});
|
|
199
|
+
`,dv=({name:f,universalIdentifier:a=re.v4()})=>{const i=pe(f);return`import { defineRole } from 'twenty-sdk/define';
|
|
144
200
|
|
|
145
201
|
export const ${i.toUpperCase().replace(/-/g,"_")}_ROLE_UNIVERSAL_IDENTIFIER =
|
|
146
202
|
'${a}';
|
|
@@ -154,7 +210,7 @@ export default defineRole({
|
|
|
154
210
|
canSoftDeleteAllObjectRecords: true,
|
|
155
211
|
canDestroyAllObjectRecords: false,
|
|
156
212
|
});
|
|
157
|
-
`},
|
|
213
|
+
`},pv=({name:f,universalIdentifier:a=re.v4()})=>{const i=pe(f);return`import { defineAgent } from 'twenty-sdk/define';
|
|
158
214
|
|
|
159
215
|
export const ${i.toUpperCase().replace(/-/g,"_")}_AGENT_UNIVERSAL_IDENTIFIER =
|
|
160
216
|
'${a}';
|
|
@@ -166,7 +222,7 @@ export default defineAgent({
|
|
|
166
222
|
description: 'Add a description for your agent',
|
|
167
223
|
prompt: 'Add the agent system prompt here',
|
|
168
224
|
});
|
|
169
|
-
`},
|
|
225
|
+
`},gv=({name:f,universalIdentifier:a=re.v4()})=>{const i=pe(f);return`import { defineSkill } from 'twenty-sdk/define';
|
|
170
226
|
|
|
171
227
|
export const ${i.toUpperCase().replace(/-/g,"_")}_SKILL_UNIVERSAL_IDENTIFIER =
|
|
172
228
|
'${a}';
|
|
@@ -178,10 +234,18 @@ export default defineSkill({
|
|
|
178
234
|
description: 'Add a description for your skill',
|
|
179
235
|
content: 'Add the skill content here',
|
|
180
236
|
});
|
|
181
|
-
`},
|
|
182
|
-
|
|
237
|
+
`},vv=({field:f,index:a,objectUniversalIdentifier:i})=>{const l=f.universalIdentifier??re.v4(),d=f.position??a,E=f.isVisible??!0,I=f.size??200,N="defaultFieldName"in f?` fieldMetadataUniversalIdentifier: generateDefaultFieldUniversalIdentifier({
|
|
238
|
+
objectUniversalIdentifier: '${i}',
|
|
239
|
+
fieldName: '${f.defaultFieldName}',
|
|
240
|
+
})`:` fieldMetadataUniversalIdentifier: '${f.fieldMetadataUniversalIdentifier}'`;return` {
|
|
241
|
+
universalIdentifier: '${l}',
|
|
242
|
+
${N},
|
|
243
|
+
position: ${d},
|
|
244
|
+
isVisible: ${E},
|
|
245
|
+
size: ${I},
|
|
246
|
+
}`},Ki=({name:f,universalIdentifier:a=re.v4(),objectUniversalIdentifier:i="fill-later",fields:l=[],type:d})=>{const E=pe(f),I=l.some(K=>"defaultFieldName"in K),q=l.length>0?` fields: [
|
|
247
|
+
${l.map((K,Ze)=>vv({field:K,index:Ze,objectUniversalIdentifier:i})).join(`,
|
|
183
248
|
`)},
|
|
184
|
-
|
|
185
249
|
],`:` // fields: [
|
|
186
250
|
// {
|
|
187
251
|
// universalIdentifier: '...',
|
|
@@ -189,15 +253,19 @@ export default defineSkill({
|
|
|
189
253
|
// position: 0,
|
|
190
254
|
// isVisible: true,
|
|
191
255
|
// },
|
|
192
|
-
// ]
|
|
256
|
+
// ],`,te=d!==void 0?` type: '${d}',
|
|
257
|
+
`:"";return`${I?`import {
|
|
258
|
+
defineView,
|
|
259
|
+
generateDefaultFieldUniversalIdentifier,
|
|
260
|
+
} from 'twenty-sdk/define';`:"import { defineView } from 'twenty-sdk/define';"}
|
|
193
261
|
|
|
194
262
|
export default defineView({
|
|
195
263
|
universalIdentifier: '${a}',
|
|
196
|
-
name: '${
|
|
264
|
+
name: '${E}',
|
|
197
265
|
objectUniversalIdentifier: '${i}',
|
|
198
|
-
icon: 'IconList',
|
|
266
|
+
${te} icon: 'IconList',
|
|
199
267
|
position: 0,
|
|
200
|
-
${
|
|
268
|
+
${q}
|
|
201
269
|
// filters: [
|
|
202
270
|
// {
|
|
203
271
|
// universalIdentifier: '...',
|
|
@@ -214,10 +282,10 @@ ${M}
|
|
|
214
282
|
// },
|
|
215
283
|
// ],
|
|
216
284
|
});
|
|
217
|
-
`},
|
|
218
|
-
Update with: npm install -g twenty-sdk@${d}`)),console.warn(""))};class
|
|
219
|
-
`));const l=await
|
|
220
|
-
`));const l=
|
|
285
|
+
`},xr="src";class mv{async execute(a,i){try{const l=a??await this.getEntity(),d=this.getFolderName(l),E=i?z.join(ee,i):z.join(ee,xr,d);await v.ensureDir(E);const{name:I,file:N}=await this.getEntityData(l),q=z.join(E,this.getFileName(I,l));if(await v.pathExists(q)){const{overwrite:te}=await this.handleFileExist();if(!te)return}await Dt.writeFile(q,N),console.log(_.default.green(`✓ Created ${d}:`),_.default.cyan(z.relative(ee,q))),l===v.e.Object&&await this.promptAndCreateObjectCompanions(I,i)}catch(l){console.error(_.default.red("Add new entity failed:"),l instanceof Error?l.message:l),process.exit(1)}}async getEntityData(a){switch(a){case v.e.Object:{const i=await this.getObjectData(),l=i.nameSingular,d=re.v4(),E=re.v4();this.lastObjectUniversalIdentifier=d,this.lastNameFieldUniversalIdentifier=E,this.lastObjectLabelSingular=i.labelSingular;const I=lv({data:i,universalIdentifier:d,nameFieldUniversalIdentifier:E});return{name:l,file:I}}case v.e.Field:{const i=await this.getFieldData(),l=i.name,d=av({data:i});return{name:l,file:d}}case v.e.LogicFunction:{const i=await this.getEntityName(a),l=uv({name:i});return{name:i,file:l}}case v.e.FrontComponent:{const i=await this.getEntityName(a),l=ov({name:i});return{name:i,file:l}}case v.e.Role:{const i=await this.getEntityName(a),l=dv({name:i});return{name:i,file:l}}case v.e.Skill:{const i=await this.getEntityName(a),l=gv({name:i});return{name:i,file:l}}case v.e.Agent:{const i=await this.getEntityName(a),l=pv({name:i});return{name:i,file:l}}case v.e.View:{const l=(await this.getViewData()).name,d=Ki({name:l});return{name:l,file:d}}case v.e.NavigationMenuItem:{const i=await this.getEntityName(a),l=Lo({name:i});return{name:i,file:l}}case v.e.PageLayout:{const i=await this.getEntityName(a),l=cv({name:i});return{name:i,file:l}}case v.e.PageLayoutTab:{const i=await this.getEntityName(a),l=fv({name:i});return{name:i,file:l}}default:v.Te()}}async promptAndCreateObjectCompanions(a,i){const{createCompanions:l}=await Ge.default.prompt([{type:"confirm",name:"createCompanions",message:"Also create a view, navigation menu item, and record page layout for this object? (recommended)",default:!0}]);if(!l||!this.lastObjectUniversalIdentifier)return;const d=re.v4(),E=re.v4(),I=Ki({name:`all-${pe(a)}`,universalIdentifier:d,objectUniversalIdentifier:this.lastObjectUniversalIdentifier,fields:this.lastNameFieldUniversalIdentifier?[{fieldMetadataUniversalIdentifier:this.lastNameFieldUniversalIdentifier,position:0,isVisible:!0,size:200}]:[]}),N=i?z.join(ee,i):z.join(ee,xr,this.getFolderName(v.e.View));await v.ensureDir(N);const q=`all-${pe(a)}.ts`,te=z.join(N,q);if(await v.pathExists(te)){const{overwrite:Ee}=await this.handleFileExist();if(!Ee)return}await Dt.writeFile(te,I),console.log(_.default.green("✓ Created view:"),_.default.cyan(z.relative(ee,te)));const X=this.buildRecordPageFieldsViewFields(this.lastNameFieldUniversalIdentifier),K=Ki({name:`${pe(a)}-record-page-fields`,universalIdentifier:E,objectUniversalIdentifier:this.lastObjectUniversalIdentifier,type:v.TE.FIELDS_WIDGET,fields:X}),Ze=`${pe(a)}-record-page-fields.ts`,k=z.join(N,Ze);if(await v.pathExists(k)){const{overwrite:Ee}=await this.handleFileExist();if(!Ee)return}await Dt.writeFile(k,K),console.log(_.default.green("✓ Created record-page-fields view:"),_.default.cyan(z.relative(ee,k)));const W=Lo({name:a,type:"OBJECT",targetObjectUniversalIdentifier:this.lastObjectUniversalIdentifier}),Pe=i?z.join(ee,i):z.join(ee,xr,this.getFolderName(v.e.NavigationMenuItem));await v.ensureDir(Pe);const xe=`${pe(a)}.ts`,je=z.join(Pe,xe);if(await v.pathExists(je)){const{overwrite:Ee}=await this.handleFileExist();if(!Ee)return}await Dt.writeFile(je,W),console.log(_.default.green("✓ Created navigation menu item:"),_.default.cyan(z.relative(ee,je)));const Cn=hv({objectLabelSingular:this.lastObjectLabelSingular??a,objectUniversalIdentifier:this.lastObjectUniversalIdentifier,fieldsWidgetViewUniversalIdentifier:E}),Le=i?z.join(ee,i):z.join(ee,xr,this.getFolderName(v.e.PageLayout));await v.ensureDir(Le);const At=`${pe(a)}-record-page-layout.ts`,Ie=z.join(Le,At);if(await v.pathExists(Ie)){const{overwrite:Ee}=await this.handleFileExist();if(!Ee)return}await Dt.writeFile(Ie,Cn),console.log(_.default.green("✓ Created record page layout:"),_.default.cyan(z.relative(ee,Ie)))}buildRecordPageFieldsViewFields(a){const l=["createdAt","updatedAt","createdBy","updatedBy"].map(E=>({defaultFieldName:E,isVisible:!0,size:200}));return(a?[{fieldMetadataUniversalIdentifier:a,isVisible:!0,size:200},...l]:l).map((E,I)=>({...E,position:I}))}async getEntity(){const{entity:a}=await Ge.default.prompt([{type:"select",name:"entity",message:"What entity do you want to create?",default:"",choices:Object.values(v.e)}]);return a}async handleFileExist(){return await Ge.default.prompt([{type:"confirm",name:"overwrite",message:"File already exists. Do you want to overwrite it?",default:!1}])}async getEntityName(a){const{name:i}=await Ge.default.prompt([{type:"input",name:"name",message:`Enter a name for your new ${a}:`,default:"",validate:l=>l.length===0?`${a} name is required`:!0}]);return i}async getFieldData(){return Ge.default.prompt([{type:"input",name:"name",message:"Enter a name for your field:",default:"",validate:a=>!a||a.trim().length===0?"Please enter a non empty string":!0},{type:"input",name:"label",message:"Enter a label for your field:",default:a=>zi(a.name),validate:a=>!a||a.trim().length===0?"Please enter a non empty string":!0},{type:"select",name:"type",message:"Select the field type:",choices:Object.values(v.R),default:v.R.TEXT},{type:"input",name:"objectUniversalIdentifier",message:"Enter the universalIdentifier of the object this field belongs to:",default:"fill-later",validate:a=>!a||a.trim().length===0?"Please enter a non empty string":!0},{type:"input",name:"description",message:"Enter a description for your field (optional):",default:""}])}async getObjectData(){return Ge.default.prompt([{type:"input",name:"nameSingular",message:"Enter a name singular for your object (eg: company):",default:"",validate:a=>!a||a.trim().length===0?"Please enter a non empty string":!0},{type:"input",name:"namePlural",message:"Enter a name plural for your object (eg: companies):",default:"",validate:(a,i)=>a.trim()===i?.nameSingular.trim()?"Name plural must be different from name singular":!a||a.trim().length===0?"Please enter a non empty string":!0},{type:"input",name:"labelSingular",message:"Enter a label singular for your object:",default:a=>zi(a.nameSingular),validate:a=>!a||a.trim().length===0?"Please enter a non empty string":!0},{type:"input",name:"labelPlural",message:"Enter a label plural for your object:",default:a=>zi(a.namePlural),validate:a=>!a||a.trim().length===0?"Please enter a non empty string":!0}])}async getViewData(){return Ge.default.prompt([{type:"input",name:"name",message:"Enter a name for your view:",default:"",validate:a=>!a||a.trim().length===0?"Please enter a non empty string":!0},{type:"input",name:"objectUniversalIdentifier",message:"Enter the universalIdentifier of the object this view belongs to:",default:"fill-later",validate:a=>!a||a.trim().length===0?"Please enter a non empty string":!0}])}getFolderName(a){return`${pe(a)}s`}getFileName(a,i){switch(i){case v.e.FrontComponent:return`${pe(a)}.tsx`;default:return`${pe(a)}.ts`}}}const yv="2.1.0",Go={version:yv},_v=async f=>{const a=z.join(f,"package.json");if(await v.pathExists(a))try{const i=await Dt.readFile(a,"utf-8"),l=JSON.parse(i);return l.dependencies?.["twenty-sdk"]??l.devDependencies?.["twenty-sdk"]??void 0}catch{return}},Oo=f=>{const a=f.match(/(\d+)\./);if(a)return parseInt(a[1],10);const i=f.match(/^[~^>=<]*(\d+)$/);return i?parseInt(i[1],10):null},en=async f=>{const a=Go.version,i=await _v(f);if(!i)return;const l=Oo(a),d=Oo(i);l===null||d===null||l!==d&&(console.warn(_.default.yellow(`⚠ Version mismatch: your app requires twenty-sdk@${d}.x but the CLI running is v${a}. Major version mismatches may cause unexpected behavior.
|
|
286
|
+
Update with: npm install -g twenty-sdk@${d}`)),console.warn(""))};class wv{async execute(a){const i=a.appPath??ee;await en(i),console.log(_.default.blue("Building application...")),console.log(_.default.gray(`App path: ${i}
|
|
287
|
+
`));const l=await v.appBuild({appPath:i,tarball:a.tarball,onProgress:d=>console.log(_.default.gray(d))});l.success||(console.error(_.default.red(l.error.message)),process.exit(1)),console.log(_.default.green(`✓ Build succeeded (${l.data.fileCount} file${l.data.fileCount===1?"":"s"})`)),console.log(_.default.gray(`Output: ${l.data.outputDir}`)),l.data.tarballPath&&console.log(_.default.gray(`Tarball: ${l.data.tarballPath}`))}}class Sv{async execute(a){a.remote&&v.ConfigService.setActiveRemote(a.remote),console.log(_.default.blue("Syncing marketplace catalog..."));const l=await new v.ApiService().syncMarketplaceCatalog();l.success||(console.error(_.default.red(`Catalog sync failed: ${l.error instanceof Error?l.error.message:String(l.error)}`)),process.exit(1)),console.log(_.default.green("✓ Marketplace catalog synced successfully"))}}class xv{async execute(a){const i=a.appPath??ee;await en(i),console.log(_.default.blue("Deploying application...")),console.log(_.default.gray(`App path: ${i}
|
|
288
|
+
`));const l=I=>console.log(_.default.gray(I)),d=await v.appBuild({appPath:i,tarball:!0,onProgress:l});d.success||(console.error(_.default.red(d.error.message)),process.exit(1));const E=await v.appDeploy({tarballPath:d.data.tarballPath,remote:a.remote,onProgress:l});E.success||(console.error(_.default.red(E.error.message)),process.exit(1)),console.log(_.default.green("✓ Deployed successfully"))}}class Iv{constructor({state:a,notify:i}){this.state=a,this.notify=i}async execute(a){const i=this.state.steps.buildManifest;i.status="in_progress",this.state.updatePipeline({status:"building"});const l=[{message:"Building manifest",status:"info"}],d=await v.buildAndValidateManifest(a.appPath);if(!d.success){for(const I of d.errors)l.push({message:I,status:"error"});return i.output={result:null},i.status="error",this.state.updatePipeline({status:"error"}),this.state.applyStepEvents(l),null}if(d.warnings.length>0)for(const I of d.warnings)l.push({message:`⚠ ${I}`,status:"warning"});l.push({message:"Successfully built manifest",status:"success"});const E={manifest:d.manifest,filePaths:d.filePaths};return i.output={result:E},i.status="done",this.state.updatePipeline({appName:d.manifest.application.displayName}),this.state.updateEntitiesFromManifest(d.filePaths),this.state.applyStepEvents(l),E}}class Ev{constructor({apiService:a,state:i,notify:l}){this.hasRetried=!1,this.apiService=a,this.state=i,this.notify=l}async execute(){const a=this.state.steps.checkServer,i=await this.apiService.validateAuth();if(!i.serverUp){const d=await v.detectLocalServer();return d&&!this.hasRetried?(this.hasRetried=!0,await new v.ConfigService().setConfig({apiUrl:d}),this.execute()):(a.output.errorLogged||(a.output={isReady:!1,errorLogged:!0},a.status="error",this.state.applyStepEvents([{message:`Cannot reach Twenty server.
|
|
221
289
|
|
|
222
290
|
Start a local server:
|
|
223
291
|
yarn twenty server start
|
|
@@ -225,19 +293,19 @@ ${M}
|
|
|
225
293
|
Check server status:
|
|
226
294
|
yarn twenty server status
|
|
227
295
|
|
|
228
|
-
Waiting for server...`,status:"error"}]),this.state.updatePipeline({status:"error"})),!1)}if(!i.authValid)return a.output.errorLogged||(a.output={isReady:!1,errorLogged:!0},a.status="error",this.state.applyStepEvents([{message:"Authentication failed. Run `yarn twenty remote add --local` to authenticate.",status:"error"}]),this.state.updatePipeline({status:"error"})),!1;const l=a.output.isReady;return a.output={isReady:!0,errorLogged:!1},a.status="done",l||this.notify(),!0}}class
|
|
229
|
-
`);this.buffer=i.pop()??"";for(const l of i)this.processLine(l)}processLine(a){if(a.includes("Starting compilation in watch mode...")||a.includes("Starting incremental compilation...")){this.pendingErrors=[];return}if(a.includes("Watching for file changes.")){const l=this.hasErrors;this.hasErrors=this.pendingErrors.length>0,(this.hasErrors||l)&&this.onErrors(this.pendingErrors),this.pendingErrors=[];return}const i=m.parseTscOutputLine(a);i&&this.pendingErrors.push(i)}}const Iv=new Set(["node_modules","dist",".twenty"]);class bv{constructor(a){this.watcher=null,this.appPath=a.appPath,this.handleChangeDetected=a.handleChangeDetected,this.verbose=a.verbose??!1}async start(){const a=this.appPath;this.watcher=Bo.default.watch(this.appPath,{ignoreInitial:!this.verbose,ignored:i=>{const l=X.relative(a,i);if(l==="")return!1;const d=l.split(Mo.default.sep)[0];return Iv.has(d)||d.startsWith(".")},awaitWriteFinish:{stabilityThreshold:100,pollInterval:50}}),this.watcher.on("all",(i,l)=>{if(i==="addDir"||i==="unlinkDir")return;const d=X.relative(this.appPath,l),A=d.startsWith(m.o$1),E=["package.json","yarn.lock"].includes(d);!(d.endsWith(".ts")||d.endsWith(".tsx"))&&!A&&!E||this.handleChangeDetected(d,i)})}async close(){await this.watcher?.close()}}class Cv{constructor(a){this.manifestWatcher=null,this.logicFunctionsWatcher=null,this.frontComponentsWatcher=null,this.assetWatcher=null,this.dependencyWatcher=null,this.tscWatcher=null,this.state=a.state,this.scheduleSync=a.scheduleSync,this.notify=a.notify,this.onFileBuilt=a.onFileBuilt,this.shouldSkipTypecheck=a.shouldSkipTypecheck,this.verbose=a.verbose??!1}async start(){this.state.steps.startWatchers.status="in_progress",this.notify(),this.manifestWatcher=new bv({appPath:this.state.appPath,handleChangeDetected:this.handleChangeDetected.bind(this),verbose:this.verbose}),await this.manifestWatcher.start()}async handleWatcherRestarts(a){const{logicFunctions:i,frontComponents:l}=a.filePaths;if(!this.state.steps.startWatchers.output.watchersStarted){this.state.steps.startWatchers.output.watchersStarted=!0,this.state.steps.startWatchers.status="done",await this.startFileWatchers(i,l);return}this.logicFunctionsWatcher?.shouldRestart(i)&&await this.logicFunctionsWatcher.restart(i),this.frontComponentsWatcher?.shouldRestart(l)&&await this.frontComponentsWatcher.restart(l)}async close(){this.tscWatcher?.close(),await Promise.all([this.manifestWatcher?.close(),this.logicFunctionsWatcher?.close(),this.frontComponentsWatcher?.close(),this.assetWatcher?.close(),this.dependencyWatcher?.close()])}handleChangeDetected(a,i){this.state.addEvent({message:`Change detected: ${a}`,status:"info"}),i==="unlink"?this.state.removeEntity(a):this.state.updateEntityStatus(a,"building"),this.notify(),this.scheduleSync()}handleFileBuildError(a){this.state.addEvent({message:"Build failed:",status:"error"});for(const i of a)this.state.addEvent({message:i.error,status:"error"});this.notify()}handleFileBuilt(a){this.verbose&&this.state.addEvent({message:`Successfully built ${a.builtPath}`,status:"success"}),this.state.steps.uploadFiles.output.builtFileInfos.set(a.builtPath,{checksum:a.checksum,builtPath:a.builtPath,sourcePath:a.sourcePath,fileFolder:a.fileFolder,usesSdkClient:a.usesSdkClient}),this.onFileBuilt(a),this.notify(),this.scheduleSync()}async startFileWatchers(a,i){await Promise.all([this.startTscWatcher(),this.startLogicFunctionsWatcher(a),this.startFrontComponentsWatcher(i),this.startAssetWatcher(),this.startDependencyWatcher()])}async startLogicFunctionsWatcher(a){this.logicFunctionsWatcher=m.createLogicFunctionsWatcher({appPath:this.state.appPath,sourcePaths:a,shouldSkipTypecheck:this.shouldSkipTypecheck,handleBuildError:this.handleFileBuildError.bind(this),handleFileBuilt:this.handleFileBuilt.bind(this)}),await this.logicFunctionsWatcher.start()}async startFrontComponentsWatcher(a){this.frontComponentsWatcher=m.createFrontComponentsWatcher({appPath:this.state.appPath,sourcePaths:a,shouldSkipTypecheck:this.shouldSkipTypecheck,handleBuildError:this.handleFileBuildError.bind(this),handleFileBuilt:this.handleFileBuilt.bind(this)}),await this.frontComponentsWatcher.start()}async startAssetWatcher(){this.assetWatcher=new No({appPath:this.state.appPath,fileFolder:m.V.PublicAsset,watchPaths:[m.o$1],handleFileBuilt:this.handleFileBuilt.bind(this)}),await this.assetWatcher.start()}async startDependencyWatcher(){this.dependencyWatcher=new No({appPath:this.state.appPath,fileFolder:m.V.Dependencies,watchPaths:["package.json","yarn.lock"],handleFileBuilt:this.handleFileBuilt.bind(this)}),this.dependencyWatcher.start()}async startTscWatcher(){this.tscWatcher=new Av({appPath:this.state.appPath,onErrors:this.handleTypecheckErrors.bind(this)}),await this.tscWatcher.start()}handleTypecheckErrors(a){a.length===0?this.state.addEvent({message:"Typecheck passed",status:"success"}):this.state.applyStepEvents(a.map(i=>({message:`Type error in ${i.file}(${i.line},${i.column}): ${i.text}`,status:"error"}))),this.notify()}}class Tv{constructor({apiService:a,state:i,notify:l,verbose:d}){this.apiService=a,this.state=i,this.notify=l,this.verbose=d??!1}async execute(a){const i=this.state.steps.syncApplication;i.status="in_progress",this.state.updatePipeline({status:"syncing"});const l=[],d=m.manifestUpdateChecksums({manifest:a.manifest,builtFileInfos:a.builtFileInfos});l.push({message:"Manifest checksums set",status:"info"}),await m.writeManifestToOutput(a.appPath,d),l.push({message:"Manifest saved to output directory",status:"info"}),l.push({message:"Syncing manifest",status:"info"});const A=await this.apiService.syncApplication(d);if(A.success){l.push({message:"✓ Synced",status:"success"}),i.output={syncStatus:"synced",error:null},i.status="done",this.state.updatePipeline({status:"synced",error:null}),this.state.updateAllEntitiesStatus("success"),this.state.applyStepEvents(l);return}const E=this.verbose?null:m.formatManifestValidationErrors(A.error);E?(l.push(...E),l.push({message:"Add --verbose to see full error log",status:"info"})):l.push({message:`Sync failed with error: ${m.serializeError(A.error)}`,status:"error"});const M=E?E[0].message:"Sync failed";i.output={syncStatus:"error",error:M},i.status="error",this.state.updatePipeline({status:"error",error:M}),this.state.updateAllEntitiesStatus("error"),this.state.applyStepEvents(l)}}class Rv{constructor({state:a,notify:i,verbose:l}){this.uploadedCount=0,this.failedCount=0,this.totalQueued=0,this.state=a,this.notify=i,this.verbose=l??!1}get isInitialized(){return m.o(this.state.steps.uploadFiles.output.fileUploader)}initialize(a){const i=this.state.steps.uploadFiles;i.output={...i.output,fileUploader:new m.FileUploader({appPath:a.appPath,applicationUniversalIdentifier:a.universalIdentifier})},i.status="in_progress",this.notify(),this.uploadPendingFiles()}uploadFile(a,i,l){const d=this.state.steps.uploadFiles;if(!d.output.fileUploader)return;d.status="in_progress",this.totalQueued++,this.verbose&&this.state.addEvent({message:`Uploading ${a}`,status:"info"}),this.state.updateEntityStatus(i,"uploading"),this.notify();const A=d.output.fileUploader.uploadFile({builtPath:a,fileFolder:l}).then(E=>{E.success?(this.uploadedCount++,this.verbose&&this.state.addEvent({message:`Successfully uploaded ${a}`,status:"success"}),this.state.updateEntityStatus(i,"success")):(this.failedCount++,this.state.addEvent({message:`Failed to upload ${a}: ${E.error}`,status:"error"}))}).catch(E=>{this.failedCount++,this.state.addEvent({message:`Upload failed for ${a}: ${E}`,status:"error"})}).finally(()=>{d.output.activeUploads.delete(A),d.output.activeUploads.size===0&&(this.logUploadSummary(),d.status="done",this.notify())});d.output.activeUploads.add(A)}async waitForUploads(){const a=this.state.steps.uploadFiles;for(;a.output.activeUploads.size>0;)await Promise.all(a.output.activeUploads);a.status="done",this.notify()}logUploadSummary(){if(this.totalQueued===0){this.resetCounters();return}this.failedCount>0&&this.state.addEvent({message:`Uploaded ${this.uploadedCount}/${this.totalQueued} files (${this.failedCount} failed)`,status:"error"}),this.state.addEvent({message:`Successfully uploaded ${this.uploadedCount} file${this.uploadedCount!==1?"s":""}`,status:"success"}),this.resetCounters()}resetCounters(){this.uploadedCount=0,this.failedCount=0,this.totalQueued=0}uploadPendingFiles(){for(const[a,{fileFolder:i,sourcePath:l}]of this.state.steps.uploadFiles.output.builtFileInfos.entries())this.uploadFile(a,l,i)}}class Fv{constructor(a){this.syncTimer=null,this.serverCheckInterval=null,this.skipTypecheck=!0,this.debounceMs=a.debounceMs??200,this.state=a.state,this.verbose=a.verbose??!1,this.apiService=new m.ApiService({disableInterceptors:!0});const i=this.apiService,l=new m.ConfigService;this.clientService=new m.ClientService;const d={state:this.state,notify:()=>this.state.notify()};this.checkServerStep=new Sv({...d,apiService:i}),this.buildManifestStep=new wv(d),this.registerAppStep=new Ev({...d,apiService:i,configService:l}),this.uploadFilesStep=new Rv({...d,verbose:this.verbose}),this.generateApiClientStep=new xv({...d,clientService:this.clientService,configService:l}),this.syncApplicationStep=new Tv({...d,apiService:i,verbose:this.verbose}),this.startWatchersStep=new Cv({...d,scheduleSync:this.scheduleSync.bind(this),onFileBuilt:this.handleFileBuilt.bind(this),shouldSkipTypecheck:()=>this.skipTypecheck,verbose:this.verbose})}async start(){const a=Mo.default.join(this.state.appPath,m.E);await m.ensureDir(a),await m.emptyDir(a),this.verbose||(this.state.addEvent({message:"Add --verbose to see fully detailed logs",status:"info"}),this.state.notify()),await this.startWatchersStep.start(),this.serverCheckInterval=setInterval(()=>{this.checkServerHealth()},2e3)}async close(){this.serverCheckInterval&&clearInterval(this.serverCheckInterval),await this.startWatchersStep.close()}getState(){return this.state}handleFileBuilt(a){this.state.steps.uploadFiles.output.fileUploader&&this.uploadFilesStep.uploadFile(a.builtPath,a.sourcePath,a.fileFolder)}async checkServerHealth(){const a=this.state.steps.checkServer.output.isReady;await this.checkServerStep.execute()&&!a&&this.scheduleSync()}scheduleSync(){this.syncTimer&&clearTimeout(this.syncTimer),this.syncTimer=setTimeout(()=>{this.syncTimer=null,this.performSync()},this.debounceMs)}async performSync(){if(!this.state.pipeline.isSyncing){this.state.updatePipeline({isSyncing:!0});try{await this.runSyncPipeline()}catch(a){this.state.addEvent({message:`Sync failed with error: ${m.serializeError(a)}`,status:"error"}),this.state.updatePipeline({status:"error"}),this.state.updateAllEntitiesStatus("error")}finally{this.state.updatePipeline({isSyncing:!1})}}}async runSyncPipeline(){if(!await this.checkServerStep.execute())return;this.state.steps.ensureValidTokens.status="done";const i=await this.buildManifestStep.execute({appPath:this.state.appPath});if(!i||(await this.startWatchersStep.handleWatcherRestarts(i),!this.uploadFilesStep.isInitialized&&!await this.initializePipeline(i.manifest)))return;const l=this.state.hasObjectsOrFieldsChanged(i.manifest);await this.uploadFilesStep.waitForUploads(),await this.syncApplicationStep.execute({manifest:i.manifest,builtFileInfos:this.state.steps.uploadFiles.output.builtFileInfos,appPath:this.state.appPath}),this.state.steps.syncApplication.status!=="error"&&l&&(await this.generateApiClientStep.execute({appPath:this.state.appPath,credentials:this.registerAppStep.registrationCredentials}),this.skipTypecheck=!1)}async initializePipeline(a){await this.registerAppStep.execute({manifest:a});const i=await this.apiService.createDevelopmentApplication({universalIdentifier:a.application.universalIdentifier,name:a.application.displayName});return!i.success||!i.data?(this.state.applyStepEvents([{message:"Failed to install development application",status:"error"},{message:JSON.stringify(i,null,2),status:"error"}]),this.state.updatePipeline({status:"error"}),!1):(this.state.steps.resolveApplication.output={applicationId:i.data.id,universalIdentifier:i.data.universalIdentifier},this.state.steps.resolveApplication.status="done",this.state.applyStepEvents([{message:"Application installed",status:"success"}]),this.uploadFilesStep.initialize({appPath:this.state.appPath,universalIdentifier:a.application.universalIdentifier}),!0)}}const Pv={objects:m.e.Object,fields:m.e.Field,logicFunctions:m.e.LogicFunction,frontComponents:m.e.FrontComponent,roles:m.e.Role,skills:m.e.Skill,views:m.e.View,navigationMenuItems:m.e.NavigationMenuItem,pageLayouts:m.e.PageLayout},Ov=200,Lv={pending:["building","uploading","success","error"],building:["pending","uploading","success","error"],uploading:["pending","success","error"],success:["pending","building","uploading","error"],error:["pending","building","uploading","success"]};class Nv{constructor(a){this.eventIdCounter=0,this.appPath=a.appPath,this.frontendUrl=a.frontendUrl,this.previousObjectsFieldsFingerprint=null,this.steps={checkServer:{output:{isReady:!1,errorLogged:!1},status:"idle"},ensureValidTokens:{output:{},status:"idle"},resolveApplication:{output:{applicationId:null,universalIdentifier:null},status:"idle"},buildManifest:{output:{result:null},status:"idle"},uploadFiles:{output:{fileUploader:null,builtFileInfos:new Map,activeUploads:new Set},status:"idle"},generateApiClient:{output:{},status:"idle"},syncApplication:{output:{syncStatus:"idle",error:null},status:"idle"},startWatchers:{output:{watchersStarted:!1},status:"idle"}},this.pipeline={status:"idle",isSyncing:!1,error:null,appName:null},this.entities=new Map,this.events=[]}notify(){this.onChange?.()}updatePipeline(a){Object.assign(this.pipeline,a),this.notify()}applyStepEvents(a){const i=a.map(l=>(this.eventIdCounter+=1,{...l,id:this.eventIdCounter,timestamp:new Date,message:l.message.slice(0,5e3)}));this.events=[...this.events.slice(-(Ov-i.length)),...i]}addEvent(a){this.applyStepEvents([a])}updateEntityStatus(a,i){const l=new Map(this.entities),d=l.get(a);d?.status&&!Lv[d.status].includes(i)||(l.set(a,d?{...d,status:i}:{name:a,path:a,status:i}),this.entities=l)}removeEntity(a){const i=new Map(this.entities);i.delete(a),this.entities=i}updateAllEntitiesStatus(a){const i=new Map(this.entities);for(const[l,d]of i)i.set(l,{...d,status:a});this.entities=i}updateEntitiesFromManifest(a){const i=new Map;for(const[d,A]of Object.entries(a)){const E=Pv[d];if(E)for(const M of A)i.set(M,E)}const l=new Map(this.entities);for(const[d,A]of l)l.set(d,{...A,type:i.get(d)});for(const[d,A]of i)l.has(d)||l.set(d,{name:d,path:d,type:A,status:"pending"});this.entities=l}hasObjectsOrFieldsChanged(a){const i=JSON.stringify({objects:a.objects,fields:a.fields}),l=i!==this.previousObjectsFieldsFingerprint;return this.previousObjectsFieldsFingerprint=i,l}}const De={idle:{color:"gray",icon:"○"},in_progress:{color:"yellow",icon:"spinner"},uploading:{color:"cyan",icon:"upload"},done:{color:"green",icon:"✓"},error:{color:"red",icon:"✗"}},Uv=f=>({idle:"idle",in_progress:"in_progress",done:"done",error:"error"})[f],Dv=f=>({pending:"idle",building:"in_progress",uploading:"uploading",success:"done",error:"error"})[f],$v=f=>({idle:"idle",building:"in_progress",syncing:"in_progress",synced:"done",error:"error"})[f],Wv={idle:"Idle",building:"Building...",syncing:"Syncing...",synced:"Synced",error:"Error"},Ki=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"],zi=["↑","⇡","↟","⤒"],qo={[m.e.Object]:"Objects",[m.e.Field]:"Fields",[m.e.LogicFunction]:"Logic functions",[m.e.FrontComponent]:"Front components",[m.e.Role]:"Roles",[m.e.Skill]:"Skills",[m.e.View]:"Views",[m.e.NavigationMenuItem]:"Navigation menu items",[m.e.PageLayout]:"Page layouts",[m.e.Agent]:"Agents"},Ho=Object.keys(qo),Mv={info:"gray",success:"green",error:"red",warning:"yellow"},Bv=f=>f.toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),kv=(f,a=40)=>{if(f.length<=a)return f;const i=f.split("/");return i.length<=2?f:`.../${i.slice(-2).join("/")}`},Gv=f=>{const a=new Map;for(const i of Ho)a.set(i,[]);for(const i of f.values()){if(!i.type)continue;const l=a.get(i.type)??[];l.push(i),a.set(i.type,l)}return a},qv=f=>!f.frontendUrl||!f.steps.resolveApplication.output.universalIdentifier?null:`${f.frontendUrl}/settings/applications`,Hv=f=>f.some(a=>a==="error")?"error":f.some(a=>a==="in_progress")?"in_progress":f.every(a=>a==="done")?"done":"idle",Kv=f=>{const a=[...f.entities.values()],i=a.some(E=>E.status==="error"),l=a.some(E=>E.status==="building"),d=a.length>0&&a.every(E=>E.status==="uploading"||E.status==="success"),A=i?"error":l?"in_progress":d?"done":"idle";return[{label:"Application Initialization",status:Hv([f.steps.checkServer.status,f.steps.ensureValidTokens.status,f.steps.resolveApplication.status])},{label:"Resources Build",status:A},{label:"Resources Upload",status:f.steps.uploadFiles.status},{label:"Manifest Build",status:f.steps.buildManifest.status},{label:"Application Synchronization",status:f.steps.syncApplication.status},{label:"Api Client Generation",status:f.steps.generateApiClient.status}]},Ko=120,zv=Math.round(200/Ko),Uo=()=>{const f=Math.floor(Date.now()/Ko);return{spinnerFrame:Ki[f%Ki.length],uploadFrame:zi[Math.floor(f/zv)%zi.length]}},Vi=f=>{const a=De[f];return a.icon==="spinner"?Uo().spinnerFrame:a.icon==="upload"?Uo().uploadFrame:a.icon},zo=ko.default.createContext(null),Vv=zo.Provider,ft=()=>{const f=ko.default.useContext(zo);if(!f)throw new Error("useInk must be used within InkProvider");return f},Yv=({uiStatus:f})=>{const{Text:a}=ft(),i=Vi(f),l=De[f];return P.jsxs(a,{color:l.color,children:[i," "]})},Zv=({entity:f})=>{const{Box:a,Text:i}=ft();return P.jsxs(a,{children:[P.jsx(Yv,{uiStatus:Dv(f.status)}),P.jsx(i,{children:f.name}),f.path!==f.name&&P.jsxs(i,{dimColor:!0,children:[" (",kv(f.path),")"]})]})},Jv=({type:f,entities:a})=>{const{Box:i,Text:l}=ft();return a.length===0?null:P.jsxs(i,{flexDirection:"column",marginTop:1,children:[P.jsx(l,{bold:!0,dimColor:!0,children:qo[f]}),a.map(d=>P.jsx(Zv,{entity:d},d.path))]})},Xv=()=>{const{Box:f,Text:a}=ft();return P.jsx(f,{marginTop:1,children:P.jsxs(a,{dimColor:!0,children:[P.jsx(a,{color:De.idle.color,children:De.idle.icon})," ","pending"," ",P.jsx(a,{color:De.in_progress.color,children:Ki[0]})," ","building"," ",P.jsx(a,{color:De.uploading.color,children:zi[0]})," ","uploading"," ",P.jsx(a,{color:De.done.color,children:De.done.icon})," ","success"," ",P.jsx(a,{color:De.error.color,children:De.error.icon})," ","error"]})})},jv=({state:f})=>{const{Text:a}=ft(),i=$v(f.pipeline.status),l=Vi(i),d=De[i],A=Wv[f.pipeline.status];return P.jsxs(a,{color:d.color,children:[l," ",A]})},Qv=({label:f,status:a})=>{const{Box:i,Text:l}=ft(),d=Uv(a),A=Vi(d),E=De[d];return P.jsxs(i,{children:[P.jsxs(l,{dimColor:!0,children:[f,": "]}),P.jsxs(l,{color:E.color,children:[A," ",a.replace("_"," ")]})]})},em=({state:f})=>{const{Box:a,Text:i}=ft(),l=Gv(f.entities),d=qv(f);return P.jsxs(a,{flexDirection:"column",borderStyle:"classic",borderColor:"gray",paddingX:1,children:[P.jsx(i,{bold:!0,color:"cyan",children:"Application"}),P.jsxs(a,{marginLeft:2,flexDirection:"column",children:[P.jsxs(a,{children:[P.jsx(i,{dimColor:!0,children:"Name: "}),P.jsx(i,{bold:!0,children:f.pipeline.appName??"Loading..."})]}),P.jsxs(a,{children:[P.jsx(i,{dimColor:!0,children:"Overall Status: "}),P.jsx(jv,{state:f})]}),d&&P.jsxs(a,{children:[P.jsx(i,{dimColor:!0,children:"Open:"}),P.jsxs(i,{bold:!0,color:"cyan",children:[" ",d]})]})]}),P.jsx(a,{marginLeft:2,flexDirection:"column",marginTop:1,children:Kv(f).map(A=>P.jsx(Qv,{label:A.label,status:A.status},A.label))}),P.jsx(a,{marginLeft:2,flexDirection:"column",children:Ho.map(A=>{const E=l.get(A)??[];return P.jsx(Jv,{type:A,entities:E},A)})})]})},tm=({event:f})=>{const{Box:a,Text:i}=ft(),l=Mv[f.status],d=Bv(f.timestamp);return P.jsxs(a,{children:[P.jsxs(i,{dimColor:!0,children:[d," "]}),P.jsx(i,{color:l,children:f.message})]})},nm=new Set(["building","syncing"]),Do=120,rm=80,im=({uiStateManager:f})=>{const{Box:a,Static:i}=ft(),[,l]=xt.useReducer(L=>L+1,0),d=xt.useRef(null),A=xt.useRef(0),E=xt.useCallback(()=>{d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{d.current=null,A.current=Date.now(),l()},rm)},[]);xt.useEffect(()=>f.subscribe(()=>{E()}),[f,E]),xt.useEffect(()=>{const L=setInterval(()=>{const ue=f.getSnapshot();nm.has(ue.pipeline.status)&&(Date.now()-A.current<Do||l())},Do);return()=>clearInterval(L)},[f]),xt.useEffect(()=>()=>{d.current&&clearTimeout(d.current)},[]);const M=f.getSnapshot();return P.jsxs(P.Fragment,{children:[P.jsx(i,{items:M.events,children:L=>P.jsx(tm,{event:L},L.id)}),P.jsxs(a,{marginTop:1,flexDirection:"column",children:[P.jsx(em,{state:M}),P.jsx(Xv,{})]})]})},sm=async f=>{const a=await import("ink"),{render:i,Box:l,Text:d,Static:A}=a,{unmount:E}=i(P.jsx(Vv,{value:{Box:l,Text:d,Static:A},children:P.jsx(im,{uiStateManager:f})}),{incrementalRendering:!0});return{unmount:E}};class am{constructor(a){this.listeners=new Set,this.pendingNotify=!1,this.orchestratorState=a}getSnapshot(){return this.orchestratorState}subscribe(a){return this.listeners.add(a),a(this.orchestratorState),()=>this.listeners.delete(a)}notify(){this.pendingNotify||(this.pendingNotify=!0,queueMicrotask(()=>{this.pendingNotify=!1;for(const a of this.listeners)a(this.orchestratorState)}))}}class om{constructor(){this.orchestrator=null,this.unmountUI=null}async close(){this.unmountUI?.(),await this.orchestrator?.close()}getOrchestrator(){return this.orchestrator}async execute(a){const i=a.appPath??ie;await Xt(i);const l=await new m.ConfigService().getConfig(),d=new Nv({appPath:i,frontendUrl:l.apiUrl});if(!a.headless){const A=new am(d);d.onChange=()=>A.notify();const{unmount:E}=await sm(A);this.unmountUI=E}this.orchestrator=new Fv({state:d,verbose:a.verbose}),await this.orchestrator.start(),a.headless||this.setupGracefulShutdown()}setupGracefulShutdown(){const a=()=>void this.close().then(()=>process.exit(0));process.on("SIGINT",a),process.on("SIGTERM",a)}}class um{async execute({appPath:a=ie,postInstall:i=!1,preInstall:l=!1,functionUniversalIdentifier:d,functionName:A,payload:E="{}"}){let M;try{M=JSON.parse(E)}catch{console.error(y.default.red("Invalid JSON payload. Please provide valid JSON.")),process.exit(1)}const L=i?"post install":l?"pre install":d??A;console.log(y.default.blue(`🚀 Executing function "${L}"...`)),console.log(y.default.gray(` Payload: ${JSON.stringify(M)}
|
|
230
|
-
`));const
|
|
231
|
-
`);const
|
|
232
|
-
`),
|
|
233
|
-
`)),
|
|
234
|
-
`));const l=await
|
|
235
|
-
`))}}class
|
|
236
|
-
`));const l=await
|
|
237
|
-
Start one with: yarn twenty server start`)),process.exit(1)),console.log(
|
|
238
|
-
`,
|
|
239
|
-
`));const l=await
|
|
240
|
-
✓ Synced ${l.data.applicationDisplayName} (${l.data.fileCount} file${l.data.fileCount===1?"":"s"})`)),console.log(
|
|
241
|
-
`));const l=await
|
|
242
|
-
`,
|
|
243
|
-
`)),i&&!await this.confirmationPrompt()&&(console.error(
|
|
296
|
+
Waiting for server...`,status:"error"}]),this.state.updatePipeline({status:"error"})),!1)}if(!i.authValid)return a.output.errorLogged||(a.output={isReady:!1,errorLogged:!0},a.status="error",this.state.applyStepEvents([{message:"Authentication failed. Run `yarn twenty remote add --local` to authenticate.",status:"error"}]),this.state.updatePipeline({status:"error"})),!1;const l=a.output.isReady;return a.output={isReady:!0,errorLogged:!1},a.status="done",l||this.notify(),!0}}class Av{constructor({clientService:a,configService:i,state:l,notify:d}){this.clientService=a,this.configService=i,this.state=l,this.notify=d}async execute(a){const i=this.state.steps.generateApiClient;i.status="in_progress",this.notify();try{const l=await v.ensureAppAccessTokenIsValidOrRefresh(this.configService,a.credentials);await this.clientService.generateCoreClient({appPath:a.appPath,appAccessToken:l}),i.status="done"}catch(l){this.state.applyStepEvents([{message:`Failed to generate API client: ${l instanceof Error?l.message:String(l)}`,status:"error"}]),i.status="error"}this.notify()}}class bv{constructor({apiService:a,configService:i,state:l,notify:d}){this.apiService=a,this.configService=i,this.state=l,this.notify=d}async execute(a){try{const i=await v.ensureAppRegistration(this.apiService,this.configService,{name:a.manifest.application.displayName,universalIdentifier:a.manifest.application.universalIdentifier});this.registrationCredentials={clientId:i.clientId,clientSecret:i.clientSecret},this.state.applyStepEvents([{message:i.isNewRegistration?`App registration created: ${a.manifest.application.displayName}`:"Existing app registration found",status:i.isNewRegistration?"success":"info"},...i.isNewRegistration?[{message:"Credentials saved to config.",status:"info"}]:[]])}catch(i){throw this.state.applyStepEvents([{message:`Failed to register app: ${i instanceof Error?i.message:String(i)}`,status:"error"}]),i}this.notify()}}class Uo{constructor(a){this.watcher=null,this.appPath=a.appPath,this.fileFolder=a.fileFolder,this.watchPaths=a.watchPaths,this.handleFileBuilt=a.handleFileBuilt}async start(){const a=(await Promise.all(this.watchPaths.map(async i=>{const l=z.join(this.appPath,i);return await v.pathExists(l)?l:null}))).filter(i=>i!==null);a.length!==0&&(this.watcher=Bo.default.watch(a,{awaitWriteFinish:{stabilityThreshold:100,pollInterval:50}}),this.watcher.on("all",(i,l)=>{i==="addDir"||i==="unlinkDir"||((i==="add"||i==="change")&&this.copyAndNotify(l),i==="unlink"&&this.handleUnlink(l))}))}async close(){await this.watcher?.close()}async copyAndNotify(a){const i=z.relative(this.appPath,a),l=z.join(v.u,i),d=z.join(this.appPath,l);await v.ensureDir(z.dirname(d)),await v.copy(a,d);const E=await Dt.readFile(d),I=nv.default.createHash("md5").update(E).digest("hex");this.handleFileBuilt({fileFolder:this.fileFolder,builtPath:l,sourcePath:i,checksum:I})}async handleUnlink(a){const i=z.relative(this.appPath,a),l=z.join(v.u,i),d=z.join(this.appPath,l);await v.remove(d)}}class Tv{constructor(a){this.process=null,this.pendingErrors=[],this.buffer="",this.hasErrors=!1,this.appPath=a.appPath,this.onErrors=a.onErrors}async start(){const a=Ro.default.join(this.appPath,"node_modules",".bin","tsc");if(!await v.pathExists(a))return;const i=Ro.default.join(this.appPath,"tsconfig.json");this.process=bn.spawn(a,["--watch","--noEmit","--pretty","false","-p",i],{cwd:this.appPath,stdio:["ignore","pipe","pipe"]}),this.process.on("error",()=>{this.process=null}),this.process.stdout?.on("data",l=>{this.handleOutput(l.toString())}),this.process.stderr?.on("data",l=>{this.handleOutput(l.toString())})}close(){this.process?.kill(),this.process=null}handleOutput(a){this.buffer+=a;const i=this.buffer.split(`
|
|
297
|
+
`);this.buffer=i.pop()??"";for(const l of i)this.processLine(l)}processLine(a){if(a.includes("Starting compilation in watch mode...")||a.includes("Starting incremental compilation...")){this.pendingErrors=[];return}if(a.includes("Watching for file changes.")){const l=this.hasErrors;this.hasErrors=this.pendingErrors.length>0,(this.hasErrors||l)&&this.onErrors(this.pendingErrors),this.pendingErrors=[];return}const i=v.parseTscOutputLine(a);i&&this.pendingErrors.push(i)}}const Cv=new Set(["node_modules","dist",".twenty"]);class Fv{constructor(a){this.watcher=null,this.appPath=a.appPath,this.handleChangeDetected=a.handleChangeDetected,this.verbose=a.verbose??!1}async start(){const a=this.appPath;this.watcher=Bo.default.watch(this.appPath,{ignoreInitial:!this.verbose,ignored:i=>{const l=z.relative(a,i);if(l==="")return!1;const d=l.split(Mo.default.sep)[0];return Cv.has(d)||d.startsWith(".")},awaitWriteFinish:{stabilityThreshold:100,pollInterval:50}}),this.watcher.on("all",(i,l)=>{if(i==="addDir"||i==="unlinkDir")return;const d=z.relative(this.appPath,l),E=d.startsWith(v._),I=["package.json","yarn.lock"].includes(d);!(d.endsWith(".ts")||d.endsWith(".tsx"))&&!E&&!I||this.handleChangeDetected(d,i)})}async close(){await this.watcher?.close()}}class Rv{constructor(a){this.manifestWatcher=null,this.logicFunctionsWatcher=null,this.frontComponentsWatcher=null,this.assetWatcher=null,this.dependencyWatcher=null,this.tscWatcher=null,this.state=a.state,this.scheduleSync=a.scheduleSync,this.notify=a.notify,this.onFileBuilt=a.onFileBuilt,this.shouldSkipTypecheck=a.shouldSkipTypecheck,this.verbose=a.verbose??!1}async start(){this.state.steps.startWatchers.status="in_progress",this.notify(),this.manifestWatcher=new Fv({appPath:this.state.appPath,handleChangeDetected:this.handleChangeDetected.bind(this),verbose:this.verbose}),await this.manifestWatcher.start()}async handleWatcherRestarts(a){const{logicFunctions:i,frontComponents:l}=a.filePaths;if(!this.state.steps.startWatchers.output.watchersStarted){this.state.steps.startWatchers.output.watchersStarted=!0,this.state.steps.startWatchers.status="done",await this.startFileWatchers(i,l);return}this.logicFunctionsWatcher?.shouldRestart(i)&&await this.logicFunctionsWatcher.restart(i),this.frontComponentsWatcher?.shouldRestart(l)&&await this.frontComponentsWatcher.restart(l)}async close(){this.tscWatcher?.close(),await Promise.all([this.manifestWatcher?.close(),this.logicFunctionsWatcher?.close(),this.frontComponentsWatcher?.close(),this.assetWatcher?.close(),this.dependencyWatcher?.close()])}handleChangeDetected(a,i){this.state.addEvent({message:`Change detected: ${a}`,status:"info"}),i==="unlink"?this.state.removeEntity(a):this.state.updateEntityStatus(a,"building"),this.notify(),this.scheduleSync()}handleFileBuildError(a){this.state.addEvent({message:"Build failed:",status:"error"});for(const i of a)this.state.addEvent({message:i.error,status:"error"});this.notify()}handleFileBuilt(a){this.verbose&&this.state.addEvent({message:`Successfully built ${a.builtPath}`,status:"success"}),this.state.steps.uploadFiles.output.builtFileInfos.set(a.builtPath,{checksum:a.checksum,builtPath:a.builtPath,sourcePath:a.sourcePath,fileFolder:a.fileFolder,usesSdkClient:a.usesSdkClient}),this.onFileBuilt(a),this.notify(),this.scheduleSync()}async startFileWatchers(a,i){await Promise.all([this.startTscWatcher(),this.startLogicFunctionsWatcher(a),this.startFrontComponentsWatcher(i),this.startAssetWatcher(),this.startDependencyWatcher()])}async startLogicFunctionsWatcher(a){this.logicFunctionsWatcher=v.createLogicFunctionsWatcher({appPath:this.state.appPath,sourcePaths:a,shouldSkipTypecheck:this.shouldSkipTypecheck,handleBuildError:this.handleFileBuildError.bind(this),handleFileBuilt:this.handleFileBuilt.bind(this)}),await this.logicFunctionsWatcher.start()}async startFrontComponentsWatcher(a){this.frontComponentsWatcher=v.createFrontComponentsWatcher({appPath:this.state.appPath,sourcePaths:a,shouldSkipTypecheck:this.shouldSkipTypecheck,handleBuildError:this.handleFileBuildError.bind(this),handleFileBuilt:this.handleFileBuilt.bind(this)}),await this.frontComponentsWatcher.start()}async startAssetWatcher(){this.assetWatcher=new Uo({appPath:this.state.appPath,fileFolder:v.b.PublicAsset,watchPaths:[v._],handleFileBuilt:this.handleFileBuilt.bind(this)}),await this.assetWatcher.start()}async startDependencyWatcher(){this.dependencyWatcher=new Uo({appPath:this.state.appPath,fileFolder:v.b.Dependencies,watchPaths:["package.json","yarn.lock"],handleFileBuilt:this.handleFileBuilt.bind(this)}),this.dependencyWatcher.start()}async startTscWatcher(){this.tscWatcher=new Tv({appPath:this.state.appPath,onErrors:this.handleTypecheckErrors.bind(this)}),await this.tscWatcher.start()}handleTypecheckErrors(a){a.length===0?this.state.addEvent({message:"Typecheck passed",status:"success"}):this.state.applyStepEvents(a.map(i=>({message:`Type error in ${i.file}(${i.line},${i.column}): ${i.text}`,status:"error"}))),this.notify()}}class Pv{constructor({apiService:a,state:i,notify:l,verbose:d}){this.apiService=a,this.state=i,this.notify=l,this.verbose=d??!1}async execute(a){const i=this.state.steps.syncApplication;i.status="in_progress",this.state.updatePipeline({status:"syncing"});const l=[],d=v.manifestUpdateChecksums({manifest:a.manifest,builtFileInfos:a.builtFileInfos});l.push({message:"Manifest checksums set",status:"info"}),await v.writeManifestToOutput(a.appPath,d),l.push({message:"Manifest saved to output directory",status:"info"}),l.push({message:"Syncing manifest",status:"info"});const E=await this.apiService.syncApplication(d);if(E.success){l.push({message:"✓ Synced",status:"success"}),i.output={syncStatus:"synced",error:null},i.status="done",this.state.updatePipeline({status:"synced",error:null}),this.state.updateAllEntitiesStatus("success"),this.state.applyStepEvents(l);return}const I=this.verbose?null:v.formatManifestValidationErrors(E.error);I?(l.push(...I),l.push({message:"Add --verbose to see full error log",status:"info"})):l.push({message:`Sync failed with error: ${v.serializeError(E.error)}`,status:"error"});const N=I?I[0].message:"Sync failed";i.output={syncStatus:"error",error:N},i.status="error",this.state.updatePipeline({status:"error",error:N}),this.state.updateAllEntitiesStatus("error"),this.state.applyStepEvents(l)}}class Lv{constructor({state:a,notify:i,verbose:l}){this.uploadedCount=0,this.failedCount=0,this.totalQueued=0,this.state=a,this.notify=i,this.verbose=l??!1}get isInitialized(){return v.o(this.state.steps.uploadFiles.output.fileUploader)}initialize(a){const i=this.state.steps.uploadFiles;i.output={...i.output,fileUploader:new v.FileUploader({appPath:a.appPath,applicationUniversalIdentifier:a.universalIdentifier})},i.status="in_progress",this.notify(),this.uploadPendingFiles()}uploadFile(a,i,l){const d=this.state.steps.uploadFiles;if(!d.output.fileUploader)return;d.status="in_progress",this.totalQueued++,this.verbose&&this.state.addEvent({message:`Uploading ${a}`,status:"info"}),this.state.updateEntityStatus(i,"uploading"),this.notify();const E=d.output.fileUploader.uploadFile({builtPath:a,fileFolder:l}).then(I=>{I.success?(this.uploadedCount++,this.verbose&&this.state.addEvent({message:`Successfully uploaded ${a}`,status:"success"}),this.state.updateEntityStatus(i,"success")):(this.failedCount++,this.state.addEvent({message:`Failed to upload ${a}: ${I.error}`,status:"error"}))}).catch(I=>{this.failedCount++,this.state.addEvent({message:`Upload failed for ${a}: ${I}`,status:"error"})}).finally(()=>{d.output.activeUploads.delete(E),d.output.activeUploads.size===0&&(this.logUploadSummary(),d.status="done",this.notify())});d.output.activeUploads.add(E)}async waitForUploads(){const a=this.state.steps.uploadFiles;for(;a.output.activeUploads.size>0;)await Promise.all(a.output.activeUploads);a.status="done",this.notify()}logUploadSummary(){if(this.totalQueued===0){this.resetCounters();return}this.failedCount>0&&this.state.addEvent({message:`Uploaded ${this.uploadedCount}/${this.totalQueued} files (${this.failedCount} failed)`,status:"error"}),this.state.addEvent({message:`Successfully uploaded ${this.uploadedCount} file${this.uploadedCount!==1?"s":""}`,status:"success"}),this.resetCounters()}resetCounters(){this.uploadedCount=0,this.failedCount=0,this.totalQueued=0}uploadPendingFiles(){for(const[a,{fileFolder:i,sourcePath:l}]of this.state.steps.uploadFiles.output.builtFileInfos.entries())this.uploadFile(a,l,i)}}class Ov{constructor(a){this.syncTimer=null,this.serverCheckInterval=null,this.skipTypecheck=!0,this.debounceMs=a.debounceMs??200,this.state=a.state,this.verbose=a.verbose??!1,this.apiService=new v.ApiService({disableInterceptors:!0});const i=this.apiService,l=new v.ConfigService;this.clientService=new v.ClientService;const d={state:this.state,notify:()=>this.state.notify()};this.checkServerStep=new Ev({...d,apiService:i}),this.buildManifestStep=new Iv(d),this.registerAppStep=new bv({...d,apiService:i,configService:l}),this.uploadFilesStep=new Lv({...d,verbose:this.verbose}),this.generateApiClientStep=new Av({...d,clientService:this.clientService,configService:l}),this.syncApplicationStep=new Pv({...d,apiService:i,verbose:this.verbose}),this.startWatchersStep=new Rv({...d,scheduleSync:this.scheduleSync.bind(this),onFileBuilt:this.handleFileBuilt.bind(this),shouldSkipTypecheck:()=>this.skipTypecheck,verbose:this.verbose})}async start(){const a=Mo.default.join(this.state.appPath,v.u);await v.ensureDir(a),await v.emptyDir(a),this.verbose||(this.state.addEvent({message:"Add --verbose to see fully detailed logs",status:"info"}),this.state.notify()),await this.startWatchersStep.start(),this.serverCheckInterval=setInterval(()=>{this.checkServerHealth()},2e3)}async close(){this.serverCheckInterval&&clearInterval(this.serverCheckInterval),await this.startWatchersStep.close()}getState(){return this.state}handleFileBuilt(a){this.state.steps.uploadFiles.output.fileUploader&&this.uploadFilesStep.uploadFile(a.builtPath,a.sourcePath,a.fileFolder)}async checkServerHealth(){const a=this.state.steps.checkServer.output.isReady;await this.checkServerStep.execute()&&!a&&this.scheduleSync()}scheduleSync(){this.syncTimer&&clearTimeout(this.syncTimer),this.syncTimer=setTimeout(()=>{this.syncTimer=null,this.performSync()},this.debounceMs)}async performSync(){if(!this.state.pipeline.isSyncing){this.state.updatePipeline({isSyncing:!0});try{await this.runSyncPipeline()}catch(a){this.state.addEvent({message:`Sync failed with error: ${v.serializeError(a)}`,status:"error"}),this.state.updatePipeline({status:"error"}),this.state.updateAllEntitiesStatus("error")}finally{this.state.updatePipeline({isSyncing:!1})}}}async runSyncPipeline(){if(!await this.checkServerStep.execute())return;this.state.steps.ensureValidTokens.status="done";const i=await this.buildManifestStep.execute({appPath:this.state.appPath});if(!i||(await this.startWatchersStep.handleWatcherRestarts(i),!this.uploadFilesStep.isInitialized&&!await this.initializePipeline(i.manifest)))return;const l=this.state.hasObjectsOrFieldsChanged(i.manifest);await this.uploadFilesStep.waitForUploads(),await this.syncApplicationStep.execute({manifest:i.manifest,builtFileInfos:this.state.steps.uploadFiles.output.builtFileInfos,appPath:this.state.appPath}),this.state.steps.syncApplication.status!=="error"&&l&&(await this.generateApiClientStep.execute({appPath:this.state.appPath,credentials:this.registerAppStep.registrationCredentials}),this.skipTypecheck=!1)}async initializePipeline(a){await this.registerAppStep.execute({manifest:a});const i=await this.apiService.createDevelopmentApplication({universalIdentifier:a.application.universalIdentifier,name:a.application.displayName});return!i.success||!i.data?(this.state.applyStepEvents([{message:"Failed to install development application",status:"error"},{message:JSON.stringify(i,null,2),status:"error"}]),this.state.updatePipeline({status:"error"}),!1):(this.state.steps.resolveApplication.output={applicationId:i.data.id,universalIdentifier:i.data.universalIdentifier},this.state.steps.resolveApplication.status="done",this.state.applyStepEvents([{message:"Application installed",status:"success"}]),this.uploadFilesStep.initialize({appPath:this.state.appPath,universalIdentifier:a.application.universalIdentifier}),!0)}}const Uv={objects:v.e.Object,fields:v.e.Field,logicFunctions:v.e.LogicFunction,frontComponents:v.e.FrontComponent,roles:v.e.Role,skills:v.e.Skill,views:v.e.View,navigationMenuItems:v.e.NavigationMenuItem,pageLayouts:v.e.PageLayout,pageLayoutTabs:v.e.PageLayoutTab},Nv=200,Dv={pending:["building","uploading","success","error"],building:["pending","uploading","success","error"],uploading:["pending","success","error"],success:["pending","building","uploading","error"],error:["pending","building","uploading","success"]};class $v{constructor(a){this.eventIdCounter=0,this.appPath=a.appPath,this.frontendUrl=a.frontendUrl,this.previousObjectsFieldsFingerprint=null,this.steps={checkServer:{output:{isReady:!1,errorLogged:!1},status:"idle"},ensureValidTokens:{output:{},status:"idle"},resolveApplication:{output:{applicationId:null,universalIdentifier:null},status:"idle"},buildManifest:{output:{result:null},status:"idle"},uploadFiles:{output:{fileUploader:null,builtFileInfos:new Map,activeUploads:new Set},status:"idle"},generateApiClient:{output:{},status:"idle"},syncApplication:{output:{syncStatus:"idle",error:null},status:"idle"},startWatchers:{output:{watchersStarted:!1},status:"idle"}},this.pipeline={status:"idle",isSyncing:!1,error:null,appName:null},this.entities=new Map,this.events=[]}notify(){this.onChange?.()}updatePipeline(a){Object.assign(this.pipeline,a),this.notify()}applyStepEvents(a){const i=a.map(l=>(this.eventIdCounter+=1,{...l,id:this.eventIdCounter,timestamp:new Date,message:l.message.slice(0,5e3)}));this.events=[...this.events.slice(-(Nv-i.length)),...i]}addEvent(a){this.applyStepEvents([a])}updateEntityStatus(a,i){const l=new Map(this.entities),d=l.get(a);d?.status&&!Dv[d.status].includes(i)||(l.set(a,d?{...d,status:i}:{name:a,path:a,status:i}),this.entities=l)}removeEntity(a){const i=new Map(this.entities);i.delete(a),this.entities=i}updateAllEntitiesStatus(a){const i=new Map(this.entities);for(const[l,d]of i)i.set(l,{...d,status:a});this.entities=i}updateEntitiesFromManifest(a){const i=new Map;for(const[d,E]of Object.entries(a)){const I=Uv[d];if(I)for(const N of E)i.set(N,I)}const l=new Map(this.entities);for(const[d,E]of l)l.set(d,{...E,type:i.get(d)});for(const[d,E]of i)l.has(d)||l.set(d,{name:d,path:d,type:E,status:"pending"});this.entities=l}hasObjectsOrFieldsChanged(a){const i=JSON.stringify({objects:a.objects,fields:a.fields}),l=i!==this.previousObjectsFieldsFingerprint;return this.previousObjectsFieldsFingerprint=i,l}}const ke={idle:{color:"gray",icon:"○"},in_progress:{color:"yellow",icon:"spinner"},uploading:{color:"cyan",icon:"upload"},done:{color:"green",icon:"✓"},error:{color:"red",icon:"✗"}},Wv=f=>({idle:"idle",in_progress:"in_progress",done:"done",error:"error"})[f],Mv=f=>({pending:"idle",building:"in_progress",uploading:"uploading",success:"done",error:"error"})[f],Bv=f=>({idle:"idle",building:"in_progress",syncing:"in_progress",synced:"done",error:"error"})[f],kv={idle:"Idle",building:"Building...",syncing:"Syncing...",synced:"Synced",error:"Error"},Vi=["⠋","⠙","⠹","⠸","⠼","⠴","⠦","⠧","⠇","⠏"],Yi=["↑","⇡","↟","⤒"],qo={[v.e.Object]:"Objects",[v.e.Field]:"Fields",[v.e.LogicFunction]:"Logic functions",[v.e.FrontComponent]:"Front components",[v.e.Role]:"Roles",[v.e.Skill]:"Skills",[v.e.View]:"Views",[v.e.NavigationMenuItem]:"Navigation menu items",[v.e.PageLayout]:"Page layouts",[v.e.PageLayoutTab]:"Page layout tabs",[v.e.Agent]:"Agents"},Ho=Object.keys(qo),Gv={info:"gray",success:"green",error:"red",warning:"yellow"},qv=f=>f.toLocaleTimeString("en-US",{hour12:!1,hour:"2-digit",minute:"2-digit",second:"2-digit"}),Hv=(f,a=40)=>{if(f.length<=a)return f;const i=f.split("/");return i.length<=2?f:`.../${i.slice(-2).join("/")}`},zv=f=>{const a=new Map;for(const i of Ho)a.set(i,[]);for(const i of f.values()){if(!i.type)continue;const l=a.get(i.type)??[];l.push(i),a.set(i.type,l)}return a},Kv=f=>!f.frontendUrl||!f.steps.resolveApplication.output.universalIdentifier?null:`${f.frontendUrl}/settings/applications`,Vv=f=>f.some(a=>a==="error")?"error":f.some(a=>a==="in_progress")?"in_progress":f.every(a=>a==="done")?"done":"idle",Yv=f=>{const a=[...f.entities.values()],i=a.some(I=>I.status==="error"),l=a.some(I=>I.status==="building"),d=a.length>0&&a.every(I=>I.status==="uploading"||I.status==="success"),E=i?"error":l?"in_progress":d?"done":"idle";return[{label:"Application Initialization",status:Vv([f.steps.checkServer.status,f.steps.ensureValidTokens.status,f.steps.resolveApplication.status])},{label:"Resources Build",status:E},{label:"Resources Upload",status:f.steps.uploadFiles.status},{label:"Manifest Build",status:f.steps.buildManifest.status},{label:"Application Synchronization",status:f.steps.syncApplication.status},{label:"Api Client Generation",status:f.steps.generateApiClient.status}]},zo=120,Zv=Math.round(200/zo),No=()=>{const f=Math.floor(Date.now()/zo);return{spinnerFrame:Vi[f%Vi.length],uploadFrame:Yi[Math.floor(f/Zv)%Yi.length]}},Zi=f=>{const a=ke[f];return a.icon==="spinner"?No().spinnerFrame:a.icon==="upload"?No().uploadFrame:a.icon},Ko=ko.default.createContext(null),jv=Ko.Provider,dt=()=>{const f=ko.default.useContext(Ko);if(!f)throw new Error("useInk must be used within InkProvider");return f},Jv=({uiStatus:f})=>{const{Text:a}=dt(),i=Zi(f),l=ke[f];return P.jsxs(a,{color:l.color,children:[i," "]})},Xv=({entity:f})=>{const{Box:a,Text:i}=dt();return P.jsxs(a,{children:[P.jsx(Jv,{uiStatus:Mv(f.status)}),P.jsx(i,{children:f.name}),f.path!==f.name&&P.jsxs(i,{dimColor:!0,children:[" (",Hv(f.path),")"]})]})},Qv=({type:f,entities:a})=>{const{Box:i,Text:l}=dt();return a.length===0?null:P.jsxs(i,{flexDirection:"column",marginTop:1,children:[P.jsx(l,{bold:!0,dimColor:!0,children:qo[f]}),a.map(d=>P.jsx(Xv,{entity:d},d.path))]})},em=()=>{const{Box:f,Text:a}=dt();return P.jsx(f,{marginTop:1,children:P.jsxs(a,{dimColor:!0,children:[P.jsx(a,{color:ke.idle.color,children:ke.idle.icon})," ","pending"," ",P.jsx(a,{color:ke.in_progress.color,children:Vi[0]})," ","building"," ",P.jsx(a,{color:ke.uploading.color,children:Yi[0]})," ","uploading"," ",P.jsx(a,{color:ke.done.color,children:ke.done.icon})," ","success"," ",P.jsx(a,{color:ke.error.color,children:ke.error.icon})," ","error"]})})},tm=({state:f})=>{const{Text:a}=dt(),i=Bv(f.pipeline.status),l=Zi(i),d=ke[i],E=kv[f.pipeline.status];return P.jsxs(a,{color:d.color,children:[l," ",E]})},nm=({label:f,status:a})=>{const{Box:i,Text:l}=dt(),d=Wv(a),E=Zi(d),I=ke[d];return P.jsxs(i,{children:[P.jsxs(l,{dimColor:!0,children:[f,": "]}),P.jsxs(l,{color:I.color,children:[E," ",a.replace("_"," ")]})]})},rm=({state:f})=>{const{Box:a,Text:i}=dt(),l=zv(f.entities),d=Kv(f);return P.jsxs(a,{flexDirection:"column",borderStyle:"classic",borderColor:"gray",paddingX:1,children:[P.jsx(i,{bold:!0,color:"cyan",children:"Application"}),P.jsxs(a,{marginLeft:2,flexDirection:"column",children:[P.jsxs(a,{children:[P.jsx(i,{dimColor:!0,children:"Name: "}),P.jsx(i,{bold:!0,children:f.pipeline.appName??"Loading..."})]}),P.jsxs(a,{children:[P.jsx(i,{dimColor:!0,children:"Overall Status: "}),P.jsx(tm,{state:f})]}),d&&P.jsxs(a,{children:[P.jsx(i,{dimColor:!0,children:"Open:"}),P.jsxs(i,{bold:!0,color:"cyan",children:[" ",d]})]})]}),P.jsx(a,{marginLeft:2,flexDirection:"column",marginTop:1,children:Yv(f).map(E=>P.jsx(nm,{label:E.label,status:E.status},E.label))}),P.jsx(a,{marginLeft:2,flexDirection:"column",children:Ho.map(E=>{const I=l.get(E)??[];return P.jsx(Qv,{type:E,entities:I},E)})})]})},im=({event:f})=>{const{Box:a,Text:i}=dt(),l=Gv[f.status],d=qv(f.timestamp);return P.jsxs(a,{children:[P.jsxs(i,{dimColor:!0,children:[d," "]}),P.jsx(i,{color:l,children:f.message})]})},sm=new Set(["building","syncing"]),Do=120,am=80,om=({uiStateManager:f})=>{const{Box:a,Static:i}=dt(),[,l]=Et.useReducer(q=>q+1,0),d=Et.useRef(null),E=Et.useRef(0),I=Et.useCallback(()=>{d.current&&clearTimeout(d.current),d.current=setTimeout(()=>{d.current=null,E.current=Date.now(),l()},am)},[]);Et.useEffect(()=>f.subscribe(()=>{I()}),[f,I]),Et.useEffect(()=>{const q=setInterval(()=>{const te=f.getSnapshot();sm.has(te.pipeline.status)&&(Date.now()-E.current<Do||l())},Do);return()=>clearInterval(q)},[f]),Et.useEffect(()=>()=>{d.current&&clearTimeout(d.current)},[]);const N=f.getSnapshot();return P.jsxs(P.Fragment,{children:[P.jsx(i,{items:N.events,children:q=>P.jsx(im,{event:q},q.id)}),P.jsxs(a,{marginTop:1,flexDirection:"column",children:[P.jsx(rm,{state:N}),P.jsx(em,{})]})]})},um=async f=>{const a=await import("ink"),{render:i,Box:l,Text:d,Static:E}=a,{unmount:I}=i(P.jsx(jv,{value:{Box:l,Text:d,Static:E},children:P.jsx(om,{uiStateManager:f})}),{incrementalRendering:!0});return{unmount:I}};class lm{constructor(a){this.listeners=new Set,this.pendingNotify=!1,this.orchestratorState=a}getSnapshot(){return this.orchestratorState}subscribe(a){return this.listeners.add(a),a(this.orchestratorState),()=>this.listeners.delete(a)}notify(){this.pendingNotify||(this.pendingNotify=!0,queueMicrotask(()=>{this.pendingNotify=!1;for(const a of this.listeners)a(this.orchestratorState)}))}}class cm{constructor(){this.orchestrator=null,this.unmountUI=null}async close(){this.unmountUI?.(),await this.orchestrator?.close()}getOrchestrator(){return this.orchestrator}async execute(a){const i=a.appPath??ee;await en(i);const l=await new v.ConfigService().getConfig(),d=new $v({appPath:i,frontendUrl:l.apiUrl});if(!a.headless){const E=new lm(d);d.onChange=()=>E.notify();const{unmount:I}=await um(E);this.unmountUI=I}this.orchestrator=new Ov({state:d,verbose:a.verbose}),await this.orchestrator.start(),a.headless||this.setupGracefulShutdown()}setupGracefulShutdown(){const a=()=>void this.close().then(()=>process.exit(0));process.on("SIGINT",a),process.on("SIGTERM",a)}}class fm{async execute({appPath:a=ee,postInstall:i=!1,preInstall:l=!1,functionUniversalIdentifier:d,functionName:E,payload:I="{}"}){let N;try{N=JSON.parse(I)}catch{console.error(_.default.red("Invalid JSON payload. Please provide valid JSON.")),process.exit(1)}const q=i?"post install":l?"pre install":d??E;console.log(_.default.blue(`🚀 Executing function "${q}"...`)),console.log(_.default.gray(` Payload: ${JSON.stringify(N)}
|
|
298
|
+
`));const te=i?{appPath:a,postInstall:!0,payload:N}:l?{appPath:a,preInstall:!0,payload:N}:d?{appPath:a,functionUniversalIdentifier:d,payload:N}:{appPath:a,functionName:E,payload:N},X=await v.functionExecute(te);if(!X.success){switch(X.error.code){case v.APP_ERROR_CODES.MANIFEST_NOT_FOUND:{console.error(_.default.red("Failed to build manifest."));break}case v.FUNCTION_ERROR_CODES.FETCH_FUNCTIONS_FAILED:{console.error(_.default.red("Failed to fetch functions:"),X.error.message);break}case v.FUNCTION_ERROR_CODES.FUNCTION_NOT_FOUND:{console.error(_.default.red(X.error.message),`
|
|
299
|
+
`);const k=X.error.details?.availableFunctions??[];k.length>0?(console.log(_.default.cyan("Available functions:")),k.forEach(W=>{console.log(` - ${_.default.white(W.name)} (${W.universalIdentifier})`)})):console.log(_.default.yellow("No functions found for this application. Have you synced your app with `twenty dev`?"));break}case v.FUNCTION_ERROR_CODES.EXECUTION_FAILED:{console.error(_.default.red("Execution failed:"),X.error.message);break}default:console.error(_.default.red(X.error.message))}process.exit(1)}const K=X.data;console.log(_.default.cyan("─".repeat(60))),console.log(_.default.cyan("Execution Result")),console.log(_.default.cyan("─".repeat(60)));const Ze=K.status==="SUCCESS"?_.default.green:_.default.red;console.log(`${_.default.bold("Status:")} ${Ze(K.status)}`),console.log(`${_.default.bold("Duration:")} ${K.duration}ms
|
|
300
|
+
`),v.o(K.data)&&(console.log(_.default.bold("Data:")),console.log(_.default.white(JSON.stringify(K.data,null,2)))),K.error&&(console.log(_.default.bold.red("Error:")),console.log(_.default.red(` Type: ${K.error.errorType}`)),console.log(_.default.red(` Message: ${K.error.errorMessage}
|
|
301
|
+
`)),K.error.stackTrace&&(console.log(_.default.gray("Stack trace:")),console.log(_.default.gray(K.error.stackTrace)))),K.logs&&(console.log(_.default.bold("Logs:")),console.log(_.default.gray(K.logs))),console.log(_.default.cyan("─".repeat(60))),K.status!=="SUCCESS"&&process.exit(1)}}class hm{async execute(a){const i=a.appPath??ee;await en(i),console.log(_.default.blue("Installing application...")),console.log(_.default.gray(`App path: ${i}
|
|
302
|
+
`));const l=await v.appInstall({appPath:i,remote:a.remote});l.success||(console.error(_.default.red(l.error.message)),process.exit(1)),console.log(_.default.green("✓ Application installed"))}}class dm{constructor(){this.apiService=new v.ApiService}async execute({appPath:a=ee,functionUniversalIdentifier:i,functionName:l}){try{const d=await v.readManifestFromFile(a);d||process.exit(1),this.logWatchInfo({appName:d.application.displayName,functionUniversalIdentifier:i,functionName:l}),await this.apiService.subscribeToLogs({applicationUniversalIdentifier:d.application.universalIdentifier,functionUniversalIdentifier:i,functionName:l})}catch(d){console.error(_.default.red("Watch logs failed:"),d instanceof Error?d.message:d),process.exit(1)}}logWatchInfo({appName:a,functionUniversalIdentifier:i,functionName:l}){const d=a??"Twenty Application",E=i||l?`function "${i||l}"`:"functions";console.log(_.default.blue(`🚀 Watching ${d} ${E} logs:
|
|
303
|
+
`))}}class pm{async execute(a){const i=a.appPath??ee;await en(i),console.log(_.default.blue("Publishing to npm...")),console.log(_.default.gray(`App path: ${i}
|
|
304
|
+
`));const l=await v.appPublish({appPath:i,npmTag:a.tag,onProgress:d=>console.log(_.default.gray(d))});l.success||(console.error(_.default.red(l.error.message)),process.exit(1)),console.log(_.default.green("✓ Published to npm successfully"))}}const gm=f=>{try{return new URL(f).hostname.replace(/\./g,"-")}catch{return"remote"}},$o=async(f,a)=>a?((await v.authLogin({apiKey:a,apiUrl:f})).success||(console.error(_.default.red("✗ Authentication failed.")),process.exit(1)),"API key"):vm(f),vm=async f=>{await Ge.default.prompt([{type:"input",name:"confirm",message:"Press Enter to open the browser for authentication..."}]);const a=await v.authLoginOAuth({apiUrl:f});if(a.success)return"OAuth";console.log(_.default.yellow(a.error.message));const i=await Ge.default.prompt([{type:"password",name:"apiKey",message:"API Key:",mask:"*",validate:d=>d.length>0||"API key is required"}]);return(await v.authLogin({apiKey:i.apiKey,apiUrl:f})).success||(console.error(_.default.red("✗ Authentication failed.")),process.exit(1)),"API key"},mm=f=>{const a=f.command("remote").description("Manage remote Twenty servers");a.command("add").description("Add a new remote or re-authenticate an existing one").option("--as <name>","Name for this remote").option("--api-key <apiKey>","API key for non-interactive auth").option("--api-url <apiUrl>","Server URL").option("--local","Connect to a local Twenty server (auto-detect)").option("--test","Write to config.test.json (for integration tests)").action(async i=>{const l=i.test?v.getConfigPath(!0):void 0,d=new v.ConfigService(l?{configPath:l}:void 0),E=await d.getRemotes();if(i.as!==void 0&&E.includes(i.as)){const te=await d.getConfigForRemote(i.as);v.ConfigService.setActiveRemote(i.as);const X=await $o(te.apiUrl,i.apiKey);console.log(_.default.green(`✓ Re-authenticated "${i.as}" via ${X}.`)),await d.setDefaultRemote(i.as),console.log(_.default.green(`✓ Default remote set to "${i.as}".`));return}let I=i.apiUrl;if(!I){const te=await v.detectLocalServer();i.local?(te||(console.error(_.default.red(`No local Twenty server found.
|
|
305
|
+
Start one with: yarn twenty server start`)),process.exit(1)),console.log(_.default.gray(`Found local server at ${te}`)),I=te):I=(await Ge.default.prompt([{type:"input",name:"apiUrl",message:"Twenty server URL:",validate:X=>{try{return new URL(X),!0}catch{return"Please enter a valid URL"}}}])).apiUrl}const N=i.as??gm(I);v.ConfigService.setActiveRemote(N);const q=await $o(I,i.apiKey);console.log(_.default.green(`✓ Remote "${N}" added (${I}) via ${q}.`)),await d.setDefaultRemote(N),console.log(_.default.green(`✓ Default remote set to "${N}".`))}),a.command("list").description("List all configured remotes").action(async()=>{const i=new v.ConfigService,l=await i.getRemotes(),d=await i.getDefaultRemote();if(l.length===0){console.log("No remotes configured."),console.log("Use 'twenty remote add' to add one.");return}console.log("");for(const E of l){const I=await i.getConfigForRemote(E),N=I.twentyCLIAccessToken?"oauth":I.apiKey?"api-key":"none",q=E===d,te=q?"* ":" ",X=q?_.default.bold(E):E;console.log(`${te}${X} ${_.default.gray(I.apiUrl)} [${N}]`)}console.log(`
|
|
306
|
+
`,_.default.gray("Use 'twenty remote switch <name>' to change default"))}),a.command("switch [name]").description("Set the default remote").action(async i=>{const l=new v.ConfigService,d=i??(await Ge.default.prompt([{type:"list",name:"remote",message:"Select default remote:",choices:await l.getRemotes()}])).remote;(await l.getRemotes()).includes(d)||(console.error(_.default.red(`Remote "${d}" not found.`)),process.exit(1)),await l.setDefaultRemote(d),console.log(_.default.green(`✓ Default remote set to "${d}".`))}),a.command("status").description("Show active remote and authentication status").action(async()=>{const i=new v.ConfigService,l=new v.ApiService,d=v.ConfigService.getActiveRemote(),E=await i.getConfig(),I=E.twentyCLIAccessToken?"oauth":E.apiKey?"api-key":"none";if(console.log(` Remote: ${_.default.bold(d)}`),console.log(` Server: ${E.apiUrl}`),I==="none"){console.log(` Auth: ${_.default.yellow("not configured")}`);return}const{authValid:N}=await l.validateAuth(),q=N?_.default.green(`${I} (valid)`):_.default.red(`${I} (invalid)`);console.log(` Auth: ${q}`)}),a.command("remove <name>").description("Remove a remote").action(async i=>{const l=new v.ConfigService;(await l.getRemotes()).includes(i)||(console.error(_.default.red(`Remote "${i}" not found.`)),process.exit(1)),v.ConfigService.setActiveRemote(i),await l.clearConfig(),console.log(_.default.green(`✓ Remote "${i}" removed.`))})},ym=f=>{const a=f.command("server").description("Manage a local Twenty server instance");a.command("start").description("Start a local Twenty server").option("-p, --port <port>","HTTP port").option("--test","Start a separate test instance (port 2021)").action(async i=>{const l=i.test?v.DEFAULT_TEST_PORT:v.DEFAULT_PORT,d=i.port?parseInt(i.port,10):l;(isNaN(d)||d<1||d>65535)&&(console.error(_.default.red("Invalid port number.")),process.exit(1));const E=await v.serverStart({port:d,test:i.test,onProgress:I=>console.log(_.default.gray(I))});E.success||(console.error(_.default.red(E.error.message)),process.exit(1))}),a.command("stop").description("Stop the local Twenty server").option("--test","Stop the test instance").action(i=>{const l=i.test?v.TEST_CONTAINER_NAME:v.CONTAINER_NAME;if(!v.containerExists(l)){console.log(_.default.yellow("No Twenty server container found."));return}bn.execSync(`docker stop ${l}`,{stdio:"ignore"}),console.log(_.default.green("Twenty server stopped."))}),a.command("logs").description("Stream Twenty server logs").option("-n, --lines <lines>","Number of lines to show","50").option("--test","Show logs for the test instance").action(i=>{const l=i.test?v.TEST_CONTAINER_NAME:v.CONTAINER_NAME;if(!v.containerExists(l)){console.log(_.default.yellow("No Twenty server container found."));return}try{bn.spawnSync("docker",["logs","-f","--tail",i.lines,l],{stdio:"inherit"})}catch{}}),a.command("status").description("Show Twenty server status").option("--test","Show status of the test instance").action(async i=>{const l=i.test?v.TEST_CONTAINER_NAME:v.CONTAINER_NAME,d=i.test?v.DEFAULT_TEST_PORT:v.DEFAULT_PORT;if(!v.containerExists(l)){console.log(` Status: ${_.default.gray("not created")}`),console.log(_.default.gray(` Run 'yarn twenty server start${i.test?" --test":""}' to create one.`));return}const E=v.isContainerRunning(l),I=E?v.getContainerPort(l):d,N=E?await v.checkServerHealth(I):!1,q=N?_.default.green("running (healthy)"):E?_.default.yellow("running (starting...)"):_.default.gray("stopped");console.log(` Status: ${q}`),console.log(` URL: http://localhost:${I}`),N&&console.log(_.default.gray(" Login: tim@apple.dev / tim@apple.dev"))}),a.command("reset").description("Delete all data and start fresh").option("--test","Reset the test instance").action(i=>{const l=i.test?v.TEST_CONTAINER_NAME:v.CONTAINER_NAME,d=i.test?"twenty-app-dev-test-data":"twenty-app-dev-data",E=i.test?"twenty-app-dev-test-storage":"twenty-app-dev-storage";v.containerExists(l)&&bn.execSync(`docker rm -f ${l}`,{stdio:"ignore"});try{bn.execSync(`docker volume rm ${d} ${E}`,{stdio:"ignore"})}catch{}console.log(_.default.green("Twenty server data reset.")),console.log(_.default.gray(`Run 'yarn twenty server start${i.test?" --test":""}' to start a fresh instance.`))})};class _m{async execute(a){const i=a.appPath??ee;await en(i),console.log(_.default.blue("Syncing application...")),console.log(_.default.gray(`App path: ${i}
|
|
307
|
+
`));const l=await v.appDevOnce({appPath:i,verbose:a.verbose,onProgress:d=>console.log(_.default.gray(d))});l.success||(console.error(_.default.red(l.error.message)),process.exit(1)),console.log(_.default.green(`
|
|
308
|
+
✓ Synced ${l.data.applicationDisplayName} (${l.data.fileCount} file${l.data.fileCount===1?"":"s"})`)),console.log(_.default.gray(`Output: ${l.data.outputDir}`))}}const wm=f=>`${_.default.cyan(f.file)}:${_.default.yellow(String(f.line))}:${_.default.yellow(String(f.column+1))} - ${_.default.red("error")} ${f.text}`;class Sm{async execute(a){const i=a.appPath??ee;console.log(_.default.blue("Running type check...")),console.log(_.default.gray(`App path: ${i}
|
|
309
|
+
`));const l=await v.runTypecheck(i);l.length===0&&(console.log(_.default.green("✓ No type errors found")),process.exit(0));for(const d of l)console.log(wm(d));console.log(`
|
|
310
|
+
`,_.default.red(`✗ Found ${l.length} type error${l.length===1?"":"s"}`)),process.exit(1)}}class xm{async execute({appPath:a=ee,askForConfirmation:i}){console.log(_.default.blue("🚀 Uninstall Twenty Application")),console.log(_.default.gray(`📁 App Path: ${a}
|
|
311
|
+
`)),i&&!await this.confirmationPrompt()&&(console.error(_.default.red("⛔️ Aborting uninstall")),process.exit(1));const l=await v.appUninstall({appPath:a});return l.success?(console.log(_.default.green("✅ Application uninstalled successfully")),{success:!0,data:void 0}):(console.error(_.default.red("❌ Uninstall failed:"),l.error.message),{success:!1,error:l.error.message})}async confirmationPrompt(){const{confirmation:a}=await Ge.default.prompt([{type:"confirm",name:"confirmation",message:"Are you sure you want to uninstall this application?",default:!1}]);return a}}const Im=f=>{const a=new wv,i=new cm,l=new _m,d=new hm,E=new pm,I=new Sm,N=new xm,q=new Sv,te=new xv,X=new mv,K=new dm,Ze=new fm;f.command("dev [appPath]").description("Build and sync local application changes (watches by default; use --once for a one-shot sync)").option("-w, --watch","Watch source files and re-sync on every change (default behavior)").option("-o, --once","Build and sync once, then exit (useful for CI, scripts, and pre-commit hooks)").option("-v, --verbose","Show detailed logs").option("-d, --debug","Show detailed logs (alias for --verbose)").action(async(k,W)=>{W.once&&W.watch&&(console.error(_.default.red("Error: --once and --watch are mutually exclusive. Watch mode is the default.")),process.exit(1));const Pe={appPath:ht(k),verbose:W.verbose||W.debug};if(W.once){await l.execute(Pe);return}await i.execute(Pe)}),f.command("build [appPath]").description("Build, sync, and generate API client into .twenty/output/").option("--tarball","Also pack into a .tgz tarball").action(async(k,W)=>{await a.execute({appPath:ht(k),tarball:W.tarball})}),f.command("install [appPath]").description("Install a deployed application on the connected server").option("-r, --remote <name>","Install on a specific remote").action(async(k,W)=>{await d.execute({appPath:ht(k),remote:W.remote})}),f.command("deploy [appPath]").description("Build and upload application to a Twenty server").option("-r, --remote <name>","Deploy to a specific remote").action(async(k,W)=>{await te.execute({appPath:ht(k),remote:W.remote})}),f.command("publish [appPath]").description("Build and publish to npm").option("--tag <tag>","npm dist-tag (e.g. beta, next)").action(async(k,W)=>{await E.execute({appPath:ht(k),tag:W.tag})}),f.command("catalog-sync").description("Trigger marketplace catalog sync on the server").option("-r, --remote <name>","Sync on a specific remote").action(async k=>{await q.execute({remote:k.remote})}),f.command("typecheck [appPath]").description("Run TypeScript type checking on the application").action(async k=>{await I.execute({appPath:ht(k)})}),f.command("uninstall [appPath]").description("Uninstall application from Twenty").option("-y, --yes","Skip confirmation prompt").action(async(k,W)=>{try{const Pe=await N.execute({appPath:ht(k),askForConfirmation:!W?.yes});process.exit(Pe.success?0:1)}catch{process.exit(1)}}),mm(f),ym(f),f.command("add [entityType]").option("--path <path>","Path in which the entity should be created.").description(`Add a new entity to your application (${Object.values(v.e).join("|")})`).action(async(k,W)=>{await X.execute(k,W?.path)}),f.command("exec [appPath]").option("--postInstall","Execute post-install logic function if defined").option("--preInstall","Execute pre-install logic function if defined").option("-p, --payload <payload>","JSON payload to send to the function","{}").option("-u, --functionUniversalIdentifier <functionUniversalIdentifier>","Universal ID of the function to execute").option("-n, --functionName <functionName>","Name of the function to execute").description("Execute a logic function with a JSON payload").action(async(k,W)=>{!W?.postInstall&&!W?.preInstall&&!W?.functionUniversalIdentifier&&!W?.functionName&&(console.error(_.default.red("Error: Either --postInstall, --preInstall, --functionName (-n), or --functionUniversalIdentifier (-u) is required.")),process.exit(1)),await Ze.execute({...W,payload:W?.payload??"{}",appPath:ht(k)})}),f.command("logs [appPath]").option("-u, --functionUniversalIdentifier <functionUniversalIdentifier>","Only show logs for the function with this universal ID").option("-n, --functionName <functionName>","Only show logs for the function with this name").description("Watch application function logs").action(async(k,W)=>{await K.execute({...W,appPath:ht(k)})})};tv.inspect.defaultOptions.depth=10;const tn=new Wo.Command;tn.name("twenty").description("CLI for Twenty application development").version(Go.version);tn.option("-r, --remote <name>","Use a specific remote (overrides the default set by remote switch)");tn.hook("preAction",async f=>{let i=(f.optsWithGlobals?f.optsWithGlobals():f.opts()).remote;i?console.log(_.default.gray(`Using remote: ${i}`)):i=await new v.ConfigService().getDefaultRemote(),v.ConfigService.setActiveRemote(i)});Im(tn);tn.exitOverride();try{tn.parse()}catch(f){f instanceof Wo.CommanderError&&process.exit(f.exitCode),f instanceof Error&&(console.error(_.default.red("Error:"),f.message),process.exit(1))}
|