@budibase/shared-core 2.27.4 → 2.27.6
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/filters.d.ts +1 -1
- package/dist/index.js.map +1 -1
- package/dist/index.js.meta.json +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
package/dist/index.js.map
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../../node_modules/dayjs/dayjs.min.js", "../../../node_modules/lodash/lodash.min.js", "../../../node_modules/lodash/fp/_mapping.js", "../../../node_modules/lodash/fp/placeholder.js", "../../../node_modules/lodash/fp/_baseConvert.js", "../../../node_modules/lodash/fp.js", "../src/index.ts", "../src/constants/api.ts", "../../types/src/sdk/events/event.ts", "../../types/src/sdk/cli/constants.ts", "../../types/src/documents/app/automation.ts", "../../types/src/documents/document.ts", "../../types/src/documents/global/plugin.ts", "../../types/src/documents/global/quotas.ts", "../src/constants/fields.ts", "../src/constants/index.ts", "../src/filters.ts", "../src/helpers/index.ts", "../src/helpers/helpers.ts", "../src/helpers/integrations.ts", "../src/helpers/cron.ts", "../src/helpers/schema.ts", "../src/utils.ts", "../src/sdk/index.ts", "../src/sdk/documents/applications.ts", "../src/sdk/documents/users.ts", "../src/table.ts"],
|
|
4
|
-
"sourcesContent": ["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));", "/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n(function(){function n(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function t(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function r(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&t(n[r],r,n)!==!1;);return n}function e(n,t){for(var r=null==n?0:n.length;r--&&t(n[r],r,n)!==!1;);return n}function u(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return!1;\nreturn!0}function i(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function o(n,t){return!!(null==n?0:n.length)&&y(n,t,0)>-1}function f(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return!0;return!1}function c(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function a(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function l(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);\nreturn r}function s(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function h(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return!0;return!1}function p(n){return n.split(\"\")}function _(n){return n.match($t)||[]}function v(n,t,r){var e;return r(n,function(n,r,u){if(t(n,r,u))return e=r,!1}),e}function g(n,t,r,e){for(var u=n.length,i=r+(e?1:-1);e?i--:++i<u;)if(t(n[i],i,n))return i;return-1}function y(n,t,r){return t===t?Z(n,t,r):g(n,b,r)}function d(n,t,r,e){\nfor(var u=r-1,i=n.length;++u<i;)if(e(n[u],t))return u;return-1}function b(n){return n!==n}function w(n,t){var r=null==n?0:n.length;return r?k(n,t)/r:Cn}function m(n){return function(t){return null==t?X:t[n]}}function x(n){return function(t){return null==n?X:n[t]}}function j(n,t,r,e,u){return u(n,function(n,u,i){r=e?(e=!1,n):t(r,n,u,i)}),r}function A(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].value;return n}function k(n,t){for(var r,e=-1,u=n.length;++e<u;){var i=t(n[e]);i!==X&&(r=r===X?i:r+i);\n}return r}function O(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function I(n,t){return c(t,function(t){return[t,n[t]]})}function R(n){return n?n.slice(0,H(n)+1).replace(Lt,\"\"):n}function z(n){return function(t){return n(t)}}function E(n,t){return c(t,function(t){return n[t]})}function S(n,t){return n.has(t)}function W(n,t){for(var r=-1,e=n.length;++r<e&&y(t,n[r],0)>-1;);return r}function L(n,t){for(var r=n.length;r--&&y(t,n[r],0)>-1;);return r}function C(n,t){for(var r=n.length,e=0;r--;)n[r]===t&&++e;\nreturn e}function U(n){return\"\\\\\"+Yr[n]}function B(n,t){return null==n?X:n[t]}function T(n){return Nr.test(n)}function $(n){return Pr.test(n)}function D(n){for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}function M(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n]}),r}function F(n,t){return function(r){return n(t(r))}}function N(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];o!==t&&o!==cn||(n[r]=cn,i[u++]=r)}return i}function P(n){var t=-1,r=Array(n.size);\nreturn n.forEach(function(n){r[++t]=n}),r}function q(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=[n,n]}),r}function Z(n,t,r){for(var e=r-1,u=n.length;++e<u;)if(n[e]===t)return e;return-1}function K(n,t,r){for(var e=r+1;e--;)if(n[e]===t)return e;return e}function V(n){return T(n)?J(n):_e(n)}function G(n){return T(n)?Y(n):p(n)}function H(n){for(var t=n.length;t--&&Ct.test(n.charAt(t)););return t}function J(n){for(var t=Mr.lastIndex=0;Mr.test(n);)++t;return t}function Y(n){return n.match(Mr)||[];\n}function Q(n){return n.match(Fr)||[]}var X,nn=\"4.17.21\",tn=200,rn=\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",en=\"Expected a function\",un=\"Invalid `variable` option passed into `_.template`\",on=\"__lodash_hash_undefined__\",fn=500,cn=\"__lodash_placeholder__\",an=1,ln=2,sn=4,hn=1,pn=2,_n=1,vn=2,gn=4,yn=8,dn=16,bn=32,wn=64,mn=128,xn=256,jn=512,An=30,kn=\"...\",On=800,In=16,Rn=1,zn=2,En=3,Sn=1/0,Wn=9007199254740991,Ln=1.7976931348623157e308,Cn=NaN,Un=4294967295,Bn=Un-1,Tn=Un>>>1,$n=[[\"ary\",mn],[\"bind\",_n],[\"bindKey\",vn],[\"curry\",yn],[\"curryRight\",dn],[\"flip\",jn],[\"partial\",bn],[\"partialRight\",wn],[\"rearg\",xn]],Dn=\"[object Arguments]\",Mn=\"[object Array]\",Fn=\"[object AsyncFunction]\",Nn=\"[object Boolean]\",Pn=\"[object Date]\",qn=\"[object DOMException]\",Zn=\"[object Error]\",Kn=\"[object Function]\",Vn=\"[object GeneratorFunction]\",Gn=\"[object Map]\",Hn=\"[object Number]\",Jn=\"[object Null]\",Yn=\"[object Object]\",Qn=\"[object Promise]\",Xn=\"[object Proxy]\",nt=\"[object RegExp]\",tt=\"[object Set]\",rt=\"[object String]\",et=\"[object Symbol]\",ut=\"[object Undefined]\",it=\"[object WeakMap]\",ot=\"[object WeakSet]\",ft=\"[object ArrayBuffer]\",ct=\"[object DataView]\",at=\"[object Float32Array]\",lt=\"[object Float64Array]\",st=\"[object Int8Array]\",ht=\"[object Int16Array]\",pt=\"[object Int32Array]\",_t=\"[object Uint8Array]\",vt=\"[object Uint8ClampedArray]\",gt=\"[object Uint16Array]\",yt=\"[object Uint32Array]\",dt=/\\b__p \\+= '';/g,bt=/\\b(__p \\+=) '' \\+/g,wt=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,mt=/&(?:amp|lt|gt|quot|#39);/g,xt=/[&<>\"']/g,jt=RegExp(mt.source),At=RegExp(xt.source),kt=/<%-([\\s\\S]+?)%>/g,Ot=/<%([\\s\\S]+?)%>/g,It=/<%=([\\s\\S]+?)%>/g,Rt=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,zt=/^\\w*$/,Et=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,St=/[\\\\^$.*+?()[\\]{}|]/g,Wt=RegExp(St.source),Lt=/^\\s+/,Ct=/\\s/,Ut=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,Bt=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,Tt=/,? & /,$t=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,Dt=/[()=,{}\\[\\]\\/\\s]/,Mt=/\\\\(\\\\)?/g,Ft=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Nt=/\\w*$/,Pt=/^[-+]0x[0-9a-f]+$/i,qt=/^0b[01]+$/i,Zt=/^\\[object .+?Constructor\\]$/,Kt=/^0o[0-7]+$/i,Vt=/^(?:0|[1-9]\\d*)$/,Gt=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Ht=/($^)/,Jt=/['\\n\\r\\u2028\\u2029\\\\]/g,Yt=\"\\\\ud800-\\\\udfff\",Qt=\"\\\\u0300-\\\\u036f\",Xt=\"\\\\ufe20-\\\\ufe2f\",nr=\"\\\\u20d0-\\\\u20ff\",tr=Qt+Xt+nr,rr=\"\\\\u2700-\\\\u27bf\",er=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",ur=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",ir=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",or=\"\\\\u2000-\\\\u206f\",fr=\" \\\\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\",cr=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",ar=\"\\\\ufe0e\\\\ufe0f\",lr=ur+ir+or+fr,sr=\"['\\u2019]\",hr=\"[\"+Yt+\"]\",pr=\"[\"+lr+\"]\",_r=\"[\"+tr+\"]\",vr=\"\\\\d+\",gr=\"[\"+rr+\"]\",yr=\"[\"+er+\"]\",dr=\"[^\"+Yt+lr+vr+rr+er+cr+\"]\",br=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",wr=\"(?:\"+_r+\"|\"+br+\")\",mr=\"[^\"+Yt+\"]\",xr=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",jr=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Ar=\"[\"+cr+\"]\",kr=\"\\\\u200d\",Or=\"(?:\"+yr+\"|\"+dr+\")\",Ir=\"(?:\"+Ar+\"|\"+dr+\")\",Rr=\"(?:\"+sr+\"(?:d|ll|m|re|s|t|ve))?\",zr=\"(?:\"+sr+\"(?:D|LL|M|RE|S|T|VE))?\",Er=wr+\"?\",Sr=\"[\"+ar+\"]?\",Wr=\"(?:\"+kr+\"(?:\"+[mr,xr,jr].join(\"|\")+\")\"+Sr+Er+\")*\",Lr=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",Cr=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",Ur=Sr+Er+Wr,Br=\"(?:\"+[gr,xr,jr].join(\"|\")+\")\"+Ur,Tr=\"(?:\"+[mr+_r+\"?\",_r,xr,jr,hr].join(\"|\")+\")\",$r=RegExp(sr,\"g\"),Dr=RegExp(_r,\"g\"),Mr=RegExp(br+\"(?=\"+br+\")|\"+Tr+Ur,\"g\"),Fr=RegExp([Ar+\"?\"+yr+\"+\"+Rr+\"(?=\"+[pr,Ar,\"$\"].join(\"|\")+\")\",Ir+\"+\"+zr+\"(?=\"+[pr,Ar+Or,\"$\"].join(\"|\")+\")\",Ar+\"?\"+Or+\"+\"+Rr,Ar+\"+\"+zr,Cr,Lr,vr,Br].join(\"|\"),\"g\"),Nr=RegExp(\"[\"+kr+Yt+tr+ar+\"]\"),Pr=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,qr=[\"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\"],Zr=-1,Kr={};\nKr[at]=Kr[lt]=Kr[st]=Kr[ht]=Kr[pt]=Kr[_t]=Kr[vt]=Kr[gt]=Kr[yt]=!0,Kr[Dn]=Kr[Mn]=Kr[ft]=Kr[Nn]=Kr[ct]=Kr[Pn]=Kr[Zn]=Kr[Kn]=Kr[Gn]=Kr[Hn]=Kr[Yn]=Kr[nt]=Kr[tt]=Kr[rt]=Kr[it]=!1;var Vr={};Vr[Dn]=Vr[Mn]=Vr[ft]=Vr[ct]=Vr[Nn]=Vr[Pn]=Vr[at]=Vr[lt]=Vr[st]=Vr[ht]=Vr[pt]=Vr[Gn]=Vr[Hn]=Vr[Yn]=Vr[nt]=Vr[tt]=Vr[rt]=Vr[et]=Vr[_t]=Vr[vt]=Vr[gt]=Vr[yt]=!0,Vr[Zn]=Vr[Kn]=Vr[it]=!1;var Gr={\"\\xc0\":\"A\",\"\\xc1\":\"A\",\"\\xc2\":\"A\",\"\\xc3\":\"A\",\"\\xc4\":\"A\",\"\\xc5\":\"A\",\"\\xe0\":\"a\",\"\\xe1\":\"a\",\"\\xe2\":\"a\",\"\\xe3\":\"a\",\"\\xe4\":\"a\",\"\\xe5\":\"a\",\n\"\\xc7\":\"C\",\"\\xe7\":\"c\",\"\\xd0\":\"D\",\"\\xf0\":\"d\",\"\\xc8\":\"E\",\"\\xc9\":\"E\",\"\\xca\":\"E\",\"\\xcb\":\"E\",\"\\xe8\":\"e\",\"\\xe9\":\"e\",\"\\xea\":\"e\",\"\\xeb\":\"e\",\"\\xcc\":\"I\",\"\\xcd\":\"I\",\"\\xce\":\"I\",\"\\xcf\":\"I\",\"\\xec\":\"i\",\"\\xed\":\"i\",\"\\xee\":\"i\",\"\\xef\":\"i\",\"\\xd1\":\"N\",\"\\xf1\":\"n\",\"\\xd2\":\"O\",\"\\xd3\":\"O\",\"\\xd4\":\"O\",\"\\xd5\":\"O\",\"\\xd6\":\"O\",\"\\xd8\":\"O\",\"\\xf2\":\"o\",\"\\xf3\":\"o\",\"\\xf4\":\"o\",\"\\xf5\":\"o\",\"\\xf6\":\"o\",\"\\xf8\":\"o\",\"\\xd9\":\"U\",\"\\xda\":\"U\",\"\\xdb\":\"U\",\"\\xdc\":\"U\",\"\\xf9\":\"u\",\"\\xfa\":\"u\",\"\\xfb\":\"u\",\"\\xfc\":\"u\",\"\\xdd\":\"Y\",\"\\xfd\":\"y\",\"\\xff\":\"y\",\"\\xc6\":\"Ae\",\n\"\\xe6\":\"ae\",\"\\xde\":\"Th\",\"\\xfe\":\"th\",\"\\xdf\":\"ss\",\"\\u0100\":\"A\",\"\\u0102\":\"A\",\"\\u0104\":\"A\",\"\\u0101\":\"a\",\"\\u0103\":\"a\",\"\\u0105\":\"a\",\"\\u0106\":\"C\",\"\\u0108\":\"C\",\"\\u010a\":\"C\",\"\\u010c\":\"C\",\"\\u0107\":\"c\",\"\\u0109\":\"c\",\"\\u010b\":\"c\",\"\\u010d\":\"c\",\"\\u010e\":\"D\",\"\\u0110\":\"D\",\"\\u010f\":\"d\",\"\\u0111\":\"d\",\"\\u0112\":\"E\",\"\\u0114\":\"E\",\"\\u0116\":\"E\",\"\\u0118\":\"E\",\"\\u011a\":\"E\",\"\\u0113\":\"e\",\"\\u0115\":\"e\",\"\\u0117\":\"e\",\"\\u0119\":\"e\",\"\\u011b\":\"e\",\"\\u011c\":\"G\",\"\\u011e\":\"G\",\"\\u0120\":\"G\",\"\\u0122\":\"G\",\"\\u011d\":\"g\",\"\\u011f\":\"g\",\"\\u0121\":\"g\",\n\"\\u0123\":\"g\",\"\\u0124\":\"H\",\"\\u0126\":\"H\",\"\\u0125\":\"h\",\"\\u0127\":\"h\",\"\\u0128\":\"I\",\"\\u012a\":\"I\",\"\\u012c\":\"I\",\"\\u012e\":\"I\",\"\\u0130\":\"I\",\"\\u0129\":\"i\",\"\\u012b\":\"i\",\"\\u012d\":\"i\",\"\\u012f\":\"i\",\"\\u0131\":\"i\",\"\\u0134\":\"J\",\"\\u0135\":\"j\",\"\\u0136\":\"K\",\"\\u0137\":\"k\",\"\\u0138\":\"k\",\"\\u0139\":\"L\",\"\\u013b\":\"L\",\"\\u013d\":\"L\",\"\\u013f\":\"L\",\"\\u0141\":\"L\",\"\\u013a\":\"l\",\"\\u013c\":\"l\",\"\\u013e\":\"l\",\"\\u0140\":\"l\",\"\\u0142\":\"l\",\"\\u0143\":\"N\",\"\\u0145\":\"N\",\"\\u0147\":\"N\",\"\\u014a\":\"N\",\"\\u0144\":\"n\",\"\\u0146\":\"n\",\"\\u0148\":\"n\",\"\\u014b\":\"n\",\"\\u014c\":\"O\",\n\"\\u014e\":\"O\",\"\\u0150\":\"O\",\"\\u014d\":\"o\",\"\\u014f\":\"o\",\"\\u0151\":\"o\",\"\\u0154\":\"R\",\"\\u0156\":\"R\",\"\\u0158\":\"R\",\"\\u0155\":\"r\",\"\\u0157\":\"r\",\"\\u0159\":\"r\",\"\\u015a\":\"S\",\"\\u015c\":\"S\",\"\\u015e\":\"S\",\"\\u0160\":\"S\",\"\\u015b\":\"s\",\"\\u015d\":\"s\",\"\\u015f\":\"s\",\"\\u0161\":\"s\",\"\\u0162\":\"T\",\"\\u0164\":\"T\",\"\\u0166\":\"T\",\"\\u0163\":\"t\",\"\\u0165\":\"t\",\"\\u0167\":\"t\",\"\\u0168\":\"U\",\"\\u016a\":\"U\",\"\\u016c\":\"U\",\"\\u016e\":\"U\",\"\\u0170\":\"U\",\"\\u0172\":\"U\",\"\\u0169\":\"u\",\"\\u016b\":\"u\",\"\\u016d\":\"u\",\"\\u016f\":\"u\",\"\\u0171\":\"u\",\"\\u0173\":\"u\",\"\\u0174\":\"W\",\"\\u0175\":\"w\",\n\"\\u0176\":\"Y\",\"\\u0177\":\"y\",\"\\u0178\":\"Y\",\"\\u0179\":\"Z\",\"\\u017b\":\"Z\",\"\\u017d\":\"Z\",\"\\u017a\":\"z\",\"\\u017c\":\"z\",\"\\u017e\":\"z\",\"\\u0132\":\"IJ\",\"\\u0133\":\"ij\",\"\\u0152\":\"Oe\",\"\\u0153\":\"oe\",\"\\u0149\":\"'n\",\"\\u017f\":\"s\"},Hr={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},Jr={\"&\":\"&\",\"<\":\"<\",\">\":\">\",\""\":'\"',\"'\":\"'\"},Yr={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},Qr=parseFloat,Xr=parseInt,ne=\"object\"==typeof global&&global&&global.Object===Object&&global,te=\"object\"==typeof self&&self&&self.Object===Object&&self,re=ne||te||Function(\"return this\")(),ee=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,ue=ee&&\"object\"==typeof module&&module&&!module.nodeType&&module,ie=ue&&ue.exports===ee,oe=ie&&ne.process,fe=function(){\ntry{var n=ue&&ue.require&&ue.require(\"util\").types;return n?n:oe&&oe.binding&&oe.binding(\"util\")}catch(n){}}(),ce=fe&&fe.isArrayBuffer,ae=fe&&fe.isDate,le=fe&&fe.isMap,se=fe&&fe.isRegExp,he=fe&&fe.isSet,pe=fe&&fe.isTypedArray,_e=m(\"length\"),ve=x(Gr),ge=x(Hr),ye=x(Jr),de=function p(x){function Z(n){if(cc(n)&&!bh(n)&&!(n instanceof Ct)){if(n instanceof Y)return n;if(bl.call(n,\"__wrapped__\"))return eo(n)}return new Y(n)}function J(){}function Y(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,\nthis.__index__=0,this.__values__=X}function Ct(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Un,this.__views__=[]}function $t(){var n=new Ct(this.__wrapped__);return n.__actions__=Tu(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Tu(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Tu(this.__views__),n}function Yt(){if(this.__filtered__){var n=new Ct(this);n.__dir__=-1,\nn.__filtered__=!0}else n=this.clone(),n.__dir__*=-1;return n}function Qt(){var n=this.__wrapped__.value(),t=this.__dir__,r=bh(n),e=t<0,u=r?n.length:0,i=Oi(0,u,this.__views__),o=i.start,f=i.end,c=f-o,a=e?f:o-1,l=this.__iteratees__,s=l.length,h=0,p=Hl(c,this.__takeCount__);if(!r||!e&&u==c&&p==c)return wu(n,this.__actions__);var _=[];n:for(;c--&&h<p;){a+=t;for(var v=-1,g=n[a];++v<s;){var y=l[v],d=y.iteratee,b=y.type,w=d(g);if(b==zn)g=w;else if(!w){if(b==Rn)continue n;break n}}_[h++]=g}return _}function Xt(n){\nvar t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function nr(){this.__data__=is?is(null):{},this.size=0}function tr(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}function rr(n){var t=this.__data__;if(is){var r=t[n];return r===on?X:r}return bl.call(t,n)?t[n]:X}function er(n){var t=this.__data__;return is?t[n]!==X:bl.call(t,n)}function ur(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=is&&t===X?on:t,this}function ir(n){\nvar t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function or(){this.__data__=[],this.size=0}function fr(n){var t=this.__data__,r=Wr(t,n);return!(r<0)&&(r==t.length-1?t.pop():Ll.call(t,r,1),--this.size,!0)}function cr(n){var t=this.__data__,r=Wr(t,n);return r<0?X:t[r][1]}function ar(n){return Wr(this.__data__,n)>-1}function lr(n,t){var r=this.__data__,e=Wr(r,n);return e<0?(++this.size,r.push([n,t])):r[e][1]=t,this}function sr(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){\nvar e=n[t];this.set(e[0],e[1])}}function hr(){this.size=0,this.__data__={hash:new Xt,map:new(ts||ir),string:new Xt}}function pr(n){var t=xi(this,n).delete(n);return this.size-=t?1:0,t}function _r(n){return xi(this,n).get(n)}function vr(n){return xi(this,n).has(n)}function gr(n,t){var r=xi(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this}function yr(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new sr;++t<r;)this.add(n[t])}function dr(n){return this.__data__.set(n,on),this}function br(n){\nreturn this.__data__.has(n)}function wr(n){this.size=(this.__data__=new ir(n)).size}function mr(){this.__data__=new ir,this.size=0}function xr(n){var t=this.__data__,r=t.delete(n);return this.size=t.size,r}function jr(n){return this.__data__.get(n)}function Ar(n){return this.__data__.has(n)}function kr(n,t){var r=this.__data__;if(r instanceof ir){var e=r.__data__;if(!ts||e.length<tn-1)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new sr(e)}return r.set(n,t),this.size=r.size,this}function Or(n,t){\nvar r=bh(n),e=!r&&dh(n),u=!r&&!e&&mh(n),i=!r&&!e&&!u&&Oh(n),o=r||e||u||i,f=o?O(n.length,hl):[],c=f.length;for(var a in n)!t&&!bl.call(n,a)||o&&(\"length\"==a||u&&(\"offset\"==a||\"parent\"==a)||i&&(\"buffer\"==a||\"byteLength\"==a||\"byteOffset\"==a)||Ci(a,c))||f.push(a);return f}function Ir(n){var t=n.length;return t?n[tu(0,t-1)]:X}function Rr(n,t){return Xi(Tu(n),Mr(t,0,n.length))}function zr(n){return Xi(Tu(n))}function Er(n,t,r){(r===X||Gf(n[t],r))&&(r!==X||t in n)||Br(n,t,r)}function Sr(n,t,r){var e=n[t];\nbl.call(n,t)&&Gf(e,r)&&(r!==X||t in n)||Br(n,t,r)}function Wr(n,t){for(var r=n.length;r--;)if(Gf(n[r][0],t))return r;return-1}function Lr(n,t,r,e){return ys(n,function(n,u,i){t(e,n,r(n),i)}),e}function Cr(n,t){return n&&$u(t,Pc(t),n)}function Ur(n,t){return n&&$u(t,qc(t),n)}function Br(n,t,r){\"__proto__\"==t&&Tl?Tl(n,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):n[t]=r}function Tr(n,t){for(var r=-1,e=t.length,u=il(e),i=null==n;++r<e;)u[r]=i?X:Mc(n,t[r]);return u}function Mr(n,t,r){return n===n&&(r!==X&&(n=n<=r?n:r),\nt!==X&&(n=n>=t?n:t)),n}function Fr(n,t,e,u,i,o){var f,c=t&an,a=t&ln,l=t&sn;if(e&&(f=i?e(n,u,i,o):e(n)),f!==X)return f;if(!fc(n))return n;var s=bh(n);if(s){if(f=zi(n),!c)return Tu(n,f)}else{var h=zs(n),p=h==Kn||h==Vn;if(mh(n))return Iu(n,c);if(h==Yn||h==Dn||p&&!i){if(f=a||p?{}:Ei(n),!c)return a?Mu(n,Ur(f,n)):Du(n,Cr(f,n))}else{if(!Vr[h])return i?n:{};f=Si(n,h,c)}}o||(o=new wr);var _=o.get(n);if(_)return _;o.set(n,f),kh(n)?n.forEach(function(r){f.add(Fr(r,t,e,r,n,o))}):jh(n)&&n.forEach(function(r,u){\nf.set(u,Fr(r,t,e,u,n,o))});var v=l?a?di:yi:a?qc:Pc,g=s?X:v(n);return r(g||n,function(r,u){g&&(u=r,r=n[u]),Sr(f,u,Fr(r,t,e,u,n,o))}),f}function Nr(n){var t=Pc(n);return function(r){return Pr(r,n,t)}}function Pr(n,t,r){var e=r.length;if(null==n)return!e;for(n=ll(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===X&&!(u in n)||!i(o))return!1}return!0}function Gr(n,t,r){if(\"function\"!=typeof n)throw new pl(en);return Ws(function(){n.apply(X,r)},t)}function Hr(n,t,r,e){var u=-1,i=o,a=!0,l=n.length,s=[],h=t.length;\nif(!l)return s;r&&(t=c(t,z(r))),e?(i=f,a=!1):t.length>=tn&&(i=S,a=!1,t=new yr(t));n:for(;++u<l;){var p=n[u],_=null==r?p:r(p);if(p=e||0!==p?p:0,a&&_===_){for(var v=h;v--;)if(t[v]===_)continue n;s.push(p)}else i(t,_,e)||s.push(p)}return s}function Jr(n,t){var r=!0;return ys(n,function(n,e,u){return r=!!t(n,e,u)}),r}function Yr(n,t,r){for(var e=-1,u=n.length;++e<u;){var i=n[e],o=t(i);if(null!=o&&(f===X?o===o&&!bc(o):r(o,f)))var f=o,c=i}return c}function ne(n,t,r,e){var u=n.length;for(r=kc(r),r<0&&(r=-r>u?0:u+r),\ne=e===X||e>u?u:kc(e),e<0&&(e+=u),e=r>e?0:Oc(e);r<e;)n[r++]=t;return n}function te(n,t){var r=[];return ys(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function ee(n,t,r,e,u){var i=-1,o=n.length;for(r||(r=Li),u||(u=[]);++i<o;){var f=n[i];t>0&&r(f)?t>1?ee(f,t-1,r,e,u):a(u,f):e||(u[u.length]=f)}return u}function ue(n,t){return n&&bs(n,t,Pc)}function oe(n,t){return n&&ws(n,t,Pc)}function fe(n,t){return i(t,function(t){return uc(n[t])})}function _e(n,t){t=ku(t,n);for(var r=0,e=t.length;null!=n&&r<e;)n=n[no(t[r++])];\nreturn r&&r==e?n:X}function de(n,t,r){var e=t(n);return bh(n)?e:a(e,r(n))}function we(n){return null==n?n===X?ut:Jn:Bl&&Bl in ll(n)?ki(n):Ki(n)}function me(n,t){return n>t}function xe(n,t){return null!=n&&bl.call(n,t)}function je(n,t){return null!=n&&t in ll(n)}function Ae(n,t,r){return n>=Hl(t,r)&&n<Gl(t,r)}function ke(n,t,r){for(var e=r?f:o,u=n[0].length,i=n.length,a=i,l=il(i),s=1/0,h=[];a--;){var p=n[a];a&&t&&(p=c(p,z(t))),s=Hl(p.length,s),l[a]=!r&&(t||u>=120&&p.length>=120)?new yr(a&&p):X}p=n[0];\nvar _=-1,v=l[0];n:for(;++_<u&&h.length<s;){var g=p[_],y=t?t(g):g;if(g=r||0!==g?g:0,!(v?S(v,y):e(h,y,r))){for(a=i;--a;){var d=l[a];if(!(d?S(d,y):e(n[a],y,r)))continue n}v&&v.push(y),h.push(g)}}return h}function Oe(n,t,r,e){return ue(n,function(n,u,i){t(e,r(n),u,i)}),e}function Ie(t,r,e){r=ku(r,t),t=Gi(t,r);var u=null==t?t:t[no(jo(r))];return null==u?X:n(u,t,e)}function Re(n){return cc(n)&&we(n)==Dn}function ze(n){return cc(n)&&we(n)==ft}function Ee(n){return cc(n)&&we(n)==Pn}function Se(n,t,r,e,u){\nreturn n===t||(null==n||null==t||!cc(n)&&!cc(t)?n!==n&&t!==t:We(n,t,r,e,Se,u))}function We(n,t,r,e,u,i){var o=bh(n),f=bh(t),c=o?Mn:zs(n),a=f?Mn:zs(t);c=c==Dn?Yn:c,a=a==Dn?Yn:a;var l=c==Yn,s=a==Yn,h=c==a;if(h&&mh(n)){if(!mh(t))return!1;o=!0,l=!1}if(h&&!l)return i||(i=new wr),o||Oh(n)?pi(n,t,r,e,u,i):_i(n,t,c,r,e,u,i);if(!(r&hn)){var p=l&&bl.call(n,\"__wrapped__\"),_=s&&bl.call(t,\"__wrapped__\");if(p||_){var v=p?n.value():n,g=_?t.value():t;return i||(i=new wr),u(v,g,r,e,i)}}return!!h&&(i||(i=new wr),vi(n,t,r,e,u,i));\n}function Le(n){return cc(n)&&zs(n)==Gn}function Ce(n,t,r,e){var u=r.length,i=u,o=!e;if(null==n)return!i;for(n=ll(n);u--;){var f=r[u];if(o&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++u<i;){f=r[u];var c=f[0],a=n[c],l=f[1];if(o&&f[2]){if(a===X&&!(c in n))return!1}else{var s=new wr;if(e)var h=e(a,l,c,n,t,s);if(!(h===X?Se(l,a,hn|pn,e,s):h))return!1}}return!0}function Ue(n){return!(!fc(n)||Di(n))&&(uc(n)?kl:Zt).test(to(n))}function Be(n){return cc(n)&&we(n)==nt}function Te(n){return cc(n)&&zs(n)==tt;\n}function $e(n){return cc(n)&&oc(n.length)&&!!Kr[we(n)]}function De(n){return\"function\"==typeof n?n:null==n?La:\"object\"==typeof n?bh(n)?Ze(n[0],n[1]):qe(n):Fa(n)}function Me(n){if(!Mi(n))return Vl(n);var t=[];for(var r in ll(n))bl.call(n,r)&&\"constructor\"!=r&&t.push(r);return t}function Fe(n){if(!fc(n))return Zi(n);var t=Mi(n),r=[];for(var e in n)(\"constructor\"!=e||!t&&bl.call(n,e))&&r.push(e);return r}function Ne(n,t){return n<t}function Pe(n,t){var r=-1,e=Hf(n)?il(n.length):[];return ys(n,function(n,u,i){\ne[++r]=t(n,u,i)}),e}function qe(n){var t=ji(n);return 1==t.length&&t[0][2]?Ni(t[0][0],t[0][1]):function(r){return r===n||Ce(r,n,t)}}function Ze(n,t){return Bi(n)&&Fi(t)?Ni(no(n),t):function(r){var e=Mc(r,n);return e===X&&e===t?Nc(r,n):Se(t,e,hn|pn)}}function Ke(n,t,r,e,u){n!==t&&bs(t,function(i,o){if(u||(u=new wr),fc(i))Ve(n,t,o,r,Ke,e,u);else{var f=e?e(Ji(n,o),i,o+\"\",n,t,u):X;f===X&&(f=i),Er(n,o,f)}},qc)}function Ve(n,t,r,e,u,i,o){var f=Ji(n,r),c=Ji(t,r),a=o.get(c);if(a)return Er(n,r,a),X;var l=i?i(f,c,r+\"\",n,t,o):X,s=l===X;\nif(s){var h=bh(c),p=!h&&mh(c),_=!h&&!p&&Oh(c);l=c,h||p||_?bh(f)?l=f:Jf(f)?l=Tu(f):p?(s=!1,l=Iu(c,!0)):_?(s=!1,l=Wu(c,!0)):l=[]:gc(c)||dh(c)?(l=f,dh(f)?l=Rc(f):fc(f)&&!uc(f)||(l=Ei(c))):s=!1}s&&(o.set(c,l),u(l,c,e,i,o),o.delete(c)),Er(n,r,l)}function Ge(n,t){var r=n.length;if(r)return t+=t<0?r:0,Ci(t,r)?n[t]:X}function He(n,t,r){t=t.length?c(t,function(n){return bh(n)?function(t){return _e(t,1===n.length?n[0]:n)}:n}):[La];var e=-1;return t=c(t,z(mi())),A(Pe(n,function(n,r,u){return{criteria:c(t,function(t){\nreturn t(n)}),index:++e,value:n}}),function(n,t){return Cu(n,t,r)})}function Je(n,t){return Ye(n,t,function(t,r){return Nc(n,r)})}function Ye(n,t,r){for(var e=-1,u=t.length,i={};++e<u;){var o=t[e],f=_e(n,o);r(f,o)&&fu(i,ku(o,n),f)}return i}function Qe(n){return function(t){return _e(t,n)}}function Xe(n,t,r,e){var u=e?d:y,i=-1,o=t.length,f=n;for(n===t&&(t=Tu(t)),r&&(f=c(n,z(r)));++i<o;)for(var a=0,l=t[i],s=r?r(l):l;(a=u(f,s,a,e))>-1;)f!==n&&Ll.call(f,a,1),Ll.call(n,a,1);return n}function nu(n,t){for(var r=n?t.length:0,e=r-1;r--;){\nvar u=t[r];if(r==e||u!==i){var i=u;Ci(u)?Ll.call(n,u,1):yu(n,u)}}return n}function tu(n,t){return n+Nl(Ql()*(t-n+1))}function ru(n,t,r,e){for(var u=-1,i=Gl(Fl((t-n)/(r||1)),0),o=il(i);i--;)o[e?i:++u]=n,n+=r;return o}function eu(n,t){var r=\"\";if(!n||t<1||t>Wn)return r;do t%2&&(r+=n),t=Nl(t/2),t&&(n+=n);while(t);return r}function uu(n,t){return Ls(Vi(n,t,La),n+\"\")}function iu(n){return Ir(ra(n))}function ou(n,t){var r=ra(n);return Xi(r,Mr(t,0,r.length))}function fu(n,t,r,e){if(!fc(n))return n;t=ku(t,n);\nfor(var u=-1,i=t.length,o=i-1,f=n;null!=f&&++u<i;){var c=no(t[u]),a=r;if(\"__proto__\"===c||\"constructor\"===c||\"prototype\"===c)return n;if(u!=o){var l=f[c];a=e?e(l,c,f):X,a===X&&(a=fc(l)?l:Ci(t[u+1])?[]:{})}Sr(f,c,a),f=f[c]}return n}function cu(n){return Xi(ra(n))}function au(n,t,r){var e=-1,u=n.length;t<0&&(t=-t>u?0:u+t),r=r>u?u:r,r<0&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0;for(var i=il(u);++e<u;)i[e]=n[e+t];return i}function lu(n,t){var r;return ys(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function su(n,t,r){\nvar e=0,u=null==n?e:n.length;if(\"number\"==typeof t&&t===t&&u<=Tn){for(;e<u;){var i=e+u>>>1,o=n[i];null!==o&&!bc(o)&&(r?o<=t:o<t)?e=i+1:u=i}return u}return hu(n,t,La,r)}function hu(n,t,r,e){var u=0,i=null==n?0:n.length;if(0===i)return 0;t=r(t);for(var o=t!==t,f=null===t,c=bc(t),a=t===X;u<i;){var l=Nl((u+i)/2),s=r(n[l]),h=s!==X,p=null===s,_=s===s,v=bc(s);if(o)var g=e||_;else g=a?_&&(e||h):f?_&&h&&(e||!p):c?_&&h&&!p&&(e||!v):!p&&!v&&(e?s<=t:s<t);g?u=l+1:i=l}return Hl(i,Bn)}function pu(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){\nvar o=n[r],f=t?t(o):o;if(!r||!Gf(f,c)){var c=f;i[u++]=0===o?0:o}}return i}function _u(n){return\"number\"==typeof n?n:bc(n)?Cn:+n}function vu(n){if(\"string\"==typeof n)return n;if(bh(n))return c(n,vu)+\"\";if(bc(n))return vs?vs.call(n):\"\";var t=n+\"\";return\"0\"==t&&1/n==-Sn?\"-0\":t}function gu(n,t,r){var e=-1,u=o,i=n.length,c=!0,a=[],l=a;if(r)c=!1,u=f;else if(i>=tn){var s=t?null:ks(n);if(s)return P(s);c=!1,u=S,l=new yr}else l=t?[]:a;n:for(;++e<i;){var h=n[e],p=t?t(h):h;if(h=r||0!==h?h:0,c&&p===p){for(var _=l.length;_--;)if(l[_]===p)continue n;\nt&&l.push(p),a.push(h)}else u(l,p,r)||(l!==a&&l.push(p),a.push(h))}return a}function yu(n,t){return t=ku(t,n),n=Gi(n,t),null==n||delete n[no(jo(t))]}function du(n,t,r,e){return fu(n,t,r(_e(n,t)),e)}function bu(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););return r?au(n,e?0:i,e?i+1:u):au(n,e?i+1:0,e?u:i)}function wu(n,t){var r=n;return r instanceof Ct&&(r=r.value()),l(t,function(n,t){return t.func.apply(t.thisArg,a([n],t.args))},r)}function mu(n,t,r){var e=n.length;if(e<2)return e?gu(n[0]):[];\nfor(var u=-1,i=il(e);++u<e;)for(var o=n[u],f=-1;++f<e;)f!=u&&(i[u]=Hr(i[u]||o,n[f],t,r));return gu(ee(i,1),t,r)}function xu(n,t,r){for(var e=-1,u=n.length,i=t.length,o={};++e<u;){r(o,n[e],e<i?t[e]:X)}return o}function ju(n){return Jf(n)?n:[]}function Au(n){return\"function\"==typeof n?n:La}function ku(n,t){return bh(n)?n:Bi(n,t)?[n]:Cs(Ec(n))}function Ou(n,t,r){var e=n.length;return r=r===X?e:r,!t&&r>=e?n:au(n,t,r)}function Iu(n,t){if(t)return n.slice();var r=n.length,e=zl?zl(r):new n.constructor(r);\nreturn n.copy(e),e}function Ru(n){var t=new n.constructor(n.byteLength);return new Rl(t).set(new Rl(n)),t}function zu(n,t){return new n.constructor(t?Ru(n.buffer):n.buffer,n.byteOffset,n.byteLength)}function Eu(n){var t=new n.constructor(n.source,Nt.exec(n));return t.lastIndex=n.lastIndex,t}function Su(n){return _s?ll(_s.call(n)):{}}function Wu(n,t){return new n.constructor(t?Ru(n.buffer):n.buffer,n.byteOffset,n.length)}function Lu(n,t){if(n!==t){var r=n!==X,e=null===n,u=n===n,i=bc(n),o=t!==X,f=null===t,c=t===t,a=bc(t);\nif(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&n<t||a&&r&&u&&!e&&!i||f&&r&&u||!o&&u||!c)return-1}return 0}function Cu(n,t,r){for(var e=-1,u=n.criteria,i=t.criteria,o=u.length,f=r.length;++e<o;){var c=Lu(u[e],i[e]);if(c){if(e>=f)return c;return c*(\"desc\"==r[e]?-1:1)}}return n.index-t.index}function Uu(n,t,r,e){for(var u=-1,i=n.length,o=r.length,f=-1,c=t.length,a=Gl(i-o,0),l=il(c+a),s=!e;++f<c;)l[f]=t[f];for(;++u<o;)(s||u<i)&&(l[r[u]]=n[u]);for(;a--;)l[f++]=n[u++];return l;\n}function Bu(n,t,r,e){for(var u=-1,i=n.length,o=-1,f=r.length,c=-1,a=t.length,l=Gl(i-f,0),s=il(l+a),h=!e;++u<l;)s[u]=n[u];for(var p=u;++c<a;)s[p+c]=t[c];for(;++o<f;)(h||u<i)&&(s[p+r[o]]=n[u++]);return s}function Tu(n,t){var r=-1,e=n.length;for(t||(t=il(e));++r<e;)t[r]=n[r];return t}function $u(n,t,r,e){var u=!r;r||(r={});for(var i=-1,o=t.length;++i<o;){var f=t[i],c=e?e(r[f],n[f],f,r,n):X;c===X&&(c=n[f]),u?Br(r,f,c):Sr(r,f,c)}return r}function Du(n,t){return $u(n,Is(n),t)}function Mu(n,t){return $u(n,Rs(n),t);\n}function Fu(n,r){return function(e,u){var i=bh(e)?t:Lr,o=r?r():{};return i(e,n,mi(u,2),o)}}function Nu(n){return uu(function(t,r){var e=-1,u=r.length,i=u>1?r[u-1]:X,o=u>2?r[2]:X;for(i=n.length>3&&\"function\"==typeof i?(u--,i):X,o&&Ui(r[0],r[1],o)&&(i=u<3?X:i,u=1),t=ll(t);++e<u;){var f=r[e];f&&n(t,f,e,i)}return t})}function Pu(n,t){return function(r,e){if(null==r)return r;if(!Hf(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=ll(r);(t?i--:++i<u)&&e(o[i],i,o)!==!1;);return r}}function qu(n){return function(t,r,e){\nfor(var u=-1,i=ll(t),o=e(t),f=o.length;f--;){var c=o[n?f:++u];if(r(i[c],c,i)===!1)break}return t}}function Zu(n,t,r){function e(){return(this&&this!==re&&this instanceof e?i:n).apply(u?r:this,arguments)}var u=t&_n,i=Gu(n);return e}function Ku(n){return function(t){t=Ec(t);var r=T(t)?G(t):X,e=r?r[0]:t.charAt(0),u=r?Ou(r,1).join(\"\"):t.slice(1);return e[n]()+u}}function Vu(n){return function(t){return l(Ra(ca(t).replace($r,\"\")),n,\"\")}}function Gu(n){return function(){var t=arguments;switch(t.length){\ncase 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=gs(n.prototype),e=n.apply(r,t);return fc(e)?e:r}}function Hu(t,r,e){function u(){for(var o=arguments.length,f=il(o),c=o,a=wi(u);c--;)f[c]=arguments[c];var l=o<3&&f[0]!==a&&f[o-1]!==a?[]:N(f,a);\nreturn o-=l.length,o<e?oi(t,r,Qu,u.placeholder,X,f,l,X,X,e-o):n(this&&this!==re&&this instanceof u?i:t,this,f)}var i=Gu(t);return u}function Ju(n){return function(t,r,e){var u=ll(t);if(!Hf(t)){var i=mi(r,3);t=Pc(t),r=function(n){return i(u[n],n,u)}}var o=n(t,r,e);return o>-1?u[i?t[o]:o]:X}}function Yu(n){return gi(function(t){var r=t.length,e=r,u=Y.prototype.thru;for(n&&t.reverse();e--;){var i=t[e];if(\"function\"!=typeof i)throw new pl(en);if(u&&!o&&\"wrapper\"==bi(i))var o=new Y([],!0)}for(e=o?e:r;++e<r;){\ni=t[e];var f=bi(i),c=\"wrapper\"==f?Os(i):X;o=c&&$i(c[0])&&c[1]==(mn|yn|bn|xn)&&!c[4].length&&1==c[9]?o[bi(c[0])].apply(o,c[3]):1==i.length&&$i(i)?o[f]():o.thru(i)}return function(){var n=arguments,e=n[0];if(o&&1==n.length&&bh(e))return o.plant(e).value();for(var u=0,i=r?t[u].apply(this,n):e;++u<r;)i=t[u].call(this,i);return i}})}function Qu(n,t,r,e,u,i,o,f,c,a){function l(){for(var y=arguments.length,d=il(y),b=y;b--;)d[b]=arguments[b];if(_)var w=wi(l),m=C(d,w);if(e&&(d=Uu(d,e,u,_)),i&&(d=Bu(d,i,o,_)),\ny-=m,_&&y<a){return oi(n,t,Qu,l.placeholder,r,d,N(d,w),f,c,a-y)}var x=h?r:this,j=p?x[n]:n;return y=d.length,f?d=Hi(d,f):v&&y>1&&d.reverse(),s&&c<y&&(d.length=c),this&&this!==re&&this instanceof l&&(j=g||Gu(j)),j.apply(x,d)}var s=t&mn,h=t&_n,p=t&vn,_=t&(yn|dn),v=t&jn,g=p?X:Gu(n);return l}function Xu(n,t){return function(r,e){return Oe(r,n,t(e),{})}}function ni(n,t){return function(r,e){var u;if(r===X&&e===X)return t;if(r!==X&&(u=r),e!==X){if(u===X)return e;\"string\"==typeof r||\"string\"==typeof e?(r=vu(r),\ne=vu(e)):(r=_u(r),e=_u(e)),u=n(r,e)}return u}}function ti(t){return gi(function(r){return r=c(r,z(mi())),uu(function(e){var u=this;return t(r,function(t){return n(t,u,e)})})})}function ri(n,t){t=t===X?\" \":vu(t);var r=t.length;if(r<2)return r?eu(t,n):t;var e=eu(t,Fl(n/V(t)));return T(t)?Ou(G(e),0,n).join(\"\"):e.slice(0,n)}function ei(t,r,e,u){function i(){for(var r=-1,c=arguments.length,a=-1,l=u.length,s=il(l+c),h=this&&this!==re&&this instanceof i?f:t;++a<l;)s[a]=u[a];for(;c--;)s[a++]=arguments[++r];\nreturn n(h,o?e:this,s)}var o=r&_n,f=Gu(t);return i}function ui(n){return function(t,r,e){return e&&\"number\"!=typeof e&&Ui(t,r,e)&&(r=e=X),t=Ac(t),r===X?(r=t,t=0):r=Ac(r),e=e===X?t<r?1:-1:Ac(e),ru(t,r,e,n)}}function ii(n){return function(t,r){return\"string\"==typeof t&&\"string\"==typeof r||(t=Ic(t),r=Ic(r)),n(t,r)}}function oi(n,t,r,e,u,i,o,f,c,a){var l=t&yn,s=l?o:X,h=l?X:o,p=l?i:X,_=l?X:i;t|=l?bn:wn,t&=~(l?wn:bn),t&gn||(t&=~(_n|vn));var v=[n,t,u,p,s,_,h,f,c,a],g=r.apply(X,v);return $i(n)&&Ss(g,v),g.placeholder=e,\nYi(g,n,t)}function fi(n){var t=al[n];return function(n,r){if(n=Ic(n),r=null==r?0:Hl(kc(r),292),r&&Zl(n)){var e=(Ec(n)+\"e\").split(\"e\");return e=(Ec(t(e[0]+\"e\"+(+e[1]+r)))+\"e\").split(\"e\"),+(e[0]+\"e\"+(+e[1]-r))}return t(n)}}function ci(n){return function(t){var r=zs(t);return r==Gn?M(t):r==tt?q(t):I(t,n(t))}}function ai(n,t,r,e,u,i,o,f){var c=t&vn;if(!c&&\"function\"!=typeof n)throw new pl(en);var a=e?e.length:0;if(a||(t&=~(bn|wn),e=u=X),o=o===X?o:Gl(kc(o),0),f=f===X?f:kc(f),a-=u?u.length:0,t&wn){var l=e,s=u;\ne=u=X}var h=c?X:Os(n),p=[n,t,r,e,u,l,s,i,o,f];if(h&&qi(p,h),n=p[0],t=p[1],r=p[2],e=p[3],u=p[4],f=p[9]=p[9]===X?c?0:n.length:Gl(p[9]-a,0),!f&&t&(yn|dn)&&(t&=~(yn|dn)),t&&t!=_n)_=t==yn||t==dn?Hu(n,t,f):t!=bn&&t!=(_n|bn)||u.length?Qu.apply(X,p):ei(n,t,r,e);else var _=Zu(n,t,r);return Yi((h?ms:Ss)(_,p),n,t)}function li(n,t,r,e){return n===X||Gf(n,gl[r])&&!bl.call(e,r)?t:n}function si(n,t,r,e,u,i){return fc(n)&&fc(t)&&(i.set(t,n),Ke(n,t,X,si,i),i.delete(t)),n}function hi(n){return gc(n)?X:n}function pi(n,t,r,e,u,i){\nvar o=r&hn,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return!1;var a=i.get(n),l=i.get(t);if(a&&l)return a==t&&l==n;var s=-1,p=!0,_=r&pn?new yr:X;for(i.set(n,t),i.set(t,n);++s<f;){var v=n[s],g=t[s];if(e)var y=o?e(g,v,s,t,n,i):e(v,g,s,n,t,i);if(y!==X){if(y)continue;p=!1;break}if(_){if(!h(t,function(n,t){if(!S(_,t)&&(v===n||u(v,n,r,e,i)))return _.push(t)})){p=!1;break}}else if(v!==g&&!u(v,g,r,e,i)){p=!1;break}}return i.delete(n),i.delete(t),p}function _i(n,t,r,e,u,i,o){switch(r){case ct:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;\nn=n.buffer,t=t.buffer;case ft:return!(n.byteLength!=t.byteLength||!i(new Rl(n),new Rl(t)));case Nn:case Pn:case Hn:return Gf(+n,+t);case Zn:return n.name==t.name&&n.message==t.message;case nt:case rt:return n==t+\"\";case Gn:var f=M;case tt:var c=e&hn;if(f||(f=P),n.size!=t.size&&!c)return!1;var a=o.get(n);if(a)return a==t;e|=pn,o.set(n,t);var l=pi(f(n),f(t),e,u,i,o);return o.delete(n),l;case et:if(_s)return _s.call(n)==_s.call(t)}return!1}function vi(n,t,r,e,u,i){var o=r&hn,f=yi(n),c=f.length;if(c!=yi(t).length&&!o)return!1;\nfor(var a=c;a--;){var l=f[a];if(!(o?l in t:bl.call(t,l)))return!1}var s=i.get(n),h=i.get(t);if(s&&h)return s==t&&h==n;var p=!0;i.set(n,t),i.set(t,n);for(var _=o;++a<c;){l=f[a];var v=n[l],g=t[l];if(e)var y=o?e(g,v,l,t,n,i):e(v,g,l,n,t,i);if(!(y===X?v===g||u(v,g,r,e,i):y)){p=!1;break}_||(_=\"constructor\"==l)}if(p&&!_){var d=n.constructor,b=t.constructor;d!=b&&\"constructor\"in n&&\"constructor\"in t&&!(\"function\"==typeof d&&d instanceof d&&\"function\"==typeof b&&b instanceof b)&&(p=!1)}return i.delete(n),\ni.delete(t),p}function gi(n){return Ls(Vi(n,X,_o),n+\"\")}function yi(n){return de(n,Pc,Is)}function di(n){return de(n,qc,Rs)}function bi(n){for(var t=n.name+\"\",r=fs[t],e=bl.call(fs,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function wi(n){return(bl.call(Z,\"placeholder\")?Z:n).placeholder}function mi(){var n=Z.iteratee||Ca;return n=n===Ca?De:n,arguments.length?n(arguments[0],arguments[1]):n}function xi(n,t){var r=n.__data__;return Ti(t)?r[\"string\"==typeof t?\"string\":\"hash\"]:r.map;\n}function ji(n){for(var t=Pc(n),r=t.length;r--;){var e=t[r],u=n[e];t[r]=[e,u,Fi(u)]}return t}function Ai(n,t){var r=B(n,t);return Ue(r)?r:X}function ki(n){var t=bl.call(n,Bl),r=n[Bl];try{n[Bl]=X;var e=!0}catch(n){}var u=xl.call(n);return e&&(t?n[Bl]=r:delete n[Bl]),u}function Oi(n,t,r){for(var e=-1,u=r.length;++e<u;){var i=r[e],o=i.size;switch(i.type){case\"drop\":n+=o;break;case\"dropRight\":t-=o;break;case\"take\":t=Hl(t,n+o);break;case\"takeRight\":n=Gl(n,t-o)}}return{start:n,end:t}}function Ii(n){var t=n.match(Bt);\nreturn t?t[1].split(Tt):[]}function Ri(n,t,r){t=ku(t,n);for(var e=-1,u=t.length,i=!1;++e<u;){var o=no(t[e]);if(!(i=null!=n&&r(n,o)))break;n=n[o]}return i||++e!=u?i:(u=null==n?0:n.length,!!u&&oc(u)&&Ci(o,u)&&(bh(n)||dh(n)))}function zi(n){var t=n.length,r=new n.constructor(t);return t&&\"string\"==typeof n[0]&&bl.call(n,\"index\")&&(r.index=n.index,r.input=n.input),r}function Ei(n){return\"function\"!=typeof n.constructor||Mi(n)?{}:gs(El(n))}function Si(n,t,r){var e=n.constructor;switch(t){case ft:return Ru(n);\ncase Nn:case Pn:return new e(+n);case ct:return zu(n,r);case at:case lt:case st:case ht:case pt:case _t:case vt:case gt:case yt:return Wu(n,r);case Gn:return new e;case Hn:case rt:return new e(n);case nt:return Eu(n);case tt:return new e;case et:return Su(n)}}function Wi(n,t){var r=t.length;if(!r)return n;var e=r-1;return t[e]=(r>1?\"& \":\"\")+t[e],t=t.join(r>2?\", \":\" \"),n.replace(Ut,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}function Li(n){return bh(n)||dh(n)||!!(Cl&&n&&n[Cl])}function Ci(n,t){var r=typeof n;\nreturn t=null==t?Wn:t,!!t&&(\"number\"==r||\"symbol\"!=r&&Vt.test(n))&&n>-1&&n%1==0&&n<t}function Ui(n,t,r){if(!fc(r))return!1;var e=typeof t;return!!(\"number\"==e?Hf(r)&&Ci(t,r.length):\"string\"==e&&t in r)&&Gf(r[t],n)}function Bi(n,t){if(bh(n))return!1;var r=typeof n;return!(\"number\"!=r&&\"symbol\"!=r&&\"boolean\"!=r&&null!=n&&!bc(n))||(zt.test(n)||!Rt.test(n)||null!=t&&n in ll(t))}function Ti(n){var t=typeof n;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==n:null===n}function $i(n){\nvar t=bi(n),r=Z[t];if(\"function\"!=typeof r||!(t in Ct.prototype))return!1;if(n===r)return!0;var e=Os(r);return!!e&&n===e[0]}function Di(n){return!!ml&&ml in n}function Mi(n){var t=n&&n.constructor;return n===(\"function\"==typeof t&&t.prototype||gl)}function Fi(n){return n===n&&!fc(n)}function Ni(n,t){return function(r){return null!=r&&(r[n]===t&&(t!==X||n in ll(r)))}}function Pi(n){var t=Cf(n,function(n){return r.size===fn&&r.clear(),n}),r=t.cache;return t}function qi(n,t){var r=n[1],e=t[1],u=r|e,i=u<(_n|vn|mn),o=e==mn&&r==yn||e==mn&&r==xn&&n[7].length<=t[8]||e==(mn|xn)&&t[7].length<=t[8]&&r==yn;\nif(!i&&!o)return n;e&_n&&(n[2]=t[2],u|=r&_n?0:gn);var f=t[3];if(f){var c=n[3];n[3]=c?Uu(c,f,t[4]):f,n[4]=c?N(n[3],cn):t[4]}return f=t[5],f&&(c=n[5],n[5]=c?Bu(c,f,t[6]):f,n[6]=c?N(n[5],cn):t[6]),f=t[7],f&&(n[7]=f),e&mn&&(n[8]=null==n[8]?t[8]:Hl(n[8],t[8])),null==n[9]&&(n[9]=t[9]),n[0]=t[0],n[1]=u,n}function Zi(n){var t=[];if(null!=n)for(var r in ll(n))t.push(r);return t}function Ki(n){return xl.call(n)}function Vi(t,r,e){return r=Gl(r===X?t.length-1:r,0),function(){for(var u=arguments,i=-1,o=Gl(u.length-r,0),f=il(o);++i<o;)f[i]=u[r+i];\ni=-1;for(var c=il(r+1);++i<r;)c[i]=u[i];return c[r]=e(f),n(t,this,c)}}function Gi(n,t){return t.length<2?n:_e(n,au(t,0,-1))}function Hi(n,t){for(var r=n.length,e=Hl(t.length,r),u=Tu(n);e--;){var i=t[e];n[e]=Ci(i,r)?u[i]:X}return n}function Ji(n,t){if((\"constructor\"!==t||\"function\"!=typeof n[t])&&\"__proto__\"!=t)return n[t]}function Yi(n,t,r){var e=t+\"\";return Ls(n,Wi(e,ro(Ii(e),r)))}function Qi(n){var t=0,r=0;return function(){var e=Jl(),u=In-(e-r);if(r=e,u>0){if(++t>=On)return arguments[0]}else t=0;\nreturn n.apply(X,arguments)}}function Xi(n,t){var r=-1,e=n.length,u=e-1;for(t=t===X?e:t;++r<t;){var i=tu(r,u),o=n[i];n[i]=n[r],n[r]=o}return n.length=t,n}function no(n){if(\"string\"==typeof n||bc(n))return n;var t=n+\"\";return\"0\"==t&&1/n==-Sn?\"-0\":t}function to(n){if(null!=n){try{return dl.call(n)}catch(n){}try{return n+\"\"}catch(n){}}return\"\"}function ro(n,t){return r($n,function(r){var e=\"_.\"+r[0];t&r[1]&&!o(n,e)&&n.push(e)}),n.sort()}function eo(n){if(n instanceof Ct)return n.clone();var t=new Y(n.__wrapped__,n.__chain__);\nreturn t.__actions__=Tu(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function uo(n,t,r){t=(r?Ui(n,t,r):t===X)?1:Gl(kc(t),0);var e=null==n?0:n.length;if(!e||t<1)return[];for(var u=0,i=0,o=il(Fl(e/t));u<e;)o[i++]=au(n,u,u+=t);return o}function io(n){for(var t=-1,r=null==n?0:n.length,e=0,u=[];++t<r;){var i=n[t];i&&(u[e++]=i)}return u}function oo(){var n=arguments.length;if(!n)return[];for(var t=il(n-1),r=arguments[0],e=n;e--;)t[e-1]=arguments[e];return a(bh(r)?Tu(r):[r],ee(t,1));\n}function fo(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),au(n,t<0?0:t,e)):[]}function co(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),t=e-t,au(n,0,t<0?0:t)):[]}function ao(n,t){return n&&n.length?bu(n,mi(t,3),!0,!0):[]}function lo(n,t){return n&&n.length?bu(n,mi(t,3),!0):[]}function so(n,t,r,e){var u=null==n?0:n.length;return u?(r&&\"number\"!=typeof r&&Ui(n,t,r)&&(r=0,e=u),ne(n,t,r,e)):[]}function ho(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:kc(r);\nreturn u<0&&(u=Gl(e+u,0)),g(n,mi(t,3),u)}function po(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==X&&(u=kc(r),u=r<0?Gl(e+u,0):Hl(u,e-1)),g(n,mi(t,3),u,!0)}function _o(n){return(null==n?0:n.length)?ee(n,1):[]}function vo(n){return(null==n?0:n.length)?ee(n,Sn):[]}function go(n,t){return(null==n?0:n.length)?(t=t===X?1:kc(t),ee(n,t)):[]}function yo(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){var u=n[t];e[u[0]]=u[1]}return e}function bo(n){return n&&n.length?n[0]:X}function wo(n,t,r){\nvar e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:kc(r);return u<0&&(u=Gl(e+u,0)),y(n,t,u)}function mo(n){return(null==n?0:n.length)?au(n,0,-1):[]}function xo(n,t){return null==n?\"\":Kl.call(n,t)}function jo(n){var t=null==n?0:n.length;return t?n[t-1]:X}function Ao(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;return r!==X&&(u=kc(r),u=u<0?Gl(e+u,0):Hl(u,e-1)),t===t?K(n,t,u):g(n,b,u,!0)}function ko(n,t){return n&&n.length?Ge(n,kc(t)):X}function Oo(n,t){return n&&n.length&&t&&t.length?Xe(n,t):n;\n}function Io(n,t,r){return n&&n.length&&t&&t.length?Xe(n,t,mi(r,2)):n}function Ro(n,t,r){return n&&n.length&&t&&t.length?Xe(n,t,X,r):n}function zo(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],i=n.length;for(t=mi(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),u.push(e))}return nu(n,u),r}function Eo(n){return null==n?n:Xl.call(n)}function So(n,t,r){var e=null==n?0:n.length;return e?(r&&\"number\"!=typeof r&&Ui(n,t,r)?(t=0,r=e):(t=null==t?0:kc(t),r=r===X?e:kc(r)),au(n,t,r)):[]}function Wo(n,t){\nreturn su(n,t)}function Lo(n,t,r){return hu(n,t,mi(r,2))}function Co(n,t){var r=null==n?0:n.length;if(r){var e=su(n,t);if(e<r&&Gf(n[e],t))return e}return-1}function Uo(n,t){return su(n,t,!0)}function Bo(n,t,r){return hu(n,t,mi(r,2),!0)}function To(n,t){if(null==n?0:n.length){var r=su(n,t,!0)-1;if(Gf(n[r],t))return r}return-1}function $o(n){return n&&n.length?pu(n):[]}function Do(n,t){return n&&n.length?pu(n,mi(t,2)):[]}function Mo(n){var t=null==n?0:n.length;return t?au(n,1,t):[]}function Fo(n,t,r){\nreturn n&&n.length?(t=r||t===X?1:kc(t),au(n,0,t<0?0:t)):[]}function No(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),t=e-t,au(n,t<0?0:t,e)):[]}function Po(n,t){return n&&n.length?bu(n,mi(t,3),!1,!0):[]}function qo(n,t){return n&&n.length?bu(n,mi(t,3)):[]}function Zo(n){return n&&n.length?gu(n):[]}function Ko(n,t){return n&&n.length?gu(n,mi(t,2)):[]}function Vo(n,t){return t=\"function\"==typeof t?t:X,n&&n.length?gu(n,X,t):[]}function Go(n){if(!n||!n.length)return[];var t=0;return n=i(n,function(n){\nif(Jf(n))return t=Gl(n.length,t),!0}),O(t,function(t){return c(n,m(t))})}function Ho(t,r){if(!t||!t.length)return[];var e=Go(t);return null==r?e:c(e,function(t){return n(r,X,t)})}function Jo(n,t){return xu(n||[],t||[],Sr)}function Yo(n,t){return xu(n||[],t||[],fu)}function Qo(n){var t=Z(n);return t.__chain__=!0,t}function Xo(n,t){return t(n),n}function nf(n,t){return t(n)}function tf(){return Qo(this)}function rf(){return new Y(this.value(),this.__chain__)}function ef(){this.__values__===X&&(this.__values__=jc(this.value()));\nvar n=this.__index__>=this.__values__.length;return{done:n,value:n?X:this.__values__[this.__index__++]}}function uf(){return this}function of(n){for(var t,r=this;r instanceof J;){var e=eo(r);e.__index__=0,e.__values__=X,t?u.__wrapped__=e:t=e;var u=e;r=r.__wrapped__}return u.__wrapped__=n,t}function ff(){var n=this.__wrapped__;if(n instanceof Ct){var t=n;return this.__actions__.length&&(t=new Ct(this)),t=t.reverse(),t.__actions__.push({func:nf,args:[Eo],thisArg:X}),new Y(t,this.__chain__)}return this.thru(Eo);\n}function cf(){return wu(this.__wrapped__,this.__actions__)}function af(n,t,r){var e=bh(n)?u:Jr;return r&&Ui(n,t,r)&&(t=X),e(n,mi(t,3))}function lf(n,t){return(bh(n)?i:te)(n,mi(t,3))}function sf(n,t){return ee(yf(n,t),1)}function hf(n,t){return ee(yf(n,t),Sn)}function pf(n,t,r){return r=r===X?1:kc(r),ee(yf(n,t),r)}function _f(n,t){return(bh(n)?r:ys)(n,mi(t,3))}function vf(n,t){return(bh(n)?e:ds)(n,mi(t,3))}function gf(n,t,r,e){n=Hf(n)?n:ra(n),r=r&&!e?kc(r):0;var u=n.length;return r<0&&(r=Gl(u+r,0)),\ndc(n)?r<=u&&n.indexOf(t,r)>-1:!!u&&y(n,t,r)>-1}function yf(n,t){return(bh(n)?c:Pe)(n,mi(t,3))}function df(n,t,r,e){return null==n?[]:(bh(t)||(t=null==t?[]:[t]),r=e?X:r,bh(r)||(r=null==r?[]:[r]),He(n,t,r))}function bf(n,t,r){var e=bh(n)?l:j,u=arguments.length<3;return e(n,mi(t,4),r,u,ys)}function wf(n,t,r){var e=bh(n)?s:j,u=arguments.length<3;return e(n,mi(t,4),r,u,ds)}function mf(n,t){return(bh(n)?i:te)(n,Uf(mi(t,3)))}function xf(n){return(bh(n)?Ir:iu)(n)}function jf(n,t,r){return t=(r?Ui(n,t,r):t===X)?1:kc(t),\n(bh(n)?Rr:ou)(n,t)}function Af(n){return(bh(n)?zr:cu)(n)}function kf(n){if(null==n)return 0;if(Hf(n))return dc(n)?V(n):n.length;var t=zs(n);return t==Gn||t==tt?n.size:Me(n).length}function Of(n,t,r){var e=bh(n)?h:lu;return r&&Ui(n,t,r)&&(t=X),e(n,mi(t,3))}function If(n,t){if(\"function\"!=typeof t)throw new pl(en);return n=kc(n),function(){if(--n<1)return t.apply(this,arguments)}}function Rf(n,t,r){return t=r?X:t,t=n&&null==t?n.length:t,ai(n,mn,X,X,X,X,t)}function zf(n,t){var r;if(\"function\"!=typeof t)throw new pl(en);\nreturn n=kc(n),function(){return--n>0&&(r=t.apply(this,arguments)),n<=1&&(t=X),r}}function Ef(n,t,r){t=r?X:t;var e=ai(n,yn,X,X,X,X,X,t);return e.placeholder=Ef.placeholder,e}function Sf(n,t,r){t=r?X:t;var e=ai(n,dn,X,X,X,X,X,t);return e.placeholder=Sf.placeholder,e}function Wf(n,t,r){function e(t){var r=h,e=p;return h=p=X,d=t,v=n.apply(e,r)}function u(n){return d=n,g=Ws(f,t),b?e(n):v}function i(n){var r=n-y,e=n-d,u=t-r;return w?Hl(u,_-e):u}function o(n){var r=n-y,e=n-d;return y===X||r>=t||r<0||w&&e>=_;\n}function f(){var n=fh();return o(n)?c(n):(g=Ws(f,i(n)),X)}function c(n){return g=X,m&&h?e(n):(h=p=X,v)}function a(){g!==X&&As(g),d=0,h=y=p=g=X}function l(){return g===X?v:c(fh())}function s(){var n=fh(),r=o(n);if(h=arguments,p=this,y=n,r){if(g===X)return u(y);if(w)return As(g),g=Ws(f,t),e(y)}return g===X&&(g=Ws(f,t)),v}var h,p,_,v,g,y,d=0,b=!1,w=!1,m=!0;if(\"function\"!=typeof n)throw new pl(en);return t=Ic(t)||0,fc(r)&&(b=!!r.leading,w=\"maxWait\"in r,_=w?Gl(Ic(r.maxWait)||0,t):_,m=\"trailing\"in r?!!r.trailing:m),\ns.cancel=a,s.flush=l,s}function Lf(n){return ai(n,jn)}function Cf(n,t){if(\"function\"!=typeof n||null!=t&&\"function\"!=typeof t)throw new pl(en);var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;if(i.has(u))return i.get(u);var o=n.apply(this,e);return r.cache=i.set(u,o)||i,o};return r.cache=new(Cf.Cache||sr),r}function Uf(n){if(\"function\"!=typeof n)throw new pl(en);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:\nreturn!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function Bf(n){return zf(2,n)}function Tf(n,t){if(\"function\"!=typeof n)throw new pl(en);return t=t===X?t:kc(t),uu(n,t)}function $f(t,r){if(\"function\"!=typeof t)throw new pl(en);return r=null==r?0:Gl(kc(r),0),uu(function(e){var u=e[r],i=Ou(e,0,r);return u&&a(i,u),n(t,this,i)})}function Df(n,t,r){var e=!0,u=!0;if(\"function\"!=typeof n)throw new pl(en);return fc(r)&&(e=\"leading\"in r?!!r.leading:e,u=\"trailing\"in r?!!r.trailing:u),\nWf(n,t,{leading:e,maxWait:t,trailing:u})}function Mf(n){return Rf(n,1)}function Ff(n,t){return ph(Au(t),n)}function Nf(){if(!arguments.length)return[];var n=arguments[0];return bh(n)?n:[n]}function Pf(n){return Fr(n,sn)}function qf(n,t){return t=\"function\"==typeof t?t:X,Fr(n,sn,t)}function Zf(n){return Fr(n,an|sn)}function Kf(n,t){return t=\"function\"==typeof t?t:X,Fr(n,an|sn,t)}function Vf(n,t){return null==t||Pr(n,t,Pc(t))}function Gf(n,t){return n===t||n!==n&&t!==t}function Hf(n){return null!=n&&oc(n.length)&&!uc(n);\n}function Jf(n){return cc(n)&&Hf(n)}function Yf(n){return n===!0||n===!1||cc(n)&&we(n)==Nn}function Qf(n){return cc(n)&&1===n.nodeType&&!gc(n)}function Xf(n){if(null==n)return!0;if(Hf(n)&&(bh(n)||\"string\"==typeof n||\"function\"==typeof n.splice||mh(n)||Oh(n)||dh(n)))return!n.length;var t=zs(n);if(t==Gn||t==tt)return!n.size;if(Mi(n))return!Me(n).length;for(var r in n)if(bl.call(n,r))return!1;return!0}function nc(n,t){return Se(n,t)}function tc(n,t,r){r=\"function\"==typeof r?r:X;var e=r?r(n,t):X;return e===X?Se(n,t,X,r):!!e;\n}function rc(n){if(!cc(n))return!1;var t=we(n);return t==Zn||t==qn||\"string\"==typeof n.message&&\"string\"==typeof n.name&&!gc(n)}function ec(n){return\"number\"==typeof n&&Zl(n)}function uc(n){if(!fc(n))return!1;var t=we(n);return t==Kn||t==Vn||t==Fn||t==Xn}function ic(n){return\"number\"==typeof n&&n==kc(n)}function oc(n){return\"number\"==typeof n&&n>-1&&n%1==0&&n<=Wn}function fc(n){var t=typeof n;return null!=n&&(\"object\"==t||\"function\"==t)}function cc(n){return null!=n&&\"object\"==typeof n}function ac(n,t){\nreturn n===t||Ce(n,t,ji(t))}function lc(n,t,r){return r=\"function\"==typeof r?r:X,Ce(n,t,ji(t),r)}function sc(n){return vc(n)&&n!=+n}function hc(n){if(Es(n))throw new fl(rn);return Ue(n)}function pc(n){return null===n}function _c(n){return null==n}function vc(n){return\"number\"==typeof n||cc(n)&&we(n)==Hn}function gc(n){if(!cc(n)||we(n)!=Yn)return!1;var t=El(n);if(null===t)return!0;var r=bl.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof r&&r instanceof r&&dl.call(r)==jl}function yc(n){\nreturn ic(n)&&n>=-Wn&&n<=Wn}function dc(n){return\"string\"==typeof n||!bh(n)&&cc(n)&&we(n)==rt}function bc(n){return\"symbol\"==typeof n||cc(n)&&we(n)==et}function wc(n){return n===X}function mc(n){return cc(n)&&zs(n)==it}function xc(n){return cc(n)&&we(n)==ot}function jc(n){if(!n)return[];if(Hf(n))return dc(n)?G(n):Tu(n);if(Ul&&n[Ul])return D(n[Ul]());var t=zs(n);return(t==Gn?M:t==tt?P:ra)(n)}function Ac(n){if(!n)return 0===n?n:0;if(n=Ic(n),n===Sn||n===-Sn){return(n<0?-1:1)*Ln}return n===n?n:0}function kc(n){\nvar t=Ac(n),r=t%1;return t===t?r?t-r:t:0}function Oc(n){return n?Mr(kc(n),0,Un):0}function Ic(n){if(\"number\"==typeof n)return n;if(bc(n))return Cn;if(fc(n)){var t=\"function\"==typeof n.valueOf?n.valueOf():n;n=fc(t)?t+\"\":t}if(\"string\"!=typeof n)return 0===n?n:+n;n=R(n);var r=qt.test(n);return r||Kt.test(n)?Xr(n.slice(2),r?2:8):Pt.test(n)?Cn:+n}function Rc(n){return $u(n,qc(n))}function zc(n){return n?Mr(kc(n),-Wn,Wn):0===n?n:0}function Ec(n){return null==n?\"\":vu(n)}function Sc(n,t){var r=gs(n);return null==t?r:Cr(r,t);\n}function Wc(n,t){return v(n,mi(t,3),ue)}function Lc(n,t){return v(n,mi(t,3),oe)}function Cc(n,t){return null==n?n:bs(n,mi(t,3),qc)}function Uc(n,t){return null==n?n:ws(n,mi(t,3),qc)}function Bc(n,t){return n&&ue(n,mi(t,3))}function Tc(n,t){return n&&oe(n,mi(t,3))}function $c(n){return null==n?[]:fe(n,Pc(n))}function Dc(n){return null==n?[]:fe(n,qc(n))}function Mc(n,t,r){var e=null==n?X:_e(n,t);return e===X?r:e}function Fc(n,t){return null!=n&&Ri(n,t,xe)}function Nc(n,t){return null!=n&&Ri(n,t,je);\n}function Pc(n){return Hf(n)?Or(n):Me(n)}function qc(n){return Hf(n)?Or(n,!0):Fe(n)}function Zc(n,t){var r={};return t=mi(t,3),ue(n,function(n,e,u){Br(r,t(n,e,u),n)}),r}function Kc(n,t){var r={};return t=mi(t,3),ue(n,function(n,e,u){Br(r,e,t(n,e,u))}),r}function Vc(n,t){return Gc(n,Uf(mi(t)))}function Gc(n,t){if(null==n)return{};var r=c(di(n),function(n){return[n]});return t=mi(t),Ye(n,r,function(n,r){return t(n,r[0])})}function Hc(n,t,r){t=ku(t,n);var e=-1,u=t.length;for(u||(u=1,n=X);++e<u;){var i=null==n?X:n[no(t[e])];\ni===X&&(e=u,i=r),n=uc(i)?i.call(n):i}return n}function Jc(n,t,r){return null==n?n:fu(n,t,r)}function Yc(n,t,r,e){return e=\"function\"==typeof e?e:X,null==n?n:fu(n,t,r,e)}function Qc(n,t,e){var u=bh(n),i=u||mh(n)||Oh(n);if(t=mi(t,4),null==e){var o=n&&n.constructor;e=i?u?new o:[]:fc(n)&&uc(o)?gs(El(n)):{}}return(i?r:ue)(n,function(n,r,u){return t(e,n,r,u)}),e}function Xc(n,t){return null==n||yu(n,t)}function na(n,t,r){return null==n?n:du(n,t,Au(r))}function ta(n,t,r,e){return e=\"function\"==typeof e?e:X,\nnull==n?n:du(n,t,Au(r),e)}function ra(n){return null==n?[]:E(n,Pc(n))}function ea(n){return null==n?[]:E(n,qc(n))}function ua(n,t,r){return r===X&&(r=t,t=X),r!==X&&(r=Ic(r),r=r===r?r:0),t!==X&&(t=Ic(t),t=t===t?t:0),Mr(Ic(n),t,r)}function ia(n,t,r){return t=Ac(t),r===X?(r=t,t=0):r=Ac(r),n=Ic(n),Ae(n,t,r)}function oa(n,t,r){if(r&&\"boolean\"!=typeof r&&Ui(n,t,r)&&(t=r=X),r===X&&(\"boolean\"==typeof t?(r=t,t=X):\"boolean\"==typeof n&&(r=n,n=X)),n===X&&t===X?(n=0,t=1):(n=Ac(n),t===X?(t=n,n=0):t=Ac(t)),n>t){\nvar e=n;n=t,t=e}if(r||n%1||t%1){var u=Ql();return Hl(n+u*(t-n+Qr(\"1e-\"+((u+\"\").length-1))),t)}return tu(n,t)}function fa(n){return Qh(Ec(n).toLowerCase())}function ca(n){return n=Ec(n),n&&n.replace(Gt,ve).replace(Dr,\"\")}function aa(n,t,r){n=Ec(n),t=vu(t);var e=n.length;r=r===X?e:Mr(kc(r),0,e);var u=r;return r-=t.length,r>=0&&n.slice(r,u)==t}function la(n){return n=Ec(n),n&&At.test(n)?n.replace(xt,ge):n}function sa(n){return n=Ec(n),n&&Wt.test(n)?n.replace(St,\"\\\\$&\"):n}function ha(n,t,r){n=Ec(n),t=kc(t);\nvar e=t?V(n):0;if(!t||e>=t)return n;var u=(t-e)/2;return ri(Nl(u),r)+n+ri(Fl(u),r)}function pa(n,t,r){n=Ec(n),t=kc(t);var e=t?V(n):0;return t&&e<t?n+ri(t-e,r):n}function _a(n,t,r){n=Ec(n),t=kc(t);var e=t?V(n):0;return t&&e<t?ri(t-e,r)+n:n}function va(n,t,r){return r||null==t?t=0:t&&(t=+t),Yl(Ec(n).replace(Lt,\"\"),t||0)}function ga(n,t,r){return t=(r?Ui(n,t,r):t===X)?1:kc(t),eu(Ec(n),t)}function ya(){var n=arguments,t=Ec(n[0]);return n.length<3?t:t.replace(n[1],n[2])}function da(n,t,r){return r&&\"number\"!=typeof r&&Ui(n,t,r)&&(t=r=X),\n(r=r===X?Un:r>>>0)?(n=Ec(n),n&&(\"string\"==typeof t||null!=t&&!Ah(t))&&(t=vu(t),!t&&T(n))?Ou(G(n),0,r):n.split(t,r)):[]}function ba(n,t,r){return n=Ec(n),r=null==r?0:Mr(kc(r),0,n.length),t=vu(t),n.slice(r,r+t.length)==t}function wa(n,t,r){var e=Z.templateSettings;r&&Ui(n,t,r)&&(t=X),n=Ec(n),t=Sh({},t,e,li);var u,i,o=Sh({},t.imports,e.imports,li),f=Pc(o),c=E(o,f),a=0,l=t.interpolate||Ht,s=\"__p += '\",h=sl((t.escape||Ht).source+\"|\"+l.source+\"|\"+(l===It?Ft:Ht).source+\"|\"+(t.evaluate||Ht).source+\"|$\",\"g\"),p=\"//# sourceURL=\"+(bl.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++Zr+\"]\")+\"\\n\";\nn.replace(h,function(t,r,e,o,f,c){return e||(e=o),s+=n.slice(a,c).replace(Jt,U),r&&(u=!0,s+=\"' +\\n__e(\"+r+\") +\\n'\"),f&&(i=!0,s+=\"';\\n\"+f+\";\\n__p += '\"),e&&(s+=\"' +\\n((__t = (\"+e+\")) == null ? '' : __t) +\\n'\"),a=c+t.length,t}),s+=\"';\\n\";var _=bl.call(t,\"variable\")&&t.variable;if(_){if(Dt.test(_))throw new fl(un)}else s=\"with (obj) {\\n\"+s+\"\\n}\\n\";s=(i?s.replace(dt,\"\"):s).replace(bt,\"$1\").replace(wt,\"$1;\"),s=\"function(\"+(_||\"obj\")+\") {\\n\"+(_?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(u?\", __e = _.escape\":\"\")+(i?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+s+\"return __p\\n}\";\nvar v=Xh(function(){return cl(f,p+\"return \"+s).apply(X,c)});if(v.source=s,rc(v))throw v;return v}function ma(n){return Ec(n).toLowerCase()}function xa(n){return Ec(n).toUpperCase()}function ja(n,t,r){if(n=Ec(n),n&&(r||t===X))return R(n);if(!n||!(t=vu(t)))return n;var e=G(n),u=G(t);return Ou(e,W(e,u),L(e,u)+1).join(\"\")}function Aa(n,t,r){if(n=Ec(n),n&&(r||t===X))return n.slice(0,H(n)+1);if(!n||!(t=vu(t)))return n;var e=G(n);return Ou(e,0,L(e,G(t))+1).join(\"\")}function ka(n,t,r){if(n=Ec(n),n&&(r||t===X))return n.replace(Lt,\"\");\nif(!n||!(t=vu(t)))return n;var e=G(n);return Ou(e,W(e,G(t))).join(\"\")}function Oa(n,t){var r=An,e=kn;if(fc(t)){var u=\"separator\"in t?t.separator:u;r=\"length\"in t?kc(t.length):r,e=\"omission\"in t?vu(t.omission):e}n=Ec(n);var i=n.length;if(T(n)){var o=G(n);i=o.length}if(r>=i)return n;var f=r-V(e);if(f<1)return e;var c=o?Ou(o,0,f).join(\"\"):n.slice(0,f);if(u===X)return c+e;if(o&&(f+=c.length-f),Ah(u)){if(n.slice(f).search(u)){var a,l=c;for(u.global||(u=sl(u.source,Ec(Nt.exec(u))+\"g\")),u.lastIndex=0;a=u.exec(l);)var s=a.index;\nc=c.slice(0,s===X?f:s)}}else if(n.indexOf(vu(u),f)!=f){var h=c.lastIndexOf(u);h>-1&&(c=c.slice(0,h))}return c+e}function Ia(n){return n=Ec(n),n&&jt.test(n)?n.replace(mt,ye):n}function Ra(n,t,r){return n=Ec(n),t=r?X:t,t===X?$(n)?Q(n):_(n):n.match(t)||[]}function za(t){var r=null==t?0:t.length,e=mi();return t=r?c(t,function(n){if(\"function\"!=typeof n[1])throw new pl(en);return[e(n[0]),n[1]]}):[],uu(function(e){for(var u=-1;++u<r;){var i=t[u];if(n(i[0],this,e))return n(i[1],this,e)}})}function Ea(n){\nreturn Nr(Fr(n,an))}function Sa(n){return function(){return n}}function Wa(n,t){return null==n||n!==n?t:n}function La(n){return n}function Ca(n){return De(\"function\"==typeof n?n:Fr(n,an))}function Ua(n){return qe(Fr(n,an))}function Ba(n,t){return Ze(n,Fr(t,an))}function Ta(n,t,e){var u=Pc(t),i=fe(t,u);null!=e||fc(t)&&(i.length||!u.length)||(e=t,t=n,n=this,i=fe(t,Pc(t)));var o=!(fc(e)&&\"chain\"in e&&!e.chain),f=uc(n);return r(i,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;\nif(o||t){var r=n(this.__wrapped__);return(r.__actions__=Tu(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,a([this.value()],arguments))})}),n}function $a(){return re._===this&&(re._=Al),this}function Da(){}function Ma(n){return n=kc(n),uu(function(t){return Ge(t,n)})}function Fa(n){return Bi(n)?m(no(n)):Qe(n)}function Na(n){return function(t){return null==n?X:_e(n,t)}}function Pa(){return[]}function qa(){return!1}function Za(){return{}}function Ka(){return\"\";\n}function Va(){return!0}function Ga(n,t){if(n=kc(n),n<1||n>Wn)return[];var r=Un,e=Hl(n,Un);t=mi(t),n-=Un;for(var u=O(e,t);++r<n;)t(r);return u}function Ha(n){return bh(n)?c(n,no):bc(n)?[n]:Tu(Cs(Ec(n)))}function Ja(n){var t=++wl;return Ec(n)+t}function Ya(n){return n&&n.length?Yr(n,La,me):X}function Qa(n,t){return n&&n.length?Yr(n,mi(t,2),me):X}function Xa(n){return w(n,La)}function nl(n,t){return w(n,mi(t,2))}function tl(n){return n&&n.length?Yr(n,La,Ne):X}function rl(n,t){return n&&n.length?Yr(n,mi(t,2),Ne):X;\n}function el(n){return n&&n.length?k(n,La):0}function ul(n,t){return n&&n.length?k(n,mi(t,2)):0}x=null==x?re:be.defaults(re.Object(),x,be.pick(re,qr));var il=x.Array,ol=x.Date,fl=x.Error,cl=x.Function,al=x.Math,ll=x.Object,sl=x.RegExp,hl=x.String,pl=x.TypeError,_l=il.prototype,vl=cl.prototype,gl=ll.prototype,yl=x[\"__core-js_shared__\"],dl=vl.toString,bl=gl.hasOwnProperty,wl=0,ml=function(){var n=/[^.]+$/.exec(yl&&yl.keys&&yl.keys.IE_PROTO||\"\");return n?\"Symbol(src)_1.\"+n:\"\"}(),xl=gl.toString,jl=dl.call(ll),Al=re._,kl=sl(\"^\"+dl.call(bl).replace(St,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),Ol=ie?x.Buffer:X,Il=x.Symbol,Rl=x.Uint8Array,zl=Ol?Ol.allocUnsafe:X,El=F(ll.getPrototypeOf,ll),Sl=ll.create,Wl=gl.propertyIsEnumerable,Ll=_l.splice,Cl=Il?Il.isConcatSpreadable:X,Ul=Il?Il.iterator:X,Bl=Il?Il.toStringTag:X,Tl=function(){\ntry{var n=Ai(ll,\"defineProperty\");return n({},\"\",{}),n}catch(n){}}(),$l=x.clearTimeout!==re.clearTimeout&&x.clearTimeout,Dl=ol&&ol.now!==re.Date.now&&ol.now,Ml=x.setTimeout!==re.setTimeout&&x.setTimeout,Fl=al.ceil,Nl=al.floor,Pl=ll.getOwnPropertySymbols,ql=Ol?Ol.isBuffer:X,Zl=x.isFinite,Kl=_l.join,Vl=F(ll.keys,ll),Gl=al.max,Hl=al.min,Jl=ol.now,Yl=x.parseInt,Ql=al.random,Xl=_l.reverse,ns=Ai(x,\"DataView\"),ts=Ai(x,\"Map\"),rs=Ai(x,\"Promise\"),es=Ai(x,\"Set\"),us=Ai(x,\"WeakMap\"),is=Ai(ll,\"create\"),os=us&&new us,fs={},cs=to(ns),as=to(ts),ls=to(rs),ss=to(es),hs=to(us),ps=Il?Il.prototype:X,_s=ps?ps.valueOf:X,vs=ps?ps.toString:X,gs=function(){\nfunction n(){}return function(t){if(!fc(t))return{};if(Sl)return Sl(t);n.prototype=t;var r=new n;return n.prototype=X,r}}();Z.templateSettings={escape:kt,evaluate:Ot,interpolate:It,variable:\"\",imports:{_:Z}},Z.prototype=J.prototype,Z.prototype.constructor=Z,Y.prototype=gs(J.prototype),Y.prototype.constructor=Y,Ct.prototype=gs(J.prototype),Ct.prototype.constructor=Ct,Xt.prototype.clear=nr,Xt.prototype.delete=tr,Xt.prototype.get=rr,Xt.prototype.has=er,Xt.prototype.set=ur,ir.prototype.clear=or,ir.prototype.delete=fr,\nir.prototype.get=cr,ir.prototype.has=ar,ir.prototype.set=lr,sr.prototype.clear=hr,sr.prototype.delete=pr,sr.prototype.get=_r,sr.prototype.has=vr,sr.prototype.set=gr,yr.prototype.add=yr.prototype.push=dr,yr.prototype.has=br,wr.prototype.clear=mr,wr.prototype.delete=xr,wr.prototype.get=jr,wr.prototype.has=Ar,wr.prototype.set=kr;var ys=Pu(ue),ds=Pu(oe,!0),bs=qu(),ws=qu(!0),ms=os?function(n,t){return os.set(n,t),n}:La,xs=Tl?function(n,t){return Tl(n,\"toString\",{configurable:!0,enumerable:!1,value:Sa(t),\nwritable:!0})}:La,js=uu,As=$l||function(n){return re.clearTimeout(n)},ks=es&&1/P(new es([,-0]))[1]==Sn?function(n){return new es(n)}:Da,Os=os?function(n){return os.get(n)}:Da,Is=Pl?function(n){return null==n?[]:(n=ll(n),i(Pl(n),function(t){return Wl.call(n,t)}))}:Pa,Rs=Pl?function(n){for(var t=[];n;)a(t,Is(n)),n=El(n);return t}:Pa,zs=we;(ns&&zs(new ns(new ArrayBuffer(1)))!=ct||ts&&zs(new ts)!=Gn||rs&&zs(rs.resolve())!=Qn||es&&zs(new es)!=tt||us&&zs(new us)!=it)&&(zs=function(n){var t=we(n),r=t==Yn?n.constructor:X,e=r?to(r):\"\";\nif(e)switch(e){case cs:return ct;case as:return Gn;case ls:return Qn;case ss:return tt;case hs:return it}return t});var Es=yl?uc:qa,Ss=Qi(ms),Ws=Ml||function(n,t){return re.setTimeout(n,t)},Ls=Qi(xs),Cs=Pi(function(n){var t=[];return 46===n.charCodeAt(0)&&t.push(\"\"),n.replace(Et,function(n,r,e,u){t.push(e?u.replace(Mt,\"$1\"):r||n)}),t}),Us=uu(function(n,t){return Jf(n)?Hr(n,ee(t,1,Jf,!0)):[]}),Bs=uu(function(n,t){var r=jo(t);return Jf(r)&&(r=X),Jf(n)?Hr(n,ee(t,1,Jf,!0),mi(r,2)):[]}),Ts=uu(function(n,t){\nvar r=jo(t);return Jf(r)&&(r=X),Jf(n)?Hr(n,ee(t,1,Jf,!0),X,r):[]}),$s=uu(function(n){var t=c(n,ju);return t.length&&t[0]===n[0]?ke(t):[]}),Ds=uu(function(n){var t=jo(n),r=c(n,ju);return t===jo(r)?t=X:r.pop(),r.length&&r[0]===n[0]?ke(r,mi(t,2)):[]}),Ms=uu(function(n){var t=jo(n),r=c(n,ju);return t=\"function\"==typeof t?t:X,t&&r.pop(),r.length&&r[0]===n[0]?ke(r,X,t):[]}),Fs=uu(Oo),Ns=gi(function(n,t){var r=null==n?0:n.length,e=Tr(n,t);return nu(n,c(t,function(n){return Ci(n,r)?+n:n}).sort(Lu)),e}),Ps=uu(function(n){\nreturn gu(ee(n,1,Jf,!0))}),qs=uu(function(n){var t=jo(n);return Jf(t)&&(t=X),gu(ee(n,1,Jf,!0),mi(t,2))}),Zs=uu(function(n){var t=jo(n);return t=\"function\"==typeof t?t:X,gu(ee(n,1,Jf,!0),X,t)}),Ks=uu(function(n,t){return Jf(n)?Hr(n,t):[]}),Vs=uu(function(n){return mu(i(n,Jf))}),Gs=uu(function(n){var t=jo(n);return Jf(t)&&(t=X),mu(i(n,Jf),mi(t,2))}),Hs=uu(function(n){var t=jo(n);return t=\"function\"==typeof t?t:X,mu(i(n,Jf),X,t)}),Js=uu(Go),Ys=uu(function(n){var t=n.length,r=t>1?n[t-1]:X;return r=\"function\"==typeof r?(n.pop(),\nr):X,Ho(n,r)}),Qs=gi(function(n){var t=n.length,r=t?n[0]:0,e=this.__wrapped__,u=function(t){return Tr(t,n)};return!(t>1||this.__actions__.length)&&e instanceof Ct&&Ci(r)?(e=e.slice(r,+r+(t?1:0)),e.__actions__.push({func:nf,args:[u],thisArg:X}),new Y(e,this.__chain__).thru(function(n){return t&&!n.length&&n.push(X),n})):this.thru(u)}),Xs=Fu(function(n,t,r){bl.call(n,r)?++n[r]:Br(n,r,1)}),nh=Ju(ho),th=Ju(po),rh=Fu(function(n,t,r){bl.call(n,r)?n[r].push(t):Br(n,r,[t])}),eh=uu(function(t,r,e){var u=-1,i=\"function\"==typeof r,o=Hf(t)?il(t.length):[];\nreturn ys(t,function(t){o[++u]=i?n(r,t,e):Ie(t,r,e)}),o}),uh=Fu(function(n,t,r){Br(n,r,t)}),ih=Fu(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),oh=uu(function(n,t){if(null==n)return[];var r=t.length;return r>1&&Ui(n,t[0],t[1])?t=[]:r>2&&Ui(t[0],t[1],t[2])&&(t=[t[0]]),He(n,ee(t,1),[])}),fh=Dl||function(){return re.Date.now()},ch=uu(function(n,t,r){var e=_n;if(r.length){var u=N(r,wi(ch));e|=bn}return ai(n,e,t,r,u)}),ah=uu(function(n,t,r){var e=_n|vn;if(r.length){var u=N(r,wi(ah));e|=bn;\n}return ai(t,e,n,r,u)}),lh=uu(function(n,t){return Gr(n,1,t)}),sh=uu(function(n,t,r){return Gr(n,Ic(t)||0,r)});Cf.Cache=sr;var hh=js(function(t,r){r=1==r.length&&bh(r[0])?c(r[0],z(mi())):c(ee(r,1),z(mi()));var e=r.length;return uu(function(u){for(var i=-1,o=Hl(u.length,e);++i<o;)u[i]=r[i].call(this,u[i]);return n(t,this,u)})}),ph=uu(function(n,t){return ai(n,bn,X,t,N(t,wi(ph)))}),_h=uu(function(n,t){return ai(n,wn,X,t,N(t,wi(_h)))}),vh=gi(function(n,t){return ai(n,xn,X,X,X,t)}),gh=ii(me),yh=ii(function(n,t){\nreturn n>=t}),dh=Re(function(){return arguments}())?Re:function(n){return cc(n)&&bl.call(n,\"callee\")&&!Wl.call(n,\"callee\")},bh=il.isArray,wh=ce?z(ce):ze,mh=ql||qa,xh=ae?z(ae):Ee,jh=le?z(le):Le,Ah=se?z(se):Be,kh=he?z(he):Te,Oh=pe?z(pe):$e,Ih=ii(Ne),Rh=ii(function(n,t){return n<=t}),zh=Nu(function(n,t){if(Mi(t)||Hf(t))return $u(t,Pc(t),n),X;for(var r in t)bl.call(t,r)&&Sr(n,r,t[r])}),Eh=Nu(function(n,t){$u(t,qc(t),n)}),Sh=Nu(function(n,t,r,e){$u(t,qc(t),n,e)}),Wh=Nu(function(n,t,r,e){$u(t,Pc(t),n,e);\n}),Lh=gi(Tr),Ch=uu(function(n,t){n=ll(n);var r=-1,e=t.length,u=e>2?t[2]:X;for(u&&Ui(t[0],t[1],u)&&(e=1);++r<e;)for(var i=t[r],o=qc(i),f=-1,c=o.length;++f<c;){var a=o[f],l=n[a];(l===X||Gf(l,gl[a])&&!bl.call(n,a))&&(n[a]=i[a])}return n}),Uh=uu(function(t){return t.push(X,si),n(Mh,X,t)}),Bh=Xu(function(n,t,r){null!=t&&\"function\"!=typeof t.toString&&(t=xl.call(t)),n[t]=r},Sa(La)),Th=Xu(function(n,t,r){null!=t&&\"function\"!=typeof t.toString&&(t=xl.call(t)),bl.call(n,t)?n[t].push(r):n[t]=[r]},mi),$h=uu(Ie),Dh=Nu(function(n,t,r){\nKe(n,t,r)}),Mh=Nu(function(n,t,r,e){Ke(n,t,r,e)}),Fh=gi(function(n,t){var r={};if(null==n)return r;var e=!1;t=c(t,function(t){return t=ku(t,n),e||(e=t.length>1),t}),$u(n,di(n),r),e&&(r=Fr(r,an|ln|sn,hi));for(var u=t.length;u--;)yu(r,t[u]);return r}),Nh=gi(function(n,t){return null==n?{}:Je(n,t)}),Ph=ci(Pc),qh=ci(qc),Zh=Vu(function(n,t,r){return t=t.toLowerCase(),n+(r?fa(t):t)}),Kh=Vu(function(n,t,r){return n+(r?\"-\":\"\")+t.toLowerCase()}),Vh=Vu(function(n,t,r){return n+(r?\" \":\"\")+t.toLowerCase()}),Gh=Ku(\"toLowerCase\"),Hh=Vu(function(n,t,r){\nreturn n+(r?\"_\":\"\")+t.toLowerCase()}),Jh=Vu(function(n,t,r){return n+(r?\" \":\"\")+Qh(t)}),Yh=Vu(function(n,t,r){return n+(r?\" \":\"\")+t.toUpperCase()}),Qh=Ku(\"toUpperCase\"),Xh=uu(function(t,r){try{return n(t,X,r)}catch(n){return rc(n)?n:new fl(n)}}),np=gi(function(n,t){return r(t,function(t){t=no(t),Br(n,t,ch(n[t],n))}),n}),tp=Yu(),rp=Yu(!0),ep=uu(function(n,t){return function(r){return Ie(r,n,t)}}),up=uu(function(n,t){return function(r){return Ie(n,r,t)}}),ip=ti(c),op=ti(u),fp=ti(h),cp=ui(),ap=ui(!0),lp=ni(function(n,t){\nreturn n+t},0),sp=fi(\"ceil\"),hp=ni(function(n,t){return n/t},1),pp=fi(\"floor\"),_p=ni(function(n,t){return n*t},1),vp=fi(\"round\"),gp=ni(function(n,t){return n-t},0);return Z.after=If,Z.ary=Rf,Z.assign=zh,Z.assignIn=Eh,Z.assignInWith=Sh,Z.assignWith=Wh,Z.at=Lh,Z.before=zf,Z.bind=ch,Z.bindAll=np,Z.bindKey=ah,Z.castArray=Nf,Z.chain=Qo,Z.chunk=uo,Z.compact=io,Z.concat=oo,Z.cond=za,Z.conforms=Ea,Z.constant=Sa,Z.countBy=Xs,Z.create=Sc,Z.curry=Ef,Z.curryRight=Sf,Z.debounce=Wf,Z.defaults=Ch,Z.defaultsDeep=Uh,\nZ.defer=lh,Z.delay=sh,Z.difference=Us,Z.differenceBy=Bs,Z.differenceWith=Ts,Z.drop=fo,Z.dropRight=co,Z.dropRightWhile=ao,Z.dropWhile=lo,Z.fill=so,Z.filter=lf,Z.flatMap=sf,Z.flatMapDeep=hf,Z.flatMapDepth=pf,Z.flatten=_o,Z.flattenDeep=vo,Z.flattenDepth=go,Z.flip=Lf,Z.flow=tp,Z.flowRight=rp,Z.fromPairs=yo,Z.functions=$c,Z.functionsIn=Dc,Z.groupBy=rh,Z.initial=mo,Z.intersection=$s,Z.intersectionBy=Ds,Z.intersectionWith=Ms,Z.invert=Bh,Z.invertBy=Th,Z.invokeMap=eh,Z.iteratee=Ca,Z.keyBy=uh,Z.keys=Pc,Z.keysIn=qc,\nZ.map=yf,Z.mapKeys=Zc,Z.mapValues=Kc,Z.matches=Ua,Z.matchesProperty=Ba,Z.memoize=Cf,Z.merge=Dh,Z.mergeWith=Mh,Z.method=ep,Z.methodOf=up,Z.mixin=Ta,Z.negate=Uf,Z.nthArg=Ma,Z.omit=Fh,Z.omitBy=Vc,Z.once=Bf,Z.orderBy=df,Z.over=ip,Z.overArgs=hh,Z.overEvery=op,Z.overSome=fp,Z.partial=ph,Z.partialRight=_h,Z.partition=ih,Z.pick=Nh,Z.pickBy=Gc,Z.property=Fa,Z.propertyOf=Na,Z.pull=Fs,Z.pullAll=Oo,Z.pullAllBy=Io,Z.pullAllWith=Ro,Z.pullAt=Ns,Z.range=cp,Z.rangeRight=ap,Z.rearg=vh,Z.reject=mf,Z.remove=zo,Z.rest=Tf,\nZ.reverse=Eo,Z.sampleSize=jf,Z.set=Jc,Z.setWith=Yc,Z.shuffle=Af,Z.slice=So,Z.sortBy=oh,Z.sortedUniq=$o,Z.sortedUniqBy=Do,Z.split=da,Z.spread=$f,Z.tail=Mo,Z.take=Fo,Z.takeRight=No,Z.takeRightWhile=Po,Z.takeWhile=qo,Z.tap=Xo,Z.throttle=Df,Z.thru=nf,Z.toArray=jc,Z.toPairs=Ph,Z.toPairsIn=qh,Z.toPath=Ha,Z.toPlainObject=Rc,Z.transform=Qc,Z.unary=Mf,Z.union=Ps,Z.unionBy=qs,Z.unionWith=Zs,Z.uniq=Zo,Z.uniqBy=Ko,Z.uniqWith=Vo,Z.unset=Xc,Z.unzip=Go,Z.unzipWith=Ho,Z.update=na,Z.updateWith=ta,Z.values=ra,Z.valuesIn=ea,\nZ.without=Ks,Z.words=Ra,Z.wrap=Ff,Z.xor=Vs,Z.xorBy=Gs,Z.xorWith=Hs,Z.zip=Js,Z.zipObject=Jo,Z.zipObjectDeep=Yo,Z.zipWith=Ys,Z.entries=Ph,Z.entriesIn=qh,Z.extend=Eh,Z.extendWith=Sh,Ta(Z,Z),Z.add=lp,Z.attempt=Xh,Z.camelCase=Zh,Z.capitalize=fa,Z.ceil=sp,Z.clamp=ua,Z.clone=Pf,Z.cloneDeep=Zf,Z.cloneDeepWith=Kf,Z.cloneWith=qf,Z.conformsTo=Vf,Z.deburr=ca,Z.defaultTo=Wa,Z.divide=hp,Z.endsWith=aa,Z.eq=Gf,Z.escape=la,Z.escapeRegExp=sa,Z.every=af,Z.find=nh,Z.findIndex=ho,Z.findKey=Wc,Z.findLast=th,Z.findLastIndex=po,\nZ.findLastKey=Lc,Z.floor=pp,Z.forEach=_f,Z.forEachRight=vf,Z.forIn=Cc,Z.forInRight=Uc,Z.forOwn=Bc,Z.forOwnRight=Tc,Z.get=Mc,Z.gt=gh,Z.gte=yh,Z.has=Fc,Z.hasIn=Nc,Z.head=bo,Z.identity=La,Z.includes=gf,Z.indexOf=wo,Z.inRange=ia,Z.invoke=$h,Z.isArguments=dh,Z.isArray=bh,Z.isArrayBuffer=wh,Z.isArrayLike=Hf,Z.isArrayLikeObject=Jf,Z.isBoolean=Yf,Z.isBuffer=mh,Z.isDate=xh,Z.isElement=Qf,Z.isEmpty=Xf,Z.isEqual=nc,Z.isEqualWith=tc,Z.isError=rc,Z.isFinite=ec,Z.isFunction=uc,Z.isInteger=ic,Z.isLength=oc,Z.isMap=jh,\nZ.isMatch=ac,Z.isMatchWith=lc,Z.isNaN=sc,Z.isNative=hc,Z.isNil=_c,Z.isNull=pc,Z.isNumber=vc,Z.isObject=fc,Z.isObjectLike=cc,Z.isPlainObject=gc,Z.isRegExp=Ah,Z.isSafeInteger=yc,Z.isSet=kh,Z.isString=dc,Z.isSymbol=bc,Z.isTypedArray=Oh,Z.isUndefined=wc,Z.isWeakMap=mc,Z.isWeakSet=xc,Z.join=xo,Z.kebabCase=Kh,Z.last=jo,Z.lastIndexOf=Ao,Z.lowerCase=Vh,Z.lowerFirst=Gh,Z.lt=Ih,Z.lte=Rh,Z.max=Ya,Z.maxBy=Qa,Z.mean=Xa,Z.meanBy=nl,Z.min=tl,Z.minBy=rl,Z.stubArray=Pa,Z.stubFalse=qa,Z.stubObject=Za,Z.stubString=Ka,\nZ.stubTrue=Va,Z.multiply=_p,Z.nth=ko,Z.noConflict=$a,Z.noop=Da,Z.now=fh,Z.pad=ha,Z.padEnd=pa,Z.padStart=_a,Z.parseInt=va,Z.random=oa,Z.reduce=bf,Z.reduceRight=wf,Z.repeat=ga,Z.replace=ya,Z.result=Hc,Z.round=vp,Z.runInContext=p,Z.sample=xf,Z.size=kf,Z.snakeCase=Hh,Z.some=Of,Z.sortedIndex=Wo,Z.sortedIndexBy=Lo,Z.sortedIndexOf=Co,Z.sortedLastIndex=Uo,Z.sortedLastIndexBy=Bo,Z.sortedLastIndexOf=To,Z.startCase=Jh,Z.startsWith=ba,Z.subtract=gp,Z.sum=el,Z.sumBy=ul,Z.template=wa,Z.times=Ga,Z.toFinite=Ac,Z.toInteger=kc,\nZ.toLength=Oc,Z.toLower=ma,Z.toNumber=Ic,Z.toSafeInteger=zc,Z.toString=Ec,Z.toUpper=xa,Z.trim=ja,Z.trimEnd=Aa,Z.trimStart=ka,Z.truncate=Oa,Z.unescape=Ia,Z.uniqueId=Ja,Z.upperCase=Yh,Z.upperFirst=Qh,Z.each=_f,Z.eachRight=vf,Z.first=bo,Ta(Z,function(){var n={};return ue(Z,function(t,r){bl.call(Z.prototype,r)||(n[r]=t)}),n}(),{chain:!1}),Z.VERSION=nn,r([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(n){Z[n].placeholder=Z}),r([\"drop\",\"take\"],function(n,t){Ct.prototype[n]=function(r){\nr=r===X?1:Gl(kc(r),0);var e=this.__filtered__&&!t?new Ct(this):this.clone();return e.__filtered__?e.__takeCount__=Hl(r,e.__takeCount__):e.__views__.push({size:Hl(r,Un),type:n+(e.__dir__<0?\"Right\":\"\")}),e},Ct.prototype[n+\"Right\"]=function(t){return this.reverse()[n](t).reverse()}}),r([\"filter\",\"map\",\"takeWhile\"],function(n,t){var r=t+1,e=r==Rn||r==En;Ct.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:mi(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),r([\"head\",\"last\"],function(n,t){\nvar r=\"take\"+(t?\"Right\":\"\");Ct.prototype[n]=function(){return this[r](1).value()[0]}}),r([\"initial\",\"tail\"],function(n,t){var r=\"drop\"+(t?\"\":\"Right\");Ct.prototype[n]=function(){return this.__filtered__?new Ct(this):this[r](1)}}),Ct.prototype.compact=function(){return this.filter(La)},Ct.prototype.find=function(n){return this.filter(n).head()},Ct.prototype.findLast=function(n){return this.reverse().find(n)},Ct.prototype.invokeMap=uu(function(n,t){return\"function\"==typeof n?new Ct(this):this.map(function(r){\nreturn Ie(r,n,t)})}),Ct.prototype.reject=function(n){return this.filter(Uf(mi(n)))},Ct.prototype.slice=function(n,t){n=kc(n);var r=this;return r.__filtered__&&(n>0||t<0)?new Ct(r):(n<0?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==X&&(t=kc(t),r=t<0?r.dropRight(-t):r.take(t-n)),r)},Ct.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Ct.prototype.toArray=function(){return this.take(Un)},ue(Ct.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=Z[e?\"take\"+(\"last\"==t?\"Right\":\"\"):t],i=e||/^find/.test(t);\nu&&(Z.prototype[t]=function(){var t=this.__wrapped__,o=e?[1]:arguments,f=t instanceof Ct,c=o[0],l=f||bh(t),s=function(n){var t=u.apply(Z,a([n],o));return e&&h?t[0]:t};l&&r&&\"function\"==typeof c&&1!=c.length&&(f=l=!1);var h=this.__chain__,p=!!this.__actions__.length,_=i&&!h,v=f&&!p;if(!i&&l){t=v?t:new Ct(this);var g=n.apply(t,o);return g.__actions__.push({func:nf,args:[s],thisArg:X}),new Y(g,h)}return _&&v?n.apply(this,o):(g=this.thru(s),_?e?g.value()[0]:g.value():g)})}),r([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(n){\nvar t=_l[n],r=/^(?:push|sort|unshift)$/.test(n)?\"tap\":\"thru\",e=/^(?:pop|shift)$/.test(n);Z.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(bh(u)?u:[],n)}return this[r](function(r){return t.apply(bh(r)?r:[],n)})}}),ue(Ct.prototype,function(n,t){var r=Z[t];if(r){var e=r.name+\"\";bl.call(fs,e)||(fs[e]=[]),fs[e].push({name:t,func:r})}}),fs[Qu(X,vn).name]=[{name:\"wrapper\",func:X}],Ct.prototype.clone=$t,Ct.prototype.reverse=Yt,Ct.prototype.value=Qt,Z.prototype.at=Qs,\nZ.prototype.chain=tf,Z.prototype.commit=rf,Z.prototype.next=ef,Z.prototype.plant=of,Z.prototype.reverse=ff,Z.prototype.toJSON=Z.prototype.valueOf=Z.prototype.value=cf,Z.prototype.first=Z.prototype.head,Ul&&(Z.prototype[Ul]=uf),Z},be=de();\"function\"==typeof define&&\"object\"==typeof define.amd&&define.amd?(re._=be,define(function(){return be})):ue?((ue.exports=be)._=be,ee._=be):re._=be}).call(this);", "/** Used to map aliases to their real names. */\nexports.aliasToReal = {\n\n // Lodash aliases.\n 'each': 'forEach',\n 'eachRight': 'forEachRight',\n 'entries': 'toPairs',\n 'entriesIn': 'toPairsIn',\n 'extend': 'assignIn',\n 'extendAll': 'assignInAll',\n 'extendAllWith': 'assignInAllWith',\n 'extendWith': 'assignInWith',\n 'first': 'head',\n\n // Methods that are curried variants of others.\n 'conforms': 'conformsTo',\n 'matches': 'isMatch',\n 'property': 'get',\n\n // Ramda aliases.\n '__': 'placeholder',\n 'F': 'stubFalse',\n 'T': 'stubTrue',\n 'all': 'every',\n 'allPass': 'overEvery',\n 'always': 'constant',\n 'any': 'some',\n 'anyPass': 'overSome',\n 'apply': 'spread',\n 'assoc': 'set',\n 'assocPath': 'set',\n 'complement': 'negate',\n 'compose': 'flowRight',\n 'contains': 'includes',\n 'dissoc': 'unset',\n 'dissocPath': 'unset',\n 'dropLast': 'dropRight',\n 'dropLastWhile': 'dropRightWhile',\n 'equals': 'isEqual',\n 'identical': 'eq',\n 'indexBy': 'keyBy',\n 'init': 'initial',\n 'invertObj': 'invert',\n 'juxt': 'over',\n 'omitAll': 'omit',\n 'nAry': 'ary',\n 'path': 'get',\n 'pathEq': 'matchesProperty',\n 'pathOr': 'getOr',\n 'paths': 'at',\n 'pickAll': 'pick',\n 'pipe': 'flow',\n 'pluck': 'map',\n 'prop': 'get',\n 'propEq': 'matchesProperty',\n 'propOr': 'getOr',\n 'props': 'at',\n 'symmetricDifference': 'xor',\n 'symmetricDifferenceBy': 'xorBy',\n 'symmetricDifferenceWith': 'xorWith',\n 'takeLast': 'takeRight',\n 'takeLastWhile': 'takeRightWhile',\n 'unapply': 'rest',\n 'unnest': 'flatten',\n 'useWith': 'overArgs',\n 'where': 'conformsTo',\n 'whereEq': 'isMatch',\n 'zipObj': 'zipObject'\n};\n\n/** Used to map ary to method names. */\nexports.aryMethod = {\n '1': [\n 'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create',\n 'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow',\n 'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll',\n 'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse',\n 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart',\n 'uniqueId', 'words', 'zipAll'\n ],\n '2': [\n 'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith',\n 'at', 'before', 'bind', 'bindAll', 'bindKey', 'chunk', 'cloneDeepWith',\n 'cloneWith', 'concat', 'conformsTo', 'countBy', 'curryN', 'curryRightN',\n 'debounce', 'defaults', 'defaultsDeep', 'defaultTo', 'delay', 'difference',\n 'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq',\n 'every', 'filter', 'find', 'findIndex', 'findKey', 'findLast', 'findLastIndex',\n 'findLastKey', 'flatMap', 'flatMapDeep', 'flattenDepth', 'forEach',\n 'forEachRight', 'forIn', 'forInRight', 'forOwn', 'forOwnRight', 'get',\n 'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf', 'intersection',\n 'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch', 'join', 'keyBy',\n 'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues', 'matchesProperty',\n 'maxBy', 'meanBy', 'merge', 'mergeAllWith', 'minBy', 'multiply', 'nth', 'omit',\n 'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial',\n 'partialRight', 'partition', 'pick', 'pickBy', 'propertyOf', 'pull', 'pullAll',\n 'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove',\n 'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex',\n 'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy',\n 'split', 'spreadFrom', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight',\n 'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars',\n 'trimCharsEnd', 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith',\n 'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject',\n 'zipObjectDeep'\n ],\n '3': [\n 'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith',\n 'findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom', 'getOr',\n 'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith',\n 'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth',\n 'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd',\n 'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight',\n 'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy',\n 'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy',\n 'xorWith', 'zipWith'\n ],\n '4': [\n 'fill', 'setWith', 'updateWith'\n ]\n};\n\n/** Used to map ary to rearg configs. */\nexports.aryRearg = {\n '2': [1, 0],\n '3': [2, 0, 1],\n '4': [3, 2, 0, 1]\n};\n\n/** Used to map method names to their iteratee ary. */\nexports.iterateeAry = {\n 'dropRightWhile': 1,\n 'dropWhile': 1,\n 'every': 1,\n 'filter': 1,\n 'find': 1,\n 'findFrom': 1,\n 'findIndex': 1,\n 'findIndexFrom': 1,\n 'findKey': 1,\n 'findLast': 1,\n 'findLastFrom': 1,\n 'findLastIndex': 1,\n 'findLastIndexFrom': 1,\n 'findLastKey': 1,\n 'flatMap': 1,\n 'flatMapDeep': 1,\n 'flatMapDepth': 1,\n 'forEach': 1,\n 'forEachRight': 1,\n 'forIn': 1,\n 'forInRight': 1,\n 'forOwn': 1,\n 'forOwnRight': 1,\n 'map': 1,\n 'mapKeys': 1,\n 'mapValues': 1,\n 'partition': 1,\n 'reduce': 2,\n 'reduceRight': 2,\n 'reject': 1,\n 'remove': 1,\n 'some': 1,\n 'takeRightWhile': 1,\n 'takeWhile': 1,\n 'times': 1,\n 'transform': 2\n};\n\n/** Used to map method names to iteratee rearg configs. */\nexports.iterateeRearg = {\n 'mapKeys': [1],\n 'reduceRight': [1, 0]\n};\n\n/** Used to map method names to rearg configs. */\nexports.methodRearg = {\n 'assignInAllWith': [1, 0],\n 'assignInWith': [1, 2, 0],\n 'assignAllWith': [1, 0],\n 'assignWith': [1, 2, 0],\n 'differenceBy': [1, 2, 0],\n 'differenceWith': [1, 2, 0],\n 'getOr': [2, 1, 0],\n 'intersectionBy': [1, 2, 0],\n 'intersectionWith': [1, 2, 0],\n 'isEqualWith': [1, 2, 0],\n 'isMatchWith': [2, 1, 0],\n 'mergeAllWith': [1, 0],\n 'mergeWith': [1, 2, 0],\n 'padChars': [2, 1, 0],\n 'padCharsEnd': [2, 1, 0],\n 'padCharsStart': [2, 1, 0],\n 'pullAllBy': [2, 1, 0],\n 'pullAllWith': [2, 1, 0],\n 'rangeStep': [1, 2, 0],\n 'rangeStepRight': [1, 2, 0],\n 'setWith': [3, 1, 2, 0],\n 'sortedIndexBy': [2, 1, 0],\n 'sortedLastIndexBy': [2, 1, 0],\n 'unionBy': [1, 2, 0],\n 'unionWith': [1, 2, 0],\n 'updateWith': [3, 1, 2, 0],\n 'xorBy': [1, 2, 0],\n 'xorWith': [1, 2, 0],\n 'zipWith': [1, 2, 0]\n};\n\n/** Used to map method names to spread configs. */\nexports.methodSpread = {\n 'assignAll': { 'start': 0 },\n 'assignAllWith': { 'start': 0 },\n 'assignInAll': { 'start': 0 },\n 'assignInAllWith': { 'start': 0 },\n 'defaultsAll': { 'start': 0 },\n 'defaultsDeepAll': { 'start': 0 },\n 'invokeArgs': { 'start': 2 },\n 'invokeArgsMap': { 'start': 2 },\n 'mergeAll': { 'start': 0 },\n 'mergeAllWith': { 'start': 0 },\n 'partial': { 'start': 1 },\n 'partialRight': { 'start': 1 },\n 'without': { 'start': 1 },\n 'zipAll': { 'start': 0 }\n};\n\n/** Used to identify methods which mutate arrays or objects. */\nexports.mutate = {\n 'array': {\n 'fill': true,\n 'pull': true,\n 'pullAll': true,\n 'pullAllBy': true,\n 'pullAllWith': true,\n 'pullAt': true,\n 'remove': true,\n 'reverse': true\n },\n 'object': {\n 'assign': true,\n 'assignAll': true,\n 'assignAllWith': true,\n 'assignIn': true,\n 'assignInAll': true,\n 'assignInAllWith': true,\n 'assignInWith': true,\n 'assignWith': true,\n 'defaults': true,\n 'defaultsAll': true,\n 'defaultsDeep': true,\n 'defaultsDeepAll': true,\n 'merge': true,\n 'mergeAll': true,\n 'mergeAllWith': true,\n 'mergeWith': true,\n },\n 'set': {\n 'set': true,\n 'setWith': true,\n 'unset': true,\n 'update': true,\n 'updateWith': true\n }\n};\n\n/** Used to map real names to their aliases. */\nexports.realToAlias = (function() {\n var hasOwnProperty = Object.prototype.hasOwnProperty,\n object = exports.aliasToReal,\n result = {};\n\n for (var key in object) {\n var value = object[key];\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }\n return result;\n}());\n\n/** Used to map method names to other names. */\nexports.remap = {\n 'assignAll': 'assign',\n 'assignAllWith': 'assignWith',\n 'assignInAll': 'assignIn',\n 'assignInAllWith': 'assignInWith',\n 'curryN': 'curry',\n 'curryRightN': 'curryRight',\n 'defaultsAll': 'defaults',\n 'defaultsDeepAll': 'defaultsDeep',\n 'findFrom': 'find',\n 'findIndexFrom': 'findIndex',\n 'findLastFrom': 'findLast',\n 'findLastIndexFrom': 'findLastIndex',\n 'getOr': 'get',\n 'includesFrom': 'includes',\n 'indexOfFrom': 'indexOf',\n 'invokeArgs': 'invoke',\n 'invokeArgsMap': 'invokeMap',\n 'lastIndexOfFrom': 'lastIndexOf',\n 'mergeAll': 'merge',\n 'mergeAllWith': 'mergeWith',\n 'padChars': 'pad',\n 'padCharsEnd': 'padEnd',\n 'padCharsStart': 'padStart',\n 'propertyOf': 'get',\n 'rangeStep': 'range',\n 'rangeStepRight': 'rangeRight',\n 'restFrom': 'rest',\n 'spreadFrom': 'spread',\n 'trimChars': 'trim',\n 'trimCharsEnd': 'trimEnd',\n 'trimCharsStart': 'trimStart',\n 'zipAll': 'zip'\n};\n\n/** Used to track methods that skip fixing their arity. */\nexports.skipFixed = {\n 'castArray': true,\n 'flow': true,\n 'flowRight': true,\n 'iteratee': true,\n 'mixin': true,\n 'rearg': true,\n 'runInContext': true\n};\n\n/** Used to track methods that skip rearranging arguments. */\nexports.skipRearg = {\n 'add': true,\n 'assign': true,\n 'assignIn': true,\n 'bind': true,\n 'bindKey': true,\n 'concat': true,\n 'difference': true,\n 'divide': true,\n 'eq': true,\n 'gt': true,\n 'gte': true,\n 'isEqual': true,\n 'lt': true,\n 'lte': true,\n 'matchesProperty': true,\n 'merge': true,\n 'multiply': true,\n 'overArgs': true,\n 'partial': true,\n 'partialRight': true,\n 'propertyOf': true,\n 'random': true,\n 'range': true,\n 'rangeRight': true,\n 'subtract': true,\n 'zip': true,\n 'zipObject': true,\n 'zipObjectDeep': true\n};\n", "/**\n * The default argument placeholder value for methods.\n *\n * @type {Object}\n */\nmodule.exports = {};\n", "var mapping = require('./_mapping'),\n fallbackHolder = require('./placeholder');\n\n/** Built-in value reference. */\nvar push = Array.prototype.push;\n\n/**\n * Creates a function, with an arity of `n`, that invokes `func` with the\n * arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} n The arity of the new function.\n * @returns {Function} Returns the new function.\n */\nfunction baseArity(func, n) {\n return n == 2\n ? function(a, b) { return func.apply(undefined, arguments); }\n : function(a) { return func.apply(undefined, arguments); };\n}\n\n/**\n * Creates a function that invokes `func`, with up to `n` arguments, ignoring\n * any additional arguments.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the new function.\n */\nfunction baseAry(func, n) {\n return n == 2\n ? function(a, b) { return func(a, b); }\n : function(a) { return func(a); };\n}\n\n/**\n * Creates a clone of `array`.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the cloned array.\n */\nfunction cloneArray(array) {\n var length = array ? array.length : 0,\n result = Array(length);\n\n while (length--) {\n result[length] = array[length];\n }\n return result;\n}\n\n/**\n * Creates a function that clones a given object using the assignment `func`.\n *\n * @private\n * @param {Function} func The assignment function.\n * @returns {Function} Returns the new cloner function.\n */\nfunction createCloner(func) {\n return function(object) {\n return func({}, object);\n };\n}\n\n/**\n * A specialized version of `_.spread` which flattens the spread array into\n * the arguments of the invoked `func`.\n *\n * @private\n * @param {Function} func The function to spread arguments over.\n * @param {number} start The start position of the spread.\n * @returns {Function} Returns the new function.\n */\nfunction flatSpread(func, start) {\n return function() {\n var length = arguments.length,\n lastIndex = length - 1,\n args = Array(length);\n\n while (length--) {\n args[length] = arguments[length];\n }\n var array = args[start],\n otherArgs = args.slice(0, start);\n\n if (array) {\n push.apply(otherArgs, array);\n }\n if (start != lastIndex) {\n push.apply(otherArgs, args.slice(start + 1));\n }\n return func.apply(this, otherArgs);\n };\n}\n\n/**\n * Creates a function that wraps `func` and uses `cloner` to clone the first\n * argument it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} cloner The function to clone arguments.\n * @returns {Function} Returns the new immutable function.\n */\nfunction wrapImmutable(func, cloner) {\n return function() {\n var length = arguments.length;\n if (!length) {\n return;\n }\n var args = Array(length);\n while (length--) {\n args[length] = arguments[length];\n }\n var result = args[0] = cloner.apply(undefined, args);\n func.apply(undefined, args);\n return result;\n };\n}\n\n/**\n * The base implementation of `convert` which accepts a `util` object of methods\n * required to perform conversions.\n *\n * @param {Object} util The util object.\n * @param {string} name The name of the function to convert.\n * @param {Function} func The function to convert.\n * @param {Object} [options] The options object.\n * @param {boolean} [options.cap=true] Specify capping iteratee arguments.\n * @param {boolean} [options.curry=true] Specify currying.\n * @param {boolean} [options.fixed=true] Specify fixed arity.\n * @param {boolean} [options.immutable=true] Specify immutable operations.\n * @param {boolean} [options.rearg=true] Specify rearranging arguments.\n * @returns {Function|Object} Returns the converted function or object.\n */\nfunction baseConvert(util, name, func, options) {\n var isLib = typeof name == 'function',\n isObj = name === Object(name);\n\n if (isObj) {\n options = func;\n func = name;\n name = undefined;\n }\n if (func == null) {\n throw new TypeError;\n }\n options || (options = {});\n\n var config = {\n 'cap': 'cap' in options ? options.cap : true,\n 'curry': 'curry' in options ? options.curry : true,\n 'fixed': 'fixed' in options ? options.fixed : true,\n 'immutable': 'immutable' in options ? options.immutable : true,\n 'rearg': 'rearg' in options ? options.rearg : true\n };\n\n var defaultHolder = isLib ? func : fallbackHolder,\n forceCurry = ('curry' in options) && options.curry,\n forceFixed = ('fixed' in options) && options.fixed,\n forceRearg = ('rearg' in options) && options.rearg,\n pristine = isLib ? func.runInContext() : undefined;\n\n var helpers = isLib ? func : {\n 'ary': util.ary,\n 'assign': util.assign,\n 'clone': util.clone,\n 'curry': util.curry,\n 'forEach': util.forEach,\n 'isArray': util.isArray,\n 'isError': util.isError,\n 'isFunction': util.isFunction,\n 'isWeakMap': util.isWeakMap,\n 'iteratee': util.iteratee,\n 'keys': util.keys,\n 'rearg': util.rearg,\n 'toInteger': util.toInteger,\n 'toPath': util.toPath\n };\n\n var ary = helpers.ary,\n assign = helpers.assign,\n clone = helpers.clone,\n curry = helpers.curry,\n each = helpers.forEach,\n isArray = helpers.isArray,\n isError = helpers.isError,\n isFunction = helpers.isFunction,\n isWeakMap = helpers.isWeakMap,\n keys = helpers.keys,\n rearg = helpers.rearg,\n toInteger = helpers.toInteger,\n toPath = helpers.toPath;\n\n var aryMethodKeys = keys(mapping.aryMethod);\n\n var wrappers = {\n 'castArray': function(castArray) {\n return function() {\n var value = arguments[0];\n return isArray(value)\n ? castArray(cloneArray(value))\n : castArray.apply(undefined, arguments);\n };\n },\n 'iteratee': function(iteratee) {\n return function() {\n var func = arguments[0],\n arity = arguments[1],\n result = iteratee(func, arity),\n length = result.length;\n\n if (config.cap && typeof arity == 'number') {\n arity = arity > 2 ? (arity - 2) : 1;\n return (length && length <= arity) ? result : baseAry(result, arity);\n }\n return result;\n };\n },\n 'mixin': function(mixin) {\n return function(source) {\n var func = this;\n if (!isFunction(func)) {\n return mixin(func, Object(source));\n }\n var pairs = [];\n each(keys(source), function(key) {\n if (isFunction(source[key])) {\n pairs.push([key, func.prototype[key]]);\n }\n });\n\n mixin(func, Object(source));\n\n each(pairs, function(pair) {\n var value = pair[1];\n if (isFunction(value)) {\n func.prototype[pair[0]] = value;\n } else {\n delete func.prototype[pair[0]];\n }\n });\n return func;\n };\n },\n 'nthArg': function(nthArg) {\n return function(n) {\n var arity = n < 0 ? 1 : (toInteger(n) + 1);\n return curry(nthArg(n), arity);\n };\n },\n 'rearg': function(rearg) {\n return function(func, indexes) {\n var arity = indexes ? indexes.length : 0;\n return curry(rearg(func, indexes), arity);\n };\n },\n 'runInContext': function(runInContext) {\n return function(context) {\n return baseConvert(util, runInContext(context), options);\n };\n }\n };\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Casts `func` to a function with an arity capped iteratee if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @returns {Function} Returns the cast function.\n */\n function castCap(name, func) {\n if (config.cap) {\n var indexes = mapping.iterateeRearg[name];\n if (indexes) {\n return iterateeRearg(func, indexes);\n }\n var n = !isLib && mapping.iterateeAry[name];\n if (n) {\n return iterateeAry(func, n);\n }\n }\n return func;\n }\n\n /**\n * Casts `func` to a curried function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity of `func`.\n * @returns {Function} Returns the cast function.\n */\n function castCurry(name, func, n) {\n return (forceCurry || (config.curry && n > 1))\n ? curry(func, n)\n : func;\n }\n\n /**\n * Casts `func` to a fixed arity function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the cast function.\n */\n function castFixed(name, func, n) {\n if (config.fixed && (forceFixed || !mapping.skipFixed[name])) {\n var data = mapping.methodSpread[name],\n start = data && data.start;\n\n return start === undefined ? ary(func, n) : flatSpread(func, start);\n }\n return func;\n }\n\n /**\n * Casts `func` to an rearged function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity of `func`.\n * @returns {Function} Returns the cast function.\n */\n function castRearg(name, func, n) {\n return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name]))\n ? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n])\n : func;\n }\n\n /**\n * Creates a clone of `object` by `path`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {Array|string} path The path to clone by.\n * @returns {Object} Returns the cloned object.\n */\n function cloneByPath(object, path) {\n path = toPath(path);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n result = clone(Object(object)),\n nested = result;\n\n while (nested != null && ++index < length) {\n var key = path[index],\n value = nested[key];\n\n if (value != null &&\n !(isFunction(value) || isError(value) || isWeakMap(value))) {\n nested[key] = clone(index == lastIndex ? value : Object(value));\n }\n nested = nested[key];\n }\n return result;\n }\n\n /**\n * Converts `lodash` to an immutable auto-curried iteratee-first data-last\n * version with conversion `options` applied.\n *\n * @param {Object} [options] The options object. See `baseConvert` for more details.\n * @returns {Function} Returns the converted `lodash`.\n */\n function convertLib(options) {\n return _.runInContext.convert(options)(undefined);\n }\n\n /**\n * Create a converter function for `func` of `name`.\n *\n * @param {string} name The name of the function to convert.\n * @param {Function} func The function to convert.\n * @returns {Function} Returns the new converter function.\n */\n function createConverter(name, func) {\n var realName = mapping.aliasToReal[name] || name,\n methodName = mapping.remap[realName] || realName,\n oldOptions = options;\n\n return function(options) {\n var newUtil = isLib ? pristine : helpers,\n newFunc = isLib ? pristine[methodName] : func,\n newOptions = assign(assign({}, oldOptions), options);\n\n return baseConvert(newUtil, realName, newFunc, newOptions);\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke its iteratee, with up to `n`\n * arguments, ignoring any additional arguments.\n *\n * @private\n * @param {Function} func The function to cap iteratee arguments for.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the new function.\n */\n function iterateeAry(func, n) {\n return overArg(func, function(func) {\n return typeof func == 'function' ? baseAry(func, n) : func;\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke its iteratee with arguments\n * arranged according to the specified `indexes` where the argument value at\n * the first index is provided as the first argument, the argument value at\n * the second index is provided as the second argument, and so on.\n *\n * @private\n * @param {Function} func The function to rearrange iteratee arguments for.\n * @param {number[]} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n */\n function iterateeRearg(func, indexes) {\n return overArg(func, function(func) {\n var n = indexes.length;\n return baseArity(rearg(baseAry(func, n), indexes), n);\n });\n }\n\n /**\n * Creates a function that invokes `func` with its first argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function() {\n var length = arguments.length;\n if (!length) {\n return func();\n }\n var args = Array(length);\n while (length--) {\n args[length] = arguments[length];\n }\n var index = config.rearg ? 0 : (length - 1);\n args[index] = transform(args[index]);\n return func.apply(undefined, args);\n };\n }\n\n /**\n * Creates a function that wraps `func` and applys the conversions\n * rules by `name`.\n *\n * @private\n * @param {string} name The name of the function to wrap.\n * @param {Function} func The function to wrap.\n * @returns {Function} Returns the converted function.\n */\n function wrap(name, func, placeholder) {\n var result,\n realName = mapping.aliasToReal[name] || name,\n wrapped = func,\n wrapper = wrappers[realName];\n\n if (wrapper) {\n wrapped = wrapper(func);\n }\n else if (config.immutable) {\n if (mapping.mutate.array[realName]) {\n wrapped = wrapImmutable(func, cloneArray);\n }\n else if (mapping.mutate.object[realName]) {\n wrapped = wrapImmutable(func, createCloner(func));\n }\n else if (mapping.mutate.set[realName]) {\n wrapped = wrapImmutable(func, cloneByPath);\n }\n }\n each(aryMethodKeys, function(aryKey) {\n each(mapping.aryMethod[aryKey], function(otherName) {\n if (realName == otherName) {\n var data = mapping.methodSpread[realName],\n afterRearg = data && data.afterRearg;\n\n result = afterRearg\n ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey)\n : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey);\n\n result = castCap(realName, result);\n result = castCurry(realName, result, aryKey);\n return false;\n }\n });\n return !result;\n });\n\n result || (result = wrapped);\n if (result == func) {\n result = forceCurry ? curry(result, 1) : function() {\n return func.apply(this, arguments);\n };\n }\n result.convert = createConverter(realName, func);\n result.placeholder = func.placeholder = placeholder;\n\n return result;\n }\n\n /*--------------------------------------------------------------------------*/\n\n if (!isObj) {\n return wrap(name, func, defaultHolder);\n }\n var _ = func;\n\n // Convert methods by ary cap.\n var pairs = [];\n each(aryMethodKeys, function(aryKey) {\n each(mapping.aryMethod[aryKey], function(key) {\n var func = _[mapping.remap[key] || key];\n if (func) {\n pairs.push([key, wrap(key, func, _)]);\n }\n });\n });\n\n // Convert remaining methods.\n each(keys(_), function(key) {\n var func = _[key];\n if (typeof func == 'function') {\n var length = pairs.length;\n while (length--) {\n if (pairs[length][0] == key) {\n return;\n }\n }\n func.convert = createConverter(key, func);\n pairs.push([key, func]);\n }\n });\n\n // Assign to `_` leaving `_.prototype` unchanged to allow chaining.\n each(pairs, function(pair) {\n _[pair[0]] = pair[1];\n });\n\n _.convert = convertLib;\n _.placeholder = _;\n\n // Assign aliases.\n each(keys(_), function(key) {\n each(mapping.realToAlias[key] || [], function(alias) {\n _[alias] = _[key];\n });\n });\n\n return _;\n}\n\nmodule.exports = baseConvert;\n", "var _ = require('./lodash.min').runInContext();\nmodule.exports = require('./fp/_baseConvert')(_, _);\n", "export * from \"./constants\"\nexport * as dataFilters from \"./filters\"\nexport * as helpers from \"./helpers\"\nexport * as utils from \"./utils\"\nexport * as sdk from \"./sdk\"\nexport * from \"./table\"\n", "export enum Header {\n API_KEY = \"x-budibase-api-key\",\n LICENSE_KEY = \"x-budibase-license-key\",\n API_VER = \"x-budibase-api-version\",\n APP_ID = \"x-budibase-app-id\",\n SESSION_ID = \"x-budibase-session-id\",\n TYPE = \"x-budibase-type\",\n PREVIEW_ROLE = \"x-budibase-role\",\n TENANT_ID = \"x-budibase-tenant-id\",\n VERIFICATION_CODE = \"x-budibase-verification-code\",\n RETURN_VERIFICATION_CODE = \"x-budibase-return-verification-code\",\n RESET_PASSWORD_CODE = \"x-budibase-reset-password-code\",\n RETURN_RESET_PASSWORD_CODE = \"x-budibase-return-reset-password-code\",\n TOKEN = \"x-budibase-token\",\n CSRF_TOKEN = \"x-csrf-token\",\n CORRELATION_ID = \"x-budibase-correlation-id\",\n AUTHORIZATION = \"authorization\",\n MIGRATING_APP = \"x-budibase-migrating-app\",\n COOKIE = \"cookie\",\n}\n", "import { Hosting } from \"../hosting\"\nimport { Group, Identity } from \"./identification\"\n\nexport enum Event {\n // USER\n USER_CREATED = \"user:created\",\n USER_UPDATED = \"user:updated\",\n USER_DELETED = \"user:deleted\",\n\n // USER / ONBOARDING\n USER_ONBOARDING_COMPLETE = \"user:onboarding:complete\",\n\n // USER / PERMISSIONS\n USER_PERMISSION_ADMIN_ASSIGNED = \"user:admin:assigned\",\n USER_PERMISSION_ADMIN_REMOVED = \"user:admin:removed\",\n USER_PERMISSION_BUILDER_ASSIGNED = \"user:builder:assigned\",\n USER_PERMISSION_BUILDER_REMOVED = \"user:builder:removed\",\n\n // USER / INVITE\n USER_INVITED = \"user:invited\",\n USER_INVITED_ACCEPTED = \"user:invite:accepted\",\n\n // USER / PASSWORD\n USER_PASSWORD_FORCE_RESET = \"user:password:force:reset\",\n USER_PASSWORD_UPDATED = \"user:password:updated\",\n USER_PASSWORD_RESET_REQUESTED = \"user:password:reset:requested\",\n USER_PASSWORD_RESET = \"user:password:reset\",\n\n // USER / COLLABORATION\n USER_DATA_COLLABORATION = \"user:data:collaboration\",\n\n // EMAIL\n EMAIL_SMTP_CREATED = \"email:smtp:created\",\n EMAIL_SMTP_UPDATED = \"email:smtp:updated\",\n\n // AUTH\n AUTH_SSO_CREATED = \"auth:sso:created\",\n AUTH_SSO_UPDATED = \"auth:sso:updated\",\n AUTH_SSO_ACTIVATED = \"auth:sso:activated\",\n AUTH_SSO_DEACTIVATED = \"auth:sso:deactivated\",\n AUTH_LOGIN = \"auth:login\",\n AUTH_LOGOUT = \"auth:logout\",\n\n // ORG\n ORG_NAME_UPDATED = \"org:info:name:updated\",\n ORG_LOGO_UPDATED = \"org:info:logo:updated\",\n ORG_PLATFORM_URL_UPDATED = \"org:platformurl:updated\",\n\n // INSTALLATION\n INSTALLATION_VERSION_CHECKED = \"installation:version:checked\",\n INSTALLATION_VERSION_UPGRADED = \"installation:version:upgraded\",\n INSTALLATION_VERSION_DOWNGRADED = \"installation:version:downgraded\",\n INSTALLATION_FIRST_STARTUP = \"installation:firstStartup\",\n\n // ORG / ANALYTICS\n ANALYTICS_OPT_OUT = \"analytics:opt:out\",\n ANALYTICS_OPT_IN = \"analytics:opt:in\",\n\n // APP\n APP_CREATED = \"app:created\",\n APP_UPDATED = \"app:updated\",\n APP_DELETED = \"app:deleted\",\n APP_DUPLICATED = \"app:duplicated\",\n APP_PUBLISHED = \"app:published\",\n APP_UNPUBLISHED = \"app:unpublished\",\n APP_TEMPLATE_IMPORTED = \"app:template:imported\",\n APP_FILE_IMPORTED = \"app:file:imported\",\n APP_VERSION_UPDATED = \"app:version:updated\",\n APP_VERSION_REVERTED = \"app:version:reverted\",\n APP_REVERTED = \"app:reverted\",\n APP_EXPORTED = \"app:exported\",\n\n // ROLE\n ROLE_CREATED = \"role:created\",\n ROLE_UPDATED = \"role:updated\",\n ROLE_DELETED = \"role:deleted\",\n ROLE_ASSIGNED = \"role:assigned\",\n ROLE_UNASSIGNED = \"role:unassigned\",\n\n // SERVE\n SERVED_BUILDER = \"served:builder\",\n SERVED_APP = \"served:app\",\n SERVED_APP_PREVIEW = \"served:app:preview\",\n\n // DATASOURCE\n DATASOURCE_CREATED = \"datasource:created\",\n DATASOURCE_UPDATED = \"datasource:updated\",\n DATASOURCE_DELETED = \"datasource:deleted\",\n\n // QUERY\n QUERY_CREATED = \"query:created\",\n QUERY_UPDATED = \"query:updated\",\n QUERY_DELETED = \"query:deleted\",\n QUERY_IMPORT = \"query:import\",\n QUERIES_RUN = \"queries:run\",\n QUERY_PREVIEWED = \"query:previewed\",\n\n // TABLE\n TABLE_CREATED = \"table:created\",\n TABLE_UPDATED = \"table:updated\",\n TABLE_DELETED = \"table:deleted\",\n TABLE_EXPORTED = \"table:exported\",\n TABLE_IMPORTED = \"table:imported\",\n TABLE_DATA_IMPORTED = \"table:data:imported\",\n\n // VIEW\n VIEW_CREATED = \"view:created\",\n VIEW_UPDATED = \"view:updated\",\n VIEW_DELETED = \"view:deleted\",\n VIEW_EXPORTED = \"view:exported\",\n VIEW_FILTER_CREATED = \"view:filter:created\",\n VIEW_FILTER_UPDATED = \"view:filter:updated\",\n VIEW_FILTER_DELETED = \"view:filter:deleted\",\n VIEW_CALCULATION_CREATED = \"view:calculation:created\",\n VIEW_CALCULATION_UPDATED = \"view:calculation:updated\",\n VIEW_CALCULATION_DELETED = \"view:calculation:deleted\",\n\n // ROWS\n ROWS_CREATED = \"rows:created\",\n ROWS_IMPORTED = \"rows:imported\",\n\n // COMPONENT\n COMPONENT_CREATED = \"component:created\",\n COMPONENT_DELETED = \"component:deleted\",\n\n // SCREEN\n SCREEN_CREATED = \"screen:created\",\n SCREEN_DELETED = \"screen:deleted\",\n\n // LAYOUT\n LAYOUT_CREATED = \"layout:created\",\n LAYOUT_DELETED = \"layout:deleted\",\n\n // AUTOMATION\n AUTOMATION_CREATED = \"automation:created\",\n AUTOMATION_DELETED = \"automation:deleted\",\n AUTOMATION_TESTED = \"automation:tested\",\n AUTOMATIONS_RUN = \"automations:run\",\n AUTOMATION_STEP_CREATED = \"automation:step:created\",\n AUTOMATION_STEP_DELETED = \"automation:step:deleted\",\n AUTOMATION_TRIGGER_UPDATED = \"automation:trigger:updated\",\n\n // LICENSE\n LICENSE_PLAN_CHANGED = \"license:plan:changed\",\n LICENSE_ACTIVATED = \"license:activated\",\n LICENSE_PAYMENT_FAILED = \"license:payment:failed\",\n LICENSE_PAYMENT_RECOVERED = \"license:payment:recovered\",\n LICENSE_CHECKOUT_OPENED = \"license:checkout:opened\",\n LICENSE_CHECKOUT_SUCCESS = \"license:checkout:success\",\n LICENSE_PORTAL_OPENED = \"license:portal:opened\",\n\n // ACCOUNT\n ACCOUNT_CREATED = \"account:created\",\n ACCOUNT_DELETED = \"account:deleted\",\n ACCOUNT_VERIFIED = \"account:verified\",\n\n // BACKFILL\n APP_BACKFILL_SUCCEEDED = \"app:backfill:succeeded\",\n APP_BACKFILL_FAILED = \"app:backfill:failed\",\n TENANT_BACKFILL_SUCCEEDED = \"tenant:backfill:succeeded\",\n TENANT_BACKFILL_FAILED = \"tenant:backfill:failed\",\n INSTALLATION_BACKFILL_SUCCEEDED = \"installation:backfill:succeeded\",\n INSTALLATION_BACKFILL_FAILED = \"installation:backfill:failed\",\n\n // USER\n USER_GROUP_CREATED = \"user_group:created\",\n USER_GROUP_UPDATED = \"user_group:updated\",\n USER_GROUP_DELETED = \"user_group:deleted\",\n USER_GROUP_USERS_ADDED = \"user_group:user_added\",\n USER_GROUP_USERS_REMOVED = \"user_group:users_deleted\",\n USER_GROUP_PERMISSIONS_EDITED = \"user_group:permissions_edited\",\n USER_GROUP_ONBOARDING = \"user_group:onboarding_added\",\n\n // PLUGIN\n PLUGIN_INIT = \"plugin:init\",\n PLUGIN_IMPORTED = \"plugin:imported\",\n PLUGIN_DELETED = \"plugin:deleted\",\n\n // BACKUP\n APP_BACKUP_RESTORED = \"app:backup:restored\",\n APP_BACKUP_TRIGGERED = \"app:backup:triggered\",\n\n // ENVIRONMENT VARIABLE\n ENVIRONMENT_VARIABLE_CREATED = \"environment_variable:created\",\n ENVIRONMENT_VARIABLE_DELETED = \"environment_variable:deleted\",\n ENVIRONMENT_VARIABLE_UPGRADE_PANEL_OPENED = \"environment_variable:upgrade_panel_opened\",\n\n // AUDIT LOG\n AUDIT_LOGS_FILTERED = \"audit_log:filtered\",\n AUDIT_LOGS_DOWNLOADED = \"audit_log:downloaded\",\n}\n\nexport const UserGroupSyncEvents: Event[] = [\n Event.USER_CREATED,\n Event.USER_UPDATED,\n Event.USER_DELETED,\n Event.USER_PERMISSION_ADMIN_ASSIGNED,\n Event.USER_PERMISSION_ADMIN_REMOVED,\n Event.USER_PERMISSION_BUILDER_ASSIGNED,\n Event.USER_PERMISSION_BUILDER_REMOVED,\n Event.USER_GROUP_CREATED,\n Event.USER_GROUP_UPDATED,\n Event.USER_GROUP_DELETED,\n Event.USER_GROUP_USERS_ADDED,\n Event.USER_GROUP_USERS_REMOVED,\n Event.USER_GROUP_PERMISSIONS_EDITED,\n]\n\nexport const AsyncEvents: Event[] = [...UserGroupSyncEvents]\n\n// all events that are not audited have been added to this record as undefined, this means\n// that Typescript can protect us against new events being added and auditing of those\n// events not being considered. This might be a little ugly, but provides a level of\n// Typescript build protection for the audit log feature, any new event also needs to be\n// added to this map, during which the developer will need to consider if it should be\n// a user facing event or not.\nexport const AuditedEventFriendlyName: Record<Event, string | undefined> = {\n // USER\n [Event.USER_CREATED]: `User \"{{ email }}\" created{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_UPDATED]: `User \"{{ email }}\" updated{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_DELETED]: `User \"{{ email }}\" deleted{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_PERMISSION_ADMIN_ASSIGNED]: `User \"{{ email }}\" admin role assigned`,\n [Event.USER_PERMISSION_ADMIN_REMOVED]: `User \"{{ email }}\" admin role removed`,\n [Event.USER_PERMISSION_BUILDER_ASSIGNED]: `User \"{{ email }}\" builder role assigned`,\n [Event.USER_PERMISSION_BUILDER_REMOVED]: `User \"{{ email }}\" builder role removed`,\n [Event.USER_INVITED]: `User \"{{ email }}\" invited`,\n [Event.USER_INVITED_ACCEPTED]: `User \"{{ email }}\" accepted invite`,\n [Event.USER_PASSWORD_UPDATED]: `User \"{{ email }}\" password updated`,\n [Event.USER_PASSWORD_RESET_REQUESTED]: `User \"{{ email }}\" password reset requested`,\n [Event.USER_PASSWORD_RESET]: `User \"{{ email }}\" password reset`,\n [Event.USER_GROUP_CREATED]: `User group \"{{ name }}\" created{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_UPDATED]: `User group \"{{ name }}\" updated{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_DELETED]: `User group \"{{ name }}\" deleted{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_USERS_ADDED]: `User group \"{{ name }}\" {{ count }} users added{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_USERS_REMOVED]: `User group \"{{ name }}\" {{ count }} users removed{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_PERMISSIONS_EDITED]: `User group \"{{ name }}\" permissions edited`,\n [Event.USER_PASSWORD_FORCE_RESET]: undefined,\n [Event.USER_GROUP_ONBOARDING]: undefined,\n [Event.USER_ONBOARDING_COMPLETE]: undefined,\n [Event.USER_DATA_COLLABORATION]: undefined,\n\n // EMAIL\n [Event.EMAIL_SMTP_CREATED]: `Email configuration created`,\n [Event.EMAIL_SMTP_UPDATED]: `Email configuration updated`,\n\n // AUTH\n [Event.AUTH_SSO_CREATED]: `SSO configuration created`,\n [Event.AUTH_SSO_UPDATED]: `SSO configuration updated`,\n [Event.AUTH_SSO_ACTIVATED]: `SSO configuration activated`,\n [Event.AUTH_SSO_DEACTIVATED]: `SSO configuration deactivated`,\n [Event.AUTH_LOGIN]: `User \"{{ email }}\" logged in`,\n [Event.AUTH_LOGOUT]: `User \"{{ email }}\" logged out`,\n\n // ORG\n [Event.ORG_NAME_UPDATED]: `Organisation name updated`,\n [Event.ORG_LOGO_UPDATED]: `Organisation logo updated`,\n [Event.ORG_PLATFORM_URL_UPDATED]: `Organisation platform URL updated`,\n\n // APP\n [Event.APP_CREATED]: `App \"{{ name }}\" created`,\n [Event.APP_UPDATED]: `App \"{{ name }}\" updated`,\n [Event.APP_DELETED]: `App \"{{ name }}\" deleted`,\n [Event.APP_DUPLICATED]: `App \"{{ name }}\" duplicated`,\n [Event.APP_PUBLISHED]: `App \"{{ name }}\" published`,\n [Event.APP_UNPUBLISHED]: `App \"{{ name }}\" unpublished`,\n [Event.APP_TEMPLATE_IMPORTED]: `App \"{{ name }}\" template imported`,\n [Event.APP_FILE_IMPORTED]: `App \"{{ name }}\" file imported`,\n [Event.APP_VERSION_UPDATED]: `App \"{{ name }}\" version updated`,\n [Event.APP_VERSION_REVERTED]: `App \"{{ name }}\" version reverted`,\n [Event.APP_REVERTED]: `App \"{{ name }}\" reverted`,\n [Event.APP_EXPORTED]: `App \"{{ name }}\" exported`,\n [Event.APP_BACKUP_RESTORED]: `App backup \"{{ name }}\" restored`,\n [Event.APP_BACKUP_TRIGGERED]: `App backup \"{{ name }}\" triggered`,\n\n // DATASOURCE\n [Event.DATASOURCE_CREATED]: `Datasource created`,\n [Event.DATASOURCE_UPDATED]: `Datasource updated`,\n [Event.DATASOURCE_DELETED]: `Datasource deleted`,\n\n // QUERY\n [Event.QUERY_CREATED]: `Query created`,\n [Event.QUERY_UPDATED]: `Query updated`,\n [Event.QUERY_DELETED]: `Query deleted`,\n [Event.QUERY_IMPORT]: `Query import`,\n [Event.QUERIES_RUN]: undefined,\n [Event.QUERY_PREVIEWED]: undefined,\n\n // TABLE\n [Event.TABLE_CREATED]: `Table \"{{ name }}\" created`,\n [Event.TABLE_UPDATED]: `Table \"{{ name }}\" updated`,\n [Event.TABLE_DELETED]: `Table \"{{ name }}\" deleted`,\n [Event.TABLE_EXPORTED]: `Table \"{{ name }}\" exported`,\n [Event.TABLE_IMPORTED]: `Table \"{{ name }}\" imported`,\n [Event.TABLE_DATA_IMPORTED]: `Data imported to table`,\n\n // ROWS\n [Event.ROWS_CREATED]: `Rows created`,\n [Event.ROWS_IMPORTED]: `Rows imported`,\n\n // AUTOMATION\n [Event.AUTOMATION_CREATED]: `Automation \"{{ name }}\" created`,\n [Event.AUTOMATION_DELETED]: `Automation \"{{ name }}\" deleted`,\n [Event.AUTOMATION_STEP_CREATED]: `Automation \"{{ name }}\" step added`,\n [Event.AUTOMATION_STEP_DELETED]: `Automation \"{{ name }}\" step removed`,\n [Event.AUTOMATION_TESTED]: undefined,\n [Event.AUTOMATIONS_RUN]: undefined,\n [Event.AUTOMATION_TRIGGER_UPDATED]: undefined,\n\n // SCREEN\n [Event.SCREEN_CREATED]: `Screen \"{{ name }}\" created`,\n [Event.SCREEN_DELETED]: `Screen \"{{ name }}\" deleted`,\n\n // COMPONENT\n [Event.COMPONENT_CREATED]: `Component created`,\n [Event.COMPONENT_DELETED]: `Component deleted`,\n\n // ENVIRONMENT VARIABLE\n [Event.ENVIRONMENT_VARIABLE_CREATED]: `Environment variable created`,\n [Event.ENVIRONMENT_VARIABLE_DELETED]: `Environment variable deleted`,\n [Event.ENVIRONMENT_VARIABLE_UPGRADE_PANEL_OPENED]: undefined,\n\n // PLUGIN\n [Event.PLUGIN_IMPORTED]: `Plugin imported`,\n [Event.PLUGIN_DELETED]: `Plugin deleted`,\n [Event.PLUGIN_INIT]: undefined,\n\n // ROLE - NOT AUDITED\n [Event.ROLE_CREATED]: undefined,\n [Event.ROLE_UPDATED]: undefined,\n [Event.ROLE_DELETED]: undefined,\n [Event.ROLE_ASSIGNED]: undefined,\n [Event.ROLE_UNASSIGNED]: undefined,\n\n // LICENSE - NOT AUDITED\n [Event.LICENSE_PLAN_CHANGED]: undefined,\n [Event.LICENSE_ACTIVATED]: undefined,\n [Event.LICENSE_PAYMENT_FAILED]: undefined,\n [Event.LICENSE_PAYMENT_RECOVERED]: undefined,\n [Event.LICENSE_CHECKOUT_OPENED]: undefined,\n [Event.LICENSE_CHECKOUT_SUCCESS]: undefined,\n [Event.LICENSE_PORTAL_OPENED]: undefined,\n\n // ACCOUNT - NOT AUDITED\n [Event.ACCOUNT_CREATED]: undefined,\n [Event.ACCOUNT_DELETED]: undefined,\n [Event.ACCOUNT_VERIFIED]: undefined,\n\n // BACKFILL - NOT AUDITED\n [Event.APP_BACKFILL_SUCCEEDED]: undefined,\n [Event.APP_BACKFILL_FAILED]: undefined,\n [Event.TENANT_BACKFILL_SUCCEEDED]: undefined,\n [Event.TENANT_BACKFILL_FAILED]: undefined,\n [Event.INSTALLATION_BACKFILL_SUCCEEDED]: undefined,\n [Event.INSTALLATION_BACKFILL_FAILED]: undefined,\n\n // LAYOUT - NOT AUDITED\n [Event.LAYOUT_CREATED]: undefined,\n [Event.LAYOUT_DELETED]: undefined,\n\n // VIEW - NOT AUDITED\n [Event.VIEW_CREATED]: undefined,\n [Event.VIEW_UPDATED]: undefined,\n [Event.VIEW_DELETED]: undefined,\n [Event.VIEW_EXPORTED]: undefined,\n [Event.VIEW_FILTER_CREATED]: undefined,\n [Event.VIEW_FILTER_UPDATED]: undefined,\n [Event.VIEW_FILTER_DELETED]: undefined,\n [Event.VIEW_CALCULATION_CREATED]: undefined,\n [Event.VIEW_CALCULATION_UPDATED]: undefined,\n [Event.VIEW_CALCULATION_DELETED]: undefined,\n\n // SERVED - NOT AUDITED\n [Event.SERVED_BUILDER]: undefined,\n [Event.SERVED_APP]: undefined,\n [Event.SERVED_APP_PREVIEW]: undefined,\n\n // ANALYTICS - NOT AUDITED\n [Event.ANALYTICS_OPT_OUT]: undefined,\n [Event.ANALYTICS_OPT_IN]: undefined,\n\n // INSTALLATION - NOT AUDITED\n [Event.INSTALLATION_VERSION_CHECKED]: undefined,\n [Event.INSTALLATION_VERSION_UPGRADED]: undefined,\n [Event.INSTALLATION_VERSION_DOWNGRADED]: undefined,\n [Event.INSTALLATION_FIRST_STARTUP]: undefined,\n\n // AUDIT LOG - NOT AUDITED\n [Event.AUDIT_LOGS_FILTERED]: undefined,\n [Event.AUDIT_LOGS_DOWNLOADED]: undefined,\n}\n\n// properties added at the final stage of the event pipeline\nexport interface BaseEvent {\n version?: string\n service?: string\n environment?: string\n appId?: string\n installationId?: string\n tenantId?: string\n hosting?: Hosting\n // any props in the audited section will be removed before passing events\n // up out of system (purely for use with auditing)\n audited?: {\n [key: string]: any\n }\n}\n\nexport type TableExportFormat = \"json\" | \"csv\"\n\nexport type DocUpdateEvent = {\n id: string\n tenantId: string\n appId?: string\n}\n\nexport interface EventProcessor {\n processEvent(\n event: Event,\n identity: Identity,\n properties: any,\n timestamp?: string | number\n ): Promise<void>\n identify?(identity: Identity, timestamp?: string | number): Promise<void>\n identifyGroup?(group: Group, timestamp?: string | number): Promise<void>\n shutdown?(): void\n}\n", "import { Event } from \"../events\"\n\nexport enum CommandWord {\n BACKUPS = \"backups\",\n HOSTING = \"hosting\",\n ANALYTICS = \"analytics\",\n HELP = \"help\",\n PLUGIN = \"plugins\",\n}\n\nexport enum InitType {\n QUICK = \"quick\",\n DIGITAL_OCEAN = \"do\",\n}\n\nexport const AnalyticsEvent = {\n OptOut: \"analytics:opt:out\",\n OptIn: \"analytics:opt:in\",\n SelfHostInit: \"hosting:init\",\n PluginInit: Event.PLUGIN_INIT,\n}\n", "import { Document } from \"../document\"\nimport { EventEmitter } from \"events\"\nimport { User } from \"../global\"\nimport { ReadStream } from \"fs\"\n\nexport enum AutomationIOType {\n OBJECT = \"object\",\n STRING = \"string\",\n BOOLEAN = \"boolean\",\n NUMBER = \"number\",\n ARRAY = \"array\",\n JSON = \"json\",\n DATE = \"date\",\n ATTACHMENT = \"attachment\",\n}\n\nexport enum AutomationCustomIOType {\n TABLE = \"table\",\n ROW = \"row\",\n ROWS = \"rows\",\n WIDE = \"wide\",\n QUERY = \"query\",\n QUERY_PARAMS = \"queryParams\",\n QUERY_LIMIT = \"queryLimit\",\n LOOP_OPTION = \"loopOption\",\n ITEM = \"item\",\n CODE = \"code\",\n FILTERS = \"filters\",\n COLUMN = \"column\",\n TRIGGER_SCHEMA = \"triggerSchema\",\n CRON = \"cron\",\n WEBHOOK_URL = \"webhookUrl\",\n AUTOMATION = \"automation\",\n AUTOMATION_FIELDS = \"automationFields\",\n MULTI_ATTACHMENTS = \"multi_attachments\",\n}\n\nexport enum AutomationTriggerStepId {\n ROW_SAVED = \"ROW_SAVED\",\n ROW_UPDATED = \"ROW_UPDATED\",\n ROW_DELETED = \"ROW_DELETED\",\n WEBHOOK = \"WEBHOOK\",\n APP = \"APP\",\n CRON = \"CRON\",\n}\n\nexport enum AutomationStepType {\n LOGIC = \"LOGIC\",\n ACTION = \"ACTION\",\n TRIGGER = \"TRIGGER\",\n}\n\nexport enum AutomationActionStepId {\n SEND_EMAIL_SMTP = \"SEND_EMAIL_SMTP\",\n CREATE_ROW = \"CREATE_ROW\",\n UPDATE_ROW = \"UPDATE_ROW\",\n DELETE_ROW = \"DELETE_ROW\",\n EXECUTE_BASH = \"EXECUTE_BASH\",\n OUTGOING_WEBHOOK = \"OUTGOING_WEBHOOK\",\n EXECUTE_SCRIPT = \"EXECUTE_SCRIPT\",\n EXECUTE_QUERY = \"EXECUTE_QUERY\",\n SERVER_LOG = \"SERVER_LOG\",\n DELAY = \"DELAY\",\n FILTER = \"FILTER\",\n QUERY_ROWS = \"QUERY_ROWS\",\n LOOP = \"LOOP\",\n COLLECT = \"COLLECT\",\n OPENAI = \"OPENAI\",\n TRIGGER_AUTOMATION_RUN = \"TRIGGER_AUTOMATION_RUN\",\n // these used to be lowercase step IDs, maintain for backwards compat\n discord = \"discord\",\n slack = \"slack\",\n zapier = \"zapier\",\n integromat = \"integromat\",\n n8n = \"n8n\",\n}\n\nexport interface EmailInvite {\n startTime: Date\n endTime: Date\n summary: string\n location?: string\n url?: string\n}\n\nexport interface EmailAttachment {\n url: string\n filename: string\n}\n\nexport interface SendEmailOpts {\n // workspaceId If finer grain controls being used then this will lookup config for workspace.\n workspaceId?: string\n // user If sending to an existing user the object can be provided, this is used in the context.\n user: User\n // from If sending from an address that is not what is configured in the SMTP config.\n from?: string\n // contents If sending a custom email then can supply contents which will be added to it.\n contents?: string\n // subject A custom subject can be specified if the config one is not desired.\n subject?: string\n // info Pass in a structure of information to be stored alongside the invitation.\n info?: any\n cc?: boolean\n bcc?: boolean\n automation?: boolean\n invite?: EmailInvite\n attachments?: EmailAttachment[]\n}\n\nexport const AutomationStepIdArray = [\n ...Object.values(AutomationActionStepId),\n ...Object.values(AutomationTriggerStepId),\n]\n\nexport interface Automation extends Document {\n definition: {\n steps: AutomationStep[]\n trigger: AutomationTrigger\n }\n screenId?: string\n uiTree?: any\n appId: string\n live?: boolean\n name: string\n internal?: boolean\n type?: string\n disabled?: boolean\n}\n\ninterface BaseIOStructure {\n type?: AutomationIOType\n customType?: AutomationCustomIOType\n title?: string\n description?: string\n dependsOn?: string\n enum?: string[]\n pretty?: string[]\n properties?: {\n [key: string]: BaseIOStructure\n }\n required?: string[]\n}\n\ninterface InputOutputBlock {\n properties: {\n [key: string]: BaseIOStructure\n }\n required?: string[]\n}\n\nexport interface AutomationStepSchema {\n name: string\n stepTitle?: string\n tagline: string\n icon: string\n description: string\n type: AutomationStepType\n internal?: boolean\n deprecated?: boolean\n stepId: AutomationTriggerStepId | AutomationActionStepId\n blockToLoop?: string\n inputs: {\n [key: string]: any\n }\n schema: {\n inputs: InputOutputBlock\n outputs: InputOutputBlock\n }\n custom?: boolean\n features?: Partial<Record<AutomationFeature, boolean>>\n}\n\nexport enum AutomationFeature {\n LOOPING = \"LOOPING\",\n}\n\nexport interface AutomationStep extends AutomationStepSchema {\n id: string\n}\n\nexport interface AutomationTriggerSchema extends AutomationStepSchema {\n event?: string\n cronJobId?: string\n}\n\nexport interface AutomationTrigger extends AutomationTriggerSchema {\n id: string\n}\n\nexport enum AutomationStepStatus {\n NO_ITERATIONS = \"no_iterations\",\n}\n\nexport enum AutomationStatus {\n SUCCESS = \"success\",\n ERROR = \"error\",\n STOPPED = \"stopped\",\n STOPPED_ERROR = \"stopped_error\",\n}\n\nexport interface AutomationResults {\n automationId?: string\n status?: AutomationStatus\n trigger?: any\n steps: {\n stepId: AutomationTriggerStepId | AutomationActionStepId\n inputs: {\n [key: string]: any\n }\n outputs: {\n [key: string]: any\n }\n }[]\n}\n\nexport interface AutomationLog extends AutomationResults, Document {\n automationName: string\n _rev?: string\n}\n\nexport interface AutomationLogPage {\n data: AutomationLog[]\n hasNextPage: boolean\n nextPage?: string\n}\n\nexport type AutomationStepInput = {\n inputs: Record<string, any>\n context: Record<string, any>\n emitter: EventEmitter\n appId: string\n apiKey?: string\n}\n\nexport interface AutomationMetadata extends Document {\n errorCount?: number\n automationChainCount?: number\n}\n\nexport type AutomationAttachment = {\n url: string\n filename: string\n}\n\nexport type AutomationAttachmentContent = {\n filename: string\n content: ReadStream | NodeJS.ReadableStream | ReadableStream<Uint8Array>\n}\n\nexport type BucketedContent = AutomationAttachmentContent & {\n bucket: string\n path: string\n}\n", "export const SEPARATOR = \"_\"\nexport const UNICODE_MAX = \"\\ufff0\"\n\nexport const prefixed = (type: DocumentType) => `${type}${SEPARATOR}`\n\nexport enum DocumentType {\n USER = \"us\",\n GROUP = \"gr\",\n WORKSPACE = \"workspace\",\n CONFIG = \"config\",\n TEMPLATE = \"template\",\n APP = \"app\",\n DEV = \"dev\",\n APP_DEV = \"app_dev\",\n APP_METADATA = \"app_metadata\",\n ROLE = \"role\",\n MIGRATIONS = \"migrations\",\n DEV_INFO = \"devinfo\",\n AUTOMATION_LOG = \"log_au\",\n ACCOUNT_METADATA = \"acc_metadata\",\n PLUGIN = \"plg\",\n DATASOURCE = \"datasource\",\n DATASOURCE_PLUS = \"datasource_plus\",\n APP_BACKUP = \"backup\",\n TABLE = \"ta\",\n ROW = \"ro\",\n AUTOMATION = \"au\",\n LINK = \"li\",\n WEBHOOK = \"wh\",\n INSTANCE = \"inst\",\n LAYOUT = \"layout\",\n SCREEN = \"screen\",\n QUERY = \"query\",\n DEPLOYMENTS = \"deployments\",\n METADATA = \"metadata\",\n MEM_VIEW = \"view\",\n USER_FLAG = \"flag\",\n AUTOMATION_METADATA = \"meta_au\",\n AUDIT_LOG = \"al\",\n APP_MIGRATION_METADATA = \"_design/migrations\",\n SCIM_LOG = \"scimlog\",\n}\n\n// these are the core documents that make up the data, design\n// and automation sections of an app. This excludes any internal\n// rows as we shouldn't import data.\nexport const DocumentTypesToImport: DocumentType[] = [\n DocumentType.ROLE,\n DocumentType.DATASOURCE,\n DocumentType.DATASOURCE_PLUS,\n DocumentType.TABLE,\n DocumentType.AUTOMATION,\n DocumentType.WEBHOOK,\n DocumentType.SCREEN,\n DocumentType.QUERY,\n DocumentType.METADATA,\n DocumentType.MEM_VIEW,\n // Deprecated but still copied\n DocumentType.INSTANCE,\n DocumentType.LAYOUT,\n]\n\nexport enum InternalTable {\n USER_METADATA = \"ta_users\",\n}\n\n// these documents don't really exist, they are part of other\n// documents or enriched into existence as part of get requests\nexport enum VirtualDocumentType {\n VIEW = \"view\",\n}\n\nexport interface Document {\n _id?: string\n _rev?: string\n createdAt?: string | number\n updatedAt?: string\n}\n\nexport interface AnyDocument extends Document {\n [key: string]: any\n}\n", "import { Document } from \"../document\"\n\nexport enum PluginType {\n DATASOURCE = \"datasource\",\n COMPONENT = \"component\",\n AUTOMATION = \"automation\",\n}\n\nexport enum PluginSource {\n NPM = \"NPM\",\n GITHUB = \"Github\",\n URL = \"URL\",\n FILE = \"File Upload\",\n}\nexport interface FileType {\n path: string\n name: string\n}\n\nexport interface Plugin extends Document {\n description: string\n name: string\n version: string\n source: PluginSource\n package: { [key: string]: any }\n hash: string\n schema: {\n type: PluginType\n [key: string]: any\n }\n iconFileName?: string\n // Populated on read\n jsUrl?: string\n // Populated on read\n iconUrl?: string\n}\n\nexport const PLUGIN_TYPE_ARR = Object.values(PluginType)\n", "import { MonthlyQuotaName, StaticQuotaName } from \"../../sdk\"\n\nexport enum BreakdownQuotaName {\n ROW_QUERIES = \"rowQueries\",\n DATASOURCE_QUERIES = \"datasourceQueries\",\n AUTOMATIONS = \"automations\",\n}\n\nexport const APP_QUOTA_NAMES = [\n StaticQuotaName.ROWS,\n MonthlyQuotaName.QUERIES,\n MonthlyQuotaName.AUTOMATIONS,\n]\n\nexport const BREAKDOWN_QUOTA_NAMES = [\n MonthlyQuotaName.QUERIES,\n MonthlyQuotaName.AUTOMATIONS,\n]\n\nexport interface UsageBreakdown {\n parent: MonthlyQuotaName\n values: {\n [key: string]: number\n }\n}\n\nexport type QuotaTriggers = {\n [key: string]: string | undefined\n}\n\nexport interface StaticUsage {\n [StaticQuotaName.APPS]: number\n [StaticQuotaName.PLUGINS]: number\n [StaticQuotaName.USERS]: number\n [StaticQuotaName.CREATORS]: number\n [StaticQuotaName.USER_GROUPS]: number\n [StaticQuotaName.ROWS]: number\n triggers: {\n [key in StaticQuotaName]?: QuotaTriggers\n }\n}\n\nexport interface MonthlyUsage {\n [MonthlyQuotaName.QUERIES]: number\n [MonthlyQuotaName.AUTOMATIONS]: number\n [MonthlyQuotaName.DAY_PASSES]: number\n triggers: {\n [key in MonthlyQuotaName]?: QuotaTriggers\n }\n breakdown?: {\n [key in BreakdownQuotaName]?: UsageBreakdown\n }\n}\n\nexport interface BaseQuotaUsage {\n usageQuota: StaticUsage\n monthly: {\n [key: string]: MonthlyUsage\n }\n}\n\nexport interface QuotaUsage extends BaseQuotaUsage {\n _id: string\n _rev?: string\n quotaReset: string\n apps?: {\n [key: string]: BaseQuotaUsage\n }\n}\n\nexport type SetUsageValues = {\n total: number\n app?: number\n breakdown?: number\n triggers?: QuotaTriggers\n}\n\nexport type UsageValues = {\n total: number\n app?: number\n breakdown?: number\n}\n", "import { FieldType } from \"@budibase/types\"\n\ntype SwitchableTypes = Partial<{\n [K in FieldType]: [K, ...FieldType[]]\n}>\n\nexport const SWITCHABLE_TYPES: SwitchableTypes = {\n [FieldType.STRING]: [\n FieldType.STRING,\n FieldType.OPTIONS,\n FieldType.LONGFORM,\n FieldType.BARCODEQR,\n ],\n [FieldType.OPTIONS]: [\n FieldType.OPTIONS,\n FieldType.STRING,\n FieldType.LONGFORM,\n FieldType.BARCODEQR,\n ],\n [FieldType.LONGFORM]: [\n FieldType.LONGFORM,\n FieldType.STRING,\n FieldType.OPTIONS,\n FieldType.BARCODEQR,\n ],\n [FieldType.BARCODEQR]: [\n FieldType.BARCODEQR,\n FieldType.STRING,\n FieldType.OPTIONS,\n FieldType.LONGFORM,\n ],\n [FieldType.NUMBER]: [FieldType.NUMBER, FieldType.BOOLEAN],\n}\n", "export * from \"./api\"\nexport * from \"./fields\"\n\nexport const OperatorOptions = {\n Equals: {\n value: \"equal\",\n label: \"Equals\",\n },\n NotEquals: {\n value: \"notEqual\",\n label: \"Not equals\",\n },\n Empty: {\n value: \"empty\",\n label: \"Is empty\",\n },\n NotEmpty: {\n value: \"notEmpty\",\n label: \"Is not empty\",\n },\n StartsWith: {\n value: \"string\",\n label: \"Starts with\",\n },\n Like: {\n value: \"fuzzy\",\n label: \"Like\",\n },\n MoreThan: {\n value: \"rangeLow\",\n label: \"More than or equal to\",\n },\n LessThan: {\n value: \"rangeHigh\",\n label: \"Less than or equal to\",\n },\n Contains: {\n value: \"contains\",\n label: \"Contains\",\n },\n NotContains: {\n value: \"notContains\",\n label: \"Does not contain\",\n },\n In: {\n value: \"oneOf\",\n label: \"Is in\",\n },\n ContainsAny: {\n value: \"containsAny\",\n label: \"Has any\",\n },\n}\n\nexport const SqlNumberTypeRangeMap = {\n integer: {\n max: 2147483647,\n min: -2147483648,\n },\n int: {\n max: 2147483647,\n min: -2147483648,\n },\n smallint: {\n max: 32767,\n min: -32768,\n },\n mediumint: {\n max: 8388607,\n min: -8388608,\n },\n}\n\nexport enum SocketEvent {\n UserUpdate = \"UserUpdate\",\n UserDisconnect = \"UserDisconnect\",\n Heartbeat = \"Heartbeat\",\n}\n\nexport enum GridSocketEvent {\n RowChange = \"RowChange\",\n DatasourceChange = \"DatasourceChange\",\n SelectDatasource = \"SelectDatasource\",\n SelectCell = \"SelectCell\",\n}\n\nexport enum BuilderSocketEvent {\n SelectApp = \"SelectApp\",\n TableChange = \"TableChange\",\n DatasourceChange = \"DatasourceChange\",\n LockTransfer = \"LockTransfer\",\n ScreenChange = \"ScreenChange\",\n AppMetadataChange = \"AppMetadataChange\",\n SelectResource = \"SelectResource\",\n AppPublishChange = \"AppPublishChange\",\n AutomationChange = \"AutomationChange\",\n}\n\nexport const SocketSessionTTL = 60\nexport const ValidQueryNameRegex = /^[^()]*$/\nexport const ValidColumnNameRegex = /^[_a-zA-Z0-9\\s]*$/g\nexport const ValidSnippetNameRegex = /^[a-z_][a-z0-9_]*$/i\n\nexport const REBOOT_CRON = \"@reboot\"\n\nexport const InvalidFileExtensions = [\n \"7z\",\n \"action\",\n \"apk\",\n \"app\",\n \"bat\",\n \"bin\",\n \"cab\",\n \"cmd\",\n \"com\",\n \"command\",\n \"cpl\",\n \"csh\",\n \"ex_\",\n \"exe\",\n \"gadget\",\n \"inf1\",\n \"ins\",\n \"inx\",\n \"ipa\",\n \"isu\",\n \"job\",\n \"js\",\n \"jse\",\n \"ksh\",\n \"lnk\",\n \"msc\",\n \"msi\",\n \"msp\",\n \"mst\",\n \"osx\",\n \"out\",\n \"paf\",\n \"php\",\n \"pif\",\n \"prg\",\n \"ps1\",\n \"reg\",\n \"rgs\",\n \"run\",\n \"scr\",\n \"sct\",\n \"shb\",\n \"shs\",\n \"tar\",\n \"u3p\",\n \"vb\",\n \"vbe\",\n \"vbs\",\n \"vbscript\",\n \"wasm\",\n \"workflow\",\n \"ws\",\n \"wsf\",\n \"wsh\",\n \"zip\",\n]\n\nexport enum BpmCorrelationKey {\n ONBOARDING = \"budibase:onboarding:correlationkey\",\n}\n\nexport enum BpmInstanceKey {\n ONBOARDING = \"budibase:onboarding:instancekey\",\n}\n\nexport enum BpmStatusKey {\n ONBOARDING = \"budibase:onboarding:status\",\n}\n\nexport enum BpmStatusValue {\n STARTED = \"started\",\n COMPLETING_ACCOUNT_INFO = \"completing_account_info\",\n VERIFYING_EMAIL = \"verifying_email\",\n COMPLETED = \"completed\",\n}\n", "import {\n Datasource,\n BBReferenceFieldSubType,\n FieldType,\n FormulaType,\n SearchFilter,\n SearchFilters,\n SearchQueryFields,\n SearchFilterOperator,\n SortDirection,\n SortType,\n FieldConstraints,\n} from \"@budibase/types\"\nimport dayjs from \"dayjs\"\nimport { OperatorOptions, SqlNumberTypeRangeMap } from \"./constants\"\nimport { deepGet, schema } from \"./helpers\"\n\nconst HBS_REGEX = /{{([^{].*?)}}/g\n\n/**\n * Returns the valid operator options for a certain data type\n */\nexport const getValidOperatorsForType = (\n fieldType: {\n type: FieldType\n subtype?: BBReferenceFieldSubType\n formulaType?: FormulaType\n constraints?: FieldConstraints\n },\n field?: string,\n datasource?: Datasource & { tableId: any }\n) => {\n const Op = OperatorOptions\n const stringOps = [\n Op.Equals,\n Op.NotEquals,\n Op.StartsWith,\n Op.Like,\n Op.Empty,\n Op.NotEmpty,\n Op.In,\n ]\n const numOps = [\n Op.Equals,\n Op.NotEquals,\n Op.MoreThan,\n Op.LessThan,\n Op.Empty,\n Op.NotEmpty,\n Op.In,\n ]\n let ops: {\n value: string\n label: string\n }[] = []\n const { type, formulaType } = fieldType\n if (type === FieldType.STRING) {\n ops = stringOps\n } else if (type === FieldType.NUMBER || type === FieldType.BIGINT) {\n ops = numOps\n } else if (type === FieldType.OPTIONS) {\n ops = [Op.Equals, Op.NotEquals, Op.Empty, Op.NotEmpty, Op.In]\n } else if (type === FieldType.ARRAY) {\n ops = [Op.Contains, Op.NotContains, Op.Empty, Op.NotEmpty, Op.ContainsAny]\n } else if (type === FieldType.BOOLEAN) {\n ops = [Op.Equals, Op.NotEquals, Op.Empty, Op.NotEmpty]\n } else if (type === FieldType.LONGFORM) {\n ops = stringOps\n } else if (type === FieldType.DATETIME) {\n ops = numOps\n } else if (type === FieldType.FORMULA && formulaType === FormulaType.STATIC) {\n ops = stringOps.concat([Op.MoreThan, Op.LessThan])\n } else if (\n type === FieldType.BB_REFERENCE_SINGLE ||\n schema.isDeprecatedSingleUserColumn(fieldType)\n ) {\n ops = [Op.Equals, Op.NotEquals, Op.Empty, Op.NotEmpty, Op.In]\n } else if (type === FieldType.BB_REFERENCE) {\n ops = [Op.Contains, Op.NotContains, Op.ContainsAny, Op.Empty, Op.NotEmpty]\n }\n\n // Only allow equal/not equal for _id in SQL tables\n const externalTable = datasource?.tableId?.includes(\"datasource_plus\")\n if (field === \"_id\" && externalTable) {\n ops = [Op.Equals, Op.NotEquals, Op.In]\n }\n\n return ops\n}\n\n/**\n * Operators which do not support empty strings as values\n */\nexport const NoEmptyFilterStrings = [\n OperatorOptions.StartsWith.value,\n OperatorOptions.Like.value,\n OperatorOptions.Equals.value,\n OperatorOptions.NotEquals.value,\n OperatorOptions.Contains.value,\n OperatorOptions.NotContains.value,\n] as (keyof SearchQueryFields)[]\n\n/**\n * Removes any fields that contain empty strings that would cause inconsistent\n * behaviour with how backend tables are filtered (no value means no filter).\n */\nconst cleanupQuery = (query: SearchFilters) => {\n if (!query) {\n return query\n }\n for (let filterField of NoEmptyFilterStrings) {\n const operator = filterField as SearchFilterOperator\n if (!query[operator]) {\n continue\n }\n\n for (let [key, value] of Object.entries(query[operator]!)) {\n if (value == null || value === \"\") {\n delete query[operator]![key]\n }\n }\n }\n return query\n}\n\n/**\n * Removes a numeric prefix on field names designed to give fields uniqueness\n */\nexport const removeKeyNumbering = (key: string): string => {\n if (typeof key === \"string\" && key.match(/\\d[0-9]*:/g) != null) {\n const parts = key.split(\":\")\n // remove the number\n parts.shift()\n return parts.join(\":\")\n } else {\n return key\n }\n}\n\n/**\n * Builds a lucene JSON query from the filter structure generated in the builder\n * @param filter the builder filter structure\n */\nexport const buildLuceneQuery = (filter: SearchFilter[]) => {\n let query: SearchFilters = {\n string: {},\n fuzzy: {},\n range: {},\n equal: {},\n notEqual: {},\n empty: {},\n notEmpty: {},\n contains: {},\n notContains: {},\n oneOf: {},\n containsAny: {},\n }\n\n if (!Array.isArray(filter)) {\n return query\n }\n\n filter.forEach(expression => {\n let { operator, field, type, value, externalType, onEmptyFilter } =\n expression\n const queryOperator = operator as SearchFilterOperator\n const isHbs =\n typeof value === \"string\" && (value.match(HBS_REGEX) || []).length > 0\n // Parse all values into correct types\n if (operator === \"allOr\") {\n query.allOr = true\n return\n }\n if (onEmptyFilter) {\n query.onEmptyFilter = onEmptyFilter\n return\n }\n if (\n type === \"datetime\" &&\n !isHbs &&\n queryOperator !== \"empty\" &&\n queryOperator !== \"notEmpty\"\n ) {\n // Ensure date value is a valid date and parse into correct format\n if (!value) {\n return\n }\n try {\n value = new Date(value).toISOString()\n } catch (error) {\n return\n }\n }\n if (type === \"number\" && typeof value === \"string\" && !isHbs) {\n if (queryOperator === \"oneOf\") {\n value = value.split(\",\").map(item => parseFloat(item))\n } else {\n value = parseFloat(value)\n }\n }\n if (type === \"boolean\") {\n value = `${value}`?.toLowerCase() === \"true\"\n }\n if (\n [\"contains\", \"notContains\", \"containsAny\"].includes(operator) &&\n type === \"array\" &&\n typeof value === \"string\"\n ) {\n value = value.split(\",\")\n }\n if (operator.startsWith(\"range\") && query.range) {\n const minint =\n SqlNumberTypeRangeMap[\n externalType as keyof typeof SqlNumberTypeRangeMap\n ]?.min || Number.MIN_SAFE_INTEGER\n const maxint =\n SqlNumberTypeRangeMap[\n externalType as keyof typeof SqlNumberTypeRangeMap\n ]?.max || Number.MAX_SAFE_INTEGER\n if (!query.range[field]) {\n query.range[field] = {\n low: type === \"number\" ? minint : \"0000-00-00T00:00:00.000Z\",\n high: type === \"number\" ? maxint : \"9999-00-00T00:00:00.000Z\",\n }\n }\n if (operator === \"rangeLow\" && value != null && value !== \"\") {\n query.range[field] = {\n ...query.range[field],\n low: value,\n }\n } else if (operator === \"rangeHigh\" && value != null && value !== \"\") {\n query.range[field] = {\n ...query.range[field],\n high: value,\n }\n }\n } else if (query[queryOperator] && operator !== \"onEmptyFilter\") {\n if (type === \"boolean\") {\n // Transform boolean filters to cope with null.\n // \"equals false\" needs to be \"not equals true\"\n // \"not equals false\" needs to be \"equals true\"\n if (queryOperator === \"equal\" && value === false) {\n query.notEqual = query.notEqual || {}\n query.notEqual[field] = true\n } else if (queryOperator === \"notEqual\" && value === false) {\n query.equal = query.equal || {}\n query.equal[field] = true\n } else {\n query[queryOperator] = query[queryOperator] || {}\n query[queryOperator]![field] = value\n }\n } else {\n query[queryOperator] = query[queryOperator] || {}\n query[queryOperator]![field] = value\n }\n }\n })\n\n return query\n}\n\n/**\n * Performs a client-side lucene search on an array of data\n * @param docs the data\n * @param query the JSON lucene query\n */\nexport const runLuceneQuery = (docs: any[], query?: SearchFilters) => {\n if (!docs || !Array.isArray(docs)) {\n return []\n }\n if (!query) {\n return docs\n }\n\n // Make query consistent first\n query = cleanupQuery(query)\n\n // Iterates over a set of filters and evaluates a fail function against a doc\n const match =\n (\n type: SearchFilterOperator,\n failFn: (docValue: any, testValue: any) => boolean\n ) =>\n (doc: any) => {\n const filters = Object.entries(query![type] || {})\n for (let i = 0; i < filters.length; i++) {\n const [key, testValue] = filters[i]\n const docValue = deepGet(doc, removeKeyNumbering(key))\n if (failFn(docValue, testValue)) {\n return false\n }\n }\n return true\n }\n\n // Process a string match (fails if the value does not start with the string)\n const stringMatch = match(\n SearchFilterOperator.STRING,\n (docValue: string, testValue: string) => {\n return (\n !docValue ||\n !docValue?.toLowerCase().startsWith(testValue?.toLowerCase())\n )\n }\n )\n\n // Process a fuzzy match (treat the same as starts with when running locally)\n const fuzzyMatch = match(\n SearchFilterOperator.FUZZY,\n (docValue: string, testValue: string) => {\n return (\n !docValue ||\n !docValue?.toLowerCase().startsWith(testValue?.toLowerCase())\n )\n }\n )\n\n // Process a range match\n const rangeMatch = match(\n SearchFilterOperator.RANGE,\n (\n docValue: string | number | null,\n testValue: { low: number; high: number }\n ) => {\n if (docValue == null || docValue === \"\") {\n return true\n }\n if (!isNaN(+docValue)) {\n return +docValue < testValue.low || +docValue > testValue.high\n }\n if (dayjs(docValue).isValid()) {\n return (\n new Date(docValue).getTime() < new Date(testValue.low).getTime() ||\n new Date(docValue).getTime() > new Date(testValue.high).getTime()\n )\n }\n return false\n }\n )\n\n // Process an equal match (fails if the value is different)\n const equalMatch = match(\n SearchFilterOperator.EQUAL,\n (docValue: any, testValue: string | null) => {\n return testValue != null && testValue !== \"\" && docValue !== testValue\n }\n )\n\n // Process a not-equal match (fails if the value is the same)\n const notEqualMatch = match(\n SearchFilterOperator.NOT_EQUAL,\n (docValue: any, testValue: string | null) => {\n return testValue != null && testValue !== \"\" && docValue === testValue\n }\n )\n\n // Process an empty match (fails if the value is not empty)\n const emptyMatch = match(\n SearchFilterOperator.EMPTY,\n (docValue: string | null) => {\n return docValue != null && docValue !== \"\"\n }\n )\n\n // Process a not-empty match (fails is the value is empty)\n const notEmptyMatch = match(\n SearchFilterOperator.NOT_EMPTY,\n (docValue: string | null) => {\n return docValue == null || docValue === \"\"\n }\n )\n\n // Process an includes match (fails if the value is not included)\n const oneOf = match(\n SearchFilterOperator.ONE_OF,\n (docValue: any, testValue: any) => {\n if (typeof testValue === \"string\") {\n testValue = testValue.split(\",\")\n if (typeof docValue === \"number\") {\n testValue = testValue.map((item: string) => parseFloat(item))\n }\n }\n return !testValue?.includes(docValue)\n }\n )\n\n const containsAny = match(\n SearchFilterOperator.CONTAINS_ANY,\n (docValue: any, testValue: any) => {\n return !docValue?.includes(...testValue)\n }\n )\n\n const contains = match(\n SearchFilterOperator.CONTAINS,\n (docValue: string | any[], testValue: any[]) => {\n return !testValue?.every((item: any) => docValue?.includes(item))\n }\n )\n\n const notContains = match(\n SearchFilterOperator.NOT_CONTAINS,\n (docValue: string | any[], testValue: any[]) => {\n return testValue?.every((item: any) => docValue?.includes(item))\n }\n )\n\n const docMatch = (doc: any) => {\n const filterFunctions: Record<SearchFilterOperator, (doc: any) => boolean> =\n {\n string: stringMatch,\n fuzzy: fuzzyMatch,\n range: rangeMatch,\n equal: equalMatch,\n notEqual: notEqualMatch,\n empty: emptyMatch,\n notEmpty: notEmptyMatch,\n oneOf: oneOf,\n contains: contains,\n containsAny: containsAny,\n notContains: notContains,\n }\n\n const activeFilterKeys: SearchFilterOperator[] = Object.entries(query || {})\n .filter(\n ([key, value]: [string, any]) =>\n ![\"allOr\", \"onEmptyFilter\"].includes(key) &&\n value &&\n Object.keys(value as Record<string, any>).length > 0\n )\n .map(([key]) => key as any)\n\n const results: boolean[] = activeFilterKeys.map(filterKey => {\n return filterFunctions[filterKey]?.(doc) ?? false\n })\n\n if (query!.allOr) {\n return results.some(result => result === true)\n } else {\n return results.every(result => result === true)\n }\n }\n return docs.filter(docMatch)\n}\n\n/**\n * Performs a client-side sort from the equivalent server-side lucene sort\n * parameters.\n * @param docs the data\n * @param sort the sort column\n * @param sortOrder the sort order (\"ascending\" or \"descending\")\n * @param sortType the type of sort (\"string\" or \"number\")\n */\nexport const luceneSort = (\n docs: any[],\n sort: string,\n sortOrder: SortDirection,\n sortType = SortType.STRING\n) => {\n if (!sort || !sortOrder || !sortType) {\n return docs\n }\n const parse =\n sortType === \"string\" ? (x: any) => `${x}` : (x: string) => parseFloat(x)\n return docs\n .slice()\n .sort((a: { [x: string]: any }, b: { [x: string]: any }) => {\n const colA = parse(a[sort])\n const colB = parse(b[sort])\n if (sortOrder.toLowerCase() === \"descending\") {\n return colA > colB ? -1 : 1\n } else {\n return colA > colB ? 1 : -1\n }\n })\n}\n\n/**\n * Limits the specified docs to the specified number of rows from the equivalent\n * server-side lucene limit parameters.\n * @param docs the data\n * @param limit the number of docs to limit to\n */\nexport const luceneLimit = (docs: any[], limit: string) => {\n const numLimit = parseFloat(limit)\n if (isNaN(numLimit)) {\n return docs\n }\n return docs.slice(0, numLimit)\n}\n\nexport const hasFilters = (query?: SearchFilters) => {\n if (!query) {\n return false\n }\n const skipped = [\"allOr\", \"onEmptyFilter\"]\n for (let [key, value] of Object.entries(query)) {\n if (skipped.includes(key) || typeof value !== \"object\") {\n continue\n }\n if (Object.keys(value || {}).length !== 0) {\n return true\n }\n }\n return false\n}\n", "export * from \"./helpers\"\nexport * from \"./integrations\"\nexport * as cron from \"./cron\"\nexport * as schema from \"./schema\"\n", "import { User } from \"@budibase/types\"\n\n/**\n * Gets a key within an object. The key supports dot syntax for retrieving deep\n * fields - e.g. \"a.b.c\".\n * Exact matches of keys with dots in them take precedence over nested keys of\n * the same path - e.g. getting \"a.b\" from { \"a.b\": \"foo\", a: { b: \"bar\" } }\n * will return \"foo\" over \"bar\".\n * @param obj the object\n * @param key the key\n * @return the value or null if a value was not found for this key\n */\nexport const deepGet = (obj: { [x: string]: any }, key: string) => {\n if (!obj || !key) {\n return null\n }\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n return obj[key]\n }\n const split = key.split(\".\")\n for (let i = 0; i < split.length; i++) {\n obj = obj?.[split[i]]\n }\n return obj\n}\n\n/**\n * Gets the initials to show in a user avatar.\n * @param user the user\n */\nexport const getUserInitials = (user: User) => {\n if (!user) {\n return \"?\"\n }\n let initials = \"\"\n initials += user.firstName ? user.firstName[0] : \"\"\n initials += user.lastName ? user.lastName[0] : \"\"\n if (initials !== \"\") {\n return initials\n }\n return user.email?.[0] || \"U\"\n}\n\n/**\n * Gets a deterministic colour for a particular user\n * @param user the user\n */\nexport const getUserColor = (user: User) => {\n let id = user?._id\n if (!id) {\n return \"var(--spectrum-global-color-blue-400)\"\n }\n\n // In order to generate the same color for global users as app users, we need\n // to remove the app-specific table prefix\n id = id.replace(\"ro_ta_users_\", \"\")\n\n // Generate a hue based on the ID\n let hue = 1\n for (let i = 0; i < id.length; i++) {\n hue += id.charCodeAt(i)\n hue = hue % 36\n }\n return `hsl(${hue * 10}, 50%, 40%)`\n}\n\n/**\n * Gets a friendly label to describe who a user is.\n * @param user the user\n */\nexport const getUserLabel = (user: User) => {\n if (!user) {\n return \"\"\n }\n const { firstName, lastName, email } = user\n if (firstName && lastName) {\n return `${firstName} ${lastName}`\n } else if (firstName) {\n return firstName\n } else if (lastName) {\n return lastName\n } else {\n return email\n }\n}\n", "import { Datasource, SourceName } from \"@budibase/types\"\n\nexport function isGoogleSheets(type: SourceName) {\n return type === SourceName.GOOGLE_SHEETS\n}\n\nexport function isSQL(datasource: Datasource): boolean {\n if (!datasource || !datasource.source) {\n return false\n }\n const SQL = [\n SourceName.POSTGRES,\n SourceName.SQL_SERVER,\n SourceName.MYSQL,\n SourceName.ORACLE,\n ]\n return SQL.indexOf(datasource.source) !== -1 || datasource.isSQL === true\n}\n", "import cronValidate from \"cron-validate\"\n\nconst INPUT_CRON_START = \"(Input cron: \"\nconst ERROR_SWAPS = {\n \"smaller than lower limit\": \"less than\",\n \"bigger than upper limit\": \"greater than\",\n daysOfMonth: \"'days of the month'\",\n daysOfWeek: \"'days of the week'\",\n years: \"'years'\",\n months: \"'months'\",\n hours: \"'hours'\",\n minutes: \"'minutes'\",\n seconds: \"'seconds'\",\n}\n\nfunction improveErrors(errors: string[]): string[] {\n const finalErrors: string[] = []\n\n for (let error of errors) {\n if (error.includes(INPUT_CRON_START)) {\n error = error.split(INPUT_CRON_START)[0].trim()\n }\n for (let [oldErr, newErr] of Object.entries(ERROR_SWAPS)) {\n if (error.includes(oldErr)) {\n error = error.replace(new RegExp(oldErr, \"g\"), newErr)\n }\n }\n finalErrors.push(error)\n }\n return finalErrors\n}\n\nexport function validate(\n cronExpression: string\n): { valid: false; err: string[] } | { valid: true } {\n const result = cronValidate(cronExpression, {\n preset: \"npm-node-cron\",\n override: {\n useSeconds: false,\n },\n })\n if (!result.isValid()) {\n return { valid: false, err: improveErrors(result.getError()) }\n } else {\n return { valid: true }\n }\n}\n", "import {\n BBReferenceFieldSubType,\n FieldSchema,\n FieldType,\n} from \"@budibase/types\"\n\nexport function isDeprecatedSingleUserColumn(\n schema: Pick<FieldSchema, \"type\" | \"subtype\" | \"constraints\">\n): schema is {\n type: FieldType.BB_REFERENCE\n subtype: BBReferenceFieldSubType.USER\n} {\n const result =\n schema.type === FieldType.BB_REFERENCE &&\n schema.subtype === BBReferenceFieldSubType.USER &&\n schema.constraints?.type !== \"array\"\n return result\n}\n", "import * as Constants from \"./constants\"\n\nexport function unreachable(\n value: never,\n message = `No such case in exhaustive switch: ${value}`\n) {\n throw new Error(message)\n}\n\nexport async function parallelForeach<T>(\n items: T[],\n task: (item: T) => Promise<void>,\n maxConcurrency: number\n): Promise<void> {\n const promises: Promise<void>[] = []\n let index = 0\n\n const processItem = async (item: T) => {\n try {\n await task(item)\n } finally {\n processNext()\n }\n }\n\n const processNext = () => {\n if (index >= items.length) {\n // No more items to process\n return\n }\n\n const item = items[index]\n index++\n\n const promise = processItem(item)\n promises.push(promise)\n\n if (promises.length >= maxConcurrency) {\n Promise.race(promises).then(processNext)\n } else {\n processNext()\n }\n }\n processNext()\n\n await Promise.all(promises)\n}\n\nexport function filterValueToLabel() {\n return Object.keys(Constants.OperatorOptions).reduce(\n (acc: { [key: string]: string }, key: string) => {\n const ops: { [key: string]: any } = Constants.OperatorOptions\n const op: { [key: string]: string } = ops[key]\n acc[op[\"value\"]] = op.label\n return acc\n },\n {}\n )\n}\n\nexport function hasSchema(test: any) {\n return (\n typeof test === \"object\" &&\n !Array.isArray(test) &&\n test !== null &&\n !(test instanceof Date) &&\n Object.keys(test).length > 0\n )\n}\n", "export * from \"./documents\"\n", "import { DocumentType, prefixed } from \"@budibase/types\"\n\nconst APP_PREFIX = prefixed(DocumentType.APP)\nconst APP_DEV_PREFIX = prefixed(DocumentType.APP_DEV)\n\nexport function getDevAppID(appId: string) {\n if (!appId) {\n throw new Error(\"No app ID provided\")\n }\n if (appId.startsWith(APP_DEV_PREFIX)) {\n return appId\n }\n // split to take off the app_ element, then join it together incase any other app_ exist\n const split = appId.split(APP_PREFIX)\n split.shift()\n const rest = split.join(APP_PREFIX)\n return `${APP_DEV_PREFIX}${rest}`\n}\n\n/**\n * Convert a development app ID to a deployed app ID.\n */\nexport function getProdAppID(appId: string) {\n if (!appId) {\n throw new Error(\"No app ID provided\")\n }\n if (!appId.startsWith(APP_DEV_PREFIX)) {\n return appId\n }\n // split to take off the app_dev element, then join it together incase any other app_ exist\n const split = appId.split(APP_DEV_PREFIX)\n split.shift()\n const rest = split.join(APP_DEV_PREFIX)\n return `${APP_PREFIX}${rest}`\n}\n", "import {\n ContextUser,\n DocumentType,\n SEPARATOR,\n User,\n InternalTable,\n} from \"@budibase/types\"\nimport { getProdAppID } from \"./applications\"\nimport * as _ from \"lodash/fp\"\n\n// checks if a user is specifically a builder, given an app ID\nexport function isBuilder(user: User | ContextUser, appId?: string): boolean {\n if (!user) {\n return false\n }\n if (user.builder?.global) {\n return true\n } else if (appId && user.builder?.apps?.includes(getProdAppID(appId))) {\n return true\n }\n return false\n}\n\nexport function isGlobalBuilder(user: User | ContextUser): boolean {\n return (isBuilder(user) && !hasAppBuilderPermissions(user)) || isAdmin(user)\n}\n\nexport function canCreateApps(user: User | ContextUser): boolean {\n return isGlobalBuilder(user) || hasCreatorPermissions(user)\n}\n\n// alias for hasAdminPermission, currently do the same thing\n// in future whether someone has admin permissions and whether they are\n// an admin for a specific resource could be separated\nexport function isAdmin(user: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return hasAdminPermissions(user)\n}\n\nexport function isAdminOrBuilder(\n user: User | ContextUser,\n appId?: string\n): boolean {\n return isBuilder(user, appId) || isAdmin(user)\n}\n\nexport function isAdminOrGlobalBuilder(user: User | ContextUser): boolean {\n return isGlobalBuilder(user) || isAdmin(user)\n}\n\n// check if they are a builder within an app (not necessarily a global builder)\nexport function hasAppBuilderPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n const appLength = user.builder?.apps?.length\n const isGlobalBuilder = !!user.builder?.global\n return !isGlobalBuilder && appLength != null && appLength > 0\n}\n\nexport function hasAppCreatorPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return _.flow(\n _.get(\"roles\"),\n _.values,\n _.find(x => [\"CREATOR\", \"ADMIN\"].includes(x)),\n x => !!x\n )(user)\n}\n\n// checks if a user is capable of building any app\nexport function hasBuilderPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return (\n user.builder?.global ||\n hasAppBuilderPermissions(user) ||\n hasCreatorPermissions(user)\n )\n}\n\n// checks if a user is capable of being an admin\nexport function hasAdminPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return !!user.admin?.global\n}\n\nexport function hasCreatorPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return !!user.builder?.creator\n}\n\nexport function isCreator(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return (\n isGlobalBuilder(user!) ||\n hasAdminPermissions(user) ||\n hasCreatorPermissions(user) ||\n hasAppBuilderPermissions(user) ||\n hasAppCreatorPermissions(user)\n )\n}\n\nexport function getGlobalUserID(userId?: string): string | undefined {\n if (typeof userId !== \"string\") {\n return userId\n }\n const prefix = `${DocumentType.ROW}${SEPARATOR}${InternalTable.USER_METADATA}${SEPARATOR}`\n if (!userId.startsWith(prefix)) {\n return userId\n }\n return userId.split(prefix)[1]\n}\n\nexport function containsUserID(value: string | undefined): boolean {\n if (typeof value !== \"string\") {\n return false\n }\n return value.includes(`${DocumentType.USER}${SEPARATOR}`)\n}\n", "import { FieldType } from \"@budibase/types\"\n\nconst allowDisplayColumnByType: Record<FieldType, boolean> = {\n [FieldType.STRING]: true,\n [FieldType.LONGFORM]: true,\n [FieldType.OPTIONS]: true,\n [FieldType.NUMBER]: true,\n [FieldType.DATETIME]: true,\n [FieldType.FORMULA]: true,\n [FieldType.AUTO]: true,\n [FieldType.INTERNAL]: true,\n [FieldType.BARCODEQR]: true,\n [FieldType.BIGINT]: true,\n [FieldType.BOOLEAN]: false,\n [FieldType.ARRAY]: false,\n [FieldType.ATTACHMENTS]: false,\n [FieldType.ATTACHMENT_SINGLE]: false,\n [FieldType.SIGNATURE_SINGLE]: false,\n [FieldType.LINK]: false,\n [FieldType.JSON]: false,\n [FieldType.BB_REFERENCE]: false,\n [FieldType.BB_REFERENCE_SINGLE]: false,\n}\n\nconst allowSortColumnByType: Record<FieldType, boolean> = {\n [FieldType.STRING]: true,\n [FieldType.LONGFORM]: true,\n [FieldType.OPTIONS]: true,\n [FieldType.NUMBER]: true,\n [FieldType.DATETIME]: true,\n [FieldType.AUTO]: true,\n [FieldType.INTERNAL]: true,\n [FieldType.BARCODEQR]: true,\n [FieldType.BIGINT]: true,\n [FieldType.BOOLEAN]: true,\n [FieldType.JSON]: true,\n [FieldType.FORMULA]: false,\n [FieldType.ATTACHMENTS]: false,\n [FieldType.ATTACHMENT_SINGLE]: false,\n [FieldType.SIGNATURE_SINGLE]: false,\n [FieldType.ARRAY]: false,\n [FieldType.LINK]: false,\n [FieldType.BB_REFERENCE]: false,\n [FieldType.BB_REFERENCE_SINGLE]: false,\n}\n\nexport function canBeDisplayColumn(type: FieldType): boolean {\n return !!allowDisplayColumnByType[type]\n}\n\nexport function canBeSortColumn(type: FieldType): boolean {\n return !!allowSortColumnByType[type]\n}\n"],
|
|
4
|
+
"sourcesContent": ["!function(t,e){\"object\"==typeof exports&&\"undefined\"!=typeof module?module.exports=e():\"function\"==typeof define&&define.amd?define(e):(t=\"undefined\"!=typeof globalThis?globalThis:t||self).dayjs=e()}(this,(function(){\"use strict\";var t=1e3,e=6e4,n=36e5,r=\"millisecond\",i=\"second\",s=\"minute\",u=\"hour\",a=\"day\",o=\"week\",c=\"month\",f=\"quarter\",h=\"year\",d=\"date\",l=\"Invalid Date\",$=/^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[Tt\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/,y=/\\[([^\\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,M={name:\"en\",weekdays:\"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday\".split(\"_\"),months:\"January_February_March_April_May_June_July_August_September_October_November_December\".split(\"_\"),ordinal:function(t){var e=[\"th\",\"st\",\"nd\",\"rd\"],n=t%100;return\"[\"+t+(e[(n-20)%10]||e[n]||e[0])+\"]\"}},m=function(t,e,n){var r=String(t);return!r||r.length>=e?t:\"\"+Array(e+1-r.length).join(n)+t},v={s:m,z:function(t){var e=-t.utcOffset(),n=Math.abs(e),r=Math.floor(n/60),i=n%60;return(e<=0?\"+\":\"-\")+m(r,2,\"0\")+\":\"+m(i,2,\"0\")},m:function t(e,n){if(e.date()<n.date())return-t(n,e);var r=12*(n.year()-e.year())+(n.month()-e.month()),i=e.clone().add(r,c),s=n-i<0,u=e.clone().add(r+(s?-1:1),c);return+(-(r+(n-i)/(s?i-u:u-i))||0)},a:function(t){return t<0?Math.ceil(t)||0:Math.floor(t)},p:function(t){return{M:c,y:h,w:o,d:a,D:d,h:u,m:s,s:i,ms:r,Q:f}[t]||String(t||\"\").toLowerCase().replace(/s$/,\"\")},u:function(t){return void 0===t}},g=\"en\",D={};D[g]=M;var p=\"$isDayjsObject\",S=function(t){return t instanceof _||!(!t||!t[p])},w=function t(e,n,r){var i;if(!e)return g;if(\"string\"==typeof e){var s=e.toLowerCase();D[s]&&(i=s),n&&(D[s]=n,i=s);var u=e.split(\"-\");if(!i&&u.length>1)return t(u[0])}else{var a=e.name;D[a]=e,i=a}return!r&&i&&(g=i),i||!r&&g},O=function(t,e){if(S(t))return t.clone();var n=\"object\"==typeof e?e:{};return n.date=t,n.args=arguments,new _(n)},b=v;b.l=w,b.i=S,b.w=function(t,e){return O(t,{locale:e.$L,utc:e.$u,x:e.$x,$offset:e.$offset})};var _=function(){function M(t){this.$L=w(t.locale,null,!0),this.parse(t),this.$x=this.$x||t.x||{},this[p]=!0}var m=M.prototype;return m.parse=function(t){this.$d=function(t){var e=t.date,n=t.utc;if(null===e)return new Date(NaN);if(b.u(e))return new Date;if(e instanceof Date)return new Date(e);if(\"string\"==typeof e&&!/Z$/i.test(e)){var r=e.match($);if(r){var i=r[2]-1||0,s=(r[7]||\"0\").substring(0,3);return n?new Date(Date.UTC(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)):new Date(r[1],i,r[3]||1,r[4]||0,r[5]||0,r[6]||0,s)}}return new Date(e)}(t),this.init()},m.init=function(){var t=this.$d;this.$y=t.getFullYear(),this.$M=t.getMonth(),this.$D=t.getDate(),this.$W=t.getDay(),this.$H=t.getHours(),this.$m=t.getMinutes(),this.$s=t.getSeconds(),this.$ms=t.getMilliseconds()},m.$utils=function(){return b},m.isValid=function(){return!(this.$d.toString()===l)},m.isSame=function(t,e){var n=O(t);return this.startOf(e)<=n&&n<=this.endOf(e)},m.isAfter=function(t,e){return O(t)<this.startOf(e)},m.isBefore=function(t,e){return this.endOf(e)<O(t)},m.$g=function(t,e,n){return b.u(t)?this[e]:this.set(n,t)},m.unix=function(){return Math.floor(this.valueOf()/1e3)},m.valueOf=function(){return this.$d.getTime()},m.startOf=function(t,e){var n=this,r=!!b.u(e)||e,f=b.p(t),l=function(t,e){var i=b.w(n.$u?Date.UTC(n.$y,e,t):new Date(n.$y,e,t),n);return r?i:i.endOf(a)},$=function(t,e){return b.w(n.toDate()[t].apply(n.toDate(\"s\"),(r?[0,0,0,0]:[23,59,59,999]).slice(e)),n)},y=this.$W,M=this.$M,m=this.$D,v=\"set\"+(this.$u?\"UTC\":\"\");switch(f){case h:return r?l(1,0):l(31,11);case c:return r?l(1,M):l(0,M+1);case o:var g=this.$locale().weekStart||0,D=(y<g?y+7:y)-g;return l(r?m-D:m+(6-D),M);case a:case d:return $(v+\"Hours\",0);case u:return $(v+\"Minutes\",1);case s:return $(v+\"Seconds\",2);case i:return $(v+\"Milliseconds\",3);default:return this.clone()}},m.endOf=function(t){return this.startOf(t,!1)},m.$set=function(t,e){var n,o=b.p(t),f=\"set\"+(this.$u?\"UTC\":\"\"),l=(n={},n[a]=f+\"Date\",n[d]=f+\"Date\",n[c]=f+\"Month\",n[h]=f+\"FullYear\",n[u]=f+\"Hours\",n[s]=f+\"Minutes\",n[i]=f+\"Seconds\",n[r]=f+\"Milliseconds\",n)[o],$=o===a?this.$D+(e-this.$W):e;if(o===c||o===h){var y=this.clone().set(d,1);y.$d[l]($),y.init(),this.$d=y.set(d,Math.min(this.$D,y.daysInMonth())).$d}else l&&this.$d[l]($);return this.init(),this},m.set=function(t,e){return this.clone().$set(t,e)},m.get=function(t){return this[b.p(t)]()},m.add=function(r,f){var d,l=this;r=Number(r);var $=b.p(f),y=function(t){var e=O(l);return b.w(e.date(e.date()+Math.round(t*r)),l)};if($===c)return this.set(c,this.$M+r);if($===h)return this.set(h,this.$y+r);if($===a)return y(1);if($===o)return y(7);var M=(d={},d[s]=e,d[u]=n,d[i]=t,d)[$]||1,m=this.$d.getTime()+r*M;return b.w(m,this)},m.subtract=function(t,e){return this.add(-1*t,e)},m.format=function(t){var e=this,n=this.$locale();if(!this.isValid())return n.invalidDate||l;var r=t||\"YYYY-MM-DDTHH:mm:ssZ\",i=b.z(this),s=this.$H,u=this.$m,a=this.$M,o=n.weekdays,c=n.months,f=n.meridiem,h=function(t,n,i,s){return t&&(t[n]||t(e,r))||i[n].slice(0,s)},d=function(t){return b.s(s%12||12,t,\"0\")},$=f||function(t,e,n){var r=t<12?\"AM\":\"PM\";return n?r.toLowerCase():r};return r.replace(y,(function(t,r){return r||function(t){switch(t){case\"YY\":return String(e.$y).slice(-2);case\"YYYY\":return b.s(e.$y,4,\"0\");case\"M\":return a+1;case\"MM\":return b.s(a+1,2,\"0\");case\"MMM\":return h(n.monthsShort,a,c,3);case\"MMMM\":return h(c,a);case\"D\":return e.$D;case\"DD\":return b.s(e.$D,2,\"0\");case\"d\":return String(e.$W);case\"dd\":return h(n.weekdaysMin,e.$W,o,2);case\"ddd\":return h(n.weekdaysShort,e.$W,o,3);case\"dddd\":return o[e.$W];case\"H\":return String(s);case\"HH\":return b.s(s,2,\"0\");case\"h\":return d(1);case\"hh\":return d(2);case\"a\":return $(s,u,!0);case\"A\":return $(s,u,!1);case\"m\":return String(u);case\"mm\":return b.s(u,2,\"0\");case\"s\":return String(e.$s);case\"ss\":return b.s(e.$s,2,\"0\");case\"SSS\":return b.s(e.$ms,3,\"0\");case\"Z\":return i}return null}(t)||i.replace(\":\",\"\")}))},m.utcOffset=function(){return 15*-Math.round(this.$d.getTimezoneOffset()/15)},m.diff=function(r,d,l){var $,y=this,M=b.p(d),m=O(r),v=(m.utcOffset()-this.utcOffset())*e,g=this-m,D=function(){return b.m(y,m)};switch(M){case h:$=D()/12;break;case c:$=D();break;case f:$=D()/3;break;case o:$=(g-v)/6048e5;break;case a:$=(g-v)/864e5;break;case u:$=g/n;break;case s:$=g/e;break;case i:$=g/t;break;default:$=g}return l?$:b.a($)},m.daysInMonth=function(){return this.endOf(c).$D},m.$locale=function(){return D[this.$L]},m.locale=function(t,e){if(!t)return this.$L;var n=this.clone(),r=w(t,e,!0);return r&&(n.$L=r),n},m.clone=function(){return b.w(this.$d,this)},m.toDate=function(){return new Date(this.valueOf())},m.toJSON=function(){return this.isValid()?this.toISOString():null},m.toISOString=function(){return this.$d.toISOString()},m.toString=function(){return this.$d.toUTCString()},M}(),k=_.prototype;return O.prototype=k,[[\"$ms\",r],[\"$s\",i],[\"$m\",s],[\"$H\",u],[\"$W\",a],[\"$M\",c],[\"$y\",h],[\"$D\",d]].forEach((function(t){k[t[1]]=function(e){return this.$g(e,t[0],t[1])}})),O.extend=function(t,e){return t.$i||(t(e,_,O),t.$i=!0),O},O.locale=w,O.isDayjs=S,O.unix=function(t){return O(1e3*t)},O.en=D[g],O.Ls=D,O.p={},O}));", "/**\n * @license\n * Lodash <https://lodash.com/>\n * Copyright OpenJS Foundation and other contributors <https://openjsf.org/>\n * Released under MIT license <https://lodash.com/license>\n * Based on Underscore.js 1.8.3 <http://underscorejs.org/LICENSE>\n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n(function(){function n(n,t,r){switch(r.length){case 0:return n.call(t);case 1:return n.call(t,r[0]);case 2:return n.call(t,r[0],r[1]);case 3:return n.call(t,r[0],r[1],r[2])}return n.apply(t,r)}function t(n,t,r,e){for(var u=-1,i=null==n?0:n.length;++u<i;){var o=n[u];t(e,o,r(o),n)}return e}function r(n,t){for(var r=-1,e=null==n?0:n.length;++r<e&&t(n[r],r,n)!==!1;);return n}function e(n,t){for(var r=null==n?0:n.length;r--&&t(n[r],r,n)!==!1;);return n}function u(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(!t(n[r],r,n))return!1;\nreturn!0}function i(n,t){for(var r=-1,e=null==n?0:n.length,u=0,i=[];++r<e;){var o=n[r];t(o,r,n)&&(i[u++]=o)}return i}function o(n,t){return!!(null==n?0:n.length)&&y(n,t,0)>-1}function f(n,t,r){for(var e=-1,u=null==n?0:n.length;++e<u;)if(r(t,n[e]))return!0;return!1}function c(n,t){for(var r=-1,e=null==n?0:n.length,u=Array(e);++r<e;)u[r]=t(n[r],r,n);return u}function a(n,t){for(var r=-1,e=t.length,u=n.length;++r<e;)n[u+r]=t[r];return n}function l(n,t,r,e){var u=-1,i=null==n?0:n.length;for(e&&i&&(r=n[++u]);++u<i;)r=t(r,n[u],u,n);\nreturn r}function s(n,t,r,e){var u=null==n?0:n.length;for(e&&u&&(r=n[--u]);u--;)r=t(r,n[u],u,n);return r}function h(n,t){for(var r=-1,e=null==n?0:n.length;++r<e;)if(t(n[r],r,n))return!0;return!1}function p(n){return n.split(\"\")}function _(n){return n.match($t)||[]}function v(n,t,r){var e;return r(n,function(n,r,u){if(t(n,r,u))return e=r,!1}),e}function g(n,t,r,e){for(var u=n.length,i=r+(e?1:-1);e?i--:++i<u;)if(t(n[i],i,n))return i;return-1}function y(n,t,r){return t===t?Z(n,t,r):g(n,b,r)}function d(n,t,r,e){\nfor(var u=r-1,i=n.length;++u<i;)if(e(n[u],t))return u;return-1}function b(n){return n!==n}function w(n,t){var r=null==n?0:n.length;return r?k(n,t)/r:Cn}function m(n){return function(t){return null==t?X:t[n]}}function x(n){return function(t){return null==n?X:n[t]}}function j(n,t,r,e,u){return u(n,function(n,u,i){r=e?(e=!1,n):t(r,n,u,i)}),r}function A(n,t){var r=n.length;for(n.sort(t);r--;)n[r]=n[r].value;return n}function k(n,t){for(var r,e=-1,u=n.length;++e<u;){var i=t(n[e]);i!==X&&(r=r===X?i:r+i);\n}return r}function O(n,t){for(var r=-1,e=Array(n);++r<n;)e[r]=t(r);return e}function I(n,t){return c(t,function(t){return[t,n[t]]})}function R(n){return n?n.slice(0,H(n)+1).replace(Lt,\"\"):n}function z(n){return function(t){return n(t)}}function E(n,t){return c(t,function(t){return n[t]})}function S(n,t){return n.has(t)}function W(n,t){for(var r=-1,e=n.length;++r<e&&y(t,n[r],0)>-1;);return r}function L(n,t){for(var r=n.length;r--&&y(t,n[r],0)>-1;);return r}function C(n,t){for(var r=n.length,e=0;r--;)n[r]===t&&++e;\nreturn e}function U(n){return\"\\\\\"+Yr[n]}function B(n,t){return null==n?X:n[t]}function T(n){return Nr.test(n)}function $(n){return Pr.test(n)}function D(n){for(var t,r=[];!(t=n.next()).done;)r.push(t.value);return r}function M(n){var t=-1,r=Array(n.size);return n.forEach(function(n,e){r[++t]=[e,n]}),r}function F(n,t){return function(r){return n(t(r))}}function N(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){var o=n[r];o!==t&&o!==cn||(n[r]=cn,i[u++]=r)}return i}function P(n){var t=-1,r=Array(n.size);\nreturn n.forEach(function(n){r[++t]=n}),r}function q(n){var t=-1,r=Array(n.size);return n.forEach(function(n){r[++t]=[n,n]}),r}function Z(n,t,r){for(var e=r-1,u=n.length;++e<u;)if(n[e]===t)return e;return-1}function K(n,t,r){for(var e=r+1;e--;)if(n[e]===t)return e;return e}function V(n){return T(n)?J(n):_e(n)}function G(n){return T(n)?Y(n):p(n)}function H(n){for(var t=n.length;t--&&Ct.test(n.charAt(t)););return t}function J(n){for(var t=Mr.lastIndex=0;Mr.test(n);)++t;return t}function Y(n){return n.match(Mr)||[];\n}function Q(n){return n.match(Fr)||[]}var X,nn=\"4.17.21\",tn=200,rn=\"Unsupported core-js use. Try https://npms.io/search?q=ponyfill.\",en=\"Expected a function\",un=\"Invalid `variable` option passed into `_.template`\",on=\"__lodash_hash_undefined__\",fn=500,cn=\"__lodash_placeholder__\",an=1,ln=2,sn=4,hn=1,pn=2,_n=1,vn=2,gn=4,yn=8,dn=16,bn=32,wn=64,mn=128,xn=256,jn=512,An=30,kn=\"...\",On=800,In=16,Rn=1,zn=2,En=3,Sn=1/0,Wn=9007199254740991,Ln=1.7976931348623157e308,Cn=NaN,Un=4294967295,Bn=Un-1,Tn=Un>>>1,$n=[[\"ary\",mn],[\"bind\",_n],[\"bindKey\",vn],[\"curry\",yn],[\"curryRight\",dn],[\"flip\",jn],[\"partial\",bn],[\"partialRight\",wn],[\"rearg\",xn]],Dn=\"[object Arguments]\",Mn=\"[object Array]\",Fn=\"[object AsyncFunction]\",Nn=\"[object Boolean]\",Pn=\"[object Date]\",qn=\"[object DOMException]\",Zn=\"[object Error]\",Kn=\"[object Function]\",Vn=\"[object GeneratorFunction]\",Gn=\"[object Map]\",Hn=\"[object Number]\",Jn=\"[object Null]\",Yn=\"[object Object]\",Qn=\"[object Promise]\",Xn=\"[object Proxy]\",nt=\"[object RegExp]\",tt=\"[object Set]\",rt=\"[object String]\",et=\"[object Symbol]\",ut=\"[object Undefined]\",it=\"[object WeakMap]\",ot=\"[object WeakSet]\",ft=\"[object ArrayBuffer]\",ct=\"[object DataView]\",at=\"[object Float32Array]\",lt=\"[object Float64Array]\",st=\"[object Int8Array]\",ht=\"[object Int16Array]\",pt=\"[object Int32Array]\",_t=\"[object Uint8Array]\",vt=\"[object Uint8ClampedArray]\",gt=\"[object Uint16Array]\",yt=\"[object Uint32Array]\",dt=/\\b__p \\+= '';/g,bt=/\\b(__p \\+=) '' \\+/g,wt=/(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g,mt=/&(?:amp|lt|gt|quot|#39);/g,xt=/[&<>\"']/g,jt=RegExp(mt.source),At=RegExp(xt.source),kt=/<%-([\\s\\S]+?)%>/g,Ot=/<%([\\s\\S]+?)%>/g,It=/<%=([\\s\\S]+?)%>/g,Rt=/\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,zt=/^\\w*$/,Et=/[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g,St=/[\\\\^$.*+?()[\\]{}|]/g,Wt=RegExp(St.source),Lt=/^\\s+/,Ct=/\\s/,Ut=/\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,Bt=/\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,Tt=/,? & /,$t=/[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g,Dt=/[()=,{}\\[\\]\\/\\s]/,Mt=/\\\\(\\\\)?/g,Ft=/\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g,Nt=/\\w*$/,Pt=/^[-+]0x[0-9a-f]+$/i,qt=/^0b[01]+$/i,Zt=/^\\[object .+?Constructor\\]$/,Kt=/^0o[0-7]+$/i,Vt=/^(?:0|[1-9]\\d*)$/,Gt=/[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g,Ht=/($^)/,Jt=/['\\n\\r\\u2028\\u2029\\\\]/g,Yt=\"\\\\ud800-\\\\udfff\",Qt=\"\\\\u0300-\\\\u036f\",Xt=\"\\\\ufe20-\\\\ufe2f\",nr=\"\\\\u20d0-\\\\u20ff\",tr=Qt+Xt+nr,rr=\"\\\\u2700-\\\\u27bf\",er=\"a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff\",ur=\"\\\\xac\\\\xb1\\\\xd7\\\\xf7\",ir=\"\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf\",or=\"\\\\u2000-\\\\u206f\",fr=\" \\\\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\",cr=\"A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde\",ar=\"\\\\ufe0e\\\\ufe0f\",lr=ur+ir+or+fr,sr=\"['\\u2019]\",hr=\"[\"+Yt+\"]\",pr=\"[\"+lr+\"]\",_r=\"[\"+tr+\"]\",vr=\"\\\\d+\",gr=\"[\"+rr+\"]\",yr=\"[\"+er+\"]\",dr=\"[^\"+Yt+lr+vr+rr+er+cr+\"]\",br=\"\\\\ud83c[\\\\udffb-\\\\udfff]\",wr=\"(?:\"+_r+\"|\"+br+\")\",mr=\"[^\"+Yt+\"]\",xr=\"(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}\",jr=\"[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]\",Ar=\"[\"+cr+\"]\",kr=\"\\\\u200d\",Or=\"(?:\"+yr+\"|\"+dr+\")\",Ir=\"(?:\"+Ar+\"|\"+dr+\")\",Rr=\"(?:\"+sr+\"(?:d|ll|m|re|s|t|ve))?\",zr=\"(?:\"+sr+\"(?:D|LL|M|RE|S|T|VE))?\",Er=wr+\"?\",Sr=\"[\"+ar+\"]?\",Wr=\"(?:\"+kr+\"(?:\"+[mr,xr,jr].join(\"|\")+\")\"+Sr+Er+\")*\",Lr=\"\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])\",Cr=\"\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])\",Ur=Sr+Er+Wr,Br=\"(?:\"+[gr,xr,jr].join(\"|\")+\")\"+Ur,Tr=\"(?:\"+[mr+_r+\"?\",_r,xr,jr,hr].join(\"|\")+\")\",$r=RegExp(sr,\"g\"),Dr=RegExp(_r,\"g\"),Mr=RegExp(br+\"(?=\"+br+\")|\"+Tr+Ur,\"g\"),Fr=RegExp([Ar+\"?\"+yr+\"+\"+Rr+\"(?=\"+[pr,Ar,\"$\"].join(\"|\")+\")\",Ir+\"+\"+zr+\"(?=\"+[pr,Ar+Or,\"$\"].join(\"|\")+\")\",Ar+\"?\"+Or+\"+\"+Rr,Ar+\"+\"+zr,Cr,Lr,vr,Br].join(\"|\"),\"g\"),Nr=RegExp(\"[\"+kr+Yt+tr+ar+\"]\"),Pr=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,qr=[\"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\"],Zr=-1,Kr={};\nKr[at]=Kr[lt]=Kr[st]=Kr[ht]=Kr[pt]=Kr[_t]=Kr[vt]=Kr[gt]=Kr[yt]=!0,Kr[Dn]=Kr[Mn]=Kr[ft]=Kr[Nn]=Kr[ct]=Kr[Pn]=Kr[Zn]=Kr[Kn]=Kr[Gn]=Kr[Hn]=Kr[Yn]=Kr[nt]=Kr[tt]=Kr[rt]=Kr[it]=!1;var Vr={};Vr[Dn]=Vr[Mn]=Vr[ft]=Vr[ct]=Vr[Nn]=Vr[Pn]=Vr[at]=Vr[lt]=Vr[st]=Vr[ht]=Vr[pt]=Vr[Gn]=Vr[Hn]=Vr[Yn]=Vr[nt]=Vr[tt]=Vr[rt]=Vr[et]=Vr[_t]=Vr[vt]=Vr[gt]=Vr[yt]=!0,Vr[Zn]=Vr[Kn]=Vr[it]=!1;var Gr={\"\\xc0\":\"A\",\"\\xc1\":\"A\",\"\\xc2\":\"A\",\"\\xc3\":\"A\",\"\\xc4\":\"A\",\"\\xc5\":\"A\",\"\\xe0\":\"a\",\"\\xe1\":\"a\",\"\\xe2\":\"a\",\"\\xe3\":\"a\",\"\\xe4\":\"a\",\"\\xe5\":\"a\",\n\"\\xc7\":\"C\",\"\\xe7\":\"c\",\"\\xd0\":\"D\",\"\\xf0\":\"d\",\"\\xc8\":\"E\",\"\\xc9\":\"E\",\"\\xca\":\"E\",\"\\xcb\":\"E\",\"\\xe8\":\"e\",\"\\xe9\":\"e\",\"\\xea\":\"e\",\"\\xeb\":\"e\",\"\\xcc\":\"I\",\"\\xcd\":\"I\",\"\\xce\":\"I\",\"\\xcf\":\"I\",\"\\xec\":\"i\",\"\\xed\":\"i\",\"\\xee\":\"i\",\"\\xef\":\"i\",\"\\xd1\":\"N\",\"\\xf1\":\"n\",\"\\xd2\":\"O\",\"\\xd3\":\"O\",\"\\xd4\":\"O\",\"\\xd5\":\"O\",\"\\xd6\":\"O\",\"\\xd8\":\"O\",\"\\xf2\":\"o\",\"\\xf3\":\"o\",\"\\xf4\":\"o\",\"\\xf5\":\"o\",\"\\xf6\":\"o\",\"\\xf8\":\"o\",\"\\xd9\":\"U\",\"\\xda\":\"U\",\"\\xdb\":\"U\",\"\\xdc\":\"U\",\"\\xf9\":\"u\",\"\\xfa\":\"u\",\"\\xfb\":\"u\",\"\\xfc\":\"u\",\"\\xdd\":\"Y\",\"\\xfd\":\"y\",\"\\xff\":\"y\",\"\\xc6\":\"Ae\",\n\"\\xe6\":\"ae\",\"\\xde\":\"Th\",\"\\xfe\":\"th\",\"\\xdf\":\"ss\",\"\\u0100\":\"A\",\"\\u0102\":\"A\",\"\\u0104\":\"A\",\"\\u0101\":\"a\",\"\\u0103\":\"a\",\"\\u0105\":\"a\",\"\\u0106\":\"C\",\"\\u0108\":\"C\",\"\\u010a\":\"C\",\"\\u010c\":\"C\",\"\\u0107\":\"c\",\"\\u0109\":\"c\",\"\\u010b\":\"c\",\"\\u010d\":\"c\",\"\\u010e\":\"D\",\"\\u0110\":\"D\",\"\\u010f\":\"d\",\"\\u0111\":\"d\",\"\\u0112\":\"E\",\"\\u0114\":\"E\",\"\\u0116\":\"E\",\"\\u0118\":\"E\",\"\\u011a\":\"E\",\"\\u0113\":\"e\",\"\\u0115\":\"e\",\"\\u0117\":\"e\",\"\\u0119\":\"e\",\"\\u011b\":\"e\",\"\\u011c\":\"G\",\"\\u011e\":\"G\",\"\\u0120\":\"G\",\"\\u0122\":\"G\",\"\\u011d\":\"g\",\"\\u011f\":\"g\",\"\\u0121\":\"g\",\n\"\\u0123\":\"g\",\"\\u0124\":\"H\",\"\\u0126\":\"H\",\"\\u0125\":\"h\",\"\\u0127\":\"h\",\"\\u0128\":\"I\",\"\\u012a\":\"I\",\"\\u012c\":\"I\",\"\\u012e\":\"I\",\"\\u0130\":\"I\",\"\\u0129\":\"i\",\"\\u012b\":\"i\",\"\\u012d\":\"i\",\"\\u012f\":\"i\",\"\\u0131\":\"i\",\"\\u0134\":\"J\",\"\\u0135\":\"j\",\"\\u0136\":\"K\",\"\\u0137\":\"k\",\"\\u0138\":\"k\",\"\\u0139\":\"L\",\"\\u013b\":\"L\",\"\\u013d\":\"L\",\"\\u013f\":\"L\",\"\\u0141\":\"L\",\"\\u013a\":\"l\",\"\\u013c\":\"l\",\"\\u013e\":\"l\",\"\\u0140\":\"l\",\"\\u0142\":\"l\",\"\\u0143\":\"N\",\"\\u0145\":\"N\",\"\\u0147\":\"N\",\"\\u014a\":\"N\",\"\\u0144\":\"n\",\"\\u0146\":\"n\",\"\\u0148\":\"n\",\"\\u014b\":\"n\",\"\\u014c\":\"O\",\n\"\\u014e\":\"O\",\"\\u0150\":\"O\",\"\\u014d\":\"o\",\"\\u014f\":\"o\",\"\\u0151\":\"o\",\"\\u0154\":\"R\",\"\\u0156\":\"R\",\"\\u0158\":\"R\",\"\\u0155\":\"r\",\"\\u0157\":\"r\",\"\\u0159\":\"r\",\"\\u015a\":\"S\",\"\\u015c\":\"S\",\"\\u015e\":\"S\",\"\\u0160\":\"S\",\"\\u015b\":\"s\",\"\\u015d\":\"s\",\"\\u015f\":\"s\",\"\\u0161\":\"s\",\"\\u0162\":\"T\",\"\\u0164\":\"T\",\"\\u0166\":\"T\",\"\\u0163\":\"t\",\"\\u0165\":\"t\",\"\\u0167\":\"t\",\"\\u0168\":\"U\",\"\\u016a\":\"U\",\"\\u016c\":\"U\",\"\\u016e\":\"U\",\"\\u0170\":\"U\",\"\\u0172\":\"U\",\"\\u0169\":\"u\",\"\\u016b\":\"u\",\"\\u016d\":\"u\",\"\\u016f\":\"u\",\"\\u0171\":\"u\",\"\\u0173\":\"u\",\"\\u0174\":\"W\",\"\\u0175\":\"w\",\n\"\\u0176\":\"Y\",\"\\u0177\":\"y\",\"\\u0178\":\"Y\",\"\\u0179\":\"Z\",\"\\u017b\":\"Z\",\"\\u017d\":\"Z\",\"\\u017a\":\"z\",\"\\u017c\":\"z\",\"\\u017e\":\"z\",\"\\u0132\":\"IJ\",\"\\u0133\":\"ij\",\"\\u0152\":\"Oe\",\"\\u0153\":\"oe\",\"\\u0149\":\"'n\",\"\\u017f\":\"s\"},Hr={\"&\":\"&\",\"<\":\"<\",\">\":\">\",'\"':\""\",\"'\":\"'\"},Jr={\"&\":\"&\",\"<\":\"<\",\">\":\">\",\""\":'\"',\"'\":\"'\"},Yr={\"\\\\\":\"\\\\\",\"'\":\"'\",\"\\n\":\"n\",\"\\r\":\"r\",\"\\u2028\":\"u2028\",\"\\u2029\":\"u2029\"},Qr=parseFloat,Xr=parseInt,ne=\"object\"==typeof global&&global&&global.Object===Object&&global,te=\"object\"==typeof self&&self&&self.Object===Object&&self,re=ne||te||Function(\"return this\")(),ee=\"object\"==typeof exports&&exports&&!exports.nodeType&&exports,ue=ee&&\"object\"==typeof module&&module&&!module.nodeType&&module,ie=ue&&ue.exports===ee,oe=ie&&ne.process,fe=function(){\ntry{var n=ue&&ue.require&&ue.require(\"util\").types;return n?n:oe&&oe.binding&&oe.binding(\"util\")}catch(n){}}(),ce=fe&&fe.isArrayBuffer,ae=fe&&fe.isDate,le=fe&&fe.isMap,se=fe&&fe.isRegExp,he=fe&&fe.isSet,pe=fe&&fe.isTypedArray,_e=m(\"length\"),ve=x(Gr),ge=x(Hr),ye=x(Jr),de=function p(x){function Z(n){if(cc(n)&&!bh(n)&&!(n instanceof Ct)){if(n instanceof Y)return n;if(bl.call(n,\"__wrapped__\"))return eo(n)}return new Y(n)}function J(){}function Y(n,t){this.__wrapped__=n,this.__actions__=[],this.__chain__=!!t,\nthis.__index__=0,this.__values__=X}function Ct(n){this.__wrapped__=n,this.__actions__=[],this.__dir__=1,this.__filtered__=!1,this.__iteratees__=[],this.__takeCount__=Un,this.__views__=[]}function $t(){var n=new Ct(this.__wrapped__);return n.__actions__=Tu(this.__actions__),n.__dir__=this.__dir__,n.__filtered__=this.__filtered__,n.__iteratees__=Tu(this.__iteratees__),n.__takeCount__=this.__takeCount__,n.__views__=Tu(this.__views__),n}function Yt(){if(this.__filtered__){var n=new Ct(this);n.__dir__=-1,\nn.__filtered__=!0}else n=this.clone(),n.__dir__*=-1;return n}function Qt(){var n=this.__wrapped__.value(),t=this.__dir__,r=bh(n),e=t<0,u=r?n.length:0,i=Oi(0,u,this.__views__),o=i.start,f=i.end,c=f-o,a=e?f:o-1,l=this.__iteratees__,s=l.length,h=0,p=Hl(c,this.__takeCount__);if(!r||!e&&u==c&&p==c)return wu(n,this.__actions__);var _=[];n:for(;c--&&h<p;){a+=t;for(var v=-1,g=n[a];++v<s;){var y=l[v],d=y.iteratee,b=y.type,w=d(g);if(b==zn)g=w;else if(!w){if(b==Rn)continue n;break n}}_[h++]=g}return _}function Xt(n){\nvar t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function nr(){this.__data__=is?is(null):{},this.size=0}function tr(n){var t=this.has(n)&&delete this.__data__[n];return this.size-=t?1:0,t}function rr(n){var t=this.__data__;if(is){var r=t[n];return r===on?X:r}return bl.call(t,n)?t[n]:X}function er(n){var t=this.__data__;return is?t[n]!==X:bl.call(t,n)}function ur(n,t){var r=this.__data__;return this.size+=this.has(n)?0:1,r[n]=is&&t===X?on:t,this}function ir(n){\nvar t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){var e=n[t];this.set(e[0],e[1])}}function or(){this.__data__=[],this.size=0}function fr(n){var t=this.__data__,r=Wr(t,n);return!(r<0)&&(r==t.length-1?t.pop():Ll.call(t,r,1),--this.size,!0)}function cr(n){var t=this.__data__,r=Wr(t,n);return r<0?X:t[r][1]}function ar(n){return Wr(this.__data__,n)>-1}function lr(n,t){var r=this.__data__,e=Wr(r,n);return e<0?(++this.size,r.push([n,t])):r[e][1]=t,this}function sr(n){var t=-1,r=null==n?0:n.length;for(this.clear();++t<r;){\nvar e=n[t];this.set(e[0],e[1])}}function hr(){this.size=0,this.__data__={hash:new Xt,map:new(ts||ir),string:new Xt}}function pr(n){var t=xi(this,n).delete(n);return this.size-=t?1:0,t}function _r(n){return xi(this,n).get(n)}function vr(n){return xi(this,n).has(n)}function gr(n,t){var r=xi(this,n),e=r.size;return r.set(n,t),this.size+=r.size==e?0:1,this}function yr(n){var t=-1,r=null==n?0:n.length;for(this.__data__=new sr;++t<r;)this.add(n[t])}function dr(n){return this.__data__.set(n,on),this}function br(n){\nreturn this.__data__.has(n)}function wr(n){this.size=(this.__data__=new ir(n)).size}function mr(){this.__data__=new ir,this.size=0}function xr(n){var t=this.__data__,r=t.delete(n);return this.size=t.size,r}function jr(n){return this.__data__.get(n)}function Ar(n){return this.__data__.has(n)}function kr(n,t){var r=this.__data__;if(r instanceof ir){var e=r.__data__;if(!ts||e.length<tn-1)return e.push([n,t]),this.size=++r.size,this;r=this.__data__=new sr(e)}return r.set(n,t),this.size=r.size,this}function Or(n,t){\nvar r=bh(n),e=!r&&dh(n),u=!r&&!e&&mh(n),i=!r&&!e&&!u&&Oh(n),o=r||e||u||i,f=o?O(n.length,hl):[],c=f.length;for(var a in n)!t&&!bl.call(n,a)||o&&(\"length\"==a||u&&(\"offset\"==a||\"parent\"==a)||i&&(\"buffer\"==a||\"byteLength\"==a||\"byteOffset\"==a)||Ci(a,c))||f.push(a);return f}function Ir(n){var t=n.length;return t?n[tu(0,t-1)]:X}function Rr(n,t){return Xi(Tu(n),Mr(t,0,n.length))}function zr(n){return Xi(Tu(n))}function Er(n,t,r){(r===X||Gf(n[t],r))&&(r!==X||t in n)||Br(n,t,r)}function Sr(n,t,r){var e=n[t];\nbl.call(n,t)&&Gf(e,r)&&(r!==X||t in n)||Br(n,t,r)}function Wr(n,t){for(var r=n.length;r--;)if(Gf(n[r][0],t))return r;return-1}function Lr(n,t,r,e){return ys(n,function(n,u,i){t(e,n,r(n),i)}),e}function Cr(n,t){return n&&$u(t,Pc(t),n)}function Ur(n,t){return n&&$u(t,qc(t),n)}function Br(n,t,r){\"__proto__\"==t&&Tl?Tl(n,t,{configurable:!0,enumerable:!0,value:r,writable:!0}):n[t]=r}function Tr(n,t){for(var r=-1,e=t.length,u=il(e),i=null==n;++r<e;)u[r]=i?X:Mc(n,t[r]);return u}function Mr(n,t,r){return n===n&&(r!==X&&(n=n<=r?n:r),\nt!==X&&(n=n>=t?n:t)),n}function Fr(n,t,e,u,i,o){var f,c=t&an,a=t&ln,l=t&sn;if(e&&(f=i?e(n,u,i,o):e(n)),f!==X)return f;if(!fc(n))return n;var s=bh(n);if(s){if(f=zi(n),!c)return Tu(n,f)}else{var h=zs(n),p=h==Kn||h==Vn;if(mh(n))return Iu(n,c);if(h==Yn||h==Dn||p&&!i){if(f=a||p?{}:Ei(n),!c)return a?Mu(n,Ur(f,n)):Du(n,Cr(f,n))}else{if(!Vr[h])return i?n:{};f=Si(n,h,c)}}o||(o=new wr);var _=o.get(n);if(_)return _;o.set(n,f),kh(n)?n.forEach(function(r){f.add(Fr(r,t,e,r,n,o))}):jh(n)&&n.forEach(function(r,u){\nf.set(u,Fr(r,t,e,u,n,o))});var v=l?a?di:yi:a?qc:Pc,g=s?X:v(n);return r(g||n,function(r,u){g&&(u=r,r=n[u]),Sr(f,u,Fr(r,t,e,u,n,o))}),f}function Nr(n){var t=Pc(n);return function(r){return Pr(r,n,t)}}function Pr(n,t,r){var e=r.length;if(null==n)return!e;for(n=ll(n);e--;){var u=r[e],i=t[u],o=n[u];if(o===X&&!(u in n)||!i(o))return!1}return!0}function Gr(n,t,r){if(\"function\"!=typeof n)throw new pl(en);return Ws(function(){n.apply(X,r)},t)}function Hr(n,t,r,e){var u=-1,i=o,a=!0,l=n.length,s=[],h=t.length;\nif(!l)return s;r&&(t=c(t,z(r))),e?(i=f,a=!1):t.length>=tn&&(i=S,a=!1,t=new yr(t));n:for(;++u<l;){var p=n[u],_=null==r?p:r(p);if(p=e||0!==p?p:0,a&&_===_){for(var v=h;v--;)if(t[v]===_)continue n;s.push(p)}else i(t,_,e)||s.push(p)}return s}function Jr(n,t){var r=!0;return ys(n,function(n,e,u){return r=!!t(n,e,u)}),r}function Yr(n,t,r){for(var e=-1,u=n.length;++e<u;){var i=n[e],o=t(i);if(null!=o&&(f===X?o===o&&!bc(o):r(o,f)))var f=o,c=i}return c}function ne(n,t,r,e){var u=n.length;for(r=kc(r),r<0&&(r=-r>u?0:u+r),\ne=e===X||e>u?u:kc(e),e<0&&(e+=u),e=r>e?0:Oc(e);r<e;)n[r++]=t;return n}function te(n,t){var r=[];return ys(n,function(n,e,u){t(n,e,u)&&r.push(n)}),r}function ee(n,t,r,e,u){var i=-1,o=n.length;for(r||(r=Li),u||(u=[]);++i<o;){var f=n[i];t>0&&r(f)?t>1?ee(f,t-1,r,e,u):a(u,f):e||(u[u.length]=f)}return u}function ue(n,t){return n&&bs(n,t,Pc)}function oe(n,t){return n&&ws(n,t,Pc)}function fe(n,t){return i(t,function(t){return uc(n[t])})}function _e(n,t){t=ku(t,n);for(var r=0,e=t.length;null!=n&&r<e;)n=n[no(t[r++])];\nreturn r&&r==e?n:X}function de(n,t,r){var e=t(n);return bh(n)?e:a(e,r(n))}function we(n){return null==n?n===X?ut:Jn:Bl&&Bl in ll(n)?ki(n):Ki(n)}function me(n,t){return n>t}function xe(n,t){return null!=n&&bl.call(n,t)}function je(n,t){return null!=n&&t in ll(n)}function Ae(n,t,r){return n>=Hl(t,r)&&n<Gl(t,r)}function ke(n,t,r){for(var e=r?f:o,u=n[0].length,i=n.length,a=i,l=il(i),s=1/0,h=[];a--;){var p=n[a];a&&t&&(p=c(p,z(t))),s=Hl(p.length,s),l[a]=!r&&(t||u>=120&&p.length>=120)?new yr(a&&p):X}p=n[0];\nvar _=-1,v=l[0];n:for(;++_<u&&h.length<s;){var g=p[_],y=t?t(g):g;if(g=r||0!==g?g:0,!(v?S(v,y):e(h,y,r))){for(a=i;--a;){var d=l[a];if(!(d?S(d,y):e(n[a],y,r)))continue n}v&&v.push(y),h.push(g)}}return h}function Oe(n,t,r,e){return ue(n,function(n,u,i){t(e,r(n),u,i)}),e}function Ie(t,r,e){r=ku(r,t),t=Gi(t,r);var u=null==t?t:t[no(jo(r))];return null==u?X:n(u,t,e)}function Re(n){return cc(n)&&we(n)==Dn}function ze(n){return cc(n)&&we(n)==ft}function Ee(n){return cc(n)&&we(n)==Pn}function Se(n,t,r,e,u){\nreturn n===t||(null==n||null==t||!cc(n)&&!cc(t)?n!==n&&t!==t:We(n,t,r,e,Se,u))}function We(n,t,r,e,u,i){var o=bh(n),f=bh(t),c=o?Mn:zs(n),a=f?Mn:zs(t);c=c==Dn?Yn:c,a=a==Dn?Yn:a;var l=c==Yn,s=a==Yn,h=c==a;if(h&&mh(n)){if(!mh(t))return!1;o=!0,l=!1}if(h&&!l)return i||(i=new wr),o||Oh(n)?pi(n,t,r,e,u,i):_i(n,t,c,r,e,u,i);if(!(r&hn)){var p=l&&bl.call(n,\"__wrapped__\"),_=s&&bl.call(t,\"__wrapped__\");if(p||_){var v=p?n.value():n,g=_?t.value():t;return i||(i=new wr),u(v,g,r,e,i)}}return!!h&&(i||(i=new wr),vi(n,t,r,e,u,i));\n}function Le(n){return cc(n)&&zs(n)==Gn}function Ce(n,t,r,e){var u=r.length,i=u,o=!e;if(null==n)return!i;for(n=ll(n);u--;){var f=r[u];if(o&&f[2]?f[1]!==n[f[0]]:!(f[0]in n))return!1}for(;++u<i;){f=r[u];var c=f[0],a=n[c],l=f[1];if(o&&f[2]){if(a===X&&!(c in n))return!1}else{var s=new wr;if(e)var h=e(a,l,c,n,t,s);if(!(h===X?Se(l,a,hn|pn,e,s):h))return!1}}return!0}function Ue(n){return!(!fc(n)||Di(n))&&(uc(n)?kl:Zt).test(to(n))}function Be(n){return cc(n)&&we(n)==nt}function Te(n){return cc(n)&&zs(n)==tt;\n}function $e(n){return cc(n)&&oc(n.length)&&!!Kr[we(n)]}function De(n){return\"function\"==typeof n?n:null==n?La:\"object\"==typeof n?bh(n)?Ze(n[0],n[1]):qe(n):Fa(n)}function Me(n){if(!Mi(n))return Vl(n);var t=[];for(var r in ll(n))bl.call(n,r)&&\"constructor\"!=r&&t.push(r);return t}function Fe(n){if(!fc(n))return Zi(n);var t=Mi(n),r=[];for(var e in n)(\"constructor\"!=e||!t&&bl.call(n,e))&&r.push(e);return r}function Ne(n,t){return n<t}function Pe(n,t){var r=-1,e=Hf(n)?il(n.length):[];return ys(n,function(n,u,i){\ne[++r]=t(n,u,i)}),e}function qe(n){var t=ji(n);return 1==t.length&&t[0][2]?Ni(t[0][0],t[0][1]):function(r){return r===n||Ce(r,n,t)}}function Ze(n,t){return Bi(n)&&Fi(t)?Ni(no(n),t):function(r){var e=Mc(r,n);return e===X&&e===t?Nc(r,n):Se(t,e,hn|pn)}}function Ke(n,t,r,e,u){n!==t&&bs(t,function(i,o){if(u||(u=new wr),fc(i))Ve(n,t,o,r,Ke,e,u);else{var f=e?e(Ji(n,o),i,o+\"\",n,t,u):X;f===X&&(f=i),Er(n,o,f)}},qc)}function Ve(n,t,r,e,u,i,o){var f=Ji(n,r),c=Ji(t,r),a=o.get(c);if(a)return Er(n,r,a),X;var l=i?i(f,c,r+\"\",n,t,o):X,s=l===X;\nif(s){var h=bh(c),p=!h&&mh(c),_=!h&&!p&&Oh(c);l=c,h||p||_?bh(f)?l=f:Jf(f)?l=Tu(f):p?(s=!1,l=Iu(c,!0)):_?(s=!1,l=Wu(c,!0)):l=[]:gc(c)||dh(c)?(l=f,dh(f)?l=Rc(f):fc(f)&&!uc(f)||(l=Ei(c))):s=!1}s&&(o.set(c,l),u(l,c,e,i,o),o.delete(c)),Er(n,r,l)}function Ge(n,t){var r=n.length;if(r)return t+=t<0?r:0,Ci(t,r)?n[t]:X}function He(n,t,r){t=t.length?c(t,function(n){return bh(n)?function(t){return _e(t,1===n.length?n[0]:n)}:n}):[La];var e=-1;return t=c(t,z(mi())),A(Pe(n,function(n,r,u){return{criteria:c(t,function(t){\nreturn t(n)}),index:++e,value:n}}),function(n,t){return Cu(n,t,r)})}function Je(n,t){return Ye(n,t,function(t,r){return Nc(n,r)})}function Ye(n,t,r){for(var e=-1,u=t.length,i={};++e<u;){var o=t[e],f=_e(n,o);r(f,o)&&fu(i,ku(o,n),f)}return i}function Qe(n){return function(t){return _e(t,n)}}function Xe(n,t,r,e){var u=e?d:y,i=-1,o=t.length,f=n;for(n===t&&(t=Tu(t)),r&&(f=c(n,z(r)));++i<o;)for(var a=0,l=t[i],s=r?r(l):l;(a=u(f,s,a,e))>-1;)f!==n&&Ll.call(f,a,1),Ll.call(n,a,1);return n}function nu(n,t){for(var r=n?t.length:0,e=r-1;r--;){\nvar u=t[r];if(r==e||u!==i){var i=u;Ci(u)?Ll.call(n,u,1):yu(n,u)}}return n}function tu(n,t){return n+Nl(Ql()*(t-n+1))}function ru(n,t,r,e){for(var u=-1,i=Gl(Fl((t-n)/(r||1)),0),o=il(i);i--;)o[e?i:++u]=n,n+=r;return o}function eu(n,t){var r=\"\";if(!n||t<1||t>Wn)return r;do t%2&&(r+=n),t=Nl(t/2),t&&(n+=n);while(t);return r}function uu(n,t){return Ls(Vi(n,t,La),n+\"\")}function iu(n){return Ir(ra(n))}function ou(n,t){var r=ra(n);return Xi(r,Mr(t,0,r.length))}function fu(n,t,r,e){if(!fc(n))return n;t=ku(t,n);\nfor(var u=-1,i=t.length,o=i-1,f=n;null!=f&&++u<i;){var c=no(t[u]),a=r;if(\"__proto__\"===c||\"constructor\"===c||\"prototype\"===c)return n;if(u!=o){var l=f[c];a=e?e(l,c,f):X,a===X&&(a=fc(l)?l:Ci(t[u+1])?[]:{})}Sr(f,c,a),f=f[c]}return n}function cu(n){return Xi(ra(n))}function au(n,t,r){var e=-1,u=n.length;t<0&&(t=-t>u?0:u+t),r=r>u?u:r,r<0&&(r+=u),u=t>r?0:r-t>>>0,t>>>=0;for(var i=il(u);++e<u;)i[e]=n[e+t];return i}function lu(n,t){var r;return ys(n,function(n,e,u){return r=t(n,e,u),!r}),!!r}function su(n,t,r){\nvar e=0,u=null==n?e:n.length;if(\"number\"==typeof t&&t===t&&u<=Tn){for(;e<u;){var i=e+u>>>1,o=n[i];null!==o&&!bc(o)&&(r?o<=t:o<t)?e=i+1:u=i}return u}return hu(n,t,La,r)}function hu(n,t,r,e){var u=0,i=null==n?0:n.length;if(0===i)return 0;t=r(t);for(var o=t!==t,f=null===t,c=bc(t),a=t===X;u<i;){var l=Nl((u+i)/2),s=r(n[l]),h=s!==X,p=null===s,_=s===s,v=bc(s);if(o)var g=e||_;else g=a?_&&(e||h):f?_&&h&&(e||!p):c?_&&h&&!p&&(e||!v):!p&&!v&&(e?s<=t:s<t);g?u=l+1:i=l}return Hl(i,Bn)}function pu(n,t){for(var r=-1,e=n.length,u=0,i=[];++r<e;){\nvar o=n[r],f=t?t(o):o;if(!r||!Gf(f,c)){var c=f;i[u++]=0===o?0:o}}return i}function _u(n){return\"number\"==typeof n?n:bc(n)?Cn:+n}function vu(n){if(\"string\"==typeof n)return n;if(bh(n))return c(n,vu)+\"\";if(bc(n))return vs?vs.call(n):\"\";var t=n+\"\";return\"0\"==t&&1/n==-Sn?\"-0\":t}function gu(n,t,r){var e=-1,u=o,i=n.length,c=!0,a=[],l=a;if(r)c=!1,u=f;else if(i>=tn){var s=t?null:ks(n);if(s)return P(s);c=!1,u=S,l=new yr}else l=t?[]:a;n:for(;++e<i;){var h=n[e],p=t?t(h):h;if(h=r||0!==h?h:0,c&&p===p){for(var _=l.length;_--;)if(l[_]===p)continue n;\nt&&l.push(p),a.push(h)}else u(l,p,r)||(l!==a&&l.push(p),a.push(h))}return a}function yu(n,t){return t=ku(t,n),n=Gi(n,t),null==n||delete n[no(jo(t))]}function du(n,t,r,e){return fu(n,t,r(_e(n,t)),e)}function bu(n,t,r,e){for(var u=n.length,i=e?u:-1;(e?i--:++i<u)&&t(n[i],i,n););return r?au(n,e?0:i,e?i+1:u):au(n,e?i+1:0,e?u:i)}function wu(n,t){var r=n;return r instanceof Ct&&(r=r.value()),l(t,function(n,t){return t.func.apply(t.thisArg,a([n],t.args))},r)}function mu(n,t,r){var e=n.length;if(e<2)return e?gu(n[0]):[];\nfor(var u=-1,i=il(e);++u<e;)for(var o=n[u],f=-1;++f<e;)f!=u&&(i[u]=Hr(i[u]||o,n[f],t,r));return gu(ee(i,1),t,r)}function xu(n,t,r){for(var e=-1,u=n.length,i=t.length,o={};++e<u;){r(o,n[e],e<i?t[e]:X)}return o}function ju(n){return Jf(n)?n:[]}function Au(n){return\"function\"==typeof n?n:La}function ku(n,t){return bh(n)?n:Bi(n,t)?[n]:Cs(Ec(n))}function Ou(n,t,r){var e=n.length;return r=r===X?e:r,!t&&r>=e?n:au(n,t,r)}function Iu(n,t){if(t)return n.slice();var r=n.length,e=zl?zl(r):new n.constructor(r);\nreturn n.copy(e),e}function Ru(n){var t=new n.constructor(n.byteLength);return new Rl(t).set(new Rl(n)),t}function zu(n,t){return new n.constructor(t?Ru(n.buffer):n.buffer,n.byteOffset,n.byteLength)}function Eu(n){var t=new n.constructor(n.source,Nt.exec(n));return t.lastIndex=n.lastIndex,t}function Su(n){return _s?ll(_s.call(n)):{}}function Wu(n,t){return new n.constructor(t?Ru(n.buffer):n.buffer,n.byteOffset,n.length)}function Lu(n,t){if(n!==t){var r=n!==X,e=null===n,u=n===n,i=bc(n),o=t!==X,f=null===t,c=t===t,a=bc(t);\nif(!f&&!a&&!i&&n>t||i&&o&&c&&!f&&!a||e&&o&&c||!r&&c||!u)return 1;if(!e&&!i&&!a&&n<t||a&&r&&u&&!e&&!i||f&&r&&u||!o&&u||!c)return-1}return 0}function Cu(n,t,r){for(var e=-1,u=n.criteria,i=t.criteria,o=u.length,f=r.length;++e<o;){var c=Lu(u[e],i[e]);if(c){if(e>=f)return c;return c*(\"desc\"==r[e]?-1:1)}}return n.index-t.index}function Uu(n,t,r,e){for(var u=-1,i=n.length,o=r.length,f=-1,c=t.length,a=Gl(i-o,0),l=il(c+a),s=!e;++f<c;)l[f]=t[f];for(;++u<o;)(s||u<i)&&(l[r[u]]=n[u]);for(;a--;)l[f++]=n[u++];return l;\n}function Bu(n,t,r,e){for(var u=-1,i=n.length,o=-1,f=r.length,c=-1,a=t.length,l=Gl(i-f,0),s=il(l+a),h=!e;++u<l;)s[u]=n[u];for(var p=u;++c<a;)s[p+c]=t[c];for(;++o<f;)(h||u<i)&&(s[p+r[o]]=n[u++]);return s}function Tu(n,t){var r=-1,e=n.length;for(t||(t=il(e));++r<e;)t[r]=n[r];return t}function $u(n,t,r,e){var u=!r;r||(r={});for(var i=-1,o=t.length;++i<o;){var f=t[i],c=e?e(r[f],n[f],f,r,n):X;c===X&&(c=n[f]),u?Br(r,f,c):Sr(r,f,c)}return r}function Du(n,t){return $u(n,Is(n),t)}function Mu(n,t){return $u(n,Rs(n),t);\n}function Fu(n,r){return function(e,u){var i=bh(e)?t:Lr,o=r?r():{};return i(e,n,mi(u,2),o)}}function Nu(n){return uu(function(t,r){var e=-1,u=r.length,i=u>1?r[u-1]:X,o=u>2?r[2]:X;for(i=n.length>3&&\"function\"==typeof i?(u--,i):X,o&&Ui(r[0],r[1],o)&&(i=u<3?X:i,u=1),t=ll(t);++e<u;){var f=r[e];f&&n(t,f,e,i)}return t})}function Pu(n,t){return function(r,e){if(null==r)return r;if(!Hf(r))return n(r,e);for(var u=r.length,i=t?u:-1,o=ll(r);(t?i--:++i<u)&&e(o[i],i,o)!==!1;);return r}}function qu(n){return function(t,r,e){\nfor(var u=-1,i=ll(t),o=e(t),f=o.length;f--;){var c=o[n?f:++u];if(r(i[c],c,i)===!1)break}return t}}function Zu(n,t,r){function e(){return(this&&this!==re&&this instanceof e?i:n).apply(u?r:this,arguments)}var u=t&_n,i=Gu(n);return e}function Ku(n){return function(t){t=Ec(t);var r=T(t)?G(t):X,e=r?r[0]:t.charAt(0),u=r?Ou(r,1).join(\"\"):t.slice(1);return e[n]()+u}}function Vu(n){return function(t){return l(Ra(ca(t).replace($r,\"\")),n,\"\")}}function Gu(n){return function(){var t=arguments;switch(t.length){\ncase 0:return new n;case 1:return new n(t[0]);case 2:return new n(t[0],t[1]);case 3:return new n(t[0],t[1],t[2]);case 4:return new n(t[0],t[1],t[2],t[3]);case 5:return new n(t[0],t[1],t[2],t[3],t[4]);case 6:return new n(t[0],t[1],t[2],t[3],t[4],t[5]);case 7:return new n(t[0],t[1],t[2],t[3],t[4],t[5],t[6])}var r=gs(n.prototype),e=n.apply(r,t);return fc(e)?e:r}}function Hu(t,r,e){function u(){for(var o=arguments.length,f=il(o),c=o,a=wi(u);c--;)f[c]=arguments[c];var l=o<3&&f[0]!==a&&f[o-1]!==a?[]:N(f,a);\nreturn o-=l.length,o<e?oi(t,r,Qu,u.placeholder,X,f,l,X,X,e-o):n(this&&this!==re&&this instanceof u?i:t,this,f)}var i=Gu(t);return u}function Ju(n){return function(t,r,e){var u=ll(t);if(!Hf(t)){var i=mi(r,3);t=Pc(t),r=function(n){return i(u[n],n,u)}}var o=n(t,r,e);return o>-1?u[i?t[o]:o]:X}}function Yu(n){return gi(function(t){var r=t.length,e=r,u=Y.prototype.thru;for(n&&t.reverse();e--;){var i=t[e];if(\"function\"!=typeof i)throw new pl(en);if(u&&!o&&\"wrapper\"==bi(i))var o=new Y([],!0)}for(e=o?e:r;++e<r;){\ni=t[e];var f=bi(i),c=\"wrapper\"==f?Os(i):X;o=c&&$i(c[0])&&c[1]==(mn|yn|bn|xn)&&!c[4].length&&1==c[9]?o[bi(c[0])].apply(o,c[3]):1==i.length&&$i(i)?o[f]():o.thru(i)}return function(){var n=arguments,e=n[0];if(o&&1==n.length&&bh(e))return o.plant(e).value();for(var u=0,i=r?t[u].apply(this,n):e;++u<r;)i=t[u].call(this,i);return i}})}function Qu(n,t,r,e,u,i,o,f,c,a){function l(){for(var y=arguments.length,d=il(y),b=y;b--;)d[b]=arguments[b];if(_)var w=wi(l),m=C(d,w);if(e&&(d=Uu(d,e,u,_)),i&&(d=Bu(d,i,o,_)),\ny-=m,_&&y<a){return oi(n,t,Qu,l.placeholder,r,d,N(d,w),f,c,a-y)}var x=h?r:this,j=p?x[n]:n;return y=d.length,f?d=Hi(d,f):v&&y>1&&d.reverse(),s&&c<y&&(d.length=c),this&&this!==re&&this instanceof l&&(j=g||Gu(j)),j.apply(x,d)}var s=t&mn,h=t&_n,p=t&vn,_=t&(yn|dn),v=t&jn,g=p?X:Gu(n);return l}function Xu(n,t){return function(r,e){return Oe(r,n,t(e),{})}}function ni(n,t){return function(r,e){var u;if(r===X&&e===X)return t;if(r!==X&&(u=r),e!==X){if(u===X)return e;\"string\"==typeof r||\"string\"==typeof e?(r=vu(r),\ne=vu(e)):(r=_u(r),e=_u(e)),u=n(r,e)}return u}}function ti(t){return gi(function(r){return r=c(r,z(mi())),uu(function(e){var u=this;return t(r,function(t){return n(t,u,e)})})})}function ri(n,t){t=t===X?\" \":vu(t);var r=t.length;if(r<2)return r?eu(t,n):t;var e=eu(t,Fl(n/V(t)));return T(t)?Ou(G(e),0,n).join(\"\"):e.slice(0,n)}function ei(t,r,e,u){function i(){for(var r=-1,c=arguments.length,a=-1,l=u.length,s=il(l+c),h=this&&this!==re&&this instanceof i?f:t;++a<l;)s[a]=u[a];for(;c--;)s[a++]=arguments[++r];\nreturn n(h,o?e:this,s)}var o=r&_n,f=Gu(t);return i}function ui(n){return function(t,r,e){return e&&\"number\"!=typeof e&&Ui(t,r,e)&&(r=e=X),t=Ac(t),r===X?(r=t,t=0):r=Ac(r),e=e===X?t<r?1:-1:Ac(e),ru(t,r,e,n)}}function ii(n){return function(t,r){return\"string\"==typeof t&&\"string\"==typeof r||(t=Ic(t),r=Ic(r)),n(t,r)}}function oi(n,t,r,e,u,i,o,f,c,a){var l=t&yn,s=l?o:X,h=l?X:o,p=l?i:X,_=l?X:i;t|=l?bn:wn,t&=~(l?wn:bn),t&gn||(t&=~(_n|vn));var v=[n,t,u,p,s,_,h,f,c,a],g=r.apply(X,v);return $i(n)&&Ss(g,v),g.placeholder=e,\nYi(g,n,t)}function fi(n){var t=al[n];return function(n,r){if(n=Ic(n),r=null==r?0:Hl(kc(r),292),r&&Zl(n)){var e=(Ec(n)+\"e\").split(\"e\");return e=(Ec(t(e[0]+\"e\"+(+e[1]+r)))+\"e\").split(\"e\"),+(e[0]+\"e\"+(+e[1]-r))}return t(n)}}function ci(n){return function(t){var r=zs(t);return r==Gn?M(t):r==tt?q(t):I(t,n(t))}}function ai(n,t,r,e,u,i,o,f){var c=t&vn;if(!c&&\"function\"!=typeof n)throw new pl(en);var a=e?e.length:0;if(a||(t&=~(bn|wn),e=u=X),o=o===X?o:Gl(kc(o),0),f=f===X?f:kc(f),a-=u?u.length:0,t&wn){var l=e,s=u;\ne=u=X}var h=c?X:Os(n),p=[n,t,r,e,u,l,s,i,o,f];if(h&&qi(p,h),n=p[0],t=p[1],r=p[2],e=p[3],u=p[4],f=p[9]=p[9]===X?c?0:n.length:Gl(p[9]-a,0),!f&&t&(yn|dn)&&(t&=~(yn|dn)),t&&t!=_n)_=t==yn||t==dn?Hu(n,t,f):t!=bn&&t!=(_n|bn)||u.length?Qu.apply(X,p):ei(n,t,r,e);else var _=Zu(n,t,r);return Yi((h?ms:Ss)(_,p),n,t)}function li(n,t,r,e){return n===X||Gf(n,gl[r])&&!bl.call(e,r)?t:n}function si(n,t,r,e,u,i){return fc(n)&&fc(t)&&(i.set(t,n),Ke(n,t,X,si,i),i.delete(t)),n}function hi(n){return gc(n)?X:n}function pi(n,t,r,e,u,i){\nvar o=r&hn,f=n.length,c=t.length;if(f!=c&&!(o&&c>f))return!1;var a=i.get(n),l=i.get(t);if(a&&l)return a==t&&l==n;var s=-1,p=!0,_=r&pn?new yr:X;for(i.set(n,t),i.set(t,n);++s<f;){var v=n[s],g=t[s];if(e)var y=o?e(g,v,s,t,n,i):e(v,g,s,n,t,i);if(y!==X){if(y)continue;p=!1;break}if(_){if(!h(t,function(n,t){if(!S(_,t)&&(v===n||u(v,n,r,e,i)))return _.push(t)})){p=!1;break}}else if(v!==g&&!u(v,g,r,e,i)){p=!1;break}}return i.delete(n),i.delete(t),p}function _i(n,t,r,e,u,i,o){switch(r){case ct:if(n.byteLength!=t.byteLength||n.byteOffset!=t.byteOffset)return!1;\nn=n.buffer,t=t.buffer;case ft:return!(n.byteLength!=t.byteLength||!i(new Rl(n),new Rl(t)));case Nn:case Pn:case Hn:return Gf(+n,+t);case Zn:return n.name==t.name&&n.message==t.message;case nt:case rt:return n==t+\"\";case Gn:var f=M;case tt:var c=e&hn;if(f||(f=P),n.size!=t.size&&!c)return!1;var a=o.get(n);if(a)return a==t;e|=pn,o.set(n,t);var l=pi(f(n),f(t),e,u,i,o);return o.delete(n),l;case et:if(_s)return _s.call(n)==_s.call(t)}return!1}function vi(n,t,r,e,u,i){var o=r&hn,f=yi(n),c=f.length;if(c!=yi(t).length&&!o)return!1;\nfor(var a=c;a--;){var l=f[a];if(!(o?l in t:bl.call(t,l)))return!1}var s=i.get(n),h=i.get(t);if(s&&h)return s==t&&h==n;var p=!0;i.set(n,t),i.set(t,n);for(var _=o;++a<c;){l=f[a];var v=n[l],g=t[l];if(e)var y=o?e(g,v,l,t,n,i):e(v,g,l,n,t,i);if(!(y===X?v===g||u(v,g,r,e,i):y)){p=!1;break}_||(_=\"constructor\"==l)}if(p&&!_){var d=n.constructor,b=t.constructor;d!=b&&\"constructor\"in n&&\"constructor\"in t&&!(\"function\"==typeof d&&d instanceof d&&\"function\"==typeof b&&b instanceof b)&&(p=!1)}return i.delete(n),\ni.delete(t),p}function gi(n){return Ls(Vi(n,X,_o),n+\"\")}function yi(n){return de(n,Pc,Is)}function di(n){return de(n,qc,Rs)}function bi(n){for(var t=n.name+\"\",r=fs[t],e=bl.call(fs,t)?r.length:0;e--;){var u=r[e],i=u.func;if(null==i||i==n)return u.name}return t}function wi(n){return(bl.call(Z,\"placeholder\")?Z:n).placeholder}function mi(){var n=Z.iteratee||Ca;return n=n===Ca?De:n,arguments.length?n(arguments[0],arguments[1]):n}function xi(n,t){var r=n.__data__;return Ti(t)?r[\"string\"==typeof t?\"string\":\"hash\"]:r.map;\n}function ji(n){for(var t=Pc(n),r=t.length;r--;){var e=t[r],u=n[e];t[r]=[e,u,Fi(u)]}return t}function Ai(n,t){var r=B(n,t);return Ue(r)?r:X}function ki(n){var t=bl.call(n,Bl),r=n[Bl];try{n[Bl]=X;var e=!0}catch(n){}var u=xl.call(n);return e&&(t?n[Bl]=r:delete n[Bl]),u}function Oi(n,t,r){for(var e=-1,u=r.length;++e<u;){var i=r[e],o=i.size;switch(i.type){case\"drop\":n+=o;break;case\"dropRight\":t-=o;break;case\"take\":t=Hl(t,n+o);break;case\"takeRight\":n=Gl(n,t-o)}}return{start:n,end:t}}function Ii(n){var t=n.match(Bt);\nreturn t?t[1].split(Tt):[]}function Ri(n,t,r){t=ku(t,n);for(var e=-1,u=t.length,i=!1;++e<u;){var o=no(t[e]);if(!(i=null!=n&&r(n,o)))break;n=n[o]}return i||++e!=u?i:(u=null==n?0:n.length,!!u&&oc(u)&&Ci(o,u)&&(bh(n)||dh(n)))}function zi(n){var t=n.length,r=new n.constructor(t);return t&&\"string\"==typeof n[0]&&bl.call(n,\"index\")&&(r.index=n.index,r.input=n.input),r}function Ei(n){return\"function\"!=typeof n.constructor||Mi(n)?{}:gs(El(n))}function Si(n,t,r){var e=n.constructor;switch(t){case ft:return Ru(n);\ncase Nn:case Pn:return new e(+n);case ct:return zu(n,r);case at:case lt:case st:case ht:case pt:case _t:case vt:case gt:case yt:return Wu(n,r);case Gn:return new e;case Hn:case rt:return new e(n);case nt:return Eu(n);case tt:return new e;case et:return Su(n)}}function Wi(n,t){var r=t.length;if(!r)return n;var e=r-1;return t[e]=(r>1?\"& \":\"\")+t[e],t=t.join(r>2?\", \":\" \"),n.replace(Ut,\"{\\n/* [wrapped with \"+t+\"] */\\n\")}function Li(n){return bh(n)||dh(n)||!!(Cl&&n&&n[Cl])}function Ci(n,t){var r=typeof n;\nreturn t=null==t?Wn:t,!!t&&(\"number\"==r||\"symbol\"!=r&&Vt.test(n))&&n>-1&&n%1==0&&n<t}function Ui(n,t,r){if(!fc(r))return!1;var e=typeof t;return!!(\"number\"==e?Hf(r)&&Ci(t,r.length):\"string\"==e&&t in r)&&Gf(r[t],n)}function Bi(n,t){if(bh(n))return!1;var r=typeof n;return!(\"number\"!=r&&\"symbol\"!=r&&\"boolean\"!=r&&null!=n&&!bc(n))||(zt.test(n)||!Rt.test(n)||null!=t&&n in ll(t))}function Ti(n){var t=typeof n;return\"string\"==t||\"number\"==t||\"symbol\"==t||\"boolean\"==t?\"__proto__\"!==n:null===n}function $i(n){\nvar t=bi(n),r=Z[t];if(\"function\"!=typeof r||!(t in Ct.prototype))return!1;if(n===r)return!0;var e=Os(r);return!!e&&n===e[0]}function Di(n){return!!ml&&ml in n}function Mi(n){var t=n&&n.constructor;return n===(\"function\"==typeof t&&t.prototype||gl)}function Fi(n){return n===n&&!fc(n)}function Ni(n,t){return function(r){return null!=r&&(r[n]===t&&(t!==X||n in ll(r)))}}function Pi(n){var t=Cf(n,function(n){return r.size===fn&&r.clear(),n}),r=t.cache;return t}function qi(n,t){var r=n[1],e=t[1],u=r|e,i=u<(_n|vn|mn),o=e==mn&&r==yn||e==mn&&r==xn&&n[7].length<=t[8]||e==(mn|xn)&&t[7].length<=t[8]&&r==yn;\nif(!i&&!o)return n;e&_n&&(n[2]=t[2],u|=r&_n?0:gn);var f=t[3];if(f){var c=n[3];n[3]=c?Uu(c,f,t[4]):f,n[4]=c?N(n[3],cn):t[4]}return f=t[5],f&&(c=n[5],n[5]=c?Bu(c,f,t[6]):f,n[6]=c?N(n[5],cn):t[6]),f=t[7],f&&(n[7]=f),e&mn&&(n[8]=null==n[8]?t[8]:Hl(n[8],t[8])),null==n[9]&&(n[9]=t[9]),n[0]=t[0],n[1]=u,n}function Zi(n){var t=[];if(null!=n)for(var r in ll(n))t.push(r);return t}function Ki(n){return xl.call(n)}function Vi(t,r,e){return r=Gl(r===X?t.length-1:r,0),function(){for(var u=arguments,i=-1,o=Gl(u.length-r,0),f=il(o);++i<o;)f[i]=u[r+i];\ni=-1;for(var c=il(r+1);++i<r;)c[i]=u[i];return c[r]=e(f),n(t,this,c)}}function Gi(n,t){return t.length<2?n:_e(n,au(t,0,-1))}function Hi(n,t){for(var r=n.length,e=Hl(t.length,r),u=Tu(n);e--;){var i=t[e];n[e]=Ci(i,r)?u[i]:X}return n}function Ji(n,t){if((\"constructor\"!==t||\"function\"!=typeof n[t])&&\"__proto__\"!=t)return n[t]}function Yi(n,t,r){var e=t+\"\";return Ls(n,Wi(e,ro(Ii(e),r)))}function Qi(n){var t=0,r=0;return function(){var e=Jl(),u=In-(e-r);if(r=e,u>0){if(++t>=On)return arguments[0]}else t=0;\nreturn n.apply(X,arguments)}}function Xi(n,t){var r=-1,e=n.length,u=e-1;for(t=t===X?e:t;++r<t;){var i=tu(r,u),o=n[i];n[i]=n[r],n[r]=o}return n.length=t,n}function no(n){if(\"string\"==typeof n||bc(n))return n;var t=n+\"\";return\"0\"==t&&1/n==-Sn?\"-0\":t}function to(n){if(null!=n){try{return dl.call(n)}catch(n){}try{return n+\"\"}catch(n){}}return\"\"}function ro(n,t){return r($n,function(r){var e=\"_.\"+r[0];t&r[1]&&!o(n,e)&&n.push(e)}),n.sort()}function eo(n){if(n instanceof Ct)return n.clone();var t=new Y(n.__wrapped__,n.__chain__);\nreturn t.__actions__=Tu(n.__actions__),t.__index__=n.__index__,t.__values__=n.__values__,t}function uo(n,t,r){t=(r?Ui(n,t,r):t===X)?1:Gl(kc(t),0);var e=null==n?0:n.length;if(!e||t<1)return[];for(var u=0,i=0,o=il(Fl(e/t));u<e;)o[i++]=au(n,u,u+=t);return o}function io(n){for(var t=-1,r=null==n?0:n.length,e=0,u=[];++t<r;){var i=n[t];i&&(u[e++]=i)}return u}function oo(){var n=arguments.length;if(!n)return[];for(var t=il(n-1),r=arguments[0],e=n;e--;)t[e-1]=arguments[e];return a(bh(r)?Tu(r):[r],ee(t,1));\n}function fo(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),au(n,t<0?0:t,e)):[]}function co(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),t=e-t,au(n,0,t<0?0:t)):[]}function ao(n,t){return n&&n.length?bu(n,mi(t,3),!0,!0):[]}function lo(n,t){return n&&n.length?bu(n,mi(t,3),!0):[]}function so(n,t,r,e){var u=null==n?0:n.length;return u?(r&&\"number\"!=typeof r&&Ui(n,t,r)&&(r=0,e=u),ne(n,t,r,e)):[]}function ho(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:kc(r);\nreturn u<0&&(u=Gl(e+u,0)),g(n,mi(t,3),u)}function po(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e-1;return r!==X&&(u=kc(r),u=r<0?Gl(e+u,0):Hl(u,e-1)),g(n,mi(t,3),u,!0)}function _o(n){return(null==n?0:n.length)?ee(n,1):[]}function vo(n){return(null==n?0:n.length)?ee(n,Sn):[]}function go(n,t){return(null==n?0:n.length)?(t=t===X?1:kc(t),ee(n,t)):[]}function yo(n){for(var t=-1,r=null==n?0:n.length,e={};++t<r;){var u=n[t];e[u[0]]=u[1]}return e}function bo(n){return n&&n.length?n[0]:X}function wo(n,t,r){\nvar e=null==n?0:n.length;if(!e)return-1;var u=null==r?0:kc(r);return u<0&&(u=Gl(e+u,0)),y(n,t,u)}function mo(n){return(null==n?0:n.length)?au(n,0,-1):[]}function xo(n,t){return null==n?\"\":Kl.call(n,t)}function jo(n){var t=null==n?0:n.length;return t?n[t-1]:X}function Ao(n,t,r){var e=null==n?0:n.length;if(!e)return-1;var u=e;return r!==X&&(u=kc(r),u=u<0?Gl(e+u,0):Hl(u,e-1)),t===t?K(n,t,u):g(n,b,u,!0)}function ko(n,t){return n&&n.length?Ge(n,kc(t)):X}function Oo(n,t){return n&&n.length&&t&&t.length?Xe(n,t):n;\n}function Io(n,t,r){return n&&n.length&&t&&t.length?Xe(n,t,mi(r,2)):n}function Ro(n,t,r){return n&&n.length&&t&&t.length?Xe(n,t,X,r):n}function zo(n,t){var r=[];if(!n||!n.length)return r;var e=-1,u=[],i=n.length;for(t=mi(t,3);++e<i;){var o=n[e];t(o,e,n)&&(r.push(o),u.push(e))}return nu(n,u),r}function Eo(n){return null==n?n:Xl.call(n)}function So(n,t,r){var e=null==n?0:n.length;return e?(r&&\"number\"!=typeof r&&Ui(n,t,r)?(t=0,r=e):(t=null==t?0:kc(t),r=r===X?e:kc(r)),au(n,t,r)):[]}function Wo(n,t){\nreturn su(n,t)}function Lo(n,t,r){return hu(n,t,mi(r,2))}function Co(n,t){var r=null==n?0:n.length;if(r){var e=su(n,t);if(e<r&&Gf(n[e],t))return e}return-1}function Uo(n,t){return su(n,t,!0)}function Bo(n,t,r){return hu(n,t,mi(r,2),!0)}function To(n,t){if(null==n?0:n.length){var r=su(n,t,!0)-1;if(Gf(n[r],t))return r}return-1}function $o(n){return n&&n.length?pu(n):[]}function Do(n,t){return n&&n.length?pu(n,mi(t,2)):[]}function Mo(n){var t=null==n?0:n.length;return t?au(n,1,t):[]}function Fo(n,t,r){\nreturn n&&n.length?(t=r||t===X?1:kc(t),au(n,0,t<0?0:t)):[]}function No(n,t,r){var e=null==n?0:n.length;return e?(t=r||t===X?1:kc(t),t=e-t,au(n,t<0?0:t,e)):[]}function Po(n,t){return n&&n.length?bu(n,mi(t,3),!1,!0):[]}function qo(n,t){return n&&n.length?bu(n,mi(t,3)):[]}function Zo(n){return n&&n.length?gu(n):[]}function Ko(n,t){return n&&n.length?gu(n,mi(t,2)):[]}function Vo(n,t){return t=\"function\"==typeof t?t:X,n&&n.length?gu(n,X,t):[]}function Go(n){if(!n||!n.length)return[];var t=0;return n=i(n,function(n){\nif(Jf(n))return t=Gl(n.length,t),!0}),O(t,function(t){return c(n,m(t))})}function Ho(t,r){if(!t||!t.length)return[];var e=Go(t);return null==r?e:c(e,function(t){return n(r,X,t)})}function Jo(n,t){return xu(n||[],t||[],Sr)}function Yo(n,t){return xu(n||[],t||[],fu)}function Qo(n){var t=Z(n);return t.__chain__=!0,t}function Xo(n,t){return t(n),n}function nf(n,t){return t(n)}function tf(){return Qo(this)}function rf(){return new Y(this.value(),this.__chain__)}function ef(){this.__values__===X&&(this.__values__=jc(this.value()));\nvar n=this.__index__>=this.__values__.length;return{done:n,value:n?X:this.__values__[this.__index__++]}}function uf(){return this}function of(n){for(var t,r=this;r instanceof J;){var e=eo(r);e.__index__=0,e.__values__=X,t?u.__wrapped__=e:t=e;var u=e;r=r.__wrapped__}return u.__wrapped__=n,t}function ff(){var n=this.__wrapped__;if(n instanceof Ct){var t=n;return this.__actions__.length&&(t=new Ct(this)),t=t.reverse(),t.__actions__.push({func:nf,args:[Eo],thisArg:X}),new Y(t,this.__chain__)}return this.thru(Eo);\n}function cf(){return wu(this.__wrapped__,this.__actions__)}function af(n,t,r){var e=bh(n)?u:Jr;return r&&Ui(n,t,r)&&(t=X),e(n,mi(t,3))}function lf(n,t){return(bh(n)?i:te)(n,mi(t,3))}function sf(n,t){return ee(yf(n,t),1)}function hf(n,t){return ee(yf(n,t),Sn)}function pf(n,t,r){return r=r===X?1:kc(r),ee(yf(n,t),r)}function _f(n,t){return(bh(n)?r:ys)(n,mi(t,3))}function vf(n,t){return(bh(n)?e:ds)(n,mi(t,3))}function gf(n,t,r,e){n=Hf(n)?n:ra(n),r=r&&!e?kc(r):0;var u=n.length;return r<0&&(r=Gl(u+r,0)),\ndc(n)?r<=u&&n.indexOf(t,r)>-1:!!u&&y(n,t,r)>-1}function yf(n,t){return(bh(n)?c:Pe)(n,mi(t,3))}function df(n,t,r,e){return null==n?[]:(bh(t)||(t=null==t?[]:[t]),r=e?X:r,bh(r)||(r=null==r?[]:[r]),He(n,t,r))}function bf(n,t,r){var e=bh(n)?l:j,u=arguments.length<3;return e(n,mi(t,4),r,u,ys)}function wf(n,t,r){var e=bh(n)?s:j,u=arguments.length<3;return e(n,mi(t,4),r,u,ds)}function mf(n,t){return(bh(n)?i:te)(n,Uf(mi(t,3)))}function xf(n){return(bh(n)?Ir:iu)(n)}function jf(n,t,r){return t=(r?Ui(n,t,r):t===X)?1:kc(t),\n(bh(n)?Rr:ou)(n,t)}function Af(n){return(bh(n)?zr:cu)(n)}function kf(n){if(null==n)return 0;if(Hf(n))return dc(n)?V(n):n.length;var t=zs(n);return t==Gn||t==tt?n.size:Me(n).length}function Of(n,t,r){var e=bh(n)?h:lu;return r&&Ui(n,t,r)&&(t=X),e(n,mi(t,3))}function If(n,t){if(\"function\"!=typeof t)throw new pl(en);return n=kc(n),function(){if(--n<1)return t.apply(this,arguments)}}function Rf(n,t,r){return t=r?X:t,t=n&&null==t?n.length:t,ai(n,mn,X,X,X,X,t)}function zf(n,t){var r;if(\"function\"!=typeof t)throw new pl(en);\nreturn n=kc(n),function(){return--n>0&&(r=t.apply(this,arguments)),n<=1&&(t=X),r}}function Ef(n,t,r){t=r?X:t;var e=ai(n,yn,X,X,X,X,X,t);return e.placeholder=Ef.placeholder,e}function Sf(n,t,r){t=r?X:t;var e=ai(n,dn,X,X,X,X,X,t);return e.placeholder=Sf.placeholder,e}function Wf(n,t,r){function e(t){var r=h,e=p;return h=p=X,d=t,v=n.apply(e,r)}function u(n){return d=n,g=Ws(f,t),b?e(n):v}function i(n){var r=n-y,e=n-d,u=t-r;return w?Hl(u,_-e):u}function o(n){var r=n-y,e=n-d;return y===X||r>=t||r<0||w&&e>=_;\n}function f(){var n=fh();return o(n)?c(n):(g=Ws(f,i(n)),X)}function c(n){return g=X,m&&h?e(n):(h=p=X,v)}function a(){g!==X&&As(g),d=0,h=y=p=g=X}function l(){return g===X?v:c(fh())}function s(){var n=fh(),r=o(n);if(h=arguments,p=this,y=n,r){if(g===X)return u(y);if(w)return As(g),g=Ws(f,t),e(y)}return g===X&&(g=Ws(f,t)),v}var h,p,_,v,g,y,d=0,b=!1,w=!1,m=!0;if(\"function\"!=typeof n)throw new pl(en);return t=Ic(t)||0,fc(r)&&(b=!!r.leading,w=\"maxWait\"in r,_=w?Gl(Ic(r.maxWait)||0,t):_,m=\"trailing\"in r?!!r.trailing:m),\ns.cancel=a,s.flush=l,s}function Lf(n){return ai(n,jn)}function Cf(n,t){if(\"function\"!=typeof n||null!=t&&\"function\"!=typeof t)throw new pl(en);var r=function(){var e=arguments,u=t?t.apply(this,e):e[0],i=r.cache;if(i.has(u))return i.get(u);var o=n.apply(this,e);return r.cache=i.set(u,o)||i,o};return r.cache=new(Cf.Cache||sr),r}function Uf(n){if(\"function\"!=typeof n)throw new pl(en);return function(){var t=arguments;switch(t.length){case 0:return!n.call(this);case 1:return!n.call(this,t[0]);case 2:\nreturn!n.call(this,t[0],t[1]);case 3:return!n.call(this,t[0],t[1],t[2])}return!n.apply(this,t)}}function Bf(n){return zf(2,n)}function Tf(n,t){if(\"function\"!=typeof n)throw new pl(en);return t=t===X?t:kc(t),uu(n,t)}function $f(t,r){if(\"function\"!=typeof t)throw new pl(en);return r=null==r?0:Gl(kc(r),0),uu(function(e){var u=e[r],i=Ou(e,0,r);return u&&a(i,u),n(t,this,i)})}function Df(n,t,r){var e=!0,u=!0;if(\"function\"!=typeof n)throw new pl(en);return fc(r)&&(e=\"leading\"in r?!!r.leading:e,u=\"trailing\"in r?!!r.trailing:u),\nWf(n,t,{leading:e,maxWait:t,trailing:u})}function Mf(n){return Rf(n,1)}function Ff(n,t){return ph(Au(t),n)}function Nf(){if(!arguments.length)return[];var n=arguments[0];return bh(n)?n:[n]}function Pf(n){return Fr(n,sn)}function qf(n,t){return t=\"function\"==typeof t?t:X,Fr(n,sn,t)}function Zf(n){return Fr(n,an|sn)}function Kf(n,t){return t=\"function\"==typeof t?t:X,Fr(n,an|sn,t)}function Vf(n,t){return null==t||Pr(n,t,Pc(t))}function Gf(n,t){return n===t||n!==n&&t!==t}function Hf(n){return null!=n&&oc(n.length)&&!uc(n);\n}function Jf(n){return cc(n)&&Hf(n)}function Yf(n){return n===!0||n===!1||cc(n)&&we(n)==Nn}function Qf(n){return cc(n)&&1===n.nodeType&&!gc(n)}function Xf(n){if(null==n)return!0;if(Hf(n)&&(bh(n)||\"string\"==typeof n||\"function\"==typeof n.splice||mh(n)||Oh(n)||dh(n)))return!n.length;var t=zs(n);if(t==Gn||t==tt)return!n.size;if(Mi(n))return!Me(n).length;for(var r in n)if(bl.call(n,r))return!1;return!0}function nc(n,t){return Se(n,t)}function tc(n,t,r){r=\"function\"==typeof r?r:X;var e=r?r(n,t):X;return e===X?Se(n,t,X,r):!!e;\n}function rc(n){if(!cc(n))return!1;var t=we(n);return t==Zn||t==qn||\"string\"==typeof n.message&&\"string\"==typeof n.name&&!gc(n)}function ec(n){return\"number\"==typeof n&&Zl(n)}function uc(n){if(!fc(n))return!1;var t=we(n);return t==Kn||t==Vn||t==Fn||t==Xn}function ic(n){return\"number\"==typeof n&&n==kc(n)}function oc(n){return\"number\"==typeof n&&n>-1&&n%1==0&&n<=Wn}function fc(n){var t=typeof n;return null!=n&&(\"object\"==t||\"function\"==t)}function cc(n){return null!=n&&\"object\"==typeof n}function ac(n,t){\nreturn n===t||Ce(n,t,ji(t))}function lc(n,t,r){return r=\"function\"==typeof r?r:X,Ce(n,t,ji(t),r)}function sc(n){return vc(n)&&n!=+n}function hc(n){if(Es(n))throw new fl(rn);return Ue(n)}function pc(n){return null===n}function _c(n){return null==n}function vc(n){return\"number\"==typeof n||cc(n)&&we(n)==Hn}function gc(n){if(!cc(n)||we(n)!=Yn)return!1;var t=El(n);if(null===t)return!0;var r=bl.call(t,\"constructor\")&&t.constructor;return\"function\"==typeof r&&r instanceof r&&dl.call(r)==jl}function yc(n){\nreturn ic(n)&&n>=-Wn&&n<=Wn}function dc(n){return\"string\"==typeof n||!bh(n)&&cc(n)&&we(n)==rt}function bc(n){return\"symbol\"==typeof n||cc(n)&&we(n)==et}function wc(n){return n===X}function mc(n){return cc(n)&&zs(n)==it}function xc(n){return cc(n)&&we(n)==ot}function jc(n){if(!n)return[];if(Hf(n))return dc(n)?G(n):Tu(n);if(Ul&&n[Ul])return D(n[Ul]());var t=zs(n);return(t==Gn?M:t==tt?P:ra)(n)}function Ac(n){if(!n)return 0===n?n:0;if(n=Ic(n),n===Sn||n===-Sn){return(n<0?-1:1)*Ln}return n===n?n:0}function kc(n){\nvar t=Ac(n),r=t%1;return t===t?r?t-r:t:0}function Oc(n){return n?Mr(kc(n),0,Un):0}function Ic(n){if(\"number\"==typeof n)return n;if(bc(n))return Cn;if(fc(n)){var t=\"function\"==typeof n.valueOf?n.valueOf():n;n=fc(t)?t+\"\":t}if(\"string\"!=typeof n)return 0===n?n:+n;n=R(n);var r=qt.test(n);return r||Kt.test(n)?Xr(n.slice(2),r?2:8):Pt.test(n)?Cn:+n}function Rc(n){return $u(n,qc(n))}function zc(n){return n?Mr(kc(n),-Wn,Wn):0===n?n:0}function Ec(n){return null==n?\"\":vu(n)}function Sc(n,t){var r=gs(n);return null==t?r:Cr(r,t);\n}function Wc(n,t){return v(n,mi(t,3),ue)}function Lc(n,t){return v(n,mi(t,3),oe)}function Cc(n,t){return null==n?n:bs(n,mi(t,3),qc)}function Uc(n,t){return null==n?n:ws(n,mi(t,3),qc)}function Bc(n,t){return n&&ue(n,mi(t,3))}function Tc(n,t){return n&&oe(n,mi(t,3))}function $c(n){return null==n?[]:fe(n,Pc(n))}function Dc(n){return null==n?[]:fe(n,qc(n))}function Mc(n,t,r){var e=null==n?X:_e(n,t);return e===X?r:e}function Fc(n,t){return null!=n&&Ri(n,t,xe)}function Nc(n,t){return null!=n&&Ri(n,t,je);\n}function Pc(n){return Hf(n)?Or(n):Me(n)}function qc(n){return Hf(n)?Or(n,!0):Fe(n)}function Zc(n,t){var r={};return t=mi(t,3),ue(n,function(n,e,u){Br(r,t(n,e,u),n)}),r}function Kc(n,t){var r={};return t=mi(t,3),ue(n,function(n,e,u){Br(r,e,t(n,e,u))}),r}function Vc(n,t){return Gc(n,Uf(mi(t)))}function Gc(n,t){if(null==n)return{};var r=c(di(n),function(n){return[n]});return t=mi(t),Ye(n,r,function(n,r){return t(n,r[0])})}function Hc(n,t,r){t=ku(t,n);var e=-1,u=t.length;for(u||(u=1,n=X);++e<u;){var i=null==n?X:n[no(t[e])];\ni===X&&(e=u,i=r),n=uc(i)?i.call(n):i}return n}function Jc(n,t,r){return null==n?n:fu(n,t,r)}function Yc(n,t,r,e){return e=\"function\"==typeof e?e:X,null==n?n:fu(n,t,r,e)}function Qc(n,t,e){var u=bh(n),i=u||mh(n)||Oh(n);if(t=mi(t,4),null==e){var o=n&&n.constructor;e=i?u?new o:[]:fc(n)&&uc(o)?gs(El(n)):{}}return(i?r:ue)(n,function(n,r,u){return t(e,n,r,u)}),e}function Xc(n,t){return null==n||yu(n,t)}function na(n,t,r){return null==n?n:du(n,t,Au(r))}function ta(n,t,r,e){return e=\"function\"==typeof e?e:X,\nnull==n?n:du(n,t,Au(r),e)}function ra(n){return null==n?[]:E(n,Pc(n))}function ea(n){return null==n?[]:E(n,qc(n))}function ua(n,t,r){return r===X&&(r=t,t=X),r!==X&&(r=Ic(r),r=r===r?r:0),t!==X&&(t=Ic(t),t=t===t?t:0),Mr(Ic(n),t,r)}function ia(n,t,r){return t=Ac(t),r===X?(r=t,t=0):r=Ac(r),n=Ic(n),Ae(n,t,r)}function oa(n,t,r){if(r&&\"boolean\"!=typeof r&&Ui(n,t,r)&&(t=r=X),r===X&&(\"boolean\"==typeof t?(r=t,t=X):\"boolean\"==typeof n&&(r=n,n=X)),n===X&&t===X?(n=0,t=1):(n=Ac(n),t===X?(t=n,n=0):t=Ac(t)),n>t){\nvar e=n;n=t,t=e}if(r||n%1||t%1){var u=Ql();return Hl(n+u*(t-n+Qr(\"1e-\"+((u+\"\").length-1))),t)}return tu(n,t)}function fa(n){return Qh(Ec(n).toLowerCase())}function ca(n){return n=Ec(n),n&&n.replace(Gt,ve).replace(Dr,\"\")}function aa(n,t,r){n=Ec(n),t=vu(t);var e=n.length;r=r===X?e:Mr(kc(r),0,e);var u=r;return r-=t.length,r>=0&&n.slice(r,u)==t}function la(n){return n=Ec(n),n&&At.test(n)?n.replace(xt,ge):n}function sa(n){return n=Ec(n),n&&Wt.test(n)?n.replace(St,\"\\\\$&\"):n}function ha(n,t,r){n=Ec(n),t=kc(t);\nvar e=t?V(n):0;if(!t||e>=t)return n;var u=(t-e)/2;return ri(Nl(u),r)+n+ri(Fl(u),r)}function pa(n,t,r){n=Ec(n),t=kc(t);var e=t?V(n):0;return t&&e<t?n+ri(t-e,r):n}function _a(n,t,r){n=Ec(n),t=kc(t);var e=t?V(n):0;return t&&e<t?ri(t-e,r)+n:n}function va(n,t,r){return r||null==t?t=0:t&&(t=+t),Yl(Ec(n).replace(Lt,\"\"),t||0)}function ga(n,t,r){return t=(r?Ui(n,t,r):t===X)?1:kc(t),eu(Ec(n),t)}function ya(){var n=arguments,t=Ec(n[0]);return n.length<3?t:t.replace(n[1],n[2])}function da(n,t,r){return r&&\"number\"!=typeof r&&Ui(n,t,r)&&(t=r=X),\n(r=r===X?Un:r>>>0)?(n=Ec(n),n&&(\"string\"==typeof t||null!=t&&!Ah(t))&&(t=vu(t),!t&&T(n))?Ou(G(n),0,r):n.split(t,r)):[]}function ba(n,t,r){return n=Ec(n),r=null==r?0:Mr(kc(r),0,n.length),t=vu(t),n.slice(r,r+t.length)==t}function wa(n,t,r){var e=Z.templateSettings;r&&Ui(n,t,r)&&(t=X),n=Ec(n),t=Sh({},t,e,li);var u,i,o=Sh({},t.imports,e.imports,li),f=Pc(o),c=E(o,f),a=0,l=t.interpolate||Ht,s=\"__p += '\",h=sl((t.escape||Ht).source+\"|\"+l.source+\"|\"+(l===It?Ft:Ht).source+\"|\"+(t.evaluate||Ht).source+\"|$\",\"g\"),p=\"//# sourceURL=\"+(bl.call(t,\"sourceURL\")?(t.sourceURL+\"\").replace(/\\s/g,\" \"):\"lodash.templateSources[\"+ ++Zr+\"]\")+\"\\n\";\nn.replace(h,function(t,r,e,o,f,c){return e||(e=o),s+=n.slice(a,c).replace(Jt,U),r&&(u=!0,s+=\"' +\\n__e(\"+r+\") +\\n'\"),f&&(i=!0,s+=\"';\\n\"+f+\";\\n__p += '\"),e&&(s+=\"' +\\n((__t = (\"+e+\")) == null ? '' : __t) +\\n'\"),a=c+t.length,t}),s+=\"';\\n\";var _=bl.call(t,\"variable\")&&t.variable;if(_){if(Dt.test(_))throw new fl(un)}else s=\"with (obj) {\\n\"+s+\"\\n}\\n\";s=(i?s.replace(dt,\"\"):s).replace(bt,\"$1\").replace(wt,\"$1;\"),s=\"function(\"+(_||\"obj\")+\") {\\n\"+(_?\"\":\"obj || (obj = {});\\n\")+\"var __t, __p = ''\"+(u?\", __e = _.escape\":\"\")+(i?\", __j = Array.prototype.join;\\nfunction print() { __p += __j.call(arguments, '') }\\n\":\";\\n\")+s+\"return __p\\n}\";\nvar v=Xh(function(){return cl(f,p+\"return \"+s).apply(X,c)});if(v.source=s,rc(v))throw v;return v}function ma(n){return Ec(n).toLowerCase()}function xa(n){return Ec(n).toUpperCase()}function ja(n,t,r){if(n=Ec(n),n&&(r||t===X))return R(n);if(!n||!(t=vu(t)))return n;var e=G(n),u=G(t);return Ou(e,W(e,u),L(e,u)+1).join(\"\")}function Aa(n,t,r){if(n=Ec(n),n&&(r||t===X))return n.slice(0,H(n)+1);if(!n||!(t=vu(t)))return n;var e=G(n);return Ou(e,0,L(e,G(t))+1).join(\"\")}function ka(n,t,r){if(n=Ec(n),n&&(r||t===X))return n.replace(Lt,\"\");\nif(!n||!(t=vu(t)))return n;var e=G(n);return Ou(e,W(e,G(t))).join(\"\")}function Oa(n,t){var r=An,e=kn;if(fc(t)){var u=\"separator\"in t?t.separator:u;r=\"length\"in t?kc(t.length):r,e=\"omission\"in t?vu(t.omission):e}n=Ec(n);var i=n.length;if(T(n)){var o=G(n);i=o.length}if(r>=i)return n;var f=r-V(e);if(f<1)return e;var c=o?Ou(o,0,f).join(\"\"):n.slice(0,f);if(u===X)return c+e;if(o&&(f+=c.length-f),Ah(u)){if(n.slice(f).search(u)){var a,l=c;for(u.global||(u=sl(u.source,Ec(Nt.exec(u))+\"g\")),u.lastIndex=0;a=u.exec(l);)var s=a.index;\nc=c.slice(0,s===X?f:s)}}else if(n.indexOf(vu(u),f)!=f){var h=c.lastIndexOf(u);h>-1&&(c=c.slice(0,h))}return c+e}function Ia(n){return n=Ec(n),n&&jt.test(n)?n.replace(mt,ye):n}function Ra(n,t,r){return n=Ec(n),t=r?X:t,t===X?$(n)?Q(n):_(n):n.match(t)||[]}function za(t){var r=null==t?0:t.length,e=mi();return t=r?c(t,function(n){if(\"function\"!=typeof n[1])throw new pl(en);return[e(n[0]),n[1]]}):[],uu(function(e){for(var u=-1;++u<r;){var i=t[u];if(n(i[0],this,e))return n(i[1],this,e)}})}function Ea(n){\nreturn Nr(Fr(n,an))}function Sa(n){return function(){return n}}function Wa(n,t){return null==n||n!==n?t:n}function La(n){return n}function Ca(n){return De(\"function\"==typeof n?n:Fr(n,an))}function Ua(n){return qe(Fr(n,an))}function Ba(n,t){return Ze(n,Fr(t,an))}function Ta(n,t,e){var u=Pc(t),i=fe(t,u);null!=e||fc(t)&&(i.length||!u.length)||(e=t,t=n,n=this,i=fe(t,Pc(t)));var o=!(fc(e)&&\"chain\"in e&&!e.chain),f=uc(n);return r(i,function(r){var e=t[r];n[r]=e,f&&(n.prototype[r]=function(){var t=this.__chain__;\nif(o||t){var r=n(this.__wrapped__);return(r.__actions__=Tu(this.__actions__)).push({func:e,args:arguments,thisArg:n}),r.__chain__=t,r}return e.apply(n,a([this.value()],arguments))})}),n}function $a(){return re._===this&&(re._=Al),this}function Da(){}function Ma(n){return n=kc(n),uu(function(t){return Ge(t,n)})}function Fa(n){return Bi(n)?m(no(n)):Qe(n)}function Na(n){return function(t){return null==n?X:_e(n,t)}}function Pa(){return[]}function qa(){return!1}function Za(){return{}}function Ka(){return\"\";\n}function Va(){return!0}function Ga(n,t){if(n=kc(n),n<1||n>Wn)return[];var r=Un,e=Hl(n,Un);t=mi(t),n-=Un;for(var u=O(e,t);++r<n;)t(r);return u}function Ha(n){return bh(n)?c(n,no):bc(n)?[n]:Tu(Cs(Ec(n)))}function Ja(n){var t=++wl;return Ec(n)+t}function Ya(n){return n&&n.length?Yr(n,La,me):X}function Qa(n,t){return n&&n.length?Yr(n,mi(t,2),me):X}function Xa(n){return w(n,La)}function nl(n,t){return w(n,mi(t,2))}function tl(n){return n&&n.length?Yr(n,La,Ne):X}function rl(n,t){return n&&n.length?Yr(n,mi(t,2),Ne):X;\n}function el(n){return n&&n.length?k(n,La):0}function ul(n,t){return n&&n.length?k(n,mi(t,2)):0}x=null==x?re:be.defaults(re.Object(),x,be.pick(re,qr));var il=x.Array,ol=x.Date,fl=x.Error,cl=x.Function,al=x.Math,ll=x.Object,sl=x.RegExp,hl=x.String,pl=x.TypeError,_l=il.prototype,vl=cl.prototype,gl=ll.prototype,yl=x[\"__core-js_shared__\"],dl=vl.toString,bl=gl.hasOwnProperty,wl=0,ml=function(){var n=/[^.]+$/.exec(yl&&yl.keys&&yl.keys.IE_PROTO||\"\");return n?\"Symbol(src)_1.\"+n:\"\"}(),xl=gl.toString,jl=dl.call(ll),Al=re._,kl=sl(\"^\"+dl.call(bl).replace(St,\"\\\\$&\").replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g,\"$1.*?\")+\"$\"),Ol=ie?x.Buffer:X,Il=x.Symbol,Rl=x.Uint8Array,zl=Ol?Ol.allocUnsafe:X,El=F(ll.getPrototypeOf,ll),Sl=ll.create,Wl=gl.propertyIsEnumerable,Ll=_l.splice,Cl=Il?Il.isConcatSpreadable:X,Ul=Il?Il.iterator:X,Bl=Il?Il.toStringTag:X,Tl=function(){\ntry{var n=Ai(ll,\"defineProperty\");return n({},\"\",{}),n}catch(n){}}(),$l=x.clearTimeout!==re.clearTimeout&&x.clearTimeout,Dl=ol&&ol.now!==re.Date.now&&ol.now,Ml=x.setTimeout!==re.setTimeout&&x.setTimeout,Fl=al.ceil,Nl=al.floor,Pl=ll.getOwnPropertySymbols,ql=Ol?Ol.isBuffer:X,Zl=x.isFinite,Kl=_l.join,Vl=F(ll.keys,ll),Gl=al.max,Hl=al.min,Jl=ol.now,Yl=x.parseInt,Ql=al.random,Xl=_l.reverse,ns=Ai(x,\"DataView\"),ts=Ai(x,\"Map\"),rs=Ai(x,\"Promise\"),es=Ai(x,\"Set\"),us=Ai(x,\"WeakMap\"),is=Ai(ll,\"create\"),os=us&&new us,fs={},cs=to(ns),as=to(ts),ls=to(rs),ss=to(es),hs=to(us),ps=Il?Il.prototype:X,_s=ps?ps.valueOf:X,vs=ps?ps.toString:X,gs=function(){\nfunction n(){}return function(t){if(!fc(t))return{};if(Sl)return Sl(t);n.prototype=t;var r=new n;return n.prototype=X,r}}();Z.templateSettings={escape:kt,evaluate:Ot,interpolate:It,variable:\"\",imports:{_:Z}},Z.prototype=J.prototype,Z.prototype.constructor=Z,Y.prototype=gs(J.prototype),Y.prototype.constructor=Y,Ct.prototype=gs(J.prototype),Ct.prototype.constructor=Ct,Xt.prototype.clear=nr,Xt.prototype.delete=tr,Xt.prototype.get=rr,Xt.prototype.has=er,Xt.prototype.set=ur,ir.prototype.clear=or,ir.prototype.delete=fr,\nir.prototype.get=cr,ir.prototype.has=ar,ir.prototype.set=lr,sr.prototype.clear=hr,sr.prototype.delete=pr,sr.prototype.get=_r,sr.prototype.has=vr,sr.prototype.set=gr,yr.prototype.add=yr.prototype.push=dr,yr.prototype.has=br,wr.prototype.clear=mr,wr.prototype.delete=xr,wr.prototype.get=jr,wr.prototype.has=Ar,wr.prototype.set=kr;var ys=Pu(ue),ds=Pu(oe,!0),bs=qu(),ws=qu(!0),ms=os?function(n,t){return os.set(n,t),n}:La,xs=Tl?function(n,t){return Tl(n,\"toString\",{configurable:!0,enumerable:!1,value:Sa(t),\nwritable:!0})}:La,js=uu,As=$l||function(n){return re.clearTimeout(n)},ks=es&&1/P(new es([,-0]))[1]==Sn?function(n){return new es(n)}:Da,Os=os?function(n){return os.get(n)}:Da,Is=Pl?function(n){return null==n?[]:(n=ll(n),i(Pl(n),function(t){return Wl.call(n,t)}))}:Pa,Rs=Pl?function(n){for(var t=[];n;)a(t,Is(n)),n=El(n);return t}:Pa,zs=we;(ns&&zs(new ns(new ArrayBuffer(1)))!=ct||ts&&zs(new ts)!=Gn||rs&&zs(rs.resolve())!=Qn||es&&zs(new es)!=tt||us&&zs(new us)!=it)&&(zs=function(n){var t=we(n),r=t==Yn?n.constructor:X,e=r?to(r):\"\";\nif(e)switch(e){case cs:return ct;case as:return Gn;case ls:return Qn;case ss:return tt;case hs:return it}return t});var Es=yl?uc:qa,Ss=Qi(ms),Ws=Ml||function(n,t){return re.setTimeout(n,t)},Ls=Qi(xs),Cs=Pi(function(n){var t=[];return 46===n.charCodeAt(0)&&t.push(\"\"),n.replace(Et,function(n,r,e,u){t.push(e?u.replace(Mt,\"$1\"):r||n)}),t}),Us=uu(function(n,t){return Jf(n)?Hr(n,ee(t,1,Jf,!0)):[]}),Bs=uu(function(n,t){var r=jo(t);return Jf(r)&&(r=X),Jf(n)?Hr(n,ee(t,1,Jf,!0),mi(r,2)):[]}),Ts=uu(function(n,t){\nvar r=jo(t);return Jf(r)&&(r=X),Jf(n)?Hr(n,ee(t,1,Jf,!0),X,r):[]}),$s=uu(function(n){var t=c(n,ju);return t.length&&t[0]===n[0]?ke(t):[]}),Ds=uu(function(n){var t=jo(n),r=c(n,ju);return t===jo(r)?t=X:r.pop(),r.length&&r[0]===n[0]?ke(r,mi(t,2)):[]}),Ms=uu(function(n){var t=jo(n),r=c(n,ju);return t=\"function\"==typeof t?t:X,t&&r.pop(),r.length&&r[0]===n[0]?ke(r,X,t):[]}),Fs=uu(Oo),Ns=gi(function(n,t){var r=null==n?0:n.length,e=Tr(n,t);return nu(n,c(t,function(n){return Ci(n,r)?+n:n}).sort(Lu)),e}),Ps=uu(function(n){\nreturn gu(ee(n,1,Jf,!0))}),qs=uu(function(n){var t=jo(n);return Jf(t)&&(t=X),gu(ee(n,1,Jf,!0),mi(t,2))}),Zs=uu(function(n){var t=jo(n);return t=\"function\"==typeof t?t:X,gu(ee(n,1,Jf,!0),X,t)}),Ks=uu(function(n,t){return Jf(n)?Hr(n,t):[]}),Vs=uu(function(n){return mu(i(n,Jf))}),Gs=uu(function(n){var t=jo(n);return Jf(t)&&(t=X),mu(i(n,Jf),mi(t,2))}),Hs=uu(function(n){var t=jo(n);return t=\"function\"==typeof t?t:X,mu(i(n,Jf),X,t)}),Js=uu(Go),Ys=uu(function(n){var t=n.length,r=t>1?n[t-1]:X;return r=\"function\"==typeof r?(n.pop(),\nr):X,Ho(n,r)}),Qs=gi(function(n){var t=n.length,r=t?n[0]:0,e=this.__wrapped__,u=function(t){return Tr(t,n)};return!(t>1||this.__actions__.length)&&e instanceof Ct&&Ci(r)?(e=e.slice(r,+r+(t?1:0)),e.__actions__.push({func:nf,args:[u],thisArg:X}),new Y(e,this.__chain__).thru(function(n){return t&&!n.length&&n.push(X),n})):this.thru(u)}),Xs=Fu(function(n,t,r){bl.call(n,r)?++n[r]:Br(n,r,1)}),nh=Ju(ho),th=Ju(po),rh=Fu(function(n,t,r){bl.call(n,r)?n[r].push(t):Br(n,r,[t])}),eh=uu(function(t,r,e){var u=-1,i=\"function\"==typeof r,o=Hf(t)?il(t.length):[];\nreturn ys(t,function(t){o[++u]=i?n(r,t,e):Ie(t,r,e)}),o}),uh=Fu(function(n,t,r){Br(n,r,t)}),ih=Fu(function(n,t,r){n[r?0:1].push(t)},function(){return[[],[]]}),oh=uu(function(n,t){if(null==n)return[];var r=t.length;return r>1&&Ui(n,t[0],t[1])?t=[]:r>2&&Ui(t[0],t[1],t[2])&&(t=[t[0]]),He(n,ee(t,1),[])}),fh=Dl||function(){return re.Date.now()},ch=uu(function(n,t,r){var e=_n;if(r.length){var u=N(r,wi(ch));e|=bn}return ai(n,e,t,r,u)}),ah=uu(function(n,t,r){var e=_n|vn;if(r.length){var u=N(r,wi(ah));e|=bn;\n}return ai(t,e,n,r,u)}),lh=uu(function(n,t){return Gr(n,1,t)}),sh=uu(function(n,t,r){return Gr(n,Ic(t)||0,r)});Cf.Cache=sr;var hh=js(function(t,r){r=1==r.length&&bh(r[0])?c(r[0],z(mi())):c(ee(r,1),z(mi()));var e=r.length;return uu(function(u){for(var i=-1,o=Hl(u.length,e);++i<o;)u[i]=r[i].call(this,u[i]);return n(t,this,u)})}),ph=uu(function(n,t){return ai(n,bn,X,t,N(t,wi(ph)))}),_h=uu(function(n,t){return ai(n,wn,X,t,N(t,wi(_h)))}),vh=gi(function(n,t){return ai(n,xn,X,X,X,t)}),gh=ii(me),yh=ii(function(n,t){\nreturn n>=t}),dh=Re(function(){return arguments}())?Re:function(n){return cc(n)&&bl.call(n,\"callee\")&&!Wl.call(n,\"callee\")},bh=il.isArray,wh=ce?z(ce):ze,mh=ql||qa,xh=ae?z(ae):Ee,jh=le?z(le):Le,Ah=se?z(se):Be,kh=he?z(he):Te,Oh=pe?z(pe):$e,Ih=ii(Ne),Rh=ii(function(n,t){return n<=t}),zh=Nu(function(n,t){if(Mi(t)||Hf(t))return $u(t,Pc(t),n),X;for(var r in t)bl.call(t,r)&&Sr(n,r,t[r])}),Eh=Nu(function(n,t){$u(t,qc(t),n)}),Sh=Nu(function(n,t,r,e){$u(t,qc(t),n,e)}),Wh=Nu(function(n,t,r,e){$u(t,Pc(t),n,e);\n}),Lh=gi(Tr),Ch=uu(function(n,t){n=ll(n);var r=-1,e=t.length,u=e>2?t[2]:X;for(u&&Ui(t[0],t[1],u)&&(e=1);++r<e;)for(var i=t[r],o=qc(i),f=-1,c=o.length;++f<c;){var a=o[f],l=n[a];(l===X||Gf(l,gl[a])&&!bl.call(n,a))&&(n[a]=i[a])}return n}),Uh=uu(function(t){return t.push(X,si),n(Mh,X,t)}),Bh=Xu(function(n,t,r){null!=t&&\"function\"!=typeof t.toString&&(t=xl.call(t)),n[t]=r},Sa(La)),Th=Xu(function(n,t,r){null!=t&&\"function\"!=typeof t.toString&&(t=xl.call(t)),bl.call(n,t)?n[t].push(r):n[t]=[r]},mi),$h=uu(Ie),Dh=Nu(function(n,t,r){\nKe(n,t,r)}),Mh=Nu(function(n,t,r,e){Ke(n,t,r,e)}),Fh=gi(function(n,t){var r={};if(null==n)return r;var e=!1;t=c(t,function(t){return t=ku(t,n),e||(e=t.length>1),t}),$u(n,di(n),r),e&&(r=Fr(r,an|ln|sn,hi));for(var u=t.length;u--;)yu(r,t[u]);return r}),Nh=gi(function(n,t){return null==n?{}:Je(n,t)}),Ph=ci(Pc),qh=ci(qc),Zh=Vu(function(n,t,r){return t=t.toLowerCase(),n+(r?fa(t):t)}),Kh=Vu(function(n,t,r){return n+(r?\"-\":\"\")+t.toLowerCase()}),Vh=Vu(function(n,t,r){return n+(r?\" \":\"\")+t.toLowerCase()}),Gh=Ku(\"toLowerCase\"),Hh=Vu(function(n,t,r){\nreturn n+(r?\"_\":\"\")+t.toLowerCase()}),Jh=Vu(function(n,t,r){return n+(r?\" \":\"\")+Qh(t)}),Yh=Vu(function(n,t,r){return n+(r?\" \":\"\")+t.toUpperCase()}),Qh=Ku(\"toUpperCase\"),Xh=uu(function(t,r){try{return n(t,X,r)}catch(n){return rc(n)?n:new fl(n)}}),np=gi(function(n,t){return r(t,function(t){t=no(t),Br(n,t,ch(n[t],n))}),n}),tp=Yu(),rp=Yu(!0),ep=uu(function(n,t){return function(r){return Ie(r,n,t)}}),up=uu(function(n,t){return function(r){return Ie(n,r,t)}}),ip=ti(c),op=ti(u),fp=ti(h),cp=ui(),ap=ui(!0),lp=ni(function(n,t){\nreturn n+t},0),sp=fi(\"ceil\"),hp=ni(function(n,t){return n/t},1),pp=fi(\"floor\"),_p=ni(function(n,t){return n*t},1),vp=fi(\"round\"),gp=ni(function(n,t){return n-t},0);return Z.after=If,Z.ary=Rf,Z.assign=zh,Z.assignIn=Eh,Z.assignInWith=Sh,Z.assignWith=Wh,Z.at=Lh,Z.before=zf,Z.bind=ch,Z.bindAll=np,Z.bindKey=ah,Z.castArray=Nf,Z.chain=Qo,Z.chunk=uo,Z.compact=io,Z.concat=oo,Z.cond=za,Z.conforms=Ea,Z.constant=Sa,Z.countBy=Xs,Z.create=Sc,Z.curry=Ef,Z.curryRight=Sf,Z.debounce=Wf,Z.defaults=Ch,Z.defaultsDeep=Uh,\nZ.defer=lh,Z.delay=sh,Z.difference=Us,Z.differenceBy=Bs,Z.differenceWith=Ts,Z.drop=fo,Z.dropRight=co,Z.dropRightWhile=ao,Z.dropWhile=lo,Z.fill=so,Z.filter=lf,Z.flatMap=sf,Z.flatMapDeep=hf,Z.flatMapDepth=pf,Z.flatten=_o,Z.flattenDeep=vo,Z.flattenDepth=go,Z.flip=Lf,Z.flow=tp,Z.flowRight=rp,Z.fromPairs=yo,Z.functions=$c,Z.functionsIn=Dc,Z.groupBy=rh,Z.initial=mo,Z.intersection=$s,Z.intersectionBy=Ds,Z.intersectionWith=Ms,Z.invert=Bh,Z.invertBy=Th,Z.invokeMap=eh,Z.iteratee=Ca,Z.keyBy=uh,Z.keys=Pc,Z.keysIn=qc,\nZ.map=yf,Z.mapKeys=Zc,Z.mapValues=Kc,Z.matches=Ua,Z.matchesProperty=Ba,Z.memoize=Cf,Z.merge=Dh,Z.mergeWith=Mh,Z.method=ep,Z.methodOf=up,Z.mixin=Ta,Z.negate=Uf,Z.nthArg=Ma,Z.omit=Fh,Z.omitBy=Vc,Z.once=Bf,Z.orderBy=df,Z.over=ip,Z.overArgs=hh,Z.overEvery=op,Z.overSome=fp,Z.partial=ph,Z.partialRight=_h,Z.partition=ih,Z.pick=Nh,Z.pickBy=Gc,Z.property=Fa,Z.propertyOf=Na,Z.pull=Fs,Z.pullAll=Oo,Z.pullAllBy=Io,Z.pullAllWith=Ro,Z.pullAt=Ns,Z.range=cp,Z.rangeRight=ap,Z.rearg=vh,Z.reject=mf,Z.remove=zo,Z.rest=Tf,\nZ.reverse=Eo,Z.sampleSize=jf,Z.set=Jc,Z.setWith=Yc,Z.shuffle=Af,Z.slice=So,Z.sortBy=oh,Z.sortedUniq=$o,Z.sortedUniqBy=Do,Z.split=da,Z.spread=$f,Z.tail=Mo,Z.take=Fo,Z.takeRight=No,Z.takeRightWhile=Po,Z.takeWhile=qo,Z.tap=Xo,Z.throttle=Df,Z.thru=nf,Z.toArray=jc,Z.toPairs=Ph,Z.toPairsIn=qh,Z.toPath=Ha,Z.toPlainObject=Rc,Z.transform=Qc,Z.unary=Mf,Z.union=Ps,Z.unionBy=qs,Z.unionWith=Zs,Z.uniq=Zo,Z.uniqBy=Ko,Z.uniqWith=Vo,Z.unset=Xc,Z.unzip=Go,Z.unzipWith=Ho,Z.update=na,Z.updateWith=ta,Z.values=ra,Z.valuesIn=ea,\nZ.without=Ks,Z.words=Ra,Z.wrap=Ff,Z.xor=Vs,Z.xorBy=Gs,Z.xorWith=Hs,Z.zip=Js,Z.zipObject=Jo,Z.zipObjectDeep=Yo,Z.zipWith=Ys,Z.entries=Ph,Z.entriesIn=qh,Z.extend=Eh,Z.extendWith=Sh,Ta(Z,Z),Z.add=lp,Z.attempt=Xh,Z.camelCase=Zh,Z.capitalize=fa,Z.ceil=sp,Z.clamp=ua,Z.clone=Pf,Z.cloneDeep=Zf,Z.cloneDeepWith=Kf,Z.cloneWith=qf,Z.conformsTo=Vf,Z.deburr=ca,Z.defaultTo=Wa,Z.divide=hp,Z.endsWith=aa,Z.eq=Gf,Z.escape=la,Z.escapeRegExp=sa,Z.every=af,Z.find=nh,Z.findIndex=ho,Z.findKey=Wc,Z.findLast=th,Z.findLastIndex=po,\nZ.findLastKey=Lc,Z.floor=pp,Z.forEach=_f,Z.forEachRight=vf,Z.forIn=Cc,Z.forInRight=Uc,Z.forOwn=Bc,Z.forOwnRight=Tc,Z.get=Mc,Z.gt=gh,Z.gte=yh,Z.has=Fc,Z.hasIn=Nc,Z.head=bo,Z.identity=La,Z.includes=gf,Z.indexOf=wo,Z.inRange=ia,Z.invoke=$h,Z.isArguments=dh,Z.isArray=bh,Z.isArrayBuffer=wh,Z.isArrayLike=Hf,Z.isArrayLikeObject=Jf,Z.isBoolean=Yf,Z.isBuffer=mh,Z.isDate=xh,Z.isElement=Qf,Z.isEmpty=Xf,Z.isEqual=nc,Z.isEqualWith=tc,Z.isError=rc,Z.isFinite=ec,Z.isFunction=uc,Z.isInteger=ic,Z.isLength=oc,Z.isMap=jh,\nZ.isMatch=ac,Z.isMatchWith=lc,Z.isNaN=sc,Z.isNative=hc,Z.isNil=_c,Z.isNull=pc,Z.isNumber=vc,Z.isObject=fc,Z.isObjectLike=cc,Z.isPlainObject=gc,Z.isRegExp=Ah,Z.isSafeInteger=yc,Z.isSet=kh,Z.isString=dc,Z.isSymbol=bc,Z.isTypedArray=Oh,Z.isUndefined=wc,Z.isWeakMap=mc,Z.isWeakSet=xc,Z.join=xo,Z.kebabCase=Kh,Z.last=jo,Z.lastIndexOf=Ao,Z.lowerCase=Vh,Z.lowerFirst=Gh,Z.lt=Ih,Z.lte=Rh,Z.max=Ya,Z.maxBy=Qa,Z.mean=Xa,Z.meanBy=nl,Z.min=tl,Z.minBy=rl,Z.stubArray=Pa,Z.stubFalse=qa,Z.stubObject=Za,Z.stubString=Ka,\nZ.stubTrue=Va,Z.multiply=_p,Z.nth=ko,Z.noConflict=$a,Z.noop=Da,Z.now=fh,Z.pad=ha,Z.padEnd=pa,Z.padStart=_a,Z.parseInt=va,Z.random=oa,Z.reduce=bf,Z.reduceRight=wf,Z.repeat=ga,Z.replace=ya,Z.result=Hc,Z.round=vp,Z.runInContext=p,Z.sample=xf,Z.size=kf,Z.snakeCase=Hh,Z.some=Of,Z.sortedIndex=Wo,Z.sortedIndexBy=Lo,Z.sortedIndexOf=Co,Z.sortedLastIndex=Uo,Z.sortedLastIndexBy=Bo,Z.sortedLastIndexOf=To,Z.startCase=Jh,Z.startsWith=ba,Z.subtract=gp,Z.sum=el,Z.sumBy=ul,Z.template=wa,Z.times=Ga,Z.toFinite=Ac,Z.toInteger=kc,\nZ.toLength=Oc,Z.toLower=ma,Z.toNumber=Ic,Z.toSafeInteger=zc,Z.toString=Ec,Z.toUpper=xa,Z.trim=ja,Z.trimEnd=Aa,Z.trimStart=ka,Z.truncate=Oa,Z.unescape=Ia,Z.uniqueId=Ja,Z.upperCase=Yh,Z.upperFirst=Qh,Z.each=_f,Z.eachRight=vf,Z.first=bo,Ta(Z,function(){var n={};return ue(Z,function(t,r){bl.call(Z.prototype,r)||(n[r]=t)}),n}(),{chain:!1}),Z.VERSION=nn,r([\"bind\",\"bindKey\",\"curry\",\"curryRight\",\"partial\",\"partialRight\"],function(n){Z[n].placeholder=Z}),r([\"drop\",\"take\"],function(n,t){Ct.prototype[n]=function(r){\nr=r===X?1:Gl(kc(r),0);var e=this.__filtered__&&!t?new Ct(this):this.clone();return e.__filtered__?e.__takeCount__=Hl(r,e.__takeCount__):e.__views__.push({size:Hl(r,Un),type:n+(e.__dir__<0?\"Right\":\"\")}),e},Ct.prototype[n+\"Right\"]=function(t){return this.reverse()[n](t).reverse()}}),r([\"filter\",\"map\",\"takeWhile\"],function(n,t){var r=t+1,e=r==Rn||r==En;Ct.prototype[n]=function(n){var t=this.clone();return t.__iteratees__.push({iteratee:mi(n,3),type:r}),t.__filtered__=t.__filtered__||e,t}}),r([\"head\",\"last\"],function(n,t){\nvar r=\"take\"+(t?\"Right\":\"\");Ct.prototype[n]=function(){return this[r](1).value()[0]}}),r([\"initial\",\"tail\"],function(n,t){var r=\"drop\"+(t?\"\":\"Right\");Ct.prototype[n]=function(){return this.__filtered__?new Ct(this):this[r](1)}}),Ct.prototype.compact=function(){return this.filter(La)},Ct.prototype.find=function(n){return this.filter(n).head()},Ct.prototype.findLast=function(n){return this.reverse().find(n)},Ct.prototype.invokeMap=uu(function(n,t){return\"function\"==typeof n?new Ct(this):this.map(function(r){\nreturn Ie(r,n,t)})}),Ct.prototype.reject=function(n){return this.filter(Uf(mi(n)))},Ct.prototype.slice=function(n,t){n=kc(n);var r=this;return r.__filtered__&&(n>0||t<0)?new Ct(r):(n<0?r=r.takeRight(-n):n&&(r=r.drop(n)),t!==X&&(t=kc(t),r=t<0?r.dropRight(-t):r.take(t-n)),r)},Ct.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},Ct.prototype.toArray=function(){return this.take(Un)},ue(Ct.prototype,function(n,t){var r=/^(?:filter|find|map|reject)|While$/.test(t),e=/^(?:head|last)$/.test(t),u=Z[e?\"take\"+(\"last\"==t?\"Right\":\"\"):t],i=e||/^find/.test(t);\nu&&(Z.prototype[t]=function(){var t=this.__wrapped__,o=e?[1]:arguments,f=t instanceof Ct,c=o[0],l=f||bh(t),s=function(n){var t=u.apply(Z,a([n],o));return e&&h?t[0]:t};l&&r&&\"function\"==typeof c&&1!=c.length&&(f=l=!1);var h=this.__chain__,p=!!this.__actions__.length,_=i&&!h,v=f&&!p;if(!i&&l){t=v?t:new Ct(this);var g=n.apply(t,o);return g.__actions__.push({func:nf,args:[s],thisArg:X}),new Y(g,h)}return _&&v?n.apply(this,o):(g=this.thru(s),_?e?g.value()[0]:g.value():g)})}),r([\"pop\",\"push\",\"shift\",\"sort\",\"splice\",\"unshift\"],function(n){\nvar t=_l[n],r=/^(?:push|sort|unshift)$/.test(n)?\"tap\":\"thru\",e=/^(?:pop|shift)$/.test(n);Z.prototype[n]=function(){var n=arguments;if(e&&!this.__chain__){var u=this.value();return t.apply(bh(u)?u:[],n)}return this[r](function(r){return t.apply(bh(r)?r:[],n)})}}),ue(Ct.prototype,function(n,t){var r=Z[t];if(r){var e=r.name+\"\";bl.call(fs,e)||(fs[e]=[]),fs[e].push({name:t,func:r})}}),fs[Qu(X,vn).name]=[{name:\"wrapper\",func:X}],Ct.prototype.clone=$t,Ct.prototype.reverse=Yt,Ct.prototype.value=Qt,Z.prototype.at=Qs,\nZ.prototype.chain=tf,Z.prototype.commit=rf,Z.prototype.next=ef,Z.prototype.plant=of,Z.prototype.reverse=ff,Z.prototype.toJSON=Z.prototype.valueOf=Z.prototype.value=cf,Z.prototype.first=Z.prototype.head,Ul&&(Z.prototype[Ul]=uf),Z},be=de();\"function\"==typeof define&&\"object\"==typeof define.amd&&define.amd?(re._=be,define(function(){return be})):ue?((ue.exports=be)._=be,ee._=be):re._=be}).call(this);", "/** Used to map aliases to their real names. */\nexports.aliasToReal = {\n\n // Lodash aliases.\n 'each': 'forEach',\n 'eachRight': 'forEachRight',\n 'entries': 'toPairs',\n 'entriesIn': 'toPairsIn',\n 'extend': 'assignIn',\n 'extendAll': 'assignInAll',\n 'extendAllWith': 'assignInAllWith',\n 'extendWith': 'assignInWith',\n 'first': 'head',\n\n // Methods that are curried variants of others.\n 'conforms': 'conformsTo',\n 'matches': 'isMatch',\n 'property': 'get',\n\n // Ramda aliases.\n '__': 'placeholder',\n 'F': 'stubFalse',\n 'T': 'stubTrue',\n 'all': 'every',\n 'allPass': 'overEvery',\n 'always': 'constant',\n 'any': 'some',\n 'anyPass': 'overSome',\n 'apply': 'spread',\n 'assoc': 'set',\n 'assocPath': 'set',\n 'complement': 'negate',\n 'compose': 'flowRight',\n 'contains': 'includes',\n 'dissoc': 'unset',\n 'dissocPath': 'unset',\n 'dropLast': 'dropRight',\n 'dropLastWhile': 'dropRightWhile',\n 'equals': 'isEqual',\n 'identical': 'eq',\n 'indexBy': 'keyBy',\n 'init': 'initial',\n 'invertObj': 'invert',\n 'juxt': 'over',\n 'omitAll': 'omit',\n 'nAry': 'ary',\n 'path': 'get',\n 'pathEq': 'matchesProperty',\n 'pathOr': 'getOr',\n 'paths': 'at',\n 'pickAll': 'pick',\n 'pipe': 'flow',\n 'pluck': 'map',\n 'prop': 'get',\n 'propEq': 'matchesProperty',\n 'propOr': 'getOr',\n 'props': 'at',\n 'symmetricDifference': 'xor',\n 'symmetricDifferenceBy': 'xorBy',\n 'symmetricDifferenceWith': 'xorWith',\n 'takeLast': 'takeRight',\n 'takeLastWhile': 'takeRightWhile',\n 'unapply': 'rest',\n 'unnest': 'flatten',\n 'useWith': 'overArgs',\n 'where': 'conformsTo',\n 'whereEq': 'isMatch',\n 'zipObj': 'zipObject'\n};\n\n/** Used to map ary to method names. */\nexports.aryMethod = {\n '1': [\n 'assignAll', 'assignInAll', 'attempt', 'castArray', 'ceil', 'create',\n 'curry', 'curryRight', 'defaultsAll', 'defaultsDeepAll', 'floor', 'flow',\n 'flowRight', 'fromPairs', 'invert', 'iteratee', 'memoize', 'method', 'mergeAll',\n 'methodOf', 'mixin', 'nthArg', 'over', 'overEvery', 'overSome','rest', 'reverse',\n 'round', 'runInContext', 'spread', 'template', 'trim', 'trimEnd', 'trimStart',\n 'uniqueId', 'words', 'zipAll'\n ],\n '2': [\n 'add', 'after', 'ary', 'assign', 'assignAllWith', 'assignIn', 'assignInAllWith',\n 'at', 'before', 'bind', 'bindAll', 'bindKey', 'chunk', 'cloneDeepWith',\n 'cloneWith', 'concat', 'conformsTo', 'countBy', 'curryN', 'curryRightN',\n 'debounce', 'defaults', 'defaultsDeep', 'defaultTo', 'delay', 'difference',\n 'divide', 'drop', 'dropRight', 'dropRightWhile', 'dropWhile', 'endsWith', 'eq',\n 'every', 'filter', 'find', 'findIndex', 'findKey', 'findLast', 'findLastIndex',\n 'findLastKey', 'flatMap', 'flatMapDeep', 'flattenDepth', 'forEach',\n 'forEachRight', 'forIn', 'forInRight', 'forOwn', 'forOwnRight', 'get',\n 'groupBy', 'gt', 'gte', 'has', 'hasIn', 'includes', 'indexOf', 'intersection',\n 'invertBy', 'invoke', 'invokeMap', 'isEqual', 'isMatch', 'join', 'keyBy',\n 'lastIndexOf', 'lt', 'lte', 'map', 'mapKeys', 'mapValues', 'matchesProperty',\n 'maxBy', 'meanBy', 'merge', 'mergeAllWith', 'minBy', 'multiply', 'nth', 'omit',\n 'omitBy', 'overArgs', 'pad', 'padEnd', 'padStart', 'parseInt', 'partial',\n 'partialRight', 'partition', 'pick', 'pickBy', 'propertyOf', 'pull', 'pullAll',\n 'pullAt', 'random', 'range', 'rangeRight', 'rearg', 'reject', 'remove',\n 'repeat', 'restFrom', 'result', 'sampleSize', 'some', 'sortBy', 'sortedIndex',\n 'sortedIndexOf', 'sortedLastIndex', 'sortedLastIndexOf', 'sortedUniqBy',\n 'split', 'spreadFrom', 'startsWith', 'subtract', 'sumBy', 'take', 'takeRight',\n 'takeRightWhile', 'takeWhile', 'tap', 'throttle', 'thru', 'times', 'trimChars',\n 'trimCharsEnd', 'trimCharsStart', 'truncate', 'union', 'uniqBy', 'uniqWith',\n 'unset', 'unzipWith', 'without', 'wrap', 'xor', 'zip', 'zipObject',\n 'zipObjectDeep'\n ],\n '3': [\n 'assignInWith', 'assignWith', 'clamp', 'differenceBy', 'differenceWith',\n 'findFrom', 'findIndexFrom', 'findLastFrom', 'findLastIndexFrom', 'getOr',\n 'includesFrom', 'indexOfFrom', 'inRange', 'intersectionBy', 'intersectionWith',\n 'invokeArgs', 'invokeArgsMap', 'isEqualWith', 'isMatchWith', 'flatMapDepth',\n 'lastIndexOfFrom', 'mergeWith', 'orderBy', 'padChars', 'padCharsEnd',\n 'padCharsStart', 'pullAllBy', 'pullAllWith', 'rangeStep', 'rangeStepRight',\n 'reduce', 'reduceRight', 'replace', 'set', 'slice', 'sortedIndexBy',\n 'sortedLastIndexBy', 'transform', 'unionBy', 'unionWith', 'update', 'xorBy',\n 'xorWith', 'zipWith'\n ],\n '4': [\n 'fill', 'setWith', 'updateWith'\n ]\n};\n\n/** Used to map ary to rearg configs. */\nexports.aryRearg = {\n '2': [1, 0],\n '3': [2, 0, 1],\n '4': [3, 2, 0, 1]\n};\n\n/** Used to map method names to their iteratee ary. */\nexports.iterateeAry = {\n 'dropRightWhile': 1,\n 'dropWhile': 1,\n 'every': 1,\n 'filter': 1,\n 'find': 1,\n 'findFrom': 1,\n 'findIndex': 1,\n 'findIndexFrom': 1,\n 'findKey': 1,\n 'findLast': 1,\n 'findLastFrom': 1,\n 'findLastIndex': 1,\n 'findLastIndexFrom': 1,\n 'findLastKey': 1,\n 'flatMap': 1,\n 'flatMapDeep': 1,\n 'flatMapDepth': 1,\n 'forEach': 1,\n 'forEachRight': 1,\n 'forIn': 1,\n 'forInRight': 1,\n 'forOwn': 1,\n 'forOwnRight': 1,\n 'map': 1,\n 'mapKeys': 1,\n 'mapValues': 1,\n 'partition': 1,\n 'reduce': 2,\n 'reduceRight': 2,\n 'reject': 1,\n 'remove': 1,\n 'some': 1,\n 'takeRightWhile': 1,\n 'takeWhile': 1,\n 'times': 1,\n 'transform': 2\n};\n\n/** Used to map method names to iteratee rearg configs. */\nexports.iterateeRearg = {\n 'mapKeys': [1],\n 'reduceRight': [1, 0]\n};\n\n/** Used to map method names to rearg configs. */\nexports.methodRearg = {\n 'assignInAllWith': [1, 0],\n 'assignInWith': [1, 2, 0],\n 'assignAllWith': [1, 0],\n 'assignWith': [1, 2, 0],\n 'differenceBy': [1, 2, 0],\n 'differenceWith': [1, 2, 0],\n 'getOr': [2, 1, 0],\n 'intersectionBy': [1, 2, 0],\n 'intersectionWith': [1, 2, 0],\n 'isEqualWith': [1, 2, 0],\n 'isMatchWith': [2, 1, 0],\n 'mergeAllWith': [1, 0],\n 'mergeWith': [1, 2, 0],\n 'padChars': [2, 1, 0],\n 'padCharsEnd': [2, 1, 0],\n 'padCharsStart': [2, 1, 0],\n 'pullAllBy': [2, 1, 0],\n 'pullAllWith': [2, 1, 0],\n 'rangeStep': [1, 2, 0],\n 'rangeStepRight': [1, 2, 0],\n 'setWith': [3, 1, 2, 0],\n 'sortedIndexBy': [2, 1, 0],\n 'sortedLastIndexBy': [2, 1, 0],\n 'unionBy': [1, 2, 0],\n 'unionWith': [1, 2, 0],\n 'updateWith': [3, 1, 2, 0],\n 'xorBy': [1, 2, 0],\n 'xorWith': [1, 2, 0],\n 'zipWith': [1, 2, 0]\n};\n\n/** Used to map method names to spread configs. */\nexports.methodSpread = {\n 'assignAll': { 'start': 0 },\n 'assignAllWith': { 'start': 0 },\n 'assignInAll': { 'start': 0 },\n 'assignInAllWith': { 'start': 0 },\n 'defaultsAll': { 'start': 0 },\n 'defaultsDeepAll': { 'start': 0 },\n 'invokeArgs': { 'start': 2 },\n 'invokeArgsMap': { 'start': 2 },\n 'mergeAll': { 'start': 0 },\n 'mergeAllWith': { 'start': 0 },\n 'partial': { 'start': 1 },\n 'partialRight': { 'start': 1 },\n 'without': { 'start': 1 },\n 'zipAll': { 'start': 0 }\n};\n\n/** Used to identify methods which mutate arrays or objects. */\nexports.mutate = {\n 'array': {\n 'fill': true,\n 'pull': true,\n 'pullAll': true,\n 'pullAllBy': true,\n 'pullAllWith': true,\n 'pullAt': true,\n 'remove': true,\n 'reverse': true\n },\n 'object': {\n 'assign': true,\n 'assignAll': true,\n 'assignAllWith': true,\n 'assignIn': true,\n 'assignInAll': true,\n 'assignInAllWith': true,\n 'assignInWith': true,\n 'assignWith': true,\n 'defaults': true,\n 'defaultsAll': true,\n 'defaultsDeep': true,\n 'defaultsDeepAll': true,\n 'merge': true,\n 'mergeAll': true,\n 'mergeAllWith': true,\n 'mergeWith': true,\n },\n 'set': {\n 'set': true,\n 'setWith': true,\n 'unset': true,\n 'update': true,\n 'updateWith': true\n }\n};\n\n/** Used to map real names to their aliases. */\nexports.realToAlias = (function() {\n var hasOwnProperty = Object.prototype.hasOwnProperty,\n object = exports.aliasToReal,\n result = {};\n\n for (var key in object) {\n var value = object[key];\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }\n return result;\n}());\n\n/** Used to map method names to other names. */\nexports.remap = {\n 'assignAll': 'assign',\n 'assignAllWith': 'assignWith',\n 'assignInAll': 'assignIn',\n 'assignInAllWith': 'assignInWith',\n 'curryN': 'curry',\n 'curryRightN': 'curryRight',\n 'defaultsAll': 'defaults',\n 'defaultsDeepAll': 'defaultsDeep',\n 'findFrom': 'find',\n 'findIndexFrom': 'findIndex',\n 'findLastFrom': 'findLast',\n 'findLastIndexFrom': 'findLastIndex',\n 'getOr': 'get',\n 'includesFrom': 'includes',\n 'indexOfFrom': 'indexOf',\n 'invokeArgs': 'invoke',\n 'invokeArgsMap': 'invokeMap',\n 'lastIndexOfFrom': 'lastIndexOf',\n 'mergeAll': 'merge',\n 'mergeAllWith': 'mergeWith',\n 'padChars': 'pad',\n 'padCharsEnd': 'padEnd',\n 'padCharsStart': 'padStart',\n 'propertyOf': 'get',\n 'rangeStep': 'range',\n 'rangeStepRight': 'rangeRight',\n 'restFrom': 'rest',\n 'spreadFrom': 'spread',\n 'trimChars': 'trim',\n 'trimCharsEnd': 'trimEnd',\n 'trimCharsStart': 'trimStart',\n 'zipAll': 'zip'\n};\n\n/** Used to track methods that skip fixing their arity. */\nexports.skipFixed = {\n 'castArray': true,\n 'flow': true,\n 'flowRight': true,\n 'iteratee': true,\n 'mixin': true,\n 'rearg': true,\n 'runInContext': true\n};\n\n/** Used to track methods that skip rearranging arguments. */\nexports.skipRearg = {\n 'add': true,\n 'assign': true,\n 'assignIn': true,\n 'bind': true,\n 'bindKey': true,\n 'concat': true,\n 'difference': true,\n 'divide': true,\n 'eq': true,\n 'gt': true,\n 'gte': true,\n 'isEqual': true,\n 'lt': true,\n 'lte': true,\n 'matchesProperty': true,\n 'merge': true,\n 'multiply': true,\n 'overArgs': true,\n 'partial': true,\n 'partialRight': true,\n 'propertyOf': true,\n 'random': true,\n 'range': true,\n 'rangeRight': true,\n 'subtract': true,\n 'zip': true,\n 'zipObject': true,\n 'zipObjectDeep': true\n};\n", "/**\n * The default argument placeholder value for methods.\n *\n * @type {Object}\n */\nmodule.exports = {};\n", "var mapping = require('./_mapping'),\n fallbackHolder = require('./placeholder');\n\n/** Built-in value reference. */\nvar push = Array.prototype.push;\n\n/**\n * Creates a function, with an arity of `n`, that invokes `func` with the\n * arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} n The arity of the new function.\n * @returns {Function} Returns the new function.\n */\nfunction baseArity(func, n) {\n return n == 2\n ? function(a, b) { return func.apply(undefined, arguments); }\n : function(a) { return func.apply(undefined, arguments); };\n}\n\n/**\n * Creates a function that invokes `func`, with up to `n` arguments, ignoring\n * any additional arguments.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the new function.\n */\nfunction baseAry(func, n) {\n return n == 2\n ? function(a, b) { return func(a, b); }\n : function(a) { return func(a); };\n}\n\n/**\n * Creates a clone of `array`.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the cloned array.\n */\nfunction cloneArray(array) {\n var length = array ? array.length : 0,\n result = Array(length);\n\n while (length--) {\n result[length] = array[length];\n }\n return result;\n}\n\n/**\n * Creates a function that clones a given object using the assignment `func`.\n *\n * @private\n * @param {Function} func The assignment function.\n * @returns {Function} Returns the new cloner function.\n */\nfunction createCloner(func) {\n return function(object) {\n return func({}, object);\n };\n}\n\n/**\n * A specialized version of `_.spread` which flattens the spread array into\n * the arguments of the invoked `func`.\n *\n * @private\n * @param {Function} func The function to spread arguments over.\n * @param {number} start The start position of the spread.\n * @returns {Function} Returns the new function.\n */\nfunction flatSpread(func, start) {\n return function() {\n var length = arguments.length,\n lastIndex = length - 1,\n args = Array(length);\n\n while (length--) {\n args[length] = arguments[length];\n }\n var array = args[start],\n otherArgs = args.slice(0, start);\n\n if (array) {\n push.apply(otherArgs, array);\n }\n if (start != lastIndex) {\n push.apply(otherArgs, args.slice(start + 1));\n }\n return func.apply(this, otherArgs);\n };\n}\n\n/**\n * Creates a function that wraps `func` and uses `cloner` to clone the first\n * argument it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} cloner The function to clone arguments.\n * @returns {Function} Returns the new immutable function.\n */\nfunction wrapImmutable(func, cloner) {\n return function() {\n var length = arguments.length;\n if (!length) {\n return;\n }\n var args = Array(length);\n while (length--) {\n args[length] = arguments[length];\n }\n var result = args[0] = cloner.apply(undefined, args);\n func.apply(undefined, args);\n return result;\n };\n}\n\n/**\n * The base implementation of `convert` which accepts a `util` object of methods\n * required to perform conversions.\n *\n * @param {Object} util The util object.\n * @param {string} name The name of the function to convert.\n * @param {Function} func The function to convert.\n * @param {Object} [options] The options object.\n * @param {boolean} [options.cap=true] Specify capping iteratee arguments.\n * @param {boolean} [options.curry=true] Specify currying.\n * @param {boolean} [options.fixed=true] Specify fixed arity.\n * @param {boolean} [options.immutable=true] Specify immutable operations.\n * @param {boolean} [options.rearg=true] Specify rearranging arguments.\n * @returns {Function|Object} Returns the converted function or object.\n */\nfunction baseConvert(util, name, func, options) {\n var isLib = typeof name == 'function',\n isObj = name === Object(name);\n\n if (isObj) {\n options = func;\n func = name;\n name = undefined;\n }\n if (func == null) {\n throw new TypeError;\n }\n options || (options = {});\n\n var config = {\n 'cap': 'cap' in options ? options.cap : true,\n 'curry': 'curry' in options ? options.curry : true,\n 'fixed': 'fixed' in options ? options.fixed : true,\n 'immutable': 'immutable' in options ? options.immutable : true,\n 'rearg': 'rearg' in options ? options.rearg : true\n };\n\n var defaultHolder = isLib ? func : fallbackHolder,\n forceCurry = ('curry' in options) && options.curry,\n forceFixed = ('fixed' in options) && options.fixed,\n forceRearg = ('rearg' in options) && options.rearg,\n pristine = isLib ? func.runInContext() : undefined;\n\n var helpers = isLib ? func : {\n 'ary': util.ary,\n 'assign': util.assign,\n 'clone': util.clone,\n 'curry': util.curry,\n 'forEach': util.forEach,\n 'isArray': util.isArray,\n 'isError': util.isError,\n 'isFunction': util.isFunction,\n 'isWeakMap': util.isWeakMap,\n 'iteratee': util.iteratee,\n 'keys': util.keys,\n 'rearg': util.rearg,\n 'toInteger': util.toInteger,\n 'toPath': util.toPath\n };\n\n var ary = helpers.ary,\n assign = helpers.assign,\n clone = helpers.clone,\n curry = helpers.curry,\n each = helpers.forEach,\n isArray = helpers.isArray,\n isError = helpers.isError,\n isFunction = helpers.isFunction,\n isWeakMap = helpers.isWeakMap,\n keys = helpers.keys,\n rearg = helpers.rearg,\n toInteger = helpers.toInteger,\n toPath = helpers.toPath;\n\n var aryMethodKeys = keys(mapping.aryMethod);\n\n var wrappers = {\n 'castArray': function(castArray) {\n return function() {\n var value = arguments[0];\n return isArray(value)\n ? castArray(cloneArray(value))\n : castArray.apply(undefined, arguments);\n };\n },\n 'iteratee': function(iteratee) {\n return function() {\n var func = arguments[0],\n arity = arguments[1],\n result = iteratee(func, arity),\n length = result.length;\n\n if (config.cap && typeof arity == 'number') {\n arity = arity > 2 ? (arity - 2) : 1;\n return (length && length <= arity) ? result : baseAry(result, arity);\n }\n return result;\n };\n },\n 'mixin': function(mixin) {\n return function(source) {\n var func = this;\n if (!isFunction(func)) {\n return mixin(func, Object(source));\n }\n var pairs = [];\n each(keys(source), function(key) {\n if (isFunction(source[key])) {\n pairs.push([key, func.prototype[key]]);\n }\n });\n\n mixin(func, Object(source));\n\n each(pairs, function(pair) {\n var value = pair[1];\n if (isFunction(value)) {\n func.prototype[pair[0]] = value;\n } else {\n delete func.prototype[pair[0]];\n }\n });\n return func;\n };\n },\n 'nthArg': function(nthArg) {\n return function(n) {\n var arity = n < 0 ? 1 : (toInteger(n) + 1);\n return curry(nthArg(n), arity);\n };\n },\n 'rearg': function(rearg) {\n return function(func, indexes) {\n var arity = indexes ? indexes.length : 0;\n return curry(rearg(func, indexes), arity);\n };\n },\n 'runInContext': function(runInContext) {\n return function(context) {\n return baseConvert(util, runInContext(context), options);\n };\n }\n };\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Casts `func` to a function with an arity capped iteratee if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @returns {Function} Returns the cast function.\n */\n function castCap(name, func) {\n if (config.cap) {\n var indexes = mapping.iterateeRearg[name];\n if (indexes) {\n return iterateeRearg(func, indexes);\n }\n var n = !isLib && mapping.iterateeAry[name];\n if (n) {\n return iterateeAry(func, n);\n }\n }\n return func;\n }\n\n /**\n * Casts `func` to a curried function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity of `func`.\n * @returns {Function} Returns the cast function.\n */\n function castCurry(name, func, n) {\n return (forceCurry || (config.curry && n > 1))\n ? curry(func, n)\n : func;\n }\n\n /**\n * Casts `func` to a fixed arity function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the cast function.\n */\n function castFixed(name, func, n) {\n if (config.fixed && (forceFixed || !mapping.skipFixed[name])) {\n var data = mapping.methodSpread[name],\n start = data && data.start;\n\n return start === undefined ? ary(func, n) : flatSpread(func, start);\n }\n return func;\n }\n\n /**\n * Casts `func` to an rearged function if needed.\n *\n * @private\n * @param {string} name The name of the function to inspect.\n * @param {Function} func The function to inspect.\n * @param {number} n The arity of `func`.\n * @returns {Function} Returns the cast function.\n */\n function castRearg(name, func, n) {\n return (config.rearg && n > 1 && (forceRearg || !mapping.skipRearg[name]))\n ? rearg(func, mapping.methodRearg[name] || mapping.aryRearg[n])\n : func;\n }\n\n /**\n * Creates a clone of `object` by `path`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {Array|string} path The path to clone by.\n * @returns {Object} Returns the cloned object.\n */\n function cloneByPath(object, path) {\n path = toPath(path);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n result = clone(Object(object)),\n nested = result;\n\n while (nested != null && ++index < length) {\n var key = path[index],\n value = nested[key];\n\n if (value != null &&\n !(isFunction(value) || isError(value) || isWeakMap(value))) {\n nested[key] = clone(index == lastIndex ? value : Object(value));\n }\n nested = nested[key];\n }\n return result;\n }\n\n /**\n * Converts `lodash` to an immutable auto-curried iteratee-first data-last\n * version with conversion `options` applied.\n *\n * @param {Object} [options] The options object. See `baseConvert` for more details.\n * @returns {Function} Returns the converted `lodash`.\n */\n function convertLib(options) {\n return _.runInContext.convert(options)(undefined);\n }\n\n /**\n * Create a converter function for `func` of `name`.\n *\n * @param {string} name The name of the function to convert.\n * @param {Function} func The function to convert.\n * @returns {Function} Returns the new converter function.\n */\n function createConverter(name, func) {\n var realName = mapping.aliasToReal[name] || name,\n methodName = mapping.remap[realName] || realName,\n oldOptions = options;\n\n return function(options) {\n var newUtil = isLib ? pristine : helpers,\n newFunc = isLib ? pristine[methodName] : func,\n newOptions = assign(assign({}, oldOptions), options);\n\n return baseConvert(newUtil, realName, newFunc, newOptions);\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke its iteratee, with up to `n`\n * arguments, ignoring any additional arguments.\n *\n * @private\n * @param {Function} func The function to cap iteratee arguments for.\n * @param {number} n The arity cap.\n * @returns {Function} Returns the new function.\n */\n function iterateeAry(func, n) {\n return overArg(func, function(func) {\n return typeof func == 'function' ? baseAry(func, n) : func;\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke its iteratee with arguments\n * arranged according to the specified `indexes` where the argument value at\n * the first index is provided as the first argument, the argument value at\n * the second index is provided as the second argument, and so on.\n *\n * @private\n * @param {Function} func The function to rearrange iteratee arguments for.\n * @param {number[]} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n */\n function iterateeRearg(func, indexes) {\n return overArg(func, function(func) {\n var n = indexes.length;\n return baseArity(rearg(baseAry(func, n), indexes), n);\n });\n }\n\n /**\n * Creates a function that invokes `func` with its first argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function() {\n var length = arguments.length;\n if (!length) {\n return func();\n }\n var args = Array(length);\n while (length--) {\n args[length] = arguments[length];\n }\n var index = config.rearg ? 0 : (length - 1);\n args[index] = transform(args[index]);\n return func.apply(undefined, args);\n };\n }\n\n /**\n * Creates a function that wraps `func` and applys the conversions\n * rules by `name`.\n *\n * @private\n * @param {string} name The name of the function to wrap.\n * @param {Function} func The function to wrap.\n * @returns {Function} Returns the converted function.\n */\n function wrap(name, func, placeholder) {\n var result,\n realName = mapping.aliasToReal[name] || name,\n wrapped = func,\n wrapper = wrappers[realName];\n\n if (wrapper) {\n wrapped = wrapper(func);\n }\n else if (config.immutable) {\n if (mapping.mutate.array[realName]) {\n wrapped = wrapImmutable(func, cloneArray);\n }\n else if (mapping.mutate.object[realName]) {\n wrapped = wrapImmutable(func, createCloner(func));\n }\n else if (mapping.mutate.set[realName]) {\n wrapped = wrapImmutable(func, cloneByPath);\n }\n }\n each(aryMethodKeys, function(aryKey) {\n each(mapping.aryMethod[aryKey], function(otherName) {\n if (realName == otherName) {\n var data = mapping.methodSpread[realName],\n afterRearg = data && data.afterRearg;\n\n result = afterRearg\n ? castFixed(realName, castRearg(realName, wrapped, aryKey), aryKey)\n : castRearg(realName, castFixed(realName, wrapped, aryKey), aryKey);\n\n result = castCap(realName, result);\n result = castCurry(realName, result, aryKey);\n return false;\n }\n });\n return !result;\n });\n\n result || (result = wrapped);\n if (result == func) {\n result = forceCurry ? curry(result, 1) : function() {\n return func.apply(this, arguments);\n };\n }\n result.convert = createConverter(realName, func);\n result.placeholder = func.placeholder = placeholder;\n\n return result;\n }\n\n /*--------------------------------------------------------------------------*/\n\n if (!isObj) {\n return wrap(name, func, defaultHolder);\n }\n var _ = func;\n\n // Convert methods by ary cap.\n var pairs = [];\n each(aryMethodKeys, function(aryKey) {\n each(mapping.aryMethod[aryKey], function(key) {\n var func = _[mapping.remap[key] || key];\n if (func) {\n pairs.push([key, wrap(key, func, _)]);\n }\n });\n });\n\n // Convert remaining methods.\n each(keys(_), function(key) {\n var func = _[key];\n if (typeof func == 'function') {\n var length = pairs.length;\n while (length--) {\n if (pairs[length][0] == key) {\n return;\n }\n }\n func.convert = createConverter(key, func);\n pairs.push([key, func]);\n }\n });\n\n // Assign to `_` leaving `_.prototype` unchanged to allow chaining.\n each(pairs, function(pair) {\n _[pair[0]] = pair[1];\n });\n\n _.convert = convertLib;\n _.placeholder = _;\n\n // Assign aliases.\n each(keys(_), function(key) {\n each(mapping.realToAlias[key] || [], function(alias) {\n _[alias] = _[key];\n });\n });\n\n return _;\n}\n\nmodule.exports = baseConvert;\n", "var _ = require('./lodash.min').runInContext();\nmodule.exports = require('./fp/_baseConvert')(_, _);\n", "export * from \"./constants\"\nexport * as dataFilters from \"./filters\"\nexport * as helpers from \"./helpers\"\nexport * as utils from \"./utils\"\nexport * as sdk from \"./sdk\"\nexport * from \"./table\"\n", "export enum Header {\n API_KEY = \"x-budibase-api-key\",\n LICENSE_KEY = \"x-budibase-license-key\",\n API_VER = \"x-budibase-api-version\",\n APP_ID = \"x-budibase-app-id\",\n SESSION_ID = \"x-budibase-session-id\",\n TYPE = \"x-budibase-type\",\n PREVIEW_ROLE = \"x-budibase-role\",\n TENANT_ID = \"x-budibase-tenant-id\",\n VERIFICATION_CODE = \"x-budibase-verification-code\",\n RETURN_VERIFICATION_CODE = \"x-budibase-return-verification-code\",\n RESET_PASSWORD_CODE = \"x-budibase-reset-password-code\",\n RETURN_RESET_PASSWORD_CODE = \"x-budibase-return-reset-password-code\",\n TOKEN = \"x-budibase-token\",\n CSRF_TOKEN = \"x-csrf-token\",\n CORRELATION_ID = \"x-budibase-correlation-id\",\n AUTHORIZATION = \"authorization\",\n MIGRATING_APP = \"x-budibase-migrating-app\",\n COOKIE = \"cookie\",\n}\n", "import { Hosting } from \"../hosting\"\nimport { Group, Identity } from \"./identification\"\n\nexport enum Event {\n // USER\n USER_CREATED = \"user:created\",\n USER_UPDATED = \"user:updated\",\n USER_DELETED = \"user:deleted\",\n\n // USER / ONBOARDING\n USER_ONBOARDING_COMPLETE = \"user:onboarding:complete\",\n\n // USER / PERMISSIONS\n USER_PERMISSION_ADMIN_ASSIGNED = \"user:admin:assigned\",\n USER_PERMISSION_ADMIN_REMOVED = \"user:admin:removed\",\n USER_PERMISSION_BUILDER_ASSIGNED = \"user:builder:assigned\",\n USER_PERMISSION_BUILDER_REMOVED = \"user:builder:removed\",\n\n // USER / INVITE\n USER_INVITED = \"user:invited\",\n USER_INVITED_ACCEPTED = \"user:invite:accepted\",\n\n // USER / PASSWORD\n USER_PASSWORD_FORCE_RESET = \"user:password:force:reset\",\n USER_PASSWORD_UPDATED = \"user:password:updated\",\n USER_PASSWORD_RESET_REQUESTED = \"user:password:reset:requested\",\n USER_PASSWORD_RESET = \"user:password:reset\",\n\n // USER / COLLABORATION\n USER_DATA_COLLABORATION = \"user:data:collaboration\",\n\n // EMAIL\n EMAIL_SMTP_CREATED = \"email:smtp:created\",\n EMAIL_SMTP_UPDATED = \"email:smtp:updated\",\n\n // AUTH\n AUTH_SSO_CREATED = \"auth:sso:created\",\n AUTH_SSO_UPDATED = \"auth:sso:updated\",\n AUTH_SSO_ACTIVATED = \"auth:sso:activated\",\n AUTH_SSO_DEACTIVATED = \"auth:sso:deactivated\",\n AUTH_LOGIN = \"auth:login\",\n AUTH_LOGOUT = \"auth:logout\",\n\n // ORG\n ORG_NAME_UPDATED = \"org:info:name:updated\",\n ORG_LOGO_UPDATED = \"org:info:logo:updated\",\n ORG_PLATFORM_URL_UPDATED = \"org:platformurl:updated\",\n\n // INSTALLATION\n INSTALLATION_VERSION_CHECKED = \"installation:version:checked\",\n INSTALLATION_VERSION_UPGRADED = \"installation:version:upgraded\",\n INSTALLATION_VERSION_DOWNGRADED = \"installation:version:downgraded\",\n INSTALLATION_FIRST_STARTUP = \"installation:firstStartup\",\n\n // ORG / ANALYTICS\n ANALYTICS_OPT_OUT = \"analytics:opt:out\",\n ANALYTICS_OPT_IN = \"analytics:opt:in\",\n\n // APP\n APP_CREATED = \"app:created\",\n APP_UPDATED = \"app:updated\",\n APP_DELETED = \"app:deleted\",\n APP_DUPLICATED = \"app:duplicated\",\n APP_PUBLISHED = \"app:published\",\n APP_UNPUBLISHED = \"app:unpublished\",\n APP_TEMPLATE_IMPORTED = \"app:template:imported\",\n APP_FILE_IMPORTED = \"app:file:imported\",\n APP_VERSION_UPDATED = \"app:version:updated\",\n APP_VERSION_REVERTED = \"app:version:reverted\",\n APP_REVERTED = \"app:reverted\",\n APP_EXPORTED = \"app:exported\",\n\n // ROLE\n ROLE_CREATED = \"role:created\",\n ROLE_UPDATED = \"role:updated\",\n ROLE_DELETED = \"role:deleted\",\n ROLE_ASSIGNED = \"role:assigned\",\n ROLE_UNASSIGNED = \"role:unassigned\",\n\n // SERVE\n SERVED_BUILDER = \"served:builder\",\n SERVED_APP = \"served:app\",\n SERVED_APP_PREVIEW = \"served:app:preview\",\n\n // DATASOURCE\n DATASOURCE_CREATED = \"datasource:created\",\n DATASOURCE_UPDATED = \"datasource:updated\",\n DATASOURCE_DELETED = \"datasource:deleted\",\n\n // QUERY\n QUERY_CREATED = \"query:created\",\n QUERY_UPDATED = \"query:updated\",\n QUERY_DELETED = \"query:deleted\",\n QUERY_IMPORT = \"query:import\",\n QUERIES_RUN = \"queries:run\",\n QUERY_PREVIEWED = \"query:previewed\",\n\n // TABLE\n TABLE_CREATED = \"table:created\",\n TABLE_UPDATED = \"table:updated\",\n TABLE_DELETED = \"table:deleted\",\n TABLE_EXPORTED = \"table:exported\",\n TABLE_IMPORTED = \"table:imported\",\n TABLE_DATA_IMPORTED = \"table:data:imported\",\n\n // VIEW\n VIEW_CREATED = \"view:created\",\n VIEW_UPDATED = \"view:updated\",\n VIEW_DELETED = \"view:deleted\",\n VIEW_EXPORTED = \"view:exported\",\n VIEW_FILTER_CREATED = \"view:filter:created\",\n VIEW_FILTER_UPDATED = \"view:filter:updated\",\n VIEW_FILTER_DELETED = \"view:filter:deleted\",\n VIEW_CALCULATION_CREATED = \"view:calculation:created\",\n VIEW_CALCULATION_UPDATED = \"view:calculation:updated\",\n VIEW_CALCULATION_DELETED = \"view:calculation:deleted\",\n\n // ROWS\n ROWS_CREATED = \"rows:created\",\n ROWS_IMPORTED = \"rows:imported\",\n\n // COMPONENT\n COMPONENT_CREATED = \"component:created\",\n COMPONENT_DELETED = \"component:deleted\",\n\n // SCREEN\n SCREEN_CREATED = \"screen:created\",\n SCREEN_DELETED = \"screen:deleted\",\n\n // LAYOUT\n LAYOUT_CREATED = \"layout:created\",\n LAYOUT_DELETED = \"layout:deleted\",\n\n // AUTOMATION\n AUTOMATION_CREATED = \"automation:created\",\n AUTOMATION_DELETED = \"automation:deleted\",\n AUTOMATION_TESTED = \"automation:tested\",\n AUTOMATIONS_RUN = \"automations:run\",\n AUTOMATION_STEP_CREATED = \"automation:step:created\",\n AUTOMATION_STEP_DELETED = \"automation:step:deleted\",\n AUTOMATION_TRIGGER_UPDATED = \"automation:trigger:updated\",\n\n // LICENSE\n LICENSE_PLAN_CHANGED = \"license:plan:changed\",\n LICENSE_ACTIVATED = \"license:activated\",\n LICENSE_PAYMENT_FAILED = \"license:payment:failed\",\n LICENSE_PAYMENT_RECOVERED = \"license:payment:recovered\",\n LICENSE_CHECKOUT_OPENED = \"license:checkout:opened\",\n LICENSE_CHECKOUT_SUCCESS = \"license:checkout:success\",\n LICENSE_PORTAL_OPENED = \"license:portal:opened\",\n\n // ACCOUNT\n ACCOUNT_CREATED = \"account:created\",\n ACCOUNT_DELETED = \"account:deleted\",\n ACCOUNT_VERIFIED = \"account:verified\",\n\n // BACKFILL\n APP_BACKFILL_SUCCEEDED = \"app:backfill:succeeded\",\n APP_BACKFILL_FAILED = \"app:backfill:failed\",\n TENANT_BACKFILL_SUCCEEDED = \"tenant:backfill:succeeded\",\n TENANT_BACKFILL_FAILED = \"tenant:backfill:failed\",\n INSTALLATION_BACKFILL_SUCCEEDED = \"installation:backfill:succeeded\",\n INSTALLATION_BACKFILL_FAILED = \"installation:backfill:failed\",\n\n // USER\n USER_GROUP_CREATED = \"user_group:created\",\n USER_GROUP_UPDATED = \"user_group:updated\",\n USER_GROUP_DELETED = \"user_group:deleted\",\n USER_GROUP_USERS_ADDED = \"user_group:user_added\",\n USER_GROUP_USERS_REMOVED = \"user_group:users_deleted\",\n USER_GROUP_PERMISSIONS_EDITED = \"user_group:permissions_edited\",\n USER_GROUP_ONBOARDING = \"user_group:onboarding_added\",\n\n // PLUGIN\n PLUGIN_INIT = \"plugin:init\",\n PLUGIN_IMPORTED = \"plugin:imported\",\n PLUGIN_DELETED = \"plugin:deleted\",\n\n // BACKUP\n APP_BACKUP_RESTORED = \"app:backup:restored\",\n APP_BACKUP_TRIGGERED = \"app:backup:triggered\",\n\n // ENVIRONMENT VARIABLE\n ENVIRONMENT_VARIABLE_CREATED = \"environment_variable:created\",\n ENVIRONMENT_VARIABLE_DELETED = \"environment_variable:deleted\",\n ENVIRONMENT_VARIABLE_UPGRADE_PANEL_OPENED = \"environment_variable:upgrade_panel_opened\",\n\n // AUDIT LOG\n AUDIT_LOGS_FILTERED = \"audit_log:filtered\",\n AUDIT_LOGS_DOWNLOADED = \"audit_log:downloaded\",\n}\n\nexport const UserGroupSyncEvents: Event[] = [\n Event.USER_CREATED,\n Event.USER_UPDATED,\n Event.USER_DELETED,\n Event.USER_PERMISSION_ADMIN_ASSIGNED,\n Event.USER_PERMISSION_ADMIN_REMOVED,\n Event.USER_PERMISSION_BUILDER_ASSIGNED,\n Event.USER_PERMISSION_BUILDER_REMOVED,\n Event.USER_GROUP_CREATED,\n Event.USER_GROUP_UPDATED,\n Event.USER_GROUP_DELETED,\n Event.USER_GROUP_USERS_ADDED,\n Event.USER_GROUP_USERS_REMOVED,\n Event.USER_GROUP_PERMISSIONS_EDITED,\n]\n\nexport const AsyncEvents: Event[] = [...UserGroupSyncEvents]\n\n// all events that are not audited have been added to this record as undefined, this means\n// that Typescript can protect us against new events being added and auditing of those\n// events not being considered. This might be a little ugly, but provides a level of\n// Typescript build protection for the audit log feature, any new event also needs to be\n// added to this map, during which the developer will need to consider if it should be\n// a user facing event or not.\nexport const AuditedEventFriendlyName: Record<Event, string | undefined> = {\n // USER\n [Event.USER_CREATED]: `User \"{{ email }}\" created{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_UPDATED]: `User \"{{ email }}\" updated{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_DELETED]: `User \"{{ email }}\" deleted{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_PERMISSION_ADMIN_ASSIGNED]: `User \"{{ email }}\" admin role assigned`,\n [Event.USER_PERMISSION_ADMIN_REMOVED]: `User \"{{ email }}\" admin role removed`,\n [Event.USER_PERMISSION_BUILDER_ASSIGNED]: `User \"{{ email }}\" builder role assigned`,\n [Event.USER_PERMISSION_BUILDER_REMOVED]: `User \"{{ email }}\" builder role removed`,\n [Event.USER_INVITED]: `User \"{{ email }}\" invited`,\n [Event.USER_INVITED_ACCEPTED]: `User \"{{ email }}\" accepted invite`,\n [Event.USER_PASSWORD_UPDATED]: `User \"{{ email }}\" password updated`,\n [Event.USER_PASSWORD_RESET_REQUESTED]: `User \"{{ email }}\" password reset requested`,\n [Event.USER_PASSWORD_RESET]: `User \"{{ email }}\" password reset`,\n [Event.USER_GROUP_CREATED]: `User group \"{{ name }}\" created{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_UPDATED]: `User group \"{{ name }}\" updated{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_DELETED]: `User group \"{{ name }}\" deleted{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_USERS_ADDED]: `User group \"{{ name }}\" {{ count }} users added{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_USERS_REMOVED]: `User group \"{{ name }}\" {{ count }} users removed{{#if viaScim}} via SCIM{{/if}}`,\n [Event.USER_GROUP_PERMISSIONS_EDITED]: `User group \"{{ name }}\" permissions edited`,\n [Event.USER_PASSWORD_FORCE_RESET]: undefined,\n [Event.USER_GROUP_ONBOARDING]: undefined,\n [Event.USER_ONBOARDING_COMPLETE]: undefined,\n [Event.USER_DATA_COLLABORATION]: undefined,\n\n // EMAIL\n [Event.EMAIL_SMTP_CREATED]: `Email configuration created`,\n [Event.EMAIL_SMTP_UPDATED]: `Email configuration updated`,\n\n // AUTH\n [Event.AUTH_SSO_CREATED]: `SSO configuration created`,\n [Event.AUTH_SSO_UPDATED]: `SSO configuration updated`,\n [Event.AUTH_SSO_ACTIVATED]: `SSO configuration activated`,\n [Event.AUTH_SSO_DEACTIVATED]: `SSO configuration deactivated`,\n [Event.AUTH_LOGIN]: `User \"{{ email }}\" logged in`,\n [Event.AUTH_LOGOUT]: `User \"{{ email }}\" logged out`,\n\n // ORG\n [Event.ORG_NAME_UPDATED]: `Organisation name updated`,\n [Event.ORG_LOGO_UPDATED]: `Organisation logo updated`,\n [Event.ORG_PLATFORM_URL_UPDATED]: `Organisation platform URL updated`,\n\n // APP\n [Event.APP_CREATED]: `App \"{{ name }}\" created`,\n [Event.APP_UPDATED]: `App \"{{ name }}\" updated`,\n [Event.APP_DELETED]: `App \"{{ name }}\" deleted`,\n [Event.APP_DUPLICATED]: `App \"{{ name }}\" duplicated`,\n [Event.APP_PUBLISHED]: `App \"{{ name }}\" published`,\n [Event.APP_UNPUBLISHED]: `App \"{{ name }}\" unpublished`,\n [Event.APP_TEMPLATE_IMPORTED]: `App \"{{ name }}\" template imported`,\n [Event.APP_FILE_IMPORTED]: `App \"{{ name }}\" file imported`,\n [Event.APP_VERSION_UPDATED]: `App \"{{ name }}\" version updated`,\n [Event.APP_VERSION_REVERTED]: `App \"{{ name }}\" version reverted`,\n [Event.APP_REVERTED]: `App \"{{ name }}\" reverted`,\n [Event.APP_EXPORTED]: `App \"{{ name }}\" exported`,\n [Event.APP_BACKUP_RESTORED]: `App backup \"{{ name }}\" restored`,\n [Event.APP_BACKUP_TRIGGERED]: `App backup \"{{ name }}\" triggered`,\n\n // DATASOURCE\n [Event.DATASOURCE_CREATED]: `Datasource created`,\n [Event.DATASOURCE_UPDATED]: `Datasource updated`,\n [Event.DATASOURCE_DELETED]: `Datasource deleted`,\n\n // QUERY\n [Event.QUERY_CREATED]: `Query created`,\n [Event.QUERY_UPDATED]: `Query updated`,\n [Event.QUERY_DELETED]: `Query deleted`,\n [Event.QUERY_IMPORT]: `Query import`,\n [Event.QUERIES_RUN]: undefined,\n [Event.QUERY_PREVIEWED]: undefined,\n\n // TABLE\n [Event.TABLE_CREATED]: `Table \"{{ name }}\" created`,\n [Event.TABLE_UPDATED]: `Table \"{{ name }}\" updated`,\n [Event.TABLE_DELETED]: `Table \"{{ name }}\" deleted`,\n [Event.TABLE_EXPORTED]: `Table \"{{ name }}\" exported`,\n [Event.TABLE_IMPORTED]: `Table \"{{ name }}\" imported`,\n [Event.TABLE_DATA_IMPORTED]: `Data imported to table`,\n\n // ROWS\n [Event.ROWS_CREATED]: `Rows created`,\n [Event.ROWS_IMPORTED]: `Rows imported`,\n\n // AUTOMATION\n [Event.AUTOMATION_CREATED]: `Automation \"{{ name }}\" created`,\n [Event.AUTOMATION_DELETED]: `Automation \"{{ name }}\" deleted`,\n [Event.AUTOMATION_STEP_CREATED]: `Automation \"{{ name }}\" step added`,\n [Event.AUTOMATION_STEP_DELETED]: `Automation \"{{ name }}\" step removed`,\n [Event.AUTOMATION_TESTED]: undefined,\n [Event.AUTOMATIONS_RUN]: undefined,\n [Event.AUTOMATION_TRIGGER_UPDATED]: undefined,\n\n // SCREEN\n [Event.SCREEN_CREATED]: `Screen \"{{ name }}\" created`,\n [Event.SCREEN_DELETED]: `Screen \"{{ name }}\" deleted`,\n\n // COMPONENT\n [Event.COMPONENT_CREATED]: `Component created`,\n [Event.COMPONENT_DELETED]: `Component deleted`,\n\n // ENVIRONMENT VARIABLE\n [Event.ENVIRONMENT_VARIABLE_CREATED]: `Environment variable created`,\n [Event.ENVIRONMENT_VARIABLE_DELETED]: `Environment variable deleted`,\n [Event.ENVIRONMENT_VARIABLE_UPGRADE_PANEL_OPENED]: undefined,\n\n // PLUGIN\n [Event.PLUGIN_IMPORTED]: `Plugin imported`,\n [Event.PLUGIN_DELETED]: `Plugin deleted`,\n [Event.PLUGIN_INIT]: undefined,\n\n // ROLE - NOT AUDITED\n [Event.ROLE_CREATED]: undefined,\n [Event.ROLE_UPDATED]: undefined,\n [Event.ROLE_DELETED]: undefined,\n [Event.ROLE_ASSIGNED]: undefined,\n [Event.ROLE_UNASSIGNED]: undefined,\n\n // LICENSE - NOT AUDITED\n [Event.LICENSE_PLAN_CHANGED]: undefined,\n [Event.LICENSE_ACTIVATED]: undefined,\n [Event.LICENSE_PAYMENT_FAILED]: undefined,\n [Event.LICENSE_PAYMENT_RECOVERED]: undefined,\n [Event.LICENSE_CHECKOUT_OPENED]: undefined,\n [Event.LICENSE_CHECKOUT_SUCCESS]: undefined,\n [Event.LICENSE_PORTAL_OPENED]: undefined,\n\n // ACCOUNT - NOT AUDITED\n [Event.ACCOUNT_CREATED]: undefined,\n [Event.ACCOUNT_DELETED]: undefined,\n [Event.ACCOUNT_VERIFIED]: undefined,\n\n // BACKFILL - NOT AUDITED\n [Event.APP_BACKFILL_SUCCEEDED]: undefined,\n [Event.APP_BACKFILL_FAILED]: undefined,\n [Event.TENANT_BACKFILL_SUCCEEDED]: undefined,\n [Event.TENANT_BACKFILL_FAILED]: undefined,\n [Event.INSTALLATION_BACKFILL_SUCCEEDED]: undefined,\n [Event.INSTALLATION_BACKFILL_FAILED]: undefined,\n\n // LAYOUT - NOT AUDITED\n [Event.LAYOUT_CREATED]: undefined,\n [Event.LAYOUT_DELETED]: undefined,\n\n // VIEW - NOT AUDITED\n [Event.VIEW_CREATED]: undefined,\n [Event.VIEW_UPDATED]: undefined,\n [Event.VIEW_DELETED]: undefined,\n [Event.VIEW_EXPORTED]: undefined,\n [Event.VIEW_FILTER_CREATED]: undefined,\n [Event.VIEW_FILTER_UPDATED]: undefined,\n [Event.VIEW_FILTER_DELETED]: undefined,\n [Event.VIEW_CALCULATION_CREATED]: undefined,\n [Event.VIEW_CALCULATION_UPDATED]: undefined,\n [Event.VIEW_CALCULATION_DELETED]: undefined,\n\n // SERVED - NOT AUDITED\n [Event.SERVED_BUILDER]: undefined,\n [Event.SERVED_APP]: undefined,\n [Event.SERVED_APP_PREVIEW]: undefined,\n\n // ANALYTICS - NOT AUDITED\n [Event.ANALYTICS_OPT_OUT]: undefined,\n [Event.ANALYTICS_OPT_IN]: undefined,\n\n // INSTALLATION - NOT AUDITED\n [Event.INSTALLATION_VERSION_CHECKED]: undefined,\n [Event.INSTALLATION_VERSION_UPGRADED]: undefined,\n [Event.INSTALLATION_VERSION_DOWNGRADED]: undefined,\n [Event.INSTALLATION_FIRST_STARTUP]: undefined,\n\n // AUDIT LOG - NOT AUDITED\n [Event.AUDIT_LOGS_FILTERED]: undefined,\n [Event.AUDIT_LOGS_DOWNLOADED]: undefined,\n}\n\n// properties added at the final stage of the event pipeline\nexport interface BaseEvent {\n version?: string\n service?: string\n environment?: string\n appId?: string\n installationId?: string\n tenantId?: string\n hosting?: Hosting\n // any props in the audited section will be removed before passing events\n // up out of system (purely for use with auditing)\n audited?: {\n [key: string]: any\n }\n}\n\nexport type TableExportFormat = \"json\" | \"csv\"\n\nexport type DocUpdateEvent = {\n id: string\n tenantId: string\n appId?: string\n}\n\nexport interface EventProcessor {\n processEvent(\n event: Event,\n identity: Identity,\n properties: any,\n timestamp?: string | number\n ): Promise<void>\n identify?(identity: Identity, timestamp?: string | number): Promise<void>\n identifyGroup?(group: Group, timestamp?: string | number): Promise<void>\n shutdown?(): void\n}\n", "import { Event } from \"../events\"\n\nexport enum CommandWord {\n BACKUPS = \"backups\",\n HOSTING = \"hosting\",\n ANALYTICS = \"analytics\",\n HELP = \"help\",\n PLUGIN = \"plugins\",\n}\n\nexport enum InitType {\n QUICK = \"quick\",\n DIGITAL_OCEAN = \"do\",\n}\n\nexport const AnalyticsEvent = {\n OptOut: \"analytics:opt:out\",\n OptIn: \"analytics:opt:in\",\n SelfHostInit: \"hosting:init\",\n PluginInit: Event.PLUGIN_INIT,\n}\n", "import { Document } from \"../document\"\nimport { EventEmitter } from \"events\"\nimport { User } from \"../global\"\nimport { ReadStream } from \"fs\"\n\nexport enum AutomationIOType {\n OBJECT = \"object\",\n STRING = \"string\",\n BOOLEAN = \"boolean\",\n NUMBER = \"number\",\n ARRAY = \"array\",\n JSON = \"json\",\n DATE = \"date\",\n ATTACHMENT = \"attachment\",\n}\n\nexport enum AutomationCustomIOType {\n TABLE = \"table\",\n ROW = \"row\",\n ROWS = \"rows\",\n WIDE = \"wide\",\n QUERY = \"query\",\n QUERY_PARAMS = \"queryParams\",\n QUERY_LIMIT = \"queryLimit\",\n LOOP_OPTION = \"loopOption\",\n ITEM = \"item\",\n CODE = \"code\",\n FILTERS = \"filters\",\n COLUMN = \"column\",\n TRIGGER_SCHEMA = \"triggerSchema\",\n CRON = \"cron\",\n WEBHOOK_URL = \"webhookUrl\",\n AUTOMATION = \"automation\",\n AUTOMATION_FIELDS = \"automationFields\",\n MULTI_ATTACHMENTS = \"multi_attachments\",\n}\n\nexport enum AutomationTriggerStepId {\n ROW_SAVED = \"ROW_SAVED\",\n ROW_UPDATED = \"ROW_UPDATED\",\n ROW_DELETED = \"ROW_DELETED\",\n WEBHOOK = \"WEBHOOK\",\n APP = \"APP\",\n CRON = \"CRON\",\n}\n\nexport enum AutomationStepType {\n LOGIC = \"LOGIC\",\n ACTION = \"ACTION\",\n TRIGGER = \"TRIGGER\",\n}\n\nexport enum AutomationActionStepId {\n SEND_EMAIL_SMTP = \"SEND_EMAIL_SMTP\",\n CREATE_ROW = \"CREATE_ROW\",\n UPDATE_ROW = \"UPDATE_ROW\",\n DELETE_ROW = \"DELETE_ROW\",\n EXECUTE_BASH = \"EXECUTE_BASH\",\n OUTGOING_WEBHOOK = \"OUTGOING_WEBHOOK\",\n EXECUTE_SCRIPT = \"EXECUTE_SCRIPT\",\n EXECUTE_QUERY = \"EXECUTE_QUERY\",\n SERVER_LOG = \"SERVER_LOG\",\n DELAY = \"DELAY\",\n FILTER = \"FILTER\",\n QUERY_ROWS = \"QUERY_ROWS\",\n LOOP = \"LOOP\",\n COLLECT = \"COLLECT\",\n OPENAI = \"OPENAI\",\n TRIGGER_AUTOMATION_RUN = \"TRIGGER_AUTOMATION_RUN\",\n // these used to be lowercase step IDs, maintain for backwards compat\n discord = \"discord\",\n slack = \"slack\",\n zapier = \"zapier\",\n integromat = \"integromat\",\n n8n = \"n8n\",\n}\n\nexport interface EmailInvite {\n startTime: Date\n endTime: Date\n summary: string\n location?: string\n url?: string\n}\n\nexport interface EmailAttachment {\n url: string\n filename: string\n}\n\nexport interface SendEmailOpts {\n // workspaceId If finer grain controls being used then this will lookup config for workspace.\n workspaceId?: string\n // user If sending to an existing user the object can be provided, this is used in the context.\n user: User\n // from If sending from an address that is not what is configured in the SMTP config.\n from?: string\n // contents If sending a custom email then can supply contents which will be added to it.\n contents?: string\n // subject A custom subject can be specified if the config one is not desired.\n subject?: string\n // info Pass in a structure of information to be stored alongside the invitation.\n info?: any\n cc?: boolean\n bcc?: boolean\n automation?: boolean\n invite?: EmailInvite\n attachments?: EmailAttachment[]\n}\n\nexport const AutomationStepIdArray = [\n ...Object.values(AutomationActionStepId),\n ...Object.values(AutomationTriggerStepId),\n]\n\nexport interface Automation extends Document {\n definition: {\n steps: AutomationStep[]\n trigger: AutomationTrigger\n }\n screenId?: string\n uiTree?: any\n appId: string\n live?: boolean\n name: string\n internal?: boolean\n type?: string\n disabled?: boolean\n}\n\ninterface BaseIOStructure {\n type?: AutomationIOType\n customType?: AutomationCustomIOType\n title?: string\n description?: string\n dependsOn?: string\n enum?: string[]\n pretty?: string[]\n properties?: {\n [key: string]: BaseIOStructure\n }\n required?: string[]\n}\n\ninterface InputOutputBlock {\n properties: {\n [key: string]: BaseIOStructure\n }\n required?: string[]\n}\n\nexport interface AutomationStepSchema {\n name: string\n stepTitle?: string\n tagline: string\n icon: string\n description: string\n type: AutomationStepType\n internal?: boolean\n deprecated?: boolean\n stepId: AutomationTriggerStepId | AutomationActionStepId\n blockToLoop?: string\n inputs: {\n [key: string]: any\n }\n schema: {\n inputs: InputOutputBlock\n outputs: InputOutputBlock\n }\n custom?: boolean\n features?: Partial<Record<AutomationFeature, boolean>>\n}\n\nexport enum AutomationFeature {\n LOOPING = \"LOOPING\",\n}\n\nexport interface AutomationStep extends AutomationStepSchema {\n id: string\n}\n\nexport interface AutomationTriggerSchema extends AutomationStepSchema {\n event?: string\n cronJobId?: string\n}\n\nexport interface AutomationTrigger extends AutomationTriggerSchema {\n id: string\n}\n\nexport enum AutomationStepStatus {\n NO_ITERATIONS = \"no_iterations\",\n}\n\nexport enum AutomationStatus {\n SUCCESS = \"success\",\n ERROR = \"error\",\n STOPPED = \"stopped\",\n STOPPED_ERROR = \"stopped_error\",\n}\n\nexport interface AutomationResults {\n automationId?: string\n status?: AutomationStatus\n trigger?: any\n steps: {\n stepId: AutomationTriggerStepId | AutomationActionStepId\n inputs: {\n [key: string]: any\n }\n outputs: {\n [key: string]: any\n }\n }[]\n}\n\nexport interface AutomationLog extends AutomationResults, Document {\n automationName: string\n _rev?: string\n}\n\nexport interface AutomationLogPage {\n data: AutomationLog[]\n hasNextPage: boolean\n nextPage?: string\n}\n\nexport type AutomationStepInput = {\n inputs: Record<string, any>\n context: Record<string, any>\n emitter: EventEmitter\n appId: string\n apiKey?: string\n}\n\nexport interface AutomationMetadata extends Document {\n errorCount?: number\n automationChainCount?: number\n}\n\nexport type AutomationAttachment = {\n url: string\n filename: string\n}\n\nexport type AutomationAttachmentContent = {\n filename: string\n content: ReadStream | NodeJS.ReadableStream\n}\n\nexport type BucketedContent = AutomationAttachmentContent & {\n bucket: string\n path: string\n}\n", "export const SEPARATOR = \"_\"\nexport const UNICODE_MAX = \"\\ufff0\"\n\nexport const prefixed = (type: DocumentType) => `${type}${SEPARATOR}`\n\nexport enum DocumentType {\n USER = \"us\",\n GROUP = \"gr\",\n WORKSPACE = \"workspace\",\n CONFIG = \"config\",\n TEMPLATE = \"template\",\n APP = \"app\",\n DEV = \"dev\",\n APP_DEV = \"app_dev\",\n APP_METADATA = \"app_metadata\",\n ROLE = \"role\",\n MIGRATIONS = \"migrations\",\n DEV_INFO = \"devinfo\",\n AUTOMATION_LOG = \"log_au\",\n ACCOUNT_METADATA = \"acc_metadata\",\n PLUGIN = \"plg\",\n DATASOURCE = \"datasource\",\n DATASOURCE_PLUS = \"datasource_plus\",\n APP_BACKUP = \"backup\",\n TABLE = \"ta\",\n ROW = \"ro\",\n AUTOMATION = \"au\",\n LINK = \"li\",\n WEBHOOK = \"wh\",\n INSTANCE = \"inst\",\n LAYOUT = \"layout\",\n SCREEN = \"screen\",\n QUERY = \"query\",\n DEPLOYMENTS = \"deployments\",\n METADATA = \"metadata\",\n MEM_VIEW = \"view\",\n USER_FLAG = \"flag\",\n AUTOMATION_METADATA = \"meta_au\",\n AUDIT_LOG = \"al\",\n APP_MIGRATION_METADATA = \"_design/migrations\",\n SCIM_LOG = \"scimlog\",\n}\n\n// these are the core documents that make up the data, design\n// and automation sections of an app. This excludes any internal\n// rows as we shouldn't import data.\nexport const DocumentTypesToImport: DocumentType[] = [\n DocumentType.ROLE,\n DocumentType.DATASOURCE,\n DocumentType.DATASOURCE_PLUS,\n DocumentType.TABLE,\n DocumentType.AUTOMATION,\n DocumentType.WEBHOOK,\n DocumentType.SCREEN,\n DocumentType.QUERY,\n DocumentType.METADATA,\n DocumentType.MEM_VIEW,\n // Deprecated but still copied\n DocumentType.INSTANCE,\n DocumentType.LAYOUT,\n]\n\nexport enum InternalTable {\n USER_METADATA = \"ta_users\",\n}\n\n// these documents don't really exist, they are part of other\n// documents or enriched into existence as part of get requests\nexport enum VirtualDocumentType {\n VIEW = \"view\",\n}\n\nexport interface Document {\n _id?: string\n _rev?: string\n createdAt?: string | number\n updatedAt?: string\n}\n\nexport interface AnyDocument extends Document {\n [key: string]: any\n}\n", "import { Document } from \"../document\"\n\nexport enum PluginType {\n DATASOURCE = \"datasource\",\n COMPONENT = \"component\",\n AUTOMATION = \"automation\",\n}\n\nexport enum PluginSource {\n NPM = \"NPM\",\n GITHUB = \"Github\",\n URL = \"URL\",\n FILE = \"File Upload\",\n}\nexport interface FileType {\n path: string\n name: string\n}\n\nexport interface Plugin extends Document {\n description: string\n name: string\n version: string\n source: PluginSource\n package: { [key: string]: any }\n hash: string\n schema: {\n type: PluginType\n [key: string]: any\n }\n iconFileName?: string\n // Populated on read\n jsUrl?: string\n // Populated on read\n iconUrl?: string\n}\n\nexport const PLUGIN_TYPE_ARR = Object.values(PluginType)\n", "import { MonthlyQuotaName, StaticQuotaName } from \"../../sdk\"\n\nexport enum BreakdownQuotaName {\n ROW_QUERIES = \"rowQueries\",\n DATASOURCE_QUERIES = \"datasourceQueries\",\n AUTOMATIONS = \"automations\",\n}\n\nexport const APP_QUOTA_NAMES = [\n StaticQuotaName.ROWS,\n MonthlyQuotaName.QUERIES,\n MonthlyQuotaName.AUTOMATIONS,\n]\n\nexport const BREAKDOWN_QUOTA_NAMES = [\n MonthlyQuotaName.QUERIES,\n MonthlyQuotaName.AUTOMATIONS,\n]\n\nexport interface UsageBreakdown {\n parent: MonthlyQuotaName\n values: {\n [key: string]: number\n }\n}\n\nexport type QuotaTriggers = {\n [key: string]: string | undefined\n}\n\nexport interface StaticUsage {\n [StaticQuotaName.APPS]: number\n [StaticQuotaName.PLUGINS]: number\n [StaticQuotaName.USERS]: number\n [StaticQuotaName.CREATORS]: number\n [StaticQuotaName.USER_GROUPS]: number\n [StaticQuotaName.ROWS]: number\n triggers: {\n [key in StaticQuotaName]?: QuotaTriggers\n }\n}\n\nexport interface MonthlyUsage {\n [MonthlyQuotaName.QUERIES]: number\n [MonthlyQuotaName.AUTOMATIONS]: number\n [MonthlyQuotaName.DAY_PASSES]: number\n triggers: {\n [key in MonthlyQuotaName]?: QuotaTriggers\n }\n breakdown?: {\n [key in BreakdownQuotaName]?: UsageBreakdown\n }\n}\n\nexport interface BaseQuotaUsage {\n usageQuota: StaticUsage\n monthly: {\n [key: string]: MonthlyUsage\n }\n}\n\nexport interface QuotaUsage extends BaseQuotaUsage {\n _id: string\n _rev?: string\n quotaReset: string\n apps?: {\n [key: string]: BaseQuotaUsage\n }\n}\n\nexport type SetUsageValues = {\n total: number\n app?: number\n breakdown?: number\n triggers?: QuotaTriggers\n}\n\nexport type UsageValues = {\n total: number\n app?: number\n breakdown?: number\n}\n", "import { FieldType } from \"@budibase/types\"\n\ntype SwitchableTypes = Partial<{\n [K in FieldType]: [K, ...FieldType[]]\n}>\n\nexport const SWITCHABLE_TYPES: SwitchableTypes = {\n [FieldType.STRING]: [\n FieldType.STRING,\n FieldType.OPTIONS,\n FieldType.LONGFORM,\n FieldType.BARCODEQR,\n ],\n [FieldType.OPTIONS]: [\n FieldType.OPTIONS,\n FieldType.STRING,\n FieldType.LONGFORM,\n FieldType.BARCODEQR,\n ],\n [FieldType.LONGFORM]: [\n FieldType.LONGFORM,\n FieldType.STRING,\n FieldType.OPTIONS,\n FieldType.BARCODEQR,\n ],\n [FieldType.BARCODEQR]: [\n FieldType.BARCODEQR,\n FieldType.STRING,\n FieldType.OPTIONS,\n FieldType.LONGFORM,\n ],\n [FieldType.NUMBER]: [FieldType.NUMBER, FieldType.BOOLEAN],\n}\n", "export * from \"./api\"\nexport * from \"./fields\"\n\nexport const OperatorOptions = {\n Equals: {\n value: \"equal\",\n label: \"Equals\",\n },\n NotEquals: {\n value: \"notEqual\",\n label: \"Not equals\",\n },\n Empty: {\n value: \"empty\",\n label: \"Is empty\",\n },\n NotEmpty: {\n value: \"notEmpty\",\n label: \"Is not empty\",\n },\n StartsWith: {\n value: \"string\",\n label: \"Starts with\",\n },\n Like: {\n value: \"fuzzy\",\n label: \"Like\",\n },\n MoreThan: {\n value: \"rangeLow\",\n label: \"More than or equal to\",\n },\n LessThan: {\n value: \"rangeHigh\",\n label: \"Less than or equal to\",\n },\n Contains: {\n value: \"contains\",\n label: \"Contains\",\n },\n NotContains: {\n value: \"notContains\",\n label: \"Does not contain\",\n },\n In: {\n value: \"oneOf\",\n label: \"Is in\",\n },\n ContainsAny: {\n value: \"containsAny\",\n label: \"Has any\",\n },\n}\n\nexport const SqlNumberTypeRangeMap = {\n integer: {\n max: 2147483647,\n min: -2147483648,\n },\n int: {\n max: 2147483647,\n min: -2147483648,\n },\n smallint: {\n max: 32767,\n min: -32768,\n },\n mediumint: {\n max: 8388607,\n min: -8388608,\n },\n}\n\nexport enum SocketEvent {\n UserUpdate = \"UserUpdate\",\n UserDisconnect = \"UserDisconnect\",\n Heartbeat = \"Heartbeat\",\n}\n\nexport enum GridSocketEvent {\n RowChange = \"RowChange\",\n DatasourceChange = \"DatasourceChange\",\n SelectDatasource = \"SelectDatasource\",\n SelectCell = \"SelectCell\",\n}\n\nexport enum BuilderSocketEvent {\n SelectApp = \"SelectApp\",\n TableChange = \"TableChange\",\n DatasourceChange = \"DatasourceChange\",\n LockTransfer = \"LockTransfer\",\n ScreenChange = \"ScreenChange\",\n AppMetadataChange = \"AppMetadataChange\",\n SelectResource = \"SelectResource\",\n AppPublishChange = \"AppPublishChange\",\n AutomationChange = \"AutomationChange\",\n}\n\nexport const SocketSessionTTL = 60\nexport const ValidQueryNameRegex = /^[^()]*$/\nexport const ValidColumnNameRegex = /^[_a-zA-Z0-9\\s]*$/g\nexport const ValidSnippetNameRegex = /^[a-z_][a-z0-9_]*$/i\n\nexport const REBOOT_CRON = \"@reboot\"\n\nexport const InvalidFileExtensions = [\n \"7z\",\n \"action\",\n \"apk\",\n \"app\",\n \"bat\",\n \"bin\",\n \"cab\",\n \"cmd\",\n \"com\",\n \"command\",\n \"cpl\",\n \"csh\",\n \"ex_\",\n \"exe\",\n \"gadget\",\n \"inf1\",\n \"ins\",\n \"inx\",\n \"ipa\",\n \"isu\",\n \"job\",\n \"js\",\n \"jse\",\n \"ksh\",\n \"lnk\",\n \"msc\",\n \"msi\",\n \"msp\",\n \"mst\",\n \"osx\",\n \"out\",\n \"paf\",\n \"php\",\n \"pif\",\n \"prg\",\n \"ps1\",\n \"reg\",\n \"rgs\",\n \"run\",\n \"scr\",\n \"sct\",\n \"shb\",\n \"shs\",\n \"tar\",\n \"u3p\",\n \"vb\",\n \"vbe\",\n \"vbs\",\n \"vbscript\",\n \"wasm\",\n \"workflow\",\n \"ws\",\n \"wsf\",\n \"wsh\",\n \"zip\",\n]\n\nexport enum BpmCorrelationKey {\n ONBOARDING = \"budibase:onboarding:correlationkey\",\n}\n\nexport enum BpmInstanceKey {\n ONBOARDING = \"budibase:onboarding:instancekey\",\n}\n\nexport enum BpmStatusKey {\n ONBOARDING = \"budibase:onboarding:status\",\n}\n\nexport enum BpmStatusValue {\n STARTED = \"started\",\n COMPLETING_ACCOUNT_INFO = \"completing_account_info\",\n VERIFYING_EMAIL = \"verifying_email\",\n COMPLETED = \"completed\",\n}\n", "import {\n Datasource,\n BBReferenceFieldSubType,\n FieldType,\n FormulaType,\n SearchFilter,\n SearchFilters,\n SearchQueryFields,\n SearchFilterOperator,\n SortDirection,\n SortType,\n FieldConstraints,\n} from \"@budibase/types\"\nimport dayjs from \"dayjs\"\nimport { OperatorOptions, SqlNumberTypeRangeMap } from \"./constants\"\nimport { deepGet, schema } from \"./helpers\"\n\nconst HBS_REGEX = /{{([^{].*?)}}/g\n\n/**\n * Returns the valid operator options for a certain data type\n */\nexport const getValidOperatorsForType = (\n fieldType: {\n type: FieldType\n subtype?: BBReferenceFieldSubType\n formulaType?: FormulaType\n constraints?: FieldConstraints\n },\n field?: string,\n datasource?: Datasource & { tableId: any }\n) => {\n const Op = OperatorOptions\n const stringOps = [\n Op.Equals,\n Op.NotEquals,\n Op.StartsWith,\n Op.Like,\n Op.Empty,\n Op.NotEmpty,\n Op.In,\n ]\n const numOps = [\n Op.Equals,\n Op.NotEquals,\n Op.MoreThan,\n Op.LessThan,\n Op.Empty,\n Op.NotEmpty,\n Op.In,\n ]\n let ops: {\n value: string\n label: string\n }[] = []\n const { type, formulaType } = fieldType\n if (type === FieldType.STRING) {\n ops = stringOps\n } else if (type === FieldType.NUMBER || type === FieldType.BIGINT) {\n ops = numOps\n } else if (type === FieldType.OPTIONS) {\n ops = [Op.Equals, Op.NotEquals, Op.Empty, Op.NotEmpty, Op.In]\n } else if (type === FieldType.ARRAY) {\n ops = [Op.Contains, Op.NotContains, Op.Empty, Op.NotEmpty, Op.ContainsAny]\n } else if (type === FieldType.BOOLEAN) {\n ops = [Op.Equals, Op.NotEquals, Op.Empty, Op.NotEmpty]\n } else if (type === FieldType.LONGFORM) {\n ops = stringOps\n } else if (type === FieldType.DATETIME) {\n ops = numOps\n } else if (type === FieldType.FORMULA && formulaType === FormulaType.STATIC) {\n ops = stringOps.concat([Op.MoreThan, Op.LessThan])\n } else if (\n type === FieldType.BB_REFERENCE_SINGLE ||\n schema.isDeprecatedSingleUserColumn(fieldType)\n ) {\n ops = [Op.Equals, Op.NotEquals, Op.Empty, Op.NotEmpty, Op.In]\n } else if (type === FieldType.BB_REFERENCE) {\n ops = [Op.Contains, Op.NotContains, Op.ContainsAny, Op.Empty, Op.NotEmpty]\n }\n\n // Only allow equal/not equal for _id in SQL tables\n const externalTable = datasource?.tableId?.includes(\"datasource_plus\")\n if (field === \"_id\" && externalTable) {\n ops = [Op.Equals, Op.NotEquals, Op.In]\n }\n\n return ops\n}\n\n/**\n * Operators which do not support empty strings as values\n */\nexport const NoEmptyFilterStrings = [\n OperatorOptions.StartsWith.value,\n OperatorOptions.Like.value,\n OperatorOptions.Equals.value,\n OperatorOptions.NotEquals.value,\n OperatorOptions.Contains.value,\n OperatorOptions.NotContains.value,\n] as (keyof SearchQueryFields)[]\n\n/**\n * Removes any fields that contain empty strings that would cause inconsistent\n * behaviour with how backend tables are filtered (no value means no filter).\n */\nconst cleanupQuery = (query: SearchFilters) => {\n if (!query) {\n return query\n }\n for (let filterField of NoEmptyFilterStrings) {\n const operator = filterField as SearchFilterOperator\n if (!query[operator]) {\n continue\n }\n\n for (let [key, value] of Object.entries(query[operator]!)) {\n if (value == null || value === \"\") {\n delete query[operator]![key]\n }\n }\n }\n return query\n}\n\n/**\n * Removes a numeric prefix on field names designed to give fields uniqueness\n */\nexport const removeKeyNumbering = (key: string): string => {\n if (typeof key === \"string\" && key.match(/\\d[0-9]*:/g) != null) {\n const parts = key.split(\":\")\n // remove the number\n parts.shift()\n return parts.join(\":\")\n } else {\n return key\n }\n}\n\n/**\n * Builds a lucene JSON query from the filter structure generated in the builder\n * @param filter the builder filter structure\n */\nexport const buildLuceneQuery = (filter: SearchFilter[]) => {\n let query: SearchFilters = {\n string: {},\n fuzzy: {},\n range: {},\n equal: {},\n notEqual: {},\n empty: {},\n notEmpty: {},\n contains: {},\n notContains: {},\n oneOf: {},\n containsAny: {},\n }\n\n if (!Array.isArray(filter)) {\n return query\n }\n\n filter.forEach(expression => {\n let { operator, field, type, value, externalType, onEmptyFilter } =\n expression\n const queryOperator = operator as SearchFilterOperator\n const isHbs =\n typeof value === \"string\" && (value.match(HBS_REGEX) || []).length > 0\n // Parse all values into correct types\n if (operator === \"allOr\") {\n query.allOr = true\n return\n }\n if (onEmptyFilter) {\n query.onEmptyFilter = onEmptyFilter\n return\n }\n if (\n type === \"datetime\" &&\n !isHbs &&\n queryOperator !== \"empty\" &&\n queryOperator !== \"notEmpty\"\n ) {\n // Ensure date value is a valid date and parse into correct format\n if (!value) {\n return\n }\n try {\n value = new Date(value).toISOString()\n } catch (error) {\n return\n }\n }\n if (type === \"number\" && typeof value === \"string\" && !isHbs) {\n if (queryOperator === \"oneOf\") {\n value = value.split(\",\").map(item => parseFloat(item))\n } else {\n value = parseFloat(value)\n }\n }\n if (type === \"boolean\") {\n value = `${value}`?.toLowerCase() === \"true\"\n }\n if (\n [\"contains\", \"notContains\", \"containsAny\"].includes(operator) &&\n type === \"array\" &&\n typeof value === \"string\"\n ) {\n value = value.split(\",\")\n }\n if (operator.startsWith(\"range\") && query.range) {\n const minint =\n SqlNumberTypeRangeMap[\n externalType as keyof typeof SqlNumberTypeRangeMap\n ]?.min || Number.MIN_SAFE_INTEGER\n const maxint =\n SqlNumberTypeRangeMap[\n externalType as keyof typeof SqlNumberTypeRangeMap\n ]?.max || Number.MAX_SAFE_INTEGER\n if (!query.range[field]) {\n query.range[field] = {\n low: type === \"number\" ? minint : \"0000-00-00T00:00:00.000Z\",\n high: type === \"number\" ? maxint : \"9999-00-00T00:00:00.000Z\",\n }\n }\n if (operator === \"rangeLow\" && value != null && value !== \"\") {\n query.range[field] = {\n ...query.range[field],\n low: value,\n }\n } else if (operator === \"rangeHigh\" && value != null && value !== \"\") {\n query.range[field] = {\n ...query.range[field],\n high: value,\n }\n }\n } else if (query[queryOperator] && operator !== \"onEmptyFilter\") {\n if (type === \"boolean\") {\n // Transform boolean filters to cope with null.\n // \"equals false\" needs to be \"not equals true\"\n // \"not equals false\" needs to be \"equals true\"\n if (queryOperator === \"equal\" && value === false) {\n query.notEqual = query.notEqual || {}\n query.notEqual[field] = true\n } else if (queryOperator === \"notEqual\" && value === false) {\n query.equal = query.equal || {}\n query.equal[field] = true\n } else {\n query[queryOperator] = query[queryOperator] || {}\n query[queryOperator]![field] = value\n }\n } else {\n query[queryOperator] = query[queryOperator] || {}\n query[queryOperator]![field] = value\n }\n }\n })\n\n return query\n}\n\n/**\n * Performs a client-side lucene search on an array of data\n * @param docs the data\n * @param query the JSON lucene query\n */\nexport const runLuceneQuery = (docs: any[], query?: SearchFilters) => {\n if (!docs || !Array.isArray(docs)) {\n return []\n }\n if (!query) {\n return docs\n }\n\n // Make query consistent first\n query = cleanupQuery(query)\n\n // Iterates over a set of filters and evaluates a fail function against a doc\n const match =\n (\n type: SearchFilterOperator,\n failFn: (docValue: any, testValue: any) => boolean\n ) =>\n (doc: any) => {\n const filters = Object.entries(query![type] || {})\n for (let i = 0; i < filters.length; i++) {\n const [key, testValue] = filters[i]\n const docValue = deepGet(doc, removeKeyNumbering(key))\n if (failFn(docValue, testValue)) {\n return false\n }\n }\n return true\n }\n\n // Process a string match (fails if the value does not start with the string)\n const stringMatch = match(\n SearchFilterOperator.STRING,\n (docValue: string, testValue: string) => {\n return (\n !docValue ||\n !docValue?.toLowerCase().startsWith(testValue?.toLowerCase())\n )\n }\n )\n\n // Process a fuzzy match (treat the same as starts with when running locally)\n const fuzzyMatch = match(\n SearchFilterOperator.FUZZY,\n (docValue: string, testValue: string) => {\n return (\n !docValue ||\n !docValue?.toLowerCase().startsWith(testValue?.toLowerCase())\n )\n }\n )\n\n // Process a range match\n const rangeMatch = match(\n SearchFilterOperator.RANGE,\n (\n docValue: string | number | null,\n testValue: { low: number; high: number }\n ) => {\n if (docValue == null || docValue === \"\") {\n return true\n }\n if (!isNaN(+docValue)) {\n return +docValue < testValue.low || +docValue > testValue.high\n }\n if (dayjs(docValue).isValid()) {\n return (\n new Date(docValue).getTime() < new Date(testValue.low).getTime() ||\n new Date(docValue).getTime() > new Date(testValue.high).getTime()\n )\n }\n return false\n }\n )\n\n // Process an equal match (fails if the value is different)\n const equalMatch = match(\n SearchFilterOperator.EQUAL,\n (docValue: any, testValue: string | null) => {\n return testValue != null && testValue !== \"\" && docValue !== testValue\n }\n )\n\n // Process a not-equal match (fails if the value is the same)\n const notEqualMatch = match(\n SearchFilterOperator.NOT_EQUAL,\n (docValue: any, testValue: string | null) => {\n return testValue != null && testValue !== \"\" && docValue === testValue\n }\n )\n\n // Process an empty match (fails if the value is not empty)\n const emptyMatch = match(\n SearchFilterOperator.EMPTY,\n (docValue: string | null) => {\n return docValue != null && docValue !== \"\"\n }\n )\n\n // Process a not-empty match (fails is the value is empty)\n const notEmptyMatch = match(\n SearchFilterOperator.NOT_EMPTY,\n (docValue: string | null) => {\n return docValue == null || docValue === \"\"\n }\n )\n\n // Process an includes match (fails if the value is not included)\n const oneOf = match(\n SearchFilterOperator.ONE_OF,\n (docValue: any, testValue: any) => {\n if (typeof testValue === \"string\") {\n testValue = testValue.split(\",\")\n if (typeof docValue === \"number\") {\n testValue = testValue.map((item: string) => parseFloat(item))\n }\n }\n return !testValue?.includes(docValue)\n }\n )\n\n const containsAny = match(\n SearchFilterOperator.CONTAINS_ANY,\n (docValue: any, testValue: any) => {\n return !docValue?.includes(...testValue)\n }\n )\n\n const contains = match(\n SearchFilterOperator.CONTAINS,\n (docValue: string | any[], testValue: any[]) => {\n return !testValue?.every((item: any) => docValue?.includes(item))\n }\n )\n\n const notContains = match(\n SearchFilterOperator.NOT_CONTAINS,\n (docValue: string | any[], testValue: any[]) => {\n return testValue?.every((item: any) => docValue?.includes(item))\n }\n )\n\n const docMatch = (doc: any) => {\n const filterFunctions: Record<SearchFilterOperator, (doc: any) => boolean> =\n {\n string: stringMatch,\n fuzzy: fuzzyMatch,\n range: rangeMatch,\n equal: equalMatch,\n notEqual: notEqualMatch,\n empty: emptyMatch,\n notEmpty: notEmptyMatch,\n oneOf: oneOf,\n contains: contains,\n containsAny: containsAny,\n notContains: notContains,\n }\n\n const activeFilterKeys: SearchFilterOperator[] = Object.entries(query || {})\n .filter(\n ([key, value]: [string, any]) =>\n ![\"allOr\", \"onEmptyFilter\"].includes(key) &&\n value &&\n Object.keys(value as Record<string, any>).length > 0\n )\n .map(([key]) => key as any)\n\n const results: boolean[] = activeFilterKeys.map(filterKey => {\n return filterFunctions[filterKey]?.(doc) ?? false\n })\n\n if (query!.allOr) {\n return results.some(result => result === true)\n } else {\n return results.every(result => result === true)\n }\n }\n return docs.filter(docMatch)\n}\n\n/**\n * Performs a client-side sort from the equivalent server-side lucene sort\n * parameters.\n * @param docs the data\n * @param sort the sort column\n * @param sortOrder the sort order (\"ascending\" or \"descending\")\n * @param sortType the type of sort (\"string\" or \"number\")\n */\nexport const luceneSort = (\n docs: any[],\n sort: string,\n sortOrder: SortDirection,\n sortType = SortType.STRING\n) => {\n if (!sort || !sortOrder || !sortType) {\n return docs\n }\n const parse =\n sortType === \"string\" ? (x: any) => `${x}` : (x: string) => parseFloat(x)\n return docs\n .slice()\n .sort((a: { [x: string]: any }, b: { [x: string]: any }) => {\n const colA = parse(a[sort])\n const colB = parse(b[sort])\n if (sortOrder.toLowerCase() === \"descending\") {\n return colA > colB ? -1 : 1\n } else {\n return colA > colB ? 1 : -1\n }\n })\n}\n\n/**\n * Limits the specified docs to the specified number of rows from the equivalent\n * server-side lucene limit parameters.\n * @param docs the data\n * @param limit the number of docs to limit to\n */\nexport const luceneLimit = (docs: any[], limit: string) => {\n const numLimit = parseFloat(limit)\n if (isNaN(numLimit)) {\n return docs\n }\n return docs.slice(0, numLimit)\n}\n\nexport const hasFilters = (query?: SearchFilters) => {\n if (!query) {\n return false\n }\n const skipped = [\"allOr\", \"onEmptyFilter\"]\n for (let [key, value] of Object.entries(query)) {\n if (skipped.includes(key) || typeof value !== \"object\") {\n continue\n }\n if (Object.keys(value || {}).length !== 0) {\n return true\n }\n }\n return false\n}\n", "export * from \"./helpers\"\nexport * from \"./integrations\"\nexport * as cron from \"./cron\"\nexport * as schema from \"./schema\"\n", "import { User } from \"@budibase/types\"\n\n/**\n * Gets a key within an object. The key supports dot syntax for retrieving deep\n * fields - e.g. \"a.b.c\".\n * Exact matches of keys with dots in them take precedence over nested keys of\n * the same path - e.g. getting \"a.b\" from { \"a.b\": \"foo\", a: { b: \"bar\" } }\n * will return \"foo\" over \"bar\".\n * @param obj the object\n * @param key the key\n * @return the value or null if a value was not found for this key\n */\nexport const deepGet = (obj: { [x: string]: any }, key: string) => {\n if (!obj || !key) {\n return null\n }\n if (Object.prototype.hasOwnProperty.call(obj, key)) {\n return obj[key]\n }\n const split = key.split(\".\")\n for (let i = 0; i < split.length; i++) {\n obj = obj?.[split[i]]\n }\n return obj\n}\n\n/**\n * Gets the initials to show in a user avatar.\n * @param user the user\n */\nexport const getUserInitials = (user: User) => {\n if (!user) {\n return \"?\"\n }\n let initials = \"\"\n initials += user.firstName ? user.firstName[0] : \"\"\n initials += user.lastName ? user.lastName[0] : \"\"\n if (initials !== \"\") {\n return initials\n }\n return user.email?.[0] || \"U\"\n}\n\n/**\n * Gets a deterministic colour for a particular user\n * @param user the user\n */\nexport const getUserColor = (user: User) => {\n let id = user?._id\n if (!id) {\n return \"var(--spectrum-global-color-blue-400)\"\n }\n\n // In order to generate the same color for global users as app users, we need\n // to remove the app-specific table prefix\n id = id.replace(\"ro_ta_users_\", \"\")\n\n // Generate a hue based on the ID\n let hue = 1\n for (let i = 0; i < id.length; i++) {\n hue += id.charCodeAt(i)\n hue = hue % 36\n }\n return `hsl(${hue * 10}, 50%, 40%)`\n}\n\n/**\n * Gets a friendly label to describe who a user is.\n * @param user the user\n */\nexport const getUserLabel = (user: User) => {\n if (!user) {\n return \"\"\n }\n const { firstName, lastName, email } = user\n if (firstName && lastName) {\n return `${firstName} ${lastName}`\n } else if (firstName) {\n return firstName\n } else if (lastName) {\n return lastName\n } else {\n return email\n }\n}\n", "import { Datasource, SourceName } from \"@budibase/types\"\n\nexport function isGoogleSheets(type: SourceName) {\n return type === SourceName.GOOGLE_SHEETS\n}\n\nexport function isSQL(datasource: Datasource): boolean {\n if (!datasource || !datasource.source) {\n return false\n }\n const SQL = [\n SourceName.POSTGRES,\n SourceName.SQL_SERVER,\n SourceName.MYSQL,\n SourceName.ORACLE,\n ]\n return SQL.indexOf(datasource.source) !== -1 || datasource.isSQL === true\n}\n", "import cronValidate from \"cron-validate\"\n\nconst INPUT_CRON_START = \"(Input cron: \"\nconst ERROR_SWAPS = {\n \"smaller than lower limit\": \"less than\",\n \"bigger than upper limit\": \"greater than\",\n daysOfMonth: \"'days of the month'\",\n daysOfWeek: \"'days of the week'\",\n years: \"'years'\",\n months: \"'months'\",\n hours: \"'hours'\",\n minutes: \"'minutes'\",\n seconds: \"'seconds'\",\n}\n\nfunction improveErrors(errors: string[]): string[] {\n const finalErrors: string[] = []\n\n for (let error of errors) {\n if (error.includes(INPUT_CRON_START)) {\n error = error.split(INPUT_CRON_START)[0].trim()\n }\n for (let [oldErr, newErr] of Object.entries(ERROR_SWAPS)) {\n if (error.includes(oldErr)) {\n error = error.replace(new RegExp(oldErr, \"g\"), newErr)\n }\n }\n finalErrors.push(error)\n }\n return finalErrors\n}\n\nexport function validate(\n cronExpression: string\n): { valid: false; err: string[] } | { valid: true } {\n const result = cronValidate(cronExpression, {\n preset: \"npm-node-cron\",\n override: {\n useSeconds: false,\n },\n })\n if (!result.isValid()) {\n return { valid: false, err: improveErrors(result.getError()) }\n } else {\n return { valid: true }\n }\n}\n", "import {\n BBReferenceFieldSubType,\n FieldSchema,\n FieldType,\n} from \"@budibase/types\"\n\nexport function isDeprecatedSingleUserColumn(\n schema: Pick<FieldSchema, \"type\" | \"subtype\" | \"constraints\">\n): schema is {\n type: FieldType.BB_REFERENCE\n subtype: BBReferenceFieldSubType.USER\n} {\n const result =\n schema.type === FieldType.BB_REFERENCE &&\n schema.subtype === BBReferenceFieldSubType.USER &&\n schema.constraints?.type !== \"array\"\n return result\n}\n", "import * as Constants from \"./constants\"\n\nexport function unreachable(\n value: never,\n message = `No such case in exhaustive switch: ${value}`\n) {\n throw new Error(message)\n}\n\nexport async function parallelForeach<T>(\n items: T[],\n task: (item: T) => Promise<void>,\n maxConcurrency: number\n): Promise<void> {\n const promises: Promise<void>[] = []\n let index = 0\n\n const processItem = async (item: T) => {\n try {\n await task(item)\n } finally {\n processNext()\n }\n }\n\n const processNext = () => {\n if (index >= items.length) {\n // No more items to process\n return\n }\n\n const item = items[index]\n index++\n\n const promise = processItem(item)\n promises.push(promise)\n\n if (promises.length >= maxConcurrency) {\n Promise.race(promises).then(processNext)\n } else {\n processNext()\n }\n }\n processNext()\n\n await Promise.all(promises)\n}\n\nexport function filterValueToLabel() {\n return Object.keys(Constants.OperatorOptions).reduce(\n (acc: { [key: string]: string }, key: string) => {\n const ops: { [key: string]: any } = Constants.OperatorOptions\n const op: { [key: string]: string } = ops[key]\n acc[op[\"value\"]] = op.label\n return acc\n },\n {}\n )\n}\n\nexport function hasSchema(test: any) {\n return (\n typeof test === \"object\" &&\n !Array.isArray(test) &&\n test !== null &&\n !(test instanceof Date) &&\n Object.keys(test).length > 0\n )\n}\n", "export * from \"./documents\"\n", "import { DocumentType, prefixed } from \"@budibase/types\"\n\nconst APP_PREFIX = prefixed(DocumentType.APP)\nconst APP_DEV_PREFIX = prefixed(DocumentType.APP_DEV)\n\nexport function getDevAppID(appId: string) {\n if (!appId) {\n throw new Error(\"No app ID provided\")\n }\n if (appId.startsWith(APP_DEV_PREFIX)) {\n return appId\n }\n // split to take off the app_ element, then join it together incase any other app_ exist\n const split = appId.split(APP_PREFIX)\n split.shift()\n const rest = split.join(APP_PREFIX)\n return `${APP_DEV_PREFIX}${rest}`\n}\n\n/**\n * Convert a development app ID to a deployed app ID.\n */\nexport function getProdAppID(appId: string) {\n if (!appId) {\n throw new Error(\"No app ID provided\")\n }\n if (!appId.startsWith(APP_DEV_PREFIX)) {\n return appId\n }\n // split to take off the app_dev element, then join it together incase any other app_ exist\n const split = appId.split(APP_DEV_PREFIX)\n split.shift()\n const rest = split.join(APP_DEV_PREFIX)\n return `${APP_PREFIX}${rest}`\n}\n", "import {\n ContextUser,\n DocumentType,\n SEPARATOR,\n User,\n InternalTable,\n} from \"@budibase/types\"\nimport { getProdAppID } from \"./applications\"\nimport * as _ from \"lodash/fp\"\n\n// checks if a user is specifically a builder, given an app ID\nexport function isBuilder(user: User | ContextUser, appId?: string): boolean {\n if (!user) {\n return false\n }\n if (user.builder?.global) {\n return true\n } else if (appId && user.builder?.apps?.includes(getProdAppID(appId))) {\n return true\n }\n return false\n}\n\nexport function isGlobalBuilder(user: User | ContextUser): boolean {\n return (isBuilder(user) && !hasAppBuilderPermissions(user)) || isAdmin(user)\n}\n\nexport function canCreateApps(user: User | ContextUser): boolean {\n return isGlobalBuilder(user) || hasCreatorPermissions(user)\n}\n\n// alias for hasAdminPermission, currently do the same thing\n// in future whether someone has admin permissions and whether they are\n// an admin for a specific resource could be separated\nexport function isAdmin(user: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return hasAdminPermissions(user)\n}\n\nexport function isAdminOrBuilder(\n user: User | ContextUser,\n appId?: string\n): boolean {\n return isBuilder(user, appId) || isAdmin(user)\n}\n\nexport function isAdminOrGlobalBuilder(user: User | ContextUser): boolean {\n return isGlobalBuilder(user) || isAdmin(user)\n}\n\n// check if they are a builder within an app (not necessarily a global builder)\nexport function hasAppBuilderPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n const appLength = user.builder?.apps?.length\n const isGlobalBuilder = !!user.builder?.global\n return !isGlobalBuilder && appLength != null && appLength > 0\n}\n\nexport function hasAppCreatorPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return _.flow(\n _.get(\"roles\"),\n _.values,\n _.find(x => [\"CREATOR\", \"ADMIN\"].includes(x)),\n x => !!x\n )(user)\n}\n\n// checks if a user is capable of building any app\nexport function hasBuilderPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return (\n user.builder?.global ||\n hasAppBuilderPermissions(user) ||\n hasCreatorPermissions(user)\n )\n}\n\n// checks if a user is capable of being an admin\nexport function hasAdminPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return !!user.admin?.global\n}\n\nexport function hasCreatorPermissions(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return !!user.builder?.creator\n}\n\nexport function isCreator(user?: User | ContextUser): boolean {\n if (!user) {\n return false\n }\n return (\n isGlobalBuilder(user!) ||\n hasAdminPermissions(user) ||\n hasCreatorPermissions(user) ||\n hasAppBuilderPermissions(user) ||\n hasAppCreatorPermissions(user)\n )\n}\n\nexport function getGlobalUserID(userId?: string): string | undefined {\n if (typeof userId !== \"string\") {\n return userId\n }\n const prefix = `${DocumentType.ROW}${SEPARATOR}${InternalTable.USER_METADATA}${SEPARATOR}`\n if (!userId.startsWith(prefix)) {\n return userId\n }\n return userId.split(prefix)[1]\n}\n\nexport function containsUserID(value: string | undefined): boolean {\n if (typeof value !== \"string\") {\n return false\n }\n return value.includes(`${DocumentType.USER}${SEPARATOR}`)\n}\n", "import { FieldType } from \"@budibase/types\"\n\nconst allowDisplayColumnByType: Record<FieldType, boolean> = {\n [FieldType.STRING]: true,\n [FieldType.LONGFORM]: true,\n [FieldType.OPTIONS]: true,\n [FieldType.NUMBER]: true,\n [FieldType.DATETIME]: true,\n [FieldType.FORMULA]: true,\n [FieldType.AUTO]: true,\n [FieldType.INTERNAL]: true,\n [FieldType.BARCODEQR]: true,\n [FieldType.BIGINT]: true,\n [FieldType.BOOLEAN]: false,\n [FieldType.ARRAY]: false,\n [FieldType.ATTACHMENTS]: false,\n [FieldType.ATTACHMENT_SINGLE]: false,\n [FieldType.SIGNATURE_SINGLE]: false,\n [FieldType.LINK]: false,\n [FieldType.JSON]: false,\n [FieldType.BB_REFERENCE]: false,\n [FieldType.BB_REFERENCE_SINGLE]: false,\n}\n\nconst allowSortColumnByType: Record<FieldType, boolean> = {\n [FieldType.STRING]: true,\n [FieldType.LONGFORM]: true,\n [FieldType.OPTIONS]: true,\n [FieldType.NUMBER]: true,\n [FieldType.DATETIME]: true,\n [FieldType.AUTO]: true,\n [FieldType.INTERNAL]: true,\n [FieldType.BARCODEQR]: true,\n [FieldType.BIGINT]: true,\n [FieldType.BOOLEAN]: true,\n [FieldType.JSON]: true,\n [FieldType.FORMULA]: false,\n [FieldType.ATTACHMENTS]: false,\n [FieldType.ATTACHMENT_SINGLE]: false,\n [FieldType.SIGNATURE_SINGLE]: false,\n [FieldType.ARRAY]: false,\n [FieldType.LINK]: false,\n [FieldType.BB_REFERENCE]: false,\n [FieldType.BB_REFERENCE_SINGLE]: false,\n}\n\nexport function canBeDisplayColumn(type: FieldType): boolean {\n return !!allowDisplayColumnByType[type]\n}\n\nexport function canBeSortColumn(type: FieldType): boolean {\n return !!allowSortColumnByType[type]\n}\n"],
|
|
5
5
|
"mappings": "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A,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QAAI,QAAO;AAAA,QACtf,QAAO;AAAA,QAAK,QAAO;AAAA,QAAK,QAAO;AAAA,QAAK,QAAO;AAAA,QAAK,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QACnf,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QACvf,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;AAAA,QAAI,UAAS;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",
|
|
6
6
|
"names": ["module", "t", "e", "n", "r", "i", "s", "u", "_", "a", "M", "m", "f", "l", "$", "y", "v", "g", "D", "o", "d", "c", "h", "module", "n", "t", "r", "e", "u", "i", "o", "_", "p", "x", "Z", "Ct", "Y", "J", "$t", "Yt", "Qt", "f", "c", "a", "l", "s", "h", "v", "g", "y", "d", "b", "w", "Xt", "nr", "tr", "rr", "er", "ur", "ir", "or", "fr", "Wr", "cr", "ar", "lr", "sr", "hr", "pr", "_r", "vr", "gr", "yr", "dr", "br", "wr", "mr", "xr", "jr", "Ar", "kr", "Or", "Ir", "Rr", "Mr", "zr", "Er", "Br", "Sr", "Lr", "Cr", "Ur", "Tr", "Fr", "Nr", "Pr", "Gr", "Hr", "Jr", "Yr", "ne", "te", "ee", "ue", "oe", "fe", "_e", "de", "m", "j", "module", "module", "func", "pairs", "rearg", "name", "options", "_", "module", "_", "Header", "AutomationTriggerStepId", "AutomationActionStepId", "PluginType", "SocketEvent", "GridSocketEvent", "BuilderSocketEvent", "BpmCorrelationKey", "BpmInstanceKey", "BpmStatusKey", "BpmStatusValue", "cronValidate", "dayjs", "isGlobalBuilder"]
|
|
7
7
|
}
|