This repository has been archived by the owner on May 1, 2021. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathclio.js
1 lines (1 loc) · 220 KB
/
clio.js
1
!function(){return function e(t,n,i){function o(s,a){if(!n[s]){if(!t[s]){var c="function"==typeof require&&require;if(!a&&c)return c(s,!0);if(r)return r(s,!0);var l=new Error("Cannot find module '"+s+"'");throw l.code="MODULE_NOT_FOUND",l}var _=n[s]={exports:{}};t[s][0].call(_.exports,function(e){return o(t[s][1][e]||e)},_,_.exports,e,t,n,i)}return n[s].exports}for(var r="function"==typeof require&&require,s=0;s<i.length;s++)o(i[s]);return o}}()({"/home/pouya/Projects/clio-lang/clio/browser.js":[function(require,module,exports){const treeify=require("treeify"),lexer=require("./lexer/lexer"),parser=require("./parser/parser"),analyzer=require("./evaluator/analyzer"),{clio_require_browser:clio_require_browser}=require("./internals/import");var builtins=require("./internals/builtins");function remove_props(e,t){e instanceof Array?e.forEach(function(e){remove_props(e,t)}):"object"==typeof e&&Object.getOwnPropertyNames(e).forEach(function(n){-1!==t.indexOf(n)?delete e[n]:remove_props(e[n],t)})}function print_ast(e,t){remove_props(e,"index"),t(treeify.asTree(e,!0))}function compile(e){var t=lexer(e)[1],n=parser(e,t)[1];return"eof"==n[n.length-1].name&&n.pop(),analyzer(n,e)}async function clio_process_source(source,out,info,printfn,__dirname){__dirname||(__dirname=window.location.href.replace(/\?[^\/#]*/,"").replace(/#.*/,"").replace(/[^\/]+\.[^\/]+$/,""));var tokens=lexer(source);if(0!=tokens[0]){tokens=tokens[1];var t1=(new Date).getTime(),result=parser(source,tokens),t2=(new Date).getTime(),ast=result[1];if("ast"==out)info&&printfn(`Ast time: ${(t2-t1)/1e3}s`),print_ast(ast,printfn);else{ast.pop();var code=analyzer(ast,source),t3=(new Date).getTime();if("run"==out){builtins.print=async function(...e){e=await Promise.all(e.map(e=>window.clio.builtins.string(e,!0)).map(window.clio.builtins.value));return printfn(...e),e[0]};var module={};eval(code),await module.exports({},window.clio.builtins)}var t4=(new Date).getTime();info&&setTimeout(function(){printfn(),printfn("-----------------------------------------"),printfn(`Ast time:\t${(t2-t1)/1e3}s`),printfn(`Compile time:\t${(t3-t2)/1e3}s`),printfn(`Eval time:\t${(t4-t3)/1e3}s`)},1)}}}function process_scripts(e){e||(e={}),document.addEventListener("DOMContentLoaded",function(){document.querySelectorAll('script[type="text/clio"]').forEach(function(t){clio_process_source(t.innerHTML,"run",!1,console.log,e.__dirname)})})}builtins.clio_require=clio_require_browser,builtins.get_symbol=function(e,t){return t.hasOwnProperty(e)?t[e]:window.clio.builtins.hasOwnProperty(e)?window.clio.builtins[e]:window.hasOwnProperty(e)?window[e]:new window.clio.builtins.Property(e)},window.clio_process_source=clio_process_source,window.clio={process:clio_process_source,builtins:builtins,process_scripts:process_scripts,is_browser:!0,compile:compile}},{"./evaluator/analyzer":"/home/pouya/Projects/clio-lang/clio/evaluator/analyzer.js","./internals/builtins":"/home/pouya/Projects/clio-lang/clio/internals/builtins.js","./internals/import":"/home/pouya/Projects/clio-lang/clio/internals/import.js","./lexer/lexer":"/home/pouya/Projects/clio-lang/clio/lexer/lexer.js","./parser/parser":"/home/pouya/Projects/clio-lang/clio/parser/parser.js",treeify:"/home/pouya/Projects/clio-lang/clio/node_modules/treeify/treeify.js"}],"/home/pouya/Projects/clio-lang/clio/common.js":[function(e,t,n){(function(t){var i=e("chalk");class o extends Error{constructor(e,t){super(e.message),this.prev=t,Error.captureStackTrace(this,o)}exit(){this.print_stack(),t.exit_code=1}print_stack(){console.log();for(var e=this.prev;e&&e.clio_stack;)e.clio_stack.forEach(function(e){r(e.file.source,e.file.name,e.trace.fn,e.trace.index)}),e=e.prev;var t=i.red(` Exception: ${this.message}\n`);console.log(t)}}function r(e,t,n,o){for(var r,s=e.split("\n"),a=[],c=0,l=0;c<=o;)r=s.shift(),a.push(r),(c+=r.length+1)<=o&&(l=c);var _,u=a.slice(Math.max(a.length-3,0)),p=(a.reduce(function(e,t){return e+t.length+1},0),a.length),h=o-l,f=p.toString().length;t=i.green(`"${t}"`),n=i.magenta.italic(n);var d=i.gray(` At file ${t} when calling ${n}:\n`);for(console.log(d);u.length>0;)r=u.shift(),_=(_=p-u.length).toString().padStart(f," "),_=i.cyan(_),r=i.cyan(` ${_} ${i.white("│")} ${r}`),console.log(r);var m=new Array(f+6+h).join(" ");p=i.yellow(p),h=i.yellow(h),d=i.gray(`${m} ^ At line ${p} char ${h}`),console.log(d),console.log()}n.throw_error=function(e,t,n){for(var i,o=e.split("\n"),r=[],s=0;s<=n;)i=o.shift(),r.push(i),s+=i.length+1;var a,c=r.slice(Math.max(r.length-3,0)),l=r.reduce(function(e,t){return e+t.length+1},0),_=r.length,u=n-(l-c[c.length-1].length)+1,p=_.toString().length;for(console.log();c.length>0;)i=c.shift(),a=(a=_-c.length).toString().padStart(p," "),console.log(`${a} │ ${i}`);var h=new Array(p+3+u).join(" ");console.log(`${h} ^ Exception at line ${_} char ${u}`),console.log(`${h} ${t}`),console.log()},n.exception_handler=function(e,t){throw e.constructor!=o&&(e=new o(e,t)),e},n.ClioException=o,n.cast_to_bool=function(e){switch(typeof e){case"boolean":return e;case"string":return""!=e;case"array":return e!=[];case"object":return e instanceof Array?e!=[]:e!={};case"number":return 0!=e;case"function":return!0;default:return!1}}}).call(this,e("_process"))},{_process:"/home/pouya/Projects/clio-lang/clio/node_modules/process/browser.js",chalk:"/home/pouya/Projects/clio-lang/clio/node_modules/chalk/index.js"}],"/home/pouya/Projects/clio-lang/clio/evaluator/analyzer.js":[function(e,t,n){const i=e("unescape-js"),{Decimal:o}=(e("../common").cast_to_bool,e("../internals/types"));t.exports=function(e,t){function n(e){if("conditional"==e.name){var t=e.tokens.map(n);return e.tokens=t,e}if(["if_statement","elif_statement","else_statement"].includes(e.name)){var i=e.tokens[e.tokens.length-1];"block"!=i.name&&(i={name:"block",tokens:[i]});var o=n(i.tokens[i.tokens.length-1]);return i.tokens[i.tokens.length-1]=o,e.tokens[e.tokens.length-1]=i,e}return{name:"return",tokens:[e]}}const o={return:function(e){return{code:`return ${r(e.tokens[0]).code}`}},number:function(e){return e.raw=e.raw.replace(/'/g,""),{code:`new builtins.Decimal('${e.raw}')`}},bool:function(e){return{code:e.raw}},symbol:function(e){return{code:`await builtins.funcall(['${e.raw}'], [scope], builtins.get_symbol, file, {index: ${e.index}, fn: '<get-symbol>'})`}},property_access:function(e){var t=`(new builtins.LazyCall(async () => (await builtins.value(${r(e.tokens.shift()).code}))))`;return{code:t=`(new builtins.LazyCall(async () => (await builtins.value(${t}))['${e.tokens.pop().raw}']))`}},string:function(e){return{code:`\`${i(e.raw).slice(1,-1)}\``}},word:function(e){return{code:`'${e.raw.slice(1)}'`}},atsign:function(e){return{code:"(new builtins.AtSign(0))"}},atnumber:function(e){return{code:`(new builtins.AtSign(${e.tokens[1].raw}))`}},notexpr:function(e){return{code:`(builtins.funcall([${r(e.tokens[0]).code}], [], builtins.not, file, {index: ${e.index}, fn: '<not>'}))`}},and_or_expr:function(e){var t=r(e.tokens),n=t[0].code.replace(/ *;+ *$/,""),i=t[2].code.replace(/ *;+ *$/,"");return{code:`((${n}) ${t[1]} (${i}))`}},wrapped_not:function(e){return r(e.tokens[0])},wrapped_and_or:function(e){return r(e.tokens[0])},or:function(e){return"||"},and:function(e){return"&&"},not:function(e){return"!"},list:function(e){return{code:`new builtins.Generator(\n (i, self) => self.data[i],\n ${`[${e.tokens.map(function(e){return r(e).code}).join(", ")}]`},\n self => self.data.length,\n )`}},hash_map:function(e){for(var t,n,i=[],o=0;o<e.tokens.length/2;o++)t=r(e.tokens[2*o]),n=r(e.tokens[2*o+1]),i.push(`${t.code}: ${n.code}`);var s=i.join(", ");return{code:s=`{${s}}`}},range:function(e){var t=e.tokens[0].tokens.length?e.tokens[0].tokens[0]:{name:"number",raw:"0"},n=e.tokens.length>1?e.tokens[1]:{name:"number",raw:"Infinity"};return{code:`new builtins.Generator(\n (i, self) => self.data.start.add(self.data.step.mul(i)),\n {start:${t=r(t).code}, end:${n=r(n).code}, step:${`new builtins.Decimal(new builtins.Decimal(${t}).lt(new builtins.Decimal(${n}))?1:-1)`}},\n self => self.data.start.sub(self.data.end).div(self.data.step).abs().add(1),\n )`}},stepped_range:function(e){var t=e.tokens[0].tokens.length?e.tokens[0].tokens[0]:{name:"number",raw:"0"},n=e.tokens.length>2?e.tokens[1]:{name:"number",raw:"Infinity"},i=e.tokens[e.tokens.length>2?2:1];return{code:`new builtins.Generator(\n (i, self) => self.data.start.add(self.data.step.mul(i)),\n {start:${t=r(t).code}, end:${n=r(n).code}, step:${i=r(i).code}},\n self => self.data.start.sub(self.data.end).div(self.data.step).abs().add(1),\n )`}},slice:function(e){var t=r(e.tokens.shift()),n=(i=e.tokens.pop()).index,i=r(i=i.tokens).map(e=>e.code).join(", ");return{code:`builtins.funcall([${t.code}], [[${i}], 0], builtins.slice, file, {index: ${n}, fn: 'builtins.slice'})`}},comparison:function(e){return e.raw},cmpexpr:function(e){var t=r(e.tokens),n=t[0],i=t[2],o={"=":"builtins.eq",">":"builtins.gt",">=":"builtins.gte","<":"builtins.lt","<=":"builtins.lte"}[t[1]];return{code:`await builtins.funcall([${n.code}], [${i.code}], ${o}, file, {index: ${e.index}, fn: '${o}'})`}},import_st:function(e){var t=e.tokens.slice(0,-1).map(e=>e.raw),n=e.tokens[e.tokens.length-1].tokens[0];if("url"==n.name)if(n.raw.startsWith("http"))var i=t.map(function(e){return`scope['${e}'] = builtins.lazy(function (...args) {\n return builtins.http_call('${n.raw}', '${e}', args, {});\n });`}).join(";\n");else i=`${`await builtins.setup_ws(ws_connections, '${n.raw}')`};${i=t.map(function(e){return`scope['${e}'] = await builtins.ws_get(ws_connections['${n.raw}'], '${e}');`}).join(";\n")}`;else{var o=t.map(e=>`'${e}'`).join(", ");i=`await builtins.clio_require('${n.raw}', [${o}], __dirname, scope)`}return{code:i}},import_nk:function(e){return{code:e.tokens.map(function(e){return"property_access"==e.name&&(e.raw=e.tokens.map(e=>e.raw).join(".")),`await builtins.clio_require('${e.raw}', [], __dirname, scope)`}).join(";\n")}},import_path:function(e){return{code:e.tokens.map(function(e){return`await builtins.clio_require('${e.raw}', [], __dirname, scope)`}).join(";\n")}},wrapped_quickfundef:function(e){return r(e.tokens[0])},quickfundef:function(e){return e.tokens.unshift({name:"symbol",raw:""}),e.name="fundef",e.tokens[2]={name:"block",tokens:[e.tokens[2]]},{code:r(e).code}},inflowfundef:function(e){return e.tokens.unshift({name:"symbol",raw:""}),e.name="fundef",{type:"inflowfundef",code:r(e).code}},decorated_inflowfundef:function(e){for(var t=e.tokens.pop(),n=r({name:"inflowfundef",tokens:[e.tokens.pop(),t]}),i=n.code;e.tokens.length;){token=e.tokens.pop().tokens.pop().tokens,token.shift();var o=r(token.shift()).code,s=r(token).map(e=>e.code);i=`builtins.decorate_function(${o}, [${s=s.join(", ")}], ${i}, '', scope)`}return{code:i,type:n.type}},starinflowfundef:function(e){e.tokens.unshift({name:"symbol",raw:""});var t=e.tokens[1].index;return e.name="fundef",{type:"starinflowfundef",code:r(e).code,fnindex:t}},decorated_starinflowfundef:function(e){for(var t=e.tokens.pop(),n=r({name:"starinflowfundef",tokens:[e.tokens.pop(),t]}),i=n.code;e.tokens.length;){token=e.tokens.pop().tokens.pop().tokens,token.shift();var o=r(token.shift()).code,s=r(token).map(e=>e.code);i=`builtins.decorate_function(${o}, [${s=s.join(", ")}], ${i}, '', scope)`}return{code:i,type:n.type}},startransform:function(e){var t=e.tokens[0].tokens[1];if(t.tokens[0]={name:"symbol",raw:""},t.name="fundef","atnum_as"==t.tokens[1].name){var n=t.tokens[1].tokens[0].tokens[1].raw;t.tokens[1]={name:"symbol",raw:t.tokens[1].tokens[1].raw}}else n="0";return t.tokens[2]={name:"block",tokens:[t.tokens[2]]},{code:`(new builtins.Transform(${r(t).code}, ${n}, true))`}},transform:function(e){var t=e.tokens[0];if(t.tokens[0]={name:"symbol",raw:""},t.name="fundef","atnum_as"==t.tokens[1].name){var n=t.tokens[1].tokens[0].tokens[1].raw;t.tokens[1]={name:"symbol",raw:t.tokens[1].tokens[1].raw}}else n="0";if("symbol"==t.tokens[2].name){var i={name:"flow",tokens:[t.tokens[1],{name:"naked_mapper",tokens:[t.tokens[2]]}]};t.tokens[2]=i}return t.tokens[2]={name:"block",tokens:[t.tokens[2]]},{code:`(new builtins.Transform(${r(t).code}, ${n}, false))`}},event:function(e){return{code:`(new builtins.EventListener(await builtins.value(${r(e.tokens[0]).code}), ${r(e.tokens[1]).code}))`}},async_flow:function(e){var t=r(e.tokens[0]);return t.code=t.code.replace(/^await /,""),t},flow:function(e){for(var t=r(e.tokens),n=[],i=["setter","mapper","starmapper","naked_mapper","naked_star_mapper","filter","starinflowfundef","inflowfundef","condmapper","decorated_starinflowfundef","starcondmapper","quickfundef","starquickfundef","return_mapper","fundef","decorated_inflowfundef"],o=0;!i.includes(e.tokens[o++].name);)n.push(t.shift());n=n.map(e=>e.code).join(", ");var s="...__data",a=[];return t.forEach(function(t){"setter"==t.type?(s=`(await builtins.update_vars(scope, ${t.code}, ${s}))`,a.push(t.code)):s="filter"==t.type?`await builtins.filter([${s}], ${t.code})`:"return"==t.type?`return await ${s};`:"map"==t.type?`await builtins.starmap([${s}], ${t.code[0]}, ${t.code[1]}, file, {index: ${t.fnindex}, fn: '${t.fn}'})`:["inflowfundef"].includes(t.type)?`await builtins.funcall([${s}], [], ${t.code}, file, {index: ${e.index}, fn: '<anonymous-fn>'})`:["starinflowfundef"].includes(t.type)?`await builtins.starmap([${s}], ${t.code}, [], file, {index: ${t.fnindex}, fn: '<anonymous-fn>'})`:"condmapper"==t.type?`await builtins.funcall([${s}], [], ${t.code}, file, {index: ${e.index}, fn: '<conditional>'})`:"starcondmapper"==t.type?`await builtins.starmap([${s}], ${t.code}, [], file, {index: ${t.fnindex}, fn: '${t.fn}'})`:`await builtins.funcall([${s}], ${t.code[1]}, ${t.code[0]}, file, {index: ${t.fnindex}, fn: '${t.fn}'})`}),{code:s=`await (async function(__data) {\n var fn = async function (__data) {\n return ${s}\n }\n if (__data[0].is_reactive) {\n return __data[0].set_listener(function (n) {\n return fn([n, ...__data.slice(1)])\n })\n } else {\n return await fn(__data)\n }\n })([${n}])`,vars:a}},wrapped_flow:function(e){var t=r(e.tokens[0]);return{code:t.code,vars:t.vars}},setter:function(e){if("symbol"==e.tokens[0].name)var t=`['${e.tokens[0].raw}']`;else"property_access"==e.tokens[0].name&&(t=`[${e.tokens[0].tokens.map(e=>`"${e.raw}"`).join(", ")}]`);return{type:"setter",code:t}},mapper:function(e){var t=e.tokens[0],n=t.raw,i=t.index;return{code:[t=r(t).code,`[${r(e.tokens.slice(1)).map(e=>e.code).join(", ")}]`],fn:n,fnindex:i}},naked_mapper:function(e){var t=e.tokens[0],n=t.raw,i=t.index;return{code:[t=r(t).code,"[]"],fn:n,fnindex:i}},starmapper:function(e){var t=e.tokens[0],n=t.raw,i=t.index;return{code:[t=r(t).code,`[${r(e.tokens.slice(1)).map(e=>e.code).join(", ")}]`],type:"map",fn:n,fnindex:i}},naked_star_mapper:function(e){var t=e.tokens[0],n=t.raw,i=t.index;return{code:[t=r(t).code,"[]"],type:"map",fn:n,fnindex:i}},return_mapper:function(e){return e.tokens[0].raw,{type:"return"}},filter:function(e){var t=e.tokens[0].raw,n=e.tokens[1];return funcode=r({name:"fundef",tokens:[{name:"symbol",raw:""},{name:"symbol",raw:t},{name:"block",tokens:[n]}]}).code,{code:funcode,type:"filter"}},wrapped_math:function(e){return r(e.tokens[0])},math:function(e){var t=r(e.tokens[0].tokens[0]),n={"*":"builtins.mul","^":"builtins.pow","/":"builtins.div","+":"builtins.add","-":"builtins.dec","%":"builtins.mod"}[e.tokens[0].tokens[1].raw],i=r(e.tokens[0].tokens[2]);return{code:`builtins.funcall([${t.code}], [${i.code}], ${n}, file, {index: ${e.index}, fn: '${n}'})`,vars:(t.vars||[]).concat(i.vars||[])}},decorated_fundef:function(e){for(var t=r(e.tokens.pop()),n=[];e.tokens.length;){token=e.tokens.pop().tokens,token.shift();var i=r(token.shift()).code,o=r(token).map(e=>e.code);o=o.join(", "),n.push(`builtins.decorate_function(${i}, [${o}], '${t.name}', ${t.overload}, scope)`)}return n.unshift(t.code),{code:n=n.join(";\n")}},decorated_fundefif:function(e){for(var t=r(e.tokens.pop()),n=[];e.tokens.length;){token=e.tokens.pop().tokens,token.shift();var i=r(token.shift()).code,o=r(token).map(e=>e.code);o=o.join(", "),n.push(`builtins.decorate_function(${i}, [${o}], '${t.name}', ${t.overload}, scope)`)}return n.unshift(t.code),{code:n=n.join(";\n")}},decorated_fundefof:function(e){for(var t=r(e.tokens.pop()),n=[];e.tokens.length;){token=e.tokens.pop().tokens,token.shift();var i=r(token.shift()).code,o=r(token).map(e=>e.code);o=o.join(", "),n.push(`builtins.decorate_function(${i}, [${o}], '${t.name}', ${t.overload}, scope)`)}return n.unshift(t.code),{code:n=n.join(";\n")}},decorated_fundefifof:function(e){for(var t=r(e.tokens.pop()),n=[];e.tokens.length;){token=e.tokens.pop().tokens,token.shift();var i=r(token.shift()).code,o=r(token).map(e=>e.code);o=o.join(", "),n.push(`builtins.decorate_function(${i}, [${o}], '${t.name}', ${t.overload}, scope)`)}return n.unshift(t.code),{code:n=n.join(";\n")}},typedef:function(e){var t=e.tokens[0].raw;e.name="fundef",e.tokens[0].raw="init";var n=e.tokens.pop(),i={name:"flow",tokens:[{name:"string",raw:`'${t}'`},{name:"setter",tokens:[{name:"property_access",tokens:[{name:"symbol",raw:"self"},{name:"symbol",raw:"type"}]}]}]};return n.tokens.push(i),n.tokens.push({name:"symbol",raw:"self"}),e.tokens.push({name:"symbol",raw:"self"}),e.tokens.push(n),{code:`scope['${t}'] = (function(scope) {\n scope = Object.assign({}, scope);\n var init = ${r(e).code};\n return function (...args) {\n return init(...args, {});\n }\n })(scope)`}},fundef:function(e){var t=n((o=e.tokens.pop().tokens).pop());o.push(t);var i=[],o=r(o).map(function(e){return e.vars&&e.vars.forEach(e=>i.push(e)),e.code}).join(";\n"),s=e.tokens.shift().raw,a=e.tokens.map(e=>e.raw).join(", "),c=e.tokens.map(e=>`'${e.raw}'`).join(", ");return""==s?{code:`(function (scope) {\n var func = builtins.lazy(async function(${a}) {\n var scope = Object.assign({}, func.frozenscope);\n var args_obj = {};\n var _arguments = arguments;\n [${c}].forEach(function(arg, index) {\n scope[arg] = _arguments[index]\n });\n ${o}\n }, true);\n func.frozenscope = Object.assign({}, scope);\n func.frozenscope['recall'] = func;\n return func;\n })(scope)`}:{code:`builtins.define_function((function (scope) {\n var func = builtins.lazy(async function(${a}) {\n var scope = Object.assign({}, func.frozenscope);\n var args_obj = {};\n var _arguments = arguments;\n [${c}].forEach(function(arg, index) {\n scope[arg] = _arguments[index]\n });\n ${o}\n }, true);\n func.frozenscope = Object.assign({}, scope);\n func.frozenscope['${s}'] = func;\n func.frozenscope['recall'] = func;\n return func;\n })(scope), '${s}', scope)`,name:s,overload:"'default'"}},fundefif:function(e){var t=e.tokens.pop().tokens,i=e.tokens.pop();i="symbol"==i.name?[`'${i.raw}'`]:i.tokens.map(e=>`'${e.raw}'`);var o=n(t.pop());t.push(o);var s=[],a=(t=r(t).map(function(e){return e.vars&&e.vars.forEach(e=>s.push(e)),e.code}).join(";\n"),e.tokens.shift().raw);return{code:`builtins.define_function((function (scope) {\n var func = builtins.lazy(async function(${e.tokens.map(e=>e.raw).join(", ")}) {\n var scope = Object.assign({}, func.frozenscope);\n var args_obj = {};\n var _arguments = arguments;\n [${e.tokens.map(e=>`'${e.raw}'`).join(", ")}].forEach(function(arg, index) {\n scope[arg] = _arguments[index]\n });\n ${t}\n });\n func.frozenscope = Object.assign({}, scope);\n func.frozenscope['${a}'] = func;\n func.frozenscope['self'] = func;\n func.overload = [${i}];\n return func;\n })(scope), '${a}', scope)`,name:a,overload:`[${i}]`}},fundefof:function(e){var t=n((o=e.tokens.pop().tokens).pop());o.push(t);var i=[],o=r(o).map(function(e){return e.vars&&e.vars.forEach(e=>i.push(e)),e.code}).join(";\n"),s=e.tokens.shift().raw,a=e.tokens.pop().tokens[0].raw;return{code:`builtins.define_function((function (scope) {\n var func = builtins.lazy(async function(${e.tokens.map(e=>e.raw).join(", ")}) {\n var scope = Object.assign({}, func.frozenscope);\n var args_obj = {};\n var _arguments = arguments;\n [${["'self'",...e.tokens.map(e=>`'${e.raw}'`)].join(", ")}].forEach(function(arg, index) {\n scope[arg] = _arguments[index]\n });\n ${o}\n });\n func.frozenscope = Object.assign({}, scope);\n func.frozenscope['${s}'] = func;\n func.frozenscope['self'] = func;\n func.overload = ['${a}'];\n return func;\n })(scope), '${s}', scope)`,name:s,overload:`['${a}']`}},fundefifof:function(e){var t=n((o=e.tokens.pop().tokens).pop());o.push(t);var i=[],o=r(o).map(function(e){return e.vars&&e.vars.forEach(e=>i.push(e)),e.code}).join(";\n"),s=e.tokens.shift().raw,a=e.tokens.pop().tokens[0].raw,c=e.tokens.pop();c="symbol"==c.name?[c.raw]:c.tokens.map(e=>e.raw);var l=[a,...c].map(e=>`'${e}'`).join(", ");return{code:`builtins.define_function((function (scope) {\n var func = builtins.lazy(async function(${e.tokens.map(e=>e.raw).join(", ")}) {\n var scope = Object.assign({}, func.frozenscope);\n var args_obj = {};\n var _arguments = arguments;\n [${["'self'",...e.tokens.map(e=>`'${e.raw}'`)].join(", ")}].forEach(function(arg, index) {\n scope[arg] = _arguments[index]\n });\n ${o}\n });\n func.frozenscope = Object.assign({}, scope);\n func.frozenscope['${s}'] = func;\n func.frozenscope['self'] = func;\n func.overload = [${l}];\n return func;\n })(scope), '${s}', scope)`,name:s,overload:`[${l}]`}},empty_list:function(e){return{code:"new builtins.Generator(\n (i, self) => self.data[i],\n [],\n self => self.data.length,\n )"}},condmapper:function(e){var t,n=e.tokens[0].tokens;return"else_block"==n[n.length-1].name&&(t=n.pop()),n=n.map(function(e){return e.tokens[0]=function e(t){if("halfcmp"==t.name)t.tokens.unshift({name:"symbol",raw:"$in"}),t.name="cmpexpr";else if("halfnot"==t.name)t.tokens=[{name:"symbol",raw:"$in"}],t.name="notexpr";else if("if_fun_call"==t.name)t.name="mapper",t={name:"flow",tokens:[{name:"symbol",raw:"$in"},t]};else if("symbol"==t.name)t.name="naked_mapper",t={name:"flow",tokens:[{name:"symbol",raw:"$in"},t]};else if("flow"==t.name)"if_fun_call"==(n=t.tokens[0]).name?t.tokens[0].name="mapper":"symbol"==n.name&&(t.tokens[0]={name:"naked_mapper",tokens:[t.tokens[0]]}),t.tokens.unshift({name:"symbol",raw:"$in"});else if("cmpexpr"==t.name){var n=t.tokens[0];["symbol","if_fun_call","flow"].includes(n.name)&&(t.tokens[0]=e(n))}return t}(e.tokens[0]),e}),t&&n.push(t),{code:`(${r({name:"fundef",tokens:[{name:"symbol",raw:""},{name:"symbol",raw:"$in"},{name:"block",tokens:[{name:"conditional",tokens:n}]}]}).code})`,type:"condmapper"}},starcondmapper:function(e){e.name="condmapper";var t=r(e);return t.type="starcondmapper",t},conditional:function(e){var t=[];return{code:e.tokens.map(r).map(function(e){return e.vars&&e.vars.forEach(e=>t.push(e)),e.code}).join(" "),vars:t}},if_statement:function(e){var t=[],n=r(e.tokens[0]);"block"!=e.tokens[1].name&&(e.tokens[1]={name:"block",tokens:[e.tokens[1]]});var i=e.tokens[1].tokens.map(r).map(function(e){return e.vars&&e.vars.forEach(e=>t.push(e)),e.code}).join(";\n");return n.variables&&n.variables.forEach(e=>t.push(e)),{code:`if (await builtins.funcall([${n.code}], [], builtins.bool, file, {index: ${e.index}, fn: '<conditional>'})) {${i}}`,vars:t}},elif_statement:function(e){e.name="if_statement";var t=r(e);return t.code=`else ${t.code}`,t},else_statement:function(e){return"block"!=e.tokens[0].name&&(e.tokens[0]={name:"block",tokens:[e.tokens[0]]}),block_vars=[],{code:`else{${r(e.tokens[0].tokens).map(function(e){return e.vars&&e.vars.forEach(e=>block_vars.push(e)),e.code}).join(";\n")}}`,vars:block_vars}}};function r(e){if(e.constructor===Array)var t=e.map(function(e){var t=o[e.name](e);return t.index=t.index||e.index,t});else(t=o[e.name](e)).index=t.index||e.index;return t}e=r(e);var s=[];return e.forEach(function(e){e.vars&&e.vars.forEach(function(e){s.push(e)})}),`module.exports = async function (scope, builtins, file) {\n var ws_connections = [];\n ${e.map(e=>e.code||e).join(";\n")};\n for (var server in ws_connections) {\n if (ws_connections.hasOwnProperty(server)) {\n if (ws_connections[server].emitters == {}) {\n ws_connections[server].socket.close()\n }\n }\n }\n return scope;\n };`}},{"../common":"/home/pouya/Projects/clio-lang/clio/common.js","../internals/types":"/home/pouya/Projects/clio-lang/clio/internals/types.js","unescape-js":"/home/pouya/Projects/clio-lang/clio/node_modules/unescape-js/dist/index.js"}],"/home/pouya/Projects/clio-lang/clio/internals/builtins.js":[function(e,t,n){var{lazy:i,value:o,LazyCall:r,memoize:s}=e("../internals/lazy"),{Transform:a,AtSign:c,Decimal:l,Generator:_,Property:u,EventListener:p,EventEmitter:h}=e("../internals/types");const{jsonReviver:f,jsonReplacer:d}=e("../internals/json"),{throw_error:m,exception_handler:g}=e("../common");var y={};y.error=m,y.lazy=i,y.LazyCall=r,y.value=o,y.Transform=a,y.AtSign=c,y.Decimal=l,y.Generator=_,y.Property=u;y.update_vars=async function(e,t,n){for(var i,r=e;t.length;)i=t.shift(),r.hasOwnProperty(i)&&(variable=await o(r[i]),t.length&&(r=variable));return r[i]=n},y.revive=function(e){return JSON.parse(e,f)},y.replace=function(e){return JSON.stringify(e,d)},y.typeof=function(e){return e.type||function(e){switch(e){case String:return"str";case Object:return"obj";case _:return"gen";case l:return"num"}}(e.constructor)||e.constructor};var w=function(e,t){for(var n=e.map(y.typeof),i=0;i<t.length;i++){var o=t[i];if(!o.overload)return o;if(n.slice(0,o.overload.length).every(e=>o.overload.includes(e)))return o}};y.define_function=function(e,t,n){if(n[t])var o=(r=n[t]).overloads;else{var r=async function(...e){return w(e,r.overloads)(...e)};e.is_lazy&&(r=i(r));o=[]}return o.push(e),r.overloads=o.sort(function(e,t){return(e=e.overload?e.overload.length:0)<(t=t.overload?t.overload.length:0)}),n[t]=r,r},y.decorate_function=function(e,t,n,o,r){if([Function,(async()=>{}).constructor].includes(n.constructor)){var s=async function(...e){return w(e,s.overloads)(...e)};n.is_lazy&&(s=i(s));var a=[];return a.push(n),s.overloads=a,e(s,o,...t)}var c=e(r[n],o,...t);return r[n]=c,c},y.setup_ws=async function(e,t){e[t]={socket:new WebSocket(`${t}/connect`),id:0,promises:{},emitters:{}},e[t].socket.onmessage=function(n){var i=y.revive(n.data);if(i.id)e[t].promises[i.id.toNumber()](i);else if(i.service&&"update"==i.service&&i.emitter){var o=e[t].emitters[i.emitter];n=i.event;o.emit(n,i.data)}},await new Promise(function(n,i){e[t].socket.onopen=n})},y.ws_get=async function(e,t){var n=e.id++,i=JSON.stringify({key:t,id:n,method:"get"},d);e.socket.send(i);var o=(await new Promise(function(t,i){e.promises[n]=t})).type;if("function"==o)return y.lazy(async function(...n){return y.ws_call(e,t,n,{})});if("emitter"==o){var r=new h({wildcard:!0,newListener:!1,maxListeners:128});return e.emitters[t]=r,r}},y.ws_call=async function(e,t,n,i){var o=e.id++,r=JSON.stringify({fn_name:t,args:n,kwargs:i,id:o,method:"execute"},d);e.socket.send(r);var s=await new Promise(function(t,n){e.promises[o]=t});return s.result.constructor==h&&(e.emitters[s.result.uuid]=s.result),s.stdout&&console.log(s.stdout.replace(/\n$/,"")),s.result},y.http_call=async function(e,t,n,i){var o=JSON.stringify({fn_name:t,args:n,kwargs:i},d),r=await fetch(`${e}/execute`,{method:"POST",mode:"cors",cache:"no-cache",credentials:"omit",headers:{"Content-Type":"application/clio-cloud-call"},redirect:"follow",referrer:"no-referrer",body:o});return(r=JSON.parse(await r.text(),f)).stdout&&console.log(r.stdout.replace(/\n$/,"")),r.result},y.get_symbol=function(e,t){return t.hasOwnProperty(e)?t[e]:y.hasOwnProperty(e)?y[e]:new y.Property(e)};const b=(async()=>{}).constructor;y.assure_async=async function(e){return e.constructor===b?e:async function(...t){return e(...t)}},y.funcall=async function(e,t,n,i,s){if(n.constructor==r&&(n=await o(n)),n.constructor==u){var l=n.prop;n=function(e,...t){return e[l](...t)}}n=await y.assure_async(n);var _,p=[{file:i,trace:s}],h=e=>{g(e,{clio_stack:p})};if(n.is_lazy||(t=await Promise.all(t.map(o)).catch(h),e=await Promise.all(e.map(o)).catch(h)),!t.length)return(_=n(...e).catch(h)).constructor==y.LazyCall&&(_.clio_stack=p),await _;var f=!1;return t=t.map(function(t){return t.constructor==a?(f=!0,n.is_lazy?t.transform(e):o(t.transform(e))):t.constructor==c?(f=!0,e[t.index]):t}),t=await Promise.all(t).catch(h),f?((_=n(...t).catch(h)).constructor==y.LazyCall&&(_.clio_stack=p),await _):((_=n(...e,...t)).constructor==Promise&&(_=await _.catch(h)),_&&_.constructor==y.LazyCall&&(_.clio_stack=p),_)},Object.defineProperty(Array.prototype,"async_map",{value:async function(...e){return this.map(...e)}}),y.map=async function(e,t,n,...s){if(t.constructor==r&&(t=await o(t)),t.constructor==u){var l=t.prop;t=function(e,...t){return e[l](...t)}}if((t=await y.assure_async(t)).is_lazy||(s=await Promise.all(s.map(o)).catch(e=>{throw e}),e=await Promise.all(e.map(o)).catch(e=>{throw e})),data=e.shift(),!s.length)return t.is_lazy?await data.map(i(function(n){return t(n,...e).catch(e=>{throw e})})):await data.map(function(n){return t(n,...e).catch(e=>{throw e})});var _=async function(n){var i=!1;return _args=s.map(async function(r){return r.constructor==a?(i=!0,t.is_lazy?r.transform([n,...e]):o(r.transform([n,...e]))):r.constructor==c?(i=!0,[n,...e][r.index]):r}),_args=await Promise.all(_args),i?await t(..._args):await t(n,..._args)};return t.is_lazy&&(_=i(_)),data.async_map?await data.async_map(_,n).catch(e=>{throw e}):await data.map(_,n).catch(e=>{throw e})},y.starmap=function(e,t,n,i,o){var r=[{file:i,trace:o}];return n.length?y.map(e,t,r,...n).catch(e=>{g(e,{clio_stack:r})}):y.map(e,t,r).catch(e=>{g(e,{clio_stack:r})})},y.filter=async function(e,t){if(t.constructor==_){var n=t;t=function(e,t){return n.get(t)}}return e.filter?e.filter(t):e.constructor!==Array?[e].filter(t):e.filter(t)},y.dec=i(async function(e,t){return e.constructor==y.Generator?e.map(e=>y.dec(e,t)):e.sub(t)}),y.add=i(async function(e,t){return e.constructor==String||t.constructor==String?e.toString()+t.toString():e.constructor==y.Generator?e.map(e=>y.add(e,t)):e.add(t)}),y.div=i(async function(e,t){return e.constructor==y.Generator?e.map(e=>y.div(e,t)):e.div(t)}),y.mul=i(async function(e,t){return e.constructor==y.Generator?await e.map(e=>y.mul(e,t)):e.mul(t)}),y.mod=i(async function(e,t){return e.constructor==y.Generator?e.map(e=>y.mod(e,t)):e.mod(t)}),y.pow=i(async function(e,t){return e.constructor==y.Generator?e.map(e=>y.pow(e,t)):e.pow(t)}),y.bool=async function(e){return!!e&&(e.constructor==Array?e.length>0:e.constructor==y.Decimal?!e.eq(0):e)},y.not=async function(e){return!e},y.eq=async function(e,t){return e.eq?e.eq(t):e==t},y.lt=async function(e,t){return e.lt(t)},y.lte=async function(e,t){return e.lte(t)},y.gt=async function(e,t){return e.gt(t)},y.gte=async function(e,t){return e.gte(t)},y.cat=i(async function(){if("string"==typeof arguments[0])return[...arguments].join("")}),y.head=i(async function(e){return e[0]}),y.tail=i(async function(e){return e.slice(1)}),y.append=i(async function(e,t){return e.push(t),e}),y.length=i(async function(e){return e.length});var v=e("chalk"),k={num:v.yellow,range:v.cyan};y.string=i(async function(e,t){var n,i=await o(y.typeof(e));"gen"==i?e.data.start?(i="num",n=[e.data.start,e.data.end,e.data.step].join(v.white(":"))):n=`[${n=(n=await Promise.all((await o(e.map(e=>y.string(e,t)))).data.map(o))).join(" ")}]`:n=e.toString();return t&&(n=(k[i]||v.white)(n)),n}),y.print=async function(...e){var t=await Promise.all(e.map(e=>y.string(e,!0)).map(o));return console.log(...t),e[0]},y.log=async function(...e){return console.log(...e),e[0]},y.flat=i(async function(e){var t=[];return e.forEach(function(e){e.forEach(function(e){t.push(e)})}),t}),y.take=i(function(e,t){}),y.slice=i(async function(e,t,n){if(1==t.length&&t[n].decimal){var i=t[n].toNumber();return e.constructor==Array?e[i]:e.get(i)}var o=t[n++];if(e.data.start)if(o.decimal){if(o.toNumber()>=e.len())throw new Error(`Index ${o.toString()} is bigger than array length.`);e=new _(e.getter,[e.get(o.toNumber())],e.length)}else if(o.data.start){var r,s;r=e.data.start.gte(o.data.start)?e.data.start:o.data.start,s=o.data.end==1/0?e.data.end:e.data.end.lte(o.data.end)?e.data.end:o.data.end;var a=o.data.step.mul(e.data.step);e=new _(e.getter,{start:r,end:s,step:a},e.length)}else{var c=o.data.map(e=>e.toNumber());e=new _(e.getter,c.map(t=>e.get(t)),e.length)}else if(o.decimal){if(o.toNumber()>=e.len())throw new Error(`Index ${o.toString()} is bigger than array length.`);e=new _(e.getter,[e.data[o.toNumber()]],e.length)}else if(o.data.start)e=new _(e.getter,e.data.filter(function(e,t){return o.data.start.lte(t)&&o.data.end.gt(t)&&new y.Decimal(t).sub(o.data.start).mod(o.data.step).eq(0)}),e.length);else{c=o.data.map(e=>e.toNumber());e=new _(e.getter,e.data.filter((e,t)=>c.includes(t)),e.length)}return n==t.length?e:e.map(e=>y.slice(e,t,n))}),y.upper=i(async function(e,t){return t?e.toLocaleUpperCase(t):e.toUpperCase()}),y["sentence-case"]=i(async function(e,t){return t?e[0].toLocaleUpperCase(t)+e.slice(1):e[0].toUpperCase(t)+e.slice(1)}),y.eval=(e=>e),y.eager=function(e){var t=async function(...e){var n=await w(e,t.overloads);return await o(await n(...e))};return t.overloads=e.overloads,t.mmax=new y.Decimal(0),t.overloads.forEach(function(e){e.mmax=new y.Decimal(0)}),t},y.mmax=function(e,t,n){return e.overloads.forEach(function(e){e.mmax=n}),e.mmax=n,e},y.memoize=function(e,t,n){return s(e,n||1e3)},y.timeout=function(e,t){return setTimeout(e,t.toNumber())},y.interval=function(e,t,...n){var i=0;return setInterval(function(){t(new y.Decimal(i++),...n)},e.toNumber())},y.emitter=async function(e,t){var n=new h({wildcard:!0,newListener:!1,maxListeners:t||128});return n.name=e,n},y.emit=async function(e,t,...n){e.emit(t,...n)},y.EventListener=p,t.exports=y},{"../common":"/home/pouya/Projects/clio-lang/clio/common.js","../internals/json":"/home/pouya/Projects/clio-lang/clio/internals/json.js","../internals/lazy":"/home/pouya/Projects/clio-lang/clio/internals/lazy.js","../internals/types":"/home/pouya/Projects/clio-lang/clio/internals/types.js",chalk:"/home/pouya/Projects/clio-lang/clio/node_modules/chalk/index.js"}],"/home/pouya/Projects/clio-lang/clio/internals/import.js":[function(require,module,exports){(function(process,global){const fs=require("fs"),path=require("path"),lexer=require("../lexer/lexer"),parser=require("../parser/parser"),analyzer=require("../evaluator/analyzer"),builtins=require("./builtins"),beautify=require("js-beautify").js,md5=require("./md5");function write_file(e,t){fs.writeFileSync(t,e)}function http_resolve_path(e,t){return e+(t=t.replace(e,"").replace(/[^\/]*\/\.\.(\/|$)/g,"").replace(/\/\.(\/|$)/g,"/").replace(/\/\/+/g,"/"))}function http_dir_name(e){return e.replace(/\/[^\/]*$/,"")}async function clio_require_browser(module_name,names_to_import,current_dir,scope){var __basedir=window.clio.__basedir||window.location.origin,__filename=http_resolve_path(__basedir,`${current_dir}/${module_name}`),__dirname=http_dir_name(__filename);if(__filename.endsWith(".js")){var mod=await fetch(__filename),module={exports:{}},exports=module.exports,source=await mod.text();if(eval(source),0==names_to_import.length){var clio_module={};module_name=module_name.replace(/.js$/,"").replace(/.*?\/+/,""),clio_module[module_name]=module.exports||exports}else{var clio_module={};names_to_import.forEach(function(e){clio_module[e]=module.exports[e]||exports[e]})}}else if(__filename.indexOf("/")>-1){__filename.endsWith(".clio")||(__filename=`${__filename}.clio`);const exists=await fetch(__filename,{method:"HEAD",cache:"no-cache"});if(200!=exists.status)var __filename=http_resolve_path(__basedir,`/clio_env/${module_name}.clio`),__dirname=http_dir_name(__filename),mod=await fetch(__filename);else var mod=await fetch(__filename);var source=await mod.text(),source_hash=md5(source),code=window.localStorage.getItem(`clio-compile-cache-${source_hash}`);code||(code=window.clio.compile(source),window.localStorage.setItem(`clio-compile-cache-${source_hash}`,code));var module={};eval(code);var mod={};await module.exports(mod,window.clio.builtins);var clio_module={};if(0==names_to_import.length){var module_name=module_name.replace(/\.clio/,"").replace(/.*?\/+/,"");clio_module[module_name]=mod}else names_to_import.forEach(function(e){clio_module[e]=mod[e]})}Object.assign(scope,clio_module)}function resolve_path(e){return e.replace(/[^\/]*\/\.\.(\/|$)/g,"").replace(/\/\.(\/|$)/g,"/").replace(/\/\/+/g,"/")}async function clio_require(e,t,n,i){if(n=n.replace(/\.clio-cache$/,""),e.endsWith(".js")){var o=require(path.join(n,e));if(0==t.length){var r={};e=e.replace(/\.js$/,"").replace(/.*?\/+/,""),r[e]=o}else{r={};t.forEach(function(e){r[e]=o[e]})}}else if(e.indexOf("/")>-1){if(e.endsWith(".clio")||(e=`${e}.clio`),module_path=path.join(n,e),fs.existsSync(module_path)||(module_path=path.join(__basedir,"clio_env",e)),fs.existsSync(module_path)){o=await clio_import(module_path);if(0==t.length){r={};e=e.replace(/\.clio/,"").replace(/.*?\/+/,""),r[e]=o}else{r={};t.forEach(function(e){r[e]=o[e]})}}}else if(e.endsWith(".clio")){if(module_path=path.join(n,e),fs.existsSync(module_path)||(module_path=path.join(__basedir,"clio_env",e)),fs.existsSync(module_path)){o=await clio_import(module_path);if(0==t.length){r={};e=e.replace(/\.clio/,"").replace(/.*?\/+/,""),r[e]=o}else{r={};t.forEach(function(e){r[e]=o[e]})}}}else if(module_path=path.join(n,`${e}.clio`),fs.existsSync(module_path)||(module_path=path.join(__basedir,"clio_env",e)),fs.existsSync(module_path)){o=await clio_import(module_path);if(0==t.length){(r={})[e]=o}else{r={};t.forEach(function(e){r[e]=o[e]})}}Object.assign(i,r)}function do_import(e,t){var n=fs.readFileSync(e,"utf8"),i=lexer(n);if(0!=i[0]){i=i[1];try{var o=parser(n,i,!1,e)}catch(e){throw e}var r=o[1];r.pop();var s=beautify(analyzer(r,n));if(!path.isAbsolute(e)){var a=process.cwd();e=path.join(a,e)}var c=path.dirname(e),l=path.basename(e),_=`${c}${path.sep}.clio-cache`,u=`${_}${path.sep}${l}.js`;return fs.existsSync(_)||fs.mkdirSync(_),write_file(s,u),u=u.replace(/\\/g,"/"),require(u)({},builtins,{source:n,name:l}).catch(e=>{throw e})}}function clio_import(e,t){if(!path.isAbsolute(e)){var n=process.cwd();e=path.join(n,e)}var i=path.dirname(e);t&&(global.__basedir=i,process.chdir(i));var o=path.basename(e),r=`${i}${path.sep}.clio-cache`,s=`${r}${path.sep}${o}.js`;if(fs.existsSync(r)||fs.mkdirSync(r),fs.existsSync(s)){var a=fs.statSync(s),c=fs.statSync(e);if(a.mtime>c.mtime){s=s.replace(/\\/g,"/");var l=fs.readFileSync(e,"utf8");return require(s)({},builtins,{source:l,name:o}).catch(e=>{throw e})}}try{return do_import(e)}catch(e){throw e}}builtins.clio_require=clio_require,module.exports.clio_import=clio_import,module.exports.clio_require_browser=clio_require_browser}).call(this,require("_process"),"undefined"!=typeof global?global:"undefined"!=typeof self?self:"undefined"!=typeof window?window:{})},{"../evaluator/analyzer":"/home/pouya/Projects/clio-lang/clio/evaluator/analyzer.js","../lexer/lexer":"/home/pouya/Projects/clio-lang/clio/lexer/lexer.js","../parser/parser":"/home/pouya/Projects/clio-lang/clio/parser/parser.js","./builtins":"/home/pouya/Projects/clio-lang/clio/internals/builtins.js","./md5":"/home/pouya/Projects/clio-lang/clio/internals/md5.js",_process:"/home/pouya/Projects/clio-lang/clio/node_modules/process/browser.js",fs:"/home/pouya/Projects/clio-lang/clio/node_modules/browserify/lib/_empty.js","js-beautify":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/index.js",path:"/home/pouya/Projects/clio-lang/clio/node_modules/path-browserify/index.js"}],"/home/pouya/Projects/clio-lang/clio/internals/json.js":[function(e,t,n){var{Decimal:i,EventEmitter:o}=e("../internals/types");t.exports.jsonReviver=function e(t,n){if([null,void 0].includes(n))return n;if(n.constructor==Number)return new i(n);if(n.constructor==String&&n.startsWith("clio::")){if((n=n.slice(6)).startsWith("number::"))return n=n.slice(8),new i(n);if(n.startsWith("emitter::")){n=n.slice(9);var r=new o({wildcard:!0,newListener:!1,maxListeners:128});return r.uuid=n,r}}return n.constructor==Array?n.map(function(t,n){return e(n,t)}):n},t.exports.jsonReplacer=function e(t,n){if([null,void 0].includes(n))return n;if(n.toNumber)return`clio::number::${n.toString()}`;if(n.constructor==Array)return n.map(function(t,n){return e(n,t)});if(n.constructor==o)return`clio::emitter::${n.uuid}`;if(n.constructor==Object){var i={};for(var t in n)n.hasOwnProperty(t)&&(i[t]=e(t,n[t]));return i}return n}},{"../internals/types":"/home/pouya/Projects/clio-lang/clio/internals/types.js"}],"/home/pouya/Projects/clio-lang/clio/internals/lazy.js":[function(e,t,n){const{exception_handler:i}=e("../common");e("./md5");function o(e){var t=async function(...t){return new r(e,...t)};return t.is_lazy=!0,t}MemoizeID=0;class r{constructor(e,...t){this.fn=e,this.args=t}async call(){var e=this;this.args=await Promise.all(this.args).catch(t=>i(t,e)),this.args=await Promise.all(this.args.map(s)).catch(t=>i(t,e));var t=await this.fn(...this.args).catch(t=>i(t,e));return t&&t.constructor==r&&(t.clio_stack?t.prev=this:(t.clio_stack=this.clio_stack,t.prev=this.prev)),t}async map(e){var t=this;return e.is_lazy?o(async function(){return(await s(t).catch(e=>{throw e})).map(e)}):(await s(t).catch(e=>{throw e})).map(e)}}async function s(e){for(e=await e;e&&e.constructor==r;)e=await e.call();return e}n.lazy=o,n.LazyCall=r,n.value=s},{"../common":"/home/pouya/Projects/clio-lang/clio/common.js","./md5":"/home/pouya/Projects/clio-lang/clio/internals/md5.js"}],"/home/pouya/Projects/clio-lang/clio/internals/md5.js":[function(e,t,n){var i,o,r,s,a,c,l,_,u,p,h;t.exports=(i=function(e,t){var n=e[0],i=e[1],o=e[2],l=e[3];n=r(n,i,o,l,t[0],7,-680876936),l=r(l,n,i,o,t[1],12,-389564586),o=r(o,l,n,i,t[2],17,606105819),i=r(i,o,l,n,t[3],22,-1044525330),n=r(n,i,o,l,t[4],7,-176418897),l=r(l,n,i,o,t[5],12,1200080426),o=r(o,l,n,i,t[6],17,-1473231341),i=r(i,o,l,n,t[7],22,-45705983),n=r(n,i,o,l,t[8],7,1770035416),l=r(l,n,i,o,t[9],12,-1958414417),o=r(o,l,n,i,t[10],17,-42063),i=r(i,o,l,n,t[11],22,-1990404162),n=r(n,i,o,l,t[12],7,1804603682),l=r(l,n,i,o,t[13],12,-40341101),o=r(o,l,n,i,t[14],17,-1502002290),i=r(i,o,l,n,t[15],22,1236535329),n=s(n,i,o,l,t[1],5,-165796510),l=s(l,n,i,o,t[6],9,-1069501632),o=s(o,l,n,i,t[11],14,643717713),i=s(i,o,l,n,t[0],20,-373897302),n=s(n,i,o,l,t[5],5,-701558691),l=s(l,n,i,o,t[10],9,38016083),o=s(o,l,n,i,t[15],14,-660478335),i=s(i,o,l,n,t[4],20,-405537848),n=s(n,i,o,l,t[9],5,568446438),l=s(l,n,i,o,t[14],9,-1019803690),o=s(o,l,n,i,t[3],14,-187363961),i=s(i,o,l,n,t[8],20,1163531501),n=s(n,i,o,l,t[13],5,-1444681467),l=s(l,n,i,o,t[2],9,-51403784),o=s(o,l,n,i,t[7],14,1735328473),i=s(i,o,l,n,t[12],20,-1926607734),n=a(n,i,o,l,t[5],4,-378558),l=a(l,n,i,o,t[8],11,-2022574463),o=a(o,l,n,i,t[11],16,1839030562),i=a(i,o,l,n,t[14],23,-35309556),n=a(n,i,o,l,t[1],4,-1530992060),l=a(l,n,i,o,t[4],11,1272893353),o=a(o,l,n,i,t[7],16,-155497632),i=a(i,o,l,n,t[10],23,-1094730640),n=a(n,i,o,l,t[13],4,681279174),l=a(l,n,i,o,t[0],11,-358537222),o=a(o,l,n,i,t[3],16,-722521979),i=a(i,o,l,n,t[6],23,76029189),n=a(n,i,o,l,t[9],4,-640364487),l=a(l,n,i,o,t[12],11,-421815835),o=a(o,l,n,i,t[15],16,530742520),i=a(i,o,l,n,t[2],23,-995338651),n=c(n,i,o,l,t[0],6,-198630844),l=c(l,n,i,o,t[7],10,1126891415),o=c(o,l,n,i,t[14],15,-1416354905),i=c(i,o,l,n,t[5],21,-57434055),n=c(n,i,o,l,t[12],6,1700485571),l=c(l,n,i,o,t[3],10,-1894986606),o=c(o,l,n,i,t[10],15,-1051523),i=c(i,o,l,n,t[1],21,-2054922799),n=c(n,i,o,l,t[8],6,1873313359),l=c(l,n,i,o,t[15],10,-30611744),o=c(o,l,n,i,t[6],15,-1560198380),i=c(i,o,l,n,t[13],21,1309151649),n=c(n,i,o,l,t[4],6,-145523070),l=c(l,n,i,o,t[11],10,-1120210379),o=c(o,l,n,i,t[2],15,718787259),i=c(i,o,l,n,t[9],21,-343485551),e[0]=h(n,e[0]),e[1]=h(i,e[1]),e[2]=h(o,e[2]),e[3]=h(l,e[3])},o=function(e,t,n,i,o,r){return t=h(h(t,e),h(i,r)),h(t<<o|t>>>32-o,n)},r=function(e,t,n,i,r,s,a){return o(t&n|~t&i,e,t,r,s,a)},s=function(e,t,n,i,r,s,a){return o(t&i|n&~i,e,t,r,s,a)},a=function(e,t,n,i,r,s,a){return o(t^n^i,e,t,r,s,a)},c=function(e,t,n,i,r,s,a){return o(n^(t|~i),e,t,r,s,a)},l=function(e){var t,n=[];for(t=0;t<64;t+=4)n[t>>2]=e.charCodeAt(t)+(e.charCodeAt(t+1)<<8)+(e.charCodeAt(t+2)<<16)+(e.charCodeAt(t+3)<<24);return n},_="0123456789abcdef".split(""),u=function(e){for(var t="",n=0;n<4;n++)t+=_[e>>8*n+4&15]+_[e>>8*n&15];return t},h=function(e,t){return e+t&4294967295},"5d41402abc4b2a76b9719d911017c592"!=(p=function(e){return function(e){for(var t=0;t<e.length;t++)e[t]=u(e[t]);return e.join("")}(function(e){var t,n=e.length,o=[1732584193,-271733879,-1732584194,271733878];for(t=64;t<=e.length;t+=64)i(o,l(e.substring(t-64,t)));e=e.substring(t-64);var r=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0];for(t=0;t<e.length;t++)r[t>>2]|=e.charCodeAt(t)<<(t%4<<3);if(r[t>>2]|=128<<(t%4<<3),t>55)for(i(o,r),t=0;t<16;t++)r[t]=0;return r[14]=8*n,i(o,r),o}(e))})("hello")&&(h=function(e,t){var n=(65535&e)+(65535&t);return(e>>16)+(t>>16)+(n>>16)<<16|65535&n}),p)},{}],"/home/pouya/Projects/clio-lang/clio/internals/types.js":[function(e,t,n){const{LazyCall:i,value:o,lazy:r}=e("./lazy"),s=e("decimal.js"),a=e("eventemitter2").EventEmitter2;class c extends Number{constructor(e,t){return super(e),this.decimal=t||e.decimal||new s(e),new Proxy(this,{get:function(e,t){return"function"!=typeof e[t]||["toString"].includes(t)?"function"==typeof e.decimal[t]?function(...n){n=n.map(e=>e.decimal||e);const i=e.decimal[t].call(e.decimal,...n);return i.constructor===Number?new c(i):i.constructor===s?new c(Number(i),i):i}:e[t]||e.decimal[t]:function(...n){return e[t].call(e,n)}}})}}class l{constructor(e,t,n){this.getter=e,this.data=t,this.length=n}get(e){return this.getter(e,this)}len(){return this.length.constructor==Function?this.length(this):this.length}async map(e,t){if(e.is_lazy){var n=this;return r(async function(){for(var i=[],r=0;r<n.len();r++){var s=await o(n.get(r)).catch(e=>{throw e}),a=await e(s).catch(e=>{throw e});a.clio_stack=t,i.push(a)}return new l((e,t)=>t.data[e],i,e=>e.data.length)})()}for(var i=[],s=0;s<this.len();s++)i.push(await e(await o(this.get(s)).catch(e=>{throw e})).catch(e=>{throw e}));return new l((e,t)=>t.data[e],i,e=>e.data.length)}slice(e){return this.slicer(this,e)}}n.Generator=l,n.Property=class{constructor(e){this.prop=e}},n.AtSign=class{constructor(e){this.index=e}},n.Transform=class{constructor(e,t,n){this.func=e,this.star=n,this.index=t}transform(e){return e=e[this.index],this.star?e.map(this.func):this.func(e)}},n.Decimal=c,n.EventListener=class{constructor(e,t){this.ee=e,this.ev=t,this.is_reactive=!0}set_listener(e){return this.ee.on(this.ev,e)}},n.EventEmitter=a},{"./lazy":"/home/pouya/Projects/clio-lang/clio/internals/lazy.js","decimal.js":"/home/pouya/Projects/clio-lang/clio/node_modules/decimal.js/decimal.js",eventemitter2:"/home/pouya/Projects/clio-lang/clio/node_modules/eventemitter2/lib/eventemitter2.js"}],"/home/pouya/Projects/clio-lang/clio/lexer/lexer.js":[function(e,t,n){const i=e("../syntax/lexing"),o=e("../common").throw_error;t.exports=function(e){for(var t,n,r,s,a,c,l=[],_=0,u=[0];_<e.length;){for(var p in s=!1,i)if(i.hasOwnProperty(p)&&(t=i[p],null!=(n=e.slice(_).match(t)))){if(c=n[0],"_n"==p&&(c="\\n"),"emptyline"!=p&&"comment"!=p)l.push({name:p,index:_,raw:c});else if("emptyline"==p){var h=e.slice(_+c.length).match(i._);if(h=null==h?0:h[0].length,u[u.length-1]>h)for(var f=0;u[u.length-1]>h;)f+=1,l.push({name:"_n",index:_+1,raw:"\\n"}),l.push({name:"dedent",index:_+1,raw:"-$"}),u.pop();else l.push({name:"_n",index:_+1,raw:"\\n"})}if("_n"==p){if(a=(r=e.slice(_+n[0].length).match(i._))?r[0].length:0,u[u.length-1]<a)l.length-2>=0&&"colon"==l[l.length-2].name&&(l.push({name:"indent",index:_+1,raw:"+$"}),u.push(a));else if(u[u.length-1]>a)for(f=0;u[u.length-1]>a;)(f+=1)>1&&l.push({name:"_n",index:_+1,raw:"\\n"}),l.push({name:"dedent",index:_+1,raw:"-$"}),u.pop();l.push({name:"^",index:_+1,raw:"^"})}_+=n[0].length,s=!0;break}if(!s)return o(e,"Lexing error",_),[!1,l]}return l.push({name:"eof",index:e.length,raw:"eof"}),[!0,l]}},{"../common":"/home/pouya/Projects/clio-lang/clio/common.js","../syntax/lexing":"/home/pouya/Projects/clio-lang/clio/syntax/lexing.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/ansi-styles/index.js":[function(e,t,n){"use strict";const i=e("color-convert"),o=(e,t)=>(function(){return`[${e.apply(i,arguments)+t}m`}),r=(e,t)=>(function(){const n=e.apply(i,arguments);return`[${38+t};5;${n}m`}),s=(e,t)=>(function(){const n=e.apply(i,arguments);return`[${38+t};2;${n[0]};${n[1]};${n[2]}m`});Object.defineProperty(t,"exports",{enumerable:!0,get:function(){const e=new Map,t={modifier:{reset:[0,0],bold:[1,22],dim:[2,22],italic:[3,23],underline:[4,24],inverse:[7,27],hidden:[8,28],strikethrough:[9,29]},color:{black:[30,39],red:[31,39],green:[32,39],yellow:[33,39],blue:[34,39],magenta:[35,39],cyan:[36,39],white:[37,39],gray:[90,39],redBright:[91,39],greenBright:[92,39],yellowBright:[93,39],blueBright:[94,39],magentaBright:[95,39],cyanBright:[96,39],whiteBright:[97,39]},bgColor:{bgBlack:[40,49],bgRed:[41,49],bgGreen:[42,49],bgYellow:[43,49],bgBlue:[44,49],bgMagenta:[45,49],bgCyan:[46,49],bgWhite:[47,49],bgBlackBright:[100,49],bgRedBright:[101,49],bgGreenBright:[102,49],bgYellowBright:[103,49],bgBlueBright:[104,49],bgMagentaBright:[105,49],bgCyanBright:[106,49],bgWhiteBright:[107,49]}};t.color.grey=t.color.gray;for(const n of Object.keys(t)){const i=t[n];for(const n of Object.keys(i)){const o=i[n];t[n]={open:`[${o[0]}m`,close:`[${o[1]}m`},i[n]=t[n],e.set(o[0],o[1])}Object.defineProperty(t,n,{value:i,enumerable:!1}),Object.defineProperty(t,"codes",{value:e,enumerable:!1})}const n=e=>e,a=(e,t,n)=>[e,t,n];t.color.close="[39m",t.bgColor.close="[49m",t.color.ansi={ansi:o(n,0)},t.color.ansi256={ansi256:r(n,0)},t.color.ansi16m={rgb:s(a,0)},t.bgColor.ansi={ansi:o(n,10)},t.bgColor.ansi256={ansi256:r(n,10)},t.bgColor.ansi16m={rgb:s(a,10)};for(let e of Object.keys(i)){if("object"!=typeof i[e])continue;const n=i[e];"ansi16"===e&&(e="ansi"),"ansi16"in n&&(t.color.ansi[e]=o(n.ansi16,0),t.bgColor.ansi[e]=o(n.ansi16,10)),"ansi256"in n&&(t.color.ansi256[e]=r(n.ansi256,0),t.bgColor.ansi256[e]=r(n.ansi256,10)),"rgb"in n&&(t.color.ansi16m[e]=s(n.rgb,0),t.bgColor.ansi16m[e]=s(n.rgb,10))}return t}})},{"color-convert":"/home/pouya/Projects/clio-lang/clio/node_modules/color-convert/index.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/browserify/lib/_empty.js":[function(e,t,n){},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/chalk/index.js":[function(e,t,n){(function(n){"use strict";const i=e("escape-string-regexp"),o=e("ansi-styles"),r=e("supports-color").stdout,s=e("./templates.js"),a="win32"===n.platform&&!(n.env.TERM||"").toLowerCase().startsWith("xterm"),c=["ansi","ansi","ansi256","ansi16m"],l=new Set(["gray"]),_=Object.create(null);function u(e,t){t=t||{};const n=r?r.level:0;e.level=void 0===t.level?n:t.level,e.enabled="enabled"in t?t.enabled:e.level>0}function p(e){if(!this||!(this instanceof p)||this.template){const t={};return u(t,e),t.template=function(){const e=[].slice.call(arguments);return function(e,t){if(!Array.isArray(t))return[].slice.call(arguments,1).join(" ");const n=[].slice.call(arguments,2),i=[t.raw[0]];for(let e=1;e<t.length;e++)i.push(String(n[e-1]).replace(/[{}\\]/g,"\\$&")),i.push(String(t.raw[e]));return s(e,i.join(""))}.apply(null,[t.template].concat(e))},Object.setPrototypeOf(t,p.prototype),Object.setPrototypeOf(t.template,t),t.template.constructor=p,t.template}u(this,e)}a&&(o.blue.open="[94m");for(const e of Object.keys(o))o[e].closeRe=new RegExp(i(o[e].close),"g"),_[e]={get(){const t=o[e];return f.call(this,this._styles?this._styles.concat(t):[t],this._empty,e)}};_.visible={get(){return f.call(this,this._styles||[],!0,"visible")}},o.color.closeRe=new RegExp(i(o.color.close),"g");for(const e of Object.keys(o.color.ansi))l.has(e)||(_[e]={get(){const t=this.level;return function(){const n={open:o.color[c[t]][e].apply(null,arguments),close:o.color.close,closeRe:o.color.closeRe};return f.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}});o.bgColor.closeRe=new RegExp(i(o.bgColor.close),"g");for(const e of Object.keys(o.bgColor.ansi)){if(l.has(e))continue;_["bg"+e[0].toUpperCase()+e.slice(1)]={get(){const t=this.level;return function(){const n={open:o.bgColor[c[t]][e].apply(null,arguments),close:o.bgColor.close,closeRe:o.bgColor.closeRe};return f.call(this,this._styles?this._styles.concat(n):[n],this._empty,e)}}}}const h=Object.defineProperties(()=>{},_);function f(e,t,n){const i=function(){return function(){const e=arguments,t=e.length;let n=String(arguments[0]);if(0===t)return"";if(t>1)for(let i=1;i<t;i++)n+=" "+e[i];if(!this.enabled||this.level<=0||!n)return this._empty?"":n;const i=o.dim.open;a&&this.hasGrey&&(o.dim.open="");for(const e of this._styles.slice().reverse())n=(n=e.open+n.replace(e.closeRe,e.open)+e.close).replace(/\r?\n/g,`${e.close}$&${e.open}`);return o.dim.open=i,n}.apply(i,arguments)};i._styles=e,i._empty=t;const r=this;return Object.defineProperty(i,"level",{enumerable:!0,get:()=>r.level,set(e){r.level=e}}),Object.defineProperty(i,"enabled",{enumerable:!0,get:()=>r.enabled,set(e){r.enabled=e}}),i.hasGrey=this.hasGrey||"gray"===n||"grey"===n,i.__proto__=h,i}Object.defineProperties(p.prototype,_),t.exports=p(),t.exports.supportsColor=r,t.exports.default=t.exports}).call(this,e("_process"))},{"./templates.js":"/home/pouya/Projects/clio-lang/clio/node_modules/chalk/templates.js",_process:"/home/pouya/Projects/clio-lang/clio/node_modules/process/browser.js","ansi-styles":"/home/pouya/Projects/clio-lang/clio/node_modules/ansi-styles/index.js","escape-string-regexp":"/home/pouya/Projects/clio-lang/clio/node_modules/escape-string-regexp/index.js","supports-color":"/home/pouya/Projects/clio-lang/clio/node_modules/supports-color/browser.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/chalk/templates.js":[function(e,t,n){"use strict";const i=/(?:\\(u[a-f\d]{4}|x[a-f\d]{2}|.))|(?:\{(~)?(\w+(?:\([^)]*\))?(?:\.\w+(?:\([^)]*\))?)*)(?:[ \t]|(?=\r?\n)))|(\})|((?:.|[\r\n\f])+?)/gi,o=/(?:^|\.)(\w+)(?:\(([^)]*)\))?/g,r=/^(['"])((?:\\.|(?!\1)[^\\])*)\1$/,s=/\\(u[a-f\d]{4}|x[a-f\d]{2}|.)|([^\\])/gi,a=new Map([["n","\n"],["r","\r"],["t","\t"],["b","\b"],["f","\f"],["v","\v"],["0","\0"],["\\","\\"],["e",""],["a",""]]);function c(e){return"u"===e[0]&&5===e.length||"x"===e[0]&&3===e.length?String.fromCharCode(parseInt(e.slice(1),16)):a.get(e)||e}function l(e,t){const n=[],i=t.trim().split(/\s*,\s*/g);let o;for(const t of i)if(isNaN(t)){if(!(o=t.match(r)))throw new Error(`Invalid Chalk template style argument: ${t} (in style '${e}')`);n.push(o[2].replace(s,(e,t,n)=>t?c(t):n))}else n.push(Number(t));return n}function _(e){o.lastIndex=0;const t=[];let n;for(;null!==(n=o.exec(e));){const e=n[1];if(n[2]){const i=l(e,n[2]);t.push([e].concat(i))}else t.push([e])}return t}function u(e,t){const n={};for(const e of t)for(const t of e.styles)n[t[0]]=e.inverse?null:t.slice(1);let i=e;for(const e of Object.keys(n))if(Array.isArray(n[e])){if(!(e in i))throw new Error(`Unknown Chalk style: ${e}`);i=n[e].length>0?i[e].apply(i,n[e]):i[e]}return i}t.exports=((e,t)=>{const n=[],o=[];let r=[];if(t.replace(i,(t,i,s,a,l,p)=>{if(i)r.push(c(i));else if(a){const t=r.join("");r=[],o.push(0===n.length?t:u(e,n)(t)),n.push({inverse:s,styles:_(a)})}else if(l){if(0===n.length)throw new Error("Found extraneous } in Chalk template literal");o.push(u(e,n)(r.join(""))),r=[],n.pop()}else r.push(p)}),o.push(r.join("")),n.length>0){const e=`Chalk template literal is missing ${n.length} closing bracket${1===n.length?"":"s"} (\`}\`)`;throw new Error(e)}return o.join("")})},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/color-convert/conversions.js":[function(e,t,n){var i=e("color-name"),o={};for(var r in i)i.hasOwnProperty(r)&&(o[i[r]]=r);var s=t.exports={rgb:{channels:3,labels:"rgb"},hsl:{channels:3,labels:"hsl"},hsv:{channels:3,labels:"hsv"},hwb:{channels:3,labels:"hwb"},cmyk:{channels:4,labels:"cmyk"},xyz:{channels:3,labels:"xyz"},lab:{channels:3,labels:"lab"},lch:{channels:3,labels:"lch"},hex:{channels:1,labels:["hex"]},keyword:{channels:1,labels:["keyword"]},ansi16:{channels:1,labels:["ansi16"]},ansi256:{channels:1,labels:["ansi256"]},hcg:{channels:3,labels:["h","c","g"]},apple:{channels:3,labels:["r16","g16","b16"]},gray:{channels:1,labels:["gray"]}};for(var a in s)if(s.hasOwnProperty(a)){if(!("channels"in s[a]))throw new Error("missing channels property: "+a);if(!("labels"in s[a]))throw new Error("missing channel labels property: "+a);if(s[a].labels.length!==s[a].channels)throw new Error("channel and label counts mismatch: "+a);var c=s[a].channels,l=s[a].labels;delete s[a].channels,delete s[a].labels,Object.defineProperty(s[a],"channels",{value:c}),Object.defineProperty(s[a],"labels",{value:l})}s.rgb.hsl=function(e){var t,n,i=e[0]/255,o=e[1]/255,r=e[2]/255,s=Math.min(i,o,r),a=Math.max(i,o,r),c=a-s;return a===s?t=0:i===a?t=(o-r)/c:o===a?t=2+(r-i)/c:r===a&&(t=4+(i-o)/c),(t=Math.min(60*t,360))<0&&(t+=360),n=(s+a)/2,[t,100*(a===s?0:n<=.5?c/(a+s):c/(2-a-s)),100*n]},s.rgb.hsv=function(e){var t,n,i,o,r,s=e[0]/255,a=e[1]/255,c=e[2]/255,l=Math.max(s,a,c),_=l-Math.min(s,a,c),u=function(e){return(l-e)/6/_+.5};return 0===_?o=r=0:(r=_/l,t=u(s),n=u(a),i=u(c),s===l?o=i-n:a===l?o=1/3+t-i:c===l&&(o=2/3+n-t),o<0?o+=1:o>1&&(o-=1)),[360*o,100*r,100*l]},s.rgb.hwb=function(e){var t=e[0],n=e[1],i=e[2];return[s.rgb.hsl(e)[0],100*(1/255*Math.min(t,Math.min(n,i))),100*(i=1-1/255*Math.max(t,Math.max(n,i)))]},s.rgb.cmyk=function(e){var t,n=e[0]/255,i=e[1]/255,o=e[2]/255;return[100*((1-n-(t=Math.min(1-n,1-i,1-o)))/(1-t)||0),100*((1-i-t)/(1-t)||0),100*((1-o-t)/(1-t)||0),100*t]},s.rgb.keyword=function(e){var t=o[e];if(t)return t;var n,r,s,a=1/0;for(var c in i)if(i.hasOwnProperty(c)){var l=i[c],_=(r=e,s=l,Math.pow(r[0]-s[0],2)+Math.pow(r[1]-s[1],2)+Math.pow(r[2]-s[2],2));_<a&&(a=_,n=c)}return n},s.keyword.rgb=function(e){return i[e]},s.rgb.xyz=function(e){var t=e[0]/255,n=e[1]/255,i=e[2]/255;return[100*(.4124*(t=t>.04045?Math.pow((t+.055)/1.055,2.4):t/12.92)+.3576*(n=n>.04045?Math.pow((n+.055)/1.055,2.4):n/12.92)+.1805*(i=i>.04045?Math.pow((i+.055)/1.055,2.4):i/12.92)),100*(.2126*t+.7152*n+.0722*i),100*(.0193*t+.1192*n+.9505*i)]},s.rgb.lab=function(e){var t=s.rgb.xyz(e),n=t[0],i=t[1],o=t[2];return i/=100,o/=108.883,n=(n/=95.047)>.008856?Math.pow(n,1/3):7.787*n+16/116,[116*(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116)-16,500*(n-i),200*(i-(o=o>.008856?Math.pow(o,1/3):7.787*o+16/116))]},s.hsl.rgb=function(e){var t,n,i,o,r,s=e[0]/360,a=e[1]/100,c=e[2]/100;if(0===a)return[r=255*c,r,r];t=2*c-(n=c<.5?c*(1+a):c+a-c*a),o=[0,0,0];for(var l=0;l<3;l++)(i=s+1/3*-(l-1))<0&&i++,i>1&&i--,r=6*i<1?t+6*(n-t)*i:2*i<1?n:3*i<2?t+(n-t)*(2/3-i)*6:t,o[l]=255*r;return o},s.hsl.hsv=function(e){var t=e[0],n=e[1]/100,i=e[2]/100,o=n,r=Math.max(i,.01);return n*=(i*=2)<=1?i:2-i,o*=r<=1?r:2-r,[t,100*(0===i?2*o/(r+o):2*n/(i+n)),100*((i+n)/2)]},s.hsv.rgb=function(e){var t=e[0]/60,n=e[1]/100,i=e[2]/100,o=Math.floor(t)%6,r=t-Math.floor(t),s=255*i*(1-n),a=255*i*(1-n*r),c=255*i*(1-n*(1-r));switch(i*=255,o){case 0:return[i,c,s];case 1:return[a,i,s];case 2:return[s,i,c];case 3:return[s,a,i];case 4:return[c,s,i];case 5:return[i,s,a]}},s.hsv.hsl=function(e){var t,n,i,o=e[0],r=e[1]/100,s=e[2]/100,a=Math.max(s,.01);return i=(2-r)*s,n=r*a,[o,100*(n=(n/=(t=(2-r)*a)<=1?t:2-t)||0),100*(i/=2)]},s.hwb.rgb=function(e){var t,n,i,o,r,s,a,c=e[0]/360,l=e[1]/100,_=e[2]/100,u=l+_;switch(u>1&&(l/=u,_/=u),i=6*c-(t=Math.floor(6*c)),0!=(1&t)&&(i=1-i),o=l+i*((n=1-_)-l),t){default:case 6:case 0:r=n,s=o,a=l;break;case 1:r=o,s=n,a=l;break;case 2:r=l,s=n,a=o;break;case 3:r=l,s=o,a=n;break;case 4:r=o,s=l,a=n;break;case 5:r=n,s=l,a=o}return[255*r,255*s,255*a]},s.cmyk.rgb=function(e){var t=e[0]/100,n=e[1]/100,i=e[2]/100,o=e[3]/100;return[255*(1-Math.min(1,t*(1-o)+o)),255*(1-Math.min(1,n*(1-o)+o)),255*(1-Math.min(1,i*(1-o)+o))]},s.xyz.rgb=function(e){var t,n,i,o=e[0]/100,r=e[1]/100,s=e[2]/100;return n=-.9689*o+1.8758*r+.0415*s,i=.0557*o+-.204*r+1.057*s,t=(t=3.2406*o+-1.5372*r+-.4986*s)>.0031308?1.055*Math.pow(t,1/2.4)-.055:12.92*t,n=n>.0031308?1.055*Math.pow(n,1/2.4)-.055:12.92*n,i=i>.0031308?1.055*Math.pow(i,1/2.4)-.055:12.92*i,[255*(t=Math.min(Math.max(0,t),1)),255*(n=Math.min(Math.max(0,n),1)),255*(i=Math.min(Math.max(0,i),1))]},s.xyz.lab=function(e){var t=e[0],n=e[1],i=e[2];return n/=100,i/=108.883,t=(t/=95.047)>.008856?Math.pow(t,1/3):7.787*t+16/116,[116*(n=n>.008856?Math.pow(n,1/3):7.787*n+16/116)-16,500*(t-n),200*(n-(i=i>.008856?Math.pow(i,1/3):7.787*i+16/116))]},s.lab.xyz=function(e){var t,n,i,o=e[0];t=e[1]/500+(n=(o+16)/116),i=n-e[2]/200;var r=Math.pow(n,3),s=Math.pow(t,3),a=Math.pow(i,3);return n=r>.008856?r:(n-16/116)/7.787,t=s>.008856?s:(t-16/116)/7.787,i=a>.008856?a:(i-16/116)/7.787,[t*=95.047,n*=100,i*=108.883]},s.lab.lch=function(e){var t,n=e[0],i=e[1],o=e[2];return(t=360*Math.atan2(o,i)/2/Math.PI)<0&&(t+=360),[n,Math.sqrt(i*i+o*o),t]},s.lch.lab=function(e){var t,n=e[0],i=e[1];return t=e[2]/360*2*Math.PI,[n,i*Math.cos(t),i*Math.sin(t)]},s.rgb.ansi16=function(e){var t=e[0],n=e[1],i=e[2],o=1 in arguments?arguments[1]:s.rgb.hsv(e)[2];if(0===(o=Math.round(o/50)))return 30;var r=30+(Math.round(i/255)<<2|Math.round(n/255)<<1|Math.round(t/255));return 2===o&&(r+=60),r},s.hsv.ansi16=function(e){return s.rgb.ansi16(s.hsv.rgb(e),e[2])},s.rgb.ansi256=function(e){var t=e[0],n=e[1],i=e[2];return t===n&&n===i?t<8?16:t>248?231:Math.round((t-8)/247*24)+232:16+36*Math.round(t/255*5)+6*Math.round(n/255*5)+Math.round(i/255*5)},s.ansi16.rgb=function(e){var t=e%10;if(0===t||7===t)return e>50&&(t+=3.5),[t=t/10.5*255,t,t];var n=.5*(1+~~(e>50));return[(1&t)*n*255,(t>>1&1)*n*255,(t>>2&1)*n*255]},s.ansi256.rgb=function(e){if(e>=232){var t=10*(e-232)+8;return[t,t,t]}var n;return e-=16,[Math.floor(e/36)/5*255,Math.floor((n=e%36)/6)/5*255,n%6/5*255]},s.rgb.hex=function(e){var t=(((255&Math.round(e[0]))<<16)+((255&Math.round(e[1]))<<8)+(255&Math.round(e[2]))).toString(16).toUpperCase();return"000000".substring(t.length)+t},s.hex.rgb=function(e){var t=e.toString(16).match(/[a-f0-9]{6}|[a-f0-9]{3}/i);if(!t)return[0,0,0];var n=t[0];3===t[0].length&&(n=n.split("").map(function(e){return e+e}).join(""));var i=parseInt(n,16);return[i>>16&255,i>>8&255,255&i]},s.rgb.hcg=function(e){var t,n=e[0]/255,i=e[1]/255,o=e[2]/255,r=Math.max(Math.max(n,i),o),s=Math.min(Math.min(n,i),o),a=r-s;return t=a<=0?0:r===n?(i-o)/a%6:r===i?2+(o-n)/a:4+(n-i)/a+4,t/=6,[360*(t%=1),100*a,100*(a<1?s/(1-a):0)]},s.hsl.hcg=function(e){var t=e[1]/100,n=e[2]/100,i=1,o=0;return(i=n<.5?2*t*n:2*t*(1-n))<1&&(o=(n-.5*i)/(1-i)),[e[0],100*i,100*o]},s.hsv.hcg=function(e){var t=e[1]/100,n=e[2]/100,i=t*n,o=0;return i<1&&(o=(n-i)/(1-i)),[e[0],100*i,100*o]},s.hcg.rgb=function(e){var t=e[0]/360,n=e[1]/100,i=e[2]/100;if(0===n)return[255*i,255*i,255*i];var o,r=[0,0,0],s=t%1*6,a=s%1,c=1-a;switch(Math.floor(s)){case 0:r[0]=1,r[1]=a,r[2]=0;break;case 1:r[0]=c,r[1]=1,r[2]=0;break;case 2:r[0]=0,r[1]=1,r[2]=a;break;case 3:r[0]=0,r[1]=c,r[2]=1;break;case 4:r[0]=a,r[1]=0,r[2]=1;break;default:r[0]=1,r[1]=0,r[2]=c}return o=(1-n)*i,[255*(n*r[0]+o),255*(n*r[1]+o),255*(n*r[2]+o)]},s.hcg.hsv=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t),i=0;return n>0&&(i=t/n),[e[0],100*i,100*n]},s.hcg.hsl=function(e){var t=e[1]/100,n=e[2]/100*(1-t)+.5*t,i=0;return n>0&&n<.5?i=t/(2*n):n>=.5&&n<1&&(i=t/(2*(1-n))),[e[0],100*i,100*n]},s.hcg.hwb=function(e){var t=e[1]/100,n=t+e[2]/100*(1-t);return[e[0],100*(n-t),100*(1-n)]},s.hwb.hcg=function(e){var t=e[1]/100,n=1-e[2]/100,i=n-t,o=0;return i<1&&(o=(n-i)/(1-i)),[e[0],100*i,100*o]},s.apple.rgb=function(e){return[e[0]/65535*255,e[1]/65535*255,e[2]/65535*255]},s.rgb.apple=function(e){return[e[0]/255*65535,e[1]/255*65535,e[2]/255*65535]},s.gray.rgb=function(e){return[e[0]/100*255,e[0]/100*255,e[0]/100*255]},s.gray.hsl=s.gray.hsv=function(e){return[0,0,e[0]]},s.gray.hwb=function(e){return[0,100,e[0]]},s.gray.cmyk=function(e){return[0,0,0,e[0]]},s.gray.lab=function(e){return[e[0],0,0]},s.gray.hex=function(e){var t=255&Math.round(e[0]/100*255),n=((t<<16)+(t<<8)+t).toString(16).toUpperCase();return"000000".substring(n.length)+n},s.rgb.gray=function(e){return[(e[0]+e[1]+e[2])/3/255*100]}},{"color-name":"/home/pouya/Projects/clio-lang/clio/node_modules/color-name/index.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/color-convert/index.js":[function(e,t,n){var i=e("./conversions"),o=e("./route"),r={};Object.keys(i).forEach(function(e){r[e]={},Object.defineProperty(r[e],"channels",{value:i[e].channels}),Object.defineProperty(r[e],"labels",{value:i[e].labels});var t=o(e);Object.keys(t).forEach(function(n){var i=t[n];r[e][n]=function(e){var t=function(t){if(null==t)return t;arguments.length>1&&(t=Array.prototype.slice.call(arguments));var n=e(t);if("object"==typeof n)for(var i=n.length,o=0;o<i;o++)n[o]=Math.round(n[o]);return n};return"conversion"in e&&(t.conversion=e.conversion),t}(i),r[e][n].raw=function(e){var t=function(t){return null==t?t:(arguments.length>1&&(t=Array.prototype.slice.call(arguments)),e(t))};return"conversion"in e&&(t.conversion=e.conversion),t}(i)})}),t.exports=r},{"./conversions":"/home/pouya/Projects/clio-lang/clio/node_modules/color-convert/conversions.js","./route":"/home/pouya/Projects/clio-lang/clio/node_modules/color-convert/route.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/color-convert/route.js":[function(e,t,n){var i=e("./conversions");function o(e){var t=function(){for(var e={},t=Object.keys(i),n=t.length,o=0;o<n;o++)e[t[o]]={distance:-1,parent:null};return e}(),n=[e];for(t[e].distance=0;n.length;)for(var o=n.pop(),r=Object.keys(i[o]),s=r.length,a=0;a<s;a++){var c=r[a],l=t[c];-1===l.distance&&(l.distance=t[o].distance+1,l.parent=o,n.unshift(c))}return t}function r(e,t){return function(n){return t(e(n))}}function s(e,t){for(var n=[t[e].parent,e],o=i[t[e].parent][e],s=t[e].parent;t[s].parent;)n.unshift(t[s].parent),o=r(i[t[s].parent][s],o),s=t[s].parent;return o.conversion=n,o}t.exports=function(e){for(var t=o(e),n={},i=Object.keys(t),r=i.length,a=0;a<r;a++){var c=i[a];null!==t[c].parent&&(n[c]=s(c,t))}return n}},{"./conversions":"/home/pouya/Projects/clio-lang/clio/node_modules/color-convert/conversions.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/color-name/index.js":[function(e,t,n){"use strict";t.exports={aliceblue:[240,248,255],antiquewhite:[250,235,215],aqua:[0,255,255],aquamarine:[127,255,212],azure:[240,255,255],beige:[245,245,220],bisque:[255,228,196],black:[0,0,0],blanchedalmond:[255,235,205],blue:[0,0,255],blueviolet:[138,43,226],brown:[165,42,42],burlywood:[222,184,135],cadetblue:[95,158,160],chartreuse:[127,255,0],chocolate:[210,105,30],coral:[255,127,80],cornflowerblue:[100,149,237],cornsilk:[255,248,220],crimson:[220,20,60],cyan:[0,255,255],darkblue:[0,0,139],darkcyan:[0,139,139],darkgoldenrod:[184,134,11],darkgray:[169,169,169],darkgreen:[0,100,0],darkgrey:[169,169,169],darkkhaki:[189,183,107],darkmagenta:[139,0,139],darkolivegreen:[85,107,47],darkorange:[255,140,0],darkorchid:[153,50,204],darkred:[139,0,0],darksalmon:[233,150,122],darkseagreen:[143,188,143],darkslateblue:[72,61,139],darkslategray:[47,79,79],darkslategrey:[47,79,79],darkturquoise:[0,206,209],darkviolet:[148,0,211],deeppink:[255,20,147],deepskyblue:[0,191,255],dimgray:[105,105,105],dimgrey:[105,105,105],dodgerblue:[30,144,255],firebrick:[178,34,34],floralwhite:[255,250,240],forestgreen:[34,139,34],fuchsia:[255,0,255],gainsboro:[220,220,220],ghostwhite:[248,248,255],gold:[255,215,0],goldenrod:[218,165,32],gray:[128,128,128],green:[0,128,0],greenyellow:[173,255,47],grey:[128,128,128],honeydew:[240,255,240],hotpink:[255,105,180],indianred:[205,92,92],indigo:[75,0,130],ivory:[255,255,240],khaki:[240,230,140],lavender:[230,230,250],lavenderblush:[255,240,245],lawngreen:[124,252,0],lemonchiffon:[255,250,205],lightblue:[173,216,230],lightcoral:[240,128,128],lightcyan:[224,255,255],lightgoldenrodyellow:[250,250,210],lightgray:[211,211,211],lightgreen:[144,238,144],lightgrey:[211,211,211],lightpink:[255,182,193],lightsalmon:[255,160,122],lightseagreen:[32,178,170],lightskyblue:[135,206,250],lightslategray:[119,136,153],lightslategrey:[119,136,153],lightsteelblue:[176,196,222],lightyellow:[255,255,224],lime:[0,255,0],limegreen:[50,205,50],linen:[250,240,230],magenta:[255,0,255],maroon:[128,0,0],mediumaquamarine:[102,205,170],mediumblue:[0,0,205],mediumorchid:[186,85,211],mediumpurple:[147,112,219],mediumseagreen:[60,179,113],mediumslateblue:[123,104,238],mediumspringgreen:[0,250,154],mediumturquoise:[72,209,204],mediumvioletred:[199,21,133],midnightblue:[25,25,112],mintcream:[245,255,250],mistyrose:[255,228,225],moccasin:[255,228,181],navajowhite:[255,222,173],navy:[0,0,128],oldlace:[253,245,230],olive:[128,128,0],olivedrab:[107,142,35],orange:[255,165,0],orangered:[255,69,0],orchid:[218,112,214],palegoldenrod:[238,232,170],palegreen:[152,251,152],paleturquoise:[175,238,238],palevioletred:[219,112,147],papayawhip:[255,239,213],peachpuff:[255,218,185],peru:[205,133,63],pink:[255,192,203],plum:[221,160,221],powderblue:[176,224,230],purple:[128,0,128],rebeccapurple:[102,51,153],red:[255,0,0],rosybrown:[188,143,143],royalblue:[65,105,225],saddlebrown:[139,69,19],salmon:[250,128,114],sandybrown:[244,164,96],seagreen:[46,139,87],seashell:[255,245,238],sienna:[160,82,45],silver:[192,192,192],skyblue:[135,206,235],slateblue:[106,90,205],slategray:[112,128,144],slategrey:[112,128,144],snow:[255,250,250],springgreen:[0,255,127],steelblue:[70,130,180],tan:[210,180,140],teal:[0,128,128],thistle:[216,191,216],tomato:[255,99,71],turquoise:[64,224,208],violet:[238,130,238],wheat:[245,222,179],white:[255,255,255],whitesmoke:[245,245,245],yellow:[255,255,0],yellowgreen:[154,205,50]}},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/decimal.js/decimal.js":[function(e,t,n){!function(e){"use strict";var n,i,o,r,s=9e15,a=1e9,c="0123456789abcdef",l="2.3025850929940456840179914546843642076011014886287729760333279009675726096773524802359972050895982983419677840422862486334095254650828067566662873690987816894829072083255546808437998948262331985283935053089653777326288461633662222876982198867465436674744042432743651550489343149393914796194044002221051017141748003688084012647080685567743216228355220114804663715659121373450747856947683463616792101806445070648000277502684916746550586856935673420670581136429224554405758925724208241314695689016758940256776311356919292033376587141660230105703089634572075440370847469940168269282808481184289314848524948644871927809676271275775397027668605952496716674183485704422507197965004714951050492214776567636938662976979522110718264549734772662425709429322582798502585509785265383207606726317164309505995087807523710333101197857547331541421808427543863591778117054309827482385045648019095610299291824318237525357709750539565187697510374970888692180205189339507238539205144634197265287286965110862571492198849978748873771345686209167058",_="3.1415926535897932384626433832795028841971693993751058209749445923078164062862089986280348253421170679821480865132823066470938446095505822317253594081284811174502841027019385211055596446229489549303819644288109756659334461284756482337867831652712019091456485669234603486104543266482133936072602491412737245870066063155881748815209209628292540917153643678925903600113305305488204665213841469519415116094330572703657595919530921861173819326117931051185480744623799627495673518857527248912279381830119491298336733624406566430860213949463952247371907021798609437027705392171762931767523846748184676694051320005681271452635608277857713427577896091736371787214684409012249534301465495853710507922796892589235420199561121290219608640344181598136297747713099605187072113499999983729780499510597317328160963185950244594553469083026425223082533446850352619311881710100031378387528865875332083814206171776691473035982534904287554687311595628638823537875937519577818577805321712268066130019278766111959092164201989380952572010654858632789",u={precision:20,rounding:4,modulo:1,toExpNeg:-7,toExpPos:21,minE:-s,maxE:s,crypto:!1},p=!0,h="[DecimalError] ",f=h+"Invalid argument: ",d=h+"Precision limit exceeded",m=h+"crypto unavailable",g=Math.floor,y=Math.pow,w=/^0b([01]+(\.[01]*)?|\.[01]+)(p[+-]?\d+)?$/i,b=/^0x([0-9a-f]+(\.[0-9a-f]*)?|\.[0-9a-f]+)(p[+-]?\d+)?$/i,v=/^0o([0-7]+(\.[0-7]*)?|\.[0-7]+)(p[+-]?\d+)?$/i,k=/^(\d+(\.\d*)?|\.\d+)(e[+-]?\d+)?$/i,x=1e7,j=7,E=l.length-1,O=_.length-1,S={name:"[object Decimal]"};function T(e){var t,n,i,o=e.length-1,r="",s=e[0];if(o>0){for(r+=s,t=1;t<o;t++)i=e[t]+"",(n=j-i.length)&&(r+=D(n)),r+=i;s=e[t],(n=j-(i=s+"").length)&&(r+=D(n))}else if(0===s)return"0";for(;s%10==0;)s/=10;return r+s}function A(e,t,n){if(e!==~~e||e<t||e>n)throw Error(f+e)}function P(e,t,n,i){var o,r,s,a;for(r=e[0];r>=10;r/=10)--t;return--t<0?(t+=j,o=0):(o=Math.ceil((t+1)/j),t%=j),r=y(10,j-t),a=e[o]%r|0,null==i?t<3?(0==t?a=a/100|0:1==t&&(a=a/10|0),s=n<4&&99999==a||n>3&&49999==a||5e4==a||0==a):s=(n<4&&a+1==r||n>3&&a+1==r/2)&&(e[o+1]/r/100|0)==y(10,t-2)-1||(a==r/2||0==a)&&0==(e[o+1]/r/100|0):t<4?(0==t?a=a/1e3|0:1==t?a=a/100|0:2==t&&(a=a/10|0),s=(i||n<4)&&9999==a||!i&&n>3&&4999==a):s=((i||n<4)&&a+1==r||!i&&n>3&&a+1==r/2)&&(e[o+1]/r/1e3|0)==y(10,t-3)-1,s}function N(e,t,n){for(var i,o,r=[0],s=0,a=e.length;s<a;){for(o=r.length;o--;)r[o]*=t;for(r[0]+=c.indexOf(e.charAt(s++)),i=0;i<r.length;i++)r[i]>n-1&&(void 0===r[i+1]&&(r[i+1]=0),r[i+1]+=r[i]/n|0,r[i]%=n)}return r.reverse()}S.absoluteValue=S.abs=function(){var e=new this.constructor(this);return e.s<0&&(e.s=1),R(e)},S.ceil=function(){return R(new this.constructor(this),this.e+1,2)},S.comparedTo=S.cmp=function(e){var t,n,i,o,r=this,s=r.d,a=(e=new r.constructor(e)).d,c=r.s,l=e.s;if(!s||!a)return c&&l?c!==l?c:s===a?0:!s^c<0?1:-1:NaN;if(!s[0]||!a[0])return s[0]?c:a[0]?-l:0;if(c!==l)return c;if(r.e!==e.e)return r.e>e.e^c<0?1:-1;for(t=0,n=(i=s.length)<(o=a.length)?i:o;t<n;++t)if(s[t]!==a[t])return s[t]>a[t]^c<0?1:-1;return i===o?0:i>o^c<0?1:-1},S.cosine=S.cos=function(){var e,t,n=this,i=n.constructor;return n.d?n.d[0]?(e=i.precision,t=i.rounding,i.precision=e+Math.max(n.e,n.sd())+j,i.rounding=1,n=function(e,t){var n,i,o=t.d.length;o<32?(n=Math.ceil(o/3),i=Math.pow(4,-n).toString()):(n=16,i="2.3283064365386962890625e-10");e.precision+=n,t=X(e,1,t.times(i),new e(1));for(var r=n;r--;){var s=t.times(t);t=s.times(s).minus(s).times(8).plus(1)}return e.precision-=n,t}(i,V(i,n)),i.precision=e,i.rounding=t,R(2==r||3==r?n.neg():n,e,t,!0)):new i(1):new i(NaN)},S.cubeRoot=S.cbrt=function(){var e,t,n,i,o,r,s,a,c,l,_=this,u=_.constructor;if(!_.isFinite()||_.isZero())return new u(_);for(p=!1,(r=_.s*Math.pow(_.s*_,1/3))&&Math.abs(r)!=1/0?i=new u(r.toString()):(n=T(_.d),(r=((e=_.e)-n.length+1)%3)&&(n+=1==r||-2==r?"0":"00"),r=Math.pow(n,1/3),e=g((e+1)/3)-(e%3==(e<0?-1:2)),(i=new u(n=r==1/0?"5e"+e:(n=r.toExponential()).slice(0,n.indexOf("e")+1)+e)).s=_.s),s=(e=u.precision)+3;;)if(l=(c=(a=i).times(a).times(a)).plus(_),i=$(l.plus(_).times(a),l.plus(c),s+2,1),T(a.d).slice(0,s)===(n=T(i.d)).slice(0,s)){if("9999"!=(n=n.slice(s-3,s+1))&&(o||"4999"!=n)){+n&&(+n.slice(1)||"5"!=n.charAt(0))||(R(i,e+1,1),t=!i.times(i).times(i).eq(_));break}if(!o&&(R(a,e+1,0),a.times(a).times(a).eq(_))){i=a;break}s+=4,o=1}return p=!0,R(i,e,u.rounding,t)},S.decimalPlaces=S.dp=function(){var e,t=this.d,n=NaN;if(t){if(n=((e=t.length-1)-g(this.e/j))*j,e=t[e])for(;e%10==0;e/=10)n--;n<0&&(n=0)}return n},S.dividedBy=S.div=function(e){return $(this,new this.constructor(e))},S.dividedToIntegerBy=S.divToInt=function(e){var t=this.constructor;return R($(this,new t(e),0,1,1),t.precision,t.rounding)},S.equals=S.eq=function(e){return 0===this.cmp(e)},S.floor=function(){return R(new this.constructor(this),this.e+1,3)},S.greaterThan=S.gt=function(e){return this.cmp(e)>0},S.greaterThanOrEqualTo=S.gte=function(e){var t=this.cmp(e);return 1==t||0===t},S.hyperbolicCosine=S.cosh=function(){var e,t,n,i,o,r=this,s=r.constructor,a=new s(1);if(!r.isFinite())return new s(r.s?1/0:NaN);if(r.isZero())return a;n=s.precision,i=s.rounding,s.precision=n+Math.max(r.e,r.sd())+4,s.rounding=1,(o=r.d.length)<32?(e=Math.ceil(o/3),t=Math.pow(4,-e).toString()):(e=16,t="2.3283064365386962890625e-10"),r=X(s,1,r.times(t),new s(1),!0);for(var c,l=e,_=new s(8);l--;)c=r.times(r),r=a.minus(c.times(_.minus(c.times(_))));return R(r,s.precision=n,s.rounding=i,!0)},S.hyperbolicSine=S.sinh=function(){var e,t,n,i,o=this,r=o.constructor;if(!o.isFinite()||o.isZero())return new r(o);if(t=r.precision,n=r.rounding,r.precision=t+Math.max(o.e,o.sd())+4,r.rounding=1,(i=o.d.length)<3)o=X(r,2,o,o,!0);else{e=(e=1.4*Math.sqrt(i))>16?16:0|e,o=X(r,2,o=o.times(Math.pow(5,-e)),o,!0);for(var s,a=new r(5),c=new r(16),l=new r(20);e--;)s=o.times(o),o=o.times(a.plus(s.times(c.times(s).plus(l))))}return r.precision=t,r.rounding=n,R(o,t,n,!0)},S.hyperbolicTangent=S.tanh=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+7,i.rounding=1,$(n.sinh(),n.cosh(),i.precision=e,i.rounding=t)):new i(n.s)},S.inverseCosine=S.acos=function(){var e,t=this,n=t.constructor,i=t.abs().cmp(1),o=n.precision,r=n.rounding;return-1!==i?0===i?t.isNeg()?q(n,o,r):new n(0):new n(NaN):t.isZero()?q(n,o+4,r).times(.5):(n.precision=o+6,n.rounding=1,t=t.asin(),e=q(n,o+4,r).times(.5),n.precision=o,n.rounding=r,e.minus(t))},S.inverseHyperbolicCosine=S.acosh=function(){var e,t,n=this,i=n.constructor;return n.lte(1)?new i(n.eq(1)?0:NaN):n.isFinite()?(e=i.precision,t=i.rounding,i.precision=e+Math.max(Math.abs(n.e),n.sd())+4,i.rounding=1,p=!1,n=n.times(n).minus(1).sqrt().plus(n),p=!0,i.precision=e,i.rounding=t,n.ln()):new i(n)},S.inverseHyperbolicSine=S.asinh=function(){var e,t,n=this,i=n.constructor;return!n.isFinite()||n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+2*Math.max(Math.abs(n.e),n.sd())+6,i.rounding=1,p=!1,n=n.times(n).plus(1).sqrt().plus(n),p=!0,i.precision=e,i.rounding=t,n.ln())},S.inverseHyperbolicTangent=S.atanh=function(){var e,t,n,i,o=this,r=o.constructor;return o.isFinite()?o.e>=0?new r(o.abs().eq(1)?o.s/0:o.isZero()?o:NaN):(e=r.precision,t=r.rounding,i=o.sd(),Math.max(i,e)<2*-o.e-1?R(new r(o),e,t,!0):(r.precision=n=i-o.e,o=$(o.plus(1),new r(1).minus(o),n+e,1),r.precision=e+4,r.rounding=1,o=o.ln(),r.precision=e,r.rounding=t,o.times(.5))):new r(NaN)},S.inverseSine=S.asin=function(){var e,t,n,i,o=this,r=o.constructor;return o.isZero()?new r(o):(t=o.abs().cmp(1),n=r.precision,i=r.rounding,-1!==t?0===t?((e=q(r,n+4,i).times(.5)).s=o.s,e):new r(NaN):(r.precision=n+6,r.rounding=1,o=o.div(new r(1).minus(o.times(o)).sqrt().plus(1)).atan(),r.precision=n,r.rounding=i,o.times(2)))},S.inverseTangent=S.atan=function(){var e,t,n,i,o,r,s,a,c,l=this,_=l.constructor,u=_.precision,h=_.rounding;if(l.isFinite()){if(l.isZero())return new _(l);if(l.abs().eq(1)&&u+4<=O)return(s=q(_,u+4,h).times(.25)).s=l.s,s}else{if(!l.s)return new _(NaN);if(u+4<=O)return(s=q(_,u+4,h).times(.5)).s=l.s,s}for(_.precision=a=u+10,_.rounding=1,e=n=Math.min(28,a/j+2|0);e;--e)l=l.div(l.times(l).plus(1).sqrt().plus(1));for(p=!1,t=Math.ceil(a/j),i=1,c=l.times(l),s=new _(l),o=l;-1!==e;)if(o=o.times(c),r=s.minus(o.div(i+=2)),o=o.times(c),void 0!==(s=r.plus(o.div(i+=2))).d[t])for(e=t;s.d[e]===r.d[e]&&e--;);return n&&(s=s.times(2<<n-1)),p=!0,R(s,_.precision=u,_.rounding=h,!0)},S.isFinite=function(){return!!this.d},S.isInteger=S.isInt=function(){return!!this.d&&g(this.e/j)>this.d.length-2},S.isNaN=function(){return!this.s},S.isNegative=S.isNeg=function(){return this.s<0},S.isPositive=S.isPos=function(){return this.s>0},S.isZero=function(){return!!this.d&&0===this.d[0]},S.lessThan=S.lt=function(e){return this.cmp(e)<0},S.lessThanOrEqualTo=S.lte=function(e){return this.cmp(e)<1},S.logarithm=S.log=function(e){var t,n,i,o,r,s,a,c,l=this.constructor,_=l.precision,u=l.rounding;if(null==e)e=new l(10),t=!0;else{if(n=(e=new l(e)).d,e.s<0||!n||!n[0]||e.eq(1))return new l(NaN);t=e.eq(10)}if(n=this.d,this.s<0||!n||!n[0]||this.eq(1))return new l(n&&!n[0]?-1/0:1!=this.s?NaN:n?0:1/0);if(t)if(n.length>1)r=!0;else{for(o=n[0];o%10==0;)o/=10;r=1!==o}if(p=!1,s=K(this,a=_+5),i=t?C(l,a+10):K(e,a),P((c=$(s,i,a,1)).d,o=_,u))do{if(s=K(this,a+=10),i=t?C(l,a+10):K(e,a),c=$(s,i,a,1),!r){+T(c.d).slice(o+1,o+15)+1==1e14&&(c=R(c,_+1,0));break}}while(P(c.d,o+=10,u));return p=!0,R(c,_,u)},S.minus=S.sub=function(e){var t,n,i,o,r,s,a,c,l,_,u,h,f=this,d=f.constructor;if(e=new d(e),!f.d||!e.d)return f.s&&e.s?f.d?e.s=-e.s:e=new d(e.d||f.s!==e.s?f:NaN):e=new d(NaN),e;if(f.s!=e.s)return e.s=-e.s,f.plus(e);if(l=f.d,h=e.d,a=d.precision,c=d.rounding,!l[0]||!h[0]){if(h[0])e.s=-e.s;else{if(!l[0])return new d(3===c?-0:0);e=new d(f)}return p?R(e,a,c):e}if(n=g(e.e/j),_=g(f.e/j),l=l.slice(),r=_-n){for((u=r<0)?(t=l,r=-r,s=h.length):(t=h,n=_,s=l.length),r>(i=Math.max(Math.ceil(a/j),s)+2)&&(r=i,t.length=1),t.reverse(),i=r;i--;)t.push(0);t.reverse()}else{for((u=(i=l.length)<(s=h.length))&&(s=i),i=0;i<s;i++)if(l[i]!=h[i]){u=l[i]<h[i];break}r=0}for(u&&(t=l,l=h,h=t,e.s=-e.s),s=l.length,i=h.length-s;i>0;--i)l[s++]=0;for(i=h.length;i>r;){if(l[--i]<h[i]){for(o=i;o&&0===l[--o];)l[o]=x-1;--l[o],l[i]+=x}l[i]-=h[i]}for(;0===l[--s];)l.pop();for(;0===l[0];l.shift())--n;return l[0]?(e.d=l,e.e=M(l,n),p?R(e,a,c):e):new d(3===c?-0:0)},S.modulo=S.mod=function(e){var t,n=this,i=n.constructor;return e=new i(e),!n.d||!e.s||e.d&&!e.d[0]?new i(NaN):!e.d||n.d&&!n.d[0]?R(new i(n),i.precision,i.rounding):(p=!1,9==i.modulo?(t=$(n,e.abs(),0,3,1)).s*=e.s:t=$(n,e,0,i.modulo,1),t=t.times(e),p=!0,n.minus(t))},S.naturalExponential=S.exp=function(){return I(this)},S.naturalLogarithm=S.ln=function(){return K(this)},S.negated=S.neg=function(){var e=new this.constructor(this);return e.s=-e.s,R(e)},S.plus=S.add=function(e){var t,n,i,o,r,s,a,c,l,_,u=this,h=u.constructor;if(e=new h(e),!u.d||!e.d)return u.s&&e.s?u.d||(e=new h(e.d||u.s===e.s?u:NaN)):e=new h(NaN),e;if(u.s!=e.s)return e.s=-e.s,u.minus(e);if(l=u.d,_=e.d,a=h.precision,c=h.rounding,!l[0]||!_[0])return _[0]||(e=new h(u)),p?R(e,a,c):e;if(r=g(u.e/j),i=g(e.e/j),l=l.slice(),o=r-i){for(o<0?(n=l,o=-o,s=_.length):(n=_,i=r,s=l.length),o>(s=(r=Math.ceil(a/j))>s?r+1:s+1)&&(o=s,n.length=1),n.reverse();o--;)n.push(0);n.reverse()}for((s=l.length)-(o=_.length)<0&&(o=s,n=_,_=l,l=n),t=0;o;)t=(l[--o]=l[o]+_[o]+t)/x|0,l[o]%=x;for(t&&(l.unshift(t),++i),s=l.length;0==l[--s];)l.pop();return e.d=l,e.e=M(l,i),p?R(e,a,c):e},S.precision=S.sd=function(e){var t,n=this;if(void 0!==e&&e!==!!e&&1!==e&&0!==e)throw Error(f+e);return n.d?(t=z(n.d),e&&n.e+1>t&&(t=n.e+1)):t=NaN,t},S.round=function(){var e=this,t=e.constructor;return R(new t(e),e.e+1,t.rounding)},S.sine=S.sin=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+Math.max(n.e,n.sd())+j,i.rounding=1,n=function(e,t){var n,i=t.d.length;if(i<3)return X(e,2,t,t);n=(n=1.4*Math.sqrt(i))>16?16:0|n,t=t.times(Math.pow(5,-n)),t=X(e,2,t,t);for(var o,r=new e(5),s=new e(16),a=new e(20);n--;)o=t.times(t),t=t.times(r.plus(o.times(s.times(o).minus(a))));return t}(i,V(i,n)),i.precision=e,i.rounding=t,R(r>2?n.neg():n,e,t,!0)):new i(NaN)},S.squareRoot=S.sqrt=function(){var e,t,n,i,o,r,s=this,a=s.d,c=s.e,l=s.s,_=s.constructor;if(1!==l||!a||!a[0])return new _(!l||l<0&&(!a||a[0])?NaN:a?s:1/0);for(p=!1,0==(l=Math.sqrt(+s))||l==1/0?(((t=T(a)).length+c)%2==0&&(t+="0"),l=Math.sqrt(t),c=g((c+1)/2)-(c<0||c%2),i=new _(t=l==1/0?"1e"+c:(t=l.toExponential()).slice(0,t.indexOf("e")+1)+c)):i=new _(l.toString()),n=(c=_.precision)+3;;)if(i=(r=i).plus($(s,r,n+2,1)).times(.5),T(r.d).slice(0,n)===(t=T(i.d)).slice(0,n)){if("9999"!=(t=t.slice(n-3,n+1))&&(o||"4999"!=t)){+t&&(+t.slice(1)||"5"!=t.charAt(0))||(R(i,c+1,1),e=!i.times(i).eq(s));break}if(!o&&(R(r,c+1,0),r.times(r).eq(s))){i=r;break}n+=4,o=1}return p=!0,R(i,c,_.rounding,e)},S.tangent=S.tan=function(){var e,t,n=this,i=n.constructor;return n.isFinite()?n.isZero()?new i(n):(e=i.precision,t=i.rounding,i.precision=e+10,i.rounding=1,(n=n.sin()).s=1,n=$(n,new i(1).minus(n.times(n)).sqrt(),e+10,0),i.precision=e,i.rounding=t,R(2==r||4==r?n.neg():n,e,t,!0)):new i(NaN)},S.times=S.mul=function(e){var t,n,i,o,r,s,a,c,l,_=this,u=_.constructor,h=_.d,f=(e=new u(e)).d;if(e.s*=_.s,!(h&&h[0]&&f&&f[0]))return new u(!e.s||h&&!h[0]&&!f||f&&!f[0]&&!h?NaN:h&&f?0*e.s:e.s/0);for(n=g(_.e/j)+g(e.e/j),(c=h.length)<(l=f.length)&&(r=h,h=f,f=r,s=c,c=l,l=s),r=[],i=s=c+l;i--;)r.push(0);for(i=l;--i>=0;){for(t=0,o=c+i;o>i;)a=r[o]+f[i]*h[o-i-1]+t,r[o--]=a%x|0,t=a/x|0;r[o]=(r[o]+t)%x|0}for(;!r[--s];)r.pop();return t?++n:r.shift(),e.d=r,e.e=M(r,n),p?R(e,u.precision,u.rounding):e},S.toBinary=function(e,t){return Q(this,2,e,t)},S.toDecimalPlaces=S.toDP=function(e,t){var n=this,i=n.constructor;return n=new i(n),void 0===e?n:(A(e,0,a),void 0===t?t=i.rounding:A(t,0,8),R(n,e+n.e+1,t))},S.toExponential=function(e,t){var n,i=this,o=i.constructor;return void 0===e?n=L(i,!0):(A(e,0,a),void 0===t?t=o.rounding:A(t,0,8),n=L(i=R(new o(i),e+1,t),!0,e+1)),i.isNeg()&&!i.isZero()?"-"+n:n},S.toFixed=function(e,t){var n,i,o=this,r=o.constructor;return void 0===e?n=L(o):(A(e,0,a),void 0===t?t=r.rounding:A(t,0,8),n=L(i=R(new r(o),e+o.e+1,t),!1,e+i.e+1)),o.isNeg()&&!o.isZero()?"-"+n:n},S.toFraction=function(e){var t,n,i,o,r,s,a,c,l,_,u,h,d=this,m=d.d,g=d.constructor;if(!m)return new g(d);if(l=n=new g(1),i=c=new g(0),s=(r=(t=new g(i)).e=z(m)-d.e-1)%j,t.d[0]=y(10,s<0?j+s:s),null==e)e=r>0?t:l;else{if(!(a=new g(e)).isInt()||a.lt(l))throw Error(f+a);e=a.gt(t)?r>0?t:l:a}for(p=!1,a=new g(T(m)),_=g.precision,g.precision=r=m.length*j*2;u=$(a,t,0,1,1),1!=(o=n.plus(u.times(i))).cmp(e);)n=i,i=o,o=l,l=c.plus(u.times(o)),c=o,o=t,t=a.minus(u.times(o)),a=o;return o=$(e.minus(n),i,0,1,1),c=c.plus(o.times(l)),n=n.plus(o.times(i)),c.s=l.s=d.s,h=$(l,i,r,1).minus(d).abs().cmp($(c,n,r,1).minus(d).abs())<1?[l,i]:[c,n],g.precision=_,p=!0,h},S.toHexadecimal=S.toHex=function(e,t){return Q(this,16,e,t)},S.toNearest=function(e,t){var n=this,i=n.constructor;if(n=new i(n),null==e){if(!n.d)return n;e=new i(1),t=i.rounding}else{if(e=new i(e),void 0===t?t=i.rounding:A(t,0,8),!n.d)return e.s?n:e;if(!e.d)return e.s&&(e.s=n.s),e}return e.d[0]?(p=!1,n=$(n,e,0,t,1).times(e),p=!0,R(n)):(e.s=n.s,n=e),n},S.toNumber=function(){return+this},S.toOctal=function(e,t){return Q(this,8,e,t)},S.toPower=S.pow=function(e){var t,n,i,o,r,s,a=this,c=a.constructor,l=+(e=new c(e));if(!(a.d&&e.d&&a.d[0]&&e.d[0]))return new c(y(+a,l));if((a=new c(a)).eq(1))return a;if(i=c.precision,r=c.rounding,e.eq(1))return R(a,i,r);if((t=g(e.e/j))>=e.d.length-1&&(n=l<0?-l:l)<=9007199254740991)return o=B(c,a,n,i),e.s<0?new c(1).div(o):R(o,i,r);if((s=a.s)<0){if(t<e.d.length-1)return new c(NaN);if(0==(1&e.d[t])&&(s=1),0==a.e&&1==a.d[0]&&1==a.d.length)return a.s=s,a}return(t=0!=(n=y(+a,l))&&isFinite(n)?new c(n+"").e:g(l*(Math.log("0."+T(a.d))/Math.LN10+a.e+1)))>c.maxE+1||t<c.minE-1?new c(t>0?s/0:0):(p=!1,c.rounding=a.s=1,n=Math.min(12,(t+"").length),(o=I(e.times(K(a,i+n)),i)).d&&P((o=R(o,i+5,1)).d,i,r)&&(t=i+10,+T((o=R(I(e.times(K(a,t+n)),t),t+5,1)).d).slice(i+1,i+15)+1==1e14&&(o=R(o,i+1,0))),o.s=s,p=!0,c.rounding=r,R(o,i,r))},S.toPrecision=function(e,t){var n,i=this,o=i.constructor;return void 0===e?n=L(i,i.e<=o.toExpNeg||i.e>=o.toExpPos):(A(e,1,a),void 0===t?t=o.rounding:A(t,0,8),n=L(i=R(new o(i),e,t),e<=i.e||i.e<=o.toExpNeg,e)),i.isNeg()&&!i.isZero()?"-"+n:n},S.toSignificantDigits=S.toSD=function(e,t){var n=this.constructor;return void 0===e?(e=n.precision,t=n.rounding):(A(e,1,a),void 0===t?t=n.rounding:A(t,0,8)),R(new n(this),e,t)},S.toString=function(){var e=this,t=e.constructor,n=L(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()&&!e.isZero()?"-"+n:n},S.truncated=S.trunc=function(){return R(new this.constructor(this),this.e+1,1)},S.valueOf=S.toJSON=function(){var e=this,t=e.constructor,n=L(e,e.e<=t.toExpNeg||e.e>=t.toExpPos);return e.isNeg()?"-"+n:n};var $=function(){function e(e,t,n){var i,o=0,r=e.length;for(e=e.slice();r--;)i=e[r]*t+o,e[r]=i%n|0,o=i/n|0;return o&&e.unshift(o),e}function t(e,t,n,i){var o,r;if(n!=i)r=n>i?1:-1;else for(o=r=0;o<n;o++)if(e[o]!=t[o]){r=e[o]>t[o]?1:-1;break}return r}function n(e,t,n,i){for(var o=0;n--;)e[n]-=o,o=e[n]<t[n]?1:0,e[n]=o*i+e[n]-t[n];for(;!e[0]&&e.length>1;)e.shift()}return function(o,r,s,a,c,l){var _,u,p,h,f,d,m,y,w,b,v,k,E,O,S,T,A,P,N,$,L=o.constructor,M=o.s==r.s?1:-1,C=o.d,q=r.d;if(!(C&&C[0]&&q&&q[0]))return new L(o.s&&r.s&&(C?!q||C[0]!=q[0]:q)?C&&0==C[0]||!q?0*M:M/0:NaN);for(l?(f=1,u=o.e-r.e):(l=x,f=j,u=g(o.e/f)-g(r.e/f)),N=q.length,A=C.length,b=(w=new L(M)).d=[],p=0;q[p]==(C[p]||0);p++);if(q[p]>(C[p]||0)&&u--,null==s?(O=s=L.precision,a=L.rounding):O=c?s+(o.e-r.e)+1:s,O<0)b.push(1),d=!0;else{if(O=O/f+2|0,p=0,1==N){for(h=0,q=q[0],O++;(p<A||h)&&O--;p++)S=h*l+(C[p]||0),b[p]=S/q|0,h=S%q|0;d=h||p<A}else{for((h=l/(q[0]+1)|0)>1&&(q=e(q,h,l),C=e(C,h,l),N=q.length,A=C.length),T=N,k=(v=C.slice(0,N)).length;k<N;)v[k++]=0;($=q.slice()).unshift(0),P=q[0],q[1]>=l/2&&++P;do{h=0,(_=t(q,v,N,k))<0?(E=v[0],N!=k&&(E=E*l+(v[1]||0)),(h=E/P|0)>1?(h>=l&&(h=l-1),1==(_=t(m=e(q,h,l),v,y=m.length,k=v.length))&&(h--,n(m,N<y?$:q,y,l))):(0==h&&(_=h=1),m=q.slice()),(y=m.length)<k&&m.unshift(0),n(v,m,k,l),-1==_&&(_=t(q,v,N,k=v.length))<1&&(h++,n(v,N<k?$:q,k,l)),k=v.length):0===_&&(h++,v=[0]),b[p++]=h,_&&v[0]?v[k++]=C[T]||0:(v=[C[T]],k=1)}while((T++<A||void 0!==v[0])&&O--);d=void 0!==v[0]}b[0]||b.shift()}if(1==f)w.e=u,i=d;else{for(p=1,h=b[0];h>=10;h/=10)p++;w.e=p+u*f-1,R(w,c?s+w.e+1:s,a,d)}return w}}();function R(e,t,n,i){var o,r,s,a,c,l,_,u,h,f=e.constructor;e:if(null!=t){if(!(u=e.d))return e;for(o=1,a=u[0];a>=10;a/=10)o++;if((r=t-o)<0)r+=j,s=t,c=(_=u[h=0])/y(10,o-s-1)%10|0;else if((h=Math.ceil((r+1)/j))>=(a=u.length)){if(!i)break e;for(;a++<=h;)u.push(0);_=c=0,o=1,s=(r%=j)-j+1}else{for(_=a=u[h],o=1;a>=10;a/=10)o++;c=(s=(r%=j)-j+o)<0?0:_/y(10,o-s-1)%10|0}if(i=i||t<0||void 0!==u[h+1]||(s<0?_:_%y(10,o-s-1)),l=n<4?(c||i)&&(0==n||n==(e.s<0?3:2)):c>5||5==c&&(4==n||i||6==n&&(r>0?s>0?_/y(10,o-s):0:u[h-1])%10&1||n==(e.s<0?8:7)),t<1||!u[0])return u.length=0,l?(t-=e.e+1,u[0]=y(10,(j-t%j)%j),e.e=-t||0):u[0]=e.e=0,e;if(0==r?(u.length=h,a=1,h--):(u.length=h+1,a=y(10,j-r),u[h]=s>0?(_/y(10,o-s)%y(10,s)|0)*a:0),l)for(;;){if(0==h){for(r=1,s=u[0];s>=10;s/=10)r++;for(s=u[0]+=a,a=1;s>=10;s/=10)a++;r!=a&&(e.e++,u[0]==x&&(u[0]=1));break}if(u[h]+=a,u[h]!=x)break;u[h--]=0,a=1}for(r=u.length;0===u[--r];)u.pop()}return p&&(e.e>f.maxE?(e.d=null,e.e=NaN):e.e<f.minE&&(e.e=0,e.d=[0])),e}function L(e,t,n){if(!e.isFinite())return F(e);var i,o=e.e,r=T(e.d),s=r.length;return t?(n&&(i=n-s)>0?r=r.charAt(0)+"."+r.slice(1)+D(i):s>1&&(r=r.charAt(0)+"."+r.slice(1)),r=r+(e.e<0?"e":"e+")+e.e):o<0?(r="0."+D(-o-1)+r,n&&(i=n-s)>0&&(r+=D(i))):o>=s?(r+=D(o+1-s),n&&(i=n-o-1)>0&&(r=r+"."+D(i))):((i=o+1)<s&&(r=r.slice(0,i)+"."+r.slice(i)),n&&(i=n-s)>0&&(o+1===s&&(r+="."),r+=D(i))),r}function M(e,t){var n=e[0];for(t*=j;n>=10;n/=10)t++;return t}function C(e,t,n){if(t>E)throw p=!0,n&&(e.precision=n),Error(d);return R(new e(l),t,1,!0)}function q(e,t,n){if(t>O)throw Error(d);return R(new e(_),t,n,!0)}function z(e){var t=e.length-1,n=t*j+1;if(t=e[t]){for(;t%10==0;t/=10)n--;for(t=e[0];t>=10;t/=10)n++}return n}function D(e){for(var t="";e--;)t+="0";return t}function B(e,t,n,i){var o,r=new e(1),s=Math.ceil(i/j+4);for(p=!1;;){if(n%2&&H((r=r.times(t)).d,s)&&(o=!0),0===(n=g(n/2))){n=r.d.length-1,o&&0===r.d[n]&&++r.d[n];break}H((t=t.times(t)).d,s)}return p=!0,r}function U(e){return 1&e.d[e.d.length-1]}function W(e,t,n){for(var i,o=new e(t[0]),r=0;++r<t.length;){if(!(i=new e(t[r])).s){o=i;break}o[n](i)&&(o=i)}return o}function I(e,t){var n,i,o,r,s,a,c,l=0,_=0,u=0,h=e.constructor,f=h.rounding,d=h.precision;if(!e.d||!e.d[0]||e.e>17)return new h(e.d?e.d[0]?e.s<0?0:1/0:1:e.s?e.s<0?0:e:NaN);for(null==t?(p=!1,c=d):c=t,a=new h(.03125);e.e>-2;)e=e.times(a),u+=5;for(c+=i=Math.log(y(2,u))/Math.LN10*2+5|0,n=r=s=new h(1),h.precision=c;;){if(r=R(r.times(e),c,1),n=n.times(++_),T((a=s.plus($(r,n,c,1))).d).slice(0,c)===T(s.d).slice(0,c)){for(o=u;o--;)s=R(s.times(s),c,1);if(null!=t)return h.precision=d,s;if(!(l<3&&P(s.d,c-i,f,l)))return R(s,h.precision=d,f,p=!0);h.precision=c+=10,n=r=a=new h(1),_=0,l++}s=a}}function K(e,t){var n,i,o,r,s,a,c,l,_,u,h,f=1,d=e,m=d.d,g=d.constructor,y=g.rounding,w=g.precision;if(d.s<0||!m||!m[0]||!d.e&&1==m[0]&&1==m.length)return new g(m&&!m[0]?-1/0:1!=d.s?NaN:m?0:d);if(null==t?(p=!1,_=w):_=t,g.precision=_+=10,i=(n=T(m)).charAt(0),!(Math.abs(r=d.e)<15e14))return l=C(g,_+2,w).times(r+""),d=K(new g(i+"."+n.slice(1)),_-10).plus(l),g.precision=w,null==t?R(d,w,y,p=!0):d;for(;i<7&&1!=i||1==i&&n.charAt(1)>3;)i=(n=T((d=d.times(e)).d)).charAt(0),f++;for(r=d.e,i>1?(d=new g("0."+n),r++):d=new g(i+"."+n.slice(1)),u=d,c=s=d=$(d.minus(1),d.plus(1),_,1),h=R(d.times(d),_,1),o=3;;){if(s=R(s.times(h),_,1),T((l=c.plus($(s,new g(o),_,1))).d).slice(0,_)===T(c.d).slice(0,_)){if(c=c.times(2),0!==r&&(c=c.plus(C(g,_+2,w).times(r+""))),c=$(c,new g(f),_,1),null!=t)return g.precision=w,c;if(!P(c.d,_-10,y,a))return R(c,g.precision=w,y,p=!0);g.precision=_+=10,l=s=d=$(u.minus(1),u.plus(1),_,1),h=R(d.times(d),_,1),o=a=1}c=l,o+=2}}function F(e){return String(e.s*e.s/0)}function G(e,t){var n,i,o;for((n=t.indexOf("."))>-1&&(t=t.replace(".","")),(i=t.search(/e/i))>0?(n<0&&(n=i),n+=+t.slice(i+1),t=t.substring(0,i)):n<0&&(n=t.length),i=0;48===t.charCodeAt(i);i++);for(o=t.length;48===t.charCodeAt(o-1);--o);if(t=t.slice(i,o)){if(o-=i,e.e=n=n-i-1,e.d=[],i=(n+1)%j,n<0&&(i+=j),i<o){for(i&&e.d.push(+t.slice(0,i)),o-=j;i<o;)e.d.push(+t.slice(i,i+=j));t=t.slice(i),i=j-t.length}else i-=o;for(;i--;)t+="0";e.d.push(+t),p&&(e.e>e.constructor.maxE?(e.d=null,e.e=NaN):e.e<e.constructor.minE&&(e.e=0,e.d=[0]))}else e.e=0,e.d=[0];return e}function Z(e,t){var i,o,r,s,a,c,l,_,u;if("Infinity"===t||"NaN"===t)return+t||(e.s=NaN),e.e=NaN,e.d=null,e;if(b.test(t))i=16,t=t.toLowerCase();else if(w.test(t))i=2;else{if(!v.test(t))throw Error(f+t);i=8}for((s=t.search(/p/i))>0?(l=+t.slice(s+1),t=t.substring(2,s)):t=t.slice(2),a=(s=t.indexOf("."))>=0,o=e.constructor,a&&(s=(c=(t=t.replace(".","")).length)-s,r=B(o,new o(i),s,2*s)),s=u=(_=N(t,i,x)).length-1;0===_[s];--s)_.pop();return s<0?new o(0*e.s):(e.e=M(_,u),e.d=_,p=!1,a&&(e=$(e,r,4*c)),l&&(e=e.times(Math.abs(l)<54?Math.pow(2,l):n.pow(2,l))),p=!0,e)}function X(e,t,n,i,o){var r,s,a,c,l=e.precision,_=Math.ceil(l/j);for(p=!1,c=n.times(n),a=new e(i);;){if(s=$(a.times(c),new e(t++*t++),l,1),a=o?i.plus(s):i.minus(s),i=$(s.times(c),new e(t++*t++),l,1),void 0!==(s=a.plus(i)).d[_]){for(r=_;s.d[r]===a.d[r]&&r--;);if(-1==r)break}r=a,a=i,i=s,s=r,0}return p=!0,s.d.length=_+1,s}function V(e,t){var n,i=t.s<0,o=q(e,e.precision,1),s=o.times(.5);if((t=t.abs()).lte(s))return r=i?4:1,t;if((n=t.divToInt(o)).isZero())r=i?3:2;else{if((t=t.minus(n.times(o))).lte(s))return r=U(n)?i?2:3:i?4:1,t;r=U(n)?i?1:4:i?3:2}return t.minus(o).abs()}function Q(e,t,n,o){var r,s,l,_,u,p,h,f,d,m=e.constructor,g=void 0!==n;if(g?(A(n,1,a),void 0===o?o=m.rounding:A(o,0,8)):(n=m.precision,o=m.rounding),e.isFinite()){for(g?(r=2,16==t?n=4*n-3:8==t&&(n=3*n-2)):r=t,(l=(h=L(e)).indexOf("."))>=0&&(h=h.replace(".",""),(d=new m(1)).e=h.length-l,d.d=N(L(d),10,r),d.e=d.d.length),s=u=(f=N(h,10,r)).length;0==f[--u];)f.pop();if(f[0]){if(l<0?s--:((e=new m(e)).d=f,e.e=s,f=(e=$(e,d,n,o,0,r)).d,s=e.e,p=i),l=f[n],_=r/2,p=p||void 0!==f[n+1],p=o<4?(void 0!==l||p)&&(0===o||o===(e.s<0?3:2)):l>_||l===_&&(4===o||p||6===o&&1&f[n-1]||o===(e.s<0?8:7)),f.length=n,p)for(;++f[--n]>r-1;)f[n]=0,n||(++s,f.unshift(1));for(u=f.length;!f[u-1];--u);for(l=0,h="";l<u;l++)h+=c.charAt(f[l]);if(g){if(u>1)if(16==t||8==t){for(l=16==t?4:3,--u;u%l;u++)h+="0";for(u=(f=N(h,r,t)).length;!f[u-1];--u);for(l=1,h="1.";l<u;l++)h+=c.charAt(f[l])}else h=h.charAt(0)+"."+h.slice(1);h=h+(s<0?"p":"p+")+s}else if(s<0){for(;++s;)h="0"+h;h="0."+h}else if(++s>u)for(s-=u;s--;)h+="0";else s<u&&(h=h.slice(0,s)+"."+h.slice(s))}else h=g?"0p+0":"0";h=(16==t?"0x":2==t?"0b":8==t?"0o":"")+h}else h=F(e);return e.s<0?"-"+h:h}function H(e,t){if(e.length>t)return e.length=t,!0}function J(e){return new this(e).abs()}function Y(e){return new this(e).acos()}function ee(e){return new this(e).acosh()}function te(e,t){return new this(e).plus(t)}function ne(e){return new this(e).asin()}function ie(e){return new this(e).asinh()}function oe(e){return new this(e).atan()}function re(e){return new this(e).atanh()}function se(e,t){e=new this(e),t=new this(t);var n,i=this.precision,o=this.rounding,r=i+4;return e.s&&t.s?e.d||t.d?!t.d||e.isZero()?(n=t.s<0?q(this,i,o):new this(0)).s=e.s:!e.d||t.isZero()?(n=q(this,r,1).times(.5)).s=e.s:t.s<0?(this.precision=r,this.rounding=1,n=this.atan($(e,t,r,1)),t=q(this,r,1),this.precision=i,this.rounding=o,n=e.s<0?n.minus(t):n.plus(t)):n=this.atan($(e,t,r,1)):(n=q(this,r,1).times(t.s>0?.25:.75)).s=e.s:n=new this(NaN),n}function ae(e){return new this(e).cbrt()}function ce(e){return R(e=new this(e),e.e+1,2)}function le(e){if(!e||"object"!=typeof e)throw Error(h+"Object expected");var t,n,i,o=!0===e.defaults,r=["precision",1,a,"rounding",0,8,"toExpNeg",-s,0,"toExpPos",0,s,"maxE",0,s,"minE",-s,0,"modulo",0,9];for(t=0;t<r.length;t+=3)if(n=r[t],o&&(this[n]=u[n]),void 0!==(i=e[n])){if(!(g(i)===i&&i>=r[t+1]&&i<=r[t+2]))throw Error(f+n+": "+i);this[n]=i}if(n="crypto",o&&(this[n]=u[n]),void 0!==(i=e[n])){if(!0!==i&&!1!==i&&0!==i&&1!==i)throw Error(f+n+": "+i);if(i){if("undefined"==typeof crypto||!crypto||!crypto.getRandomValues&&!crypto.randomBytes)throw Error(m);this[n]=!0}else this[n]=!1}return this}function _e(e){return new this(e).cos()}function ue(e){return new this(e).cosh()}function pe(e,t){return new this(e).div(t)}function he(e){return new this(e).exp()}function fe(e){return R(e=new this(e),e.e+1,3)}function de(){var e,t,n=new this(0);for(p=!1,e=0;e<arguments.length;)if((t=new this(arguments[e++])).d)n.d&&(n=n.plus(t.times(t)));else{if(t.s)return p=!0,new this(1/0);n=t}return p=!0,n.sqrt()}function me(e){return e instanceof n||e&&"[object Decimal]"===e.name||!1}function ge(e){return new this(e).ln()}function ye(e,t){return new this(e).log(t)}function we(e){return new this(e).log(2)}function be(e){return new this(e).log(10)}function ve(){return W(this,arguments,"lt")}function ke(){return W(this,arguments,"gt")}function xe(e,t){return new this(e).mod(t)}function je(e,t){return new this(e).mul(t)}function Ee(e,t){return new this(e).pow(t)}function Oe(e){var t,n,i,o,r=0,s=new this(1),c=[];if(void 0===e?e=this.precision:A(e,1,a),i=Math.ceil(e/j),this.crypto)if(crypto.getRandomValues)for(t=crypto.getRandomValues(new Uint32Array(i));r<i;)(o=t[r])>=429e7?t[r]=crypto.getRandomValues(new Uint32Array(1))[0]:c[r++]=o%1e7;else{if(!crypto.randomBytes)throw Error(m);for(t=crypto.randomBytes(i*=4);r<i;)(o=t[r]+(t[r+1]<<8)+(t[r+2]<<16)+((127&t[r+3])<<24))>=214e7?crypto.randomBytes(4).copy(t,r):(c.push(o%1e7),r+=4);r=i/4}else for(;r<i;)c[r++]=1e7*Math.random()|0;for(i=c[--r],e%=j,i&&e&&(o=y(10,j-e),c[r]=(i/o|0)*o);0===c[r];r--)c.pop();if(r<0)n=0,c=[0];else{for(n=-1;0===c[0];n-=j)c.shift();for(i=1,o=c[0];o>=10;o/=10)i++;i<j&&(n-=j-i)}return s.e=n,s.d=c,s}function Se(e){return R(e=new this(e),e.e+1,this.rounding)}function Te(e){return(e=new this(e)).d?e.d[0]?e.s:0*e.s:e.s||NaN}function Ae(e){return new this(e).sin()}function Pe(e){return new this(e).sinh()}function Ne(e){return new this(e).sqrt()}function $e(e,t){return new this(e).sub(t)}function Re(e){return new this(e).tan()}function Le(e){return new this(e).tanh()}function Me(e){return R(e=new this(e),e.e+1,1)}(n=function e(t){var n,i,o;function r(e){var t,n,i,o=this;if(!(o instanceof r))return new r(e);if(o.constructor=r,e instanceof r)return o.s=e.s,o.e=e.e,void(o.d=(e=e.d)?e.slice():e);if("number"==(i=typeof e)){if(0===e)return o.s=1/e<0?-1:1,o.e=0,void(o.d=[0]);if(e<0?(e=-e,o.s=-1):o.s=1,e===~~e&&e<1e7){for(t=0,n=e;n>=10;n/=10)t++;return o.e=t,void(o.d=[e])}return 0*e!=0?(e||(o.s=NaN),o.e=NaN,void(o.d=null)):G(o,e.toString())}if("string"!==i)throw Error(f+e);return 45===e.charCodeAt(0)?(e=e.slice(1),o.s=-1):o.s=1,k.test(e)?G(o,e):Z(o,e)}if(r.prototype=S,r.ROUND_UP=0,r.ROUND_DOWN=1,r.ROUND_CEIL=2,r.ROUND_FLOOR=3,r.ROUND_HALF_UP=4,r.ROUND_HALF_DOWN=5,r.ROUND_HALF_EVEN=6,r.ROUND_HALF_CEIL=7,r.ROUND_HALF_FLOOR=8,r.EUCLID=9,r.config=r.set=le,r.clone=e,r.isDecimal=me,r.abs=J,r.acos=Y,r.acosh=ee,r.add=te,r.asin=ne,r.asinh=ie,r.atan=oe,r.atanh=re,r.atan2=se,r.cbrt=ae,r.ceil=ce,r.cos=_e,r.cosh=ue,r.div=pe,r.exp=he,r.floor=fe,r.hypot=de,r.ln=ge,r.log=ye,r.log10=be,r.log2=we,r.max=ve,r.min=ke,r.mod=xe,r.mul=je,r.pow=Ee,r.random=Oe,r.round=Se,r.sign=Te,r.sin=Ae,r.sinh=Pe,r.sqrt=Ne,r.sub=$e,r.tan=Re,r.tanh=Le,r.trunc=Me,void 0===t&&(t={}),t&&!0!==t.defaults)for(o=["precision","rounding","toExpNeg","toExpPos","maxE","minE","modulo","crypto"],n=0;n<o.length;)t.hasOwnProperty(i=o[n++])||(t[i]=this[i]);return r.config(t),r}(u)).default=n.Decimal=n,l=new n(l),_=new n(_),"function"==typeof define&&define.amd?define(function(){return n}):void 0!==t&&t.exports?t.exports=n:(e||(e="undefined"!=typeof self&&self&&self.self==self?self:window),o=e.Decimal,n.noConflict=function(){return e.Decimal=o,n},e.Decimal=n)}(this)},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/escape-string-regexp/index.js":[function(e,t,n){"use strict";var i=/[|\\{}()[\]^$+*?.]/g;t.exports=function(e){if("string"!=typeof e)throw new TypeError("Expected a string");return e.replace(i,"\\$&")}},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/eventemitter2/lib/eventemitter2.js":[function(e,t,n){(function(e){!function(i){var o=Array.isArray?Array.isArray:function(e){return"[object Array]"===Object.prototype.toString.call(e)},r=10;function s(){this._events={},this._conf&&a.call(this,this._conf)}function a(e){e?(this._conf=e,e.delimiter&&(this.delimiter=e.delimiter),this._maxListeners=e.maxListeners!==i?e.maxListeners:r,e.wildcard&&(this.wildcard=e.wildcard),e.newListener&&(this._newListener=e.newListener),e.removeListener&&(this._removeListener=e.removeListener),e.verboseMemoryLeak&&(this.verboseMemoryLeak=e.verboseMemoryLeak),this.wildcard&&(this.listenerTree={})):this._maxListeners=r}function c(t,n){var i="(node) warning: possible EventEmitter memory leak detected. "+t+" listeners added. Use emitter.setMaxListeners() to increase limit.";if(this.verboseMemoryLeak&&(i+=" Event name: "+n+"."),void 0!==e&&e.emitWarning){var o=new Error(i);o.name="MaxListenersExceededWarning",o.emitter=this,o.count=t,e.emitWarning(o)}else console.error(i),console.trace&&console.trace()}function l(e){this._events={},this._newListener=!1,this._removeListener=!1,this.verboseMemoryLeak=!1,a.call(this,e)}function _(e,t,n,i){if(!n)return[];var o,r,s,a,c,l,u,p=[],h=t.length,f=t[i],d=t[i+1];if(i===h&&n._listeners){if("function"==typeof n._listeners)return e&&e.push(n._listeners),[n];for(o=0,r=n._listeners.length;o<r;o++)e&&e.push(n._listeners[o]);return[n]}if("*"===f||"**"===f||n[f]){if("*"===f){for(s in n)"_listeners"!==s&&n.hasOwnProperty(s)&&(p=p.concat(_(e,t,n[s],i+1)));return p}if("**"===f){for(s in(u=i+1===h||i+2===h&&"*"===d)&&n._listeners&&(p=p.concat(_(e,t,n,h))),n)"_listeners"!==s&&n.hasOwnProperty(s)&&("*"===s||"**"===s?(n[s]._listeners&&!u&&(p=p.concat(_(e,t,n[s],h))),p=p.concat(_(e,t,n[s],i))):p=s===d?p.concat(_(e,t,n[s],i+2)):p.concat(_(e,t,n[s],i)));return p}p=p.concat(_(e,t,n[f],i+1))}if((a=n["*"])&&_(e,t,a,i+1),c=n["**"])if(i<h)for(s in c._listeners&&_(e,t,c,h),c)"_listeners"!==s&&c.hasOwnProperty(s)&&(s===d?_(e,t,c[s],i+2):s===f?_(e,t,c[s],i+1):((l={})[s]=c[s],_(e,t,{"**":l},i+1)));else c._listeners?_(e,t,c,h):c["*"]&&c["*"]._listeners&&_(e,t,c["*"],h);return p}l.EventEmitter2=l,l.prototype.delimiter=".",l.prototype.setMaxListeners=function(e){e!==i&&(this._maxListeners=e,this._conf||(this._conf={}),this._conf.maxListeners=e)},l.prototype.event="",l.prototype.once=function(e,t){return this._once(e,t,!1)},l.prototype.prependOnceListener=function(e,t){return this._once(e,t,!0)},l.prototype._once=function(e,t,n){return this._many(e,1,t,n),this},l.prototype.many=function(e,t,n){return this._many(e,t,n,!1)},l.prototype.prependMany=function(e,t,n){return this._many(e,t,n,!0)},l.prototype._many=function(e,t,n,i){var o=this;if("function"!=typeof n)throw new Error("many only accepts instances of Function");function r(){return 0==--t&&o.off(e,r),n.apply(this,arguments)}return r._origin=n,this._on(e,r,i),o},l.prototype.emit=function(){this._events||s.call(this);var e=arguments[0];if("newListener"===e&&!this._newListener&&!this._events.newListener)return!1;var t,n,i,o,r,a=arguments.length;if(this._all&&this._all.length){if(r=this._all.slice(),a>3)for(t=new Array(a),o=0;o<a;o++)t[o]=arguments[o];for(i=0,n=r.length;i<n;i++)switch(this.event=e,a){case 1:r[i].call(this,e);break;case 2:r[i].call(this,e,arguments[1]);break;case 3:r[i].call(this,e,arguments[1],arguments[2]);break;default:r[i].apply(this,t)}}if(this.wildcard){r=[];var c="string"==typeof e?e.split(this.delimiter):e.slice();_.call(this,r,c,this.listenerTree,0)}else{if("function"==typeof(r=this._events[e])){switch(this.event=e,a){case 1:r.call(this);break;case 2:r.call(this,arguments[1]);break;case 3:r.call(this,arguments[1],arguments[2]);break;default:for(t=new Array(a-1),o=1;o<a;o++)t[o-1]=arguments[o];r.apply(this,t)}return!0}r&&(r=r.slice())}if(r&&r.length){if(a>3)for(t=new Array(a-1),o=1;o<a;o++)t[o-1]=arguments[o];for(i=0,n=r.length;i<n;i++)switch(this.event=e,a){case 1:r[i].call(this);break;case 2:r[i].call(this,arguments[1]);break;case 3:r[i].call(this,arguments[1],arguments[2]);break;default:r[i].apply(this,t)}return!0}if(!this._all&&"error"===e)throw arguments[1]instanceof Error?arguments[1]:new Error("Uncaught, unspecified 'error' event.");return!!this._all},l.prototype.emitAsync=function(){this._events||s.call(this);var e=arguments[0];if("newListener"===e&&!this._newListener&&!this._events.newListener)return Promise.resolve([!1]);var t,n,i,o,r,a=[],c=arguments.length;if(this._all){if(c>3)for(t=new Array(c),o=1;o<c;o++)t[o]=arguments[o];for(i=0,n=this._all.length;i<n;i++)switch(this.event=e,c){case 1:a.push(this._all[i].call(this,e));break;case 2:a.push(this._all[i].call(this,e,arguments[1]));break;case 3:a.push(this._all[i].call(this,e,arguments[1],arguments[2]));break;default:a.push(this._all[i].apply(this,t))}}if(this.wildcard){r=[];var l="string"==typeof e?e.split(this.delimiter):e.slice();_.call(this,r,l,this.listenerTree,0)}else r=this._events[e];if("function"==typeof r)switch(this.event=e,c){case 1:a.push(r.call(this));break;case 2:a.push(r.call(this,arguments[1]));break;case 3:a.push(r.call(this,arguments[1],arguments[2]));break;default:for(t=new Array(c-1),o=1;o<c;o++)t[o-1]=arguments[o];a.push(r.apply(this,t))}else if(r&&r.length){if(r=r.slice(),c>3)for(t=new Array(c-1),o=1;o<c;o++)t[o-1]=arguments[o];for(i=0,n=r.length;i<n;i++)switch(this.event=e,c){case 1:a.push(r[i].call(this));break;case 2:a.push(r[i].call(this,arguments[1]));break;case 3:a.push(r[i].call(this,arguments[1],arguments[2]));break;default:a.push(r[i].apply(this,t))}}else if(!this._all&&"error"===e)return arguments[1]instanceof Error?Promise.reject(arguments[1]):Promise.reject("Uncaught, unspecified 'error' event.");return Promise.all(a)},l.prototype.on=function(e,t){return this._on(e,t,!1)},l.prototype.prependListener=function(e,t){return this._on(e,t,!0)},l.prototype.onAny=function(e){return this._onAny(e,!1)},l.prototype.prependAny=function(e){return this._onAny(e,!0)},l.prototype.addListener=l.prototype.on,l.prototype._onAny=function(e,t){if("function"!=typeof e)throw new Error("onAny only accepts instances of Function");return this._all||(this._all=[]),t?this._all.unshift(e):this._all.push(e),this},l.prototype._on=function(e,t,n){if("function"==typeof e)return this._onAny(e,t),this;if("function"!=typeof t)throw new Error("on only accepts instances of Function");return this._events||s.call(this),this._newListener&&this.emit("newListener",e,t),this.wildcard?(function(e,t){for(var n=0,o=(e="string"==typeof e?e.split(this.delimiter):e.slice()).length;n+1<o;n++)if("**"===e[n]&&"**"===e[n+1])return;for(var r=this.listenerTree,s=e.shift();s!==i;){if(r[s]||(r[s]={}),r=r[s],0===e.length)return r._listeners?("function"==typeof r._listeners&&(r._listeners=[r._listeners]),r._listeners.push(t),!r._listeners.warned&&this._maxListeners>0&&r._listeners.length>this._maxListeners&&(r._listeners.warned=!0,c.call(this,r._listeners.length,s))):r._listeners=t,!0;s=e.shift()}return!0}.call(this,e,t),this):(this._events[e]?("function"==typeof this._events[e]&&(this._events[e]=[this._events[e]]),n?this._events[e].unshift(t):this._events[e].push(t),!this._events[e].warned&&this._maxListeners>0&&this._events[e].length>this._maxListeners&&(this._events[e].warned=!0,c.call(this,this._events[e].length,e))):this._events[e]=t,this)},l.prototype.off=function(e,t){if("function"!=typeof t)throw new Error("removeListener only takes instances of Function");var n,r=[];if(this.wildcard){var s="string"==typeof e?e.split(this.delimiter):e.slice();r=_.call(this,null,s,this.listenerTree,0)}else{if(!this._events[e])return this;n=this._events[e],r.push({_listeners:n})}for(var a=0;a<r.length;a++){var c=r[a];if(n=c._listeners,o(n)){for(var l=-1,u=0,p=n.length;u<p;u++)if(n[u]===t||n[u].listener&&n[u].listener===t||n[u]._origin&&n[u]._origin===t){l=u;break}if(l<0)continue;return this.wildcard?c._listeners.splice(l,1):this._events[e].splice(l,1),0===n.length&&(this.wildcard?delete c._listeners:delete this._events[e]),this._removeListener&&this.emit("removeListener",e,t),this}(n===t||n.listener&&n.listener===t||n._origin&&n._origin===t)&&(this.wildcard?delete c._listeners:delete this._events[e],this._removeListener&&this.emit("removeListener",e,t))}return function e(t){if(t!==i){var n=Object.keys(t);for(var o in n){var r=n[o],s=t[r];s instanceof Function||"object"!=typeof s||null===s||(Object.keys(s).length>0&&e(t[r]),0===Object.keys(s).length&&delete t[r])}}}(this.listenerTree),this},l.prototype.offAny=function(e){var t,n=0,i=0;if(e&&this._all&&this._all.length>0){for(n=0,i=(t=this._all).length;n<i;n++)if(e===t[n])return t.splice(n,1),this._removeListener&&this.emit("removeListenerAny",e),this}else{if(t=this._all,this._removeListener)for(n=0,i=t.length;n<i;n++)this.emit("removeListenerAny",t[n]);this._all=[]}return this},l.prototype.removeListener=l.prototype.off,l.prototype.removeAllListeners=function(e){if(e===i)return!this._events||s.call(this),this;if(this.wildcard)for(var t="string"==typeof e?e.split(this.delimiter):e.slice(),n=_.call(this,null,t,this.listenerTree,0),o=0;o<n.length;o++){n[o]._listeners=null}else this._events&&(this._events[e]=null);return this},l.prototype.listeners=function(e){if(this.wildcard){var t=[],n="string"==typeof e?e.split(this.delimiter):e.slice();return _.call(this,t,n,this.listenerTree,0),t}return this._events||s.call(this),this._events[e]||(this._events[e]=[]),o(this._events[e])||(this._events[e]=[this._events[e]]),this._events[e]},l.prototype.eventNames=function(){return Object.keys(this._events)},l.prototype.listenerCount=function(e){return this.listeners(e).length},l.prototype.listenersAny=function(){return this._all?this._all:[]},"function"==typeof define&&define.amd?define(function(){return l}):"object"==typeof n?t.exports=l:window.EventEmitter2=l}()}).call(this,e("_process"))},{_process:"/home/pouya/Projects/clio-lang/clio/node_modules/process/browser.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/index.js":[function(e,t,n){"use strict";function i(e,t,n){var i=function(t,n){return e.js_beautify(t,n)};return i.js=e.js_beautify,i.css=t.css_beautify,i.html=n.html_beautify,i.js_beautify=e.js_beautify,i.css_beautify=t.css_beautify,i.html_beautify=n.html_beautify,i}var o,r;"function"==typeof define&&define.amd?define(["./lib/beautify","./lib/beautify-css","./lib/beautify-html"],function(e,t,n){return i(e,t,n)}):(o=t,(r=e("./src/index")).js_beautify=r.js,r.css_beautify=r.css,r.html_beautify=r.html,o.exports=i(r,r,r))},{"./src/index":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/index.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/directives.js":[function(e,t,n){"use strict";function i(e,t){e="string"==typeof e?e:e.source,t="string"==typeof t?t:t.source,this.__directives_block_pattern=new RegExp(e+/ beautify( \w+[:]\w+)+ /.source+t,"g"),this.__directive_pattern=/ (\w+)[:](\w+)/g,this.__directives_end_ignore_pattern=new RegExp("(?:[\\s\\S]*?)((?:"+e+/\sbeautify\signore:end\s/.source+t+")|$)","g")}i.prototype.get_directives=function(e){if(!e.match(this.__directives_block_pattern))return null;var t={};this.__directive_pattern.lastIndex=0;for(var n=this.__directive_pattern.exec(e);n;)t[n[1]]=n[2],n=this.__directive_pattern.exec(e);return t},i.prototype.readIgnored=function(e){return e.read(this.__directives_end_ignore_pattern)},t.exports.Directives=i},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/inputscanner.js":[function(e,t,n){"use strict";function i(e){this.__input=e||"",this.__input_length=this.__input.length,this.__position=0}i.prototype.restart=function(){this.__position=0},i.prototype.back=function(){this.__position>0&&(this.__position-=1)},i.prototype.hasNext=function(){return this.__position<this.__input_length},i.prototype.next=function(){var e=null;return this.hasNext()&&(e=this.__input.charAt(this.__position),this.__position+=1),e},i.prototype.peek=function(e){var t=null;return e=e||0,(e+=this.__position)>=0&&e<this.__input_length&&(t=this.__input.charAt(e)),t},i.prototype.test=function(e,t){if(t=t||0,t+=this.__position,e.lastIndex=t,t>=0&&t<this.__input_length){var n=e.exec(this.__input);return n&&n.index===t}return!1},i.prototype.testChar=function(e,t){var n=this.peek(t);return null!==n&&e.test(n)},i.prototype.match=function(e){e.lastIndex=this.__position;var t=e.exec(this.__input);return t&&t.index===this.__position?this.__position+=t[0].length:t=null,t},i.prototype.read=function(e){var t="",n=this.match(e);return n&&(t=n[0]),t},i.prototype.readUntil=function(e,t){var n,i=this.__position;e.lastIndex=this.__position;var o=e.exec(this.__input);return i=o?t?o.index+o[0].length:o.index:this.__input_length,n=this.__input.substring(this.__position,i),this.__position=i,n},i.prototype.readUntilAfter=function(e){return this.readUntil(e,!0)},i.prototype.peekUntilAfter=function(e){var t=this.__position,n=this.readUntilAfter(e);return this.__position=t,n},i.prototype.lookBack=function(e){var t=this.__position-1;return t>=e.length&&this.__input.substring(t-e.length,t).toLowerCase()===e},t.exports.InputScanner=i},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/options.js":[function(e,t,n){"use strict";function i(e,t){e=o(e,t),this.raw_options=r(e),this.disabled=this._get_boolean("disabled"),this.eol=this._get_characters("eol","auto"),this.end_with_newline=this._get_boolean("end_with_newline"),this.indent_size=this._get_number("indent_size",4),this.indent_char=this._get_characters("indent_char"," "),this.indent_level=this._get_number("indent_level"),this.preserve_newlines=this._get_boolean("preserve_newlines",!0),this.max_preserve_newlines=this._get_number("max_preserve_newlines",32786),this.preserve_newlines||(this.max_preserve_newlines=0),this.indent_with_tabs=this._get_boolean("indent_with_tabs"),this.indent_with_tabs&&(this.indent_char="\t",this.indent_size=1),this.wrap_line_length=this._get_number("wrap_line_length",this._get_number("max_char"))}function o(e,t){var n,i={};for(n in e=e||{})n!==t&&(i[n]=e[n]);if(t&&e[t])for(n in e[t])i[n]=e[t][n];return i}function r(e){var t,n={};for(t in e){n[t.replace(/-/g,"_")]=e[t]}return n}i.prototype._get_array=function(e,t){var n=this.raw_options[e],i=t||[];return"object"==typeof n?null!==n&&"function"==typeof n.concat&&(i=n.concat()):"string"==typeof n&&(i=n.split(/[^a-zA-Z0-9_\/\-]+/)),i},i.prototype._get_boolean=function(e,t){var n=this.raw_options[e];return void 0===n?!!t:!!n},i.prototype._get_characters=function(e,t){var n=this.raw_options[e],i=t||"";return"string"==typeof n&&(i=n.replace(/\\r/,"\r").replace(/\\n/,"\n").replace(/\\t/,"\t")),i},i.prototype._get_number=function(e,t){var n=this.raw_options[e];t=parseInt(t,10),isNaN(t)&&(t=0);var i=parseInt(n,10);return isNaN(i)&&(i=t),i},i.prototype._get_selection=function(e,t,n){var i=this._get_selection_list(e,t,n);if(1!==i.length)throw new Error("Invalid Option Value: The option '"+e+"' can only be one of the following values:\n"+t+"\nYou passed in: '"+this.raw_options[e]+"'");return i[0]},i.prototype._get_selection_list=function(e,t,n){if(!t||0===t.length)throw new Error("Selection list cannot be empty.");if(n=n||[t[0]],!this._is_valid_selection(n,t))throw new Error("Invalid Default Value!");var i=this._get_array(e,n);if(!this._is_valid_selection(i,t))throw new Error("Invalid Option Value: The option '"+e+"' can contain only the following values:\n"+t+"\nYou passed in: '"+this.raw_options[e]+"'");return i},i.prototype._is_valid_selection=function(e,t){return e.length&&t.length&&!e.some(function(e){return-1===t.indexOf(e)})},t.exports.Options=i,t.exports.normalizeOpts=r,t.exports.mergeOpts=o},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/output.js":[function(e,t,n){"use strict";function i(e){this.__parent=e,this.__character_count=0,this.__indent_count=-1,this.__alignment_count=0,this.__items=[]}function o(e,t){this.__cache=[e],this.__level_string=t}function r(e,t){var n=e.indent_char;e.indent_size>1&&(n=new Array(e.indent_size+1).join(e.indent_char)),t=t||"",e.indent_level>0&&(t=new Array(e.indent_level+1).join(n)),this.__indent_cache=new o(t,n),this.__alignment_cache=new o(""," "),this.baseIndentLength=t.length,this.indent_length=n.length,this.raw=!1,this._end_with_newline=e.end_with_newline,this.__lines=[],this.previous_line=null,this.current_line=null,this.space_before_token=!1,this.__add_outputline()}i.prototype.item=function(e){return e<0?this.__items[this.__items.length+e]:this.__items[e]},i.prototype.has_match=function(e){for(var t=this.__items.length-1;t>=0;t--)if(this.__items[t].match(e))return!0;return!1},i.prototype.set_indent=function(e,t){this.__indent_count=e||0,this.__alignment_count=t||0,this.__character_count=this.__parent.baseIndentLength+this.__alignment_count+this.__indent_count*this.__parent.indent_length},i.prototype.get_character_count=function(){return this.__character_count},i.prototype.is_empty=function(){return 0===this.__items.length},i.prototype.last=function(){return this.is_empty()?null:this.__items[this.__items.length-1]},i.prototype.push=function(e){this.__items.push(e),this.__character_count+=e.length},i.prototype.push_raw=function(e){this.push(e);var t=e.lastIndexOf("\n");-1!==t&&(this.__character_count=e.length-t)},i.prototype.pop=function(){var e=null;return this.is_empty()||(e=this.__items.pop(),this.__character_count-=e.length),e},i.prototype.remove_indent=function(){this.__indent_count>0&&(this.__indent_count-=1,this.__character_count-=this.__parent.indent_length)},i.prototype.trim=function(){for(;" "===this.last();)this.__items.pop(),this.__character_count-=1},i.prototype.toString=function(){var e="";return this.is_empty()||(this.__indent_count>=0&&(e=this.__parent.get_indent_string(this.__indent_count)),this.__alignment_count>=0&&(e+=this.__parent.get_alignment_string(this.__alignment_count)),e+=this.__items.join("")),e},o.prototype.__ensure_cache=function(e){for(;e>=this.__cache.length;)this.__cache.push(this.__cache[this.__cache.length-1]+this.__level_string)},o.prototype.get_level_string=function(e){return this.__ensure_cache(e),this.__cache[e]},r.prototype.__add_outputline=function(){this.previous_line=this.current_line,this.current_line=new i(this),this.__lines.push(this.current_line)},r.prototype.get_line_number=function(){return this.__lines.length},r.prototype.get_indent_string=function(e){return this.__indent_cache.get_level_string(e)},r.prototype.get_alignment_string=function(e){return this.__alignment_cache.get_level_string(e)},r.prototype.is_empty=function(){return!this.previous_line&&this.current_line.is_empty()},r.prototype.add_new_line=function(e){return!(this.is_empty()||!e&&this.just_added_newline())&&(this.raw||this.__add_outputline(),!0)},r.prototype.get_code=function(e){var t=this.__lines.join("\n").replace(/[\r\n\t ]+$/,"");return this._end_with_newline&&(t+="\n"),"\n"!==e&&(t=t.replace(/[\n]/g,e)),t},r.prototype.set_indent=function(e,t){return e=e||0,t=t||0,this.__lines.length>1?(this.current_line.set_indent(e,t),!0):(this.current_line.set_indent(),!1)},r.prototype.add_raw_token=function(e){for(var t=0;t<e.newlines;t++)this.__add_outputline();this.current_line.push(e.whitespace_before),this.current_line.push_raw(e.text),this.space_before_token=!1},r.prototype.add_token=function(e){this.add_space_before_token(),this.current_line.push(e)},r.prototype.add_space_before_token=function(){this.space_before_token&&!this.just_added_newline()&&this.current_line.push(" "),this.space_before_token=!1},r.prototype.remove_indent=function(e){for(var t=this.__lines.length;e<t;)this.__lines[e].remove_indent(),e++},r.prototype.trim=function(e){for(e=void 0!==e&&e,this.current_line.trim(this.indent_string,this.baseIndentString);e&&this.__lines.length>1&&this.current_line.is_empty();)this.__lines.pop(),this.current_line=this.__lines[this.__lines.length-1],this.current_line.trim();this.previous_line=this.__lines.length>1?this.__lines[this.__lines.length-2]:null},r.prototype.just_added_newline=function(){return this.current_line.is_empty()},r.prototype.just_added_blankline=function(){return this.is_empty()||this.current_line.is_empty()&&this.previous_line.is_empty()},r.prototype.ensure_empty_line_above=function(e,t){for(var n=this.__lines.length-2;n>=0;){var o=this.__lines[n];if(o.is_empty())break;if(0!==o.item(0).indexOf(e)&&o.item(-1)!==t){this.__lines.splice(n+1,0,new i(this)),this.previous_line=this.__lines[this.__lines.length-2];break}n--}},t.exports.Output=r},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/token.js":[function(e,t,n){"use strict";t.exports.Token=function(e,t,n,i){this.type=e,this.text=t,this.comments_before=null,this.newlines=n||0,this.whitespace_before=i||"",this.parent=null,this.next=null,this.previous=null,this.opened=null,this.closed=null,this.directives=null}},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/tokenizer.js":[function(e,t,n){"use strict";var i=e("../core/inputscanner").InputScanner,o=e("../core/token").Token,r=e("../core/tokenstream").TokenStream,s={START:"TK_START",RAW:"TK_RAW",EOF:"TK_EOF"},a=function(e,t){this._input=new i(e),this._options=t||{},this.__tokens=null,this.__newline_count=0,this.__whitespace_before_token="",this._whitespace_pattern=/[\n\r\t ]+/g,this._newline_pattern=/([^\n\r]*)(\r\n|[\n\r])?/g};a.prototype.tokenize=function(){var e;this._input.restart(),this.__tokens=new r,this._reset();for(var t=new o(s.START,""),n=null,i=[],a=new r;t.type!==s.EOF;){for(e=this._get_next_token(t,n);this._is_comment(e);)a.add(e),e=this._get_next_token(t,n);a.isEmpty()||(e.comments_before=a,a=new r),e.parent=n,this._is_opening(e)?(i.push(n),n=e):n&&this._is_closing(e,n)&&(e.opened=n,n.closed=e,n=i.pop(),e.parent=n),e.previous=t,t.next=e,this.__tokens.add(e),t=e}return this.__tokens},a.prototype._is_first_token=function(){return this.__tokens.isEmpty()},a.prototype._reset=function(){},a.prototype._get_next_token=function(e,t){this._readWhitespace();var n=this._input.read(/.+/g);return n?this._create_token(s.RAW,n):this._create_token(s.EOF,"")},a.prototype._is_comment=function(e){return!1},a.prototype._is_opening=function(e){return!1},a.prototype._is_closing=function(e,t){return!1},a.prototype._create_token=function(e,t){var n=new o(e,t,this.__newline_count,this.__whitespace_before_token);return this.__newline_count=0,this.__whitespace_before_token="",n},a.prototype._readWhitespace=function(){var e=this._input.read(this._whitespace_pattern);if(" "===e)this.__whitespace_before_token=e;else if(""!==e){this._newline_pattern.lastIndex=0;for(var t=this._newline_pattern.exec(e);t[2];)this.__newline_count+=1,t=this._newline_pattern.exec(e);this.__whitespace_before_token=t[1]}},t.exports.Tokenizer=a,t.exports.TOKEN=s},{"../core/inputscanner":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/inputscanner.js","../core/token":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/token.js","../core/tokenstream":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/tokenstream.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/tokenstream.js":[function(e,t,n){"use strict";function i(e){this.__tokens=[],this.__tokens_length=this.__tokens.length,this.__position=0,this.__parent_token=e}i.prototype.restart=function(){this.__position=0},i.prototype.isEmpty=function(){return 0===this.__tokens_length},i.prototype.hasNext=function(){return this.__position<this.__tokens_length},i.prototype.next=function(){var e=null;return this.hasNext()&&(e=this.__tokens[this.__position],this.__position+=1),e},i.prototype.peek=function(e){var t=null;return e=e||0,(e+=this.__position)>=0&&e<this.__tokens_length&&(t=this.__tokens[e]),t},i.prototype.add=function(e){this.__parent_token&&(e.parent=this.__parent_token),this.__tokens.push(e),this.__tokens_length+=1},t.exports.TokenStream=i},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/css/beautifier.js":[function(e,t,n){"use strict";var i=e("./options").Options,o=e("../core/output").Output,r=e("../core/inputscanner").InputScanner,s=/\r\n|[\r\n]/,a=/\r\n|[\r\n]/g,c=/\s/,l=/(?:\s|\n)+/g,_=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,u=/\/\/(?:[^\n\r\u2028\u2029]*)/g;function p(e,t){this._source_text=e||"",this._options=new i(t),this._ch=null,this._input=null,this.NESTED_AT_RULE={"@page":!0,"@font-face":!0,"@keyframes":!0,"@media":!0,"@supports":!0,"@document":!0},this.CONDITIONAL_GROUP_RULE={"@media":!0,"@supports":!0,"@document":!0}}p.prototype.eatString=function(e){var t="";for(this._ch=this._input.next();this._ch;){if(t+=this._ch,"\\"===this._ch)t+=this._input.next();else if(-1!==e.indexOf(this._ch)||"\n"===this._ch)break;this._ch=this._input.next()}return t},p.prototype.eatWhitespace=function(e){for(var t=c.test(this._input.peek()),n=!0;c.test(this._input.peek());)this._ch=this._input.next(),e&&"\n"===this._ch&&(this._options.preserve_newlines||n)&&(n=!1,this._output.add_new_line(!0));return t},p.prototype.foundNestedPseudoClass=function(){for(var e=0,t=1,n=this._input.peek(t);n;){if("{"===n)return!0;if("("===n)e+=1;else if(")"===n){if(0===e)return!1;e-=1}else if(";"===n||"}"===n)return!1;t++,n=this._input.peek(t)}return!1},p.prototype.print_string=function(e){this._output.just_added_newline()&&this._output.set_indent(this._indentLevel),this._output.add_token(e)},p.prototype.preserveSingleSpace=function(e){e&&(this._output.space_before_token=!0)},p.prototype.indent=function(){this._indentLevel++},p.prototype.outdent=function(){this._indentLevel>0&&this._indentLevel--},p.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var e=this._source_text,t=this._options.eol;"auto"===t&&(t="\n",e&&s.test(e||"")&&(t=e.match(s)[0]));var n=(e=e.replace(a,"\n")).match(/^[\t ]*/)[0];this._output=new o(this._options,n),this._input=new r(e),this._indentLevel=0,this._nestedLevel=0,this._ch=null;for(var i=0,p=!1,h=!1,f=!1,d=!1,m=!1,g=this._ch;;){var y=""!==this._input.read(l),w=g;if(this._ch=this._input.next(),g=this._ch,!this._ch)break;if("/"===this._ch&&"*"===this._input.peek())this._output.add_new_line(),this._input.back(),this.print_string(this._input.read(_)),this.eatWhitespace(!0),this._output.add_new_line();else if("/"===this._ch&&"/"===this._input.peek())this._output.space_before_token=!0,this._input.back(),this.print_string(this._input.read(u)),this.eatWhitespace(!0);else if("@"===this._ch)if(this.preserveSingleSpace(y),"{"===this._input.peek())this.print_string(this._ch+this.eatString("}"));else{this.print_string(this._ch);var b=this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);b.match(/[ :]$/)&&(b=this.eatString(": ").replace(/\s$/,""),this.print_string(b),this._output.space_before_token=!0),"extend"===(b=b.replace(/\s$/,""))?d=!0:"import"===b&&(m=!0),b in this.NESTED_AT_RULE?(this._nestedLevel+=1,b in this.CONDITIONAL_GROUP_RULE&&(f=!0)):p||0!==i||-1===b.indexOf(":")||(h=!0,this.indent())}else"#"===this._ch&&"{"===this._input.peek()?(this.preserveSingleSpace(y),this.print_string(this._ch+this.eatString("}"))):"{"===this._ch?(h&&(h=!1,this.outdent()),this.indent(),this._output.space_before_token=!0,this.print_string(this._ch),f?(f=!1,p=this._indentLevel>this._nestedLevel):p=this._indentLevel>=this._nestedLevel,this._options.newline_between_rules&&p&&this._output.previous_line&&"{"!==this._output.previous_line.item(-1)&&this._output.ensure_empty_line_above("/",","),this.eatWhitespace(!0),this._output.add_new_line()):"}"===this._ch?(this.outdent(),this._output.add_new_line(),"{"===w&&this._output.trim(!0),m=!1,d=!1,h&&(this.outdent(),h=!1),this.print_string(this._ch),p=!1,this._nestedLevel&&this._nestedLevel--,this.eatWhitespace(!0),this._output.add_new_line(),this._options.newline_between_rules&&!this._output.just_added_blankline()&&"}"!==this._input.peek()&&this._output.add_new_line(!0)):":"===this._ch?!p&&!f||this._input.lookBack("&")||this.foundNestedPseudoClass()||this._input.lookBack("(")||d?(this._input.lookBack(" ")&&(this._output.space_before_token=!0),":"===this._input.peek()?(this._ch=this._input.next(),this.print_string("::")):this.print_string(":")):(this.print_string(":"),h||(h=!0,this._output.space_before_token=!0,this.eatWhitespace(!0),this.indent())):'"'===this._ch||"'"===this._ch?(this.preserveSingleSpace(y),this.print_string(this._ch+this.eatString(this._ch)),this.eatWhitespace(!0)):";"===this._ch?(h&&(this.outdent(),h=!1),d=!1,m=!1,this.print_string(this._ch),this.eatWhitespace(!0),"/"!==this._input.peek()&&this._output.add_new_line()):"("===this._ch?this._input.lookBack("url")?(this.print_string(this._ch),this.eatWhitespace(),this._ch=this._input.next(),")"===this._ch||'"'===this._ch||"'"===this._ch?(this._input.back(),i++):this._ch&&this.print_string(this._ch+this.eatString(")"))):(i++,this.preserveSingleSpace(y),this.print_string(this._ch),this.eatWhitespace()):")"===this._ch?(this.print_string(this._ch),i--):","===this._ch?(this.print_string(this._ch),this.eatWhitespace(!0),this._options.selector_separator_newline&&!h&&i<1&&!m?this._output.add_new_line():this._output.space_before_token=!0):(">"===this._ch||"+"===this._ch||"~"===this._ch)&&!h&&i<1?this._options.space_around_combinator?(this._output.space_before_token=!0,this.print_string(this._ch),this._output.space_before_token=!0):(this.print_string(this._ch),this.eatWhitespace(),this._ch&&c.test(this._ch)&&(this._ch="")):"]"===this._ch?this.print_string(this._ch):"["===this._ch?(this.preserveSingleSpace(y),this.print_string(this._ch)):"="===this._ch?(this.eatWhitespace(),this.print_string("="),c.test(this._ch)&&(this._ch="")):"!"===this._ch?(this.print_string(" "),this.print_string(this._ch)):(this.preserveSingleSpace(y),this.print_string(this._ch))}return this._output.get_code(t)},t.exports.Beautifier=p},{"../core/inputscanner":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/inputscanner.js","../core/output":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/output.js","./options":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/css/options.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/css/index.js":[function(e,t,n){"use strict";var i=e("./beautifier").Beautifier;t.exports=function(e,t){return new i(e,t).beautify()}},{"./beautifier":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/css/beautifier.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/css/options.js":[function(e,t,n){"use strict";var i=e("../core/options").Options;function o(e){i.call(this,e,"css"),this.selector_separator_newline=this._get_boolean("selector_separator_newline",!0),this.newline_between_rules=this._get_boolean("newline_between_rules",!0);var t=this._get_boolean("space_around_selector_separator");this.space_around_combinator=this._get_boolean("space_around_combinator")||t}o.prototype=new i,t.exports.Options=o},{"../core/options":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/options.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/html/beautifier.js":[function(e,t,n){"use strict";var i=e("../html/options").Options,o=e("../core/output").Output,r=e("../html/tokenizer").Tokenizer,s=e("../html/tokenizer").TOKEN,a=/\r\n|[\r\n]/,c=/\r\n|[\r\n]/g,l=function(e,t){this.indent_level=0,this.alignment_size=0,this.wrap_line_length=e.wrap_line_length,this.max_preserve_newlines=e.max_preserve_newlines,this.preserve_newlines=e.preserve_newlines,this._output=new o(e,t)};l.prototype.current_line_has_match=function(e){return this._output.current_line.has_match(e)},l.prototype.set_space_before_token=function(e){this._output.space_before_token=e},l.prototype.add_raw_token=function(e){this._output.add_raw_token(e)},l.prototype.print_preserved_newlines=function(e){var t=0;e.type!==s.TEXT&&e.previous.type!==s.TEXT&&(t=e.newlines?1:0),this.preserve_newlines&&(t=e.newlines<this.max_preserve_newlines+1?e.newlines:this.max_preserve_newlines+1);for(var n=0;n<t;n++)this.print_newline(n>0);return 0!==t},l.prototype.traverse_whitespace=function(e){return!(!e.whitespace_before&&!e.newlines)&&(this.print_preserved_newlines(e)||(this._output.space_before_token=!0,this.print_space_or_wrap(e.text)),!0)},l.prototype.print_space_or_wrap=function(e){return!!(this.wrap_line_length&&this._output.current_line.get_character_count()+e.length+1>=this.wrap_line_length)&&this._output.add_new_line()},l.prototype.print_newline=function(e){this._output.add_new_line(e)},l.prototype.print_token=function(e){e&&(this._output.current_line.is_empty()&&this._output.set_indent(this.indent_level,this.alignment_size),this._output.add_token(e))},l.prototype.print_raw_text=function(e){this._output.current_line.push_raw(e)},l.prototype.indent=function(){this.indent_level++},l.prototype.unindent=function(){this.indent_level>0&&this.indent_level--},l.prototype.get_full_indent=function(e){return(e=this.indent_level+(e||0))<1?"":this._output.get_indent_string(e)};function _(e,t){return-1!==t.indexOf(e)}function u(e,t,n){this.parent=e||null,this.tag=t?t.tag_name:"",this.indent_level=n||0,this.parser_token=t||null}function p(e){this._printer=e,this._current_frame=null}function h(e,t,n,o){this._source_text=e||"",t=t||{},this._js_beautify=n,this._css_beautify=o,this._tag_stack=null;var r=new i(t,"html");this._options=r,this._is_wrap_attributes_force="force"===this._options.wrap_attributes.substr(0,"force".length),this._is_wrap_attributes_force_expand_multiline="force-expand-multiline"===this._options.wrap_attributes,this._is_wrap_attributes_force_aligned="force-aligned"===this._options.wrap_attributes,this._is_wrap_attributes_aligned_multiple="aligned-multiple"===this._options.wrap_attributes}p.prototype.get_parser_token=function(){return this._current_frame?this._current_frame.parser_token:null},p.prototype.record_tag=function(e){var t=new u(this._current_frame,e,this._printer.indent_level);this._current_frame=t},p.prototype._try_pop_frame=function(e){var t=null;return e&&(t=e.parser_token,this._printer.indent_level=e.indent_level,this._current_frame=e.parent),t},p.prototype._get_frame=function(e,t){for(var n=this._current_frame;n&&-1===e.indexOf(n.tag);){if(t&&-1!==t.indexOf(n.tag)){n=null;break}n=n.parent}return n},p.prototype.try_pop=function(e,t){var n=this._get_frame([e],t);return this._try_pop_frame(n)},p.prototype.indent_to_tag=function(e){var t=this._get_frame(e);t&&(this._printer.indent_level=t.indent_level)},h.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var e=this._source_text,t=this._options.eol;"auto"===this._options.eol&&(t="\n",e&&a.test(e)&&(t=e.match(a)[0])),e=e.replace(c,"\n");var n={text:"",type:""},i=new f,o=new l(this._options,""),_=new r(e,this._options).tokenize();this._tag_stack=new p(o);for(var u=null,h=_.next();h.type!==s.EOF;)h.type===s.TAG_OPEN||h.type===s.COMMENT?i=u=this._handle_tag_open(o,h,i,n):h.type===s.ATTRIBUTE||h.type===s.EQUALS||h.type===s.VALUE||h.type===s.TEXT&&!i.tag_complete?u=this._handle_inside_tag(o,h,i,_):h.type===s.TAG_CLOSE?u=this._handle_tag_close(o,h,i):h.type===s.TEXT?u=this._handle_text(o,h,i):o.add_raw_token(h),n=u,h=_.next();return o._output.get_code(t)},h.prototype._handle_tag_close=function(e,t,n){var i={text:t.text,type:t.type};return e.alignment_size=0,n.tag_complete=!0,e.set_space_before_token(t.newlines||""!==t.whitespace_before),n.is_unformatted?e.add_raw_token(t):("<"===n.tag_start_char&&(e.set_space_before_token("/"===t.text[0]),this._is_wrap_attributes_force_expand_multiline&&n.has_wrapped_attrs&&e.print_newline(!1)),e.print_token(t.text)),!n.indent_content||n.is_unformatted||n.is_content_unformatted||(e.indent(),n.indent_content=!1),i},h.prototype._handle_inside_tag=function(e,t,n,i){var o={text:t.text,type:t.type};if(e.set_space_before_token(t.newlines||""!==t.whitespace_before),n.is_unformatted)e.add_raw_token(t);else if("{"===n.tag_start_char&&t.type===s.TEXT)e.print_preserved_newlines(t)?e.print_raw_text(t.whitespace_before+t.text):e.print_token(t.text);else{if(t.type===s.ATTRIBUTE?(e.set_space_before_token(!0),n.attr_count+=1):t.type===s.EQUALS?e.set_space_before_token(!1):t.type===s.VALUE&&t.previous.type===s.EQUALS&&e.set_space_before_token(!1),e._output.space_before_token&&"<"===n.tag_start_char){var r=e.print_space_or_wrap(t.text);if(t.type===s.ATTRIBUTE){var a=r&&!this._is_wrap_attributes_force;if(this._is_wrap_attributes_force){var c=!1;if(this._is_wrap_attributes_force_expand_multiline&&1===n.attr_count){var l,_=!0,u=0;do{if((l=i.peek(u)).type===s.ATTRIBUTE){_=!1;break}u+=1}while(u<4&&l.type!==s.EOF&&l.type!==s.TAG_CLOSE);c=!_}(n.attr_count>1||c)&&(e.print_newline(!1),a=!0)}a&&(n.has_wrapped_attrs=!0)}}e.print_token(t.text)}return o},h.prototype._handle_text=function(e,t,n){var i={text:t.text,type:"TK_CONTENT"};return n.custom_beautifier?this._print_custom_beatifier_text(e,t,n):n.is_unformatted||n.is_content_unformatted?e.add_raw_token(t):(e.traverse_whitespace(t),e.print_token(t.text)),i},h.prototype._print_custom_beatifier_text=function(e,t,n){if(""!==t.text){e.print_newline(!1);var i,o=t.text,r=1;"script"===n.tag_name?i="function"==typeof this._js_beautify&&this._js_beautify:"style"===n.tag_name&&(i="function"==typeof this._css_beautify&&this._css_beautify),"keep"===this._options.indent_scripts?r=0:"separate"===this._options.indent_scripts&&(r=-e.indent_level);var s=e.get_full_indent(r);if(o=o.replace(/\n[ \t]*$/,""),i){var a=function(){this.eol="\n"};a.prototype=this._options.raw_options,o=i(s+o,new a)}else{var c=o.match(/^\s*/)[0].match(/[^\n\r]*$/)[0].split(this._options.indent_string).length-1,l=this._get_full_indent(r-c);o=(s+o.trim()).replace(/\r\n|\r|\n/g,"\n"+l)}o&&(e.print_raw_text(o),e.print_newline(!0))}},h.prototype._handle_tag_open=function(e,t,n,i){var o=this._get_tag_open_token(t);return(n.is_unformatted||n.is_content_unformatted)&&t.type===s.TAG_OPEN&&0===t.text.indexOf("</")?e.add_raw_token(t):(e.traverse_whitespace(t),this._set_tag_position(e,t,o,n,i),e.print_token(t.text)),(this._is_wrap_attributes_force_aligned||this._is_wrap_attributes_aligned_multiple)&&(o.alignment_size=t.text.length+1),o.tag_complete||o.is_unformatted||(e.alignment_size=o.alignment_size),o};var f=function(e,t){var n;(this.parent=e||null,this.text="",this.type="TK_TAG_OPEN",this.tag_name="",this.is_inline_element=!1,this.is_unformatted=!1,this.is_content_unformatted=!1,this.is_empty_element=!1,this.is_start_tag=!1,this.is_end_tag=!1,this.indent_content=!1,this.multiline_content=!1,this.custom_beautifier=!1,this.start_tag_token=null,this.attr_count=0,this.has_wrapped_attrs=!1,this.alignment_size=0,this.tag_complete=!1,this.tag_start_char="",this.tag_check="",t)?(this.tag_start_char=t.text[0],this.text=t.text,"<"===this.tag_start_char?(n=t.text.match(/^<([^\s>]*)/),this.tag_check=n?n[1]:""):(n=t.text.match(/^{{\#?([^\s}]+)/),this.tag_check=n?n[1]:""),this.tag_check=this.tag_check.toLowerCase(),t.type===s.COMMENT&&(this.tag_complete=!0),this.is_start_tag="/"!==this.tag_check.charAt(0),this.tag_name=this.is_start_tag?this.tag_check:this.tag_check.substr(1),this.is_end_tag=!this.is_start_tag||t.closed&&"/>"===t.closed.text,this.is_end_tag=this.is_end_tag||"{"===this.tag_start_char&&(this.text.length<3||/[^#\^]/.test(this.text.charAt(2)))):this.tag_complete=!0};h.prototype._get_tag_open_token=function(e){var t=new f(this._tag_stack.get_parser_token(),e);return t.alignment_size=this._options.wrap_attributes_indent_size,t.is_end_tag=t.is_end_tag||_(t.tag_check,this._options.void_elements),t.is_empty_element=t.tag_complete||t.is_start_tag&&t.is_end_tag,t.is_unformatted=!t.tag_complete&&_(t.tag_check,this._options.unformatted),t.is_content_unformatted=!t.is_empty_element&&_(t.tag_check,this._options.content_unformatted),t.is_inline_element=_(t.tag_name,this._options.inline)||"{"===t.tag_start_char,t},h.prototype._set_tag_position=function(e,t,n,i,o){if(n.is_empty_element||(n.is_end_tag?n.start_tag_token=this._tag_stack.try_pop(n.tag_name):(this._do_optional_end_element(n),this._tag_stack.record_tag(n),"script"!==n.tag_name&&"style"!==n.tag_name||n.is_unformatted||n.is_content_unformatted||(n.custom_beautifier=function(e,t){var n=t.next;if(!t.closed)return!1;for(;n.type!==s.EOF&&n.closed!==t;){if(n.type===s.ATTRIBUTE&&"type"===n.text){var i=n.next?n.next:n,o=i.next?i.next:i;return i.type===s.EQUALS&&o.type===s.VALUE&&("style"===e&&o.text.search("text/css")>-1||"script"===e&&o.text.search(/(text|application|dojo)\/(x-)?(javascript|ecmascript|jscript|livescript|(ld\+)?json|method|aspect)/)>-1)}n=n.next}return!0}(n.tag_check,t)))),_(n.tag_check,this._options.extra_liners)&&(e.print_newline(!1),e._output.just_added_blankline()||e.print_newline(!0)),n.is_empty_element){if("{"===n.tag_start_char&&"else"===n.tag_check)this._tag_stack.indent_to_tag(["if","unless","each"]),n.indent_content=!0,e.current_line_has_match(/{{#if/)||e.print_newline(!1);"!--"===n.tag_name&&o.type===s.TAG_CLOSE&&i.is_end_tag&&-1===n.text.indexOf("\n")||n.is_inline_element||n.is_unformatted||e.print_newline(!1)}else n.is_unformatted||n.is_content_unformatted?n.is_inline_element||n.is_unformatted||e.print_newline(!1):n.is_end_tag?(n.start_tag_token&&n.start_tag_token.multiline_content||!(n.is_inline_element||i.is_inline_element||o.type===s.TAG_CLOSE&&n.start_tag_token===i||"TK_CONTENT"===o.type))&&e.print_newline(!1):(n.indent_content=!n.custom_beautifier,"<"===n.tag_start_char&&("html"===n.tag_name?n.indent_content=this._options.indent_inner_html:"head"===n.tag_name?n.indent_content=this._options.indent_head_inner_html:"body"===n.tag_name&&(n.indent_content=this._options.indent_body_inner_html)),n.is_inline_element||"TK_CONTENT"===o.type||(n.parent&&(n.parent.multiline_content=!0),e.print_newline(!1)))},h.prototype._do_optional_end_element=function(e){!e.is_empty_element&&e.is_start_tag&&e.parent&&("body"===e.tag_name?this._tag_stack.try_pop("head"):"li"===e.tag_name?this._tag_stack.try_pop("li",["ol","ul"]):"dd"===e.tag_name||"dt"===e.tag_name?(this._tag_stack.try_pop("dt",["dl"]),this._tag_stack.try_pop("dd",["dl"])):"rp"===e.tag_name||"rt"===e.tag_name?(this._tag_stack.try_pop("rt",["ruby","rtc"]),this._tag_stack.try_pop("rp",["ruby","rtc"])):"optgroup"===e.tag_name?this._tag_stack.try_pop("optgroup",["select"]):"option"===e.tag_name?this._tag_stack.try_pop("option",["select","datalist","optgroup"]):"colgroup"===e.tag_name?this._tag_stack.try_pop("caption",["table"]):"thead"===e.tag_name?(this._tag_stack.try_pop("caption",["table"]),this._tag_stack.try_pop("colgroup",["table"])):"tbody"===e.tag_name||"tfoot"===e.tag_name?(this._tag_stack.try_pop("caption",["table"]),this._tag_stack.try_pop("colgroup",["table"]),this._tag_stack.try_pop("thead",["table"]),this._tag_stack.try_pop("tbody",["table"])):"tr"===e.tag_name?(this._tag_stack.try_pop("caption",["table"]),this._tag_stack.try_pop("colgroup",["table"]),this._tag_stack.try_pop("tr",["table","thead","tbody","tfoot"])):"th"!==e.tag_name&&"td"!==e.tag_name||(this._tag_stack.try_pop("td",["tr"]),this._tag_stack.try_pop("th",["tr"])),e.parent=this._tag_stack.get_parser_token())},t.exports.Beautifier=h},{"../core/output":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/output.js","../html/options":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/html/options.js","../html/tokenizer":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/html/tokenizer.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/html/index.js":[function(e,t,n){"use strict";var i=e("./beautifier").Beautifier;t.exports=function(e,t,n,o){return new i(e,t,n,o).beautify()}},{"./beautifier":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/html/beautifier.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/html/options.js":[function(e,t,n){"use strict";var i=e("../core/options").Options;function o(e){i.call(this,e,"html"),this.indent_inner_html=this._get_boolean("indent_inner_html"),this.indent_body_inner_html=this._get_boolean("indent_body_inner_html",!0),this.indent_head_inner_html=this._get_boolean("indent_head_inner_html",!0),this.indent_handlebars=this._get_boolean("indent_handlebars",!0),this.wrap_attributes=this._get_selection("wrap_attributes",["auto","force","force-aligned","force-expand-multiline","aligned-multiple"]),this.wrap_attributes_indent_size=this._get_number("wrap_attributes_indent_size",this.indent_size),this.extra_liners=this._get_array("extra_liners",["head","body","/html"]),this.inline=this._get_array("inline",["a","abbr","area","audio","b","bdi","bdo","br","button","canvas","cite","code","data","datalist","del","dfn","em","embed","i","iframe","img","input","ins","kbd","keygen","label","map","mark","math","meter","noscript","object","output","progress","q","ruby","s","samp","select","small","span","strong","sub","sup","svg","template","textarea","time","u","var","video","wbr","text","acronym","address","big","dt","ins","strike","tt"]),this.void_elements=this._get_array("void_elements",["area","base","br","col","embed","hr","img","input","keygen","link","menuitem","meta","param","source","track","wbr","!doctype","?xml","?php","?=","basefont","isindex"]),this.unformatted=this._get_array("unformatted",[]),this.content_unformatted=this._get_array("content_unformatted",["pre","textarea"]),this.indent_scripts=this._get_selection("indent_scripts",["normal","keep","separate"])}o.prototype=new i,t.exports.Options=o},{"../core/options":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/options.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/html/tokenizer.js":[function(e,t,n){"use strict";var i=e("../core/tokenizer").Tokenizer,o=e("../core/tokenizer").TOKEN,r=e("../core/directives").Directives,s={TAG_OPEN:"TK_TAG_OPEN",TAG_CLOSE:"TK_TAG_CLOSE",ATTRIBUTE:"TK_ATTRIBUTE",EQUALS:"TK_EQUALS",VALUE:"TK_VALUE",COMMENT:"TK_COMMENT",TEXT:"TK_TEXT",UNKNOWN:"TK_UNKNOWN",START:o.START,RAW:o.RAW,EOF:o.EOF},a=new r(/<\!--/,/-->/),c=function(e,t){i.call(this,e,t),this._current_tag_name="",this._word_pattern=this._options.indent_handlebars?/[\n\r\t <]|{{/g:/[\n\r\t <]/g};(c.prototype=new i)._is_comment=function(e){return!1},c.prototype._is_opening=function(e){return e.type===s.TAG_OPEN},c.prototype._is_closing=function(e,t){return e.type===s.TAG_CLOSE&&t&&((">"===e.text||"/>"===e.text)&&"<"===t.text[0]||"}}"===e.text&&"{"===t.text[0]&&"{"===t.text[1])},c.prototype._reset=function(){this._current_tag_name=""},c.prototype._get_next_token=function(e,t){this._readWhitespace();var n=null,i=this._input.peek();return null===i?this._create_token(s.EOF,""):n=(n=(n=(n=(n=(n=(n=n||this._read_attribute(i,e,t))||this._read_raw_content(e,t))||this._read_comment(i))||this._read_open(i,t))||this._read_close(i,t))||this._read_content_word())||this._create_token(s.UNKNOWN,this._input.next())},c.prototype._read_comment=function(e){var t=null;if("<"===e||"{"===e){var n=this._input.peek(1),i=this._input.peek(2);if("<"===e&&("!"===n||"?"===n||"%"===n)||this._options.indent_handlebars&&"{"===e&&"{"===n&&"!"===i){for(var o="",r=">",c=!1,l=this._input.next();l&&((o+=l).charAt(o.length-1)!==r.charAt(r.length-1)||-1===o.indexOf(r));)c||(c=o.length>10,0===o.indexOf("<![if")?(r="<![endif]>",c=!0):0===o.indexOf("<![cdata[")?(r="]]>",c=!0):0===o.indexOf("<![")?(r="]>",c=!0):0===o.indexOf("\x3c!--")?(r="--\x3e",c=!0):0===o.indexOf("{{!--")?(r="--}}",c=!0):0===o.indexOf("{{!")?5===o.length&&-1===o.indexOf("{{!--")&&(r="}}",c=!0):0===o.indexOf("<?")?(r="?>",c=!0):0===o.indexOf("<%")&&(r="%>",c=!0)),l=this._input.next();var _=a.get_directives(o);_&&"start"===_.ignore&&(o+=a.readIgnored(this._input)),(t=this._create_token(s.COMMENT,o)).directives=_}}return t},c.prototype._read_open=function(e,t){var n=null,i=null;return t||("<"===e?(n=this._input.read(/<(?:[^\n\r\t >{][^\n\r\t >{\/]*)?/g),i=this._create_token(s.TAG_OPEN,n)):this._options.indent_handlebars&&"{"===e&&"{"===this._input.peek(1)&&(n=this._input.readUntil(/[\n\r\t }]/g),i=this._create_token(s.TAG_OPEN,n))),i},c.prototype._read_close=function(e,t){var n=null,i=null;return t&&("<"===t.text[0]&&(">"===e||"/"===e&&">"===this._input.peek(1))?(n=this._input.next(),"/"===e&&(n+=this._input.next()),i=this._create_token(s.TAG_CLOSE,n)):"{"===t.text[0]&&"}"===e&&"}"===this._input.peek(1)&&(this._input.next(),this._input.next(),i=this._create_token(s.TAG_CLOSE,"}}"))),i},c.prototype._read_attribute=function(e,t,n){var i=null,o="";if(n&&"<"===n.text[0])if("="===e)i=this._create_token(s.EQUALS,this._input.next());else if('"'===e||"'"===e){for(var r=this._input.next(),a="",c=new RegExp(e+"|{{","g");this._input.hasNext()&&(r+=a=this._input.readUntilAfter(c),'"'!==a[a.length-1]&&"'"!==a[a.length-1]);)this._input.hasNext()&&(r+=this._input.readUntilAfter(/}}/g));i=this._create_token(s.VALUE,r)}else(o="{"===e&&"{"===this._input.peek(1)?this._input.readUntilAfter(/}}/g):this._input.readUntil(/[\n\r\t =\/>]/g))&&(i=t.type===s.EQUALS?this._create_token(s.VALUE,o):this._create_token(s.ATTRIBUTE,o));return i},c.prototype._is_content_unformatted=function(e){return-1===this._options.void_elements.indexOf(e)&&("script"===e||"style"===e||-1!==this._options.content_unformatted.indexOf(e)||-1!==this._options.unformatted.indexOf(e))},c.prototype._read_raw_content=function(e,t){var n="";if(t&&"{"===t.text[0])n=this._input.readUntil(/}}/g);else if(e.type===s.TAG_CLOSE&&"<"===e.opened.text[0]){var i=e.opened.text.substr(1).toLowerCase();this._is_content_unformatted(i)&&(n=this._input.readUntil(new RegExp("</"+i+"[\\n\\r\\t ]*?>","ig")))}return n?this._create_token(s.TEXT,n):null},c.prototype._read_content_word=function(){var e=this._input.readUntil(this._word_pattern);if(e)return this._create_token(s.TEXT,e)},t.exports.Tokenizer=c,t.exports.TOKEN=s},{"../core/directives":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/directives.js","../core/tokenizer":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/tokenizer.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/index.js":[function(e,t,n){"use strict";var i=e("./javascript/index"),o=e("./css/index"),r=e("./html/index");t.exports.js=i,t.exports.css=o,t.exports.html=function(e,t,n,s){return r(e,t,n=n||i,s=s||o)}},{"./css/index":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/css/index.js","./html/index":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/html/index.js","./javascript/index":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/javascript/index.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/javascript/acorn.js":[function(e,t,n){"use strict";n.identifier=new RegExp("[$@A-Z_a-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ][$0-9A-Z_a-zªµºÀ-ÖØ-öø-ˁˆ-ˑˠ-ˤˬˮͰ-ʹͶͷͺ-ͽΆΈ-ΊΌΎ-ΡΣ-ϵϷ-ҁҊ-ԧԱ-Ֆՙա-ևא-תװ-ײؠ-يٮٯٱ-ۓەۥۦۮۯۺ-ۼۿܐܒ-ܯݍ-ޥޱߊ-ߪߴߵߺࠀ-ࠕࠚࠤࠨࡀ-ࡘࢠࢢ-ࢬऄ-हऽॐक़-ॡॱ-ॷॹ-ॿঅ-ঌএঐও-নপ-রলশ-হঽৎড়ঢ়য়-ৡৰৱਅ-ਊਏਐਓ-ਨਪ-ਰਲਲ਼ਵਸ਼ਸਹਖ਼-ੜਫ਼ੲ-ੴઅ-ઍએ-ઑઓ-નપ-રલળવ-હઽૐૠૡଅ-ଌଏଐଓ-ନପ-ରଲଳଵ-ହଽଡ଼ଢ଼ୟ-ୡୱஃஅ-ஊஎ-ஐஒ-கஙசஜஞடணதந-பம-ஹௐఅ-ఌఎ-ఐఒ-నప-ళవ-హఽౘౙౠౡಅ-ಌಎ-ಐಒ-ನಪ-ಳವ-ಹಽೞೠೡೱೲഅ-ഌഎ-ഐഒ-ഺഽൎൠൡൺ-ൿඅ-ඖක-නඳ-රලව-ෆก-ะาำเ-ๆກຂຄງຈຊຍດ-ທນ-ຟມ-ຣລວສຫອ-ະາຳຽເ-ໄໆໜ-ໟༀཀ-ཇཉ-ཬྈ-ྌက-ဪဿၐ-ၕၚ-ၝၡၥၦၮ-ၰၵ-ႁႎႠ-ჅჇჍა-ჺჼ-ቈቊ-ቍቐ-ቖቘቚ-ቝበ-ኈኊ-ኍነ-ኰኲ-ኵኸ-ኾዀዂ-ዅወ-ዖዘ-ጐጒ-ጕጘ-ፚᎀ-ᎏᎠ-Ᏼᐁ-ᙬᙯ-ᙿᚁ-ᚚᚠ-ᛪᛮ-ᛰᜀ-ᜌᜎ-ᜑᜠ-ᜱᝀ-ᝑᝠ-ᝬᝮ-ᝰក-ឳៗៜᠠ-ᡷᢀ-ᢨᢪᢰ-ᣵᤀ-ᤜᥐ-ᥭᥰ-ᥴᦀ-ᦫᧁ-ᧇᨀ-ᨖᨠ-ᩔᪧᬅ-ᬳᭅ-ᭋᮃ-ᮠᮮᮯᮺ-ᯥᰀ-ᰣᱍ-ᱏᱚ-ᱽᳩ-ᳬᳮ-ᳱᳵᳶᴀ-ᶿḀ-ἕἘ-Ἕἠ-ὅὈ-Ὅὐ-ὗὙὛὝὟ-ώᾀ-ᾴᾶ-ᾼιῂ-ῄῆ-ῌῐ-ΐῖ-Ίῠ-Ῥῲ-ῴῶ-ῼⁱⁿₐ-ₜℂℇℊ-ℓℕℙ-ℝℤΩℨK-ℭℯ-ℹℼ-ℿⅅ-ⅉⅎⅠ-ↈⰀ-Ⱞⰰ-ⱞⱠ-ⳤⳫ-ⳮⳲⳳⴀ-ⴥⴧⴭⴰ-ⵧⵯⶀ-ⶖⶠ-ⶦⶨ-ⶮⶰ-ⶶⶸ-ⶾⷀ-ⷆⷈ-ⷎⷐ-ⷖⷘ-ⷞⸯ々-〇〡-〩〱-〵〸-〼ぁ-ゖゝ-ゟァ-ヺー-ヿㄅ-ㄭㄱ-ㆎㆠ-ㆺㇰ-ㇿ㐀-䶵一-鿌ꀀ-ꒌꓐ-ꓽꔀ-ꘌꘐ-ꘟꘪꘫꙀ-ꙮꙿ-ꚗꚠ-ꛯꜗ-ꜟꜢ-ꞈꞋ-ꞎꞐ-ꞓꞠ-Ɦꟸ-ꠁꠃ-ꠅꠇ-ꠊꠌ-ꠢꡀ-ꡳꢂ-ꢳꣲ-ꣷꣻꤊ-ꤥꤰ-ꥆꥠ-ꥼꦄ-ꦲꧏꨀ-ꨨꩀ-ꩂꩄ-ꩋꩠ-ꩶꩺꪀ-ꪯꪱꪵꪶꪹ-ꪽꫀꫂꫛ-ꫝꫠ-ꫪꫲ-ꫴꬁ-ꬆꬉ-ꬎꬑ-ꬖꬠ-ꬦꬨ-ꬮꯀ-ꯢ가-힣ힰ-ퟆퟋ-ퟻ豈-舘並-龎ff-stﬓ-ﬗיִײַ-ﬨשׁ-זּטּ-לּמּנּסּףּפּצּ-ﮱﯓ-ﴽﵐ-ﶏﶒ-ﷇﷰ-ﷻﹰ-ﹴﹶ-ﻼA-Za-zヲ-하-ᅦᅧ-ᅬᅭ-ᅲᅳ-ᅵ̀-ͯ҃-֑҇-ׇֽֿׁׂׅׄؐ-ؚؠ-ىٲ-ۓۧ-ۨۻ-ۼܰ-݊ࠀ-ࠔࠛ-ࠣࠥ-ࠧࠩ-࠭ࡀ-ࡗࣤ-ࣾऀ-ःऺ-़ा-ॏ॑-ॗॢ-ॣ०-९ঁ-ঃ়া-ৄেৈৗয়-ৠਁ-ਃ਼ਾ-ੂੇੈੋ-੍ੑ੦-ੱੵઁ-ઃ઼ા-ૅે-ૉો-્ૢ-ૣ૦-૯ଁ-ଃ଼ା-ୄେୈୋ-୍ୖୗୟ-ୠ୦-୯ஂா-ூெ-ைொ-்ௗ௦-௯ఁ-ఃె-ైొ-్ౕౖౢ-ౣ౦-౯ಂಃ಼ಾ-ೄೆ-ೈೊ-್ೕೖೢ-ೣ೦-೯ംഃെ-ൈൗൢ-ൣ൦-൯ංඃ්ා-ුූෘ-ෟෲෳิ-ฺเ-ๅ๐-๙ິ-ູ່-ໍ໐-໙༘༙༠-༩༹༵༷ཁ-ཇཱ-྄྆-྇ྍ-ྗྙ-ྼ࿆က-ဩ၀-၉ၧ-ၭၱ-ၴႂ-ႍႏ-ႝ፝-፟ᜎ-ᜐᜠ-ᜰᝀ-ᝐᝲᝳក-ឲ៝០-៩᠋-᠍᠐-᠙ᤠ-ᤫᤰ-᤻ᥑ-ᥭᦰ-ᧀᧈ-ᧉ᧐-᧙ᨀ-ᨕᨠ-ᩓ᩠-᩿᩼-᪉᪐-᪙ᭆ-ᭋ᭐-᭙᭫-᭳᮰-᮹᯦-᯳ᰀ-ᰢ᱀-᱉ᱛ-ᱽ᳐-᳒ᴀ-ᶾḁ-ἕ‿⁀⁔⃐-⃥⃜⃡-⃰ⶁ-ⶖⷠ-ⷿ〡-〨゙゚Ꙁ-ꙭꙴ-꙽ꚟ꛰-꛱ꟸ-ꠀ꠆ꠋꠣ-ꠧꢀ-ꢁꢴ-꣄꣐-꣙ꣳ-ꣷ꤀-꤉ꤦ-꤭ꤰ-ꥅꦀ-ꦃ꦳-꧀ꨀ-ꨧꩀ-ꩁꩌ-ꩍ꩐-꩙ꩻꫠ-ꫩꫲ-ꫳꯀ-ꯡ꯬꯭꯰-꯹ﬠ-ﬨ︀-️︠-︦︳︴﹍-﹏0-9_]*","g");n.newline=/[\n\r\u2028\u2029]/,n.lineBreak=new RegExp("\r\n|"+n.newline.source),n.allLineBreaks=new RegExp(n.lineBreak.source,"g")},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/javascript/beautifier.js":[function(e,t,n){"use strict";var i=e("../core/output").Output,o=e("../core/token").Token,r=e("./acorn"),s=e("./options").Options,a=e("./tokenizer").Tokenizer,c=e("./tokenizer").line_starters,l=e("./tokenizer").positionable_operators,_=e("./tokenizer").TOKEN;function u(e,t){t.multiline_frame||t.mode===y.ForInitializer||t.mode===y.Conditional||e.remove_indent(t.start_line_index)}function p(e,t){return-1!==t.indexOf(e)}function h(e,t){return e&&e.type===_.RESERVED&&e.text===t}function f(e,t){return e&&e.type===_.RESERVED&&p(e.text,t)}var d=["case","return","do","if","throw","else","await","break","continue","async"],m=function(e){for(var t={},n=0;n<e.length;n++)t[e[n].replace(/-/g,"_")]=e[n];return t}(["before-newline","after-newline","preserve-newline"]),g=[m.before_newline,m.preserve_newline],y={BlockStatement:"BlockStatement",Statement:"Statement",ObjectLiteral:"ObjectLiteral",ArrayLiteral:"ArrayLiteral",ForInitializer:"ForInitializer",Conditional:"Conditional",Expression:"Expression"};function w(e){return e===y.ArrayLiteral}function b(e){return p(e,[y.Expression,y.ForInitializer,y.Conditional])}function v(e,t){t=t||{},this._source_text=e||"",this._output=null,this._tokens=null,this._last_last_text=null,this._flags=null,this._previous_flags=null,this._flag_store=null,this._options=new s(t)}v.prototype.create_flags=function(e,t){var n=0;return e&&(n=e.indentation_level,!this._output.just_added_newline()&&e.line_indent_level>n&&(n=e.line_indent_level)),{mode:t,parent:e,last_token:e?e.last_token:new o(_.START_BLOCK,""),last_word:e?e.last_word:"",declaration_statement:!1,declaration_assignment:!1,multiline_frame:!1,inline_frame:!1,if_block:!1,else_block:!1,do_block:!1,do_while:!1,import_block:!1,in_case_statement:!1,in_case:!1,case_body:!1,indentation_level:n,line_indent_level:e?e.line_indent_level:n,start_line_index:this._output.get_line_number(),ternary_depth:0}},v.prototype._reset=function(e){var t=e.match(/^[\t ]*/)[0];this._last_last_text="",this._output=new i(this._options,t),this._output.raw=this._options.test_output_raw,this._flag_store=[],this.set_mode(y.BlockStatement);var n=new a(e,this._options);return this._tokens=n.tokenize(),e},v.prototype.beautify=function(){if(this._options.disabled)return this._source_text;var e=this._reset(this._source_text),t=this._options.eol;"auto"===this._options.eol&&(t="\n",e&&r.lineBreak.test(e||"")&&(t=e.match(r.lineBreak)[0]));for(var n=this._tokens.next();n;)this.handle_token(n),this._last_last_text=this._flags.last_token.text,this._flags.last_token=n,n=this._tokens.next();return this._output.get_code(t)},v.prototype.handle_token=function(e,t){e.type===_.START_EXPR?this.handle_start_expr(e):e.type===_.END_EXPR?this.handle_end_expr(e):e.type===_.START_BLOCK?this.handle_start_block(e):e.type===_.END_BLOCK?this.handle_end_block(e):e.type===_.WORD?this.handle_word(e):e.type===_.RESERVED?this.handle_word(e):e.type===_.SEMICOLON?this.handle_semicolon(e):e.type===_.STRING?this.handle_string(e):e.type===_.EQUALS?this.handle_equals(e):e.type===_.OPERATOR?this.handle_operator(e):e.type===_.COMMA?this.handle_comma(e):e.type===_.BLOCK_COMMENT?this.handle_block_comment(e,t):e.type===_.COMMENT?this.handle_comment(e,t):e.type===_.DOT?this.handle_dot(e):e.type===_.EOF?this.handle_eof(e):(e.type,_.UNKNOWN,this.handle_unknown(e,t))},v.prototype.handle_whitespace_and_comments=function(e,t){var n=e.newlines,i=this._options.keep_array_indentation&&w(this._flags.mode);if(e.comments_before)for(var o=e.comments_before.next();o;)this.handle_whitespace_and_comments(o,t),this.handle_token(o,t),o=e.comments_before.next();if(i)for(var r=0;r<n;r+=1)this.print_newline(r>0,t);else if(this._options.max_preserve_newlines&&n>this._options.max_preserve_newlines&&(n=this._options.max_preserve_newlines),this._options.preserve_newlines&&n>1){this.print_newline(!1,t);for(var s=1;s<n;s+=1)this.print_newline(!0,t)}};var k=["async","break","continue","return","throw","yield"];v.prototype.allow_wrap_or_preserved_newline=function(e,t){if(t=void 0!==t&&t,!this._output.just_added_newline()){var n=this._options.preserve_newlines&&e.newlines||t;if(p(this._flags.last_token.text,l)||p(e.text,l)){var i=p(this._flags.last_token.text,l)&&p(this._options.operator_position,g)||p(e.text,l);n=n&&i}if(n)this.print_newline(!1,!0);else if(this._options.wrap_line_length){if(f(this._flags.last_token,k))return;this._output.current_line.get_character_count()+e.text.length+(this._output.space_before_token?1:0)>=this._options.wrap_line_length&&this.print_newline(!1,!0)}}},v.prototype.print_newline=function(e,t){if(!t&&";"!==this._flags.last_token.text&&","!==this._flags.last_token.text&&"="!==this._flags.last_token.text&&(this._flags.last_token.type!==_.OPERATOR||"--"===this._flags.last_token.text||"++"===this._flags.last_token.text))for(var n=this._tokens.peek();!(this._flags.mode!==y.Statement||this._flags.if_block&&h(n,"else")||this._flags.do_block);)this.restore_mode();this._output.add_new_line(e)&&(this._flags.multiline_frame=!0)},v.prototype.print_token_line_indentation=function(e){this._output.just_added_newline()&&(this._options.keep_array_indentation&&w(this._flags.mode)&&e.newlines?(this._output.current_line.push(e.whitespace_before),this._output.space_before_token=!1):this._output.set_indent(this._flags.indentation_level)&&(this._flags.line_indent_level=this._flags.indentation_level))},v.prototype.print_token=function(e,t){if(this._output.raw)this._output.add_raw_token(e);else{if(this._options.comma_first&&e.previous&&e.previous.type===_.COMMA&&this._output.just_added_newline()&&","===this._output.previous_line.last()){var n=this._output.previous_line.pop();this._output.previous_line.is_empty()&&(this._output.previous_line.push(n),this._output.trim(!0),this._output.current_line.pop(),this._output.trim()),this.print_token_line_indentation(e),this._output.add_token(","),this._output.space_before_token=!0}t=t||e.text,this.print_token_line_indentation(e),this._output.add_token(t)}},v.prototype.indent=function(){this._flags.indentation_level+=1},v.prototype.deindent=function(){this._flags.indentation_level>0&&(!this._flags.parent||this._flags.indentation_level>this._flags.parent.indentation_level)&&(this._flags.indentation_level-=1)},v.prototype.set_mode=function(e){this._flags?(this._flag_store.push(this._flags),this._previous_flags=this._flags):this._previous_flags=this.create_flags(null,e),this._flags=this.create_flags(this._previous_flags,e)},v.prototype.restore_mode=function(){this._flag_store.length>0&&(this._previous_flags=this._flags,this._flags=this._flag_store.pop(),this._previous_flags.mode===y.Statement&&u(this._output,this._previous_flags))},v.prototype.start_of_object_property=function(){return this._flags.parent.mode===y.ObjectLiteral&&this._flags.mode===y.Statement&&(":"===this._flags.last_token.text&&0===this._flags.ternary_depth||f(this._flags.last_token,["get","set"]))},v.prototype.start_of_statement=function(e){var t=!1;return!!(t=(t=(t=(t=(t=(t=(t=t||f(this._flags.last_token,["var","let","const"])&&e.type===_.WORD)||h(this._flags.last_token,"do"))||f(this._flags.last_token,k)&&!e.newlines)||h(this._flags.last_token,"else")&&!(h(e,"if")&&!e.comments_before))||this._flags.last_token.type===_.END_EXPR&&(this._previous_flags.mode===y.ForInitializer||this._previous_flags.mode===y.Conditional))||this._flags.last_token.type===_.WORD&&this._flags.mode===y.BlockStatement&&!this._flags.in_case&&!("--"===e.text||"++"===e.text)&&"function"!==this._last_last_text&&e.type!==_.WORD&&e.type!==_.RESERVED)||this._flags.mode===y.ObjectLiteral&&(":"===this._flags.last_token.text&&0===this._flags.ternary_depth||f(this._flags.last_token,["get","set"])))&&(this.set_mode(y.Statement),this.indent(),this.handle_whitespace_and_comments(e,!0),this.start_of_object_property()||this.allow_wrap_or_preserved_newline(e,f(e,["do","for","if","while"])),!0)},v.prototype.handle_start_expr=function(e){this.start_of_statement(e)||this.handle_whitespace_and_comments(e);var t=y.Expression;if("["===e.text){if(this._flags.last_token.type===_.WORD||")"===this._flags.last_token.text)return f(this._flags.last_token,c)&&(this._output.space_before_token=!0),this.set_mode(t),this.print_token(e),this.indent(),void(this._options.space_in_paren&&(this._output.space_before_token=!0));t=y.ArrayLiteral,w(this._flags.mode)&&("["!==this._flags.last_token.text&&(","!==this._flags.last_token.text||"]"!==this._last_last_text&&"}"!==this._last_last_text)||this._options.keep_array_indentation||this.print_newline()),p(this._flags.last_token.type,[_.START_EXPR,_.END_EXPR,_.WORD,_.OPERATOR])||(this._output.space_before_token=!0)}else this._flags.last_token.type===_.RESERVED?"for"===this._flags.last_token.text?(this._output.space_before_token=this._options.space_before_conditional,t=y.ForInitializer):p(this._flags.last_token.text,["if","while"])?(this._output.space_before_token=this._options.space_before_conditional,t=y.Conditional):p(this._flags.last_word,["await","async"])?this._output.space_before_token=!0:"import"===this._flags.last_token.text&&""===e.whitespace_before?this._output.space_before_token=!1:(p(this._flags.last_token.text,c)||"catch"===this._flags.last_token.text)&&(this._output.space_before_token=!0):this._flags.last_token.type===_.EQUALS||this._flags.last_token.type===_.OPERATOR?this.start_of_object_property()||this.allow_wrap_or_preserved_newline(e):this._flags.last_token.type===_.WORD?this._output.space_before_token=!1:this.allow_wrap_or_preserved_newline(e),(this._flags.last_token.type===_.RESERVED&&("function"===this._flags.last_word||"typeof"===this._flags.last_word)||"*"===this._flags.last_token.text&&(p(this._last_last_text,["function","yield"])||this._flags.mode===y.ObjectLiteral&&p(this._last_last_text,["{",","])))&&(this._output.space_before_token=this._options.space_after_anon_function);";"===this._flags.last_token.text||this._flags.last_token.type===_.START_BLOCK?this.print_newline():this._flags.last_token.type!==_.END_EXPR&&this._flags.last_token.type!==_.START_EXPR&&this._flags.last_token.type!==_.END_BLOCK&&"."!==this._flags.last_token.text&&this._flags.last_token.type!==_.COMMA||this.allow_wrap_or_preserved_newline(e,e.newlines),this.set_mode(t),this.print_token(e),this._options.space_in_paren&&(this._output.space_before_token=!0),this.indent()},v.prototype.handle_end_expr=function(e){for(;this._flags.mode===y.Statement;)this.restore_mode();this.handle_whitespace_and_comments(e),this._flags.multiline_frame&&this.allow_wrap_or_preserved_newline(e,"]"===e.text&&w(this._flags.mode)&&!this._options.keep_array_indentation),this._options.space_in_paren&&(this._flags.last_token.type!==_.START_EXPR||this._options.space_in_empty_paren?this._output.space_before_token=!0:(this._output.trim(),this._output.space_before_token=!1)),"]"===e.text&&this._options.keep_array_indentation?(this.print_token(e),this.restore_mode()):(this.restore_mode(),this.print_token(e)),u(this._output,this._previous_flags),this._flags.do_while&&this._previous_flags.mode===y.Conditional&&(this._previous_flags.mode=y.Expression,this._flags.do_block=!1,this._flags.do_while=!1)},v.prototype.handle_start_block=function(e){this.handle_whitespace_and_comments(e);var t=this._tokens.peek(),n=this._tokens.peek(1);"switch"===this._flags.last_word&&this._flags.last_token.type===_.END_EXPR?(this.set_mode(y.BlockStatement),this._flags.in_case_statement=!0):n&&(p(n.text,[":",","])&&p(t.type,[_.STRING,_.WORD,_.RESERVED])||p(t.text,["get","set","..."])&&p(n.type,[_.WORD,_.RESERVED]))?p(this._last_last_text,["class","interface"])?this.set_mode(y.BlockStatement):this.set_mode(y.ObjectLiteral):this._flags.last_token.type===_.OPERATOR&&"=>"===this._flags.last_token.text?this.set_mode(y.BlockStatement):p(this._flags.last_token.type,[_.EQUALS,_.START_EXPR,_.COMMA,_.OPERATOR])||f(this._flags.last_token,["return","throw","import","default"])?this.set_mode(y.ObjectLiteral):this.set_mode(y.BlockStatement);var i=!t.comments_before&&"}"===t.text&&"function"===this._flags.last_word&&this._flags.last_token.type===_.END_EXPR;if(this._options.brace_preserve_inline){var o=0,r=null;this._flags.inline_frame=!0;do{if(o+=1,(r=this._tokens.peek(o-1)).newlines){this._flags.inline_frame=!1;break}}while(r.type!==_.EOF&&(r.type!==_.END_BLOCK||r.opened!==e))}("expand"===this._options.brace_style||"none"===this._options.brace_style&&e.newlines)&&!this._flags.inline_frame?this._flags.last_token.type!==_.OPERATOR&&(i||this._flags.last_token.type===_.EQUALS||f(this._flags.last_token,d)&&"else"!==this._flags.last_token.text)?this._output.space_before_token=!0:this.print_newline(!1,!0):(!w(this._previous_flags.mode)||this._flags.last_token.type!==_.START_EXPR&&this._flags.last_token.type!==_.COMMA||((this._flags.last_token.type===_.COMMA||this._options.space_in_paren)&&(this._output.space_before_token=!0),(this._flags.last_token.type===_.COMMA||this._flags.last_token.type===_.START_EXPR&&this._flags.inline_frame)&&(this.allow_wrap_or_preserved_newline(e),this._previous_flags.multiline_frame=this._previous_flags.multiline_frame||this._flags.multiline_frame,this._flags.multiline_frame=!1)),this._flags.last_token.type!==_.OPERATOR&&this._flags.last_token.type!==_.START_EXPR&&(this._flags.last_token.type!==_.START_BLOCK||this._flags.inline_frame?this._output.space_before_token=!0:this.print_newline())),this.print_token(e),this.indent()},v.prototype.handle_end_block=function(e){for(this.handle_whitespace_and_comments(e);this._flags.mode===y.Statement;)this.restore_mode();var t=this._flags.last_token.type===_.START_BLOCK;this._flags.inline_frame&&!t?this._output.space_before_token=!0:"expand"===this._options.brace_style?t||this.print_newline():t||(w(this._flags.mode)&&this._options.keep_array_indentation?(this._options.keep_array_indentation=!1,this.print_newline(),this._options.keep_array_indentation=!0):this.print_newline()),this.restore_mode(),this.print_token(e)},v.prototype.handle_word=function(e){if(e.type===_.RESERVED)if(p(e.text,["set","get"])&&this._flags.mode!==y.ObjectLiteral)e.type=_.WORD;else if(p(e.text,["as","from"])&&!this._flags.import_block)e.type=_.WORD;else if(this._flags.mode===y.ObjectLiteral){":"===this._tokens.peek().text&&(e.type=_.WORD)}if(this.start_of_statement(e)?f(this._flags.last_token,["var","let","const"])&&e.type===_.WORD&&(this._flags.declaration_statement=!0):!e.newlines||b(this._flags.mode)||this._flags.last_token.type===_.OPERATOR&&"--"!==this._flags.last_token.text&&"++"!==this._flags.last_token.text||this._flags.last_token.type===_.EQUALS||!this._options.preserve_newlines&&f(this._flags.last_token,["var","let","const","set","get"])?this.handle_whitespace_and_comments(e):(this.handle_whitespace_and_comments(e),this.print_newline()),this._flags.do_block&&!this._flags.do_while){if(h(e,"while"))return this._output.space_before_token=!0,this.print_token(e),this._output.space_before_token=!0,void(this._flags.do_while=!0);this.print_newline(),this._flags.do_block=!1}if(this._flags.if_block)if(!this._flags.else_block&&h(e,"else"))this._flags.else_block=!0;else{for(;this._flags.mode===y.Statement;)this.restore_mode();this._flags.if_block=!1,this._flags.else_block=!1}if(this._flags.in_case_statement&&f(e,["case","default"]))return this.print_newline(),(this._flags.case_body||this._options.jslint_happy)&&(this.deindent(),this._flags.case_body=!1),this.print_token(e),void(this._flags.in_case=!0);if(this._flags.last_token.type!==_.COMMA&&this._flags.last_token.type!==_.START_EXPR&&this._flags.last_token.type!==_.EQUALS&&this._flags.last_token.type!==_.OPERATOR||this.start_of_object_property()||this.allow_wrap_or_preserved_newline(e),h(e,"function"))return(p(this._flags.last_token.text,["}",";"])||this._output.just_added_newline()&&!p(this._flags.last_token.text,["(","[","{",":","=",","])&&this._flags.last_token.type!==_.OPERATOR)&&(this._output.just_added_blankline()||e.comments_before||(this.print_newline(),this.print_newline(!0))),this._flags.last_token.type===_.RESERVED||this._flags.last_token.type===_.WORD?f(this._flags.last_token,["get","set","new","export"])||f(this._flags.last_token,k)?this._output.space_before_token=!0:h(this._flags.last_token,"default")&&"export"===this._last_last_text?this._output.space_before_token=!0:"declare"===this._flags.last_token.text?this._output.space_before_token=!0:this.print_newline():this._flags.last_token.type===_.OPERATOR||"="===this._flags.last_token.text?this._output.space_before_token=!0:(this._flags.multiline_frame||!b(this._flags.mode)&&!w(this._flags.mode))&&this.print_newline(),this.print_token(e),void(this._flags.last_word=e.text);var t="NONE";(this._flags.last_token.type===_.END_BLOCK?this._previous_flags.inline_frame?t="SPACE":f(e,["else","catch","finally","from"])?"expand"===this._options.brace_style||"end-expand"===this._options.brace_style||"none"===this._options.brace_style&&e.newlines?t="NEWLINE":(t="SPACE",this._output.space_before_token=!0):t="NEWLINE":this._flags.last_token.type===_.SEMICOLON&&this._flags.mode===y.BlockStatement?t="NEWLINE":this._flags.last_token.type===_.SEMICOLON&&b(this._flags.mode)?t="SPACE":this._flags.last_token.type===_.STRING?t="NEWLINE":this._flags.last_token.type===_.RESERVED||this._flags.last_token.type===_.WORD||"*"===this._flags.last_token.text&&(p(this._last_last_text,["function","yield"])||this._flags.mode===y.ObjectLiteral&&p(this._last_last_text,["{",","]))?t="SPACE":this._flags.last_token.type===_.START_BLOCK?t=this._flags.inline_frame?"SPACE":"NEWLINE":this._flags.last_token.type===_.END_EXPR&&(this._output.space_before_token=!0,t="NEWLINE"),f(e,c)&&")"!==this._flags.last_token.text&&(t=this._flags.inline_frame||"else"===this._flags.last_token.text||"export"===this._flags.last_token.text?"SPACE":"NEWLINE"),f(e,["else","catch","finally"]))?(this._flags.last_token.type!==_.END_BLOCK||this._previous_flags.mode!==y.BlockStatement||"expand"===this._options.brace_style||"end-expand"===this._options.brace_style||"none"===this._options.brace_style&&e.newlines)&&!this._flags.inline_frame?this.print_newline():(this._output.trim(!0),"}"!==this._output.current_line.last()&&this.print_newline(),this._output.space_before_token=!0):"NEWLINE"===t?f(this._flags.last_token,d)?this._output.space_before_token=!0:"declare"===this._flags.last_token.text&&f(e,["var","let","const"])?this._output.space_before_token=!0:this._flags.last_token.type!==_.END_EXPR?this._flags.last_token.type===_.START_EXPR&&f(e,["var","let","const"])||":"===this._flags.last_token.text||(h(e,"if")&&h(e.previous,"else")?this._output.space_before_token=!0:this.print_newline()):f(e,c)&&")"!==this._flags.last_token.text&&this.print_newline():this._flags.multiline_frame&&w(this._flags.mode)&&","===this._flags.last_token.text&&"}"===this._last_last_text?this.print_newline():"SPACE"===t&&(this._output.space_before_token=!0);!e.previous||e.previous.type!==_.WORD&&e.previous.type!==_.RESERVED||(this._output.space_before_token=!0),this.print_token(e),this._flags.last_word=e.text,e.type===_.RESERVED&&("do"===e.text?this._flags.do_block=!0:"if"===e.text?this._flags.if_block=!0:"import"===e.text?this._flags.import_block=!0:this._flags.import_block&&h(e,"from")&&(this._flags.import_block=!1))},v.prototype.handle_semicolon=function(e){this.start_of_statement(e)?this._output.space_before_token=!1:this.handle_whitespace_and_comments(e);for(var t=this._tokens.peek();!(this._flags.mode!==y.Statement||this._flags.if_block&&h(t,"else")||this._flags.do_block);)this.restore_mode();this._flags.import_block&&(this._flags.import_block=!1),this.print_token(e)},v.prototype.handle_string=function(e){this.start_of_statement(e)?this._output.space_before_token=!0:(this.handle_whitespace_and_comments(e),this._flags.last_token.type===_.RESERVED||this._flags.last_token.type===_.WORD||this._flags.inline_frame?this._output.space_before_token=!0:this._flags.last_token.type===_.COMMA||this._flags.last_token.type===_.START_EXPR||this._flags.last_token.type===_.EQUALS||this._flags.last_token.type===_.OPERATOR?this.start_of_object_property()||this.allow_wrap_or_preserved_newline(e):this.print_newline()),this.print_token(e)},v.prototype.handle_equals=function(e){this.start_of_statement(e)||this.handle_whitespace_and_comments(e),this._flags.declaration_statement&&(this._flags.declaration_assignment=!0),this._output.space_before_token=!0,this.print_token(e),this._output.space_before_token=!0},v.prototype.handle_comma=function(e){this.handle_whitespace_and_comments(e,!0),this.print_token(e),this._output.space_before_token=!0,this._flags.declaration_statement?(b(this._flags.parent.mode)&&(this._flags.declaration_assignment=!1),this._flags.declaration_assignment?(this._flags.declaration_assignment=!1,this.print_newline(!1,!0)):this._options.comma_first&&this.allow_wrap_or_preserved_newline(e)):this._flags.mode===y.ObjectLiteral||this._flags.mode===y.Statement&&this._flags.parent.mode===y.ObjectLiteral?(this._flags.mode===y.Statement&&this.restore_mode(),this._flags.inline_frame||this.print_newline()):this._options.comma_first&&this.allow_wrap_or_preserved_newline(e)},v.prototype.handle_operator=function(e){var t="*"===e.text&&(f(this._flags.last_token,["function","yield"])||p(this._flags.last_token.type,[_.START_BLOCK,_.COMMA,_.END_BLOCK,_.SEMICOLON])),n=p(e.text,["-","+"])&&(p(this._flags.last_token.type,[_.START_BLOCK,_.START_EXPR,_.EQUALS,_.OPERATOR])||p(this._flags.last_token.text,c)||","===this._flags.last_token.text);if(this.start_of_statement(e));else{var i=!t;this.handle_whitespace_and_comments(e,i)}if(f(this._flags.last_token,d))return this._output.space_before_token=!0,void this.print_token(e);if("*"!==e.text||this._flags.last_token.type!==_.DOT)if("::"!==e.text){if(this._flags.last_token.type===_.OPERATOR&&p(this._options.operator_position,g)&&this.allow_wrap_or_preserved_newline(e),":"===e.text&&this._flags.in_case)return this._flags.case_body=!0,this.indent(),this.print_token(e),this.print_newline(),void(this._flags.in_case=!1);var o=!0,r=!0,s=!1;if(":"===e.text?0===this._flags.ternary_depth?o=!1:(this._flags.ternary_depth-=1,s=!0):"?"===e.text&&(this._flags.ternary_depth+=1),!n&&!t&&this._options.preserve_newlines&&p(e.text,l)){var a=":"===e.text,u=a&&s,h=a&&!s;switch(this._options.operator_position){case m.before_newline:return this._output.space_before_token=!h,this.print_token(e),a&&!u||this.allow_wrap_or_preserved_newline(e),void(this._output.space_before_token=!0);case m.after_newline:return this._output.space_before_token=!0,!a||u?this._tokens.peek().newlines?this.print_newline(!1,!0):this.allow_wrap_or_preserved_newline(e):this._output.space_before_token=!1,this.print_token(e),void(this._output.space_before_token=!0);case m.preserve_newline:return h||this.allow_wrap_or_preserved_newline(e),o=!(this._output.just_added_newline()||h),this._output.space_before_token=o,this.print_token(e),void(this._output.space_before_token=!0)}}if(t){this.allow_wrap_or_preserved_newline(e),o=!1;var w=this._tokens.peek();r=w&&p(w.type,[_.WORD,_.RESERVED])}else"..."===e.text?(this.allow_wrap_or_preserved_newline(e),o=this._flags.last_token.type===_.START_BLOCK,r=!1):(p(e.text,["--","++","!","~"])||n)&&(this._flags.last_token.type!==_.COMMA&&this._flags.last_token.type!==_.START_EXPR||this.allow_wrap_or_preserved_newline(e),o=!1,r=!1,!e.newlines||"--"!==e.text&&"++"!==e.text||this.print_newline(!1,!0),";"===this._flags.last_token.text&&b(this._flags.mode)&&(o=!0),this._flags.last_token.type===_.RESERVED?o=!0:this._flags.last_token.type===_.END_EXPR?o=!("]"===this._flags.last_token.text&&("--"===e.text||"++"===e.text)):this._flags.last_token.type===_.OPERATOR&&(o=p(e.text,["--","-","++","+"])&&p(this._flags.last_token.text,["--","-","++","+"]),p(e.text,["+","-"])&&p(this._flags.last_token.text,["--","++"])&&(r=!0)),(this._flags.mode!==y.BlockStatement||this._flags.inline_frame)&&this._flags.mode!==y.Statement||"{"!==this._flags.last_token.text&&";"!==this._flags.last_token.text||this.print_newline());this._output.space_before_token=this._output.space_before_token||o,this.print_token(e),this._output.space_before_token=r}else this.print_token(e);else this.print_token(e)},v.prototype.handle_block_comment=function(e,t){if(this._output.raw)return this._output.add_raw_token(e),void(e.directives&&"end"===e.directives.preserve&&(this._output.raw=this._options.test_output_raw));if(e.directives)return this.print_newline(!1,t),this.print_token(e),"start"===e.directives.preserve&&(this._output.raw=!0),void this.print_newline(!1,!0);if(!r.newline.test(e.text)&&!e.newlines)return this._output.space_before_token=!0,this.print_token(e),void(this._output.space_before_token=!0);var n,i=function(e){for(var t=[],n=(e=e.replace(r.allLineBreaks,"\n")).indexOf("\n");-1!==n;)t.push(e.substring(0,n)),n=(e=e.substring(n+1)).indexOf("\n");return e.length&&t.push(e),t}(e.text),o=!1,s=!1,a=e.whitespace_before,c=a.length;for(this.print_newline(!1,t),i.length>1&&(o=function(e,t){for(var n=0;n<e.length;n++)if(e[n].trim().charAt(0)!==t)return!1;return!0}(i.slice(1),"*"),s=function(e,t){for(var n,i=0,o=e.length;i<o;i++)if((n=e[i])&&0!==n.indexOf(t))return!1;return!0}(i.slice(1),a)),this.print_token(e,i[0]),n=1;n<i.length;n++)this.print_newline(!1,!0),o?this.print_token(e," "+i[n].replace(/^\s+/g,"")):s&&i[n].length>c?this.print_token(e,i[n].substring(c)):this._output.add_token(i[n]);this.print_newline(!1,t)},v.prototype.handle_comment=function(e,t){e.newlines?this.print_newline(!1,t):this._output.trim(!0),this._output.space_before_token=!0,this.print_token(e),this.print_newline(!1,t)},v.prototype.handle_dot=function(e){this.start_of_statement(e)||this.handle_whitespace_and_comments(e,!0),f(this._flags.last_token,d)?this._output.space_before_token=!1:this.allow_wrap_or_preserved_newline(e,")"===this._flags.last_token.text&&this._options.break_chained_methods),this._options.unindent_chained_methods&&this._output.just_added_newline()&&this.deindent(),this.print_token(e)},v.prototype.handle_unknown=function(e,t){this.print_token(e),"\n"===e.text[e.text.length-1]&&this.print_newline(!1,t)},v.prototype.handle_eof=function(e){for(;this._flags.mode===y.Statement;)this.restore_mode();this.handle_whitespace_and_comments(e)},t.exports.Beautifier=v},{"../core/output":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/output.js","../core/token":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/token.js","./acorn":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/javascript/acorn.js","./options":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/javascript/options.js","./tokenizer":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/javascript/tokenizer.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/javascript/index.js":[function(e,t,n){"use strict";var i=e("./beautifier").Beautifier;t.exports=function(e,t){return new i(e,t).beautify()}},{"./beautifier":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/javascript/beautifier.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/javascript/options.js":[function(e,t,n){"use strict";var i=e("../core/options").Options,o=["before-newline","after-newline","preserve-newline"];function r(e){i.call(this,e,"js");var t=this.raw_options.brace_style||null;"expand-strict"===t?this.raw_options.brace_style="expand":"collapse-preserve-inline"===t?this.raw_options.brace_style="collapse,preserve-inline":void 0!==this.raw_options.braces_on_own_line&&(this.raw_options.brace_style=this.raw_options.braces_on_own_line?"expand":"collapse");var n=this._get_selection_list("brace_style",["collapse","expand","end-expand","none","preserve-inline"]);this.brace_preserve_inline=!1,this.brace_style="collapse";for(var r=0;r<n.length;r++)"preserve-inline"===n[r]?this.brace_preserve_inline=!0:this.brace_style=n[r];this.unindent_chained_methods=this._get_boolean("unindent_chained_methods"),this.break_chained_methods=this._get_boolean("break_chained_methods"),this.space_in_paren=this._get_boolean("space_in_paren"),this.space_in_empty_paren=this._get_boolean("space_in_empty_paren"),this.jslint_happy=this._get_boolean("jslint_happy"),this.space_after_anon_function=this._get_boolean("space_after_anon_function"),this.keep_array_indentation=this._get_boolean("keep_array_indentation"),this.space_before_conditional=this._get_boolean("space_before_conditional",!0),this.unescape_strings=this._get_boolean("unescape_strings"),this.e4x=this._get_boolean("e4x"),this.comma_first=this._get_boolean("comma_first"),this.operator_position=this._get_selection("operator_position",o),this.test_output_raw=this._get_boolean("test_output_raw"),this.jslint_happy&&(this.space_after_anon_function=!0)}r.prototype=new i,t.exports.Options=r},{"../core/options":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/options.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/javascript/tokenizer.js":[function(e,t,n){"use strict";var i=e("../core/inputscanner").InputScanner,o=e("../core/tokenizer").Tokenizer,r=e("../core/tokenizer").TOKEN,s=e("../core/directives").Directives,a=e("./acorn");function c(e,t){return-1!==t.indexOf(e)}var l={START_EXPR:"TK_START_EXPR",END_EXPR:"TK_END_EXPR",START_BLOCK:"TK_START_BLOCK",END_BLOCK:"TK_END_BLOCK",WORD:"TK_WORD",RESERVED:"TK_RESERVED",SEMICOLON:"TK_SEMICOLON",STRING:"TK_STRING",EQUALS:"TK_EQUALS",OPERATOR:"TK_OPERATOR",COMMA:"TK_COMMA",BLOCK_COMMENT:"TK_BLOCK_COMMENT",COMMENT:"TK_COMMENT",DOT:"TK_DOT",UNKNOWN:"TK_UNKNOWN",START:r.START,RAW:r.RAW,EOF:r.EOF},_=new s(/\/\*/,/\*\//),u=/0[xX][0123456789abcdefABCDEF]*|0[oO][01234567]*|0[bB][01]*|\d+n|(?:\.\d+|\d+\.?\d*)(?:[eE][+-]?\d+)?/g,p=/[0-9]/,h=/[^\d\.]/,f=">>> === !== << && >= ** != == <= >> || < / - + > : & % ? ^ | *".split(" "),d=">>>= ... >>= <<= === >>> !== **= => ^= :: /= << <= == && -= >= >> != -- += ** || ++ %= &= *= |= = ! ? > < : / ^ - + * & % ~ |";d=(d=d.replace(/[-[\]{}()*+?.,\\^$|#]/g,"\\$&")).replace(/ /g,"|");var m,g=new RegExp(d,"g"),y="continue,try,throw,return,var,let,const,if,switch,case,default,for,while,break,function,import,export".split(","),w=y.concat(["do","in","of","else","get","set","new","catch","finally","typeof","yield","async","await","from","as"]),b=new RegExp("^(?:"+w.join("|")+")$"),v=/\/\*(?:[\s\S]*?)((?:\*\/)|$)/g,k=/\/\/(?:[^\n\r\u2028\u2029]*)/g,x=/(?:(?:<\?php|<\?=)[\s\S]*?\?>)|(?:<%[\s\S]*?%>)/g,j=function(e,t){o.call(this,e,t),this._whitespace_pattern=/[\n\r\u2028\u2029\t\u000B\u00A0\u1680\u180e\u2000-\u200a\u202f\u205f\u3000\ufeff ]+/g,this._newline_pattern=/([^\n\r\u2028\u2029]*)(\r\n|[\n\r\u2028\u2029])?/g};(j.prototype=new o)._is_comment=function(e){return e.type===l.COMMENT||e.type===l.BLOCK_COMMENT||e.type===l.UNKNOWN},j.prototype._is_opening=function(e){return e.type===l.START_BLOCK||e.type===l.START_EXPR},j.prototype._is_closing=function(e,t){return(e.type===l.END_BLOCK||e.type===l.END_EXPR)&&t&&("]"===e.text&&"["===t.text||")"===e.text&&"("===t.text||"}"===e.text&&"{"===t.text)},j.prototype._reset=function(){m=!1},j.prototype._get_next_token=function(e,t){this._readWhitespace();var n=null,i=this._input.peek();return n=(n=(n=(n=(n=(n=(n=(n=(n=n||this._read_singles(i))||this._read_word(e))||this._read_comment(i))||this._read_string(i))||this._read_regexp(i,e))||this._read_xml(i,e))||this._read_non_javascript(i))||this._read_punctuation())||this._create_token(l.UNKNOWN,this._input.next())},j.prototype._read_word=function(e){var t;return""!==(t=this._input.read(a.identifier))?e.type!==l.DOT&&(e.type!==l.RESERVED||"set"!==e.text&&"get"!==e.text)&&b.test(t)?"in"===t||"of"===t?this._create_token(l.OPERATOR,t):this._create_token(l.RESERVED,t):this._create_token(l.WORD,t):""!==(t=this._input.read(u))?this._create_token(l.WORD,t):void 0},j.prototype._read_singles=function(e){var t=null;return null===e?t=this._create_token(l.EOF,""):"("===e||"["===e?t=this._create_token(l.START_EXPR,e):")"===e||"]"===e?t=this._create_token(l.END_EXPR,e):"{"===e?t=this._create_token(l.START_BLOCK,e):"}"===e?t=this._create_token(l.END_BLOCK,e):";"===e?t=this._create_token(l.SEMICOLON,e):"."===e&&h.test(this._input.peek(1))?t=this._create_token(l.DOT,e):","===e&&(t=this._create_token(l.COMMA,e)),t&&this._input.next(),t},j.prototype._read_punctuation=function(){var e=this._input.read(g);if(""!==e)return"="===e?this._create_token(l.EQUALS,e):this._create_token(l.OPERATOR,e)},j.prototype._read_non_javascript=function(e){var t="";if("#"===e){if(e=this._input.next(),this._is_first_token()&&"!"===this._input.peek()){for(t=e;this._input.hasNext()&&"\n"!==e;)t+=e=this._input.next();return this._create_token(l.UNKNOWN,t.trim()+"\n")}var n="#";if(this._input.hasNext()&&this._input.testChar(p)){do{n+=e=this._input.next()}while(this._input.hasNext()&&"#"!==e&&"="!==e);return"#"===e||("["===this._input.peek()&&"]"===this._input.peek(1)?(n+="[]",this._input.next(),this._input.next()):"{"===this._input.peek()&&"}"===this._input.peek(1)&&(n+="{}",this._input.next(),this._input.next())),this._create_token(l.WORD,n)}this._input.back()}else if("<"===e){if("?"===this._input.peek(1)||"%"===this._input.peek(1)){if(t=this._input.read(x))return t=t.replace(a.allLineBreaks,"\n"),this._create_token(l.STRING,t)}else if(this._input.match(/<\!--/g)){for(e="\x3c!--";this._input.hasNext()&&!this._input.testChar(a.newline);)e+=this._input.next();return m=!0,this._create_token(l.COMMENT,e)}}else if("-"===e&&m&&this._input.match(/-->/g))return m=!1,this._create_token(l.COMMENT,"--\x3e");return null},j.prototype._read_comment=function(e){var t=null;if("/"===e){var n="";if("*"===this._input.peek(1)){n=this._input.read(v);var i=_.get_directives(n);i&&"start"===i.ignore&&(n+=_.readIgnored(this._input)),n=n.replace(a.allLineBreaks,"\n"),(t=this._create_token(l.BLOCK_COMMENT,n)).directives=i}else"/"===this._input.peek(1)&&(n=this._input.read(k),t=this._create_token(l.COMMENT,n))}return t},j.prototype._read_string=function(e){if("`"===e||"'"===e||'"'===e){var t=this._input.next();return this.has_char_escapes=!1,t+="`"===e?this._read_string_recursive("`",!0,"${"):this._read_string_recursive(e),this.has_char_escapes&&this._options.unescape_strings&&(t=function(e){var t="",n=0,o=new i(e),r=null;for(;o.hasNext();)if((r=o.match(/([\s]|[^\\]|\\\\)+/g))&&(t+=r[0]),"\\"===o.peek()){if(o.next(),"x"===o.peek())r=o.match(/x([0-9A-Fa-f]{2})/g);else{if("u"!==o.peek()){t+="\\",o.hasNext()&&(t+=o.next());continue}r=o.match(/u([0-9A-Fa-f]{4})/g)}if(!r)return e;if((n=parseInt(r[1],16))>126&&n<=255&&0===r[0].indexOf("x"))return e;if(n>=0&&n<32){t+="\\"+r[0];continue}t+=34===n||39===n||92===n?"\\"+String.fromCharCode(n):String.fromCharCode(n)}return t}(t)),this._input.peek()===e&&(t+=this._input.next()),this._create_token(l.STRING,t)}return null},j.prototype._allow_regexp_or_xml=function(e){return e.type===l.RESERVED&&c(e.text,["return","case","throw","else","do","typeof","yield"])||e.type===l.END_EXPR&&")"===e.text&&e.opened.previous.type===l.RESERVED&&c(e.opened.previous.text,["if","while","for"])||c(e.type,[l.COMMENT,l.START_EXPR,l.START_BLOCK,l.START,l.END_BLOCK,l.OPERATOR,l.EQUALS,l.EOF,l.SEMICOLON,l.COMMA])},j.prototype._read_regexp=function(e,t){if("/"===e&&this._allow_regexp_or_xml(t)){for(var n=this._input.next(),i=!1,o=!1;this._input.hasNext()&&(i||o||this._input.peek()!==e)&&!this._input.testChar(a.newline);)n+=this._input.peek(),i?i=!1:(i="\\"===this._input.peek(),"["===this._input.peek()?o=!0:"]"===this._input.peek()&&(o=!1)),this._input.next();return this._input.peek()===e&&(n+=this._input.next(),n+=this._input.read(a.identifier)),this._create_token(l.STRING,n)}return null};var E=/<()([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\])(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/g,O=/[\s\S]*?<(\/?)([-a-zA-Z:0-9_.]+|{[\s\S]+?}|!\[CDATA\[[\s\S]*?\]\])(\s+{[\s\S]+?}|\s+[-a-zA-Z:0-9_.]+|\s+[-a-zA-Z:0-9_.]+\s*=\s*('[^']*'|"[^"]*"|{[\s\S]+?}))*\s*(\/?)\s*>/g;j.prototype._read_xml=function(e,t){if(this._options.e4x&&"<"===e&&this._input.test(E)&&this._allow_regexp_or_xml(t)){var n="",i=this._input.match(E);if(i){for(var o=i[2].replace(/^{\s+/,"{").replace(/\s+}$/,"}"),r=0===o.indexOf("{"),s=0;i;){var c=!!i[1],_=i[2];if(!(!!i[i.length-1]||"![CDATA["===_.slice(0,8))&&(_===o||r&&_.replace(/^{\s+/,"{").replace(/\s+}$/,"}"))&&(c?--s:++s),n+=i[0],s<=0)break;i=this._input.match(O)}return i||(n+=this._input.match(/[\s\S]*/g)[0]),n=n.replace(a.allLineBreaks,"\n"),this._create_token(l.STRING,n)}}return null},j.prototype._read_string_recursive=function(e,t,n){for(var i,o="",r=!1;this._input.hasNext()&&(i=this._input.peek(),r||i!==e&&(t||!a.newline.test(i)));)(r||t)&&a.newline.test(i)?("\r"===i&&"\n"===this._input.peek(1)&&(this._input.next(),i=this._input.peek()),o+="\n"):o+=i,r?("x"!==i&&"u"!==i||(this.has_char_escapes=!0),r=!1):r="\\"===i,this._input.next(),n&&-1!==o.indexOf(n,o.length-n.length)&&(o+="`"===e?this._read_string_recursive("}",t,"`"):this._read_string_recursive("`",t,"${"),this._input.hasNext()&&(o+=this._input.next()));return o},t.exports.Tokenizer=j,t.exports.TOKEN=l,t.exports.positionable_operators=f.slice(),t.exports.line_starters=y.slice()},{"../core/directives":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/directives.js","../core/inputscanner":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/inputscanner.js","../core/tokenizer":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/core/tokenizer.js","./acorn":"/home/pouya/Projects/clio-lang/clio/node_modules/js-beautify/js/src/javascript/acorn.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/path-browserify/index.js":[function(e,t,n){(function(e){function t(e,t){for(var n=0,i=e.length-1;i>=0;i--){var o=e[i];"."===o?e.splice(i,1):".."===o?(e.splice(i,1),n++):n&&(e.splice(i,1),n--)}if(t)for(;n--;n)e.unshift("..");return e}function i(e,t){if(e.filter)return e.filter(t);for(var n=[],i=0;i<e.length;i++)t(e[i],i,e)&&n.push(e[i]);return n}n.resolve=function(){for(var n="",o=!1,r=arguments.length-1;r>=-1&&!o;r--){var s=r>=0?arguments[r]:e.cwd();if("string"!=typeof s)throw new TypeError("Arguments to path.resolve must be strings");s&&(n=s+"/"+n,o="/"===s.charAt(0))}return(o?"/":"")+(n=t(i(n.split("/"),function(e){return!!e}),!o).join("/"))||"."},n.normalize=function(e){var r=n.isAbsolute(e),s="/"===o(e,-1);return(e=t(i(e.split("/"),function(e){return!!e}),!r).join("/"))||r||(e="."),e&&s&&(e+="/"),(r?"/":"")+e},n.isAbsolute=function(e){return"/"===e.charAt(0)},n.join=function(){var e=Array.prototype.slice.call(arguments,0);return n.normalize(i(e,function(e,t){if("string"!=typeof e)throw new TypeError("Arguments to path.join must be strings");return e}).join("/"))},n.relative=function(e,t){function i(e){for(var t=0;t<e.length&&""===e[t];t++);for(var n=e.length-1;n>=0&&""===e[n];n--);return t>n?[]:e.slice(t,n-t+1)}e=n.resolve(e).substr(1),t=n.resolve(t).substr(1);for(var o=i(e.split("/")),r=i(t.split("/")),s=Math.min(o.length,r.length),a=s,c=0;c<s;c++)if(o[c]!==r[c]){a=c;break}var l=[];for(c=a;c<o.length;c++)l.push("..");return(l=l.concat(r.slice(a))).join("/")},n.sep="/",n.delimiter=":",n.dirname=function(e){if("string"!=typeof e&&(e+=""),0===e.length)return".";for(var t=e.charCodeAt(0),n=47===t,i=-1,o=!0,r=e.length-1;r>=1;--r)if(47===(t=e.charCodeAt(r))){if(!o){i=r;break}}else o=!1;return-1===i?n?"/":".":n&&1===i?"/":e.slice(0,i)},n.basename=function(e,t){var n=function(e){"string"!=typeof e&&(e+="");var t,n=0,i=-1,o=!0;for(t=e.length-1;t>=0;--t)if(47===e.charCodeAt(t)){if(!o){n=t+1;break}}else-1===i&&(o=!1,i=t+1);return-1===i?"":e.slice(n,i)}(e);return t&&n.substr(-1*t.length)===t&&(n=n.substr(0,n.length-t.length)),n},n.extname=function(e){"string"!=typeof e&&(e+="");for(var t=-1,n=0,i=-1,o=!0,r=0,s=e.length-1;s>=0;--s){var a=e.charCodeAt(s);if(47!==a)-1===i&&(o=!1,i=s+1),46===a?-1===t?t=s:1!==r&&(r=1):-1!==t&&(r=-1);else if(!o){n=s+1;break}}return-1===t||-1===i||0===r||1===r&&t===i-1&&t===n+1?"":e.slice(t,i)};var o="b"==="ab".substr(-1)?function(e,t,n){return e.substr(t,n)}:function(e,t,n){return t<0&&(t=e.length+t),e.substr(t,n)}}).call(this,e("_process"))},{_process:"/home/pouya/Projects/clio-lang/clio/node_modules/process/browser.js"}],"/home/pouya/Projects/clio-lang/clio/node_modules/process/browser.js":[function(e,t,n){var i,o,r=t.exports={};function s(){throw new Error("setTimeout has not been defined")}function a(){throw new Error("clearTimeout has not been defined")}function c(e){if(i===setTimeout)return setTimeout(e,0);if((i===s||!i)&&setTimeout)return i=setTimeout,setTimeout(e,0);try{return i(e,0)}catch(t){try{return i.call(null,e,0)}catch(t){return i.call(this,e,0)}}}!function(){try{i="function"==typeof setTimeout?setTimeout:s}catch(e){i=s}try{o="function"==typeof clearTimeout?clearTimeout:a}catch(e){o=a}}();var l,_=[],u=!1,p=-1;function h(){u&&l&&(u=!1,l.length?_=l.concat(_):p=-1,_.length&&f())}function f(){if(!u){var e=c(h);u=!0;for(var t=_.length;t;){for(l=_,_=[];++p<t;)l&&l[p].run();p=-1,t=_.length}l=null,u=!1,function(e){if(o===clearTimeout)return clearTimeout(e);if((o===a||!o)&&clearTimeout)return o=clearTimeout,clearTimeout(e);try{o(e)}catch(t){try{return o.call(null,e)}catch(t){return o.call(this,e)}}}(e)}}function d(e,t){this.fun=e,this.array=t}function m(){}r.nextTick=function(e){var t=new Array(arguments.length-1);if(arguments.length>1)for(var n=1;n<arguments.length;n++)t[n-1]=arguments[n];_.push(new d(e,t)),1!==_.length||u||c(f)},d.prototype.run=function(){this.fun.apply(null,this.array)},r.title="browser",r.browser=!0,r.env={},r.argv=[],r.version="",r.versions={},r.on=m,r.addListener=m,r.once=m,r.off=m,r.removeListener=m,r.removeAllListeners=m,r.emit=m,r.prependListener=m,r.prependOnceListener=m,r.listeners=function(e){return[]},r.binding=function(e){throw new Error("process.binding is not supported")},r.cwd=function(){return"/"},r.chdir=function(e){throw new Error("process.chdir is not supported")},r.umask=function(){return 0}},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/string.fromcodepoint/fromcodepoint.js":[function(e,t,n){var i,o,r,s;String.fromCodePoint||(i=function(){try{var e={},t=Object.defineProperty,n=t(e,e,e)&&t}catch(e){}return n}(),o=String.fromCharCode,r=Math.floor,s=function(e){var t,n,i=[],s=-1,a=arguments.length;if(!a)return"";for(var c="";++s<a;){var l=Number(arguments[s]);if(!isFinite(l)||l<0||l>1114111||r(l)!=l)throw RangeError("Invalid code point: "+l);l<=65535?i.push(l):(t=55296+((l-=65536)>>10),n=l%1024+56320,i.push(t,n)),(s+1==a||i.length>16384)&&(c+=o.apply(null,i),i.length=0)}return c},i?i(String,"fromCodePoint",{value:s,configurable:!0,writable:!0}):String.fromCodePoint=s)},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/supports-color/browser.js":[function(e,t,n){"use strict";t.exports={stdout:!1,stderr:!1}},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/treeify/treeify.js":[function(e,t,n){var i,o;i=this,o=function(){function e(t,n,i,o,r,s,a){var c,l,_="",u=0,p=o.slice(0);if(p.push([n,i])&&o.length>0&&(o.forEach(function(e,t){t>0&&(_+=(e[1]?" ":"│")+" "),l||e[0]!==n||(l=!0)}),_+=function(e,t){var n=t?"└":"├";return n+=e?"─ ":"──┐"}(t,i)+t,r&&("object"!=typeof n||n instanceof Date)&&(_+=": "+n),l&&(_+=" (circular ref.)"),a(_)),!l&&"object"==typeof n){var h=function(e,t){var n=[];for(var i in e)e.hasOwnProperty(i)&&(t&&"function"==typeof e[i]||n.push(i));return n}(n,s);h.forEach(function(t){c=++u===h.length,e(t,n[t],c,p,r,s,a)})}}var t={asLines:function(t,n,i,o){e(".",t,!1,[],n,"function"!=typeof i&&i,o||i)},asTree:function(t,n,i){var o="";return e(".",t,!1,[],n,i,function(e){o+=e+"\n"}),o}};return t},"object"==typeof n?t.exports=o():"function"==typeof define&&define.amd?define(o):i.treeify=o()},{}],"/home/pouya/Projects/clio-lang/clio/node_modules/unescape-js/dist/index.js":[function(e,t,n){"use strict";Object.defineProperty(n,"__esModule",{value:!0}),e("string.fromcodepoint");var i=/\\(u\{([0-9A-Fa-f]+)\}|u([0-9A-Fa-f]{4})|x([0-9A-Fa-f]{2})|([1-7][0-7]{0,2}|[0-7]{2,3})|(['"tbrnfv0\\]))|\\U([0-9A-Fa-f]{8})/g,o={0:"\0",b:"\b",f:"\f",n:"\n",r:"\r",t:"\t",v:"\v","'":"'",'"':'"',"\\":"\\"},r=function(e){return String.fromCodePoint(parseInt(e,16))};n.default=function(e){return e.replace(i,function(e,t,n,i,s,a,c,l){return void 0!==n?r(n):void 0!==i?r(i):void 0!==s?r(s):void 0!==a?(_=a,String.fromCodePoint(parseInt(_,8))):void 0!==l?r(l):o[c];var _})},t.exports=n.default},{"string.fromcodepoint":"/home/pouya/Projects/clio-lang/clio/node_modules/string.fromcodepoint/fromcodepoint.js"}],"/home/pouya/Projects/clio-lang/clio/parser/helpers.js":[function(e,t,n){const i={isOneOf:function(e,t){return t.includes(e.name)},isWrappedRepeat:function(e,t,n,o,r,s){if(!i.isOneOf(r[o],[e]))return-1;o+=1;for(var a=i.isSeq(n,o,r);-1!=a;)if(o=a,a=i.isSeq(n,o,r),o>r.length-1)return-1;return i.isOneOf(r[o],[t])?o+1:-1},isWrapped:function(e,t,n,o,r,s){const a=o;if(!i.isOneOf(r[o],[e]))return-1;for(o+=1;!i.isOneOf(r[o],[n,e]);)if((o+=1)>r.length-1)return-1;if(i.isOneOf(r[o],[e]))return-1;var c=r.slice(a+1,o);c.push({name:"eof"});var l=s("",c,!0);return l[0]&&i.isOneOf(l[1][0],[t])?[o+1,[l[1][0]]]:-1},isSeq:function(e,t,n){for(var o in e)if(e.hasOwnProperty(o)){if(typeof(o=e[o]).name!=typeof[]&&(o.name=[o.name]),o.not_after){for(var r=t-1;r>0&&"_"==n[r].name;)r--;if(r>0&&o.not_after.includes(n[r].name))return-1}if(o.not_before){for(r=t+1;r<n.length&&"_"==n[r].name;)r++;if(r<=n.length&&o.not_before.includes(n[r].name))return-1}if(o.should_be_after){for(r=t-1;r>0&&"_"==n[r].name;)r--;if(r<0||!o.should_be_after.includes(n[r].name))return-1}if(o.count>=1)for(var s=o.count;s>0;){var a=!0;if(o.raw&&o.raw!=n[t].raw&&(a=!1),a&&i.isOneOf(n[t],o.name))t+=1,s-=1;else{if(1!=o.opt)return-1;if(o.fail&&i.isOneOf(n[t],o.fail))return-1;s-=1}}else if(o.count<=0)if(null!=o.sep){var c=i.grabAllUntil(n,t,o.name,o.sep,o.enders);if(-1==o.count&&c-t==1)return-1;if(c>t)t=c;else if(-1==c&&1!=o.opt)return-1}else{if(i.isOneOf(n[t],o.name))for(;i.isOneOf(n[t],o.name);)t+=1;else if(1!=o.opt)return-1}}return t},grabAllUntil:function(e,t,n,o,r){for(var s=!1;;){var a=e[t];if(i.isOneOf(a,o))t+=1;else{if(!i.isOneOf(a,n)){if(!r.length||i.isOneOf(a,r)){for(;t>0&&i.isOneOf(e[t-1],o);)t-=1;return s?t:-1}return-1}s=!0,t+=1}}},wrapAs:function(e,t,n,i,o){if(void 0!==o)var r={name:e,index:i[t].index,tokens:o};else{var s=["_","_n","^","map","set","indent","dedent","filt","not","proc","import","from","lbra","rbra","colon","if","else","elif","fn","lpar","rpar","dot","comma","type","of","as","lcbr","rcbr","async"],a=["starmap"];o=i.slice(t,n).filter(function(e){return(!s.includes(e.name)||null==e.raw)&&!a.includes(e.name)}),r={name:e,index:i[t].index,tokens:o}}var c=i.slice(0,t);c.push(r);var l=i.slice(n);return c.concat(l)}};t.exports=i},{}],"/home/pouya/Projects/clio-lang/clio/parser/parser.js":[function(e,t,n){const i=e("../common").ClioException,o=e("./helpers"),{matchers:r,illegals:s}=e("../syntax/parsing");t.exports=function e(t,n,a,c){c||(c="<undefined>");for(var l,_,u,p=Object.keys(r),h=0,f=0;;){_=!1;var d=p[f];for(h=0;;){if(u=void 0,(l=r[d](h,n,e)).constructor===Array&&(u=l[1],l=l[0]),l>h){n=o.wrapAs(d,h,l,n,u),_=!0,h=0,f=-1;break}if(h==n.length-1)break;h++}if(f==p.length-1&&!_)break;f++}var m=!0;for(h=0;h<n.length;h++)if(s.includes(n[h].name)){if(!a){var g={clio_stack:[{file:{name:c,source:t},trace:{fn:"@parse",index:n[h].index}}]},y=new Error(`Unexpected token '${n[h].name}'`);throw new i(y,g)}m=!1;break}return m&&(n=n.filter(function(e){return!["_","_n","^"].includes(e.name)})),[m,n]}},{"../common":"/home/pouya/Projects/clio-lang/clio/common.js","../syntax/parsing":"/home/pouya/Projects/clio-lang/clio/syntax/parsing.js","./helpers":"/home/pouya/Projects/clio-lang/clio/parser/helpers.js"}],"/home/pouya/Projects/clio-lang/clio/syntax/lexing.js":[function(e,t,n){t.exports={string:/^'([^\\]|\\.)*?'/,word:/^#[^\[\] \r\n:]+/i,number:/^(0|-?[1-9][0-9']*)(\.[0-9']+)?/,fn:/^fn(?![a-zA-Z_-])/,return:/^return(?![a-zA-Z_-])/,async:/^async(?![a-zA-Z_-])/,if:/^if(?![a-zA-Z_-])/,elif:/^elif(?![a-zA-Z_-])/,else:/^else(?![a-zA-Z_-])/,bool:/^(true|false)(?![a-zA-Z_-])/,transform:/^transform(?![a-zA-Z_-])/,and:/^and(?![a-zA-Z_-])/,or:/^or(?![a-zA-Z_-])/,not:/^not(?![a-zA-Z_-])/,of:/^of(?![a-zA-Z_-])/,type:/^type(?![a-zA-Z_-])/,as:/^as(?![a-zA-Z_-])/,import:/^import(?![a-zA-Z_-])/,from:/^from(?![a-zA-Z_-])/,url:/^(http|ws)s?:\/\/[^ \r\n]+/,path:/^(((((\.\.|[-_.a-zA-Z0-9]+)\/)+|\.\/)[-_.a-zA-Z0-9]+(\.(js|clio))?)|([-_.a-zA-Z0-9]\.(js|clio)))/,comment:/^ *--[^\r\n]+/,symbol:/^[a-z$_][a-z_0-9$-]*/i,map:/^->/,set:/^=>/,filt:/^\|/,comparison:/^(!=|>=|<=|>|<|=)/,dsop:/^[\^]/,sop:/^[*\/]/,op:/^[-+%]/,dot:/^[.]/,atsign:/^[@]/,lbra:/^[\[]/,rbra:/^[\]]/,lpar:/^[\(]/,rpar:/^[\)]/,lcbr:/^[\{]/,rcbr:/^[\}]/,emptyline:/^(\r?\n[ \t\f]*\r?\n)+/,comma:/^,/,colon:/^:/,_n:/^\r?\n/,_:/^ +/}},{}],"/home/pouya/Projects/clio-lang/clio/syntax/parsing.js":[function(e,t,n){const i=e("../parser/helpers"),o={wrapped_decorator:function(e,t,n){return i.isWrapped("lpar","decorator","rpar",e,t,n)},wrapped_math:function(e,t,n){return i.isWrapped("lpar","math","rpar",e,t,n)},wrapped_flow:function(e,t,n){return i.isWrapped("lpar","flow","rpar",e,t,n)},wrapped_quickfundef:function(e,t,n){return i.isWrapped("lpar","quickfundef","rpar",e,t,n)},transform:function(e,t,n){return i.isWrapped("lpar","naked_transform","rpar",e,t,n)},startransform:function(e,t,n){return i.isWrapped("lpar","naked_startransform","rpar",e,t,n)},wrapped_and_or:function(e,t,n){return i.isWrapped("lpar","and_or_expr","rpar",e,t,n)},wrapped_not:function(e,t,n){return i.isWrapped("lpar","notexpr","rpar",e,t,n)},list:function(e,t,n){return i.isWrappedRepeat("lbra","rbra",[{name:["_","_n","^"],count:0,opt:!0},{name:["symbol","property_access","number","list","empty_list","string","word","bool","wrapped_math","range","stepped_range"],count:0,sep:["_","_n","^","indent","dedent"],enders:["rbra","lbra"]},{name:["_","_n","^"],count:0,opt:!0}],e,t)},empty_list:function(e,t){return i.isSeq([{name:"lbra",count:1},{name:"rbra",count:1}],e,t)},naked_startransform:function(e,t){return i.isSeq([{name:"sop",count:1,raw:"*"},{name:"_",count:1,opt:!0},{name:"naked_transform",count:1}],e,t)},of_something:function(e,t){return i.isSeq([{name:"of",count:1},{name:"_",count:0},{name:"symbol",count:1}],e,t)},slice:(e,t)=>i.isSeq([{name:["symbol","list","range","property_access","slice","stepped_range"],count:1},{name:["list"],count:0,enders:[]}],e,t),property_access:(e,t)=>i.isSeq([{name:["symbol","slice","property_access"],count:1},{name:["dot"],count:1},{name:["symbol"],count:1}],e,t),atnumber:function(e,t){return i.isSeq([{name:"atsign",count:1},{name:"number",count:1}],e,t)},from_st:function(e,t){return i.isSeq([{name:"from",count:1},{name:"_",count:0},{name:["url","symbol","path","property_access"],count:1}],e,t)},import_st:function(e,t){return i.isSeq([{name:"import",count:1},{name:"_",count:0},{name:["symbol"],count:0,sep:["_","^","_n"],enders:["from_st"]},{name:"_",count:0,opt:!0},{name:"from_st",count:1}],e,t)},import_nk:function(e,t){return i.isSeq([{name:"import",count:1},{name:"_",count:0},{name:["symbol","property_access"],count:0,sep:["_"],enders:["_n"]}],e,t)},import_path:function(e,t){return i.isSeq([{name:"import",count:1},{name:"_",count:0},{name:["path"],count:1}],e,t)},import_al:function(e,t){return i.isSeq([{name:"import",count:1},{name:"_",count:0},{name:"sop",count:1},{name:"_",count:0},{name:"from_st",count:1,opt:!0}],e,t)},starmap:function(e,t,n){return i.isSeq([{name:"map",count:1},{name:"_",count:0,opt:!0},{name:"sop",count:1,raw:"*"}],e,t)},range_start:function(e,t,n){return i.isSeq([{name:"lbra",count:1},{name:["number","symbol","wrapped_math"],count:1,opt:!0},{name:"colon",count:1}],e,t)},stepped_range:function(e,t,n){return i.isSeq([{name:"range_start",count:1},{name:["number","symbol","wrapped_math"],count:1,opt:!0},{name:"colon",count:1},{name:["number","symbol","wrapped_math"],count:1},{name:"rbra",count:1}],e,t)},range:function(e,t,n){return i.isSeq([{name:"range_start",count:1},{name:["number","symbol","wrapped_math"],count:1,opt:!0},{name:"rbra",count:1}],e,t)},dsop_math:function(e,t,n){return i.isSeq([{name:["symbol","property_access","number","wrapped_math","math","wrapped_flow","range","stepped_range","list"],count:1},{name:["_","^","_n"],count:0,opt:!0},{name:"dsop",count:1},{name:["_","^","_n"],count:0,opt:!0},{name:["symbol","property_access","number","wrapped_math","math","wrapped_flow"],count:1}],e,t)},sop_math:function(e,t,n){return i.isSeq([{name:["symbol","property_access","number","wrapped_math","math","wrapped_flow","range","stepped_range","list"],count:1},{name:["_","^","_n"],count:0,opt:!0},{name:"sop",count:1},{name:["_","^","_n"],count:0,opt:!0},{name:["symbol","property_access","number","wrapped_math","math","wrapped_flow"],count:1}],e,t)},op_math:function(e,t,n){return i.isSeq([{name:["symbol","property_access","number","wrapped_math","math","wrapped_flow","range","stepped_range","list","string","word"],count:1},{name:["_","^","_n"],count:0,opt:!0},{name:"op",count:1},{name:["_","^","_n"],count:0,opt:!0},{name:["symbol","property_access","number","wrapped_math","math","wrapped_flow","string","word"],count:1}],e,t)},math:function(e,t,n){return i.isOneOf(t[e],["dsop_math","sop_math","op_math"])?e+1:-1},atnum_as:function(e,t){return i.isSeq([{name:"atnumber",count:1},{name:"_",count:1},{name:"as",count:1},{name:"_",count:1},{name:"symbol",count:1}],e,t)},naked_transform:function(e,t){return i.isSeq([{name:"transform",count:1},{name:"_",count:1},{name:["symbol","atnum_as"],count:1},{name:"_",count:1,opt:!0},{name:"colon",count:1},{name:"_",count:1,opt:!0},{name:["math","wrapped_math","symbol","property_access","number","bool","cmpexpr","and_or_expr","wrapped_and_or","notexpr","wrapped_not"],count:1,not_before:["comparison"]}],e,t)},event:function(e,t){return i.isSeq([{name:["symbol","slice","property_access"],count:1},{name:"colon",count:1},{name:["symbol","string","word","property_access","slice"],count:1}],e,t)},hash_map:function(e,t){return i.isWrappedRepeat("lcbr","rcbr",[{name:["_","_n","^"],count:0,opt:!0},{name:["symbol","property_access","number","string","word","bool"],count:1},{name:["_"],count:0},{name:["symbol","property_access","number","list","empty_list","string","word","bool","wrapped_math","range","stepped_range","hash_map","slice"],count:1},{name:["_","_n","^"],count:0,opt:!0}],e,t)},empty_hash_map:function(e,t){return i.isSeq([{name:"lcbr",count:1},{name:"rcbr",count:1}],e,t)},decorated_inflowfundef:function(e,t){return i.isSeq([{name:["_","^","_n"],count:1},{name:"map",count:1},{name:"_",count:1},{name:"wrapped_decorator",count:0,sep:["_"],enders:["fn"]},{name:"_",count:1},{name:"fn",count:1},{name:"_",count:1},{name:"symbol",count:1},{name:"colon",count:1},{name:"_n",count:0},{name:"block",count:1}],e,t)},inflowfundef:function(e,t){return i.isSeq([{name:["_","^","_n"],count:1},{name:"map",count:1},{name:"_",count:1},{name:"fn",count:1},{name:"_",count:1},{name:"symbol",count:1},{name:"colon",count:1},{name:"_n",count:0},{name:"block",count:1}],e,t)},decorated_starinflowfundef:function(e,t){return i.isSeq([{name:["_","^","_n"],count:1},{name:"starmap",count:1},{name:"_",count:1},{name:"wrapped_decorator",count:0,sep:["_"],enders:["fn"]},{name:"_",count:1},{name:"fn",count:1},{name:"_",count:1},{name:"symbol",count:1},{name:"_",count:1,opt:!0},{name:"colon",count:1},{name:"_n",count:0},{name:"block",count:1}],e,t)},starinflowfundef:function(e,t){return i.isSeq([{name:["_","^","_n"],count:1},{name:"starmap",count:1},{name:"_",count:1,opt:!0},{name:"fn",count:1},{name:"_",count:1},{name:"symbol",count:1},{name:"_",count:1,opt:!0},{name:"colon",count:1},{name:"_n",count:0},{name:"block",count:1}],e,t)},decorator:function(e,t){return i.isSeq([{name:"atsign",count:1},{name:["symbol","property_access"],count:1},{name:"_",count:1,opt:!0},{name:["symbol","property_access","number","list"],sep:["_"],count:0,enders:["_n"],opt:!0}],e,t)},fundef:function(e,t){return i.isSeq([{name:"fn",count:1},{name:"_",count:1},{name:"symbol",count:1},{name:"_",count:1},{name:"symbol",sep:["_"],count:0,enders:["colon"]},{name:"colon",count:1},{name:"_n",count:0},{name:"block",count:1}],e,t)},fundefif:function(e,t){return i.isSeq([{name:"fn",count:1},{name:"_",count:1},{name:"symbol",count:1},{name:"_",count:1},{name:"symbol",sep:["_"],count:0,enders:["if"]},{name:"_",count:0},{name:"if",count:1},{name:"_",count:0},{name:["if_fun_call","symbol"],count:1},{name:"_",count:0,opt:!0},{name:"colon",count:1},{name:"_n",count:0},{name:"block",count:1}],e,t)},fundefof:function(e,t){return i.isSeq([{name:"fn",count:1},{name:"_",count:1},{name:"symbol",count:1},{name:"_",count:0},{name:"symbol",sep:["_"],count:0,enders:["of_something"],opt:!0},{name:"_",count:0,opt:!0},{name:"of_something",count:1},{name:"_",count:0,opt:!0},{name:"colon",count:1},{name:"_n",count:0},{name:"block",count:1}],e,t)},fundefifof:function(e,t){return i.isSeq([{name:"fn",count:1},{name:"_",count:1},{name:"symbol",count:1},{name:"_",count:0},{name:"symbol",sep:["_"],count:0,enders:["if"],opt:!0},{name:"_",count:0},{name:"if",count:1},{name:"_",count:1},{name:["if_fun_call","symbol"],count:1},{name:"_",count:0,opt:!0},{name:"of_something",count:1},{name:"_",count:0,opt:!0},{name:"colon",count:1},{name:"_n",count:0},{name:"block",count:1}],e,t)},typedef:function(e,t){return i.isSeq([{name:"type",count:1},{name:"_",count:1},{name:"symbol",count:1},{name:"_",count:1},{name:"symbol",sep:["_"],count:0,enders:["colon"]},{name:"colon",count:1},{name:"_n",count:0},{name:"block",count:1}],e,t)},decorated_fundef:function(e,t){return i.isSeq([{name:"decorator",count:0,sep:["_","^","_n"],enders:["fundef"]},{name:["_","^","_n"],count:0},{name:"fundef",count:1}],e,t)},decorated_fundefif:function(e,t){return i.isSeq([{name:"decorator",count:0,sep:["_","^","_n"],enders:["fundefif"]},{name:["_","^","_n"],count:0},{name:"fundefif",count:1}],e,t)},decorated_fundefof:function(e,t){return i.isSeq([{name:"decorator",count:0,sep:["_","^","_n"],enders:["fundefof"]},{name:["_","^","_n"],count:0},{name:"fundefof",count:1}],e,t)},decorated_fundefifof:function(e,t){return i.isSeq([{name:"decorator",count:0,sep:["_","^","_n"],enders:["fundefifof"]},{name:["_","^","_n"],count:0},{name:"fundefifof",count:1}],e,t)},quickfundef:function(e,t){return i.isSeq([{name:"symbol",count:1,not_after:["transform","as"]},{name:"_",count:1,opt:!0},{name:"colon",count:1},{name:"_",count:1,opt:!0},{name:["math","wrapped_math","cmpexpr","and_or_expr","wrapped_and_or","notexpr","wrapped_not","list","bool","string","word"],count:1}],e,t)},if_fun_call:function(e,t){return i.isSeq([{name:["symbol","property_access"],count:1,should_be_after:["if","elif"]},{name:"_",count:0},{name:["symbol","property_access","atsign","atnumber","number","list","bool","wrapped_flow","wrapped_math","string","word","empty_list","transform","startransform","wrapped_quickfundef"],count:0,sep:["_"],enders:["colon","comparison","map","set"]}],e,t)},setter:function(e,t){return i.isSeq([{name:["_","_n","^"],count:0},{name:"set",count:1},{name:"_",count:1},{name:["symbol","property_access","slice"],count:1}],e,t)},starmapper:function(e,t){return i.isSeq([{name:["_","_n","^"],count:0},{name:"starmap",count:1},{name:"_",count:1},{name:["symbol","property_access","quickfundef"],count:1},{name:"_",count:1},{name:["symbol","property_access","atsign","atnumber","number","list","bool","wrapped_flow","wrapped_math","string","word","empty_list","transform","startransform","wrapped_quickfundef","hash_map"],count:0,sep:["_"],enders:["colon","_n","map","set","mapper","starmapper","naked_mapper","naked_star_mapper","setter","dedent","rpar","starmap"]}],e,t)},mapper:function(e,t){return i.isSeq([{name:["_","_n","^"],count:0},{name:"map",count:1},{name:"_",count:1},{name:["symbol","property_access","quickfundef"],count:1},{name:"_",count:1},{name:["symbol","property_access","atsign","atnumber","number","list","bool","wrapped_flow","wrapped_math","string","word","empty_list","transform","startransform","wrapped_quickfundef","hash_map"],count:0,sep:["_"],enders:["colon","_n","map","set","mapper","starmapper","naked_mapper","naked_star_mapper","setter","dedent","rpar","comparison"]}],e,t)},condmapper:function(e,t){return i.isSeq([{name:["_","_n","^"],count:0},{name:"map",count:1},{name:["_","_n","^"],count:0},{name:"conditional",count:1}],e,t)},starcondmapper:function(e,t){return i.isSeq([{name:["_","_n","^"],count:0},{name:"starmap",count:1},{name:["_","_n","^"],count:0},{name:"conditional",count:1}],e,t)},return_mapper:function(e,t){return i.isSeq([{name:["_","_n","^"],count:0},{name:"map",count:1},{name:"_",count:1},{name:"return",count:1}],e,t)},naked_star_mapper:function(e,t){return i.isSeq([{name:["_","_n","^"],count:0},{name:"starmap",count:1},{name:"_",count:1},{name:["symbol","property_access","anonfundef","quickfundef"],count:1},{fail:["symbol","property_access","transform","startransform"],skip:["_"]}],e,t)},naked_mapper:function(e,t){return i.isSeq([{name:["_","_n","^"],count:0},{name:"map",count:1},{name:"_",count:1},{name:["symbol","property_access","anonfundef","quickfundef"],count:1},{fail:["symbol","property_access","transform","startransform"],skip:["_"]}],e,t)},block:function(e,t){return i.isSeq([{name:"indent",count:1},{name:["_","^"],count:0},{name:["block","conditional","flow","fundef","anonfundef","list","string","word","number","decorated_fundef","symbol","property_access","bool","math","range","typedef","fundefof","notexpr","hash_map","slice"],count:0,sep:["_","_n","^"],enders:["dedent"]},{name:["_n","^"],count:0,opt:!0},{name:"dedent",count:1}],e,t)},if_statement:function(e,t){return i.isSeq([{name:"if",count:1},{name:"_",count:0,opt:!0},{name:["halfcmp","flow","symbol","property_access","cmpexpr","and_or_expr","wrapped_and_or","halfnot","notexpr","wrapped_not","if_fun_call","math"],count:1},{name:"_",count:0,opt:!0},{name:"colon",count:1},{name:["_","_n","^"],count:0},{name:["block","string","word","number","list","symbol","property_access","self_property_access","math","slice","notexpr"],count:1}],e,t)},elif_statement:function(e,t){return i.isSeq([{name:"elif",count:1},{name:"_",count:0},{name:["halfcmp","flow","symbol","property_access","cmpexpr","and_or_expr","wrapped_and_or","notexpr","wrapped_not","if_fun_call","math"],count:1},{name:"_",count:0,opt:!0},{name:"colon",count:1},{name:["_","_n","^"],count:0},{name:["block","string","word","number","list","symbol","property_access","self_property_access","math","slice","notexpr"],count:1}],e,t)},else_statement:function(e,t){return i.isSeq([{name:"else",count:1},{name:"_",count:0,opt:!0},{name:"colon",count:1},{name:["_","_n","^"],count:0},{name:["block","string","word","number","list","symbol","property_access","self_property_access","math","slice","notexpr"],count:1}],e,t)},notexpr:function(e,t){return i.isSeq([{name:["not"],count:1},{name:["_"],count:0},{name:["cmpexpr","string","symbol","property_access","list","word","wrapped_flow","wrapped_math","and_or_expr","wrapped_and_or","notexpr","wrapped_not","bool","slice","math"],count:1}],e,t)},and_or_expr:function(e,t){return i.isSeq([{name:["cmpexpr","string","symbol","property_access","list","word","wrapped_flow","wrapped_math","and_or_expr","wrapped_and_or","notexpr","wrapped_not","bool","slice","math"],count:1},{name:["_"],count:0},{name:["and","or"],count:1},{name:["_"],count:0},{name:["cmpexpr","string","symbol","property_access","list","word","wrapped_flow","wrapped_math","and_or_expr","wrapped_and_or","notexpr","wrapped_not","bool","slice","math"],count:1}],e,t)},async_flow:function(e,t){return i.isSeq([{name:"async",count:1},{name:"_",count:0},{name:"flow",count:1}],e,t)},flow:function(e,t){return i.isSeq([{name:["symbol","property_access","list","empty_list","slice","hash_map","event","range","stepped_range","string","word","number","bool","wrapped_flow","math","if_fun_call","wrapped_math","atsign","slice","notexpr","and_or_expr"],count:0,sep:["_"],enders:["setter","mapper","starmapper","naked_mapper","naked_star_mapper","_n","^","filter","starinflowfundef","decorated_starinflowfundef","inflowfundef","decorated_inflowfundef","condmapper","starcondmapper","quickfundef","starquickfundef","return_mapper"],not_after:["not"]},{name:["setter","mapper","starmapper","naked_mapper","naked_star_mapper","filter","starinflowfundef","decorated_starinflowfundef","inflowfundef","decorated_inflowfundef","condmapper","starcondmapper","quickfundef","starquickfundef","return_mapper"],count:0,sep:["_","_n","^"],enders:["colon","_n","^","symbol","property_access","list","number","bool","empty_list","range","stepped_range","string","math","wrapped_math","notexpr","slice","hash_map","word","dedent","eof","flow","conditional","rpar","fundef","comparison","decorator","import_st","import_nk","import_al","typedef","fundefof","fundefif","fundefifof"]}],e,t)},cmpexpr:function(e,t){return i.isSeq([{name:["if_fun_call","number","symbol","property_access","string","word","flow","wrapped_flow","wrapped_math"],count:1},{name:["_","^"],count:0},{name:["comparison"],count:1},{name:["_","^"],count:0},{name:["number","symbol","property_access","string","word","flow","wrapped_flow","wrapped_math","bool"],count:1}],e,t)},halfcmp:function(e,t){return i.isSeq([{name:["comparison"],count:1},{name:["_","^"],count:0},{name:["number","symbol","property_access","string","word","wrapped_flow","wrapped_math","flow","bool"],count:1}],e,t)},conditional:function(e,t){return i.isSeq([{name:"if_statement",count:1},{name:["_","_n","^"],count:0,opt:!0},{name:"elif_statement",count:0,opt:!0,fail:["elif"],sep:["_n","_","^"],enders:[]},{name:["_","_n","^"],count:0,opt:!0},{name:"else_statement",count:1,opt:!0,fail:["else"]}],e,t)},halfnot:function(e,t){return i.isSeq([{name:"not",count:1}],e,t)},eof:function(e,t){return i.isSeq([{name:["_","_n","^"],count:0},{name:["eof"],count:1}],e,t)}};n.illegals=["map","set","return","fn","if","elif","else","dot","star","lbra","rbra","comma","colon","starmap","lcbr","rcbr"],n.matchers=o},{"../parser/helpers":"/home/pouya/Projects/clio-lang/clio/parser/helpers.js"}]},{},["/home/pouya/Projects/clio-lang/clio/browser.js"]);