marko 2.11.1 → 2.11.3

Sign up to get free protection for your applications and to get access to all the features.
Files changed (231) hide show
  1. package/compiler/TemplateBuilder.js +1 -1
  2. package/compiler/TypeConverter.js +1 -1
  3. package/compiler/expression-parser.js +1 -1
  4. package/compiler/util/stringify.js +169 -0
  5. package/package.json +2 -3
  6. package/taglibs/core/ForNode.js +1 -1
  7. package/taglibs/core/IncludeNode.js +1 -1
  8. package/taglibs/core/TagHandlerNode.js +1 -1
  9. package/.npmignore +0 -1
  10. package/coverage/coverage.json +0 -1
  11. package/coverage/lcov-report/base.css +0 -213
  12. package/coverage/lcov-report/index.html +0 -496
  13. package/coverage/lcov-report/marko-v4/bin/index.html +0 -93
  14. package/coverage/lcov-report/marko-v4/bin/markoc.js.html +0 -1160
  15. package/coverage/lcov-report/marko-v4/browser-refresh/index.html +0 -93
  16. package/coverage/lcov-report/marko-v4/browser-refresh/index.js.html +0 -191
  17. package/coverage/lcov-report/marko-v4/compiler/Builder.js.html +0 -1859
  18. package/coverage/lcov-report/marko-v4/compiler/CodeGenerator.js.html +0 -998
  19. package/coverage/lcov-report/marko-v4/compiler/CodeWriter.js.html +0 -851
  20. package/coverage/lcov-report/marko-v4/compiler/CompileContext.js.html +0 -1955
  21. package/coverage/lcov-report/marko-v4/compiler/CompileError.js.html +0 -206
  22. package/coverage/lcov-report/marko-v4/compiler/Compiler.js.html +0 -473
  23. package/coverage/lcov-report/marko-v4/compiler/HtmlJsParser.js.html +0 -341
  24. package/coverage/lcov-report/marko-v4/compiler/InlineCompiler.js.html +0 -317
  25. package/coverage/lcov-report/marko-v4/compiler/Parser.js.html +0 -1271
  26. package/coverage/lcov-report/marko-v4/compiler/Walker.js.html +0 -521
  27. package/coverage/lcov-report/marko-v4/compiler/ast/ArrayContainer.js.html +0 -653
  28. package/coverage/lcov-report/marko-v4/compiler/ast/ArrayExpression.js.html +0 -278
  29. package/coverage/lcov-report/marko-v4/compiler/ast/Assignment.js.html +0 -299
  30. package/coverage/lcov-report/marko-v4/compiler/ast/AttributePlaceholder.js.html +0 -173
  31. package/coverage/lcov-report/marko-v4/compiler/ast/BinaryExpression.js.html +0 -428
  32. package/coverage/lcov-report/marko-v4/compiler/ast/Code.js.html +0 -149
  33. package/coverage/lcov-report/marko-v4/compiler/ast/ConditionalExpression.js.html +0 -239
  34. package/coverage/lcov-report/marko-v4/compiler/ast/Container.js.html +0 -101
  35. package/coverage/lcov-report/marko-v4/compiler/ast/ContainerNode.js.html +0 -122
  36. package/coverage/lcov-report/marko-v4/compiler/ast/CustomTag.js.html +0 -1250
  37. package/coverage/lcov-report/marko-v4/compiler/ast/Declaration.js.html +0 -146
  38. package/coverage/lcov-report/marko-v4/compiler/ast/DocumentType.js.html +0 -146
  39. package/coverage/lcov-report/marko-v4/compiler/ast/Else.js.html +0 -161
  40. package/coverage/lcov-report/marko-v4/compiler/ast/ElseIf.js.html +0 -152
  41. package/coverage/lcov-report/marko-v4/compiler/ast/Expression.js.html +0 -152
  42. package/coverage/lcov-report/marko-v4/compiler/ast/ForEach.js.html +0 -314
  43. package/coverage/lcov-report/marko-v4/compiler/ast/ForEachProp.js.html +0 -290
  44. package/coverage/lcov-report/marko-v4/compiler/ast/ForRange.js.html +0 -374
  45. package/coverage/lcov-report/marko-v4/compiler/ast/ForStatement.js.html +0 -245
  46. package/coverage/lcov-report/marko-v4/compiler/ast/FunctionCall.js.html +0 -374
  47. package/coverage/lcov-report/marko-v4/compiler/ast/FunctionDeclaration.js.html +0 -296
  48. package/coverage/lcov-report/marko-v4/compiler/ast/Html.js.html +0 -311
  49. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/html/generateCode.js.html +0 -473
  50. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/html/index.html +0 -93
  51. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/index.html +0 -93
  52. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/index.js.html +0 -317
  53. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/vdom/generateCode.js.html +0 -128
  54. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttribute/vdom/index.html +0 -93
  55. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlAttributeCollection.js.html +0 -521
  56. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlComment.js.html +0 -182
  57. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/html/EndTag.js.html +0 -131
  58. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/html/StartTag.js.html +0 -227
  59. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/html/generateCode.js.html +0 -299
  60. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/html/index.html +0 -119
  61. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/index.html +0 -93
  62. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/index.js.html +0 -578
  63. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/vdom/EndElementVDOM.js.html +0 -104
  64. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/vdom/HtmlElementVDOM.js.html +0 -620
  65. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/vdom/generateCode.js.html +0 -326
  66. package/coverage/lcov-report/marko-v4/compiler/ast/HtmlElement/vdom/index.html +0 -119
  67. package/coverage/lcov-report/marko-v4/compiler/ast/Identifier.js.html +0 -137
  68. package/coverage/lcov-report/marko-v4/compiler/ast/If.js.html +0 -347
  69. package/coverage/lcov-report/marko-v4/compiler/ast/InvokeMacro.js.html +0 -425
  70. package/coverage/lcov-report/marko-v4/compiler/ast/Literal.js.html +0 -320
  71. package/coverage/lcov-report/marko-v4/compiler/ast/LogicalExpression.js.html +0 -359
  72. package/coverage/lcov-report/marko-v4/compiler/ast/Macro.js.html +0 -176
  73. package/coverage/lcov-report/marko-v4/compiler/ast/MemberExpression.js.html +0 -308
  74. package/coverage/lcov-report/marko-v4/compiler/ast/NewExpression.js.html +0 -395
  75. package/coverage/lcov-report/marko-v4/compiler/ast/Node.js.html +0 -1235
  76. package/coverage/lcov-report/marko-v4/compiler/ast/ObjectExpression.js.html +0 -290
  77. package/coverage/lcov-report/marko-v4/compiler/ast/Program.js.html +0 -134
  78. package/coverage/lcov-report/marko-v4/compiler/ast/Property.js.html +0 -257
  79. package/coverage/lcov-report/marko-v4/compiler/ast/Return.js.html +0 -170
  80. package/coverage/lcov-report/marko-v4/compiler/ast/Scriptlet.js.html +0 -152
  81. package/coverage/lcov-report/marko-v4/compiler/ast/SelfInvokingFunction.js.html +0 -155
  82. package/coverage/lcov-report/marko-v4/compiler/ast/TemplateRoot.js.html +0 -344
  83. package/coverage/lcov-report/marko-v4/compiler/ast/Text/html/generateCode.js.html +0 -245
  84. package/coverage/lcov-report/marko-v4/compiler/ast/Text/html/index.html +0 -93
  85. package/coverage/lcov-report/marko-v4/compiler/ast/Text/index.html +0 -93
  86. package/coverage/lcov-report/marko-v4/compiler/ast/Text/index.js.html +0 -215
  87. package/coverage/lcov-report/marko-v4/compiler/ast/Text/vdom/TextVDOM.js.html +0 -407
  88. package/coverage/lcov-report/marko-v4/compiler/ast/Text/vdom/generateCode.js.html +0 -179
  89. package/coverage/lcov-report/marko-v4/compiler/ast/Text/vdom/index.html +0 -106
  90. package/coverage/lcov-report/marko-v4/compiler/ast/ThisExpression.js.html +0 -131
  91. package/coverage/lcov-report/marko-v4/compiler/ast/UnaryExpression.js.html +0 -365
  92. package/coverage/lcov-report/marko-v4/compiler/ast/UpdateExpression.js.html +0 -341
  93. package/coverage/lcov-report/marko-v4/compiler/ast/VariableDeclarator.js.html +0 -221
  94. package/coverage/lcov-report/marko-v4/compiler/ast/Vars.js.html +0 -290
  95. package/coverage/lcov-report/marko-v4/compiler/ast/WhileStatement.js.html +0 -173
  96. package/coverage/lcov-report/marko-v4/compiler/ast/index.html +0 -678
  97. package/coverage/lcov-report/marko-v4/compiler/config.js.html +0 -194
  98. package/coverage/lcov-report/marko-v4/compiler/index.html +0 -236
  99. package/coverage/lcov-report/marko-v4/compiler/index.js.html +0 -695
  100. package/coverage/lcov-report/marko-v4/compiler/taglib-finder/index-browser.js.html +0 -158
  101. package/coverage/lcov-report/marko-v4/compiler/taglib-finder/index.html +0 -106
  102. package/coverage/lcov-report/marko-v4/compiler/taglib-finder/index.js.html +0 -632
  103. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/DependencyChain.js.html +0 -113
  104. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Attribute.js.html +0 -155
  105. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/ImportedVariable.js.html +0 -140
  106. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/NestedVariable.js.html +0 -134
  107. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Property.js.html +0 -140
  108. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Tag.js.html +0 -797
  109. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Taglib.js.html +0 -440
  110. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/Transformer.js.html +0 -236
  111. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/index.html +0 -184
  112. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/Taglib/index.js.html +0 -65
  113. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/handleAttributes.js.html +0 -161
  114. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/index.html +0 -236
  115. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/index.js.html +0 -191
  116. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/json-file-reader-browser.js.html +0 -143
  117. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/json-file-reader.js.html +0 -155
  118. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/loader-attribute.js.html +0 -659
  119. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/loader-tag.js.html +0 -1931
  120. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/loader-taglib.js.html +0 -1010
  121. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/loader.js.html +0 -119
  122. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/scanTagsDir-browser.js.html +0 -119
  123. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/scanTagsDir.js.html +0 -548
  124. package/coverage/lcov-report/marko-v4/compiler/taglib-loader/tag-def-from-code.js.html +0 -287
  125. package/coverage/lcov-report/marko-v4/compiler/taglib-lookup/TaglibLookup.js.html +0 -1205
  126. package/coverage/lcov-report/marko-v4/compiler/taglib-lookup/index.html +0 -106
  127. package/coverage/lcov-report/marko-v4/compiler/taglib-lookup/index.js.html +0 -302
  128. package/coverage/lcov-report/marko-v4/compiler/util/PosInfo.js.html +0 -140
  129. package/coverage/lcov-report/marko-v4/compiler/util/UniqueVars.js.html +0 -227
  130. package/coverage/lcov-report/marko-v4/compiler/util/adjustIndent.js.html +0 -272
  131. package/coverage/lcov-report/marko-v4/compiler/util/deresolve-browser.js.html +0 -119
  132. package/coverage/lcov-report/marko-v4/compiler/util/deresolve.js.html +0 -113
  133. package/coverage/lcov-report/marko-v4/compiler/util/fingerprint.js.html +0 -83
  134. package/coverage/lcov-report/marko-v4/compiler/util/index.html +0 -366
  135. package/coverage/lcov-report/marko-v4/compiler/util/isCompoundExpression.js.html +0 -92
  136. package/coverage/lcov-report/marko-v4/compiler/util/isJavaScriptReservedWord.js.html +0 -80
  137. package/coverage/lcov-report/marko-v4/compiler/util/isValidJavaScriptIdentifier.js.html +0 -80
  138. package/coverage/lcov-report/marko-v4/compiler/util/isValidJavaScriptVarName.js.html +0 -95
  139. package/coverage/lcov-report/marko-v4/compiler/util/javaScriptReservedWords.js.html +0 -260
  140. package/coverage/lcov-report/marko-v4/compiler/util/macros.js.html +0 -326
  141. package/coverage/lcov-report/marko-v4/compiler/util/parseExpression.js.html +0 -77
  142. package/coverage/lcov-report/marko-v4/compiler/util/parseJavaScript.js.html +0 -833
  143. package/coverage/lcov-report/marko-v4/compiler/util/parseJavaScriptArgs.js.html +0 -101
  144. package/coverage/lcov-report/marko-v4/compiler/util/parseStatement.js.html +0 -77
  145. package/coverage/lcov-report/marko-v4/compiler/util/removeComments.js.html +0 -221
  146. package/coverage/lcov-report/marko-v4/compiler/util/removeDashes.js.html +0 -77
  147. package/coverage/lcov-report/marko-v4/compiler/util/resolve-browser.js.html +0 -125
  148. package/coverage/lcov-report/marko-v4/compiler/util/resolve.js.html +0 -128
  149. package/coverage/lcov-report/marko-v4/compiler/util/safeVarName.js.html +0 -116
  150. package/coverage/lcov-report/marko-v4/compiler/util/tokenizer.js.html +0 -173
  151. package/coverage/lcov-report/marko-v4/compiler/util/vdom/VDOMOptimizer.js.html +0 -560
  152. package/coverage/lcov-report/marko-v4/compiler/util/vdom/index.html +0 -119
  153. package/coverage/lcov-report/marko-v4/compiler/util/vdom/index.js.html +0 -119
  154. package/coverage/lcov-report/marko-v4/compiler/util/vdom/isStaticValue.js.html +0 -212
  155. package/coverage/lcov-report/marko-v4/defineRenderer.js.html +0 -206
  156. package/coverage/lcov-report/marko-v4/express.js.html +0 -161
  157. package/coverage/lcov-report/marko-v4/helpers/empty.js.html +0 -77
  158. package/coverage/lcov-report/marko-v4/helpers/index.html +0 -106
  159. package/coverage/lcov-report/marko-v4/helpers/notEmpty.js.html +0 -95
  160. package/coverage/lcov-report/marko-v4/hot-reload/index.html +0 -93
  161. package/coverage/lcov-report/marko-v4/hot-reload/index.js.html +0 -524
  162. package/coverage/lcov-report/marko-v4/index.html +0 -158
  163. package/coverage/lcov-report/marko-v4/node-require-browser.js.html +0 -113
  164. package/coverage/lcov-report/marko-v4/node-require.js.html +0 -434
  165. package/coverage/lcov-report/marko-v4/runtime/deprecate.js.html +0 -131
  166. package/coverage/lcov-report/marko-v4/runtime/forEachPropStatusVar.js.html +0 -158
  167. package/coverage/lcov-report/marko-v4/runtime/helpers.js.html +0 -839
  168. package/coverage/lcov-report/marko-v4/runtime/html/helpers.js.html +0 -506
  169. package/coverage/lcov-report/marko-v4/runtime/html/index.html +0 -106
  170. package/coverage/lcov-report/marko-v4/runtime/html/index.js.html +0 -914
  171. package/coverage/lcov-report/marko-v4/runtime/index.html +0 -145
  172. package/coverage/lcov-report/marko-v4/runtime/inline.js.html +0 -65
  173. package/coverage/lcov-report/marko-v4/runtime/loader/index-browser-dynamic.js.html +0 -128
  174. package/coverage/lcov-report/marko-v4/runtime/loader/index-browser.js.html +0 -119
  175. package/coverage/lcov-report/marko-v4/runtime/loader/index.html +0 -119
  176. package/coverage/lcov-report/marko-v4/runtime/loader/index.js.html +0 -548
  177. package/coverage/lcov-report/marko-v4/runtime/stream.js.html +0 -224
  178. package/coverage/lcov-report/marko-v4/runtime/vdom/helpers.js.html +0 -350
  179. package/coverage/lcov-report/marko-v4/runtime/vdom/index.html +0 -106
  180. package/coverage/lcov-report/marko-v4/runtime/vdom/index.js.html +0 -893
  181. package/coverage/lcov-report/marko-v4/stream.js.html +0 -98
  182. package/coverage/lcov-report/marko-v4/taglibs/async/async-fragment-to-await-transformer.js.html +0 -221
  183. package/coverage/lcov-report/marko-v4/taglibs/async/await-nested-tag-transformer.js.html +0 -140
  184. package/coverage/lcov-report/marko-v4/taglibs/async/await-reorderer-tag.js.html +0 -278
  185. package/coverage/lcov-report/marko-v4/taglibs/async/await-tag-transformer.js.html +0 -353
  186. package/coverage/lcov-report/marko-v4/taglibs/async/await-tag.js.html +0 -779
  187. package/coverage/lcov-report/marko-v4/taglibs/async/client-reorder-browser.js.html +0 -65
  188. package/coverage/lcov-report/marko-v4/taglibs/async/client-reorder-runtime.js.html +0 -167
  189. package/coverage/lcov-report/marko-v4/taglibs/async/client-reorder-runtime.min.js.html +0 -65
  190. package/coverage/lcov-report/marko-v4/taglibs/async/client-reorder.js.html +0 -98
  191. package/coverage/lcov-report/marko-v4/taglibs/async/index.html +0 -197
  192. package/coverage/lcov-report/marko-v4/taglibs/cache/cached-fragment-tag-transformer.js.html +0 -89
  193. package/coverage/lcov-report/marko-v4/taglibs/cache/cached-fragment-tag.js.html +0 -266
  194. package/coverage/lcov-report/marko-v4/taglibs/cache/default-cache-manager.js.html +0 -173
  195. package/coverage/lcov-report/marko-v4/taglibs/cache/index.html +0 -119
  196. package/coverage/lcov-report/marko-v4/taglibs/core/assign-tag.js.html +0 -116
  197. package/coverage/lcov-report/marko-v4/taglibs/core/core-transformer.js.html +0 -683
  198. package/coverage/lcov-report/marko-v4/taglibs/core/else-if-tag.js.html +0 -140
  199. package/coverage/lcov-report/marko-v4/taglibs/core/else-tag.js.html +0 -170
  200. package/coverage/lcov-report/marko-v4/taglibs/core/for-tag.js.html +0 -131
  201. package/coverage/lcov-report/marko-v4/taglibs/core/if-tag.js.html +0 -140
  202. package/coverage/lcov-report/marko-v4/taglibs/core/include-html-tag-browser.js.html +0 -113
  203. package/coverage/lcov-report/marko-v4/taglibs/core/include-html-tag.js.html +0 -152
  204. package/coverage/lcov-report/marko-v4/taglibs/core/include-tag.js.html +0 -248
  205. package/coverage/lcov-report/marko-v4/taglibs/core/include-text-tag-browser.js.html +0 -113
  206. package/coverage/lcov-report/marko-v4/taglibs/core/include-text-tag.js.html +0 -152
  207. package/coverage/lcov-report/marko-v4/taglibs/core/index.html +0 -314
  208. package/coverage/lcov-report/marko-v4/taglibs/core/invoke-tag.js.html +0 -116
  209. package/coverage/lcov-report/marko-v4/taglibs/core/macro-body-tag.js.html +0 -83
  210. package/coverage/lcov-report/marko-v4/taglibs/core/macro-tag.js.html +0 -131
  211. package/coverage/lcov-report/marko-v4/taglibs/core/marko-preserve-whitespace-tag.js.html +0 -71
  212. package/coverage/lcov-report/marko-v4/taglibs/core/unless-tag.js.html +0 -143
  213. package/coverage/lcov-report/marko-v4/taglibs/core/util/createLoopNode.js.html +0 -128
  214. package/coverage/lcov-report/marko-v4/taglibs/core/util/index.html +0 -119
  215. package/coverage/lcov-report/marko-v4/taglibs/core/util/parseFor.js.html +0 -1145
  216. package/coverage/lcov-report/marko-v4/taglibs/core/util/parseJavaScriptIdentifier.js.html +0 -131
  217. package/coverage/lcov-report/marko-v4/taglibs/core/var-tag.js.html +0 -152
  218. package/coverage/lcov-report/marko-v4/taglibs/core/while-tag.js.html +0 -95
  219. package/coverage/lcov-report/marko-v4/taglibs/html/html-comment-tag.js.html +0 -146
  220. package/coverage/lcov-report/marko-v4/taglibs/html/index.html +0 -93
  221. package/coverage/lcov-report/marko-v4/taglibs/layout/index.html +0 -132
  222. package/coverage/lcov-report/marko-v4/taglibs/layout/placeholder-tag.js.html +0 -107
  223. package/coverage/lcov-report/marko-v4/taglibs/layout/put-tag.js.html +0 -77
  224. package/coverage/lcov-report/marko-v4/taglibs/layout/use-tag-transformer.js.html +0 -137
  225. package/coverage/lcov-report/marko-v4/taglibs/layout/use-tag.js.html +0 -134
  226. package/coverage/lcov-report/marko-v4/vdom.js.html +0 -65
  227. package/coverage/lcov-report/prettify.css +0 -1
  228. package/coverage/lcov-report/prettify.js +0 -1
  229. package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
  230. package/coverage/lcov-report/sorter.js +0 -158
  231. package/coverage/lcov.info +0 -13662
