-
Notifications
You must be signed in to change notification settings - Fork 177
/
blanket_jasmine.min.js
1 lines (1 loc) · 83.9 KB
/
blanket_jasmine.min.js
1
(function(a){(function(b,c){"use strict",typeof a=="function"&&a.amd?a(["exports"],c):typeof exports!="undefined"?c(exports):c(b.esprima={})})(this,function(a){function q(a,b){if(!a)throw new Error("ASSERT: "+b)}function r(a,b){return h.slice(a,b)}function s(a){return"0123456789".indexOf(a)>=0}function t(a){return"0123456789abcdefABCDEF".indexOf(a)>=0}function u(a){return"01234567".indexOf(a)>=0}function v(a){return a===" "||a==="\t"||a===""||a==="\f"||a==="\u00a0"||a.charCodeAt(0)>=5760&&"\u1680\u180e\u2000\u2001\u2002\u2003\u2004\u2005\u2006\u2007\u2008\u2009\u200a\u202f\u205f\u3000\ufeff".indexOf(a)>=0}function w(a){return a==="\n"||a==="\r"||a==="\u2028"||a==="\u2029"}function x(a){return a==="$"||a==="_"||a==="\\"||a>="a"&&a<="z"||a>="A"&&a<="Z"||a.charCodeAt(0)>=128&&g.NonAsciiIdentifierStart.test(a)}function y(a){return a==="$"||a==="_"||a==="\\"||a>="a"&&a<="z"||a>="A"&&a<="Z"||a>="0"&&a<="9"||a.charCodeAt(0)>=128&&g.NonAsciiIdentifierPart.test(a)}function z(a){switch(a){case"class":case"enum":case"export":case"extends":case"import":case"super":return!0}return!1}function A(a){switch(a){case"implements":case"interface":case"package":case"private":case"protected":case"public":case"static":case"yield":case"let":return!0}return!1}function B(a){return a==="eval"||a==="arguments"}function C(a){var b=!1;switch(a.length){case 2:b=a==="if"||a==="in"||a==="do";break;case 3:b=a==="var"||a==="for"||a==="new"||a==="try";break;case 4:b=a==="this"||a==="else"||a==="case"||a==="void"||a==="with";break;case 5:b=a==="while"||a==="break"||a==="catch"||a==="throw";break;case 6:b=a==="return"||a==="typeof"||a==="delete"||a==="switch";break;case 7:b=a==="default"||a==="finally";break;case 8:b=a==="function"||a==="continue"||a==="debugger";break;case 10:b=a==="instanceof"}if(b)return!0;switch(a){case"const":return!0;case"yield":case"let":return!0}return i&&A(a)?!0:z(a)}function D(){var a,b,c;b=!1,c=!1;while(j<m){a=h[j];if(c)a=h[j++],w(a)&&(c=!1,a==="\r"&&h[j]==="\n"&&++j,++k,l=j);else if(b)w(a)?(a==="\r"&&h[j+1]==="\n"&&++j,++k,++j,l=j,j>=m&&P({},f.UnexpectedToken,"ILLEGAL")):(a=h[j++],j>=m&&P({},f.UnexpectedToken,"ILLEGAL"),a==="*"&&(a=h[j],a==="/"&&(++j,b=!1)));else if(a==="/"){a=h[j+1];if(a==="/")j+=2,c=!0;else if(a==="*")j+=2,b=!0,j>=m&&P({},f.UnexpectedToken,"ILLEGAL");else break}else if(v(a))++j;else if(w(a))++j,a==="\r"&&h[j]==="\n"&&++j,++k,l=j;else break}}function E(a){var b,c,d,e=0;c=a==="u"?4:2;for(b=0;b<c;++b)if(j<m&&t(h[j]))d=h[j++],e=e*16+"0123456789abcdef".indexOf(d.toLowerCase());else return"";return String.fromCharCode(e)}function F(){var a,c,d,e;a=h[j];if(!x(a))return;c=j;if(a==="\\"){++j;if(h[j]!=="u")return;++j,e=j,a=E("u");if(a){if(a==="\\"||!x(a))return;d=a}else j=e,d="u"}else d=h[j++];while(j<m){a=h[j];if(!y(a))break;if(a==="\\"){++j;if(h[j]!=="u")return;++j,e=j,a=E("u");if(a){if(a==="\\"||!y(a))return;d+=a}else j=e,d+="u"}else d+=h[j++]}return d.length===1?{type:b.Identifier,value:d,lineNumber:k,lineStart:l,range:[c,j]}:C(d)?{type:b.Keyword,value:d,lineNumber:k,lineStart:l,range:[c,j]}:d==="null"?{type:b.NullLiteral,value:d,lineNumber:k,lineStart:l,range:[c,j]}:d==="true"||d==="false"?{type:b.BooleanLiteral,value:d,lineNumber:k,lineStart:l,range:[c,j]}:{type:b.Identifier,value:d,lineNumber:k,lineStart:l,range:[c,j]}}function G(){var a=j,c=h[j],d,e,f;if(c===";"||c==="{"||c==="}")return++j,{type:b.Punctuator,value:c,lineNumber:k,lineStart:l,range:[a,j]};if(c===","||c==="("||c===")")return++j,{type:b.Punctuator,value:c,lineNumber:k,lineStart:l,range:[a,j]};d=h[j+1];if(c==="."&&!s(d))return{type:b.Punctuator,value:h[j++],lineNumber:k,lineStart:l,range:[a,j]};e=h[j+2],f=h[j+3];if(c===">"&&d===">"&&e===">"&&f==="=")return j+=4,{type:b.Punctuator,value:">>>=",lineNumber:k,lineStart:l,range:[a,j]};if(c==="="&&d==="="&&e==="=")return j+=3,{type:b.Punctuator,value:"===",lineNumber:k,lineStart:l,range:[a,j]};if(c==="!"&&d==="="&&e==="=")return j+=3,{type:b.Punctuator,value:"!==",lineNumber:k,lineStart:l,range:[a,j]};if(c===">"&&d===">"&&e===">")return j+=3,{type:b.Punctuator,value:">>>",lineNumber:k,lineStart:l,range:[a,j]};if(c==="<"&&d==="<"&&e==="=")return j+=3,{type:b.Punctuator,value:"<<=",lineNumber:k,lineStart:l,range:[a,j]};if(c===">"&&d===">"&&e==="=")return j+=3,{type:b.Punctuator,value:">>=",lineNumber:k,lineStart:l,range:[a,j]};if(d==="="&&"<>=!+-*%&|^/".indexOf(c)>=0)return j+=2,{type:b.Punctuator,value:c+d,lineNumber:k,lineStart:l,range:[a,j]};if(c===d&&"+-<>&|".indexOf(c)>=0&&"+-<>&|".indexOf(d)>=0)return j+=2,{type:b.Punctuator,value:c+d,lineNumber:k,lineStart:l,range:[a,j]};if("[]<>+-*%&|^!~?:=/".indexOf(c)>=0)return{type:b.Punctuator,value:h[j++],lineNumber:k,lineStart:l,range:[a,j]}}function H(){var a,c,d;d=h[j],q(s(d)||d===".","Numeric literal must start with a decimal digit or a decimal point"),c=j,a="";if(d!=="."){a=h[j++],d=h[j];if(a==="0"){if(d==="x"||d==="X"){a+=h[j++];while(j<m){d=h[j];if(!t(d))break;a+=h[j++]}return a.length<=2&&P({},f.UnexpectedToken,"ILLEGAL"),j<m&&(d=h[j],x(d)&&P({},f.UnexpectedToken,"ILLEGAL")),{type:b.NumericLiteral,value:parseInt(a,16),lineNumber:k,lineStart:l,range:[c,j]}}if(u(d)){a+=h[j++];while(j<m){d=h[j];if(!u(d))break;a+=h[j++]}return j<m&&(d=h[j],(x(d)||s(d))&&P({},f.UnexpectedToken,"ILLEGAL")),{type:b.NumericLiteral,value:parseInt(a,8),octal:!0,lineNumber:k,lineStart:l,range:[c,j]}}s(d)&&P({},f.UnexpectedToken,"ILLEGAL")}while(j<m){d=h[j];if(!s(d))break;a+=h[j++]}}if(d==="."){a+=h[j++];while(j<m){d=h[j];if(!s(d))break;a+=h[j++]}}if(d==="e"||d==="E"){a+=h[j++],d=h[j];if(d==="+"||d==="-")a+=h[j++];d=h[j];if(s(d)){a+=h[j++];while(j<m){d=h[j];if(!s(d))break;a+=h[j++]}}else d="character "+d,j>=m&&(d="<end>"),P({},f.UnexpectedToken,"ILLEGAL")}return j<m&&(d=h[j],x(d)&&P({},f.UnexpectedToken,"ILLEGAL")),{type:b.NumericLiteral,value:parseFloat(a),lineNumber:k,lineStart:l,range:[c,j]}}function I(){var a="",c,d,e,g,i,n,o=!1;c=h[j],q(c==="'"||c==='"',"String literal must starts with a quote"),d=j,++j;while(j<m){e=h[j++];if(e===c){c="";break}if(e==="\\"){e=h[j++];if(!w(e))switch(e){case"n":a+="\n";break;case"r":a+="\r";break;case"t":a+="\t";break;case"u":case"x":n=j,i=E(e),i?a+=i:(j=n,a+=e);break;case"b":a+="\b";break;case"f":a+="\f";break;case"v":a+="";break;default:u(e)?(g="01234567".indexOf(e),g!==0&&(o=!0),j<m&&u(h[j])&&(o=!0,g=g*8+"01234567".indexOf(h[j++]),"0123".indexOf(e)>=0&&j<m&&u(h[j])&&(g=g*8+"01234567".indexOf(h[j++]))),a+=String.fromCharCode(g)):a+=e}else++k,e==="\r"&&h[j]==="\n"&&++j}else{if(w(e))break;a+=e}}return c!==""&&P({},f.UnexpectedToken,"ILLEGAL"),{type:b.StringLiteral,value:a,octal:o,lineNumber:k,lineStart:l,range:[d,j]}}function J(){var a,b,c,d,e,g,i=!1,k,l=!1;n=null,D(),c=j,b=h[j],q(b==="/","Regular expression literal must start with a slash"),a=h[j++];while(j<m){b=h[j++],a+=b;if(i)b==="]"&&(i=!1);else if(b==="\\")b=h[j++],w(b)&&P({},f.UnterminatedRegExp),a+=b;else{if(b==="/"){l=!0;break}b==="["?i=!0:w(b)&&P({},f.UnterminatedRegExp)}}l||P({},f.UnterminatedRegExp),d=a.substr(1,a.length-2),e="";while(j<m){b=h[j];if(!y(b))break;++j;if(b==="\\"&&j<m){b=h[j];if(b==="u"){++j,k=j,b=E("u");if(b){e+=b,a+="\\u";for(;k<j;++k)a+=h[k]}else j=k,e+="u",a+="\\u"}else a+="\\"}else e+=b,a+=b}try{g=new RegExp(d,e)}catch(o){P({},f.InvalidRegExp)}return{literal:a,value:g,range:[c,j]}}function K(a){return a.type===b.Identifier||a.type===b.Keyword||a.type===b.BooleanLiteral||a.type===b.NullLiteral}function L(){var a,c;D();if(j>=m)return{type:b.EOF,lineNumber:k,lineStart:l,range:[j,j]};c=G();if(typeof c!="undefined")return c;a=h[j];if(a==="'"||a==='"')return I();if(a==="."||s(a))return H();c=F();if(typeof c!="undefined")return c;P({},f.UnexpectedToken,"ILLEGAL")}function M(){var a;return n?(j=n.range[1],k=n.lineNumber,l=n.lineStart,a=n,n=null,a):(n=null,L())}function N(){var a,b,c;return n!==null?n:(a=j,b=k,c=l,n=L(),j=a,k=b,l=c,n)}function O(){var a,b,c,d;return a=j,b=k,c=l,D(),d=k!==b,j=a,k=b,l=c,d}function P(a,b){var c,d=Array.prototype.slice.call(arguments,2),e=b.replace(/%(\d)/g,function(a,b){return d[b]||""});throw typeof a.lineNumber=="number"?(c=new Error("Line "+a.lineNumber+": "+e),c.index=a.range[0],c.lineNumber=a.lineNumber,c.column=a.range[0]-l+1):(c=new Error("Line "+k+": "+e),c.index=j,c.lineNumber=k,c.column=j-l+1),c}function Q(){try{P.apply(null,arguments)}catch(a){if(p.errors)p.errors.push(a);else throw a}}function R(a){a.type===b.EOF&&P(a,f.UnexpectedEOS),a.type===b.NumericLiteral&&P(a,f.UnexpectedNumber),a.type===b.StringLiteral&&P(a,f.UnexpectedString),a.type===b.Identifier&&P(a,f.UnexpectedIdentifier);if(a.type===b.Keyword){if(z(a.value))P(a,f.UnexpectedReserved);else if(i&&A(a.value)){Q(a,f.StrictReservedWord);return}P(a,f.UnexpectedToken,a.value)}P(a,f.UnexpectedToken,a.value)}function S(a){var c=M();(c.type!==b.Punctuator||c.value!==a)&&R(c)}function T(a){var c=M();(c.type!==b.Keyword||c.value!==a)&&R(c)}function U(a){var c=N();return c.type===b.Punctuator&&c.value===a}function V(a){var c=N();return c.type===b.Keyword&&c.value===a}function W(){var a=N(),c=a.value;return a.type!==b.Punctuator?!1:c==="="||c==="*="||c==="/="||c==="%="||c==="+="||c==="-="||c==="<<="||c===">>="||c===">>>="||c==="&="||c==="^="||c==="|="}function X(){var a,c;if(h[j]===";"){M();return}c=k,D();if(k!==c)return;if(U(";")){M();return}a=N(),a.type!==b.EOF&&!U("}")&&R(a)}function Y(a){return a.type===d.Identifier||a.type===d.MemberExpression}function Z(){var a=[];S("[");while(!U("]"))U(",")?(M(),a.push(null)):(a.push(by()),U("]")||S(","));return S("]"),{type:d.ArrayExpression,elements:a}}function $(a,b){var c,e;return c=i,e=bZ(),b&&i&&B(a[0].name)&&Q(b,f.StrictParamName),i=c,{type:d.FunctionExpression,id:null,params:a,defaults:[],body:e,rest:null,generator:!1,expression:!1}}function _(){var a=M();return a.type===b.StringLiteral||a.type===b.NumericLiteral?(i&&a.octal&&Q(a,f.StrictOctalLiteral),cj(a)):{type:d.Identifier,name:a.value}}function ba(){var a,c,e,f;a=N();if(a.type===b.Identifier)return e=_(),a.value==="get"&&!U(":")?(c=_(),S("("),S(")"),{type:d.Property,key:c,value:$([]),kind:"get"}):a.value==="set"&&!U(":")?(c=_(),S("("),a=N(),a.type!==b.Identifier&&R(M()),f=[bC()],S(")"),{type:d.Property,key:c,value:$(f,a),kind:"set"}):(S(":"),{type:d.Property,key:e,value:by(),kind:"init"});if(a.type===b.EOF||a.type===b.Punctuator)R(a);else return c=_(),S(":"),{type:d.Property,key:c,value:by(),kind:"init"}}function bb(){var a=[],b,c,g,h={},j=String;S("{");while(!U("}"))b=ba(),b.key.type===d.Identifier?c=b.key.name:c=j(b.key.value),g=b.kind==="init"?e.Data:b.kind==="get"?e.Get:e.Set,Object.prototype.hasOwnProperty.call(h,c)?(h[c]===e.Data?i&&g===e.Data?Q({},f.StrictDuplicateProperty):g!==e.Data&&Q({},f.AccessorDataProperty):g===e.Data?Q({},f.AccessorDataProperty):h[c]&g&&Q({},f.AccessorGetSet),h[c]|=g):h[c]=g,a.push(b),U("}")||S(",");return S("}"),{type:d.ObjectExpression,properties:a}}function bc(){var a;return S("("),a=bz(),S(")"),a}function bd(){var a=N(),c=a.type;if(c===b.Identifier)return{type:d.Identifier,name:M().value};if(c===b.StringLiteral||c===b.NumericLiteral)return i&&a.octal&&Q(a,f.StrictOctalLiteral),cj(M());if(c===b.Keyword){if(V("this"))return M(),{type:d.ThisExpression};if(V("function"))return b_()}return c===b.BooleanLiteral?(M(),a.value=a.value==="true",cj(a)):c===b.NullLiteral?(M(),a.value=null,cj(a)):U("[")?Z():U("{")?bb():U("(")?bc():U("/")||U("/=")?cj(J()):R(M())}function be(){var a=[];S("(");if(!U(")"))while(j<m){a.push(by());if(U(")"))break;S(",")}return S(")"),a}function bf(){var a=M();return K(a)||R(a),{type:d.Identifier,name:a.value}}function bg(){return S("."),bf()}function bh(){var a;return S("["),a=bz(),S("]"),a}function bi(){var a;return T("new"),a={type:d.NewExpression,callee:bk(),arguments:[]},U("(")&&(a.arguments=be()),a}function bj(){var a;a=V("new")?bi():bd();while(U(".")||U("[")||U("("))U("(")?a={type:d.CallExpression,callee:a,arguments:be()}:U("[")?a={type:d.MemberExpression,computed:!0,object:a,property:bh()}:a={type:d.MemberExpression,computed:!1,object:a,property:bg()};return a}function bk(){var a;a=V("new")?bi():bd();while(U(".")||U("["))U("[")?a={type:d.MemberExpression,computed:!0,object:a,property:bh()}:a={type:d.MemberExpression,computed:!1,object:a,property:bg()};return a}function bl(){var a=bj(),c;return c=N(),c.type!==b.Punctuator?a:((U("++")||U("--"))&&!O()&&(i&&a.type===d.Identifier&&B(a.name)&&Q({},f.StrictLHSPostfix),Y(a)||P({},f.InvalidLHSInAssignment),a={type:d.UpdateExpression,operator:M().value,argument:a,prefix:!1}),a)}function bm(){var a,c;return a=N(),a.type!==b.Punctuator&&a.type!==b.Keyword?bl():U("++")||U("--")?(a=M(),c=bm(),i&&c.type===d.Identifier&&B(c.name)&&Q({},f.StrictLHSPrefix),Y(c)||P({},f.InvalidLHSInAssignment),c={type:d.UpdateExpression,operator:a.value,argument:c,prefix:!0},c):U("+")||U("-")||U("~")||U("!")?(c={type:d.UnaryExpression,operator:M().value,argument:bm()},c):V("delete")||V("void")||V("typeof")?(c={type:d.UnaryExpression,operator:M().value,argument:bm()},i&&c.operator==="delete"&&c.argument.type===d.Identifier&&Q({},f.StrictDelete),c):bl()}function bn(){var a=bm();while(U("*")||U("/")||U("%"))a={type:d.BinaryExpression,operator:M().value,left:a,right:bm()};return a}function bo(){var a=bn();while(U("+")||U("-"))a={type:d.BinaryExpression,operator:M().value,left:a,right:bn()};return a}function bp(){var a=bo();while(U("<<")||U(">>")||U(">>>"))a={type:d.BinaryExpression,operator:M().value,left:a,right:bo()};return a}function bq(){var a,b;b=o.allowIn,o.allowIn=!0,a=bp();while(U("<")||U(">")||U("<=")||U(">=")||b&&V("in")||V("instanceof"))a={type:d.BinaryExpression,operator:M().value,left:a,right:bp()};return o.allowIn=b,a}function br(){var a=bq();while(U("==")||U("!=")||U("===")||U("!=="))a={type:d.BinaryExpression,operator:M().value,left:a,right:bq()};return a}function bs(){var a=br();while(U("&"))M(),a={type:d.BinaryExpression,operator:"&",left:a,right:br()};return a}function bt(){var a=bs();while(U("^"))M(),a={type:d.BinaryExpression,operator:"^",left:a,right:bs()};return a}function bu(){var a=bt();while(U("|"))M(),a={type:d.BinaryExpression,operator:"|",left:a,right:bt()};return a}function bv(){var a=bu();while(U("&&"))M(),a={type:d.LogicalExpression,operator:"&&",left:a,right:bu()};return a}function bw(){var a=bv();while(U("||"))M(),a={type:d.LogicalExpression,operator:"||",left:a,right:bv()};return a}function bx(){var a,b,c;return a=bw(),U("?")&&(M(),b=o.allowIn,o.allowIn=!0,c=by(),o.allowIn=b,S(":"),a={type:d.ConditionalExpression,test:a,consequent:c,alternate:by()}),a}function by(){var a,b;return a=N(),b=bx(),W()&&(Y(b)||P({},f.InvalidLHSInAssignment),i&&b.type===d.Identifier&&B(b.name)&&Q(a,f.StrictLHSAssignment),b={type:d.AssignmentExpression,operator:M().value,left:b,right:by()}),b}function bz(){var a=by();if(U(",")){a={type:d.SequenceExpression,expressions:[a]};while(j<m){if(!U(","))break;M(),a.expressions.push(by())}}return a}function bA(){var a=[],b;while(j<m){if(U("}"))break;b=ca();if(typeof b=="undefined")break;a.push(b)}return a}function bB(){var a;return S("{"),a=bA(),S("}"),{type:d.BlockStatement,body:a}}function bC(){var a=M();return a.type!==b.Identifier&&R(a),{type:d.Identifier,name:a.value}}function bD(a){var b=bC(),c=null;return i&&B(b.name)&&Q({},f.StrictVarName),a==="const"?(S("="),c=by()):U("=")&&(M(),c=by()),{type:d.VariableDeclarator,id:b,init:c}}function bE(a){var b=[];while(j<m){b.push(bD(a));if(!U(","))break;M()}return b}function bF(){var a;return T("var"),a=bE(),X(),{type:d.VariableDeclaration,declarations:a,kind:"var"}}function bG(a){var b;return T(a),b=bE(a),X(),{type:d.VariableDeclaration,declarations:b,kind:a}}function bH(){return S(";"),{type:d.EmptyStatement}}function bI(){var a=bz();return X(),{type:d.ExpressionStatement,expression:a}}function bJ(){var a,b,c;return T("if"),S("("),a=bz(),S(")"),b=bY(),V("else")?(M(),c=bY()):c=null,{type:d.IfStatement,test:a,consequent:b,alternate:c}}function bK(){var a,b,c;return T("do"),c=o.inIteration,o.inIteration=!0,a=bY(),o.inIteration=c,T("while"),S("("),b=bz(),S(")"),U(";")&&M(),{type:d.DoWhileStatement,body:a,test:b}}function bL(){var a,b,c;return T("while"),S("("),a=bz(),S(")"),c=o.inIteration,o.inIteration=!0,b=bY(),o.inIteration=c,{type:d.WhileStatement,test:a,body:b}}function bM(){var a=M();return{type:d.VariableDeclaration,declarations:bE(),kind:a.value}}function bN(){var a,b,c,e,g,h,i;return a=b=c=null,T("for"),S("("),U(";")?M():(V("var")||V("let")?(o.allowIn=!1,a=bM(),o.allowIn=!0,a.declarations.length===1&&V("in")&&(M(),e=a,g=bz(),a=null)):(o.allowIn=!1,a=bz(),o.allowIn=!0,V("in")&&(Y(a)||P({},f.InvalidLHSInForIn),M(),e=a,g=bz(),a=null)),typeof e=="undefined"&&S(";")),typeof e=="undefined"&&(U(";")||(b=bz()),S(";"),U(")")||(c=bz())),S(")"),i=o.inIteration,o.inIteration=!0,h=bY(),o.inIteration=i,typeof e=="undefined"?{type:d.ForStatement,init:a,test:b,update:c,body:h}:{type:d.ForInStatement,left:e,right:g,body:h,each:!1}}function bO(){var a,c=null;return T("continue"),h[j]===";"?(M(),o.inIteration||P({},f.IllegalContinue),{type:d.ContinueStatement,label:null}):O()?(o.inIteration||P({},f.IllegalContinue),{type:d.ContinueStatement,label:null}):(a=N(),a.type===b.Identifier&&(c=bC(),Object.prototype.hasOwnProperty.call(o.labelSet,c.name)||P({},f.UnknownLabel,c.name)),X(),c===null&&!o.inIteration&&P({},f.IllegalContinue),{type:d.ContinueStatement,label:c})}function bP(){var a,c=null;return T("break"),h[j]===";"?(M(),!o.inIteration&&!o.inSwitch&&P({},f.IllegalBreak),{type:d.BreakStatement,label:null}):O()?(!o.inIteration&&!o.inSwitch&&P({},f.IllegalBreak),{type:d.BreakStatement,label:null}):(a=N(),a.type===b.Identifier&&(c=bC(),Object.prototype.hasOwnProperty.call(o.labelSet,c.name)||P({},f.UnknownLabel,c.name)),X(),c===null&&!o.inIteration&&!o.inSwitch&&P({},f.IllegalBreak),{type:d.BreakStatement,label:c})}function bQ(){var a,c=null;return T("return"),o.inFunctionBody||Q({},f.IllegalReturn),h[j]===" "&&x(h[j+1])?(c=bz(),X(),{type:d.ReturnStatement,argument:c}):O()?{type:d.ReturnStatement,argument:null}:(U(";")||(a=N(),!U("}")&&a.type!==b.EOF&&(c=bz())),X(),{type:d.ReturnStatement,argument:c})}function bR(){var a,b;return i&&Q({},f.StrictModeWith),T("with"),S("("),a=bz(),S(")"),b=bY(),{type:d.WithStatement,object:a,body:b}}function bS(){var a,b=[],c;V("default")?(M(),a=null):(T("case"),a=bz()),S(":");while(j<m){if(U("}")||V("default")||V("case"))break;c=bY();if(typeof c=="undefined")break;b.push(c)}return{type:d.SwitchCase,test:a,consequent:b}}function bT(){var a,b,c,e,g;T("switch"),S("("),a=bz(),S(")"),S("{");if(U("}"))return M(),{type:d.SwitchStatement,discriminant:a};b=[],e=o.inSwitch,o.inSwitch=!0,g=!1;while(j<m){if(U("}"))break;c=bS(),c.test===null&&(g&&P({},f.MultipleDefaultsInSwitch),g=!0),b.push(c)}return o.inSwitch=e,S("}"),{type:d.SwitchStatement,discriminant:a,cases:b}}function bU(){var a;return T("throw"),O()&&P({},f.NewlineAfterThrow),a=bz(),X(),{type:d.ThrowStatement,argument:a}}function bV(){var a;return T("catch"),S("("),U(")")||(a=bz(),i&&a.type===d.Identifier&&B(a.name)&&Q({},f.StrictCatchVariable)),S(")"),{type:d.CatchClause,param:a,body:bB()}}function bW(){var a,b=[],c=null;return T("try"),a=bB(),V("catch")&&b.push(bV()),V("finally")&&(M(),c=bB()),b.length===0&&!c&&P({},f.NoCatchOrFinally),{type:d.TryStatement,block:a,guardedHandlers:[],handlers:b,finalizer:c}}function bX(){return T("debugger"),X(),{type:d.DebuggerStatement}}function bY(){var a=N(),c,e;a.type===b.EOF&&R(a);if(a.type===b.Punctuator)switch(a.value){case";":return bH();case"{":return bB();case"(":return bI();default:}if(a.type===b.Keyword)switch(a.value){case"break":return bP();case"continue":return bO();case"debugger":return bX();case"do":return bK();case"for":return bN();case"function":return b$();case"if":return bJ();case"return":return bQ();case"switch":return bT();case"throw":return bU();case"try":return bW();case"var":return bF();case"while":return bL();case"with":return bR();default:}return c=bz(),c.type===d.Identifier&&U(":")?(M(),Object.prototype.hasOwnProperty.call(o.labelSet,c.name)&&P({},f.Redeclaration,"Label",c.name),o.labelSet[c.name]=!0,e=bY(),delete o.labelSet[c.name],{type:d.LabeledStatement,label:c,body:e}):(X(),{type:d.ExpressionStatement,expression:c})}function bZ(){var a,c=[],e,g,h,k,l,n,p;S("{");while(j<m){e=N();if(e.type!==b.StringLiteral)break;a=ca(),c.push(a);if(a.expression.type!==d.Literal)break;g=r(e.range[0]+1,e.range[1]-1),g==="use strict"?(i=!0,h&&Q(h,f.StrictOctalLiteral)):!h&&e.octal&&(h=e)}k=o.labelSet,l=o.inIteration,n=o.inSwitch,p=o.inFunctionBody,o.labelSet={},o.inIteration=!1,o.inSwitch=!1,o.inFunctionBody=!0;while(j<m){if(U("}"))break;a=ca();if(typeof a=="undefined")break;c.push(a)}return S("}"),o.labelSet=k,o.inIteration=l,o.inSwitch=n,o.inFunctionBody=p,{type:d.BlockStatement,body:c}}function b$(){var a,b,c=[],e,g,h,k,l,n,o;T("function"),g=N(),a=bC(),i?B(g.value)&&Q(g,f.StrictFunctionName):B(g.value)?(k=g,l=f.StrictFunctionName):A(g.value)&&(k=g,l=f.StrictReservedWord),S("(");if(!U(")")){o={};while(j<m){g=N(),b=bC(),i?(B(g.value)&&(h=g,l=f.StrictParamName),Object.prototype.hasOwnProperty.call(o,g.value)&&(h=g,l=f.StrictParamDupe)):k||(B(g.value)?(k=g,l=f.StrictParamName):A(g.value)?(k=g,l=f.StrictReservedWord):Object.prototype.hasOwnProperty.call(o,g.value)&&(k=g,l=f.StrictParamDupe)),c.push(b),o[b.name]=!0;if(U(")"))break;S(",")}}return S(")"),n=i,e=bZ(),i&&k&&P(k,l),i&&h&&Q(h,l),i=n,{type:d.FunctionDeclaration,id:a,params:c,defaults:[],body:e,rest:null,generator:!1,expression:!1}}function b_(){var a,b=null,c,e,g,h,k=[],l,n,o;T("function"),U("(")||(a=N(),b=bC(),i?B(a.value)&&Q(a,f.StrictFunctionName):B(a.value)?(e=a,g=f.StrictFunctionName):A(a.value)&&(e=a,g=f.StrictReservedWord)),S("(");if(!U(")")){o={};while(j<m){a=N(),h=bC(),i?(B(a.value)&&(c=a,g=f.StrictParamName),Object.prototype.hasOwnProperty.call(o,a.value)&&(c=a,g=f.StrictParamDupe)):e||(B(a.value)?(e=a,g=f.StrictParamName):A(a.value)?(e=a,g=f.StrictReservedWord):Object.prototype.hasOwnProperty.call(o,a.value)&&(e=a,g=f.StrictParamDupe)),k.push(h),o[h.name]=!0;if(U(")"))break;S(",")}}return S(")"),n=i,l=bZ(),i&&e&&P(e,g),i&&c&&Q(c,g),i=n,{type:d.FunctionExpression,id:b,params:k,defaults:[],body:l,rest:null,generator:!1,expression:!1}}function ca(){var a=N();if(a.type===b.Keyword)switch(a.value){case"const":case"let":return bG(a.value);case"function":return b$();default:return bY()}if(a.type!==b.EOF)return bY()}function cb(){var a,c=[],e,g,h;while(j<m){e=N();if(e.type!==b.StringLiteral)break;a=ca(),c.push(a);if(a.expression.type!==d.Literal)break;g=r(e.range[0]+1,e.range[1]-1),g==="use strict"?(i=!0,h&&Q(h,f.StrictOctalLiteral)):!h&&e.octal&&(h=e)}while(j<m){a=ca();if(typeof a=="undefined")break;c.push(a)}return c}function cc(){var a;return i=!1,a={type:d.Program,body:cb()},a}function cd(a,b,c,d,e){q(typeof c=="number","Comment must have valid position");if(p.comments.length>0&&p.comments[p.comments.length-1].range[1]>c)return;p.comments.push({type:a,value:b,range:[c,d],loc:e})}function ce(){var a,b,c,d,e,g;a="",e=!1,g=!1;while(j<m){b=h[j];if(g)b=h[j++],w(b)?(c.end={line:k,column:j-l-1},g=!1,cd("Line",a,d,j-1,c),b==="\r"&&h[j]==="\n"&&++j,++k,l=j,a=""):j>=m?(g=!1,a+=b,c.end={line:k,column:m-l},cd("Line",a,d,m,c)):a+=b;else if(e)w(b)?(b==="\r"&&h[j+1]==="\n"?(++j,a+="\r\n"):a+=b,++k,++j,l=j,j>=m&&P({},f.UnexpectedToken,"ILLEGAL")):(b=h[j++],j>=m&&P({},f.UnexpectedToken,"ILLEGAL"),a+=b,b==="*"&&(b=h[j],b==="/"&&(a=a.substr(0,a.length-1),e=!1,++j,c.end={line:k,column:j-l},cd("Block",a,d,j,c),a="")));else if(b==="/"){b=h[j+1];if(b==="/")c={start:{line:k,column:j-l}},d=j,j+=2,g=!0,j>=m&&(c.end={line:k,column:j-l},g=!1,cd("Line",a,d,j,c));else if(b==="*")d=j,j+=2,e=!0,c={start:{line:k,column:j-l-2}},j>=m&&P({},f.UnexpectedToken,"ILLEGAL");else break}else if(v(b))++j;else if(w(b))++j,b==="\r"&&h[j]==="\n"&&++j,++k,l=j;else break}}function cf(){var a,b,c,d=[];for(a=0;a<p.comments.length;++a)b=p.comments[a],c={type:b.type,value:b.value},p.range&&(c.range=b.range),p.loc&&(c.loc=b.loc),d.push(c);p.comments=d}function cg(){var a,d,e,f,g;return D(),a=j,d={start:{line:k,column:j-l}},e=p.advance(),d.end={line:k,column:j-l},e.type!==b.EOF&&(f=[e.range[0],e.range[1]],g=r(e.range[0],e.range[1]),p.tokens.push({type:c[e.type],value:g,range:f,loc:d})),e}function ch(){var a,b,c,d;return D(),a=j,b={start:{line:k,column:j-l}},c=p.scanRegExp(),b.end={line:k,column:j-l},p.tokens.length>0&&(d=p.tokens[p.tokens.length-1],d.range[0]===a&&d.type==="Punctuator"&&(d.value==="/"||d.value==="/=")&&p.tokens.pop()),p.tokens.push({type:"RegularExpression",value:c.literal,range:[a,j],loc:b}),c}function ci(){var a,b,c,d=[];for(a=0;a<p.tokens.length;++a)b=p.tokens[a],c={type:b.type,value:b.value},p.range&&(c.range=b.range),p.loc&&(c.loc=b.loc),d.push(c);p.tokens=d}function cj(a){return{type:d.Literal,value:a.value}}function ck(a){return{type:d.Literal,value:a.value,raw:r(a.range[0],a.range[1])}}function cl(){var a={};return a.range=[j,j],a.loc={start:{line:k,column:j-l},end:{line:k,column:j-l}},a.end=function(){this.range[1]=j,this.loc.end.line=k,this.loc.end.column=j-l},a.applyGroup=function(a){p.range&&(a.groupRange=[this.range[0],this.range[1]]),p.loc&&(a.groupLoc={start:{line:this.loc.start.line,column:this.loc.start.column},end:{line:this.loc.end.line,column:this.loc.end.column}})},a.apply=function(a){p.range&&(a.range=[this.range[0],this.range[1]]),p.loc&&(a.loc={start:{line:this.loc.start.line,column:this.loc.start.column},end:{line:this.loc.end.line,column:this.loc.end.column}})},a}function cm(){var a,b;return D(),a=cl(),S("("),b=bz(),S(")"),a.end(),a.applyGroup(b),b}function cn(){var a,b;D(),a=cl(),b=V("new")?bi():bd();while(U(".")||U("["))U("[")?(b={type:d.MemberExpression,computed:!0,object:b,property:bh()},a.end(),a.apply(b)):(b={type:d.MemberExpression,computed:!1,object:b,property:bg()},a.end(),a.apply(b));return b}function co(){var a,b;D(),a=cl(),b=V("new")?bi():bd();while(U(".")||U("[")||U("("))U("(")?(b={type:d.CallExpression,callee:b,arguments:be()},a.end(),a.apply(b)):U("[")?(b={type:d.MemberExpression,computed:!0,object:b,property:bh()},a.end(),a.apply(b)):(b={type:d.MemberExpression,computed:!1,object:b,property:bg()},a.end(),a.apply(b));return b}function cp(a){var b,c,d;b=Object.prototype.toString.apply(a)==="[object Array]"?[]:{};for(c in a)a.hasOwnProperty(c)&&c!=="groupRange"&&c!=="groupLoc"&&(d=a[c],d===null||typeof d!="object"||d instanceof RegExp?b[c]=d:b[c]=cp(d));return b}function cq(a,b){return function(c){function e(a){return a.type===d.LogicalExpression||a.type===d.BinaryExpression}function f(c){var d,g;e(c.left)&&f(c.left),e(c.right)&&f(c.right),a&&(c.left.groupRange||c.right.groupRange?(d=c.left.groupRange?c.left.groupRange[0]:c.left.range[0],g=c.right.groupRange?c.right.groupRange[1]:c.right.range[1],c.range=[d,g]):typeof c.range=="undefined"&&(d=c.left.range[0],g=c.right.range[1],c.range=[d,g])),b&&(c.left.groupLoc||c.right.groupLoc?(d=c.left.groupLoc?c.left.groupLoc.start:c.left.loc.start,g=c.right.groupLoc?c.right.groupLoc.end:c.right.loc.end,c.loc={start:d,end:g}):typeof c.loc=="undefined"&&(c.loc={start:c.left.loc.start,end:c.right.loc.end}))}return function(){var d,g;return D(),d=cl(),g=c.apply(null,arguments),d.end(),a&&typeof g.range=="undefined"&&d.apply(g),b&&typeof g.loc=="undefined"&&d.apply(g),e(g)&&f(g),g}}}function cr(){var a;p.comments&&(p.skipComment=D,D=ce),p.raw&&(p.createLiteral=cj,cj=ck);if(p.range||p.loc)p.parseGroupExpression=bc,p.parseLeftHandSideExpression=bk,p.parseLeftHandSideExpressionAllowCall=bj,bc=cm,bk=cn,bj=co,a=cq(p.range,p.loc),p.parseAdditiveExpression=bo,p.parseAssignmentExpression=by,p.parseBitwiseANDExpression=bs,p.parseBitwiseORExpression=bu,p.parseBitwiseXORExpression=bt,p.parseBlock=bB,p.parseFunctionSourceElements=bZ,p.parseCatchClause=bV,p.parseComputedMember=bh,p.parseConditionalExpression=bx,p.parseConstLetDeclaration=bG,p.parseEqualityExpression=br,p.parseExpression=bz,p.parseForVariableDeclaration=bM,p.parseFunctionDeclaration=b$,p.parseFunctionExpression=b_,p.parseLogicalANDExpression=bv,p.parseLogicalORExpression=bw,p.parseMultiplicativeExpression=bn,p.parseNewExpression=bi,p.parseNonComputedProperty=bf,p.parseObjectProperty=ba,p.parseObjectPropertyKey=_,p.parsePostfixExpression=bl,p.parsePrimaryExpression=bd,p.parseProgram=cc,p.parsePropertyFunction=$,p.parseRelationalExpression=bq,p.parseStatement=bY,p.parseShiftExpression=bp,p.parseSwitchCase=bS,p.parseUnaryExpression=bm,p.parseVariableDeclaration=bD,p.parseVariableIdentifier=bC,bo=a(p.parseAdditiveExpression),by=a(p.parseAssignmentExpression),bs=a(p.parseBitwiseANDExpression),bu=a(p.parseBitwiseORExpression),bt=a(p.parseBitwiseXORExpression),bB=a(p.parseBlock),bZ=a(p.parseFunctionSourceElements),bV=a(p.parseCatchClause),bh=a(p.parseComputedMember),bx=a(p.parseConditionalExpression),bG=a(p.parseConstLetDeclaration),br=a(p.parseEqualityExpression),bz=a(p.parseExpression),bM=a(p.parseForVariableDeclaration),b$=a(p.parseFunctionDeclaration),b_=a(p.parseFunctionExpression),bk=a(bk),bv=a(p.parseLogicalANDExpression),bw=a(p.parseLogicalORExpression),bn=a(p.parseMultiplicativeExpression),bi=a(p.parseNewExpression),bf=a(p.parseNonComputedProperty),ba=a(p.parseObjectProperty),_=a(p.parseObjectPropertyKey),bl=a(p.parsePostfixExpression),bd=a(p.parsePrimaryExpression),cc=a(p.parseProgram),$=a(p.parsePropertyFunction),bq=a(p.parseRelationalExpression),bY=a(p.parseStatement),bp=a(p.parseShiftExpression),bS=a(p.parseSwitchCase),bm=a(p.parseUnaryExpression),bD=a(p.parseVariableDeclaration),bC=a(p.parseVariableIdentifier);typeof p.tokens!="undefined"&&(p.advance=L,p.scanRegExp=J,L=cg,J=ch)}function cs(){typeof p.skipComment=="function"&&(D=p.skipComment),p.raw&&(cj=p.createLiteral);if(p.range||p.loc)bo=p.parseAdditiveExpression,by=p.parseAssignmentExpression,bs=p.parseBitwiseANDExpression,bu=p.parseBitwiseORExpression,bt=p.parseBitwiseXORExpression,bB=p.parseBlock,bZ=p.parseFunctionSourceElements,bV=p.parseCatchClause,bh=p.parseComputedMember,bx=p.parseConditionalExpression,bG=p.parseConstLetDeclaration,br=p.parseEqualityExpression,bz=p.parseExpression,bM=p.parseForVariableDeclaration,b$=p.parseFunctionDeclaration,b_=p.parseFunctionExpression,bc=p.parseGroupExpression,bk=p.parseLeftHandSideExpression,bj=p.parseLeftHandSideExpressionAllowCall,bv=p.parseLogicalANDExpression,bw=p.parseLogicalORExpression,bn=p.parseMultiplicativeExpression,bi=p.parseNewExpression,bf=p.parseNonComputedProperty,ba=p.parseObjectProperty,_=p.parseObjectPropertyKey,bd=p.parsePrimaryExpression,bl=p.parsePostfixExpression,cc=p.parseProgram,$=p.parsePropertyFunction,bq=p.parseRelationalExpression,bY=p.parseStatement,bp=p.parseShiftExpression,bS=p.parseSwitchCase,bm=p.parseUnaryExpression,bD=p.parseVariableDeclaration,bC=p.parseVariableIdentifier;typeof p.scanRegExp=="function"&&(L=p.advance,J=p.scanRegExp)}function ct(a){var b=a.length,c=[],d;for(d=0;d<b;++d)c[d]=a.charAt(d);return c}function cu(a,b){var c,d;d=String,typeof a!="string"&&!(a instanceof String)&&(a=d(a)),h=a,j=0,k=h.length>0?1:0,l=0,m=h.length,n=null,o={allowIn:!0,labelSet:{},inFunctionBody:!1,inIteration:!1,inSwitch:!1},p={},typeof b!="undefined"&&(p.range=typeof b.range=="boolean"&&b.range,p.loc=typeof b.loc=="boolean"&&b.loc,p.raw=typeof b.raw=="boolean"&&b.raw,typeof b.tokens=="boolean"&&b.tokens&&(p.tokens=[]),typeof b.comment=="boolean"&&b.comment&&(p.comments=[]),typeof b.tolerant=="boolean"&&b.tolerant&&(p.errors=[])),m>0&&typeof h[0]=="undefined"&&(a instanceof String&&(h=a.valueOf()),typeof h[0]=="undefined"&&(h=ct(a))),cr();try{c=cc(),typeof p.comments!="undefined"&&(cf(),c.comments=p.comments),typeof p.tokens!="undefined"&&(ci(),c.tokens=p.tokens),typeof p.errors!="undefined"&&(c.errors=p.errors);if(p.range||p.loc)c.body=cp(c.body)}catch(e){throw e}finally{cs(),p={}}return c}"use strict";var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p;b={BooleanLiteral:1,EOF:2,Identifier:3,Keyword:4,NullLiteral:5,NumericLiteral:6,Punctuator:7,StringLiteral:8},c={},c[b.BooleanLiteral]="Boolean",c[b.EOF]="<end>",c[b.Identifier]="Identifier",c[b.Keyword]="Keyword",c[b.NullLiteral]="Null",c[b.NumericLiteral]="Numeric",c[b.Punctuator]="Punctuator",c[b.StringLiteral]="String",d={AssignmentExpression:"AssignmentExpression",ArrayExpression:"ArrayExpression",BlockStatement:"BlockStatement",BinaryExpression:"BinaryExpression",BreakStatement:"BreakStatement",CallExpression:"CallExpression",CatchClause:"CatchClause",ConditionalExpression:"ConditionalExpression",ContinueStatement:"ContinueStatement",DoWhileStatement:"DoWhileStatement",DebuggerStatement:"DebuggerStatement",EmptyStatement:"EmptyStatement",ExpressionStatement:"ExpressionStatement",ForStatement:"ForStatement",ForInStatement:"ForInStatement",FunctionDeclaration:"FunctionDeclaration",FunctionExpression:"FunctionExpression",Identifier:"Identifier",IfStatement:"IfStatement",Literal:"Literal",LabeledStatement:"LabeledStatement",LogicalExpression:"LogicalExpression",MemberExpression:"MemberExpression",NewExpression:"NewExpression",ObjectExpression:"ObjectExpression",Program:"Program",Property:"Property",ReturnStatement:"ReturnStatement",SequenceExpression:"SequenceExpression",SwitchStatement:"SwitchStatement",SwitchCase:"SwitchCase",ThisExpression:"ThisExpression",ThrowStatement:"ThrowStatement",TryStatement:"TryStatement",UnaryExpression:"UnaryExpression",UpdateExpression:"UpdateExpression",VariableDeclaration:"VariableDeclaration",VariableDeclarator:"VariableDeclarator",WhileStatement:"WhileStatement",WithStatement:"WithStatement"},e={Data:1,Get:2,Set:4},f={UnexpectedToken:"Unexpected token %0",UnexpectedNumber:"Unexpected number",UnexpectedString:"Unexpected string",UnexpectedIdentifier:"Unexpected identifier",UnexpectedReserved:"Unexpected reserved word",UnexpectedEOS:"Unexpected end of input",NewlineAfterThrow:"Illegal newline after throw",InvalidRegExp:"Invalid regular expression",UnterminatedRegExp:"Invalid regular expression: missing /",InvalidLHSInAssignment:"Invalid left-hand side in assignment",InvalidLHSInForIn:"Invalid left-hand side in for-in",MultipleDefaultsInSwitch:"More than one default clause in switch statement",NoCatchOrFinally:"Missing catch or finally after try",UnknownLabel:"Undefined label '%0'",Redeclaration:"%0 '%1' has already been declared",IllegalContinue:"Illegal continue statement",IllegalBreak:"Illegal break statement",IllegalReturn:"Illegal return statement",StrictModeWith:"Strict mode code may not include a with statement",StrictCatchVariable:"Catch variable may not be eval or arguments in strict mode",StrictVarName:"Variable name may not be eval or arguments in strict mode",StrictParamName:"Parameter name eval or arguments is not allowed in strict mode",StrictParamDupe:"Strict mode function may not have duplicate parameter names",StrictFunctionName:"Function name may not be eval or arguments in strict mode",StrictOctalLiteral:"Octal literals are not allowed in strict mode.",StrictDelete:"Delete of an unqualified identifier in strict mode.",StrictDuplicateProperty:"Duplicate data property in object literal not allowed in strict mode",AccessorDataProperty:"Object literal may not have data and accessor property with the same name",AccessorGetSet:"Object literal may not have multiple get/set accessors with the same name",StrictLHSAssignment:"Assignment to eval or arguments is not allowed in strict mode",StrictLHSPostfix:"Postfix increment/decrement may not have eval or arguments operand in strict mode",StrictLHSPrefix:"Prefix increment/decrement may not have eval or arguments operand in strict mode",StrictReservedWord:"Use of future reserved word in strict mode"},g={NonAsciiIdentifierStart:new RegExp("[\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0370-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u05d0-\u05ea\u05f0-\u05f2\u0620-\u064a\u066e\u066f\u0671-\u06d3\u06d5\u06e5\u06e6\u06ee\u06ef\u06fa-\u06fc\u06ff\u0710\u0712-\u072f\u074d-\u07a5\u07b1\u07ca-\u07ea\u07f4\u07f5\u07fa\u0800-\u0815\u081a\u0824\u0828\u0840-\u0858\u08a0\u08a2-\u08ac\u0904-\u0939\u093d\u0950\u0958-\u0961\u0971-\u0977\u0979-\u097f\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bd\u09ce\u09dc\u09dd\u09df-\u09e1\u09f0\u09f1\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a59-\u0a5c\u0a5e\u0a72-\u0a74\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abd\u0ad0\u0ae0\u0ae1\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3d\u0b5c\u0b5d\u0b5f-\u0b61\u0b71\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bd0\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d\u0c58\u0c59\u0c60\u0c61\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbd\u0cde\u0ce0\u0ce1\u0cf1\u0cf2\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d\u0d4e\u0d60\u0d61\u0d7a-\u0d7f\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0e01-\u0e30\u0e32\u0e33\u0e40-\u0e46\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb0\u0eb2\u0eb3\u0ebd\u0ec0-\u0ec4\u0ec6\u0edc-\u0edf\u0f00\u0f40-\u0f47\u0f49-\u0f6c\u0f88-\u0f8c\u1000-\u102a\u103f\u1050-\u1055\u105a-\u105d\u1061\u1065\u1066\u106e-\u1070\u1075-\u1081\u108e\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1711\u1720-\u1731\u1740-\u1751\u1760-\u176c\u176e-\u1770\u1780-\u17b3\u17d7\u17dc\u1820-\u1877\u1880-\u18a8\u18aa\u18b0-\u18f5\u1900-\u191c\u1950-\u196d\u1970-\u1974\u1980-\u19ab\u19c1-\u19c7\u1a00-\u1a16\u1a20-\u1a54\u1aa7\u1b05-\u1b33\u1b45-\u1b4b\u1b83-\u1ba0\u1bae\u1baf\u1bba-\u1be5\u1c00-\u1c23\u1c4d-\u1c4f\u1c5a-\u1c7d\u1ce9-\u1cec\u1cee-\u1cf1\u1cf5\u1cf6\u1d00-\u1dbf\u1e00-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u2071\u207f\u2090-\u209c\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cee\u2cf2\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d80-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2e2f\u3005-\u3007\u3021-\u3029\u3031-\u3035\u3038-\u303c\u3041-\u3096\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua61f\ua62a\ua62b\ua640-\ua66e\ua67f-\ua697\ua6a0-\ua6ef\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua801\ua803-\ua805\ua807-\ua80a\ua80c-\ua822\ua840-\ua873\ua882-\ua8b3\ua8f2-\ua8f7\ua8fb\ua90a-\ua925\ua930-\ua946\ua960-\ua97c\ua984-\ua9b2\ua9cf\uaa00-\uaa28\uaa40-\uaa42\uaa44-\uaa4b\uaa60-\uaa76\uaa7a\uaa80-\uaaaf\uaab1\uaab5\uaab6\uaab9-\uaabd\uaac0\uaac2\uaadb-\uaadd\uaae0-\uaaea\uaaf2-\uaaf4\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabe2\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d\ufb1f-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe70-\ufe74\ufe76-\ufefc\uff21-\uff3a\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]"),NonAsciiIdentifierPart:new RegExp("[\u00aa\u00b5\u00ba\u00c0-\u00d6\u00d8-\u00f6\u00f8-\u02c1\u02c6-\u02d1\u02e0-\u02e4\u02ec\u02ee\u0300-\u0374\u0376\u0377\u037a-\u037d\u0386\u0388-\u038a\u038c\u038e-\u03a1\u03a3-\u03f5\u03f7-\u0481\u0483-\u0487\u048a-\u0527\u0531-\u0556\u0559\u0561-\u0587\u0591-\u05bd\u05bf\u05c1\u05c2\u05c4\u05c5\u05c7\u05d0-\u05ea\u05f0-\u05f2\u0610-\u061a\u0620-\u0669\u066e-\u06d3\u06d5-\u06dc\u06df-\u06e8\u06ea-\u06fc\u06ff\u0710-\u074a\u074d-\u07b1\u07c0-\u07f5\u07fa\u0800-\u082d\u0840-\u085b\u08a0\u08a2-\u08ac\u08e4-\u08fe\u0900-\u0963\u0966-\u096f\u0971-\u0977\u0979-\u097f\u0981-\u0983\u0985-\u098c\u098f\u0990\u0993-\u09a8\u09aa-\u09b0\u09b2\u09b6-\u09b9\u09bc-\u09c4\u09c7\u09c8\u09cb-\u09ce\u09d7\u09dc\u09dd\u09df-\u09e3\u09e6-\u09f1\u0a01-\u0a03\u0a05-\u0a0a\u0a0f\u0a10\u0a13-\u0a28\u0a2a-\u0a30\u0a32\u0a33\u0a35\u0a36\u0a38\u0a39\u0a3c\u0a3e-\u0a42\u0a47\u0a48\u0a4b-\u0a4d\u0a51\u0a59-\u0a5c\u0a5e\u0a66-\u0a75\u0a81-\u0a83\u0a85-\u0a8d\u0a8f-\u0a91\u0a93-\u0aa8\u0aaa-\u0ab0\u0ab2\u0ab3\u0ab5-\u0ab9\u0abc-\u0ac5\u0ac7-\u0ac9\u0acb-\u0acd\u0ad0\u0ae0-\u0ae3\u0ae6-\u0aef\u0b01-\u0b03\u0b05-\u0b0c\u0b0f\u0b10\u0b13-\u0b28\u0b2a-\u0b30\u0b32\u0b33\u0b35-\u0b39\u0b3c-\u0b44\u0b47\u0b48\u0b4b-\u0b4d\u0b56\u0b57\u0b5c\u0b5d\u0b5f-\u0b63\u0b66-\u0b6f\u0b71\u0b82\u0b83\u0b85-\u0b8a\u0b8e-\u0b90\u0b92-\u0b95\u0b99\u0b9a\u0b9c\u0b9e\u0b9f\u0ba3\u0ba4\u0ba8-\u0baa\u0bae-\u0bb9\u0bbe-\u0bc2\u0bc6-\u0bc8\u0bca-\u0bcd\u0bd0\u0bd7\u0be6-\u0bef\u0c01-\u0c03\u0c05-\u0c0c\u0c0e-\u0c10\u0c12-\u0c28\u0c2a-\u0c33\u0c35-\u0c39\u0c3d-\u0c44\u0c46-\u0c48\u0c4a-\u0c4d\u0c55\u0c56\u0c58\u0c59\u0c60-\u0c63\u0c66-\u0c6f\u0c82\u0c83\u0c85-\u0c8c\u0c8e-\u0c90\u0c92-\u0ca8\u0caa-\u0cb3\u0cb5-\u0cb9\u0cbc-\u0cc4\u0cc6-\u0cc8\u0cca-\u0ccd\u0cd5\u0cd6\u0cde\u0ce0-\u0ce3\u0ce6-\u0cef\u0cf1\u0cf2\u0d02\u0d03\u0d05-\u0d0c\u0d0e-\u0d10\u0d12-\u0d3a\u0d3d-\u0d44\u0d46-\u0d48\u0d4a-\u0d4e\u0d57\u0d60-\u0d63\u0d66-\u0d6f\u0d7a-\u0d7f\u0d82\u0d83\u0d85-\u0d96\u0d9a-\u0db1\u0db3-\u0dbb\u0dbd\u0dc0-\u0dc6\u0dca\u0dcf-\u0dd4\u0dd6\u0dd8-\u0ddf\u0df2\u0df3\u0e01-\u0e3a\u0e40-\u0e4e\u0e50-\u0e59\u0e81\u0e82\u0e84\u0e87\u0e88\u0e8a\u0e8d\u0e94-\u0e97\u0e99-\u0e9f\u0ea1-\u0ea3\u0ea5\u0ea7\u0eaa\u0eab\u0ead-\u0eb9\u0ebb-\u0ebd\u0ec0-\u0ec4\u0ec6\u0ec8-\u0ecd\u0ed0-\u0ed9\u0edc-\u0edf\u0f00\u0f18\u0f19\u0f20-\u0f29\u0f35\u0f37\u0f39\u0f3e-\u0f47\u0f49-\u0f6c\u0f71-\u0f84\u0f86-\u0f97\u0f99-\u0fbc\u0fc6\u1000-\u1049\u1050-\u109d\u10a0-\u10c5\u10c7\u10cd\u10d0-\u10fa\u10fc-\u1248\u124a-\u124d\u1250-\u1256\u1258\u125a-\u125d\u1260-\u1288\u128a-\u128d\u1290-\u12b0\u12b2-\u12b5\u12b8-\u12be\u12c0\u12c2-\u12c5\u12c8-\u12d6\u12d8-\u1310\u1312-\u1315\u1318-\u135a\u135d-\u135f\u1380-\u138f\u13a0-\u13f4\u1401-\u166c\u166f-\u167f\u1681-\u169a\u16a0-\u16ea\u16ee-\u16f0\u1700-\u170c\u170e-\u1714\u1720-\u1734\u1740-\u1753\u1760-\u176c\u176e-\u1770\u1772\u1773\u1780-\u17d3\u17d7\u17dc\u17dd\u17e0-\u17e9\u180b-\u180d\u1810-\u1819\u1820-\u1877\u1880-\u18aa\u18b0-\u18f5\u1900-\u191c\u1920-\u192b\u1930-\u193b\u1946-\u196d\u1970-\u1974\u1980-\u19ab\u19b0-\u19c9\u19d0-\u19d9\u1a00-\u1a1b\u1a20-\u1a5e\u1a60-\u1a7c\u1a7f-\u1a89\u1a90-\u1a99\u1aa7\u1b00-\u1b4b\u1b50-\u1b59\u1b6b-\u1b73\u1b80-\u1bf3\u1c00-\u1c37\u1c40-\u1c49\u1c4d-\u1c7d\u1cd0-\u1cd2\u1cd4-\u1cf6\u1d00-\u1de6\u1dfc-\u1f15\u1f18-\u1f1d\u1f20-\u1f45\u1f48-\u1f4d\u1f50-\u1f57\u1f59\u1f5b\u1f5d\u1f5f-\u1f7d\u1f80-\u1fb4\u1fb6-\u1fbc\u1fbe\u1fc2-\u1fc4\u1fc6-\u1fcc\u1fd0-\u1fd3\u1fd6-\u1fdb\u1fe0-\u1fec\u1ff2-\u1ff4\u1ff6-\u1ffc\u200c\u200d\u203f\u2040\u2054\u2071\u207f\u2090-\u209c\u20d0-\u20dc\u20e1\u20e5-\u20f0\u2102\u2107\u210a-\u2113\u2115\u2119-\u211d\u2124\u2126\u2128\u212a-\u212d\u212f-\u2139\u213c-\u213f\u2145-\u2149\u214e\u2160-\u2188\u2c00-\u2c2e\u2c30-\u2c5e\u2c60-\u2ce4\u2ceb-\u2cf3\u2d00-\u2d25\u2d27\u2d2d\u2d30-\u2d67\u2d6f\u2d7f-\u2d96\u2da0-\u2da6\u2da8-\u2dae\u2db0-\u2db6\u2db8-\u2dbe\u2dc0-\u2dc6\u2dc8-\u2dce\u2dd0-\u2dd6\u2dd8-\u2dde\u2de0-\u2dff\u2e2f\u3005-\u3007\u3021-\u302f\u3031-\u3035\u3038-\u303c\u3041-\u3096\u3099\u309a\u309d-\u309f\u30a1-\u30fa\u30fc-\u30ff\u3105-\u312d\u3131-\u318e\u31a0-\u31ba\u31f0-\u31ff\u3400-\u4db5\u4e00-\u9fcc\ua000-\ua48c\ua4d0-\ua4fd\ua500-\ua60c\ua610-\ua62b\ua640-\ua66f\ua674-\ua67d\ua67f-\ua697\ua69f-\ua6f1\ua717-\ua71f\ua722-\ua788\ua78b-\ua78e\ua790-\ua793\ua7a0-\ua7aa\ua7f8-\ua827\ua840-\ua873\ua880-\ua8c4\ua8d0-\ua8d9\ua8e0-\ua8f7\ua8fb\ua900-\ua92d\ua930-\ua953\ua960-\ua97c\ua980-\ua9c0\ua9cf-\ua9d9\uaa00-\uaa36\uaa40-\uaa4d\uaa50-\uaa59\uaa60-\uaa76\uaa7a\uaa7b\uaa80-\uaac2\uaadb-\uaadd\uaae0-\uaaef\uaaf2-\uaaf6\uab01-\uab06\uab09-\uab0e\uab11-\uab16\uab20-\uab26\uab28-\uab2e\uabc0-\uabea\uabec\uabed\uabf0-\uabf9\uac00-\ud7a3\ud7b0-\ud7c6\ud7cb-\ud7fb\uf900-\ufa6d\ufa70-\ufad9\ufb00-\ufb06\ufb13-\ufb17\ufb1d-\ufb28\ufb2a-\ufb36\ufb38-\ufb3c\ufb3e\ufb40\ufb41\ufb43\ufb44\ufb46-\ufbb1\ufbd3-\ufd3d\ufd50-\ufd8f\ufd92-\ufdc7\ufdf0-\ufdfb\ufe00-\ufe0f\ufe20-\ufe26\ufe33\ufe34\ufe4d-\ufe4f\ufe70-\ufe74\ufe76-\ufefc\uff10-\uff19\uff21-\uff3a\uff3f\uff41-\uff5a\uff66-\uffbe\uffc2-\uffc7\uffca-\uffcf\uffd2-\uffd7\uffda-\uffdc]")},typeof "esprima"[0]=="undefined"&&(r=function(a,b){return h.slice(a,b).join("")}),a.version="1.0.2",a.parse=cu,a.Syntax=function(){var a,b={};typeof Object.create=="function"&&(b=Object.create(null));for(a in d)d.hasOwnProperty(a)&&(b[a]=d[a]);return typeof Object.freeze=="function"&&Object.freeze(b),b}()})})(null),function(a,b){function g(a,b,c){function g(b){c[a.range[0]]=b;for(var d=a.range[0]+1;d<a.range[1];d++)c[d]=""}if(!a.range)return;a.parent=b,a.source=function(){return c.slice(a.range[0],a.range[1]).join("")};if(a.update&&typeof a.update=="object"){var f=a.update;e(d(f),function(a){g[a]=f[a]}),a.update=g}else a.update=g}var c=a("esprima").parse,d=Object.keys||function(a){var b=[];for(var c in a)b.push(c);return b},e=function(a,b){if(a.forEach)return a.forEach(b);for(var c=0;c<a.length;c++)b.call(a,a[c],c,a)},f=Array.isArray||function(a){return Object.prototype.toString.call(a)==="[object Array]"};b.exports=function(a,b,h){typeof b=="function"&&(h=b,b={}),typeof a=="object"&&(b=a,a=b.source,delete b.source),a=a===undefined?b.source:a,b.range=!0,typeof a!="string"&&(a=String(a));var i=c(a,b),j={chunks:a.split(""),toString:function(){return j.chunks.join("")},inspect:function(){return j.toString()}},k=0;return function l(a,b){g(a,b,j.chunks),e(d(a),function(b){if(b==="parent")return;var c=a[b];f(c)?e(c,function(b){b&&typeof b.type=="string"&&l(b,a)}):c&&typeof c.type=="string"&&(g(c,a,j.chunks),l(c,a))}),h(a)}(i,undefined),j},window.falafel=b.exports}(function(){return{parse:esprima.parse}},{exports:{}});var inBrowser=typeof window!="undefined"&&this===window,parseAndModify=inBrowser?window.falafel:require("falafel");(inBrowser?window:exports).blanket=function(){var a=["ExpressionStatement","BreakStatement","ContinueStatement","VariableDeclaration","ReturnStatement","ThrowStatement","TryStatement","FunctionDeclaration","IfStatement","WhileStatement","DoWhileStatement","ForStatement","ForInStatement","SwitchStatement","WithStatement"],b=["IfStatement","WhileStatement","DoWhileStatement","ForStatement","ForInStatement","WithStatement"],c=inBrowser?"window._$blanket":"_$jscoverage",d,e=Math.floor(Math.random()*1e3),f={},g={reporter:null,adapter:null,filter:null,orderedLoading:!0,loader:null,ignoreScriptError:!1,existingRequireJS:!1,autoStart:!1,timeout:180,ignoreCors:!1,branchTracking:!1,sourceURL:!1,debug:!1,engineOnly:!1,testReadyCallback:null,commonJS:!1};return inBrowser&&typeof window.blanket!="undefined"&&(d=window.blanket.noConflict()),_blanket={noConflict:function(){return d?d:_blanket},_getCopyNumber:function(){return e},extend:function(a){_blanket._extend(_blanket,a)},_extend:function(a,b){if(b)for(var c in b)a[c]instanceof Object&&typeof a[c]!="function"?_blanket._extend(a[c],b[c]):a[c]=b[c]},options:function(a,b){if(typeof a!="string")_blanket._extend(g,a);else{if(typeof b=="undefined")return g[a];g[a]=b}},instrument:function(a,b){var c=a.inputFile,d=a.inputFileName,e=_blanket._prepareSource(c);_blanket._trackingArraySetup=[];var f=parseAndModify(c,{loc:!0,comment:!0},_blanket._addTracking(d));f=_blanket._trackingSetup(d,e)+f,_blanket.options("sourceURL")&&(f+="\n//@ sourceURL="+d.replace("http://","")),_blanket.options("debug")&&console.log("BLANKET-Instrumented file: ",d),b(f)},_trackingArraySetup:[],_branchingArraySetup:[],_prepareSource:function(a){return a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(/(\r\n|\n|\r)/gm,"\n").split("\n")},_trackingSetup:function(a,b){var d=_blanket.options("branchTracking"),e=b.join("',\n'"),f="";return f+="if (typeof "+c+" === 'undefined') "+c+" = {};\n",d&&(f+="var _$branchFcn=function(f,l,c,r){ ",f+="if (!!r) { ",f+=c+"[f].branchData[l][c][0] = "+c+"[f].branchData[l][c][0] || [];",f+=c+"[f].branchData[l][c][0].push(r); }",f+="else { ",f+=c+"[f].branchData[l][c][1] = "+c+"[f].branchData[l][c][1] || [];",f+=c+"[f].branchData[l][c][1].push(r); }",f+="return r;};\n"),f+="if (typeof "+c+"['"+a+"'] === 'undefined'){",f+=c+"['"+a+"']=[];\n",d&&(f+=c+"['"+a+"'].branchData=[];\n"),f+=c+"['"+a+"'].source=['"+e+"'];\n",_blanket._trackingArraySetup.sort(function(a,b){return parseInt(a,10)>parseInt(b,10)}).forEach(function(b){f+=c+"['"+a+"']["+b+"]=0;\n"}),d&&_blanket._branchingArraySetup.sort(function(a,b){return a.line>b.line}).sort(function(a,b){return a.column>b.column}).forEach(function(b){b.file===a&&(f+="if (typeof "+c+"['"+a+"'].branchData["+b.line+"] === 'undefined'){\n",f+=c+"['"+a+"'].branchData["+b.line+"]=[];\n",f+="}",f+=c+"['"+a+"'].branchData["+b.line+"]["+b.column+"] = [];\n",f+=c+"['"+a+"'].branchData["+b.line+"]["+b.column+"].consequent = "+JSON.stringify(b.consequent)+";\n",f+=c+"['"+a+"'].branchData["+b.line+"]["+b.column+"].alternate = "+JSON.stringify(b.alternate)+";\n")}),f+="}",f},_blockifyIf:function(a){if(b.indexOf(a.type)>-1){var c=a.consequent||a.body,d=a.alternate;d&&d.type!=="BlockStatement"&&d.update("{\n"+d.source()+"}\n"),c&&c.type!=="BlockStatement"&&c.update("{\n"+c.source()+"}\n")}},_trackBranch:function(a,b){var c=a.loc.start.line,d=a.loc.start.column;_blanket._branchingArraySetup.push({line:c,column:d,file:b,consequent:a.consequent.loc,alternate:a.alternate.loc});var e=a.source(),f="_$branchFcn('"+b+"',"+c+","+d+","+e.slice(0,e.indexOf("?"))+")"+e.slice(e.indexOf("?"));a.update(f)},_addTracking:function(b){return function(d){_blanket._blockifyIf(d);if(a.indexOf(d.type)>-1&&d.parent.type!=="LabeledStatement"){if(d.type==="VariableDeclaration"&&(d.parent.type==="ForStatement"||d.parent.type==="ForInStatement"))return;if(d.loc&&d.loc.start)d.update(c+"['"+b+"']["+d.loc.start.line+"]++;\n"+d.source()),_blanket._trackingArraySetup.push(d.loc.start.line);else throw new Error("The instrumenter encountered a node with no location: "+Object.keys(d))}else _blanket.options("branchTracking")&&d.type==="ConditionalExpression"&&_blanket._trackBranch(d,b)}},setupCoverage:function(){f.instrumentation="blanket",f.stats={suites:0,tests:0,passes:0,pending:0,failures:0,start:new Date}},_checkIfSetup:function(){if(!f.stats)throw new Error("You must call blanket.setupCoverage() first.")},onTestStart:function(){_blanket.options("debug")&&console.log("BLANKET-Test event started"),this._checkIfSetup(),f.stats.tests++,f.stats.pending++},onTestDone:function(a,b){this._checkIfSetup(),b===a?f.stats.passes++:f.stats.failures++,f.stats.pending--},onModuleStart:function(){this._checkIfSetup(),f.stats.suites++},onTestsDone:function(){_blanket.options("debug")&&console.log("BLANKET-Test event done"),this._checkIfSetup(),f.stats.end=new Date,inBrowser?this.report(f):(_blanket.options("branchTracking")||delete _$jscoverage.branchFcn,this.options("reporter").call(this,f))}},_blanket}(),function(_blanket){var oldOptions=_blanket.options;_blanket.extend({outstandingRequireFiles:[],options:function(a,b){var c={};if(typeof a!="string")oldOptions(a),c=a;else{if(typeof b=="undefined")return oldOptions(a);oldOptions(a,b),c[a]=b}c.adapter&&_blanket._loadFile(c.adapter),c.loader&&_blanket._loadFile(c.loader)},requiringFile:function(a,b){typeof a=="undefined"?_blanket.outstandingRequireFiles=[]:typeof b=="undefined"?_blanket.outstandingRequireFiles.push(a):_blanket.outstandingRequireFiles.splice(_blanket.outstandingRequireFiles.indexOf(a),1)},requireFilesLoaded:function(){return _blanket.outstandingRequireFiles.length===0},showManualLoader:function(){if(document.getElementById("blanketLoaderDialog"))return;var a="<div class='blanketDialogOverlay'>";a+=" </div>",a+="<div class='blanketDialogVerticalOffset'>",a+="<div class='blanketDialogBox'>",a+="<b>Error:</b> Blanket.js encountered a cross origin request error while instrumenting the source files. ",a+="<br><br>This is likely caused by the source files being referenced locally (using the file:// protocol). ",a+="<br><br>Some solutions include <a href='http://askubuntu.com/questions/160245/making-google-chrome-option-allow-file-access-from-files-permanent' target='_blank'>starting Chrome with special flags</a>, <a target='_blank' href='https://github.com/remy/servedir'>running a server locally</a>, or using a browser without these CORS restrictions (Safari).",a+="<br>",typeof FileReader!="undefined"&&(a+="<br>Or, try the experimental loader. When prompted, simply click on the directory containing all the source files you want covered.",a+="<a href='javascript:document.getElementById(\"fileInput\").click();'>Start Loader</a>",a+="<input type='file' type='application/x-javascript' accept='application/x-javascript' webkitdirectory id='fileInput' multiple onchange='window.blanket.manualFileLoader(this.files)' style='visibility:hidden;position:absolute;top:-50;left:-50'/>"),a+="<br><span style='float:right;cursor:pointer;' onclick=document.getElementById('blanketLoaderDialog').style.display='none';>Close</span>",a+="<div style='clear:both'></div>",a+="</div></div>";var b=".blanketDialogWrapper {";b+="display:block;",b+="position:fixed;",b+="z-index:40001; }",b+=".blanketDialogOverlay {",b+="position:fixed;",b+="width:100%;",b+="height:100%;",b+="background-color:black;",b+="opacity:.5; ",b+="-ms-filter:'progid:DXImageTransform.Microsoft.Alpha(Opacity=50)'; ",b+="filter:alpha(opacity=50); ",b+="z-index:40001; }",b+=".blanketDialogVerticalOffset { ",b+="position:fixed;",b+="top:30%;",b+="width:100%;",b+="z-index:40002; }",b+=".blanketDialogBox { ",b+="width:405px; ",b+="position:relative;",b+="margin:0 auto;",b+="background-color:white;",b+="padding:10px;",b+="border:1px solid black; }";var c=document.createElement("style");c.innerHTML=b,document.head.appendChild(c);var d=document.createElement("div");d.id="blanketLoaderDialog",d.className="blanketDialogWrapper",d.innerHTML=a,document.body.insertBefore(d,document.body.firstChild)},manualFileLoader:function(a){function g(a){var b=new FileReader;b.onload=f,b.readAsText(a)}var b=Array.prototype.slice;a=b.call(a).filter(function(a){return a.type!==""});var c=a.length-1,d=0,e={};sessionStorage.blanketSessionLoader&&(e=JSON.parse(sessionStorage.blanketSessionLoader));var f=function(b){var f=b.currentTarget.result,h=a[d],i=h.webkitRelativePath&&h.webkitRelativePath!==""?h.webkitRelativePath:h.name;e[i]=f,d++,d===c?(sessionStorage.setItem("blanketSessionLoader",JSON.stringify(e)),document.location.reload()):g(a[d])};g(a[d])},_loadFile:function(a){if(typeof a!="undefined"){var b=new XMLHttpRequest;b.open("GET",a,!1),b.send();var c=document.createElement("script");c.type="text/javascript",c.text=b.responseText,(document.body||document.getElementsByTagName("head")[0]).appendChild(c)}},hasAdapter:function(a){return _blanket.options("adapter")!==null},report:function(a){document.getElementById("blanketLoaderDialog")||(_blanket.blanketSession=null),a.files=window._$blanket;if(!a.files||!a.files.length){_blanket.options("debug")&&console.log("BLANKET-Reporting No files were instrumented.");return}typeof a.files.branchFcn!="undefined"&&delete a.files.branchFcn;if(_blanket.options("reporter"))require([_blanket.options("reporter").replace(".js","")],function(b){b(a)});else if(typeof _blanket.defaultReporter=="function")_blanket.defaultReporter(a);else throw new Error("no reporter defined.")},_bindStartTestRunner:function(a,b){a?a(b):window.addEventListener("load",b,!1)},_loadSourceFiles:function(a){function b(a){var b=Object.create(Object.getPrototypeOf(a)),c=Object.getOwnPropertyNames(a);return c.forEach(function(c){var d=Object.getOwnPropertyDescriptor(a,c);Object.defineProperty(b,c,d)}),b}_blanket.options("debug")&&console.log("BLANKET-Collecting page scripts");var c=_blanket.utils.collectPageScripts();if(c.length===0)a();else{sessionStorage.blanketSessionLoader&&(_blanket.blanketSession=JSON.parse(sessionStorage.blanketSessionLoader));var d={paths:{},shim:{},waitSeconds:_blanket.options("timeout")},e={deps:[]},f=_blanket.options("orderedLoading"),g=[];c.forEach(function(a,c){var h="blanket_"+c;g.push(h),d.paths[h]=a,f&&(c>0&&(d.shim[h]=b(e)),e.deps=[h])}),require.config(d);var h=g;require(h,function(){a()})}},beforeStartTestRunner:function(opts){opts=opts||{},opts.checkRequirejs=typeof opts.checkRequirejs=="undefined"?!0:opts.checkRequirejs,opts.callback=opts.callback||function(){},opts.coverage=typeof opts.coverage=="undefined"?!0:opts.coverage,opts.coverage?_blanket._bindStartTestRunner(opts.bindEvent,function(){_blanket._loadSourceFiles(function(){var allLoaded=function(){return opts.condition?opts.condition():_blanket.requireFilesLoaded()},check=function(){if(allLoaded()){_blanket.options("debug")&&console.log("BLANKET-All files loaded, init start test runner callback.");var cb=_blanket.options("testReadyCallback");cb?typeof cb=="function"?cb(opts.callback):typeof cb=="string"&&(eval(cb),opts.callback()):opts.callback()}else setTimeout(check,13)};check()})}):opts.callback()},utils:{qualifyURL:function(a){var b=document.createElement("a");return b.href=a,b.href}}})}(blanket);if(typeof requirejs!="undefined")blanket.options("existingRequireJS",!0);else{typeof window.define!="undefined"&&(window.__blanket_old_define=window.define,window.define=void 0);var requirejs,require,define;(function(global){function isFunction(a){return ostring.call(a)==="[object Function]"}function isArray(a){return ostring.call(a)==="[object Array]"}function each(a,b){if(a){var c;for(c=0;c<a.length;c+=1)if(a[c]&&b(a[c],c,a))break}}function eachReverse(a,b){if(a){var c;for(c=a.length-1;c>-1;c-=1)if(a[c]&&b(a[c],c,a))break}}function hasProp(a,b){return hasOwn.call(a,b)}function getOwn(a,b){return hasProp(a,b)&&a[b]}function eachProp(a,b){var c;for(c in a)if(hasProp(a,c)&&b(a[c],c))break}function mixin(a,b,c,d){return b&&eachProp(b,function(b,e){if(c||!hasProp(a,e))d&&typeof b!="string"?(a[e]||(a[e]={}),mixin(a[e],b,c,d)):a[e]=b}),a}function bind(a,b){return function(){return b.apply(a,arguments)}}function scripts(){return document.getElementsByTagName("script")}function getGlobal(a){if(!a)return a;var b=global;return each(a.split("."),function(a){b=b[a]}),b}function makeError(a,b,c,d){var e=new Error(b+"\nhttp://requirejs.org/docs/errors.html#"+a);return e.requireType=a,e.requireModules=d,c&&(e.originalError=c),e}function newContext(a){function o(a){var b,c;for(b=0;a[b];b+=1){c=a[b];if(c===".")a.splice(b,1),b-=1;else if(c==="..")if(b!==1||a[2]!==".."&&a[0]!=="..")b>0&&(a.splice(b-1,2),b-=2);else break}}function p(a,b,c){var d,e,f,h,i,j,k,l,m,n,p,q=b&&b.split("/"),r=q,s=g.map,t=s&&s["*"];a&&a.charAt(0)==="."&&(b?(getOwn(g.pkgs,b)?r=q=[b]:r=q.slice(0,q.length-1),a=r.concat(a.split("/")),o(a),e=getOwn(g.pkgs,d=a[0]),a=a.join("/"),e&&a===d+"/"+e.main&&(a=d)):a.indexOf("./")===0&&(a=a.substring(2)));if(c&&(q||t)&&s){h=a.split("/");for(i=h.length;i>0;i-=1){k=h.slice(0,i).join("/");if(q)for(j=q.length;j>0;j-=1){f=getOwn(s,q.slice(0,j).join("/"));if(f){f=getOwn(f,k);if(f){l=f,m=i;break}}}if(l)break;!n&&t&&getOwn(t,k)&&(n=getOwn(t,k),p=i)}!l&&n&&(l=n,m=p),l&&(h.splice(0,m,l),a=h.join("/"))}return a}function q(a){isBrowser&&each(scripts(),function(b){if(b.getAttribute("data-requiremodule")===a&&b.getAttribute("data-requirecontext")===d.contextName)return b.parentNode.removeChild(b),!0})}function r(a){var b=getOwn(g.paths,a);if(b&&isArray(b)&&b.length>1)return q(a),b.shift(),d.require.undef(a),d.require([a]),!0}function s(a){var b,c=a?a.indexOf("!"):-1;return c>-1&&(b=a.substring(0,c),a=a.substring(c+1,a.length)),[b,a]}function t(a,b,c,e){var f,g,h,i,j=null,l=b?b.name:null,o=a,q=!0,r="";return a||(q=!1,a="_@r"+(m+=1)),i=s(a),j=i[0],a=i[1],j&&(j=p(j,l,e),g=getOwn(k,j)),a&&(j?g&&g.normalize?r=g.normalize(a,function(a){return p(a,l,e)}):r=p(a,l,e):(r=p(a,l,e),i=s(r),j=i[0],r=i[1],c=!0,f=d.nameToUrl(r))),h=j&&!g&&!c?"_unnormalized"+(n+=1):"",{prefix:j,name:r,parentMap:b,unnormalized:!!h,url:f,originalName:o,isDefine:q,id:(j?j+"!"+r:r)+h}}function u(a){var b=a.id,c=getOwn(h,b);return c||(c=h[b]=new d.Module(a)),c}function v(a,b,c){var d=a.id,e=getOwn(h,d);hasProp(k,d)&&(!e||e.defineEmitComplete)?b==="defined"&&c(k[d]):u(a).on(b,c)}function w(a,b){var c=a.requireModules,d=!1;b?b(a):(each(c,function(b){var c=getOwn(h,b);c&&(c.error=a,c.events.error&&(d=!0,c.emit("error",a)))}),d||req.onError(a))}function x(){globalDefQueue.length&&(apsp.apply(j,[j.length-1,0].concat(globalDefQueue)),globalDefQueue=[])}function y(a){delete h[a]}function z(a,b,c){var d=a.map.id;a.error?a.emit("error",a.error):(b[d]=!0,each(a.depMaps,function(d,e){var f=d.id,g=getOwn(h,f);g&&!a.depMatched[e]&&!c[f]&&(getOwn(b,f)?(a.defineDep(e,k[f]),a.check()):z(g,b,c))}),c[d]=!0)}function A(){var a,c,e,i,j=g.waitSeconds*1e3,k=j&&d.startTime+j<(new Date).getTime(),l=[],m=[],n=!1,o=!0;if(b)return;b=!0,eachProp(h,function(b){a=b.map,c=a.id;if(!b.enabled)return;a.isDefine||m.push(b);if(!b.error)if(!b.inited&&k)r(c)?(i=!0,n=!0):(l.push(c),q(c));else if(!b.inited&&b.fetched&&a.isDefine){n=!0;if(!a.prefix)return o=!1}});if(k&&l.length)return e=makeError("timeout","Load timeout for modules: "+l,null,l),e.contextName=d.contextName,w(e);o&&each(m,function(a){z(a,{},{})}),(!k||i)&&n&&(isBrowser||isWebWorker)&&!f&&(f=setTimeout(function(){f=0,A()},50)),b=!1}function B(a){hasProp(k,a[0])||u(t(a[0],null,!0)).init(a[1],a[2])}function C(a,b,c,d){a.detachEvent&&!isOpera?d&&a.detachEvent(d,b):a.removeEventListener(c,b,!1)}function D(a){var b=a.currentTarget||a.srcElement;return C(b,d.onScriptLoad,"load","onreadystatechange"),C(b,d.onScriptError,"error"),{node:b,id:b&&b.getAttribute("data-requiremodule")}}function E(){var a;x();while(j.length){a=j.shift();if(a[0]===null)return w(makeError("mismatch","Mismatched anonymous define() module: "+a[a.length-1]));B(a)}}var b,c,d,e,f,g={waitSeconds:7,baseUrl:"./",paths:{},pkgs:{},shim:{},map:{},config:{}},h={},i={},j=[],k={},l={},m=1,n=1;return e={require:function(a){return a.require?a.require:a.require=d.makeRequire(a.map)},exports:function(a){a.usingExports=!0;if(a.map.isDefine)return a.exports?a.exports:a.exports=k[a.map.id]={}},module:function(a){return a.module?a.module:a.module={id:a.map.id,uri:a.map.url,config:function(){return g.config&&getOwn(g.config,a.map.id)||{}},exports:k[a.map.id]}}},c=function(a){this.events=getOwn(i,a.id)||{},this.map=a,this.shim=getOwn(g.shim,a.id),this.depExports=[],this.depMaps=[],this.depMatched=[],this.pluginMaps={},this.depCount=0},c.prototype={init:function(a,b,c,d){d=d||{};if(this.inited)return;this.factory=b,c?this.on("error",c):this.events.error&&(c=bind(this,function(a){this.emit("error",a)})),this.depMaps=a&&a.slice(0),this.errback=c,this.inited=!0,this.ignore=d.ignore,d.enabled||this.enabled?this.enable():this.check()},defineDep:function(a,b){this.depMatched[a]||(this.depMatched[a]=!0,this.depCount-=1,this.depExports[a]=b)},fetch:function(){if(this.fetched)return;this.fetched=!0,d.startTime=(new Date).getTime();var a=this.map;if(this.shim)d.makeRequire(this.map,{enableBuildCallback:!0})(this.shim.deps||[],bind(this,function(){return a.prefix?this.callPlugin():this.load()}));else return a.prefix?this.callPlugin():this.load()},load:function(){var a=this.map.url;l[a]||(l[a]=!0,d.load(this.map.id,a))},check:function(){if(!this.enabled||this.enabling)return;var a,b,c=this.map.id,e=this.depExports,f=this.exports,g=this.factory;if(!this.inited)this.fetch();else if(this.error)this.emit("error",this.error);else if(!this.defining){this.defining=!0;if(this.depCount<1&&!this.defined){if(isFunction(g)){if(this.events.error)try{f=d.execCb(c,g,e,f)}catch(i){a=i}else f=d.execCb(c,g,e,f);this.map.isDefine&&(b=this.module,b&&b.exports!==undefined&&b.exports!==this.exports?f=b.exports:f===undefined&&this.usingExports&&(f=this.exports));if(a)return a.requireMap=this.map,a.requireModules=[this.map.id],a.requireType="define",w(this.error=a)}else f=g;this.exports=f,this.map.isDefine&&!this.ignore&&(k[c]=f,req.onResourceLoad&&req.onResourceLoad(d,this.map,this.depMaps)),delete h[c],this.defined=!0}this.defining=!1,this.defined&&!this.defineEmitted&&(this.defineEmitted=!0,this.emit("defined",this.exports),this.defineEmitComplete=!0)}},callPlugin:function(){var a=this.map,b=a.id,c=t(a.prefix);this.depMaps.push(c),v(c,"defined",bind(this,function(c){var e,f,i,j=this.map.name,k=this.map.parentMap?this.map.parentMap.name:null,l=d.makeRequire(a.parentMap,{enableBuildCallback:!0});if(this.map.unnormalized){c.normalize&&(j=c.normalize(j,function(a){return p(a,k,!0)})||""),f=t(a.prefix+"!"+j,this.map.parentMap),v(f,"defined",bind(this,function(a){this.init([],function(){return a},null,{enabled:!0,ignore:!0})})),i=getOwn(h,f.id),i&&(this.depMaps.push(f),this.events.error&&i.on("error",bind(this,function(a){this.emit("error",a)})),i.enable());return}e=bind(this,function(a){this.init([],function(){return a},null,{enabled:!0})}),e.error=bind(this,function(a){this.inited=!0,this.error=a,a.requireModules=[b],eachProp(h,function(a){a.map.id.indexOf(b+"_unnormalized")===0&&y(a.map.id)}),w(a)}),e.fromText=bind(this,function(c,f){var h=a.name,i=t(h),j=useInteractive;f&&(c=f),j&&(useInteractive=!1),u(i),hasProp(g.config,b)&&(g.config[h]=g.config[b]);try{req.exec(c)}catch(k){return w(makeError("fromtexteval","fromText eval for "+b+" failed: "+k,k,[b]))}j&&(useInteractive=!0),this.depMaps.push(i),d.completeLoad(h),l([h],e)}),c.load(a.name,l,e,g)})),d.enable(c,this),this.pluginMaps[c.id]=c},enable:function(){this.enabled=!0,this.enabling=!0,each(this.depMaps,bind(this,function(a,b){var c,f,g;if(typeof a=="string"){a=t(a,this.map.isDefine?this.map:this.map.parentMap,!1,!this.skipMap),this.depMaps[b]=a,g=getOwn(e,a.id);if(g){this.depExports[b]=g(this);return}this.depCount+=1,v(a,"defined",bind(this,function(a){this.defineDep(b,a),this.check()})),this.errback&&v(a,"error",this.errback)}c=a.id,f=h[c],!hasProp(e,c)&&f&&!f.enabled&&d.enable(a,this)})),eachProp(this.pluginMaps,bind(this,function(a){var b=getOwn(h,a.id);b&&!b.enabled&&d.enable(a,this)})),this.enabling=!1,this.check()},on:function(a,b){var c=this.events[a];c||(c=this.events[a]=[]),c.push(b)},emit:function(a,b){each(this.events[a],function(a){a(b)}),a==="error"&&delete this.events[a]}},d={config:g,contextName:a,registry:h,defined:k,urlFetched:l,defQueue:j,Module:c,makeModuleMap:t,nextTick:req.nextTick,configure:function(a){a.baseUrl&&a.baseUrl.charAt(a.baseUrl.length-1)!=="/"&&(a.baseUrl+="/");var b=g.pkgs,c=g.shim,e={paths:!0,config:!0,map:!0};eachProp(a,function(a,b){e[b]?b==="map"?mixin(g[b],a,!0,!0):mixin(g[b],a,!0):g[b]=a}),a.shim&&(eachProp(a.shim,function(a,b){isArray(a)&&(a={deps:a}),(a.exports||a.init)&&!a.exportsFn&&(a.exportsFn=d.makeShimExports(a)),c[b]=a}),g.shim=c),a.packages&&(each(a.packages,function(a){var c;a=typeof a=="string"?{name:a}:a,c=a.location,b[a.name]={name:a.name,location:c||a.name,main:(a.main||"main").replace(currDirRegExp,"").replace(jsSuffixRegExp,"")}}),g.pkgs=b),eachProp(h,function(a,b){!a.inited&&!a.map.unnormalized&&(a.map=t(b))}),(a.deps||a.callback)&&d.require(a.deps||[],a.callback)},makeShimExports:function(a){function b(){var b;return a.init&&(b=a.init.apply(global,arguments)),b||a.exports&&getGlobal(a.exports)}return b},makeRequire:function(b,c){function f(g,i,j){var l,m,n;return c.enableBuildCallback&&i&&isFunction(i)&&(i.__requireJsBuild=!0),typeof g=="string"?isFunction(i)?w(makeError("requireargs","Invalid require call"),j):b&&hasProp(e,g)?e[g](h[b.id]):req.get?req.get(d,g,b):(m=t(g,b,!1,!0),l=m.id,hasProp(k,l)?k[l]:w(makeError("notloaded",'Module name "'+l+'" has not been loaded yet for context: '+a+(b?"":". Use require([])")))):(E(),d.nextTick(function(){E(),n=u(t(null,b)),n.skipMap=c.skipMap,n.init(g,i,j,{enabled:!0}),A()}),f)}return c=c||{},mixin(f,{isBrowser:isBrowser,toUrl:function(a){var c,e,f=a.lastIndexOf("."),g=a.split("/")[0],h=g==="."||g==="..";return f!==-1&&(!h||f>1)&&(c=a.substring(f,a.length),a=a.substring(0,f)),e=d.nameToUrl(p(a,b&&b.id,!0),c||".fake"),c?e:e.substring(0,e.length-5)},defined:function(a){return hasProp(k,t(a,b,!1,!0).id)},specified:function(a){return a=t(a,b,!1,!0).id,hasProp(k,a)||hasProp(h,a)}}),b||(f.undef=function(a){x();var c=t(a,b,!0),d=getOwn(h,a);delete k[a],delete l[c.url],delete i[a],d&&(d.events.defined&&(i[a]=d.events),y(a))}),f},enable:function(a){var b=getOwn(h,a.id);b&&u(a).enable()},completeLoad:function(a){var b,c,d,e=getOwn(g.shim,a)||{},f=e.exports;x();while(j.length){c=j.shift();if(c[0]===null){c[0]=a;if(b)break;b=!0}else c[0]===a&&(b=!0);B(c)}d=getOwn(h,a);if(!b&&!hasProp(k,a)&&d&&!d.inited){if(g.enforceDefine&&(!f||!getGlobal(f))){if(r(a))return;return w(makeError("nodefine","No define call for "+a,null,[a]))}B([a,e.deps||[],e.exportsFn])}A()},nameToUrl:function(a,b){var c,d,e,f,h,i,j,k,l;if(req.jsExtRegExp.test(a))k=a+(b||"");else{c=g.paths,d=g.pkgs,h=a.split("/");for(i=h.length;i>0;i-=1){j=h.slice(0,i).join("/"),e=getOwn(d,j),l=getOwn(c,j);if(l){isArray(l)&&(l=l[0]),h.splice(0,i,l);break}if(e){a===e.name?f=e.location+"/"+e.main:f=e.location,h.splice(0,i,f);break}}k=h.join("/"),k+=b||(/\?/.test(k)?"":".js"),k=(k.charAt(0)==="/"||k.match(/^[\w\+\.\-]+:/)?"":g.baseUrl)+k}return g.urlArgs?k+((k.indexOf("?")===-1?"?":"&")+g.urlArgs):k},load:function(a,b){req.load(d,a,b)},execCb:function(a,b,c,d){return b.apply(d,c)},onScriptLoad:function(a){if(a.type==="load"||readyRegExp.test((a.currentTarget||a.srcElement).readyState)){interactiveScript=null;var b=D(a);d.completeLoad(b.id)}},onScriptError:function(a){var b=D(a);if(!r(b.id))return w(makeError("scripterror","Script error",a,[b.id]))}},d.require=d.makeRequire(),d}function getInteractiveScript(){return interactiveScript&&interactiveScript.readyState==="interactive"?interactiveScript:(eachReverse(scripts(),function(a){if(a.readyState==="interactive")return interactiveScript=a}),interactiveScript)}var req,s,head,baseElement,dataMain,src,interactiveScript,currentlyAddingScript,mainScript,subPath,version="2.1.4",commentRegExp=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,cjsRequireRegExp=/[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,jsSuffixRegExp=/\.js$/,currDirRegExp=/^\.\//,op=Object.prototype,ostring=op.toString,hasOwn=op.hasOwnProperty,ap=Array.prototype,apsp=ap.splice,isBrowser=typeof window!="undefined"&&!!navigator&&!!document,isWebWorker=!isBrowser&&typeof importScripts!="undefined",readyRegExp=isBrowser&&navigator.platform==="PLAYSTATION 3"?/^complete$/:/^(complete|loaded)$/,defContextName="_",isOpera=typeof opera!="undefined"&&opera.toString()==="[object Opera]",contexts={},cfg={},globalDefQueue=[],useInteractive=!1;if(typeof define!="undefined")return;if(typeof requirejs!="undefined"){if(isFunction(requirejs))return;cfg=requirejs,requirejs=undefined}typeof require!="undefined"&&!isFunction(require)&&(cfg=require,require=undefined),req=requirejs=function(a,b,c,d){var e,f,g=defContextName;return!isArray(a)&&typeof a!="string"&&(f=a,isArray(b)?(a=b,b=c,c=d):a=[]),f&&f.context&&(g=f.context),e=getOwn(contexts,g),e||(e=contexts[g]=req.s.newContext(g)),f&&e.configure(f),e.require(a,b,c)},req.config=function(a){return req(a)},req.nextTick=typeof setTimeout!="undefined"?function(a){setTimeout(a,4)}:function(a){a()},require||(require=req),req.version=version,req.jsExtRegExp=/^\/|:|\?|\.js$/,req.isBrowser=isBrowser,s=req.s={contexts:contexts,newContext:newContext},req({}),each(["toUrl","undef","defined","specified"],function(a){req[a]=function(){var b=contexts[defContextName];return b.require[a].apply(b,arguments)}}),isBrowser&&(head=s.head=document.getElementsByTagName("head")[0],baseElement=document.getElementsByTagName("base")[0],baseElement&&(head=s.head=baseElement.parentNode)),req.onError=function(a){throw a},req.load=function(a,b,c){var d=a&&a.config||{},e;if(isBrowser)return e=d.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script"),e.type=d.scriptType||"text/javascript",e.charset="utf-8",e.async=!0,e.setAttribute("data-requirecontext",a.contextName),e.setAttribute("data-requiremodule",b),e.attachEvent&&!(e.attachEvent.toString&&e.attachEvent.toString().indexOf("[native code")<0)&&!isOpera?(useInteractive=!0,e.attachEvent("onreadystatechange",a.onScriptLoad)):(e.addEventListener("load",a.onScriptLoad,!1),e.addEventListener("error",a.onScriptError,!1)),e.src=c,currentlyAddingScript=e,baseElement?head.insertBefore(e,baseElement):head.appendChild(e),currentlyAddingScript=null,e;isWebWorker&&(importScripts(c),a.completeLoad(b))},isBrowser&&eachReverse(scripts(),function(a){head||(head=a.parentNode),dataMain=a.getAttribute("data-main");if(dataMain)return cfg.baseUrl||(src=dataMain.split("/"),mainScript=src.pop(),subPath=src.length?src.join("/")+"/":"./",cfg.baseUrl=subPath,dataMain=mainScript),dataMain=dataMain.replace(jsSuffixRegExp,""),cfg.deps=cfg.deps?cfg.deps.concat(dataMain):[dataMain],!0}),define=function(a,b,c){var d,e;typeof a!="string"&&(c=b,b=a,a=null),isArray(b)||(c=b,b=[]),!b.length&&isFunction(c)&&c.length&&(c.toString().replace(commentRegExp,"").replace(cjsRequireRegExp,function(a,c){b.push(c)}),b=(c.length===1?["require"]:["require","exports","module"]).concat(b)),useInteractive&&(d=currentlyAddingScript||getInteractiveScript(),d&&(a||(a=d.getAttribute("data-requiremodule")),e=contexts[d.getAttribute("data-requirecontext")])),(e?e.defQueue:globalDefQueue).push([a,b,c])},define.amd={jQuery:!0},req.exec=function(text){return eval(text)},req(cfg)})(this)}typeof window.__blanket_old_define!="undefined"&&(window.define=window.__blanket_old_define),blanket.defaultReporter=function(a){function k(a){var b=document.getElementById(a);b.style.display==="block"?b.style.display="none":b.style.display="block"}function o(a){return a.replace(/\&/g,"&").replace(/</g,"<").replace(/\>/g,">").replace(/\"/g,""").replace(/\'/g,"'")}function p(a,b){var c=b?0:1;return typeof a=="undefined"||typeof a===null||typeof a[c]=="undefined"?!1:a[c].length>0}function r(a,b,c,d,e){var f="",g="";if(q.length>0){f+="<span class='"+(p(q[0][1],q[0][1].consequent===q[0][0])?"branchOkay":"branchWarning")+"'>";if(q[0][0].end.line===e){f+=o(b.slice(0,q[0][0].end.column))+"</span>",b=b.slice(q[0][0].end.column),q.shift();if(q.length>0){f+="<span class='"+(p(q[0][1],!1)?"branchOkay":"branchWarning")+"'>";if(q[0][0].end.line===e){f+=o(b.slice(0,q[0][0].end.column))+"</span>",b=b.slice(q[0][0].end.column),q.shift();if(!c)return{src:f+o(b),cols:c}}else{if(!c)return{src:f+o(b)+"</span>",cols:c};g="</span>"}}else if(!c)return{src:f+o(b),cols:c}}else{if(!c)return{src:f+o(b)+"</span>",cols:c};g="</span>"}}var h=c[a],i=h.consequent;if(i.start.line>e)q.unshift([h.alternate,h]),q.unshift([i,h]),b=o(b);else{var j="<span class='"+(p(h,!0)?"branchOkay":"branchWarning")+"'>";f+=o(b.slice(0,i.start.column-d))+j;if(c.length>a+1&&c[a+1].consequent.start.line===e&&c[a+1].consequent.start.column-d<c[a].consequent.end.column-d){var k=r(a+1,b.slice(i.start.column-d,i.end.column-d),c,i.start.column-d,e);f+=k.src,c=k.cols,c[a+1]=c[a+2],c.length--}else f+=o(b.slice(i.start.column-d,i.end.column-d));f+="</span>";var l=h.alternate;if(l.start.line>e)f+=o(b.slice(i.end.column-d)),q.unshift([l,h]);else{f+=o(b.slice(i.end.column-d,l.start.column-d)),j="<span class='"+(p(h,!1)?"branchOkay":"branchWarning")+"'>",f+=j;if(c.length>a+1&&c[a+1].consequent.start.line===e&&c[a+1].consequent.start.column-d<c[a].alternate.end.column-d){var m=r(a+1,b.slice(l.start.column-d,l.end.column-d),c,l.start.column-d,e);f+=m.src,c=m.cols,c[a+1]=c[a+2],c.length--}else f+=o(b.slice(l.start.column-d,l.end.column-d));f+="</span>",f+=o(b.slice(l.end.column-d)),b=f}}return{src:b+g,cols:c}}var b="#blanket-main {margin:2px;background:#EEE;color:#333;clear:both;font-family:'Helvetica Neue Light', 'HelveticaNeue-Light', 'Helvetica Neue', Calibri, Helvetica, Arial, sans-serif; font-size:17px;} #blanket-main a {color:#333;text-decoration:none;} #blanket-main a:hover {text-decoration:underline;} .blanket {margin:0;padding:5px;clear:both;border-bottom: 1px solid #FFFFFF;} .bl-error {color:red;}.bl-success {color:#5E7D00;} .bl-file{width:auto;} .bl-cl{float:left;} .blanket div.rs {margin-left:50px; width:150px; float:right} .bl-nb {padding-right:10px;} #blanket-main a.bl-logo {color: #EB1764;cursor: pointer;font-weight: bold;text-decoration: none} .bl-source{ overflow-x:scroll; background-color: #FFFFFF; border: 1px solid #CBCBCB; color: #363636; margin: 25px 20px; width: 80%;} .bl-source div{white-space: pre;font-family: monospace;} .bl-source > div > span:first-child{background-color: #EAEAEA;color: #949494;display: inline-block;padding: 0 10px;text-align: center;width: 30px;} .bl-source .miss{background-color:#e6c3c7} .bl-source span.branchWarning{color:#000;background-color:yellow;} .bl-source span.branchOkay{color:#000;background-color:transparent;}",c=60,d=document.head,e=0,f=document.body,g,h=Object.keys(a.files).some(function(b){return typeof a.files[b].branchData!="undefined"}),i="<div id='blanket-main'><div class='blanket bl-title'><div class='bl-cl bl-file'><a href='http://alex-seville.github.com/blanket/' target='_blank' class='bl-logo'>Blanket.js</a> results</div><div class='bl-cl rs'>Coverage (%)</div><div class='bl-cl rs'>Covered/Total Smts.</div>"+(h?"<div class='bl-cl rs'>Covered/Total Branches</div>":"")+"<div style='clear:both;'></div></div>",j="<div class='blanket {{statusclass}}'><div class='bl-cl bl-file'><span class='bl-nb'>{{fileNumber}}.</span><a href='javascript:blanket_toggleSource(\"file-{{fileNumber}}\")'>{{file}}</a></div><div class='bl-cl rs'>{{percentage}} %</div><div class='bl-cl rs'>{{numberCovered}}/{{totalSmts}}</div>"+(h?"<div class='bl-cl rs'>{{passedBranches}}/{{totalBranches}}</div>":"")+"<div id='file-{{fileNumber}}' class='bl-source' style='display:none;'>{{source}}</div><div style='clear:both;'></div></div>",l=document.createElement("script");l.type="text/javascript",l.text=k.toString().replace("function "+k.name,"function blanket_toggleSource"),f.appendChild(l);var m=function(a,b){return Math.round(a/b*100*100)/100},n=function(a,b,c){var d=document.createElement(a);d.innerHTML=c,b.appendChild(d)},q=[],s=function(a){return typeof a!="undefined"},t=a.files;for(var u in t){e++;var v=t[u],w=0,x=0,y=[],z,A=[];for(z=0;z<v.source.length;z+=1){var B=v.source[z];if(q.length>0||typeof v.branchData!="undefined")if(typeof v.branchData[z+1]!="undefined"){var C=v.branchData[z+1].filter(s),D=0;B=r(D,B,C,0,z+1).src}else q.length?B=r(0,B,null,0,z+1).src:B=o(B);else B=o(B);var E="";v[z+1]?(x+=1,w+=1,E="hit"):v[z+1]===0&&(w++,E="miss"),y[z+1]="<div class='"+E+"'><span class=''>"+(z+1)+"</span>"+B+"</div>"}var F=0,G=0;if(typeof v.branchData!="undefined")for(var H=0;H<v.branchData.length;H++)if(typeof v.branchData[H]!="undefined")for(var I=0;I<v.branchData[H].length;I++)typeof v.branchData[H][I]!="undefined"&&(F++,typeof v.branchData[H][I][0]!="undefined"&&v.branchData[H][I][0].length>0&&typeof v.branchData[H][I][1]!="undefined"&&v.branchData[H][I][1].length>0&&G++);var J=m(x,w),K=j.replace("{{file}}",u).replace("{{percentage}}",J).replace("{{numberCovered}}",x).replace(/\{\{fileNumber\}\}/g,e).replace("{{totalSmts}}",w).replace("{{totalBranches}}",F).replace("{{passedBranches}}",G).replace("{{source}}",y.join(" "));J<c?K=K.replace("{{statusclass}}","bl-error"):K=K.replace("{{statusclass}}","bl-success"),i+=K}i+="</div>",n("style",d,b),document.getElementById("blanket-main")?document.getElementById("blanket-main").innerHTML=i.slice(23,-6):n("div",f,i)},function(){var a={},b=Array.prototype.slice,c=b.call(document.scripts);b.call(c[c.length-1].attributes).forEach(function(b){b.nodeName==="data-cover-only"&&(a.filter=b.nodeValue),b.nodeName==="data-cover-never"&&(a.antifilter=b.nodeValue),b.nodeName==="data-cover-reporter"&&(a.reporter=b.nodeValue),b.nodeName==="data-cover-adapter"&&(a.adapter=b.nodeValue),b.nodeName==="data-cover-loader"&&(a.loader=b.nodeValue),b.nodeName==="data-cover-timeout"&&(a.timeout=b.nodeValue),b.nodeName==="testReadyCallback"&&(a.testReadyCallback=b.nodeValue);if(b.nodeName==="data-cover-flags"){var c=" "+b.nodeValue+" ";c.indexOf(" unordered ")>-1&&(a.order=!1),c.indexOf(" ignoreError ")>-1&&(a.ignoreScriptError=!0),c.indexOf(" autoStart ")>-1&&(a.autoStart=!0),c.indexOf(" ignoreCors ")>-1&&(a.ignoreCors=!0),c.indexOf(" branchTracking ")>-1&&(a.branchTracking=!0),c.indexOf(" sourceURL ")>-1&&(a.sourceURL=!0),c.indexOf(" debug ")>-1&&(a.debug=!0),c.indexOf(" engineOnly ")>-1&&(a.engineOnly=!0),c.indexOf(" commonJS ")>-1&&(a.commonJS=!0)}}),blanket.options(a)}(),function(a){a.extend({utils:{normalizeBackslashes:function(a){return a.replace(/\\/g,"/")},matchPatternAttribute:function(b,c){if(typeof c=="string"){if(c.indexOf("[")===0){var d=c.slice(1,c.length-1).split(",");return d.some(function(c){return a.utils.matchPatternAttribute(b,a.utils.normalizeBackslashes(c.slice(1,-1)))})}if(c.indexOf("//")===0){var e=c.slice(2,c.lastIndexOf("/")),f=c.slice(c.lastIndexOf("/")+1),g=new RegExp(e,f);return g.test(b)}return c.indexOf("#")===0?window[c.slice(1)].call(window,b):b.indexOf(a.utils.normalizeBackslashes(c))>-1}if(c instanceof Array)return c.some(function(c){return a.utils.matchPatternAttribute(b,c)});if(c instanceof RegExp)return c.test(b);if(typeof c=="function")return c.call(window,b)},blanketEval:function(a){return(window.execScript||function(a){window.eval.call(window,a)})(a)},collectPageScripts:function(){var b=Array.prototype.slice,c=b.call(document.scripts),d=[],e=[],f=a.options("filter");if(f!=null){var g=a.options("antifilter");d=b.call(document.scripts).filter(function(c){return b.call(c.attributes).filter(function(b){return b.nodeName==="src"&&a.utils.matchPatternAttribute(b.nodeValue,f)&&(typeof g=="undefined"||!a.utils.matchPatternAttribute(b.nodeValue,g))}).length===1})}else d=b.call(document.querySelectorAll("script[data-cover]"));return e=d.map(function(c){return a.utils.qualifyURL(b.call(c.attributes).filter(function(a){return a.nodeName==="src"})[0].nodeValue).replace(".js","")}),f||a.options("filter","['"+e.join("','")+"']"),e}}}),a.options("engineOnly")||(a.utils.oldloader=requirejs.load,requirejs.load=function(b,c,d){a.requiringFile(d),requirejs.cget(d,function(e){var f=a.options("commonJS");f&&(e="define(require,exports,module){"+e+"});");var g=a.options("filter"),h=a.options("antifilter");typeof h!="undefined"&&a.utils.matchPatternAttribute(d.replace(".js",""),h)?(a.utils.oldloader(b,c,d),a.options("debug")&&console.log("BLANKET-File will never be instrumented:"+d),a.requiringFile(d,!0)):a.utils.matchPatternAttribute(d.replace(".js",""),g)?(a.options("debug")&&console.log("BLANKET-Attempting instrument of:"+d),a.instrument({inputFile:e,inputFileName:d},function(e){try{a.utils.blanketEval(e),b.completeLoad(c),a.requiringFile(d,!0)}catch(f){if(a.options("ignoreScriptError"))a.options("debug")&&console.log("BLANKET-There was an error loading the file:"+d),b.completeLoad(c),a.requiringFile(d,!0);else throw new Error("Error parsing instrumented code: "+f)}})):(a.options("debug")&&console.log("BLANKET-Loading (without instrumenting) the file:"+d),a.utils.oldloader(b,c,d),a.requiringFile(d,!0))},function(b){throw a.requiringFile(),b})},requirejs.createXhr=function(){var a,b,c;if(typeof XMLHttpRequest!="undefined")return new XMLHttpRequest;if(typeof ActiveXObject!="undefined")for(b=0;b<3;b+=1){c=progIds[b];try{a=new ActiveXObject(c)}catch(d){}if(a){progIds=[c];break}}return a},requirejs.cget=function(b,c,d,e){var f=!1;if(a.blanketSession){var g=Object.keys(a.blanketSession);for(var h=0;h<g.length;h++){var i=g[h];if(b.indexOf(i)>-1){c(a.blanketSession[i]),f=!0;return}}}if(!f){var j=requirejs.createXhr();j.open("GET",b,!0),e&&e(j,b),j.onreadystatechange=function(a){var e,f;j.readyState===4&&(e=j.status,e>399&&e<600?(f=new Error(b+" HTTP status: "+e),f.xhr=j,d(f)):c(j.responseText))};try{j.send(null)}catch(k){if(!k.code||k.code!==101&&k.code!==1012||a.options("ignoreCors")!==!1)throw k;a.showManualLoader()}}})}(blanket),function(){function a(a,b){return(b-a)/1e3}function b(a){function b(a){return a<10?"0"+a:a}return a.getFullYear()+"-"+b(a.getMonth()+1)+"-"+b(a.getDate())+"T"+b(a.getHours())+":"+b(a.getMinutes())+":"+b(a.getSeconds())}function c(a){return a.replace(/^\s+/,"").replace(/\s+$/,"")}function d(a){return a.replace(/\&/g,"&").replace(/</g,"<").replace(/\>/g,">").replace(/\"/g,""").replace(/\'/g,"'")}if(!jasmine)throw new Exception("jasmine library does not exist in global namespace!");var e=function(a,b,c){blanket.setupCoverage()};e.finished_at=null,e.prototype={reportSpecStarting:function(a){blanket.onTestStart()},reportSpecResults:function(a){var b=a.results();blanket.onTestDone(b.totalCount,b.passed())},reportRunnerResults:function(a){blanket.onTestsDone()},log:function(a){var b=jasmine.getGlobal().console;b&&b.log&&b.log(a)}},jasmine.BlanketReporter=e,jasmine.getEnv().execute=function(){console.log("waiting for blanket...")};var f=function(){return window.jasmine.getEnv().currentRunner().specs().length>0&&blanket.requireFilesLoaded()};blanket.beforeStartTestRunner({checkRequirejs:!0,condition:f,callback:function(){jasmine.getEnv().addReporter(new jasmine.BlanketReporter),window.jasmine.getEnv().currentRunner().execute(),jasmine.getEnv().execute=jasmine.getEnv().currentRunner().execute}})}();