spider-src 0.1.5 → 0.1.6

Sign up to get free protection for your applications and to get access to all the features.
Files changed (864) hide show
  1. checksums.yaml +13 -5
  2. data/lib/spider-src/support/spider/node_modules/.bin/spider +104 -0
  3. data/lib/spider-src/support/spider/node_modules/spider-script/CHANGELOG.md +64 -0
  4. data/lib/spider-src/support/spider/node_modules/spider-script/LICENSE +201 -0
  5. data/lib/spider-src/support/spider/node_modules/spider-script/README.md +49 -0
  6. data/lib/spider-src/support/spider/node_modules/spider-script/cli.js +104 -0
  7. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/CaseClause.js +185 -0
  8. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/CaseClause.map +1 -0
  9. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/CatchClause.js +32 -0
  10. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/CatchClause.map +1 -0
  11. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ExportBatchSpecifier.js +25 -0
  12. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ExportBatchSpecifier.map +1 -0
  13. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ExportSpecifier.js +39 -0
  14. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ExportSpecifier.map +1 -0
  15. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ImportDefaultSpecifier.js +29 -0
  16. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ImportDefaultSpecifier.map +1 -0
  17. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ImportNamespaceSpecifier.js +29 -0
  18. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ImportNamespaceSpecifier.map +1 -0
  19. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ImportSpecifier.js +46 -0
  20. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/ImportSpecifier.map +1 -0
  21. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Node.js +99 -0
  22. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Node.map +1 -0
  23. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Parameter.js +235 -0
  24. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Parameter.map +1 -0
  25. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Program.js +64 -0
  26. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Program.map +1 -0
  27. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Property.js +38 -0
  28. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Property.map +1 -0
  29. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Range.js +263 -0
  30. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/Range.map +1 -0
  31. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/VariableDeclarator.js +35 -0
  32. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/VariableDeclarator.map +1 -0
  33. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ArrayExpression.js +47 -0
  34. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ArrayExpression.map +1 -0
  35. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ArrayPattern.js +51 -0
  36. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ArrayPattern.map +1 -0
  37. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/AssignmentExpression.js +35 -0
  38. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/AssignmentExpression.map +1 -0
  39. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/BinaryExpression.js +110 -0
  40. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/BinaryExpression.map +1 -0
  41. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/CallExpression.js +145 -0
  42. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/CallExpression.map +1 -0
  43. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ConditionalExpression.js +37 -0
  44. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ConditionalExpression.map +1 -0
  45. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/CurryCallExpression.js +108 -0
  46. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/CurryCallExpression.map +1 -0
  47. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ExistentialExpression.js +89 -0
  48. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ExistentialExpression.map +1 -0
  49. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ForInExpression.js +122 -0
  50. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ForInExpression.map +1 -0
  51. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/FunctionExpression.js +163 -0
  52. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/FunctionExpression.map +1 -0
  53. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/InExpression.js +105 -0
  54. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/InExpression.map +1 -0
  55. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/LogicalExpression.js +56 -0
  56. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/LogicalExpression.map +1 -0
  57. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/MemberExpression.js +49 -0
  58. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/MemberExpression.map +1 -0
  59. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NewExpression.js +52 -0
  60. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NewExpression.map +1 -0
  61. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NullCheckCallExpression.js +138 -0
  62. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NullCheckCallExpression.map +1 -0
  63. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NullCoalescingExpression.js +120 -0
  64. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NullCoalescingExpression.map +1 -0
  65. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NullPropagatingExpression.js +167 -0
  66. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/NullPropagatingExpression.map +1 -0
  67. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ObjectExpression.js +45 -0
  68. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ObjectExpression.map +1 -0
  69. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ObjectPattern.js +55 -0
  70. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ObjectPattern.map +1 -0
  71. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/RangeMemberExpression.js +163 -0
  72. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/RangeMemberExpression.map +1 -0
  73. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/SplatExpression.js +54 -0
  74. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/SplatExpression.map +1 -0
  75. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/SuperExpression.js +176 -0
  76. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/SuperExpression.map +1 -0
  77. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ThisExpression.js +28 -0
  78. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/ThisExpression.map +1 -0
  79. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/UnaryExpression.js +153 -0
  80. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/UnaryExpression.map +1 -0
  81. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/UpdateExpression.js +32 -0
  82. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/expressions/UpdateExpression.map +1 -0
  83. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/BooleanLiteral.js +30 -0
  84. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/BooleanLiteral.map +1 -0
  85. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/Identifier.js +66 -0
  86. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/Identifier.map +1 -0
  87. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/NullLiteral.js +30 -0
  88. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/NullLiteral.map +1 -0
  89. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/NumberLiteral.js +30 -0
  90. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/NumberLiteral.map +1 -0
  91. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/RegularExpressionLiteral.js +31 -0
  92. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/RegularExpressionLiteral.map +1 -0
  93. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/StringLiteral.js +96 -0
  94. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/StringLiteral.map +1 -0
  95. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/UndefinedLiteral.js +36 -0
  96. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/literals/UndefinedLiteral.map +1 -0
  97. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/BlockStatement.js +53 -0
  98. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/BlockStatement.map +1 -0
  99. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/BreakStatement.js +25 -0
  100. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/BreakStatement.map +1 -0
  101. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ContinueStatement.js +25 -0
  102. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ContinueStatement.map +1 -0
  103. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/DebuggerStatement.js +25 -0
  104. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/DebuggerStatement.map +1 -0
  105. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/DoWhileStatement.js +31 -0
  106. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/DoWhileStatement.map +1 -0
  107. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ExportDeclarationStatement.js +57 -0
  108. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ExportDeclarationStatement.map +1 -0
  109. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ExpressionStatement.js +28 -0
  110. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ExpressionStatement.map +1 -0
  111. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/FallthroughStatement.js +80 -0
  112. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/FallthroughStatement.map +1 -0
  113. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ForInStatement.js +85 -0
  114. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ForInStatement.map +1 -0
  115. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ForOfStatement.js +104 -0
  116. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ForOfStatement.map +1 -0
  117. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ForStatement.js +49 -0
  118. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ForStatement.map +1 -0
  119. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/FunctionDeclarationStatement.js +110 -0
  120. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/FunctionDeclarationStatement.map +1 -0
  121. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/GoStatement.js +47 -0
  122. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/GoStatement.map +1 -0
  123. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/IfStatement.js +38 -0
  124. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/IfStatement.map +1 -0
  125. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ImportDeclarationStatement.js +46 -0
  126. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ImportDeclarationStatement.map +1 -0
  127. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/PushStatement.js +43 -0
  128. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/PushStatement.map +1 -0
  129. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ReturnStatement.js +32 -0
  130. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ReturnStatement.map +1 -0
  131. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/SwitchStatement.js +165 -0
  132. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/SwitchStatement.map +1 -0
  133. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ThrowStatement.js +28 -0
  134. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/ThrowStatement.map +1 -0
  135. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/TryStatement.js +42 -0
  136. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/TryStatement.map +1 -0
  137. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/UntilStatement.js +37 -0
  138. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/UntilStatement.map +1 -0
  139. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/UseStatement.js +55 -0
  140. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/UseStatement.map +1 -0
  141. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/VariableDeclarationStatement.js +42 -0
  142. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/VariableDeclarationStatement.map +1 -0
  143. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/WhileStatement.js +31 -0
  144. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast/statements/WhileStatement.map +1 -0
  145. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast.js +22 -0
  146. data/lib/spider-src/support/spider/node_modules/spider-script/lib/ast.map +1 -0
  147. data/lib/spider-src/support/spider/node_modules/spider-script/lib/parser.js +14878 -0
  148. data/lib/spider-src/support/spider/node_modules/spider-script/lib/spider.js +223 -0
  149. data/lib/spider-src/support/spider/node_modules/spider-script/lib/spider.map +1 -0
  150. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/.bin/escodegen +77 -0
  151. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/.bin/esgenerate +64 -0
  152. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/.bin/pegjs +263 -0
  153. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/.bin/traceur +3 -0
  154. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/index.js +95 -0
  155. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/.bin/has-ansi +53 -0
  156. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/.bin/strip-ansi +39 -0
  157. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/.bin/supports-color +28 -0
  158. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/ansi-styles/index.js +40 -0
  159. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/ansi-styles/package.json +74 -0
  160. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/ansi-styles/readme.md +70 -0
  161. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/escape-string-regexp/index.js +11 -0
  162. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/escape-string-regexp/package.json +69 -0
  163. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/escape-string-regexp/readme.md +27 -0
  164. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/has-ansi/cli.js +53 -0
  165. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/has-ansi/index.js +4 -0
  166. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/index.js +4 -0
  167. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/package.json +79 -0
  168. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/has-ansi/node_modules/ansi-regex/readme.md +33 -0
  169. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/has-ansi/package.json +85 -0
  170. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/has-ansi/readme.md +45 -0
  171. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/strip-ansi/cli.js +39 -0
  172. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/strip-ansi/index.js +6 -0
  173. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/index.js +4 -0
  174. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/package.json +79 -0
  175. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/strip-ansi/node_modules/ansi-regex/readme.md +33 -0
  176. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/strip-ansi/package.json +84 -0
  177. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/strip-ansi/readme.md +43 -0
  178. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/supports-color/cli.js +28 -0
  179. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/supports-color/index.js +32 -0
  180. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/supports-color/package.json +78 -0
  181. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/node_modules/supports-color/readme.md +44 -0
  182. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/package.json +82 -0
  183. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/chalk/readme.md +175 -0
  184. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/.gitattributes +1 -0
  185. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/LICENSE.BSD +19 -0
  186. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/LICENSE.source-map +27 -0
  187. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/README.md +116 -0
  188. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/LICENSE +19 -0
  189. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/Readme.md +28 -0
  190. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/backbone-0.5.3-ast.json +1 -0
  191. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/ext-core-3.0.0-ast.json +1 -0
  192. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/ext-core-3.1.0-ast.json +1 -0
  193. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/jquery-1.6.4-ast.json +1 -0
  194. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/jquery-1.7.1-ast.json +1 -0
  195. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/jquery.mobile-1.0-ast.json +1 -0
  196. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/mootools-1.3.2-ast.json +1 -0
  197. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/mootools-1.4.1-ast.json +1 -0
  198. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/prototype-1.6.1-ast.json +1 -0
  199. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/prototype-1.7.0.0-ast.json +1 -0
  200. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts/underscore-1.2.3-ast.json +1 -0
  201. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/asts.js +29 -0
  202. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/index.js +40 -0
  203. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/old.js +2694 -0
  204. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/package.json +18 -0
  205. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/trace_cycle.js +8 -0
  206. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/v8_trace +18 -0
  207. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/v8_trace_reports/deoptimizations.log +8 -0
  208. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/v8_trace_reports/never_optimized.log +4 -0
  209. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/benchmark/v8_trace_reports/not_inlined.log +24 -0
  210. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/bin/escodegen.js +77 -0
  211. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/bin/esgenerate.js +64 -0
  212. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/escodegen.js +2387 -0
  213. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/gulpfile.js +82 -0
  214. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/.bin/esparse +127 -0
  215. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/.bin/esvalidate +199 -0
  216. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/README.md +24 -0
  217. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/bin/esparse.js +127 -0
  218. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/bin/esvalidate.js +199 -0
  219. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/esprima.js +3756 -0
  220. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/package.json +96 -0
  221. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/test/compat.js +241 -0
  222. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/test/reflect.js +422 -0
  223. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/test/run.js +67 -0
  224. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/test/runner.js +495 -0
  225. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esprima/test/test.js +25241 -0
  226. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/estraverse/.jshintrc +16 -0
  227. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/estraverse/LICENSE.BSD +19 -0
  228. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/estraverse/README.md +124 -0
  229. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/estraverse/estraverse.js +838 -0
  230. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/estraverse/package.json +60 -0
  231. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esutils/LICENSE.BSD +19 -0
  232. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esutils/README.md +169 -0
  233. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esutils/lib/ast.js +144 -0
  234. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esutils/lib/code.js +101 -0
  235. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esutils/lib/keyword.js +137 -0
  236. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esutils/lib/utils.js +33 -0
  237. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/esutils/package.json +66 -0
  238. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/LICENSE +22 -0
  239. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/README.md +200 -0
  240. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/lib/coerce.js +367 -0
  241. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/lib/help.js +235 -0
  242. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/lib/index.js +408 -0
  243. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/lib/parse-type.js +143 -0
  244. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/lib/util.js +46 -0
  245. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/.npmignore +1 -0
  246. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/.travis.yml +6 -0
  247. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/LICENSE +22 -0
  248. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/README.markdown +70 -0
  249. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/example/cmp.js +11 -0
  250. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/index.js +102 -0
  251. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/package.json +86 -0
  252. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/NaN.js +16 -0
  253. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/cmp.js +23 -0
  254. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/deep-is/test/neg-vs-pos-0.js +15 -0
  255. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/.npmignore +4 -0
  256. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/.travis.yml +16 -0
  257. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/CONTRIBUTING.md +22 -0
  258. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/Gruntfile.js +80 -0
  259. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/LICENSE.md +25 -0
  260. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/README.md +120 -0
  261. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/benchmark/speed.js +182 -0
  262. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/bower.json +30 -0
  263. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/levenshtein.js +192 -0
  264. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/levenshtein.min.js +2 -0
  265. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/package.json +62 -0
  266. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/test/mocha.opts +2 -0
  267. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/test/tests.js +171 -0
  268. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/test/text1.txt +1 -0
  269. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/fast-levenshtein/test/text2.txt +1 -0
  270. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/LICENSE +22 -0
  271. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/README.md +195 -0
  272. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/cast.js +298 -0
  273. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/coerce.js +285 -0
  274. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/index.js +22 -0
  275. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/parse-string.js +113 -0
  276. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/lib/parse.js +102 -0
  277. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/levn/package.json +78 -0
  278. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/LICENSE +22 -0
  279. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/README.md +15 -0
  280. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Func.js +45 -0
  281. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/List.js +677 -0
  282. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Num.js +130 -0
  283. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Obj.js +154 -0
  284. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/Str.js +92 -0
  285. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/lib/index.js +178 -0
  286. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/prelude-ls/package.json +77 -0
  287. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/type-check/LICENSE +22 -0
  288. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/type-check/README.md +210 -0
  289. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/check.js +126 -0
  290. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/index.js +16 -0
  291. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/type-check/lib/parse-type.js +196 -0
  292. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/type-check/package.json +71 -0
  293. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/.npmignore +1 -0
  294. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/README.markdown +70 -0
  295. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/example/center.js +10 -0
  296. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/example/meat.js +3 -0
  297. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/index.js +76 -0
  298. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/package.json +61 -0
  299. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/break.js +30 -0
  300. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/idleness.txt +63 -0
  301. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/node_modules/wordwrap/test/wrap.js +31 -0
  302. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/optionator/package.json +72 -0
  303. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/.npmignore +2 -0
  304. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/.travis.yml +4 -0
  305. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/CHANGELOG.md +173 -0
  306. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/LICENSE +28 -0
  307. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/Makefile.dryice.js +166 -0
  308. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/README.md +449 -0
  309. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/assert-shim.js +56 -0
  310. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/mini-require.js +152 -0
  311. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  312. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/prefix-utils.jsm +18 -0
  313. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/suffix-browser.js +8 -0
  314. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  315. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/suffix-utils.jsm +21 -0
  316. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/test-prefix.js +8 -0
  317. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/build/test-suffix.js +3 -0
  318. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/array-set.js +97 -0
  319. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/base64-vlq.js +142 -0
  320. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/base64.js +42 -0
  321. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  322. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-consumer.js +483 -0
  323. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/source-map-generator.js +401 -0
  324. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/source-node.js +408 -0
  325. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map/util.js +319 -0
  326. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/lib/source-map.js +8 -0
  327. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  328. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  329. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  330. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  331. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/node_modules/amdefine/package.json +55 -0
  332. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/package.json +170 -0
  333. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/run-tests.js +62 -0
  334. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-api.js +26 -0
  335. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  336. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64-vlq.js +23 -0
  337. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-base64.js +35 -0
  338. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  339. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
  340. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-consumer.js +531 -0
  341. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-map-generator.js +658 -0
  342. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-source-node.js +612 -0
  343. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/test-util.js +216 -0
  344. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/node_modules/source-map/test/source-map/util.js +176 -0
  345. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/escodegen/package.json +70 -0
  346. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/.name +1 -0
  347. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/encodings.xml +5 -0
  348. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/jsLibraryMappings.xml +9 -0
  349. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/libraries/multi_stage_sourcemap_node_modules.xml +14 -0
  350. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/misc.xml +9 -0
  351. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/modules.xml +9 -0
  352. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/multi-stage-sourcemap.iml +14 -0
  353. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/scopes/scope_settings.xml +5 -0
  354. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/vcs.xml +7 -0
  355. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.idea/workspace.xml +599 -0
  356. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/.npmignore +30 -0
  357. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/CHANGELOG.md +11 -0
  358. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/README.md +69 -0
  359. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/bower_components/power-assert/.bower.json +38 -0
  360. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/bower_components/power-assert/MIT-LICENSE.txt +20 -0
  361. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/bower_components/power-assert/README.md +789 -0
  362. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/bower_components/power-assert/bower.json +27 -0
  363. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/bower_components/power-assert/build/power-assert.js +8615 -0
  364. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/bower_components/power-assert/lib/power-assert.js +25 -0
  365. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/exp/build.js +84 -0
  366. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/exp/index.html +21 -0
  367. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/exp/one_pass_result.js +33 -0
  368. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/exp/origin.coffee +21 -0
  369. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/exp/two_pass_result.js +33 -0
  370. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/index.js +8 -0
  371. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/lib/multi-stage-sourcemap.js +41 -0
  372. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/.npmignore +2 -0
  373. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/.travis.yml +4 -0
  374. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/CHANGELOG.md +173 -0
  375. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/LICENSE +28 -0
  376. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/Makefile.dryice.js +166 -0
  377. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/README.md +449 -0
  378. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/assert-shim.js +56 -0
  379. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/mini-require.js +152 -0
  380. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  381. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/prefix-utils.jsm +18 -0
  382. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/suffix-browser.js +8 -0
  383. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  384. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/suffix-utils.jsm +21 -0
  385. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/test-prefix.js +8 -0
  386. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/build/test-suffix.js +3 -0
  387. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/array-set.js +97 -0
  388. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/base64-vlq.js +142 -0
  389. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/base64.js +42 -0
  390. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  391. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/source-map-consumer.js +483 -0
  392. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/source-map-generator.js +401 -0
  393. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/source-node.js +408 -0
  394. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map/util.js +319 -0
  395. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/lib/source-map.js +8 -0
  396. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  397. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  398. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  399. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  400. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/node_modules/amdefine/package.json +55 -0
  401. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/package.json +170 -0
  402. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/run-tests.js +62 -0
  403. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-api.js +26 -0
  404. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  405. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-base64-vlq.js +23 -0
  406. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-base64.js +35 -0
  407. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  408. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-dog-fooding.js +84 -0
  409. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-source-map-consumer.js +531 -0
  410. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-source-map-generator.js +658 -0
  411. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-source-node.js +612 -0
  412. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/test-util.js +216 -0
  413. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/node_modules/source-map/test/source-map/util.js +176 -0
  414. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/package.json +63 -0
  415. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/test/mocha.opts +1 -0
  416. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/multi-stage-sourcemap/test/multi-stage-sourcemap-test.js +53 -0
  417. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/.npmignore +1 -0
  418. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/LICENSE +20 -0
  419. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/README.md +325 -0
  420. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/index.js +63 -0
  421. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/.bin/strip-ansi +27 -0
  422. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/ansi-styles/ansi-styles.js +38 -0
  423. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/ansi-styles/package.json +75 -0
  424. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/ansi-styles/readme.md +65 -0
  425. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/has-color/index.js +32 -0
  426. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/has-color/package.json +71 -0
  427. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/has-color/readme.md +30 -0
  428. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/strip-ansi/cli.js +27 -0
  429. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/strip-ansi/index.js +4 -0
  430. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/strip-ansi/package.json +81 -0
  431. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/node_modules/strip-ansi/readme.md +46 -0
  432. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/package.json +78 -0
  433. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/chalk/readme.md +158 -0
  434. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/underscore/LICENSE +23 -0
  435. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/underscore/README.md +22 -0
  436. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/underscore/package.json +67 -0
  437. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/underscore/underscore-min.js +6 -0
  438. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/node_modules/underscore/underscore.js +1343 -0
  439. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/nomnom.js +584 -0
  440. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/num-vals-fix.diff +31 -0
  441. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/package.json +56 -0
  442. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/callback.js +33 -0
  443. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/commands.js +120 -0
  444. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/expected.js +60 -0
  445. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/matching.js +70 -0
  446. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/option.js +44 -0
  447. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/transform.js +65 -0
  448. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/usage.js +121 -0
  449. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test/values.js +75 -0
  450. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/nomnom/test.js +23 -0
  451. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/CHANGELOG.md +433 -0
  452. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/LICENSE +22 -0
  453. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/README.md +443 -0
  454. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/VERSION +1 -0
  455. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/bin/pegjs +263 -0
  456. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/examples/arithmetics.pegjs +22 -0
  457. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/examples/css.pegjs +557 -0
  458. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/examples/javascript.pegjs +1540 -0
  459. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/examples/json.pegjs +119 -0
  460. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/compiler/opcodes.js +46 -0
  461. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/compiler/passes/generate-bytecode.js +606 -0
  462. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/compiler/passes/generate-javascript.js +984 -0
  463. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/compiler/passes/remove-proxy-rules.js +74 -0
  464. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/compiler/passes/report-left-recursion.js +65 -0
  465. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/compiler/passes/report-missing-rules.js +46 -0
  466. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/compiler.js +61 -0
  467. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/grammar-error.js +9 -0
  468. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/parser.js +2797 -0
  469. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/peg.js +50 -0
  470. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/lib/utils.js +236 -0
  471. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/pegjs/package.json +77 -0
  472. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/README.md +40 -0
  473. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/bin/traceur-runtime.js +2535 -0
  474. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/bin/traceur.js +27417 -0
  475. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/.bin/regexpu +112 -0
  476. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/.bin/semver +125 -0
  477. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/commander/Readme.md +239 -0
  478. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/commander/index.js +981 -0
  479. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/commander/package.json +70 -0
  480. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/LICENSE +15 -0
  481. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/README.md +361 -0
  482. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/common.js +177 -0
  483. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/glob.js +645 -0
  484. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/.eslintrc +17 -0
  485. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/LICENSE +15 -0
  486. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/README.md +37 -0
  487. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/inflight.js +44 -0
  488. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/LICENSE +15 -0
  489. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/README.md +36 -0
  490. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/package.json +52 -0
  491. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/test/basic.js +51 -0
  492. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/node_modules/wrappy/wrappy.js +33 -0
  493. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/package.json +61 -0
  494. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inflight/test.js +97 -0
  495. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inherits/LICENSE +16 -0
  496. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inherits/README.md +42 -0
  497. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inherits/inherits.js +1 -0
  498. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inherits/inherits_browser.js +23 -0
  499. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inherits/package.json +51 -0
  500. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/inherits/test.js +25 -0
  501. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/.npmignore +1 -0
  502. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/.travis.yml +4 -0
  503. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/LICENSE +23 -0
  504. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/README.md +216 -0
  505. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/benchmark.js +15 -0
  506. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/browser.js +1181 -0
  507. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/minimatch.js +845 -0
  508. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.npmignore +2 -0
  509. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/.travis.yml +3 -0
  510. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/README.md +116 -0
  511. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/example.js +8 -0
  512. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.bak +198 -0
  513. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/index.js +191 -0
  514. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.npmignore +2 -0
  515. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/.travis.yml +4 -0
  516. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/Makefile +6 -0
  517. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/README.md +80 -0
  518. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/example.js +5 -0
  519. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/index.js +38 -0
  520. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/package.json +73 -0
  521. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/balanced-match/test/balanced.js +56 -0
  522. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/.travis.yml +4 -0
  523. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/README.markdown +60 -0
  524. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/example/map.js +6 -0
  525. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/index.js +9 -0
  526. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/package.json +64 -0
  527. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/node_modules/concat-map/test/map.js +39 -0
  528. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/package.json +75 -0
  529. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-comparison.js +32 -0
  530. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/bash-results.txt +1075 -0
  531. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/cases.txt +182 -0
  532. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/dollar.js +9 -0
  533. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/empty-option.js +10 -0
  534. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/generate.sh +24 -0
  535. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/negative-increment.js +15 -0
  536. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/nested.js +16 -0
  537. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/order.js +10 -0
  538. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/pad.js +13 -0
  539. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/same-type.js +7 -0
  540. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/node_modules/brace-expansion/test/sequence.js +50 -0
  541. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/package.json +60 -0
  542. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/test/basic.js +399 -0
  543. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/test/brace-expand.js +45 -0
  544. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/test/defaults.js +274 -0
  545. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/minimatch/test/extglob-ending-with-state-char.js +8 -0
  546. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/LICENSE +27 -0
  547. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/README.md +51 -0
  548. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/LICENSE +15 -0
  549. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/README.md +36 -0
  550. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/package.json +52 -0
  551. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/test/basic.js +51 -0
  552. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/node_modules/wrappy/wrappy.js +33 -0
  553. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/once.js +21 -0
  554. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/package.json +60 -0
  555. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/node_modules/once/test/once.js +23 -0
  556. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/package.json +71 -0
  557. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/glob/sync.js +405 -0
  558. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/LICENSE-MIT.txt +20 -0
  559. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/README.md +189 -0
  560. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/bin/regexpu +112 -0
  561. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/data/character-class-escape-sets.js +104 -0
  562. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/data/iu-mappings.json +194 -0
  563. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/man/regexpu.1 +58 -0
  564. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/.bin/regjsparser +50 -0
  565. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/.editorconfig +3 -0
  566. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/.npmignore +2 -0
  567. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/.travis.yml +5 -0
  568. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/LICENSE +20 -0
  569. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/README.md +140 -0
  570. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/example/add-braces +44 -0
  571. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/example/generic-identity +17 -0
  572. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/example/identity +8 -0
  573. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/example/to-while +84 -0
  574. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/comments.js +304 -0
  575. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/lines.js +842 -0
  576. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/mapping.js +277 -0
  577. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/options.js +78 -0
  578. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/parser.js +175 -0
  579. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/patcher.js +319 -0
  580. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/printer.js +1259 -0
  581. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/types.js +11 -0
  582. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/util.js +141 -0
  583. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/lib/visitor.js +123 -0
  584. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/main.js +135 -0
  585. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/.bin/esparse +117 -0
  586. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/.bin/esvalidate +199 -0
  587. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/.npmignore +2 -0
  588. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/.travis.yml +6 -0
  589. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/LICENSE +20 -0
  590. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/README.md +479 -0
  591. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/def/core.js +346 -0
  592. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/def/e4x.js +87 -0
  593. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/def/es6.js +215 -0
  594. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/def/es7.js +35 -0
  595. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/def/fb-harmony.js +128 -0
  596. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/def/mozilla.js +39 -0
  597. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/equiv.js +178 -0
  598. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/node-path.js +396 -0
  599. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/path-visitor.js +253 -0
  600. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/path.js +348 -0
  601. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/scope.js +248 -0
  602. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/shared.js +41 -0
  603. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/traverse.js +23 -0
  604. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/lib/types.js +724 -0
  605. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/main.js +32 -0
  606. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/ast-types/package.json +71 -0
  607. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/cls/.travis.yml +6 -0
  608. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/cls/LICENSE +20 -0
  609. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/cls/README.md +92 -0
  610. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/cls/main.js +124 -0
  611. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/cls/package.json +59 -0
  612. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/cls/test/run.js +221 -0
  613. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/History.md +67 -0
  614. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/LICENSE +22 -0
  615. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/Readme.md +271 -0
  616. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/index.js +522 -0
  617. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/lib/compat/buffer-concat.js +33 -0
  618. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/lib/compat/callsite-tostring.js +101 -0
  619. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/lib/compat/index.js +69 -0
  620. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/depd/package.json +67 -0
  621. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/README.md +24 -0
  622. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/bin/esparse.js +117 -0
  623. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/bin/esvalidate.js +199 -0
  624. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/esprima.js +6756 -0
  625. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/package.json +87 -0
  626. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/test/compat.js +244 -0
  627. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/test/reflect.js +421 -0
  628. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/test/run.js +66 -0
  629. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/test/runner.js +500 -0
  630. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/esprima-fb/test/test.js +22859 -0
  631. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/private/.travis.yml +6 -0
  632. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/private/LICENSE +20 -0
  633. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/private/README.md +246 -0
  634. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/private/package.json +58 -0
  635. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/private/private.js +129 -0
  636. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/private/test/run.js +68 -0
  637. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/.npmignore +2 -0
  638. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/.travis.yml +4 -0
  639. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/CHANGELOG.md +121 -0
  640. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/LICENSE +28 -0
  641. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/Makefile.dryice.js +166 -0
  642. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/README.md +434 -0
  643. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/assert-shim.js +56 -0
  644. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/mini-require.js +152 -0
  645. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  646. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/prefix-utils.jsm +18 -0
  647. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/suffix-browser.js +8 -0
  648. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  649. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/suffix-utils.jsm +21 -0
  650. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/test-prefix.js +8 -0
  651. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/build/test-suffix.js +3 -0
  652. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/array-set.js +97 -0
  653. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  654. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/base64.js +42 -0
  655. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  656. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/source-map-consumer.js +478 -0
  657. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/source-map-generator.js +380 -0
  658. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/source-node.js +371 -0
  659. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map/util.js +205 -0
  660. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/lib/source-map.js +8 -0
  661. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  662. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  663. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  664. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  665. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/node_modules/amdefine/package.json +55 -0
  666. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/package.json +142 -0
  667. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/run-tests.js +62 -0
  668. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-api.js +26 -0
  669. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  670. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  671. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-base64.js +35 -0
  672. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  673. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-dog-fooding.js +72 -0
  674. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-source-map-consumer.js +451 -0
  675. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-source-map-generator.js +417 -0
  676. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/test-source-node.js +365 -0
  677. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/node_modules/source-map/test/source-map/util.js +161 -0
  678. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/recast/package.json +69 -0
  679. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regenerate/LICENSE-MIT.txt +20 -0
  680. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regenerate/README.md +316 -0
  681. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regenerate/package.json +61 -0
  682. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regenerate/regenerate.js +1072 -0
  683. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsgen/LICENSE.txt +20 -0
  684. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsgen/README.md +60 -0
  685. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsgen/package.json +72 -0
  686. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsgen/regjsgen.js +408 -0
  687. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/LICENSE.BSD +19 -0
  688. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/README.md +34 -0
  689. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/bin/parser +50 -0
  690. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/node_modules/.bin/jsesc +138 -0
  691. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/node_modules/jsesc/LICENSE-MIT.txt +20 -0
  692. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/node_modules/jsesc/README.md +375 -0
  693. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/node_modules/jsesc/bin/jsesc +138 -0
  694. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/node_modules/jsesc/jsesc.js +265 -0
  695. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/node_modules/jsesc/man/jsesc.1 +90 -0
  696. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/node_modules/jsesc/package.json +79 -0
  697. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/package.json +60 -0
  698. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/node_modules/regjsparser/parser.js +921 -0
  699. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/package.json +100 -0
  700. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/regexpu.js +8 -0
  701. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/rewrite-pattern.js +190 -0
  702. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/transform-tree.js +41 -0
  703. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/regexpu/transpile-code.js +22 -0
  704. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/.release.json +17 -0
  705. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/Brocfile.js +74 -0
  706. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/CHANGELOG.md +151 -0
  707. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/LICENSE +19 -0
  708. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/README.md +344 -0
  709. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bin/publish_to_s3.js +28 -0
  710. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower.json +26 -0
  711. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/.bower.json +47 -0
  712. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/CHANGELOG.md +44 -0
  713. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/CONTRIBUTING.md +3 -0
  714. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/LICENSE +20 -0
  715. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/README.md +152 -0
  716. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/bower.json +38 -0
  717. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/lib/json3.js +902 -0
  718. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/json3/lib/json3.min.js +17 -0
  719. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/.bower.json +33 -0
  720. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/History.md +726 -0
  721. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/LICENSE +22 -0
  722. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/Readme.md +203 -0
  723. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/bower.json +23 -0
  724. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/media/logo.svg +8 -0
  725. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/mocha.css +270 -0
  726. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/bower_components/mocha/mocha.js +5983 -0
  727. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/config/s3ProjectConfig.js +26 -0
  728. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/config/versionTemplate.txt +7 -0
  729. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/dist/rsvp.js +1610 -0
  730. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/dist/rsvp.min.js +25 -0
  731. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/calculateVersion.js +36 -0
  732. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/-internal.js +256 -0
  733. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/all-settled.js +71 -0
  734. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/all.js +15 -0
  735. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/asap.js +82 -0
  736. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/config.js +28 -0
  737. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/defer.js +45 -0
  738. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/enumerator.js +125 -0
  739. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/events.js +201 -0
  740. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/filter.js +120 -0
  741. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/hash-settled.js +124 -0
  742. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/hash.js +94 -0
  743. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/instrument.js +28 -0
  744. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/map.js +99 -0
  745. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/node.js +281 -0
  746. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise/all.js +52 -0
  747. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise/race.js +105 -0
  748. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise/reject.js +47 -0
  749. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise/resolve.js +49 -0
  750. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise-hash.js +51 -0
  751. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/promise.js +488 -0
  752. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/race.js +15 -0
  753. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/reject.js +16 -0
  754. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/resolve.js +17 -0
  755. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/rethrow.js +46 -0
  756. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp/utils.js +39 -0
  757. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp.js +66 -0
  758. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/lib/rsvp.umd.js +50 -0
  759. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/package.json +98 -0
  760. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/server/.jshintrc +3 -0
  761. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/server/index.js +6 -0
  762. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/rsvp/testem.json +11 -0
  763. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/.npmignore +1 -0
  764. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/LICENSE +27 -0
  765. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/Makefile +24 -0
  766. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/README.md +158 -0
  767. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/bin/semver +125 -0
  768. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/foot.js +6 -0
  769. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/head.js +2 -0
  770. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/package.json +50 -0
  771. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/semver.browser.js +1046 -0
  772. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/semver.browser.js.gz +0 -0
  773. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/semver.js +1050 -0
  774. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/semver.min.js +1 -0
  775. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/semver.min.js.gz +0 -0
  776. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/test/amd.js +15 -0
  777. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/test/gtr.js +173 -0
  778. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/test/index.js +588 -0
  779. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/test/ltr.js +175 -0
  780. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/semver/test/no-module.js +19 -0
  781. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/.npmignore +1 -0
  782. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/README.md +165 -0
  783. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/amd-test/browser-source-map-support.js +89 -0
  784. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/amd-test/index.html +6 -0
  785. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/amd-test/require.js +36 -0
  786. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/amd-test/script.coffee +13 -0
  787. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/amd-test/script.js +24 -0
  788. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/amd-test/script.map +10 -0
  789. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/browser-source-map-support.js +89 -0
  790. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/browser-test/index.html +6 -0
  791. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/browser-test/script.coffee +12 -0
  792. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/browser-test/script.js +25 -0
  793. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/browser-test/script.map +10 -0
  794. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/build.js +69 -0
  795. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/header-test/index.html +6 -0
  796. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/header-test/script.coffee +12 -0
  797. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/header-test/script.js +25 -0
  798. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/header-test/script.map +10 -0
  799. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/header-test/server.js +45 -0
  800. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/.npmignore +2 -0
  801. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/.travis.yml +4 -0
  802. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/CHANGELOG.md +121 -0
  803. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/LICENSE +28 -0
  804. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/Makefile.dryice.js +166 -0
  805. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/README.md +434 -0
  806. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/assert-shim.js +56 -0
  807. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/mini-require.js +152 -0
  808. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/prefix-source-map.jsm +20 -0
  809. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/prefix-utils.jsm +18 -0
  810. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/suffix-browser.js +8 -0
  811. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/suffix-source-map.jsm +6 -0
  812. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/suffix-utils.jsm +21 -0
  813. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/test-prefix.js +8 -0
  814. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/build/test-suffix.js +3 -0
  815. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/array-set.js +97 -0
  816. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/base64-vlq.js +144 -0
  817. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/base64.js +42 -0
  818. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/binary-search.js +81 -0
  819. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/source-map-consumer.js +478 -0
  820. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/source-map-generator.js +380 -0
  821. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/source-node.js +371 -0
  822. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map/util.js +205 -0
  823. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/lib/source-map.js +8 -0
  824. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/LICENSE +58 -0
  825. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/README.md +171 -0
  826. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/amdefine.js +299 -0
  827. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/intercept.js +36 -0
  828. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/node_modules/amdefine/package.json +55 -0
  829. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/package.json +142 -0
  830. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/run-tests.js +62 -0
  831. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-api.js +26 -0
  832. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-array-set.js +104 -0
  833. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-base64-vlq.js +24 -0
  834. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-base64.js +35 -0
  835. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-binary-search.js +54 -0
  836. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-dog-fooding.js +72 -0
  837. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-source-map-consumer.js +451 -0
  838. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-source-map-generator.js +417 -0
  839. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/test-source-node.js +365 -0
  840. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/node_modules/source-map/test/source-map/util.js +161 -0
  841. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/package.json +47 -0
  842. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/source-map-support.js +381 -0
  843. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/node_modules/source-map-support/test.js +359 -0
  844. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/package.json +94 -0
  845. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/NodeCompiler.js +77 -0
  846. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/System.js +58 -0
  847. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/api.js +58 -0
  848. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/command.js +158 -0
  849. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/compileAllJsFilesInDir.js +40 -0
  850. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/deferred.js +110 -0
  851. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/file-util.js +73 -0
  852. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/getopt.js +147 -0
  853. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/interpreter.js +36 -0
  854. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/nodeLoader.js +41 -0
  855. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/recursiveModuleCompile.js +173 -0
  856. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/require.js +71 -0
  857. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/to-amd-compiler.js +28 -0
  858. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/to-commonjs-compiler.js +29 -0
  859. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/src/node/traceur.js +32 -0
  860. data/lib/spider-src/support/spider/node_modules/spider-script/node_modules/traceur/traceur +3 -0
  861. data/lib/spider-src/support/spider/node_modules/spider-script/package.json +86 -0
  862. data/lib/spider-src/support/spider/node_modules/spider-script/spider-script.js +6 -0
  863. data/lib/spider-src/version.rb +1 -1
  864. metadata +867 -6
