<!DOCTYPE html>
<html>

  <head>
    <link rel="stylesheet" href="style.css" />
  </head>

  <body>
    Nothing to see here, open the developer console
    <script data-main="main" src="require.js"></script>
  </body>

</html>
/* Styles go here */

This plnkr is meant to reproduce an issue in the coffeescript compiler.
See [coffeescript#4391](https://github.com/jashkenas/coffeescript/issues/4391)

The browser-compiler build of coffeescript is attempting to call `fs.readFileSync`,
which does not exist. This seems to be happening in an attempt to make an Error
stack trace more readable.
requirejs({
  paths: {
    'cs': 'cs', //'https://raw.githubusercontent.com/requirejs/require-cs/master/cs',
    'coffee-script': 'coffee-script' //'https://raw.githubusercontent.com/jashkenas/coffeescript/master/docs/v1/browser-compiler/coffee-script'
  }
}, ['cs!test']);
define [
  'cs!test2'
], (
  test2
) ->
  try
    console.log test2()
  catch e
    console.log e.stack
    console.log "This should work but doesn't"
/** vim: et:ts=4:sw=4:sts=4
 * @license RequireJS 2.3.2 Copyright jQuery Foundation and other contributors.
 * Released under MIT license, https://github.com/requirejs/requirejs/blob/master/LICENSE
 */
var requirejs,require,define;!function(global,setTimeout){function commentReplace(e,t){return t||""}function isFunction(e){return"[object Function]"===ostring.call(e)}function isArray(e){return"[object Array]"===ostring.call(e)}function each(e,t){if(e){var i;for(i=0;i<e.length&&(!e[i]||!t(e[i],i,e));i+=1);}}function eachReverse(e,t){if(e){var i;for(i=e.length-1;i>-1&&(!e[i]||!t(e[i],i,e));i-=1);}}function hasProp(e,t){return hasOwn.call(e,t)}function getOwn(e,t){return hasProp(e,t)&&e[t]}function eachProp(e,t){var i;for(i in e)if(hasProp(e,i)&&t(e[i],i))break}function mixin(e,t,i,r){return t&&eachProp(t,function(t,n){!i&&hasProp(e,n)||(!r||"object"!=typeof t||!t||isArray(t)||isFunction(t)||t instanceof RegExp?e[n]=t:(e[n]||(e[n]={}),mixin(e[n],t,i,r)))}),e}function bind(e,t){return function(){return t.apply(e,arguments)}}function scripts(){return document.getElementsByTagName("script")}function defaultOnError(e){throw e}function getGlobal(e){if(!e)return e;var t=global;return each(e.split("."),function(e){t=t[e]}),t}function makeError(e,t,i,r){var n=new Error(t+"\nhttp://requirejs.org/docs/errors.html#"+e);return n.requireType=e,n.requireModules=r,i&&(n.originalError=i),n}function newContext(e){function t(e){var t,i;for(t=0;t<e.length;t++)if(i=e[t],"."===i)e.splice(t,1),t-=1;else if(".."===i){if(0===t||1===t&&".."===e[2]||".."===e[t-1])continue;t>0&&(e.splice(t-1,2),t-=2)}}function i(e,i,r){var n,o,a,s,u,c,d,p,f,l,h,m,g=i&&i.split("/"),v=y.map,x=v&&v["*"];if(e&&(e=e.split("/"),d=e.length-1,y.nodeIdCompat&&jsSuffixRegExp.test(e[d])&&(e[d]=e[d].replace(jsSuffixRegExp,"")),"."===e[0].charAt(0)&&g&&(m=g.slice(0,g.length-1),e=m.concat(e)),t(e),e=e.join("/")),r&&v&&(g||x)){a=e.split("/");e:for(s=a.length;s>0;s-=1){if(c=a.slice(0,s).join("/"),g)for(u=g.length;u>0;u-=1)if(o=getOwn(v,g.slice(0,u).join("/")),o&&(o=getOwn(o,c))){p=o,f=s;break e}!l&&x&&getOwn(x,c)&&(l=getOwn(x,c),h=s)}!p&&l&&(p=l,f=h),p&&(a.splice(0,f,p),e=a.join("/"))}return n=getOwn(y.pkgs,e),n?n:e}function r(e){isBrowser&&each(scripts(),function(t){if(t.getAttribute("data-requiremodule")===e&&t.getAttribute("data-requirecontext")===q.contextName)return t.parentNode.removeChild(t),!0})}function n(e){var t=getOwn(y.paths,e);if(t&&isArray(t)&&t.length>1)return t.shift(),q.require.undef(e),q.makeRequire(null,{skipMap:!0})([e]),!0}function o(e){var t,i=e?e.indexOf("!"):-1;return i>-1&&(t=e.substring(0,i),e=e.substring(i+1,e.length)),[t,e]}function a(e,t,r,n){var a,s,u,c,d=null,p=t?t.name:null,f=e,l=!0,h="";return e||(l=!1,e="_@r"+(T+=1)),c=o(e),d=c[0],e=c[1],d&&(d=i(d,p,n),s=getOwn(j,d)),e&&(d?h=s&&s.normalize?s.normalize(e,function(e){return i(e,p,n)}):e.indexOf("!")===-1?i(e,p,n):e:(h=i(e,p,n),c=o(h),d=c[0],h=c[1],r=!0,a=q.nameToUrl(h))),u=!d||s||r?"":"_unnormalized"+(A+=1),{prefix:d,name:h,parentMap:t,unnormalized:!!u,url:a,originalName:f,isDefine:l,id:(d?d+"!"+h:h)+u}}function s(e){var t=e.id,i=getOwn(S,t);return i||(i=S[t]=new q.Module(e)),i}function u(e,t,i){var r=e.id,n=getOwn(S,r);!hasProp(j,r)||n&&!n.defineEmitComplete?(n=s(e),n.error&&"error"===t?i(n.error):n.on(t,i)):"defined"===t&&i(j[r])}function c(e,t){var i=e.requireModules,r=!1;t?t(e):(each(i,function(t){var i=getOwn(S,t);i&&(i.error=e,i.events.error&&(r=!0,i.emit("error",e)))}),r||req.onError(e))}function d(){globalDefQueue.length&&(each(globalDefQueue,function(e){var t=e[0];"string"==typeof t&&(q.defQueueMap[t]=!0),O.push(e)}),globalDefQueue=[])}function p(e){delete S[e],delete k[e]}function f(e,t,i){var r=e.map.id;e.error?e.emit("error",e.error):(t[r]=!0,each(e.depMaps,function(r,n){var o=r.id,a=getOwn(S,o);!a||e.depMatched[n]||i[o]||(getOwn(t,o)?(e.defineDep(n,j[o]),e.check()):f(a,t,i))}),i[r]=!0)}function l(){var e,t,i=1e3*y.waitSeconds,o=i&&q.startTime+i<(new Date).getTime(),a=[],s=[],u=!1,d=!0;if(!x){if(x=!0,eachProp(k,function(e){var i=e.map,c=i.id;if(e.enabled&&(i.isDefine||s.push(e),!e.error))if(!e.inited&&o)n(c)?(t=!0,u=!0):(a.push(c),r(c));else if(!e.inited&&e.fetched&&i.isDefine&&(u=!0,!i.prefix))return d=!1}),o&&a.length)return e=makeError("timeout","Load timeout for modules: "+a,null,a),e.contextName=q.contextName,c(e);d&&each(s,function(e){f(e,{},{})}),o&&!t||!u||!isBrowser&&!isWebWorker||w||(w=setTimeout(function(){w=0,l()},50)),x=!1}}function h(e){hasProp(j,e[0])||s(a(e[0],null,!0)).init(e[1],e[2])}function m(e,t,i,r){e.detachEvent&&!isOpera?r&&e.detachEvent(r,t):e.removeEventListener(i,t,!1)}function g(e){var t=e.currentTarget||e.srcElement;return m(t,q.onScriptLoad,"load","onreadystatechange"),m(t,q.onScriptError,"error"),{node:t,id:t&&t.getAttribute("data-requiremodule")}}function v(){var e;for(d();O.length;){if(e=O.shift(),null===e[0])return c(makeError("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));h(e)}q.defQueueMap={}}var x,b,q,E,w,y={waitSeconds:7,baseUrl:"./",paths:{},bundles:{},pkgs:{},shim:{},config:{}},S={},k={},M={},O=[],j={},P={},R={},T=1,A=1;return E={require:function(e){return e.require?e.require:e.require=q.makeRequire(e.map)},exports:function(e){if(e.usingExports=!0,e.map.isDefine)return e.exports?j[e.map.id]=e.exports:e.exports=j[e.map.id]={}},module:function(e){return e.module?e.module:e.module={id:e.map.id,uri:e.map.url,config:function(){return getOwn(y.config,e.map.id)||{}},exports:e.exports||(e.exports={})}}},b=function(e){this.events=getOwn(M,e.id)||{},this.map=e,this.shim=getOwn(y.shim,e.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},b.prototype={init:function(e,t,i,r){r=r||{},this.inited||(this.factory=t,i?this.on("error",i):this.events.error&&(i=bind(this,function(e){this.emit("error",e)})),this.depMaps=e&&e.slice(0),this.errback=i,this.inited=!0,this.ignore=r.ignore,r.enabled||this.enabled?this.enable():this.check())},defineDep:function(e,t){this.depMatched[e]||(this.depMatched[e]=!0,this.depCount-=1,this.depExports[e]=t)},fetch:function(){if(!this.fetched){this.fetched=!0,q.startTime=(new Date).getTime();var e=this.map;return this.shim?void q.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return e.prefix?this.callPlugin():this.load()})):e.prefix?this.callPlugin():this.load()}},load:function(){var e=this.map.url;P[e]||(P[e]=!0,q.load(this.map.id,e))},check:function(){if(this.enabled&&!this.enabling){var e,t,i=this.map.id,r=this.depExports,n=this.exports,o=this.factory;if(this.inited){if(this.error)this.emit("error",this.error);else if(!this.defining){if(this.defining=!0,this.depCount<1&&!this.defined){if(isFunction(o)){if(this.events.error&&this.map.isDefine||req.onError!==defaultOnError)try{n=q.execCb(i,o,r,n)}catch(t){e=t}else n=q.execCb(i,o,r,n);if(this.map.isDefine&&void 0===n&&(t=this.module,t?n=t.exports:this.usingExports&&(n=this.exports)),e)return e.requireMap=this.map,e.requireModules=this.map.isDefine?[this.map.id]:null,e.requireType=this.map.isDefine?"define":"require",c(this.error=e)}else n=o;if(this.exports=n,this.map.isDefine&&!this.ignore&&(j[i]=n,req.onResourceLoad)){var a=[];each(this.depMaps,function(e){a.push(e.normalizedMap||e)}),req.onResourceLoad(q,this.map,a)}p(i),this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}}else hasProp(q.defQueueMap,i)||this.fetch()}},callPlugin:function(){var e=this.map,t=e.id,r=a(e.prefix);this.depMaps.push(r),u(r,"defined",bind(this,function(r){var n,o,d,f=getOwn(R,this.map.id),l=this.map.name,h=this.map.parentMap?this.map.parentMap.name:null,m=q.makeRequire(e.parentMap,{enableBuildCallback:!0});return this.map.unnormalized?(r.normalize&&(l=r.normalize(l,function(e){return i(e,h,!0)})||""),o=a(e.prefix+"!"+l,this.map.parentMap),u(o,"defined",bind(this,function(e){this.map.normalizedMap=o,this.init([],function(){return e},null,{enabled:!0,ignore:!0})})),d=getOwn(S,o.id),void(d&&(this.depMaps.push(o),this.events.error&&d.on("error",bind(this,function(e){this.emit("error",e)})),d.enable()))):f?(this.map.url=q.nameToUrl(f),void this.load()):(n=bind(this,function(e){this.init([],function(){return e},null,{enabled:!0})}),n.error=bind(this,function(e){this.inited=!0,this.error=e,e.requireModules=[t],eachProp(S,function(e){0===e.map.id.indexOf(t+"_unnormalized")&&p(e.map.id)}),c(e)}),n.fromText=bind(this,function(i,r){var o=e.name,u=a(o),d=useInteractive;r&&(i=r),d&&(useInteractive=!1),s(u),hasProp(y.config,t)&&(y.config[o]=y.config[t]);try{req.exec(i)}catch(e){return c(makeError("fromtexteval","fromText eval for "+t+" failed: "+e,e,[t]))}d&&(useInteractive=!0),this.depMaps.push(u),q.completeLoad(o),m([o],n)}),void r.load(e.name,m,n,y))})),q.enable(r,this),this.pluginMaps[r.id]=r},enable:function(){k[this.map.id]=this,this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(e,t){var i,r,n;if("string"==typeof e){if(e=a(e,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[t]=e,n=getOwn(E,e.id))return void(this.depExports[t]=n(this));this.depCount+=1,u(e,"defined",bind(this,function(e){this.undefed||(this.defineDep(t,e),this.check())})),this.errback?u(e,"error",bind(this,this.errback)):this.events.error&&u(e,"error",bind(this,function(e){this.emit("error",e)}))}i=e.id,r=S[i],hasProp(E,i)||!r||r.enabled||q.enable(e,this)})),eachProp(this.pluginMaps,bind(this,function(e){var t=getOwn(S,e.id);t&&!t.enabled&&q.enable(e,this)})),this.enabling=!1,this.check()},on:function(e,t){var i=this.events[e];i||(i=this.events[e]=[]),i.push(t)},emit:function(e,t){each(this.events[e],function(e){e(t)}),"error"===e&&delete this.events[e]}},q={config:y,contextName:e,registry:S,defined:j,urlFetched:P,defQueue:O,defQueueMap:{},Module:b,makeModuleMap:a,nextTick:req.nextTick,onError:c,configure:function(e){if(e.baseUrl&&"/"!==e.baseUrl.charAt(e.baseUrl.length-1)&&(e.baseUrl+="/"),"string"==typeof e.urlArgs){var t=e.urlArgs;e.urlArgs=function(e,i){return(i.indexOf("?")===-1?"?":"&")+t}}var i=y.shim,r={paths:!0,bundles:!0,config:!0,map:!0};eachProp(e,function(e,t){r[t]?(y[t]||(y[t]={}),mixin(y[t],e,!0,!0)):y[t]=e}),e.bundles&&eachProp(e.bundles,function(e,t){each(e,function(e){e!==t&&(R[e]=t)})}),e.shim&&(eachProp(e.shim,function(e,t){isArray(e)&&(e={deps:e}),!e.exports&&!e.init||e.exportsFn||(e.exportsFn=q.makeShimExports(e)),i[t]=e}),y.shim=i),e.packages&&each(e.packages,function(e){var t,i;e="string"==typeof e?{name:e}:e,i=e.name,t=e.location,t&&(y.paths[i]=e.location),y.pkgs[i]=e.name+"/"+(e.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}),eachProp(S,function(e,t){e.inited||e.map.unnormalized||(e.map=a(t,null,!0))}),(e.deps||e.callback)&&q.require(e.deps||[],e.callback)},makeShimExports:function(e){function t(){var t;return e.init&&(t=e.init.apply(global,arguments)),t||e.exports&&getGlobal(e.exports)}return t},makeRequire:function(t,n){function o(i,r,u){var d,p,f;return n.enableBuildCallback&&r&&isFunction(r)&&(r.__requireJsBuild=!0),"string"==typeof i?isFunction(r)?c(makeError("requireargs","Invalid require call"),u):t&&hasProp(E,i)?E[i](S[t.id]):req.get?req.get(q,i,t,o):(p=a(i,t,!1,!0),d=p.id,hasProp(j,d)?j[d]:c(makeError("notloaded",'Module name "'+d+'" has not been loaded yet for context: '+e+(t?"":". Use require([])")))):(v(),q.nextTick(function(){v(),f=s(a(null,t)),f.skipMap=n.skipMap,f.init(i,r,u,{enabled:!0}),l()}),o)}return n=n||{},mixin(o,{isBrowser:isBrowser,toUrl:function(e){var r,n=e.lastIndexOf("."),o=e.split("/")[0],a="."===o||".."===o;return n!==-1&&(!a||n>1)&&(r=e.substring(n,e.length),e=e.substring(0,n)),q.nameToUrl(i(e,t&&t.id,!0),r,!0)},defined:function(e){return hasProp(j,a(e,t,!1,!0).id)},specified:function(e){return e=a(e,t,!1,!0).id,hasProp(j,e)||hasProp(S,e)}}),t||(o.undef=function(e){d();var i=a(e,t,!0),n=getOwn(S,e);n.undefed=!0,r(e),delete j[e],delete P[i.url],delete M[e],eachReverse(O,function(t,i){t[0]===e&&O.splice(i,1)}),delete q.defQueueMap[e],n&&(n.events.defined&&(M[e]=n.events),p(e))}),o},enable:function(e){var t=getOwn(S,e.id);t&&s(e).enable()},completeLoad:function(e){var t,i,r,o=getOwn(y.shim,e)||{},a=o.exports;for(d();O.length;){if(i=O.shift(),null===i[0]){if(i[0]=e,t)break;t=!0}else i[0]===e&&(t=!0);h(i)}if(q.defQueueMap={},r=getOwn(S,e),!t&&!hasProp(j,e)&&r&&!r.inited){if(!(!y.enforceDefine||a&&getGlobal(a)))return n(e)?void 0:c(makeError("nodefine","No define call for "+e,null,[e]));h([e,o.deps||[],o.exportsFn])}l()},nameToUrl:function(e,t,i){var r,n,o,a,s,u,c,d=getOwn(y.pkgs,e);if(d&&(e=d),c=getOwn(R,e))return q.nameToUrl(c,t,i);if(req.jsExtRegExp.test(e))s=e+(t||"");else{for(r=y.paths,n=e.split("/"),o=n.length;o>0;o-=1)if(a=n.slice(0,o).join("/"),u=getOwn(r,a)){isArray(u)&&(u=u[0]),n.splice(0,o,u);break}s=n.join("/"),s+=t||(/^data\:|^blob\:|\?/.test(s)||i?"":".js"),s=("/"===s.charAt(0)||s.match(/^[\w\+\.\-]+:/)?"":y.baseUrl)+s}return y.urlArgs&&!/^blob\:/.test(s)?s+y.urlArgs(e,s):s},load:function(e,t){req.load(q,e,t)},execCb:function(e,t,i,r){return t.apply(r,i)},onScriptLoad:function(e){if("load"===e.type||readyRegExp.test((e.currentTarget||e.srcElement).readyState)){interactiveScript=null;var t=g(e);q.completeLoad(t.id)}},onScriptError:function(e){var t=g(e);if(!n(t.id)){var i=[];return eachProp(S,function(e,r){0!==r.indexOf("_@r")&&each(e.depMaps,function(e){if(e.id===t.id)return i.push(r),!0})}),c(makeError("scripterror",'Script error for "'+t.id+(i.length?'", needed by: '+i.join(", "):'"'),e,[t.id]))}}},q.require=q.makeRequire(),q}function getInteractiveScript(){return interactiveScript&&"interactive"===interactiveScript.readyState?interactiveScript:(eachReverse(scripts(),function(e){if("interactive"===e.readyState)return interactiveScript=e}),interactiveScript)}var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.3.2",commentRegExp=/\/\*[\s\S]*?\*\/|([^:"'=]|^)\/\/.*$/gm,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,isBrowser=!("undefined"==typeof window||"undefined"==typeof navigator||!window.document),isWebWorker=!isBrowser&&"undefined"!=typeof importScripts,readyRegExp=isBrowser&&"PLAYSTATION 3"===navigator.platform?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera="undefined"!=typeof opera&&"[object Opera]"===opera.toString(),contexts={},cfg={},globalDefQueue=[],useInteractive=!1;if("undefined"==typeof define){if("undefined"!=typeof requirejs){if(isFunction(requirejs))return;cfg=requirejs,requirejs=void 0}"undefined"==typeof require||isFunction(require)||(cfg=require,require=void 0),req=requirejs=function(e,t,i,r){var n,o,a=defContextName;return isArray(e)||"string"==typeof e||(o=e,isArray(t)?(e=t,t=i,i=r):e=[]),o&&o.context&&(a=o.context),n=getOwn(contexts,a),n||(n=contexts[a]=req.s.newContext(a)),o&&n.configure(o),n.require(e,t,i)},req.config=function(e){return req(e)},req.nextTick="undefined"!=typeof setTimeout?function(e){setTimeout(e,4)}:function(e){e()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(e){req[e]=function(){var t=contexts[defContextName];return t.require[e].apply(t,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=defaultOnError,req.createNode=function(e,t,i){var r=e.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script");return r.type=e.scriptType||"text/javascript",r.charset="utf-8",r.async=!0,r},req.load=function(e,t,i){var r,n=e&&e.config||{};if(isBrowser)return r=req.createNode(n,t,i),r.setAttribute("data-requirecontext",e.contextName),r.setAttribute("data-requiremodule",t),!r.attachEvent||r.attachEvent.toString&&r.attachEvent.toString().indexOf("[native code")<0||isOpera?(r.addEventListener("load",e.onScriptLoad,!1),r.addEventListener("error",e.onScriptError,!1)):(useInteractive=!0,r.attachEvent("onreadystatechange",e.onScriptLoad)),r.src=i,n.onNodeCreated&&n.onNodeCreated(r,n,t,i),currentlyAddingScript=r,baseElement?head.insertBefore(r,baseElement):head.appendChild(r),currentlyAddingScript=null,r;if(isWebWorker)try{setTimeout(function(){},0),importScripts(i),e.completeLoad(t)}catch(r){e.onError(makeError("importscripts","importScripts failed for "+t+" at "+i,r,[t]))}},isBrowser&&!cfg.skipDataMain&&eachReverse(scripts(),function(e){if(head||(head=e.parentNode),dataMain=e.getAttribute("data-main"))return mainScript=dataMain,cfg.baseUrl||mainScript.indexOf("!")!==-1||(src=mainScript.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath),mainScript=mainScript.replace(jsSuffixRegExp,""),req.jsExtRegExp.test(mainScript)&&(mainScript=dataMain),cfg.deps=cfg.deps?cfg.deps.concat(mainScript):[mainScript],!0}),define=function(e,t,i){var r,n;"string"!=typeof e&&(i=t,t=e,e=null),isArray(t)||(i=t,t=null),!t&&isFunction(i)&&(t=[],i.length&&(i.toString().replace(commentRegExp,commentReplace).replace(cjsRequireRegExp,function(e,i){t.push(i)}),t=(1===i.length?["require"]:["require","exports","module"]).concat(t))),useInteractive&&(r=currentlyAddingScript||getInteractiveScript(),r&&(e||(e=r.getAttribute("data-requiremodule")),n=contexts[r.getAttribute("data-requirecontext")])),n?(n.defQueue.push([e,t,i]),n.defQueueMap[e]=!0):globalDefQueue.push([e,t,i])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)}}(this,"undefined"==typeof setTimeout?void 0:setTimeout);
// From: https://raw.githubusercontent.com/requirejs/require-cs/master/cs.js
/**
 * @license cs 0.5.0 Copyright jQuery Foundation and other contributors.
 * Released under MIT license, http://github.com/requirejs/requirejs/LICENSE
 */

/*global define, window, XMLHttpRequest, importScripts, Packages, java,
  ActiveXObject, process, require */
/**
*
*  Base64 encode / decode
*  http://www.webtoolkit.info/
*
**/

var Base64 = {

    // private property
    _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",

    // public method for encoding
    encode : function (input) {
        var output = "";
        var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
        var i = 0;

        input = Base64._utf8_encode(input);

        while (i < input.length) {

            chr1 = input.charCodeAt(i++);
            chr2 = input.charCodeAt(i++);
            chr3 = input.charCodeAt(i++);

            enc1 = chr1 >> 2;
            enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
            enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
            enc4 = chr3 & 63;

            if (isNaN(chr2)) {
                enc3 = enc4 = 64;
            } else if (isNaN(chr3)) {
                enc4 = 64;
            }

            output = output +
            this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
            this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);

        }

        return output;
    },

    // public method for decoding
    decode : function (input) {
        var output = "";
        var chr1, chr2, chr3;
        var enc1, enc2, enc3, enc4;
        var i = 0;

        input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");

        while (i < input.length) {

            enc1 = this._keyStr.indexOf(input.charAt(i++));
            enc2 = this._keyStr.indexOf(input.charAt(i++));
            enc3 = this._keyStr.indexOf(input.charAt(i++));
            enc4 = this._keyStr.indexOf(input.charAt(i++));

            chr1 = (enc1 << 2) | (enc2 >> 4);
            chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
            chr3 = ((enc3 & 3) << 6) | enc4;

            output = output + String.fromCharCode(chr1);

            if (enc3 != 64) {
                output = output + String.fromCharCode(chr2);
            }
            if (enc4 != 64) {
                output = output + String.fromCharCode(chr3);
            }

        }

        output = Base64._utf8_decode(output);

        return output;

    },

    // private method for UTF-8 encoding
    _utf8_encode : function (string) {
        string = string.replace(/\r\n/g,"\n");
        var utftext = "";

        for (var n = 0; n < string.length; n++) {

            var c = string.charCodeAt(n);

            if (c < 128) {
                utftext += String.fromCharCode(c);
            }
            else if((c > 127) && (c < 2048)) {
                utftext += String.fromCharCode((c >> 6) | 192);
                utftext += String.fromCharCode((c & 63) | 128);
            }
            else {
                utftext += String.fromCharCode((c >> 12) | 224);
                utftext += String.fromCharCode(((c >> 6) & 63) | 128);
                utftext += String.fromCharCode((c & 63) | 128);
            }

        }

        return utftext;
    },

    // private method for UTF-8 decoding
    _utf8_decode : function (utftext) {
        var string = "";
        var i = 0;
        var c = c1 = c2 = 0;

        while ( i < utftext.length ) {

            c = utftext.charCodeAt(i);

            if (c < 128) {
                string += String.fromCharCode(c);
                i++;
            }
            else if((c > 191) && (c < 224)) {
                c2 = utftext.charCodeAt(i+1);
                string += String.fromCharCode(((c & 31) << 6) | (c2 & 63));
                i += 2;
            }
            else {
                c2 = utftext.charCodeAt(i+1);
                c3 = utftext.charCodeAt(i+2);
                string += String.fromCharCode(((c & 15) << 12) | ((c2 & 63) << 6) | (c3 & 63));
                i += 3;
            }

        }

        return string;
    }

}

define(['coffee-script'], function (CoffeeScript) {
    'use strict';
    var fs, getXhr,
        progIds = ['Msxml2.XMLHTTP', 'Microsoft.XMLHTTP', 'Msxml2.XMLHTTP.4.0'],
        fetchText = function () {
            throw new Error('Environment unsupported.');
        },
        buildMap = {};

    if (typeof process !== "undefined" &&
               process.versions &&
               !!process.versions.node) {
        //Using special require.nodeRequire, something added by r.js.
        fs = require.nodeRequire('fs');
        fetchText = function (path, callback) {
            callback(fs.readFileSync(path, 'utf8'));
        };
    } else if ((typeof window !== "undefined" && window.navigator && window.document) || typeof importScripts !== "undefined") {
        // Browser action
        getXhr = function () {
            //Would love to dump the ActiveX crap in here. Need IE 6 to die first.
            var xhr, i, progId;
            if (typeof XMLHttpRequest !== "undefined") {
                return new XMLHttpRequest();
            } else {
                for (i = 0; i < 3; i += 1) {
                    progId = progIds[i];
                    try {
                        xhr = new ActiveXObject(progId);
                    } catch (e) {}

                    if (xhr) {
                        progIds = [progId];  // so faster next time
                        break;
                    }
                }
            }

            if (!xhr) {
                throw new Error("getXhr(): XMLHttpRequest not available");
            }

            return xhr;
        };

        fetchText = function (url, callback) {
            var xhr = getXhr();
            xhr.open('GET', url, true);
            xhr.onreadystatechange = function (evt) {
                //Do not explicitly handle errors, those should be
                //visible via console output in the browser.
                if (xhr.readyState === 4) {
                    callback(xhr.responseText);
                }
            };
            xhr.send(null);
        };
        // end browser.js adapters
    } else if (typeof Packages !== 'undefined') {
        //Why Java, why is this so awkward?
        fetchText = function (path, callback) {
            var stringBuffer, line,
                encoding = "utf-8",
                file = new java.io.File(path),
                lineSeparator = java.lang.System.getProperty("line.separator"),
                input = new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(file), encoding)),
                content = '';
            try {
                stringBuffer = new java.lang.StringBuffer();
                line = input.readLine();

                // Byte Order Mark (BOM) - The Unicode Standard, version 3.0, page 324
                // http://www.unicode.org/faq/utf_bom.html

                // Note that when we use utf-8, the BOM should appear as "EF BB BF", but it doesn't due to this bug in the JDK:
                // http://bugs.sun.com/bugdatabase/view_bug.do?bug_id=4508058
                if (line && line.length() && line.charAt(0) === 0xfeff) {
                    // Eat the BOM, since we've already found the encoding on this file,
                    // and we plan to concatenating this buffer with others; the BOM should
                    // only appear at the top of a file.
                    line = line.substring(1);
                }

                stringBuffer.append(line);

                while ((line = input.readLine()) !== null) {
                    stringBuffer.append(lineSeparator);
                    stringBuffer.append(line);
                }
                //Make sure we return a JavaScript string and not a Java string.
                content = String(stringBuffer.toString()); //String
            } finally {
                input.close();
            }
            callback(content);
        };
    }

    return {
        fetchText: fetchText,

        get: function () {
            return CoffeeScript;
        },

        write: function (pluginName, name, write) {
            if (buildMap.hasOwnProperty(name)) {
                var text = buildMap[name];
                write.asModule(pluginName + "!" + name, text);
            }
        },

        version: '0.4.3',

        load: function (name, parentRequire, load, config) {
            // preserve existing logic with new literate coffeescript extensions (*.litcoffee or *.coffee.md).
            // if name passes check, use it, as-is. otherwise, behave as before, appending .coffee to the
            // requirejs binding.
            var fullName = CoffeeScript.helpers.isCoffee(name) ? name : name + '.coffee';
            var path = parentRequire.toUrl(fullName);
            fetchText(path, function (text) {
                // preserve existing logic. integrate new 'literate' compile flag with any requirejs configs.
                var opts = config.CoffeeScript || {};
                opts.literate = CoffeeScript.helpers.isLiterate(fullName);
                opts.sourceMap = true;
                opts.header = true;
                opts.inline = true;
                opts.sourceFiles = [name + opts.literate ? '' : '.coffee'];
                opts.generatedFile = name + opts.literate ? '' : '.coffee';

                var compiled;
                //Do CoffeeScript transform.
                try {
                    compiled = CoffeeScript.compile(text, opts);
                } catch (err) {
                    var msg = err.message;
                    var loc = err.location;
                    err.message = path;

                    if(loc.first_line === loc.last_line) {
                        err.message += ', line ' + (loc.first_line + 1);
                    }
                    else {
                        err.message += ', lines ' + (loc.first_line + 1);
                        if(isNaN(loc.last_line)) {
                            err.message += '+';
                        }
                        else {
                            err.message += '-' + (loc.last_line + 1);
                        }
                    }

                    err.message += ': ' + msg;
                    throw err;
                }
                text = compiled.js;

                //IE with conditional comments on cannot handle the
                //sourceURL trick, so skip it if enabled.
                /*@if (@_jscript) @else @*/
                if (!config.isBuild) {
                    text += '\n//# sourceMappingURL=data:application/json;base64,' + Base64.encode(compiled.v3SourceMap || '') + '\n//# sourceURL=' + path;
                }
                /*@end@*/

                //Hold on to the transformed text if a build.
                if (config.isBuild) {
                    buildMap[name] = text;
                }

                load.fromText(name, text);
            });
        }
    };
});
// From: https://raw.githubusercontent.com/jashkenas/coffeescript/master/docs/v1/browser-compiler/coffee-script.js
/**
 * CoffeeScript Compiler v1.12.0
 * http://coffeescript.org
 *
 * Copyright 2011, Jeremy Ashkenas
 * Released under the MIT License
 */
var $jscomp={scope:{},checkStringArgs:function(t,ya,pa){if(null==t)throw new TypeError("The 'this' value for String.prototype."+pa+" must not be null or undefined");if(ya instanceof RegExp)throw new TypeError("First argument to String.prototype."+pa+" must not be a regular expression");return t+""}};
$jscomp.defineProperty="function"==typeof Object.defineProperties?Object.defineProperty:function(t,ya,pa){if(pa.get||pa.set)throw new TypeError("ES3 does not support getters and setters.");t!=Array.prototype&&t!=Object.prototype&&(t[ya]=pa.value)};$jscomp.getGlobal=function(t){return"undefined"!=typeof window&&window===t?t:"undefined"!=typeof global&&null!=global?global:t};$jscomp.global=$jscomp.getGlobal(this);
$jscomp.polyfill=function(t,ya,pa,f){if(ya){pa=$jscomp.global;t=t.split(".");for(f=0;f<t.length-1;f++){var ta=t[f];ta in pa||(pa[ta]={});pa=pa[ta]}t=t[t.length-1];f=pa[t];ya=ya(f);ya!=f&&null!=ya&&$jscomp.defineProperty(pa,t,{configurable:!0,writable:!0,value:ya})}};
$jscomp.polyfill("String.prototype.repeat",function(t){return t?t:function(t){var pa=$jscomp.checkStringArgs(this,null,"repeat");if(0>t||1342177279<t)throw new RangeError("Invalid count value");t|=0;for(var f="";t;)if(t&1&&(f+=pa),t>>>=1)pa+=pa;return f}},"es6-impl","es3");$jscomp.findInternal=function(t,ya,pa){t instanceof String&&(t=String(t));for(var f=t.length,ta=0;ta<f;ta++){var xa=t[ta];if(ya.call(pa,xa,ta,t))return{i:ta,v:xa}}return{i:-1,v:void 0}};
$jscomp.polyfill("Array.prototype.find",function(t){return t?t:function(t,pa){return $jscomp.findInternal(this,t,pa).v}},"es6-impl","es3");$jscomp.SYMBOL_PREFIX="jscomp_symbol_";$jscomp.initSymbol=function(){$jscomp.initSymbol=function(){};$jscomp.global.Symbol||($jscomp.global.Symbol=$jscomp.Symbol)};$jscomp.symbolCounter_=0;$jscomp.Symbol=function(t){return $jscomp.SYMBOL_PREFIX+(t||"")+$jscomp.symbolCounter_++};
$jscomp.initSymbolIterator=function(){$jscomp.initSymbol();var t=$jscomp.global.Symbol.iterator;t||(t=$jscomp.global.Symbol.iterator=$jscomp.global.Symbol("iterator"));"function"!=typeof Array.prototype[t]&&$jscomp.defineProperty(Array.prototype,t,{configurable:!0,writable:!0,value:function(){return $jscomp.arrayIterator(this)}});$jscomp.initSymbolIterator=function(){}};
$jscomp.arrayIterator=function(t){var ya=0;return $jscomp.iteratorPrototype(function(){return ya<t.length?{done:!1,value:t[ya++]}:{done:!0}})};$jscomp.iteratorPrototype=function(t){$jscomp.initSymbolIterator();t={next:t};t[$jscomp.global.Symbol.iterator]=function(){return this};return t};$jscomp.array=$jscomp.array||{};
$jscomp.iteratorFromArray=function(t,ya){$jscomp.initSymbolIterator();t instanceof String&&(t+="");var pa=0,f={next:function(){if(pa<t.length){var ta=pa++;return{value:ya(ta,t[ta]),done:!1}}f.next=function(){return{done:!0,value:void 0}};return f.next()}};f[Symbol.iterator]=function(){return f};return f};$jscomp.polyfill("Array.prototype.keys",function(t){return t?t:function(){return $jscomp.iteratorFromArray(this,function(t){return t})}},"es6-impl","es3");
(function(t){var ya=function(){function t(f){return t[f]}t["./helpers"]=function(){var f={};(function(){var t,xa,D,a,c,Ca;f.starts=function(a,c,l){return c===a.substr(l,c.length)};f.ends=function(a,c,l){var d;d=c.length;return c===a.substr(a.length-d-(l||0),d)};f.repeat=c=function(a,c){var d;for(d="";0<c;)c&1&&(d+=a),c>>>=1,a+=a;return d};f.compact=function(a){var d,c,f,D;D=[];d=0;for(f=a.length;d<f;d++)(c=a[d])&&D.push(c);return D};f.count=function(a,c){var d,v;d=v=0;if(!c.length)return 1/0;for(;v=
1+a.indexOf(c,v);)d++;return d};f.merge=function(a,c){return xa(xa({},a),c)};xa=f.extend=function(a,c){var d,v;for(d in c)v=c[d],a[d]=v;return a};f.flatten=D=function(a){var d,c,f,F;c=[];f=0;for(F=a.length;f<F;f++)d=a[f],"[object Array]"===Object.prototype.toString.call(d)?c=c.concat(D(d)):c.push(d);return c};f.del=function(a,c){var d;d=a[c];delete a[c];return d};f.some=null!=(a=Array.prototype.some)?a:function(a){var d,c,f;c=0;for(f=this.length;c<f;c++)if(d=this[c],a(d))return!0;return!1};f.invertLiterate=
function(a){var d;d=!0;var c,f,D,w;D=a.split("\n");w=[];c=0;for(f=D.length;c<f;c++)a=D[c],d&&/^([ ]{4}|[ ]{0,3}\t)/.test(a)?w.push(a):(d=/^\s*$/.test(a))?w.push(a):w.push("# "+a);return w.join("\n")};t=function(a,c){return c?{first_line:a.first_line,first_column:a.first_column,last_line:c.last_line,last_column:c.last_column}:a};f.addLocationDataFn=function(a,c){return function(d){"object"===typeof d&&d.updateLocationDataIfMissing&&d.updateLocationDataIfMissing(t(a,c));return d}};f.locationDataToString=
function(a){var d;"2"in a&&"first_line"in a[2]?d=a[2]:"first_line"in a&&(d=a);return d?d.first_line+1+":"+(d.first_column+1)+"-"+(d.last_line+1+":"+(d.last_column+1)):"No location data"};f.baseFileName=function(a,c,f){null==c&&(c=!1);null==f&&(f=!1);a=a.split(f?/\\|\//:/\//);a=a[a.length-1];if(!(c&&0<=a.indexOf(".")))return a;a=a.split(".");a.pop();"coffee"===a[a.length-1]&&1<a.length&&a.pop();return a.join(".")};f.isCoffee=function(a){return/\.((lit)?coffee|coffee\.md)$/.test(a)};f.isLiterate=function(a){return/\.(litcoffee|coffee\.md)$/.test(a)};
f.throwSyntaxError=function(a,c){a=new SyntaxError(a);a.location=c;a.toString=Ca;a.stack=a.toString();throw a;};f.updateSyntaxError=function(a,c,f){a.toString===Ca&&(a.code||(a.code=c),a.filename||(a.filename=f),a.stack=a.toString());return a};Ca=function(){var a,f,l,D,F,w,z,n,G,t;if(!this.code||!this.location)return Error.prototype.toString.call(this);a=this.location;w=a.first_line;F=a.first_column;l=a.last_line;z=a.last_column;null==l&&(l=w);null==z&&(z=F);D=this.filename||"[stdin]";a=this.code.split("\n")[w];
l=w===l?z+1:a.length;z=a.slice(0,F).replace(/[^\s]/g," ")+c("^",l-F);"undefined"!==typeof process&&null!==process&&(f=(null!=(n=process.stdout)?n.isTTY:void 0)&&!(null!=(G=process.env)&&G.NODE_DISABLE_COLORS));if(null!=(t=this.colorful)?t:f)f=function(a){return"\u001b[1;31m"+a+"\u001b[0m"},a=a.slice(0,F)+f(a.slice(F,l))+a.slice(l),z=f(z);return D+":"+(w+1)+":"+(F+1)+": error: "+this.message+"\n"+a+"\n"+z};f.nameWhitespaceCharacter=function(a){switch(a){case " ":return"space";case "\n":return"newline";
case "\r":return"carriage return";case "\t":return"tab";default:return a}}}).call(this);return f}();t["./rewriter"]=function(){var f={};(function(){var t,xa,D,a,c,Ca,d,v,l,u,F,w,z,n,G,L,I,x,E=[].indexOf||function(a){for(var c=0,d=this.length;c<d;c++)if(c in this&&this[c]===a)return c;return-1},m=[].slice;n=function(a,c,d){a=[a,c];a.generated=!0;d&&(a.origin=d);return a};f.Rewriter=function(){function g(){}g.prototype.rewrite=function(a){this.tokens=a;this.removeLeadingNewlines();this.closeOpenCalls();
this.closeOpenIndexes();this.normalizeLines();this.tagPostfixConditionals();this.addImplicitBracesAndParens();this.addLocationDataToGeneratedTokens();this.fixOutdentLocationData();return this.tokens};g.prototype.scanTokens=function(a){var c,d,h;h=this.tokens;for(c=0;d=h[c];)c+=a.call(this,d,c,h);return!0};g.prototype.detectEnd=function(d,q,k){var h,r,g,f,m;m=this.tokens;for(h=0;f=m[d];){if(0===h&&q.call(this,f,d))return k.call(this,f,d);if(!f||0>h)return k.call(this,f,d-1);(r=f[0],0<=E.call(c,r))?
h+=1:(g=f[0],0<=E.call(a,g))&&--h;d+=1}return d-1};g.prototype.removeLeadingNewlines=function(){var a,c,d,h,g;h=this.tokens;a=c=0;for(d=h.length;c<d&&(g=h[a][0],"TERMINATOR"===g);a=++c);if(a)return this.tokens.splice(0,a)};g.prototype.closeOpenCalls=function(){var a,c;c=function(a,c){var h;return")"===(h=a[0])||"CALL_END"===h||"OUTDENT"===a[0]&&")"===this.tag(c-1)};a=function(a,c){return this.tokens["OUTDENT"===a[0]?c-1:c][0]="CALL_END"};return this.scanTokens(function(d,h){"CALL_START"===d[0]&&this.detectEnd(h+
1,c,a);return 1})};g.prototype.closeOpenIndexes=function(){var a,c;c=function(a,c){var h;return"]"===(h=a[0])||"INDEX_END"===h};a=function(a,c){return a[0]="INDEX_END"};return this.scanTokens(function(d,h){"INDEX_START"===d[0]&&this.detectEnd(h+1,c,a);return 1})};g.prototype.indexOfTag=function(){var a,c,d,h,g,f,H;c=arguments[0];g=2<=arguments.length?m.call(arguments,1):[];d=h=a=0;for(f=g.length;0<=f?h<f:h>f;d=0<=f?++h:--h){for(;"HERECOMMENT"===this.tag(c+d+a);)a+=2;if(null!=g[d]&&("string"===typeof g[d]&&
(g[d]=[g[d]]),H=this.tag(c+d+a),0>E.call(g[d],H)))return-1}return c+d+a-1};g.prototype.looksObjectish=function(d){var g;if(-1<this.indexOfTag(d,"@",null,":")||-1<this.indexOfTag(d,null,":"))return!0;d=this.indexOfTag(d,c);return-1<d&&(g=null,this.detectEnd(d+1,function(c){var d;return d=c[0],0<=E.call(a,d)},function(a,c){return g=c}),":"===this.tag(g+1))?!0:!1};g.prototype.findTagsBackwards=function(d,g){var f,h,r,q,H,m,l;for(f=[];0<=d&&(f.length||(q=this.tag(d),0>E.call(g,q))&&((H=this.tag(d),0>
E.call(c,H))||this.tokens[d].generated)&&(m=this.tag(d),0>E.call(F,m)));)(h=this.tag(d),0<=E.call(a,h))&&f.push(this.tag(d)),(r=this.tag(d),0<=E.call(c,r))&&f.length&&f.pop(),--d;return l=this.tag(d),0<=E.call(g,l)};g.prototype.addImplicitBracesAndParens=function(){var g,f;g=[];f=null;return this.scanTokens(function(q,h,r){var k,m,y,K,D,x,u,z,C,A,G,B,t,w,I,L,U,J;J=q[0];A=(G=0<h?r[h-1]:[])[0];C=(h<r.length-1?r[h+1]:[])[0];I=function(){return g[g.length-1]};L=h;y=function(a){return h-L+a};K=function(){var a,
c;return null!=(a=I())?null!=(c=a[2])?c.ours:void 0:void 0};D=function(){var a;return K()&&"("===(null!=(a=I())?a[0]:void 0)};u=function(){var a;return K()&&"{"===(null!=(a=I())?a[0]:void 0)};x=function(){var a;return K&&"CONTROL"===(null!=(a=I())?a[0]:void 0)};U=function(a){var c;c=null!=a?a:h;g.push(["(",c,{ours:!0}]);r.splice(c,0,n("CALL_START","("));if(null==a)return h+=1};k=function(){g.pop();r.splice(h,0,n("CALL_END",")",["","end of input",q[2]]));return h+=1};z=function(a,c){var d;null==c&&
(c=!0);d=null!=a?a:h;g.push(["{",d,{sameLine:!0,startsLine:c,ours:!0}]);c=new String("{");c.generated=!0;r.splice(d,0,n("{",c,q));if(null==a)return h+=1};m=function(a){a=null!=a?a:h;g.pop();r.splice(a,0,n("}","}",q));return h+=1};if(D()&&("IF"===J||"TRY"===J||"FINALLY"===J||"CATCH"===J||"CLASS"===J||"SWITCH"===J))return g.push(["CONTROL",h,{ours:!0}]),y(1);if("INDENT"===J&&K()){if("\x3d\x3e"!==A&&"-\x3e"!==A&&"["!==A&&"("!==A&&","!==A&&"{"!==A&&"TRY"!==A&&"ELSE"!==A&&"\x3d"!==A)for(;D();)k();x()&&
g.pop();g.push([J,h]);return y(1)}if(0<=E.call(c,J))return g.push([J,h]),y(1);if(0<=E.call(a,J)){for(;K();)D()?k():u()?m():g.pop();f=g.pop()}if((0<=E.call(v,J)&&q.spaced||"?"===J&&0<h&&!r[h-1].spaced)&&(0<=E.call(Ca,C)||0<=E.call(l,C)&&(null==(B=r[h+1])||!B.spaced)&&(null==(t=r[h+1])||!t.newLine)))return"?"===J&&(J=q[0]="FUNC_EXIST"),U(h+1),y(2);if(0<=E.call(v,J)&&-1<this.indexOfTag(h+1,"INDENT")&&this.looksObjectish(h+2)&&!this.findTagsBackwards(h,"CLASS EXTENDS IF CATCH SWITCH LEADING_WHEN FOR WHILE UNTIL".split(" ")))return U(h+
1),g.push(["INDENT",h+2]),y(3);if(":"===J){for(m=function(){var c;switch(!1){case c=this.tag(h-1),0>E.call(a,c):return f[1];case "@"!==this.tag(h-2):return h-2;default:return h-1}}.call(this);"HERECOMMENT"===this.tag(m-2);)m-=2;this.insideForDeclaration="FOR"===C;x=0===m||(w=this.tag(m-1),0<=E.call(F,w))||r[m-1].newLine;if(I()&&(u=I(),w=u[0],G=u[1],("{"===w||"INDENT"===w&&"{"===this.tag(G-1))&&(x||","===this.tag(m-1)||"{"===this.tag(m-1))))return y(1);z(m,!!x);return y(2)}u()&&0<=E.call(F,J)&&(I()[2].sameLine=
!1);z="OUTDENT"===A||G.newLine;if(0<=E.call(d,J)||0<=E.call(xa,J)&&z)for(;K();)if(z=I(),w=z[0],G=z[1],w=z[2],z=w.sameLine,x=w.startsLine,D()&&","!==A)k();else if(u()&&!this.insideForDeclaration&&z&&"TERMINATOR"!==J&&":"!==A)m();else if(!u()||"TERMINATOR"!==J||","===A||x&&this.looksObjectish(h+1))break;else{if("HERECOMMENT"===C)return y(1);m()}if(!(","!==J||this.looksObjectish(h+1)||!u()||this.insideForDeclaration||"TERMINATOR"===C&&this.looksObjectish(h+2)))for(C="OUTDENT"===C?1:0;u();)m(h+C);return y(1)})};
g.prototype.addLocationDataToGeneratedTokens=function(){return this.scanTokens(function(a,c,d){var h,g,f;if(a[2]||!a.generated&&!a.explicit)return 1;"{"===a[0]&&(h=null!=(f=d[c+1])?f[2]:void 0)?(g=h.first_line,h=h.first_column):(h=null!=(g=d[c-1])?g[2]:void 0)?(g=h.last_line,h=h.last_column):g=h=0;a[2]={first_line:g,first_column:h,last_line:g,last_column:h};return 1})};g.prototype.fixOutdentLocationData=function(){return this.scanTokens(function(a,c,d){if(!("OUTDENT"===a[0]||a.generated&&"CALL_END"===
a[0]||a.generated&&"}"===a[0]))return 1;c=d[c-1][2];a[2]={first_line:c.last_line,first_column:c.last_column,last_line:c.last_line,last_column:c.last_column};return 1})};g.prototype.normalizeLines=function(){var a,c,d,h,g;g=d=h=null;c=function(a,c){var d,h,f,m;return";"!==a[1]&&(d=a[0],0<=E.call(w,d))&&!("TERMINATOR"===a[0]&&(h=this.tag(c+1),0<=E.call(D,h)))&&!("ELSE"===a[0]&&"THEN"!==g)&&!!("CATCH"!==(f=a[0])&&"FINALLY"!==f||"-\x3e"!==g&&"\x3d\x3e"!==g)||(m=a[0],0<=E.call(xa,m))&&this.tokens[c-1].newLine};
a=function(a,c){return this.tokens.splice(","===this.tag(c-1)?c-1:c,0,h)};return this.scanTokens(function(f,q,r){var k,l,x;f=f[0];if("TERMINATOR"===f){if("ELSE"===this.tag(q+1)&&"OUTDENT"!==this.tag(q-1))return r.splice.apply(r,[q,1].concat(m.call(this.indentation()))),1;if(k=this.tag(q+1),0<=E.call(D,k))return r.splice(q,1),0}if("CATCH"===f)for(k=l=1;2>=l;k=++l)if("OUTDENT"===(x=this.tag(q+k))||"TERMINATOR"===x||"FINALLY"===x)return r.splice.apply(r,[q+k,0].concat(m.call(this.indentation()))),2+
k;0<=E.call(z,f)&&"INDENT"!==this.tag(q+1)&&("ELSE"!==f||"IF"!==this.tag(q+1))&&(g=f,x=this.indentation(r[q]),d=x[0],h=x[1],"THEN"===g&&(d.fromThen=!0),r.splice(q+1,0,d),this.detectEnd(q+2,c,a),"THEN"===f&&r.splice(q,1));return 1})};g.prototype.tagPostfixConditionals=function(){var a,c,d;d=null;c=function(a,c){a=a[0];c=this.tokens[c-1][0];return"TERMINATOR"===a||"INDENT"===a&&0>E.call(z,c)};a=function(a,c){if("INDENT"!==a[0]||a.generated&&!a.fromThen)return d[0]="POST_"+d[0]};return this.scanTokens(function(h,
g){if("IF"!==h[0])return 1;d=h;this.detectEnd(g+1,c,a);return 1})};g.prototype.indentation=function(a){var c,d;c=["INDENT",2];d=["OUTDENT",2];a?(c.generated=d.generated=!0,c.origin=d.origin=a):c.explicit=d.explicit=!0;return[c,d]};g.prototype.generate=n;g.prototype.tag=function(a){var c;return null!=(c=this.tokens[a])?c[0]:void 0};return g}();t=[["(",")"],["[","]"],["{","}"],["INDENT","OUTDENT"],["CALL_START","CALL_END"],["PARAM_START","PARAM_END"],["INDEX_START","INDEX_END"],["STRING_START","STRING_END"],
["REGEX_START","REGEX_END"]];f.INVERSES=u={};c=[];a=[];G=0;for(I=t.length;G<I;G++)x=t[G],L=x[0],x=x[1],c.push(u[x]=L),a.push(u[L]=x);D=["CATCH","THEN","ELSE","FINALLY"].concat(a);v="IDENTIFIER PROPERTY SUPER ) CALL_END ] INDEX_END @ THIS".split(" ");Ca="IDENTIFIER PROPERTY NUMBER INFINITY NAN STRING STRING_START REGEX REGEX_START JS NEW PARAM_START CLASS IF TRY SWITCH THIS UNDEFINED NULL BOOL UNARY YIELD UNARY_MATH SUPER THROW @ -\x3e \x3d\x3e [ ( { -- ++".split(" ");l=["+","-"];d="POST_IF FOR WHILE UNTIL WHEN BY LOOP TERMINATOR".split(" ");
z="ELSE -\x3e \x3d\x3e TRY FINALLY THEN".split(" ");w="TERMINATOR CATCH FINALLY ELSE OUTDENT LEADING_WHEN".split(" ");F=["TERMINATOR","INDENT","OUTDENT"];xa=[".","?.","::","?::"]}).call(this);return f}();t["./lexer"]=function(){var f={};(function(){var ta,xa,D,a,c,Ca,d,v,l,u,F,w,z,n,G,L,I,x,E,m,g,r,q,k,h,K,O,H,y,T,S,P,Z,R,C,A,W,B,N,X,Y,V,U,J,aa,Q,pa,ya,Xa,ia,ba,da,ga,fa,ka,ja,M,ha,ca=[].indexOf||function(a){for(var c=0,d=this.length;c<d;c++)if(c in this&&this[c]===a)return c;return-1},oa=[].slice;
ja=t("./rewriter");B=ja.Rewriter;g=ja.INVERSES;ja=t("./helpers");da=ja.count;M=ja.repeat;ga=ja.invertLiterate;ha=ja.throwSyntaxError;f.Lexer=function(){function f(){}f.prototype.tokenize=function(a,c){var d,f,qa,h;null==c&&(c={});this.literate=c.literate;this.outdebt=this.indebt=this.baseIndent=this.indent=0;this.indents=[];this.ends=[];this.tokens=[];this.exportSpecifierList=this.seenExport=this.seenImport=this.seenFor=!1;this.chunkLine=c.line||0;this.chunkColumn=c.column||0;a=this.clean(a);for(qa=
0;this.chunk=a.slice(qa);)if(d=this.identifierToken()||this.commentToken()||this.whitespaceToken()||this.lineToken()||this.stringToken()||this.numberToken()||this.regexToken()||this.jsToken()||this.literalToken(),h=this.getLineAndColumnFromChunk(d),this.chunkLine=h[0],this.chunkColumn=h[1],qa+=d,c.untilBalanced&&0===this.ends.length)return{tokens:this.tokens,index:qa};this.closeIndentation();(f=this.ends.pop())&&this.error("missing "+f.tag,f.origin[2]);return!1===c.rewrite?this.tokens:(new B).rewrite(this.tokens)};
f.prototype.clean=function(a){a.charCodeAt(0)===ta&&(a=a.slice(1));a=a.replace(/\r/g,"").replace(pa,"");ba.test(a)&&(a="\n"+a,this.chunkLine--);this.literate&&(a=ga(a));return a};f.prototype.identifierToken=function(){var d,f,g,m,r,k,l,x,D,y,n;if(!(f=I.exec(this.chunk)))return 0;r=f[0];g=f[1];f=f[2];m=g.length;k=void 0;if("own"===g&&"FOR"===this.tag())return this.token("OWN",g),g.length;if("from"===g&&"YIELD"===this.tag())return this.token("FROM",g),g.length;if("as"===g&&this.seenImport){if("*"===
this.value())this.tokens[this.tokens.length-1][0]="IMPORT_ALL";else if(l=this.value(),0<=ca.call(Ca,l))this.tokens[this.tokens.length-1][0]="IDENTIFIER";if("IMPORT_ALL"===(x=this.tag())||"IDENTIFIER"===x)return this.token("AS",g),g.length}if("as"===g&&this.seenExport&&"IDENTIFIER"===this.tag())return this.token("AS",g),g.length;if("default"===g&&this.seenExport)return this.token("DEFAULT",g),g.length;l=this.tokens;l=l[l.length-1];n=f||null!=l&&("."===(D=l[0])||"?."===D||"::"===D||"?::"===D||!l.spaced&&
"@"===l[0])?"PROPERTY":"IDENTIFIER";"IDENTIFIER"!==n||!(0<=ca.call(q,g)||0<=ca.call(Ca,g))||this.exportSpecifierList&&0<=ca.call(Ca,g)?"IDENTIFIER"===n&&this.seenFor&&"from"===g&&(n="FORFROM",this.seenFor=!1):(n=g.toUpperCase(),"WHEN"===n&&(y=this.tag(),0<=ca.call(h,y))?n="LEADING_WHEN":"FOR"===n?this.seenFor=!0:"UNLESS"===n?n="IF":"IMPORT"===n?this.seenImport=!0:"EXPORT"===n?this.seenExport=!0:0<=ca.call(ya,n)?n="UNARY":0<=ca.call(A,n)&&("INSTANCEOF"!==n&&this.seenFor?(n="FOR"+n,this.seenFor=!1):
(n="RELATION","!"===this.value()&&(k=this.tokens.pop(),g="!"+g))));"IDENTIFIER"===n&&0<=ca.call(W,g)&&this.error("reserved word '"+g+"'",{length:g.length});"PROPERTY"!==n&&(0<=ca.call(a,g)&&(d=g,g=c[g]),n=function(){switch(g){case "!":return"UNARY";case "\x3d\x3d":case "!\x3d":return"COMPARE";case "true":case "false":return"BOOL";case "break":case "continue":case "debugger":return"STATEMENT";case "\x26\x26":case "||":return g;default:return n}}());D=this.token(n,g,0,m);d&&(D.origin=[n,d,D[2]]);k&&
(d=[k[2].first_line,k[2].first_column],D[2].first_line=d[0],D[2].first_column=d[1]);f&&(d=r.lastIndexOf(":"),this.token(":",":",d,f.length));return r.length};f.prototype.numberToken=function(){var a,c,d,g;if(!(c=T.exec(this.chunk)))return 0;d=c[0];c=d.length;switch(!1){case !/^0[BOX]/.test(d):this.error("radix prefix in '"+d+"' must be lowercase",{offset:1});break;case !/^(?!0x).*E/.test(d):this.error("exponential notation in '"+d+"' must be indicated with a lowercase 'e'",{offset:d.indexOf("E")});
break;case !/^0\d*[89]/.test(d):this.error("decimal literal '"+d+"' must not be prefixed with '0'",{length:c});break;case !/^0\d+/.test(d):this.error("octal literal '"+d+"' must be prefixed with '0o'",{length:c})}a=function(){switch(d.charAt(1)){case "b":return 2;case "o":return 8;case "x":return 16;default:return null}}();a=null!=a?parseInt(d.slice(2),a):parseFloat(d);if("b"===(g=d.charAt(1))||"o"===g)d="0x"+a.toString(16);this.token(Infinity===a?"INFINITY":"NUMBER",d,0,c);return c};f.prototype.stringToken=
function(){var a,c,d,g,f,h,m,q,r,n,l,D;r=(aa.exec(this.chunk)||[])[0];if(!r)return 0;this.tokens.length&&"from"===this.value()&&(this.seenImport||this.seenExport)&&(this.tokens[this.tokens.length-1][0]="FROM");d=function(){switch(r){case "'":return J;case '"':return V;case "'''":return z;case '"""':return F}}();g=3===r.length;d=this.matchWithInterpolations(d,r);D=d.tokens;f=d.index;a=D.length-1;d=r.charAt(0);if(g){m=null;for(g=function(){var a,c,d;d=[];h=a=0;for(c=D.length;a<c;h=++a)l=D[h],"NEOSTRING"===
l[0]&&d.push(l[1]);return d}().join("#{}");c=w.exec(g);)if(c=c[1],null===m||0<(n=c.length)&&n<m.length)m=c;m&&(q=RegExp("\\n"+m,"g"));this.mergeInterpolationTokens(D,{delimiter:d},function(c){return function(d,g){d=c.formatString(d);q&&(d=d.replace(q,"\n"));0===g&&(d=d.replace(k,""));g===a&&(d=d.replace(Q,""));return d}}(this))}else this.mergeInterpolationTokens(D,{delimiter:d},function(c){return function(d,g){d=c.formatString(d);return d=d.replace(X,function(c,f){return 0===g&&0===f||g===a&&f+c.length===
d.length?"":" "})}}(this));return f};f.prototype.commentToken=function(){var a,c,g;if(!(g=this.chunk.match(d)))return 0;a=g[0];if(c=g[1])(g=u.exec(a))&&this.error("block comments cannot contain "+g[0],{offset:g.index,length:g[0].length}),0<=c.indexOf("\n")&&(c=c.replace(RegExp("\\n"+M(" ",this.indent),"g"),"\n")),this.token("HERECOMMENT",c,0,a.length);return a.length};f.prototype.jsToken=function(){var a,c;if("`"!==this.chunk.charAt(0)||!(a=L.exec(this.chunk)||r.exec(this.chunk)))return 0;c=a[1].replace(/\\+(`|$)/g,
function(a){return a.slice(-Math.ceil(a.length/2))});this.token("JS",c,0,a[0].length);return a[0].length};f.prototype.regexToken=function(){var a,c,d,g,f,h,m,r;switch(!1){case !(c=C.exec(this.chunk)):this.error("regular expressions cannot begin with "+c[2],{offset:c.index+c[1].length});break;case !(c=this.matchWithInterpolations(n,"///")):r=c.tokens;f=c.index;break;case !(c=Z.exec(this.chunk)):m=c[0];a=c[1];c=c[2];this.validateEscapes(a,{isRegex:!0,offsetInChunk:1});f=m.length;h=this.tokens;if(h=
h[h.length-1])if(h.spaced&&(d=h[0],0<=ca.call(xa,d))){if(!c||P.test(m))return 0}else if(g=h[0],0<=ca.call(y,g))return 0;c||this.error("missing / (unclosed regex)");break;default:return 0}g=R.exec(this.chunk.slice(f))[0];d=f+g.length;c=this.makeToken("REGEX",null,0,d);switch(!1){case !!ia.test(g):this.error("invalid regular expression flags "+g,{offset:f,length:g.length});break;case !(m||1===r.length):null==a&&(a=this.formatHeregex(r[0][1]));this.token("REGEX",""+this.makeDelimitedLiteral(a,{delimiter:"/"})+
g,0,d,c);break;default:this.token("REGEX_START","(",0,0,c),this.token("IDENTIFIER","RegExp",0,0),this.token("CALL_START","(",0,0),this.mergeInterpolationTokens(r,{delimiter:'"',double:!0},this.formatHeregex),g&&(this.token(",",",",f,0),this.token("STRING",'"'+g+'"',f,g.length)),this.token(")",")",d,0),this.token("REGEX_END",")",d,0)}return d};f.prototype.lineToken=function(){var a,c,d;if(!(c=H.exec(this.chunk)))return 0;c=c[0];this.seenFor=!1;d=c.length-1-c.lastIndexOf("\n");a=this.unfinished();if(d-
this.indebt===this.indent)return a?this.suppressNewlines():this.newlineToken(0),c.length;if(d>this.indent){if(a)return this.indebt=d-this.indent,this.suppressNewlines(),c.length;if(!this.tokens.length)return this.baseIndent=this.indent=d,c.length;a=d-this.indent+this.outdebt;this.token("INDENT",a,c.length-d,d);this.indents.push(a);this.ends.push({tag:"OUTDENT"});this.outdebt=this.indebt=0;this.indent=d}else d<this.baseIndent?this.error("missing indentation",{offset:c.length}):(this.indebt=0,this.outdentToken(this.indent-
d,a,c.length));return c.length};f.prototype.outdentToken=function(a,c,d){var g,f,h,m;for(g=this.indent-a;0<a;)(h=this.indents[this.indents.length-1])?h===this.outdebt?(a-=this.outdebt,this.outdebt=0):h<this.outdebt?(this.outdebt-=h,a-=h):(f=this.indents.pop()+this.outdebt,d&&(m=this.chunk[d],0<=ca.call(x,m))&&(g-=f-a,a=f),this.outdebt=0,this.pair("OUTDENT"),this.token("OUTDENT",a,0,d),a-=f):a=0;f&&(this.outdebt-=a);for(;";"===this.value();)this.tokens.pop();"TERMINATOR"===this.tag()||c||this.token("TERMINATOR",
"\n",d,0);this.indent=g;return this};f.prototype.whitespaceToken=function(){var a,c;if(!(a=ba.exec(this.chunk))&&"\n"!==this.chunk.charAt(0))return 0;c=this.tokens;(c=c[c.length-1])&&(c[a?"spaced":"newLine"]=!0);return a?a[0].length:0};f.prototype.newlineToken=function(a){for(;";"===this.value();)this.tokens.pop();"TERMINATOR"!==this.tag()&&this.token("TERMINATOR","\n",a,0);return this};f.prototype.suppressNewlines=function(){"\\"===this.value()&&this.tokens.pop();return this};f.prototype.literalToken=
function(){var a,c,d,f,h,m,r,q;(a=S.exec(this.chunk))?(a=a[0],D.test(a)&&this.tagParameters()):a=this.chunk.charAt(0);q=a;f=this.tokens;if((f=f[f.length-1])&&0<=ca.call(["\x3d"].concat(oa.call(l)),a)&&(r=!1,"\x3d"!==a||"||"!==(d=f[1])&&"\x26\x26"!==d||f.spaced||(f[0]="COMPOUND_ASSIGN",f[1]+="\x3d",f=this.tokens[this.tokens.length-2],r=!0),f&&"PROPERTY"!==f[0]&&(d=null!=(c=f.origin)?c:f,(c=fa(f[1],d[1]))&&this.error(c,d[2])),r))return a.length;"{"===a&&"EXPORT"===(null!=f?f[0]:void 0)?this.exportSpecifierList=
!0:this.exportSpecifierList&&"}"===a&&(this.exportSpecifierList=!1);if(";"===a)this.seenFor=this.seenImport=this.seenExport=!1,q="TERMINATOR";else if("*"===a&&"EXPORT"===f[0])q="EXPORT_ALL";else if(0<=ca.call(O,a))q="MATH";else if(0<=ca.call(v,a))q="COMPARE";else if(0<=ca.call(l,a))q="COMPOUND_ASSIGN";else if(0<=ca.call(ya,a))q="UNARY";else if(0<=ca.call(Xa,a))q="UNARY_MATH";else if(0<=ca.call(N,a))q="SHIFT";else if("?"===a&&null!=f&&f.spaced)q="BIN?";else if(f&&!f.spaced)if("("===a&&(h=f[0],0<=ca.call(xa,
h)))"?"===f[0]&&(f[0]="FUNC_EXIST"),q="CALL_START";else if("["===a&&(m=f[0],0<=ca.call(E,m)))switch(q="INDEX_START",f[0]){case "?":f[0]="INDEX_SOAK"}h=this.makeToken(q,a);switch(a){case "(":case "{":case "[":this.ends.push({tag:g[a],origin:h});break;case ")":case "}":case "]":this.pair(a)}this.tokens.push(h);return a.length};f.prototype.tagParameters=function(){var a,c,d,f;if(")"!==this.tag())return this;c=[];f=this.tokens;a=f.length;for(f[--a][0]="PARAM_END";d=f[--a];)switch(d[0]){case ")":c.push(d);
break;case "(":case "CALL_START":if(c.length)c.pop();else return"("===d[0]&&(d[0]="PARAM_START"),this}return this};f.prototype.closeIndentation=function(){return this.outdentToken(this.indent)};f.prototype.matchWithInterpolations=function(a,c){var d,g,h,m,q,r,k,n;n=[];q=c.length;if(this.chunk.slice(0,q)!==c)return null;for(k=this.chunk.slice(q);;){m=a.exec(k)[0];this.validateEscapes(m,{isRegex:"/"===c.charAt(0),offsetInChunk:q});n.push(this.makeToken("NEOSTRING",m,q));k=k.slice(m.length);q+=m.length;
if("#{"!==k.slice(0,2))break;d=this.getLineAndColumnFromChunk(q+1);m=d[0];d=d[1];d=(new f).tokenize(k.slice(1),{line:m,column:d,untilBalanced:!0});m=d.tokens;g=d.index;g+=1;r=m[0];d=m[m.length-1];r[0]=r[1]="(";d[0]=d[1]=")";d.origin=["","end of interpolation",d[2]];"TERMINATOR"===(null!=(h=m[1])?h[0]:void 0)&&m.splice(1,1);n.push(["TOKENS",m]);k=k.slice(g);q+=g}k.slice(0,c.length)!==c&&this.error("missing "+c,{length:c.length});a=n[0];h=n[n.length-1];a[2].first_column-=c.length;"\n"===h[1].substr(-1)?
(h[2].last_line+=1,h[2].last_column=c.length-1):h[2].last_column+=c.length;0===h[1].length&&--h[2].last_column;return{tokens:n,index:q+c.length}};f.prototype.mergeInterpolationTokens=function(a,c,d){var f,g,h,m,q,r,k,n,l,D,x,y;1<a.length&&(n=this.token("STRING_START","(",0,0));h=this.tokens.length;m=q=0;for(r=a.length;q<r;m=++q){D=a[m];f=D[0];y=D[1];switch(f){case "TOKENS":if(2===y.length)continue;k=y[0];x=y;break;case "NEOSTRING":f=d(D[1],m);if(0===f.length)if(0===m)g=this.tokens.length;else continue;
2===m&&null!=g&&this.tokens.splice(g,2);D[0]="STRING";D[1]=this.makeDelimitedLiteral(f,c);k=D;x=[D]}this.tokens.length>h&&(m=this.token("+","+"),m[2]={first_line:k[2].first_line,first_column:k[2].first_column,last_line:k[2].first_line,last_column:k[2].first_column});(l=this.tokens).push.apply(l,x)}if(n)return a=a[a.length-1],n.origin=["STRING",null,{first_line:n[2].first_line,first_column:n[2].first_column,last_line:a[2].last_line,last_column:a[2].last_column}],n=this.token("STRING_END",")"),n[2]=
{first_line:a[2].last_line,first_column:a[2].last_column,last_line:a[2].last_line,last_column:a[2].last_column}};f.prototype.pair=function(a){var c;c=this.ends;c=c[c.length-1];return a!==(c=null!=c?c.tag:void 0)?("OUTDENT"!==c&&this.error("unmatched "+a),c=this.indents,c=c[c.length-1],this.outdentToken(c,!0),this.pair(a)):this.ends.pop()};f.prototype.getLineAndColumnFromChunk=function(a){var c,d;if(0===a)return[this.chunkLine,this.chunkColumn];d=a>=this.chunk.length?this.chunk:this.chunk.slice(0,
+(a-1)+1||9E9);a=da(d,"\n");c=this.chunkColumn;0<a?(c=d.split("\n"),c=c[c.length-1],c=c.length):c+=d.length;return[this.chunkLine+a,c]};f.prototype.makeToken=function(a,c,d,f){var g,h;null==d&&(d=0);null==f&&(f=c.length);g={};h=this.getLineAndColumnFromChunk(d);g.first_line=h[0];g.first_column=h[1];d=this.getLineAndColumnFromChunk(d+(0<f?f-1:0));g.last_line=d[0];g.last_column=d[1];return[a,c,g]};f.prototype.token=function(a,c,d,f,g){a=this.makeToken(a,c,d,f);g&&(a.origin=g);this.tokens.push(a);return a};
f.prototype.tag=function(){var a;a=this.tokens;a=a[a.length-1];return null!=a?a[0]:void 0};f.prototype.value=function(){var a;a=this.tokens;a=a[a.length-1];return null!=a?a[1]:void 0};f.prototype.unfinished=function(){var a;return K.test(this.chunk)||"\\"===(a=this.tag())||"."===a||"?."===a||"?::"===a||"UNARY"===a||"MATH"===a||"UNARY_MATH"===a||"+"===a||"-"===a||"**"===a||"SHIFT"===a||"RELATION"===a||"COMPARE"===a||"\x26"===a||"^"===a||"|"===a||"\x26\x26"===a||"||"===a||"BIN?"===a||"THROW"===a||"EXTENDS"===
a};f.prototype.formatString=function(a){return a.replace(U,"$1")};f.prototype.formatHeregex=function(a){return a.replace(G,"$1$2")};f.prototype.validateEscapes=function(a,c){var d,f,g,h,q;null==c&&(c={});if(f=m.exec(a))if(f[0],a=f[1],g=f[2],d=f[3],q=f[4],!c.isRegex||!g||"0"===g.charAt(0))return d="\\"+(g||d||q),this.error((g?"octal escape sequences are not allowed":"invalid escape sequence")+" "+d,{offset:(null!=(h=c.offsetInChunk)?h:0)+f.index+a.length,length:d.length})};f.prototype.makeDelimitedLiteral=
function(a,c){null==c&&(c={});""===a&&"/"===c.delimiter&&(a="(?:)");a=a.replace(RegExp("(\\\\\\\\)|(\\\\0(?\x3d[1-7]))|\\\\?("+c.delimiter+")|\\\\?(?:(\\n)|(\\r)|(\\u2028)|(\\u2029))|(\\\\.)","g"),function(a,d,f,g,h,m,q,r,k){switch(!1){case !d:return c.double?d+d:d;case !f:return"\\x00";case !g:return"\\"+g;case !h:return"\\n";case !m:return"\\r";case !q:return"\\u2028";case !r:return"\\u2029";case !k:return c.double?"\\"+k:k}});return""+c.delimiter+a+c.delimiter};f.prototype.error=function(a,c){var d,
f,g,h,m;null==c&&(c={});c="first_line"in c?c:(h=this.getLineAndColumnFromChunk(null!=(g=c.offset)?g:0),f=h[0],d=h[1],h,{first_line:f,first_column:d,last_column:d+(null!=(m=c.length)?m:1)-1});return ha(a,c)};return f}();fa=function(a,c){null==c&&(c=a);switch(!1){case 0>ca.call(oa.call(q).concat(oa.call(Ca)),a):return"keyword '"+c+"' can't be assigned";case 0>ca.call(Y,a):return"'"+c+"' can't be assigned";case 0>ca.call(W,a):return"reserved word '"+c+"' can't be assigned";default:return!1}};f.isUnassignable=
fa;q="true false null this new delete typeof in instanceof return throw break continue debugger yield if else switch for while do try catch finally class extends super import export default".split(" ");Ca="undefined Infinity NaN then unless until loop of by when".split(" ");c={and:"\x26\x26",or:"||",is:"\x3d\x3d",isnt:"!\x3d",not:"!",yes:"true",no:"false",on:"true",off:"false"};a=function(){var a;a=[];for(ka in c)a.push(ka);return a}();Ca=Ca.concat(a);W="case function var void with const let enum native implements interface package private protected public static".split(" ");
Y=["arguments","eval"];f.JS_FORBIDDEN=q.concat(W).concat(Y);ta=65279;I=/^(?!\d)((?:(?!\s)[$\w\x7f-\uffff])+)([^\n\S]*:(?!:))?/;T=/^0b[01]+|^0o[0-7]+|^0x[\da-f]+|^\d*\.?\d+(?:e[+-]?\d+)?/i;S=/^(?:[-=]>|[-+*\/%<>&|^!?=]=|>>>=?|([-+:])\1|([&|<>*\/%])\2=?|\?(\.|::)|\.{2,3})/;ba=/^[^\n\S]+/;d=/^###([^#][\s\S]*?)(?:###[^\n\S]*|###$)|^(?:\s*#(?!##[^#]).*)+/;D=/^[-=]>/;H=/^(?:\n[^\n\S]*)+/;r=/^`(?!``)((?:[^`\\]|\\[\s\S])*)`/;L=/^```((?:[^`\\]|\\[\s\S]|`(?!``))*)```/;aa=/^(?:'''|"""|'|")/;J=/^(?:[^\\']|\\[\s\S])*/;
V=/^(?:[^\\"#]|\\[\s\S]|\#(?!\{))*/;z=/^(?:[^\\']|\\[\s\S]|'(?!''))*/;F=/^(?:[^\\"#]|\\[\s\S]|"(?!"")|\#(?!\{))*/;U=/((?:\\\\)+)|\\[^\S\n]*\n\s*/g;X=/\s*\n\s*/g;w=/\n+([^\n\S]*)(?=\S)/g;Z=/^\/(?!\/)((?:[^[\/\n\\]|\\[^\n]|\[(?:\\[^\n]|[^\]\n\\])*\])*)(\/)?/;R=/^\w*/;ia=/^(?!.*(.).*\1)[imgy]*$/;n=/^(?:[^\\\/#]|\\[\s\S]|\/(?!\/\/)|\#(?!\{))*/;G=/((?:\\\\)+)|\\(\s)|\s+(?:#.*)?/g;C=/^(\/|\/{3}\s*)(\*)/;P=/^\/=?\s/;u=/\*\//;K=/^\s*(?:,|\??\.(?![.\d])|::)/;m=/((?:^|[^\\])(?:\\\\)*)\\(?:(0[0-7]|[1-7])|(x(?![\da-fA-F]{2}).{0,2})|(u(?![\da-fA-F]{4}).{0,4}))/;
k=/^[^\n\S]*\n/;Q=/\n[^\n\S]*$/;pa=/\s+$/;l="-\x3d +\x3d /\x3d *\x3d %\x3d ||\x3d \x26\x26\x3d ?\x3d \x3c\x3c\x3d \x3e\x3e\x3d \x3e\x3e\x3e\x3d \x26\x3d ^\x3d |\x3d **\x3d //\x3d %%\x3d".split(" ");ya=["NEW","TYPEOF","DELETE","DO"];Xa=["!","~"];N=["\x3c\x3c","\x3e\x3e","\x3e\x3e\x3e"];v="\x3d\x3d !\x3d \x3c \x3e \x3c\x3d \x3e\x3d".split(" ");O=["*","/","%","//","%%"];A=["IN","OF","INSTANCEOF"];xa="IDENTIFIER PROPERTY ) ] ? @ THIS SUPER".split(" ");E=xa.concat("NUMBER INFINITY NAN STRING STRING_END REGEX REGEX_END BOOL NULL UNDEFINED } ::".split(" "));
y=E.concat(["++","--"]);h=["INDENT","OUTDENT","TERMINATOR"];x=[")","}","]"]}).call(this);return f}();t["./parser"]=function(){var f={},ta={exports:f},xa=function(){function f(){this.yy={}}var a=function(a,p,ra,b){ra=ra||{};for(b=a.length;b--;ra[a[b]]=p);return ra},c=[1,22],t=[1,25],d=[1,83],v=[1,79],l=[1,84],u=[1,85],F=[1,81],w=[1,82],z=[1,56],n=[1,58],G=[1,59],L=[1,60],I=[1,61],x=[1,62],E=[1,49],m=[1,50],g=[1,32],r=[1,68],q=[1,69],k=[1,78],h=[1,47],K=[1,51],O=[1,52],H=[1,67],y=[1,65],T=[1,66],S=
[1,64],P=[1,42],Z=[1,48],R=[1,63],C=[1,73],A=[1,74],W=[1,75],B=[1,76],N=[1,46],X=[1,72],Y=[1,34],V=[1,35],U=[1,36],J=[1,37],aa=[1,38],Q=[1,39],xa=[1,86],ta=[1,6,32,42,131],pa=[1,101],ia=[1,89],ba=[1,88],da=[1,87],ga=[1,90],fa=[1,91],ka=[1,92],ja=[1,93],M=[1,94],ha=[1,95],ca=[1,96],oa=[1,97],na=[1,98],qa=[1,99],la=[1,100],ya=[1,104],sa=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],Ja=[2,162],Ta=[1,110],Ga=[1,111],Ua=[1,
112],Fa=[1,113],Pa=[1,115],Qa=[1,116],Na=[1,109],za=[1,6,32,42,131,133,135,139,156],ma=[2,27],ea=[1,123],Ha=[1,121],Aa=[1,6,31,32,40,41,42,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],Ia=[2,94],b=[1,6,31,32,42,46,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],p=[2,73],ra=[1,128],ua=[1,133],e=[1,134],va=[1,136],Ka=[1,
6,31,32,40,41,42,55,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],wa=[2,91],Eb=[1,6,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],$a=[2,63],Fb=[1,166],ab=[1,178],Wa=[1,180],Gb=[1,175],Oa=[1,182],sb=[1,184],La=[1,6,31,32,40,41,42,55,65,70,73,82,83,84,85,87,89,90,94,96,113,114,115,120,122,131,133,134,135,139,140,156,159,160,161,162,163,164,
165,166,167,168,169,170,171,172,173,174,175],Hb=[2,110],Ib=[1,6,31,32,40,41,42,58,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],Jb=[1,6,31,32,40,41,42,46,58,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],Kb=[40,41,114],Lb=[1,241],tb=[1,240],Ma=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156],Ea=[2,
71],Mb=[1,250],Va=[6,31,32,65,70],fb=[6,31,32,55,65,70,73],bb=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,159,160,164,166,167,168,169,170,171,172,173,174],Nb=[40,41,82,83,84,85,87,90,113,114],gb=[1,269],cb=[2,62],hb=[1,279],ub=[1,285],Ob=[2,183],vb=[1,6,31,32,40,41,42,55,65,70,73,82,83,84,85,87,89,90,94,113,114,115,120,122,131,133,134,135,139,140,146,147,148,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],ib=[1,295],Ra=[6,31,32,70,115,120],Pb=[1,6,31,32,40,41,
42,55,58,65,70,73,82,83,84,85,87,89,90,94,96,113,114,115,120,122,131,133,134,135,139,140,146,147,148,156,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175],Qb=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,140,156],Ya=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,134,140,156],jb=[146,147,148],kb=[70,146,147,148],lb=[6,31,94],Rb=[1,309],Ba=[6,31,32,70,94],Sb=[6,31,32,58,70,94],wb=[6,31,32,55,58,70,94],Tb=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,159,160,166,
167,168,169,170,171,172,173,174],Ub=[12,28,34,38,40,41,44,45,48,49,50,51,52,53,61,62,63,67,68,89,92,95,97,104,112,117,118,119,125,129,130,133,135,137,139,149,155,157,158,159,160,161,162],Vb=[2,172],Sa=[6,31,32],db=[2,72],Wb=[1,321],Xb=[1,322],Yb=[1,6,31,32,42,65,70,73,89,94,115,120,122,127,128,131,133,134,135,139,140,151,153,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],mb=[32,151,153],Zb=[1,6,32,42,65,70,73,89,94,115,120,122,131,134,140,156],nb=[1,348],xb=[1,353],yb=[1,6,32,42,131,
156],eb=[2,86],ob=[1,363],pb=[1,364],$b=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,151,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],zb=[1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,135,139,140,156],ac=[1,377],bc=[1,378],Ab=[6,31,32,94],cc=[6,31,32,70],Bb=[1,6,31,32,42,65,70,73,89,94,115,120,122,127,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],dc=[31,70],qb=[1,404],rb=[1,405],Cb=[1,410],Db=[1,411],ec={trace:function(){},
yy:{},symbols_:{error:2,Root:3,Body:4,Line:5,TERMINATOR:6,Expression:7,Statement:8,YieldReturn:9,Return:10,Comment:11,STATEMENT:12,Import:13,Export:14,Value:15,Invocation:16,Code:17,Operation:18,Assign:19,If:20,Try:21,While:22,For:23,Switch:24,Class:25,Throw:26,Yield:27,YIELD:28,FROM:29,Block:30,INDENT:31,OUTDENT:32,Identifier:33,IDENTIFIER:34,Property:35,PROPERTY:36,AlphaNumeric:37,NUMBER:38,String:39,STRING:40,STRING_START:41,STRING_END:42,Regex:43,REGEX:44,REGEX_START:45,REGEX_END:46,Literal:47,
JS:48,UNDEFINED:49,NULL:50,BOOL:51,INFINITY:52,NAN:53,Assignable:54,"\x3d":55,AssignObj:56,ObjAssignable:57,":":58,SimpleObjAssignable:59,ThisProperty:60,RETURN:61,HERECOMMENT:62,PARAM_START:63,ParamList:64,PARAM_END:65,FuncGlyph:66,"-\x3e":67,"\x3d\x3e":68,OptComma:69,",":70,Param:71,ParamVar:72,"...":73,Array:74,Object:75,Splat:76,SimpleAssignable:77,Accessor:78,Parenthetical:79,Range:80,This:81,".":82,"?.":83,"::":84,"?::":85,Index:86,INDEX_START:87,IndexValue:88,INDEX_END:89,INDEX_SOAK:90,Slice:91,
"{":92,AssignList:93,"}":94,CLASS:95,EXTENDS:96,IMPORT:97,ImportDefaultSpecifier:98,ImportNamespaceSpecifier:99,ImportSpecifierList:100,ImportSpecifier:101,AS:102,IMPORT_ALL:103,EXPORT:104,ExportSpecifierList:105,DEFAULT:106,EXPORT_ALL:107,ExportSpecifier:108,OptFuncExist:109,Arguments:110,Super:111,SUPER:112,FUNC_EXIST:113,CALL_START:114,CALL_END:115,ArgList:116,THIS:117,"@":118,"[":119,"]":120,RangeDots:121,"..":122,Arg:123,SimpleArgs:124,TRY:125,Catch:126,FINALLY:127,CATCH:128,THROW:129,"(":130,
")":131,WhileSource:132,WHILE:133,WHEN:134,UNTIL:135,Loop:136,LOOP:137,ForBody:138,FOR:139,BY:140,ForStart:141,ForSource:142,ForVariables:143,OWN:144,ForValue:145,FORIN:146,FOROF:147,FORFROM:148,SWITCH:149,Whens:150,ELSE:151,When:152,LEADING_WHEN:153,IfBlock:154,IF:155,POST_IF:156,UNARY:157,UNARY_MATH:158,"-":159,"+":160,"--":161,"++":162,"?":163,MATH:164,"**":165,SHIFT:166,COMPARE:167,"\x26":168,"^":169,"|":170,"\x26\x26":171,"||":172,"BIN?":173,RELATION:174,COMPOUND_ASSIGN:175,$accept:0,$end:1},
terminals_:{2:"error",6:"TERMINATOR",12:"STATEMENT",28:"YIELD",29:"FROM",31:"INDENT",32:"OUTDENT",34:"IDENTIFIER",36:"PROPERTY",38:"NUMBER",40:"STRING",41:"STRING_START",42:"STRING_END",44:"REGEX",45:"REGEX_START",46:"REGEX_END",48:"JS",49:"UNDEFINED",50:"NULL",51:"BOOL",52:"INFINITY",53:"NAN",55:"\x3d",58:":",61:"RETURN",62:"HERECOMMENT",63:"PARAM_START",65:"PARAM_END",67:"-\x3e",68:"\x3d\x3e",70:",",73:"...",82:".",83:"?.",84:"::",85:"?::",87:"INDEX_START",89:"INDEX_END",90:"INDEX_SOAK",92:"{",
94:"}",95:"CLASS",96:"EXTENDS",97:"IMPORT",102:"AS",103:"IMPORT_ALL",104:"EXPORT",106:"DEFAULT",107:"EXPORT_ALL",112:"SUPER",113:"FUNC_EXIST",114:"CALL_START",115:"CALL_END",117:"THIS",118:"@",119:"[",120:"]",122:"..",125:"TRY",127:"FINALLY",128:"CATCH",129:"THROW",130:"(",131:")",133:"WHILE",134:"WHEN",135:"UNTIL",137:"LOOP",139:"FOR",140:"BY",144:"OWN",146:"FORIN",147:"FOROF",148:"FORFROM",149:"SWITCH",151:"ELSE",153:"LEADING_WHEN",155:"IF",156:"POST_IF",157:"UNARY",158:"UNARY_MATH",159:"-",160:"+",
161:"--",162:"++",163:"?",164:"MATH",165:"**",166:"SHIFT",167:"COMPARE",168:"\x26",169:"^",170:"|",171:"\x26\x26",172:"||",173:"BIN?",174:"RELATION",175:"COMPOUND_ASSIGN"},productions_:[0,[3,0],[3,1],[4,1],[4,3],[4,2],[5,1],[5,1],[5,1],[8,1],[8,1],[8,1],[8,1],[8,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[27,1],[27,2],[27,3],[30,2],[30,3],[33,1],[35,1],[37,1],[37,1],[39,1],[39,3],[43,1],[43,3],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[47,1],[19,3],[19,
4],[19,5],[56,1],[56,3],[56,5],[56,3],[56,5],[56,1],[59,1],[59,1],[59,1],[57,1],[57,1],[10,2],[10,1],[9,3],[9,2],[11,1],[17,5],[17,2],[66,1],[66,1],[69,0],[69,1],[64,0],[64,1],[64,3],[64,4],[64,6],[71,1],[71,2],[71,3],[71,1],[72,1],[72,1],[72,1],[72,1],[76,2],[77,1],[77,2],[77,2],[77,1],[54,1],[54,1],[54,1],[15,1],[15,1],[15,1],[15,1],[15,1],[78,2],[78,2],[78,2],[78,2],[78,1],[78,1],[86,3],[86,2],[88,1],[88,1],[75,4],[93,0],[93,1],[93,3],[93,4],[93,6],[25,1],[25,2],[25,3],[25,4],[25,2],[25,3],[25,
4],[25,5],[13,2],[13,4],[13,4],[13,5],[13,7],[13,6],[13,9],[100,1],[100,3],[100,4],[100,4],[100,6],[101,1],[101,3],[98,1],[99,3],[14,3],[14,5],[14,2],[14,4],[14,5],[14,6],[14,3],[14,4],[14,7],[105,1],[105,3],[105,4],[105,4],[105,6],[108,1],[108,3],[108,3],[16,3],[16,3],[16,3],[16,1],[111,1],[111,2],[109,0],[109,1],[110,2],[110,4],[81,1],[81,1],[60,2],[74,2],[74,4],[121,1],[121,1],[80,5],[91,3],[91,2],[91,2],[91,1],[116,1],[116,3],[116,4],[116,4],[116,6],[123,1],[123,1],[123,1],[124,1],[124,3],[21,
2],[21,3],[21,4],[21,5],[126,3],[126,3],[126,2],[26,2],[79,3],[79,5],[132,2],[132,4],[132,2],[132,4],[22,2],[22,2],[22,2],[22,1],[136,2],[136,2],[23,2],[23,2],[23,2],[138,2],[138,4],[138,2],[141,2],[141,3],[145,1],[145,1],[145,1],[145,1],[143,1],[143,3],[142,2],[142,2],[142,4],[142,4],[142,4],[142,6],[142,6],[142,2],[142,4],[24,5],[24,7],[24,4],[24,6],[150,1],[150,2],[152,3],[152,4],[154,3],[154,5],[20,1],[20,3],[20,3],[20,3],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,2],[18,3],[18,
3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,3],[18,5],[18,4],[18,3]],performAction:function(a,p,ra,b,ua,c,e){a=c.length-1;switch(ua){case 1:return this.$=b.addLocationDataFn(e[a],e[a])(new b.Block);case 2:return this.$=c[a];case 3:this.$=b.addLocationDataFn(e[a],e[a])(b.Block.wrap([c[a]]));break;case 4:this.$=b.addLocationDataFn(e[a-2],e[a])(c[a-2].push(c[a]));break;case 5:this.$=c[a-1];break;case 6:case 7:case 8:case 9:case 10:case 12:case 13:case 14:case 15:case 16:case 17:case 18:case 19:case 20:case 21:case 22:case 23:case 24:case 25:case 26:case 35:case 40:case 42:case 56:case 57:case 58:case 59:case 60:case 61:case 71:case 72:case 82:case 83:case 84:case 85:case 90:case 91:case 94:case 98:case 104:case 159:case 183:case 184:case 186:case 216:case 217:case 235:case 241:this.$=
c[a];break;case 11:this.$=b.addLocationDataFn(e[a],e[a])(new b.StatementLiteral(c[a]));break;case 27:this.$=b.addLocationDataFn(e[a],e[a])(new b.Op(c[a],new b.Value(new b.Literal(""))));break;case 28:case 245:case 246:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Op(c[a-1],c[a]));break;case 29:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Op(c[a-2].concat(c[a-1]),c[a]));break;case 30:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Block);break;case 31:case 105:this.$=b.addLocationDataFn(e[a-2],e[a])(c[a-
1]);break;case 32:this.$=b.addLocationDataFn(e[a],e[a])(new b.IdentifierLiteral(c[a]));break;case 33:this.$=b.addLocationDataFn(e[a],e[a])(new b.PropertyName(c[a]));break;case 34:this.$=b.addLocationDataFn(e[a],e[a])(new b.NumberLiteral(c[a]));break;case 36:this.$=b.addLocationDataFn(e[a],e[a])(new b.StringLiteral(c[a]));break;case 37:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.StringWithInterpolations(c[a-1]));break;case 38:this.$=b.addLocationDataFn(e[a],e[a])(new b.RegexLiteral(c[a]));break;
case 39:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.RegexWithInterpolations(c[a-1].args));break;case 41:this.$=b.addLocationDataFn(e[a],e[a])(new b.PassthroughLiteral(c[a]));break;case 43:this.$=b.addLocationDataFn(e[a],e[a])(new b.UndefinedLiteral);break;case 44:this.$=b.addLocationDataFn(e[a],e[a])(new b.NullLiteral);break;case 45:this.$=b.addLocationDataFn(e[a],e[a])(new b.BooleanLiteral(c[a]));break;case 46:this.$=b.addLocationDataFn(e[a],e[a])(new b.InfinityLiteral(c[a]));break;case 47:this.$=
b.addLocationDataFn(e[a],e[a])(new b.NaNLiteral);break;case 48:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Assign(c[a-2],c[a]));break;case 49:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.Assign(c[a-3],c[a]));break;case 50:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Assign(c[a-4],c[a-1]));break;case 51:case 87:case 92:case 93:case 95:case 96:case 97:case 218:case 219:this.$=b.addLocationDataFn(e[a],e[a])(new b.Value(c[a]));break;case 52:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Assign(b.addLocationDataFn(e[a-
2])(new b.Value(c[a-2])),c[a],"object",{operatorToken:b.addLocationDataFn(e[a-1])(new b.Literal(c[a-1]))}));break;case 53:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Assign(b.addLocationDataFn(e[a-4])(new b.Value(c[a-4])),c[a-1],"object",{operatorToken:b.addLocationDataFn(e[a-3])(new b.Literal(c[a-3]))}));break;case 54:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Assign(b.addLocationDataFn(e[a-2])(new b.Value(c[a-2])),c[a],null,{operatorToken:b.addLocationDataFn(e[a-1])(new b.Literal(c[a-1]))}));
break;case 55:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Assign(b.addLocationDataFn(e[a-4])(new b.Value(c[a-4])),c[a-1],null,{operatorToken:b.addLocationDataFn(e[a-3])(new b.Literal(c[a-3]))}));break;case 62:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Return(c[a]));break;case 63:this.$=b.addLocationDataFn(e[a],e[a])(new b.Return);break;case 64:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.YieldReturn(c[a]));break;case 65:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.YieldReturn);break;case 66:this.$=
b.addLocationDataFn(e[a],e[a])(new b.Comment(c[a]));break;case 67:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Code(c[a-3],c[a],c[a-1]));break;case 68:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Code([],c[a],c[a-1]));break;case 69:this.$=b.addLocationDataFn(e[a],e[a])("func");break;case 70:this.$=b.addLocationDataFn(e[a],e[a])("boundfunc");break;case 73:case 110:this.$=b.addLocationDataFn(e[a],e[a])([]);break;case 74:case 111:case 130:case 148:case 178:case 220:this.$=b.addLocationDataFn(e[a],
e[a])([c[a]]);break;case 75:case 112:case 131:case 149:case 179:this.$=b.addLocationDataFn(e[a-2],e[a])(c[a-2].concat(c[a]));break;case 76:case 113:case 132:case 150:case 180:this.$=b.addLocationDataFn(e[a-3],e[a])(c[a-3].concat(c[a]));break;case 77:case 114:case 134:case 152:case 182:this.$=b.addLocationDataFn(e[a-5],e[a])(c[a-5].concat(c[a-2]));break;case 78:this.$=b.addLocationDataFn(e[a],e[a])(new b.Param(c[a]));break;case 79:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Param(c[a-1],null,!0));
break;case 80:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Param(c[a-2],c[a]));break;case 81:case 185:this.$=b.addLocationDataFn(e[a],e[a])(new b.Expansion);break;case 86:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Splat(c[a-1]));break;case 88:this.$=b.addLocationDataFn(e[a-1],e[a])(c[a-1].add(c[a]));break;case 89:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Value(c[a-1],[].concat(c[a])));break;case 99:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Access(c[a]));break;case 100:this.$=b.addLocationDataFn(e[a-
1],e[a])(new b.Access(c[a],"soak"));break;case 101:this.$=b.addLocationDataFn(e[a-1],e[a])([b.addLocationDataFn(e[a-1])(new b.Access(new b.PropertyName("prototype"))),b.addLocationDataFn(e[a])(new b.Access(c[a]))]);break;case 102:this.$=b.addLocationDataFn(e[a-1],e[a])([b.addLocationDataFn(e[a-1])(new b.Access(new b.PropertyName("prototype"),"soak")),b.addLocationDataFn(e[a])(new b.Access(c[a]))]);break;case 103:this.$=b.addLocationDataFn(e[a],e[a])(new b.Access(new b.PropertyName("prototype")));
break;case 106:this.$=b.addLocationDataFn(e[a-1],e[a])(b.extend(c[a],{soak:!0}));break;case 107:this.$=b.addLocationDataFn(e[a],e[a])(new b.Index(c[a]));break;case 108:this.$=b.addLocationDataFn(e[a],e[a])(new b.Slice(c[a]));break;case 109:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.Obj(c[a-2],c[a-3].generated));break;case 115:this.$=b.addLocationDataFn(e[a],e[a])(new b.Class);break;case 116:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Class(null,null,c[a]));break;case 117:this.$=b.addLocationDataFn(e[a-
2],e[a])(new b.Class(null,c[a]));break;case 118:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.Class(null,c[a-1],c[a]));break;case 119:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Class(c[a]));break;case 120:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Class(c[a-1],null,c[a]));break;case 121:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.Class(c[a-2],c[a]));break;case 122:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Class(c[a-3],c[a-1],c[a]));break;case 123:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.ImportDeclaration(null,
c[a]));break;case 124:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.ImportDeclaration(new b.ImportClause(c[a-2],null),c[a]));break;case 125:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.ImportDeclaration(new b.ImportClause(null,c[a-2]),c[a]));break;case 126:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.ImportDeclaration(new b.ImportClause(null,new b.ImportSpecifierList([])),c[a]));break;case 127:this.$=b.addLocationDataFn(e[a-6],e[a])(new b.ImportDeclaration(new b.ImportClause(null,new b.ImportSpecifierList(c[a-
4])),c[a]));break;case 128:this.$=b.addLocationDataFn(e[a-5],e[a])(new b.ImportDeclaration(new b.ImportClause(c[a-4],c[a-2]),c[a]));break;case 129:this.$=b.addLocationDataFn(e[a-8],e[a])(new b.ImportDeclaration(new b.ImportClause(c[a-7],new b.ImportSpecifierList(c[a-4])),c[a]));break;case 133:case 151:case 165:case 181:this.$=b.addLocationDataFn(e[a-3],e[a])(c[a-2]);break;case 135:this.$=b.addLocationDataFn(e[a],e[a])(new b.ImportSpecifier(c[a]));break;case 136:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.ImportSpecifier(c[a-
2],c[a]));break;case 137:this.$=b.addLocationDataFn(e[a],e[a])(new b.ImportDefaultSpecifier(c[a]));break;case 138:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.ImportNamespaceSpecifier(new b.Literal(c[a-2]),c[a]));break;case 139:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.ExportNamedDeclaration(new b.ExportSpecifierList([])));break;case 140:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.ExportNamedDeclaration(new b.ExportSpecifierList(c[a-2])));break;case 141:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.ExportNamedDeclaration(c[a]));
break;case 142:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.ExportNamedDeclaration(new b.Assign(c[a-2],c[a],null,{moduleDeclaration:"export"})));break;case 143:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.ExportNamedDeclaration(new b.Assign(c[a-3],c[a],null,{moduleDeclaration:"export"})));break;case 144:this.$=b.addLocationDataFn(e[a-5],e[a])(new b.ExportNamedDeclaration(new b.Assign(c[a-4],c[a-1],null,{moduleDeclaration:"export"})));break;case 145:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.ExportDefaultDeclaration(c[a]));
break;case 146:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.ExportAllDeclaration(new b.Literal(c[a-2]),c[a]));break;case 147:this.$=b.addLocationDataFn(e[a-6],e[a])(new b.ExportNamedDeclaration(new b.ExportSpecifierList(c[a-4]),c[a]));break;case 153:this.$=b.addLocationDataFn(e[a],e[a])(new b.ExportSpecifier(c[a]));break;case 154:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.ExportSpecifier(c[a-2],c[a]));break;case 155:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.ExportSpecifier(c[a-2],new b.Literal(c[a])));
break;case 156:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.TaggedTemplateCall(c[a-2],c[a],c[a-1]));break;case 157:case 158:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Call(c[a-2],c[a],c[a-1]));break;case 160:this.$=b.addLocationDataFn(e[a],e[a])(new b.SuperCall);break;case 161:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.SuperCall(c[a]));break;case 162:this.$=b.addLocationDataFn(e[a],e[a])(!1);break;case 163:this.$=b.addLocationDataFn(e[a],e[a])(!0);break;case 164:this.$=b.addLocationDataFn(e[a-
1],e[a])([]);break;case 166:case 167:this.$=b.addLocationDataFn(e[a],e[a])(new b.Value(new b.ThisLiteral));break;case 168:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Value(b.addLocationDataFn(e[a-1])(new b.ThisLiteral),[b.addLocationDataFn(e[a])(new b.Access(c[a]))],"this"));break;case 169:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Arr([]));break;case 170:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.Arr(c[a-2]));break;case 171:this.$=b.addLocationDataFn(e[a],e[a])("inclusive");break;case 172:this.$=
b.addLocationDataFn(e[a],e[a])("exclusive");break;case 173:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Range(c[a-3],c[a-1],c[a-2]));break;case 174:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Range(c[a-2],c[a],c[a-1]));break;case 175:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Range(c[a-1],null,c[a]));break;case 176:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Range(null,c[a],c[a-1]));break;case 177:this.$=b.addLocationDataFn(e[a],e[a])(new b.Range(null,null,c[a]));break;case 187:this.$=b.addLocationDataFn(e[a-
2],e[a])([].concat(c[a-2],c[a]));break;case 188:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Try(c[a]));break;case 189:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Try(c[a-1],c[a][0],c[a][1]));break;case 190:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.Try(c[a-2],null,null,c[a]));break;case 191:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Try(c[a-3],c[a-2][0],c[a-2][1],c[a]));break;case 192:this.$=b.addLocationDataFn(e[a-2],e[a])([c[a-1],c[a]]);break;case 193:this.$=b.addLocationDataFn(e[a-2],
e[a])([b.addLocationDataFn(e[a-1])(new b.Value(c[a-1])),c[a]]);break;case 194:this.$=b.addLocationDataFn(e[a-1],e[a])([null,c[a]]);break;case 195:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Throw(c[a]));break;case 196:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Parens(c[a-1]));break;case 197:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Parens(c[a-2]));break;case 198:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.While(c[a]));break;case 199:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.While(c[a-
2],{guard:c[a]}));break;case 200:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.While(c[a],{invert:!0}));break;case 201:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.While(c[a-2],{invert:!0,guard:c[a]}));break;case 202:this.$=b.addLocationDataFn(e[a-1],e[a])(c[a-1].addBody(c[a]));break;case 203:case 204:this.$=b.addLocationDataFn(e[a-1],e[a])(c[a].addBody(b.addLocationDataFn(e[a-1])(b.Block.wrap([c[a-1]]))));break;case 205:this.$=b.addLocationDataFn(e[a],e[a])(c[a]);break;case 206:this.$=b.addLocationDataFn(e[a-
1],e[a])((new b.While(b.addLocationDataFn(e[a-1])(new b.BooleanLiteral("true")))).addBody(c[a]));break;case 207:this.$=b.addLocationDataFn(e[a-1],e[a])((new b.While(b.addLocationDataFn(e[a-1])(new b.BooleanLiteral("true")))).addBody(b.addLocationDataFn(e[a])(b.Block.wrap([c[a]]))));break;case 208:case 209:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.For(c[a-1],c[a]));break;case 210:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.For(c[a],c[a-1]));break;case 211:this.$=b.addLocationDataFn(e[a-1],e[a])({source:b.addLocationDataFn(e[a])(new b.Value(c[a]))});
break;case 212:this.$=b.addLocationDataFn(e[a-3],e[a])({source:b.addLocationDataFn(e[a-2])(new b.Value(c[a-2])),step:c[a]});break;case 213:b=b.addLocationDataFn(e[a-1],e[a]);c[a].own=c[a-1].own;c[a].ownTag=c[a-1].ownTag;c[a].name=c[a-1][0];c[a].index=c[a-1][1];this.$=b(c[a]);break;case 214:this.$=b.addLocationDataFn(e[a-1],e[a])(c[a]);break;case 215:ua=b.addLocationDataFn(e[a-2],e[a]);c[a].own=!0;c[a].ownTag=b.addLocationDataFn(e[a-1])(new b.Literal(c[a-1]));this.$=ua(c[a]);break;case 221:this.$=
b.addLocationDataFn(e[a-2],e[a])([c[a-2],c[a]]);break;case 222:this.$=b.addLocationDataFn(e[a-1],e[a])({source:c[a]});break;case 223:this.$=b.addLocationDataFn(e[a-1],e[a])({source:c[a],object:!0});break;case 224:this.$=b.addLocationDataFn(e[a-3],e[a])({source:c[a-2],guard:c[a]});break;case 225:this.$=b.addLocationDataFn(e[a-3],e[a])({source:c[a-2],guard:c[a],object:!0});break;case 226:this.$=b.addLocationDataFn(e[a-3],e[a])({source:c[a-2],step:c[a]});break;case 227:this.$=b.addLocationDataFn(e[a-
5],e[a])({source:c[a-4],guard:c[a-2],step:c[a]});break;case 228:this.$=b.addLocationDataFn(e[a-5],e[a])({source:c[a-4],step:c[a-2],guard:c[a]});break;case 229:this.$=b.addLocationDataFn(e[a-1],e[a])({source:c[a],from:!0});break;case 230:this.$=b.addLocationDataFn(e[a-3],e[a])({source:c[a-2],guard:c[a],from:!0});break;case 231:this.$=b.addLocationDataFn(e[a-4],e[a])(new b.Switch(c[a-3],c[a-1]));break;case 232:this.$=b.addLocationDataFn(e[a-6],e[a])(new b.Switch(c[a-5],c[a-3],c[a-1]));break;case 233:this.$=
b.addLocationDataFn(e[a-3],e[a])(new b.Switch(null,c[a-1]));break;case 234:this.$=b.addLocationDataFn(e[a-5],e[a])(new b.Switch(null,c[a-3],c[a-1]));break;case 236:this.$=b.addLocationDataFn(e[a-1],e[a])(c[a-1].concat(c[a]));break;case 237:this.$=b.addLocationDataFn(e[a-2],e[a])([[c[a-1],c[a]]]);break;case 238:this.$=b.addLocationDataFn(e[a-3],e[a])([[c[a-2],c[a-1]]]);break;case 239:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.If(c[a-1],c[a],{type:c[a-2]}));break;case 240:this.$=b.addLocationDataFn(e[a-
4],e[a])(c[a-4].addElse(b.addLocationDataFn(e[a-2],e[a])(new b.If(c[a-1],c[a],{type:c[a-2]}))));break;case 242:this.$=b.addLocationDataFn(e[a-2],e[a])(c[a-2].addElse(c[a]));break;case 243:case 244:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.If(c[a],b.addLocationDataFn(e[a-2])(b.Block.wrap([c[a-2]])),{type:c[a-1],statement:!0}));break;case 247:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Op("-",c[a]));break;case 248:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Op("+",c[a]));break;case 249:this.$=
b.addLocationDataFn(e[a-1],e[a])(new b.Op("--",c[a]));break;case 250:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Op("++",c[a]));break;case 251:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Op("--",c[a-1],null,!0));break;case 252:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Op("++",c[a-1],null,!0));break;case 253:this.$=b.addLocationDataFn(e[a-1],e[a])(new b.Existence(c[a-1]));break;case 254:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Op("+",c[a-2],c[a]));break;case 255:this.$=b.addLocationDataFn(e[a-
2],e[a])(new b.Op("-",c[a-2],c[a]));break;case 256:case 257:case 258:case 259:case 260:case 261:case 262:case 263:case 264:case 265:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Op(c[a-1],c[a-2],c[a]));break;case 266:e=b.addLocationDataFn(e[a-2],e[a]);c="!"===c[a-1].charAt(0)?(new b.Op(c[a-1].slice(1),c[a-2],c[a])).invert():new b.Op(c[a-1],c[a-2],c[a]);this.$=e(c);break;case 267:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Assign(c[a-2],c[a],c[a-1]));break;case 268:this.$=b.addLocationDataFn(e[a-
4],e[a])(new b.Assign(c[a-4],c[a-1],c[a-3]));break;case 269:this.$=b.addLocationDataFn(e[a-3],e[a])(new b.Assign(c[a-3],c[a],c[a-2]));break;case 270:this.$=b.addLocationDataFn(e[a-2],e[a])(new b.Extends(c[a-2],c[a]))}},table:[{1:[2,1],3:1,4:2,5:3,7:4,8:5,9:6,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:t,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,
74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{1:[3]},{1:[2,2],6:xa},a(ta,[2,3]),a(ta,[2,6],{141:77,132:102,138:103,133:C,135:A,139:B,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(ta,[2,7],{141:77,132:105,138:106,133:C,135:A,139:B,156:ya}),a(ta,[2,8]),a(sa,[2,14],{109:107,
78:108,86:114,40:Ja,41:Ja,114:Ja,82:Ta,83:Ga,84:Ua,85:Fa,87:Pa,90:Qa,113:Na}),a(sa,[2,15],{86:114,109:117,78:118,82:Ta,83:Ga,84:Ua,85:Fa,87:Pa,90:Qa,113:Na,114:Ja}),a(sa,[2,16]),a(sa,[2,17]),a(sa,[2,18]),a(sa,[2,19]),a(sa,[2,20]),a(sa,[2,21]),a(sa,[2,22]),a(sa,[2,23]),a(sa,[2,24]),a(sa,[2,25]),a(sa,[2,26]),a(za,[2,9]),a(za,[2,10]),a(za,[2,11]),a(za,[2,12]),a(za,[2,13]),a([1,6,32,42,131,133,135,139,156,163,164,165,166,167,168,169,170,171,172,173,174],ma,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,
23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,154:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,7:120,8:122,12:c,28:ea,29:Ha,34:d,38:v,40:l,41:u,44:F,45:w,48:z,49:n,50:G,51:L,52:I,53:x,61:[1,119],62:m,63:g,67:r,68:q,92:k,95:h,97:K,104:O,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,137:W,149:N,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q}),a(Aa,Ia,{55:[1,124]}),a(Aa,[2,95]),a(Aa,[2,96]),a(Aa,[2,97]),a(Aa,[2,98]),a(b,[2,
159]),a([6,31,65,70],p,{64:125,71:126,72:127,33:129,60:130,74:131,75:132,34:d,73:ra,92:k,118:ua,119:e}),{30:135,31:va},{7:137,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,
137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:138,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,
154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:139,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,
160:J,161:aa,162:Q},{7:140,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{15:142,16:143,
33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:144,60:71,74:53,75:54,77:141,79:28,80:29,81:30,92:k,111:31,112:H,117:y,118:T,119:S,130:R},{15:142,16:143,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:144,60:71,74:53,75:54,77:145,79:28,80:29,81:30,92:k,111:31,112:H,117:y,118:T,119:S,130:R},a(Ka,wa,{96:[1,149],161:[1,146],162:[1,147],175:[1,148]}),a(sa,[2,241],{151:[1,150]}),{30:151,31:va},{30:152,31:va},a(sa,
[2,205]),{30:153,31:va},{7:154,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:[1,155],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},
a(Eb,[2,115],{47:27,79:28,80:29,81:30,111:31,74:53,75:54,37:55,43:57,33:70,60:71,39:80,15:142,16:143,54:144,30:156,77:158,31:va,34:d,38:v,40:l,41:u,44:F,45:w,48:z,49:n,50:G,51:L,52:I,53:x,92:k,96:[1,157],112:H,117:y,118:T,119:S,130:R}),{7:159,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,
77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(za,$a,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,154:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,8:122,7:160,12:c,28:ea,34:d,38:v,40:l,41:u,44:F,45:w,48:z,49:n,50:G,
51:L,52:I,53:x,61:E,62:m,63:g,67:r,68:q,92:k,95:h,97:K,104:O,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,137:W,149:N,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q}),a([1,6,31,32,42,70,94,131,133,135,139,156],[2,66]),{33:165,34:d,39:161,40:l,41:u,92:[1,164],98:162,99:163,103:Fb},{25:168,33:169,34:d,92:[1,167],95:h,106:[1,170],107:[1,171]},a(Ka,[2,92]),a(Ka,[2,93]),a(Aa,[2,40]),a(Aa,[2,41]),a(Aa,[2,42]),a(Aa,[2,43]),a(Aa,[2,44]),a(Aa,[2,45]),a(Aa,[2,46]),a(Aa,[2,47]),{4:172,5:3,7:4,8:5,9:6,10:20,11:21,12:c,
13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:t,31:[1,173],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:174,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,
17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:ab,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,73:Wa,74:53,75:54,76:179,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,116:176,117:y,118:T,119:S,120:Gb,123:177,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Aa,[2,166]),a(Aa,[2,167],{35:181,36:Oa}),
a([1,6,31,32,42,46,65,70,73,82,83,84,85,87,89,90,94,113,115,120,122,131,133,134,135,139,140,156,159,160,163,164,165,166,167,168,169,170,171,172,173,174],[2,160],{110:183,114:sb}),{31:[2,69]},{31:[2,70]},a(La,[2,87]),a(La,[2,90]),{7:185,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,
79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:186,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,
104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:187,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,
119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:189,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,30:188,31:va,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,
130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{33:194,34:d,60:195,74:196,75:197,80:190,92:k,118:ua,119:S,143:191,144:[1,192],145:193},{142:198,146:[1,199],147:[1,200],148:[1,201]},a([6,31,70,94],Hb,{39:80,93:202,56:203,57:204,59:205,11:206,37:207,33:208,35:209,60:210,34:d,36:Oa,38:v,40:l,41:u,62:m,118:ua}),a(Ib,[2,34]),a(Ib,[2,35]),a(Aa,[2,38]),{15:142,16:211,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,
50:G,51:L,52:I,53:x,54:144,60:71,74:53,75:54,77:212,79:28,80:29,81:30,92:k,111:31,112:H,117:y,118:T,119:S,130:R},a([1,6,29,31,32,40,41,42,55,58,65,70,73,82,83,84,85,87,89,90,94,96,102,113,114,115,120,122,131,133,134,135,139,140,146,147,148,156,159,160,161,162,163,164,165,166,167,168,169,170,171,172,173,174,175],[2,32]),a(Jb,[2,36]),{4:213,5:3,7:4,8:5,9:6,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:t,33:70,34:d,37:55,38:v,39:80,40:l,41:u,
43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(ta,[2,5],{7:4,8:5,9:6,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,154:41,132:43,136:44,
138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,5:214,12:c,28:t,34:d,38:v,40:l,41:u,44:F,45:w,48:z,49:n,50:G,51:L,52:I,53:x,61:E,62:m,63:g,67:r,68:q,92:k,95:h,97:K,104:O,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,133:C,135:A,137:W,139:B,149:N,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q}),a(sa,[2,253]),{7:215,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,
50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:216,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,
61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:217,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,
74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:218,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,
81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:219,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,
112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:220,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,
129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:221,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,
136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:222,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,
149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:223,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,
159:U,160:J,161:aa,162:Q},{7:224,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:225,
8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:226,8:122,10:20,11:21,12:c,13:23,14:24,
15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:227,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,
21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:228,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,
26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(sa,[2,204]),a(sa,[2,209]),{7:229,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,
27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(sa,[2,203]),a(sa,[2,208]),{39:230,40:l,41:u,110:231,114:sb},a(La,[2,88]),a(Kb,[2,163]),{35:232,36:Oa},{35:233,36:Oa},a(La,[2,103],{35:234,36:Oa}),
{35:235,36:Oa},a(La,[2,104]),{7:237,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,73:Lb,74:53,75:54,77:40,79:28,80:29,81:30,88:236,91:238,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,121:239,122:tb,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,
158:V,159:U,160:J,161:aa,162:Q},{86:242,87:Pa,90:Qa},{110:243,114:sb},a(La,[2,89]),a(ta,[2,65],{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,154:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,8:122,7:244,12:c,28:ea,34:d,38:v,40:l,41:u,44:F,45:w,48:z,49:n,50:G,51:L,52:I,53:x,61:E,62:m,63:g,67:r,68:q,92:k,95:h,97:K,104:O,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,133:$a,135:$a,
139:$a,156:$a,137:W,149:N,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q}),a(Ma,[2,28],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{7:245,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,
95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{132:105,133:C,135:A,138:106,139:B,141:77,156:ya},a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,163,164,165,166,167,168,169,170,171,172,173,174],ma,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,154:41,
132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,7:120,8:122,12:c,28:ea,29:Ha,34:d,38:v,40:l,41:u,44:F,45:w,48:z,49:n,50:G,51:L,52:I,53:x,61:E,62:m,63:g,67:r,68:q,92:k,95:h,97:K,104:O,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,137:W,149:N,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q}),{6:[1,247],7:246,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:[1,248],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,
47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a([6,31],Ea,{69:251,65:[1,249],70:Mb}),a(Va,[2,74]),a(Va,[2,78],{55:[1,253],73:[1,252]}),a(Va,[2,81]),a(fb,[2,82]),a(fb,[2,83]),a(fb,[2,84]),a(fb,[2,85]),{35:181,36:Oa},{7:254,8:122,10:20,11:21,12:c,13:23,14:24,
15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:ab,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,73:Wa,74:53,75:54,76:179,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,116:176,117:y,118:T,119:S,120:Gb,123:177,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(sa,[2,68]),{4:256,5:3,7:4,8:5,
9:6,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:t,32:[1,255],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a([1,6,31,32,42,65,70,73,89,94,
115,120,122,131,133,134,135,139,140,156,159,160,164,165,166,167,168,169,170,171,172,173,174],[2,245],{141:77,132:102,138:103,163:da}),a(bb,[2,246],{141:77,132:102,138:103,163:da,165:fa}),a(bb,[2,247],{141:77,132:102,138:103,163:da,165:fa}),a(bb,[2,248],{141:77,132:102,138:103,163:da,165:fa}),a(sa,[2,249],{40:wa,41:wa,82:wa,83:wa,84:wa,85:wa,87:wa,90:wa,113:wa,114:wa}),a(Kb,Ja,{109:107,78:108,86:114,82:Ta,83:Ga,84:Ua,85:Fa,87:Pa,90:Qa,113:Na}),{78:118,82:Ta,83:Ga,84:Ua,85:Fa,86:114,87:Pa,90:Qa,109:117,
113:Na,114:Ja},a(Nb,Ia),a(sa,[2,250],{40:wa,41:wa,82:wa,83:wa,84:wa,85:wa,87:wa,90:wa,113:wa,114:wa}),a(sa,[2,251]),a(sa,[2,252]),{6:[1,259],7:257,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:[1,258],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,
129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:260,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,
136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{30:261,31:va,155:[1,262]},a(sa,[2,188],{126:263,127:[1,264],128:[1,265]}),a(sa,[2,202]),a(sa,[2,210]),{31:[1,266],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},{150:267,152:268,153:gb},a(sa,[2,116]),{7:270,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,
27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Eb,[2,119],{30:271,31:va,40:wa,41:wa,82:wa,83:wa,84:wa,85:wa,87:wa,90:wa,113:wa,114:wa,96:[1,272]}),a(Ma,[2,195],{141:77,132:102,138:103,159:ia,
160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(za,cb,{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(za,[2,123]),{29:[1,273],70:[1,274]},{29:[1,275]},{31:hb,33:280,34:d,94:[1,276],100:277,101:278},a([29,70],[2,137]),{102:[1,281]},{31:ub,33:286,34:d,94:[1,282],105:283,108:284},a(za,[2,141]),{55:[1,287]},{7:288,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,
21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{29:[1,289]},{6:xa,131:[1,290]},{4:291,5:3,7:4,8:5,9:6,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,
19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:t,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a([6,31,70,120],Ob,{141:77,132:102,138:103,121:292,73:[1,293],122:tb,133:C,135:A,139:B,156:pa,
159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(vb,[2,169]),a([6,31,120],Ea,{69:294,70:ib}),a(Ra,[2,178]),{7:254,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:ab,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,73:Wa,74:53,75:54,76:179,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,
116:296,117:y,118:T,119:S,123:177,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Ra,[2,184]),a(Ra,[2,185]),a(Pb,[2,168]),a(Pb,[2,33]),a(b,[2,161]),{7:254,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:ab,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,73:Wa,74:53,
75:54,76:179,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,115:[1,297],116:298,117:y,118:T,119:S,123:177,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{30:299,31:va,132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},a(Qb,[2,198],{141:77,132:102,138:103,133:C,134:[1,300],135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,
166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Qb,[2,200],{141:77,132:102,138:103,133:C,134:[1,301],135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(sa,[2,206]),a(Ya,[2,207],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,156,159,160,163,164,165,166,167,168,169,
170,171,172,173,174],[2,211],{140:[1,302]}),a(jb,[2,214]),{33:194,34:d,60:195,74:196,75:197,92:k,118:ua,119:e,143:303,145:193},a(jb,[2,220],{70:[1,304]}),a(kb,[2,216]),a(kb,[2,217]),a(kb,[2,218]),a(kb,[2,219]),a(sa,[2,213]),{7:305,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,
80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:306,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,
111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:307,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,
125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(lb,Ea,{69:308,70:Rb}),a(Ba,[2,111]),a(Ba,[2,51],{58:[1,310]}),a(Sb,[2,60],{55:[1,311]}),a(Ba,[2,56]),a(Sb,[2,61]),a(wb,[2,57]),a(wb,[2,58]),a(wb,[2,59]),{46:[1,312],78:118,82:Ta,83:Ga,84:Ua,85:Fa,86:114,87:Pa,90:Qa,109:117,113:Na,114:Ja},a(Nb,wa),{6:xa,42:[1,313]},a(ta,[2,4]),a(Tb,[2,254],{141:77,132:102,138:103,163:da,164:ga,165:fa}),a(Tb,[2,255],{141:77,132:102,138:103,
163:da,164:ga,165:fa}),a(bb,[2,256],{141:77,132:102,138:103,163:da,165:fa}),a(bb,[2,257],{141:77,132:102,138:103,163:da,165:fa}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,166,167,168,169,170,171,172,173,174],[2,258],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,167,168,169,170,171,172,173],[2,259],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,174:la}),a([1,6,31,32,
42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,168,169,170,171,172,173],[2,260],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,174:la}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,169,170,171,172,173],[2,261],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,174:la}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,170,171,172,173],[2,262],{141:77,132:102,138:103,159:ia,160:ba,163:da,
164:ga,165:fa,166:ka,167:ja,168:M,169:ha,174:la}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,171,172,173],[2,263],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,174:la}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,172,173],[2,264],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,174:la}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,
140,156,173],[2,265],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,174:la}),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,140,156,167,168,169,170,171,172,173,174],[2,266],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka}),a(Ya,[2,244],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ya,[2,243],{141:77,132:102,138:103,
133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(b,[2,156]),a(b,[2,157]),a(La,[2,99]),a(La,[2,100]),a(La,[2,101]),a(La,[2,102]),{89:[1,314]},{73:Lb,89:[2,107],121:315,122:tb,132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},{89:[2,108]},{7:316,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,
25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,89:[2,177],92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Ub,[2,171]),a(Ub,Vb),a(La,[2,106]),a(b,[2,158]),a(ta,[2,64],{141:77,132:102,138:103,133:cb,135:cb,139:cb,156:cb,159:ia,
160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ma,[2,29],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ma,[2,48],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{7:317,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,
38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:318,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,
45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{66:319,67:r,68:q},a(Sa,db,{72:127,33:129,60:130,74:131,75:132,71:320,34:d,73:ra,92:k,118:ua,119:e}),{6:Wb,31:Xb},a(Va,[2,79]),{7:323,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,
21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Ra,Ob,{141:77,132:102,138:103,73:[1,324],133:C,135:A,139:B,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,
167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Yb,[2,30]),{6:xa,32:[1,325]},a(Ma,[2,267],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{7:326,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,
80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:327,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,
111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Ma,[2,270],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(sa,[2,242]),{7:328,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,
50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(sa,[2,189],{127:[1,329]}),{30:330,31:va},{30:333,31:va,33:331,34:d,75:332,92:k},{150:334,152:268,153:gb},{32:[1,335],151:[1,336],152:337,153:gb},a(mb,[2,235]),{7:339,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,
19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,124:338,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Zb,[2,117],{141:77,132:102,138:103,30:340,31:va,133:C,135:A,139:B,159:ia,160:ba,163:da,
164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(sa,[2,120]),{7:341,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,
149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{39:342,40:l,41:u},{92:[1,344],99:343,103:Fb},{39:345,40:l,41:u},{29:[1,346]},a(lb,Ea,{69:347,70:nb}),a(Ba,[2,130]),{31:hb,33:280,34:d,100:349,101:278},a(Ba,[2,135],{102:[1,350]}),{33:351,34:d},a(za,[2,139]),a(lb,Ea,{69:352,70:xb}),a(Ba,[2,148]),{31:ub,33:286,34:d,105:354,108:284},a(Ba,[2,153],{102:[1,355]}),{6:[1,357],7:356,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:[1,
358],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(yb,[2,145],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),
{39:359,40:l,41:u},a(Aa,[2,196]),{6:xa,32:[1,360]},{7:361,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,
160:J,161:aa,162:Q},a([12,28,34,38,40,41,44,45,48,49,50,51,52,53,61,62,63,67,68,92,95,97,104,112,117,118,119,125,129,130,133,135,137,139,149,155,157,158,159,160,161,162],Vb,{6:eb,31:eb,70:eb,120:eb}),{6:ob,31:pb,120:[1,362]},a([6,31,32,115,120],db,{15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,10:20,11:21,13:23,14:24,54:26,47:27,79:28,80:29,81:30,111:31,66:33,77:40,154:41,132:43,136:44,138:45,74:53,75:54,37:55,43:57,33:70,60:71,141:77,39:80,8:122,76:179,7:254,123:365,
12:c,28:ea,34:d,38:v,40:l,41:u,44:F,45:w,48:z,49:n,50:G,51:L,52:I,53:x,61:E,62:m,63:g,67:r,68:q,73:Wa,92:k,95:h,97:K,104:O,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,133:C,135:A,137:W,139:B,149:N,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q}),a(Sa,Ea,{69:366,70:ib}),a(b,[2,164]),a([6,31,115],Ea,{69:367,70:ib}),a($b,[2,239]),{7:368,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,
48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:369,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,
54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:370,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,
67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(jb,[2,215]),{33:194,34:d,60:195,74:196,75:197,92:k,118:ua,119:e,145:371},a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,135,139,156],[2,222],{141:77,132:102,138:103,134:[1,372],140:[1,373],159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,
173:qa,174:la}),a(zb,[2,223],{141:77,132:102,138:103,134:[1,374],159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(zb,[2,229],{141:77,132:102,138:103,134:[1,375],159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{6:ac,31:bc,94:[1,376]},a(Ab,db,{39:80,57:204,59:205,11:206,37:207,33:208,35:209,60:210,56:379,34:d,36:Oa,38:v,40:l,41:u,62:m,118:ua}),{7:380,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,
18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:[1,381],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:382,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,
22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:[1,383],33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Aa,[2,39]),a(Jb,[2,37]),a(La,[2,105]),{7:384,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,
19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,89:[2,175],92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{89:[2,176],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,
165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},a(Ma,[2,49],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{32:[1,385],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},{30:386,31:va},a(Va,[2,75]),{33:129,34:d,60:130,71:387,72:127,73:ra,74:131,75:132,92:k,118:ua,119:e},a(cc,p,{71:126,72:127,33:129,60:130,74:131,
75:132,64:388,34:d,73:ra,92:k,118:ua,119:e}),a(Va,[2,80],{141:77,132:102,138:103,133:C,135:A,139:B,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ra,eb),a(Yb,[2,31]),{32:[1,389],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},a(Ma,[2,269],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,
173:qa,174:la}),{30:390,31:va,132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},{30:391,31:va},a(sa,[2,190]),{30:392,31:va},{30:393,31:va},a(Bb,[2,194]),{32:[1,394],151:[1,395],152:337,153:gb},a(sa,[2,233]),{30:396,31:va},a(mb,[2,236]),{30:397,31:va,70:[1,398]},a(dc,[2,186],{141:77,132:102,138:103,133:C,135:A,139:B,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,
173:qa,174:la}),a(sa,[2,118]),a(Zb,[2,121],{141:77,132:102,138:103,30:399,31:va,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(za,[2,124]),{29:[1,400]},{31:hb,33:280,34:d,100:401,101:278},a(za,[2,125]),{39:402,40:l,41:u},{6:qb,31:rb,94:[1,403]},a(Ab,db,{33:280,101:406,34:d}),a(Sa,Ea,{69:407,70:nb}),{33:408,34:d},{29:[2,138]},{6:Cb,31:Db,94:[1,409]},a(Ab,db,{33:286,108:412,34:d}),a(Sa,Ea,{69:413,70:xb}),{33:414,34:d,106:[1,415]},
a(yb,[2,142],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{7:416,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,
129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:417,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,
136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(za,[2,146]),{131:[1,418]},{120:[1,419],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},a(vb,[2,170]),{7:254,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,
54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,73:Wa,74:53,75:54,76:179,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,123:420,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:254,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,31:ab,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,
60:71,61:E,62:m,63:g,66:33,67:r,68:q,73:Wa,74:53,75:54,76:179,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,116:421,117:y,118:T,119:S,123:177,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Ra,[2,179]),{6:ob,31:pb,32:[1,422]},{6:ob,31:pb,115:[1,423]},a(Ya,[2,199],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ya,
[2,201],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ya,[2,212],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(jb,[2,221]),{7:424,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,
49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:425,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,
60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:426,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,
68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:427,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,
81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(vb,[2,109]),{11:206,33:208,34:d,35:209,36:Oa,37:207,38:v,39:80,40:l,41:u,56:428,57:204,59:205,60:210,62:m,118:ua},a(cc,Hb,{39:80,56:203,57:204,59:205,11:206,37:207,33:208,35:209,60:210,93:429,34:d,36:Oa,38:v,40:l,41:u,62:m,118:ua}),a(Ba,[2,112]),a(Ba,[2,52],{141:77,132:102,138:103,133:C,135:A,139:B,156:pa,159:ia,
160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{7:430,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,
149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},a(Ba,[2,54],{141:77,132:102,138:103,133:C,135:A,139:B,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),{7:431,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,
81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{89:[2,174],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},a(sa,[2,50]),a(sa,[2,67]),a(Va,[2,76]),a(Sa,Ea,{69:432,70:Mb}),a(sa,[2,268]),a($b,[2,240]),a(sa,[2,191]),a(Bb,[2,192]),a(Bb,[2,193]),a(sa,[2,231]),{30:433,31:va},
{32:[1,434]},a(mb,[2,237],{6:[1,435]}),{7:436,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,
162:Q},a(sa,[2,122]),{39:437,40:l,41:u},a(lb,Ea,{69:438,70:nb}),a(za,[2,126]),{29:[1,439]},{33:280,34:d,101:440},{31:hb,33:280,34:d,100:441,101:278},a(Ba,[2,131]),{6:qb,31:rb,32:[1,442]},a(Ba,[2,136]),a(za,[2,140],{29:[1,443]}),{33:286,34:d,108:444},{31:ub,33:286,34:d,105:445,108:284},a(Ba,[2,149]),{6:Cb,31:Db,32:[1,446]},a(Ba,[2,154]),a(Ba,[2,155]),a(yb,[2,143],{141:77,132:102,138:103,133:C,135:A,139:B,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),
{32:[1,447],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},a(Aa,[2,197]),a(Aa,[2,173]),a(Ra,[2,180]),a(Sa,Ea,{69:448,70:ib}),a(Ra,[2,181]),a(b,[2,165]),a([1,6,31,32,42,65,70,73,89,94,115,120,122,131,133,134,135,139,156],[2,224],{141:77,132:102,138:103,140:[1,449],159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(zb,[2,226],{141:77,132:102,138:103,134:[1,
450],159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ma,[2,225],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ma,[2,230],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ba,[2,113]),a(Sa,Ea,{69:451,70:Rb}),{32:[1,452],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,
165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},{32:[1,453],132:102,133:C,135:A,138:103,139:B,141:77,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la},{6:Wb,31:Xb,32:[1,454]},{32:[1,455]},a(sa,[2,234]),a(mb,[2,238]),a(dc,[2,187],{141:77,132:102,138:103,133:C,135:A,139:B,156:pa,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(za,[2,128]),{6:qb,31:rb,94:[1,456]},{39:457,40:l,
41:u},a(Ba,[2,132]),a(Sa,Ea,{69:458,70:nb}),a(Ba,[2,133]),{39:459,40:l,41:u},a(Ba,[2,150]),a(Sa,Ea,{69:460,70:xb}),a(Ba,[2,151]),a(za,[2,144]),{6:ob,31:pb,32:[1,461]},{7:462,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,
119:S,125:P,129:Z,130:R,132:43,133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{7:463,8:122,10:20,11:21,12:c,13:23,14:24,15:7,16:8,17:9,18:10,19:11,20:12,21:13,22:14,23:15,24:16,25:17,26:18,27:19,28:ea,33:70,34:d,37:55,38:v,39:80,40:l,41:u,43:57,44:F,45:w,47:27,48:z,49:n,50:G,51:L,52:I,53:x,54:26,60:71,61:E,62:m,63:g,66:33,67:r,68:q,74:53,75:54,77:40,79:28,80:29,81:30,92:k,95:h,97:K,104:O,111:31,112:H,117:y,118:T,119:S,125:P,129:Z,130:R,132:43,
133:C,135:A,136:44,137:W,138:45,139:B,141:77,149:N,154:41,155:X,157:Y,158:V,159:U,160:J,161:aa,162:Q},{6:ac,31:bc,32:[1,464]},a(Ba,[2,53]),a(Ba,[2,55]),a(Va,[2,77]),a(sa,[2,232]),{29:[1,465]},a(za,[2,127]),{6:qb,31:rb,32:[1,466]},a(za,[2,147]),{6:Cb,31:Db,32:[1,467]},a(Ra,[2,182]),a(Ma,[2,227],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ma,[2,228],{141:77,132:102,138:103,159:ia,160:ba,163:da,164:ga,165:fa,166:ka,167:ja,
168:M,169:ha,170:ca,171:oa,172:na,173:qa,174:la}),a(Ba,[2,114]),{39:468,40:l,41:u},a(Ba,[2,134]),a(Ba,[2,152]),a(za,[2,129])],defaultActions:{68:[2,69],69:[2,70],238:[2,108],351:[2,138]},parseError:function(a,b){if(b.recoverable)this.trace(a);else{var e=function(a,b){this.message=a;this.hash=b};e.prototype=Error;throw new e(a,b);}},parse:function(a){var b=[0],e=[null],c=[],p=this.table,ra="",ua=0,d=0,f=0,g=c.slice.call(arguments,1),va=Object.create(this.lexer),h={},Ka;for(Ka in this.yy)Object.prototype.hasOwnProperty.call(this.yy,
Ka)&&(h[Ka]=this.yy[Ka]);va.setInput(a,h);h.lexer=va;h.parser=this;"undefined"==typeof va.yylloc&&(va.yylloc={});Ka=va.yylloc;c.push(Ka);var m=va.options&&va.options.ranges;this.parseError="function"===typeof h.parseError?h.parseError:Object.getPrototypeOf(this).parseError;for(var q,r,Ia,k,n={},l,D;;){Ia=b[b.length-1];if(this.defaultActions[Ia])k=this.defaultActions[Ia];else{if(null===q||"undefined"==typeof q)q=va.lex()||1,"number"!==typeof q&&(q=this.symbols_[q]||q);k=p[Ia]&&p[Ia][q]}if("undefined"===
typeof k||!k.length||!k[0]){var wa;D=[];for(l in p[Ia])this.terminals_[l]&&2<l&&D.push("'"+this.terminals_[l]+"'");wa=va.showPosition?"Parse error on line "+(ua+1)+":\n"+va.showPosition()+"\nExpecting "+D.join(", ")+", got '"+(this.terminals_[q]||q)+"'":"Parse error on line "+(ua+1)+": Unexpected "+(1==q?"end of input":"'"+(this.terminals_[q]||q)+"'");this.parseError(wa,{text:va.match,token:this.terminals_[q]||q,line:va.yylineno,loc:Ka,expected:D})}if(k[0]instanceof Array&&1<k.length)throw Error("Parse Error: multiple actions possible at state: "+
Ia+", token: "+q);switch(k[0]){case 1:b.push(q);e.push(va.yytext);c.push(va.yylloc);b.push(k[1]);q=null;r?(q=r,r=null):(d=va.yyleng,ra=va.yytext,ua=va.yylineno,Ka=va.yylloc,0<f&&f--);break;case 2:D=this.productions_[k[1]][1];n.$=e[e.length-D];n._$={first_line:c[c.length-(D||1)].first_line,last_line:c[c.length-1].last_line,first_column:c[c.length-(D||1)].first_column,last_column:c[c.length-1].last_column};m&&(n._$.range=[c[c.length-(D||1)].range[0],c[c.length-1].range[1]]);Ia=this.performAction.apply(n,
[ra,d,ua,h,k[1],e,c].concat(g));if("undefined"!==typeof Ia)return Ia;D&&(b=b.slice(0,-2*D),e=e.slice(0,-1*D),c=c.slice(0,-1*D));b.push(this.productions_[k[1]][0]);e.push(n.$);c.push(n._$);k=p[b[b.length-2]][b[b.length-1]];b.push(k);break;case 3:return!0}}}};f.prototype=ec;ec.Parser=f;return new f}();"undefined"!==typeof t&&"undefined"!==typeof f&&(f.parser=xa,f.Parser=xa.Parser,f.parse=function(){return xa.parse.apply(xa,arguments)},f.main=function(D){D[1]||(console.log("Usage: "+D[0]+" FILE"),process.exit(1));
D=t("fs").readFileSync(t("path").normalize(D[1]),"utf8");return f.parser.parse(D)},"undefined"!==typeof ta&&t.main===ta&&f.main(process.argv.slice(1)));return ta.exports}();t["./scope"]=function(){var f={};(function(){var t=[].indexOf||function(f){for(var D=0,a=this.length;D<a;D++)if(D in this&&this[D]===f)return D;return-1};f.Scope=function(){function f(f,a,c,t){var d,D;this.parent=f;this.expressions=a;this.method=c;this.referencedVars=t;this.variables=[{name:"arguments",type:"arguments"}];this.positions=
{};this.parent||(this.utilities={});this.root=null!=(d=null!=(D=this.parent)?D.root:void 0)?d:this}f.prototype.add=function(f,a,c){return this.shared&&!c?this.parent.add(f,a,c):Object.prototype.hasOwnProperty.call(this.positions,f)?this.variables[this.positions[f]].type=a:this.positions[f]=this.variables.push({name:f,type:a})-1};f.prototype.namedMethod=function(){var f;return null!=(f=this.method)&&f.name||!this.parent?this.method:this.parent.namedMethod()};f.prototype.find=function(f){if(this.check(f))return!0;
this.add(f,"var");return!1};f.prototype.parameter=function(f){if(!this.shared||!this.parent.check(f,!0))return this.add(f,"param")};f.prototype.check=function(f){var a;return!!(this.type(f)||null!=(a=this.parent)&&a.check(f))};f.prototype.temporary=function(f,a,c){null==c&&(c=!1);return c?(c=f.charCodeAt(0),f=122-c,c=String.fromCharCode(c+a%(f+1)),a=Math.floor(a/(f+1)),""+c+(a||"")):""+f+(a||"")};f.prototype.type=function(f){var a,c,D,d;D=this.variables;a=0;for(c=D.length;a<c;a++)if(d=D[a],d.name===
f)return d.type;return null};f.prototype.freeVariable=function(f,a){var c,D,d;null==a&&(a={});for(c=0;;){d=this.temporary(f,c,a.single);if(!(this.check(d)||0<=t.call(this.root.referencedVars,d)))break;c++}(null!=(D=a.reserve)?D:1)&&this.add(d,"var",!0);return d};f.prototype.assign=function(f,a){this.add(f,{value:a,assigned:!0},!0);return this.hasAssignments=!0};f.prototype.hasDeclarations=function(){return!!this.declaredVariables().length};f.prototype.declaredVariables=function(){var f,a,c,t,d;t=
this.variables;d=[];a=0;for(c=t.length;a<c;a++)f=t[a],"var"===f.type&&d.push(f.name);return d.sort()};f.prototype.assignedVariables=function(){var f,a,c,t,d;c=this.variables;t=[];f=0;for(a=c.length;f<a;f++)d=c[f],d.type.assigned&&t.push(d.name+" \x3d "+d.type.value);return t};return f}()}).call(this);return f}();t["./nodes"]=function(){var f={};(function(){var ta,pa,D,a,c,Ca,d,v,l,u,F,w,z,n,G,L,I,x,E,m,g,r,q,k,h,K,O,H,y,T,S,P,Z,R,C,A,W,B,N,X,Y,V,U,J,aa,Q,ya,Za,Xa,ia,ba,da,ga,fa,ka,ja,M,ha,ca,oa,na,
qa,la,Da,sa,Ja,Ta,Ga,Ua,Fa,Pa,Qa,Na,za,ma=function(a,b){function c(){this.constructor=a}for(var ra in b)ea.call(b,ra)&&(a[ra]=b[ra]);c.prototype=b.prototype;a.prototype=new c;a.__super__=b.prototype;return a},ea={}.hasOwnProperty,Ha=[].indexOf||function(a){for(var b=0,c=this.length;b<c;b++)if(b in this&&this[b]===a)return b;return-1},Aa=[].slice;Error.stackTraceLimit=Infinity;J=t("./scope").Scope;a=t("./lexer");Ga=a.isUnassignable;r=a.JS_FORBIDDEN;n=t("./helpers");oa=n.compact;la=n.flatten;qa=n.extend;
Fa=n.merge;na=n.del;a=n.addLocationDataFn;Ua=n.locationDataToString;Qa=n.throwSyntaxError;f.extend=qa;f.addLocationDataFn=a;ha=function(){return!0};P=function(){return!1};da=function(){return this};S=function(){this.negated=!this.negated;return this};f.CodeFragment=u=function(){function a(a,c){var b;this.code=""+c;this.locationData=null!=a?a.locationData:void 0;this.type=(null!=a?null!=(b=a.constructor)?b.name:void 0:void 0)||"unknown"}a.prototype.toString=function(){return""+this.code+(this.locationData?
": "+Ua(this.locationData):"")};return a}();Da=function(a){var b,c,ra,ua;ua=[];c=0;for(ra=a.length;c<ra;c++)b=a[c],ua.push(b.code);return ua.join("")};f.Base=a=function(){function a(){}a.prototype.compile=function(a,c){return Da(this.compileToFragments(a,c))};a.prototype.compileToFragments=function(a,c){a=qa({},a);c&&(a.level=c);c=this.unfoldSoak(a)||this;c.tab=a.indent;return a.level!==H&&c.isStatement(a)?c.compileClosure(a):c.compileNode(a)};a.prototype.compileClosure=function(a){var b,ra,ua,e;
(ua=this.jumps())&&ua.error("cannot use a pure statement in an expression");a.sharedScope=!0;ua=new l([],c.wrap([this]));b=[];if((ra=this.contains(Ja))||this.contains(Ta))b=[new ga],ra?(ra="apply",b.push(new x("arguments"))):ra="call",ua=new M(ua,[new ta(new N(ra))]);a=(new d(ua,b)).compileNode(a);if(ua.isGenerator||null!=(e=ua.base)&&e.isGenerator)a.unshift(this.makeCode("(yield* ")),a.push(this.makeCode(")"));return a};a.prototype.cache=function(a,c,ra){var b;if(null!=ra?ra(this):this.isComplex())return ra=
new x(a.scope.freeVariable("ref")),b=new D(ra,this),c?[b.compileToFragments(a,c),[this.makeCode(ra.value)]]:[b,ra];ra=c?this.compileToFragments(a,c):this;return[ra,ra]};a.prototype.cacheToCodeFragments=function(a){return[Da(a[0]),Da(a[1])]};a.prototype.makeReturn=function(a){var b;b=this.unwrapAll();return a?new d(new y(a+".push"),[b]):new V(b)};a.prototype.contains=function(a){var b;b=void 0;this.traverseChildren(!1,function(c){if(a(c))return b=c,!1});return b};a.prototype.lastNonComment=function(a){var b;
for(b=a.length;b--;)if(!(a[b]instanceof F))return a[b];return null};a.prototype.toString=function(a,c){var b;null==a&&(a="");null==c&&(c=this.constructor.name);b="\n"+a+c;this.soak&&(b+="?");this.eachChild(function(c){return b+=c.toString(a+ba)});return b};a.prototype.eachChild=function(a){var b,c,ua,e,d,f,g;if(!this.children)return this;f=this.children;c=0;for(e=f.length;c<e;c++)if(b=f[c],this[b])for(g=la([this[b]]),ua=0,d=g.length;ua<d;ua++)if(b=g[ua],!1===a(b))return this;return this};a.prototype.traverseChildren=
function(a,c){return this.eachChild(function(b){if(!1!==c(b))return b.traverseChildren(a,c)})};a.prototype.invert=function(){return new A("!",this)};a.prototype.unwrapAll=function(){var a;for(a=this;a!==(a=a.unwrap()););return a};a.prototype.children=[];a.prototype.isStatement=P;a.prototype.jumps=P;a.prototype.isComplex=ha;a.prototype.isChainable=P;a.prototype.isAssignable=P;a.prototype.isNumber=P;a.prototype.unwrap=da;a.prototype.unfoldSoak=P;a.prototype.assigns=P;a.prototype.updateLocationDataIfMissing=
function(a){if(this.locationData)return this;this.locationData=a;return this.eachChild(function(b){return b.updateLocationDataIfMissing(a)})};a.prototype.error=function(a){return Qa(a,this.locationData)};a.prototype.makeCode=function(a){return new u(this,a)};a.prototype.wrapInBraces=function(a){return[].concat(this.makeCode("("),a,this.makeCode(")"))};a.prototype.joinFragmentArrays=function(a,c){var b,p,e,d,f;b=[];e=d=0;for(f=a.length;d<f;e=++d)p=a[e],e&&b.push(this.makeCode(c)),b=b.concat(p);return b};
return a}();f.Block=c=function(a){function b(a){this.expressions=oa(la(a||[]))}ma(b,a);b.prototype.children=["expressions"];b.prototype.push=function(a){this.expressions.push(a);return this};b.prototype.pop=function(){return this.expressions.pop()};b.prototype.unshift=function(a){this.expressions.unshift(a);return this};b.prototype.unwrap=function(){return 1===this.expressions.length?this.expressions[0]:this};b.prototype.isEmpty=function(){return!this.expressions.length};b.prototype.isStatement=function(a){var b,
c,e,p;p=this.expressions;c=0;for(e=p.length;c<e;c++)if(b=p[c],b.isStatement(a))return!0;return!1};b.prototype.jumps=function(a){var b,c,e,p;p=this.expressions;c=0;for(e=p.length;c<e;c++)if(b=p[c],b=b.jumps(a))return b};b.prototype.makeReturn=function(a){var b,c;for(c=this.expressions.length;c--;)if(b=this.expressions[c],!(b instanceof F)){this.expressions[c]=b.makeReturn(a);b instanceof V&&!b.expression&&this.expressions.splice(c,1);break}return this};b.prototype.compileToFragments=function(a,c){null==
a&&(a={});return a.scope?b.__super__.compileToFragments.call(this,a,c):this.compileRoot(a)};b.prototype.compileNode=function(a){var c,p,e,d,f,g,m;this.tab=a.indent;m=a.level===H;p=[];g=this.expressions;e=c=0;for(d=g.length;c<d;e=++c)f=g[e],f=f.unwrapAll(),f=f.unfoldSoak(a)||f,f instanceof b?p.push(f.compileNode(a)):m?(f.front=!0,e=f.compileToFragments(a),f.isStatement(a)||(e.unshift(this.makeCode(""+this.tab)),e.push(this.makeCode(";"))),p.push(e)):p.push(f.compileToFragments(a,h));if(m)return this.spaced?
[].concat(this.joinFragmentArrays(p,"\n\n"),this.makeCode("\n")):this.joinFragmentArrays(p,"\n");c=p.length?this.joinFragmentArrays(p,", "):[this.makeCode("void 0")];return 1<p.length&&a.level>=h?this.wrapInBraces(c):c};b.prototype.compileRoot=function(a){var b,c,e,p,d;a.indent=a.bare?"":ba;a.level=H;this.spaced=!0;a.scope=new J(null,this,null,null!=(e=a.referencedVars)?e:[]);d=a.locals||[];e=0;for(c=d.length;e<c;e++)p=d[e],a.scope.parameter(p);e=[];if(!a.bare){var f;f=this.expressions;c=[];b=p=0;
for(d=f.length;p<d;b=++p){b=f[b];if(!(b.unwrap()instanceof F))break;c.push(b)}p=this.expressions.slice(c.length);this.expressions=c;c.length&&(e=this.compileNode(Fa(a,{indent:""})),e.push(this.makeCode("\n")));this.expressions=p}c=this.compileWithDeclarations(a);return a.bare?c:[].concat(e,this.makeCode("(function() {\n"),c,this.makeCode("\n}).call(this);\n"))};b.prototype.compileWithDeclarations=function(a){var b,c,e,p,d,f;e=[];f=this.expressions;p=d=0;for(b=f.length;d<b&&(c=f[p],c=c.unwrap(),c instanceof
F||c instanceof y);p=++d);a=Fa(a,{level:H});p&&(c=this.expressions.splice(p,9E9),e=[this.spaced,!1],d=e[0],this.spaced=e[1],d=[this.compileNode(a),d],e=d[0],this.spaced=d[1],this.expressions=c);c=this.compileNode(a);d=a.scope;d.expressions===this&&(b=a.scope.hasDeclarations(),a=d.hasAssignments,b||a?(p&&e.push(this.makeCode("\n")),e.push(this.makeCode(this.tab+"var ")),b&&e.push(this.makeCode(d.declaredVariables().join(", "))),a&&(b&&e.push(this.makeCode(",\n"+(this.tab+ba))),e.push(this.makeCode(d.assignedVariables().join(",\n"+
(this.tab+ba))))),e.push(this.makeCode(";\n"+(this.spaced?"\n":"")))):e.length&&c.length&&e.push(this.makeCode("\n")));return e.concat(c)};b.wrap=function(a){return 1===a.length&&a[0]instanceof b?a[0]:new b(a)};return b}(a);f.Literal=y=function(a){function b(a){this.value=a}ma(b,a);b.prototype.isComplex=P;b.prototype.assigns=function(a){return a===this.value};b.prototype.compileNode=function(a){return[this.makeCode(this.value)]};b.prototype.toString=function(){return" "+(this.isStatement()?b.__super__.toString.apply(this,
arguments):this.constructor.name)+": "+this.value};return b}(a);f.NumberLiteral=R=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(y);f.InfinityLiteral=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);b.prototype.compileNode=function(){return[this.makeCode("2e308")]};return b}(R);f.NaNLiteral=function(a){function b(){b.__super__.constructor.call(this,"NaN")}ma(b,a);b.prototype.compileNode=function(a){var b;b=[this.makeCode("0/0")];
return a.level>=K?this.wrapInBraces(b):b};return b}(R);f.StringLiteral=Za=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(y);f.RegexLiteral=Y=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(y);f.PassthroughLiteral=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(y);f.IdentifierLiteral=x=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}
ma(b,a);b.prototype.isAssignable=ha;return b}(y);f.PropertyName=N=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);b.prototype.isAssignable=ha;return b}(y);f.StatementLiteral=ya=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);b.prototype.isStatement=ha;b.prototype.makeReturn=da;b.prototype.jumps=function(a){if("break"===this.value&&!(null!=a&&a.loop||null!=a&&a.block)||"continue"===this.value&&(null==a||!a.loop))return this};
b.prototype.compileNode=function(a){return[this.makeCode(""+this.tab+this.value+";")]};return b}(y);f.ThisLiteral=ga=function(a){function b(){b.__super__.constructor.call(this,"this")}ma(b,a);b.prototype.compileNode=function(a){var b;a=null!=(b=a.scope.method)&&b.bound?a.scope.method.context:this.value;return[this.makeCode(a)]};return b}(y);f.UndefinedLiteral=ja=function(a){function b(){b.__super__.constructor.call(this,"undefined")}ma(b,a);b.prototype.compileNode=function(a){return[this.makeCode(a.level>=
q?"(void 0)":"void 0")]};return b}(y);f.NullLiteral=Z=function(a){function b(){b.__super__.constructor.call(this,"null")}ma(b,a);return b}(y);f.BooleanLiteral=Ca=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(y);f.Return=V=function(a){function b(a){this.expression=a}ma(b,a);b.prototype.children=["expression"];b.prototype.isStatement=ha;b.prototype.makeReturn=da;b.prototype.jumps=da;b.prototype.compileToFragments=function(a,c){var ra,e;ra=null!=(e=this.expression)?
e.makeReturn():void 0;return!ra||ra instanceof b?b.__super__.compileToFragments.call(this,a,c):ra.compileToFragments(a,c)};b.prototype.compileNode=function(a){var b;b=[];b.push(this.makeCode(this.tab+("return"+(this.expression?" ":""))));this.expression&&(b=b.concat(this.expression.compileToFragments(a,O)));b.push(this.makeCode(";"));return b};return b}(a);f.YieldReturn=ca=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);b.prototype.compileNode=function(a){null==
a.scope.parent&&this.error("yield can only occur inside functions");return b.__super__.compileNode.apply(this,arguments)};return b}(V);f.Value=M=function(a){function b(a,c,d){if(!c&&a instanceof b)return a;this.base=a;this.properties=c||[];d&&(this[d]=!0);return this}ma(b,a);b.prototype.children=["base","properties"];b.prototype.add=function(a){this.properties=this.properties.concat(a);return this};b.prototype.hasProperties=function(){return!!this.properties.length};b.prototype.bareLiteral=function(a){return!this.properties.length&&
this.base instanceof a};b.prototype.isArray=function(){return this.bareLiteral(pa)};b.prototype.isRange=function(){return this.bareLiteral(X)};b.prototype.isComplex=function(){return this.hasProperties()||this.base.isComplex()};b.prototype.isAssignable=function(){return this.hasProperties()||this.base.isAssignable()};b.prototype.isNumber=function(){return this.bareLiteral(R)};b.prototype.isString=function(){return this.bareLiteral(Za)};b.prototype.isRegex=function(){return this.bareLiteral(Y)};b.prototype.isUndefined=
function(){return this.bareLiteral(ja)};b.prototype.isNull=function(){return this.bareLiteral(Z)};b.prototype.isBoolean=function(){return this.bareLiteral(Ca)};b.prototype.isAtomic=function(){var a,b,c,e;e=this.properties.concat(this.base);a=0;for(b=e.length;a<b;a++)if(c=e[a],c.soak||c instanceof d)return!1;return!0};b.prototype.isNotCallable=function(){return this.isNumber()||this.isString()||this.isRegex()||this.isArray()||this.isRange()||this.isSplice()||this.isObject()||this.isUndefined()||this.isNull()||
this.isBoolean()};b.prototype.isStatement=function(a){return!this.properties.length&&this.base.isStatement(a)};b.prototype.assigns=function(a){return!this.properties.length&&this.base.assigns(a)};b.prototype.jumps=function(a){return!this.properties.length&&this.base.jumps(a)};b.prototype.isObject=function(a){return this.properties.length?!1:this.base instanceof C&&(!a||this.base.generated)};b.prototype.isSplice=function(){var a;a=this.properties;return a[a.length-1]instanceof aa};b.prototype.looksStatic=
function(a){var b;return this.base.value===a&&1===this.properties.length&&"prototype"!==(null!=(b=this.properties[0].name)?b.value:void 0)};b.prototype.unwrap=function(){return this.properties.length?this:this.base};b.prototype.cacheReference=function(a){var c,p,e,d;c=this.properties;e=c[c.length-1];if(2>this.properties.length&&!this.base.isComplex()&&(null==e||!e.isComplex()))return[this,this];c=new b(this.base,this.properties.slice(0,-1));c.isComplex()&&(p=new x(a.scope.freeVariable("base")),c=
new b(new B(new D(p,c))));if(!e)return[c,p];e.isComplex()&&(d=new x(a.scope.freeVariable("name")),e=new g(new D(d,e.index)),d=new g(d));return[c.add(e),new b(p||c.base,[d||e])]};b.prototype.compileNode=function(a){var b,c,e,p,d;this.base.front=this.front;d=this.properties;b=this.base.compileToFragments(a,d.length?q:null);d.length&&U.test(Da(b))&&b.push(this.makeCode("."));c=0;for(e=d.length;c<e;c++)p=d[c],b.push.apply(b,p.compileToFragments(a));return b};b.prototype.unfoldSoak=function(a){return null!=
this.unfoldedSoak?this.unfoldedSoak:this.unfoldedSoak=function(c){return function(){var p,e,ra,d,f;if(e=c.base.unfoldSoak(a))return(p=e.body.properties).push.apply(p,c.properties),e;f=c.properties;e=p=0;for(ra=f.length;p<ra;e=++p)if(d=f[e],d.soak)return d.soak=!1,p=new b(c.base,c.properties.slice(0,e)),ra=new b(c.base,c.properties.slice(e)),p.isComplex()&&(e=new x(a.scope.freeVariable("ref")),p=new B(new D(e,p)),ra.base=e),new E(new w(p),ra,{soak:!0});return!1}}(this)()};return b}(a);f.Comment=F=
function(a){function b(a){this.comment=a}ma(b,a);b.prototype.isStatement=ha;b.prototype.makeReturn=da;b.prototype.compileNode=function(a,b){var c;c=this.comment.replace(/^(\s*)#(?=\s)/gm,"$1 *");c="/*"+Pa(c,this.tab)+(0<=Ha.call(c,"\n")?"\n"+this.tab:"")+" */";(b||a.level)===H&&(c=a.indent+c);return[this.makeCode("\n"),this.makeCode(c)]};return b}(a);f.Call=d=function(a){function b(a,b,c){this.variable=a;this.args=null!=b?b:[];this.soak=c;this.isNew=!1;this.variable instanceof M&&this.variable.isNotCallable()&&
this.variable.error("literal is not a function")}ma(b,a);b.prototype.children=["variable","args"];b.prototype.newInstance=function(){var a,c;a=(null!=(c=this.variable)?c.base:void 0)||this.variable;a instanceof b&&!a.isNew?a.newInstance():this.isNew=!0;return this};b.prototype.unfoldSoak=function(a){var c,p,e,d,f;if(this.soak){if(this instanceof ia)c=new y(this.superReference(a)),p=new M(c);else{if(p=Na(a,this,"variable"))return p;p=(new M(this.variable)).cacheReference(a);c=p[0];p=p[1]}p=new b(p,
this.args);p.isNew=this.isNew;c=new y("typeof "+c.compile(a)+' \x3d\x3d\x3d "function"');return new E(c,new M(p),{soak:!0})}c=this;for(e=[];;)if(c.variable instanceof b)e.push(c),c=c.variable;else{if(!(c.variable instanceof M))break;e.push(c);if(!((c=c.variable.base)instanceof b))break}f=e.reverse();e=0;for(d=f.length;e<d;e++)c=f[e],p&&(c.variable instanceof b?c.variable=p:c.variable.base=p),p=Na(a,c,"variable");return p};b.prototype.compileNode=function(a){var b,c,e,p,d,f;null!=(e=this.variable)&&
(e.front=this.front);e=Q.compileSplattedArray(a,this.args,!0);if(e.length)return this.compileSplat(a,e);e=[];f=this.args;c=p=0;for(d=f.length;p<d;c=++p)b=f[c],c&&e.push(this.makeCode(", ")),e.push.apply(e,b.compileToFragments(a,h));b=[];this instanceof ia?(a=this.superReference(a)+(".call("+this.superThis(a)),e.length&&(a+=", "),b.push(this.makeCode(a))):(this.isNew&&b.push(this.makeCode("new ")),b.push.apply(b,this.variable.compileToFragments(a,q)),b.push(this.makeCode("(")));b.push.apply(b,e);b.push(this.makeCode(")"));
return b};b.prototype.compileSplat=function(a,b){var c,e,p,ra;if(this instanceof ia)return[].concat(this.makeCode(this.superReference(a)+".apply("+this.superThis(a)+", "),b,this.makeCode(")"));if(this.isNew)return c=this.tab+ba,[].concat(this.makeCode("(function(func, args, ctor) {\n"+c+"ctor.prototype \x3d func.prototype;\n"+c+"var child \x3d new ctor, result \x3d func.apply(child, args);\n"+c+"return Object(result) \x3d\x3d\x3d result ? result : child;\n"+this.tab+"})("),this.variable.compileToFragments(a,
h),this.makeCode(", "),b,this.makeCode(", function(){})"));c=[];e=new M(this.variable);(p=e.properties.pop())&&e.isComplex()?(ra=a.scope.freeVariable("ref"),c=c.concat(this.makeCode("("+ra+" \x3d "),e.compileToFragments(a,h),this.makeCode(")"),p.compileToFragments(a))):(e=e.compileToFragments(a,q),U.test(Da(e))&&(e=this.wrapInBraces(e)),p?(ra=Da(e),e.push.apply(e,p.compileToFragments(a))):ra="null",c=c.concat(e));return c.concat(this.makeCode(".apply("+ra+", "),b,this.makeCode(")"))};return b}(a);
f.SuperCall=ia=function(a){function b(a){b.__super__.constructor.call(this,null,null!=a?a:[new Q(new x("arguments"))]);this.isBare=null!=a}ma(b,a);b.prototype.superReference=function(a){var b,c,e,p,d,f,h;p=a.scope.namedMethod();if(null!=p&&p.klass){e=p.klass;d=p.name;h=p.variable;e.isComplex()&&(c=new x(a.scope.parent.freeVariable("base")),b=new M(new B(new D(c,e))),h.base=b,h.properties.splice(0,e.properties.length));if(d.isComplex()||d instanceof g&&d.index.isAssignable())f=new x(a.scope.parent.freeVariable("name")),
d=new g(new D(f,d.index)),h.properties.pop(),h.properties.push(d);b=[new ta(new N("__super__"))];p["static"]&&b.push(new ta(new N("constructor")));b.push(null!=f?new g(f):d);return(new M(null!=c?c:e,b)).compile(a)}return null!=p&&p.ctor?p.name+".__super__.constructor":this.error("cannot call super outside of an instance method.")};b.prototype.superThis=function(a){return(a=a.scope.method)&&!a.klass&&a.context||"this"};return b}(d);f.RegexWithInterpolations=function(a){function b(a){null==a&&(a=[]);
b.__super__.constructor.call(this,new M(new x("RegExp")),a,!1)}ma(b,a);return b}(d);f.TaggedTemplateCall=function(a){function b(a,d,f){d instanceof Za&&(d=new Xa(c.wrap([new M(d)])));b.__super__.constructor.call(this,a,[d],f)}ma(b,a);b.prototype.compileNode=function(a){a.inTaggedTemplateCall=!0;return this.variable.compileToFragments(a,q).concat(this.args[0].compileToFragments(a,h))};return b}(d);f.Extends=L=function(a){function b(a,b){this.child=a;this.parent=b}ma(b,a);b.prototype.children=["child",
"parent"];b.prototype.compileToFragments=function(a){return(new d(new M(new y(za("extend",a))),[this.child,this.parent])).compileToFragments(a)};return b}(a);f.Access=ta=function(a){function b(a,b){this.name=a;this.soak="soak"===b}ma(b,a);b.prototype.children=["name"];b.prototype.compileToFragments=function(a){var b,c;a=this.name.compileToFragments(a);b=this.name.unwrap();return b instanceof N?(c=b.value,0<=Ha.call(r,c))?[this.makeCode('["')].concat(Aa.call(a),[this.makeCode('"]')]):[this.makeCode(".")].concat(Aa.call(a)):
[this.makeCode("[")].concat(Aa.call(a),[this.makeCode("]")])};b.prototype.isComplex=P;return b}(a);f.Index=g=function(a){function b(a){this.index=a}ma(b,a);b.prototype.children=["index"];b.prototype.compileToFragments=function(a){return[].concat(this.makeCode("["),this.index.compileToFragments(a,O),this.makeCode("]"))};b.prototype.isComplex=function(){return this.index.isComplex()};return b}(a);f.Range=X=function(a){function b(a,b,c){this.from=a;this.to=b;this.equals=(this.exclusive="exclusive"===
c)?"":"\x3d"}ma(b,a);b.prototype.children=["from","to"];b.prototype.compileVariables=function(a){var b,c;a=Fa(a,{top:!0});b=na(a,"isComplex");c=this.cacheToCodeFragments(this.from.cache(a,h,b));this.fromC=c[0];this.fromVar=c[1];c=this.cacheToCodeFragments(this.to.cache(a,h,b));this.toC=c[0];this.toVar=c[1];if(c=na(a,"step"))a=this.cacheToCodeFragments(c.cache(a,h,b)),this.step=a[0],this.stepVar=a[1];this.fromNum=this.from.isNumber()?Number(this.fromVar):null;this.toNum=this.to.isNumber()?Number(this.toVar):
null;return this.stepNum=null!=c&&c.isNumber()?Number(this.stepVar):null};b.prototype.compileNode=function(a){var b,c,e,d,p,f,g,h,m,q;this.fromVar||this.compileVariables(a);if(!a.index)return this.compileArray(a);f=null!=this.fromNum&&null!=this.toNum;p=na(a,"index");g=(a=na(a,"name"))&&a!==p;q=p+" \x3d "+this.fromC;this.toC!==this.toVar&&(q+=", "+this.toC);this.step!==this.stepVar&&(q+=", "+this.step);d=[p+" \x3c"+this.equals,p+" \x3e"+this.equals];c=d[0];d=d[1];c=null!=this.stepNum?0<this.stepNum?
c+" "+this.toVar:d+" "+this.toVar:f?(h=[this.fromNum,this.toNum],e=h[0],m=h[1],h,e<=m?c+" "+m:d+" "+m):(b=this.stepVar?this.stepVar+" \x3e 0":this.fromVar+" \x3c\x3d "+this.toVar,b+" ? "+c+" "+this.toVar+" : "+d+" "+this.toVar);b=this.stepVar?p+" +\x3d "+this.stepVar:f?g?e<=m?"++"+p:"--"+p:e<=m?p+"++":p+"--":g?b+" ? ++"+p+" : --"+p:b+" ? "+p+"++ : "+p+"--";g&&(q=a+" \x3d "+q);g&&(b=a+" \x3d "+b);return[this.makeCode(q+"; "+c+"; "+b)]};b.prototype.compileArray=function(a){var b,c,e,d,p,f,g,h,m;if((c=
null!=this.fromNum&&null!=this.toNum)&&20>=Math.abs(this.fromNum-this.toNum))return b=function(){h=[];for(var a=f=this.fromNum,b=this.toNum;f<=b?a<=b:a>=b;f<=b?a++:a--)h.push(a);return h}.apply(this),this.exclusive&&b.pop(),[this.makeCode("["+b.join(", ")+"]")];d=this.tab+ba;e=a.scope.freeVariable("i",{single:!0});g=a.scope.freeVariable("results");p="\n"+d+g+" \x3d [];";c?(a.index=e,c=Da(this.compileNode(a))):(m=e+" \x3d "+this.fromC+(this.toC!==this.toVar?", "+this.toC:""),c=this.fromVar+" \x3c\x3d "+
this.toVar,c="var "+m+"; "+c+" ? "+e+" \x3c"+this.equals+" "+this.toVar+" : "+e+" \x3e"+this.equals+" "+this.toVar+"; "+c+" ? "+e+"++ : "+e+"--");e="{ "+g+".push("+e+"); }\n"+d+"return "+g+";\n"+a.indent;a=function(a){return null!=a?a.contains(Ja):void 0};if(a(this.from)||a(this.to))b=", arguments";return[this.makeCode("(function() {"+p+"\n"+d+"for ("+c+")"+e+"}).apply(this"+(null!=b?b:"")+")")]};return b}(a);f.Slice=aa=function(a){function b(a){this.range=a;b.__super__.constructor.call(this)}ma(b,
a);b.prototype.children=["range"];b.prototype.compileNode=function(a){var b,c,e,d,p;b=this.range;d=b.to;e=(b=b.from)&&b.compileToFragments(a,O)||[this.makeCode("0")];d&&(b=d.compileToFragments(a,O),c=Da(b),this.range.exclusive||-1!==+c)&&(p=", "+(this.range.exclusive?c:d.isNumber()?""+(+c+1):(b=d.compileToFragments(a,q),"+"+Da(b)+" + 1 || 9e9")));return[this.makeCode(".slice("+Da(e)+(p||"")+")")]};return b}(a);f.Obj=C=function(a){function b(a,b){this.generated=null!=b?b:!1;this.objects=this.properties=
a||[]}ma(b,a);b.prototype.children=["properties"];b.prototype.compileNode=function(a){var b,c,e,d,p,f,g,h,m,q,r,k,n;n=this.properties;if(this.generated)for(c=0,b=n.length;c<b;c++)e=n[c],e instanceof M&&e.error("cannot have an implicit value in an implicit object");c=b=0;for(e=n.length;b<e&&!(k=n[c],(k.variable||k).base instanceof B);c=++b);e=c<n.length;p=a.indent+=ba;m=this.lastNonComment(this.properties);b=[];e&&(r=a.scope.freeVariable("obj"),b.push(this.makeCode("(\n"+p+r+" \x3d ")));b.push(this.makeCode("{"+
(0===n.length||0===c?"}":"\n")));d=h=0;for(q=n.length;h<q;d=++h)k=n[d],d===c&&(0!==d&&b.push(this.makeCode("\n"+p+"}")),b.push(this.makeCode(",\n"))),g=d===n.length-1||d===c-1?"":k===m||k instanceof F?"\n":",\n",f=k instanceof F?"":p,e&&d<c&&(f+=ba),k instanceof D&&("object"!==k.context&&k.operatorToken.error("unexpected "+k.operatorToken.value),k.variable instanceof M&&k.variable.hasProperties()&&k.variable.error("invalid object key")),k instanceof M&&k["this"]&&(k=new D(k.properties[0].name,k,"object")),
k instanceof F||(d<c?k instanceof D||(k=new D(k,k,"object")):(k instanceof D?(d=k.variable,k=k.value):(k=k.base.cache(a),d=k[0],k=k[1],d instanceof x&&(d=new N(d.value))),k=new D(new M(new x(r),[new ta(d)]),k))),f&&b.push(this.makeCode(f)),b.push.apply(b,k.compileToFragments(a,H)),g&&b.push(this.makeCode(g));e?b.push(this.makeCode(",\n"+p+r+"\n"+this.tab+")")):0!==n.length&&b.push(this.makeCode("\n"+this.tab+"}"));return this.front&&!e?this.wrapInBraces(b):b};b.prototype.assigns=function(a){var b,
c,e,d;d=this.properties;b=0;for(c=d.length;b<c;b++)if(e=d[b],e.assigns(a))return!0;return!1};return b}(a);f.Arr=pa=function(a){function b(a){this.objects=a||[]}ma(b,a);b.prototype.children=["objects"];b.prototype.compileNode=function(a){var b,c,e,d,p;if(!this.objects.length)return[this.makeCode("[]")];a.indent+=ba;b=Q.compileSplattedArray(a,this.objects);if(b.length)return b;b=[];var f;p=this.objects;f=[];e=0;for(d=p.length;e<d;e++)c=p[e],f.push(c.compileToFragments(a,h));e=d=0;for(p=f.length;d<p;e=
++d)c=f[e],e&&b.push(this.makeCode(", ")),b.push.apply(b,c);0<=Da(b).indexOf("\n")?(b.unshift(this.makeCode("[\n"+a.indent)),b.push(this.makeCode("\n"+this.tab+"]"))):(b.unshift(this.makeCode("[")),b.push(this.makeCode("]")));return b};b.prototype.assigns=function(a){var b,c,e,d;d=this.objects;b=0;for(c=d.length;b<c;b++)if(e=d[b],e.assigns(a))return!0;return!1};return b}(a);f.Class=v=function(a){function b(a,b,d){this.variable=a;this.parent=b;this.body=null!=d?d:new c;this.boundFuncs=[];this.body.classBody=
!0}ma(b,a);b.prototype.children=["variable","parent","body"];b.prototype.defaultClassVariableName="_Class";b.prototype.determineName=function(){var a,b;if(!this.variable)return this.defaultClassVariableName;b=this.variable.properties;b=(a=b[b.length-1])?a instanceof ta&&a.name:this.variable.base;if(!(b instanceof x||b instanceof N))return this.defaultClassVariableName;b=b.value;a||(a=Ga(b))&&this.variable.error(a);return 0<=Ha.call(r,b)?"_"+b:b};b.prototype.setContext=function(a){return this.body.traverseChildren(!1,
function(b){if(b.classBody)return!1;if(b instanceof ga)return b.value=a;if(b instanceof l&&b.bound)return b.context=a})};b.prototype.addBoundFunctions=function(a){var b,c,e,d;d=this.boundFuncs;c=0;for(e=d.length;c<e;c++)b=d[c],b=(new M(new ga,[new ta(b)])).compile(a),this.ctor.body.unshift(new y(b+" \x3d "+za("bind",a)+"("+b+", this)"))};b.prototype.addProperties=function(a,b,c){var e,d,p,f;f=a.base.properties.slice(0);var ra;for(ra=[];e=f.shift();)e instanceof D&&(d=e.variable.base,delete e.context,
p=e.value,"constructor"===d.value?(this.ctor&&e.error("cannot define more than one constructor in a class"),p.bound&&e.error("cannot define a constructor as a bound function"),p instanceof l?e=this.ctor=p:(this.externalCtor=c.classScope.freeVariable("ctor"),e=new D(new x(this.externalCtor),p))):e.variable["this"]?p["static"]=!0:(a=d.isComplex()?new g(d):new ta(d),e.variable=new M(new x(b),[new ta(new N("prototype")),a]),p instanceof l&&p.bound&&(this.boundFuncs.push(d),p.bound=!1))),ra.push(e);return oa(ra)};
b.prototype.walkBody=function(a,d){return this.traverseChildren(!1,function(p){return function(e){var f,ra,g,h,ua,m,q;f=!0;if(e instanceof b)return!1;if(e instanceof c){q=ra=e.expressions;g=h=0;for(ua=q.length;h<ua;g=++h)m=q[g],m instanceof D&&m.variable.looksStatic(a)?m.value["static"]=!0:m instanceof M&&m.isObject(!0)&&(f=!1,ra[g]=p.addProperties(m,a,d));e.expressions=la(ra)}return f&&!(e instanceof b)}}(this))};b.prototype.hoistDirectivePrologue=function(){var a,b,c;b=0;for(a=this.body.expressions;(c=
a[b])&&c instanceof F||c instanceof M&&c.isString();)++b;return this.directives=a.splice(0,b)};b.prototype.ensureConstructor=function(a){this.ctor||(this.ctor=new l,this.externalCtor?this.ctor.body.push(new y(this.externalCtor+".apply(this, arguments)")):this.parent&&this.ctor.body.push(new y(a+".__super__.constructor.apply(this, arguments)")),this.ctor.body.makeReturn(),this.body.expressions.unshift(this.ctor));this.ctor.ctor=this.ctor.name=a;this.ctor.klass=null;return this.ctor.noReturn=!0};b.prototype.compileNode=
function(a){var b,p,e,f,g;(p=this.body.jumps())&&p.error("Class bodies cannot contain pure statements");(b=this.body.contains(Ja))&&b.error("Class bodies shouldn't reference arguments");g=this.determineName();f=new x(g);p=new l([],c.wrap([this.body]));b=[];a.classScope=p.makeScope(a.scope);this.hoistDirectivePrologue();this.setContext(g);this.walkBody(g,a);this.ensureConstructor(g);this.addBoundFunctions(a);this.body.spaced=!0;this.body.expressions.push(f);this.parent&&(g=new x(a.classScope.freeVariable("superClass",
{reserve:!1})),this.body.expressions.unshift(new L(f,g)),p.params.push(new W(g)),b.push(this.parent));(e=this.body.expressions).unshift.apply(e,this.directives);e=new B(new d(p,b));this.variable&&(e=new D(this.variable,e,null,{moduleDeclaration:this.moduleDeclaration}));return e.compileToFragments(a)};return b}(a);f.ModuleDeclaration=n=function(a){function b(a,b){this.clause=a;this.source=b;this.checkSource()}ma(b,a);b.prototype.children=["clause","source"];b.prototype.isStatement=ha;b.prototype.jumps=
da;b.prototype.makeReturn=da;b.prototype.checkSource=function(){if(null!=this.source&&this.source instanceof Xa)return this.source.error("the name of the module to be imported from must be an uninterpolated string")};b.prototype.checkScope=function(a,b){if(0!==a.indent.length)return this.error(b+" statements must be at top-level scope")};return b}(a);f.ImportDeclaration=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);b.prototype.compileNode=function(a){var b,
c;this.checkScope(a,"import");a.importedSymbols=[];b=[];b.push(this.makeCode(this.tab+"import "));null!=this.clause&&b.push.apply(b,this.clause.compileNode(a));null!=(null!=(c=this.source)?c.value:void 0)&&(null!==this.clause&&b.push(this.makeCode(" from ")),b.push(this.makeCode(this.source.value)));b.push(this.makeCode(";"));return b};return b}(n);f.ImportClause=function(a){function b(a,b){this.defaultBinding=a;this.namedImports=b}ma(b,a);b.prototype.children=["defaultBinding","namedImports"];b.prototype.compileNode=
function(a){var b;b=[];null!=this.defaultBinding&&(b.push.apply(b,this.defaultBinding.compileNode(a)),null!=this.namedImports&&b.push(this.makeCode(", ")));null!=this.namedImports&&b.push.apply(b,this.namedImports.compileNode(a));return b};return b}(a);f.ExportDeclaration=n=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);b.prototype.compileNode=function(a){var b,d;this.checkScope(a,"export");b=[];b.push(this.makeCode(this.tab+"export "));this instanceof G&&b.push(this.makeCode("default "));
this instanceof G||!(this.clause instanceof D||this.clause instanceof v)||(this.clause instanceof v&&!this.clause.variable&&this.clause.error("anonymous classes cannot be exported"),b.push(this.makeCode("var ")),this.clause.moduleDeclaration="export");b=null!=this.clause.body&&this.clause.body instanceof c?b.concat(this.clause.compileToFragments(a,H)):b.concat(this.clause.compileNode(a));null!=(null!=(d=this.source)?d.value:void 0)&&b.push(this.makeCode(" from "+this.source.value));b.push(this.makeCode(";"));
return b};return b}(n);f.ExportNamedDeclaration=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(n);f.ExportDefaultDeclaration=G=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(n);f.ExportAllDeclaration=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(n);f.ModuleSpecifierList=n=function(a){function b(a){this.specifiers=a}ma(b,a);b.prototype.children=["specifiers"];
b.prototype.compileNode=function(a){var b,c,e,d,f;b=[];a.indent+=ba;var p;f=this.specifiers;p=[];e=0;for(d=f.length;e<d;e++)c=f[e],p.push(c.compileToFragments(a,h));if(0!==this.specifiers.length){b.push(this.makeCode("{\n"+a.indent));e=d=0;for(f=p.length;d<f;e=++d)c=p[e],e&&b.push(this.makeCode(",\n"+a.indent)),b.push.apply(b,c);b.push(this.makeCode("\n}"))}else b.push(this.makeCode("{}"));return b};return b}(a);f.ImportSpecifierList=function(a){function b(){return b.__super__.constructor.apply(this,
arguments)}ma(b,a);return b}(n);f.ExportSpecifierList=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(n);f.ModuleSpecifier=T=function(a){function b(a,b,c){this.original=a;this.alias=b;this.moduleDeclarationType=c;this.identifier=null!=this.alias?this.alias.value:this.original.value}ma(b,a);b.prototype.children=["original","alias"];b.prototype.compileNode=function(a){a.scope.add(this.identifier,this.moduleDeclarationType);a=[];a.push(this.makeCode(this.original.value));
null!=this.alias&&a.push(this.makeCode(" as "+this.alias.value));return a};return b}(a);f.ImportSpecifier=n=function(a){function b(a,c){b.__super__.constructor.call(this,a,c,"import")}ma(b,a);b.prototype.compileNode=function(a){var c;(c=this.identifier,0<=Ha.call(a.importedSymbols,c))||a.scope.check(this.identifier)?this.error("'"+this.identifier+"' has already been declared"):a.importedSymbols.push(this.identifier);return b.__super__.compileNode.call(this,a)};return b}(T);f.ImportDefaultSpecifier=
function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(n);f.ImportNamespaceSpecifier=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);return b}(n);f.ExportSpecifier=function(a){function b(a,c){b.__super__.constructor.call(this,a,c,"export")}ma(b,a);return b}(T);f.Assign=D=function(a){function b(a,b,c,e){this.variable=a;this.value=b;this.context=c;null==e&&(e={});this.param=e.param;this.subpattern=e.subpattern;this.operatorToken=
e.operatorToken;this.moduleDeclaration=e.moduleDeclaration}ma(b,a);b.prototype.children=["variable","value"];b.prototype.isStatement=function(a){return(null!=a?a.level:void 0)===H&&null!=this.context&&(this.moduleDeclaration||0<=Ha.call(this.context,"?"))};b.prototype.checkAssignability=function(a,b){if(Object.prototype.hasOwnProperty.call(a.scope.positions,b.value)&&"import"===a.scope.variables[a.scope.positions[b.value]].type)return b.error("'"+b.value+"' is read-only")};b.prototype.assigns=function(a){return this["object"===
this.context?"value":"variable"].assigns(a)};b.prototype.unfoldSoak=function(a){return Na(a,this,"variable")};b.prototype.compileNode=function(a){var b,c,e,d,f,p,g;if(c=this.variable instanceof M){if(this.variable.isArray()||this.variable.isObject())return this.compilePatternMatch(a);if(this.variable.isSplice())return this.compileSplice(a);if("||\x3d"===(d=this.context)||"\x26\x26\x3d"===d||"?\x3d"===d)return this.compileConditional(a);if("**\x3d"===(f=this.context)||"//\x3d"===f||"%%\x3d"===f)return this.compileSpecialMath(a)}this.value instanceof
l&&(this.value["static"]?(this.value.klass=this.variable.base,this.value.name=this.variable.properties[0],this.value.variable=this.variable):2<=(null!=(p=this.variable.properties)?p.length:void 0)&&(p=this.variable.properties,d=3<=p.length?Aa.call(p,0,e=p.length-2):(e=0,[]),f=p[e++],e=p[e++],"prototype"===(null!=(g=f.name)?g.value:void 0)&&(this.value.klass=new M(this.variable.base,d),this.value.name=e,this.value.variable=this.variable)));this.context||(g=this.variable.unwrapAll(),g.isAssignable()||
this.variable.error("'"+this.variable.compile(a)+"' can't be assigned"),"function"===typeof g.hasProperties&&g.hasProperties()||(this.moduleDeclaration?(this.checkAssignability(a,g),a.scope.add(g.value,this.moduleDeclaration)):this.param?a.scope.add(g.value,"var"):(this.checkAssignability(a,g),a.scope.find(g.value))));g=this.value.compileToFragments(a,h);c&&this.variable.base instanceof C&&(this.variable.front=!0);c=this.variable.compileToFragments(a,h);if("object"===this.context){if(b=Da(c),0<=Ha.call(r,
b))c.unshift(this.makeCode('"')),c.push(this.makeCode('"'));return c.concat(this.makeCode(": "),g)}b=c.concat(this.makeCode(" "+(this.context||"\x3d")+" "),g);return a.level<=h?b:this.wrapInBraces(b)};b.prototype.compilePatternMatch=function(a){var c,d,e,f,p,m,q,k,r,n,l,D,t,u,B,v;u=a.level===H;k=this.value;D=this.variable.base.objects;if(!(t=D.length))return d=k.compileToFragments(a),a.level>=K?this.wrapInBraces(d):d;l=D[0];1===t&&l instanceof z&&l.error("Destructuring assignment has no target");
m=this.variable.isObject();if(u&&1===t&&!(l instanceof Q))return e=null,l instanceof b&&"object"===l.context?(d=l,f=d.variable,p=f.base,l=d.value,l instanceof b&&(e=l.value,l=l.variable)):(l instanceof b&&(e=l.value,l=l.variable),p=m?l["this"]?l.properties[0].name:new N(l.unwrap().value):new R(0)),c=p.unwrap()instanceof N,k=new M(k),k.properties.push(new (c?ta:g)(p)),(n=Ga(l.unwrap().value))&&l.error(n),e&&(k=new A("?",k,e)),(new b(l,k,null,{param:this.param})).compileToFragments(a,H);B=k.compileToFragments(a,
h);v=Da(B);d=[];f=!1;k.unwrap()instanceof x&&!this.variable.assigns(v)||(d.push([this.makeCode((e=a.scope.freeVariable("ref"))+" \x3d ")].concat(Aa.call(B))),B=[this.makeCode(e)],v=e);e=k=0;for(r=D.length;k<r;e=++k){l=D[e];p=e;if(!f&&l instanceof Q)n=l.name.unwrap().value,l=l.unwrap(),p=t+" \x3c\x3d "+v+".length ? "+za("slice",a)+".call("+v+", "+e,(c=t-e-1)?(q=a.scope.freeVariable("i",{single:!0}),p+=", "+q+" \x3d "+v+".length - "+c+") : ("+q+" \x3d "+e+", [])"):p+=") : []",p=new y(p),f=q+"++";else if(!f&&
l instanceof z){if(c=t-e-1)1===c?f=v+".length - 1":(q=a.scope.freeVariable("i",{single:!0}),p=new y(q+" \x3d "+v+".length - "+c),f=q+"++",d.push(p.compileToFragments(a,h)));continue}else(l instanceof Q||l instanceof z)&&l.error("multiple splats/expansions are disallowed in an assignment"),e=null,l instanceof b&&"object"===l.context?(p=l.variable,p=p.base,l=l.value,l instanceof b&&(e=l.value,l=l.variable)):(l instanceof b&&(e=l.value,l=l.variable),p=m?l["this"]?l.properties[0].name:new N(l.unwrap().value):
new y(f||p)),n=l.unwrap().value,c=p.unwrap()instanceof N,p=new M(new y(v),[new (c?ta:g)(p)]),e&&(p=new A("?",p,e));null!=n&&(n=Ga(n))&&l.error(n);d.push((new b(l,p,null,{param:this.param,subpattern:!0})).compileToFragments(a,h))}u||this.subpattern||d.push(B);d=this.joinFragmentArrays(d,", ");return a.level<h?d:this.wrapInBraces(d)};b.prototype.compileConditional=function(a){var c,d;d=this.variable.cacheReference(a);c=d[0];d=d[1];c.properties.length||!(c.base instanceof y)||c.base instanceof ga||a.scope.check(c.base.value)||
this.variable.error('the variable "'+c.base.value+"\" can't be assigned with "+this.context+" because it has not been declared before");if(0<=Ha.call(this.context,"?"))return a.isExistentialEquals=!0,(new E(new w(c),d,{type:"if"})).addElse(new b(d,this.value,"\x3d")).compileToFragments(a);c=(new A(this.context.slice(0,-1),c,new b(d,this.value,"\x3d"))).compileToFragments(a);return a.level<=h?c:this.wrapInBraces(c)};b.prototype.compileSpecialMath=function(a){var c,d;d=this.variable.cacheReference(a);
c=d[0];d=d[1];return(new b(c,new A(this.context.slice(0,-1),d,this.value))).compileToFragments(a)};b.prototype.compileSplice=function(a){var b,c,e,d,f,p;d=this.variable.properties.pop().range;e=d.from;b=d.to;c=d.exclusive;p=this.variable.compile(a);e?(f=this.cacheToCodeFragments(e.cache(a,K)),d=f[0],f=f[1]):d=f="0";b?null!=e&&e.isNumber()&&b.isNumber()?(b=b.compile(a)-f,c||(b+=1)):(b=b.compile(a,q)+" - "+f,c||(b+=" + 1")):b="9e9";c=this.value.cache(a,h);e=c[0];c=c[1];b=[].concat(this.makeCode("[].splice.apply("+
p+", ["+d+", "+b+"].concat("),e,this.makeCode(")), "),c);return a.level>H?this.wrapInBraces(b):b};return b}(a);f.Code=l=function(a){function b(a,b,d){this.params=a||[];this.body=b||new c;this.bound="boundfunc"===d;this.isGenerator=!!this.body.contains(function(a){return a instanceof A&&a.isYield()||a instanceof ca})}ma(b,a);b.prototype.children=["params","body"];b.prototype.isStatement=function(){return!!this.ctor};b.prototype.jumps=P;b.prototype.makeScope=function(a){return new J(a,this.body,this)};
b.prototype.compileNode=function(a){var f,p,e,g,h,m,k,l,r,n,t,u,v;this.bound&&null!=(p=a.scope.method)&&p.bound&&(this.context=a.scope.method.context);if(this.bound&&!this.context)return this.context="_this",p=new b([new W(new x(this.context))],new c([this])),p=new d(p,[new ga]),p.updateLocationDataIfMissing(this.locationData),p.compileNode(a);a.scope=na(a,"classScope")||this.makeScope(a.scope);a.scope.shared=na(a,"sharedScope");a.indent+=ba;delete a.bare;delete a.isExistentialEquals;p=[];f=[];l=
this.params;g=0;for(m=l.length;g<m;g++)k=l[g],k instanceof z||a.scope.parameter(k.asReference(a));l=this.params;g=0;for(m=l.length;g<m;g++)if(k=l[g],k.splat||k instanceof z){g=this.params;h=0;for(k=g.length;h<k;h++)r=g[h],r instanceof z||!r.name.value||a.scope.add(r.name.value,"var",!0);h=new D(new M(new pa(function(){var b,c,e,d;e=this.params;d=[];c=0;for(b=e.length;c<b;c++)r=e[c],d.push(r.asReference(a));return d}.call(this))),new M(new x("arguments")));break}t=this.params;l=0;for(g=t.length;l<
g;l++)k=t[l],k.isComplex()?(v=n=k.asReference(a),k.value&&(v=new A("?",n,k.value)),f.push(new D(new M(k.name),v,"\x3d",{param:!0}))):(n=k,k.value&&(m=new y(n.name.value+" \x3d\x3d null"),v=new D(new M(k.name),k.value,"\x3d"),f.push(new E(m,v)))),h||p.push(n);k=this.body.isEmpty();h&&f.unshift(h);f.length&&(e=this.body.expressions).unshift.apply(e,f);e=h=0;for(f=p.length;h<f;e=++h)r=p[e],p[e]=r.compileToFragments(a),a.scope.parameter(Da(p[e]));u=[];this.eachParamName(function(a,b){0<=Ha.call(u,a)&&
b.error("multiple parameters named "+a);return u.push(a)});k||this.noReturn||this.body.makeReturn();e="function";this.isGenerator&&(e+="*");this.ctor&&(e+=" "+this.name);f=[this.makeCode(e+"(")];e=k=0;for(h=p.length;k<h;e=++k)r=p[e],e&&f.push(this.makeCode(", ")),f.push.apply(f,r);f.push(this.makeCode(") {"));this.body.isEmpty()||(f=f.concat(this.makeCode("\n"),this.body.compileWithDeclarations(a),this.makeCode("\n"+this.tab)));f.push(this.makeCode("}"));return this.ctor?[this.makeCode(this.tab)].concat(Aa.call(f)):
this.front||a.level>=q?this.wrapInBraces(f):f};b.prototype.eachParamName=function(a){var b,c,e,d,f;d=this.params;f=[];b=0;for(c=d.length;b<c;b++)e=d[b],f.push(e.eachName(a));return f};b.prototype.traverseChildren=function(a,c){if(a)return b.__super__.traverseChildren.call(this,a,c)};return b}(a);f.Param=W=function(a){function b(a,b,c){this.name=a;this.value=b;this.splat=c;(a=Ga(this.name.unwrapAll().value))&&this.name.error(a);this.name instanceof C&&this.name.generated&&(a=this.name.objects[0].operatorToken,
a.error("unexpected "+a.value))}ma(b,a);b.prototype.children=["name","value"];b.prototype.compileToFragments=function(a){return this.name.compileToFragments(a,h)};b.prototype.asReference=function(a){var b;if(this.reference)return this.reference;b=this.name;b["this"]?(b=b.properties[0].name.value,0<=Ha.call(r,b)&&(b="_"+b),b=new x(a.scope.freeVariable(b))):b.isComplex()&&(b=new x(a.scope.freeVariable("arg")));b=new M(b);this.splat&&(b=new Q(b));b.updateLocationDataIfMissing(this.locationData);return this.reference=
b};b.prototype.isComplex=function(){return this.name.isComplex()};b.prototype.eachName=function(a,b){var c,e,d,f;null==b&&(b=this.name);c=function(b){return a("@"+b.properties[0].name.value,b)};if(b instanceof y)return a(b.value,b);if(b instanceof M)return c(b);b=null!=(e=b.objects)?e:[];e=0;for(d=b.length;e<d;e++)f=b[e],f instanceof D&&null==f.context&&(f=f.variable),f instanceof D?(f.value instanceof D&&(f=f.value),this.eachName(a,f.value.unwrap())):f instanceof Q?(f=f.name.unwrap(),a(f.value,f)):
f instanceof M?f.isArray()||f.isObject()?this.eachName(a,f.base):f["this"]?c(f):a(f.base.value,f.base):f instanceof z||f.error("illegal parameter "+f.compile())};return b}(a);f.Splat=Q=function(a){function b(a){this.name=a.compile?a:new y(a)}ma(b,a);b.prototype.children=["name"];b.prototype.isAssignable=ha;b.prototype.assigns=function(a){return this.name.assigns(a)};b.prototype.compileToFragments=function(a){return this.name.compileToFragments(a)};b.prototype.unwrap=function(){return this.name};b.compileSplattedArray=
function(a,c,d){var e,f,g,p,k,m;for(p=-1;(e=c[++p])&&!(e instanceof b););if(p>=c.length)return[];if(1===c.length)return e=c[0],c=e.compileToFragments(a,h),d?c:[].concat(e.makeCode(za("slice",a)+".call("),c,e.makeCode(")"));d=c.slice(p);g=k=0;for(m=d.length;k<m;g=++k)e=d[g],f=e.compileToFragments(a,h),d[g]=e instanceof b?[].concat(e.makeCode(za("slice",a)+".call("),f,e.makeCode(")")):[].concat(e.makeCode("["),f,e.makeCode("]"));if(0===p)return e=c[0],a=e.joinFragmentArrays(d.slice(1),", "),d[0].concat(e.makeCode(".concat("),
a,e.makeCode(")"));k=c.slice(0,p);m=[];f=0;for(g=k.length;f<g;f++)e=k[f],m.push(e.compileToFragments(a,h));e=c[0].joinFragmentArrays(m,", ");a=c[p].joinFragmentArrays(d,", ");d=c[c.length-1];return[].concat(c[0].makeCode("["),e,c[p].makeCode("].concat("),a,d.makeCode(")"))};return b}(a);f.Expansion=z=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);b.prototype.isComplex=P;b.prototype.compileNode=function(a){return this.error("Expansion must be used inside a destructuring assignment or parameter list")};
b.prototype.asReference=function(a){return this};b.prototype.eachName=function(a){};return b}(a);f.While=n=function(a){function b(a,b){this.condition=null!=b&&b.invert?a.invert():a;this.guard=null!=b?b.guard:void 0}ma(b,a);b.prototype.children=["condition","guard","body"];b.prototype.isStatement=ha;b.prototype.makeReturn=function(a){if(a)return b.__super__.makeReturn.apply(this,arguments);this.returns=!this.jumps({loop:!0});return this};b.prototype.addBody=function(a){this.body=a;return this};b.prototype.jumps=
function(){var a,b,c,e;a=this.body.expressions;if(!a.length)return!1;b=0;for(e=a.length;b<e;b++)if(c=a[b],c=c.jumps({loop:!0}))return c;return!1};b.prototype.compileNode=function(a){var b,d,e;a.indent+=ba;e="";b=this.body;b.isEmpty()?b=this.makeCode(""):(this.returns&&(b.makeReturn(d=a.scope.freeVariable("results")),e=""+this.tab+d+" \x3d [];\n"),this.guard&&(1<b.expressions.length?b.expressions.unshift(new E((new B(this.guard)).invert(),new ya("continue"))):this.guard&&(b=c.wrap([new E(this.guard,
b)]))),b=[].concat(this.makeCode("\n"),b.compileToFragments(a,H),this.makeCode("\n"+this.tab)));a=[].concat(this.makeCode(e+this.tab+"while ("),this.condition.compileToFragments(a,O),this.makeCode(") {"),b,this.makeCode("}"));this.returns&&a.push(this.makeCode("\n"+this.tab+"return "+d+";"));return a};return b}(a);f.Op=A=function(a){function b(a,b,f,g){if("in"===a)return new m(b,f);if("do"===a)return this.generateDo(b);if("new"===a){if(b instanceof d&&!b["do"]&&!b.isNew)return b.newInstance();if(b instanceof
l&&b.bound||b["do"])b=new B(b)}this.operator=c[a]||a;this.first=b;this.second=f;this.flip=!!g;return this}var c,f;ma(b,a);c={"\x3d\x3d":"\x3d\x3d\x3d","!\x3d":"!\x3d\x3d",of:"in",yieldfrom:"yield*"};f={"!\x3d\x3d":"\x3d\x3d\x3d","\x3d\x3d\x3d":"!\x3d\x3d"};b.prototype.children=["first","second"];b.prototype.isNumber=function(){var a;return this.isUnary()&&("+"===(a=this.operator)||"-"===a)&&this.first instanceof M&&this.first.isNumber()};b.prototype.isYield=function(){var a;return"yield"===(a=this.operator)||
"yield*"===a};b.prototype.isUnary=function(){return!this.second};b.prototype.isComplex=function(){return!this.isNumber()};b.prototype.isChainable=function(){var a;return"\x3c"===(a=this.operator)||"\x3e"===a||"\x3e\x3d"===a||"\x3c\x3d"===a||"\x3d\x3d\x3d"===a||"!\x3d\x3d"===a};b.prototype.invert=function(){var a,c,d;if(this.isChainable()&&this.first.isChainable()){a=!0;for(c=this;c&&c.operator;)a&&(a=c.operator in f),c=c.first;if(!a)return(new B(this)).invert();for(c=this;c&&c.operator;)c.invert=
!c.invert,c.operator=f[c.operator],c=c.first;return this}return(c=f[this.operator])?(this.operator=c,this.first.unwrap()instanceof b&&this.first.invert(),this):this.second?(new B(this)).invert():"!"===this.operator&&(a=this.first.unwrap())instanceof b&&("!"===(d=a.operator)||"in"===d||"instanceof"===d)?a:new b("!",this)};b.prototype.unfoldSoak=function(a){var b;return("++"===(b=this.operator)||"--"===b||"delete"===b)&&Na(a,this,"first")};b.prototype.generateDo=function(a){var b,c,f,g,p;g=[];p=(a instanceof
D&&(b=a.value.unwrap())instanceof l?b:a).params||[];b=0;for(c=p.length;b<c;b++)f=p[b],f.value?(g.push(f.value),delete f.value):g.push(f);a=new d(a,g);a["do"]=!0;return a};b.prototype.compileNode=function(a){var b,c;b=this.isChainable()&&this.first.isChainable();b||(this.first.front=this.front);"delete"===this.operator&&a.scope.check(this.first.unwrapAll().value)&&this.error("delete operand may not be argument or var");("--"===(c=this.operator)||"++"===c)&&(c=Ga(this.first.unwrapAll().value))&&this.first.error(c);
if(this.isYield())return this.compileYield(a);if(this.isUnary())return this.compileUnary(a);if(b)return this.compileChain(a);switch(this.operator){case "?":return this.compileExistence(a);case "**":return this.compilePower(a);case "//":return this.compileFloorDivision(a);case "%%":return this.compileModulo(a);default:return b=this.first.compileToFragments(a,K),c=this.second.compileToFragments(a,K),b=[].concat(b,this.makeCode(" "+this.operator+" "),c),a.level<=K?b:this.wrapInBraces(b)}};b.prototype.compileChain=
function(a){var b;b=this.first.second.cache(a);this.first.second=b[0];b=b[1];a=this.first.compileToFragments(a,K).concat(this.makeCode(" "+(this.invert?"\x26\x26":"||")+" "),b.compileToFragments(a),this.makeCode(" "+this.operator+" "),this.second.compileToFragments(a,K));return this.wrapInBraces(a)};b.prototype.compileExistence=function(a){var b,c;this.first.isComplex()?(c=new x(a.scope.freeVariable("ref")),b=new B(new D(c,this.first))):c=b=this.first;return(new E(new w(b),c,{type:"if"})).addElse(this.second).compileToFragments(a)};
b.prototype.compileUnary=function(a){var c,d,f;d=[];c=this.operator;d.push([this.makeCode(c)]);if("!"===c&&this.first instanceof w)return this.first.negated=!this.first.negated,this.first.compileToFragments(a);if(a.level>=q)return(new B(this)).compileToFragments(a);f="+"===c||"-"===c;("new"===c||"typeof"===c||"delete"===c||f&&this.first instanceof b&&this.first.operator===c)&&d.push([this.makeCode(" ")]);if(f&&this.first instanceof b||"new"===c&&this.first.isStatement(a))this.first=new B(this.first);
d.push(this.first.compileToFragments(a,K));this.flip&&d.reverse();return this.joinFragmentArrays(d,"")};b.prototype.compileYield=function(a){var b,c,d;c=[];b=this.operator;null==a.scope.parent&&this.error("yield can only occur inside functions");0<=Ha.call(Object.keys(this.first),"expression")&&!(this.first instanceof fa)?null!=this.first.expression&&c.push(this.first.expression.compileToFragments(a,K)):(a.level>=O&&c.push([this.makeCode("(")]),c.push([this.makeCode(b)]),""!==(null!=(d=this.first.base)?
d.value:void 0)&&c.push([this.makeCode(" ")]),c.push(this.first.compileToFragments(a,K)),a.level>=O&&c.push([this.makeCode(")")]));return this.joinFragmentArrays(c,"")};b.prototype.compilePower=function(a){var b;b=new M(new x("Math"),[new ta(new N("pow"))]);return(new d(b,[this.first,this.second])).compileToFragments(a)};b.prototype.compileFloorDivision=function(a){var c,f;f=new M(new x("Math"),[new ta(new N("floor"))]);c=new b("/",this.first,this.second);return(new d(f,[c])).compileToFragments(a)};
b.prototype.compileModulo=function(a){var b;b=new M(new y(za("modulo",a)));return(new d(b,[this.first,this.second])).compileToFragments(a)};b.prototype.toString=function(a){return b.__super__.toString.call(this,a,this.constructor.name+" "+this.operator)};return b}(a);f.In=m=function(a){function b(a,b){this.object=a;this.array=b}ma(b,a);b.prototype.children=["object","array"];b.prototype.invert=S;b.prototype.compileNode=function(a){var b,c,e,d,f;if(this.array instanceof M&&this.array.isArray()&&this.array.base.objects.length){f=
this.array.base.objects;c=0;for(e=f.length;c<e;c++)if(d=f[c],d instanceof Q){b=!0;break}if(!b)return this.compileOrTest(a)}return this.compileLoopTest(a)};b.prototype.compileOrTest=function(a){var b,c,e,d,f,g,p,h,k,m;b=this.object.cache(a,K);k=b[0];p=b[1];c=this.negated?[" !\x3d\x3d "," \x26\x26 "]:[" \x3d\x3d\x3d "," || "];b=c[0];c=c[1];m=[];h=this.array.base.objects;e=f=0;for(g=h.length;f<g;e=++f)d=h[e],e&&m.push(this.makeCode(c)),m=m.concat(e?p:k,this.makeCode(b),d.compileToFragments(a,q));return a.level<
K?m:this.wrapInBraces(m)};b.prototype.compileLoopTest=function(a){var b,c,e;b=this.object.cache(a,h);e=b[0];c=b[1];b=[].concat(this.makeCode(za("indexOf",a)+".call("),this.array.compileToFragments(a,h),this.makeCode(", "),c,this.makeCode(") "+(this.negated?"\x3c 0":"\x3e\x3d 0")));if(Da(e)===Da(c))return b;b=e.concat(this.makeCode(", "),b);return a.level<h?b:this.wrapInBraces(b)};b.prototype.toString=function(a){return b.__super__.toString.call(this,a,this.constructor.name+(this.negated?"!":""))};
return b}(a);f.Try=function(a){function b(a,b,c,e){this.attempt=a;this.errorVariable=b;this.recovery=c;this.ensure=e}ma(b,a);b.prototype.children=["attempt","recovery","ensure"];b.prototype.isStatement=ha;b.prototype.jumps=function(a){var b;return this.attempt.jumps(a)||(null!=(b=this.recovery)?b.jumps(a):void 0)};b.prototype.makeReturn=function(a){this.attempt&&(this.attempt=this.attempt.makeReturn(a));this.recovery&&(this.recovery=this.recovery.makeReturn(a));return this};b.prototype.compileNode=
function(a){var b,c,e,d,f;a.indent+=ba;f=this.attempt.compileToFragments(a,H);b=this.recovery?(c=a.scope.freeVariable("error",{reserve:!1}),d=new x(c),this.errorVariable?(e=Ga(this.errorVariable.unwrapAll().value),e?this.errorVariable.error(e):void 0,this.recovery.unshift(new D(this.errorVariable,d))):void 0,[].concat(this.makeCode(" catch ("),d.compileToFragments(a),this.makeCode(") {\n"),this.recovery.compileToFragments(a,H),this.makeCode("\n"+this.tab+"}"))):this.ensure||this.recovery?[]:(c=a.scope.freeVariable("error",
{reserve:!1}),[this.makeCode(" catch ("+c+") {}")]);a=this.ensure?[].concat(this.makeCode(" finally {\n"),this.ensure.compileToFragments(a,H),this.makeCode("\n"+this.tab+"}")):[];return[].concat(this.makeCode(this.tab+"try {\n"),f,this.makeCode("\n"+this.tab+"}"),b,a)};return b}(a);f.Throw=fa=function(a){function b(a){this.expression=a}ma(b,a);b.prototype.children=["expression"];b.prototype.isStatement=ha;b.prototype.jumps=P;b.prototype.makeReturn=da;b.prototype.compileNode=function(a){return[].concat(this.makeCode(this.tab+
"throw "),this.expression.compileToFragments(a),this.makeCode(";"))};return b}(a);f.Existence=w=function(a){function b(a){this.expression=a}ma(b,a);b.prototype.children=["expression"];b.prototype.invert=S;b.prototype.compileNode=function(a){var b,c,e;this.expression.front=this.front;e=this.expression.compile(a,K);this.expression.unwrap()instanceof x&&!a.scope.check(e)?(c=this.negated?["\x3d\x3d\x3d","||"]:["!\x3d\x3d","\x26\x26"],b=c[0],c=c[1],e="typeof "+e+" "+b+' "undefined" '+c+" "+e+" "+b+" null"):
e=e+" "+(this.negated?"\x3d\x3d":"!\x3d")+" null";return[this.makeCode(a.level<=k?e:"("+e+")")]};return b}(a);f.Parens=B=function(a){function b(a){this.body=a}ma(b,a);b.prototype.children=["body"];b.prototype.unwrap=function(){return this.body};b.prototype.isComplex=function(){return this.body.isComplex()};b.prototype.compileNode=function(a){var b,c;b=this.body.unwrap();if(b instanceof M&&b.isAtomic())return b.front=this.front,b.compileToFragments(a);c=b.compileToFragments(a,O);return a.level<K&&
(b instanceof A||b instanceof d||b instanceof I&&b.returns)?c:this.wrapInBraces(c)};return b}(a);f.StringWithInterpolations=Xa=function(a){function b(){return b.__super__.constructor.apply(this,arguments)}ma(b,a);b.prototype.compileNode=function(a){var c,d,e,f,g;if(!a.inTaggedTemplateCall)return b.__super__.compileNode.apply(this,arguments);e=this.body.unwrap();d=[];e.traverseChildren(!1,function(a){if(a instanceof Za)d.push(a);else if(a instanceof B)return d.push(a),!1;return!0});e=[];e.push(this.makeCode("`"));
f=0;for(g=d.length;f<g;f++)c=d[f],c instanceof Za?(c=c.value.slice(1,-1),c=c.replace(/(\\*)(`|\$\{)/g,function(a,b,c){return 0===b.length%2?b+"\\"+c:a}),e.push(this.makeCode(c))):(e.push(this.makeCode("${")),e.push.apply(e,c.compileToFragments(a,O)),e.push(this.makeCode("}")));e.push(this.makeCode("`"));return e};return b}(B);f.For=I=function(a){function b(a,b){this.source=b.source;this.guard=b.guard;this.step=b.step;this.name=b.name;this.index=b.index;this.body=c.wrap([a]);this.own=!!b.own;this.object=
!!b.object;(this.from=!!b.from)&&this.index&&this.index.error("cannot use index with for-from");this.own&&!this.object&&b.ownTag.error("cannot use own with for-"+(this.from?"from":"in"));this.object&&(a=[this.index,this.name],this.name=a[0],this.index=a[1]);this.index instanceof M&&this.index.error("index cannot be a pattern matching expression");this.range=this.source instanceof M&&this.source.base instanceof X&&!this.source.properties.length&&!this.from;this.pattern=this.name instanceof M;this.range&&
this.index&&this.index.error("indexes do not apply to range loops");this.range&&this.pattern&&this.name.error("cannot pattern match over range loops");this.returns=!1}ma(b,a);b.prototype.children=["body","source","guard","step"];b.prototype.compileNode=function(a){var b,d,e,f,g,p,k,m,q,l,r,n,t,v,u,K,A,z,C,w,G;b=c.wrap([this.body]);q=b.expressions;q=q[q.length-1];(null!=q?q.jumps():void 0)instanceof V&&(this.returns=!1);u=this.range?this.source.base:this.source;e=a.scope;this.pattern||(m=this.name&&
this.name.compile(a,h));q=this.index&&this.index.compile(a,h);m&&!this.pattern&&e.find(m);q&&e.find(q);this.returns&&(k=e.freeVariable("results"));this.from?this.pattern&&(r=e.freeVariable("x",{single:!0})):r=this.object&&q||e.freeVariable("i",{single:!0});n=(this.range||this.from)&&m||q||r;t=n!==r?n+" \x3d ":"";this.step&&!this.range&&(q=this.cacheToCodeFragments(this.step.cache(a,h,sa)),g=q[0],C=q[1],this.step.isNumber()&&(z=Number(C)));this.pattern&&(m=r);p=q=G="";l=this.tab+ba;this.range?f=u.compileToFragments(Fa(a,
{index:r,name:m,step:this.step,isComplex:sa})):(w=this.source.compile(a,h),!m&&!this.own||this.source.unwrap()instanceof x||(p+=""+this.tab+(u=e.freeVariable("ref"))+" \x3d "+w+";\n",w=u),!m||this.pattern||this.from||(v=m+" \x3d "+w+"["+n+"]"),this.object||this.from||(g!==C&&(p+=""+this.tab+g+";\n"),m=0>z,this.step&&null!=z&&m||(d=e.freeVariable("len")),f=""+t+r+" \x3d 0, "+d+" \x3d "+w+".length",g=""+t+r+" \x3d "+w+".length - 1",d=r+" \x3c "+d,e=r+" \x3e\x3d 0",this.step?(null!=z?m&&(d=e,f=g):(d=
C+" \x3e 0 ? "+d+" : "+e,f="("+C+" \x3e 0 ? ("+f+") : "+g+")"),r=r+" +\x3d "+C):r=""+(n!==r?"++"+r:r+"++"),f=[this.makeCode(f+"; "+d+"; "+t+r)]));this.returns&&(K=""+this.tab+k+" \x3d [];\n",A="\n"+this.tab+"return "+k+";",b.makeReturn(k));this.guard&&(1<b.expressions.length?b.expressions.unshift(new E((new B(this.guard)).invert(),new ya("continue"))):this.guard&&(b=c.wrap([new E(this.guard,b)])));this.pattern&&b.expressions.unshift(new D(this.name,this.from?new x(n):new y(w+"["+n+"]")));k=[].concat(this.makeCode(p),
this.pluckDirectCall(a,b));v&&(G="\n"+l+v+";");this.object?(f=[this.makeCode(n+" in "+w)],this.own&&(q="\n"+l+"if (!"+za("hasProp",a)+".call("+w+", "+n+")) continue;")):this.from&&(f=[this.makeCode(n+" of "+w)]);(a=b.compileToFragments(Fa(a,{indent:l}),H))&&0<a.length&&(a=[].concat(this.makeCode("\n"),a,this.makeCode("\n")));return[].concat(k,this.makeCode(""+(K||"")+this.tab+"for ("),f,this.makeCode(") {"+q+G),a,this.makeCode(this.tab+"}"+(A||"")))};b.prototype.pluckDirectCall=function(a,b){var c,
e,f,g,h,m,p,k,q,r,n,t,y,v,u;e=[];q=b.expressions;h=m=0;for(p=q.length;m<p;h=++m)if(f=q[h],f=f.unwrapAll(),f instanceof d&&(u=null!=(r=f.variable)?r.unwrapAll():void 0,u instanceof l||u instanceof M&&(null!=(n=u.base)?n.unwrapAll():void 0)instanceof l&&1===u.properties.length&&("call"===(t=null!=(y=u.properties[0].name)?y.value:void 0)||"apply"===t)))g=(null!=(v=u.base)?v.unwrapAll():void 0)||u,k=new x(a.scope.freeVariable("fn")),c=new M(k),u.base&&(c=[c,u],u.base=c[0],c=c[1]),b.expressions[h]=new d(c,
f.args),e=e.concat(this.makeCode(this.tab),(new D(k,g)).compileToFragments(a,H),this.makeCode(";\n"));return e};return b}(n);f.Switch=function(a){function b(a,b,c){this.subject=a;this.cases=b;this.otherwise=c}ma(b,a);b.prototype.children=["subject","cases","otherwise"];b.prototype.isStatement=ha;b.prototype.jumps=function(a){var b,c,e,d,f;null==a&&(a={block:!0});d=this.cases;c=0;for(e=d.length;c<e;c++)if(b=d[c],b=b[1],b=b.jumps(a))return b;return null!=(f=this.otherwise)?f.jumps(a):void 0};b.prototype.makeReturn=
function(a){var b,d,e,f,g;f=this.cases;b=0;for(d=f.length;b<d;b++)e=f[b],e[1].makeReturn(a);a&&(this.otherwise||(this.otherwise=new c([new y("void 0")])));null!=(g=this.otherwise)&&g.makeReturn(a);return this};b.prototype.compileNode=function(a){var b,c,e,d,f,g,h,m,k,p,q,r,l;h=a.indent+ba;m=a.indent=h+ba;g=[].concat(this.makeCode(this.tab+"switch ("),this.subject?this.subject.compileToFragments(a,O):this.makeCode("false"),this.makeCode(") {\n"));r=this.cases;f=k=0;for(p=r.length;k<p;f=++k){b=r[f];
d=b[0];b=b[1];l=la([d]);d=0;for(q=l.length;d<q;d++)e=l[d],this.subject||(e=e.invert()),g=g.concat(this.makeCode(h+"case "),e.compileToFragments(a,O),this.makeCode(":\n"));0<(c=b.compileToFragments(a,H)).length&&(g=g.concat(c,this.makeCode("\n")));if(f===this.cases.length-1&&!this.otherwise)break;f=this.lastNonComment(b.expressions);f instanceof V||f instanceof y&&f.jumps()&&"debugger"!==f.value||g.push(e.makeCode(m+"break;\n"))}this.otherwise&&this.otherwise.expressions.length&&g.push.apply(g,[this.makeCode(h+
"default:\n")].concat(Aa.call(this.otherwise.compileToFragments(a,H)),[this.makeCode("\n")]));g.push(this.makeCode(this.tab+"}"));return g};return b}(a);f.If=E=function(a){function b(a,b,c){this.body=b;null==c&&(c={});this.condition="unless"===c.type?a.invert():a;this.elseBody=null;this.isChain=!1;this.soak=c.soak}ma(b,a);b.prototype.children=["condition","body","elseBody"];b.prototype.bodyNode=function(){var a;return null!=(a=this.body)?a.unwrap():void 0};b.prototype.elseBodyNode=function(){var a;
return null!=(a=this.elseBody)?a.unwrap():void 0};b.prototype.addElse=function(a){this.isChain?this.elseBodyNode().addElse(a):(this.isChain=a instanceof b,this.elseBody=this.ensureBlock(a),this.elseBody.updateLocationDataIfMissing(a.locationData));return this};b.prototype.isStatement=function(a){var b;return(null!=a?a.level:void 0)===H||this.bodyNode().isStatement(a)||(null!=(b=this.elseBodyNode())?b.isStatement(a):void 0)};b.prototype.jumps=function(a){var b;return this.body.jumps(a)||(null!=(b=
this.elseBody)?b.jumps(a):void 0)};b.prototype.compileNode=function(a){return this.isStatement(a)?this.compileStatement(a):this.compileExpression(a)};b.prototype.makeReturn=function(a){a&&(this.elseBody||(this.elseBody=new c([new y("void 0")])));this.body&&(this.body=new c([this.body.makeReturn(a)]));this.elseBody&&(this.elseBody=new c([this.elseBody.makeReturn(a)]));return this};b.prototype.ensureBlock=function(a){return a instanceof c?a:new c([a])};b.prototype.compileStatement=function(a){var c,
d,e,f;c=na(a,"chainChild");if(na(a,"isExistentialEquals"))return(new b(this.condition.invert(),this.elseBodyNode(),{type:"if"})).compileToFragments(a);f=a.indent+ba;e=this.condition.compileToFragments(a,O);d=this.ensureBlock(this.body).compileToFragments(Fa(a,{indent:f}));d=[].concat(this.makeCode("if ("),e,this.makeCode(") {\n"),d,this.makeCode("\n"+this.tab+"}"));c||d.unshift(this.makeCode(this.tab));if(!this.elseBody)return d;c=d.concat(this.makeCode(" else "));this.isChain?(a.chainChild=!0,c=
c.concat(this.elseBody.unwrap().compileToFragments(a,H))):c=c.concat(this.makeCode("{\n"),this.elseBody.compileToFragments(Fa(a,{indent:f}),H),this.makeCode("\n"+this.tab+"}"));return c};b.prototype.compileExpression=function(a){var b,c,e;e=this.condition.compileToFragments(a,k);c=this.bodyNode().compileToFragments(a,h);b=this.elseBodyNode()?this.elseBodyNode().compileToFragments(a,h):[this.makeCode("void 0")];b=e.concat(this.makeCode(" ? "),c,this.makeCode(" : "),b);return a.level>=k?this.wrapInBraces(b):
b};b.prototype.unfoldSoak=function(){return this.soak&&this};return b}(a);ka={extend:function(a){return"function(child, parent) { for (var key in parent) { if ("+za("hasProp",a)+".call(parent, key)) child[key] \x3d parent[key]; } function ctor() { this.constructor \x3d child; } ctor.prototype \x3d parent.prototype; child.prototype \x3d new ctor(); child.__super__ \x3d parent.prototype; return child; }"},bind:function(){return"function(fn, me){ return function(){ return fn.apply(me, arguments); }; }"},
indexOf:function(){return"[].indexOf || function(item) { for (var i \x3d 0, l \x3d this.length; i \x3c l; i++) { if (i in this \x26\x26 this[i] \x3d\x3d\x3d item) return i; } return -1; }"},modulo:function(){return"function(a, b) { return (+a % (b \x3d +b) + b) % b; }"},hasProp:function(){return"{}.hasOwnProperty"},slice:function(){return"[].slice"}};H=1;O=2;h=3;k=4;K=5;q=6;ba="  ";U=/^[+-]?\d+$/;za=function(a,b){var c,d;d=b.scope.root;if(a in d.utilities)return d.utilities[a];c=d.freeVariable(a);
d.assign(c,ka[a](b));return d.utilities[a]=c};Pa=function(a,b){a=a.replace(/\n/g,"$\x26"+b);return a.replace(/\s+$/,"")};Ja=function(a){return a instanceof x&&"arguments"===a.value};Ta=function(a){return a instanceof ga||a instanceof l&&a.bound||a instanceof ia};sa=function(a){return a.isComplex()||("function"===typeof a.isAssignable?a.isAssignable():void 0)};Na=function(a,b,c){if(a=b[c].unfoldSoak(a))return b[c]=a.body,a.body=new M(b),a}}).call(this);return f}();t["./sourcemap"]=function(){var f=
{};(function(){var t;t=function(){function f(f){this.line=f;this.columns=[]}f.prototype.add=function(f,a,c){var t;t=a[0];a=a[1];null==c&&(c={});if(!this.columns[f]||!c.noReplace)return this.columns[f]={line:this.line,column:f,sourceLine:t,sourceColumn:a}};f.prototype.sourceLocation=function(f){for(var a;!((a=this.columns[f])||0>=f);)f--;return a&&[a.sourceLine,a.sourceColumn]};return f}();f=function(){function f(){this.lines=[]}f.prototype.add=function(f,a,c){var D,d;null==c&&(c={});d=a[0];a=a[1];
return((D=this.lines)[d]||(D[d]=new t(d))).add(a,f,c)};f.prototype.sourceLocation=function(f){var a,c;a=f[0];for(f=f[1];!((c=this.lines[a])||0>=a);)a--;return c&&c.sourceLocation(f)};f.prototype.generate=function(f,a){var c,t,d,v,l,u,D,w,z,n,G,L,I;null==f&&(f={});null==a&&(a=null);l=u=v=I=0;n=!1;c="";G=this.lines;d=t=0;for(D=G.length;t<D;d=++t)if(d=G[d])for(L=d.columns,d=0,w=L.length;d<w;d++)if(z=L[d]){for(;I<z.line;)v=0,n=!1,c+=";",I++;n&&(c+=",");c+=this.encodeVlq(z.column-v);v=z.column;c+=this.encodeVlq(0);
c+=this.encodeVlq(z.sourceLine-u);u=z.sourceLine;c+=this.encodeVlq(z.sourceColumn-l);l=z.sourceColumn;n=!0}c={version:3,file:f.generatedFile||"",sourceRoot:f.sourceRoot||"",sources:f.sourceFiles||[""],names:[],mappings:c};f.inlineMap&&(c.sourcesContent=[a]);return c};f.prototype.encodeVlq=function(f){var a,c;a="";for(c=(Math.abs(f)<<1)+(0>f?1:0);c||!a;)f=c&31,(c>>=5)&&(f|=32),a+=this.encodeBase64(f);return a};f.prototype.encodeBase64=function(f){var a;if(!(a="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"[f]))throw Error("Cannot Base64 encode value: "+
f);return a};return f}()}).call(this);return f}();t["./coffee-script"]=function(){var f={};(function(){var pa,xa,D,a,c,Ca,d,v,l,u,F,w,z,n,G,L,I,x,E={}.hasOwnProperty;v=t("fs");x=t("vm");G=t("path");pa=t("./lexer").Lexer;n=t("./parser").parser;u=t("./helpers");xa=t("./sourcemap");f.VERSION="1.12.0";f.FILE_EXTENSIONS=[".coffee",".litcoffee",".coffee.md"];f.helpers=u;D=function(a){switch(!1){case "function"!==typeof Buffer:return(new Buffer(a)).toString("base64");case "function"!==typeof btoa:return btoa(encodeURIComponent(a).replace(/%([0-9A-F]{2})/g,
function(a,c){return String.fromCharCode("0x"+c)}));default:throw Error("Unable to base64 encode inline sourcemap.");}};Ca=function(a){return function(c,d){null==d&&(d={});try{return a.call(this,c,d)}catch(q){if("string"!==typeof c)throw q;throw u.updateSyntaxError(q,c,d.filename);}}};f.compile=a=Ca(function(a,c){var d,f,g,h,m,l,t,x,v,w,G,E;g=u.extend;c=g({},c);(g=c.sourceMap||c.inlineMap)&&(v=new xa);f=z.tokenize(a,c);h=c;x=[];m=0;for(l=f.length;m<l;m++)d=f[m],"IDENTIFIER"===d[0]&&x.push(d[1]);h.referencedVars=
x;if(null==c.bare||!0!==c.bare)for(h=0,m=f.length;h<m;h++)if(d=f[h],"IMPORT"===(t=d[0])||"EXPORT"===t){c.bare=!0;break}m=n.parse(f).compileToFragments(c);f=0;c.header&&(f+=1);c.shiftLine&&(f+=1);d=0;t="";l=0;for(x=m.length;l<x;l++)h=m[l],g&&(h.locationData&&!/^[;\s]*$/.test(h.code)&&v.add([h.locationData.first_line,h.locationData.first_column],[f,d],{noReplace:!0}),w=u.count(h.code,"\n"),f+=w,d=w?h.code.length-(h.code.lastIndexOf("\n")+1):d+h.code.length),t+=h.code;c.header&&(d="Generated by CoffeeScript "+
this.VERSION,t="// "+d+"\n"+t);g&&(E=v.generate(c,a));c.inlineMap&&(a=D(JSON.stringify(E)),g="//# sourceURL\x3d"+(null!=(G=c.filename)?G:"coffeescript"),t=t+"\n"+("//# sourceMappingURL\x3ddata:application/json;base64,"+a)+"\n"+g);return c.sourceMap?{js:t,sourceMap:v,v3SourceMap:JSON.stringify(E,null,2)}:t});f.tokens=Ca(function(a,c){return z.tokenize(a,c)});f.nodes=Ca(function(a,c){return"string"===typeof a?n.parse(z.tokenize(a,c)):n.parse(a)});f.run=function(c,d){var f,g,k;null==d&&(d={});g=t.main;
g.filename=process.argv[1]=d.filename?v.realpathSync(d.filename):".";g.moduleCache&&(g.moduleCache={});f=d.filename?G.dirname(v.realpathSync(d.filename)):v.realpathSync(".");g.paths=t("module")._nodeModulePaths(f);if(!u.isCoffee(g.filename)||t.extensions)c=a(c,d),c=null!=(k=c.js)?k:c;return g._compile(c,g.filename)};f.eval=function(c,d){var f,g,k,h,m,l,n,u,v,w;null==d&&(d={});if(c=c.trim()){h=null!=(m=x.Script.createContext)?m:x.createContext;m=null!=(k=x.isContext)?k:function(a){return d.sandbox instanceof
h().constructor};if(h){if(null!=d.sandbox){if(m(d.sandbox))w=d.sandbox;else for(l in w=h(),m=d.sandbox,m)E.call(m,l)&&(k=m[l],w[l]=k);w.global=w.root=w.GLOBAL=w}else w=global;w.__filename=d.filename||"eval";w.__dirname=G.dirname(w.__filename);if(w===global&&!w.module&&!w.require){f=t("module");w.module=g=new f(d.modulename||"eval");w.require=k=function(a){return f._load(a,g,!0)};g.filename=w.__filename;v=Object.getOwnPropertyNames(t);m=0;for(n=v.length;m<n;m++)u=v[m],"paths"!==u&&"arguments"!==u&&
"caller"!==u&&(k[u]=t[u]);k.paths=g.paths=f._nodeModulePaths(process.cwd());k.resolve=function(a){return f._resolveFilename(a,g)}}}m={};for(l in d)E.call(d,l)&&(k=d[l],m[l]=k);m.bare=!0;c=a(c,m);return w===global?x.runInThisContext(c):x.runInContext(c,w)}};f.register=function(){return t("./register")};if(t.extensions)for(L=this.FILE_EXTENSIONS,Ca=function(a){var c;return null!=(c=t.extensions)[a]?c[a]:c[a]=function(){throw Error("Use CoffeeScript.register() or require the coffee-script/register module to require "+
a+" files.");}},F=0,w=L.length;F<w;F++)c=L[F],Ca(c);f._compileFile=function(c,d,f){var g,k;null==d&&(d=!1);null==f&&(f=!1);k=v.readFileSync(c,"utf8");k=65279===k.charCodeAt(0)?k.substring(1):k;try{g=a(k,{filename:c,sourceMap:d,inlineMap:f,sourceFiles:[c],literate:u.isLiterate(c)})}catch(h){throw u.updateSyntaxError(h,k,c);}return g};z=new pa;n.lexer={lex:function(){var a,c;(c=n.tokens[this.pos++])?(a=c[0],this.yytext=c[1],this.yylloc=c[2],n.errorToken=c.origin||c,this.yylineno=this.yylloc.first_line):
a="";return a},setInput:function(a){n.tokens=a;return this.pos=0},upcomingInput:function(){return""}};n.yy=t("./nodes");n.yy.parseError=function(a,c){var d,f,g,h;g=n.errorToken;h=n.tokens;d=g[0];f=g[1];a=g[2];f=function(){switch(!1){case g!==h[h.length-1]:return"end of input";case "INDENT"!==d&&"OUTDENT"!==d:return"indentation";case "IDENTIFIER"!==d&&"NUMBER"!==d&&"INFINITY"!==d&&"STRING"!==d&&"STRING_START"!==d&&"REGEX"!==d&&"REGEX_START"!==d:return d.replace(/_START$/,"").toLowerCase();default:return u.nameWhitespaceCharacter(f)}}();
return u.throwSyntaxError("unexpected "+f,a)};d=function(a,c){var d,f,g,h;a.isNative()?d="native":(a.isEval()?(f=a.getScriptNameOrSourceURL())||a.getEvalOrigin():f=a.getFileName(),f||(f="\x3canonymous\x3e"),g=a.getLineNumber(),d=a.getColumnNumber(),d=(c=c(f,g,d))?f+":"+c[0]+":"+c[1]:f+":"+g+":"+d);f=a.getFunctionName();g=a.isConstructor();if(a.isToplevel()||g)return g?"new "+(f||"\x3canonymous\x3e")+" ("+d+")":f?f+" ("+d+")":d;g=a.getMethodName();h=a.getTypeName();return f?(c=a="",h&&f.indexOf(h)&&
(c=h+"."),g&&f.indexOf("."+g)!==f.length-g.length-1&&(a=" [as "+g+"]"),""+c+f+a+" ("+d+")"):h+"."+(g||"\x3canonymous\x3e")+" ("+d+")"};I={};l=function(a){var d,m,l;if(I[a])return I[a];l=f.FILE_EXTENSIONS;d=0;for(m=l.length;d<m;d++)if(c=l[d],u.ends(a,c))return d=f._compileFile(a,!0),I[a]=d.sourceMap;return null};Error.prepareStackTrace=function(a,c){var g,m,k;k=function(a,c,d){var f;(a=l(a))&&(f=a.sourceLocation([c-1,d-1]));return f?[f[0]+1,f[1]+1]:null};m=function(){var a,m,l;l=[];a=0;for(m=c.length;a<
m;a++){g=c[a];if(g.getFunction()===f.run)break;l.push("  at "+d(g,k))}return l}();return a.toString()+"\n"+m.join("\n")+"\n"}}).call(this);return f}();t["./browser"]=function(){(function(){var f,pa,xa,D=[].indexOf||function(a){for(var c=0,f=this.length;c<f;c++)if(c in this&&this[c]===a)return c;return-1};f=t("./coffee-script");f.require=t;pa=f.compile;f.eval=function(a,c){null==c&&(c={});null==c.bare&&(c.bare=!0);return eval(pa(a,c))};f.run=function(a,c){null==c&&(c={});c.bare=!0;c.shiftLine=!0;return Function(pa(a,
c))()};"undefined"!==typeof window&&null!==window&&("undefined"!==typeof btoa&&null!==btoa&&"undefined"!==typeof JSON&&null!==JSON&&(pa=function(a,c){null==c&&(c={});c.inlineMap=!0;return f.compile(a,c)}),f.load=function(a,c,t,d){var v;null==t&&(t={});null==d&&(d=!1);t.sourceFiles=[a];v=window.ActiveXObject?new window.ActiveXObject("Microsoft.XMLHTTP"):new window.XMLHttpRequest;v.open("GET",a,!0);"overrideMimeType"in v&&v.overrideMimeType("text/plain");v.onreadystatechange=function(){var l;if(4===
v.readyState){if(0===(l=v.status)||200===l)l=[v.responseText,t],d||f.run.apply(f,l);else throw Error("Could not load "+a);if(c)return c(l)}};return v.send(null)},xa=function(){var a,c,t,d,v,l,u,F,w,z,n;n=window.document.getElementsByTagName("script");c=["text/coffeescript","text/literate-coffeescript"];a=function(){var a,d,f,l;l=[];a=0;for(d=n.length;a<d;a++)w=n[a],(f=w.type,0<=D.call(c,f))&&l.push(w);return l}();l=0;t=function(){var c;c=a[l];if(c instanceof Array)return f.run.apply(f,c),l++,t()};
d=function(d,l){var n,u;n={literate:d.type===c[1]};if(u=d.src||d.getAttribute("data-src"))return f.load(u,function(c){a[l]=c;return t()},n,!0);n.sourceFiles=["embedded"];return a[l]=[d.innerHTML,n]};v=u=0;for(F=a.length;u<F;v=++u)z=a[v],d(z,v);return t()},window.addEventListener?window.addEventListener("DOMContentLoaded",xa,!1):window.attachEvent("onload",xa))}).call(this);return{}}();return t["./coffee-script"]}();"function"===typeof define&&define.amd?define(function(){return ya}):t.CoffeeScript=
ya})(this);
define [], () ->
  () ->
    throw new Error "Bad stuff"
    "asdf"