@@ -1,1931 +0,0 @@
1
- <!doctype html>
2
- <html lang="en">
3
- <head>
4
- <title>Code coverage report for marko-v4/compiler/taglib-loader/loader-tag.js</title>
5
- <meta charset="utf-8" />
6
- <link rel="stylesheet" href="../../../prettify.css" />
7
- <link rel="stylesheet" href="../../../base.css" />
8
- <meta name="viewport" content="width=device-width, initial-scale=1">
9
- <style type='text/css'>
10
- .coverage-summary .sorter {
11
- background-image: url(../../../sort-arrow-sprite.png);
12
- }
13
- </style>
14
- </head>
15
- <body>
16
- <div class='wrapper'>
17
- <div class='pad1'>
18
- <h1>
19
- <a href="../../../index.html">all files</a> / <a href="index.html">marko-v4/compiler/taglib-loader/</a> loader-tag.js
20
- </h1>
21
- <div class='clearfix'>
22
- <div class='fl pad1y space-right2'>
23
- <span class="strong">88.64% </span>
24
- <span class="quiet">Statements</span>
25
- <span class='fraction'>195/220</span>
26
- </div>
27
- <div class='fl pad1y space-right2'>
28
- <span class="strong">71.74% </span>
29
- <span class="quiet">Branches</span>
30
- <span class='fraction'>66/92</span>
31
- </div>
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">85.71% </span>
34
- <span class="quiet">Functions</span>
35
- <span class='fraction'>30/35</span>
36
- </div>
37
- <div class='fl pad1y space-right2'>
38
- <span class="strong">88.64% </span>
39
- <span class="quiet">Lines</span>
40
- <span class='fraction'>195/220</span>
41
- </div>
42
- </div>
43
- </div>
44
- <div class='status-line high'></div>
45
- <pre><table class="coverage">
46
- <tr><td class="line-count quiet">1
47
- 2
48
- 3
49
- 4
50
- 5
51
- 6
52
- 7
53
- 8
54
- 9
55
- 10
56
- 11
57
- 12
58
- 13
59
- 14
60
- 15
61
- 16
62
- 17
63
- 18
64
- 19
65
- 20
66
- 21
67
- 22
68
- 23
69
- 24
70
- 25
71
- 26
72
- 27
73
- 28
74
- 29
75
- 30
76
- 31
77
- 32
78
- 33
79
- 34
80
- 35
81
- 36
82
- 37
83
- 38
84
- 39
85
- 40
86
- 41
87
- 42
88
- 43
89
- 44
90
- 45
91
- 46
92
- 47
93
- 48
94
- 49
95
- 50
96
- 51
97
- 52
98
- 53
99
- 54
100
- 55
101
- 56
102
- 57
103
- 58
104
- 59
105
- 60
106
- 61
107
- 62
108
- 63
109
- 64
110
- 65
111
- 66
112
- 67
113
- 68
114
- 69
115
- 70
116
- 71
117
- 72
118
- 73
119
- 74
120
- 75
121
- 76
122
- 77
123
- 78
124
- 79
125
- 80
126
- 81
127
- 82
128
- 83
129
- 84
130
- 85
131
- 86
132
- 87
133
- 88
134
- 89
135
- 90
136
- 91
137
- 92
138
- 93
139
- 94
140
- 95
141
- 96
142
- 97
143
- 98
144
- 99
145
- 100
146
- 101
147
- 102
148
- 103
149
- 104
150
- 105
151
- 106
152
- 107
153
- 108
154
- 109
155
- 110
156
- 111
157
- 112
158
- 113
159
- 114
160
- 115
161
- 116
162
- 117
163
- 118
164
- 119
165
- 120
166
- 121
167
- 122
168
- 123
169
- 124
170
- 125
171
- 126
172
- 127
173
- 128
174
- 129
175
- 130
176
- 131
177
- 132
178
- 133
179
- 134
180
- 135
181
- 136
182
- 137
183
- 138
184
- 139
185
- 140
186
- 141
187
- 142
188
- 143
189
- 144
190
- 145
191
- 146
192
- 147
193
- 148
194
- 149
195
- 150
196
- 151
197
- 152
198
- 153
199
- 154
200
- 155
201
- 156
202
- 157
203
- 158
204
- 159
205
- 160
206
- 161
207
- 162
208
- 163
209
- 164
210
- 165
211
- 166
212
- 167
213
- 168
214
- 169
215
- 170
216
- 171
217
- 172
218
- 173
219
- 174
220
- 175
221
- 176
222
- 177
223
- 178
224
- 179
225
- 180
226
- 181
227
- 182
228
- 183
229
- 184
230
- 185
231
- 186
232
- 187
233
- 188
234
- 189
235
- 190
236
- 191
237
- 192
238
- 193
239
- 194
240
- 195
241
- 196
242
- 197
243
- 198
244
- 199
245
- 200
246
- 201
247
- 202
248
- 203
249
- 204
250
- 205
251
- 206
252
- 207
253
- 208
254
- 209
255
- 210
256
- 211
257
- 212
258
- 213
259
- 214
260
- 215
261
- 216
262
- 217
263
- 218
264
- 219
265
- 220
266
- 221
267
- 222
268
- 223
269
- 224
270
- 225
271
- 226
272
- 227
273
- 228
274
- 229
275
- 230
276
- 231
277
- 232
278
- 233
279
- 234
280
- 235
281
- 236
282
- 237
283
- 238
284
- 239
285
- 240
286
- 241
287
- 242
288
- 243
289
- 244
290
- 245
291
- 246
292
- 247
293
- 248
294
- 249
295
- 250
296
- 251
297
- 252
298
- 253
299
- 254
300
- 255
301
- 256
302
- 257
303
- 258
304
- 259
305
- 260
306
- 261
307
- 262
308
- 263
309
- 264
310
- 265
311
- 266
312
- 267
313
- 268
314
- 269
315
- 270
316
- 271
317
- 272
318
- 273
319
- 274
320
- 275
321
- 276
322
- 277
323
- 278
324
- 279
325
- 280
326
- 281
327
- 282
328
- 283
329
- 284
330
- 285
331
- 286
332
- 287
333
- 288
334
- 289
335
- 290
336
- 291
337
- 292
338
- 293
339
- 294
340
- 295
341
- 296
342
- 297
343
- 298
344
- 299
345
- 300
346
- 301
347
- 302
348
- 303
349
- 304
350
- 305
351
- 306
352
- 307
353
- 308
354
- 309
355
- 310
356
- 311
357
- 312
358
- 313
359
- 314
360
- 315
361
- 316
362
- 317
363
- 318
364
- 319
365
- 320
366
- 321
367
- 322
368
- 323
369
- 324
370
- 325
371
- 326
372
- 327
373
- 328
374
- 329
375
- 330
376
- 331
377
- 332
378
- 333
379
- 334
380
- 335
381
- 336
382
- 337
383
- 338
384
- 339
385
- 340
386
- 341
387
- 342
388
- 343
389
- 344
390
- 345
391
- 346
392
- 347
393
- 348
394
- 349
395
- 350
396
- 351
397
- 352
398
- 353
399
- 354
400
- 355
401
- 356
402
- 357
403
- 358
404
- 359
405
- 360
406
- 361
407
- 362
408
- 363
409
- 364
410
- 365
411
- 366
412
- 367
413
- 368
414
- 369
415
- 370
416
- 371
417
- 372
418
- 373
419
- 374
420
- 375
421
- 376
422
- 377
423
- 378
424
- 379
425
- 380
426
- 381
427
- 382
428
- 383
429
- 384
430
- 385
431
- 386
432
- 387
433
- 388
434
- 389
435
- 390
436
- 391
437
- 392
438
- 393
439
- 394
440
- 395
441
- 396
442
- 397
443
- 398
444
- 399
445
- 400
446
- 401
447
- 402
448
- 403
449
- 404
450
- 405
451
- 406
452
- 407
453
- 408
454
- 409
455
- 410
456
- 411
457
- 412
458
- 413
459
- 414
460
- 415
461
- 416
462
- 417
463
- 418
464
- 419
465
- 420
466
- 421
467
- 422
468
- 423
469
- 424
470
- 425
471
- 426
472
- 427
473
- 428
474
- 429
475
- 430
476
- 431
477
- 432
478
- 433
479
- 434
480
- 435
481
- 436
482
- 437
483
- 438
484
- 439
485
- 440
486
- 441
487
- 442
488
- 443
489
- 444
490
- 445
491
- 446
492
- 447
493
- 448
494
- 449
495
- 450
496
- 451
497
- 452
498
- 453
499
- 454
500
- 455
501
- 456
502
- 457
503
- 458
504
- 459
505
- 460
506
- 461
507
- 462
508
- 463
509
- 464
510
- 465
511
- 466
512
- 467
513
- 468
514
- 469
515
- 470
516
- 471
517
- 472
518
- 473
519
- 474
520
- 475
521
- 476
522
- 477
523
- 478
524
- 479
525
- 480
526
- 481
527
- 482
528
- 483
529
- 484
530
- 485
531
- 486
532
- 487
533
- 488
534
- 489
535
- 490
536
- 491
537
- 492
538
- 493
539
- 494
540
- 495
541
- 496
542
- 497
543
- 498
544
- 499
545
- 500
546
- 501
547
- 502
548
- 503
549
- 504
550
- 505
551
- 506
552
- 507
553
- 508
554
- 509
555
- 510
556
- 511
557
- 512
558
- 513
559
- 514
560
- 515
561
- 516
562
- 517
563
- 518
564
- 519
565
- 520
566
- 521
567
- 522
568
- 523
569
- 524
570
- 525
571
- 526
572
- 527
573
- 528
574
- 529
575
- 530
576
- 531
577
- 532
578
- 533
579
- 534
580
- 535
581
- 536
582
- 537
583
- 538
584
- 539
585
- 540
586
- 541
587
- 542
588
- 543
589
- 544
590
- 545
591
- 546
592
- 547
593
- 548
594
- 549
595
- 550
596
- 551
597
- 552
598
- 553
599
- 554
600
- 555
601
- 556
602
- 557
603
- 558
604
- 559
605
- 560
606
- 561
607
- 562
608
- 563
609
- 564
610
- 565
611
- 566
612
- 567
613
- 568
614
- 569
615
- 570
616
- 571
617
- 572
618
- 573
619
- 574
620
- 575
621
- 576
622
- 577
623
- 578
624
- 579
625
- 580
626
- 581
627
- 582
628
- 583
629
- 584
630
- 585
631
- 586
632
- 587
633
- 588
634
- 589
635
- 590
636
- 591
637
- 592
638
- 593
639
- 594
640
- 595
641
- 596
642
- 597
643
- 598
644
- 599
645
- 600
646
- 601
647
- 602
648
- 603
649
- 604
650
- 605
651
- 606
652
- 607
653
- 608
654
- 609
655
- 610
656
- 611
657
- 612
658
- 613
659
- 614
660
- 615
661
- 616
662
- 617
663
- 618
664
- 619
665
- 620
666
- 621
667
- 622
668
- 623</td><td class="line-coverage quiet"><span class="cline-any cline-neutral">&nbsp;</span>
669
- <span class="cline-any cline-neutral">&nbsp;</span>
670
- <span class="cline-any cline-neutral">&nbsp;</span>
671
- <span class="cline-any cline-neutral">&nbsp;</span>
672
- <span class="cline-any cline-neutral">&nbsp;</span>
673
- <span class="cline-any cline-neutral">&nbsp;</span>
674
- <span class="cline-any cline-neutral">&nbsp;</span>
675
- <span class="cline-any cline-neutral">&nbsp;</span>
676
- <span class="cline-any cline-neutral">&nbsp;</span>
677
- <span class="cline-any cline-neutral">&nbsp;</span>
678
- <span class="cline-any cline-neutral">&nbsp;</span>
679
- <span class="cline-any cline-neutral">&nbsp;</span>
680
- <span class="cline-any cline-neutral">&nbsp;</span>
681
- <span class="cline-any cline-neutral">&nbsp;</span>
682
- <span class="cline-any cline-neutral">&nbsp;</span>
683
- <span class="cline-any cline-neutral">&nbsp;</span>
684
- <span class="cline-any cline-neutral">&nbsp;</span>
685
- <span class="cline-any cline-yes">1×</span>
686
- <span class="cline-any cline-yes">1×</span>
687
- <span class="cline-any cline-yes">1×</span>
688
- <span class="cline-any cline-yes">1×</span>
689
- <span class="cline-any cline-yes">1×</span>
690
- <span class="cline-any cline-yes">1×</span>
691
- <span class="cline-any cline-yes">1×</span>
692
- <span class="cline-any cline-yes">1×</span>
693
- <span class="cline-any cline-yes">1×</span>
694
- <span class="cline-any cline-yes">1×</span>
695
- <span class="cline-any cline-yes">1×</span>
696
- <span class="cline-any cline-yes">1×</span>
697
- <span class="cline-any cline-yes">1×</span>
698
- <span class="cline-any cline-yes">1×</span>
699
- <span class="cline-any cline-yes">1×</span>
700
- <span class="cline-any cline-neutral">&nbsp;</span>
701
- <span class="cline-any cline-yes">1×</span>
702
- <span class="cline-any cline-yes">37×</span>
703
- <span class="cline-any cline-yes">37×</span>
704
- <span class="cline-any cline-yes">37×</span>
705
- <span class="cline-any cline-neutral">&nbsp;</span>
706
- <span class="cline-any cline-no">&nbsp;</span>
707
- <span class="cline-any cline-neutral">&nbsp;</span>
708
- <span class="cline-any cline-neutral">&nbsp;</span>
709
- <span class="cline-any cline-neutral">&nbsp;</span>
710
- <span class="cline-any cline-yes">1×</span>
711
- <span class="cline-any cline-yes">95×</span>
712
- <span class="cline-any cline-yes">35×</span>
713
- <span class="cline-any cline-neutral">&nbsp;</span>
714
- <span class="cline-any cline-neutral">&nbsp;</span>
715
- <span class="cline-any cline-neutral">&nbsp;</span>
716
- <span class="cline-any cline-yes">1×</span>
717
- <span class="cline-any cline-yes">277×</span>
718
- <span class="cline-any cline-yes">65×</span>
719
- <span class="cline-any cline-neutral">&nbsp;</span>
720
- <span class="cline-any cline-neutral">&nbsp;</span>
721
- <span class="cline-any cline-yes">212×</span>
722
- <span class="cline-any cline-yes">315×</span>
723
- <span class="cline-any cline-yes">142×</span>
724
- <span class="cline-any cline-neutral">&nbsp;</span>
725
- <span class="cline-any cline-neutral">&nbsp;</span>
726
- <span class="cline-any cline-neutral">&nbsp;</span>
727
- <span class="cline-any cline-yes">70×</span>
728
- <span class="cline-any cline-neutral">&nbsp;</span>
729
- <span class="cline-any cline-neutral">&nbsp;</span>
730
- <span class="cline-any cline-neutral">&nbsp;</span>
731
- <span class="cline-any cline-neutral">&nbsp;</span>
732
- <span class="cline-any cline-neutral">&nbsp;</span>
733
- <span class="cline-any cline-neutral">&nbsp;</span>
734
- <span class="cline-any cline-neutral">&nbsp;</span>
735
- <span class="cline-any cline-neutral">&nbsp;</span>
736
- <span class="cline-any cline-neutral">&nbsp;</span>
737
- <span class="cline-any cline-neutral">&nbsp;</span>
738
- <span class="cline-any cline-neutral">&nbsp;</span>
739
- <span class="cline-any cline-neutral">&nbsp;</span>
740
- <span class="cline-any cline-neutral">&nbsp;</span>
741
- <span class="cline-any cline-neutral">&nbsp;</span>
742
- <span class="cline-any cline-yes">277×</span>
743
- <span class="cline-any cline-neutral">&nbsp;</span>
744
- <span class="cline-any cline-yes">277×</span>
745
- <span class="cline-any cline-yes">277×</span>
746
- <span class="cline-any cline-yes">277×</span>
747
- <span class="cline-any cline-neutral">&nbsp;</span>
748
- <span class="cline-any cline-neutral">&nbsp;</span>
749
- <span class="cline-any cline-neutral">&nbsp;</span>
750
- <span class="cline-any cline-yes">277×</span>
751
- <span class="cline-any cline-yes">277×</span>
752
- <span class="cline-any cline-yes">277×</span>
753
- <span class="cline-any cline-neutral">&nbsp;</span>
754
- <span class="cline-any cline-yes">277×</span>
755
- <span class="cline-any cline-yes">277×</span>
756
- <span class="cline-any cline-yes">277×</span>
757
- <span class="cline-any cline-neutral">&nbsp;</span>
758
- <span class="cline-any cline-yes">277×</span>
759
- <span class="cline-any cline-neutral">&nbsp;</span>
760
- <span class="cline-any cline-yes">70×</span>
761
- <span class="cline-any cline-neutral">&nbsp;</span>
762
- <span class="cline-any cline-neutral">&nbsp;</span>
763
- <span class="cline-any cline-neutral">&nbsp;</span>
764
- <span class="cline-any cline-neutral">&nbsp;</span>
765
- <span class="cline-any cline-neutral">&nbsp;</span>
766
- <span class="cline-any cline-neutral">&nbsp;</span>
767
- <span class="cline-any cline-neutral">&nbsp;</span>
768
- <span class="cline-any cline-neutral">&nbsp;</span>
769
- <span class="cline-any cline-neutral">&nbsp;</span>
770
- <span class="cline-any cline-neutral">&nbsp;</span>
771
- <span class="cline-any cline-yes">277×</span>
772
- <span class="cline-any cline-yes">275×</span>
773
- <span class="cline-any cline-neutral">&nbsp;</span>
774
- <span class="cline-any cline-neutral">&nbsp;</span>
775
- <span class="cline-any cline-neutral">&nbsp;</span>
776
- <span class="cline-any cline-yes">3×</span>
777
- <span class="cline-any cline-neutral">&nbsp;</span>
778
- <span class="cline-any cline-yes">3×</span>
779
- <span class="cline-any cline-neutral">&nbsp;</span>
780
- <span class="cline-any cline-yes">3×</span>
781
- <span class="cline-any cline-yes">2×</span>
782
- <span class="cline-any cline-neutral">&nbsp;</span>
783
- <span class="cline-any cline-neutral">&nbsp;</span>
784
- <span class="cline-any cline-neutral">&nbsp;</span>
785
- <span class="cline-any cline-yes">1×</span>
786
- <span class="cline-any cline-neutral">&nbsp;</span>
787
- <span class="cline-any cline-yes">1×</span>
788
- <span class="cline-any cline-neutral">&nbsp;</span>
789
- <span class="cline-any cline-neutral">&nbsp;</span>
790
- <span class="cline-any cline-no">&nbsp;</span>
791
- <span class="cline-any cline-neutral">&nbsp;</span>
792
- <span class="cline-any cline-neutral">&nbsp;</span>
793
- <span class="cline-any cline-neutral">&nbsp;</span>
794
- <span class="cline-any cline-yes">1×</span>
795
- <span class="cline-any cline-neutral">&nbsp;</span>
796
- <span class="cline-any cline-neutral">&nbsp;</span>
797
- <span class="cline-any cline-neutral">&nbsp;</span>
798
- <span class="cline-any cline-neutral">&nbsp;</span>
799
- <span class="cline-any cline-yes">1×</span>
800
- <span class="cline-any cline-no">&nbsp;</span>
801
- <span class="cline-any cline-neutral">&nbsp;</span>
802
- <span class="cline-any cline-neutral">&nbsp;</span>
803
- <span class="cline-any cline-neutral">&nbsp;</span>
804
- <span class="cline-any cline-yes">3×</span>
805
- <span class="cline-any cline-neutral">&nbsp;</span>
806
- <span class="cline-any cline-neutral">&nbsp;</span>
807
- <span class="cline-any cline-neutral">&nbsp;</span>
808
- <span class="cline-any cline-neutral">&nbsp;</span>
809
- <span class="cline-any cline-neutral">&nbsp;</span>
810
- <span class="cline-any cline-neutral">&nbsp;</span>
811
- <span class="cline-any cline-neutral">&nbsp;</span>
812
- <span class="cline-any cline-neutral">&nbsp;</span>
813
- <span class="cline-any cline-neutral">&nbsp;</span>
814
- <span class="cline-any cline-yes">232×</span>
815
- <span class="cline-any cline-yes">232×</span>
816
- <span class="cline-any cline-yes">232×</span>
817
- <span class="cline-any cline-neutral">&nbsp;</span>
818
- <span class="cline-any cline-yes">232×</span>
819
- <span class="cline-any cline-yes">232×</span>
820
- <span class="cline-any cline-neutral">&nbsp;</span>
821
- <span class="cline-any cline-yes">232×</span>
822
- <span class="cline-any cline-yes">232×</span>
823
- <span class="cline-any cline-yes">232×</span>
824
- <span class="cline-any cline-neutral">&nbsp;</span>
825
- <span class="cline-any cline-neutral">&nbsp;</span>
826
- <span class="cline-any cline-neutral">&nbsp;</span>
827
- <span class="cline-any cline-yes">232×</span>
828
- <span class="cline-any cline-yes">261×</span>
829
- <span class="cline-any cline-yes">261×</span>
830
- <span class="cline-any cline-yes">229×</span>
831
- <span class="cline-any cline-neutral">&nbsp;</span>
832
- <span class="cline-any cline-yes">229×</span>
833
- <span class="cline-any cline-neutral">&nbsp;</span>
834
- <span class="cline-any cline-yes">229×</span>
835
- <span class="cline-any cline-neutral">&nbsp;</span>
836
- <span class="cline-any cline-yes">32×</span>
837
- <span class="cline-any cline-yes">30×</span>
838
- <span class="cline-any cline-neutral">&nbsp;</span>
839
- <span class="cline-any cline-neutral">&nbsp;</span>
840
- <span class="cline-any cline-neutral">&nbsp;</span>
841
- <span class="cline-any cline-yes">2×</span>
842
- <span class="cline-any cline-neutral">&nbsp;</span>
843
- <span class="cline-any cline-neutral">&nbsp;</span>
844
- <span class="cline-any cline-neutral">&nbsp;</span>
845
- <span class="cline-any cline-yes">230×</span>
846
- <span class="cline-any cline-yes">230×</span>
847
- <span class="cline-any cline-yes">230×</span>
848
- <span class="cline-any cline-neutral">&nbsp;</span>
849
- <span class="cline-any cline-yes">230×</span>
850
- <span class="cline-any cline-yes">76×</span>
851
- <span class="cline-any cline-yes">123×</span>
852
- <span class="cline-any cline-yes">123×</span>
853
- <span class="cline-any cline-neutral">&nbsp;</span>
854
- <span class="cline-any cline-neutral">&nbsp;</span>
855
- <span class="cline-any cline-yes">28×</span>
856
- <span class="cline-any cline-yes">28×</span>
857
- <span class="cline-any cline-neutral">&nbsp;</span>
858
- <span class="cline-any cline-neutral">&nbsp;</span>
859
- <span class="cline-any cline-neutral">&nbsp;</span>
860
- <span class="cline-any cline-neutral">&nbsp;</span>
861
- <span class="cline-any cline-neutral">&nbsp;</span>
862
- <span class="cline-any cline-yes">95×</span>
863
- <span class="cline-any cline-neutral">&nbsp;</span>
864
- <span class="cline-any cline-yes">95×</span>
865
- <span class="cline-any cline-neutral">&nbsp;</span>
866
- <span class="cline-any cline-neutral">&nbsp;</span>
867
- <span class="cline-any cline-neutral">&nbsp;</span>
868
- <span class="cline-any cline-yes">50×</span>
869
- <span class="cline-any cline-yes">50×</span>
870
- <span class="cline-any cline-yes">50×</span>
871
- <span class="cline-any cline-yes">45×</span>
872
- <span class="cline-any cline-neutral">&nbsp;</span>
873
- <span class="cline-any cline-no">&nbsp;</span>
874
- <span class="cline-any cline-no">&nbsp;</span>
875
- <span class="cline-any cline-yes">45×</span>
876
- <span class="cline-any cline-neutral">&nbsp;</span>
877
- <span class="cline-any cline-yes">45×</span>
878
- <span class="cline-any cline-yes">45×</span>
879
- <span class="cline-any cline-neutral">&nbsp;</span>
880
- <span class="cline-any cline-neutral">&nbsp;</span>
881
- <span class="cline-any cline-neutral">&nbsp;</span>
882
- <span class="cline-any cline-neutral">&nbsp;</span>
883
- <span class="cline-any cline-neutral">&nbsp;</span>
884
- <span class="cline-any cline-neutral">&nbsp;</span>
885
- <span class="cline-any cline-neutral">&nbsp;</span>
886
- <span class="cline-any cline-yes">76×</span>
887
- <span class="cline-any cline-no">&nbsp;</span>
888
- <span class="cline-any cline-neutral">&nbsp;</span>
889
- <span class="cline-any cline-neutral">&nbsp;</span>
890
- <span class="cline-any cline-neutral">&nbsp;</span>
891
- <span class="cline-any cline-neutral">&nbsp;</span>
892
- <span class="cline-any cline-yes">76×</span>
893
- <span class="cline-any cline-yes">76×</span>
894
- <span class="cline-any cline-neutral">&nbsp;</span>
895
- <span class="cline-any cline-neutral">&nbsp;</span>
896
- <span class="cline-any cline-yes">28×</span>
897
- <span class="cline-any cline-neutral">&nbsp;</span>
898
- <span class="cline-any cline-yes">154×</span>
899
- <span class="cline-any cline-yes">154×</span>
900
- <span class="cline-any cline-yes">1×</span>
901
- <span class="cline-any cline-neutral">&nbsp;</span>
902
- <span class="cline-any cline-neutral">&nbsp;</span>
903
- <span class="cline-any cline-yes">153×</span>
904
- <span class="cline-any cline-yes">1×</span>
905
- <span class="cline-any cline-neutral">&nbsp;</span>
906
- <span class="cline-any cline-neutral">&nbsp;</span>
907
- <span class="cline-any cline-neutral">&nbsp;</span>
908
- <span class="cline-any cline-yes">152×</span>
909
- <span class="cline-any cline-neutral">&nbsp;</span>
910
- <span class="cline-any cline-neutral">&nbsp;</span>
911
- <span class="cline-any cline-neutral">&nbsp;</span>
912
- <span class="cline-any cline-neutral">&nbsp;</span>
913
- <span class="cline-any cline-neutral">&nbsp;</span>
914
- <span class="cline-any cline-neutral">&nbsp;</span>
915
- <span class="cline-any cline-neutral">&nbsp;</span>
916
- <span class="cline-any cline-yes">230×</span>
917
- <span class="cline-any cline-yes">259×</span>
918
- <span class="cline-any cline-yes">259×</span>
919
- <span class="cline-any cline-neutral">&nbsp;</span>
920
- <span class="cline-any cline-yes">229×</span>
921
- <span class="cline-any cline-neutral">&nbsp;</span>
922
- <span class="cline-any cline-yes">229×</span>
923
- <span class="cline-any cline-neutral">&nbsp;</span>
924
- <span class="cline-any cline-neutral">&nbsp;</span>
925
- <span class="cline-any cline-neutral">&nbsp;</span>
926
- <span class="cline-any cline-neutral">&nbsp;</span>
927
- <span class="cline-any cline-yes">229×</span>
928
- <span class="cline-any cline-yes">30×</span>
929
- <span class="cline-any cline-neutral">&nbsp;</span>
930
- <span class="cline-any cline-neutral">&nbsp;</span>
931
- <span class="cline-any cline-yes">30×</span>
932
- <span class="cline-any cline-neutral">&nbsp;</span>
933
- <span class="cline-any cline-neutral">&nbsp;</span>
934
- <span class="cline-any cline-neutral">&nbsp;</span>
935
- <span class="cline-any cline-neutral">&nbsp;</span>
936
- <span class="cline-any cline-neutral">&nbsp;</span>
937
- <span class="cline-any cline-neutral">&nbsp;</span>
938
- <span class="cline-any cline-yes">30×</span>
939
- <span class="cline-any cline-yes">30×</span>
940
- <span class="cline-any cline-yes">14×</span>
941
- <span class="cline-any cline-yes">14×</span>
942
- <span class="cline-any cline-neutral">&nbsp;</span>
943
- <span class="cline-any cline-neutral">&nbsp;</span>
944
- <span class="cline-any cline-yes">30×</span>
945
- <span class="cline-any cline-yes">30×</span>
946
- <span class="cline-any cline-yes">30×</span>
947
- <span class="cline-any cline-neutral">&nbsp;</span>
948
- <span class="cline-any cline-neutral">&nbsp;</span>
949
- <span class="cline-any cline-yes">30×</span>
950
- <span class="cline-any cline-yes">30×</span>
951
- <span class="cline-any cline-neutral">&nbsp;</span>
952
- <span class="cline-any cline-no">&nbsp;</span>
953
- <span class="cline-any cline-neutral">&nbsp;</span>
954
- <span class="cline-any cline-neutral">&nbsp;</span>
955
- <span class="cline-any cline-neutral">&nbsp;</span>
956
- <span class="cline-any cline-neutral">&nbsp;</span>
957
- <span class="cline-any cline-neutral">&nbsp;</span>
958
- <span class="cline-any cline-neutral">&nbsp;</span>
959
- <span class="cline-any cline-neutral">&nbsp;</span>
960
- <span class="cline-any cline-neutral">&nbsp;</span>
961
- <span class="cline-any cline-neutral">&nbsp;</span>
962
- <span class="cline-any cline-no">&nbsp;</span>
963
- <span class="cline-any cline-no">&nbsp;</span>
964
- <span class="cline-any cline-neutral">&nbsp;</span>
965
- <span class="cline-any cline-neutral">&nbsp;</span>
966
- <span class="cline-any cline-neutral">&nbsp;</span>
967
- <span class="cline-any cline-neutral">&nbsp;</span>
968
- <span class="cline-any cline-neutral">&nbsp;</span>
969
- <span class="cline-any cline-neutral">&nbsp;</span>
970
- <span class="cline-any cline-neutral">&nbsp;</span>
971
- <span class="cline-any cline-neutral">&nbsp;</span>
972
- <span class="cline-any cline-neutral">&nbsp;</span>
973
- <span class="cline-any cline-neutral">&nbsp;</span>
974
- <span class="cline-any cline-neutral">&nbsp;</span>
975
- <span class="cline-any cline-yes">121×</span>
976
- <span class="cline-any cline-yes">121×</span>
977
- <span class="cline-any cline-yes">121×</span>
978
- <span class="cline-any cline-yes">121×</span>
979
- <span class="cline-any cline-neutral">&nbsp;</span>
980
- <span class="cline-any cline-neutral">&nbsp;</span>
981
- <span class="cline-any cline-neutral">&nbsp;</span>
982
- <span class="cline-any cline-neutral">&nbsp;</span>
983
- <span class="cline-any cline-neutral">&nbsp;</span>
984
- <span class="cline-any cline-neutral">&nbsp;</span>
985
- <span class="cline-any cline-neutral">&nbsp;</span>
986
- <span class="cline-any cline-neutral">&nbsp;</span>
987
- <span class="cline-any cline-yes">37×</span>
988
- <span class="cline-any cline-yes">37×</span>
989
- <span class="cline-any cline-neutral">&nbsp;</span>
990
- <span class="cline-any cline-yes">37×</span>
991
- <span class="cline-any cline-yes">37×</span>
992
- <span class="cline-any cline-no">&nbsp;</span>
993
- <span class="cline-any cline-neutral">&nbsp;</span>
994
- <span class="cline-any cline-yes">37×</span>
995
- <span class="cline-any cline-neutral">&nbsp;</span>
996
- <span class="cline-any cline-neutral">&nbsp;</span>
997
- <span class="cline-any cline-neutral">&nbsp;</span>
998
- <span class="cline-any cline-neutral">&nbsp;</span>
999
- <span class="cline-any cline-neutral">&nbsp;</span>
1000
- <span class="cline-any cline-neutral">&nbsp;</span>
1001
- <span class="cline-any cline-neutral">&nbsp;</span>
1002
- <span class="cline-any cline-neutral">&nbsp;</span>
1003
- <span class="cline-any cline-neutral">&nbsp;</span>
1004
- <span class="cline-any cline-neutral">&nbsp;</span>
1005
- <span class="cline-any cline-neutral">&nbsp;</span>
1006
- <span class="cline-any cline-neutral">&nbsp;</span>
1007
- <span class="cline-any cline-neutral">&nbsp;</span>
1008
- <span class="cline-any cline-neutral">&nbsp;</span>
1009
- <span class="cline-any cline-yes">133×</span>
1010
- <span class="cline-any cline-neutral">&nbsp;</span>
1011
- <span class="cline-any cline-yes">133×</span>
1012
- <span class="cline-any cline-neutral">&nbsp;</span>
1013
- <span class="cline-any cline-neutral">&nbsp;</span>
1014
- <span class="cline-any cline-neutral">&nbsp;</span>
1015
- <span class="cline-any cline-neutral">&nbsp;</span>
1016
- <span class="cline-any cline-neutral">&nbsp;</span>
1017
- <span class="cline-any cline-neutral">&nbsp;</span>
1018
- <span class="cline-any cline-neutral">&nbsp;</span>
1019
- <span class="cline-any cline-neutral">&nbsp;</span>
1020
- <span class="cline-any cline-neutral">&nbsp;</span>
1021
- <span class="cline-any cline-yes">26×</span>
1022
- <span class="cline-any cline-yes">26×</span>
1023
- <span class="cline-any cline-neutral">&nbsp;</span>
1024
- <span class="cline-any cline-yes">26×</span>
1025
- <span class="cline-any cline-yes">26×</span>
1026
- <span class="cline-any cline-neutral">&nbsp;</span>
1027
- <span class="cline-any cline-neutral">&nbsp;</span>
1028
- <span class="cline-any cline-neutral">&nbsp;</span>
1029
- <span class="cline-any cline-neutral">&nbsp;</span>
1030
- <span class="cline-any cline-neutral">&nbsp;</span>
1031
- <span class="cline-any cline-neutral">&nbsp;</span>
1032
- <span class="cline-any cline-neutral">&nbsp;</span>
1033
- <span class="cline-any cline-neutral">&nbsp;</span>
1034
- <span class="cline-any cline-neutral">&nbsp;</span>
1035
- <span class="cline-any cline-neutral">&nbsp;</span>
1036
- <span class="cline-any cline-yes">5×</span>
1037
- <span class="cline-any cline-yes">5×</span>
1038
- <span class="cline-any cline-neutral">&nbsp;</span>
1039
- <span class="cline-any cline-yes">5×</span>
1040
- <span class="cline-any cline-yes">5×</span>
1041
- <span class="cline-any cline-neutral">&nbsp;</span>
1042
- <span class="cline-any cline-neutral">&nbsp;</span>
1043
- <span class="cline-any cline-neutral">&nbsp;</span>
1044
- <span class="cline-any cline-neutral">&nbsp;</span>
1045
- <span class="cline-any cline-neutral">&nbsp;</span>
1046
- <span class="cline-any cline-neutral">&nbsp;</span>
1047
- <span class="cline-any cline-neutral">&nbsp;</span>
1048
- <span class="cline-any cline-neutral">&nbsp;</span>
1049
- <span class="cline-any cline-neutral">&nbsp;</span>
1050
- <span class="cline-any cline-yes">7×</span>
1051
- <span class="cline-any cline-yes">7×</span>
1052
- <span class="cline-any cline-neutral">&nbsp;</span>
1053
- <span class="cline-any cline-neutral">&nbsp;</span>
1054
- <span class="cline-any cline-neutral">&nbsp;</span>
1055
- <span class="cline-any cline-neutral">&nbsp;</span>
1056
- <span class="cline-any cline-neutral">&nbsp;</span>
1057
- <span class="cline-any cline-neutral">&nbsp;</span>
1058
- <span class="cline-any cline-neutral">&nbsp;</span>
1059
- <span class="cline-any cline-neutral">&nbsp;</span>
1060
- <span class="cline-any cline-yes">23×</span>
1061
- <span class="cline-any cline-yes">23×</span>
1062
- <span class="cline-any cline-neutral">&nbsp;</span>
1063
- <span class="cline-any cline-yes">23×</span>
1064
- <span class="cline-any cline-neutral">&nbsp;</span>
1065
- <span class="cline-any cline-yes">23×</span>
1066
- <span class="cline-any cline-neutral">&nbsp;</span>
1067
- <span class="cline-any cline-neutral">&nbsp;</span>
1068
- <span class="cline-any cline-neutral">&nbsp;</span>
1069
- <span class="cline-any cline-yes">15×</span>
1070
- <span class="cline-any cline-neutral">&nbsp;</span>
1071
- <span class="cline-any cline-neutral">&nbsp;</span>
1072
- <span class="cline-any cline-neutral">&nbsp;</span>
1073
- <span class="cline-any cline-neutral">&nbsp;</span>
1074
- <span class="cline-any cline-neutral">&nbsp;</span>
1075
- <span class="cline-any cline-neutral">&nbsp;</span>
1076
- <span class="cline-any cline-neutral">&nbsp;</span>
1077
- <span class="cline-any cline-neutral">&nbsp;</span>
1078
- <span class="cline-any cline-neutral">&nbsp;</span>
1079
- <span class="cline-any cline-yes">23×</span>
1080
- <span class="cline-any cline-neutral">&nbsp;</span>
1081
- <span class="cline-any cline-yes">23×</span>
1082
- <span class="cline-any cline-yes">23×</span>
1083
- <span class="cline-any cline-neutral">&nbsp;</span>
1084
- <span class="cline-any cline-neutral">&nbsp;</span>
1085
- <span class="cline-any cline-neutral">&nbsp;</span>
1086
- <span class="cline-any cline-yes">8×</span>
1087
- <span class="cline-any cline-neutral">&nbsp;</span>
1088
- <span class="cline-any cline-neutral">&nbsp;</span>
1089
- <span class="cline-any cline-neutral">&nbsp;</span>
1090
- <span class="cline-any cline-yes">2×</span>
1091
- <span class="cline-any cline-neutral">&nbsp;</span>
1092
- <span class="cline-any cline-neutral">&nbsp;</span>
1093
- <span class="cline-any cline-neutral">&nbsp;</span>
1094
- <span class="cline-any cline-no">&nbsp;</span>
1095
- <span class="cline-any cline-no">&nbsp;</span>
1096
- <span class="cline-any cline-no">&nbsp;</span>
1097
- <span class="cline-any cline-no">&nbsp;</span>
1098
- <span class="cline-any cline-neutral">&nbsp;</span>
1099
- <span class="cline-any cline-neutral">&nbsp;</span>
1100
- <span class="cline-any cline-neutral">&nbsp;</span>
1101
- <span class="cline-any cline-neutral">&nbsp;</span>
1102
- <span class="cline-any cline-neutral">&nbsp;</span>
1103
- <span class="cline-any cline-neutral">&nbsp;</span>
1104
- <span class="cline-any cline-yes">23×</span>
1105
- <span class="cline-any cline-neutral">&nbsp;</span>
1106
- <span class="cline-any cline-yes">23×</span>
1107
- <span class="cline-any cline-neutral">&nbsp;</span>
1108
- <span class="cline-any cline-neutral">&nbsp;</span>
1109
- <span class="cline-any cline-neutral">&nbsp;</span>
1110
- <span class="cline-any cline-neutral">&nbsp;</span>
1111
- <span class="cline-any cline-neutral">&nbsp;</span>
1112
- <span class="cline-any cline-neutral">&nbsp;</span>
1113
- <span class="cline-any cline-neutral">&nbsp;</span>
1114
- <span class="cline-any cline-neutral">&nbsp;</span>
1115
- <span class="cline-any cline-neutral">&nbsp;</span>
1116
- <span class="cline-any cline-neutral">&nbsp;</span>
1117
- <span class="cline-any cline-neutral">&nbsp;</span>
1118
- <span class="cline-any cline-neutral">&nbsp;</span>
1119
- <span class="cline-any cline-neutral">&nbsp;</span>
1120
- <span class="cline-any cline-neutral">&nbsp;</span>
1121
- <span class="cline-any cline-neutral">&nbsp;</span>
1122
- <span class="cline-any cline-neutral">&nbsp;</span>
1123
- <span class="cline-any cline-neutral">&nbsp;</span>
1124
- <span class="cline-any cline-neutral">&nbsp;</span>
1125
- <span class="cline-any cline-neutral">&nbsp;</span>
1126
- <span class="cline-any cline-yes">2×</span>
1127
- <span class="cline-any cline-neutral">&nbsp;</span>
1128
- <span class="cline-any cline-neutral">&nbsp;</span>
1129
- <span class="cline-any cline-neutral">&nbsp;</span>
1130
- <span class="cline-any cline-neutral">&nbsp;</span>
1131
- <span class="cline-any cline-neutral">&nbsp;</span>
1132
- <span class="cline-any cline-neutral">&nbsp;</span>
1133
- <span class="cline-any cline-yes">1×</span>
1134
- <span class="cline-any cline-yes">1×</span>
1135
- <span class="cline-any cline-yes">1×</span>
1136
- <span class="cline-any cline-neutral">&nbsp;</span>
1137
- <span class="cline-any cline-neutral">&nbsp;</span>
1138
- <span class="cline-any cline-neutral">&nbsp;</span>
1139
- <span class="cline-any cline-neutral">&nbsp;</span>
1140
- <span class="cline-any cline-neutral">&nbsp;</span>
1141
- <span class="cline-any cline-neutral">&nbsp;</span>
1142
- <span class="cline-any cline-neutral">&nbsp;</span>
1143
- <span class="cline-any cline-neutral">&nbsp;</span>
1144
- <span class="cline-any cline-neutral">&nbsp;</span>
1145
- <span class="cline-any cline-neutral">&nbsp;</span>
1146
- <span class="cline-any cline-neutral">&nbsp;</span>
1147
- <span class="cline-any cline-neutral">&nbsp;</span>
1148
- <span class="cline-any cline-neutral">&nbsp;</span>
1149
- <span class="cline-any cline-yes">4×</span>
1150
- <span class="cline-any cline-yes">4×</span>
1151
- <span class="cline-any cline-yes">4×</span>
1152
- <span class="cline-any cline-no">&nbsp;</span>
1153
- <span class="cline-any cline-neutral">&nbsp;</span>
1154
- <span class="cline-any cline-neutral">&nbsp;</span>
1155
- <span class="cline-any cline-yes">4×</span>
1156
- <span class="cline-any cline-yes">4×</span>
1157
- <span class="cline-any cline-yes">4×</span>
1158
- <span class="cline-any cline-yes">4×</span>
1159
- <span class="cline-any cline-yes">4×</span>
1160
- <span class="cline-any cline-yes">5×</span>
1161
- <span class="cline-any cline-no">&nbsp;</span>
1162
- <span class="cline-any cline-yes">5×</span>
1163
- <span class="cline-any cline-no">&nbsp;</span>
1164
- <span class="cline-any cline-neutral">&nbsp;</span>
1165
- <span class="cline-any cline-neutral">&nbsp;</span>
1166
- <span class="cline-any cline-neutral">&nbsp;</span>
1167
- <span class="cline-any cline-no">&nbsp;</span>
1168
- <span class="cline-any cline-neutral">&nbsp;</span>
1169
- <span class="cline-any cline-neutral">&nbsp;</span>
1170
- <span class="cline-any cline-yes">4×</span>
1171
- <span class="cline-any cline-neutral">&nbsp;</span>
1172
- <span class="cline-any cline-neutral">&nbsp;</span>
1173
- <span class="cline-any cline-neutral">&nbsp;</span>
1174
- <span class="cline-any cline-neutral">&nbsp;</span>
1175
- <span class="cline-any cline-neutral">&nbsp;</span>
1176
- <span class="cline-any cline-neutral">&nbsp;</span>
1177
- <span class="cline-any cline-neutral">&nbsp;</span>
1178
- <span class="cline-any cline-neutral">&nbsp;</span>
1179
- <span class="cline-any cline-neutral">&nbsp;</span>
1180
- <span class="cline-any cline-neutral">&nbsp;</span>
1181
- <span class="cline-any cline-neutral">&nbsp;</span>
1182
- <span class="cline-any cline-neutral">&nbsp;</span>
1183
- <span class="cline-any cline-yes">7×</span>
1184
- <span class="cline-any cline-yes">7×</span>
1185
- <span class="cline-any cline-yes">8×</span>
1186
- <span class="cline-any cline-neutral">&nbsp;</span>
1187
- <span class="cline-any cline-neutral">&nbsp;</span>
1188
- <span class="cline-any cline-neutral">&nbsp;</span>
1189
- <span class="cline-any cline-yes">8×</span>
1190
- <span class="cline-any cline-neutral">&nbsp;</span>
1191
- <span class="cline-any cline-yes">8×</span>
1192
- <span class="cline-any cline-no">&nbsp;</span>
1193
- <span class="cline-any cline-neutral">&nbsp;</span>
1194
- <span class="cline-any cline-yes">8×</span>
1195
- <span class="cline-any cline-no">&nbsp;</span>
1196
- <span class="cline-any cline-neutral">&nbsp;</span>
1197
- <span class="cline-any cline-neutral">&nbsp;</span>
1198
- <span class="cline-any cline-yes">8×</span>
1199
- <span class="cline-any cline-no">&nbsp;</span>
1200
- <span class="cline-any cline-neutral">&nbsp;</span>
1201
- <span class="cline-any cline-neutral">&nbsp;</span>
1202
- <span class="cline-any cline-yes">8×</span>
1203
- <span class="cline-any cline-yes">8×</span>
1204
- <span class="cline-any cline-neutral">&nbsp;</span>
1205
- <span class="cline-any cline-neutral">&nbsp;</span>
1206
- <span class="cline-any cline-neutral">&nbsp;</span>
1207
- <span class="cline-any cline-neutral">&nbsp;</span>
1208
- <span class="cline-any cline-neutral">&nbsp;</span>
1209
- <span class="cline-any cline-neutral">&nbsp;</span>
1210
- <span class="cline-any cline-yes">2×</span>
1211
- <span class="cline-any cline-yes">2×</span>
1212
- <span class="cline-any cline-neutral">&nbsp;</span>
1213
- <span class="cline-any cline-neutral">&nbsp;</span>
1214
- <span class="cline-any cline-neutral">&nbsp;</span>
1215
- <span class="cline-any cline-neutral">&nbsp;</span>
1216
- <span class="cline-any cline-neutral">&nbsp;</span>
1217
- <span class="cline-any cline-neutral">&nbsp;</span>
1218
- <span class="cline-any cline-neutral">&nbsp;</span>
1219
- <span class="cline-any cline-neutral">&nbsp;</span>
1220
- <span class="cline-any cline-neutral">&nbsp;</span>
1221
- <span class="cline-any cline-neutral">&nbsp;</span>
1222
- <span class="cline-any cline-neutral">&nbsp;</span>
1223
- <span class="cline-any cline-neutral">&nbsp;</span>
1224
- <span class="cline-any cline-neutral">&nbsp;</span>
1225
- <span class="cline-any cline-neutral">&nbsp;</span>
1226
- <span class="cline-any cline-neutral">&nbsp;</span>
1227
- <span class="cline-any cline-neutral">&nbsp;</span>
1228
- <span class="cline-any cline-yes">7×</span>
1229
- <span class="cline-any cline-yes">7×</span>
1230
- <span class="cline-any cline-neutral">&nbsp;</span>
1231
- <span class="cline-any cline-yes">7×</span>
1232
- <span class="cline-any cline-yes">7×</span>
1233
- <span class="cline-any cline-neutral">&nbsp;</span>
1234
- <span class="cline-any cline-neutral">&nbsp;</span>
1235
- <span class="cline-any cline-neutral">&nbsp;</span>
1236
- <span class="cline-any cline-yes">7×</span>
1237
- <span class="cline-any cline-yes">7×</span>
1238
- <span class="cline-any cline-neutral">&nbsp;</span>
1239
- <span class="cline-any cline-neutral">&nbsp;</span>
1240
- <span class="cline-any cline-neutral">&nbsp;</span>
1241
- <span class="cline-any cline-no">&nbsp;</span>
1242
- <span class="cline-any cline-no">&nbsp;</span>
1243
- <span class="cline-any cline-neutral">&nbsp;</span>
1244
- <span class="cline-any cline-neutral">&nbsp;</span>
1245
- <span class="cline-any cline-neutral">&nbsp;</span>
1246
- <span class="cline-any cline-neutral">&nbsp;</span>
1247
- <span class="cline-any cline-neutral">&nbsp;</span>
1248
- <span class="cline-any cline-neutral">&nbsp;</span>
1249
- <span class="cline-any cline-neutral">&nbsp;</span>
1250
- <span class="cline-any cline-neutral">&nbsp;</span>
1251
- <span class="cline-any cline-yes">2×</span>
1252
- <span class="cline-any cline-yes">2×</span>
1253
- <span class="cline-any cline-neutral">&nbsp;</span>
1254
- <span class="cline-any cline-no">&nbsp;</span>
1255
- <span class="cline-any cline-neutral">&nbsp;</span>
1256
- <span class="cline-any cline-neutral">&nbsp;</span>
1257
- <span class="cline-any cline-neutral">&nbsp;</span>
1258
- <span class="cline-any cline-neutral">&nbsp;</span>
1259
- <span class="cline-any cline-yes">13×</span>
1260
- <span class="cline-any cline-neutral">&nbsp;</span>
1261
- <span class="cline-any cline-neutral">&nbsp;</span>
1262
- <span class="cline-any cline-neutral">&nbsp;</span>
1263
- <span class="cline-any cline-no">&nbsp;</span>
1264
- <span class="cline-any cline-neutral">&nbsp;</span>
1265
- <span class="cline-any cline-neutral">&nbsp;</span>
1266
- <span class="cline-any cline-neutral">&nbsp;</span>
1267
- <span class="cline-any cline-yes">26×</span>
1268
- <span class="cline-any cline-neutral">&nbsp;</span>
1269
- <span class="cline-any cline-neutral">&nbsp;</span>
1270
- <span class="cline-any cline-neutral">&nbsp;</span>
1271
- <span class="cline-any cline-yes">1×</span>
1272
- <span class="cline-any cline-yes">140×</span>
1273
- <span class="cline-any cline-neutral">&nbsp;</span>
1274
- <span class="cline-any cline-neutral">&nbsp;</span>
1275
- <span class="cline-any cline-yes">1×</span>
1276
- <span class="cline-any cline-yes">277×</span>
1277
- <span class="cline-any cline-yes">277×</span>
1278
- <span class="cline-any cline-yes">277×</span>
1279
- <span class="cline-any cline-neutral">&nbsp;</span>
1280
- <span class="cline-any cline-yes">277×</span>
1281
- <span class="cline-any cline-yes">277×</span>
1282
- <span class="cline-any cline-yes">277×</span>
1283
- <span class="cline-any cline-neutral">&nbsp;</span>
1284
- <span class="cline-any cline-yes">2×</span>
1285
- <span class="cline-any cline-neutral">&nbsp;</span>
1286
- <span class="cline-any cline-neutral">&nbsp;</span>
1287
- <span class="cline-any cline-neutral">&nbsp;</span>
1288
- <span class="cline-any cline-neutral">&nbsp;</span>
1289
- <span class="cline-any cline-yes">1×</span>
1290
- <span class="cline-any cline-yes">1×</span></td><td class="text"><pre class="prettyprint lang-js">/*
1291
- * Copyright 2011 eBay Software Foundation
1292
- *
1293
- * Licensed under the Apache License, Version 2.0 (the "License");
1294
- * you may not use this file except in compliance with the License.
1295
- * You may obtain a copy of the License at
1296
- *
1297
- * http://www.apache.org/licenses/LICENSE-2.0
1298
- *
1299
- * Unless required by applicable law or agreed to in writing, software
1300
- * distributed under the License is distributed on an "AS IS" BASIS,
1301
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
1302
- * See the License for the specific language governing permissions and
1303
- * limitations under the License.
1304
- */
1305
- 'use strict';
1306
- &nbsp;
1307
- var ok = require('assert').ok;
1308
- var propertyHandlers = require('property-handlers');
1309
- var isObjectEmpty = require('raptor-util/isObjectEmpty');
1310
- var nodePath = require('path');
1311
- var resolve = require('../util/resolve'); // NOTE: different implementation for browser
1312
- var ok = require('assert').ok;
1313
- var bodyFunctionRegExp = /^([A-Za-z_$][A-Za-z0-9_]*)(?:\(([^)]*)\))?$/;
1314
- var safeVarName = /^[A-Za-z_$][A-Za-z0-9_]*$/;
1315
- var handleAttributes = require('./handleAttributes');
1316
- var propertyHandlers = require('property-handlers');
1317
- var forEachEntry = require('raptor-util/forEachEntry');
1318
- var loader = require('./loader');
1319
- var markoCompiler = require('../');
1320
- var createError = require('raptor-util/createError');
1321
- var Taglib = require('./Taglib');
1322
- &nbsp;
1323
- function exists(path) {
1324
- try {
1325
- require.resolve(path);
1326
- return true;
1327
- } catch(e) {
1328
- <span class="cstat-no" title="statement not covered" > return false;</span>
1329
- }
1330
- }
1331
- &nbsp;
1332
- function removeDashes(str) {
1333
- return str.replace(/-([a-z])/g, function (match, lower) {
1334
- return lower.toUpperCase();
1335
- });
1336
- }
1337
- &nbsp;
1338
- function hasAttributes(tagProps) {
1339
- if (tagProps.attributes != null) {
1340
- return true;
1341
- }
1342
- &nbsp;
1343
- for (var name in tagProps) {
1344
- if (tagProps.hasOwnProperty(name) &amp;&amp; name.startsWith('@')) {
1345
- return true;
1346
- }
1347
- }
1348
- &nbsp;
1349
- return false;
1350
- }
1351
- &nbsp;
1352
- &nbsp;
1353
- /**
1354
- * We load tag definition using this class. Properties in the taglib
1355
- * definition (which is just a JavaScript object with properties)
1356
- * are mapped to handler methods in an instance of this type.
1357
- *
1358
- * @param {Tag} tag The initially empty Tag instance that we populate
1359
- * @param {String} dirname The full file system path associated with the tag being loaded
1360
- * @param {String} path An informational path associated with this tag (used for error reporting)
1361
- */
1362
- class TagLoader {
1363
- constructor(dependencyChain) {
1364
- this.dependencyChain = dependencyChain;
1365
- &nbsp;
1366
- this.filePath = null;
1367
- this.tag = null;
1368
- this.dirname = null;
1369
- }
1370
- &nbsp;
1371
- _load(tagProps, filePath) {
1372
- this.tag = new Taglib.Tag();
1373
- this.filePath = filePath;
1374
- this.dirname = nodePath.dirname(filePath);
1375
- &nbsp;
1376
- var tag = this.tag;
1377
- tag.filePath = filePath;
1378
- tag.dir = this.dirname;
1379
- &nbsp;
1380
- if (!hasAttributes(tagProps)) {
1381
- // allow any attributes if no attributes are declared
1382
- tagProps.attributes = {
1383
- '*': {
1384
- type: 'string',
1385
- targetProperty: null,
1386
- preserveName: false
1387
- }
1388
- };
1389
- }
1390
- &nbsp;
1391
- &nbsp;
1392
- &nbsp;
1393
- propertyHandlers(tagProps, this, this.dependencyChain.toString());
1394
- return tag;
1395
- }
1396
- &nbsp;
1397
- _handleVar(value, dependencyChain) {
1398
- var tag = this.tag;
1399
- &nbsp;
1400
- var nestedVariable;
1401
- &nbsp;
1402
- if (typeof value === 'string') {
1403
- nestedVariable = {
1404
- name: value
1405
- };
1406
- } else {
1407
- nestedVariable = {};
1408
- &nbsp;
1409
- propertyHandlers(value, {
1410
- &nbsp;
1411
- name: <span class="fstat-no" title="function not covered" >function(value) {</span>
1412
- <span class="cstat-no" title="statement not covered" > nestedVariable.name = value;</span>
1413
- },
1414
- &nbsp;
1415
- nameFromAttribute: function(value) {
1416
- nestedVariable.nameFromAttribute = value;
1417
- }
1418
- &nbsp;
1419
- }, dependencyChain.toString());
1420
- &nbsp;
1421
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!nestedVariable.name &amp;&amp; !nestedVariable.nameFromAttribute) {
1422
- <span class="cstat-no" title="statement not covered" > throw new Error('The "name" or "name-from-attribute" attribute is required for a nested variable (' + dependencyChain + ')');</span>
1423
- }
1424
- }
1425
- &nbsp;
1426
- tag.addNestedVariable(nestedVariable);
1427
- }
1428
- &nbsp;
1429
- /**
1430
- * This is handler is for any properties that didn't match
1431
- * one of the default property handlers. This is used to
1432
- * match properties in the form of "@attr_name" or
1433
- * "&lt;nested_tag_name&gt;"
1434
- */
1435
- '*'(name, value) {
1436
- var tag = this.tag;
1437
- var dependencyChain = this.dependencyChain;
1438
- var parts = name.split(/\s+|\s+[,]\s+/);
1439
- &nbsp;
1440
- var i;
1441
- var part;
1442
- &nbsp;
1443
- var hasNestedTag = false;
1444
- var hasAttr = false;
1445
- var nestedTagTargetProperty = null;
1446
- &nbsp;
1447
- // We do one pass to figure out if there is an
1448
- // attribute or nested tag or both
1449
- for (i=0; i&lt;parts.length; i++) {
1450
- part = parts[i];
1451
- if (part.startsWith('@')) {
1452
- hasAttr = true;
1453
- &nbsp;
1454
- <span class="missing-if-branch" title="else path not taken" >E</span>if (i === 0) {
1455
- // Use the first attribute value as the name of the target property
1456
- nestedTagTargetProperty = part.substring(1);
1457
- }
1458
- } else if (part.startsWith('&lt;')) {
1459
- hasNestedTag = true;
1460
- } else {
1461
- // Unmatched property that is not an attribute or a
1462
- // nested tag
1463
- return false;
1464
- }
1465
- }
1466
- &nbsp;
1467
- var attrProps = {};
1468
- var tagProps = {};
1469
- var k;
1470
- &nbsp;
1471
- if (value != null &amp;&amp; typeof value === 'object') {
1472
- for (k in value) {
1473
- <span class="missing-if-branch" title="else path not taken" >E</span>if (value.hasOwnProperty(k)) {
1474
- if (k.startsWith('@') || k.startsWith('&lt;')) {
1475
- // Move over all of the attributes and nested tags
1476
- // to the tag definition.
1477
- tagProps[k] = value[k];
1478
- delete value[k];
1479
- } else {
1480
- // The property is not a shorthand attribute or shorthand
1481
- // tag so move it over to either the tag definition
1482
- // or the attribute definition or both the tag definition
1483
- // and attribute definition.
1484
- var propNameDashes = removeDashes(k);
1485
- &nbsp;
1486
- if (loader.tagLoader.isSupportedProperty(propNameDashes) &amp;&amp;
1487
- loader.attributeLoader.isSupportedProperty(propNameDashes)) {
1488
- // Move over all of the properties that are associated with a tag
1489
- // and attribute
1490
- tagProps[k] = value[k];
1491
- attrProps[k] = value[k];
1492
- delete value[k];
1493
- } else <span class="missing-if-branch" title="if path not taken" >I</span>if (loader.tagLoader.isSupportedProperty(propNameDashes)) {
1494
- // Move over all of the properties that are associated with a tag
1495
- <span class="cstat-no" title="statement not covered" > tagProps[k] = value[k];</span>
1496
- <span class="cstat-no" title="statement not covered" > delete value[k];</span>
1497
- } else <span class="missing-if-branch" title="else path not taken" >E</span>if (loader.attributeLoader.isSupportedProperty(propNameDashes)) {
1498
- // Move over all of the properties that are associated with an attr
1499
- attrProps[k] = value[k];
1500
- delete value[k];
1501
- }
1502
- }
1503
- }
1504
- }
1505
- &nbsp;
1506
- // If there are any left over properties then something is wrong
1507
- // with the user's taglib.
1508
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!isObjectEmpty(value)) {
1509
- <span class="cstat-no" title="statement not covered" > throw new Error('Unsupported properties of [' +</span>
1510
- Object.keys(value).join(', ') +
1511
- ']');
1512
- }
1513
- &nbsp;
1514
- var type = attrProps.type;
1515
- if (!type &amp;&amp; hasAttr &amp;&amp; hasNestedTag) {
1516
- // If we have an attribute and a nested tag then default
1517
- // the attribute type to "expression"
1518
- attrProps.type = 'expression';
1519
- }
1520
- } else <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof value === 'string') {
1521
- if (hasNestedTag &amp;&amp; hasAttr) {
1522
- tagProps = attrProps = {
1523
- type: value
1524
- };
1525
- } else if (hasNestedTag) {
1526
- tagProps = {
1527
- type: value
1528
- };
1529
- } else {
1530
- attrProps = {
1531
- type: value
1532
- };
1533
- }
1534
- }
1535
- &nbsp;
1536
- // Now that we have separated out attribute properties and tag properties
1537
- // we need to create the actual attributes and nested tags
1538
- for (i=0; i&lt;parts.length; i++) {
1539
- part = parts[i];
1540
- if (part.startsWith('@')) {
1541
- // This is a shorthand attribute
1542
- var attrName = part.substring(1);
1543
- &nbsp;
1544
- var attr = loader.attributeLoader.loadAttribute(
1545
- attrName,
1546
- attrProps,
1547
- dependencyChain.append(part));
1548
- &nbsp;
1549
- tag.addAttribute(attr);
1550
- } else <span class="missing-if-branch" title="else path not taken" >E</span>if (part.startsWith('&lt;')) {
1551
- &nbsp;
1552
- // This is a shorthand nested tag
1553
- var nestedTag = loadTag(
1554
- tagProps,
1555
- this.filePath,
1556
- dependencyChain.append(part));
1557
- &nbsp;
1558
- // We use the '[]' suffix to indicate that a nested tag
1559
- // can be repeated
1560
- var isNestedTagRepeated = false;
1561
- if (part.endsWith('[]')) {
1562
- isNestedTagRepeated = true;
1563
- part = part.slice(0, -2);
1564
- }
1565
- &nbsp;
1566
- var nestedTagName = part.substring(1, part.length-1);
1567
- nestedTag.name = nestedTagName;
1568
- nestedTag.isRepeated = isNestedTagRepeated;
1569
- // Use the name of the attribute as the target property unless
1570
- // this target property was explicitly provided
1571
- nestedTag.targetProperty = attrProps.targetProperty || nestedTagTargetProperty;
1572
- tag.addNestedTag(nestedTag);
1573
- } else {
1574
- <span class="cstat-no" title="statement not covered" > return false;</span>
1575
- }
1576
- }
1577
- }
1578
- &nbsp;
1579
- /**
1580
- * The tag name
1581
- * @param {String} value The tag name
1582
- */
1583
- name<span class="fstat-no" title="function not covered" >(value) {</span>
1584
- <span class="cstat-no" title="statement not covered" > var tag = this.tag;</span>
1585
- <span class="cstat-no" title="statement not covered" > tag.name = value;</span>
1586
- }
1587
- &nbsp;
1588
- /**
1589
- * The path to the renderer JS module to use for this tag.
1590
- *
1591
- * NOTE: We use the equivalent of require.resolve to resolve the JS module
1592
- * and use the tag directory as the "from".
1593
- *
1594
- * @param {String} value The renderer path
1595
- */
1596
- renderer(value) {
1597
- var tag = this.tag;
1598
- var dirname = this.dirname;
1599
- var path = resolve(value, dirname);
1600
- tag.renderer = path;
1601
- }
1602
- &nbsp;
1603
- /**
1604
- * A tag can use a renderer or a template to do the rendering. If
1605
- * a template is provided then the value should be the path to the
1606
- * template to use to render the custom tag.
1607
- */
1608
- template(value) {
1609
- var tag = this.tag;
1610
- var dirname = this.dirname;
1611
- &nbsp;
1612
- var path = nodePath.resolve(dirname, value);
1613
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!exists(path)) {
1614
- <span class="cstat-no" title="statement not covered" > throw new Error('Template at path "' + path + '" does not exist.');</span>
1615
- }
1616
- tag.template = path;
1617
- }
1618
- &nbsp;
1619
- /**
1620
- * An Object where each property maps to an attribute definition.
1621
- * The property key will be the attribute name and the property value
1622
- * will be the attribute definition. Example:
1623
- * {
1624
- * "attributes": {
1625
- * "foo": "string",
1626
- * "bar": "expression"
1627
- * }
1628
- * }
1629
- */
1630
- attributes(value) {
1631
- var tag = this.tag;
1632
- &nbsp;
1633
- handleAttributes(value, tag, this.dependencyChain.append('attributes'));
1634
- }
1635
- &nbsp;
1636
- /**
1637
- * A custom tag can be mapped to module that is is used
1638
- * to generate compile-time code for the custom tag. A
1639
- * node type is created based on the methods and methods
1640
- * exported by the code codegen module.
1641
- */
1642
- codeGenerator(value) {
1643
- var tag = this.tag;
1644
- var dirname = this.dirname;
1645
- &nbsp;
1646
- var path = resolve(value, dirname);
1647
- tag.codeGeneratorModulePath = path;
1648
- }
1649
- &nbsp;
1650
- /**
1651
- * A custom tag can be mapped to a compile-time Node that gets
1652
- * added to the parsed Abstract Syntax Tree (AST). The Node can
1653
- * then generate custom JS code at compile time. The value
1654
- * should be a path to a JS module that gets resolved using the
1655
- * equivalent of require.resolve(path)
1656
- */
1657
- nodeFactory(value) {
1658
- var tag = this.tag;
1659
- var dirname = this.dirname;
1660
- &nbsp;
1661
- var path = resolve(value, dirname);
1662
- tag.nodeFactoryPath = path;
1663
- }
1664
- &nbsp;
1665
- /**
1666
- * If the "preserve-whitespace" property is set to true then
1667
- * all whitespace nested below the custom tag in a template
1668
- * will be stripped instead of going through the normal whitespace
1669
- * removal rules.
1670
- */
1671
- preserveWhitespace(value) {
1672
- var tag = this.tag;
1673
- tag.preserveWhitespace = !!value;
1674
- }
1675
- &nbsp;
1676
- /**
1677
- * If a custom tag has an associated transformer then the transformer
1678
- * will be called on the compile-time Node. The transformer can manipulate
1679
- * the AST using the DOM-like API to change how the code gets generated.
1680
- */
1681
- transformer(value) {
1682
- var tag = this.tag;
1683
- var dirname = this.dirname;
1684
- &nbsp;
1685
- var transformer = new Taglib.Transformer();
1686
- &nbsp;
1687
- if (typeof value === 'string') {
1688
- // The value is a simple string type
1689
- // so treat the value as the path to the JS
1690
- // module for the transformer
1691
- value = {
1692
- path: value
1693
- };
1694
- }
1695
- &nbsp;
1696
- /**
1697
- * The transformer is a complex type and we need
1698
- * to process each property to load the Transformer
1699
- * definition.
1700
- */
1701
- propertyHandlers(value, {
1702
- path(value) {
1703
- var path = resolve(value, dirname);
1704
- transformer.path = path;
1705
- },
1706
- &nbsp;
1707
- priority(value) {
1708
- transformer.priority = value;
1709
- },
1710
- &nbsp;
1711
- name(value) {
1712
- transformer.name = value;
1713
- },
1714
- &nbsp;
1715
- properties<span class="fstat-no" title="function not covered" >(value) {</span>
1716
- <span class="cstat-no" title="statement not covered" > var properties = transformer.properties || (transformer.properties = {});</span>
1717
- <span class="cstat-no" title="statement not covered" > for (var k in value) {</span>
1718
- <span class="cstat-no" title="statement not covered" > if (value.hasOwnProperty(k)) {</span>
1719
- <span class="cstat-no" title="statement not covered" > properties[k] = value[k];</span>
1720
- }
1721
- }
1722
- }
1723
- &nbsp;
1724
- }, this.dependencyChain.append('transformer'));
1725
- &nbsp;
1726
- ok(transformer.path, '"path" is required for transformer');
1727
- &nbsp;
1728
- tag.addTransformer(transformer);
1729
- }
1730
- &nbsp;
1731
- /**
1732
- * The "var" property is used to declared nested variables that get
1733
- * added as JavaScript variables at compile time.
1734
- *
1735
- * Examples:
1736
- *
1737
- * "var": "myScopedVariable",
1738
- *
1739
- * "var": {
1740
- * "name": "myScopedVariable"
1741
- * }
1742
- *
1743
- * "var": {
1744
- * "name-from-attribute": "var"
1745
- * }
1746
- */
1747
- var(value) {
1748
- this._handleVar(value, this.dependencyChain.append('var'));
1749
- }
1750
- /**
1751
- * The "vars" property is equivalent to the "var" property
1752
- * except that it expects an array of nested variables.
1753
- */
1754
- vars(value) {
1755
- <span class="missing-if-branch" title="else path not taken" >E</span>if (value) {
1756
- value.forEach((v, i) =&gt; {
1757
- this._handleVar(v, this.dependencyChain.append('vars[' + i + ']'));
1758
- });
1759
- }
1760
- }
1761
- /**
1762
- * The "body-function" property" allows the nested body content to be mapped
1763
- * to a function at compile time. The body function gets mapped to a property
1764
- * of the tag renderer at render time. The body function can have any number
1765
- * of parameters.
1766
- *
1767
- * Example:
1768
- * - "body-function": "_handleBody(param1, param2, param3)"
1769
- */
1770
- bodyFunction(value) {
1771
- var tag = this.tag;
1772
- var parts = bodyFunctionRegExp.exec(value);
1773
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!parts) {
1774
- <span class="cstat-no" title="statement not covered" > throw new Error('Invalid value of "' + value + '" for "body-function". Expected value to be of the following form: &lt;function-name&gt;([param1, param2, ...])');</span>
1775
- }
1776
- &nbsp;
1777
- var functionName = parts[1];
1778
- var params = parts[2];
1779
- <span class="missing-if-branch" title="else path not taken" >E</span>if (params) {
1780
- params = params.trim().split(/\s*,\s*/);
1781
- for (var i=0; i&lt;params.length; i++) {
1782
- <span class="missing-if-branch" title="if path not taken" >I</span>if (params[i].length === 0) {
1783
- <span class="cstat-no" title="statement not covered" > throw new Error('Invalid parameters for body-function with value of "' + value + '"');</span>
1784
- } else <span class="missing-if-branch" title="if path not taken" >I</span>if (!safeVarName.test(params[i])) {
1785
- <span class="cstat-no" title="statement not covered" > throw new Error('Invalid parameter name of "' + params[i] + '" for body-function with value of "' + value + '"');</span>
1786
- }
1787
- }
1788
- } else {
1789
- <span class="cstat-no" title="statement not covered" > params = [];</span>
1790
- }
1791
- &nbsp;
1792
- tag.setBodyFunction(functionName, params);
1793
- }
1794
- /**
1795
- * The "import-var" property can be used to add a property to the
1796
- * input object of the tag renderer whose value is determined by
1797
- * a JavaScript expression.
1798
- *
1799
- * Example:
1800
- * "import-var": {
1801
- * "myTargetProperty": "data.myCompileTimeJavaScriptExpression",
1802
- * }
1803
- */
1804
- importVar(value) {
1805
- var tag = this.tag;
1806
- forEachEntry(value, (varName, varValue) =&gt; {
1807
- var importedVar = {
1808
- targetProperty: varName
1809
- };
1810
- &nbsp;
1811
- var expression = varValue;
1812
- &nbsp;
1813
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!expression) {
1814
- <span class="cstat-no" title="statement not covered" > expression = varName;</span>
1815
- }
1816
- else <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof expression === 'object') {
1817
- <span class="cstat-no" title="statement not covered" > expression = expression.expression;</span>
1818
- }
1819
- &nbsp;
1820
- <span class="missing-if-branch" title="if path not taken" >I</span>if (!expression) {
1821
- <span class="cstat-no" title="statement not covered" > throw new Error('Invalid "import-var": ' + require('util').inspect(varValue));</span>
1822
- }
1823
- &nbsp;
1824
- importedVar.expression = markoCompiler.builder.parseExpression(expression);
1825
- tag.addImportedVariable(importedVar);
1826
- });
1827
- }
1828
- /**
1829
- * The tag type.
1830
- */
1831
- type(value) {
1832
- var tag = this.tag;
1833
- tag.type = value;
1834
- }
1835
- /**
1836
- * Declare a nested tag.
1837
- *
1838
- * Example:
1839
- * {
1840
- * ...
1841
- * "nested-tags": {
1842
- * "tab": {
1843
- * "target-property": "tabs",
1844
- * "isRepeated": true
1845
- * }
1846
- * }
1847
- * }
1848
- */
1849
- nestedTags(value) {
1850
- var filePath = this.filePath;
1851
- var tag = this.tag;
1852
- &nbsp;
1853
- forEachEntry(value, (nestedTagName, nestedTagDef) =&gt; {
1854
- var nestedTag = loadTag(
1855
- nestedTagDef,
1856
- filePath,
1857
- this.dependencyChain.append(`nestedTags["${nestedTagName}]`));
1858
- nestedTag.name = nestedTagName;
1859
- tag.addNestedTag(nestedTag);
1860
- });
1861
- }
1862
- escapeXmlBody<span class="fstat-no" title="function not covered" >(value) {</span>
1863
- <span class="cstat-no" title="statement not covered" > if (value === false) {</span>
1864
- <span class="cstat-no" title="statement not covered" > this.tag.escapeXmlBody = false;</span>
1865
- }
1866
- }
1867
- &nbsp;
1868
- /**
1869
- * Sends the body content type. This is used to control how the body
1870
- * content is parsed.
1871
- */
1872
- body(value) {
1873
- <span class="missing-if-branch" title="else path not taken" >E</span>if (value === 'static-text' || <span class="branch-1 cbranch-no" title="branch not covered" >value === 'parsed-text' </span>|| <span class="branch-2 cbranch-no" title="branch not covered" >value === 'html')</span> {
1874
- this.tag.body = value;
1875
- } else {
1876
- <span class="cstat-no" title="statement not covered" > throw new Error('Invalid value for "body". Allowed: "static-text", "parsed-text" or "html"');</span>
1877
- }
1878
- }
1879
- &nbsp;
1880
- openTagOnly(value) {
1881
- this.tag.openTagOnly = value;
1882
- }
1883
- &nbsp;
1884
- noOutput<span class="fstat-no" title="function not covered" >(value) {</span>
1885
- <span class="cstat-no" title="statement not covered" > this.tag.noOutput = value;</span>
1886
- }
1887
- &nbsp;
1888
- autocomplete(value) {
1889
- this.tag.autocomplete = value;
1890
- }
1891
- }
1892
- &nbsp;
1893
- function isSupportedProperty(name) {
1894
- return TagLoader.prototype.hasOwnProperty(name);
1895
- }
1896
- &nbsp;
1897
- function loadTag(tagProps, filePath, dependencyChain) {
1898
- ok(typeof tagProps === 'object', 'Invalid "tagProps"');
1899
- ok(typeof filePath === 'string');
1900
- ok(dependencyChain);
1901
- &nbsp;
1902
- var tagLoader = new TagLoader(dependencyChain);
1903
- try {
1904
- return tagLoader._load(tagProps, filePath);
1905
- } catch(err) {
1906
- throw createError('Unable to load tag (' + dependencyChain + '): ' + err, err);
1907
- }
1908
- &nbsp;
1909
- }
1910
- &nbsp;
1911
- exports.loadTag = loadTag;
1912
- exports.isSupportedProperty = isSupportedProperty;</pre></td></tr>
1913
- </table></pre>
1914
- <div class='push'></div><!-- for sticky footer -->
1915
- </div><!-- /wrapper -->
1916
- <div class='footer quiet pad2 space-top1 center small'>
1917
- Code coverage
1918
- generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Tue Oct 18 2016 14:11:32 GMT-0700 (PDT)
1919
- </div>
1920
- </div>
1921
- <script src="../../../prettify.js"></script>
1922
- <script>
1923
- window.onload = function () {
1924
- if (typeof prettyPrint === 'function') {
1925
- prettyPrint();
1926
- }
1927
- };
1928
- </script>
1929
- <script src="../../../sorter.js"></script>
1930
- </body>
1931
- </html>