return () => {self._ = [0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0] function match(self, _) { const m=Math.min; const M=(a,idx)=>(_[idx]=Math.max(_[idx]-a, 0), a) const I=(a,idx,c)=>(_[idx]+=a*c, a) const P=(...p)=>p.every((x)=>x>0) return ( P(17)?(i(M(_[17],17),7,10000000),!0): P(18)?(i(M(_[18],18),4,100000000),!0): P(0,1)?(M(M(m(_[0],_[1]),0),1),!0): P(2,3)?(M(M(m(_[2],_[3]),2),3),!0): P(4,5)?(i(i(M(M(m(_[4],_[5]),4),5),3),4),!0): P(4,6)?(i(M(M(m(_[4],_[6]),4),6),2),!0): P(7,8)?(i(i(M(M(m(_[7],_[8]),7),8),1),7),!0): P(7,9)?(i(M(M(m(_[7],_[9]),7),9),0),!0): P(10)?(i(i(i(i(i(M(_[10],10),11),12),13),14),15),!0): P(11)?(i(M(_[11],11),16),!0): P(12)?(i(i(M(_[12],12),17),18),!0): P(19)?(i(M(_[19],19),20),!0): P(13,21)?(M(M(m(_[13],_[21]),13),21),!0): P(13)?(i(i(M(_[13],13),19),22),!0): P(14)?(i(M(_[14],14),23),!0): P(15)?(i(M(_[15],15),10),!0): P(4,5)?(i(i(M(M(m(_[4],_[5]),4),5),3),4),!0): P(4,6)?(i(M(M(m(_[4],_[6]),4),6),2),!0): P(7,8)?(i(i(M(M(m(_[7],_[8]),7),8),1),7),!0): P(7,9)?(i(M(M(m(_[7],_[9]),7),9),0),!0): P(10)?(i(i(i(i(i(M(_[10],10),11),12),13),14),15),!0): P(11)?(i(M(_[11],11),16),!0): P(12)?(i(i(M(_[12],12),24),25),!0): P(19)?(i(M(_[19],19),20),!0): P(13,21)?(M(M(m(_[13],_[21]),13),21),!0): P(13)?(i(i(M(_[13],13),19),22),!0): P(14)?(i(M(_[14],14),23),!0): P(15)?(i(M(_[15],15),10),!0): !1) } self.run = function() {while(match(self, self._)){}}; self.log_state = function() { return Object.entries(self._).map(([k, v]) => `${k} :: ${v}`).join('\n'); }; return self; };