Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/Yonaba/Moses.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorYonaba <roland.yonaba@gmail.com>2018-08-16 12:32:45 +0300
committerYonaba <roland.yonaba@gmail.com>2018-08-16 12:32:45 +0300
commit4b8ef4a336e405097881efe3937496677fd69d8f (patch)
treed44e2ccb54657c90dd2dfe1ef9ea58af575fb809
parentb44b453e01e834a5d6917a12f1fd6faa38b44b3a (diff)
update minified version to reflect b44b453e01 changes
-rw-r--r--moses_min.lua756
1 files changed, 405 insertions, 351 deletions
diff --git a/moses_min.lua b/moses_min.lua
index bb67dcc..901accd 100644
--- a/moses_min.lua
+++ b/moses_min.lua
@@ -1,364 +1,418 @@
-local _ba='1.6.1'local aba,bba,cba,dba=next,type,select,pcall;local _ca,aca=setmetatable,getmetatable
-local bca,cca=table.insert,table.sort;local dca,_da=table.remove,table.concat
-local ada,bda,cda=math.randomseed,math.random,math.huge;local dda,__b,a_b=math.floor,math.max,math.min;local b_b=rawget
-local c_b=table.unpack or unpack;local d_b,_ab=pairs,ipairs;local aab=os.clock;local bab={}
-local function cab(dcb,_db)return dcb>_db end;local function dab(dcb,_db)return dcb<_db end
-local function _bb(dcb,_db,adb)return(dcb<_db)and _db or
-(dcb>adb and adb or dcb)end;local function abb(dcb,_db)return _db and true end
-local function bbb(dcb)return not dcb end
-local function cbb(dcb)local _db=0;for adb,bdb in d_b(dcb)do _db=_db+1 end;return _db end
-local function dbb(dcb,_db,adb,...)local bdb;local cdb=adb or bab.identity;for ddb,__c in d_b(dcb)do
-if not bdb then bdb=cdb(__c,...)else
-local a_c=cdb(__c,...)bdb=_db(bdb,a_c)and bdb or a_c end end;return bdb end
-local function _cb(dcb,_db,adb,bdb)for i=0,#dcb,_db do local cdb=bab.slice(dcb,i+1,i+_db)
-if#cdb>0 then while
-(#cdb<_db and bdb)do cdb[#cdb+1]=bdb end;adb(cdb)end end end
-local function acb(dcb,_db,adb,bdb)
-for i=0,#dcb,_db-1 do local cdb=bab.slice(dcb,i+1,i+_db)if
-#cdb>0 and i+1 <#dcb then while(#cdb<_db and bdb)do cdb[#cdb+1]=bdb end
-adb(cdb)end end end
-local function bcb(dcb,_db,adb)if _db==0 then adb(dcb)end
-for i=1,_db do dcb[_db],dcb[i]=dcb[i],dcb[_db]bcb(dcb,_db-
-1,adb)dcb[_db],dcb[i]=dcb[i],dcb[_db]end end;local ccb=-1
-function bab.clear(dcb)for _db in d_b(dcb)do dcb[_db]=nil end;return dcb end
-function bab.each(dcb,_db,...)for adb,bdb in d_b(dcb)do _db(adb,bdb,...)end end
-function bab.eachi(dcb,_db,...)
-local adb=bab.sort(bab.select(bab.keys(dcb),function(bdb,cdb)return bab.isInteger(cdb)end))for bdb,cdb in _ab(adb)do _db(cdb,dcb[cdb],...)end end
-function bab.at(dcb,...)local _db={}for adb,bdb in _ab({...})do
-if bab.has(dcb,bdb)then _db[#_db+1]=dcb[bdb]end end;return _db end
-function bab.count(dcb,_db)if bab.isNil(_db)then return bab.size(dcb)end;local adb=0
-bab.each(dcb,function(bdb,cdb)if
-bab.isEqual(cdb,_db)then adb=adb+1 end end)return adb end
-function bab.countf(dcb,_db,...)return bab.count(bab.map(dcb,_db,...),true)end
-function bab.cycle(dcb,_db)_db=_db or 1;if _db<=0 then return bab.noop end;local adb,bdb;local cdb=0
+local slo60nGX='1.6.1'local XKD,SWFtRywD,e,v=next,type,select,pcall
+local l6Sm5,oUA=setmetatable,getmetatable;local QFKEzBf,odpE=table.insert,table.sort;local p,lIpFkbLI=table.remove,table.concat
+local JdUtcU,GQLN,toXyq=math.randomseed,math.random,math.huge;local S9TO,pS78Y,BCf7=math.floor,math.max,math.min;local RlMSrmdD=rawget
+local VCD=table.unpack or unpack;local OV7,X83a=pairs,ipairs;local PizLA9mj=os.clock;local hUL={}local function l(VQT,Id)return VQT>Id end;local function kyWtqIf0(Ub,qJExeUn2)return
+Ub<qJExeUn2 end
+local function zupvsz(cmWo_v,RoXZEsn,BKLwtAVx)return
+
+(cmWo_v<RoXZEsn)and RoXZEsn or(cmWo_v>BKLwtAVx and BKLwtAVx or cmWo_v)end;local function Mw(hUL,BMZNmf0)return BMZNmf0 and true end
+local function S1wg_DG(qL9C)return not qL9C end
+local function sf0(Colg)local ex2xo17=0;for I,K66 in OV7(Colg)do ex2xo17=ex2xo17+1 end;return ex2xo17 end
+local function qxZa6ozV(Tq,jmB,bjO,...)local QoYPziln;local bjO=bjO or hUL.identity
+for Hj,KBlIVi in OV7(Tq)do if not QoYPziln then
+QoYPziln=bjO(KBlIVi,...)else local KBlIVi=bjO(KBlIVi,...)
+QoYPziln=jmB(QoYPziln,KBlIVi)and QoYPziln or KBlIVi end end;return QoYPziln end
+local function hgW2H5(OR8it1,GAqAsa,Oc_,Qj)
+for Ybp8=0,#OR8it1,GAqAsa do
+local ZmzyNm=hUL.slice(OR8it1,Ybp8+1,Ybp8+GAqAsa)
+if#ZmzyNm>0 then while(#ZmzyNm<GAqAsa and Qj)do
+ZmzyNm[#ZmzyNm+1]=Qj end;Oc_(ZmzyNm)end end end
+local function z5i2i(akG0mUnS,iy,gc7SaW,FnbJWd2)
+for cpdLk=0,#akG0mUnS,iy-1 do
+local FbQX=hUL.slice(akG0mUnS,cpdLk+1,cpdLk+iy)if#FbQX>0 and cpdLk+1 <#akG0mUnS then while
+(#FbQX<iy and FnbJWd2)do FbQX[#FbQX+1]=FnbJWd2 end
+gc7SaW(FbQX)end end end
+local function MGSnnzOI(ejMVLYZd,eS0X,XDQS4ASf)if eS0X==0 then XDQS4ASf(ejMVLYZd)end
+for IiNU=1,eS0X do
+ejMVLYZd[eS0X],ejMVLYZd[IiNU]=ejMVLYZd[IiNU],ejMVLYZd[eS0X]MGSnnzOI(ejMVLYZd,eS0X-1,XDQS4ASf)
+ejMVLYZd[eS0X],ejMVLYZd[IiNU]=ejMVLYZd[IiNU],ejMVLYZd[eS0X]end end;local B0o5xpg7=-1;function hUL.clear(gUfudNUg)for d3 in OV7(gUfudNUg)do gUfudNUg[d3]=nil end;return
+gUfudNUg end
+function hUL.each(gTOcAHv,vY_4HT1n,...)for DzPbzg,UMD in OV7(gTOcAHv)do
+vY_4HT1n(DzPbzg,UMD,...)end end
+function hUL.eachi(K3ZE7Ou,fBI,...)
+local wMSY=hUL.sort(hUL.select(hUL.keys(K3ZE7Ou),function(_nD2rl,aVh8xSly)return hUL.isInteger(aVh8xSly)end))
+for i,P_NNVDyt in X83a(wMSY)do fBI(P_NNVDyt,K3ZE7Ou[P_NNVDyt],...)end end
+function hUL.at(cVEyN,...)local uj2AiF={}
+for W,lbHN2 in X83a({...})do if hUL.has(cVEyN,lbHN2)then
+uj2AiF[#uj2AiF+1]=cVEyN[lbHN2]end end;return uj2AiF end
+function hUL.count(PwgW3lfq,z)if hUL.isNil(z)then return hUL.size(PwgW3lfq)end
+local sf0=0
+hUL.each(PwgW3lfq,function(K,xx)if hUL.isEqual(xx,z)then sf0=sf0+1 end end)return sf0 end
+function hUL.countf(aYb,JM2,...)return hUL.count(hUL.map(aYb,JM2,...),true)end
+function hUL.cycle(bmAjLT,eExYnwnh)eExYnwnh=eExYnwnh or 1;if eExYnwnh<=0 then return hUL.noop end
+local XMBmJyiP,nowqEU6m;local iKD8V=0
while true do
return
-function()adb=adb and
-aba(dcb,adb)or aba(dcb)
-bdb=not bdb and adb or bdb;if _db then cdb=(adb==bdb)and cdb+1 or cdb
-if cdb>_db then return end end;return adb,dcb[adb]end end end
-function bab.map(dcb,_db,...)local adb={}
-for bdb,cdb in d_b(dcb)do local ddb,__c,a_c=bdb,_db(bdb,cdb,...)adb[a_c and __c or ddb]=
-a_c or __c end;return adb end;function bab.reduce(dcb,_db,adb)
-for bdb,cdb in d_b(dcb)do if adb==nil then adb=cdb else adb=_db(adb,cdb)end end;return adb end;function bab.reduceby(dcb,_db,adb,bdb,...)return
-bab.reduce(bab.select(dcb,bdb,...),_db,adb)end;function bab.reduceRight(dcb,_db,adb)return
-bab.reduce(bab.reverse(dcb),_db,adb)end
-function bab.mapReduce(dcb,_db,adb)
-local bdb={}for cdb,ddb in d_b(dcb)do bdb[cdb]=not adb and ddb or _db(adb,ddb)
-adb=bdb[cdb]end;return bdb end;function bab.mapReduceRight(dcb,_db,adb)
-return bab.mapReduce(bab.reverse(dcb),_db,adb)end
-function bab.include(dcb,_db)local adb=
-bab.isFunction(_db)and _db or bab.isEqual;for bdb,cdb in d_b(dcb)do if adb(cdb,_db)then
-return true end end;return false end
-function bab.detect(dcb,_db)
-local adb=bab.isFunction(_db)and _db or bab.isEqual;for bdb,cdb in d_b(dcb)do if adb(cdb,_db)then return bdb end end end
-function bab.where(dcb,_db)
-local adb=bab.select(dcb,function(bdb,cdb)
-for ddb in d_b(_db)do if cdb[ddb]~=_db[ddb]then return false end end;return true end)return#adb>0 and adb or nil end
-function bab.findWhere(dcb,_db)
-local adb=bab.detect(dcb,function(bdb)for cdb in d_b(_db)do
-if _db[cdb]~=bdb[cdb]then return false end end;return true end)return adb and dcb[adb]end
-function bab.select(dcb,_db,...)local adb={}for bdb,cdb in d_b(dcb)do
-if _db(bdb,cdb,...)then adb[#adb+1]=cdb end end;return adb end
-function bab.reject(dcb,_db,...)local adb=bab.map(dcb,_db,...)local bdb={}for cdb,ddb in d_b(adb)do if not ddb then
-bdb[#bdb+1]=dcb[cdb]end end;return bdb end
-function bab.all(dcb,_db,...)return( (#bab.select(bab.map(dcb,_db,...),abb))==
-cbb(dcb))end
-function bab.invoke(dcb,_db,...)local adb={...}
+function()
+XMBmJyiP=XMBmJyiP and XKD(bmAjLT,XMBmJyiP)or XKD(bmAjLT)
+nowqEU6m=not nowqEU6m and XMBmJyiP or nowqEU6m
+if eExYnwnh then
+iKD8V=(XMBmJyiP==nowqEU6m)and iKD8V+1 or iKD8V;if iKD8V>eExYnwnh then return end end;return XMBmJyiP,bmAjLT[XMBmJyiP]end end end
+function hUL.map(YtRS,A,...)local mHJ={}
+for Q57BJ,vM in OV7(YtRS)do local JeGCDX,AUFZlp,VsrKM=Q57BJ,A(Q57BJ,vM,...)mHJ[VsrKM and AUFZlp or
+JeGCDX]=VsrKM or AUFZlp end;return mHJ end
+function hUL.reduce(uhIq,EEOUzhy,hbrt)for D,Q in OV7(uhIq)do
+if hbrt==nil then hbrt=Q else hbrt=EEOUzhy(hbrt,Q)end end;return hbrt end;function hUL.reduceby(mRqle,sBEZ8,WhHB0ygh,rYSD0,...)
+return hUL.reduce(hUL.select(mRqle,rYSD0,...),sBEZ8,WhHB0ygh)end
+function hUL.reduceRight(BIL5,GQLlkH,aN4J2zRQ)return
+hUL.reduce(hUL.reverse(BIL5),GQLlkH,aN4J2zRQ)end
+function hUL.mapReduce(eWca,AGUR2QK,FK)local _={}for YQZ729qQ,rZh2wG in OV7(eWca)do
+_[YQZ729qQ]=not FK and rZh2wG or AGUR2QK(FK,rZh2wG)FK=_[YQZ729qQ]end;return _ end;function hUL.mapReduceRight(sef4eW6Q,Z,UacO6D)
+return hUL.mapReduce(hUL.reverse(sef4eW6Q),Z,UacO6D)end
+function hUL.include(FdnzjW,o)local lMAL=
+hUL.isFunction(o)and o or hUL.isEqual;for CpQ,L in OV7(FdnzjW)do if
+lMAL(L,o)then return true end end;return false end
+function hUL.detect(HnQS_Z,rib)
+local w=hUL.isFunction(rib)and rib or hUL.isEqual
+for YT6wZ,VYv in OV7(HnQS_Z)do if w(VYv,rib)then return YT6wZ end end end
+function hUL.where(gU,JzG8W4Ya)
+local dZ54oc=hUL.select(gU,function(v_LoR,gRY)for z in OV7(JzG8W4Ya)do
+if gRY[z]~=JzG8W4Ya[z]then return false end end;return true end)return#dZ54oc>0 and dZ54oc or nil end
+function hUL.findWhere(ad,Ui0Qa)
+local g=hUL.detect(ad,function(Itx)for JpoaGH in OV7(Ui0Qa)do
+if Ui0Qa[JpoaGH]~=Itx[JpoaGH]then return false end end;return true end)return g and ad[g]end
+function hUL.select(cyAcCT,RCA,...)local L46S={}
+for GKTYT,hXSTz8FJ in OV7(cyAcCT)do if RCA(GKTYT,hXSTz8FJ,...)then
+L46S[#L46S+1]=hXSTz8FJ end end;return L46S end
+function hUL.reject(C24r7o4G,b_4Q38cU,...)local N=hUL.map(C24r7o4G,b_4Q38cU,...)local JbPw={}
+for j,S in OV7(N)do if not S then JbPw[
+#JbPw+1]=C24r7o4G[j]end end;return JbPw end
+function hUL.all(cg4FV7bl,flf9sWX,...)return
+(
+(#hUL.select(hUL.map(cg4FV7bl,flf9sWX,...),Mw))==sf0(cg4FV7bl))end
+function hUL.invoke(uNoS,ZWoH9V08,...)local RWo={...}
return
-bab.map(dcb,function(bdb,cdb)
-if bab.isTable(cdb)then
-if bab.has(cdb,_db)then
+hUL.map(uNoS,function(GWBQL,PCldTUn9)
+if hUL.isTable(PCldTUn9)then
+if hUL.has(PCldTUn9,ZWoH9V08)then if
+hUL.isCallable(PCldTUn9[ZWoH9V08])then return PCldTUn9[ZWoH9V08](PCldTUn9,VCD(RWo))else return
+PCldTUn9[ZWoH9V08]end else
if
-bab.isCallable(cdb[_db])then return cdb[_db](cdb,c_b(adb))else return cdb[_db]end else
-if bab.isCallable(_db)then return _db(cdb,c_b(adb))end end elseif bab.isCallable(_db)then return _db(cdb,c_b(adb))end end)end
-function bab.pluck(dcb,_db)return
-bab.reject(bab.map(dcb,function(adb,bdb)return bdb[_db]end),bbb)end;function bab.max(dcb,_db,...)return dbb(dcb,cab,_db,...)end;function bab.min(dcb,_db,...)return
-dbb(dcb,dab,_db,...)end
-function bab.shuffle(dcb,_db)if _db then ada(_db)end
-local adb={}
-bab.each(dcb,function(bdb,cdb)local ddb=dda(bda()*bdb)+1;adb[bdb]=adb[ddb]
-adb[ddb]=cdb end)return adb end
-function bab.same(dcb,_db)
+hUL.isCallable(ZWoH9V08)then return ZWoH9V08(PCldTUn9,VCD(RWo))end end elseif hUL.isCallable(ZWoH9V08)then return ZWoH9V08(PCldTUn9,VCD(RWo))end end)end
+function hUL.pluck(sO_,ALbdmINL)return
+hUL.reject(hUL.map(sO_,function(b,DUgF0E)return DUgF0E[ALbdmINL]end),S1wg_DG)end
+function hUL.max(vGxJ6f,a4ga2I,...)return qxZa6ozV(vGxJ6f,l,a4ga2I,...)end
+function hUL.min(syGyB_,VO,...)return qxZa6ozV(syGyB_,kyWtqIf0,VO,...)end
+function hUL.shuffle(J1r,iBcU3_7D)if iBcU3_7D then JdUtcU(iBcU3_7D)end;local N={}
+hUL.each(J1r,function(M4V,_feve)local OPz_7bk=
+S9TO(GQLN()*M4V)+1;N[M4V]=N[OPz_7bk]N[OPz_7bk]=_feve end)return N end
+function hUL.same(H64aD,ny7)
return
-bab.all(dcb,function(adb,bdb)return bab.include(_db,bdb)end)and
-bab.all(_db,function(adb,bdb)return bab.include(dcb,bdb)end)end;function bab.sort(dcb,_db)cca(dcb,_db)return dcb end
-function bab.sortBy(dcb,_db,adb)
-local bdb=_db or bab.identity
-if bab.isString(_db)then bdb=function(ddb)return ddb[_db]end end;adb=adb or dab;local cdb={}
-bab.each(dcb,function(ddb,__c)
-cdb[#cdb+1]={value=__c,transform=bdb(__c)}end)
-cca(cdb,function(ddb,__c)return adb(ddb.transform,__c.transform)end)return bab.pluck(cdb,'value')end
-function bab.groupBy(dcb,_db,...)local adb={...}local bdb={}
-bab.each(dcb,function(cdb,ddb)local __c=_db(cdb,ddb,c_b(adb))
-if
-bdb[__c]then bdb[__c][#bdb[__c]+1]=ddb else bdb[__c]={ddb}end end)return bdb end
-function bab.countBy(dcb,_db,...)local adb={...}local bdb={}
-bab.each(dcb,function(cdb,ddb)local __c=_db(cdb,ddb,c_b(adb))bdb[__c]=(
-bdb[__c]or 0)+1 end)return bdb end
-function bab.size(...)local dcb={...}local _db=dcb[1]if bab.isTable(_db)then return cbb(dcb[1])else
-return cbb(dcb)end end;function bab.containsKeys(dcb,_db)
-for adb in d_b(_db)do if not dcb[adb]then return false end end;return true end
-function bab.sameKeys(dcb,_db)for adb in
-d_b(dcb)do if not _db[adb]then return false end end;for adb in
-d_b(_db)do if not dcb[adb]then return false end end
-return true end
-function bab.sample(dcb,_db,adb)_db=_db or 1;if _db<1 then return end;if _db==1 then if adb then ada(adb)end;return
-dcb[bda(1,#dcb)]end;return
-bab.slice(bab.shuffle(dcb,adb),1,_db)end
-function bab.sampleProb(dcb,_db,adb)if adb then ada(adb)end;return
-bab.select(dcb,function(bdb,cdb)return bda()<_db end)end;function bab.toArray(...)return{...}end
-function bab.find(dcb,_db,adb)for i=adb or 1,#dcb do if
-bab.isEqual(dcb[i],_db)then return i end end end
-function bab.reverse(dcb)local _db={}for i=#dcb,1,-1 do _db[#_db+1]=dcb[i]end;return _db end;function bab.fill(dcb,_db,adb,bdb)bdb=bdb or bab.size(dcb)
-for i=adb or 1,bdb do dcb[i]=_db end;return dcb end
-function bab.selectWhile(dcb,_db,...)
-local adb={}
-for bdb,cdb in _ab(dcb)do if _db(bdb,cdb,...)then adb[bdb]=cdb else break end end;return adb end
-function bab.dropWhile(dcb,_db,...)local adb
-for bdb,cdb in _ab(dcb)do if not _db(bdb,cdb,...)then adb=bdb;break end end;if bab.isNil(adb)then return{}end;return bab.rest(dcb,adb)end
-function bab.sortedIndex(dcb,_db,adb,bdb)local cdb=adb or dab;if bdb then bab.sort(dcb,cdb)end;for i=1,#dcb do if not
-cdb(dcb[i],_db)then return i end end
-return#dcb+1 end
-function bab.indexOf(dcb,_db)for k=1,#dcb do if dcb[k]==_db then return k end end end
-function bab.lastIndexOf(dcb,_db)local adb=bab.indexOf(bab.reverse(dcb),_db)if adb then return
-#dcb-adb+1 end end;function bab.findIndex(dcb,_db,...)
-for k=1,#dcb do if _db(k,dcb[k],...)then return k end end end
-function bab.findLastIndex(dcb,_db,...)
-local adb=bab.findIndex(bab.reverse(dcb),_db,...)if adb then return#dcb-adb+1 end end;function bab.addTop(dcb,...)
-bab.each({...},function(_db,adb)bca(dcb,1,adb)end)return dcb end;function bab.push(dcb,...)bab.each({...},function(_db,adb)
-dcb[#dcb+1]=adb end)
-return dcb end
-function bab.pop(dcb,_db)
-_db=a_b(_db or 1,#dcb)local adb={}
-for i=1,_db do local bdb=dcb[1]adb[#adb+1]=bdb;dca(dcb,1)end;return c_b(adb)end
-function bab.unshift(dcb,_db)_db=a_b(_db or 1,#dcb)local adb={}for i=1,_db do local bdb=dcb[#dcb]
-adb[#adb+1]=bdb;dca(dcb)end;return c_b(adb)end
-function bab.pull(dcb,...)
-for _db,adb in _ab({...})do for i=#dcb,1,-1 do
-if bab.isEqual(dcb[i],adb)then dca(dcb,i)end end end;return dcb end
-function bab.removeRange(dcb,_db,adb)local bdb=bab.clone(dcb)local cdb,ddb=(aba(bdb)),#bdb
-if ddb<1 then return bdb end;_db=_bb(_db or cdb,cdb,ddb)
-adb=_bb(adb or ddb,cdb,ddb)if adb<_db then return bdb end;local __c=adb-_db+1;local a_c=_db;while __c>0 do
-dca(bdb,a_c)__c=__c-1 end;return bdb end
-function bab.chunk(dcb,_db,...)if not bab.isArray(dcb)then return dcb end;local adb,bdb,cdb={},0
-local ddb=bab.map(dcb,_db,...)
-bab.each(ddb,function(__c,a_c)cdb=(cdb==nil)and a_c or cdb;bdb=(
-(a_c~=cdb)and(bdb+1)or bdb)
-if not adb[bdb]then adb[bdb]={dcb[__c]}else adb[bdb][
-#adb[bdb]+1]=dcb[__c]end;cdb=a_c end)return adb end
-function bab.slice(dcb,_db,adb)return
-bab.select(dcb,function(bdb)return
-(bdb>= (_db or aba(dcb))and bdb<= (adb or#dcb))end)end;function bab.first(dcb,_db)local adb=_db or 1
-return bab.slice(dcb,1,a_b(adb,#dcb))end
-function bab.initial(dcb,_db)
-if _db and _db<0 then return end;return
-bab.slice(dcb,1,_db and#dcb- (a_b(_db,#dcb))or#dcb-1)end;function bab.last(dcb,_db)if _db and _db<=0 then return end
-return bab.slice(dcb,_db and
-#dcb-a_b(_db-1,#dcb-1)or 2,#dcb)end;function bab.rest(dcb,_db)if _db and
-_db>#dcb then return{}end
-return bab.slice(dcb,
-_db and __b(1,a_b(_db,#dcb))or 1,#dcb)end;function bab.nth(dcb,_db)
-return dcb[_db]end;function bab.compact(dcb)return
-bab.reject(dcb,function(_db,adb)return not adb end)end
-function bab.flatten(dcb,_db)local adb=
-_db or false;local bdb;local cdb={}
-for ddb,__c in d_b(dcb)do
-if bab.isTable(__c)then bdb=adb and __c or
-bab.flatten(__c)
-bab.each(bdb,function(a_c,b_c)cdb[#cdb+1]=b_c end)else cdb[#cdb+1]=__c end end;return cdb end
-function bab.difference(dcb,_db)if not _db then return bab.clone(dcb)end;return
-bab.select(dcb,function(adb,bdb)return not
-bab.include(_db,bdb)end)end
-function bab.union(...)return bab.uniq(bab.flatten({...}))end
-function bab.intersection(dcb,...)local _db={...}local adb={}
-for bdb,cdb in _ab(dcb)do if
-bab.all(_db,function(ddb,__c)return bab.include(__c,cdb)end)then bca(adb,cdb)end end;return adb end
-function bab.symmetricDifference(dcb,_db)return
-bab.difference(bab.union(dcb,_db),bab.intersection(dcb,_db))end
-function bab.unique(dcb)local _db={}for i=1,#dcb do if not bab.find(_db,dcb[i])then
-_db[#_db+1]=dcb[i]end end;return _db end
-function bab.isunique(dcb)return bab.isEqual(dcb,bab.unique(dcb))end
-function bab.zip(...)local dcb={...}
-local _db=bab.max(bab.map(dcb,function(bdb,cdb)return#cdb end))local adb={}for i=1,_db do adb[i]=bab.pluck(dcb,i)end;return adb end
-function bab.append(dcb,_db)local adb={}for bdb,cdb in _ab(dcb)do adb[bdb]=cdb end;for bdb,cdb in _ab(_db)do
-adb[#adb+1]=cdb end;return adb end
-function bab.interleave(...)return bab.flatten(bab.zip(...))end;function bab.interpose(dcb,_db)return
-bab.flatten(bab.zip(_db,bab.rep(dcb,#_db-1)))end
-function bab.range(...)
-local dcb={...}local _db,adb,bdb
-if#dcb==0 then return{}elseif#dcb==1 then adb,_db,bdb=dcb[1],0,1 elseif#dcb==2 then
-_db,adb,bdb=dcb[1],dcb[2],1 elseif#dcb==3 then _db,adb,bdb=dcb[1],dcb[2],dcb[3]end;if(bdb and bdb==0)then return{}end;local cdb={}
-local ddb=__b(dda((adb-_db)/bdb),0)for i=1,ddb do cdb[#cdb+1]=_db+bdb*i end;if#cdb>0 then
-bca(cdb,1,_db)end;return cdb end
-function bab.rep(dcb,_db)local adb={}for i=1,_db do adb[#adb+1]=dcb end;return adb end;function bab.partition(dcb,_db,adb)if _db<=0 then return end
+hUL.all(H64aD,function(QDj6GAX,k6pXzd)return hUL.include(ny7,k6pXzd)end)and
+hUL.all(ny7,function(hsLwu,R)return hUL.include(H64aD,R)end)end;function hUL.sort(JKZ,yHbsh)odpE(JKZ,yHbsh)return JKZ end
+function hUL.sortBy(d4z,i,HyEk4lbh)local PhU=i or
+hUL.identity;if hUL.isString(i)then
+PhU=function(d4z)return d4z[i]end end;HyEk4lbh=HyEk4lbh or kyWtqIf0
+local rWwbNge={}
+hUL.each(d4z,function(SKxD,o3uQKvJ)
+rWwbNge[#rWwbNge+1]={value=o3uQKvJ,transform=PhU(o3uQKvJ)}end)
+odpE(rWwbNge,function(vAZm,q)return HyEk4lbh(vAZm.transform,q.transform)end)return hUL.pluck(rWwbNge,'value')end
+function hUL.groupBy(fFuE,KypMW,...)local JJT4nKO={...}local TFLF={}
+hUL.each(fFuE,function(hEoAa,PGN)
+local K2_kF5=KypMW(hEoAa,PGN,VCD(JJT4nKO))if TFLF[K2_kF5]then
+TFLF[K2_kF5][#TFLF[K2_kF5]+1]=PGN else TFLF[K2_kF5]={PGN}end end)return TFLF end
+function hUL.countBy(YpimJ,Gg7Ttui,...)local _={...}local EGeAf={}
+hUL.each(YpimJ,function(ymP,z5pHKyoa)
+local h=Gg7Ttui(ymP,z5pHKyoa,VCD(_))EGeAf[h]=(EGeAf[h]or 0)+1 end)return EGeAf end
+function hUL.size(...)local xwT={...}local y33ux=xwT[1]if hUL.isTable(y33ux)then return sf0(xwT[1])else return
+sf0(xwT)end end;function hUL.containsKeys(Ut,GOijBp)
+for oUi in OV7(GOijBp)do if not Ut[oUi]then return false end end;return true end
+function hUL.sameKeys(b2a3,xer)
+for SQHAAR in
+OV7(b2a3)do if not xer[SQHAAR]then return false end end
+for qybRcP1 in OV7(xer)do if not b2a3[qybRcP1]then return false end end;return true end
+function hUL.sample(z,N0NaR,FBfW)N0NaR=N0NaR or 1;if N0NaR<1 then return end;if N0NaR==1 then
+if FBfW then JdUtcU(FBfW)end;return z[GQLN(1,#z)]end;return
+hUL.slice(hUL.shuffle(z,FBfW),1,N0NaR)end
+function hUL.sampleProb(lnM4,_oDmX_,t)if t then JdUtcU(t)end;return
+hUL.select(lnM4,function(hUL,K)return GQLN()<_oDmX_ end)end;function hUL.toArray(...)return{...}end
+function hUL.find(ppm021I,ASUXhD,KCm)for u=KCm or 1,#ppm021I do if
+hUL.isEqual(ppm021I[u],ASUXhD)then return u end end end;function hUL.reverse(fDk)local gxYY={}
+for sVMxk=#fDk,1,-1 do gxYY[#gxYY+1]=fDk[sVMxk]end;return gxYY end
+function hUL.fill(SyD,v4,j7siW,Hl)Hl=Hl or
+hUL.size(SyD)for j7siW=j7siW or 1,Hl do SyD[j7siW]=v4 end;return SyD end
+function hUL.selectWhile(AP060rq,DIEKD10,...)local lLJ={}for EicsS,JubU in X83a(AP060rq)do
+if DIEKD10(EicsS,JubU,...)then lLJ[EicsS]=JubU else break end end;return lLJ end
+function hUL.dropWhile(L,JKci,...)local SsBe;for o,ZOmcmO in X83a(L)do
+if not JKci(o,ZOmcmO,...)then SsBe=o;break end end
+if hUL.isNil(SsBe)then return{}end;return hUL.rest(L,SsBe)end
+function hUL.sortedIndex(_G19JrRB,m0r3_J,MLrs,hP5)local oqjhEZb0=MLrs or kyWtqIf0;if hP5 then
+hUL.sort(_G19JrRB,oqjhEZb0)end
+for Pha=1,#_G19JrRB do if
+not oqjhEZb0(_G19JrRB[Pha],m0r3_J)then return Pha end end;return#_G19JrRB+1 end;function hUL.indexOf(G,MOrzq4)
+for bEMp=1,#G do if G[bEMp]==MOrzq4 then return bEMp end end end
+function hUL.lastIndexOf(dd,MOQN)
+local O=hUL.indexOf(hUL.reverse(dd),MOQN)if O then return#dd-O+1 end end;function hUL.findIndex(FEpet,P,...)
+for G=1,#FEpet do if P(G,FEpet[G],...)then return G end end end
+function hUL.findLastIndex(EcLLM,wo,...)
+local ur=hUL.findIndex(hUL.reverse(EcLLM),wo,...)if ur then return#EcLLM-ur+1 end end;function hUL.addTop(XTX,...)
+hUL.each({...},function(wc8hjKp1,f)QFKEzBf(XTX,1,f)end)return XTX end;function hUL.push(Hjag,...)
+hUL.each({...},function(Yg,uc)Hjag[
+#Hjag+1]=uc end)return Hjag end
+function hUL.pop(bw,ad)
+ad=BCf7(ad or 1,#bw)local EG344W={}
+for MVlUhPEM=1,ad do local LT=bw[1]EG344W[#EG344W+1]=LT;p(bw,1)end;return VCD(EG344W)end
+function hUL.unshift(pfiWYrg,smnX9H6)smnX9H6=BCf7(smnX9H6 or 1,#pfiWYrg)local FzRhHR={}for mMBxOoQa=1,smnX9H6 do local xYSLIT=pfiWYrg[
+#pfiWYrg]FzRhHR[#FzRhHR+1]=xYSLIT
+p(pfiWYrg)end;return VCD(FzRhHR)end
+function hUL.pull(Eae7ILmk,...)for Jy23ZRAA,V8IWw in X83a({...})do
+for uyYdf=#Eae7ILmk,1,-1 do if hUL.isEqual(Eae7ILmk[uyYdf],V8IWw)then
+p(Eae7ILmk,uyYdf)end end end
+return Eae7ILmk end
+function hUL.removeRange(K,ZX,tbdC)local K=hUL.clone(K)local VaY3,HK7Mbgze=(XKD(K)),#K
+if HK7Mbgze<1 then return K end;ZX=zupvsz(ZX or VaY3,VaY3,HK7Mbgze)
+tbdC=zupvsz(tbdC or HK7Mbgze,VaY3,HK7Mbgze)if tbdC<ZX then return K end;local sf0=tbdC-ZX+1;local VaY3=ZX;while sf0 >0 do p(K,VaY3)
+sf0=sf0-1 end;return K end
+function hUL.chunk(VXPfx,j3Qk,...)if not hUL.isArray(VXPfx)then return VXPfx end
+local X1,GpruB,r={},0;local V7YqV=hUL.map(VXPfx,j3Qk,...)
+hUL.each(V7YqV,function(JbvH7,Cqk9Luq)
+r=(r==nil)and Cqk9Luq or r
+GpruB=((Cqk9Luq~=r)and(GpruB+1)or GpruB)if not X1[GpruB]then X1[GpruB]={VXPfx[JbvH7]}else
+X1[GpruB][#X1[GpruB]+1]=VXPfx[JbvH7]end;r=Cqk9Luq end)return X1 end
+function hUL.slice(PeAP9X,vN5AF9,j)return
+hUL.select(PeAP9X,function(EOgmP)return
+(EOgmP>= (vN5AF9 or XKD(PeAP9X))and EOgmP<= (j or
+#PeAP9X))end)end
+function hUL.first(j,mJof)local mJof=mJof or 1;return hUL.slice(j,1,BCf7(mJof,#j))end
+function hUL.initial(yz1Kuwby,KVE6TG)if KVE6TG and KVE6TG<0 then return end;return
+hUL.slice(yz1Kuwby,1,KVE6TG and#yz1Kuwby- (BCf7(KVE6TG,
+#yz1Kuwby))or#
+yz1Kuwby-1)end;function hUL.last(YY,r9)if r9 and r9 <=0 then return end
+return hUL.slice(YY,r9 and
+#YY-BCf7(r9-1,#YY-1)or 2,#YY)end;function hUL.rest(mtUG,PFRuf)if PFRuf and
+PFRuf>#mtUG then return{}end
+return hUL.slice(mtUG,PFRuf and
+pS78Y(1,BCf7(PFRuf,#mtUG))or 1,#mtUG)end;function hUL.nth(KhK1gRj9,Xgj)return
+KhK1gRj9[Xgj]end;function hUL.compact(Ko)return
+hUL.reject(Ko,function(hUL,A)return not A end)end
+function hUL.flatten(IU6Om,sKIIqz)local sKIIqz=
+sKIIqz or false;local wmhARqEa;local _RT3={}
+for V,BTA in OV7(IU6Om)do
+if hUL.isTable(BTA)then wmhARqEa=
+sKIIqz and BTA or hUL.flatten(BTA)
+hUL.each(wmhARqEa,function(hUL,QVEYENaX)
+_RT3[#_RT3+1]=QVEYENaX end)else _RT3[#_RT3+1]=BTA end end;return _RT3 end
+function hUL.difference(gxqa,q4)if not q4 then return hUL.clone(gxqa)end;return
+hUL.select(gxqa,function(QyKi,_o3FE)return not
+hUL.include(q4,_o3FE)end)end
+function hUL.union(...)return hUL.uniq(hUL.flatten({...}))end
+function hUL.intersection(n,...)local WM={...}local zb8b={}
+for YBqeh,WRkIg in X83a(n)do if hUL.all(WM,function(YBqeh,RH_vLUg)
+return hUL.include(RH_vLUg,WRkIg)end)then
+QFKEzBf(zb8b,WRkIg)end end;return zb8b end
+function hUL.symmetricDifference(aEH,g20N7)return
+hUL.difference(hUL.union(aEH,g20N7),hUL.intersection(aEH,g20N7))end
+function hUL.unique(puZN)local _Dy={}for MC=1,#puZN do if not hUL.find(_Dy,puZN[MC])then
+_Dy[#_Dy+1]=puZN[MC]end end;return _Dy end;function hUL.isunique(WOBSVeqF)
+return hUL.isEqual(WOBSVeqF,hUL.unique(WOBSVeqF))end
+function hUL.zip(...)local A={...}
+local vqW6=hUL.max(hUL.map(A,function(rBRXA,qfFSJN)
+return#qfFSJN end))local R4oRlgh={}
+for Va8fT08T=1,vqW6 do R4oRlgh[Va8fT08T]=hUL.pluck(A,Va8fT08T)end;return R4oRlgh end
+function hUL.append(d778,aZT)local ni9je9bJ={}
+for uwwNE,X40cF in X83a(d778)do ni9je9bJ[uwwNE]=X40cF end
+for EW,asgq in X83a(aZT)do ni9je9bJ[#ni9je9bJ+1]=asgq end;return ni9je9bJ end
+function hUL.interleave(...)return hUL.flatten(hUL.zip(...))end
+function hUL.interpose(IQybL1,hYKT45)return
+hUL.flatten(hUL.zip(hYKT45,hUL.rep(IQybL1,#hYKT45-1)))end
+function hUL.range(...)local Rq7={...}local LQ_EIcl,uaL,gujcrFp
+if#Rq7 ==0 then return{}elseif#Rq7 ==1 then
+uaL,LQ_EIcl,gujcrFp=Rq7[1],0,1 elseif#Rq7 ==2 then LQ_EIcl,uaL,gujcrFp=Rq7[1],Rq7[2],1 elseif#Rq7 ==3 then
+LQ_EIcl,uaL,gujcrFp=Rq7[1],Rq7[2],Rq7[3]end;if(gujcrFp and gujcrFp==0)then return{}end;local ph06vXj={}
+local nH0LB4c=pS78Y(S9TO((
+uaL-LQ_EIcl)/gujcrFp),0)for ALwJ9=1,nH0LB4c do
+ph06vXj[#ph06vXj+1]=LQ_EIcl+gujcrFp*ALwJ9 end;if#ph06vXj>0 then
+QFKEzBf(ph06vXj,1,LQ_EIcl)end;return ph06vXj end
+function hUL.rep(_X,ruXMob)local E={}for jcgjAE=1,ruXMob do E[#E+1]=_X end;return E end
+function hUL.partition(BZmaGN,HSav,sDjMr)if HSav<=0 then return end
return coroutine.wrap(function()
-_cb(dcb,_db or 1,coroutine.yield,adb)end)end;function bab.sliding(dcb,_db,adb)if
-_db<=1 then return end
+hgW2H5(BZmaGN,HSav or 1,coroutine.yield,sDjMr)end)end
+function hUL.sliding(biQX3Ut,BLEXN_,Ljc)if BLEXN_<=1 then return end
return coroutine.wrap(function()
-acb(dcb,_db or 2,coroutine.yield,adb)end)end
-function bab.permutation(dcb)return
-coroutine.wrap(function()bcb(dcb,
-#dcb,coroutine.yield)end)end;function bab.invert(dcb)local _db={}
-bab.each(dcb,function(adb,bdb)_db[bdb]=adb end)return _db end
-function bab.concat(dcb,_db,adb,bdb)
-local cdb=bab.map(dcb,function(ddb,__c)return
-tostring(__c)end)return _da(cdb,_db,adb or 1,bdb or#dcb)end;function bab.noop()return end;function bab.identity(dcb)return dcb end;function bab.constant(dcb)return
-function()return dcb end end
-function bab.memoize(dcb,_db)
-local adb=_ca({},{__mode='kv'})local bdb=_db or bab.identity;return
-function(...)local cdb=bdb(...)local ddb=adb[cdb]if not ddb then
-adb[cdb]=dcb(...)end;return adb[cdb]end end;function bab.once(dcb)local _db=0;local adb={}
-return function(...)_db=_db+1;if _db<=1 then adb={...}end
-return dcb(c_b(adb))end end
-function bab.before(dcb,_db)
-local adb=0;local bdb={}return
-function(...)adb=adb+1;if adb<=_db then bdb={...}end;return dcb(c_b(bdb))end end
-function bab.after(dcb,_db)local adb,bdb=_db,0;return
-function(...)bdb=bdb+1;if bdb>=adb then return dcb(...)end end end
-function bab.compose(...)local dcb=bab.reverse{...}
-return function(...)local _db,adb=true
-for bdb,cdb in _ab(dcb)do if _db then _db=false
-adb=cdb(...)else adb=cdb(adb)end end;return adb end end
-function bab.pipe(dcb,...)return bab.compose(...)(dcb)end
-function bab.complement(dcb)return function(...)return not dcb(...)end end;function bab.juxtapose(dcb,...)local _db={}
-bab.each({...},function(adb,bdb)_db[#_db+1]=bdb(dcb)end)return c_b(_db)end
-function bab.wrap(dcb,_db)return function(...)return
-_db(dcb,...)end end
-function bab.times(dcb,_db,...)local adb={}for i=1,dcb do adb[i]=_db(i,...)end;return adb end
-function bab.bind(dcb,_db)return function(...)return dcb(_db,...)end end;function bab.bind2(dcb,_db)
-return function(adb,...)return dcb(adb,_db,...)end end;function bab.bindn(dcb,...)local _db={...}
-return function(...)return
-dcb(c_b(bab.append(_db,{...})))end end
-function bab.bindAll(dcb,...)local _db={...}
-for adb,bdb in
-_ab(_db)do local cdb=dcb[bdb]if cdb then dcb[bdb]=bab.bind(cdb,dcb)end end;return dcb end
-function bab.uniqueId(dcb,...)ccb=ccb+1
-if dcb then if bab.isString(dcb)then return dcb:format(ccb)elseif
-bab.isFunction(dcb)then return dcb(ccb,...)end end;return ccb end
-function bab.iterator(dcb,_db)return function()_db=dcb(_db)return _db end end
-function bab.array(...)local dcb={}for _db in...do dcb[#dcb+1]=_db end;return dcb end;function bab.flip(dcb)return
-function(...)return dcb(c_b(bab.reverse({...})))end end;function bab.over(...)
-local dcb={...}
-return function(...)local _db={}for adb,bdb in _ab(dcb)do _db[#_db+1]=bdb(...)end
-return _db end end;function bab.overEvery(...)
-local dcb=bab.over(...)
+z5i2i(biQX3Ut,BLEXN_ or 2,coroutine.yield,Ljc)end)end;function hUL.permutation(fpN7T)
+return coroutine.wrap(function()
+MGSnnzOI(fpN7T,#fpN7T,coroutine.yield)end)end;function hUL.invert(FNSk_)local LmE={}hUL.each(FNSk_,function(pZTFVP,XL)
+LmE[XL]=pZTFVP end)
+return LmE end
+function hUL.concat(L5vC0Jx,vpONJ,A,LN)
+local dA14qP=hUL.map(L5vC0Jx,function(A,JcQc)return
+tostring(JcQc)end)return lIpFkbLI(dA14qP,vpONJ,A or 1,LN or#L5vC0Jx)end;function hUL.noop()return end;function hUL.identity(hDih6_D)return hDih6_D end
+function hUL.constant(QKbZ464i)return function()return
+QKbZ464i end end
+function hUL.memoize(F1TsZ,uF2)local T=l6Sm5({},{__mode='kv'})
+local pC_=uF2 or hUL.identity
+return function(...)local ju=pC_(...)local deu1=T[ju]if not deu1 then T[ju]=F1TsZ(...)end;return
+T[ju]end end
+function hUL.once(IgZ6)local kVRiv3F=0;local kWMf={}
+return function(...)kVRiv3F=kVRiv3F+1
+if kVRiv3F<=1 then kWMf={...}end;return IgZ6(VCD(kWMf))end end
+function hUL.before(DawC,sf0)local cP=0;local w={}return function(...)cP=cP+1;if cP<=sf0 then w={...}end
+return DawC(VCD(w))end end
+function hUL.after(UZ,sf0)local tdH,ymt=sf0,0;return
+function(...)ymt=ymt+1;if ymt>=tdH then return UZ(...)end end end
+function hUL.compose(...)local WxGA=hUL.reverse{...}
+return
+function(...)local jBuHkH,E3=true
+for CZi_zK,_6KCMph in X83a(WxGA)do if jBuHkH then jBuHkH=false
+E3=_6KCMph(...)else E3=_6KCMph(E3)end end;return E3 end end
+function hUL.pipe(PY3VqYZ8,...)return hUL.compose(...)(PY3VqYZ8)end
+function hUL.complement(V)return function(...)return not V(...)end end;function hUL.juxtapose(y,...)local QF={}
+hUL.each({...},function(hUL,hN)QF[#QF+1]=hN(y)end)return VCD(QF)end
+function hUL.wrap(hVflx4kh,GP)return function(...)return
+GP(hVflx4kh,...)end end;function hUL.times(oCZYv2dT,RLaqM3,...)local PoH={}
+for xM709D=1,oCZYv2dT do PoH[xM709D]=RLaqM3(xM709D,...)end;return PoH end
+function hUL.bind(z50,sAPD)return function(...)return
+z50(sAPD,...)end end;function hUL.bind2(AVFi,GGKI)
+return function(gWaGu,...)return AVFi(gWaGu,GGKI,...)end end;function hUL.bindn(SFKM,...)local j6jQmlbr={...}
return function(...)return
-bab.reduce(dcb(...),function(_db,adb)return _db and adb end)end end;function bab.overSome(...)
-local dcb=bab.over(...)
+SFKM(VCD(hUL.append(j6jQmlbr,{...})))end end
+function hUL.bindAll(m403CY,...)
+local dL={...}
+for PrTsHeT,eNI3MT7 in X83a(dL)do local Rfoo=m403CY[eNI3MT7]if Rfoo then
+m403CY[eNI3MT7]=hUL.bind(Rfoo,m403CY)end end;return m403CY end
+function hUL.uniqueId(eUJhGD,...)B0o5xpg7=B0o5xpg7+1;if eUJhGD then
+if hUL.isString(eUJhGD)then return
+eUJhGD:format(B0o5xpg7)elseif hUL.isFunction(eUJhGD)then return eUJhGD(B0o5xpg7,...)end end
+return B0o5xpg7 end;function hUL.iterator(wot8,j9vJ)
+return function()j9vJ=wot8(j9vJ)return j9vJ end end
+function hUL.array(...)local J6Qr27Mh={}for AwxW8Do in...do
+J6Qr27Mh[#J6Qr27Mh+1]=AwxW8Do end;return J6Qr27Mh end;function hUL.flip(_u)return
+function(...)return _u(VCD(hUL.reverse({...})))end end
+function hUL.over(...)
+local B={...}
+return function(...)local cdxFVpZw={}
+for Y,o9Uh in X83a(B)do cdxFVpZw[#cdxFVpZw+1]=o9Uh(...)end;return cdxFVpZw end end
+function hUL.overEvery(...)local BuX1r=hUL.over(...)
+return function(...)
+return hUL.reduce(BuX1r(...),function(Wyf83f2,P0olj)
+return Wyf83f2 and P0olj end)end end;function hUL.overSome(...)local z=hUL.over(...)
return function(...)return
-bab.reduce(dcb(...),function(_db,adb)return _db or adb end)end end
-function bab.overArgs(dcb,...)
-local _db={...}return
-function(...)local adb={...}for i=1,#_db do local bdb=_db[i]
-if adb[i]then adb[i]=bdb(adb[i])end end;return dcb(c_b(adb))end end
-function bab.partial(dcb,...)local _db={...}
+hUL.reduce(z(...),function(EHCCkt,x)return EHCCkt or x end)end end
+function hUL.overArgs(xNWVmS,...)
+local kGWnkgDu={...}
return
-function(...)local adb={...}local bdb={}for cdb,ddb in _ab(_db)do bdb[cdb]=
-(ddb=='_')and bab.pop(adb)or ddb end;return
-dcb(c_b(bab.append(bdb,adb)))end end
-function bab.partialRight(dcb,...)local _db={...}
+function(...)local Pkis6H28={...}
+for tSE=1,#kGWnkgDu do local xNWVmS=kGWnkgDu[tSE]if Pkis6H28[tSE]then
+Pkis6H28[tSE]=xNWVmS(Pkis6H28[tSE])end end;return xNWVmS(VCD(Pkis6H28))end end
+function hUL.partial(abKH,...)local LDp={...}
return
-function(...)local adb={...}local bdb={}
-for k=1,#_db do bdb[k]=
-(_db[k]=='_')and bab.pop(adb)or _db[k]end;return dcb(c_b(bab.append(adb,bdb)))end end
-function bab.curry(dcb,_db)_db=_db or 2;local adb={}
-local function bdb(cdb)if _db==1 then return dcb(cdb)end;if cdb~=nil then
-adb[#adb+1]=cdb end;if#adb<_db then return bdb else local ddb={dcb(c_b(adb))}adb={}return
-c_b(ddb)end end;return bdb end
-function bab.time(dcb,...)local _db=aab()local adb={dcb(...)}return aab()-_db,c_b(adb)end;function bab.keys(dcb)local _db={}
-bab.each(dcb,function(adb)_db[#_db+1]=adb end)return _db end;function bab.values(dcb)local _db={}
-bab.each(dcb,function(adb,bdb)_db[
-#_db+1]=bdb end)return _db end;function bab.kvpairs(dcb)local _db={}
-bab.each(dcb,function(adb,bdb)_db[
-#_db+1]={adb,bdb}end)return _db end
-function bab.toObj(dcb)local _db={}for adb,bdb in
-_ab(dcb)do _db[bdb[1]]=bdb[2]end;return _db end
-function bab.property(dcb)return function(_db)return _db[dcb]end end
-function bab.propertyOf(dcb)return function(_db)return dcb[_db]end end;function bab.toBoolean(dcb)return not not dcb end
-function bab.extend(dcb,...)local _db={...}
-bab.each(_db,function(adb,bdb)if
-bab.isTable(bdb)then
-bab.each(bdb,function(cdb,ddb)dcb[cdb]=ddb end)end end)return dcb end
-function bab.functions(dcb,_db)dcb=dcb or bab;local adb={}
-bab.each(dcb,function(cdb,ddb)if bab.isFunction(ddb)then
-adb[#adb+1]=cdb end end)if not _db then return bab.sort(adb)end;local bdb=aca(dcb)
-if
-bdb and bdb.__index then local cdb=bab.functions(bdb.__index)bab.each(cdb,function(ddb,__c)
-adb[#adb+1]=__c end)end;return bab.sort(adb)end
-function bab.clone(dcb,_db)if not bab.isTable(dcb)then return dcb end;local adb={}
-bab.each(dcb,function(bdb,cdb)if
-bab.isTable(cdb)then
-if not _db then adb[bdb]=bab.clone(cdb,_db)else adb[bdb]=cdb end else adb[bdb]=cdb end end)return adb end;function bab.tap(dcb,_db,...)_db(dcb,...)return dcb end;function bab.has(dcb,_db)return
-dcb[_db]~=nil end
-function bab.pick(dcb,...)local _db=bab.flatten{...}
-local adb={}
-bab.each(_db,function(bdb,cdb)
-if not bab.isNil(dcb[cdb])then adb[cdb]=dcb[cdb]end end)return adb end
-function bab.omit(dcb,...)local _db=bab.flatten{...}local adb={}
-bab.each(dcb,function(bdb,cdb)if
-not bab.include(_db,bdb)then adb[bdb]=cdb end end)return adb end;function bab.template(dcb,_db)
-bab.each(_db or{},function(adb,bdb)if not dcb[adb]then dcb[adb]=bdb end end)return dcb end
-function bab.isEqual(dcb,_db,adb)
-local bdb=bba(dcb)local cdb=bba(_db)if bdb~=cdb then return false end
-if bdb~='table'then return(dcb==_db)end;local ddb=aca(dcb)local __c=aca(_db)if adb then
-if
-(ddb or __c)and(ddb.__eq or __c.__eq)then return
-ddb.__eq(dcb,_db)or __c.__eq(_db,dcb)or(dcb==_db)end end;if bab.size(dcb)~=
-bab.size(_db)then return false end;for a_c,b_c in d_b(dcb)do local c_c=_db[a_c]
-if
-bab.isNil(c_c)or not bab.isEqual(b_c,c_c,adb)then return false end end
-for a_c,b_c in d_b(_db)do
-local c_c=dcb[a_c]if bab.isNil(c_c)then return false end end;return true end
-function bab.result(dcb,_db,...)
-if dcb[_db]then if bab.isCallable(dcb[_db])then return dcb[_db](dcb,...)else return
-dcb[_db]end end;if bab.isCallable(_db)then return _db(dcb,...)end end;function bab.isTable(dcb)return bba(dcb)=='table'end
-function bab.isCallable(dcb)return
+function(...)local GWouUlzZ={...}local MqJhIr={}
+for Q9,c in X83a(LDp)do MqJhIr[Q9]=(c=='_')and
+hUL.pop(GWouUlzZ)or c end
+return abKH(VCD(hUL.append(MqJhIr,GWouUlzZ)))end end
+function hUL.partialRight(qnZ81I,...)local N9uN={...}
+return
+function(...)local QGC={...}local K8iFU={}for gbU=1,#N9uN do
+K8iFU[gbU]=
+(N9uN[gbU]=='_')and hUL.pop(QGC)or N9uN[gbU]end;return
+qnZ81I(VCD(hUL.append(QGC,K8iFU)))end end
+function hUL.curry(h,hS7)hS7=hS7 or 2;local KQjMKhN={}
+local function R6PYgHHE(ZwCXrLO)if hS7 ==1 then return h(ZwCXrLO)end;if
+ZwCXrLO~=nil then KQjMKhN[#KQjMKhN+1]=ZwCXrLO end;if
+#KQjMKhN<hS7 then return R6PYgHHE else local lI={h(VCD(KQjMKhN))}KQjMKhN={}return
+VCD(lI)end end;return R6PYgHHE end
+function hUL.time(iMSMP5Lp,...)local WoARZdZ3=PizLA9mj()local n={iMSMP5Lp(...)}return
+PizLA9mj()-WoARZdZ3,VCD(n)end;function hUL.keys(Uj)local HpN_N={}
+hUL.each(Uj,function(yP3QEJ)HpN_N[#HpN_N+1]=yP3QEJ end)return HpN_N end;function hUL.values(pwi)local QP={}
+hUL.each(pwi,function(hUL,Iy)QP[
+#QP+1]=Iy end)return QP end
+function hUL.kvpairs(O9P0mj)local eFGwPxi={}
+hUL.each(O9P0mj,function(m4x8ZsD4,_witc0Pe)eFGwPxi[
+#eFGwPxi+1]={m4x8ZsD4,_witc0Pe}end)return eFGwPxi end;function hUL.toObj(Y8E)local h={}
+for EnMMG,HzO7UpZ in X83a(Y8E)do h[HzO7UpZ[1]]=HzO7UpZ[2]end;return h end;function hUL.property(B)return function(RNTu)
+return RNTu[B]end end
+function hUL.propertyOf(Q_)return function(S8GB)return
+Q_[S8GB]end end;function hUL.toBoolean(W7yjGm)return not not W7yjGm end
+function hUL.extend(X,...)
+local Y={...}
+hUL.each(Y,function(qqvEf3,Wriu)if hUL.isTable(Wriu)then
+hUL.each(Wriu,function(I0Pxr5F,ukGf_)X[I0Pxr5F]=ukGf_ end)end end)return X end
+function hUL.functions(uZpt01P,hJk0n8bR)uZpt01P=uZpt01P or hUL;local o9DTTJig={}
+hUL.each(uZpt01P,function(Uaq2_Xzk,S0DM)
+if hUL.isFunction(S0DM)then o9DTTJig[
+#o9DTTJig+1]=Uaq2_Xzk end end)if not hJk0n8bR then return hUL.sort(o9DTTJig)end
+local v4=oUA(uZpt01P)if v4 and v4.__index then local GHasi5=hUL.functions(v4.__index)
+hUL.each(GHasi5,function(QeX_U9tm,Dp9m)o9DTTJig[#
+o9DTTJig+1]=Dp9m end)end;return
+hUL.sort(o9DTTJig)end
+function hUL.clone(sJjNM,GnSs)if not hUL.isTable(sJjNM)then return sJjNM end;local XP={}
+hUL.each(sJjNM,function(Sj,yKj1)if
+hUL.isTable(yKj1)then
+if not GnSs then XP[Sj]=hUL.clone(yKj1,GnSs)else XP[Sj]=yKj1 end else XP[Sj]=yKj1 end end)return XP end;function hUL.tap(F9WZ,A5,...)A5(F9WZ,...)return F9WZ end;function hUL.has(nY_O,QAJAyj5)return nY_O[QAJAyj5]~=
+nil end
+function hUL.pick(EZ,...)
+local n=hUL.flatten{...}local M={}
+hUL.each(n,function(AADiL1,Arw)
+if not hUL.isNil(EZ[Arw])then M[Arw]=EZ[Arw]end end)return M end
+function hUL.omit(b,...)local _ZM1Yj3=hUL.flatten{...}local rmSU={}
+hUL.each(b,function(L2RHrI,XW7Y5Rz)if not
+hUL.include(_ZM1Yj3,L2RHrI)then rmSU[L2RHrI]=XW7Y5Rz end end)return rmSU end;function hUL.template(C,NhwEkTd)
+hUL.each(NhwEkTd or{},function(XGz,Tf4P2eIf)if not C[XGz]then C[XGz]=Tf4P2eIf end end)return C end
+function hUL.isEqual(TF3Htu,K5yUw1t,Mi)
+local WWyrqnSL=SWFtRywD(TF3Htu)local gVTyP=SWFtRywD(K5yUw1t)if WWyrqnSL~=gVTyP then return false end;if
+WWyrqnSL~='table'then return(TF3Htu==K5yUw1t)end
+local Ck=oUA(TF3Htu)local CRG=oUA(K5yUw1t)
+if Mi then if
+(Ck or CRG)and(Ck.__eq or CRG.__eq)then
+return Ck.__eq(TF3Htu,K5yUw1t)or CRG.__eq(K5yUw1t,TF3Htu)or(TF3Htu==
+K5yUw1t)end end
+if hUL.size(TF3Htu)~=hUL.size(K5yUw1t)then return false end;for dkz,zrCq in OV7(TF3Htu)do local azXMvVdM=K5yUw1t[dkz]
+if hUL.isNil(azXMvVdM)or not
+hUL.isEqual(zrCq,azXMvVdM,Mi)then return false end end
+for CBgxHfbq,WO in
+OV7(K5yUw1t)do local H=TF3Htu[CBgxHfbq]if hUL.isNil(H)then return false end end;return true end
+function hUL.result(C28NuJ3,sz,...)if C28NuJ3[sz]then
+if hUL.isCallable(C28NuJ3[sz])then return
+C28NuJ3[sz](C28NuJ3,...)else return C28NuJ3[sz]end end;if
+hUL.isCallable(sz)then return sz(C28NuJ3,...)end end;function hUL.isTable(qH)return SWFtRywD(qH)=='table'end
+function hUL.isCallable(u)return
(
-bab.isFunction(dcb)or
-(bab.isTable(dcb)and aca(dcb)and aca(dcb).__call~=nil)or false)end
-function bab.isArray(dcb)if not bab.isTable(dcb)then return false end;local _db=0
-for adb in
-d_b(dcb)do _db=_db+1;if bab.isNil(dcb[_db])then return false end end;return true end
-function bab.isIterable(dcb)return bab.toBoolean((dba(d_b,dcb)))end
-function bab.isEmpty(dcb)if bab.isNil(dcb)then return true end;if bab.isString(dcb)then
-return#dcb==0 end
-if bab.isTable(dcb)then return aba(dcb)==nil end;return true end;function bab.isString(dcb)return bba(dcb)=='string'end;function bab.isFunction(dcb)return
-bba(dcb)=='function'end;function bab.isNil(dcb)
-return dcb==nil end
-function bab.isNumber(dcb)return bba(dcb)=='number'end
-function bab.isNaN(dcb)return bab.isNumber(dcb)and dcb~=dcb end
-function bab.isFinite(dcb)if not bab.isNumber(dcb)then return false end;return
-dcb>-cda and dcb<cda end;function bab.isBoolean(dcb)return bba(dcb)=='boolean'end
-function bab.isInteger(dcb)return
-bab.isNumber(dcb)and dda(dcb)==dcb end
-do bab.forEach=bab.each;bab.forEachi=bab.eachi;bab.loop=bab.cycle
-bab.collect=bab.map;bab.inject=bab.reduce;bab.foldl=bab.reduce
-bab.injectr=bab.reduceRight;bab.foldr=bab.reduceRight;bab.mapr=bab.mapReduce
-bab.maprr=bab.mapReduceRight;bab.any=bab.include;bab.some=bab.include;bab.contains=bab.include
-bab.filter=bab.select;bab.discard=bab.reject;bab.every=bab.all
-bab.takeWhile=bab.selectWhile;bab.rejectWhile=bab.dropWhile;bab.shift=bab.pop;bab.remove=bab.pull
-bab.rmRange=bab.removeRange;bab.chop=bab.removeRange;bab.sub=bab.slice;bab.head=bab.first
-bab.take=bab.first;bab.tail=bab.rest;bab.skip=bab.last;bab.without=bab.difference
-bab.diff=bab.difference;bab.symdiff=bab.symmetricDifference;bab.xor=bab.symmetricDifference
-bab.uniq=bab.unique;bab.isuniq=bab.isunique;bab.transpose=bab.zip;bab.part=bab.partition
-bab.perm=bab.permutation;bab.mirror=bab.invert;bab.join=bab.concat;bab.cache=bab.memoize
-bab.juxt=bab.juxtapose;bab.uid=bab.uniqueId;bab.iter=bab.iterator;bab.methods=bab.functions
-bab.choose=bab.pick;bab.drop=bab.omit;bab.defaults=bab.template;bab.compare=bab.isEqual end
-do local dcb={}local _db={}_db.__index=dcb;local function adb(bdb)local cdb={_value=bdb,_wrapped=true}
-return _ca(cdb,_db)end
-_ca(_db,{__call=function(bdb,cdb)return adb(cdb)end,__index=function(bdb,cdb,...)return
-dcb[cdb]end})function _db.chain(bdb)return adb(bdb)end
-function _db:value()return self._value end;dcb.chain,dcb.value=_db.chain,_db.value
-for bdb,cdb in d_b(bab)do
-dcb[bdb]=function(ddb,...)local __c=bab.isTable(ddb)and
-ddb._wrapped or false
-if __c then
-local a_c=ddb._value;local b_c=cdb(a_c,...)return adb(b_c)else return cdb(ddb,...)end end end
-dcb.import=function(bdb,cdb)bdb=bdb or _ENV or _G;local ddb=bab.functions()
-bab.each(ddb,function(__c,a_c)
+hUL.isFunction(u)or
+(hUL.isTable(u)and oUA(u)and oUA(u).__call~=nil)or false)end
+function hUL.isArray(u)if not hUL.isTable(u)then return false end;local J1Vn4uYP=0
+for Z in OV7(u)do J1Vn4uYP=
+J1Vn4uYP+1;if hUL.isNil(u[J1Vn4uYP])then return false end end;return true end
+function hUL.isIterable(pJ)return hUL.toBoolean((v(OV7,pJ)))end
+function hUL.isEmpty(NAjg)if hUL.isNil(NAjg)then return true end;if hUL.isString(NAjg)then return
+#NAjg==0 end
+if hUL.isTable(NAjg)then return XKD(NAjg)==nil end;return true end
+function hUL.isString(con)return SWFtRywD(con)=='string'end
+function hUL.isFunction(I)return SWFtRywD(I)=='function'end;function hUL.isNil(TxmZR6UE)return TxmZR6UE==nil end;function hUL.isNumber(I1b4o)return
+SWFtRywD(I1b4o)=='number'end;function hUL.isNaN(nAt)return
+hUL.isNumber(nAt)and nAt~=nAt end
+function hUL.isFinite(pNJ)if
+not hUL.isNumber(pNJ)then return false end;return pNJ>-toXyq and pNJ<
+toXyq end
+function hUL.isBoolean(RQ)return SWFtRywD(RQ)=='boolean'end;function hUL.isInteger(wnZcHKf)return
+hUL.isNumber(wnZcHKf)and S9TO(wnZcHKf)==wnZcHKf end
+do
+hUL.forEach=hUL.each;hUL.forEachi=hUL.eachi;hUL.loop=hUL.cycle;hUL.collect=hUL.map
+hUL.inject=hUL.reduce;hUL.foldl=hUL.reduce;hUL.injectr=hUL.reduceRight
+hUL.foldr=hUL.reduceRight;hUL.mapr=hUL.mapReduce;hUL.maprr=hUL.mapReduceRight
+hUL.any=hUL.include;hUL.some=hUL.include;hUL.contains=hUL.include;hUL.filter=hUL.select
+hUL.discard=hUL.reject;hUL.every=hUL.all;hUL.takeWhile=hUL.selectWhile
+hUL.rejectWhile=hUL.dropWhile;hUL.shift=hUL.pop;hUL.remove=hUL.pull;hUL.rmRange=hUL.removeRange
+hUL.chop=hUL.removeRange;hUL.sub=hUL.slice;hUL.head=hUL.first;hUL.take=hUL.first
+hUL.tail=hUL.rest;hUL.skip=hUL.last;hUL.without=hUL.difference;hUL.diff=hUL.difference
+hUL.symdiff=hUL.symmetricDifference;hUL.xor=hUL.symmetricDifference;hUL.uniq=hUL.unique
+hUL.isuniq=hUL.isunique;hUL.transpose=hUL.zip;hUL.part=hUL.partition;hUL.perm=hUL.permutation
+hUL.mirror=hUL.invert;hUL.join=hUL.concat;hUL.cache=hUL.memoize;hUL.juxt=hUL.juxtapose
+hUL.uid=hUL.uniqueId;hUL.iter=hUL.iterator;hUL.methods=hUL.functions;hUL.choose=hUL.pick
+hUL.drop=hUL.omit;hUL.defaults=hUL.template;hUL.compare=hUL.isEqual end
+do local Lv_8={}local UQ={}UQ.__index=Lv_8;local function FG(vLzqjJw)local v2dsC21={_value=vLzqjJw,_wrapped=true}return
+l6Sm5(v2dsC21,UQ)end
+l6Sm5(UQ,{__call=function(O,wx)
+return FG(wx)end,__index=function(u,V_84V,...)return Lv_8[V_84V]end})function UQ.chain(qF)return FG(qF)end
+function UQ:value()return self._value end;Lv_8.chain,Lv_8.value=UQ.chain,UQ.value
+for IZbOX7TW,Dd6ZLpU in OV7(hUL)do
+Lv_8[IZbOX7TW]=function(MP,...)
+local w4c=
+hUL.isTable(MP)and RlMSrmdD(MP,'_wrapped')or false;if w4c then local C58=MP._value;local Jk6Nh=Dd6ZLpU(C58,...)return FG(Jk6Nh)else
+return Dd6ZLpU(MP,...)end end end
+Lv_8.import=function(s1Ws,desLYv)s1Ws=s1Ws or _ENV or _G;local COq2NY9I=hUL.functions()
+hUL.each(COq2NY9I,function(aoBEg65S,x6)
if
-b_b(bdb,a_c)then if not cdb then bdb[a_c]=bab[a_c]end else bdb[a_c]=bab[a_c]end end)return bdb end;_db._VERSION='Moses v'.._ba
-_db._URL='http://github.com/Yonaba/Moses'
-_db._LICENSE='MIT <http://raw.githubusercontent.com/Yonaba/Moses/master/LICENSE>'_db._DESCRIPTION='utility-belt library for functional programming in Lua'return
-_db end \ No newline at end of file
+RlMSrmdD(s1Ws,x6)then if not desLYv then s1Ws[x6]=hUL[x6]end else s1Ws[x6]=hUL[x6]end end)return s1Ws end;UQ._VERSION='Moses v'..slo60nGX
+UQ._URL='http://github.com/Yonaba/Moses'
+UQ._LICENSE='MIT <http://raw.githubusercontent.com/Yonaba/Moses/master/LICENSE>'UQ._DESCRIPTION='utility-belt library for functional programming in Lua'
+return UQ end \ No newline at end of file