var d={a:"_grail_super_",c:function(a,b){if(a==b||a.prototype.isPrototypeOf(b.prototype))throw Error("Invalid circular inheritance");if(a.prototype[d.a])throw Error("Invalid multiple inheritance");a.prototype=Object.create(b.prototype,d.b(a.prototype));a.prototype.constructor=a;Object.defineProperty(a.prototype,d.a,{configurable:!1,enumerable:!1,value:b.prototype,writable:!1});return a},call:function(a,b,f){var c=a[d.a];if(!c)throw Error("Cannot find superclass");var e=Array.prototype.slice.call(arguments,
2);if(a.constructor==b)return c.constructor.apply(a,e);c=c[b];if(!c)throw Error("Method not found "+b);return c.apply(a,e)},b:function(a){for(var b={},f=Object.getOwnPropertyNames(a),c=0;c<f.length;c++){var e=f[c];b[e]=Object.getOwnPropertyDescriptor(a,e)}return b}};this.grail=d;this.grail.inherit=d.c;this.grail.call=d.call;
