var PS={};(function(t){"use strict";t["Control.Applicative"]=t["Control.Applicative"]||{};var n=t["Control.Applicative"];var r=function(t,n){this.Apply0=t;this.pure=n};var a=function(t){return t.pure};n["Applicative"]=r;n["pure"]=a})(PS);(function(t){"use strict";t["Control.Apply"]=t["Control.Apply"]||{};var n=t["Control.Apply"];var r=function(t,n){this.Functor0=t;this.apply=n};n["Apply"]=r})(PS);(function(t){"use strict";t["Control.Bind"]=t["Control.Bind"]||{};var n=t["Control.Bind"];var r=function(t,n){this.Apply0=t;this.bind=n};var a=function(t){return t.bind};n["Bind"]=r;n["bind"]=a})(PS);(function(t){"use strict";t["Control.Semigroupoid"]=t["Control.Semigroupoid"]||{};var n=t["Control.Semigroupoid"];var r=function(t){this.compose=t};var a=new r(function(r){return function(n){return function(t){return r(n(t))}}});n["semigroupoidFn"]=a})(PS);(function(t){"use strict";t["Control.Category"]=t["Control.Category"]||{};var n=t["Control.Category"];var r=t["Control.Semigroupoid"];var a=function(t,n){this.Semigroupoid0=t;this.identity=n};var o=function(t){return t.identity};var e=new a(function(){return r.semigroupoidFn},function(t){return t});n["identity"]=o;n["categoryFn"]=e})(PS);(function(t){"use strict";t["Control.Monad"]=t["Control.Monad"]||{};var n=t["Control.Monad"];var a=t["Control.Applicative"];var o=t["Control.Bind"];var r=function(t,n){this.Applicative0=t;this.Bind1=n};var e=function(r){return function(n){return function(t){return o.bind(r.Bind1())(n)(function(n){return o.bind(r.Bind1())(t)(function(t){return a.pure(r.Applicative0())(n(t))})})}}};n["Monad"]=r;n["ap"]=e})(PS);(function(t){"use strict";t["Data.Functor"]=t["Data.Functor"]||{};var n=t["Data.Functor"];var r=function(t){this.map=t};var a=function(t){return t.map};n["Functor"]=r;n["map"]=a})(PS);(function(t){"use strict";t["Data.Newtype"]=t["Data.Newtype"]||{};var n=t["Data.Newtype"];var r=function(t,n){this.unwrap=t;this.wrap=n};var a=function(t){return t.unwrap};n["unwrap"]=a;n["Newtype"]=r})(PS);(function(t){"use strict";t["Data.Identity"]=t["Data.Identity"]||{};var n=t["Data.Identity"];var r=t["Control.Applicative"];var a=t["Control.Apply"];var o=t["Control.Bind"];var e=t["Control.Monad"];var u=t["Data.Functor"];var i=t["Data.Newtype"];var c=function(t){return t};var f=new i.Newtype(function(t){return t},c);var v=new u.Functor(function(n){return function(t){return n(t)}});var s=new a.Apply(function(){return v},function(n){return function(t){return n(t)}});var l=new o.Bind(function(){return s},function(n){return function(t){return t(n)}});var p=new r.Applicative(function(){return s},c);var d=new e.Monad(function(){return p},function(){return l});n["newtypeIdentity"]=f;n["monadIdentity"]=d})(PS);(function(t){"use strict";t["Control.Monad.State"]=t["Control.Monad.State"]||{};var n=t["Control.Monad.State"];var a=t["Data.Identity"];var o=t["Data.Newtype"];var r=function(n){var r=o.unwrap(a.newtypeIdentity);return function(t){return r(n(t))}};n["runState"]=r})(PS);(function(t){"use strict";t["Data.Tuple"]=t["Data.Tuple"]||{};var n=t["Data.Tuple"];var r=function(){function r(t,n){this.value0=t;this.value1=n}r.create=function(n){return function(t){return new r(n,t)}};return r}();var a=function(t){return t.value1};var o=function(t){return t.value0};n["Tuple"]=r;n["fst"]=o;n["snd"]=a})(PS);(function(t){"use strict";t["Control.Monad.State.Trans"]=t["Control.Monad.State.Trans"]||{};var n=t["Control.Monad.State.Trans"];var a=t["Control.Applicative"];var r=t["Control.Apply"];var o=t["Control.Bind"];var e=t["Control.Monad"];var u=t["Data.Functor"];var i=t["Data.Tuple"];var c=function(a){return new u.Functor(function(r){return function(n){return function(t){return u.map(a)(function(t){return new i.Tuple(r(t.value0),t.value1)})(n(t))}}})};var f=function(t){return new e.Monad(function(){return l(t)},function(){return v(t)})};var v=function(a){return new o.Bind(function(){return s(a)},function(n){return function(r){return function(t){return o.bind(a.Bind1())(n(t))(function(t){var n=r(t.value0);return n(t.value1)})}}})};var s=function(t){return new r.Apply(function(){return c(t.Bind1().Apply0().Functor0())},e.ap(f(t)))};var l=function(r){return new a.Applicative(function(){return s(r)},function(n){return function(t){return a.pure(r.Applicative0())(new i.Tuple(n,t))}})};n["applicativeStateT"]=l})(PS);(function(t){"use strict";t["Data.Boolean"]=t["Data.Boolean"]||{};var n=t["Data.Boolean"];var r=true;n["otherwise"]=r})(PS);(function(t){"use strict";t.topInt=2147483647;t.bottomInt=-2147483648})(PS["Data.Bounded"]=PS["Data.Bounded"]||{});(function(t){"use strict";var n=function(o){return function(a){return function(r){return function(n){return function(t){return n=r.toNumber(o.top(o.boundedInt))){return o.top(o.boundedInt)}if(t<=r.toNumber(o.bottom(o.boundedInt))){return o.bottom(o.boundedInt)}if(a.otherwise){return e.fromMaybe(0)(c(t))}throw new Error("Failed pattern match at Data.Int (line 66, column 1 - line 66, column 29): "+[t.constructor.name])};var v=function(t){return f(i.floor(t))};n["floor"]=v;n["toNumber"]=r.toNumber})(PS);(function(t){"use strict";t.showStringImpl=function(o){var e=o.length;return'"'+o.replace(/[\0-\x1F\x7F"\\]/g,function(t,n){switch(t){case'"':case"\\":return"\\"+t;case"":return"\\a";case"\b":return"\\b";case"\f":return"\\f";case"\n":return"\\n";case"\r":return"\\r";case"\t":return"\\t";case"\v":return"\\v"}var r=n+1;var a=r="0"&&o[r]<="9"?"\\&":"";return"\\"+t.charCodeAt(0).toString(10)+a})+'"'};t.showArrayImpl=function(o){return function(t){var n=[];for(var r=0,a=t.length;r