@@ -0,0 +1,2387 @@
1
+ /*
2
+ Copyright (C) 2012-2014 Yusuke Suzuki <utatane.tea@gmail.com>
3
+ Copyright (C) 2014 Ivan Nikulin <ifaaan@gmail.com>
4
+ Copyright (C) 2012-2013 Michael Ficarra <escodegen.copyright@michael.ficarra.me>
5
+ Copyright (C) 2012-2013 Mathias Bynens <mathias@qiwi.be>
6
+ Copyright (C) 2013 Irakli Gozalishvili <rfobic@gmail.com>
7
+ Copyright (C) 2012 Robert Gust-Bardon <donate@robert.gust-bardon.org>
8
+ Copyright (C) 2012 John Freeman <jfreeman08@gmail.com>
9
+ Copyright (C) 2011-2012 Ariya Hidayat <ariya.hidayat@gmail.com>
10
+ Copyright (C) 2012 Joost-Wim Boekesteijn <joost-wim@boekesteijn.nl>
11
+ Copyright (C) 2012 Kris Kowal <kris.kowal@cixar.com>
12
+ Copyright (C) 2012 Arpad Borsos <arpad.borsos@googlemail.com>
13
+
14
+ Redistribution and use in source and binary forms, with or without
15
+ modification, are permitted provided that the following conditions are met:
16
+
17
+ * Redistributions of source code must retain the above copyright
18
+ notice, this list of conditions and the following disclaimer.
19
+ * Redistributions in binary form must reproduce the above copyright
20
+ notice, this list of conditions and the following disclaimer in the
21
+ documentation and/or other materials provided with the distribution.
22
+
23
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
24
+ AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
25
+ IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
26
+ ARE DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
27
+ DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
28
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
29
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
30
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
31
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
32
+ THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
33
+ */
34
+
35
+ /*global exports:true, require:true, global:true*/
36
+ (function () {
37
+ 'use strict';
38
+
39
+ var Syntax,
40
+ Precedence,
41
+ BinaryPrecedence,
42
+ SourceNode,
43
+ estraverse,
44
+ esutils,
45
+ isArray,
46
+ base,
47
+ indent,
48
+ json,
49
+ renumber,
50
+ hexadecimal,
51
+ quotes,
52
+ escapeless,
53
+ newline,
54
+ space,
55
+ parentheses,
56
+ semicolons,
57
+ safeConcatenation,
58
+ directive,
59
+ extra,
60
+ parse,
61
+ sourceMap,
62
+ FORMAT_MINIFY,
63
+ FORMAT_DEFAULTS;
64
+
65
+ estraverse = require('estraverse');
66
+ esutils = require('esutils');
67
+
68
+ Syntax = {
69
+ AssignmentExpression: 'AssignmentExpression',
70
+ ArrayExpression: 'ArrayExpression',
71
+ ArrayPattern: 'ArrayPattern',
72
+ ArrowFunctionExpression: 'ArrowFunctionExpression',
73
+ BlockStatement: 'BlockStatement',
74
+ BinaryExpression: 'BinaryExpression',
75
+ BreakStatement: 'BreakStatement',
76
+ CallExpression: 'CallExpression',
77
+ CatchClause: 'CatchClause',
78
+ ClassBody: 'ClassBody',
79
+ ClassDeclaration: 'ClassDeclaration',
80
+ ClassExpression: 'ClassExpression',
81
+ ComprehensionBlock: 'ComprehensionBlock',
82
+ ComprehensionExpression: 'ComprehensionExpression',
83
+ ConditionalExpression: 'ConditionalExpression',
84
+ ContinueStatement: 'ContinueStatement',
85
+ DirectiveStatement: 'DirectiveStatement',
86
+ DoWhileStatement: 'DoWhileStatement',
87
+ DebuggerStatement: 'DebuggerStatement',
88
+ EmptyStatement: 'EmptyStatement',
89
+ ExportBatchSpecifier: 'ExportBatchSpecifier',
90
+ ExportDeclaration: 'ExportDeclaration',
91
+ ExportSpecifier: 'ExportSpecifier',
92
+ ExpressionStatement: 'ExpressionStatement',
93
+ ForStatement: 'ForStatement',
94
+ ForInStatement: 'ForInStatement',
95
+ ForOfStatement: 'ForOfStatement',
96
+ FunctionDeclaration: 'FunctionDeclaration',
97
+ FunctionExpression: 'FunctionExpression',
98
+ GeneratorExpression: 'GeneratorExpression',
99
+ Identifier: 'Identifier',
100
+ IfStatement: 'IfStatement',
101
+ ImportDeclaration: 'ImportDeclaration',
102
+ ImportDefaultSpecifier: 'ImportDefaultSpecifier',
103
+ ImportNamespaceSpecifier: 'ImportNamespaceSpecifier',
104
+ ImportSpecifier: 'ImportSpecifier',
105
+ Literal: 'Literal',
106
+ LabeledStatement: 'LabeledStatement',
107
+ LogicalExpression: 'LogicalExpression',
108
+ MemberExpression: 'MemberExpression',
109
+ MethodDefinition: 'MethodDefinition',
110
+ ModuleSpecifier: 'ModuleSpecifier',
111
+ NewExpression: 'NewExpression',
112
+ ObjectExpression: 'ObjectExpression',
113
+ ObjectPattern: 'ObjectPattern',
114
+ Program: 'Program',
115
+ Property: 'Property',
116
+ ReturnStatement: 'ReturnStatement',
117
+ SequenceExpression: 'SequenceExpression',
118
+ SpreadElement: 'SpreadElement',
119
+ SwitchStatement: 'SwitchStatement',
120
+ SwitchCase: 'SwitchCase',
121
+ TaggedTemplateExpression: 'TaggedTemplateExpression',
122
+ TemplateElement: 'TemplateElement',
123
+ TemplateLiteral: 'TemplateLiteral',
124
+ ThisExpression: 'ThisExpression',
125
+ ThrowStatement: 'ThrowStatement',
126
+ TryStatement: 'TryStatement',
127
+ UnaryExpression: 'UnaryExpression',
128
+ UpdateExpression: 'UpdateExpression',
129
+ VariableDeclaration: 'VariableDeclaration',
130
+ VariableDeclarator: 'VariableDeclarator',
131
+ WhileStatement: 'WhileStatement',
132
+ WithStatement: 'WithStatement',
133
+ YieldExpression: 'YieldExpression'
134
+ };
135
+
136
+ // Generation is done by generateExpression.
137
+ function isExpression(node) {
138
+ return CodeGenerator.Expression.hasOwnProperty(node.type);
139
+ }
140
+
141
+ // Generation is done by generateStatement.
142
+ function isStatement(node) {
143
+ return CodeGenerator.Statement.hasOwnProperty(node.type);
144
+ }
145
+
146
+ Precedence = {
147
+ Sequence: 0,
148
+ Yield: 1,
149
+ Assignment: 1,
150
+ Conditional: 2,
151
+ ArrowFunction: 2,
152
+ LogicalOR: 3,
153
+ LogicalAND: 4,
154
+ BitwiseOR: 5,
155
+ BitwiseXOR: 6,
156
+ BitwiseAND: 7,
157
+ Equality: 8,
158
+ Relational: 9,
159
+ BitwiseSHIFT: 10,
160
+ Additive: 11,
161
+ Multiplicative: 12,
162
+ Unary: 13,
163
+ Postfix: 14,
164
+ Call: 15,
165
+ New: 16,
166
+ TaggedTemplate: 17,
167
+ Member: 18,
168
+ Primary: 19
169
+ };
170
+
171
+ BinaryPrecedence = {
172
+ '||': Precedence.LogicalOR,
173
+ '&&': Precedence.LogicalAND,
174
+ '|': Precedence.BitwiseOR,
175
+ '^': Precedence.BitwiseXOR,
176
+ '&': Precedence.BitwiseAND,
177
+ '==': Precedence.Equality,
178
+ '!=': Precedence.Equality,
179
+ '===': Precedence.Equality,
180
+ '!==': Precedence.Equality,
181
+ 'is': Precedence.Equality,
182
+ 'isnt': Precedence.Equality,
183
+ '<': Precedence.Relational,
184
+ '>': Precedence.Relational,
185
+ '<=': Precedence.Relational,
186
+ '>=': Precedence.Relational,
187
+ 'in': Precedence.Relational,
188
+ 'instanceof': Precedence.Relational,
189
+ '<<': Precedence.BitwiseSHIFT,
190
+ '>>': Precedence.BitwiseSHIFT,
191
+ '>>>': Precedence.BitwiseSHIFT,
192
+ '+': Precedence.Additive,
193
+ '-': Precedence.Additive,
194
+ '*': Precedence.Multiplicative,
195
+ '%': Precedence.Multiplicative,
196
+ '/': Precedence.Multiplicative
197
+ };
198
+
199
+ //Flags
200
+ var F_ALLOW_IN = 1,
201
+ F_ALLOW_CALL = 1 << 1,
202
+ F_ALLOW_UNPARATH_NEW = 1 << 2,
203
+ F_FUNC_BODY = 1 << 3,
204
+ F_DIRECTIVE_CTX = 1 << 4,
205
+ F_SEMICOLON_OPT = 1 << 5;
206
+
207
+ //Expression flag sets
208
+ //NOTE: Flag order:
209
+ // F_ALLOW_IN
210
+ // F_ALLOW_CALL
211
+ // F_ALLOW_UNPARATH_NEW
212
+ var E_FTT = F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW,
213
+ E_TTF = F_ALLOW_IN | F_ALLOW_CALL,
214
+ E_TTT = F_ALLOW_IN | F_ALLOW_CALL | F_ALLOW_UNPARATH_NEW,
215
+ E_TFF = F_ALLOW_IN,
216
+ E_FFT = F_ALLOW_UNPARATH_NEW,
217
+ E_TFT = F_ALLOW_IN | F_ALLOW_UNPARATH_NEW;
218
+
219
+ //Statement flag sets
220
+ //NOTE: Flag order:
221
+ // F_ALLOW_IN
222
+ // F_FUNC_BODY
223
+ // F_DIRECTIVE_CTX
224
+ // F_SEMICOLON_OPT
225
+ var S_TFFF = F_ALLOW_IN,
226
+ S_TFFT = F_ALLOW_IN | F_SEMICOLON_OPT,
227
+ S_FFFF = 0x00,
228
+ S_TFTF = F_ALLOW_IN | F_DIRECTIVE_CTX,
229
+ S_TTFF = F_ALLOW_IN | F_FUNC_BODY;
230
+
231
+ function getDefaultOptions() {
232
+ // default options
233
+ return {
234
+ indent: null,
235
+ base: null,
236
+ parse: null,
237
+ comment: false,
238
+ format: {
239
+ indent: {
240
+ style: ' ',
241
+ base: 0,
242
+ adjustMultilineComment: false
243
+ },
244
+ newline: '\n',
245
+ space: ' ',
246
+ json: false,
247
+ renumber: false,
248
+ hexadecimal: false,
249
+ quotes: 'single',
250
+ escapeless: false,
251
+ compact: false,
252
+ parentheses: true,
253
+ semicolons: true,
254
+ safeConcatenation: false
255
+ },
256
+ moz: {
257
+ comprehensionExpressionStartsWithAssignment: false,
258
+ starlessGenerator: false
259
+ },
260
+ sourceMap: null,
261
+ sourceMapRoot: null,
262
+ sourceMapWithCode: false,
263
+ directive: false,
264
+ raw: true,
265
+ verbatim: null
266
+ };
267
+ }
268
+
269
+ function stringRepeat(str, num) {
270
+ var result = '';
271
+
272
+ for (num |= 0; num > 0; num >>>= 1, str += str) {
273
+ if (num & 1) {
274
+ result += str;
275
+ }
276
+ }
277
+
278
+ return result;
279
+ }
280
+
281
+ isArray = Array.isArray;
282
+ if (!isArray) {
283
+ isArray = function isArray(array) {
284
+ return Object.prototype.toString.call(array) === '[object Array]';
285
+ };
286
+ }
287
+
288
+ function hasLineTerminator(str) {
289
+ return (/[\r\n]/g).test(str);
290
+ }
291
+
292
+ function endsWithLineTerminator(str) {
293
+ var len = str.length;
294
+ return len && esutils.code.isLineTerminator(str.charCodeAt(len - 1));
295
+ }
296
+
297
+ function merge(target, override) {
298
+ var key;
299
+ for (key in override) {
300
+ if (override.hasOwnProperty(key)) {
301
+ target[key] = override[key];
302
+ }
303
+ }
304
+ return target;
305
+ }
306
+
307
+ function updateDeeply(target, override) {
308
+ var key, val;
309
+
310
+ function isHashObject(target) {
311
+ return typeof target === 'object' && target instanceof Object && !(target instanceof RegExp);
312
+ }
313
+
314
+ for (key in override) {
315
+ if (override.hasOwnProperty(key)) {
316
+ val = override[key];
317
+ if (isHashObject(val)) {
318
+ if (isHashObject(target[key])) {
319
+ updateDeeply(target[key], val);
320
+ } else {
321
+ target[key] = updateDeeply({}, val);
322
+ }
323
+ } else {
324
+ target[key] = val;
325
+ }
326
+ }
327
+ }
328
+ return target;
329
+ }
330
+
331
+ function generateNumber(value) {
332
+ var result, point, temp, exponent, pos;
333
+
334
+ if (value !== value) {
335
+ throw new Error('Numeric literal whose value is NaN');
336
+ }
337
+ if (value < 0 || (value === 0 && 1 / value < 0)) {
338
+ throw new Error('Numeric literal whose value is negative');
339
+ }
340
+
341
+ if (value === 1 / 0) {
342
+ return json ? 'null' : renumber ? '1e400' : '1e+400';
343
+ }
344
+
345
+ result = '' + value;
346
+ if (!renumber || result.length < 3) {
347
+ return result;
348
+ }
349
+
350
+ point = result.indexOf('.');
351
+ if (!json && result.charCodeAt(0) === 0x30 /* 0 */ && point === 1) {
352
+ point = 0;
353
+ result = result.slice(1);
354
+ }
355
+ temp = result;
356
+ result = result.replace('e+', 'e');
357
+ exponent = 0;
358
+ if ((pos = temp.indexOf('e')) > 0) {
359
+ exponent = +temp.slice(pos + 1);
360
+ temp = temp.slice(0, pos);
361
+ }
362
+ if (point >= 0) {
363
+ exponent -= temp.length - point - 1;
364
+ temp = +(temp.slice(0, point) + temp.slice(point + 1)) + '';
365
+ }
366
+ pos = 0;
367
+ while (temp.charCodeAt(temp.length + pos - 1) === 0x30 /* 0 */) {
368
+ --pos;
369
+ }
370
+ if (pos !== 0) {
371
+ exponent -= pos;
372
+ temp = temp.slice(0, pos);
373
+ }
374
+ if (exponent !== 0) {
375
+ temp += 'e' + exponent;
376
+ }
377
+ if ((temp.length < result.length ||
378
+ (hexadecimal && value > 1e12 && Math.floor(value) === value && (temp = '0x' + value.toString(16)).length < result.length)) &&
379
+ +temp === value) {
380
+ result = temp;
381
+ }
382
+
383
+ return result;
384
+ }
385
+
386
+ // Generate valid RegExp expression.
387
+ // This function is based on https://github.com/Constellation/iv Engine
388
+
389
+ function escapeRegExpCharacter(ch, previousIsBackslash) {
390
+ // not handling '\' and handling \u2028 or \u2029 to unicode escape sequence
391
+ if ((ch & ~1) === 0x2028) {
392
+ return (previousIsBackslash ? 'u' : '\\u') + ((ch === 0x2028) ? '2028' : '2029');
393
+ } else if (ch === 10 || ch === 13) { // \n, \r
394
+ return (previousIsBackslash ? '' : '\\') + ((ch === 10) ? 'n' : 'r');
395
+ }
396
+ return String.fromCharCode(ch);
397
+ }
398
+
399
+ function generateRegExp(reg) {
400
+ var match, result, flags, i, iz, ch, characterInBrack, previousIsBackslash;
401
+
402
+ result = reg.toString();
403
+
404
+ if (reg.source) {
405
+ // extract flag from toString result
406
+ match = result.match(/\/([^/]*)$/);
407
+ if (!match) {
408
+ return result;
409
+ }
410
+
411
+ flags = match[1];
412
+ result = '';
413
+
414
+ characterInBrack = false;
415
+ previousIsBackslash = false;
416
+ for (i = 0, iz = reg.source.length; i < iz; ++i) {
417
+ ch = reg.source.charCodeAt(i);
418
+
419
+ if (!previousIsBackslash) {
420
+ if (characterInBrack) {
421
+ if (ch === 93) { // ]
422
+ characterInBrack = false;
423
+ }
424
+ } else {
425
+ if (ch === 47) { // /
426
+ result += '\\';
427
+ } else if (ch === 91) { // [
428
+ characterInBrack = true;
429
+ }
430
+ }
431
+ result += escapeRegExpCharacter(ch, previousIsBackslash);
432
+ previousIsBackslash = ch === 92; // \
433
+ } else {
434
+ // if new RegExp("\\\n') is provided, create /\n/
435
+ result += escapeRegExpCharacter(ch, previousIsBackslash);
436
+ // prevent like /\\[/]/
437
+ previousIsBackslash = false;
438
+ }
439
+ }
440
+
441
+ return '/' + result + '/' + flags;
442
+ }
443
+
444
+ return result;
445
+ }
446
+
447
+ function escapeAllowedCharacter(code, next) {
448
+ var hex;
449
+
450
+ if (code === 0x08 /* \b */) {
451
+ return '\\b';
452
+ }
453
+
454
+ if (code === 0x0C /* \f */) {
455
+ return '\\f';
456
+ }
457
+
458
+ if (code === 0x09 /* \t */) {
459
+ return '\\t';
460
+ }
461
+
462
+ hex = code.toString(16).toUpperCase();
463
+ if (json || code > 0xFF) {
464
+ return '\\u' + '0000'.slice(hex.length) + hex;
465
+ } else if (code === 0x0000 && !esutils.code.isDecimalDigit(next)) {
466
+ return '\\0';
467
+ } else if (code === 0x000B /* \v */) { // '\v'
468
+ return '\\x0B';
469
+ } else {
470
+ return '\\x' + '00'.slice(hex.length) + hex;
471
+ }
472
+ }
473
+
474
+ function escapeDisallowedCharacter(code) {
475
+ if (code === 0x5C /* \ */) {
476
+ return '\\\\';
477
+ }
478
+
479
+ if (code === 0x0A /* \n */) {
480
+ return '\\n';
481
+ }
482
+
483
+ if (code === 0x0D /* \r */) {
484
+ return '\\r';
485
+ }
486
+
487
+ if (code === 0x2028) {
488
+ return '\\u2028';
489
+ }
490
+
491
+ if (code === 0x2029) {
492
+ return '\\u2029';
493
+ }
494
+
495
+ throw new Error('Incorrectly classified character');
496
+ }
497
+
498
+ function escapeDirective(str) {
499
+ var i, iz, code, quote;
500
+
501
+ quote = quotes === 'double' ? '"' : '\'';
502
+ for (i = 0, iz = str.length; i < iz; ++i) {
503
+ code = str.charCodeAt(i);
504
+ if (code === 0x27 /* ' */) {
505
+ quote = '"';
506
+ break;
507
+ } else if (code === 0x22 /* " */) {
508
+ quote = '\'';
509
+ break;
510
+ } else if (code === 0x5C /* \ */) {
511
+ ++i;
512
+ }
513
+ }
514
+
515
+ return quote + str + quote;
516
+ }
517
+
518
+ function escapeString(str) {
519
+ var result = '', i, len, code, singleQuotes = 0, doubleQuotes = 0, single, quote;
520
+
521
+ for (i = 0, len = str.length; i < len; ++i) {
522
+ code = str.charCodeAt(i);
523
+ if (code === 0x27 /* ' */) {
524
+ ++singleQuotes;
525
+ } else if (code === 0x22 /* " */) {
526
+ ++doubleQuotes;
527
+ } else if (code === 0x2F /* / */ && json) {
528
+ result += '\\';
529
+ } else if (esutils.code.isLineTerminator(code) || code === 0x5C /* \ */) {
530
+ result += escapeDisallowedCharacter(code);
531
+ continue;
532
+ } else if ((json && code < 0x20 /* SP */) || !(json || escapeless || (code >= 0x20 /* SP */ && code <= 0x7E /* ~ */))) {
533
+ result += escapeAllowedCharacter(code, str.charCodeAt(i + 1));
534
+ continue;
535
+ }
536
+ result += String.fromCharCode(code);
537
+ }
538
+
539
+ single = !(quotes === 'double' || (quotes === 'auto' && doubleQuotes < singleQuotes));
540
+ quote = single ? '\'' : '"';
541
+
542
+ if (!(single ? singleQuotes : doubleQuotes)) {
543
+ return quote + result + quote;
544
+ }
545
+
546
+ str = result;
547
+ result = quote;
548
+
549
+ for (i = 0, len = str.length; i < len; ++i) {
550
+ code = str.charCodeAt(i);
551
+ if ((code === 0x27 /* ' */ && single) || (code === 0x22 /* " */ && !single)) {
552
+ result += '\\';
553
+ }
554
+ result += String.fromCharCode(code);
555
+ }
556
+
557
+ return result + quote;
558
+ }
559
+
560
+ /**
561
+ * flatten an array to a string, where the array can contain
562
+ * either strings or nested arrays
563
+ */
564
+ function flattenToString(arr) {
565
+ var i, iz, elem, result = '';
566
+ for (i = 0, iz = arr.length; i < iz; ++i) {
567
+ elem = arr[i];
568
+ result += isArray(elem) ? flattenToString(elem) : elem;
569
+ }
570
+ return result;
571
+ }
572
+
573
+ /**
574
+ * convert generated to a SourceNode when source maps are enabled.
575
+ */
576
+ function toSourceNodeWhenNeeded(generated, node) {
577
+ if (!sourceMap) {
578
+ // with no source maps, generated is either an
579
+ // array or a string. if an array, flatten it.
580
+ // if a string, just return it
581
+ if (isArray(generated)) {
582
+ return flattenToString(generated);
583
+ } else {
584
+ return generated;
585
+ }
586
+ }
587
+ if (node == null) {
588
+ if (generated instanceof SourceNode) {
589
+ return generated;
590
+ } else {
591
+ node = {};
592
+ }
593
+ }
594
+ if (node.loc == null) {
595
+ return new SourceNode(null, null, sourceMap, generated, node.name || null);
596
+ }
597
+ return new SourceNode(node.loc.start.line, node.loc.start.column, (sourceMap === true ? node.loc.source || null : sourceMap), generated, node.name || null);
598
+ }
599
+
600
+ function noEmptySpace() {
601
+ return (space) ? space : ' ';
602
+ }
603
+
604
+ function join(left, right) {
605
+ var leftSource,
606
+ rightSource,
607
+ leftCharCode,
608
+ rightCharCode;
609
+
610
+ leftSource = toSourceNodeWhenNeeded(left).toString();
611
+ if (leftSource.length === 0) {
612
+ return [right];
613
+ }
614
+
615
+ rightSource = toSourceNodeWhenNeeded(right).toString();
616
+ if (rightSource.length === 0) {
617
+ return [left];
618
+ }
619
+
620
+ leftCharCode = leftSource.charCodeAt(leftSource.length - 1);
621
+ rightCharCode = rightSource.charCodeAt(0);
622
+
623
+ if ((leftCharCode === 0x2B /* + */ || leftCharCode === 0x2D /* - */) && leftCharCode === rightCharCode ||
624
+ esutils.code.isIdentifierPart(leftCharCode) && esutils.code.isIdentifierPart(rightCharCode) ||
625
+ leftCharCode === 0x2F /* / */ && rightCharCode === 0x69 /* i */) { // infix word operators all start with `i`
626
+ return [left, noEmptySpace(), right];
627
+ } else if (esutils.code.isWhiteSpace(leftCharCode) || esutils.code.isLineTerminator(leftCharCode) ||
628
+ esutils.code.isWhiteSpace(rightCharCode) || esutils.code.isLineTerminator(rightCharCode)) {
629
+ return [left, right];
630
+ }
631
+ return [left, space, right];
632
+ }
633
+
634
+ function addIndent(stmt) {
635
+ return [base, stmt];
636
+ }
637
+
638
+ function withIndent(fn) {
639
+ var previousBase;
640
+ previousBase = base;
641
+ base += indent;
642
+ fn(base);
643
+ base = previousBase;
644
+ }
645
+
646
+ function calculateSpaces(str) {
647
+ var i;
648
+ for (i = str.length - 1; i >= 0; --i) {
649
+ if (esutils.code.isLineTerminator(str.charCodeAt(i))) {
650
+ break;
651
+ }
652
+ }
653
+ return (str.length - 1) - i;
654
+ }
655
+
656
+ function adjustMultilineComment(value, specialBase) {
657
+ var array, i, len, line, j, spaces, previousBase, sn;
658
+
659
+ array = value.split(/\r\n|[\r\n]/);
660
+ spaces = Number.MAX_VALUE;
661
+
662
+ // first line doesn't have indentation
663
+ for (i = 1, len = array.length; i < len; ++i) {
664
+ line = array[i];
665
+ j = 0;
666
+ while (j < line.length && esutils.code.isWhiteSpace(line.charCodeAt(j))) {
667
+ ++j;
668
+ }
669
+ if (spaces > j) {
670
+ spaces = j;
671
+ }
672
+ }
673
+
674
+ if (typeof specialBase !== 'undefined') {
675
+ // pattern like
676
+ // {
677
+ // var t = 20; /*
678
+ // * this is comment
679
+ // */
680
+ // }
681
+ previousBase = base;
682
+ if (array[1][spaces] === '*') {
683
+ specialBase += ' ';
684
+ }
685
+ base = specialBase;
686
+ } else {
687
+ if (spaces & 1) {
688
+ // /*
689
+ // *
690
+ // */
691
+ // If spaces are odd number, above pattern is considered.
692
+ // We waste 1 space.
693
+ --spaces;
694
+ }
695
+ previousBase = base;
696
+ }
697
+
698
+ for (i = 1, len = array.length; i < len; ++i) {
699
+ sn = toSourceNodeWhenNeeded(addIndent(array[i].slice(spaces)));
700
+ array[i] = sourceMap ? sn.join('') : sn;
701
+ }
702
+
703
+ base = previousBase;
704
+
705
+ return array.join('\n');
706
+ }
707
+
708
+ function generateComment(comment, specialBase) {
709
+ if (comment.type === 'Line') {
710
+ if (endsWithLineTerminator(comment.value)) {
711
+ return '//' + comment.value;
712
+ } else {
713
+ // Always use LineTerminator
714
+ return '//' + comment.value + '\n';
715
+ }
716
+ }
717
+ if (extra.format.indent.adjustMultilineComment && /[\n\r]/.test(comment.value)) {
718
+ return adjustMultilineComment('/*' + comment.value + '*/', specialBase);
719
+ }
720
+ return '/*' + comment.value + '*/';
721
+ }
722
+
723
+ function addComments(stmt, result) {
724
+ var i, len, comment, save, tailingToStatement, specialBase, fragment;
725
+
726
+ if (stmt.leadingComments && stmt.leadingComments.length > 0) {
727
+ save = result;
728
+
729
+ comment = stmt.leadingComments[0];
730
+ result = [];
731
+ if (safeConcatenation && stmt.type === Syntax.Program && stmt.body.length === 0) {
732
+ result.push('\n');
733
+ }
734
+ result.push(generateComment(comment));
735
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
736
+ result.push('\n');
737
+ }
738
+
739
+ for (i = 1, len = stmt.leadingComments.length; i < len; ++i) {
740
+ comment = stmt.leadingComments[i];
741
+ fragment = [generateComment(comment)];
742
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
743
+ fragment.push('\n');
744
+ }
745
+ result.push(addIndent(fragment));
746
+ }
747
+
748
+ result.push(addIndent(save));
749
+ }
750
+
751
+ if (stmt.trailingComments) {
752
+ tailingToStatement = !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString());
753
+ specialBase = stringRepeat(' ', calculateSpaces(toSourceNodeWhenNeeded([base, result, indent]).toString()));
754
+ for (i = 0, len = stmt.trailingComments.length; i < len; ++i) {
755
+ comment = stmt.trailingComments[i];
756
+ if (tailingToStatement) {
757
+ // We assume target like following script
758
+ //
759
+ // var t = 20; /**
760
+ // * This is comment of t
761
+ // */
762
+ if (i === 0) {
763
+ // first case
764
+ result = [result, indent];
765
+ } else {
766
+ result = [result, specialBase];
767
+ }
768
+ result.push(generateComment(comment, specialBase));
769
+ } else {
770
+ result = [result, addIndent(generateComment(comment))];
771
+ }
772
+ if (i !== len - 1 && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
773
+ result = [result, '\n'];
774
+ }
775
+ }
776
+ }
777
+
778
+ return result;
779
+ }
780
+
781
+ function parenthesize(text, current, should) {
782
+ if (current < should) {
783
+ return ['(', text, ')'];
784
+ }
785
+ return text;
786
+ }
787
+
788
+ function generateVerbatimString(string) {
789
+ var i, iz, result;
790
+ result = string.split(/\r\n|\n/);
791
+ for (i = 1, iz = result.length; i < iz; i++) {
792
+ result[i] = newline + base + result[i];
793
+ }
794
+ return result;
795
+ }
796
+
797
+ function generateVerbatim(expr, precedence) {
798
+ var verbatim, result, prec;
799
+ verbatim = expr[extra.verbatim];
800
+
801
+ if (typeof verbatim === 'string') {
802
+ result = parenthesize(generateVerbatimString(verbatim), Precedence.Sequence, precedence);
803
+ } else {
804
+ // verbatim is object
805
+ result = generateVerbatimString(verbatim.content);
806
+ prec = (verbatim.precedence != null) ? verbatim.precedence : Precedence.Sequence;
807
+ result = parenthesize(result, prec, precedence);
808
+ }
809
+
810
+ return toSourceNodeWhenNeeded(result, expr);
811
+ }
812
+
813
+ function CodeGenerator() {
814
+ }
815
+
816
+ // Helpers.
817
+
818
+ CodeGenerator.prototype.maybeBlock = function(stmt, flags) {
819
+ var result, noLeadingComment, that = this;
820
+
821
+ noLeadingComment = !extra.comment || !stmt.leadingComments;
822
+
823
+ if (stmt.type === Syntax.BlockStatement && noLeadingComment) {
824
+ return [space, this.generateStatement(stmt, flags)];
825
+ }
826
+
827
+ if (stmt.type === Syntax.EmptyStatement && noLeadingComment) {
828
+ return ';';
829
+ }
830
+
831
+ withIndent(function () {
832
+ result = [
833
+ newline,
834
+ addIndent(that.generateStatement(stmt, flags))
835
+ ];
836
+ });
837
+
838
+ return result;
839
+ };
840
+
841
+ CodeGenerator.prototype.maybeBlockSuffix = function (stmt, result) {
842
+ var ends = endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString());
843
+ if (stmt.type === Syntax.BlockStatement && (!extra.comment || !stmt.leadingComments) && !ends) {
844
+ return [result, space];
845
+ }
846
+ if (ends) {
847
+ return [result, base];
848
+ }
849
+ return [result, newline, base];
850
+ };
851
+
852
+ function generateIdentifier(node) {
853
+ return toSourceNodeWhenNeeded(node.name, node);
854
+ }
855
+
856
+ CodeGenerator.prototype.generatePattern = function (node, precedence, flags) {
857
+ if (node.type === Syntax.Identifier) {
858
+ return generateIdentifier(node);
859
+ }
860
+ return this.generateExpression(node, precedence, flags);
861
+ };
862
+
863
+ CodeGenerator.prototype.generateFunctionParams = function (node) {
864
+ var i, iz, result, hasDefault;
865
+
866
+ hasDefault = false;
867
+
868
+ if (node.type === Syntax.ArrowFunctionExpression &&
869
+ !node.rest && (!node.defaults || node.defaults.length === 0) &&
870
+ node.params.length === 1 && node.params[0].type === Syntax.Identifier) {
871
+ // arg => { } case
872
+ result = [generateIdentifier(node.params[0])];
873
+ } else {
874
+ result = ['('];
875
+ if (node.defaults) {
876
+ hasDefault = true;
877
+ }
878
+ for (i = 0, iz = node.params.length; i < iz; ++i) {
879
+ if (hasDefault && node.defaults[i]) {
880
+ // Handle default values.
881
+ result.push(this.generateAssignment(node.params[i], node.defaults[i], '=', Precedence.Assignment, E_TTT));
882
+ } else {
883
+ result.push(this.generatePattern(node.params[i], Precedence.Assignment, E_TTT));
884
+ }
885
+ if (i + 1 < iz) {
886
+ result.push(',' + space);
887
+ }
888
+ }
889
+
890
+ if (node.rest) {
891
+ if (node.params.length) {
892
+ result.push(',' + space);
893
+ }
894
+ result.push('...');
895
+ result.push(generateIdentifier(node.rest));
896
+ }
897
+
898
+ result.push(')');
899
+ }
900
+
901
+ return result;
902
+ };
903
+
904
+ CodeGenerator.prototype.generateFunctionBody = function (node) {
905
+ var result, expr;
906
+
907
+ result = this.generateFunctionParams(node);
908
+
909
+ if (node.type === Syntax.ArrowFunctionExpression) {
910
+ result.push(space);
911
+ result.push('=>');
912
+ }
913
+
914
+ if (node.expression) {
915
+ result.push(space);
916
+ expr = this.generateExpression(node.body, Precedence.Assignment, E_TTT);
917
+ if (expr.toString().charAt(0) === '{') {
918
+ expr = ['(', expr, ')'];
919
+ }
920
+ result.push(expr);
921
+ } else {
922
+ result.push(this.maybeBlock(node.body, S_TTFF));
923
+ }
924
+
925
+ return result;
926
+ };
927
+
928
+ CodeGenerator.prototype.generateIterationForStatement = function (operator, stmt, flags) {
929
+ var result = ['for' + space + '('], that = this;
930
+ withIndent(function () {
931
+ if (stmt.left.type === Syntax.VariableDeclaration) {
932
+ withIndent(function () {
933
+ result.push(stmt.left.kind + noEmptySpace());
934
+ result.push(that.generateStatement(stmt.left.declarations[0], S_FFFF));
935
+ });
936
+ } else {
937
+ result.push(that.generateExpression(stmt.left, Precedence.Call, E_TTT));
938
+ }
939
+
940
+ result = join(result, operator);
941
+ result = [join(
942
+ result,
943
+ that.generateExpression(stmt.right, Precedence.Sequence, E_TTT)
944
+ ), ')'];
945
+ });
946
+ result.push(this.maybeBlock(stmt.body, flags));
947
+ return result;
948
+ };
949
+
950
+ CodeGenerator.prototype.generatePropertyKey = function (expr, computed) {
951
+ var result = [];
952
+
953
+ if (computed) {
954
+ result.push('[');
955
+ }
956
+
957
+ result.push(this.generateExpression(expr, Precedence.Sequence, E_TTT));
958
+ if (computed) {
959
+ result.push(']');
960
+ }
961
+
962
+ return result;
963
+ };
964
+
965
+ CodeGenerator.prototype.generateAssignment = function (left, right, operator, precedence, flags) {
966
+ if (Precedence.Assignment < precedence) {
967
+ flags |= F_ALLOW_IN;
968
+ }
969
+
970
+ return parenthesize(
971
+ [
972
+ this.generateExpression(left, Precedence.Call, flags),
973
+ space + operator + space,
974
+ this.generateExpression(right, Precedence.Assignment, flags)
975
+ ],
976
+ Precedence.Assignment,
977
+ precedence
978
+ );
979
+ };
980
+
981
+ CodeGenerator.prototype.semicolon = function (flags) {
982
+ if (!semicolons && flags & F_SEMICOLON_OPT) {
983
+ return '';
984
+ }
985
+ return ';';
986
+ };
987
+
988
+ // Statements.
989
+
990
+ CodeGenerator.Statement = {
991
+
992
+ BlockStatement: function (stmt, flags) {
993
+ var result = ['{', newline], that = this;
994
+
995
+ withIndent(function () {
996
+ var i, iz, fragment, bodyFlags;
997
+ bodyFlags = S_TFFF;
998
+ if (flags & F_FUNC_BODY) {
999
+ bodyFlags |= F_DIRECTIVE_CTX;
1000
+ }
1001
+ for (i = 0, iz = stmt.body.length; i < iz; ++i) {
1002
+ if (i === iz - 1) {
1003
+ bodyFlags |= F_SEMICOLON_OPT;
1004
+ }
1005
+ fragment = addIndent(that.generateStatement(stmt.body[i], bodyFlags));
1006
+ result.push(fragment);
1007
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
1008
+ result.push(newline);
1009
+ }
1010
+ }
1011
+ });
1012
+
1013
+ result.push(addIndent('}'));
1014
+ return result;
1015
+ },
1016
+
1017
+ BreakStatement: function (stmt, flags) {
1018
+ if (stmt.label) {
1019
+ return 'break ' + stmt.label.name + this.semicolon(flags);
1020
+ }
1021
+ return 'break' + this.semicolon(flags);
1022
+ },
1023
+
1024
+ ContinueStatement: function (stmt, flags) {
1025
+ if (stmt.label) {
1026
+ return 'continue ' + stmt.label.name + this.semicolon(flags);
1027
+ }
1028
+ return 'continue' + this.semicolon(flags);
1029
+ },
1030
+
1031
+ ClassBody: function (stmt, flags) {
1032
+ var result = [ '{', newline], that = this;
1033
+
1034
+ withIndent(function (indent) {
1035
+ var i, iz;
1036
+
1037
+ for (i = 0, iz = stmt.body.length; i < iz; ++i) {
1038
+ result.push(indent);
1039
+ result.push(that.generateExpression(stmt.body[i], Precedence.Sequence, E_TTT));
1040
+ if (i + 1 < iz) {
1041
+ result.push(newline);
1042
+ }
1043
+ }
1044
+ });
1045
+
1046
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
1047
+ result.push(newline);
1048
+ }
1049
+ result.push(base);
1050
+ result.push('}');
1051
+ return result;
1052
+ },
1053
+
1054
+ ClassDeclaration: function (stmt, flags) {
1055
+ var result, fragment;
1056
+ result = ['class ' + stmt.id.name];
1057
+ if (stmt.superClass) {
1058
+ fragment = join('extends', this.generateExpression(stmt.superClass, Precedence.Assignment, E_TTT));
1059
+ result = join(result, fragment);
1060
+ }
1061
+ result.push(space);
1062
+ result.push(this.generateStatement(stmt.body, S_TFFT));
1063
+ return result;
1064
+ },
1065
+
1066
+ DirectiveStatement: function (stmt, flags) {
1067
+ if (extra.raw && stmt.raw) {
1068
+ return stmt.raw + this.semicolon(flags);
1069
+ }
1070
+ return escapeDirective(stmt.directive) + this.semicolon(flags);
1071
+ },
1072
+
1073
+ DoWhileStatement: function (stmt, flags) {
1074
+ // Because `do 42 while (cond)` is Syntax Error. We need semicolon.
1075
+ var result = join('do', this.maybeBlock(stmt.body, S_TFFF));
1076
+ result = this.maybeBlockSuffix(stmt.body, result);
1077
+ return join(result, [
1078
+ 'while' + space + '(',
1079
+ this.generateExpression(stmt.test, Precedence.Sequence, E_TTT),
1080
+ ')' + this.semicolon(flags)
1081
+ ]);
1082
+ },
1083
+
1084
+ CatchClause: function (stmt, flags) {
1085
+ var result, that = this;
1086
+ withIndent(function () {
1087
+ var guard;
1088
+
1089
+ result = [
1090
+ 'catch' + space + '(',
1091
+ that.generateExpression(stmt.param, Precedence.Sequence, E_TTT),
1092
+ ')'
1093
+ ];
1094
+
1095
+ if (stmt.guard) {
1096
+ guard = that.generateExpression(stmt.guard, Precedence.Sequence, E_TTT);
1097
+ result.splice(2, 0, ' if ', guard);
1098
+ }
1099
+ });
1100
+ result.push(this.maybeBlock(stmt.body, S_TFFF));
1101
+ return result;
1102
+ },
1103
+
1104
+ DebuggerStatement: function (stmt, flags) {
1105
+ return 'debugger' + this.semicolon(flags);
1106
+ },
1107
+
1108
+ EmptyStatement: function (stmt, flags) {
1109
+ return ';';
1110
+ },
1111
+
1112
+ ExportDeclaration: function (stmt, flags) {
1113
+ var result = [ 'export' ], bodyFlags, that = this;
1114
+
1115
+ bodyFlags = (flags & F_SEMICOLON_OPT) ? S_TFFT : S_TFFF;
1116
+
1117
+ // export default HoistableDeclaration[Default]
1118
+ // export default AssignmentExpression[In] ;
1119
+ if (stmt['default']) {
1120
+ result = join(result, 'default');
1121
+ if (isStatement(stmt.declaration)) {
1122
+ result = join(result, this.generateStatement(stmt.declaration, bodyFlags));
1123
+ } else {
1124
+ result = join(result, this.generateExpression(stmt.declaration, Precedence.Assignment, E_TTT) + this.semicolon(flags));
1125
+ }
1126
+ return result;
1127
+ }
1128
+
1129
+ // export VariableStatement
1130
+ // export Declaration[Default]
1131
+ if (stmt.declaration) {
1132
+ return join(result, this.generateStatement(stmt.declaration, bodyFlags));
1133
+ }
1134
+
1135
+ // export * FromClause ;
1136
+ // export ExportClause[NoReference] FromClause ;
1137
+ // export ExportClause ;
1138
+ if (stmt.specifiers) {
1139
+ if (stmt.specifiers.length === 0) {
1140
+ result = join(result, '{' + space + '}');
1141
+ } else if (stmt.specifiers[0].type === Syntax.ExportBatchSpecifier) {
1142
+ result = join(result, this.generateExpression(stmt.specifiers[0], Precedence.Sequence, E_TTT));
1143
+ } else {
1144
+ result = join(result, '{');
1145
+ withIndent(function (indent) {
1146
+ var i, iz;
1147
+ result.push(newline);
1148
+ for (i = 0, iz = stmt.specifiers.length; i < iz; ++i) {
1149
+ result.push(indent);
1150
+ result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT));
1151
+ if (i + 1 < iz) {
1152
+ result.push(',' + newline);
1153
+ }
1154
+ }
1155
+ });
1156
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
1157
+ result.push(newline);
1158
+ }
1159
+ result.push(base + '}');
1160
+ }
1161
+
1162
+ if (stmt.source) {
1163
+ result = join(result, [
1164
+ 'from' + space,
1165
+ // ModuleSpecifier
1166
+ this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),
1167
+ this.semicolon(flags)
1168
+ ]);
1169
+ } else {
1170
+ result.push(this.semicolon(flags));
1171
+ }
1172
+ }
1173
+ return result;
1174
+ },
1175
+
1176
+ ExpressionStatement: function (stmt, flags) {
1177
+ var result, fragment;
1178
+
1179
+ result = [this.generateExpression(stmt.expression, Precedence.Sequence, E_TTT)];
1180
+ // 12.4 '{', 'function', 'class' is not allowed in this position.
1181
+ // wrap expression with parentheses
1182
+ fragment = toSourceNodeWhenNeeded(result).toString();
1183
+ if (fragment.charAt(0) === '{' || // ObjectExpression
1184
+ (fragment.slice(0, 5) === 'class' && ' {'.indexOf(fragment.charAt(5)) >= 0) || // class
1185
+ (fragment.slice(0, 8) === 'function' && '* ('.indexOf(fragment.charAt(8)) >= 0) || // function or generator
1186
+ (directive && (flags & F_DIRECTIVE_CTX) && stmt.expression.type === Syntax.Literal && typeof stmt.expression.value === 'string')) {
1187
+ result = ['(', result, ')' + this.semicolon(flags)];
1188
+ } else {
1189
+ result.push(this.semicolon(flags));
1190
+ }
1191
+ return result;
1192
+ },
1193
+
1194
+ ImportDeclaration: function (stmt, flags) {
1195
+ // ES6: 15.2.1 valid import declarations:
1196
+ // - import ImportClause FromClause ;
1197
+ // - import ModuleSpecifier ;
1198
+ var result, cursor, that = this;
1199
+
1200
+ // If no ImportClause is present,
1201
+ // this should be `import ModuleSpecifier` so skip `from`
1202
+ // ModuleSpecifier is StringLiteral.
1203
+ if (stmt.specifiers.length === 0) {
1204
+ // import ModuleSpecifier ;
1205
+ return [
1206
+ 'import',
1207
+ space,
1208
+ // ModuleSpecifier
1209
+ this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),
1210
+ this.semicolon(flags)
1211
+ ];
1212
+ }
1213
+
1214
+ // import ImportClause FromClause ;
1215
+ result = [
1216
+ 'import'
1217
+ ];
1218
+ cursor = 0;
1219
+
1220
+ // ImportedBinding
1221
+ if (stmt.specifiers[cursor].type === Syntax.ImportDefaultSpecifier) {
1222
+ result = join(result, [
1223
+ this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)
1224
+ ]);
1225
+ ++cursor;
1226
+ }
1227
+
1228
+ if (stmt.specifiers[cursor]) {
1229
+ if (cursor !== 0) {
1230
+ result.push(',');
1231
+ }
1232
+
1233
+ if (stmt.specifiers[cursor].type === Syntax.ImportNamespaceSpecifier) {
1234
+ // NameSpaceImport
1235
+ result = join(result, [
1236
+ space,
1237
+ this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT)
1238
+ ]);
1239
+ } else {
1240
+ // NamedImports
1241
+ result.push(space + '{');
1242
+
1243
+ if ((stmt.specifiers.length - cursor) === 1) {
1244
+ // import { ... } from "...";
1245
+ result.push(space);
1246
+ result.push(this.generateExpression(stmt.specifiers[cursor], Precedence.Sequence, E_TTT));
1247
+ result.push(space + '}' + space);
1248
+ } else {
1249
+ // import {
1250
+ // ...,
1251
+ // ...,
1252
+ // } from "...";
1253
+ withIndent(function (indent) {
1254
+ var i, iz;
1255
+ result.push(newline);
1256
+ for (i = cursor, iz = stmt.specifiers.length; i < iz; ++i) {
1257
+ result.push(indent);
1258
+ result.push(that.generateExpression(stmt.specifiers[i], Precedence.Sequence, E_TTT));
1259
+ if (i + 1 < iz) {
1260
+ result.push(',' + newline);
1261
+ }
1262
+ }
1263
+ });
1264
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
1265
+ result.push(newline);
1266
+ }
1267
+ result.push(base + '}' + space);
1268
+ }
1269
+ }
1270
+ }
1271
+
1272
+ result = join(result, [
1273
+ 'from' + space,
1274
+ // ModuleSpecifier
1275
+ this.generateExpression(stmt.source, Precedence.Sequence, E_TTT),
1276
+ this.semicolon(flags)
1277
+ ]);
1278
+ return result;
1279
+ },
1280
+
1281
+ VariableDeclarator: function (stmt, flags) {
1282
+ var itemFlags = (flags & F_ALLOW_IN) ? E_TTT : E_FTT;
1283
+ if (stmt.init) {
1284
+ return [
1285
+ this.generateExpression(stmt.id, Precedence.Assignment, itemFlags),
1286
+ space,
1287
+ '=',
1288
+ space,
1289
+ this.generateExpression(stmt.init, Precedence.Assignment, itemFlags)
1290
+ ];
1291
+ }
1292
+ return this.generatePattern(stmt.id, Precedence.Assignment, itemFlags);
1293
+ },
1294
+
1295
+ VariableDeclaration: function (stmt, flags) {
1296
+ // VariableDeclarator is typed as Statement,
1297
+ // but joined with comma (not LineTerminator).
1298
+ // So if comment is attached to target node, we should specialize.
1299
+ var result, i, iz, node, bodyFlags, that = this;
1300
+
1301
+ result = [ stmt.kind ];
1302
+
1303
+ bodyFlags = (flags & F_ALLOW_IN) ? S_TFFF : S_FFFF;
1304
+
1305
+ function block() {
1306
+ node = stmt.declarations[0];
1307
+ if (extra.comment && node.leadingComments) {
1308
+ result.push('\n');
1309
+ result.push(addIndent(that.generateStatement(node, bodyFlags)));
1310
+ } else {
1311
+ result.push(noEmptySpace());
1312
+ result.push(that.generateStatement(node, bodyFlags));
1313
+ }
1314
+
1315
+ for (i = 1, iz = stmt.declarations.length; i < iz; ++i) {
1316
+ node = stmt.declarations[i];
1317
+ if (extra.comment && node.leadingComments) {
1318
+ result.push(',' + newline);
1319
+ result.push(addIndent(that.generateStatement(node, bodyFlags)));
1320
+ } else {
1321
+ result.push(',' + space);
1322
+ result.push(that.generateStatement(node, bodyFlags));
1323
+ }
1324
+ }
1325
+ }
1326
+
1327
+ if (stmt.declarations.length > 1) {
1328
+ withIndent(block);
1329
+ } else {
1330
+ block();
1331
+ }
1332
+
1333
+ result.push(this.semicolon(flags));
1334
+
1335
+ return result;
1336
+ },
1337
+
1338
+ ThrowStatement: function (stmt, flags) {
1339
+ return [join(
1340
+ 'throw',
1341
+ this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT)
1342
+ ), this.semicolon(flags)];
1343
+ },
1344
+
1345
+ TryStatement: function (stmt, flags) {
1346
+ var result, i, iz, guardedHandlers;
1347
+
1348
+ result = ['try', this.maybeBlock(stmt.block, S_TFFF)];
1349
+ result = this.maybeBlockSuffix(stmt.block, result);
1350
+
1351
+ if (stmt.handlers) {
1352
+ // old interface
1353
+ for (i = 0, iz = stmt.handlers.length; i < iz; ++i) {
1354
+ result = join(result, this.generateStatement(stmt.handlers[i], S_TFFF));
1355
+ if (stmt.finalizer || i + 1 !== iz) {
1356
+ result = this.maybeBlockSuffix(stmt.handlers[i].body, result);
1357
+ }
1358
+ }
1359
+ } else {
1360
+ guardedHandlers = stmt.guardedHandlers || [];
1361
+
1362
+ for (i = 0, iz = guardedHandlers.length; i < iz; ++i) {
1363
+ result = join(result, this.generateStatement(guardedHandlers[i], S_TFFF));
1364
+ if (stmt.finalizer || i + 1 !== iz) {
1365
+ result = this.maybeBlockSuffix(guardedHandlers[i].body, result);
1366
+ }
1367
+ }
1368
+
1369
+ // new interface
1370
+ if (stmt.handler) {
1371
+ if (isArray(stmt.handler)) {
1372
+ for (i = 0, iz = stmt.handler.length; i < iz; ++i) {
1373
+ result = join(result, this.generateStatement(stmt.handler[i], S_TFFF));
1374
+ if (stmt.finalizer || i + 1 !== iz) {
1375
+ result = this.maybeBlockSuffix(stmt.handler[i].body, result);
1376
+ }
1377
+ }
1378
+ } else {
1379
+ result = join(result, this.generateStatement(stmt.handler, S_TFFF));
1380
+ if (stmt.finalizer) {
1381
+ result = this.maybeBlockSuffix(stmt.handler.body, result);
1382
+ }
1383
+ }
1384
+ }
1385
+ }
1386
+ if (stmt.finalizer) {
1387
+ result = join(result, ['finally', this.maybeBlock(stmt.finalizer, S_TFFF)]);
1388
+ }
1389
+ return result;
1390
+ },
1391
+
1392
+ SwitchStatement: function (stmt, flags) {
1393
+ var result, fragment, i, iz, bodyFlags, that = this;
1394
+ withIndent(function () {
1395
+ result = [
1396
+ 'switch' + space + '(',
1397
+ that.generateExpression(stmt.discriminant, Precedence.Sequence, E_TTT),
1398
+ ')' + space + '{' + newline
1399
+ ];
1400
+ });
1401
+ if (stmt.cases) {
1402
+ bodyFlags = S_TFFF;
1403
+ for (i = 0, iz = stmt.cases.length; i < iz; ++i) {
1404
+ if (i === iz - 1) {
1405
+ bodyFlags |= F_SEMICOLON_OPT;
1406
+ }
1407
+ fragment = addIndent(this.generateStatement(stmt.cases[i], bodyFlags));
1408
+ result.push(fragment);
1409
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
1410
+ result.push(newline);
1411
+ }
1412
+ }
1413
+ }
1414
+ result.push(addIndent('}'));
1415
+ return result;
1416
+ },
1417
+
1418
+ SwitchCase: function (stmt, flags) {
1419
+ var result, fragment, i, iz, bodyFlags, that = this;
1420
+ withIndent(function () {
1421
+ if (stmt.test) {
1422
+ result = [
1423
+ join('case', that.generateExpression(stmt.test, Precedence.Sequence, E_TTT)),
1424
+ ':'
1425
+ ];
1426
+ } else {
1427
+ result = ['default:'];
1428
+ }
1429
+
1430
+ i = 0;
1431
+ iz = stmt.consequent.length;
1432
+ if (iz && stmt.consequent[0].type === Syntax.BlockStatement) {
1433
+ fragment = that.maybeBlock(stmt.consequent[0], S_TFFF);
1434
+ result.push(fragment);
1435
+ i = 1;
1436
+ }
1437
+
1438
+ if (i !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
1439
+ result.push(newline);
1440
+ }
1441
+
1442
+ bodyFlags = S_TFFF;
1443
+ for (; i < iz; ++i) {
1444
+ if (i === iz - 1 && flags & F_SEMICOLON_OPT) {
1445
+ bodyFlags |= F_SEMICOLON_OPT;
1446
+ }
1447
+ fragment = addIndent(that.generateStatement(stmt.consequent[i], bodyFlags));
1448
+ result.push(fragment);
1449
+ if (i + 1 !== iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
1450
+ result.push(newline);
1451
+ }
1452
+ }
1453
+ });
1454
+ return result;
1455
+ },
1456
+
1457
+ IfStatement: function (stmt, flags) {
1458
+ var result, bodyFlags, semicolonOptional, that = this;
1459
+ withIndent(function () {
1460
+ result = [
1461
+ 'if' + space + '(',
1462
+ that.generateExpression(stmt.test, Precedence.Sequence, E_TTT),
1463
+ ')'
1464
+ ];
1465
+ });
1466
+ semicolonOptional = flags & F_SEMICOLON_OPT;
1467
+ bodyFlags = S_TFFF;
1468
+ if (semicolonOptional) {
1469
+ bodyFlags |= F_SEMICOLON_OPT;
1470
+ }
1471
+ if (stmt.alternate) {
1472
+ result.push(this.maybeBlock(stmt.consequent, S_TFFF));
1473
+ result = this.maybeBlockSuffix(stmt.consequent, result);
1474
+ if (stmt.alternate.type === Syntax.IfStatement) {
1475
+ result = join(result, ['else ', this.generateStatement(stmt.alternate, bodyFlags)]);
1476
+ } else {
1477
+ result = join(result, join('else', this.maybeBlock(stmt.alternate, bodyFlags)));
1478
+ }
1479
+ } else {
1480
+ result.push(this.maybeBlock(stmt.consequent, bodyFlags));
1481
+ }
1482
+ return result;
1483
+ },
1484
+
1485
+ ForStatement: function (stmt, flags) {
1486
+ var result, that = this;
1487
+ withIndent(function () {
1488
+ result = ['for' + space + '('];
1489
+ if (stmt.init) {
1490
+ if (stmt.init.type === Syntax.VariableDeclaration) {
1491
+ result.push(that.generateStatement(stmt.init, S_FFFF));
1492
+ } else {
1493
+ // F_ALLOW_IN becomes false.
1494
+ result.push(that.generateExpression(stmt.init, Precedence.Sequence, E_FTT));
1495
+ result.push(';');
1496
+ }
1497
+ } else {
1498
+ result.push(';');
1499
+ }
1500
+
1501
+ if (stmt.test) {
1502
+ result.push(space);
1503
+ result.push(that.generateExpression(stmt.test, Precedence.Sequence, E_TTT));
1504
+ result.push(';');
1505
+ } else {
1506
+ result.push(';');
1507
+ }
1508
+
1509
+ if (stmt.update) {
1510
+ result.push(space);
1511
+ result.push(that.generateExpression(stmt.update, Precedence.Sequence, E_TTT));
1512
+ result.push(')');
1513
+ } else {
1514
+ result.push(')');
1515
+ }
1516
+ });
1517
+
1518
+ result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));
1519
+ return result;
1520
+ },
1521
+
1522
+ ForInStatement: function (stmt, flags) {
1523
+ return this.generateIterationForStatement('in', stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF);
1524
+ },
1525
+
1526
+ ForOfStatement: function (stmt, flags) {
1527
+ return this.generateIterationForStatement('of', stmt, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF);
1528
+ },
1529
+
1530
+ LabeledStatement: function (stmt, flags) {
1531
+ return [stmt.label.name + ':', this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF)];
1532
+ },
1533
+
1534
+ Program: function (stmt, flags) {
1535
+ var result, fragment, i, iz, bodyFlags;
1536
+ iz = stmt.body.length;
1537
+ result = [safeConcatenation && iz > 0 ? '\n' : ''];
1538
+ bodyFlags = S_TFTF;
1539
+ for (i = 0; i < iz; ++i) {
1540
+ if (!safeConcatenation && i === iz - 1) {
1541
+ bodyFlags |= F_SEMICOLON_OPT;
1542
+ }
1543
+ fragment = addIndent(this.generateStatement(stmt.body[i], bodyFlags));
1544
+ result.push(fragment);
1545
+ if (i + 1 < iz && !endsWithLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
1546
+ result.push(newline);
1547
+ }
1548
+ }
1549
+ return result;
1550
+ },
1551
+
1552
+ FunctionDeclaration: function (stmt, flags) {
1553
+ var isGenerator = stmt.generator && !extra.moz.starlessGenerator;
1554
+ return [
1555
+ (isGenerator ? 'function*' : 'function'),
1556
+ (isGenerator ? space : noEmptySpace()),
1557
+ generateIdentifier(stmt.id),
1558
+ this.generateFunctionBody(stmt)
1559
+ ];
1560
+ },
1561
+
1562
+ ReturnStatement: function (stmt, flags) {
1563
+ if (stmt.argument) {
1564
+ return [join(
1565
+ 'return',
1566
+ this.generateExpression(stmt.argument, Precedence.Sequence, E_TTT)
1567
+ ), this.semicolon(flags)];
1568
+ }
1569
+ return ['return' + this.semicolon(flags)];
1570
+ },
1571
+
1572
+ WhileStatement: function (stmt, flags) {
1573
+ var result, that = this;
1574
+ withIndent(function () {
1575
+ result = [
1576
+ 'while' + space + '(',
1577
+ that.generateExpression(stmt.test, Precedence.Sequence, E_TTT),
1578
+ ')'
1579
+ ];
1580
+ });
1581
+ result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));
1582
+ return result;
1583
+ },
1584
+
1585
+ WithStatement: function (stmt, flags) {
1586
+ var result, that = this;
1587
+ withIndent(function () {
1588
+ result = [
1589
+ 'with' + space + '(',
1590
+ that.generateExpression(stmt.object, Precedence.Sequence, E_TTT),
1591
+ ')'
1592
+ ];
1593
+ });
1594
+ result.push(this.maybeBlock(stmt.body, flags & F_SEMICOLON_OPT ? S_TFFT : S_TFFF));
1595
+ return result;
1596
+ }
1597
+
1598
+ };
1599
+
1600
+ merge(CodeGenerator.prototype, CodeGenerator.Statement);
1601
+
1602
+ // Expressions.
1603
+
1604
+ CodeGenerator.Expression = {
1605
+
1606
+ SequenceExpression: function (expr, precedence, flags) {
1607
+ var result, i, iz;
1608
+ if (Precedence.Sequence < precedence) {
1609
+ flags |= F_ALLOW_IN;
1610
+ }
1611
+ result = [];
1612
+ for (i = 0, iz = expr.expressions.length; i < iz; ++i) {
1613
+ result.push(this.generateExpression(expr.expressions[i], Precedence.Assignment, flags));
1614
+ if (i + 1 < iz) {
1615
+ result.push(',' + space);
1616
+ }
1617
+ }
1618
+ return parenthesize(result, Precedence.Sequence, precedence);
1619
+ },
1620
+
1621
+ AssignmentExpression: function (expr, precedence, flags) {
1622
+ return this.generateAssignment(expr.left, expr.right, expr.operator, precedence, flags);
1623
+ },
1624
+
1625
+ ArrowFunctionExpression: function (expr, precedence, flags) {
1626
+ return parenthesize(this.generateFunctionBody(expr), Precedence.ArrowFunction, precedence);
1627
+ },
1628
+
1629
+ ConditionalExpression: function (expr, precedence, flags) {
1630
+ if (Precedence.Conditional < precedence) {
1631
+ flags |= F_ALLOW_IN;
1632
+ }
1633
+ return parenthesize(
1634
+ [
1635
+ this.generateExpression(expr.test, Precedence.LogicalOR, flags),
1636
+ space + '?' + space,
1637
+ this.generateExpression(expr.consequent, Precedence.Assignment, flags),
1638
+ space + ':' + space,
1639
+ this.generateExpression(expr.alternate, Precedence.Assignment, flags)
1640
+ ],
1641
+ Precedence.Conditional,
1642
+ precedence
1643
+ );
1644
+ },
1645
+
1646
+ LogicalExpression: function (expr, precedence, flags) {
1647
+ return this.BinaryExpression(expr, precedence, flags);
1648
+ },
1649
+
1650
+ BinaryExpression: function (expr, precedence, flags) {
1651
+ var result, currentPrecedence, fragment, leftSource;
1652
+ currentPrecedence = BinaryPrecedence[expr.operator];
1653
+
1654
+ if (currentPrecedence < precedence) {
1655
+ flags |= F_ALLOW_IN;
1656
+ }
1657
+
1658
+ fragment = this.generateExpression(expr.left, currentPrecedence, flags);
1659
+
1660
+ leftSource = fragment.toString();
1661
+
1662
+ if (leftSource.charCodeAt(leftSource.length - 1) === 0x2F /* / */ && esutils.code.isIdentifierPart(expr.operator.charCodeAt(0))) {
1663
+ result = [fragment, noEmptySpace(), expr.operator];
1664
+ } else {
1665
+ result = join(fragment, expr.operator);
1666
+ }
1667
+
1668
+ fragment = this.generateExpression(expr.right, currentPrecedence + 1, flags);
1669
+
1670
+ if (expr.operator === '/' && fragment.toString().charAt(0) === '/' ||
1671
+ expr.operator.slice(-1) === '<' && fragment.toString().slice(0, 3) === '!--') {
1672
+ // If '/' concats with '/' or `<` concats with `!--`, it is interpreted as comment start
1673
+ result.push(noEmptySpace());
1674
+ result.push(fragment);
1675
+ } else {
1676
+ result = join(result, fragment);
1677
+ }
1678
+
1679
+ if (expr.operator === 'in' && !(flags & F_ALLOW_IN)) {
1680
+ return ['(', result, ')'];
1681
+ }
1682
+ return parenthesize(result, currentPrecedence, precedence);
1683
+ },
1684
+
1685
+ CallExpression: function (expr, precedence, flags) {
1686
+ var result, i, iz;
1687
+ // F_ALLOW_UNPARATH_NEW becomes false.
1688
+ result = [this.generateExpression(expr.callee, Precedence.Call, E_TTF)];
1689
+ result.push('(');
1690
+ for (i = 0, iz = expr['arguments'].length; i < iz; ++i) {
1691
+ result.push(this.generateExpression(expr['arguments'][i], Precedence.Assignment, E_TTT));
1692
+ if (i + 1 < iz) {
1693
+ result.push(',' + space);
1694
+ }
1695
+ }
1696
+ result.push(')');
1697
+
1698
+ if (!(flags & F_ALLOW_CALL)) {
1699
+ return ['(', result, ')'];
1700
+ }
1701
+ return parenthesize(result, Precedence.Call, precedence);
1702
+ },
1703
+
1704
+ NewExpression: function (expr, precedence, flags) {
1705
+ var result, length, i, iz, itemFlags;
1706
+ length = expr['arguments'].length;
1707
+
1708
+ // F_ALLOW_CALL becomes false.
1709
+ // F_ALLOW_UNPARATH_NEW may become false.
1710
+ itemFlags = (flags & F_ALLOW_UNPARATH_NEW && !parentheses && length === 0) ? E_TFT : E_TFF;
1711
+
1712
+ result = join(
1713
+ 'new',
1714
+ this.generateExpression(expr.callee, Precedence.New, itemFlags)
1715
+ );
1716
+
1717
+ if (!(flags & F_ALLOW_UNPARATH_NEW) || parentheses || length > 0) {
1718
+ result.push('(');
1719
+ for (i = 0, iz = length; i < iz; ++i) {
1720
+ result.push(this.generateExpression(expr['arguments'][i], Precedence.Assignment, E_TTT));
1721
+ if (i + 1 < iz) {
1722
+ result.push(',' + space);
1723
+ }
1724
+ }
1725
+ result.push(')');
1726
+ }
1727
+
1728
+ return parenthesize(result, Precedence.New, precedence);
1729
+ },
1730
+
1731
+ MemberExpression: function (expr, precedence, flags) {
1732
+ var result, fragment;
1733
+
1734
+ // F_ALLOW_UNPARATH_NEW becomes false.
1735
+ result = [this.generateExpression(expr.object, Precedence.Call, (flags & F_ALLOW_CALL) ? E_TTF : E_TFF)];
1736
+
1737
+ if (expr.computed) {
1738
+ result.push('[');
1739
+ result.push(this.generateExpression(expr.property, Precedence.Sequence, flags & F_ALLOW_CALL ? E_TTT : E_TFT));
1740
+ result.push(']');
1741
+ } else {
1742
+ if (expr.object.type === Syntax.Literal && typeof expr.object.value === 'number') {
1743
+ fragment = toSourceNodeWhenNeeded(result).toString();
1744
+ // When the following conditions are all true,
1745
+ // 1. No floating point
1746
+ // 2. Don't have exponents
1747
+ // 3. The last character is a decimal digit
1748
+ // 4. Not hexadecimal OR octal number literal
1749
+ // we should add a floating point.
1750
+ if (
1751
+ fragment.indexOf('.') < 0 &&
1752
+ !/[eExX]/.test(fragment) &&
1753
+ esutils.code.isDecimalDigit(fragment.charCodeAt(fragment.length - 1)) &&
1754
+ !(fragment.length >= 2 && fragment.charCodeAt(0) === 48) // '0'
1755
+ ) {
1756
+ result.push('.');
1757
+ }
1758
+ }
1759
+ result.push('.');
1760
+ result.push(generateIdentifier(expr.property));
1761
+ }
1762
+
1763
+ return parenthesize(result, Precedence.Member, precedence);
1764
+ },
1765
+
1766
+ UnaryExpression: function (expr, precedence, flags) {
1767
+ var result, fragment, rightCharCode, leftSource, leftCharCode;
1768
+ fragment = this.generateExpression(expr.argument, Precedence.Unary, E_TTT);
1769
+
1770
+ if (space === '') {
1771
+ result = join(expr.operator, fragment);
1772
+ } else {
1773
+ result = [expr.operator];
1774
+ if (expr.operator.length > 2) {
1775
+ // delete, void, typeof
1776
+ // get `typeof []`, not `typeof[]`
1777
+ result = join(result, fragment);
1778
+ } else {
1779
+ // Prevent inserting spaces between operator and argument if it is unnecessary
1780
+ // like, `!cond`
1781
+ leftSource = toSourceNodeWhenNeeded(result).toString();
1782
+ leftCharCode = leftSource.charCodeAt(leftSource.length - 1);
1783
+ rightCharCode = fragment.toString().charCodeAt(0);
1784
+
1785
+ if (((leftCharCode === 0x2B /* + */ || leftCharCode === 0x2D /* - */) && leftCharCode === rightCharCode) ||
1786
+ (esutils.code.isIdentifierPart(leftCharCode) && esutils.code.isIdentifierPart(rightCharCode))) {
1787
+ result.push(noEmptySpace());
1788
+ result.push(fragment);
1789
+ } else {
1790
+ result.push(fragment);
1791
+ }
1792
+ }
1793
+ }
1794
+ return parenthesize(result, Precedence.Unary, precedence);
1795
+ },
1796
+
1797
+ YieldExpression: function (expr, precedence, flags) {
1798
+ var result;
1799
+ if (expr.delegate) {
1800
+ result = 'yield*';
1801
+ } else {
1802
+ result = 'yield';
1803
+ }
1804
+ if (expr.argument) {
1805
+ result = join(
1806
+ result,
1807
+ this.generateExpression(expr.argument, Precedence.Yield, E_TTT)
1808
+ );
1809
+ }
1810
+ return parenthesize(result, Precedence.Yield, precedence);
1811
+ },
1812
+
1813
+ UpdateExpression: function (expr, precedence, flags) {
1814
+ if (expr.prefix) {
1815
+ return parenthesize(
1816
+ [
1817
+ expr.operator,
1818
+ this.generateExpression(expr.argument, Precedence.Unary, E_TTT)
1819
+ ],
1820
+ Precedence.Unary,
1821
+ precedence
1822
+ );
1823
+ }
1824
+ return parenthesize(
1825
+ [
1826
+ this.generateExpression(expr.argument, Precedence.Postfix, E_TTT),
1827
+ expr.operator
1828
+ ],
1829
+ Precedence.Postfix,
1830
+ precedence
1831
+ );
1832
+ },
1833
+
1834
+ FunctionExpression: function (expr, precedence, flags) {
1835
+ var result, isGenerator;
1836
+ isGenerator = expr.generator && !extra.moz.starlessGenerator;
1837
+ result = isGenerator ? 'function*' : 'function';
1838
+
1839
+ if (expr.id) {
1840
+ return [result, (isGenerator) ? space : noEmptySpace(), generateIdentifier(expr.id), this.generateFunctionBody(expr)];
1841
+ }
1842
+ return [result + space, this.generateFunctionBody(expr)];
1843
+ },
1844
+
1845
+ ExportBatchSpecifier: function (expr, precedence, flags) {
1846
+ return '*';
1847
+ },
1848
+
1849
+ ArrayPattern: function (expr, precedence, flags) {
1850
+ return this.ArrayExpression(expr, precedence, flags);
1851
+ },
1852
+
1853
+ ArrayExpression: function (expr, precedence, flags) {
1854
+ var result, multiline, that = this;
1855
+ if (!expr.elements.length) {
1856
+ return '[]';
1857
+ }
1858
+ multiline = expr.elements.length > 1;
1859
+ result = ['[', multiline ? newline : ''];
1860
+ withIndent(function (indent) {
1861
+ var i, iz;
1862
+ for (i = 0, iz = expr.elements.length; i < iz; ++i) {
1863
+ if (!expr.elements[i]) {
1864
+ if (multiline) {
1865
+ result.push(indent);
1866
+ }
1867
+ if (i + 1 === iz) {
1868
+ result.push(',');
1869
+ }
1870
+ } else {
1871
+ result.push(multiline ? indent : '');
1872
+ result.push(that.generateExpression(expr.elements[i], Precedence.Assignment, E_TTT));
1873
+ }
1874
+ if (i + 1 < iz) {
1875
+ result.push(',' + (multiline ? newline : space));
1876
+ }
1877
+ }
1878
+ });
1879
+ if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
1880
+ result.push(newline);
1881
+ }
1882
+ result.push(multiline ? base : '');
1883
+ result.push(']');
1884
+ return result;
1885
+ },
1886
+
1887
+ ClassExpression: function (expr, precedence, flags) {
1888
+ var result, fragment;
1889
+ result = ['class'];
1890
+ if (expr.id) {
1891
+ result = join(result, this.generateExpression(expr.id, Precedence.Sequence, E_TTT));
1892
+ }
1893
+ if (expr.superClass) {
1894
+ fragment = join('extends', this.generateExpression(expr.superClass, Precedence.Assignment, E_TTT));
1895
+ result = join(result, fragment);
1896
+ }
1897
+ result.push(space);
1898
+ result.push(this.generateStatement(expr.body, S_TFFT));
1899
+ return result;
1900
+ },
1901
+
1902
+ MethodDefinition: function (expr, precedence, flags) {
1903
+ var result, fragment;
1904
+ if (expr['static']) {
1905
+ result = ['static' + space];
1906
+ } else {
1907
+ result = [];
1908
+ }
1909
+
1910
+ if (expr.kind === 'get' || expr.kind === 'set') {
1911
+ result = join(result, [
1912
+ join(expr.kind, this.generatePropertyKey(expr.key, expr.computed)),
1913
+ this.generateFunctionBody(expr.value)
1914
+ ]);
1915
+ } else {
1916
+ fragment = [
1917
+ this.generatePropertyKey(expr.key, expr.computed),
1918
+ this.generateFunctionBody(expr.value)
1919
+ ];
1920
+ if (expr.value.generator) {
1921
+ result.push('*');
1922
+ result.push(fragment);
1923
+ } else {
1924
+ result = join(result, fragment);
1925
+ }
1926
+ }
1927
+ return result;
1928
+ },
1929
+
1930
+ Property: function (expr, precedence, flags) {
1931
+ var result;
1932
+ if (expr.kind === 'get' || expr.kind === 'set') {
1933
+ return [
1934
+ expr.kind, noEmptySpace(),
1935
+ this.generatePropertyKey(expr.key, expr.computed),
1936
+ this.generateFunctionBody(expr.value)
1937
+ ];
1938
+ }
1939
+
1940
+ if (expr.shorthand) {
1941
+ return this.generatePropertyKey(expr.key, expr.computed);
1942
+ }
1943
+
1944
+ if (expr.method) {
1945
+ result = [];
1946
+ if (expr.value.generator) {
1947
+ result.push('*');
1948
+ }
1949
+ result.push(this.generatePropertyKey(expr.key, expr.computed));
1950
+ result.push(this.generateFunctionBody(expr.value));
1951
+ return result;
1952
+ }
1953
+
1954
+ return [
1955
+ this.generatePropertyKey(expr.key, expr.computed),
1956
+ ':' + space,
1957
+ this.generateExpression(expr.value, Precedence.Assignment, E_TTT)
1958
+ ];
1959
+ },
1960
+
1961
+ ObjectExpression: function (expr, precedence, flags) {
1962
+ var multiline, result, fragment, that = this;
1963
+
1964
+ if (!expr.properties.length) {
1965
+ return '{}';
1966
+ }
1967
+ multiline = expr.properties.length > 1;
1968
+
1969
+ withIndent(function () {
1970
+ fragment = that.generateExpression(expr.properties[0], Precedence.Sequence, E_TTT);
1971
+ });
1972
+
1973
+ if (!multiline) {
1974
+ // issues 4
1975
+ // Do not transform from
1976
+ // dejavu.Class.declare({
1977
+ // method2: function () {}
1978
+ // });
1979
+ // to
1980
+ // dejavu.Class.declare({method2: function () {
1981
+ // }});
1982
+ if (!hasLineTerminator(toSourceNodeWhenNeeded(fragment).toString())) {
1983
+ return [ '{', space, fragment, space, '}' ];
1984
+ }
1985
+ }
1986
+
1987
+ withIndent(function (indent) {
1988
+ var i, iz;
1989
+ result = [ '{', newline, indent, fragment ];
1990
+
1991
+ if (multiline) {
1992
+ result.push(',' + newline);
1993
+ for (i = 1, iz = expr.properties.length; i < iz; ++i) {
1994
+ result.push(indent);
1995
+ result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT));
1996
+ if (i + 1 < iz) {
1997
+ result.push(',' + newline);
1998
+ }
1999
+ }
2000
+ }
2001
+ });
2002
+
2003
+ if (!endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
2004
+ result.push(newline);
2005
+ }
2006
+ result.push(base);
2007
+ result.push('}');
2008
+ return result;
2009
+ },
2010
+
2011
+ ObjectPattern: function (expr, precedence, flags) {
2012
+ var result, i, iz, multiline, property, that = this;
2013
+ if (!expr.properties.length) {
2014
+ return '{}';
2015
+ }
2016
+
2017
+ multiline = false;
2018
+ if (expr.properties.length === 1) {
2019
+ property = expr.properties[0];
2020
+ if (property.value.type !== Syntax.Identifier) {
2021
+ multiline = true;
2022
+ }
2023
+ } else {
2024
+ for (i = 0, iz = expr.properties.length; i < iz; ++i) {
2025
+ property = expr.properties[i];
2026
+ if (!property.shorthand) {
2027
+ multiline = true;
2028
+ break;
2029
+ }
2030
+ }
2031
+ }
2032
+ result = ['{', multiline ? newline : '' ];
2033
+
2034
+ withIndent(function (indent) {
2035
+ var i, iz;
2036
+ for (i = 0, iz = expr.properties.length; i < iz; ++i) {
2037
+ result.push(multiline ? indent : '');
2038
+ result.push(that.generateExpression(expr.properties[i], Precedence.Sequence, E_TTT));
2039
+ if (i + 1 < iz) {
2040
+ result.push(',' + (multiline ? newline : space));
2041
+ }
2042
+ }
2043
+ });
2044
+
2045
+ if (multiline && !endsWithLineTerminator(toSourceNodeWhenNeeded(result).toString())) {
2046
+ result.push(newline);
2047
+ }
2048
+ result.push(multiline ? base : '');
2049
+ result.push('}');
2050
+ return result;
2051
+ },
2052
+
2053
+ ThisExpression: function (expr, precedence, flags) {
2054
+ return 'this';
2055
+ },
2056
+
2057
+ Identifier: function (expr, precedence, flags) {
2058
+ return generateIdentifier(expr);
2059
+ },
2060
+
2061
+ ImportDefaultSpecifier: function (expr, precedence, flags) {
2062
+ return generateIdentifier(expr.id);
2063
+ },
2064
+
2065
+ ImportNamespaceSpecifier: function (expr, precedence, flags) {
2066
+ var result = ['*'];
2067
+ if (expr.id) {
2068
+ result.push(space + 'as' + noEmptySpace() + generateIdentifier(expr.id));
2069
+ }
2070
+ return result;
2071
+ },
2072
+
2073
+ ImportSpecifier: function (expr, precedence, flags) {
2074
+ return this.ExportSpecifier(expr, precedence, flags);
2075
+ },
2076
+
2077
+ ExportSpecifier: function (expr, precedence, flags) {
2078
+ var result = [ expr.id.name ];
2079
+ if (expr.name) {
2080
+ result.push(noEmptySpace() + 'as' + noEmptySpace() + generateIdentifier(expr.name));
2081
+ }
2082
+ return result;
2083
+ },
2084
+
2085
+ Literal: function (expr, precedence, flags) {
2086
+ var raw;
2087
+ if (expr.hasOwnProperty('raw') && parse && extra.raw) {
2088
+ try {
2089
+ raw = parse(expr.raw).body[0].expression;
2090
+ if (raw.type === Syntax.Literal) {
2091
+ if (raw.value === expr.value) {
2092
+ return expr.raw;
2093
+ }
2094
+ }
2095
+ } catch (e) {
2096
+ // not use raw property
2097
+ }
2098
+ }
2099
+
2100
+ if (expr.value === null) {
2101
+ return 'null';
2102
+ }
2103
+
2104
+ if (typeof expr.value === 'string') {
2105
+ return escapeString(expr.value);
2106
+ }
2107
+
2108
+ if (typeof expr.value === 'number') {
2109
+ return generateNumber(expr.value);
2110
+ }
2111
+
2112
+ if (typeof expr.value === 'boolean') {
2113
+ return expr.value ? 'true' : 'false';
2114
+ }
2115
+
2116
+ return generateRegExp(expr.value);
2117
+ },
2118
+
2119
+ GeneratorExpression: function (expr, precedence, flags) {
2120
+ return this.ComprehensionExpression(expr, precedence, flags);
2121
+ },
2122
+
2123
+ ComprehensionExpression: function (expr, precedence, flags) {
2124
+ // GeneratorExpression should be parenthesized with (...), ComprehensionExpression with [...]
2125
+ // Due to https://bugzilla.mozilla.org/show_bug.cgi?id=883468 position of expr.body can differ in Spidermonkey and ES6
2126
+
2127
+ var result, i, iz, fragment, that = this;
2128
+ result = (expr.type === Syntax.GeneratorExpression) ? ['('] : ['['];
2129
+
2130
+ if (extra.moz.comprehensionExpressionStartsWithAssignment) {
2131
+ fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT);
2132
+ result.push(fragment);
2133
+ }
2134
+
2135
+ if (expr.blocks) {
2136
+ withIndent(function () {
2137
+ for (i = 0, iz = expr.blocks.length; i < iz; ++i) {
2138
+ fragment = that.generateExpression(expr.blocks[i], Precedence.Sequence, E_TTT);
2139
+ if (i > 0 || extra.moz.comprehensionExpressionStartsWithAssignment) {
2140
+ result = join(result, fragment);
2141
+ } else {
2142
+ result.push(fragment);
2143
+ }
2144
+ }
2145
+ });
2146
+ }
2147
+
2148
+ if (expr.filter) {
2149
+ result = join(result, 'if' + space);
2150
+ fragment = this.generateExpression(expr.filter, Precedence.Sequence, E_TTT);
2151
+ result = join(result, [ '(', fragment, ')' ]);
2152
+ }
2153
+
2154
+ if (!extra.moz.comprehensionExpressionStartsWithAssignment) {
2155
+ fragment = this.generateExpression(expr.body, Precedence.Assignment, E_TTT);
2156
+
2157
+ result = join(result, fragment);
2158
+ }
2159
+
2160
+ result.push((expr.type === Syntax.GeneratorExpression) ? ')' : ']');
2161
+ return result;
2162
+ },
2163
+
2164
+ ComprehensionBlock: function (expr, precedence, flags) {
2165
+ var fragment;
2166
+ if (expr.left.type === Syntax.VariableDeclaration) {
2167
+ fragment = [
2168
+ expr.left.kind, noEmptySpace(),
2169
+ this.generateStatement(expr.left.declarations[0], S_FFFF)
2170
+ ];
2171
+ } else {
2172
+ fragment = this.generateExpression(expr.left, Precedence.Call, E_TTT);
2173
+ }
2174
+
2175
+ fragment = join(fragment, expr.of ? 'of' : 'in');
2176
+ fragment = join(fragment, this.generateExpression(expr.right, Precedence.Sequence, E_TTT));
2177
+
2178
+ return [ 'for' + space + '(', fragment, ')' ];
2179
+ },
2180
+
2181
+ SpreadElement: function (expr, precedence, flags) {
2182
+ return [
2183
+ '...',
2184
+ this.generateExpression(expr.argument, Precedence.Assignment, E_TTT)
2185
+ ];
2186
+ },
2187
+
2188
+ TaggedTemplateExpression: function (expr, precedence, flags) {
2189
+ var itemFlags = E_TTF;
2190
+ if (!(flags & F_ALLOW_CALL)) {
2191
+ itemFlags = E_TFF;
2192
+ }
2193
+ var result = [
2194
+ this.generateExpression(expr.tag, Precedence.Call, itemFlags),
2195
+ this.generateExpression(expr.quasi, Precedence.Primary, E_FFT)
2196
+ ];
2197
+ return parenthesize(result, Precedence.TaggedTemplate, precedence);
2198
+ },
2199
+
2200
+ TemplateElement: function (expr, precedence, flags) {
2201
+ // Don't use "cooked". Since tagged template can use raw template
2202
+ // representation. So if we do so, it breaks the script semantics.
2203
+ return expr.value.raw;
2204
+ },
2205
+
2206
+ TemplateLiteral: function (expr, precedence, flags) {
2207
+ var result, i, iz;
2208
+ result = [ '`' ];
2209
+ for (i = 0, iz = expr.quasis.length; i < iz; ++i) {
2210
+ result.push(this.generateExpression(expr.quasis[i], Precedence.Primary, E_TTT));
2211
+ if (i + 1 < iz) {
2212
+ result.push('${' + space);
2213
+ result.push(this.generateExpression(expr.expressions[i], Precedence.Sequence, E_TTT));
2214
+ result.push(space + '}');
2215
+ }
2216
+ }
2217
+ result.push('`');
2218
+ return result;
2219
+ },
2220
+
2221
+ ModuleSpecifier: function (expr, precedence, flags) {
2222
+ return this.Literal(expr, precedence, flags);
2223
+ }
2224
+
2225
+ };
2226
+
2227
+ merge(CodeGenerator.prototype, CodeGenerator.Expression);
2228
+
2229
+ CodeGenerator.prototype.generateExpression = function (expr, precedence, flags) {
2230
+ var result, type;
2231
+
2232
+ type = expr.type || Syntax.Property;
2233
+
2234
+ if (extra.verbatim && expr.hasOwnProperty(extra.verbatim)) {
2235
+ return generateVerbatim(expr, precedence);
2236
+ }
2237
+
2238
+ result = this[type](expr, precedence, flags);
2239
+
2240
+
2241
+ if (extra.comment) {
2242
+ result = addComments(expr,result);
2243
+ }
2244
+ return toSourceNodeWhenNeeded(result, expr);
2245
+ };
2246
+
2247
+ CodeGenerator.prototype.generateStatement = function (stmt, flags) {
2248
+ var result,
2249
+ fragment;
2250
+
2251
+ result = this[stmt.type](stmt, flags);
2252
+
2253
+ // Attach comments
2254
+
2255
+ if (extra.comment) {
2256
+ result = addComments(stmt, result);
2257
+ }
2258
+
2259
+ fragment = toSourceNodeWhenNeeded(result).toString();
2260
+ if (stmt.type === Syntax.Program && !safeConcatenation && newline === '' && fragment.charAt(fragment.length - 1) === '\n') {
2261
+ result = sourceMap ? toSourceNodeWhenNeeded(result).replaceRight(/\s+$/, '') : fragment.replace(/\s+$/, '');
2262
+ }
2263
+
2264
+ return toSourceNodeWhenNeeded(result, stmt);
2265
+ };
2266
+
2267
+ function generateInternal(node) {
2268
+ var codegen;
2269
+
2270
+ codegen = new CodeGenerator();
2271
+ if (isStatement(node)) {
2272
+ return codegen.generateStatement(node, S_TFFF);
2273
+ }
2274
+
2275
+ if (isExpression(node)) {
2276
+ return codegen.generateExpression(node, Precedence.Sequence, E_TTT);
2277
+ }
2278
+
2279
+ throw new Error('Unknown node type: ' + node.type);
2280
+ }
2281
+
2282
+ function generate(node, options) {
2283
+ var defaultOptions = getDefaultOptions(), result, pair;
2284
+
2285
+ if (options != null) {
2286
+ // Obsolete options
2287
+ //
2288
+ // `options.indent`
2289
+ // `options.base`
2290
+ //
2291
+ // Instead of them, we can use `option.format.indent`.
2292
+ if (typeof options.indent === 'string') {
2293
+ defaultOptions.format.indent.style = options.indent;
2294
+ }
2295
+ if (typeof options.base === 'number') {
2296
+ defaultOptions.format.indent.base = options.base;
2297
+ }
2298
+ options = updateDeeply(defaultOptions, options);
2299
+ indent = options.format.indent.style;
2300
+ if (typeof options.base === 'string') {
2301
+ base = options.base;
2302
+ } else {
2303
+ base = stringRepeat(indent, options.format.indent.base);
2304
+ }
2305
+ } else {
2306
+ options = defaultOptions;
2307
+ indent = options.format.indent.style;
2308
+ base = stringRepeat(indent, options.format.indent.base);
2309
+ }
2310
+ json = options.format.json;
2311
+ renumber = options.format.renumber;
2312
+ hexadecimal = json ? false : options.format.hexadecimal;
2313
+ quotes = json ? 'double' : options.format.quotes;
2314
+ escapeless = options.format.escapeless;
2315
+ newline = options.format.newline;
2316
+ space = options.format.space;
2317
+ if (options.format.compact) {
2318
+ newline = space = indent = base = '';
2319
+ }
2320
+ parentheses = options.format.parentheses;
2321
+ semicolons = options.format.semicolons;
2322
+ safeConcatenation = options.format.safeConcatenation;
2323
+ directive = options.directive;
2324
+ parse = json ? null : options.parse;
2325
+ sourceMap = options.sourceMap;
2326
+ extra = options;
2327
+
2328
+ if (sourceMap) {
2329
+ if (!exports.browser) {
2330
+ // We assume environment is node.js
2331
+ // And prevent from including source-map by browserify
2332
+ SourceNode = require('source-map').SourceNode;
2333
+ } else {
2334
+ SourceNode = global.sourceMap.SourceNode;
2335
+ }
2336
+ }
2337
+
2338
+ result = generateInternal(node);
2339
+
2340
+ if (!sourceMap) {
2341
+ pair = {code: result.toString(), map: null};
2342
+ return options.sourceMapWithCode ? pair : pair.code;
2343
+ }
2344
+
2345
+
2346
+ pair = result.toStringWithSourceMap({
2347
+ file: options.file,
2348
+ sourceRoot: options.sourceMapRoot
2349
+ });
2350
+
2351
+ if (options.sourceContent) {
2352
+ pair.map.setSourceContent(options.sourceMap,
2353
+ options.sourceContent);
2354
+ }
2355
+
2356
+ if (options.sourceMapWithCode) {
2357
+ return pair;
2358
+ }
2359
+
2360
+ return pair.map.toString();
2361
+ }
2362
+
2363
+ FORMAT_MINIFY = {
2364
+ indent: {
2365
+ style: '',
2366
+ base: 0
2367
+ },
2368
+ renumber: true,
2369
+ hexadecimal: true,
2370
+ quotes: 'auto',
2371
+ escapeless: true,
2372
+ compact: true,
2373
+ parentheses: false,
2374
+ semicolons: false
2375
+ };
2376
+
2377
+ FORMAT_DEFAULTS = getDefaultOptions().format;
2378
+
2379
+ exports.version = require('./package.json').version;
2380
+ exports.generate = generate;
2381
+ exports.attachComments = estraverse.attachComments;
2382
+ exports.Precedence = updateDeeply({}, Precedence);
2383
+ exports.browser = false;
2384
+ exports.FORMAT_MINIFY = FORMAT_MINIFY;
2385
+ exports.FORMAT_DEFAULTS = FORMAT_DEFAULTS;
2386
+ }());
2387
+ /* vim: set sw=4 ts=4 et tw=80 : */