--- /dev/null
+<!doctype html>
+<html lang="en">
+<head>
+ <title>Code coverage report for dist/cjs/handlebars/compiler/parser.js</title>
+ <meta charset="utf-8">
+
+ <link rel="stylesheet" href="../../../../prettify.css">
+
+ <style>
+ body, html {
+ margin:0; padding: 0;
+ }
+ body {
+ font-family: Helvetica Neue, Helvetica,Arial;
+ font-size: 10pt;
+ }
+ div.header, div.footer {
+ background: #eee;
+ padding: 1em;
+ }
+ div.header {
+ z-index: 100;
+ position: fixed;
+ top: 0;
+ border-bottom: 1px solid #666;
+ width: 100%;
+ }
+ div.footer {
+ border-top: 1px solid #666;
+ }
+ div.body {
+ margin-top: 10em;
+ }
+ div.meta {
+ font-size: 90%;
+ text-align: center;
+ }
+ h1, h2, h3 {
+ font-weight: normal;
+ }
+ h1 {
+ font-size: 12pt;
+ }
+ h2 {
+ font-size: 10pt;
+ }
+ pre {
+ font-family: Consolas, Menlo, Monaco, monospace;
+ margin: 0;
+ padding: 0;
+ line-height: 14px;
+ font-size: 14px;
+ -moz-tab-size: 2;
+ -o-tab-size: 2;
+ tab-size: 2;
+ }
+
+ div.path { font-size: 110%; }
+ div.path a:link, div.path a:visited { color: #000; }
+ table.coverage { border-collapse: collapse; margin:0; padding: 0 }
+
+ table.coverage td {
+ margin: 0;
+ padding: 0;
+ color: #111;
+ vertical-align: top;
+ }
+ table.coverage td.line-count {
+ width: 50px;
+ text-align: right;
+ padding-right: 5px;
+ }
+ table.coverage td.line-coverage {
+ color: #777 !important;
+ text-align: right;
+ border-left: 1px solid #666;
+ border-right: 1px solid #666;
+ }
+
+ table.coverage td.text {
+ }
+
+ table.coverage td span.cline-any {
+ display: inline-block;
+ padding: 0 5px;
+ width: 40px;
+ }
+ table.coverage td span.cline-neutral {
+ background: #eee;
+ }
+ table.coverage td span.cline-yes {
+ background: #b5d592;
+ color: #999;
+ }
+ table.coverage td span.cline-no {
+ background: #fc8c84;
+ }
+
+ .cstat-yes { color: #111; }
+ .cstat-no { background: #fc8c84; color: #111; }
+ .fstat-no { background: #ffc520; color: #111 !important; }
+ .cbranch-no { background: yellow !important; color: #111; }
+
+ .cstat-skip { background: #ddd; color: #111; }
+ .fstat-skip { background: #ddd; color: #111 !important; }
+ .cbranch-skip { background: #ddd !important; color: #111; }
+
+ .missing-if-branch {
+ display: inline-block;
+ margin-right: 10px;
+ position: relative;
+ padding: 0 4px;
+ background: black;
+ color: yellow;
+ }
+
+ .skip-if-branch {
+ display: none;
+ margin-right: 10px;
+ position: relative;
+ padding: 0 4px;
+ background: #ccc;
+ color: white;
+ }
+
+ .missing-if-branch .typ, .skip-if-branch .typ {
+ color: inherit !important;
+ }
+
+ .entity, .metric { font-weight: bold; }
+ .metric { display: inline-block; border: 1px solid #333; padding: 0.3em; background: white; }
+ .metric small { font-size: 80%; font-weight: normal; color: #666; }
+
+ div.coverage-summary table { border-collapse: collapse; margin: 3em; font-size: 110%; }
+ div.coverage-summary td, div.coverage-summary table th { margin: 0; padding: 0.25em 1em; border-top: 1px solid #666; border-bottom: 1px solid #666; }
+ div.coverage-summary th { text-align: left; border: 1px solid #666; background: #eee; font-weight: normal; }
+ div.coverage-summary th.file { border-right: none !important; }
+ div.coverage-summary th.pic { border-left: none !important; text-align: right; }
+ div.coverage-summary th.pct { border-right: none !important; }
+ div.coverage-summary th.abs { border-left: none !important; text-align: right; }
+ div.coverage-summary td.pct { text-align: right; border-left: 1px solid #666; }
+ div.coverage-summary td.abs { text-align: right; font-size: 90%; color: #444; border-right: 1px solid #666; }
+ div.coverage-summary td.file { text-align: right; border-left: 1px solid #666; white-space: nowrap; }
+ div.coverage-summary td.pic { min-width: 120px !important; }
+ div.coverage-summary a:link { text-decoration: none; color: #000; }
+ div.coverage-summary a:visited { text-decoration: none; color: #333; }
+ div.coverage-summary a:hover { text-decoration: underline; }
+ div.coverage-summary tfoot td { border-top: 1px solid #666; }
+
+ div.coverage-summary .yui3-datatable-sort-indicator, div.coverage-summary .dummy-sort-indicator {
+ height: 10px;
+ width: 7px;
+ display: inline-block;
+ margin-left: 0.5em;
+ }
+ div.coverage-summary .yui3-datatable-sort-indicator {
+ background: url("https://yui-s.yahooapis.com/3.6.0/build/datatable-sort/assets/skins/sam/sort-arrow-sprite.png") no-repeat scroll 0 0 transparent;
+ }
+ div.coverage-summary .yui3-datatable-sorted .yui3-datatable-sort-indicator {
+ background-position: 0 -20px;
+ }
+ div.coverage-summary .yui3-datatable-sorted-desc .yui3-datatable-sort-indicator {
+ background-position: 0 -10px;
+ }
+
+ .high { background: #b5d592 !important; }
+ .medium { background: #ffe87c !important; }
+ .low { background: #fc8c84 !important; }
+
+ span.cover-fill, span.cover-empty {
+ display:inline-block;
+ border:1px solid #444;
+ background: white;
+ height: 12px;
+ }
+ span.cover-fill {
+ background: #ccc;
+ border-right: 1px solid #444;
+ }
+ span.cover-empty {
+ background: white;
+ border-left: none;
+ }
+ span.cover-full {
+ border-right: none !important;
+ }
+ pre.prettyprint {
+ border: none !important;
+ padding: 0 !important;
+ margin: 0 !important;
+ }
+ .com { color: #999 !important; }
+ .ignore-none { color: #999; font-weight: normal; }
+
+ </style>
+</head>
+<body>
+<div class="header high">
+ <h1>Code coverage report for <span class="entity">dist/cjs/handlebars/compiler/parser.js</span></h1>
+ <h2>
+
+ Statements: <span class="metric">100% <small>(396 / 396)</small></span>
+
+
+ Branches: <span class="metric">100% <small>(205 / 205)</small></span>
+
+
+ Functions: <span class="metric">100% <small>(27 / 27)</small></span>
+
+
+ Lines: <span class="metric">100% <small>(369 / 369)</small></span>
+
+ Ignored: <span class="metric">95 statements, 9 functions, 45 branches</span>
+ </h2>
+ <div class="path"><a href="../../../../index.html">All files</a> » <a href="index.html">dist/cjs/handlebars/compiler/</a> » parser.js</div>
+</div>
+<div class="body">
+<pre><table class="coverage">
+<tr><td class="line-count">1
+2
+3
+4
+5
+6
+7
+8
+9
+10
+11
+12
+13
+14
+15
+16
+17
+18
+19
+20
+21
+22
+23
+24
+25
+26
+27
+28
+29
+30
+31
+32
+33
+34
+35
+36
+37
+38
+39
+40
+41
+42
+43
+44
+45
+46
+47
+48
+49
+50
+51
+52
+53
+54
+55
+56
+57
+58
+59
+60
+61
+62
+63
+64
+65
+66
+67
+68
+69
+70
+71
+72
+73
+74
+75
+76
+77
+78
+79
+80
+81
+82
+83
+84
+85
+86
+87
+88
+89
+90
+91
+92
+93
+94
+95
+96
+97
+98
+99
+100
+101
+102
+103
+104
+105
+106
+107
+108
+109
+110
+111
+112
+113
+114
+115
+116
+117
+118
+119
+120
+121
+122
+123
+124
+125
+126
+127
+128
+129
+130
+131
+132
+133
+134
+135
+136
+137
+138
+139
+140
+141
+142
+143
+144
+145
+146
+147
+148
+149
+150
+151
+152
+153
+154
+155
+156
+157
+158
+159
+160
+161
+162
+163
+164
+165
+166
+167
+168
+169
+170
+171
+172
+173
+174
+175
+176
+177
+178
+179
+180
+181
+182
+183
+184
+185
+186
+187
+188
+189
+190
+191
+192
+193
+194
+195
+196
+197
+198
+199
+200
+201
+202
+203
+204
+205
+206
+207
+208
+209
+210
+211
+212
+213
+214
+215
+216
+217
+218
+219
+220
+221
+222
+223
+224
+225
+226
+227
+228
+229
+230
+231
+232
+233
+234
+235
+236
+237
+238
+239
+240
+241
+242
+243
+244
+245
+246
+247
+248
+249
+250
+251
+252
+253
+254
+255
+256
+257
+258
+259
+260
+261
+262
+263
+264
+265
+266
+267
+268
+269
+270
+271
+272
+273
+274
+275
+276
+277
+278
+279
+280
+281
+282
+283
+284
+285
+286
+287
+288
+289
+290
+291
+292
+293
+294
+295
+296
+297
+298
+299
+300
+301
+302
+303
+304
+305
+306
+307
+308
+309
+310
+311
+312
+313
+314
+315
+316
+317
+318
+319
+320
+321
+322
+323
+324
+325
+326
+327
+328
+329
+330
+331
+332
+333
+334
+335
+336
+337
+338
+339
+340
+341
+342
+343
+344
+345
+346
+347
+348
+349
+350
+351
+352
+353
+354
+355
+356
+357
+358
+359
+360
+361
+362
+363
+364
+365
+366
+367
+368
+369
+370
+371
+372
+373
+374
+375
+376
+377
+378
+379
+380
+381
+382
+383
+384
+385
+386
+387
+388
+389
+390
+391
+392
+393
+394
+395
+396
+397
+398
+399
+400
+401
+402
+403
+404
+405
+406
+407
+408
+409
+410
+411
+412
+413
+414
+415
+416
+417
+418
+419
+420
+421
+422
+423
+424
+425
+426
+427
+428
+429
+430
+431
+432
+433
+434
+435
+436
+437
+438
+439
+440
+441
+442
+443
+444
+445
+446
+447
+448
+449
+450
+451
+452
+453
+454
+455
+456
+457
+458
+459
+460
+461
+462
+463
+464
+465
+466
+467
+468
+469
+470
+471
+472
+473
+474
+475
+476
+477
+478
+479
+480
+481
+482
+483
+484
+485
+486
+487
+488
+489
+490
+491
+492
+493
+494
+495
+496
+497
+498
+499
+500</td><td class="line-coverage"><span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">26939</span>
+<span class="cline-any cline-yes">26939</span>
+<span class="cline-any cline-yes">1026</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1692</span>
+<span class="cline-any cline-yes">1692</span>
+<span class="cline-any cline-yes">952</span>
+<span class="cline-any cline-yes">952</span>
+<span class="cline-any cline-yes">601</span>
+<span class="cline-any cline-yes">601</span>
+<span class="cline-any cline-yes">4</span>
+<span class="cline-any cline-yes">4</span>
+<span class="cline-any cline-yes">95</span>
+<span class="cline-any cline-yes">95</span>
+<span class="cline-any cline-yes">1609</span>
+<span class="cline-any cline-yes">1609</span>
+<span class="cline-any cline-yes">36</span>
+<span class="cline-any cline-yes">36</span>
+<span class="cline-any cline-yes">5</span>
+<span class="cline-any cline-yes">4</span>
+<span class="cline-any cline-yes">5</span>
+<span class="cline-any cline-yes">5</span>
+<span class="cline-any cline-yes">523</span>
+<span class="cline-any cline-yes">521</span>
+<span class="cline-any cline-yes">80</span>
+<span class="cline-any cline-yes">80</span>
+<span class="cline-any cline-yes">531</span>
+<span class="cline-any cline-yes">531</span>
+<span class="cline-any cline-yes">80</span>
+<span class="cline-any cline-yes">80</span>
+<span class="cline-any cline-yes">62</span>
+<span class="cline-any cline-yes">62</span>
+<span class="cline-any cline-yes">603</span>
+<span class="cline-any cline-yes">603</span>
+<span class="cline-any cline-yes">914</span>
+<span class="cline-any cline-yes">914</span>
+<span class="cline-any cline-yes">38</span>
+<span class="cline-any cline-yes">38</span>
+<span class="cline-any cline-yes">6</span>
+<span class="cline-any cline-yes">6</span>
+<span class="cline-any cline-yes">89</span>
+<span class="cline-any cline-yes">89</span>
+<span class="cline-any cline-yes">1584</span>
+<span class="cline-any cline-yes">1584</span>
+<span class="cline-any cline-yes">40</span>
+<span class="cline-any cline-yes">40</span>
+<span class="cline-any cline-yes">390</span>
+<span class="cline-any cline-yes">390</span>
+<span class="cline-any cline-yes">55</span>
+<span class="cline-any cline-yes">55</span>
+<span class="cline-any cline-yes">53</span>
+<span class="cline-any cline-yes">53</span>
+<span class="cline-any cline-yes">54</span>
+<span class="cline-any cline-yes">54</span>
+<span class="cline-any cline-yes">34</span>
+<span class="cline-any cline-yes">34</span>
+<span class="cline-any cline-yes">52</span>
+<span class="cline-any cline-yes">52</span>
+<span class="cline-any cline-yes">74</span>
+<span class="cline-any cline-yes">74</span>
+<span class="cline-any cline-yes">119</span>
+<span class="cline-any cline-yes">119</span>
+<span class="cline-any cline-yes">91</span>
+<span class="cline-any cline-yes">91</span>
+<span class="cline-any cline-yes">2</span>
+<span class="cline-any cline-yes">2</span>
+<span class="cline-any cline-yes">2</span>
+<span class="cline-any cline-yes">2</span>
+<span class="cline-any cline-yes">74</span>
+<span class="cline-any cline-yes">74</span>
+<span class="cline-any cline-yes">2752</span>
+<span class="cline-any cline-yes">2744</span>
+<span class="cline-any cline-yes">341</span>
+<span class="cline-any cline-yes">341</span>
+<span class="cline-any cline-yes">2752</span>
+<span class="cline-any cline-yes">2752</span>
+<span class="cline-any cline-yes">1722</span>
+<span class="cline-any cline-yes">1722</span>
+<span class="cline-any cline-yes">3297</span>
+<span class="cline-any cline-yes">3297</span>
+<span class="cline-any cline-yes">1586</span>
+<span class="cline-any cline-yes">1586</span>
+<span class="cline-any cline-yes">513</span>
+<span class="cline-any cline-yes">513</span>
+<span class="cline-any cline-yes">74</span>
+<span class="cline-any cline-yes">74</span>
+<span class="cline-any cline-yes">45</span>
+<span class="cline-any cline-yes">45</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1049</span>
+<span class="cline-any cline-yes">1049</span>
+<span class="cline-any cline-yes">1049</span>
+<span class="cline-any cline-yes">1049</span>
+<span class="cline-any cline-yes">1049</span>
+<span class="cline-any cline-yes">1049</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1049</span>
+<span class="cline-any cline-yes">1049</span>
+<span class="cline-any cline-yes">1049</span>
+<span class="cline-any cline-yes">1049</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">11342</span>
+<span class="cline-any cline-yes">11342</span>
+<span class="cline-any cline-yes">11342</span>
+<span class="cline-any cline-yes">7</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">11342</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1049</span>
+<span class="cline-any cline-yes">1049</span>
+<span class="cline-any cline-yes">38270</span>
+<span class="cline-any cline-yes">38270</span>
+<span class="cline-any cline-yes">1159</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">37111</span>
+<span class="cline-any cline-yes">11342</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">37111</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">38270</span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-yes">82</span>
+<span class="cline-any cline-yes">82</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">38258</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">38258</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">11319</span>
+<span class="cline-any cline-yes">11319</span>
+<span class="cline-any cline-yes">11319</span>
+<span class="cline-any cline-yes">11319</span>
+<span class="cline-any cline-yes">11319</span>
+<span class="cline-any cline-yes">11319</span>
+<span class="cline-any cline-yes">11319</span>
+<span class="cline-any cline-yes">11319</span>
+<span class="cline-any cline-yes">11319</span>
+<span class="cline-any cline-yes">11319</span>
+<span class="cline-any cline-yes">11319</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">11319</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">26939</span>
+<span class="cline-any cline-yes">26939</span>
+<span class="cline-any cline-yes">26939</span>
+<span class="cline-any cline-yes">26939</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">26939</span>
+<span class="cline-any cline-yes">26928</span>
+<span class="cline-any cline-yes">1026</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">25902</span>
+<span class="cline-any cline-yes">20448</span>
+<span class="cline-any cline-yes">20448</span>
+<span class="cline-any cline-yes">20448</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">25902</span>
+<span class="cline-any cline-yes">25902</span>
+<span class="cline-any cline-yes">25902</span>
+<span class="cline-any cline-yes">25902</span>
+<span class="cline-any cline-yes">25902</span>
+<span class="cline-any cline-yes">25902</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1116</span>
+<span class="cline-any cline-yes">1116</span>
+<span class="cline-any cline-yes">1116</span>
+<span class="cline-any cline-yes">1116</span>
+<span class="cline-any cline-yes">1116</span>
+<span class="cline-any cline-yes">1116</span>
+<span class="cline-any cline-yes">1116</span>
+<span class="cline-any cline-yes">1116</span>
+<span class="cline-any cline-yes">1116</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-yes">12</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">221226</span>
+<span class="cline-any cline-yes">221226</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">2151</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">11800</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">2151</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">2483</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">2474</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">141</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-yes">13951</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">2476</span>
+<span class="cline-any cline-yes">10</span>
+<span class="cline-any cline-yes">10</span>
+<span class="cline-any cline-yes">2466</span>
+<span class="cline-any cline-yes">10</span>
+<span class="cline-any cline-yes">10</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">2456</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">2476</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1275</span>
+<span class="cline-any cline-yes">426</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">10</span>
+<span class="cline-any cline-yes">10</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">5</span>
+<span class="cline-any cline-yes">5</span>
+<span class="cline-any cline-yes">5</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">5</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">2</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">62</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">62</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">5</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">5</span>
+<span class="cline-any cline-yes">5</span>
+<span class="cline-any cline-yes">5</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">100</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">532</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">604</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">44</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">22</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">81</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">42</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">23</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">2</span>
+<span class="cline-any cline-yes">2</span>
+<span class="cline-any cline-yes">37</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">973</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">131</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">73</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">59</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">355</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">874</span>
+<span class="cline-any cline-yes">42</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">2305</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">61</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">6</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">79</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">42</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">18</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">61</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">3208</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">15</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">9</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1094</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-neutral"> </span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-yes">1</span>
+<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">"use strict";
+/* jshint ignore:start */
+/* istanbul ignore next */
+/* Jison generated parser */
+var handlebars = (function(){
+var parser = {trace: <span class="fstat-skip" title="function not covered" >function trace() {</span> },
+yy: {},
+symbols_: {"error":2,"root":3,"program":4,"EOF":5,"program_repetition0":6,"statement":7,"mustache":8,"block":9,"rawBlock":10,"partial":11,"CONTENT":12,"COMMENT":13,"openRawBlock":14,"END_RAW_BLOCK":15,"OPEN_RAW_BLOCK":16,"sexpr":17,"CLOSE_RAW_BLOCK":18,"openBlock":19,"block_option0":20,"closeBlock":21,"openInverse":22,"block_option1":23,"OPEN_BLOCK":24,"CLOSE":25,"OPEN_INVERSE":26,"inverseAndProgram":27,"INVERSE":28,"OPEN_ENDBLOCK":29,"path":30,"OPEN":31,"OPEN_UNESCAPED":32,"CLOSE_UNESCAPED":33,"OPEN_PARTIAL":34,"partialName":35,"param":36,"partial_option0":37,"partial_option1":38,"sexpr_repetition0":39,"sexpr_option0":40,"dataName":41,"STRING":42,"NUMBER":43,"BOOLEAN":44,"OPEN_SEXPR":45,"CLOSE_SEXPR":46,"hash":47,"hash_repetition_plus0":48,"hashSegment":49,"ID":50,"EQUALS":51,"DATA":52,"pathSegments":53,"SEP":54,"$accept":0,"$end":1},
+terminals_: {2:"error",5:"EOF",12:"CONTENT",13:"COMMENT",15:"END_RAW_BLOCK",16:"OPEN_RAW_BLOCK",18:"CLOSE_RAW_BLOCK",24:"OPEN_BLOCK",25:"CLOSE",26:"OPEN_INVERSE",28:"INVERSE",29:"OPEN_ENDBLOCK",31:"OPEN",32:"OPEN_UNESCAPED",33:"CLOSE_UNESCAPED",34:"OPEN_PARTIAL",42:"STRING",43:"NUMBER",44:"BOOLEAN",45:"OPEN_SEXPR",46:"CLOSE_SEXPR",50:"ID",51:"EQUALS",52:"DATA",54:"SEP"},
+productions_: [0,[3,2],[4,1],[7,1],[7,1],[7,1],[7,1],[7,1],[7,1],[10,3],[14,3],[9,4],[9,4],[19,3],[22,3],[27,2],[21,3],[8,3],[8,3],[11,5],[11,4],[17,3],[17,1],[36,1],[36,1],[36,1],[36,1],[36,1],[36,3],[47,1],[49,3],[35,1],[35,1],[35,1],[41,2],[30,1],[53,3],[53,1],[6,0],[6,2],[20,0],[20,1],[23,0],[23,1],[37,0],[37,1],[38,0],[38,1],[39,0],[39,2],[40,0],[40,1],[48,1],[48,2]],
+performAction: function anonymous(yytext,yyleng,yylineno,yy,yystate,$$,_$) {
+
+var $0 = $$.length - 1;
+switch (yystate) {
+case 1: yy.prepareProgram($$[$0-1].statements, true); return $$[$0-1];
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 2:this.$ = new yy.ProgramNode(yy.prepareProgram($$[$0]), {}, this._$);
+break;
+case 3:this.$ = $$[$0];
+break;
+case 4:this.$ = $$[$0];
+break;
+case 5:this.$ = $$[$0];
+break;
+case 6:this.$ = $$[$0];
+break;
+case 7:this.$ = new yy.ContentNode($$[$0], this._$);
+break;
+case 8:this.$ = new yy.CommentNode($$[$0], this._$);
+break;
+case 9:this.$ = new yy.RawBlockNode($$[$0-2], $$[$0-1], $$[$0], this._$);
+break;
+case 10:this.$ = new yy.MustacheNode($$[$0-1], null, '', '', this._$);
+break;
+case 11:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1], $$[$0], false, this._$);
+break;
+case 12:this.$ = yy.prepareBlock($$[$0-3], $$[$0-2], $$[$0-1], $$[$0], true, this._$);
+break;
+case 13:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], yy.stripFlags($$[$0-2], $$[$0]), this._$);
+break;
+case 14:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], yy.stripFlags($$[$0-2], $$[$0]), this._$);
+break;
+case 15:this.$ = { strip: yy.stripFlags($$[$0-1], $$[$0-1]), program: $$[$0] };
+break;
+case 16:this.$ = {path: $$[$0-1], strip: yy.stripFlags($$[$0-2], $$[$0])};
+break;
+case 17:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], yy.stripFlags($$[$0-2], $$[$0]), this._$);
+break;
+case 18:this.$ = new yy.MustacheNode($$[$0-1], null, $$[$0-2], yy.stripFlags($$[$0-2], $$[$0]), this._$);
+break;
+case 19:this.$ = new yy.PartialNode($$[$0-3], $$[$0-2], $$[$0-1], yy.stripFlags($$[$0-4], $$[$0]), this._$);
+break;
+case 20:this.$ = new yy.PartialNode($$[$0-2], undefined, $$[$0-1], yy.stripFlags($$[$0-3], $$[$0]), this._$);
+break;
+case 21:this.$ = new yy.SexprNode([$$[$0-2]].concat($$[$0-1]), $$[$0], this._$);
+break;
+case 22:this.$ = new yy.SexprNode([$$[$0]], null, this._$);
+break;
+case 23:this.$ = $$[$0];
+break;
+case 24:this.$ = new yy.StringNode($$[$0], this._$);
+break;
+case 25:this.$ = new yy.NumberNode($$[$0], this._$);
+break;
+case 26:this.$ = new yy.BooleanNode($$[$0], this._$);
+break;
+case 27:this.$ = $$[$0];
+break;
+case 28:$$[$0-1].isHelper = true; this.$ = $$[$0-1];
+break;
+case 29:this.$ = new yy.HashNode($$[$0], this._$);
+break;
+case 30:this.$ = [$$[$0-2], $$[$0]];
+break;
+case 31:this.$ = new yy.PartialNameNode($$[$0], this._$);
+break;
+case 32:this.$ = new yy.PartialNameNode(new yy.StringNode($$[$0], this._$), this._$);
+break;
+case 33:this.$ = new yy.PartialNameNode(new yy.NumberNode($$[$0], this._$));
+break;
+case 34:this.$ = new yy.DataNode($$[$0], this._$);
+break;
+case 35:this.$ = new yy.IdNode($$[$0], this._$);
+break;
+case 36: $$[$0-2].push({part: $$[$0], separator: $$[$0-1]}); this.$ = $$[$0-2];
+break;
+case 37:this.$ = [{part: $$[$0]}];
+break;
+case 38:this.$ = [];
+break;
+case 39:$$[$0-1].push($$[$0]);
+break;
+case 48:this.$ = [];
+break;
+case 49:$$[$0-1].push($$[$0]);
+break;
+case 52:this.$ = [$$[$0]];
+break;
+case 53:$$[$0-1].push($$[$0]);
+break;
+}
+},
+table: [{3:1,4:2,5:[2,38],6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],31:[2,38],32:[2,38],34:[2,38]},{1:[3]},{5:[1,4]},{5:[2,2],7:5,8:6,9:7,10:8,11:9,12:[1,10],13:[1,11],14:16,16:[1,20],19:14,22:15,24:[1,18],26:[1,19],28:[2,2],29:[2,2],31:[1,12],32:[1,13],34:[1,17]},{1:[2,1]},{5:[2,39],12:[2,39],13:[2,39],16:[2,39],24:[2,39],26:[2,39],28:[2,39],29:[2,39],31:[2,39],32:[2,39],34:[2,39]},{5:[2,3],12:[2,3],13:[2,3],16:[2,3],24:[2,3],26:[2,3],28:[2,3],29:[2,3],31:[2,3],32:[2,3],34:[2,3]},{5:[2,4],12:[2,4],13:[2,4],16:[2,4],24:[2,4],26:[2,4],28:[2,4],29:[2,4],31:[2,4],32:[2,4],34:[2,4]},{5:[2,5],12:[2,5],13:[2,5],16:[2,5],24:[2,5],26:[2,5],28:[2,5],29:[2,5],31:[2,5],32:[2,5],34:[2,5]},{5:[2,6],12:[2,6],13:[2,6],16:[2,6],24:[2,6],26:[2,6],28:[2,6],29:[2,6],31:[2,6],32:[2,6],34:[2,6]},{5:[2,7],12:[2,7],13:[2,7],16:[2,7],24:[2,7],26:[2,7],28:[2,7],29:[2,7],31:[2,7],32:[2,7],34:[2,7]},{5:[2,8],12:[2,8],13:[2,8],16:[2,8],24:[2,8],26:[2,8],28:[2,8],29:[2,8],31:[2,8],32:[2,8],34:[2,8]},{17:21,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:27,30:22,41:23,50:[1,26],52:[1,25],53:24},{4:28,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],28:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{4:29,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],28:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{12:[1,30]},{30:32,35:31,42:[1,33],43:[1,34],50:[1,26],53:24},{17:35,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:36,30:22,41:23,50:[1,26],52:[1,25],53:24},{17:37,30:22,41:23,50:[1,26],52:[1,25],53:24},{25:[1,38]},{18:[2,48],25:[2,48],33:[2,48],39:39,42:[2,48],43:[2,48],44:[2,48],45:[2,48],46:[2,48],50:[2,48],52:[2,48]},{18:[2,22],25:[2,22],33:[2,22],46:[2,22]},{18:[2,35],25:[2,35],33:[2,35],42:[2,35],43:[2,35],44:[2,35],45:[2,35],46:[2,35],50:[2,35],52:[2,35],54:[1,40]},{30:41,50:[1,26],53:24},{18:[2,37],25:[2,37],33:[2,37],42:[2,37],43:[2,37],44:[2,37],45:[2,37],46:[2,37],50:[2,37],52:[2,37],54:[2,37]},{33:[1,42]},{20:43,27:44,28:[1,45],29:[2,40]},{23:46,27:47,28:[1,45],29:[2,42]},{15:[1,48]},{25:[2,46],30:51,36:49,38:50,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],47:57,48:58,49:60,50:[1,59],52:[1,25],53:24},{25:[2,31],42:[2,31],43:[2,31],44:[2,31],45:[2,31],50:[2,31],52:[2,31]},{25:[2,32],42:[2,32],43:[2,32],44:[2,32],45:[2,32],50:[2,32],52:[2,32]},{25:[2,33],42:[2,33],43:[2,33],44:[2,33],45:[2,33],50:[2,33],52:[2,33]},{25:[1,61]},{25:[1,62]},{18:[1,63]},{5:[2,17],12:[2,17],13:[2,17],16:[2,17],24:[2,17],26:[2,17],28:[2,17],29:[2,17],31:[2,17],32:[2,17],34:[2,17]},{18:[2,50],25:[2,50],30:51,33:[2,50],36:65,40:64,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],46:[2,50],47:66,48:58,49:60,50:[1,59],52:[1,25],53:24},{50:[1,67]},{18:[2,34],25:[2,34],33:[2,34],42:[2,34],43:[2,34],44:[2,34],45:[2,34],46:[2,34],50:[2,34],52:[2,34]},{5:[2,18],12:[2,18],13:[2,18],16:[2,18],24:[2,18],26:[2,18],28:[2,18],29:[2,18],31:[2,18],32:[2,18],34:[2,18]},{21:68,29:[1,69]},{29:[2,41]},{4:70,6:3,12:[2,38],13:[2,38],16:[2,38],24:[2,38],26:[2,38],29:[2,38],31:[2,38],32:[2,38],34:[2,38]},{21:71,29:[1,69]},{29:[2,43]},{5:[2,9],12:[2,9],13:[2,9],16:[2,9],24:[2,9],26:[2,9],28:[2,9],29:[2,9],31:[2,9],32:[2,9],34:[2,9]},{25:[2,44],37:72,47:73,48:58,49:60,50:[1,74]},{25:[1,75]},{18:[2,23],25:[2,23],33:[2,23],42:[2,23],43:[2,23],44:[2,23],45:[2,23],46:[2,23],50:[2,23],52:[2,23]},{18:[2,24],25:[2,24],33:[2,24],42:[2,24],43:[2,24],44:[2,24],45:[2,24],46:[2,24],50:[2,24],52:[2,24]},{18:[2,25],25:[2,25],33:[2,25],42:[2,25],43:[2,25],44:[2,25],45:[2,25],46:[2,25],50:[2,25],52:[2,25]},{18:[2,26],25:[2,26],33:[2,26],42:[2,26],43:[2,26],44:[2,26],45:[2,26],46:[2,26],50:[2,26],52:[2,26]},{18:[2,27],25:[2,27],33:[2,27],42:[2,27],43:[2,27],44:[2,27],45:[2,27],46:[2,27],50:[2,27],52:[2,27]},{17:76,30:22,41:23,50:[1,26],52:[1,25],53:24},{25:[2,47]},{18:[2,29],25:[2,29],33:[2,29],46:[2,29],49:77,50:[1,74]},{18:[2,37],25:[2,37],33:[2,37],42:[2,37],43:[2,37],44:[2,37],45:[2,37],46:[2,37],50:[2,37],51:[1,78],52:[2,37],54:[2,37]},{18:[2,52],25:[2,52],33:[2,52],46:[2,52],50:[2,52]},{12:[2,13],13:[2,13],16:[2,13],24:[2,13],26:[2,13],28:[2,13],29:[2,13],31:[2,13],32:[2,13],34:[2,13]},{12:[2,14],13:[2,14],16:[2,14],24:[2,14],26:[2,14],28:[2,14],29:[2,14],31:[2,14],32:[2,14],34:[2,14]},{12:[2,10]},{18:[2,21],25:[2,21],33:[2,21],46:[2,21]},{18:[2,49],25:[2,49],33:[2,49],42:[2,49],43:[2,49],44:[2,49],45:[2,49],46:[2,49],50:[2,49],52:[2,49]},{18:[2,51],25:[2,51],33:[2,51],46:[2,51]},{18:[2,36],25:[2,36],33:[2,36],42:[2,36],43:[2,36],44:[2,36],45:[2,36],46:[2,36],50:[2,36],52:[2,36],54:[2,36]},{5:[2,11],12:[2,11],13:[2,11],16:[2,11],24:[2,11],26:[2,11],28:[2,11],29:[2,11],31:[2,11],32:[2,11],34:[2,11]},{30:79,50:[1,26],53:24},{29:[2,15]},{5:[2,12],12:[2,12],13:[2,12],16:[2,12],24:[2,12],26:[2,12],28:[2,12],29:[2,12],31:[2,12],32:[2,12],34:[2,12]},{25:[1,80]},{25:[2,45]},{51:[1,78]},{5:[2,20],12:[2,20],13:[2,20],16:[2,20],24:[2,20],26:[2,20],28:[2,20],29:[2,20],31:[2,20],32:[2,20],34:[2,20]},{46:[1,81]},{18:[2,53],25:[2,53],33:[2,53],46:[2,53],50:[2,53]},{30:51,36:82,41:55,42:[1,52],43:[1,53],44:[1,54],45:[1,56],50:[1,26],52:[1,25],53:24},{25:[1,83]},{5:[2,19],12:[2,19],13:[2,19],16:[2,19],24:[2,19],26:[2,19],28:[2,19],29:[2,19],31:[2,19],32:[2,19],34:[2,19]},{18:[2,28],25:[2,28],33:[2,28],42:[2,28],43:[2,28],44:[2,28],45:[2,28],46:[2,28],50:[2,28],52:[2,28]},{18:[2,30],25:[2,30],33:[2,30],46:[2,30],50:[2,30]},{5:[2,16],12:[2,16],13:[2,16],16:[2,16],24:[2,16],26:[2,16],28:[2,16],29:[2,16],31:[2,16],32:[2,16],34:[2,16]}],
+defaultActions: {4:[2,1],44:[2,41],47:[2,43],57:[2,47],63:[2,10],70:[2,15],73:[2,45]},
+parseError: function parseError(str, hash) {
+ throw new Error(str);
+},
+parse: function parse(input) {
+ var self = this, stack = [0], vstack = [null], lstack = [], table = this.table, yytext = "", yylineno = 0, yyleng = 0, recovering = 0, TERROR = 2, EOF = 1;
+ this.lexer.setInput(input);
+ this.lexer.yy = this.yy;
+ this.yy.lexer = this.lexer;
+ this.yy.parser = this;
+ <span class="skip-if-branch" title="if path not taken" >I</span>if (typeof this.lexer.yylloc == "undefined")
+<span class="cstat-skip" title="statement not covered" > this.lexer.yylloc = {};</span>
+ var yyloc = this.lexer.yylloc;
+ lstack.push(yyloc);
+ var ranges = this.lexer.options && this.lexer.options.ranges;
+ <span class="skip-if-branch" title="if path not taken" >I</span>if (typeof this.yy.parseError === "function")
+<span class="cstat-skip" title="statement not covered" > this.parseError = this.yy.parseError;</span>
+<span class="fstat-skip" title="function not covered" > function popStack(n) {</span>
+<span class="cstat-skip" title="statement not covered" > stack.length = stack.length - 2 * n;</span>
+<span class="cstat-skip" title="statement not covered" > vstack.length = vstack.length - n;</span>
+<span class="cstat-skip" title="statement not covered" > lstack.length = lstack.length - n;</span>
+ }
+ function lex() {
+ var token;
+ token = self.lexer.lex() || <span class="branch-1 cbranch-skip" title="branch not covered" >1;</span>
+ if (typeof token !== "number") {
+ token = self.symbols_[token] || token;
+ }
+ return token;
+ }
+ var symbol, preErrorSymbol, state, action, a, r, yyval = {}, p, len, newState, expected;
+ while (true) {
+ state = stack[stack.length - 1];
+ if (this.defaultActions[state]) {
+ action = this.defaultActions[state];
+ } else {
+ if (symbol === null || typeof symbol == "undefined") {
+ symbol = lex();
+ }
+ action = table[state] && table[state][symbol];
+ }
+ if (typeof action === "undefined" || !action.length || !action[0]) {
+ var errStr = "";
+ <span class="skip-if-branch" title="else path not taken" >E</span>if (!recovering) {
+ expected = [];
+ for (p in table[state])
+ <span class="skip-if-branch" title="else path not taken" >E</span>if (this.terminals_[p] && p > 2) {
+ expected.push("'" + this.terminals_[p] + "'");
+ }
+ <span class="skip-if-branch" title="else path not taken" >E</span>if (this.lexer.showPosition) {
+ errStr = "Parse error on line " + (yylineno + 1) + ":\n" + this.lexer.showPosition() + "\nExpecting " + expected.join(", ") + ", got '" + (this.terminals_[symbol] || symbol) + "'";
+ } else {
+<span class="cstat-skip" title="statement not covered" > errStr = "Parse error on line " + (yylineno + 1) + ": Unexpected " + (symbol == 1?"end of input":"'" + (this.terminals_[symbol] || symbol) + "'");</span>
+ }
+ this.parseError(errStr, {text: this.lexer.match, token: this.terminals_[symbol] || symbol, line: this.lexer.yylineno, loc: yyloc, expected: expected});
+ }
+ }
+ <span class="skip-if-branch" title="if path not taken" >I</span>if (action[0] instanceof Array && <span class="branch-1 cbranch-skip" title="branch not covered" >action.length > 1)</span> {
+<span class="cstat-skip" title="statement not covered" > throw new Error("Parse Error: multiple actions possible at state: " + state + ", token: " + symbol);</span>
+ }
+ switch (action[0]) {
+ case 1:
+ stack.push(symbol);
+ vstack.push(this.lexer.yytext);
+ lstack.push(this.lexer.yylloc);
+ stack.push(action[1]);
+ symbol = null;
+ <span class="skip-if-branch" title="else path not taken" >E</span>if (!preErrorSymbol) {
+ yyleng = this.lexer.yyleng;
+ yytext = this.lexer.yytext;
+ yylineno = this.lexer.yylineno;
+ yyloc = this.lexer.yylloc;
+ <span class="skip-if-branch" title="if path not taken" >I</span>if (recovering > 0)
+<span class="cstat-skip" title="statement not covered" > recovering--;</span>
+ } else {
+<span class="cstat-skip" title="statement not covered" > symbol = preErrorSymbol;</span>
+<span class="cstat-skip" title="statement not covered" > preErrorSymbol = null;</span>
+ }
+ break;
+ case 2:
+ len = this.productions_[action[1]][1];
+ yyval.$ = vstack[vstack.length - len];
+ yyval._$ = {first_line: lstack[lstack.length - (len || 1)].first_line, last_line: lstack[lstack.length - 1].last_line, first_column: lstack[lstack.length - (len || 1)].first_column, last_column: lstack[lstack.length - 1].last_column};
+ <span class="skip-if-branch" title="if path not taken" >I</span>if (ranges) {
+<span class="cstat-skip" title="statement not covered" > yyval._$.range = [lstack[lstack.length - (len || 1)].range[0], lstack[lstack.length - 1].range[1]];</span>
+ }
+ r = this.performAction.call(yyval, yytext, yyleng, yylineno, this.yy, action[1], vstack, lstack);
+ if (typeof r !== "undefined") {
+ return r;
+ }
+ if (len) {
+ stack = stack.slice(0, -1 * len * 2);
+ vstack = vstack.slice(0, -1 * len);
+ lstack = lstack.slice(0, -1 * len);
+ }
+ stack.push(this.productions_[action[1]][0]);
+ vstack.push(yyval.$);
+ lstack.push(yyval._$);
+ newState = table[stack[stack.length - 2]][stack[stack.length - 1]];
+ stack.push(newState);
+ break;
+<span class="branch-2 cbranch-skip" title="branch not covered" > case 3:</span>
+<span class="cstat-skip" title="statement not covered" > return true;</span>
+ }
+ }
+<span class="cstat-skip" title="statement not covered" > return true;</span>
+}
+};
+/* Jison generated lexer */
+var lexer = (function(){
+var lexer = ({EOF:1,
+parseError:<span class="fstat-skip" title="function not covered" >function parseError(str, hash) {</span>
+<span class="cstat-skip" title="statement not covered" > if (this.yy.parser) {</span>
+<span class="cstat-skip" title="statement not covered" > this.yy.parser.parseError(str, hash);</span>
+ } else {
+<span class="cstat-skip" title="statement not covered" > throw new Error(str);</span>
+ }
+ },
+setInput:function (input) {
+ this._input = input;
+ this._more = this._less = this.done = false;
+ this.yylineno = this.yyleng = 0;
+ this.yytext = this.matched = this.match = '';
+ this.conditionStack = ['INITIAL'];
+ this.yylloc = {first_line:1,first_column:0,last_line:1,last_column:0};
+ <span class="skip-if-branch" title="if path not taken" >I</span>if (this.options.ranges) <span class="cstat-skip" title="statement not covered" >this.yylloc.range = [0,0];</span>
+ this.offset = 0;
+ return this;
+ },
+input:<span class="fstat-skip" title="function not covered" >function () {</span>
+<span class="cstat-skip" title="statement not covered" > var ch = this._input[0];</span>
+<span class="cstat-skip" title="statement not covered" > this.yytext += ch;</span>
+<span class="cstat-skip" title="statement not covered" > this.yyleng++;</span>
+<span class="cstat-skip" title="statement not covered" > this.offset++;</span>
+<span class="cstat-skip" title="statement not covered" > this.match += ch;</span>
+<span class="cstat-skip" title="statement not covered" > this.matched += ch;</span>
+<span class="cstat-skip" title="statement not covered" > var lines = ch.match(/(?:\r\n?|\n).*/g);</span>
+<span class="cstat-skip" title="statement not covered" > if (lines) {</span>
+<span class="cstat-skip" title="statement not covered" > this.yylineno++;</span>
+<span class="cstat-skip" title="statement not covered" > this.yylloc.last_line++;</span>
+ } else {
+<span class="cstat-skip" title="statement not covered" > this.yylloc.last_column++;</span>
+ }
+<span class="cstat-skip" title="statement not covered" > if (this.options.ranges) <span class="cstat-skip" title="statement not covered" >this.yylloc.range[1]++;</span></span>
+
+<span class="cstat-skip" title="statement not covered" > this._input = this._input.slice(1);</span>
+<span class="cstat-skip" title="statement not covered" > return ch;</span>
+ },
+unput:<span class="fstat-skip" title="function not covered" >function (ch) {</span>
+<span class="cstat-skip" title="statement not covered" > var len = ch.length;</span>
+<span class="cstat-skip" title="statement not covered" > var lines = ch.split(/(?:\r\n?|\n)/g);</span>
+
+<span class="cstat-skip" title="statement not covered" > this._input = ch + this._input;</span>
+<span class="cstat-skip" title="statement not covered" > this.yytext = this.yytext.substr(0, this.yytext.length-len-1);</span>
+ //this.yyleng -= len;
+<span class="cstat-skip" title="statement not covered" > this.offset -= len;</span>
+<span class="cstat-skip" title="statement not covered" > var oldLines = this.match.split(/(?:\r\n?|\n)/g);</span>
+<span class="cstat-skip" title="statement not covered" > this.match = this.match.substr(0, this.match.length-1);</span>
+<span class="cstat-skip" title="statement not covered" > this.matched = this.matched.substr(0, this.matched.length-1);</span>
+
+<span class="cstat-skip" title="statement not covered" > if (lines.length-1) <span class="cstat-skip" title="statement not covered" >this.yylineno -= lines.length-1;</span></span>
+<span class="cstat-skip" title="statement not covered" > var r = this.yylloc.range;</span>
+
+<span class="cstat-skip" title="statement not covered" > this.yylloc = {first_line: this.yylloc.first_line,</span>
+ last_line: this.yylineno+1,
+ first_column: this.yylloc.first_column,
+ last_column: lines ?
+ (lines.length === oldLines.length ? this.yylloc.first_column : 0) + oldLines[oldLines.length - lines.length].length - lines[0].length:
+ this.yylloc.first_column - len
+ };
+
+<span class="cstat-skip" title="statement not covered" > if (this.options.ranges) {</span>
+<span class="cstat-skip" title="statement not covered" > this.yylloc.range = [r[0], r[0] + this.yyleng - len];</span>
+ }
+<span class="cstat-skip" title="statement not covered" > return this;</span>
+ },
+more:<span class="fstat-skip" title="function not covered" >function () {</span>
+<span class="cstat-skip" title="statement not covered" > this._more = true;</span>
+<span class="cstat-skip" title="statement not covered" > return this;</span>
+ },
+less:<span class="fstat-skip" title="function not covered" >function (n) {</span>
+<span class="cstat-skip" title="statement not covered" > this.unput(this.match.slice(n));</span>
+ },
+pastInput:function () {
+ var past = this.matched.substr(0, this.matched.length - this.match.length);
+ return (past.length > 20 ? <span class="branch-0 cbranch-skip" title="branch not covered" >'...':</span>'') + past.substr(-20).replace(/\n/g, "");
+ },
+upcomingInput:function () {
+ var next = this.match;
+ <span class="skip-if-branch" title="else path not taken" >E</span>if (next.length < 20) {
+ next += this._input.substr(0, 20-next.length);
+ }
+ return (next.substr(0,20)+(next.length > 20 ? <span class="branch-0 cbranch-skip" title="branch not covered" >'...':</span>'')).replace(/\n/g, "");
+ },
+showPosition:function () {
+ var pre = this.pastInput();
+ var c = new Array(pre.length + 1).join("-");
+ return pre + this.upcomingInput() + "\n" + c+"^";
+ },
+next:function () {
+ <span class="skip-if-branch" title="if path not taken" >I</span>if (this.done) {
+<span class="cstat-skip" title="statement not covered" > return this.EOF;</span>
+ }
+ if (!this._input) this.done = true;
+
+ var token,
+ match,
+ tempMatch,
+ index,
+ col,
+ lines;
+ <span class="skip-if-branch" title="else path not taken" >E</span>if (!this._more) {
+ this.yytext = '';
+ this.match = '';
+ }
+ var rules = this._currentRules();
+ for (var i=0;i < rules.length; i++) {
+ tempMatch = this._input.match(this.rules[rules[i]]);
+ if (tempMatch && (!match || <span class="branch-2 cbranch-skip" title="branch not covered" >tempMatch[0].length > match[0].length)</span>) {
+ match = tempMatch;
+ index = i;
+ <span class="skip-if-branch" title="else path not taken" >E</span>if (!this.options.flex) break;
+ }
+ }
+ <span class="skip-if-branch" title="else path not taken" >E</span>if (match) {
+ lines = match[0].match(/(?:\r\n?|\n).*/g);
+ if (lines) this.yylineno += lines.length;
+ this.yylloc = {first_line: this.yylloc.last_line,
+ last_line: this.yylineno+1,
+ first_column: this.yylloc.last_column,
+ last_column: lines ? lines[lines.length-1].length-lines[lines.length-1].match(/\r?\n?/)[0].length : this.yylloc.last_column + match[0].length};
+ this.yytext += match[0];
+ this.match += match[0];
+ this.matches = match;
+ this.yyleng = this.yytext.length;
+ <span class="skip-if-branch" title="if path not taken" >I</span>if (this.options.ranges) {
+<span class="cstat-skip" title="statement not covered" > this.yylloc.range = [this.offset, this.offset += this.yyleng];</span>
+ }
+ this._more = false;
+ this._input = this._input.slice(match[0].length);
+ this.matched += match[0];
+ token = this.performAction.call(this, this.yy, this, rules[index],this.conditionStack[this.conditionStack.length-1]);
+ <span class="skip-if-branch" title="if path not taken" >I</span>if (this.done && this._input) <span class="cstat-skip" title="statement not covered" >this.done = false;</span>
+ if (token) return token;
+ else return;
+ }
+<span class="cstat-skip" title="statement not covered" > if (this._input === "") {</span>
+<span class="cstat-skip" title="statement not covered" > return this.EOF;</span>
+ } else {
+<span class="cstat-skip" title="statement not covered" > return this.parseError('Lexical error on line '+(this.yylineno+1)+'. Unrecognized text.\n'+this.showPosition(),</span>
+ {text: "", token: null, line: this.yylineno});
+ }
+ },
+lex:function lex() {
+ var r = this.next();
+ if (typeof r !== 'undefined') {
+ return r;
+ } else {
+ return this.lex();
+ }
+ },
+begin:function begin(condition) {
+ this.conditionStack.push(condition);
+ },
+popState:function popState() {
+ return this.conditionStack.pop();
+ },
+_currentRules:function _currentRules() {
+ return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules;
+ },
+topState:<span class="fstat-skip" title="function not covered" >function () {</span>
+<span class="cstat-skip" title="statement not covered" > return this.conditionStack[this.conditionStack.length-2];</span>
+ },
+pushState:<span class="fstat-skip" title="function not covered" >function begin(condition) {</span>
+<span class="cstat-skip" title="statement not covered" > this.begin(condition);</span>
+ }});
+lexer.options = {};
+lexer.performAction = function anonymous(yy,yy_,$avoiding_name_collisions,YY_START) {
+
+
+function strip(start, end) {
+ return yy_.yytext = yy_.yytext.substr(start, yy_.yyleng-end);
+}
+
+
+var YYSTATE=YY_START
+switch($avoiding_name_collisions) {
+case 0:
+ if(yy_.yytext.slice(-2) === "\\\\") {
+ strip(0,1);
+ this.begin("mu");
+ } else if(yy_.yytext.slice(-1) === "\\") {
+ strip(0,1);
+ this.begin("emu");
+ } else {
+ this.begin("mu");
+ }
+ if(yy_.yytext) return 12;
+
+break;
+case 1:return 12;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 2:
+ this.popState();
+ return 12;
+
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 3:
+ yy_.yytext = yy_.yytext.substr(5, yy_.yyleng-9);
+ this.popState();
+ return 15;
+
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 4: return 12;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 5:strip(0,4); this.popState(); return 13;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 6:return 45;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 7:return 46;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 8: return 16;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 9:
+ this.popState();
+ this.begin('raw');
+ return 18;
+
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 10:return 34;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 11:return 24;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 12:return 29;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 13:this.popState(); return 28;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 14:this.popState(); return 28;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 15:return 26;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 16:return 26;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 17:return 32;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 18:return 31;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 19:this.popState(); this.begin('com');
+break;
+case 20:strip(3,5); this.popState(); return 13;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 21:return 31;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 22:return 51;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 23:return 50;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 24:return 50;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 25:return 54;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 26:// ignore whitespace
+break;
+case 27:this.popState(); return 33;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 28:this.popState(); return 25;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 29:yy_.yytext = strip(1,2).replace(/\\"/g,'"'); return 42;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 30:yy_.yytext = strip(1,2).replace(/\\'/g,"'"); return 42;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 31:return 52;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 32:return 44;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 33:return 44;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 34:return 43;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 35:return 50;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 36:yy_.yytext = strip(1,2); return 50;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 37:return 'INVALID';
+<span class="cstat-skip" title="statement not covered" >break;</span>
+case 38:return 5;
+<span class="cstat-skip" title="statement not covered" >break;</span>
+}
+};
+lexer.rules = [/^(?:[^\x00]*?(?=(\{\{)))/,/^(?:[^\x00]+)/,/^(?:[^\x00]{2,}?(?=(\{\{|\\\{\{|\\\\\{\{|$)))/,/^(?:\{\{\{\{\/[^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=[=}\s\/.])\}\}\}\})/,/^(?:[^\x00]*?(?=(\{\{\{\{\/)))/,/^(?:[\s\S]*?--\}\})/,/^(?:\()/,/^(?:\))/,/^(?:\{\{\{\{)/,/^(?:\}\}\}\})/,/^(?:\{\{(~)?>)/,/^(?:\{\{(~)?#)/,/^(?:\{\{(~)?\/)/,/^(?:\{\{(~)?\^\s*(~)?\}\})/,/^(?:\{\{(~)?\s*else\s*(~)?\}\})/,/^(?:\{\{(~)?\^)/,/^(?:\{\{(~)?\s*else\b)/,/^(?:\{\{(~)?\{)/,/^(?:\{\{(~)?&)/,/^(?:\{\{!--)/,/^(?:\{\{![\s\S]*?\}\})/,/^(?:\{\{(~)?)/,/^(?:=)/,/^(?:\.\.)/,/^(?:\.(?=([=~}\s\/.)])))/,/^(?:[\/.])/,/^(?:\s+)/,/^(?:\}(~)?\}\})/,/^(?:(~)?\}\})/,/^(?:"(\\["]|[^"])*")/,/^(?:'(\\[']|[^'])*')/,/^(?:@)/,/^(?:true(?=([~}\s)])))/,/^(?:false(?=([~}\s)])))/,/^(?:-?[0-9]+(?:\.[0-9]+)?(?=([~}\s)])))/,/^(?:([^\s!"#%-,\.\/;->@\[-\^`\{-~]+(?=([=~}\s\/.)]))))/,/^(?:\[[^\]]*\])/,/^(?:.)/,/^(?:$)/];
+lexer.conditions = {"mu":{"rules":[6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38],"inclusive":false},"emu":{"rules":[2],"inclusive":false},"com":{"rules":[5],"inclusive":false},"raw":{"rules":[3,4],"inclusive":false},"INITIAL":{"rules":[0,1,38],"inclusive":true}};
+return lexer;})()
+parser.lexer = lexer;
+function Parser () { this.yy = {}; }Parser.prototype = parser;parser.Parser = Parser;
+return new Parser;
+})();exports["default"] = handlebars;
+/* jshint ignore:end */</pre></td></tr>
+</table></pre>
+
+</div>
+<div class="footer">
+ <div class="meta">Generated by <a href="http://istanbul-js.org/" target="_blank">istanbul</a> at Mon Sep 01 2014 21:28:55 GMT-0500 (CDT)</div>
+</div>
+
+<script src="../../../../prettify.js"></script>
+
+<script src="https://yui-s.yahooapis.com/3.6.0/build/yui/yui-min.js"></script>
+<script>
+
+ YUI().use('datatable', function (Y) {
+
+ var formatters = {
+ pct: function (o) {
+ o.className += o.record.get('classes')[o.column.key];
+ try {
+ return o.value.toFixed(2) + '%';
+ } catch (ex) { return o.value + '%'; }
+ },
+ html: function (o) {
+ o.className += o.record.get('classes')[o.column.key];
+ return o.record.get(o.column.key + '_html');
+ }
+ },
+ defaultFormatter = function (o) {
+ o.className += o.record.get('classes')[o.column.key];
+ return o.value;
+ };
+
+ function getColumns(theadNode) {
+ var colNodes = theadNode.all('tr th'),
+ cols = [],
+ col;
+ colNodes.each(function (colNode) {
+ col = {
+ key: colNode.getAttribute('data-col'),
+ label: colNode.get('innerHTML') || ' ',
+ sortable: !colNode.getAttribute('data-nosort'),
+ className: colNode.getAttribute('class'),
+ type: colNode.getAttribute('data-type'),
+ allowHTML: colNode.getAttribute('data-html') === 'true' || colNode.getAttribute('data-fmt') === 'html'
+ };
+ col.formatter = formatters[colNode.getAttribute('data-fmt')] || defaultFormatter;
+ cols.push(col);
+ });
+ return cols;
+ }
+
+ function getRowData(trNode, cols) {
+ var tdNodes = trNode.all('td'),
+ i,
+ row = { classes: {} },
+ node,
+ name;
+ for (i = 0; i < cols.length; i += 1) {
+ name = cols[i].key;
+ node = tdNodes.item(i);
+ row[name] = node.getAttribute('data-value') || node.get('innerHTML');
+ row[name + '_html'] = node.get('innerHTML');
+ row.classes[name] = node.getAttribute('class');
+ //Y.log('Name: ' + name + '; Value: ' + row[name]);
+ if (cols[i].type === 'number') { row[name] = row[name] * 1; }
+ }
+ //Y.log(row);
+ return row;
+ }
+
+ function getData(tbodyNode, cols) {
+ var data = [];
+ tbodyNode.all('tr').each(function (trNode) {
+ data.push(getRowData(trNode, cols));
+ });
+ return data;
+ }
+
+ function replaceTable(node) {
+ if (!node) { return; }
+ var cols = getColumns(node.one('thead')),
+ data = getData(node.one('tbody'), cols),
+ table,
+ parent = node.get('parentNode');
+
+ table = new Y.DataTable({
+ columns: cols,
+ data: data,
+ sortBy: 'file'
+ });
+ parent.set('innerHTML', '');
+ table.render(parent);
+ }
+
+ Y.on('domready', function () {
+ replaceTable(Y.one('div.coverage-summary table'));
+ if (typeof prettyPrint === 'function') {
+ prettyPrint();
+ }
+ });
+ });
+</script>
+</body>
+</html>