11751 lines
464 KiB
HTML
11751 lines
464 KiB
HTML
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<title>Code coverage report for es6-shim.js</title>
|
||
<meta charset="utf-8" />
|
||
<link rel="stylesheet" href="prettify.css" />
|
||
<link rel="stylesheet" href="base.css" />
|
||
<meta name="viewport" content="width=device-width, initial-scale=1">
|
||
<style type='text/css'>
|
||
.coverage-summary .sorter {
|
||
background-image: url(sort-arrow-sprite.png);
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<div class='wrapper'>
|
||
<div class='pad1'>
|
||
<h1>
|
||
<a href="index.html">All files</a> es6-shim.js
|
||
</h1>
|
||
<div class='clearfix'>
|
||
<div class='fl pad1y space-right2'>
|
||
<span class="strong">30.13% </span>
|
||
<span class="quiet">Statements</span>
|
||
<span class='fraction'>674/2237</span>
|
||
</div>
|
||
<div class='fl pad1y space-right2'>
|
||
<span class="strong">24.73% </span>
|
||
<span class="quiet">Branches</span>
|
||
<span class='fraction'>344/1391</span>
|
||
</div>
|
||
<div class='fl pad1y space-right2'>
|
||
<span class="strong">30.77% </span>
|
||
<span class="quiet">Functions</span>
|
||
<span class='fraction'>116/377</span>
|
||
</div>
|
||
<div class='fl pad1y space-right2'>
|
||
<span class="strong">30.39% </span>
|
||
<span class="quiet">Lines</span>
|
||
<span class='fraction'>654/2152</span>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class='status-line low'></div>
|
||
<pre><table class="coverage">
|
||
<tr><td class="line-count quiet">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
|
||
501
|
||
502
|
||
503
|
||
504
|
||
505
|
||
506
|
||
507
|
||
508
|
||
509
|
||
510
|
||
511
|
||
512
|
||
513
|
||
514
|
||
515
|
||
516
|
||
517
|
||
518
|
||
519
|
||
520
|
||
521
|
||
522
|
||
523
|
||
524
|
||
525
|
||
526
|
||
527
|
||
528
|
||
529
|
||
530
|
||
531
|
||
532
|
||
533
|
||
534
|
||
535
|
||
536
|
||
537
|
||
538
|
||
539
|
||
540
|
||
541
|
||
542
|
||
543
|
||
544
|
||
545
|
||
546
|
||
547
|
||
548
|
||
549
|
||
550
|
||
551
|
||
552
|
||
553
|
||
554
|
||
555
|
||
556
|
||
557
|
||
558
|
||
559
|
||
560
|
||
561
|
||
562
|
||
563
|
||
564
|
||
565
|
||
566
|
||
567
|
||
568
|
||
569
|
||
570
|
||
571
|
||
572
|
||
573
|
||
574
|
||
575
|
||
576
|
||
577
|
||
578
|
||
579
|
||
580
|
||
581
|
||
582
|
||
583
|
||
584
|
||
585
|
||
586
|
||
587
|
||
588
|
||
589
|
||
590
|
||
591
|
||
592
|
||
593
|
||
594
|
||
595
|
||
596
|
||
597
|
||
598
|
||
599
|
||
600
|
||
601
|
||
602
|
||
603
|
||
604
|
||
605
|
||
606
|
||
607
|
||
608
|
||
609
|
||
610
|
||
611
|
||
612
|
||
613
|
||
614
|
||
615
|
||
616
|
||
617
|
||
618
|
||
619
|
||
620
|
||
621
|
||
622
|
||
623
|
||
624
|
||
625
|
||
626
|
||
627
|
||
628
|
||
629
|
||
630
|
||
631
|
||
632
|
||
633
|
||
634
|
||
635
|
||
636
|
||
637
|
||
638
|
||
639
|
||
640
|
||
641
|
||
642
|
||
643
|
||
644
|
||
645
|
||
646
|
||
647
|
||
648
|
||
649
|
||
650
|
||
651
|
||
652
|
||
653
|
||
654
|
||
655
|
||
656
|
||
657
|
||
658
|
||
659
|
||
660
|
||
661
|
||
662
|
||
663
|
||
664
|
||
665
|
||
666
|
||
667
|
||
668
|
||
669
|
||
670
|
||
671
|
||
672
|
||
673
|
||
674
|
||
675
|
||
676
|
||
677
|
||
678
|
||
679
|
||
680
|
||
681
|
||
682
|
||
683
|
||
684
|
||
685
|
||
686
|
||
687
|
||
688
|
||
689
|
||
690
|
||
691
|
||
692
|
||
693
|
||
694
|
||
695
|
||
696
|
||
697
|
||
698
|
||
699
|
||
700
|
||
701
|
||
702
|
||
703
|
||
704
|
||
705
|
||
706
|
||
707
|
||
708
|
||
709
|
||
710
|
||
711
|
||
712
|
||
713
|
||
714
|
||
715
|
||
716
|
||
717
|
||
718
|
||
719
|
||
720
|
||
721
|
||
722
|
||
723
|
||
724
|
||
725
|
||
726
|
||
727
|
||
728
|
||
729
|
||
730
|
||
731
|
||
732
|
||
733
|
||
734
|
||
735
|
||
736
|
||
737
|
||
738
|
||
739
|
||
740
|
||
741
|
||
742
|
||
743
|
||
744
|
||
745
|
||
746
|
||
747
|
||
748
|
||
749
|
||
750
|
||
751
|
||
752
|
||
753
|
||
754
|
||
755
|
||
756
|
||
757
|
||
758
|
||
759
|
||
760
|
||
761
|
||
762
|
||
763
|
||
764
|
||
765
|
||
766
|
||
767
|
||
768
|
||
769
|
||
770
|
||
771
|
||
772
|
||
773
|
||
774
|
||
775
|
||
776
|
||
777
|
||
778
|
||
779
|
||
780
|
||
781
|
||
782
|
||
783
|
||
784
|
||
785
|
||
786
|
||
787
|
||
788
|
||
789
|
||
790
|
||
791
|
||
792
|
||
793
|
||
794
|
||
795
|
||
796
|
||
797
|
||
798
|
||
799
|
||
800
|
||
801
|
||
802
|
||
803
|
||
804
|
||
805
|
||
806
|
||
807
|
||
808
|
||
809
|
||
810
|
||
811
|
||
812
|
||
813
|
||
814
|
||
815
|
||
816
|
||
817
|
||
818
|
||
819
|
||
820
|
||
821
|
||
822
|
||
823
|
||
824
|
||
825
|
||
826
|
||
827
|
||
828
|
||
829
|
||
830
|
||
831
|
||
832
|
||
833
|
||
834
|
||
835
|
||
836
|
||
837
|
||
838
|
||
839
|
||
840
|
||
841
|
||
842
|
||
843
|
||
844
|
||
845
|
||
846
|
||
847
|
||
848
|
||
849
|
||
850
|
||
851
|
||
852
|
||
853
|
||
854
|
||
855
|
||
856
|
||
857
|
||
858
|
||
859
|
||
860
|
||
861
|
||
862
|
||
863
|
||
864
|
||
865
|
||
866
|
||
867
|
||
868
|
||
869
|
||
870
|
||
871
|
||
872
|
||
873
|
||
874
|
||
875
|
||
876
|
||
877
|
||
878
|
||
879
|
||
880
|
||
881
|
||
882
|
||
883
|
||
884
|
||
885
|
||
886
|
||
887
|
||
888
|
||
889
|
||
890
|
||
891
|
||
892
|
||
893
|
||
894
|
||
895
|
||
896
|
||
897
|
||
898
|
||
899
|
||
900
|
||
901
|
||
902
|
||
903
|
||
904
|
||
905
|
||
906
|
||
907
|
||
908
|
||
909
|
||
910
|
||
911
|
||
912
|
||
913
|
||
914
|
||
915
|
||
916
|
||
917
|
||
918
|
||
919
|
||
920
|
||
921
|
||
922
|
||
923
|
||
924
|
||
925
|
||
926
|
||
927
|
||
928
|
||
929
|
||
930
|
||
931
|
||
932
|
||
933
|
||
934
|
||
935
|
||
936
|
||
937
|
||
938
|
||
939
|
||
940
|
||
941
|
||
942
|
||
943
|
||
944
|
||
945
|
||
946
|
||
947
|
||
948
|
||
949
|
||
950
|
||
951
|
||
952
|
||
953
|
||
954
|
||
955
|
||
956
|
||
957
|
||
958
|
||
959
|
||
960
|
||
961
|
||
962
|
||
963
|
||
964
|
||
965
|
||
966
|
||
967
|
||
968
|
||
969
|
||
970
|
||
971
|
||
972
|
||
973
|
||
974
|
||
975
|
||
976
|
||
977
|
||
978
|
||
979
|
||
980
|
||
981
|
||
982
|
||
983
|
||
984
|
||
985
|
||
986
|
||
987
|
||
988
|
||
989
|
||
990
|
||
991
|
||
992
|
||
993
|
||
994
|
||
995
|
||
996
|
||
997
|
||
998
|
||
999
|
||
1000
|
||
1001
|
||
1002
|
||
1003
|
||
1004
|
||
1005
|
||
1006
|
||
1007
|
||
1008
|
||
1009
|
||
1010
|
||
1011
|
||
1012
|
||
1013
|
||
1014
|
||
1015
|
||
1016
|
||
1017
|
||
1018
|
||
1019
|
||
1020
|
||
1021
|
||
1022
|
||
1023
|
||
1024
|
||
1025
|
||
1026
|
||
1027
|
||
1028
|
||
1029
|
||
1030
|
||
1031
|
||
1032
|
||
1033
|
||
1034
|
||
1035
|
||
1036
|
||
1037
|
||
1038
|
||
1039
|
||
1040
|
||
1041
|
||
1042
|
||
1043
|
||
1044
|
||
1045
|
||
1046
|
||
1047
|
||
1048
|
||
1049
|
||
1050
|
||
1051
|
||
1052
|
||
1053
|
||
1054
|
||
1055
|
||
1056
|
||
1057
|
||
1058
|
||
1059
|
||
1060
|
||
1061
|
||
1062
|
||
1063
|
||
1064
|
||
1065
|
||
1066
|
||
1067
|
||
1068
|
||
1069
|
||
1070
|
||
1071
|
||
1072
|
||
1073
|
||
1074
|
||
1075
|
||
1076
|
||
1077
|
||
1078
|
||
1079
|
||
1080
|
||
1081
|
||
1082
|
||
1083
|
||
1084
|
||
1085
|
||
1086
|
||
1087
|
||
1088
|
||
1089
|
||
1090
|
||
1091
|
||
1092
|
||
1093
|
||
1094
|
||
1095
|
||
1096
|
||
1097
|
||
1098
|
||
1099
|
||
1100
|
||
1101
|
||
1102
|
||
1103
|
||
1104
|
||
1105
|
||
1106
|
||
1107
|
||
1108
|
||
1109
|
||
1110
|
||
1111
|
||
1112
|
||
1113
|
||
1114
|
||
1115
|
||
1116
|
||
1117
|
||
1118
|
||
1119
|
||
1120
|
||
1121
|
||
1122
|
||
1123
|
||
1124
|
||
1125
|
||
1126
|
||
1127
|
||
1128
|
||
1129
|
||
1130
|
||
1131
|
||
1132
|
||
1133
|
||
1134
|
||
1135
|
||
1136
|
||
1137
|
||
1138
|
||
1139
|
||
1140
|
||
1141
|
||
1142
|
||
1143
|
||
1144
|
||
1145
|
||
1146
|
||
1147
|
||
1148
|
||
1149
|
||
1150
|
||
1151
|
||
1152
|
||
1153
|
||
1154
|
||
1155
|
||
1156
|
||
1157
|
||
1158
|
||
1159
|
||
1160
|
||
1161
|
||
1162
|
||
1163
|
||
1164
|
||
1165
|
||
1166
|
||
1167
|
||
1168
|
||
1169
|
||
1170
|
||
1171
|
||
1172
|
||
1173
|
||
1174
|
||
1175
|
||
1176
|
||
1177
|
||
1178
|
||
1179
|
||
1180
|
||
1181
|
||
1182
|
||
1183
|
||
1184
|
||
1185
|
||
1186
|
||
1187
|
||
1188
|
||
1189
|
||
1190
|
||
1191
|
||
1192
|
||
1193
|
||
1194
|
||
1195
|
||
1196
|
||
1197
|
||
1198
|
||
1199
|
||
1200
|
||
1201
|
||
1202
|
||
1203
|
||
1204
|
||
1205
|
||
1206
|
||
1207
|
||
1208
|
||
1209
|
||
1210
|
||
1211
|
||
1212
|
||
1213
|
||
1214
|
||
1215
|
||
1216
|
||
1217
|
||
1218
|
||
1219
|
||
1220
|
||
1221
|
||
1222
|
||
1223
|
||
1224
|
||
1225
|
||
1226
|
||
1227
|
||
1228
|
||
1229
|
||
1230
|
||
1231
|
||
1232
|
||
1233
|
||
1234
|
||
1235
|
||
1236
|
||
1237
|
||
1238
|
||
1239
|
||
1240
|
||
1241
|
||
1242
|
||
1243
|
||
1244
|
||
1245
|
||
1246
|
||
1247
|
||
1248
|
||
1249
|
||
1250
|
||
1251
|
||
1252
|
||
1253
|
||
1254
|
||
1255
|
||
1256
|
||
1257
|
||
1258
|
||
1259
|
||
1260
|
||
1261
|
||
1262
|
||
1263
|
||
1264
|
||
1265
|
||
1266
|
||
1267
|
||
1268
|
||
1269
|
||
1270
|
||
1271
|
||
1272
|
||
1273
|
||
1274
|
||
1275
|
||
1276
|
||
1277
|
||
1278
|
||
1279
|
||
1280
|
||
1281
|
||
1282
|
||
1283
|
||
1284
|
||
1285
|
||
1286
|
||
1287
|
||
1288
|
||
1289
|
||
1290
|
||
1291
|
||
1292
|
||
1293
|
||
1294
|
||
1295
|
||
1296
|
||
1297
|
||
1298
|
||
1299
|
||
1300
|
||
1301
|
||
1302
|
||
1303
|
||
1304
|
||
1305
|
||
1306
|
||
1307
|
||
1308
|
||
1309
|
||
1310
|
||
1311
|
||
1312
|
||
1313
|
||
1314
|
||
1315
|
||
1316
|
||
1317
|
||
1318
|
||
1319
|
||
1320
|
||
1321
|
||
1322
|
||
1323
|
||
1324
|
||
1325
|
||
1326
|
||
1327
|
||
1328
|
||
1329
|
||
1330
|
||
1331
|
||
1332
|
||
1333
|
||
1334
|
||
1335
|
||
1336
|
||
1337
|
||
1338
|
||
1339
|
||
1340
|
||
1341
|
||
1342
|
||
1343
|
||
1344
|
||
1345
|
||
1346
|
||
1347
|
||
1348
|
||
1349
|
||
1350
|
||
1351
|
||
1352
|
||
1353
|
||
1354
|
||
1355
|
||
1356
|
||
1357
|
||
1358
|
||
1359
|
||
1360
|
||
1361
|
||
1362
|
||
1363
|
||
1364
|
||
1365
|
||
1366
|
||
1367
|
||
1368
|
||
1369
|
||
1370
|
||
1371
|
||
1372
|
||
1373
|
||
1374
|
||
1375
|
||
1376
|
||
1377
|
||
1378
|
||
1379
|
||
1380
|
||
1381
|
||
1382
|
||
1383
|
||
1384
|
||
1385
|
||
1386
|
||
1387
|
||
1388
|
||
1389
|
||
1390
|
||
1391
|
||
1392
|
||
1393
|
||
1394
|
||
1395
|
||
1396
|
||
1397
|
||
1398
|
||
1399
|
||
1400
|
||
1401
|
||
1402
|
||
1403
|
||
1404
|
||
1405
|
||
1406
|
||
1407
|
||
1408
|
||
1409
|
||
1410
|
||
1411
|
||
1412
|
||
1413
|
||
1414
|
||
1415
|
||
1416
|
||
1417
|
||
1418
|
||
1419
|
||
1420
|
||
1421
|
||
1422
|
||
1423
|
||
1424
|
||
1425
|
||
1426
|
||
1427
|
||
1428
|
||
1429
|
||
1430
|
||
1431
|
||
1432
|
||
1433
|
||
1434
|
||
1435
|
||
1436
|
||
1437
|
||
1438
|
||
1439
|
||
1440
|
||
1441
|
||
1442
|
||
1443
|
||
1444
|
||
1445
|
||
1446
|
||
1447
|
||
1448
|
||
1449
|
||
1450
|
||
1451
|
||
1452
|
||
1453
|
||
1454
|
||
1455
|
||
1456
|
||
1457
|
||
1458
|
||
1459
|
||
1460
|
||
1461
|
||
1462
|
||
1463
|
||
1464
|
||
1465
|
||
1466
|
||
1467
|
||
1468
|
||
1469
|
||
1470
|
||
1471
|
||
1472
|
||
1473
|
||
1474
|
||
1475
|
||
1476
|
||
1477
|
||
1478
|
||
1479
|
||
1480
|
||
1481
|
||
1482
|
||
1483
|
||
1484
|
||
1485
|
||
1486
|
||
1487
|
||
1488
|
||
1489
|
||
1490
|
||
1491
|
||
1492
|
||
1493
|
||
1494
|
||
1495
|
||
1496
|
||
1497
|
||
1498
|
||
1499
|
||
1500
|
||
1501
|
||
1502
|
||
1503
|
||
1504
|
||
1505
|
||
1506
|
||
1507
|
||
1508
|
||
1509
|
||
1510
|
||
1511
|
||
1512
|
||
1513
|
||
1514
|
||
1515
|
||
1516
|
||
1517
|
||
1518
|
||
1519
|
||
1520
|
||
1521
|
||
1522
|
||
1523
|
||
1524
|
||
1525
|
||
1526
|
||
1527
|
||
1528
|
||
1529
|
||
1530
|
||
1531
|
||
1532
|
||
1533
|
||
1534
|
||
1535
|
||
1536
|
||
1537
|
||
1538
|
||
1539
|
||
1540
|
||
1541
|
||
1542
|
||
1543
|
||
1544
|
||
1545
|
||
1546
|
||
1547
|
||
1548
|
||
1549
|
||
1550
|
||
1551
|
||
1552
|
||
1553
|
||
1554
|
||
1555
|
||
1556
|
||
1557
|
||
1558
|
||
1559
|
||
1560
|
||
1561
|
||
1562
|
||
1563
|
||
1564
|
||
1565
|
||
1566
|
||
1567
|
||
1568
|
||
1569
|
||
1570
|
||
1571
|
||
1572
|
||
1573
|
||
1574
|
||
1575
|
||
1576
|
||
1577
|
||
1578
|
||
1579
|
||
1580
|
||
1581
|
||
1582
|
||
1583
|
||
1584
|
||
1585
|
||
1586
|
||
1587
|
||
1588
|
||
1589
|
||
1590
|
||
1591
|
||
1592
|
||
1593
|
||
1594
|
||
1595
|
||
1596
|
||
1597
|
||
1598
|
||
1599
|
||
1600
|
||
1601
|
||
1602
|
||
1603
|
||
1604
|
||
1605
|
||
1606
|
||
1607
|
||
1608
|
||
1609
|
||
1610
|
||
1611
|
||
1612
|
||
1613
|
||
1614
|
||
1615
|
||
1616
|
||
1617
|
||
1618
|
||
1619
|
||
1620
|
||
1621
|
||
1622
|
||
1623
|
||
1624
|
||
1625
|
||
1626
|
||
1627
|
||
1628
|
||
1629
|
||
1630
|
||
1631
|
||
1632
|
||
1633
|
||
1634
|
||
1635
|
||
1636
|
||
1637
|
||
1638
|
||
1639
|
||
1640
|
||
1641
|
||
1642
|
||
1643
|
||
1644
|
||
1645
|
||
1646
|
||
1647
|
||
1648
|
||
1649
|
||
1650
|
||
1651
|
||
1652
|
||
1653
|
||
1654
|
||
1655
|
||
1656
|
||
1657
|
||
1658
|
||
1659
|
||
1660
|
||
1661
|
||
1662
|
||
1663
|
||
1664
|
||
1665
|
||
1666
|
||
1667
|
||
1668
|
||
1669
|
||
1670
|
||
1671
|
||
1672
|
||
1673
|
||
1674
|
||
1675
|
||
1676
|
||
1677
|
||
1678
|
||
1679
|
||
1680
|
||
1681
|
||
1682
|
||
1683
|
||
1684
|
||
1685
|
||
1686
|
||
1687
|
||
1688
|
||
1689
|
||
1690
|
||
1691
|
||
1692
|
||
1693
|
||
1694
|
||
1695
|
||
1696
|
||
1697
|
||
1698
|
||
1699
|
||
1700
|
||
1701
|
||
1702
|
||
1703
|
||
1704
|
||
1705
|
||
1706
|
||
1707
|
||
1708
|
||
1709
|
||
1710
|
||
1711
|
||
1712
|
||
1713
|
||
1714
|
||
1715
|
||
1716
|
||
1717
|
||
1718
|
||
1719
|
||
1720
|
||
1721
|
||
1722
|
||
1723
|
||
1724
|
||
1725
|
||
1726
|
||
1727
|
||
1728
|
||
1729
|
||
1730
|
||
1731
|
||
1732
|
||
1733
|
||
1734
|
||
1735
|
||
1736
|
||
1737
|
||
1738
|
||
1739
|
||
1740
|
||
1741
|
||
1742
|
||
1743
|
||
1744
|
||
1745
|
||
1746
|
||
1747
|
||
1748
|
||
1749
|
||
1750
|
||
1751
|
||
1752
|
||
1753
|
||
1754
|
||
1755
|
||
1756
|
||
1757
|
||
1758
|
||
1759
|
||
1760
|
||
1761
|
||
1762
|
||
1763
|
||
1764
|
||
1765
|
||
1766
|
||
1767
|
||
1768
|
||
1769
|
||
1770
|
||
1771
|
||
1772
|
||
1773
|
||
1774
|
||
1775
|
||
1776
|
||
1777
|
||
1778
|
||
1779
|
||
1780
|
||
1781
|
||
1782
|
||
1783
|
||
1784
|
||
1785
|
||
1786
|
||
1787
|
||
1788
|
||
1789
|
||
1790
|
||
1791
|
||
1792
|
||
1793
|
||
1794
|
||
1795
|
||
1796
|
||
1797
|
||
1798
|
||
1799
|
||
1800
|
||
1801
|
||
1802
|
||
1803
|
||
1804
|
||
1805
|
||
1806
|
||
1807
|
||
1808
|
||
1809
|
||
1810
|
||
1811
|
||
1812
|
||
1813
|
||
1814
|
||
1815
|
||
1816
|
||
1817
|
||
1818
|
||
1819
|
||
1820
|
||
1821
|
||
1822
|
||
1823
|
||
1824
|
||
1825
|
||
1826
|
||
1827
|
||
1828
|
||
1829
|
||
1830
|
||
1831
|
||
1832
|
||
1833
|
||
1834
|
||
1835
|
||
1836
|
||
1837
|
||
1838
|
||
1839
|
||
1840
|
||
1841
|
||
1842
|
||
1843
|
||
1844
|
||
1845
|
||
1846
|
||
1847
|
||
1848
|
||
1849
|
||
1850
|
||
1851
|
||
1852
|
||
1853
|
||
1854
|
||
1855
|
||
1856
|
||
1857
|
||
1858
|
||
1859
|
||
1860
|
||
1861
|
||
1862
|
||
1863
|
||
1864
|
||
1865
|
||
1866
|
||
1867
|
||
1868
|
||
1869
|
||
1870
|
||
1871
|
||
1872
|
||
1873
|
||
1874
|
||
1875
|
||
1876
|
||
1877
|
||
1878
|
||
1879
|
||
1880
|
||
1881
|
||
1882
|
||
1883
|
||
1884
|
||
1885
|
||
1886
|
||
1887
|
||
1888
|
||
1889
|
||
1890
|
||
1891
|
||
1892
|
||
1893
|
||
1894
|
||
1895
|
||
1896
|
||
1897
|
||
1898
|
||
1899
|
||
1900
|
||
1901
|
||
1902
|
||
1903
|
||
1904
|
||
1905
|
||
1906
|
||
1907
|
||
1908
|
||
1909
|
||
1910
|
||
1911
|
||
1912
|
||
1913
|
||
1914
|
||
1915
|
||
1916
|
||
1917
|
||
1918
|
||
1919
|
||
1920
|
||
1921
|
||
1922
|
||
1923
|
||
1924
|
||
1925
|
||
1926
|
||
1927
|
||
1928
|
||
1929
|
||
1930
|
||
1931
|
||
1932
|
||
1933
|
||
1934
|
||
1935
|
||
1936
|
||
1937
|
||
1938
|
||
1939
|
||
1940
|
||
1941
|
||
1942
|
||
1943
|
||
1944
|
||
1945
|
||
1946
|
||
1947
|
||
1948
|
||
1949
|
||
1950
|
||
1951
|
||
1952
|
||
1953
|
||
1954
|
||
1955
|
||
1956
|
||
1957
|
||
1958
|
||
1959
|
||
1960
|
||
1961
|
||
1962
|
||
1963
|
||
1964
|
||
1965
|
||
1966
|
||
1967
|
||
1968
|
||
1969
|
||
1970
|
||
1971
|
||
1972
|
||
1973
|
||
1974
|
||
1975
|
||
1976
|
||
1977
|
||
1978
|
||
1979
|
||
1980
|
||
1981
|
||
1982
|
||
1983
|
||
1984
|
||
1985
|
||
1986
|
||
1987
|
||
1988
|
||
1989
|
||
1990
|
||
1991
|
||
1992
|
||
1993
|
||
1994
|
||
1995
|
||
1996
|
||
1997
|
||
1998
|
||
1999
|
||
2000
|
||
2001
|
||
2002
|
||
2003
|
||
2004
|
||
2005
|
||
2006
|
||
2007
|
||
2008
|
||
2009
|
||
2010
|
||
2011
|
||
2012
|
||
2013
|
||
2014
|
||
2015
|
||
2016
|
||
2017
|
||
2018
|
||
2019
|
||
2020
|
||
2021
|
||
2022
|
||
2023
|
||
2024
|
||
2025
|
||
2026
|
||
2027
|
||
2028
|
||
2029
|
||
2030
|
||
2031
|
||
2032
|
||
2033
|
||
2034
|
||
2035
|
||
2036
|
||
2037
|
||
2038
|
||
2039
|
||
2040
|
||
2041
|
||
2042
|
||
2043
|
||
2044
|
||
2045
|
||
2046
|
||
2047
|
||
2048
|
||
2049
|
||
2050
|
||
2051
|
||
2052
|
||
2053
|
||
2054
|
||
2055
|
||
2056
|
||
2057
|
||
2058
|
||
2059
|
||
2060
|
||
2061
|
||
2062
|
||
2063
|
||
2064
|
||
2065
|
||
2066
|
||
2067
|
||
2068
|
||
2069
|
||
2070
|
||
2071
|
||
2072
|
||
2073
|
||
2074
|
||
2075
|
||
2076
|
||
2077
|
||
2078
|
||
2079
|
||
2080
|
||
2081
|
||
2082
|
||
2083
|
||
2084
|
||
2085
|
||
2086
|
||
2087
|
||
2088
|
||
2089
|
||
2090
|
||
2091
|
||
2092
|
||
2093
|
||
2094
|
||
2095
|
||
2096
|
||
2097
|
||
2098
|
||
2099
|
||
2100
|
||
2101
|
||
2102
|
||
2103
|
||
2104
|
||
2105
|
||
2106
|
||
2107
|
||
2108
|
||
2109
|
||
2110
|
||
2111
|
||
2112
|
||
2113
|
||
2114
|
||
2115
|
||
2116
|
||
2117
|
||
2118
|
||
2119
|
||
2120
|
||
2121
|
||
2122
|
||
2123
|
||
2124
|
||
2125
|
||
2126
|
||
2127
|
||
2128
|
||
2129
|
||
2130
|
||
2131
|
||
2132
|
||
2133
|
||
2134
|
||
2135
|
||
2136
|
||
2137
|
||
2138
|
||
2139
|
||
2140
|
||
2141
|
||
2142
|
||
2143
|
||
2144
|
||
2145
|
||
2146
|
||
2147
|
||
2148
|
||
2149
|
||
2150
|
||
2151
|
||
2152
|
||
2153
|
||
2154
|
||
2155
|
||
2156
|
||
2157
|
||
2158
|
||
2159
|
||
2160
|
||
2161
|
||
2162
|
||
2163
|
||
2164
|
||
2165
|
||
2166
|
||
2167
|
||
2168
|
||
2169
|
||
2170
|
||
2171
|
||
2172
|
||
2173
|
||
2174
|
||
2175
|
||
2176
|
||
2177
|
||
2178
|
||
2179
|
||
2180
|
||
2181
|
||
2182
|
||
2183
|
||
2184
|
||
2185
|
||
2186
|
||
2187
|
||
2188
|
||
2189
|
||
2190
|
||
2191
|
||
2192
|
||
2193
|
||
2194
|
||
2195
|
||
2196
|
||
2197
|
||
2198
|
||
2199
|
||
2200
|
||
2201
|
||
2202
|
||
2203
|
||
2204
|
||
2205
|
||
2206
|
||
2207
|
||
2208
|
||
2209
|
||
2210
|
||
2211
|
||
2212
|
||
2213
|
||
2214
|
||
2215
|
||
2216
|
||
2217
|
||
2218
|
||
2219
|
||
2220
|
||
2221
|
||
2222
|
||
2223
|
||
2224
|
||
2225
|
||
2226
|
||
2227
|
||
2228
|
||
2229
|
||
2230
|
||
2231
|
||
2232
|
||
2233
|
||
2234
|
||
2235
|
||
2236
|
||
2237
|
||
2238
|
||
2239
|
||
2240
|
||
2241
|
||
2242
|
||
2243
|
||
2244
|
||
2245
|
||
2246
|
||
2247
|
||
2248
|
||
2249
|
||
2250
|
||
2251
|
||
2252
|
||
2253
|
||
2254
|
||
2255
|
||
2256
|
||
2257
|
||
2258
|
||
2259
|
||
2260
|
||
2261
|
||
2262
|
||
2263
|
||
2264
|
||
2265
|
||
2266
|
||
2267
|
||
2268
|
||
2269
|
||
2270
|
||
2271
|
||
2272
|
||
2273
|
||
2274
|
||
2275
|
||
2276
|
||
2277
|
||
2278
|
||
2279
|
||
2280
|
||
2281
|
||
2282
|
||
2283
|
||
2284
|
||
2285
|
||
2286
|
||
2287
|
||
2288
|
||
2289
|
||
2290
|
||
2291
|
||
2292
|
||
2293
|
||
2294
|
||
2295
|
||
2296
|
||
2297
|
||
2298
|
||
2299
|
||
2300
|
||
2301
|
||
2302
|
||
2303
|
||
2304
|
||
2305
|
||
2306
|
||
2307
|
||
2308
|
||
2309
|
||
2310
|
||
2311
|
||
2312
|
||
2313
|
||
2314
|
||
2315
|
||
2316
|
||
2317
|
||
2318
|
||
2319
|
||
2320
|
||
2321
|
||
2322
|
||
2323
|
||
2324
|
||
2325
|
||
2326
|
||
2327
|
||
2328
|
||
2329
|
||
2330
|
||
2331
|
||
2332
|
||
2333
|
||
2334
|
||
2335
|
||
2336
|
||
2337
|
||
2338
|
||
2339
|
||
2340
|
||
2341
|
||
2342
|
||
2343
|
||
2344
|
||
2345
|
||
2346
|
||
2347
|
||
2348
|
||
2349
|
||
2350
|
||
2351
|
||
2352
|
||
2353
|
||
2354
|
||
2355
|
||
2356
|
||
2357
|
||
2358
|
||
2359
|
||
2360
|
||
2361
|
||
2362
|
||
2363
|
||
2364
|
||
2365
|
||
2366
|
||
2367
|
||
2368
|
||
2369
|
||
2370
|
||
2371
|
||
2372
|
||
2373
|
||
2374
|
||
2375
|
||
2376
|
||
2377
|
||
2378
|
||
2379
|
||
2380
|
||
2381
|
||
2382
|
||
2383
|
||
2384
|
||
2385
|
||
2386
|
||
2387
|
||
2388
|
||
2389
|
||
2390
|
||
2391
|
||
2392
|
||
2393
|
||
2394
|
||
2395
|
||
2396
|
||
2397
|
||
2398
|
||
2399
|
||
2400
|
||
2401
|
||
2402
|
||
2403
|
||
2404
|
||
2405
|
||
2406
|
||
2407
|
||
2408
|
||
2409
|
||
2410
|
||
2411
|
||
2412
|
||
2413
|
||
2414
|
||
2415
|
||
2416
|
||
2417
|
||
2418
|
||
2419
|
||
2420
|
||
2421
|
||
2422
|
||
2423
|
||
2424
|
||
2425
|
||
2426
|
||
2427
|
||
2428
|
||
2429
|
||
2430
|
||
2431
|
||
2432
|
||
2433
|
||
2434
|
||
2435
|
||
2436
|
||
2437
|
||
2438
|
||
2439
|
||
2440
|
||
2441
|
||
2442
|
||
2443
|
||
2444
|
||
2445
|
||
2446
|
||
2447
|
||
2448
|
||
2449
|
||
2450
|
||
2451
|
||
2452
|
||
2453
|
||
2454
|
||
2455
|
||
2456
|
||
2457
|
||
2458
|
||
2459
|
||
2460
|
||
2461
|
||
2462
|
||
2463
|
||
2464
|
||
2465
|
||
2466
|
||
2467
|
||
2468
|
||
2469
|
||
2470
|
||
2471
|
||
2472
|
||
2473
|
||
2474
|
||
2475
|
||
2476
|
||
2477
|
||
2478
|
||
2479
|
||
2480
|
||
2481
|
||
2482
|
||
2483
|
||
2484
|
||
2485
|
||
2486
|
||
2487
|
||
2488
|
||
2489
|
||
2490
|
||
2491
|
||
2492
|
||
2493
|
||
2494
|
||
2495
|
||
2496
|
||
2497
|
||
2498
|
||
2499
|
||
2500
|
||
2501
|
||
2502
|
||
2503
|
||
2504
|
||
2505
|
||
2506
|
||
2507
|
||
2508
|
||
2509
|
||
2510
|
||
2511
|
||
2512
|
||
2513
|
||
2514
|
||
2515
|
||
2516
|
||
2517
|
||
2518
|
||
2519
|
||
2520
|
||
2521
|
||
2522
|
||
2523
|
||
2524
|
||
2525
|
||
2526
|
||
2527
|
||
2528
|
||
2529
|
||
2530
|
||
2531
|
||
2532
|
||
2533
|
||
2534
|
||
2535
|
||
2536
|
||
2537
|
||
2538
|
||
2539
|
||
2540
|
||
2541
|
||
2542
|
||
2543
|
||
2544
|
||
2545
|
||
2546
|
||
2547
|
||
2548
|
||
2549
|
||
2550
|
||
2551
|
||
2552
|
||
2553
|
||
2554
|
||
2555
|
||
2556
|
||
2557
|
||
2558
|
||
2559
|
||
2560
|
||
2561
|
||
2562
|
||
2563
|
||
2564
|
||
2565
|
||
2566
|
||
2567
|
||
2568
|
||
2569
|
||
2570
|
||
2571
|
||
2572
|
||
2573
|
||
2574
|
||
2575
|
||
2576
|
||
2577
|
||
2578
|
||
2579
|
||
2580
|
||
2581
|
||
2582
|
||
2583
|
||
2584
|
||
2585
|
||
2586
|
||
2587
|
||
2588
|
||
2589
|
||
2590
|
||
2591
|
||
2592
|
||
2593
|
||
2594
|
||
2595
|
||
2596
|
||
2597
|
||
2598
|
||
2599
|
||
2600
|
||
2601
|
||
2602
|
||
2603
|
||
2604
|
||
2605
|
||
2606
|
||
2607
|
||
2608
|
||
2609
|
||
2610
|
||
2611
|
||
2612
|
||
2613
|
||
2614
|
||
2615
|
||
2616
|
||
2617
|
||
2618
|
||
2619
|
||
2620
|
||
2621
|
||
2622
|
||
2623
|
||
2624
|
||
2625
|
||
2626
|
||
2627
|
||
2628
|
||
2629
|
||
2630
|
||
2631
|
||
2632
|
||
2633
|
||
2634
|
||
2635
|
||
2636
|
||
2637
|
||
2638
|
||
2639
|
||
2640
|
||
2641
|
||
2642
|
||
2643
|
||
2644
|
||
2645
|
||
2646
|
||
2647
|
||
2648
|
||
2649
|
||
2650
|
||
2651
|
||
2652
|
||
2653
|
||
2654
|
||
2655
|
||
2656
|
||
2657
|
||
2658
|
||
2659
|
||
2660
|
||
2661
|
||
2662
|
||
2663
|
||
2664
|
||
2665
|
||
2666
|
||
2667
|
||
2668
|
||
2669
|
||
2670
|
||
2671
|
||
2672
|
||
2673
|
||
2674
|
||
2675
|
||
2676
|
||
2677
|
||
2678
|
||
2679
|
||
2680
|
||
2681
|
||
2682
|
||
2683
|
||
2684
|
||
2685
|
||
2686
|
||
2687
|
||
2688
|
||
2689
|
||
2690
|
||
2691
|
||
2692
|
||
2693
|
||
2694
|
||
2695
|
||
2696
|
||
2697
|
||
2698
|
||
2699
|
||
2700
|
||
2701
|
||
2702
|
||
2703
|
||
2704
|
||
2705
|
||
2706
|
||
2707
|
||
2708
|
||
2709
|
||
2710
|
||
2711
|
||
2712
|
||
2713
|
||
2714
|
||
2715
|
||
2716
|
||
2717
|
||
2718
|
||
2719
|
||
2720
|
||
2721
|
||
2722
|
||
2723
|
||
2724
|
||
2725
|
||
2726
|
||
2727
|
||
2728
|
||
2729
|
||
2730
|
||
2731
|
||
2732
|
||
2733
|
||
2734
|
||
2735
|
||
2736
|
||
2737
|
||
2738
|
||
2739
|
||
2740
|
||
2741
|
||
2742
|
||
2743
|
||
2744
|
||
2745
|
||
2746
|
||
2747
|
||
2748
|
||
2749
|
||
2750
|
||
2751
|
||
2752
|
||
2753
|
||
2754
|
||
2755
|
||
2756
|
||
2757
|
||
2758
|
||
2759
|
||
2760
|
||
2761
|
||
2762
|
||
2763
|
||
2764
|
||
2765
|
||
2766
|
||
2767
|
||
2768
|
||
2769
|
||
2770
|
||
2771
|
||
2772
|
||
2773
|
||
2774
|
||
2775
|
||
2776
|
||
2777
|
||
2778
|
||
2779
|
||
2780
|
||
2781
|
||
2782
|
||
2783
|
||
2784
|
||
2785
|
||
2786
|
||
2787
|
||
2788
|
||
2789
|
||
2790
|
||
2791
|
||
2792
|
||
2793
|
||
2794
|
||
2795
|
||
2796
|
||
2797
|
||
2798
|
||
2799
|
||
2800
|
||
2801
|
||
2802
|
||
2803
|
||
2804
|
||
2805
|
||
2806
|
||
2807
|
||
2808
|
||
2809
|
||
2810
|
||
2811
|
||
2812
|
||
2813
|
||
2814
|
||
2815
|
||
2816
|
||
2817
|
||
2818
|
||
2819
|
||
2820
|
||
2821
|
||
2822
|
||
2823
|
||
2824
|
||
2825
|
||
2826
|
||
2827
|
||
2828
|
||
2829
|
||
2830
|
||
2831
|
||
2832
|
||
2833
|
||
2834
|
||
2835
|
||
2836
|
||
2837
|
||
2838
|
||
2839
|
||
2840
|
||
2841
|
||
2842
|
||
2843
|
||
2844
|
||
2845
|
||
2846
|
||
2847
|
||
2848
|
||
2849
|
||
2850
|
||
2851
|
||
2852
|
||
2853
|
||
2854
|
||
2855
|
||
2856
|
||
2857
|
||
2858
|
||
2859
|
||
2860
|
||
2861
|
||
2862
|
||
2863
|
||
2864
|
||
2865
|
||
2866
|
||
2867
|
||
2868
|
||
2869
|
||
2870
|
||
2871
|
||
2872
|
||
2873
|
||
2874
|
||
2875
|
||
2876
|
||
2877
|
||
2878
|
||
2879
|
||
2880
|
||
2881
|
||
2882
|
||
2883
|
||
2884
|
||
2885
|
||
2886
|
||
2887
|
||
2888
|
||
2889
|
||
2890
|
||
2891
|
||
2892
|
||
2893
|
||
2894
|
||
2895
|
||
2896
|
||
2897
|
||
2898
|
||
2899
|
||
2900
|
||
2901
|
||
2902
|
||
2903
|
||
2904
|
||
2905
|
||
2906
|
||
2907
|
||
2908
|
||
2909
|
||
2910
|
||
2911
|
||
2912
|
||
2913
|
||
2914
|
||
2915
|
||
2916
|
||
2917
|
||
2918
|
||
2919
|
||
2920
|
||
2921
|
||
2922
|
||
2923
|
||
2924
|
||
2925
|
||
2926
|
||
2927
|
||
2928
|
||
2929
|
||
2930
|
||
2931
|
||
2932
|
||
2933
|
||
2934
|
||
2935
|
||
2936
|
||
2937
|
||
2938
|
||
2939
|
||
2940
|
||
2941
|
||
2942
|
||
2943
|
||
2944
|
||
2945
|
||
2946
|
||
2947
|
||
2948
|
||
2949
|
||
2950
|
||
2951
|
||
2952
|
||
2953
|
||
2954
|
||
2955
|
||
2956
|
||
2957
|
||
2958
|
||
2959
|
||
2960
|
||
2961
|
||
2962
|
||
2963
|
||
2964
|
||
2965
|
||
2966
|
||
2967
|
||
2968
|
||
2969
|
||
2970
|
||
2971
|
||
2972
|
||
2973
|
||
2974
|
||
2975
|
||
2976
|
||
2977
|
||
2978
|
||
2979
|
||
2980
|
||
2981
|
||
2982
|
||
2983
|
||
2984
|
||
2985
|
||
2986
|
||
2987
|
||
2988
|
||
2989
|
||
2990
|
||
2991
|
||
2992
|
||
2993
|
||
2994
|
||
2995
|
||
2996
|
||
2997
|
||
2998
|
||
2999
|
||
3000
|
||
3001
|
||
3002
|
||
3003
|
||
3004
|
||
3005
|
||
3006
|
||
3007
|
||
3008
|
||
3009
|
||
3010
|
||
3011
|
||
3012
|
||
3013
|
||
3014
|
||
3015
|
||
3016
|
||
3017
|
||
3018
|
||
3019
|
||
3020
|
||
3021
|
||
3022
|
||
3023
|
||
3024
|
||
3025
|
||
3026
|
||
3027
|
||
3028
|
||
3029
|
||
3030
|
||
3031
|
||
3032
|
||
3033
|
||
3034
|
||
3035
|
||
3036
|
||
3037
|
||
3038
|
||
3039
|
||
3040
|
||
3041
|
||
3042
|
||
3043
|
||
3044
|
||
3045
|
||
3046
|
||
3047
|
||
3048
|
||
3049
|
||
3050
|
||
3051
|
||
3052
|
||
3053
|
||
3054
|
||
3055
|
||
3056
|
||
3057
|
||
3058
|
||
3059
|
||
3060
|
||
3061
|
||
3062
|
||
3063
|
||
3064
|
||
3065
|
||
3066
|
||
3067
|
||
3068
|
||
3069
|
||
3070
|
||
3071
|
||
3072
|
||
3073
|
||
3074
|
||
3075
|
||
3076
|
||
3077
|
||
3078
|
||
3079
|
||
3080
|
||
3081
|
||
3082
|
||
3083
|
||
3084
|
||
3085
|
||
3086
|
||
3087
|
||
3088
|
||
3089
|
||
3090
|
||
3091
|
||
3092
|
||
3093
|
||
3094
|
||
3095
|
||
3096
|
||
3097
|
||
3098
|
||
3099
|
||
3100
|
||
3101
|
||
3102
|
||
3103
|
||
3104
|
||
3105
|
||
3106
|
||
3107
|
||
3108
|
||
3109
|
||
3110
|
||
3111
|
||
3112
|
||
3113
|
||
3114
|
||
3115
|
||
3116
|
||
3117
|
||
3118
|
||
3119
|
||
3120
|
||
3121
|
||
3122
|
||
3123
|
||
3124
|
||
3125
|
||
3126
|
||
3127
|
||
3128
|
||
3129
|
||
3130
|
||
3131
|
||
3132
|
||
3133
|
||
3134
|
||
3135
|
||
3136
|
||
3137
|
||
3138
|
||
3139
|
||
3140
|
||
3141
|
||
3142
|
||
3143
|
||
3144
|
||
3145
|
||
3146
|
||
3147
|
||
3148
|
||
3149
|
||
3150
|
||
3151
|
||
3152
|
||
3153
|
||
3154
|
||
3155
|
||
3156
|
||
3157
|
||
3158
|
||
3159
|
||
3160
|
||
3161
|
||
3162
|
||
3163
|
||
3164
|
||
3165
|
||
3166
|
||
3167
|
||
3168
|
||
3169
|
||
3170
|
||
3171
|
||
3172
|
||
3173
|
||
3174
|
||
3175
|
||
3176
|
||
3177
|
||
3178
|
||
3179
|
||
3180
|
||
3181
|
||
3182
|
||
3183
|
||
3184
|
||
3185
|
||
3186
|
||
3187
|
||
3188
|
||
3189
|
||
3190
|
||
3191
|
||
3192
|
||
3193
|
||
3194
|
||
3195
|
||
3196
|
||
3197
|
||
3198
|
||
3199
|
||
3200
|
||
3201
|
||
3202
|
||
3203
|
||
3204
|
||
3205
|
||
3206
|
||
3207
|
||
3208
|
||
3209
|
||
3210
|
||
3211
|
||
3212
|
||
3213
|
||
3214
|
||
3215
|
||
3216
|
||
3217
|
||
3218
|
||
3219
|
||
3220
|
||
3221
|
||
3222
|
||
3223
|
||
3224
|
||
3225
|
||
3226
|
||
3227
|
||
3228
|
||
3229
|
||
3230
|
||
3231
|
||
3232
|
||
3233
|
||
3234
|
||
3235
|
||
3236
|
||
3237
|
||
3238
|
||
3239
|
||
3240
|
||
3241
|
||
3242
|
||
3243
|
||
3244
|
||
3245
|
||
3246
|
||
3247
|
||
3248
|
||
3249
|
||
3250
|
||
3251
|
||
3252
|
||
3253
|
||
3254
|
||
3255
|
||
3256
|
||
3257
|
||
3258
|
||
3259
|
||
3260
|
||
3261
|
||
3262
|
||
3263
|
||
3264
|
||
3265
|
||
3266
|
||
3267
|
||
3268
|
||
3269
|
||
3270
|
||
3271
|
||
3272
|
||
3273
|
||
3274
|
||
3275
|
||
3276
|
||
3277
|
||
3278
|
||
3279
|
||
3280
|
||
3281
|
||
3282
|
||
3283
|
||
3284
|
||
3285
|
||
3286
|
||
3287
|
||
3288
|
||
3289
|
||
3290
|
||
3291
|
||
3292
|
||
3293
|
||
3294
|
||
3295
|
||
3296
|
||
3297
|
||
3298
|
||
3299
|
||
3300
|
||
3301
|
||
3302
|
||
3303
|
||
3304
|
||
3305
|
||
3306
|
||
3307
|
||
3308
|
||
3309
|
||
3310
|
||
3311
|
||
3312
|
||
3313
|
||
3314
|
||
3315
|
||
3316
|
||
3317
|
||
3318
|
||
3319
|
||
3320
|
||
3321
|
||
3322
|
||
3323
|
||
3324
|
||
3325
|
||
3326
|
||
3327
|
||
3328
|
||
3329
|
||
3330
|
||
3331
|
||
3332
|
||
3333
|
||
3334
|
||
3335
|
||
3336
|
||
3337
|
||
3338
|
||
3339
|
||
3340
|
||
3341
|
||
3342
|
||
3343
|
||
3344
|
||
3345
|
||
3346
|
||
3347
|
||
3348
|
||
3349
|
||
3350
|
||
3351
|
||
3352
|
||
3353
|
||
3354
|
||
3355
|
||
3356
|
||
3357
|
||
3358
|
||
3359
|
||
3360
|
||
3361
|
||
3362
|
||
3363
|
||
3364
|
||
3365
|
||
3366
|
||
3367
|
||
3368
|
||
3369
|
||
3370
|
||
3371
|
||
3372
|
||
3373
|
||
3374
|
||
3375
|
||
3376
|
||
3377
|
||
3378
|
||
3379
|
||
3380
|
||
3381
|
||
3382
|
||
3383
|
||
3384
|
||
3385
|
||
3386
|
||
3387
|
||
3388
|
||
3389
|
||
3390
|
||
3391
|
||
3392
|
||
3393
|
||
3394
|
||
3395
|
||
3396
|
||
3397
|
||
3398
|
||
3399
|
||
3400
|
||
3401
|
||
3402
|
||
3403
|
||
3404
|
||
3405
|
||
3406
|
||
3407
|
||
3408
|
||
3409
|
||
3410
|
||
3411
|
||
3412
|
||
3413
|
||
3414
|
||
3415
|
||
3416
|
||
3417
|
||
3418
|
||
3419
|
||
3420
|
||
3421
|
||
3422
|
||
3423
|
||
3424
|
||
3425
|
||
3426
|
||
3427
|
||
3428
|
||
3429
|
||
3430
|
||
3431
|
||
3432
|
||
3433
|
||
3434
|
||
3435
|
||
3436
|
||
3437
|
||
3438
|
||
3439
|
||
3440
|
||
3441
|
||
3442
|
||
3443
|
||
3444
|
||
3445
|
||
3446
|
||
3447
|
||
3448
|
||
3449
|
||
3450
|
||
3451
|
||
3452
|
||
3453
|
||
3454
|
||
3455
|
||
3456
|
||
3457
|
||
3458
|
||
3459
|
||
3460
|
||
3461
|
||
3462
|
||
3463
|
||
3464
|
||
3465
|
||
3466
|
||
3467
|
||
3468
|
||
3469
|
||
3470
|
||
3471
|
||
3472
|
||
3473
|
||
3474
|
||
3475
|
||
3476
|
||
3477
|
||
3478
|
||
3479
|
||
3480
|
||
3481
|
||
3482
|
||
3483
|
||
3484
|
||
3485
|
||
3486
|
||
3487
|
||
3488
|
||
3489
|
||
3490
|
||
3491
|
||
3492
|
||
3493
|
||
3494
|
||
3495
|
||
3496
|
||
3497
|
||
3498
|
||
3499
|
||
3500
|
||
3501
|
||
3502
|
||
3503
|
||
3504
|
||
3505
|
||
3506
|
||
3507
|
||
3508
|
||
3509
|
||
3510
|
||
3511
|
||
3512
|
||
3513
|
||
3514
|
||
3515
|
||
3516
|
||
3517
|
||
3518
|
||
3519
|
||
3520
|
||
3521
|
||
3522
|
||
3523
|
||
3524
|
||
3525
|
||
3526
|
||
3527
|
||
3528
|
||
3529
|
||
3530
|
||
3531
|
||
3532
|
||
3533
|
||
3534
|
||
3535
|
||
3536
|
||
3537
|
||
3538
|
||
3539
|
||
3540
|
||
3541
|
||
3542
|
||
3543
|
||
3544
|
||
3545
|
||
3546
|
||
3547
|
||
3548
|
||
3549
|
||
3550
|
||
3551
|
||
3552
|
||
3553
|
||
3554
|
||
3555
|
||
3556
|
||
3557
|
||
3558
|
||
3559
|
||
3560
|
||
3561
|
||
3562
|
||
3563
|
||
3564
|
||
3565
|
||
3566
|
||
3567
|
||
3568
|
||
3569
|
||
3570
|
||
3571
|
||
3572
|
||
3573
|
||
3574
|
||
3575
|
||
3576
|
||
3577
|
||
3578
|
||
3579
|
||
3580
|
||
3581
|
||
3582
|
||
3583
|
||
3584
|
||
3585
|
||
3586
|
||
3587
|
||
3588
|
||
3589
|
||
3590
|
||
3591
|
||
3592
|
||
3593
|
||
3594
|
||
3595
|
||
3596
|
||
3597
|
||
3598
|
||
3599
|
||
3600
|
||
3601
|
||
3602
|
||
3603
|
||
3604
|
||
3605
|
||
3606
|
||
3607
|
||
3608
|
||
3609
|
||
3610
|
||
3611
|
||
3612
|
||
3613
|
||
3614
|
||
3615
|
||
3616
|
||
3617
|
||
3618
|
||
3619
|
||
3620
|
||
3621
|
||
3622
|
||
3623
|
||
3624
|
||
3625
|
||
3626
|
||
3627
|
||
3628
|
||
3629
|
||
3630
|
||
3631
|
||
3632
|
||
3633
|
||
3634
|
||
3635
|
||
3636
|
||
3637
|
||
3638
|
||
3639
|
||
3640
|
||
3641
|
||
3642
|
||
3643
|
||
3644
|
||
3645
|
||
3646
|
||
3647
|
||
3648
|
||
3649
|
||
3650
|
||
3651
|
||
3652
|
||
3653
|
||
3654
|
||
3655
|
||
3656
|
||
3657
|
||
3658
|
||
3659
|
||
3660
|
||
3661
|
||
3662
|
||
3663
|
||
3664
|
||
3665
|
||
3666
|
||
3667
|
||
3668
|
||
3669
|
||
3670
|
||
3671
|
||
3672
|
||
3673
|
||
3674
|
||
3675
|
||
3676
|
||
3677
|
||
3678
|
||
3679
|
||
3680
|
||
3681
|
||
3682
|
||
3683
|
||
3684
|
||
3685
|
||
3686
|
||
3687
|
||
3688
|
||
3689
|
||
3690
|
||
3691
|
||
3692
|
||
3693
|
||
3694
|
||
3695
|
||
3696
|
||
3697
|
||
3698
|
||
3699
|
||
3700
|
||
3701
|
||
3702
|
||
3703
|
||
3704
|
||
3705
|
||
3706
|
||
3707
|
||
3708
|
||
3709
|
||
3710
|
||
3711
|
||
3712
|
||
3713
|
||
3714
|
||
3715
|
||
3716
|
||
3717
|
||
3718
|
||
3719
|
||
3720
|
||
3721
|
||
3722
|
||
3723
|
||
3724
|
||
3725
|
||
3726
|
||
3727
|
||
3728
|
||
3729
|
||
3730
|
||
3731
|
||
3732
|
||
3733
|
||
3734
|
||
3735
|
||
3736
|
||
3737
|
||
3738
|
||
3739
|
||
3740
|
||
3741
|
||
3742
|
||
3743
|
||
3744
|
||
3745
|
||
3746
|
||
3747
|
||
3748
|
||
3749
|
||
3750
|
||
3751
|
||
3752
|
||
3753
|
||
3754
|
||
3755
|
||
3756
|
||
3757
|
||
3758
|
||
3759
|
||
3760
|
||
3761
|
||
3762
|
||
3763
|
||
3764
|
||
3765
|
||
3766
|
||
3767
|
||
3768
|
||
3769
|
||
3770
|
||
3771
|
||
3772
|
||
3773
|
||
3774
|
||
3775
|
||
3776
|
||
3777
|
||
3778
|
||
3779
|
||
3780
|
||
3781
|
||
3782
|
||
3783
|
||
3784
|
||
3785
|
||
3786
|
||
3787
|
||
3788
|
||
3789
|
||
3790
|
||
3791
|
||
3792
|
||
3793
|
||
3794
|
||
3795
|
||
3796
|
||
3797
|
||
3798
|
||
3799
|
||
3800
|
||
3801
|
||
3802
|
||
3803
|
||
3804
|
||
3805
|
||
3806
|
||
3807
|
||
3808
|
||
3809
|
||
3810
|
||
3811
|
||
3812
|
||
3813
|
||
3814
|
||
3815
|
||
3816
|
||
3817
|
||
3818
|
||
3819
|
||
3820
|
||
3821
|
||
3822
|
||
3823
|
||
3824
|
||
3825
|
||
3826
|
||
3827
|
||
3828
|
||
3829
|
||
3830
|
||
3831
|
||
3832
|
||
3833
|
||
3834
|
||
3835
|
||
3836
|
||
3837
|
||
3838
|
||
3839
|
||
3840
|
||
3841
|
||
3842
|
||
3843
|
||
3844
|
||
3845
|
||
3846
|
||
3847
|
||
3848
|
||
3849
|
||
3850
|
||
3851
|
||
3852
|
||
3853
|
||
3854
|
||
3855
|
||
3856
|
||
3857
|
||
3858
|
||
3859
|
||
3860
|
||
3861
|
||
3862
|
||
3863
|
||
3864
|
||
3865
|
||
3866
|
||
3867
|
||
3868
|
||
3869
|
||
3870
|
||
3871
|
||
3872
|
||
3873
|
||
3874
|
||
3875
|
||
3876
|
||
3877
|
||
3878
|
||
3879
|
||
3880
|
||
3881
|
||
3882
|
||
3883
|
||
3884
|
||
3885
|
||
3886
|
||
3887
|
||
3888
|
||
3889
|
||
3890
|
||
3891
|
||
3892
|
||
3893
|
||
3894
|
||
3895
|
||
3896</td><td class="line-coverage quiet"><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-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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">2x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">25x</span>
|
||
<span class="cline-any cline-yes">25x</span>
|
||
<span class="cline-any cline-yes">18x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">7x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">38x</span>
|
||
<span class="cline-any cline-yes">38x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">16x</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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">108x</span>
|
||
<span class="cline-any cline-yes">40x</span>
|
||
<span class="cline-any cline-yes">40x</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-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">15x</span>
|
||
<span class="cline-any cline-yes">71x</span>
|
||
<span class="cline-any cline-yes">71x</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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-yes">41x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">2x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">2x</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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">6x</span>
|
||
<span class="cline-any cline-yes">6x</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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">3x</span>
|
||
<span class="cline-any cline-yes">3x</span>
|
||
<span class="cline-any cline-yes">3x</span>
|
||
<span class="cline-any cline-yes">4x</span>
|
||
<span class="cline-any cline-yes">4x</span>
|
||
<span class="cline-any cline-yes">4x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">3x</span>
|
||
<span class="cline-any cline-yes">3x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">3x</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">1x</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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-yes">103x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">6x</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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</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">1x</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">1x</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">1x</span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">105x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">105x</span>
|
||
<span class="cline-any cline-yes">2x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">103x</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-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">15x</span>
|
||
<span class="cline-any cline-yes">3x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">12x</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-no"> </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">1x</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-no"> </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-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </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-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">5x</span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">11x</span>
|
||
<span class="cline-any cline-yes">11x</span>
|
||
<span class="cline-any cline-yes">11x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</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-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </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">1x</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">1x</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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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-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-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-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-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </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-no"> </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-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">7x</span>
|
||
<span class="cline-any cline-yes">7x</span>
|
||
<span class="cline-any cline-yes">7x</span>
|
||
<span class="cline-any cline-yes">7x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">7x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">3x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</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-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </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">1x</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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">4x</span>
|
||
<span class="cline-any cline-yes">4x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </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-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">1x</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">1x</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">1x</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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">105x</span>
|
||
<span class="cline-any cline-yes">103x</span>
|
||
<span class="cline-any cline-yes">99x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">4x</span>
|
||
<span class="cline-any cline-yes">4x</span>
|
||
<span class="cline-any cline-yes">4x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-yes">5x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </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-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">2x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</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">2x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">15x</span>
|
||
<span class="cline-any cline-yes">15x</span>
|
||
<span class="cline-any cline-yes">15x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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-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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-yes">2x</span>
|
||
<span class="cline-any cline-yes">8x</span>
|
||
<span class="cline-any cline-yes">8x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">2x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">603x</span>
|
||
<span class="cline-any cline-yes">603x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">736x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">485x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</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-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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-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-no"> </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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">13x</span>
|
||
<span class="cline-any cline-yes">5x</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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">8x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </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-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">13x</span>
|
||
<span class="cline-any cline-yes">8x</span>
|
||
<span class="cline-any cline-yes">8x</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-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">13x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">13x</span>
|
||
<span class="cline-any cline-yes">13x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">13x</span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-yes">13x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">13x</span>
|
||
<span class="cline-any cline-yes">13x</span>
|
||
<span class="cline-any cline-yes">13x</span>
|
||
<span class="cline-any cline-yes">13x</span>
|
||
<span class="cline-any cline-yes">13x</span>
|
||
<span class="cline-any cline-yes">13x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">13x</span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-yes">1x</span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-no"> </span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-no"> </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">1x</span>
|
||
<span class="cline-any cline-neutral"> </span>
|
||
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">/*!
|
||
* https://github.com/paulmillr/es6-shim
|
||
* @license es6-shim Copyright 2013-2016 by Paul Miller (http://paulmillr.com)
|
||
* and contributors, MIT License
|
||
* es6-shim: v0.35.4
|
||
* see https://github.com/paulmillr/es6-shim/blob/0.35.3/LICENSE
|
||
* Details and documentation:
|
||
* https://github.com/paulmillr/es6-shim/
|
||
*/
|
||
|
||
// UMD (Universal Module Definition)
|
||
// see https://github.com/umdjs/umd/blob/master/returnExports.js
|
||
(function (root, factory) {
|
||
/*global define */
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof define === 'function' && <span class="branch-1 cbranch-no" title="branch not covered" >define.amd)</span> {
|
||
// AMD. Register as an anonymous module.
|
||
<span class="cstat-no" title="statement not covered" > define(factory);</span>
|
||
} else <span class="missing-if-branch" title="else path not taken" >E</span>if (typeof exports === 'object') {
|
||
// Node. Does not work with strict CommonJS, but
|
||
// only CommonJS-like environments that support module.exports,
|
||
// like Node.
|
||
module.exports = factory();
|
||
} else {
|
||
// Browser globals (root is window)
|
||
<span class="cstat-no" title="statement not covered" > root.returnExports = factory();</span>
|
||
}
|
||
}(this, function () {
|
||
'use strict';
|
||
|
||
var _apply = Function.call.bind(Function.apply);
|
||
var _call = Function.call.bind(Function.call);
|
||
var isArray = Array.isArray;
|
||
var keys = Object.keys;
|
||
|
||
var not = function notThunker(func) {
|
||
return function notThunk() {
|
||
return !_apply(func, this, arguments);
|
||
};
|
||
};
|
||
var throwsError = function (func) {
|
||
try {
|
||
func();
|
||
return false;
|
||
} catch (e) {
|
||
return true;
|
||
}
|
||
};
|
||
var valueOrFalseIfThrows = function valueOrFalseIfThrows(func) {
|
||
try {
|
||
return func();
|
||
} catch (e) {
|
||
return false;
|
||
}
|
||
};
|
||
|
||
var isCallableWithoutNew = not(throwsError);
|
||
var arePropertyDescriptorsSupported = function () {
|
||
// if Object.defineProperty exists but throws, it's IE 8
|
||
return !throwsError(function () {
|
||
return Object.defineProperty({}, 'x', { get: <span class="fstat-no" title="function not covered" >fu</span>nction () { } }); // eslint-disable-line getter-return
|
||
});
|
||
};
|
||
var supportsDescriptors = !!Object.defineProperty && arePropertyDescriptorsSupported();
|
||
var functionsHaveNames = (function <span class="fstat-no" title="function not covered" >foo(</span>) {}).name === 'foo';
|
||
|
||
var _forEach = Function.call.bind(Array.prototype.forEach);
|
||
var _reduce = Function.call.bind(Array.prototype.reduce);
|
||
var _filter = Function.call.bind(Array.prototype.filter);
|
||
var _some = Function.call.bind(Array.prototype.some);
|
||
|
||
var defineProperty = function (object, name, value, force) {
|
||
if (!force && name in object) { return; }
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (supportsDescriptors) {
|
||
Object.defineProperty(object, name, {
|
||
configurable: true,
|
||
enumerable: false,
|
||
writable: true,
|
||
value: value
|
||
});
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > object[name] = value;</span>
|
||
}
|
||
};
|
||
|
||
// Define configurable, writable and non-enumerable props
|
||
// if they don’t exist.
|
||
var defineProperties = function (object, map, forceOverride) {
|
||
_forEach(keys(map), function (name) {
|
||
var method = map[name];
|
||
defineProperty(object, name, method, !!forceOverride);
|
||
});
|
||
};
|
||
|
||
var _toString = Function.call.bind(Object.prototype.toString);
|
||
var isCallable = typeof /abc/ === 'function' ? <span class="branch-0 cbranch-no" title="branch not covered" >function <span class="fstat-no" title="function not covered" >IsCallableSlow(</span>x) {</span>
|
||
// Some old browsers (IE, FF) say that typeof /abc/ === 'function'
|
||
<span class="cstat-no" title="statement not covered" > return typeof x === 'function' && _toString(x) === '[object Function]';</span>
|
||
} : function IsCallableFast(x) { return typeof x === 'function'; };
|
||
|
||
var Value = {
|
||
getter: function (object, name, getter) {
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!supportsDescriptors) {
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('getters require true ES5 support');</span>
|
||
}
|
||
Object.defineProperty(object, name, {
|
||
configurable: true,
|
||
enumerable: false,
|
||
get: getter
|
||
});
|
||
},
|
||
proxy: <span class="fstat-no" title="function not covered" >fu</span>nction (originalObject, key, targetObject) {
|
||
<span class="cstat-no" title="statement not covered" > if (!supportsDescriptors) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('getters require true ES5 support');</span>
|
||
}
|
||
var originalDescriptor = <span class="cstat-no" title="statement not covered" >Object.getOwnPropertyDescriptor(originalObject, key);</span>
|
||
<span class="cstat-no" title="statement not covered" > Object.defineProperty(targetObject, key, {</span>
|
||
configurable: originalDescriptor.configurable,
|
||
enumerable: originalDescriptor.enumerable,
|
||
get: function <span class="fstat-no" title="function not covered" >getKey(</span>) { <span class="cstat-no" title="statement not covered" >return originalObject[key]; </span>},
|
||
set: function <span class="fstat-no" title="function not covered" >setKey(</span>value) { <span class="cstat-no" title="statement not covered" >originalObject[key] = value; </span>}
|
||
});
|
||
},
|
||
redefine: <span class="fstat-no" title="function not covered" >fu</span>nction (object, property, newValue) {
|
||
<span class="cstat-no" title="statement not covered" > if (supportsDescriptors) {</span>
|
||
var descriptor = <span class="cstat-no" title="statement not covered" >Object.getOwnPropertyDescriptor(object, property);</span>
|
||
<span class="cstat-no" title="statement not covered" > descriptor.value = newValue;</span>
|
||
<span class="cstat-no" title="statement not covered" > Object.defineProperty(object, property, descriptor);</span>
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > object[property] = newValue;</span>
|
||
}
|
||
},
|
||
defineByDescriptor: <span class="fstat-no" title="function not covered" >fu</span>nction (object, property, descriptor) {
|
||
<span class="cstat-no" title="statement not covered" > if (supportsDescriptors) {</span>
|
||
<span class="cstat-no" title="statement not covered" > Object.defineProperty(object, property, descriptor);</span>
|
||
} else <span class="cstat-no" title="statement not covered" >if ('value' in descriptor) {</span>
|
||
<span class="cstat-no" title="statement not covered" > object[property] = descriptor.value;</span>
|
||
}
|
||
},
|
||
preserveToString: function (target, source) {
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (source && isCallable(source.toString)) {
|
||
defineProperty(target, 'toString', source.toString.bind(source), true);
|
||
}
|
||
}
|
||
};
|
||
|
||
// Simple shim for Object.create on ES3 browsers
|
||
// (unlike real shim, no attempt to support `prototype === null`)
|
||
var create = Object.create || <span class="fstat-no" title="function not covered" ><span class="branch-1 cbranch-no" title="branch not covered" >fu</span>nction (prototype, properties) {</span>
|
||
var Prototype = <span class="cstat-no" title="statement not covered" >function <span class="fstat-no" title="function not covered" >Prototype(</span>) {};</span>
|
||
<span class="cstat-no" title="statement not covered" > Prototype.prototype = prototype;</span>
|
||
var object = <span class="cstat-no" title="statement not covered" >new Prototype();</span>
|
||
<span class="cstat-no" title="statement not covered" > if (typeof properties !== 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > keys(properties).forEach(<span class="fstat-no" title="function not covered" >fu</span>nction (key) {</span>
|
||
<span class="cstat-no" title="statement not covered" > Value.defineByDescriptor(object, key, properties[key]);</span>
|
||
});
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return object;</span>
|
||
};
|
||
|
||
var supportsSubclassing = function (C, f) {
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Object.setPrototypeOf) { <span class="cstat-no" title="statement not covered" >return false; </span>/* skip test on IE < 11 */ }
|
||
return valueOrFalseIfThrows(function () {
|
||
var Sub = function Subclass(arg) {
|
||
var o = new C(arg);
|
||
Object.setPrototypeOf(o, Subclass.prototype);
|
||
return o;
|
||
};
|
||
Object.setPrototypeOf(Sub, C);
|
||
Sub.prototype = create(C.prototype, {
|
||
constructor: { value: Sub }
|
||
});
|
||
return f(Sub);
|
||
});
|
||
};
|
||
|
||
var getGlobal = function () {
|
||
/* global self, window */
|
||
// the only reliable means to get the global object is
|
||
// `Function('return this')()`
|
||
// However, this causes CSP violations in Chrome apps.
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof self !== 'undefined') { <span class="cstat-no" title="statement not covered" >return self; </span>}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof window !== 'undefined') { <span class="cstat-no" title="statement not covered" >return window; </span>}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (typeof global !== 'undefined') { return global; }
|
||
<span class="cstat-no" title="statement not covered" > throw new Error('unable to locate global object');</span>
|
||
};
|
||
|
||
var globals = getGlobal();
|
||
var globalIsFinite = globals.isFinite;
|
||
var _indexOf = Function.call.bind(String.prototype.indexOf);
|
||
var _arrayIndexOfApply = Function.apply.bind(Array.prototype.indexOf);
|
||
var _concat = Function.call.bind(Array.prototype.concat);
|
||
// var _sort = Function.call.bind(Array.prototype.sort);
|
||
var _strSlice = Function.call.bind(String.prototype.slice);
|
||
var _push = Function.call.bind(Array.prototype.push);
|
||
var _pushApply = Function.apply.bind(Array.prototype.push);
|
||
var _join = Function.call.bind(Array.prototype.join);
|
||
var _shift = Function.call.bind(Array.prototype.shift);
|
||
var _max = Math.max;
|
||
var _min = Math.min;
|
||
var _floor = Math.floor;
|
||
var _abs = Math.abs;
|
||
var _exp = Math.exp;
|
||
var _log = Math.log;
|
||
var _sqrt = Math.sqrt;
|
||
var _hasOwnProperty = Function.call.bind(Object.prototype.hasOwnProperty);
|
||
var ArrayIterator; // make our implementation private
|
||
var noop = function () {};
|
||
|
||
var OrigMap = globals.Map;
|
||
var origMapDelete = OrigMap && OrigMap.prototype['delete'];
|
||
var origMapGet = OrigMap && OrigMap.prototype.get;
|
||
var origMapHas = OrigMap && OrigMap.prototype.has;
|
||
var origMapSet = OrigMap && OrigMap.prototype.set;
|
||
|
||
var Symbol = globals.Symbol || <span class="branch-1 cbranch-no" title="branch not covered" >{};</span>
|
||
var symbolSpecies = Symbol.species || <span class="branch-1 cbranch-no" title="branch not covered" >'@@species';</span>
|
||
|
||
var numberIsNaN = Number.isNaN || <span class="branch-1 cbranch-no" title="branch not covered" >function <span class="fstat-no" title="function not covered" >isNaN(</span>value) {</span>
|
||
// NaN !== NaN, but they are identical.
|
||
// NaNs are the only non-reflexive value, i.e., if x !== x,
|
||
// then x is NaN.
|
||
// isNaN is broken: it converts its argument to number, so
|
||
// isNaN('foo') => true
|
||
<span class="cstat-no" title="statement not covered" > return value !== value;</span>
|
||
};
|
||
var numberIsFinite = Number.isFinite || <span class="branch-1 cbranch-no" title="branch not covered" >function <span class="fstat-no" title="function not covered" >isFinite(</span>value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return typeof value === 'number' && globalIsFinite(value);</span>
|
||
};
|
||
var _sign = isCallable(Math.sign) ? Math.sign : <span class="branch-1 cbranch-no" title="branch not covered" >function <span class="fstat-no" title="function not covered" >sign(</span>value) {</span>
|
||
var number = <span class="cstat-no" title="statement not covered" >Number(value);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (number === 0) { <span class="cstat-no" title="statement not covered" >return number; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (numberIsNaN(number)) { <span class="cstat-no" title="statement not covered" >return number; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > return number < 0 ? -1 : 1;</span>
|
||
};
|
||
var _log1p = function <span class="fstat-no" title="function not covered" >log1p(</span>value) {
|
||
var x = <span class="cstat-no" title="statement not covered" >Number(value);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (x < -1 || numberIsNaN(x)) { <span class="cstat-no" title="statement not covered" >return NaN; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (x === 0 || x === Infinity) { <span class="cstat-no" title="statement not covered" >return x; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (x === -1) { <span class="cstat-no" title="statement not covered" >return -Infinity; </span>}</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > return (1 + x) - 1 === 0 ? x : x * (_log(1 + x) / ((1 + x) - 1));</span>
|
||
};
|
||
|
||
// taken directly from https://github.com/ljharb/is-arguments/blob/master/index.js
|
||
// can be replaced with require('is-arguments') if we ever use a build process instead
|
||
var isStandardArguments = function isArguments(value) {
|
||
return _toString(value) === '[object Arguments]';
|
||
};
|
||
var isLegacyArguments = function <span class="fstat-no" title="function not covered" >isArguments(</span>value) {
|
||
<span class="cstat-no" title="statement not covered" > return value !== null</span>
|
||
&& typeof value === 'object'
|
||
&& typeof value.length === 'number'
|
||
&& value.length >= 0
|
||
&& _toString(value) !== '[object Array]'
|
||
&& _toString(value.callee) === '[object Function]';
|
||
};
|
||
var isArguments = isStandardArguments(arguments) ? isStandardArguments : <span class="branch-1 cbranch-no" title="branch not covered" >isLegacyArguments;</span>
|
||
|
||
var Type = {
|
||
primitive: <span class="fstat-no" title="function not covered" >fu</span>nction (x) { <span class="cstat-no" title="statement not covered" >return x === null || (typeof x !== 'function' && typeof x !== 'object'); </span>},
|
||
string: <span class="fstat-no" title="function not covered" >fu</span>nction (x) { <span class="cstat-no" title="statement not covered" >return _toString(x) === '[object String]'; </span>},
|
||
regex: function (x) { return _toString(x) === '[object RegExp]'; },
|
||
symbol: function (x) {
|
||
return typeof globals.Symbol === 'function' && typeof x === 'symbol';
|
||
}
|
||
};
|
||
|
||
var overrideNative = function overrideNative(object, property, replacement) {
|
||
var original = object[property];
|
||
defineProperty(object, property, replacement, true);
|
||
Value.preserveToString(object[property], original);
|
||
};
|
||
|
||
// eslint-disable-next-line no-restricted-properties
|
||
var hasSymbols = typeof Symbol === 'function' && typeof Symbol['for'] === 'function' && Type.symbol(Symbol());
|
||
|
||
// This is a private name in the es6 spec, equal to '[Symbol.iterator]'
|
||
// we're going to use an arbitrary _-prefixed name to make our shims
|
||
// work properly with each other, even though we don't have full Iterator
|
||
// support. That is, `Array.from(map.keys())` will work, but we don't
|
||
// pretend to export a "real" Iterator interface.
|
||
var $iterator$ = Type.symbol(Symbol.iterator) ? Symbol.iterator : <span class="branch-1 cbranch-no" title="branch not covered" >'_es6-shim iterator_';</span>
|
||
// Firefox ships a partial implementation using the name @@iterator.
|
||
// https://bugzilla.mozilla.org/show_bug.cgi?id=907077#c14
|
||
// So use that name if we detect it.
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (globals.Set && typeof new globals.Set()['@@iterator'] === 'function') {
|
||
<span class="cstat-no" title="statement not covered" > $iterator$ = '@@iterator';</span>
|
||
}
|
||
|
||
// Reflect
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!globals.Reflect) {
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(globals, 'Reflect', {}, true);</span>
|
||
}
|
||
var Reflect = globals.Reflect;
|
||
|
||
var $String = String;
|
||
|
||
/* global document */
|
||
var domAll = (typeof document === 'undefined' || <span class="branch-1 cbranch-no" title="branch not covered" >!document)</span> ? null : <span class="branch-1 cbranch-no" title="branch not covered" >document.all;</span>
|
||
var isNullOrUndefined = domAll == null ? function isNullOrUndefined(x) {
|
||
return x == null;
|
||
} : <span class="branch-1 cbranch-no" title="branch not covered" >function <span class="fstat-no" title="function not covered" >isNullOrUndefinedAndNotDocumentAll(</span>x) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return x == null && x !== domAll;</span>
|
||
};
|
||
|
||
var ES = {
|
||
// http://www.ecma-international.org/ecma-262/6.0/#sec-call
|
||
Call: function <span class="fstat-no" title="function not covered" >Call(</span>F, V) {
|
||
var args = <span class="cstat-no" title="statement not covered" >arguments.length > 2 ? arguments[2] : [];</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.IsCallable(F)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError(F + ' is not a function');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return _apply(F, V, args);</span>
|
||
},
|
||
|
||
RequireObjectCoercible: function (x, optMessage) {
|
||
if (isNullOrUndefined(x)) {
|
||
throw new TypeError(optMessage || 'Cannot call method on ' + x);
|
||
}
|
||
return x;
|
||
},
|
||
|
||
// This might miss the "(non-standard exotic and does not implement
|
||
// [[Call]])" case from
|
||
// http://www.ecma-international.org/ecma-262/6.0/#sec-typeof-operator-runtime-semantics-evaluation
|
||
// but we can't find any evidence these objects exist in practice.
|
||
// If we find some in the future, you could test `Object(x) === x`,
|
||
// which is reliable according to
|
||
// http://www.ecma-international.org/ecma-262/6.0/#sec-toobject
|
||
// but is not well optimized by runtimes and creates an object
|
||
// whenever it returns false, and thus is very slow.
|
||
TypeIsObject: function (x) {
|
||
if (x === void 0 || x === null || x === true || x === false) {
|
||
return false;
|
||
}
|
||
return typeof x === 'function' || typeof x === 'object' || x === domAll;
|
||
},
|
||
|
||
ToObject: <span class="fstat-no" title="function not covered" >fu</span>nction (o, optMessage) {
|
||
<span class="cstat-no" title="statement not covered" > return Object(ES.RequireObjectCoercible(o, optMessage));</span>
|
||
},
|
||
|
||
IsCallable: isCallable,
|
||
|
||
IsConstructor: function (x) {
|
||
// We can't tell callables from constructors in ES5
|
||
return ES.IsCallable(x);
|
||
},
|
||
|
||
ToInt32: <span class="fstat-no" title="function not covered" >fu</span>nction (x) {
|
||
<span class="cstat-no" title="statement not covered" > return ES.ToNumber(x) >> 0;</span>
|
||
},
|
||
|
||
ToUint32: <span class="fstat-no" title="function not covered" >fu</span>nction (x) {
|
||
<span class="cstat-no" title="statement not covered" > return ES.ToNumber(x) >>> 0;</span>
|
||
},
|
||
|
||
ToNumber: <span class="fstat-no" title="function not covered" >fu</span>nction (value) {
|
||
<span class="cstat-no" title="statement not covered" > if (hasSymbols && _toString(value) === '[object Symbol]') {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Cannot convert a Symbol value to a number');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return +value;</span>
|
||
},
|
||
|
||
ToInteger: <span class="fstat-no" title="function not covered" >fu</span>nction (value) {
|
||
var number = <span class="cstat-no" title="statement not covered" >ES.ToNumber(value);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (numberIsNaN(number)) { <span class="cstat-no" title="statement not covered" >return 0; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (number === 0 || !numberIsFinite(number)) { <span class="cstat-no" title="statement not covered" >return number; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > return (number > 0 ? 1 : -1) * _floor(_abs(number));</span>
|
||
},
|
||
|
||
ToLength: <span class="fstat-no" title="function not covered" >fu</span>nction (value) {
|
||
var len = <span class="cstat-no" title="statement not covered" >ES.ToInteger(value);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (len <= 0) { <span class="cstat-no" title="statement not covered" >return 0; </span>} </span>// includes converting -0 to +0
|
||
<span class="cstat-no" title="statement not covered" > if (len > Number.MAX_SAFE_INTEGER) { <span class="cstat-no" title="statement not covered" >return Number.MAX_SAFE_INTEGER; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > return len;</span>
|
||
},
|
||
|
||
SameValue: <span class="fstat-no" title="function not covered" >fu</span>nction (a, b) {
|
||
<span class="cstat-no" title="statement not covered" > if (a === b) {</span>
|
||
// 0 === -0, but they are not identical.
|
||
<span class="cstat-no" title="statement not covered" > if (a === 0) { <span class="cstat-no" title="statement not covered" >return 1 / a === 1 / b; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > return true;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return numberIsNaN(a) && numberIsNaN(b);</span>
|
||
},
|
||
|
||
SameValueZero: <span class="fstat-no" title="function not covered" >fu</span>nction (a, b) {
|
||
// same as SameValue except for SameValueZero(+0, -0) == true
|
||
<span class="cstat-no" title="statement not covered" > return (a === b) || (numberIsNaN(a) && numberIsNaN(b));</span>
|
||
},
|
||
|
||
GetIterator: <span class="fstat-no" title="function not covered" >fu</span>nction (o) {
|
||
<span class="cstat-no" title="statement not covered" > if (isArguments(o)) {</span>
|
||
// special case support for `arguments`
|
||
<span class="cstat-no" title="statement not covered" > return new ArrayIterator(o, 'value');</span>
|
||
}
|
||
var itFn = <span class="cstat-no" title="statement not covered" >ES.GetMethod(o, $iterator$);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.IsCallable(itFn)) {</span>
|
||
// Better diagnostics if itFn is null or undefined
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('value is not an iterable');</span>
|
||
}
|
||
var it = <span class="cstat-no" title="statement not covered" >ES.Call(itFn, o);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(it)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('bad iterator');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return it;</span>
|
||
},
|
||
|
||
GetMethod: <span class="fstat-no" title="function not covered" >fu</span>nction (o, p) {
|
||
var func = <span class="cstat-no" title="statement not covered" >ES.ToObject(o)[p];</span>
|
||
<span class="cstat-no" title="statement not covered" > if (isNullOrUndefined(func)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return void 0;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.IsCallable(func)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Method not callable: ' + p);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return func;</span>
|
||
},
|
||
|
||
IteratorComplete: <span class="fstat-no" title="function not covered" >fu</span>nction (iterResult) {
|
||
<span class="cstat-no" title="statement not covered" > return !!iterResult.done;</span>
|
||
},
|
||
|
||
IteratorClose: <span class="fstat-no" title="function not covered" >fu</span>nction (iterator, completionIsThrow) {
|
||
var returnMethod = <span class="cstat-no" title="statement not covered" >ES.GetMethod(iterator, 'return');</span>
|
||
<span class="cstat-no" title="statement not covered" > if (returnMethod === void 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return;</span>
|
||
}
|
||
var innerResult, innerException;
|
||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||
<span class="cstat-no" title="statement not covered" > innerResult = ES.Call(returnMethod, iterator);</span>
|
||
} catch (e) {
|
||
<span class="cstat-no" title="statement not covered" > innerException = e;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (completionIsThrow) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (innerException) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw innerException;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(innerResult)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError("Iterator's return method returned a non-object.");</span>
|
||
}
|
||
},
|
||
|
||
IteratorNext: <span class="fstat-no" title="function not covered" >fu</span>nction (it) {
|
||
var result = <span class="cstat-no" title="statement not covered" >arguments.length > 1 ? it.next(arguments[1]) : it.next();</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(result)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('bad iterator');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return result;</span>
|
||
},
|
||
|
||
IteratorStep: <span class="fstat-no" title="function not covered" >fu</span>nction (it) {
|
||
var result = <span class="cstat-no" title="statement not covered" >ES.IteratorNext(it);</span>
|
||
var done = <span class="cstat-no" title="statement not covered" >ES.IteratorComplete(result);</span>
|
||
<span class="cstat-no" title="statement not covered" > return done ? false : result;</span>
|
||
},
|
||
|
||
Construct: <span class="fstat-no" title="function not covered" >fu</span>nction (C, args, newTarget, isES6internal) {
|
||
var target = <span class="cstat-no" title="statement not covered" >typeof newTarget === 'undefined' ? C : newTarget;</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > if (!isES6internal && Reflect.construct) {</span>
|
||
// Try to use Reflect.construct if available
|
||
<span class="cstat-no" title="statement not covered" > return Reflect.construct(C, args, target);</span>
|
||
}
|
||
// OK, we have to fake it. This will only work if the
|
||
// C.[[ConstructorKind]] == "base" -- but that's the only
|
||
// kind we can make in ES5 code anyway.
|
||
|
||
// OrdinaryCreateFromConstructor(target, "%ObjectPrototype%")
|
||
var proto = <span class="cstat-no" title="statement not covered" >target.prototype;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(proto)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > proto = Object.prototype;</span>
|
||
}
|
||
var obj = <span class="cstat-no" title="statement not covered" >create(proto);</span>
|
||
// Call the constructor.
|
||
var result = <span class="cstat-no" title="statement not covered" >ES.Call(C, obj, args);</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.TypeIsObject(result) ? result : obj;</span>
|
||
},
|
||
|
||
SpeciesConstructor: <span class="fstat-no" title="function not covered" >fu</span>nction (O, defaultConstructor) {
|
||
var C = <span class="cstat-no" title="statement not covered" >O.constructor;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (C === void 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return defaultConstructor;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(C)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Bad constructor');</span>
|
||
}
|
||
var S = <span class="cstat-no" title="statement not covered" >C[symbolSpecies];</span>
|
||
<span class="cstat-no" title="statement not covered" > if (isNullOrUndefined(S)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return defaultConstructor;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.IsConstructor(S)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Bad @@species');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return S;</span>
|
||
},
|
||
|
||
CreateHTML: <span class="fstat-no" title="function not covered" >fu</span>nction (string, tag, attribute, value) {
|
||
var S = <span class="cstat-no" title="statement not covered" >ES.ToString(string);</span>
|
||
var p1 = <span class="cstat-no" title="statement not covered" >'<' + tag;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (attribute !== '') {</span>
|
||
var V = <span class="cstat-no" title="statement not covered" >ES.ToString(value);</span>
|
||
var escapedV = <span class="cstat-no" title="statement not covered" >V.replace(/"/g, '&quot;');</span>
|
||
<span class="cstat-no" title="statement not covered" > p1 += ' ' + attribute + '="' + escapedV + '"';</span>
|
||
}
|
||
var p2 = <span class="cstat-no" title="statement not covered" >p1 + '>';</span>
|
||
var p3 = <span class="cstat-no" title="statement not covered" >p2 + S;</span>
|
||
<span class="cstat-no" title="statement not covered" > return p3 + '</' + tag + '>';</span>
|
||
},
|
||
|
||
IsRegExp: function <span class="fstat-no" title="function not covered" >IsRegExp(</span>argument) {
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(argument)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return false;</span>
|
||
}
|
||
var isRegExp = <span class="cstat-no" title="statement not covered" >argument[Symbol.match];</span>
|
||
<span class="cstat-no" title="statement not covered" > if (typeof isRegExp !== 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return !!isRegExp;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return Type.regex(argument);</span>
|
||
},
|
||
|
||
ToString: function <span class="fstat-no" title="function not covered" >ToString(</span>string) {
|
||
<span class="cstat-no" title="statement not covered" > if (hasSymbols && _toString(string) === '[object Symbol]') {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Cannot convert a Symbol value to a number');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return $String(string);</span>
|
||
}
|
||
};
|
||
|
||
// Well-known Symbol shims
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (supportsDescriptors && hasSymbols) {
|
||
var defineWellKnownSymbol = function <span class="fstat-no" title="function not covered" >defineWellKnownSymbol(</span>name) {
|
||
<span class="cstat-no" title="statement not covered" > if (Type.symbol(Symbol[name])) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return Symbol[name];</span>
|
||
}
|
||
// eslint-disable-next-line no-restricted-properties
|
||
var sym = <span class="cstat-no" title="statement not covered" >Symbol['for']('Symbol.' + name);</span>
|
||
<span class="cstat-no" title="statement not covered" > Object.defineProperty(Symbol, name, {</span>
|
||
configurable: false,
|
||
enumerable: false,
|
||
writable: false,
|
||
value: sym
|
||
});
|
||
<span class="cstat-no" title="statement not covered" > return sym;</span>
|
||
};
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Type.symbol(Symbol.search)) {
|
||
var symbolSearch = <span class="cstat-no" title="statement not covered" >defineWellKnownSymbol('search');</span>
|
||
var originalSearch = <span class="cstat-no" title="statement not covered" >String.prototype.search;</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(RegExp.prototype, symbolSearch, function <span class="fstat-no" title="function not covered" >search(</span>string) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalSearch, string, [this]);</span>
|
||
});
|
||
var searchShim = <span class="cstat-no" title="statement not covered" >function <span class="fstat-no" title="function not covered" >search(</span>regexp) {</span>
|
||
var O = <span class="cstat-no" title="statement not covered" >ES.RequireObjectCoercible(this);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!isNullOrUndefined(regexp)) {</span>
|
||
var searcher = <span class="cstat-no" title="statement not covered" >ES.GetMethod(regexp, symbolSearch);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (typeof searcher !== 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(searcher, regexp, [O]);</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalSearch, O, [ES.ToString(regexp)]);</span>
|
||
};
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(String.prototype, 'search', searchShim);</span>
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Type.symbol(Symbol.replace)) {
|
||
var symbolReplace = <span class="cstat-no" title="statement not covered" >defineWellKnownSymbol('replace');</span>
|
||
var originalReplace = <span class="cstat-no" title="statement not covered" >String.prototype.replace;</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(RegExp.prototype, symbolReplace, function <span class="fstat-no" title="function not covered" >replace(</span>string, replaceValue) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalReplace, string, [this, replaceValue]);</span>
|
||
});
|
||
var replaceShim = <span class="cstat-no" title="statement not covered" >function <span class="fstat-no" title="function not covered" >replace(</span>searchValue, replaceValue) {</span>
|
||
var O = <span class="cstat-no" title="statement not covered" >ES.RequireObjectCoercible(this);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!isNullOrUndefined(searchValue)) {</span>
|
||
var replacer = <span class="cstat-no" title="statement not covered" >ES.GetMethod(searchValue, symbolReplace);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (typeof replacer !== 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(replacer, searchValue, [O, replaceValue]);</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalReplace, O, [ES.ToString(searchValue), replaceValue]);</span>
|
||
};
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(String.prototype, 'replace', replaceShim);</span>
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!Type.symbol(Symbol.split)) {
|
||
var symbolSplit = <span class="cstat-no" title="statement not covered" >defineWellKnownSymbol('split');</span>
|
||
var originalSplit = <span class="cstat-no" title="statement not covered" >String.prototype.split;</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(RegExp.prototype, symbolSplit, function <span class="fstat-no" title="function not covered" >split(</span>string, limit) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalSplit, string, [this, limit]);</span>
|
||
});
|
||
var splitShim = <span class="cstat-no" title="statement not covered" >function <span class="fstat-no" title="function not covered" >split(</span>separator, limit) {</span>
|
||
var O = <span class="cstat-no" title="statement not covered" >ES.RequireObjectCoercible(this);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!isNullOrUndefined(separator)) {</span>
|
||
var splitter = <span class="cstat-no" title="statement not covered" >ES.GetMethod(separator, symbolSplit);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (typeof splitter !== 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(splitter, separator, [O, limit]);</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalSplit, O, [ES.ToString(separator), limit]);</span>
|
||
};
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(String.prototype, 'split', splitShim);</span>
|
||
}
|
||
var symbolMatchExists = Type.symbol(Symbol.match);
|
||
var stringMatchIgnoresSymbolMatch = symbolMatchExists && (function () {
|
||
// Firefox 41, through Nightly 45 has Symbol.match, but String#match ignores it.
|
||
// Firefox 40 and below have Symbol.match but String#match works fine.
|
||
var o = {};
|
||
o[Symbol.match] = function () { return 42; };
|
||
return 'a'.match(o) !== 42;
|
||
}());
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!symbolMatchExists || stringMatchIgnoresSymbolMatch) {
|
||
var symbolMatch = <span class="cstat-no" title="statement not covered" >defineWellKnownSymbol('match');</span>
|
||
|
||
var originalMatch = <span class="cstat-no" title="statement not covered" >String.prototype.match;</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(RegExp.prototype, symbolMatch, function <span class="fstat-no" title="function not covered" >match(</span>string) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalMatch, string, [this]);</span>
|
||
});
|
||
|
||
var matchShim = <span class="cstat-no" title="statement not covered" >function <span class="fstat-no" title="function not covered" >match(</span>regexp) {</span>
|
||
var O = <span class="cstat-no" title="statement not covered" >ES.RequireObjectCoercible(this);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!isNullOrUndefined(regexp)) {</span>
|
||
var matcher = <span class="cstat-no" title="statement not covered" >ES.GetMethod(regexp, symbolMatch);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (typeof matcher !== 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(matcher, regexp, [O]);</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalMatch, O, [ES.ToString(regexp)]);</span>
|
||
};
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(String.prototype, 'match', matchShim);</span>
|
||
}
|
||
}
|
||
|
||
var wrapConstructor = function <span class="fstat-no" title="function not covered" >wrapConstructor(</span>original, replacement, keysToSkip) {
|
||
<span class="cstat-no" title="statement not covered" > Value.preserveToString(replacement, original);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (Object.setPrototypeOf) {</span>
|
||
// sets up proper prototype chain where possible
|
||
<span class="cstat-no" title="statement not covered" > Object.setPrototypeOf(original, replacement);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (supportsDescriptors) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _forEach(Object.getOwnPropertyNames(original), <span class="fstat-no" title="function not covered" >fu</span>nction (key) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (key in noop || keysToSkip[key]) { <span class="cstat-no" title="statement not covered" >return; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > Value.proxy(original, key, replacement);</span>
|
||
});
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > _forEach(Object.keys(original), <span class="fstat-no" title="function not covered" >fu</span>nction (key) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (key in noop || keysToSkip[key]) { <span class="cstat-no" title="statement not covered" >return; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > replacement[key] = original[key];</span>
|
||
});
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > replacement.prototype = original.prototype;</span>
|
||
<span class="cstat-no" title="statement not covered" > Value.redefine(original.prototype, 'constructor', replacement);</span>
|
||
};
|
||
|
||
var defaultSpeciesGetter = <span class="fstat-no" title="function not covered" >fu</span>nction () { <span class="cstat-no" title="statement not covered" >return this; </span>};
|
||
var addDefaultSpecies = function (C) {
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (supportsDescriptors && !_hasOwnProperty(C, symbolSpecies)) {
|
||
<span class="cstat-no" title="statement not covered" > Value.getter(C, symbolSpecies, defaultSpeciesGetter);</span>
|
||
}
|
||
};
|
||
|
||
var addIterator = function (prototype, impl) {
|
||
var implementation = impl || function <span class="fstat-no" title="function not covered" >iterator(</span>) { <span class="cstat-no" title="statement not covered" >return this; </span>};
|
||
defineProperty(prototype, $iterator$, implementation);
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!prototype[$iterator$] && <span class="branch-1 cbranch-no" title="branch not covered" >Type.symbol($iterator$))</span> {
|
||
// implementations are buggy when $iterator$ is a Symbol
|
||
<span class="cstat-no" title="statement not covered" > prototype[$iterator$] = implementation;</span>
|
||
}
|
||
};
|
||
|
||
var createDataProperty = function <span class="fstat-no" title="function not covered" >createDataProperty(</span>object, name, value) {
|
||
<span class="cstat-no" title="statement not covered" > if (supportsDescriptors) {</span>
|
||
<span class="cstat-no" title="statement not covered" > Object.defineProperty(object, name, {</span>
|
||
configurable: true,
|
||
enumerable: true,
|
||
writable: true,
|
||
value: value
|
||
});
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > object[name] = value;</span>
|
||
}
|
||
};
|
||
var createDataPropertyOrThrow = function <span class="fstat-no" title="function not covered" >createDataPropertyOrThrow(</span>object, name, value) {
|
||
<span class="cstat-no" title="statement not covered" > createDataProperty(object, name, value);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.SameValue(object[name], value)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('property is nonconfigurable');</span>
|
||
}
|
||
};
|
||
|
||
var emulateES6construct = function (o, defaultNewTarget, defaultProto, slots) {
|
||
// This is an es5 approximation to es6 construct semantics. in es6,
|
||
// 'new Foo' invokes Foo.[[Construct]] which (for almost all objects)
|
||
// just sets the internal variable NewTarget (in es6 syntax `new.target`)
|
||
// to Foo and then returns Foo().
|
||
|
||
// Many ES6 object then have constructors of the form:
|
||
// 1. If NewTarget is undefined, throw a TypeError exception
|
||
// 2. Let xxx by OrdinaryCreateFromConstructor(NewTarget, yyy, zzz)
|
||
|
||
// So we're going to emulate those first two steps.
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!ES.TypeIsObject(o)) {
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Constructor requires `new`: ' + defaultNewTarget.name);</span>
|
||
}
|
||
var proto = defaultNewTarget.prototype;
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!ES.TypeIsObject(proto)) {
|
||
<span class="cstat-no" title="statement not covered" > proto = defaultProto;</span>
|
||
}
|
||
var obj = create(proto);
|
||
for (var name in slots) {
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (_hasOwnProperty(slots, name)) {
|
||
var value = slots[name];
|
||
defineProperty(obj, name, value, true);
|
||
}
|
||
}
|
||
return obj;
|
||
};
|
||
|
||
// Firefox 31 reports this function's length as 0
|
||
// https://bugzilla.mozilla.org/show_bug.cgi?id=1062484
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (String.fromCodePoint && String.fromCodePoint.length !== 1) {
|
||
var originalFromCodePoint = <span class="cstat-no" title="statement not covered" >String.fromCodePoint;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(String, 'fromCodePoint', function <span class="fstat-no" title="function not covered" >fromCodePoint(</span>codePoints) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalFromCodePoint, this, arguments);</span>
|
||
});
|
||
}
|
||
|
||
var StringShims = {
|
||
fromCodePoint: function <span class="fstat-no" title="function not covered" >fromCodePoint(</span>codePoints) {
|
||
var result = <span class="cstat-no" title="statement not covered" >[];</span>
|
||
var next;
|
||
<span class="cstat-no" title="statement not covered" > for (var i = 0, length = arguments.length; i < length; i++) {</span>
|
||
<span class="cstat-no" title="statement not covered" > next = Number(arguments[i]);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.SameValue(next, ES.ToInteger(next)) || next < 0 || next > 0x10FFFF) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new RangeError('Invalid code point ' + next);</span>
|
||
}
|
||
|
||
<span class="cstat-no" title="statement not covered" > if (next < 0x10000) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _push(result, String.fromCharCode(next));</span>
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > next -= 0x10000;</span>
|
||
<span class="cstat-no" title="statement not covered" > _push(result, String.fromCharCode((next >> 10) + 0xD800));</span>
|
||
<span class="cstat-no" title="statement not covered" > _push(result, String.fromCharCode((next % 0x400) + 0xDC00));</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return _join(result, '');</span>
|
||
},
|
||
|
||
raw: function <span class="fstat-no" title="function not covered" >raw(</span>template) {
|
||
var numberOfSubstitutions = <span class="cstat-no" title="statement not covered" >arguments.length - 1;</span>
|
||
var cooked = <span class="cstat-no" title="statement not covered" >ES.ToObject(template, 'bad template');</span>
|
||
var raw = <span class="cstat-no" title="statement not covered" >ES.ToObject(cooked.raw, 'bad raw value');</span>
|
||
var len = <span class="cstat-no" title="statement not covered" >raw.length;</span>
|
||
var literalSegments = <span class="cstat-no" title="statement not covered" >ES.ToLength(len);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (literalSegments <= 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return '';</span>
|
||
}
|
||
|
||
var stringElements = <span class="cstat-no" title="statement not covered" >[];</span>
|
||
var nextIndex = <span class="cstat-no" title="statement not covered" >0;</span>
|
||
var nextKey, next, nextSeg, nextSub;
|
||
<span class="cstat-no" title="statement not covered" > while (nextIndex < literalSegments) {</span>
|
||
<span class="cstat-no" title="statement not covered" > nextKey = ES.ToString(nextIndex);</span>
|
||
<span class="cstat-no" title="statement not covered" > nextSeg = ES.ToString(raw[nextKey]);</span>
|
||
<span class="cstat-no" title="statement not covered" > _push(stringElements, nextSeg);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (nextIndex + 1 >= literalSegments) {</span>
|
||
<span class="cstat-no" title="statement not covered" > break;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > next = nextIndex + 1 < arguments.length ? arguments[nextIndex + 1] : '';</span>
|
||
<span class="cstat-no" title="statement not covered" > nextSub = ES.ToString(next);</span>
|
||
<span class="cstat-no" title="statement not covered" > _push(stringElements, nextSub);</span>
|
||
<span class="cstat-no" title="statement not covered" > nextIndex += 1;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return _join(stringElements, '');</span>
|
||
}
|
||
};
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (String.raw && String.raw({ raw: { 0: 'x', 1: 'y', length: 2 } }) !== 'xy') {
|
||
// IE 11 TP has a broken String.raw implementation
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(String, 'raw', StringShims.raw);</span>
|
||
}
|
||
defineProperties(String, StringShims);
|
||
|
||
// Fast repeat, uses the `Exponentiation by squaring` algorithm.
|
||
// Perf: http://jsperf.com/string-repeat2/2
|
||
var stringRepeat = function <span class="fstat-no" title="function not covered" >repeat(</span>s, times) {
|
||
<span class="cstat-no" title="statement not covered" > if (times < 1) { <span class="cstat-no" title="statement not covered" >return ''; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (times % 2) { <span class="cstat-no" title="statement not covered" >return repeat(s, times - 1) + s; </span>}</span>
|
||
var half = <span class="cstat-no" title="statement not covered" >repeat(s, times / 2);</span>
|
||
<span class="cstat-no" title="statement not covered" > return half + half;</span>
|
||
};
|
||
var stringMaxLength = Infinity;
|
||
|
||
var StringPrototypeShims = {
|
||
repeat: function <span class="fstat-no" title="function not covered" >repeat(</span>times) {
|
||
var thisStr = <span class="cstat-no" title="statement not covered" >ES.ToString(ES.RequireObjectCoercible(this));</span>
|
||
var numTimes = <span class="cstat-no" title="statement not covered" >ES.ToInteger(times);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (numTimes < 0 || numTimes >= stringMaxLength) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new RangeError('repeat count must be less than infinity and not overflow maximum string size');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return stringRepeat(thisStr, numTimes);</span>
|
||
},
|
||
|
||
startsWith: function <span class="fstat-no" title="function not covered" >startsWith(</span>searchString) {
|
||
var S = <span class="cstat-no" title="statement not covered" >ES.ToString(ES.RequireObjectCoercible(this));</span>
|
||
<span class="cstat-no" title="statement not covered" > if (ES.IsRegExp(searchString)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Cannot call method "startsWith" with a regex');</span>
|
||
}
|
||
var searchStr = <span class="cstat-no" title="statement not covered" >ES.ToString(searchString);</span>
|
||
var position;
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 1) {</span>
|
||
<span class="cstat-no" title="statement not covered" > position = arguments[1];</span>
|
||
}
|
||
var start = <span class="cstat-no" title="statement not covered" >_max(ES.ToInteger(position), 0);</span>
|
||
<span class="cstat-no" title="statement not covered" > return _strSlice(S, start, start + searchStr.length) === searchStr;</span>
|
||
},
|
||
|
||
endsWith: function <span class="fstat-no" title="function not covered" >endsWith(</span>searchString) {
|
||
var S = <span class="cstat-no" title="statement not covered" >ES.ToString(ES.RequireObjectCoercible(this));</span>
|
||
<span class="cstat-no" title="statement not covered" > if (ES.IsRegExp(searchString)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Cannot call method "endsWith" with a regex');</span>
|
||
}
|
||
var searchStr = <span class="cstat-no" title="statement not covered" >ES.ToString(searchString);</span>
|
||
var len = <span class="cstat-no" title="statement not covered" >S.length;</span>
|
||
var endPosition;
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 1) {</span>
|
||
<span class="cstat-no" title="statement not covered" > endPosition = arguments[1];</span>
|
||
}
|
||
var pos = <span class="cstat-no" title="statement not covered" >typeof endPosition === 'undefined' ? len : ES.ToInteger(endPosition);</span>
|
||
var end = <span class="cstat-no" title="statement not covered" >_min(_max(pos, 0), len);</span>
|
||
<span class="cstat-no" title="statement not covered" > return _strSlice(S, end - searchStr.length, end) === searchStr;</span>
|
||
},
|
||
|
||
includes: function <span class="fstat-no" title="function not covered" >includes(</span>searchString) {
|
||
<span class="cstat-no" title="statement not covered" > if (ES.IsRegExp(searchString)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('"includes" does not accept a RegExp');</span>
|
||
}
|
||
var searchStr = <span class="cstat-no" title="statement not covered" >ES.ToString(searchString);</span>
|
||
var position;
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 1) {</span>
|
||
<span class="cstat-no" title="statement not covered" > position = arguments[1];</span>
|
||
}
|
||
// Somehow this trick makes method 100% compat with the spec.
|
||
<span class="cstat-no" title="statement not covered" > return _indexOf(this, searchStr, position) !== -1;</span>
|
||
},
|
||
|
||
codePointAt: function <span class="fstat-no" title="function not covered" >codePointAt(</span>pos) {
|
||
var thisStr = <span class="cstat-no" title="statement not covered" >ES.ToString(ES.RequireObjectCoercible(this));</span>
|
||
var position = <span class="cstat-no" title="statement not covered" >ES.ToInteger(pos);</span>
|
||
var length = <span class="cstat-no" title="statement not covered" >thisStr.length;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (position >= 0 && position < length) {</span>
|
||
var first = <span class="cstat-no" title="statement not covered" >thisStr.charCodeAt(position);</span>
|
||
var isEnd = <span class="cstat-no" title="statement not covered" >position + 1 === length;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (first < 0xD800 || first > 0xDBFF || isEnd) { <span class="cstat-no" title="statement not covered" >return first; </span>}</span>
|
||
var second = <span class="cstat-no" title="statement not covered" >thisStr.charCodeAt(position + 1);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (second < 0xDC00 || second > 0xDFFF) { <span class="cstat-no" title="statement not covered" >return first; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > return ((first - 0xD800) * 1024) + (second - 0xDC00) + 0x10000;</span>
|
||
}
|
||
}
|
||
};
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (String.prototype.includes && 'a'.includes('a', Infinity) !== false) {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(String.prototype, 'includes', StringPrototypeShims.includes);</span>
|
||
}
|
||
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (String.prototype.startsWith && String.prototype.endsWith) {
|
||
var startsWithRejectsRegex = throwsError(function () {
|
||
/* throws if spec-compliant */
|
||
return '/a/'.startsWith(/a/);
|
||
});
|
||
var startsWithHandlesInfinity = valueOrFalseIfThrows(function () {
|
||
return 'abc'.startsWith('a', Infinity) === false;
|
||
});
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!startsWithRejectsRegex || !startsWithHandlesInfinity) {
|
||
// Firefox (< 37?) and IE 11 TP have a noncompliant startsWith implementation
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(String.prototype, 'startsWith', StringPrototypeShims.startsWith);</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(String.prototype, 'endsWith', StringPrototypeShims.endsWith);</span>
|
||
}
|
||
}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (hasSymbols) {
|
||
var startsWithSupportsSymbolMatch = valueOrFalseIfThrows(function () {
|
||
var re = /a/;
|
||
re[Symbol.match] = false;
|
||
return '/a/'.startsWith(re);
|
||
});
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!startsWithSupportsSymbolMatch) {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(String.prototype, 'startsWith', StringPrototypeShims.startsWith);</span>
|
||
}
|
||
var endsWithSupportsSymbolMatch = valueOrFalseIfThrows(function () {
|
||
var re = /a/;
|
||
re[Symbol.match] = false;
|
||
return '/a/'.endsWith(re);
|
||
});
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!endsWithSupportsSymbolMatch) {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(String.prototype, 'endsWith', StringPrototypeShims.endsWith);</span>
|
||
}
|
||
var includesSupportsSymbolMatch = valueOrFalseIfThrows(function () {
|
||
var re = /a/;
|
||
re[Symbol.match] = false;
|
||
return '/a/'.includes(re);
|
||
});
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!includesSupportsSymbolMatch) {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(String.prototype, 'includes', StringPrototypeShims.includes);</span>
|
||
}
|
||
}
|
||
|
||
defineProperties(String.prototype, StringPrototypeShims);
|
||
|
||
// whitespace from: http://es5.github.io/#x15.5.4.20
|
||
// implementation from https://github.com/es-shims/es5-shim/blob/v3.4.0/es5-shim.js#L1304-L1324
|
||
var ws = [
|
||
'\x09\x0A\x0B\x0C\x0D\x20\xA0\u1680\u180E\u2000\u2001\u2002\u2003',
|
||
'\u2004\u2005\u2006\u2007\u2008\u2009\u200A\u202F\u205F\u3000\u2028',
|
||
'\u2029\uFEFF'
|
||
].join('');
|
||
var trimRegexp = new RegExp('(^[' + ws + ']+)|([' + ws + ']+$)', 'g');
|
||
var trimShim = function <span class="fstat-no" title="function not covered" >trim(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > return ES.ToString(ES.RequireObjectCoercible(this)).replace(trimRegexp, '');</span>
|
||
};
|
||
var nonWS = ['\u0085', '\u200b', '\ufffe'].join('');
|
||
var nonWSregex = new RegExp('[' + nonWS + ']', 'g');
|
||
var isBadHexRegex = /^[-+]0x[0-9a-f]+$/i;
|
||
var hasStringTrimBug = nonWS.trim().length !== nonWS.length;
|
||
defineProperty(String.prototype, 'trim', trimShim, hasStringTrimBug);
|
||
|
||
// Given an argument x, it will return an IteratorResult object,
|
||
// with value set to x and done to false.
|
||
// Given no arguments, it will return an iterator completion object.
|
||
var iteratorResult = <span class="fstat-no" title="function not covered" >fu</span>nction (x) {
|
||
<span class="cstat-no" title="statement not covered" > return { value: x, done: arguments.length === 0 };</span>
|
||
};
|
||
|
||
// see http://www.ecma-international.org/ecma-262/6.0/#sec-string.prototype-@@iterator
|
||
var StringIterator = <span class="fstat-no" title="function not covered" >fu</span>nction (s) {
|
||
<span class="cstat-no" title="statement not covered" > ES.RequireObjectCoercible(s);</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(this, '_s', ES.ToString(s));</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(this, '_i', 0);</span>
|
||
};
|
||
StringIterator.prototype.next = <span class="fstat-no" title="function not covered" >fu</span>nction () {
|
||
var s = <span class="cstat-no" title="statement not covered" >this._s;</span>
|
||
var i = <span class="cstat-no" title="statement not covered" >this._i;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (typeof s === 'undefined' || i >= s.length) {</span>
|
||
<span class="cstat-no" title="statement not covered" > this._s = void 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > return iteratorResult();</span>
|
||
}
|
||
var first = <span class="cstat-no" title="statement not covered" >s.charCodeAt(i);</span>
|
||
var second, len;
|
||
<span class="cstat-no" title="statement not covered" > if (first < 0xD800 || first > 0xDBFF || (i + 1) === s.length) {</span>
|
||
<span class="cstat-no" title="statement not covered" > len = 1;</span>
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > second = s.charCodeAt(i + 1);</span>
|
||
<span class="cstat-no" title="statement not covered" > len = (second < 0xDC00 || second > 0xDFFF) ? 1 : 2;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > this._i = i + len;</span>
|
||
<span class="cstat-no" title="statement not covered" > return iteratorResult(s.substr(i, len));</span>
|
||
};
|
||
addIterator(StringIterator.prototype);
|
||
addIterator(String.prototype, <span class="fstat-no" title="function not covered" >fu</span>nction () {
|
||
<span class="cstat-no" title="statement not covered" > return new StringIterator(this);</span>
|
||
});
|
||
|
||
var ArrayShims = {
|
||
from: function <span class="fstat-no" title="function not covered" >from(</span>items) {
|
||
var C = <span class="cstat-no" title="statement not covered" >this;</span>
|
||
var mapFn;
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 1) {</span>
|
||
<span class="cstat-no" title="statement not covered" > mapFn = arguments[1];</span>
|
||
}
|
||
var mapping, T;
|
||
<span class="cstat-no" title="statement not covered" > if (typeof mapFn === 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > mapping = false;</span>
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.IsCallable(mapFn)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Array.from: when provided, the second argument must be a function');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 2) {</span>
|
||
<span class="cstat-no" title="statement not covered" > T = arguments[2];</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > mapping = true;</span>
|
||
}
|
||
|
||
// Note that that Arrays will use ArrayIterator:
|
||
// https://bugs.ecmascript.org/show_bug.cgi?id=2416
|
||
var usingIterator = <span class="cstat-no" title="statement not covered" >typeof (isArguments(items) || ES.GetMethod(items, $iterator$)) !== 'undefined';</span>
|
||
|
||
var length, result, i;
|
||
<span class="cstat-no" title="statement not covered" > if (usingIterator) {</span>
|
||
<span class="cstat-no" title="statement not covered" > result = ES.IsConstructor(C) ? Object(new C()) : [];</span>
|
||
var iterator = <span class="cstat-no" title="statement not covered" >ES.GetIterator(items);</span>
|
||
var next, nextValue;
|
||
|
||
<span class="cstat-no" title="statement not covered" > i = 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > while (true) {</span>
|
||
<span class="cstat-no" title="statement not covered" > next = ES.IteratorStep(iterator);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (next === false) {</span>
|
||
<span class="cstat-no" title="statement not covered" > break;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > nextValue = next.value;</span>
|
||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (mapping) {</span>
|
||
<span class="cstat-no" title="statement not covered" > nextValue = typeof T === 'undefined' ? mapFn(nextValue, i) : _call(mapFn, T, nextValue, i);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > result[i] = nextValue;</span>
|
||
} catch (e) {
|
||
<span class="cstat-no" title="statement not covered" > ES.IteratorClose(iterator, true);</span>
|
||
<span class="cstat-no" title="statement not covered" > throw e;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > i += 1;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > length = i;</span>
|
||
} else {
|
||
var arrayLike = <span class="cstat-no" title="statement not covered" >ES.ToObject(items);</span>
|
||
<span class="cstat-no" title="statement not covered" > length = ES.ToLength(arrayLike.length);</span>
|
||
<span class="cstat-no" title="statement not covered" > result = ES.IsConstructor(C) ? Object(new C(length)) : new Array(length);</span>
|
||
var value;
|
||
<span class="cstat-no" title="statement not covered" > for (i = 0; i < length; ++i) {</span>
|
||
<span class="cstat-no" title="statement not covered" > value = arrayLike[i];</span>
|
||
<span class="cstat-no" title="statement not covered" > if (mapping) {</span>
|
||
<span class="cstat-no" title="statement not covered" > value = typeof T === 'undefined' ? mapFn(value, i) : _call(mapFn, T, value, i);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > createDataPropertyOrThrow(result, i, value);</span>
|
||
}
|
||
}
|
||
|
||
<span class="cstat-no" title="statement not covered" > result.length = length;</span>
|
||
<span class="cstat-no" title="statement not covered" > return result;</span>
|
||
},
|
||
|
||
of: function <span class="fstat-no" title="function not covered" >of(</span>) {
|
||
var len = <span class="cstat-no" title="statement not covered" >arguments.length;</span>
|
||
var C = <span class="cstat-no" title="statement not covered" >this;</span>
|
||
var A = <span class="cstat-no" title="statement not covered" >isArray(C) || !ES.IsCallable(C) ? new Array(len) : ES.Construct(C, [len]);</span>
|
||
<span class="cstat-no" title="statement not covered" > for (var k = 0; k < len; ++k) {</span>
|
||
<span class="cstat-no" title="statement not covered" > createDataPropertyOrThrow(A, k, arguments[k]);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > A.length = len;</span>
|
||
<span class="cstat-no" title="statement not covered" > return A;</span>
|
||
}
|
||
};
|
||
defineProperties(Array, ArrayShims);
|
||
addDefaultSpecies(Array);
|
||
|
||
// Our ArrayIterator is private; see
|
||
// https://github.com/paulmillr/es6-shim/issues/252
|
||
ArrayIterator = <span class="fstat-no" title="function not covered" >fu</span>nction (array, kind) {
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(this, 'i', 0);</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(this, 'array', array);</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(this, 'kind', kind);</span>
|
||
};
|
||
|
||
defineProperties(ArrayIterator.prototype, {
|
||
next: <span class="fstat-no" title="function not covered" >fu</span>nction () {
|
||
var i = <span class="cstat-no" title="statement not covered" >this.i;</span>
|
||
var array = <span class="cstat-no" title="statement not covered" >this.array;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!(this instanceof ArrayIterator)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Not an ArrayIterator');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (typeof array !== 'undefined') {</span>
|
||
var len = <span class="cstat-no" title="statement not covered" >ES.ToLength(array.length);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (i < len) {</span>
|
||
//for (; i < len; i++) {
|
||
var kind = <span class="cstat-no" title="statement not covered" >this.kind;</span>
|
||
var retval;
|
||
<span class="cstat-no" title="statement not covered" > if (kind === 'key') {</span>
|
||
<span class="cstat-no" title="statement not covered" > retval = i;</span>
|
||
} else <span class="cstat-no" title="statement not covered" >if (kind === 'value') {</span>
|
||
<span class="cstat-no" title="statement not covered" > retval = array[i];</span>
|
||
} else <span class="cstat-no" title="statement not covered" >if (kind === 'entry') {</span>
|
||
<span class="cstat-no" title="statement not covered" > retval = [i, array[i]];</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > this.i = i + 1;</span>
|
||
<span class="cstat-no" title="statement not covered" > return iteratorResult(retval);</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > this.array = void 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > return iteratorResult();</span>
|
||
}
|
||
});
|
||
addIterator(ArrayIterator.prototype);
|
||
|
||
/*
|
||
var orderKeys = function orderKeys(a, b) {
|
||
var aNumeric = String(ES.ToInteger(a)) === a;
|
||
var bNumeric = String(ES.ToInteger(b)) === b;
|
||
if (aNumeric && bNumeric) {
|
||
return b - a;
|
||
} else if (aNumeric && !bNumeric) {
|
||
return -1;
|
||
} else if (!aNumeric && bNumeric) {
|
||
return 1;
|
||
} else {
|
||
return a.localeCompare(b);
|
||
}
|
||
};
|
||
|
||
var getAllKeys = function getAllKeys(object) {
|
||
var ownKeys = [];
|
||
var keys = [];
|
||
|
||
for (var key in object) {
|
||
_push(_hasOwnProperty(object, key) ? ownKeys : keys, key);
|
||
}
|
||
_sort(ownKeys, orderKeys);
|
||
_sort(keys, orderKeys);
|
||
|
||
return _concat(ownKeys, keys);
|
||
};
|
||
*/
|
||
|
||
// note: this is positioned here because it depends on ArrayIterator
|
||
var arrayOfSupportsSubclassing = Array.of === ArrayShims.of || (function () {
|
||
// Detects a bug in Webkit nightly r181886
|
||
var Foo = function Foo(len) { this.length = len; };
|
||
Foo.prototype = [];
|
||
var fooArr = Array.of.apply(Foo, [1, 2]);
|
||
return fooArr instanceof Foo && fooArr.length === 2;
|
||
}());
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!arrayOfSupportsSubclassing) {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Array, 'of', ArrayShims.of);</span>
|
||
}
|
||
|
||
var ArrayPrototypeShims = {
|
||
copyWithin: function <span class="fstat-no" title="function not covered" >copyWithin(</span>target, start) {
|
||
var o = <span class="cstat-no" title="statement not covered" >ES.ToObject(this);</span>
|
||
var len = <span class="cstat-no" title="statement not covered" >ES.ToLength(o.length);</span>
|
||
var relativeTarget = <span class="cstat-no" title="statement not covered" >ES.ToInteger(target);</span>
|
||
var relativeStart = <span class="cstat-no" title="statement not covered" >ES.ToInteger(start);</span>
|
||
var to = <span class="cstat-no" title="statement not covered" >relativeTarget < 0 ? _max(len + relativeTarget, 0) : _min(relativeTarget, len);</span>
|
||
var from = <span class="cstat-no" title="statement not covered" >relativeStart < 0 ? _max(len + relativeStart, 0) : _min(relativeStart, len);</span>
|
||
var end;
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 2) {</span>
|
||
<span class="cstat-no" title="statement not covered" > end = arguments[2];</span>
|
||
}
|
||
var relativeEnd = <span class="cstat-no" title="statement not covered" >typeof end === 'undefined' ? len : ES.ToInteger(end);</span>
|
||
var finalItem = <span class="cstat-no" title="statement not covered" >relativeEnd < 0 ? _max(len + relativeEnd, 0) : _min(relativeEnd, len);</span>
|
||
var count = <span class="cstat-no" title="statement not covered" >_min(finalItem - from, len - to);</span>
|
||
var direction = <span class="cstat-no" title="statement not covered" >1;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (from < to && to < (from + count)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > direction = -1;</span>
|
||
<span class="cstat-no" title="statement not covered" > from += count - 1;</span>
|
||
<span class="cstat-no" title="statement not covered" > to += count - 1;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > while (count > 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (from in o) {</span>
|
||
<span class="cstat-no" title="statement not covered" > o[to] = o[from];</span>
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > delete o[to];</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > from += direction;</span>
|
||
<span class="cstat-no" title="statement not covered" > to += direction;</span>
|
||
<span class="cstat-no" title="statement not covered" > count -= 1;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return o;</span>
|
||
},
|
||
|
||
fill: function <span class="fstat-no" title="function not covered" >fill(</span>value) {
|
||
var start;
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 1) {</span>
|
||
<span class="cstat-no" title="statement not covered" > start = arguments[1];</span>
|
||
}
|
||
var end;
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 2) {</span>
|
||
<span class="cstat-no" title="statement not covered" > end = arguments[2];</span>
|
||
}
|
||
var O = <span class="cstat-no" title="statement not covered" >ES.ToObject(this);</span>
|
||
var len = <span class="cstat-no" title="statement not covered" >ES.ToLength(O.length);</span>
|
||
<span class="cstat-no" title="statement not covered" > start = ES.ToInteger(typeof start === 'undefined' ? 0 : start);</span>
|
||
<span class="cstat-no" title="statement not covered" > end = ES.ToInteger(typeof end === 'undefined' ? len : end);</span>
|
||
|
||
var relativeStart = <span class="cstat-no" title="statement not covered" >start < 0 ? _max(len + start, 0) : _min(start, len);</span>
|
||
var relativeEnd = <span class="cstat-no" title="statement not covered" >end < 0 ? len + end : end;</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > for (var i = relativeStart; i < len && i < relativeEnd; ++i) {</span>
|
||
<span class="cstat-no" title="statement not covered" > O[i] = value;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return O;</span>
|
||
},
|
||
|
||
find: function <span class="fstat-no" title="function not covered" >find(</span>predicate) {
|
||
var list = <span class="cstat-no" title="statement not covered" >ES.ToObject(this);</span>
|
||
var length = <span class="cstat-no" title="statement not covered" >ES.ToLength(list.length);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.IsCallable(predicate)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Array#find: predicate must be a function');</span>
|
||
}
|
||
var thisArg = <span class="cstat-no" title="statement not covered" >arguments.length > 1 ? arguments[1] : null;</span>
|
||
<span class="cstat-no" title="statement not covered" > for (var i = 0, value; i < length; i++) {</span>
|
||
<span class="cstat-no" title="statement not covered" > value = list[i];</span>
|
||
<span class="cstat-no" title="statement not covered" > if (thisArg) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (_call(predicate, thisArg, value, i, list)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return value;</span>
|
||
}
|
||
} else <span class="cstat-no" title="statement not covered" >if (predicate(value, i, list)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return value;</span>
|
||
}
|
||
}
|
||
},
|
||
|
||
findIndex: function <span class="fstat-no" title="function not covered" >findIndex(</span>predicate) {
|
||
var list = <span class="cstat-no" title="statement not covered" >ES.ToObject(this);</span>
|
||
var length = <span class="cstat-no" title="statement not covered" >ES.ToLength(list.length);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.IsCallable(predicate)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Array#findIndex: predicate must be a function');</span>
|
||
}
|
||
var thisArg = <span class="cstat-no" title="statement not covered" >arguments.length > 1 ? arguments[1] : null;</span>
|
||
<span class="cstat-no" title="statement not covered" > for (var i = 0; i < length; i++) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (thisArg) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (_call(predicate, thisArg, list[i], i, list)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return i;</span>
|
||
}
|
||
} else <span class="cstat-no" title="statement not covered" >if (predicate(list[i], i, list)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return i;</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return -1;</span>
|
||
},
|
||
|
||
keys: function <span class="fstat-no" title="function not covered" >keys(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > return new ArrayIterator(this, 'key');</span>
|
||
},
|
||
|
||
values: function <span class="fstat-no" title="function not covered" >values(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > return new ArrayIterator(this, 'value');</span>
|
||
},
|
||
|
||
entries: function <span class="fstat-no" title="function not covered" >entries(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > return new ArrayIterator(this, 'entry');</span>
|
||
}
|
||
};
|
||
// Safari 7.1 defines Array#keys and Array#entries natively,
|
||
// but the resulting ArrayIterator objects don't have a "next" method.
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (Array.prototype.keys && !ES.IsCallable([1].keys().next)) {
|
||
<span class="cstat-no" title="statement not covered" > delete Array.prototype.keys;</span>
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (Array.prototype.entries && !ES.IsCallable([1].entries().next)) {
|
||
<span class="cstat-no" title="statement not covered" > delete Array.prototype.entries;</span>
|
||
}
|
||
|
||
// Chrome 38 defines Array#keys and Array#entries, and Array#@@iterator, but not Array#values
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (Array.prototype.keys && Array.prototype.entries && !Array.prototype.values && <span class="branch-3 cbranch-no" title="branch not covered" >Array.prototype[$iterator$])</span> {
|
||
<span class="cstat-no" title="statement not covered" > defineProperties(Array.prototype, {</span>
|
||
values: Array.prototype[$iterator$]
|
||
});
|
||
<span class="cstat-no" title="statement not covered" > if (Type.symbol(Symbol.unscopables)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > Array.prototype[Symbol.unscopables].values = true;</span>
|
||
}
|
||
}
|
||
// Chrome 40 defines Array#values with the incorrect name, although Array#{keys,entries} have the correct name
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (functionsHaveNames && Array.prototype.values && Array.prototype.values.name !== 'values') {
|
||
var originalArrayPrototypeValues = <span class="cstat-no" title="statement not covered" >Array.prototype.values;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Array.prototype, 'values', function <span class="fstat-no" title="function not covered" >values(</span>) { <span class="cstat-no" title="statement not covered" >return ES.Call(originalArrayPrototypeValues, this, arguments); </span>});</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(Array.prototype, $iterator$, Array.prototype.values, true);</span>
|
||
}
|
||
defineProperties(Array.prototype, ArrayPrototypeShims);
|
||
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (1 / [true].indexOf(true, -0) < 0) {
|
||
// indexOf when given a position arg of -0 should return +0.
|
||
// https://github.com/tc39/ecma262/pull/316
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(Array.prototype, 'indexOf', function <span class="fstat-no" title="function not covered" >indexOf(</span>searchElement) {</span>
|
||
var value = <span class="cstat-no" title="statement not covered" >_arrayIndexOfApply(this, arguments);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (value === 0 && (1 / value) < 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return 0;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return value;</span>
|
||
}, true);
|
||
}
|
||
|
||
addIterator(Array.prototype, <span class="fstat-no" title="function not covered" >fu</span>nction () { <span class="cstat-no" title="statement not covered" >return this.values(); </span>});
|
||
// Chrome defines keys/values/entries on Array, but doesn't give us
|
||
// any way to identify its iterator. So add our own shimmed field.
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (Object.getPrototypeOf) {
|
||
var ChromeArrayIterator = Object.getPrototypeOf([].values());
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (ChromeArrayIterator) { // in WSH, this is `undefined`
|
||
addIterator(ChromeArrayIterator);
|
||
}
|
||
}
|
||
|
||
// note: this is positioned here because it relies on Array#entries
|
||
var arrayFromSwallowsNegativeLengths = (function () {
|
||
// Detects a Firefox bug in v32
|
||
// https://bugzilla.mozilla.org/show_bug.cgi?id=1063993
|
||
return valueOrFalseIfThrows(function () {
|
||
return Array.from({ length: -1 }).length === 0;
|
||
});
|
||
}());
|
||
var arrayFromHandlesIterables = (function () {
|
||
// Detects a bug in Webkit nightly r181886
|
||
var arr = Array.from([0].entries());
|
||
return arr.length === 1 && isArray(arr[0]) && arr[0][0] === 0 && arr[0][1] === 0;
|
||
}());
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!arrayFromSwallowsNegativeLengths || !arrayFromHandlesIterables) {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Array, 'from', ArrayShims.from);</span>
|
||
}
|
||
var arrayFromHandlesUndefinedMapFunction = (function () {
|
||
// Microsoft Edge v0.11 throws if the mapFn argument is *provided* but undefined,
|
||
// but the spec doesn't care if it's provided or not - undefined doesn't throw.
|
||
return valueOrFalseIfThrows(function () {
|
||
return Array.from([0], void 0);
|
||
});
|
||
}());
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!arrayFromHandlesUndefinedMapFunction) {
|
||
var origArrayFrom = <span class="cstat-no" title="statement not covered" >Array.from;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Array, 'from', function <span class="fstat-no" title="function not covered" >from(</span>items) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 1 && typeof arguments[1] !== 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(origArrayFrom, this, arguments);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return _call(origArrayFrom, this, items);</span>
|
||
|
||
});
|
||
}
|
||
|
||
var int32sAsOne = -(Math.pow(2, 32) - 1);
|
||
var toLengthsCorrectly = function (method, reversed) {
|
||
var obj = { length: int32sAsOne };
|
||
obj[reversed ? (obj.length >>> 0) - 1 : 0] = true;
|
||
return valueOrFalseIfThrows(function () {
|
||
_call(method, obj, <span class="fstat-no" title="function not covered" >fu</span>nction () {
|
||
// note: in nonconforming browsers, this will be called
|
||
// -1 >>> 0 times, which is 4294967295, so the throw matters.
|
||
<span class="cstat-no" title="statement not covered" > throw new RangeError('should not reach here');</span>
|
||
}, []);
|
||
return true;
|
||
});
|
||
};
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!toLengthsCorrectly(Array.prototype.forEach)) {
|
||
var originalForEach = <span class="cstat-no" title="statement not covered" >Array.prototype.forEach;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Array.prototype, 'forEach', function <span class="fstat-no" title="function not covered" >forEach(</span>callbackFn) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalForEach, this.length >= 0 ? this : [], arguments);</span>
|
||
});
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!toLengthsCorrectly(Array.prototype.map)) {
|
||
var originalMap = <span class="cstat-no" title="statement not covered" >Array.prototype.map;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Array.prototype, 'map', function <span class="fstat-no" title="function not covered" >map(</span>callbackFn) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalMap, this.length >= 0 ? this : [], arguments);</span>
|
||
});
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!toLengthsCorrectly(Array.prototype.filter)) {
|
||
var originalFilter = <span class="cstat-no" title="statement not covered" >Array.prototype.filter;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Array.prototype, 'filter', function <span class="fstat-no" title="function not covered" >filter(</span>callbackFn) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalFilter, this.length >= 0 ? this : [], arguments);</span>
|
||
});
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!toLengthsCorrectly(Array.prototype.some)) {
|
||
var originalSome = <span class="cstat-no" title="statement not covered" >Array.prototype.some;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Array.prototype, 'some', function <span class="fstat-no" title="function not covered" >some(</span>callbackFn) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalSome, this.length >= 0 ? this : [], arguments);</span>
|
||
});
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!toLengthsCorrectly(Array.prototype.every)) {
|
||
var originalEvery = <span class="cstat-no" title="statement not covered" >Array.prototype.every;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Array.prototype, 'every', function <span class="fstat-no" title="function not covered" >every(</span>callbackFn) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalEvery, this.length >= 0 ? this : [], arguments);</span>
|
||
});
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!toLengthsCorrectly(Array.prototype.reduce)) {
|
||
var originalReduce = <span class="cstat-no" title="statement not covered" >Array.prototype.reduce;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Array.prototype, 'reduce', function <span class="fstat-no" title="function not covered" >reduce(</span>callbackFn) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalReduce, this.length >= 0 ? this : [], arguments);</span>
|
||
});
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!toLengthsCorrectly(Array.prototype.reduceRight, true)) {
|
||
var originalReduceRight = <span class="cstat-no" title="statement not covered" >Array.prototype.reduceRight;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Array.prototype, 'reduceRight', function <span class="fstat-no" title="function not covered" >reduceRight(</span>callbackFn) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(originalReduceRight, this.length >= 0 ? this : [], arguments);</span>
|
||
});
|
||
}
|
||
|
||
var lacksOctalSupport = Number('0o10') !== 8;
|
||
var lacksBinarySupport = Number('0b10') !== 2;
|
||
var trimsNonWhitespace = _some(nonWS, function (c) {
|
||
return Number(c + 0 + c) === 0;
|
||
});
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (lacksOctalSupport || lacksBinarySupport || trimsNonWhitespace) {
|
||
var OrigNumber = <span class="cstat-no" title="statement not covered" >Number;</span>
|
||
var binaryRegex = <span class="cstat-no" title="statement not covered" >/^0b[01]+$/i;</span>
|
||
var octalRegex = <span class="cstat-no" title="statement not covered" >/^0o[0-7]+$/i;</span>
|
||
// Note that in IE 8, RegExp.prototype.test doesn't seem to exist: ie, "test" is an own property of regexes. wtf.
|
||
var isBinary = <span class="cstat-no" title="statement not covered" >binaryRegex.test.bind(binaryRegex);</span>
|
||
var isOctal = <span class="cstat-no" title="statement not covered" >octalRegex.test.bind(octalRegex);</span>
|
||
var toPrimitive = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >fu</span>nction (O, hint) { // need to replace this with `es-to-primitive/es6`</span>
|
||
var result;
|
||
<span class="cstat-no" title="statement not covered" > if (typeof O.valueOf === 'function') {</span>
|
||
<span class="cstat-no" title="statement not covered" > result = O.valueOf();</span>
|
||
<span class="cstat-no" title="statement not covered" > if (Type.primitive(result)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return result;</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (typeof O.toString === 'function') {</span>
|
||
<span class="cstat-no" title="statement not covered" > result = O.toString();</span>
|
||
<span class="cstat-no" title="statement not covered" > if (Type.primitive(result)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return result;</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('No default value');</span>
|
||
};
|
||
var hasNonWS = <span class="cstat-no" title="statement not covered" >nonWSregex.test.bind(nonWSregex);</span>
|
||
var isBadHex = <span class="cstat-no" title="statement not covered" >isBadHexRegex.test.bind(isBadHexRegex);</span>
|
||
var NumberShim = (<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >fu</span>nction () {</span>
|
||
// this is wrapped in an IIFE because of IE 6-8's wacky scoping issues with named function expressions.
|
||
var NumberShim = <span class="cstat-no" title="statement not covered" >function <span class="fstat-no" title="function not covered" >Number(</span>value) {</span>
|
||
var primValue;
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > primValue = Type.primitive(value) ? value : toPrimitive(value, 'number');</span>
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > primValue = 0;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (typeof primValue === 'string') {</span>
|
||
<span class="cstat-no" title="statement not covered" > primValue = ES.Call(trimShim, primValue);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (isBinary(primValue)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > primValue = parseInt(_strSlice(primValue, 2), 2);</span>
|
||
} else <span class="cstat-no" title="statement not covered" >if (isOctal(primValue)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > primValue = parseInt(_strSlice(primValue, 2), 8);</span>
|
||
} else <span class="cstat-no" title="statement not covered" >if (hasNonWS(primValue) || isBadHex(primValue)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > primValue = NaN;</span>
|
||
}
|
||
}
|
||
var receiver = <span class="cstat-no" title="statement not covered" >this;</span>
|
||
var valueOfSucceeds = <span class="cstat-no" title="statement not covered" >valueOrFalseIfThrows(<span class="fstat-no" title="function not covered" >fu</span>nction () {</span>
|
||
<span class="cstat-no" title="statement not covered" > OrigNumber.prototype.valueOf.call(receiver);</span>
|
||
<span class="cstat-no" title="statement not covered" > return true;</span>
|
||
});
|
||
<span class="cstat-no" title="statement not covered" > if (receiver instanceof NumberShim && !valueOfSucceeds) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return new OrigNumber(primValue);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return OrigNumber(primValue);</span>
|
||
};
|
||
<span class="cstat-no" title="statement not covered" > return NumberShim;</span>
|
||
}());
|
||
<span class="cstat-no" title="statement not covered" > wrapConstructor(OrigNumber, NumberShim, {});</span>
|
||
// this is necessary for ES3 browsers, where these properties are non-enumerable.
|
||
<span class="cstat-no" title="statement not covered" > defineProperties(NumberShim, {</span>
|
||
NaN: OrigNumber.NaN,
|
||
MAX_VALUE: OrigNumber.MAX_VALUE,
|
||
MIN_VALUE: OrigNumber.MIN_VALUE,
|
||
NEGATIVE_INFINITY: OrigNumber.NEGATIVE_INFINITY,
|
||
POSITIVE_INFINITY: OrigNumber.POSITIVE_INFINITY
|
||
});
|
||
<span class="cstat-no" title="statement not covered" > Number = NumberShim; </span>// eslint-disable-line no-global-assign
|
||
<span class="cstat-no" title="statement not covered" > Value.redefine(globals, 'Number', NumberShim);</span>
|
||
}
|
||
|
||
var maxSafeInteger = Math.pow(2, 53) - 1;
|
||
defineProperties(Number, {
|
||
MAX_SAFE_INTEGER: maxSafeInteger,
|
||
MIN_SAFE_INTEGER: -maxSafeInteger,
|
||
EPSILON: 2.220446049250313e-16,
|
||
|
||
parseInt: globals.parseInt,
|
||
parseFloat: globals.parseFloat,
|
||
|
||
isFinite: numberIsFinite,
|
||
|
||
isInteger: function <span class="fstat-no" title="function not covered" >isInteger(</span>value) {
|
||
<span class="cstat-no" title="statement not covered" > return numberIsFinite(value) && ES.ToInteger(value) === value;</span>
|
||
},
|
||
|
||
isSafeInteger: function <span class="fstat-no" title="function not covered" >isSafeInteger(</span>value) {
|
||
<span class="cstat-no" title="statement not covered" > return Number.isInteger(value) && _abs(value) <= Number.MAX_SAFE_INTEGER;</span>
|
||
},
|
||
|
||
isNaN: numberIsNaN
|
||
});
|
||
// Firefox 37 has a conforming Number.parseInt, but it's not === to the global parseInt (fixed in v40)
|
||
defineProperty(Number, 'parseInt', globals.parseInt, Number.parseInt !== globals.parseInt);
|
||
|
||
// Work around bugs in Array#find and Array#findIndex -- early
|
||
// implementations skipped holes in sparse arrays. (Note that the
|
||
// implementations of find/findIndex indirectly use shimmed
|
||
// methods of Number, so this test has to happen down here.)
|
||
/* eslint-disable no-sparse-arrays */
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if ([, 1].find(function () { return true; }) === 1) {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Array.prototype, 'find', ArrayPrototypeShims.find);</span>
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if ([, 1].findIndex(function () { return true; }) !== 0) {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Array.prototype, 'findIndex', ArrayPrototypeShims.findIndex);</span>
|
||
}
|
||
/* eslint-enable no-sparse-arrays */
|
||
|
||
var isEnumerableOn = Function.bind.call(Function.bind, Object.prototype.propertyIsEnumerable);
|
||
var ensureEnumerable = function ensureEnumerable(obj, prop) {
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (supportsDescriptors && isEnumerableOn(obj, prop)) {
|
||
Object.defineProperty(obj, prop, { enumerable: false });
|
||
}
|
||
};
|
||
var sliceArgs = function <span class="fstat-no" title="function not covered" >sliceArgs(</span>) {
|
||
// per https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments
|
||
// and https://gist.github.com/WebReflection/4327762cb87a8c634a29
|
||
var initial = <span class="cstat-no" title="statement not covered" >Number(this);</span>
|
||
var len = <span class="cstat-no" title="statement not covered" >arguments.length;</span>
|
||
var desiredArgCount = <span class="cstat-no" title="statement not covered" >len - initial;</span>
|
||
var args = <span class="cstat-no" title="statement not covered" >new Array(desiredArgCount < 0 ? 0 : desiredArgCount);</span>
|
||
<span class="cstat-no" title="statement not covered" > for (var i = initial; i < len; ++i) {</span>
|
||
<span class="cstat-no" title="statement not covered" > args[i - initial] = arguments[i];</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return args;</span>
|
||
};
|
||
var assignTo = function <span class="fstat-no" title="function not covered" >assignTo(</span>source) {
|
||
<span class="cstat-no" title="statement not covered" > return function <span class="fstat-no" title="function not covered" >assignToSource(</span>target, key) {</span>
|
||
<span class="cstat-no" title="statement not covered" > target[key] = source[key];</span>
|
||
<span class="cstat-no" title="statement not covered" > return target;</span>
|
||
};
|
||
};
|
||
var assignReducer = <span class="fstat-no" title="function not covered" >fu</span>nction (target, source) {
|
||
var sourceKeys = <span class="cstat-no" title="statement not covered" >keys(Object(source));</span>
|
||
var symbols;
|
||
<span class="cstat-no" title="statement not covered" > if (ES.IsCallable(Object.getOwnPropertySymbols)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > symbols = _filter(Object.getOwnPropertySymbols(Object(source)), isEnumerableOn(source));</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return _reduce(_concat(sourceKeys, symbols || []), assignTo(source), target);</span>
|
||
};
|
||
|
||
var ObjectShims = {
|
||
// 19.1.3.1
|
||
assign: <span class="fstat-no" title="function not covered" >fu</span>nction (target, source) {
|
||
var to = <span class="cstat-no" title="statement not covered" >ES.ToObject(target, 'Cannot convert undefined or null to object');</span>
|
||
<span class="cstat-no" title="statement not covered" > return _reduce(ES.Call(sliceArgs, 1, arguments), assignReducer, to);</span>
|
||
},
|
||
|
||
// Added in WebKit in https://bugs.webkit.org/show_bug.cgi?id=143865
|
||
is: function <span class="fstat-no" title="function not covered" >is(</span>a, b) {
|
||
<span class="cstat-no" title="statement not covered" > return ES.SameValue(a, b);</span>
|
||
}
|
||
};
|
||
var assignHasPendingExceptions = Object.assign && Object.preventExtensions && (function () {
|
||
// Firefox 37 still has "pending exception" logic in its Object.assign implementation,
|
||
// which is 72% slower than our shim, and Firefox 40's native implementation.
|
||
var thrower = Object.preventExtensions({ 1: 2 });
|
||
try {
|
||
Object.assign(thrower, 'xy');
|
||
} catch (e) {
|
||
return thrower[1] === 'y';
|
||
}
|
||
}());
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (assignHasPendingExceptions) {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Object, 'assign', ObjectShims.assign);</span>
|
||
}
|
||
defineProperties(Object, ObjectShims);
|
||
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (supportsDescriptors) {
|
||
var ES5ObjectShims = {
|
||
// 19.1.3.9
|
||
// shim from https://gist.github.com/WebReflection/5593554
|
||
setPrototypeOf: (function (Object, magic) {
|
||
var set;
|
||
|
||
var checkArgs = <span class="fstat-no" title="function not covered" >fu</span>nction (O, proto) {
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(O)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('cannot set prototype on a non-object');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (!(proto === null || ES.TypeIsObject(proto))) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('can only set prototype to an object or null' + proto);</span>
|
||
}
|
||
};
|
||
|
||
var setPrototypeOf = <span class="fstat-no" title="function not covered" >fu</span>nction (O, proto) {
|
||
<span class="cstat-no" title="statement not covered" > checkArgs(O, proto);</span>
|
||
<span class="cstat-no" title="statement not covered" > _call(set, O, proto);</span>
|
||
<span class="cstat-no" title="statement not covered" > return O;</span>
|
||
};
|
||
|
||
try {
|
||
// this works already in Firefox and Safari
|
||
set = Object.getOwnPropertyDescriptor(Object.prototype, magic).set;
|
||
_call(set, {}, null);
|
||
} catch (e) {
|
||
<span class="cstat-no" title="statement not covered" > if (Object.prototype !== {}[magic]) {</span>
|
||
// IE < 11 cannot be shimmed
|
||
<span class="cstat-no" title="statement not covered" > return;</span>
|
||
}
|
||
// probably Chrome or some old Mobile stock browser
|
||
<span class="cstat-no" title="statement not covered" > set = <span class="fstat-no" title="function not covered" >fu</span>nction (proto) {</span>
|
||
<span class="cstat-no" title="statement not covered" > this[magic] = proto;</span>
|
||
};
|
||
// please note that this will **not** work
|
||
// in those browsers that do not inherit
|
||
// __proto__ by mistake from Object.prototype
|
||
// in these cases we should probably throw an error
|
||
// or at least be informed about the issue
|
||
<span class="cstat-no" title="statement not covered" > setPrototypeOf.polyfill = setPrototypeOf(</span>
|
||
setPrototypeOf({}, null),
|
||
Object.prototype
|
||
) instanceof Object;
|
||
// setPrototypeOf.polyfill === true means it works as meant
|
||
// setPrototypeOf.polyfill === false means it's not 100% reliable
|
||
// setPrototypeOf.polyfill === undefined
|
||
// or
|
||
// setPrototypeOf.polyfill == null means it's not a polyfill
|
||
// which means it works as expected
|
||
// we can even delete Object.prototype.__proto__;
|
||
}
|
||
return setPrototypeOf;
|
||
}(Object, '__proto__'))
|
||
};
|
||
|
||
defineProperties(Object, ES5ObjectShims);
|
||
}
|
||
|
||
// Workaround bug in Opera 12 where setPrototypeOf(x, null) doesn't work,
|
||
// but Object.create(null) does.
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
||
Object.setPrototypeOf
|
||
&& Object.getPrototypeOf
|
||
&& Object.getPrototypeOf(Object.setPrototypeOf({}, null)) !== null
|
||
&& <span class="branch-3 cbranch-no" title="branch not covered" >Object.getPrototypeOf(Object.create(null)) === null</span>
|
||
) {
|
||
<span class="cstat-no" title="statement not covered" > (<span class="fstat-no" title="function not covered" >fu</span>nction () {</span>
|
||
var FAKENULL = <span class="cstat-no" title="statement not covered" >Object.create(null);</span>
|
||
var gpo = <span class="cstat-no" title="statement not covered" >Object.getPrototypeOf;</span>
|
||
var spo = <span class="cstat-no" title="statement not covered" >Object.setPrototypeOf;</span>
|
||
<span class="cstat-no" title="statement not covered" > Object.getPrototypeOf = <span class="fstat-no" title="function not covered" >fu</span>nction (o) {</span>
|
||
var result = <span class="cstat-no" title="statement not covered" >gpo(o);</span>
|
||
<span class="cstat-no" title="statement not covered" > return result === FAKENULL ? null : result;</span>
|
||
};
|
||
<span class="cstat-no" title="statement not covered" > Object.setPrototypeOf = <span class="fstat-no" title="function not covered" >fu</span>nction (o, p) {</span>
|
||
var proto = <span class="cstat-no" title="statement not covered" >p === null ? FAKENULL : p;</span>
|
||
<span class="cstat-no" title="statement not covered" > return spo(o, proto);</span>
|
||
};
|
||
<span class="cstat-no" title="statement not covered" > Object.setPrototypeOf.polyfill = false;</span>
|
||
}());
|
||
}
|
||
|
||
var objectKeysAcceptsPrimitives = !throwsError(function () { return Object.keys('foo'); });
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!objectKeysAcceptsPrimitives) {
|
||
var originalObjectKeys = <span class="cstat-no" title="statement not covered" >Object.keys;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Object, 'keys', function <span class="fstat-no" title="function not covered" >keys(</span>value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return originalObjectKeys(ES.ToObject(value));</span>
|
||
});
|
||
<span class="cstat-no" title="statement not covered" > keys = Object.keys;</span>
|
||
}
|
||
var objectKeysRejectsRegex = throwsError(function () { return Object.keys(/a/g); });
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (objectKeysRejectsRegex) {
|
||
var regexRejectingObjectKeys = <span class="cstat-no" title="statement not covered" >Object.keys;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Object, 'keys', function <span class="fstat-no" title="function not covered" >keys(</span>value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (Type.regex(value)) {</span>
|
||
var regexKeys = <span class="cstat-no" title="statement not covered" >[];</span>
|
||
<span class="cstat-no" title="statement not covered" > for (var k in value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (_hasOwnProperty(value, k)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _push(regexKeys, k);</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return regexKeys;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return regexRejectingObjectKeys(value);</span>
|
||
});
|
||
<span class="cstat-no" title="statement not covered" > keys = Object.keys;</span>
|
||
}
|
||
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (Object.getOwnPropertyNames) {
|
||
var objectGOPNAcceptsPrimitives = !throwsError(function () { return Object.getOwnPropertyNames('foo'); });
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!objectGOPNAcceptsPrimitives) {
|
||
var cachedWindowNames = <span class="cstat-no" title="statement not covered" >typeof window === 'object' ? Object.getOwnPropertyNames(window) : [];</span>
|
||
var originalObjectGetOwnPropertyNames = <span class="cstat-no" title="statement not covered" >Object.getOwnPropertyNames;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Object, 'getOwnPropertyNames', function <span class="fstat-no" title="function not covered" >getOwnPropertyNames(</span>value) {</span>
|
||
var val = <span class="cstat-no" title="statement not covered" >ES.ToObject(value);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (_toString(val) === '[object Window]') {</span>
|
||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||
<span class="cstat-no" title="statement not covered" > return originalObjectGetOwnPropertyNames(val);</span>
|
||
} catch (e) {
|
||
// IE bug where layout engine calls userland gOPN for cross-domain `window` objects
|
||
<span class="cstat-no" title="statement not covered" > return _concat([], cachedWindowNames);</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return originalObjectGetOwnPropertyNames(val);</span>
|
||
});
|
||
}
|
||
}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (Object.getOwnPropertyDescriptor) {
|
||
var objectGOPDAcceptsPrimitives = !throwsError(function () { return Object.getOwnPropertyDescriptor('foo', 'bar'); });
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!objectGOPDAcceptsPrimitives) {
|
||
var originalObjectGetOwnPropertyDescriptor = <span class="cstat-no" title="statement not covered" >Object.getOwnPropertyDescriptor;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Object, 'getOwnPropertyDescriptor', function <span class="fstat-no" title="function not covered" >getOwnPropertyDescriptor(</span>value, property) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return originalObjectGetOwnPropertyDescriptor(ES.ToObject(value), property);</span>
|
||
});
|
||
}
|
||
}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (Object.seal) {
|
||
var objectSealAcceptsPrimitives = !throwsError(function () { return Object.seal('foo'); });
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!objectSealAcceptsPrimitives) {
|
||
var originalObjectSeal = <span class="cstat-no" title="statement not covered" >Object.seal;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Object, 'seal', function <span class="fstat-no" title="function not covered" >seal(</span>value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(value)) { <span class="cstat-no" title="statement not covered" >return value; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > return originalObjectSeal(value);</span>
|
||
});
|
||
}
|
||
}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (Object.isSealed) {
|
||
var objectIsSealedAcceptsPrimitives = !throwsError(function () { return Object.isSealed('foo'); });
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!objectIsSealedAcceptsPrimitives) {
|
||
var originalObjectIsSealed = <span class="cstat-no" title="statement not covered" >Object.isSealed;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Object, 'isSealed', function <span class="fstat-no" title="function not covered" >isSealed(</span>value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(value)) { <span class="cstat-no" title="statement not covered" >return true; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > return originalObjectIsSealed(value);</span>
|
||
});
|
||
}
|
||
}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (Object.freeze) {
|
||
var objectFreezeAcceptsPrimitives = !throwsError(function () { return Object.freeze('foo'); });
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!objectFreezeAcceptsPrimitives) {
|
||
var originalObjectFreeze = <span class="cstat-no" title="statement not covered" >Object.freeze;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Object, 'freeze', function <span class="fstat-no" title="function not covered" >freeze(</span>value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(value)) { <span class="cstat-no" title="statement not covered" >return value; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > return originalObjectFreeze(value);</span>
|
||
});
|
||
}
|
||
}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (Object.isFrozen) {
|
||
var objectIsFrozenAcceptsPrimitives = !throwsError(function () { return Object.isFrozen('foo'); });
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!objectIsFrozenAcceptsPrimitives) {
|
||
var originalObjectIsFrozen = <span class="cstat-no" title="statement not covered" >Object.isFrozen;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Object, 'isFrozen', function <span class="fstat-no" title="function not covered" >isFrozen(</span>value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(value)) { <span class="cstat-no" title="statement not covered" >return true; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > return originalObjectIsFrozen(value);</span>
|
||
});
|
||
}
|
||
}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (Object.preventExtensions) {
|
||
var objectPreventExtensionsAcceptsPrimitives = !throwsError(function () { return Object.preventExtensions('foo'); });
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!objectPreventExtensionsAcceptsPrimitives) {
|
||
var originalObjectPreventExtensions = <span class="cstat-no" title="statement not covered" >Object.preventExtensions;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Object, 'preventExtensions', function <span class="fstat-no" title="function not covered" >preventExtensions(</span>value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(value)) { <span class="cstat-no" title="statement not covered" >return value; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > return originalObjectPreventExtensions(value);</span>
|
||
});
|
||
}
|
||
}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (Object.isExtensible) {
|
||
var objectIsExtensibleAcceptsPrimitives = !throwsError(function () { return Object.isExtensible('foo'); });
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!objectIsExtensibleAcceptsPrimitives) {
|
||
var originalObjectIsExtensible = <span class="cstat-no" title="statement not covered" >Object.isExtensible;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Object, 'isExtensible', function <span class="fstat-no" title="function not covered" >isExtensible(</span>value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(value)) { <span class="cstat-no" title="statement not covered" >return false; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > return originalObjectIsExtensible(value);</span>
|
||
});
|
||
}
|
||
}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (Object.getPrototypeOf) {
|
||
var objectGetProtoAcceptsPrimitives = !throwsError(function () { return Object.getPrototypeOf('foo'); });
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!objectGetProtoAcceptsPrimitives) {
|
||
var originalGetProto = <span class="cstat-no" title="statement not covered" >Object.getPrototypeOf;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Object, 'getPrototypeOf', function <span class="fstat-no" title="function not covered" >getPrototypeOf(</span>value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return originalGetProto(ES.ToObject(value));</span>
|
||
});
|
||
}
|
||
}
|
||
|
||
var hasFlags = supportsDescriptors && (function () {
|
||
var desc = Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags');
|
||
return desc && ES.IsCallable(desc.get);
|
||
}());
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (supportsDescriptors && !hasFlags) {
|
||
var regExpFlagsGetter = <span class="cstat-no" title="statement not covered" >function <span class="fstat-no" title="function not covered" >flags(</span>) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(this)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Method called on incompatible type: must be an object.');</span>
|
||
}
|
||
var result = <span class="cstat-no" title="statement not covered" >'';</span>
|
||
<span class="cstat-no" title="statement not covered" > if (this.global) {</span>
|
||
<span class="cstat-no" title="statement not covered" > result += 'g';</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (this.ignoreCase) {</span>
|
||
<span class="cstat-no" title="statement not covered" > result += 'i';</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (this.multiline) {</span>
|
||
<span class="cstat-no" title="statement not covered" > result += 'm';</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (this.unicode) {</span>
|
||
<span class="cstat-no" title="statement not covered" > result += 'u';</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (this.sticky) {</span>
|
||
<span class="cstat-no" title="statement not covered" > result += 'y';</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return result;</span>
|
||
};
|
||
|
||
<span class="cstat-no" title="statement not covered" > Value.getter(RegExp.prototype, 'flags', regExpFlagsGetter);</span>
|
||
}
|
||
|
||
var regExpSupportsFlagsWithRegex = supportsDescriptors && valueOrFalseIfThrows(function () {
|
||
return String(new RegExp(/a/g, 'i')) === '/a/i';
|
||
});
|
||
var regExpNeedsToSupportSymbolMatch = hasSymbols && supportsDescriptors && (function () {
|
||
// Edge 0.12 supports flags fully, but does not support Symbol.match
|
||
var regex = /./;
|
||
regex[Symbol.match] = false;
|
||
return RegExp(regex) === regex;
|
||
}());
|
||
|
||
var regexToStringIsGeneric = valueOrFalseIfThrows(function () {
|
||
return RegExp.prototype.toString.call({ source: 'abc' }) === '/abc/';
|
||
});
|
||
var regexToStringSupportsGenericFlags = regexToStringIsGeneric && <span class="branch-1 cbranch-no" title="branch not covered" >valueOrFalseIfThrows(<span class="fstat-no" title="function not covered" >fu</span>nction () {</span>
|
||
<span class="cstat-no" title="statement not covered" > return RegExp.prototype.toString.call({ source: 'a', flags: 'b' }) === '/a/b';</span>
|
||
});
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (!regexToStringIsGeneric || <span class="branch-1 cbranch-no" title="branch not covered" >!regexToStringSupportsGenericFlags)</span> {
|
||
var origRegExpToString = RegExp.prototype.toString;
|
||
defineProperty(RegExp.prototype, 'toString', function toString() {
|
||
var R = ES.RequireObjectCoercible(this);
|
||
if (Type.regex(R)) {
|
||
return _call(origRegExpToString, R);
|
||
}
|
||
var pattern = $String(R.source);
|
||
var flags = $String(R.flags);
|
||
return '/' + pattern + '/' + flags;
|
||
}, true);
|
||
Value.preserveToString(RegExp.prototype.toString, origRegExpToString);
|
||
RegExp.prototype.toString.prototype = void 0;
|
||
}
|
||
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (supportsDescriptors && (!regExpSupportsFlagsWithRegex || regExpNeedsToSupportSymbolMatch)) {
|
||
var flagsGetter = <span class="cstat-no" title="statement not covered" >Object.getOwnPropertyDescriptor(RegExp.prototype, 'flags').get;</span>
|
||
var sourceDesc = <span class="cstat-no" title="statement not covered" >Object.getOwnPropertyDescriptor(RegExp.prototype, 'source') || {};</span>
|
||
var legacySourceGetter = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >fu</span>nction () {</span>
|
||
// prior to it being a getter, it's own + nonconfigurable
|
||
<span class="cstat-no" title="statement not covered" > return this.source;</span>
|
||
};
|
||
var sourceGetter = <span class="cstat-no" title="statement not covered" >ES.IsCallable(sourceDesc.get) ? sourceDesc.get : legacySourceGetter;</span>
|
||
|
||
var OrigRegExp = <span class="cstat-no" title="statement not covered" >RegExp;</span>
|
||
var RegExpShim = (<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >fu</span>nction () {</span>
|
||
<span class="cstat-no" title="statement not covered" > return function <span class="fstat-no" title="function not covered" >RegExp(</span>pattern, flags) {</span>
|
||
var patternIsRegExp = <span class="cstat-no" title="statement not covered" >ES.IsRegExp(pattern);</span>
|
||
var calledWithNew = <span class="cstat-no" title="statement not covered" >this instanceof RegExp;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!calledWithNew && patternIsRegExp && typeof flags === 'undefined' && pattern.constructor === RegExp) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return pattern;</span>
|
||
}
|
||
|
||
var P = <span class="cstat-no" title="statement not covered" >pattern;</span>
|
||
var F = <span class="cstat-no" title="statement not covered" >flags;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (Type.regex(pattern)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > P = ES.Call(sourceGetter, pattern);</span>
|
||
<span class="cstat-no" title="statement not covered" > F = typeof flags === 'undefined' ? ES.Call(flagsGetter, pattern) : flags;</span>
|
||
<span class="cstat-no" title="statement not covered" > return new RegExp(P, F);</span>
|
||
} else <span class="cstat-no" title="statement not covered" >if (patternIsRegExp) {</span>
|
||
<span class="cstat-no" title="statement not covered" > P = pattern.source;</span>
|
||
<span class="cstat-no" title="statement not covered" > F = typeof flags === 'undefined' ? pattern.flags : flags;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return new OrigRegExp(pattern, flags);</span>
|
||
};
|
||
}());
|
||
<span class="cstat-no" title="statement not covered" > wrapConstructor(OrigRegExp, RegExpShim, {</span>
|
||
$input: true // Chrome < v39 & Opera < 26 have a nonstandard "$input" property
|
||
});
|
||
<span class="cstat-no" title="statement not covered" > RegExp = RegExpShim; </span>// eslint-disable-line no-global-assign
|
||
<span class="cstat-no" title="statement not covered" > Value.redefine(globals, 'RegExp', RegExpShim);</span>
|
||
}
|
||
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (supportsDescriptors) {
|
||
var regexGlobals = {
|
||
input: '$_',
|
||
lastMatch: '$&',
|
||
lastParen: '$+',
|
||
leftContext: '$`',
|
||
rightContext: '$\''
|
||
};
|
||
_forEach(keys(regexGlobals), function (prop) {
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (prop in RegExp && !(regexGlobals[prop] in RegExp)) {
|
||
<span class="cstat-no" title="statement not covered" > Value.getter(RegExp, regexGlobals[prop], function <span class="fstat-no" title="function not covered" >get(</span>) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return RegExp[prop];</span>
|
||
});
|
||
}
|
||
});
|
||
}
|
||
addDefaultSpecies(RegExp);
|
||
|
||
var inverseEpsilon = 1 / Number.EPSILON;
|
||
var roundTiesToEven = function <span class="fstat-no" title="function not covered" >roundTiesToEven(</span>n) {
|
||
// Even though this reduces down to `return n`, it takes advantage of built-in rounding.
|
||
<span class="cstat-no" title="statement not covered" > return (n + inverseEpsilon) - inverseEpsilon;</span>
|
||
};
|
||
var BINARY_32_EPSILON = Math.pow(2, -23);
|
||
var BINARY_32_MAX_VALUE = Math.pow(2, 127) * (2 - BINARY_32_EPSILON);
|
||
var BINARY_32_MIN_VALUE = Math.pow(2, -126);
|
||
var E = Math.E;
|
||
var LOG2E = Math.LOG2E;
|
||
var LOG10E = Math.LOG10E;
|
||
var numberCLZ = Number.prototype.clz;
|
||
delete Number.prototype.clz; // Safari 8 has Number#clz
|
||
|
||
var MathShims = {
|
||
acosh: function <span class="fstat-no" title="function not covered" >acosh(</span>value) {
|
||
var x = <span class="cstat-no" title="statement not covered" >Number(value);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (numberIsNaN(x) || value < 1) { <span class="cstat-no" title="statement not covered" >return NaN; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (x === 1) { <span class="cstat-no" title="statement not covered" >return 0; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (x === Infinity) { <span class="cstat-no" title="statement not covered" >return x; </span>}</span>
|
||
|
||
var xInvSquared = <span class="cstat-no" title="statement not covered" >1 / (x * x);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (x < 2) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return _log1p(x - 1 + (_sqrt(1 - xInvSquared) * x));</span>
|
||
}
|
||
var halfX = <span class="cstat-no" title="statement not covered" >x / 2;</span>
|
||
<span class="cstat-no" title="statement not covered" > return _log1p(halfX + (_sqrt(1 - xInvSquared) * halfX) - 1) + (1 / LOG2E);</span>
|
||
},
|
||
|
||
asinh: function <span class="fstat-no" title="function not covered" >asinh(</span>value) {
|
||
var x = <span class="cstat-no" title="statement not covered" >Number(value);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (x === 0 || !globalIsFinite(x)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return x;</span>
|
||
}
|
||
|
||
var a = <span class="cstat-no" title="statement not covered" >_abs(x);</span>
|
||
var aSquared = <span class="cstat-no" title="statement not covered" >a * a;</span>
|
||
var s = <span class="cstat-no" title="statement not covered" >_sign(x);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (a < 1) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return s * _log1p(a + (aSquared / (_sqrt(aSquared + 1) + 1)));</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return s * (_log1p((a / 2) + (_sqrt(1 + (1 / aSquared)) * a / 2) - 1) + (1 / LOG2E));</span>
|
||
},
|
||
|
||
atanh: function <span class="fstat-no" title="function not covered" >atanh(</span>value) {
|
||
var x = <span class="cstat-no" title="statement not covered" >Number(value);</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > if (x === 0) { <span class="cstat-no" title="statement not covered" >return x; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (x === -1) { <span class="cstat-no" title="statement not covered" >return -Infinity; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (x === 1) { <span class="cstat-no" title="statement not covered" >return Infinity; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (numberIsNaN(x) || x < -1 || x > 1) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return NaN;</span>
|
||
}
|
||
|
||
var a = <span class="cstat-no" title="statement not covered" >_abs(x);</span>
|
||
<span class="cstat-no" title="statement not covered" > return _sign(x) * _log1p(2 * a / (1 - a)) / 2;</span>
|
||
},
|
||
|
||
cbrt: function <span class="fstat-no" title="function not covered" >cbrt(</span>value) {
|
||
var x = <span class="cstat-no" title="statement not covered" >Number(value);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (x === 0) { <span class="cstat-no" title="statement not covered" >return x; </span>}</span>
|
||
var negate = <span class="cstat-no" title="statement not covered" >x < 0;</span>
|
||
var result;
|
||
<span class="cstat-no" title="statement not covered" > if (negate) { <span class="cstat-no" title="statement not covered" >x = -x; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (x === Infinity) {</span>
|
||
<span class="cstat-no" title="statement not covered" > result = Infinity;</span>
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > result = _exp(_log(x) / 3);</span>
|
||
// from http://en.wikipedia.org/wiki/Cube_root#Numerical_methods
|
||
<span class="cstat-no" title="statement not covered" > result = ((x / (result * result)) + (2 * result)) / 3;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return negate ? -result : result;</span>
|
||
},
|
||
|
||
clz32: function <span class="fstat-no" title="function not covered" >clz32(</span>value) {
|
||
// See https://bugs.ecmascript.org/show_bug.cgi?id=2465
|
||
var x = <span class="cstat-no" title="statement not covered" >Number(value);</span>
|
||
var number = <span class="cstat-no" title="statement not covered" >ES.ToUint32(x);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (number === 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return 32;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return numberCLZ ? ES.Call(numberCLZ, number) : 31 - _floor(_log(number + 0.5) * LOG2E);</span>
|
||
},
|
||
|
||
cosh: function <span class="fstat-no" title="function not covered" >cosh(</span>value) {
|
||
var x = <span class="cstat-no" title="statement not covered" >Number(value);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (x === 0) { <span class="cstat-no" title="statement not covered" >return 1; </span>} </span>// +0 or -0
|
||
<span class="cstat-no" title="statement not covered" > if (numberIsNaN(x)) { <span class="cstat-no" title="statement not covered" >return NaN; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!globalIsFinite(x)) { <span class="cstat-no" title="statement not covered" >return Infinity; </span>}</span>
|
||
|
||
var t = <span class="cstat-no" title="statement not covered" >_exp(_abs(x) - 1);</span>
|
||
<span class="cstat-no" title="statement not covered" > return (t + (1 / (t * E * E))) * (E / 2);</span>
|
||
},
|
||
|
||
expm1: function <span class="fstat-no" title="function not covered" >expm1(</span>value) {
|
||
var x = <span class="cstat-no" title="statement not covered" >Number(value);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (x === -Infinity) { <span class="cstat-no" title="statement not covered" >return -1; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!globalIsFinite(x) || x === 0) { <span class="cstat-no" title="statement not covered" >return x; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (_abs(x) > 0.5) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return _exp(x) - 1;</span>
|
||
}
|
||
// A more precise approximation using Taylor series expansion
|
||
// from https://github.com/paulmillr/es6-shim/issues/314#issuecomment-70293986
|
||
var t = <span class="cstat-no" title="statement not covered" >x;</span>
|
||
var sum = <span class="cstat-no" title="statement not covered" >0;</span>
|
||
var n = <span class="cstat-no" title="statement not covered" >1;</span>
|
||
<span class="cstat-no" title="statement not covered" > while (sum + t !== sum) {</span>
|
||
<span class="cstat-no" title="statement not covered" > sum += t;</span>
|
||
<span class="cstat-no" title="statement not covered" > n += 1;</span>
|
||
<span class="cstat-no" title="statement not covered" > t *= x / n;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return sum;</span>
|
||
},
|
||
|
||
hypot: function <span class="fstat-no" title="function not covered" >hypot(</span>x, y) {
|
||
var result = <span class="cstat-no" title="statement not covered" >0;</span>
|
||
var largest = <span class="cstat-no" title="statement not covered" >0;</span>
|
||
<span class="cstat-no" title="statement not covered" > for (var i = 0; i < arguments.length; ++i) {</span>
|
||
var value = <span class="cstat-no" title="statement not covered" >_abs(Number(arguments[i]));</span>
|
||
<span class="cstat-no" title="statement not covered" > if (largest < value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > result *= (largest / value) * (largest / value);</span>
|
||
<span class="cstat-no" title="statement not covered" > result += 1;</span>
|
||
<span class="cstat-no" title="statement not covered" > largest = value;</span>
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > result += value > 0 ? (value / largest) * (value / largest) : value;</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return largest === Infinity ? Infinity : largest * _sqrt(result);</span>
|
||
},
|
||
|
||
log2: function <span class="fstat-no" title="function not covered" >log2(</span>value) {
|
||
<span class="cstat-no" title="statement not covered" > return _log(value) * LOG2E;</span>
|
||
},
|
||
|
||
log10: function <span class="fstat-no" title="function not covered" >log10(</span>value) {
|
||
<span class="cstat-no" title="statement not covered" > return _log(value) * LOG10E;</span>
|
||
},
|
||
|
||
log1p: _log1p,
|
||
|
||
sign: _sign,
|
||
|
||
sinh: function <span class="fstat-no" title="function not covered" >sinh(</span>value) {
|
||
var x = <span class="cstat-no" title="statement not covered" >Number(value);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!globalIsFinite(x) || x === 0) { <span class="cstat-no" title="statement not covered" >return x; </span>}</span>
|
||
|
||
var a = <span class="cstat-no" title="statement not covered" >_abs(x);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (a < 1) {</span>
|
||
var u = <span class="cstat-no" title="statement not covered" >Math.expm1(a);</span>
|
||
<span class="cstat-no" title="statement not covered" > return _sign(x) * u * (1 + (1 / (u + 1))) / 2;</span>
|
||
}
|
||
var t = <span class="cstat-no" title="statement not covered" >_exp(a - 1);</span>
|
||
<span class="cstat-no" title="statement not covered" > return _sign(x) * (t - (1 / (t * E * E))) * (E / 2);</span>
|
||
},
|
||
|
||
tanh: function <span class="fstat-no" title="function not covered" >tanh(</span>value) {
|
||
var x = <span class="cstat-no" title="statement not covered" >Number(value);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (numberIsNaN(x) || x === 0) { <span class="cstat-no" title="statement not covered" >return x; </span>}</span>
|
||
// can exit early at +-20 as JS loses precision for true value at this integer
|
||
<span class="cstat-no" title="statement not covered" > if (x >= 20) { <span class="cstat-no" title="statement not covered" >return 1; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > if (x <= -20) { <span class="cstat-no" title="statement not covered" >return -1; </span>}</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > return (Math.expm1(x) - Math.expm1(-x)) / (_exp(x) + _exp(-x));</span>
|
||
},
|
||
|
||
trunc: function <span class="fstat-no" title="function not covered" >trunc(</span>value) {
|
||
var x = <span class="cstat-no" title="statement not covered" >Number(value);</span>
|
||
<span class="cstat-no" title="statement not covered" > return x < 0 ? -_floor(-x) : _floor(x);</span>
|
||
},
|
||
|
||
imul: function <span class="fstat-no" title="function not covered" >imul(</span>x, y) {
|
||
// taken from https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Math/imul
|
||
var a = <span class="cstat-no" title="statement not covered" >ES.ToUint32(x);</span>
|
||
var b = <span class="cstat-no" title="statement not covered" >ES.ToUint32(y);</span>
|
||
var ah = <span class="cstat-no" title="statement not covered" >(a >>> 16) & 0xffff;</span>
|
||
var al = <span class="cstat-no" title="statement not covered" >a & 0xffff;</span>
|
||
var bh = <span class="cstat-no" title="statement not covered" >(b >>> 16) & 0xffff;</span>
|
||
var bl = <span class="cstat-no" title="statement not covered" >b & 0xffff;</span>
|
||
// the shift by 0 fixes the sign on the high part
|
||
// the final |0 converts the unsigned value into a signed value
|
||
<span class="cstat-no" title="statement not covered" > return (al * bl) + ((((ah * bl) + (al * bh)) << 16) >>> 0) | 0;</span>
|
||
},
|
||
|
||
fround: function <span class="fstat-no" title="function not covered" >fround(</span>x) {
|
||
var v = <span class="cstat-no" title="statement not covered" >Number(x);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (v === 0 || v === Infinity || v === -Infinity || numberIsNaN(v)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return v;</span>
|
||
}
|
||
var sign = <span class="cstat-no" title="statement not covered" >_sign(v);</span>
|
||
var abs = <span class="cstat-no" title="statement not covered" >_abs(v);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (abs < BINARY_32_MIN_VALUE) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return sign * roundTiesToEven(abs / BINARY_32_MIN_VALUE / BINARY_32_EPSILON) * BINARY_32_MIN_VALUE * BINARY_32_EPSILON;</span>
|
||
}
|
||
// Veltkamp's splitting (?)
|
||
var a = <span class="cstat-no" title="statement not covered" >(1 + (BINARY_32_EPSILON / Number.EPSILON)) * abs;</span>
|
||
var result = <span class="cstat-no" title="statement not covered" >a - (a - abs);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (result > BINARY_32_MAX_VALUE || numberIsNaN(result)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return sign * Infinity;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return sign * result;</span>
|
||
}
|
||
};
|
||
|
||
var withinULPDistance = function withinULPDistance(result, expected, distance) {
|
||
return _abs(1 - (result / expected)) / Number.EPSILON < (distance || 8);
|
||
};
|
||
|
||
defineProperties(Math, MathShims);
|
||
// Chrome < 40 sinh returns ∞ for large numbers
|
||
defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(710) === Infinity);
|
||
// Chrome < 40 cosh returns ∞ for large numbers
|
||
defineProperty(Math, 'cosh', MathShims.cosh, Math.cosh(710) === Infinity);
|
||
// IE 11 TP has an imprecise log1p: reports Math.log1p(-1e-17) as 0
|
||
defineProperty(Math, 'log1p', MathShims.log1p, Math.log1p(-1e-17) !== -1e-17);
|
||
// IE 11 TP has an imprecise asinh: reports Math.asinh(-1e7) as not exactly equal to -Math.asinh(1e7)
|
||
defineProperty(Math, 'asinh', MathShims.asinh, Math.asinh(-1e7) !== -Math.asinh(1e7));
|
||
// Chrome < 54 asinh returns ∞ for large numbers and should not
|
||
defineProperty(Math, 'asinh', MathShims.asinh, Math.asinh(1e+300) === Infinity);
|
||
// Chrome < 54 atanh incorrectly returns 0 for large numbers
|
||
defineProperty(Math, 'atanh', MathShims.atanh, Math.atanh(1e-300) === 0);
|
||
// Chrome 40 has an imprecise Math.tanh with very small numbers
|
||
defineProperty(Math, 'tanh', MathShims.tanh, Math.tanh(-2e-17) !== -2e-17);
|
||
// Chrome 40 loses Math.acosh precision with high numbers
|
||
defineProperty(Math, 'acosh', MathShims.acosh, Math.acosh(Number.MAX_VALUE) === Infinity);
|
||
// Chrome < 54 has an inaccurate acosh for EPSILON deltas
|
||
defineProperty(Math, 'acosh', MathShims.acosh, !withinULPDistance(Math.acosh(1 + Number.EPSILON), Math.sqrt(2 * Number.EPSILON)));
|
||
// Firefox 38 on Windows
|
||
defineProperty(Math, 'cbrt', MathShims.cbrt, !withinULPDistance(Math.cbrt(1e-300), 1e-100));
|
||
// node 0.11 has an imprecise Math.sinh with very small numbers
|
||
defineProperty(Math, 'sinh', MathShims.sinh, Math.sinh(-2e-17) !== -2e-17);
|
||
// FF 35 on Linux reports 22025.465794806725 for Math.expm1(10)
|
||
var expm1OfTen = Math.expm1(10);
|
||
defineProperty(Math, 'expm1', MathShims.expm1, expm1OfTen > 22025.465794806719 || expm1OfTen < 22025.4657948067165168);
|
||
// node v12.11 - v12.15 report NaN
|
||
defineProperty(Math, 'hypot', MathShims.hypot, Math.hypot(Infinity, NaN) !== Infinity);
|
||
|
||
var origMathRound = Math.round;
|
||
// breaks in e.g. Safari 8, Internet Explorer 11, Opera 12
|
||
var roundHandlesBoundaryConditions = Math.round(0.5 - (Number.EPSILON / 4)) === 0
|
||
&& Math.round(-0.5 + (Number.EPSILON / 3.99)) === 1;
|
||
|
||
// When engines use Math.floor(x + 0.5) internally, Math.round can be buggy for large integers.
|
||
// This behavior should be governed by "round to nearest, ties to even mode"
|
||
// see http://www.ecma-international.org/ecma-262/6.0/#sec-terms-and-definitions-number-type
|
||
// These are the boundary cases where it breaks.
|
||
var smallestPositiveNumberWhereRoundBreaks = inverseEpsilon + 1;
|
||
var largestPositiveNumberWhereRoundBreaks = (2 * inverseEpsilon) - 1;
|
||
var roundDoesNotIncreaseIntegers = [
|
||
smallestPositiveNumberWhereRoundBreaks,
|
||
largestPositiveNumberWhereRoundBreaks
|
||
].every(function (num) {
|
||
return Math.round(num) === num;
|
||
});
|
||
defineProperty(Math, 'round', function round(x) {
|
||
var floor = _floor(x);
|
||
var ceil = floor === -1 ? -0 : floor + 1;
|
||
return x - floor < 0.5 ? floor : ceil;
|
||
}, !roundHandlesBoundaryConditions || <span class="branch-1 cbranch-no" title="branch not covered" >!roundDoesNotIncreaseIntegers)</span>;
|
||
Value.preserveToString(Math.round, origMathRound);
|
||
|
||
var origImul = Math.imul;
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (Math.imul(0xffffffff, 5) !== -5) {
|
||
// Safari 6.1, at least, reports "0" for this value
|
||
<span class="cstat-no" title="statement not covered" > Math.imul = MathShims.imul;</span>
|
||
<span class="cstat-no" title="statement not covered" > Value.preserveToString(Math.imul, origImul);</span>
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (Math.imul.length !== 2) {
|
||
// Safari 8.0.4 has a length of 1
|
||
// fixed in https://bugs.webkit.org/show_bug.cgi?id=143658
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Math, 'imul', function <span class="fstat-no" title="function not covered" >imul(</span>x, y) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(origImul, Math, arguments);</span>
|
||
});
|
||
}
|
||
|
||
// Promises
|
||
// Simplest possible implementation; use a 3rd-party library if you
|
||
// want the best possible speed and/or long stack traces.
|
||
var PromiseShim = (function () {
|
||
var setTimeout = globals.setTimeout;
|
||
// some environments don't have setTimeout - no way to shim here.
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof setTimeout !== 'function' && <span class="branch-1 cbranch-no" title="branch not covered" >typeof setTimeout !== 'object')</span> { <span class="cstat-no" title="statement not covered" >return; </span>}
|
||
|
||
ES.IsPromise = <span class="fstat-no" title="function not covered" >fu</span>nction (promise) {
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(promise)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return false;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (typeof promise._promise === 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return false; </span>// uninitialized, or missing our hidden field.
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return true;</span>
|
||
};
|
||
|
||
// "PromiseCapability" in the spec is what most promise implementations
|
||
// call a "deferred".
|
||
var PromiseCapability = function (C) {
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!ES.IsConstructor(C)) {
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Bad promise constructor');</span>
|
||
}
|
||
var capability = this;
|
||
var resolver = function (resolve, reject) {
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (capability.resolve !== void 0 || capability.reject !== void 0) {
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Bad Promise implementation!');</span>
|
||
}
|
||
capability.resolve = resolve;
|
||
capability.reject = reject;
|
||
};
|
||
// Initialize fields to inform optimizers about the object shape.
|
||
capability.resolve = void 0;
|
||
capability.reject = void 0;
|
||
capability.promise = new C(resolver);
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!(ES.IsCallable(capability.resolve) && ES.IsCallable(capability.reject))) {
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Bad promise constructor');</span>
|
||
}
|
||
};
|
||
|
||
// find an appropriate setImmediate-alike
|
||
var makeZeroTimeout;
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof window !== 'undefined' && <span class="branch-1 cbranch-no" title="branch not covered" >ES.IsCallable(window.postMessage))</span> {
|
||
<span class="cstat-no" title="statement not covered" > makeZeroTimeout = <span class="fstat-no" title="function not covered" >fu</span>nction () {</span>
|
||
// from http://dbaron.org/log/20100309-faster-timeouts
|
||
var timeouts = <span class="cstat-no" title="statement not covered" >[];</span>
|
||
var messageName = <span class="cstat-no" title="statement not covered" >'zero-timeout-message';</span>
|
||
var setZeroTimeout = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >fu</span>nction (fn) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _push(timeouts, fn);</span>
|
||
<span class="cstat-no" title="statement not covered" > window.postMessage(messageName, '*');</span>
|
||
};
|
||
var handleMessage = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >fu</span>nction (event) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (event.source === window && event.data === messageName) {</span>
|
||
<span class="cstat-no" title="statement not covered" > event.stopPropagation();</span>
|
||
<span class="cstat-no" title="statement not covered" > if (timeouts.length === 0) { <span class="cstat-no" title="statement not covered" >return; </span>}</span>
|
||
var fn = <span class="cstat-no" title="statement not covered" >_shift(timeouts);</span>
|
||
<span class="cstat-no" title="statement not covered" > fn();</span>
|
||
}
|
||
};
|
||
<span class="cstat-no" title="statement not covered" > window.addEventListener('message', handleMessage, true);</span>
|
||
<span class="cstat-no" title="statement not covered" > return setZeroTimeout;</span>
|
||
};
|
||
}
|
||
var makePromiseAsap = <span class="fstat-no" title="function not covered" >fu</span>nction () {
|
||
// An efficient task-scheduler based on a pre-existing Promise
|
||
// implementation, which we can use even if we override the
|
||
// global Promise below (in order to workaround bugs)
|
||
// https://github.com/Raynos/observ-hash/issues/2#issuecomment-35857671
|
||
var P = <span class="cstat-no" title="statement not covered" >globals.Promise;</span>
|
||
var pr = <span class="cstat-no" title="statement not covered" >P && P.resolve && P.resolve();</span>
|
||
<span class="cstat-no" title="statement not covered" > return pr && <span class="fstat-no" title="function not covered" >fu</span>nction (task) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return pr.then(task);</span>
|
||
};
|
||
};
|
||
var enqueue = ES.IsCallable(globals.setImmediate)
|
||
? globals.setImmediate
|
||
: (
|
||
<span class="branch-1 cbranch-no" title="branch not covered" > typeof process === 'object' && process.nextTick</span>
|
||
? process.nextTick
|
||
: makePromiseAsap() || (ES.IsCallable(makeZeroTimeout) ? makeZeroTimeout() : <span class="fstat-no" title="function not covered" >fu</span>nction (task) { <span class="cstat-no" title="statement not covered" >setTimeout(task, 0); </span>})
|
||
); // fallback
|
||
|
||
// Constants for Promise implementation
|
||
var PROMISE_IDENTITY = <span class="fstat-no" title="function not covered" >fu</span>nction (x) { <span class="cstat-no" title="statement not covered" >return x; </span>};
|
||
var PROMISE_THROWER = <span class="fstat-no" title="function not covered" >fu</span>nction (e) { <span class="cstat-no" title="statement not covered" >throw e; </span>};
|
||
var PROMISE_PENDING = 0;
|
||
var PROMISE_FULFILLED = 1;
|
||
var PROMISE_REJECTED = 2;
|
||
// We store fulfill/reject handlers and capabilities in a single array.
|
||
var PROMISE_FULFILL_OFFSET = 0;
|
||
var PROMISE_REJECT_OFFSET = 1;
|
||
var PROMISE_CAPABILITY_OFFSET = 2;
|
||
// This is used in an optimization for chaining promises via then.
|
||
var PROMISE_FAKE_CAPABILITY = {};
|
||
|
||
var enqueuePromiseReactionJob = <span class="fstat-no" title="function not covered" >fu</span>nction (handler, capability, argument) {
|
||
<span class="cstat-no" title="statement not covered" > enqueue(<span class="fstat-no" title="function not covered" >fu</span>nction () {</span>
|
||
<span class="cstat-no" title="statement not covered" > promiseReactionJob(handler, capability, argument);</span>
|
||
});
|
||
};
|
||
|
||
var promiseReactionJob = <span class="fstat-no" title="function not covered" >fu</span>nction (handler, promiseCapability, argument) {
|
||
var handlerResult, f;
|
||
<span class="cstat-no" title="statement not covered" > if (promiseCapability === PROMISE_FAKE_CAPABILITY) {</span>
|
||
// Fast case, when we don't actually need to chain through to a
|
||
// (real) promiseCapability.
|
||
<span class="cstat-no" title="statement not covered" > return handler(argument);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||
<span class="cstat-no" title="statement not covered" > handlerResult = handler(argument);</span>
|
||
<span class="cstat-no" title="statement not covered" > f = promiseCapability.resolve;</span>
|
||
} catch (e) {
|
||
<span class="cstat-no" title="statement not covered" > handlerResult = e;</span>
|
||
<span class="cstat-no" title="statement not covered" > f = promiseCapability.reject;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > f(handlerResult);</span>
|
||
};
|
||
|
||
var fulfillPromise = <span class="fstat-no" title="function not covered" >fu</span>nction (promise, value) {
|
||
var _promise = <span class="cstat-no" title="statement not covered" >promise._promise;</span>
|
||
var length = <span class="cstat-no" title="statement not covered" >_promise.reactionLength;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (length > 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > enqueuePromiseReactionJob(</span>
|
||
_promise.fulfillReactionHandler0,
|
||
_promise.reactionCapability0,
|
||
value
|
||
);
|
||
<span class="cstat-no" title="statement not covered" > _promise.fulfillReactionHandler0 = void 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > _promise.rejectReactions0 = void 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > _promise.reactionCapability0 = void 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (length > 1) {</span>
|
||
<span class="cstat-no" title="statement not covered" > for (var i = 1, idx = 0; i < length; i++, idx += 3) {</span>
|
||
<span class="cstat-no" title="statement not covered" > enqueuePromiseReactionJob(</span>
|
||
_promise[idx + PROMISE_FULFILL_OFFSET],
|
||
_promise[idx + PROMISE_CAPABILITY_OFFSET],
|
||
value
|
||
);
|
||
<span class="cstat-no" title="statement not covered" > promise[idx + PROMISE_FULFILL_OFFSET] = void 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > promise[idx + PROMISE_REJECT_OFFSET] = void 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > promise[idx + PROMISE_CAPABILITY_OFFSET] = void 0;</span>
|
||
}
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > _promise.result = value;</span>
|
||
<span class="cstat-no" title="statement not covered" > _promise.state = PROMISE_FULFILLED;</span>
|
||
<span class="cstat-no" title="statement not covered" > _promise.reactionLength = 0;</span>
|
||
};
|
||
|
||
var rejectPromise = <span class="fstat-no" title="function not covered" >fu</span>nction (promise, reason) {
|
||
var _promise = <span class="cstat-no" title="statement not covered" >promise._promise;</span>
|
||
var length = <span class="cstat-no" title="statement not covered" >_promise.reactionLength;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (length > 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > enqueuePromiseReactionJob(</span>
|
||
_promise.rejectReactionHandler0,
|
||
_promise.reactionCapability0,
|
||
reason
|
||
);
|
||
<span class="cstat-no" title="statement not covered" > _promise.fulfillReactionHandler0 = void 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > _promise.rejectReactions0 = void 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > _promise.reactionCapability0 = void 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (length > 1) {</span>
|
||
<span class="cstat-no" title="statement not covered" > for (var i = 1, idx = 0; i < length; i++, idx += 3) {</span>
|
||
<span class="cstat-no" title="statement not covered" > enqueuePromiseReactionJob(</span>
|
||
_promise[idx + PROMISE_REJECT_OFFSET],
|
||
_promise[idx + PROMISE_CAPABILITY_OFFSET],
|
||
reason
|
||
);
|
||
<span class="cstat-no" title="statement not covered" > promise[idx + PROMISE_FULFILL_OFFSET] = void 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > promise[idx + PROMISE_REJECT_OFFSET] = void 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > promise[idx + PROMISE_CAPABILITY_OFFSET] = void 0;</span>
|
||
}
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > _promise.result = reason;</span>
|
||
<span class="cstat-no" title="statement not covered" > _promise.state = PROMISE_REJECTED;</span>
|
||
<span class="cstat-no" title="statement not covered" > _promise.reactionLength = 0;</span>
|
||
};
|
||
|
||
var createResolvingFunctions = function (promise) {
|
||
var alreadyResolved = false;
|
||
var resolve = <span class="fstat-no" title="function not covered" >fu</span>nction (resolution) {
|
||
var then;
|
||
<span class="cstat-no" title="statement not covered" > if (alreadyResolved) { <span class="cstat-no" title="statement not covered" >return; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > alreadyResolved = true;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (resolution === promise) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return rejectPromise(promise, new TypeError('Self resolution'));</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(resolution)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return fulfillPromise(promise, resolution);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||
<span class="cstat-no" title="statement not covered" > then = resolution.then;</span>
|
||
} catch (e) {
|
||
<span class="cstat-no" title="statement not covered" > return rejectPromise(promise, e);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.IsCallable(then)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return fulfillPromise(promise, resolution);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > enqueue(<span class="fstat-no" title="function not covered" >fu</span>nction () {</span>
|
||
<span class="cstat-no" title="statement not covered" > promiseResolveThenableJob(promise, resolution, then);</span>
|
||
});
|
||
};
|
||
var reject = <span class="fstat-no" title="function not covered" >fu</span>nction (reason) {
|
||
<span class="cstat-no" title="statement not covered" > if (alreadyResolved) { <span class="cstat-no" title="statement not covered" >return; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > alreadyResolved = true;</span>
|
||
<span class="cstat-no" title="statement not covered" > return rejectPromise(promise, reason);</span>
|
||
};
|
||
return { resolve: resolve, reject: reject };
|
||
};
|
||
|
||
var optimizedThen = <span class="fstat-no" title="function not covered" >fu</span>nction (then, thenable, resolve, reject) {
|
||
// Optimization: since we discard the result, we can pass our
|
||
// own then implementation a special hint to let it know it
|
||
// doesn't have to create it. (The PROMISE_FAKE_CAPABILITY
|
||
// object is local to this implementation and unforgeable outside.)
|
||
<span class="cstat-no" title="statement not covered" > if (then === Promise$prototype$then) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _call(then, thenable, resolve, reject, PROMISE_FAKE_CAPABILITY);</span>
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > _call(then, thenable, resolve, reject);</span>
|
||
}
|
||
};
|
||
var promiseResolveThenableJob = <span class="fstat-no" title="function not covered" >fu</span>nction (promise, thenable, then) {
|
||
var resolvingFunctions = <span class="cstat-no" title="statement not covered" >createResolvingFunctions(promise);</span>
|
||
var resolve = <span class="cstat-no" title="statement not covered" >resolvingFunctions.resolve;</span>
|
||
var reject = <span class="cstat-no" title="statement not covered" >resolvingFunctions.reject;</span>
|
||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||
<span class="cstat-no" title="statement not covered" > optimizedThen(then, thenable, resolve, reject);</span>
|
||
} catch (e) {
|
||
<span class="cstat-no" title="statement not covered" > reject(e);</span>
|
||
}
|
||
};
|
||
|
||
var Promise$prototype, Promise$prototype$then;
|
||
var Promise = (function () {
|
||
var PromiseShim = function Promise(resolver) {
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!(this instanceof PromiseShim)) {
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Constructor Promise requires "new"');</span>
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (this && this._promise) {
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Bad construction');</span>
|
||
}
|
||
// see https://bugs.ecmascript.org/show_bug.cgi?id=2482
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!ES.IsCallable(resolver)) {
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('not a valid resolver');</span>
|
||
}
|
||
var promise = emulateES6construct(this, PromiseShim, Promise$prototype, {
|
||
_promise: {
|
||
result: void 0,
|
||
state: PROMISE_PENDING,
|
||
// The first member of the "reactions" array is inlined here,
|
||
// since most promises only have one reaction.
|
||
// We've also exploded the 'reaction' object to inline the
|
||
// "handler" and "capability" fields, since both fulfill and
|
||
// reject reactions share the same capability.
|
||
reactionLength: 0,
|
||
fulfillReactionHandler0: void 0,
|
||
rejectReactionHandler0: void 0,
|
||
reactionCapability0: void 0
|
||
}
|
||
});
|
||
var resolvingFunctions = createResolvingFunctions(promise);
|
||
var reject = resolvingFunctions.reject;
|
||
try {
|
||
resolver(resolvingFunctions.resolve, reject);
|
||
} catch (e) {
|
||
<span class="cstat-no" title="statement not covered" > reject(e);</span>
|
||
}
|
||
return promise;
|
||
};
|
||
return PromiseShim;
|
||
}());
|
||
Promise$prototype = Promise.prototype;
|
||
|
||
var _promiseAllResolver = <span class="fstat-no" title="function not covered" >fu</span>nction (index, values, capability, remaining) {
|
||
var alreadyCalled = <span class="cstat-no" title="statement not covered" >false;</span>
|
||
<span class="cstat-no" title="statement not covered" > return <span class="fstat-no" title="function not covered" >fu</span>nction (x) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (alreadyCalled) { <span class="cstat-no" title="statement not covered" >return; </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > alreadyCalled = true;</span>
|
||
<span class="cstat-no" title="statement not covered" > values[index] = x;</span>
|
||
<span class="cstat-no" title="statement not covered" > if ((--remaining.count) === 0) {</span>
|
||
var resolve = <span class="cstat-no" title="statement not covered" >capability.resolve;</span>
|
||
<span class="cstat-no" title="statement not covered" > resolve(values); </span>// call w/ this===undefined
|
||
}
|
||
};
|
||
};
|
||
|
||
var performPromiseAll = <span class="fstat-no" title="function not covered" >fu</span>nction (iteratorRecord, C, resultCapability) {
|
||
var it = <span class="cstat-no" title="statement not covered" >iteratorRecord.iterator;</span>
|
||
var values = <span class="cstat-no" title="statement not covered" >[];</span>
|
||
var remaining = <span class="cstat-no" title="statement not covered" >{ count: 1 };</span>
|
||
var next, nextValue;
|
||
var index = <span class="cstat-no" title="statement not covered" >0;</span>
|
||
<span class="cstat-no" title="statement not covered" > while (true) {</span>
|
||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||
<span class="cstat-no" title="statement not covered" > next = ES.IteratorStep(it);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (next === false) {</span>
|
||
<span class="cstat-no" title="statement not covered" > iteratorRecord.done = true;</span>
|
||
<span class="cstat-no" title="statement not covered" > break;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > nextValue = next.value;</span>
|
||
} catch (e) {
|
||
<span class="cstat-no" title="statement not covered" > iteratorRecord.done = true;</span>
|
||
<span class="cstat-no" title="statement not covered" > throw e;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > values[index] = void 0;</span>
|
||
var nextPromise = <span class="cstat-no" title="statement not covered" >C.resolve(nextValue);</span>
|
||
var resolveElement = <span class="cstat-no" title="statement not covered" >_promiseAllResolver(</span>
|
||
index,
|
||
values,
|
||
resultCapability,
|
||
remaining
|
||
);
|
||
<span class="cstat-no" title="statement not covered" > remaining.count += 1;</span>
|
||
<span class="cstat-no" title="statement not covered" > optimizedThen(nextPromise.then, nextPromise, resolveElement, resultCapability.reject);</span>
|
||
<span class="cstat-no" title="statement not covered" > index += 1;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if ((--remaining.count) === 0) {</span>
|
||
var resolve = <span class="cstat-no" title="statement not covered" >resultCapability.resolve;</span>
|
||
<span class="cstat-no" title="statement not covered" > resolve(values); </span>// call w/ this===undefined
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return resultCapability.promise;</span>
|
||
};
|
||
|
||
var performPromiseRace = <span class="fstat-no" title="function not covered" >fu</span>nction (iteratorRecord, C, resultCapability) {
|
||
var it = <span class="cstat-no" title="statement not covered" >iteratorRecord.iterator;</span>
|
||
var next, nextValue, nextPromise;
|
||
<span class="cstat-no" title="statement not covered" > while (true) {</span>
|
||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||
<span class="cstat-no" title="statement not covered" > next = ES.IteratorStep(it);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (next === false) {</span>
|
||
// NOTE: If iterable has no items, resulting promise will never
|
||
// resolve; see:
|
||
// https://github.com/domenic/promises-unwrapping/issues/75
|
||
// https://bugs.ecmascript.org/show_bug.cgi?id=2515
|
||
<span class="cstat-no" title="statement not covered" > iteratorRecord.done = true;</span>
|
||
<span class="cstat-no" title="statement not covered" > break;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > nextValue = next.value;</span>
|
||
} catch (e) {
|
||
<span class="cstat-no" title="statement not covered" > iteratorRecord.done = true;</span>
|
||
<span class="cstat-no" title="statement not covered" > throw e;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > nextPromise = C.resolve(nextValue);</span>
|
||
<span class="cstat-no" title="statement not covered" > optimizedThen(nextPromise.then, nextPromise, resultCapability.resolve, resultCapability.reject);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return resultCapability.promise;</span>
|
||
};
|
||
|
||
defineProperties(Promise, {
|
||
all: function <span class="fstat-no" title="function not covered" >all(</span>iterable) {
|
||
var C = <span class="cstat-no" title="statement not covered" >this;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(C)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Promise is not object');</span>
|
||
}
|
||
var capability = <span class="cstat-no" title="statement not covered" >new PromiseCapability(C);</span>
|
||
var iterator, iteratorRecord;
|
||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||
<span class="cstat-no" title="statement not covered" > iterator = ES.GetIterator(iterable);</span>
|
||
<span class="cstat-no" title="statement not covered" > iteratorRecord = { iterator: iterator, done: false };</span>
|
||
<span class="cstat-no" title="statement not covered" > return performPromiseAll(iteratorRecord, C, capability);</span>
|
||
} catch (e) {
|
||
var exception = <span class="cstat-no" title="statement not covered" >e;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (iteratorRecord && !iteratorRecord.done) {</span>
|
||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||
<span class="cstat-no" title="statement not covered" > ES.IteratorClose(iterator, true);</span>
|
||
} catch (ee) {
|
||
<span class="cstat-no" title="statement not covered" > exception = ee;</span>
|
||
}
|
||
}
|
||
var reject = <span class="cstat-no" title="statement not covered" >capability.reject;</span>
|
||
<span class="cstat-no" title="statement not covered" > reject(exception);</span>
|
||
<span class="cstat-no" title="statement not covered" > return capability.promise;</span>
|
||
}
|
||
},
|
||
|
||
race: function <span class="fstat-no" title="function not covered" >race(</span>iterable) {
|
||
var C = <span class="cstat-no" title="statement not covered" >this;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(C)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Promise is not object');</span>
|
||
}
|
||
var capability = <span class="cstat-no" title="statement not covered" >new PromiseCapability(C);</span>
|
||
var iterator, iteratorRecord;
|
||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||
<span class="cstat-no" title="statement not covered" > iterator = ES.GetIterator(iterable);</span>
|
||
<span class="cstat-no" title="statement not covered" > iteratorRecord = { iterator: iterator, done: false };</span>
|
||
<span class="cstat-no" title="statement not covered" > return performPromiseRace(iteratorRecord, C, capability);</span>
|
||
} catch (e) {
|
||
var exception = <span class="cstat-no" title="statement not covered" >e;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (iteratorRecord && !iteratorRecord.done) {</span>
|
||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||
<span class="cstat-no" title="statement not covered" > ES.IteratorClose(iterator, true);</span>
|
||
} catch (ee) {
|
||
<span class="cstat-no" title="statement not covered" > exception = ee;</span>
|
||
}
|
||
}
|
||
var reject = <span class="cstat-no" title="statement not covered" >capability.reject;</span>
|
||
<span class="cstat-no" title="statement not covered" > reject(exception);</span>
|
||
<span class="cstat-no" title="statement not covered" > return capability.promise;</span>
|
||
}
|
||
},
|
||
|
||
reject: function <span class="fstat-no" title="function not covered" >reject(</span>reason) {
|
||
var C = <span class="cstat-no" title="statement not covered" >this;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(C)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Bad promise constructor');</span>
|
||
}
|
||
var capability = <span class="cstat-no" title="statement not covered" >new PromiseCapability(C);</span>
|
||
var rejectFunc = <span class="cstat-no" title="statement not covered" >capability.reject;</span>
|
||
<span class="cstat-no" title="statement not covered" > rejectFunc(reason); </span>// call with this===undefined
|
||
<span class="cstat-no" title="statement not covered" > return capability.promise;</span>
|
||
},
|
||
|
||
resolve: function <span class="fstat-no" title="function not covered" >resolve(</span>v) {
|
||
// See https://esdiscuss.org/topic/fixing-promise-resolve for spec
|
||
var C = <span class="cstat-no" title="statement not covered" >this;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(C)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Bad promise constructor');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (ES.IsPromise(v)) {</span>
|
||
var constructor = <span class="cstat-no" title="statement not covered" >v.constructor;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (constructor === C) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return v;</span>
|
||
}
|
||
}
|
||
var capability = <span class="cstat-no" title="statement not covered" >new PromiseCapability(C);</span>
|
||
var resolveFunc = <span class="cstat-no" title="statement not covered" >capability.resolve;</span>
|
||
<span class="cstat-no" title="statement not covered" > resolveFunc(v); </span>// call with this===undefined
|
||
<span class="cstat-no" title="statement not covered" > return capability.promise;</span>
|
||
}
|
||
});
|
||
|
||
defineProperties(Promise$prototype, {
|
||
'catch': <span class="fstat-no" title="function not covered" >fu</span>nction (onRejected) {
|
||
<span class="cstat-no" title="statement not covered" > return this.then(null, onRejected);</span>
|
||
},
|
||
|
||
then: function <span class="fstat-no" title="function not covered" >then(</span>onFulfilled, onRejected) {
|
||
var promise = <span class="cstat-no" title="statement not covered" >this;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.IsPromise(promise)) { <span class="cstat-no" title="statement not covered" >throw new TypeError('not a promise'); </span>}</span>
|
||
var C = <span class="cstat-no" title="statement not covered" >ES.SpeciesConstructor(promise, Promise);</span>
|
||
var resultCapability;
|
||
var returnValueIsIgnored = <span class="cstat-no" title="statement not covered" >arguments.length > 2 && arguments[2] === PROMISE_FAKE_CAPABILITY;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (returnValueIsIgnored && C === Promise) {</span>
|
||
<span class="cstat-no" title="statement not covered" > resultCapability = PROMISE_FAKE_CAPABILITY;</span>
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > resultCapability = new PromiseCapability(C);</span>
|
||
}
|
||
// PerformPromiseThen(promise, onFulfilled, onRejected, resultCapability)
|
||
// Note that we've split the 'reaction' object into its two
|
||
// components, "capabilities" and "handler"
|
||
// "capabilities" is always equal to `resultCapability`
|
||
var fulfillReactionHandler = <span class="cstat-no" title="statement not covered" >ES.IsCallable(onFulfilled) ? onFulfilled : PROMISE_IDENTITY;</span>
|
||
var rejectReactionHandler = <span class="cstat-no" title="statement not covered" >ES.IsCallable(onRejected) ? onRejected : PROMISE_THROWER;</span>
|
||
var _promise = <span class="cstat-no" title="statement not covered" >promise._promise;</span>
|
||
var value;
|
||
<span class="cstat-no" title="statement not covered" > if (_promise.state === PROMISE_PENDING) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (_promise.reactionLength === 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _promise.fulfillReactionHandler0 = fulfillReactionHandler;</span>
|
||
<span class="cstat-no" title="statement not covered" > _promise.rejectReactionHandler0 = rejectReactionHandler;</span>
|
||
<span class="cstat-no" title="statement not covered" > _promise.reactionCapability0 = resultCapability;</span>
|
||
} else {
|
||
var idx = <span class="cstat-no" title="statement not covered" >3 * (_promise.reactionLength - 1);</span>
|
||
<span class="cstat-no" title="statement not covered" > _promise[idx + PROMISE_FULFILL_OFFSET] = fulfillReactionHandler;</span>
|
||
<span class="cstat-no" title="statement not covered" > _promise[idx + PROMISE_REJECT_OFFSET] = rejectReactionHandler;</span>
|
||
<span class="cstat-no" title="statement not covered" > _promise[idx + PROMISE_CAPABILITY_OFFSET] = resultCapability;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > _promise.reactionLength += 1;</span>
|
||
} else <span class="cstat-no" title="statement not covered" >if (_promise.state === PROMISE_FULFILLED) {</span>
|
||
<span class="cstat-no" title="statement not covered" > value = _promise.result;</span>
|
||
<span class="cstat-no" title="statement not covered" > enqueuePromiseReactionJob(</span>
|
||
fulfillReactionHandler,
|
||
resultCapability,
|
||
value
|
||
);
|
||
} else <span class="cstat-no" title="statement not covered" >if (_promise.state === PROMISE_REJECTED) {</span>
|
||
<span class="cstat-no" title="statement not covered" > value = _promise.result;</span>
|
||
<span class="cstat-no" title="statement not covered" > enqueuePromiseReactionJob(</span>
|
||
rejectReactionHandler,
|
||
resultCapability,
|
||
value
|
||
);
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('unexpected Promise state');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return resultCapability.promise;</span>
|
||
}
|
||
});
|
||
// This helps the optimizer by ensuring that methods which take
|
||
// capabilities aren't polymorphic.
|
||
PROMISE_FAKE_CAPABILITY = new PromiseCapability(Promise);
|
||
Promise$prototype$then = Promise$prototype.then;
|
||
|
||
return Promise;
|
||
}());
|
||
|
||
// Chrome's native Promise has extra methods that it shouldn't have. Let's remove them.
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (globals.Promise) {
|
||
delete globals.Promise.accept;
|
||
delete globals.Promise.defer;
|
||
delete globals.Promise.prototype.chain;
|
||
}
|
||
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (typeof PromiseShim === 'function') {
|
||
// export the Promise constructor.
|
||
defineProperties(globals, { Promise: PromiseShim });
|
||
// In Chrome 33 (and thereabouts) Promise is defined, but the
|
||
// implementation is buggy in a number of ways. Let's check subclassing
|
||
// support to see if we have a buggy implementation.
|
||
var promiseSupportsSubclassing = supportsSubclassing(globals.Promise, function (S) {
|
||
return S.resolve(42).then(function () {}) instanceof S;
|
||
});
|
||
var promiseIgnoresNonFunctionThenCallbacks = !throwsError(function () {
|
||
return globals.Promise.reject(42).then(null, 5).then(null, noop);
|
||
});
|
||
var promiseRequiresObjectContext = throwsError(function () { return globals.Promise.call(3, noop); });
|
||
// Promise.resolve() was errata'ed late in the ES6 process.
|
||
// See: https://bugzilla.mozilla.org/show_bug.cgi?id=1170742
|
||
// https://code.google.com/p/v8/issues/detail?id=4161
|
||
// It serves as a proxy for a number of other bugs in early Promise
|
||
// implementations.
|
||
var promiseResolveBroken = (function (Promise) {
|
||
var p = Promise.resolve(5);
|
||
p.constructor = {};
|
||
var p2 = Promise.resolve(p);
|
||
try {
|
||
p2.then(null, noop).then(null, noop); // avoid "uncaught rejection" warnings in console
|
||
} catch (e) {
|
||
<span class="cstat-no" title="statement not covered" > return true; </span>// v8 native Promises break here https://code.google.com/p/chromium/issues/detail?id=575314
|
||
}
|
||
return p === p2; // This *should* be false!
|
||
}(globals.Promise));
|
||
|
||
// Chrome 46 (probably older too) does not retrieve a thenable's .then synchronously
|
||
var getsThenSynchronously = supportsDescriptors && (function () {
|
||
var count = 0;
|
||
// eslint-disable-next-line getter-return
|
||
var thenable = Object.defineProperty({}, 'then', { get: function () { count += 1; } });
|
||
Promise.resolve(thenable);
|
||
return count === 1;
|
||
}());
|
||
|
||
var BadResolverPromise = function BadResolverPromise(executor) {
|
||
var p = new Promise(executor);
|
||
executor(3, <span class="fstat-no" title="function not covered" >fu</span>nction () {});
|
||
<span class="cstat-no" title="statement not covered" > this.then = p.then;</span>
|
||
<span class="cstat-no" title="statement not covered" > this.constructor = BadResolverPromise;</span>
|
||
};
|
||
BadResolverPromise.prototype = Promise.prototype;
|
||
BadResolverPromise.all = Promise.all;
|
||
// Chrome Canary 49 (probably older too) has some implementation bugs
|
||
var hasBadResolverPromise = valueOrFalseIfThrows(function () {
|
||
return !!BadResolverPromise.all([1, 2]);
|
||
});
|
||
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
||
!promiseSupportsSubclassing
|
||
|| !promiseIgnoresNonFunctionThenCallbacks
|
||
|| !promiseRequiresObjectContext
|
||
|| promiseResolveBroken
|
||
|| !getsThenSynchronously
|
||
|| hasBadResolverPromise
|
||
) {
|
||
<span class="cstat-no" title="statement not covered" > Promise = PromiseShim; </span>// eslint-disable-line no-global-assign
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(globals, 'Promise', PromiseShim);</span>
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (Promise.all.length !== 1) {
|
||
var origAll = <span class="cstat-no" title="statement not covered" >Promise.all;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Promise, 'all', function <span class="fstat-no" title="function not covered" >all(</span>iterable) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(origAll, this, arguments);</span>
|
||
});
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (Promise.race.length !== 1) {
|
||
var origRace = <span class="cstat-no" title="statement not covered" >Promise.race;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Promise, 'race', function <span class="fstat-no" title="function not covered" >race(</span>iterable) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(origRace, this, arguments);</span>
|
||
});
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (Promise.resolve.length !== 1) {
|
||
var origResolve = <span class="cstat-no" title="statement not covered" >Promise.resolve;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Promise, 'resolve', function <span class="fstat-no" title="function not covered" >resolve(</span>x) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(origResolve, this, arguments);</span>
|
||
});
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (Promise.reject.length !== 1) {
|
||
var origReject = <span class="cstat-no" title="statement not covered" >Promise.reject;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Promise, 'reject', function <span class="fstat-no" title="function not covered" >reject(</span>r) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(origReject, this, arguments);</span>
|
||
});
|
||
}
|
||
ensureEnumerable(Promise, 'all');
|
||
ensureEnumerable(Promise, 'race');
|
||
ensureEnumerable(Promise, 'resolve');
|
||
ensureEnumerable(Promise, 'reject');
|
||
addDefaultSpecies(Promise);
|
||
}
|
||
|
||
// Map and Set require a true ES5 environment
|
||
// Their fast path also requires that the environment preserve
|
||
// property insertion order, which is not guaranteed by the spec.
|
||
var testOrder = function (a) {
|
||
var b = keys(_reduce(a, function (o, k) {
|
||
o[k] = true;
|
||
return o;
|
||
}, {}));
|
||
return a.join(':') === b.join(':');
|
||
};
|
||
var preservesInsertionOrder = testOrder(['z', 'a', 'bb']);
|
||
// some engines (eg, Chrome) only preserve insertion order for string keys
|
||
var preservesNumericInsertionOrder = testOrder(['z', 1, 'a', '3', 2]);
|
||
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (supportsDescriptors) {
|
||
|
||
var fastkey = function <span class="fstat-no" title="function not covered" >fastkey(</span>key, skipInsertionOrderCheck) {
|
||
<span class="cstat-no" title="statement not covered" > if (!skipInsertionOrderCheck && !preservesInsertionOrder) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return null;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (isNullOrUndefined(key)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return '^' + ES.ToString(key);</span>
|
||
} else <span class="cstat-no" title="statement not covered" >if (typeof key === 'string') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return '$' + key;</span>
|
||
} else <span class="cstat-no" title="statement not covered" >if (typeof key === 'number') {</span>
|
||
// note that -0 will get coerced to "0" when used as a property key
|
||
<span class="cstat-no" title="statement not covered" > if (!preservesNumericInsertionOrder) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return 'n' + key;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return key;</span>
|
||
} else <span class="cstat-no" title="statement not covered" >if (typeof key === 'boolean') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return 'b' + key;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return null;</span>
|
||
};
|
||
|
||
var emptyObject = function <span class="fstat-no" title="function not covered" >emptyObject(</span>) {
|
||
// accomodate some older not-quite-ES5 browsers
|
||
<span class="cstat-no" title="statement not covered" > return Object.create ? Object.create(null) : {};</span>
|
||
};
|
||
|
||
var addIterableToMap = function <span class="fstat-no" title="function not covered" >addIterableToMap(</span>MapConstructor, map, iterable) {
|
||
<span class="cstat-no" title="statement not covered" > if (isArray(iterable) || Type.string(iterable)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _forEach(iterable, <span class="fstat-no" title="function not covered" >fu</span>nction (entry) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(entry)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Iterator value ' + entry + ' is not an entry object');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > map.set(entry[0], entry[1]);</span>
|
||
});
|
||
} else <span class="cstat-no" title="statement not covered" >if (iterable instanceof MapConstructor) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _call(MapConstructor.prototype.forEach, iterable, <span class="fstat-no" title="function not covered" >fu</span>nction (value, key) {</span>
|
||
<span class="cstat-no" title="statement not covered" > map.set(key, value);</span>
|
||
});
|
||
} else {
|
||
var iter, adder;
|
||
<span class="cstat-no" title="statement not covered" > if (!isNullOrUndefined(iterable)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > adder = map.set;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.IsCallable(adder)) { <span class="cstat-no" title="statement not covered" >throw new TypeError('bad map'); </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > iter = ES.GetIterator(iterable);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (typeof iter !== 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > while (true) {</span>
|
||
var next = <span class="cstat-no" title="statement not covered" >ES.IteratorStep(iter);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (next === false) { <span class="cstat-no" title="statement not covered" >break; </span>}</span>
|
||
var nextItem = <span class="cstat-no" title="statement not covered" >next.value;</span>
|
||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(nextItem)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Iterator value ' + nextItem + ' is not an entry object');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > _call(adder, map, nextItem[0], nextItem[1]);</span>
|
||
} catch (e) {
|
||
<span class="cstat-no" title="statement not covered" > ES.IteratorClose(iter, true);</span>
|
||
<span class="cstat-no" title="statement not covered" > throw e;</span>
|
||
}
|
||
}
|
||
}
|
||
}
|
||
};
|
||
var addIterableToSet = function <span class="fstat-no" title="function not covered" >addIterableToSet(</span>SetConstructor, set, iterable) {
|
||
<span class="cstat-no" title="statement not covered" > if (isArray(iterable) || Type.string(iterable)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _forEach(iterable, <span class="fstat-no" title="function not covered" >fu</span>nction (value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > set.add(value);</span>
|
||
});
|
||
} else <span class="cstat-no" title="statement not covered" >if (iterable instanceof SetConstructor) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _call(SetConstructor.prototype.forEach, iterable, <span class="fstat-no" title="function not covered" >fu</span>nction (value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > set.add(value);</span>
|
||
});
|
||
} else {
|
||
var iter, adder;
|
||
<span class="cstat-no" title="statement not covered" > if (!isNullOrUndefined(iterable)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > adder = set.add;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.IsCallable(adder)) { <span class="cstat-no" title="statement not covered" >throw new TypeError('bad set'); </span>}</span>
|
||
<span class="cstat-no" title="statement not covered" > iter = ES.GetIterator(iterable);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (typeof iter !== 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > while (true) {</span>
|
||
var next = <span class="cstat-no" title="statement not covered" >ES.IteratorStep(iter);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (next === false) { <span class="cstat-no" title="statement not covered" >break; </span>}</span>
|
||
var nextValue = <span class="cstat-no" title="statement not covered" >next.value;</span>
|
||
<span class="cstat-no" title="statement not covered" > try {</span>
|
||
<span class="cstat-no" title="statement not covered" > _call(adder, set, nextValue);</span>
|
||
} catch (e) {
|
||
<span class="cstat-no" title="statement not covered" > ES.IteratorClose(iter, true);</span>
|
||
<span class="cstat-no" title="statement not covered" > throw e;</span>
|
||
}
|
||
}
|
||
}
|
||
}
|
||
};
|
||
|
||
var collectionShims = {
|
||
Map: (function () {
|
||
|
||
var empty = {};
|
||
|
||
var MapEntry = function <span class="fstat-no" title="function not covered" >MapEntry(</span>key, value) {
|
||
<span class="cstat-no" title="statement not covered" > this.key = key;</span>
|
||
<span class="cstat-no" title="statement not covered" > this.value = value;</span>
|
||
<span class="cstat-no" title="statement not covered" > this.next = null;</span>
|
||
<span class="cstat-no" title="statement not covered" > this.prev = null;</span>
|
||
};
|
||
|
||
MapEntry.prototype.isRemoved = function <span class="fstat-no" title="function not covered" >isRemoved(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > return this.key === empty;</span>
|
||
};
|
||
|
||
var isMap = function <span class="fstat-no" title="function not covered" >isMap(</span>map) {
|
||
<span class="cstat-no" title="statement not covered" > return !!map._es6map;</span>
|
||
};
|
||
|
||
var requireMapSlot = function <span class="fstat-no" title="function not covered" >requireMapSlot(</span>map, method) {
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(map) || !isMap(map)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Method Map.prototype.' + method + ' called on incompatible receiver ' + ES.ToString(map));</span>
|
||
}
|
||
};
|
||
|
||
var MapIterator = function <span class="fstat-no" title="function not covered" >MapIterator(</span>map, kind) {
|
||
<span class="cstat-no" title="statement not covered" > requireMapSlot(map, '[[MapIterator]]');</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(this, 'head', map._head);</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(this, 'i', this.head);</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(this, 'kind', kind);</span>
|
||
};
|
||
|
||
MapIterator.prototype = {
|
||
isMapIterator: true,
|
||
next: function <span class="fstat-no" title="function not covered" >next(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > if (!this.isMapIterator) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Not a MapIterator');</span>
|
||
}
|
||
var i = <span class="cstat-no" title="statement not covered" >this.i;</span>
|
||
var kind = <span class="cstat-no" title="statement not covered" >this.kind;</span>
|
||
var head = <span class="cstat-no" title="statement not covered" >this.head;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (typeof this.i === 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return iteratorResult();</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > while (i.isRemoved() && i !== head) {</span>
|
||
// back up off of removed entries
|
||
<span class="cstat-no" title="statement not covered" > i = i.prev;</span>
|
||
}
|
||
// advance to next unreturned element.
|
||
var result;
|
||
<span class="cstat-no" title="statement not covered" > while (i.next !== head) {</span>
|
||
<span class="cstat-no" title="statement not covered" > i = i.next;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!i.isRemoved()) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (kind === 'key') {</span>
|
||
<span class="cstat-no" title="statement not covered" > result = i.key;</span>
|
||
} else <span class="cstat-no" title="statement not covered" >if (kind === 'value') {</span>
|
||
<span class="cstat-no" title="statement not covered" > result = i.value;</span>
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > result = [i.key, i.value];</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > this.i = i;</span>
|
||
<span class="cstat-no" title="statement not covered" > return iteratorResult(result);</span>
|
||
}
|
||
}
|
||
// once the iterator is done, it is done forever.
|
||
<span class="cstat-no" title="statement not covered" > this.i = void 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > return iteratorResult();</span>
|
||
}
|
||
};
|
||
addIterator(MapIterator.prototype);
|
||
|
||
var Map$prototype;
|
||
var MapShim = function <span class="fstat-no" title="function not covered" >Map(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > if (!(this instanceof Map)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Constructor Map requires "new"');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (this && this._es6map) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Bad construction');</span>
|
||
}
|
||
var map = <span class="cstat-no" title="statement not covered" >emulateES6construct(this, Map, Map$prototype, {</span>
|
||
_es6map: true,
|
||
_head: null,
|
||
_map: OrigMap ? new OrigMap() : null,
|
||
_size: 0,
|
||
_storage: emptyObject()
|
||
});
|
||
|
||
var head = <span class="cstat-no" title="statement not covered" >new MapEntry(null, null);</span>
|
||
// circular doubly-linked list.
|
||
/* eslint no-multi-assign: 1 */
|
||
<span class="cstat-no" title="statement not covered" > head.next = head.prev = head;</span>
|
||
<span class="cstat-no" title="statement not covered" > map._head = head;</span>
|
||
|
||
// Optionally initialize map from iterable
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > addIterableToMap(Map, map, arguments[0]);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return map;</span>
|
||
};
|
||
Map$prototype = MapShim.prototype;
|
||
|
||
Value.getter(Map$prototype, 'size', <span class="fstat-no" title="function not covered" >fu</span>nction () {
|
||
<span class="cstat-no" title="statement not covered" > if (typeof this._size === 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('size method called on incompatible Map');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return this._size;</span>
|
||
});
|
||
|
||
defineProperties(Map$prototype, {
|
||
get: function <span class="fstat-no" title="function not covered" >get(</span>key) {
|
||
<span class="cstat-no" title="statement not covered" > requireMapSlot(this, 'get');</span>
|
||
var entry;
|
||
var fkey = <span class="cstat-no" title="statement not covered" >fastkey(key, true);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (fkey !== null) {</span>
|
||
// fast O(1) path
|
||
<span class="cstat-no" title="statement not covered" > entry = this._storage[fkey];</span>
|
||
<span class="cstat-no" title="statement not covered" > if (entry) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return entry.value;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return;</span>
|
||
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (this._map) {</span>
|
||
// fast object key path
|
||
<span class="cstat-no" title="statement not covered" > entry = origMapGet.call(this._map, key);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (entry) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return entry.value;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return;</span>
|
||
|
||
}
|
||
var head = <span class="cstat-no" title="statement not covered" >this._head;</span>
|
||
var i = <span class="cstat-no" title="statement not covered" >head;</span>
|
||
<span class="cstat-no" title="statement not covered" > while ((i = i.next) !== head) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (ES.SameValueZero(i.key, key)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return i.value;</span>
|
||
}
|
||
}
|
||
},
|
||
|
||
has: function <span class="fstat-no" title="function not covered" >has(</span>key) {
|
||
<span class="cstat-no" title="statement not covered" > requireMapSlot(this, 'has');</span>
|
||
var fkey = <span class="cstat-no" title="statement not covered" >fastkey(key, true);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (fkey !== null) {</span>
|
||
// fast O(1) path
|
||
<span class="cstat-no" title="statement not covered" > return typeof this._storage[fkey] !== 'undefined';</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (this._map) {</span>
|
||
// fast object key path
|
||
<span class="cstat-no" title="statement not covered" > return origMapHas.call(this._map, key);</span>
|
||
}
|
||
var head = <span class="cstat-no" title="statement not covered" >this._head;</span>
|
||
var i = <span class="cstat-no" title="statement not covered" >head;</span>
|
||
<span class="cstat-no" title="statement not covered" > while ((i = i.next) !== head) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (ES.SameValueZero(i.key, key)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return true;</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return false;</span>
|
||
},
|
||
|
||
set: function <span class="fstat-no" title="function not covered" >set(</span>key, value) {
|
||
<span class="cstat-no" title="statement not covered" > requireMapSlot(this, 'set');</span>
|
||
var head = <span class="cstat-no" title="statement not covered" >this._head;</span>
|
||
var i = <span class="cstat-no" title="statement not covered" >head;</span>
|
||
var entry;
|
||
var fkey = <span class="cstat-no" title="statement not covered" >fastkey(key, true);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (fkey !== null) {</span>
|
||
// fast O(1) path
|
||
<span class="cstat-no" title="statement not covered" > if (typeof this._storage[fkey] !== 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > this._storage[fkey].value = value;</span>
|
||
<span class="cstat-no" title="statement not covered" > return this;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > entry = this._storage[fkey] = new MapEntry(key, value); </span>/* eslint no-multi-assign: 1 */
|
||
<span class="cstat-no" title="statement not covered" > i = head.prev;</span>
|
||
// fall through
|
||
|
||
} else <span class="cstat-no" title="statement not covered" >if (this._map) {</span>
|
||
// fast object key path
|
||
<span class="cstat-no" title="statement not covered" > if (origMapHas.call(this._map, key)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > origMapGet.call(this._map, key).value = value;</span>
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > entry = new MapEntry(key, value);</span>
|
||
<span class="cstat-no" title="statement not covered" > origMapSet.call(this._map, key, entry);</span>
|
||
<span class="cstat-no" title="statement not covered" > i = head.prev;</span>
|
||
// fall through
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > while ((i = i.next) !== head) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (ES.SameValueZero(i.key, key)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > i.value = value;</span>
|
||
<span class="cstat-no" title="statement not covered" > return this;</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > entry = entry || new MapEntry(key, value);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (ES.SameValue(-0, key)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > entry.key = +0; </span>// coerce -0 to +0 in entry
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > entry.next = this._head;</span>
|
||
<span class="cstat-no" title="statement not covered" > entry.prev = this._head.prev;</span>
|
||
<span class="cstat-no" title="statement not covered" > entry.prev.next = entry;</span>
|
||
<span class="cstat-no" title="statement not covered" > entry.next.prev = entry;</span>
|
||
<span class="cstat-no" title="statement not covered" > this._size += 1;</span>
|
||
<span class="cstat-no" title="statement not covered" > return this;</span>
|
||
},
|
||
|
||
'delete': <span class="fstat-no" title="function not covered" >fu</span>nction (key) {
|
||
<span class="cstat-no" title="statement not covered" > requireMapSlot(this, 'delete');</span>
|
||
var head = <span class="cstat-no" title="statement not covered" >this._head;</span>
|
||
var i = <span class="cstat-no" title="statement not covered" >head;</span>
|
||
var fkey = <span class="cstat-no" title="statement not covered" >fastkey(key, true);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (fkey !== null) {</span>
|
||
// fast O(1) path
|
||
<span class="cstat-no" title="statement not covered" > if (typeof this._storage[fkey] === 'undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return false;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > i = this._storage[fkey].prev;</span>
|
||
<span class="cstat-no" title="statement not covered" > delete this._storage[fkey];</span>
|
||
// fall through
|
||
} else <span class="cstat-no" title="statement not covered" >if (this._map) {</span>
|
||
// fast object key path
|
||
<span class="cstat-no" title="statement not covered" > if (!origMapHas.call(this._map, key)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return false;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > i = origMapGet.call(this._map, key).prev;</span>
|
||
<span class="cstat-no" title="statement not covered" > origMapDelete.call(this._map, key);</span>
|
||
// fall through
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > while ((i = i.next) !== head) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (ES.SameValueZero(i.key, key)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > i.key = empty;</span>
|
||
<span class="cstat-no" title="statement not covered" > i.value = empty;</span>
|
||
<span class="cstat-no" title="statement not covered" > i.prev.next = i.next;</span>
|
||
<span class="cstat-no" title="statement not covered" > i.next.prev = i.prev;</span>
|
||
<span class="cstat-no" title="statement not covered" > this._size -= 1;</span>
|
||
<span class="cstat-no" title="statement not covered" > return true;</span>
|
||
}
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return false;</span>
|
||
},
|
||
|
||
clear: function <span class="fstat-no" title="function not covered" >clear(</span>) {
|
||
/* eslint no-multi-assign: 1 */
|
||
<span class="cstat-no" title="statement not covered" > requireMapSlot(this, 'clear');</span>
|
||
<span class="cstat-no" title="statement not covered" > this._map = OrigMap ? new OrigMap() : null;</span>
|
||
<span class="cstat-no" title="statement not covered" > this._size = 0;</span>
|
||
<span class="cstat-no" title="statement not covered" > this._storage = emptyObject();</span>
|
||
var head = <span class="cstat-no" title="statement not covered" >this._head;</span>
|
||
var i = <span class="cstat-no" title="statement not covered" >head;</span>
|
||
var p = <span class="cstat-no" title="statement not covered" >i.next;</span>
|
||
<span class="cstat-no" title="statement not covered" > while ((i = p) !== head) {</span>
|
||
<span class="cstat-no" title="statement not covered" > i.key = empty;</span>
|
||
<span class="cstat-no" title="statement not covered" > i.value = empty;</span>
|
||
<span class="cstat-no" title="statement not covered" > p = i.next;</span>
|
||
<span class="cstat-no" title="statement not covered" > i.next = i.prev = head;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > head.next = head.prev = head;</span>
|
||
},
|
||
|
||
keys: function <span class="fstat-no" title="function not covered" >keys(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > requireMapSlot(this, 'keys');</span>
|
||
<span class="cstat-no" title="statement not covered" > return new MapIterator(this, 'key');</span>
|
||
},
|
||
|
||
values: function <span class="fstat-no" title="function not covered" >values(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > requireMapSlot(this, 'values');</span>
|
||
<span class="cstat-no" title="statement not covered" > return new MapIterator(this, 'value');</span>
|
||
},
|
||
|
||
entries: function <span class="fstat-no" title="function not covered" >entries(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > requireMapSlot(this, 'entries');</span>
|
||
<span class="cstat-no" title="statement not covered" > return new MapIterator(this, 'key+value');</span>
|
||
},
|
||
|
||
forEach: function <span class="fstat-no" title="function not covered" >forEach(</span>callback) {
|
||
<span class="cstat-no" title="statement not covered" > requireMapSlot(this, 'forEach');</span>
|
||
var context = <span class="cstat-no" title="statement not covered" >arguments.length > 1 ? arguments[1] : null;</span>
|
||
var it = <span class="cstat-no" title="statement not covered" >this.entries();</span>
|
||
<span class="cstat-no" title="statement not covered" > for (var entry = it.next(); !entry.done; entry = it.next()) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (context) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _call(callback, context, entry.value[1], entry.value[0], this);</span>
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > callback(entry.value[1], entry.value[0], this);</span>
|
||
}
|
||
}
|
||
}
|
||
});
|
||
addIterator(Map$prototype, Map$prototype.entries);
|
||
|
||
return MapShim;
|
||
}()),
|
||
|
||
Set: (function () {
|
||
var isSet = function <span class="fstat-no" title="function not covered" >isSet(</span>set) {
|
||
<span class="cstat-no" title="statement not covered" > return set._es6set && typeof set._storage !== 'undefined';</span>
|
||
};
|
||
var requireSetSlot = function <span class="fstat-no" title="function not covered" >requireSetSlot(</span>set, method) {
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(set) || !isSet(set)) {</span>
|
||
// https://github.com/paulmillr/es6-shim/issues/176
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Set.prototype.' + method + ' called on incompatible receiver ' + ES.ToString(set));</span>
|
||
}
|
||
};
|
||
|
||
// Creating a Map is expensive. To speed up the common case of
|
||
// Sets containing only string or numeric keys, we use an object
|
||
// as backing storage and lazily create a full Map only when
|
||
// required.
|
||
var Set$prototype;
|
||
var SetShim = function <span class="fstat-no" title="function not covered" >Set(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > if (!(this instanceof Set)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Constructor Set requires "new"');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (this && this._es6set) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Bad construction');</span>
|
||
}
|
||
var set = <span class="cstat-no" title="statement not covered" >emulateES6construct(this, Set, Set$prototype, {</span>
|
||
_es6set: true,
|
||
'[[SetData]]': null,
|
||
_storage: emptyObject()
|
||
});
|
||
<span class="cstat-no" title="statement not covered" > if (!set._es6set) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('bad set');</span>
|
||
}
|
||
|
||
// Optionally initialize Set from iterable
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > addIterableToSet(Set, set, arguments[0]);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return set;</span>
|
||
};
|
||
Set$prototype = SetShim.prototype;
|
||
|
||
var decodeKey = <span class="fstat-no" title="function not covered" >fu</span>nction (key) {
|
||
var k = <span class="cstat-no" title="statement not covered" >key;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (k === '^null') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return null;</span>
|
||
} else <span class="cstat-no" title="statement not covered" >if (k === '^undefined') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return void 0;</span>
|
||
}
|
||
var first = <span class="cstat-no" title="statement not covered" >k.charAt(0);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (first === '$') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return _strSlice(k, 1);</span>
|
||
} else <span class="cstat-no" title="statement not covered" >if (first === 'n') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return +_strSlice(k, 1);</span>
|
||
} else <span class="cstat-no" title="statement not covered" >if (first === 'b') {</span>
|
||
<span class="cstat-no" title="statement not covered" > return k === 'btrue';</span>
|
||
}
|
||
|
||
<span class="cstat-no" title="statement not covered" > return +k;</span>
|
||
};
|
||
// Switch from the object backing storage to a full Map.
|
||
var ensureMap = function <span class="fstat-no" title="function not covered" >ensureMap(</span>set) {
|
||
<span class="cstat-no" title="statement not covered" > if (!set['[[SetData]]']) {</span>
|
||
var m = <span class="cstat-no" title="statement not covered" >new collectionShims.Map();</span>
|
||
<span class="cstat-no" title="statement not covered" > set['[[SetData]]'] = m;</span>
|
||
<span class="cstat-no" title="statement not covered" > _forEach(keys(set._storage), <span class="fstat-no" title="function not covered" >fu</span>nction (key) {</span>
|
||
var k = <span class="cstat-no" title="statement not covered" >decodeKey(key);</span>
|
||
<span class="cstat-no" title="statement not covered" > m.set(k, k);</span>
|
||
});
|
||
<span class="cstat-no" title="statement not covered" > set['[[SetData]]'] = m;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > set._storage = null; </span>// free old backing storage
|
||
};
|
||
|
||
Value.getter(SetShim.prototype, 'size', <span class="fstat-no" title="function not covered" >fu</span>nction () {
|
||
<span class="cstat-no" title="statement not covered" > requireSetSlot(this, 'size');</span>
|
||
<span class="cstat-no" title="statement not covered" > if (this._storage) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return keys(this._storage).length;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > ensureMap(this);</span>
|
||
<span class="cstat-no" title="statement not covered" > return this['[[SetData]]'].size;</span>
|
||
});
|
||
|
||
defineProperties(SetShim.prototype, {
|
||
has: function <span class="fstat-no" title="function not covered" >has(</span>key) {
|
||
<span class="cstat-no" title="statement not covered" > requireSetSlot(this, 'has');</span>
|
||
var fkey;
|
||
<span class="cstat-no" title="statement not covered" > if (this._storage && (fkey = fastkey(key)) !== null) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return !!this._storage[fkey];</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > ensureMap(this);</span>
|
||
<span class="cstat-no" title="statement not covered" > return this['[[SetData]]'].has(key);</span>
|
||
},
|
||
|
||
add: function <span class="fstat-no" title="function not covered" >add(</span>key) {
|
||
<span class="cstat-no" title="statement not covered" > requireSetSlot(this, 'add');</span>
|
||
var fkey;
|
||
<span class="cstat-no" title="statement not covered" > if (this._storage && (fkey = fastkey(key)) !== null) {</span>
|
||
<span class="cstat-no" title="statement not covered" > this._storage[fkey] = true;</span>
|
||
<span class="cstat-no" title="statement not covered" > return this;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > ensureMap(this);</span>
|
||
<span class="cstat-no" title="statement not covered" > this['[[SetData]]'].set(key, key);</span>
|
||
<span class="cstat-no" title="statement not covered" > return this;</span>
|
||
},
|
||
|
||
'delete': <span class="fstat-no" title="function not covered" >fu</span>nction (key) {
|
||
<span class="cstat-no" title="statement not covered" > requireSetSlot(this, 'delete');</span>
|
||
var fkey;
|
||
<span class="cstat-no" title="statement not covered" > if (this._storage && (fkey = fastkey(key)) !== null) {</span>
|
||
var hasFKey = <span class="cstat-no" title="statement not covered" >_hasOwnProperty(this._storage, fkey);</span>
|
||
<span class="cstat-no" title="statement not covered" > return (delete this._storage[fkey]) && hasFKey;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > ensureMap(this);</span>
|
||
<span class="cstat-no" title="statement not covered" > return this['[[SetData]]']['delete'](key);</span>
|
||
},
|
||
|
||
clear: function <span class="fstat-no" title="function not covered" >clear(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > requireSetSlot(this, 'clear');</span>
|
||
<span class="cstat-no" title="statement not covered" > if (this._storage) {</span>
|
||
<span class="cstat-no" title="statement not covered" > this._storage = emptyObject();</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (this['[[SetData]]']) {</span>
|
||
<span class="cstat-no" title="statement not covered" > this['[[SetData]]'].clear();</span>
|
||
}
|
||
},
|
||
|
||
values: function <span class="fstat-no" title="function not covered" >values(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > requireSetSlot(this, 'values');</span>
|
||
<span class="cstat-no" title="statement not covered" > ensureMap(this);</span>
|
||
<span class="cstat-no" title="statement not covered" > return new SetIterator(this['[[SetData]]'].values());</span>
|
||
},
|
||
|
||
entries: function <span class="fstat-no" title="function not covered" >entries(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > requireSetSlot(this, 'entries');</span>
|
||
<span class="cstat-no" title="statement not covered" > ensureMap(this);</span>
|
||
<span class="cstat-no" title="statement not covered" > return new SetIterator(this['[[SetData]]'].entries());</span>
|
||
},
|
||
|
||
forEach: function <span class="fstat-no" title="function not covered" >forEach(</span>callback) {
|
||
<span class="cstat-no" title="statement not covered" > requireSetSlot(this, 'forEach');</span>
|
||
var context = <span class="cstat-no" title="statement not covered" >arguments.length > 1 ? arguments[1] : null;</span>
|
||
var entireSet = <span class="cstat-no" title="statement not covered" >this;</span>
|
||
<span class="cstat-no" title="statement not covered" > ensureMap(entireSet);</span>
|
||
<span class="cstat-no" title="statement not covered" > this['[[SetData]]'].forEach(<span class="fstat-no" title="function not covered" >fu</span>nction (value, key) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (context) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _call(callback, context, key, key, entireSet);</span>
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > callback(key, key, entireSet);</span>
|
||
}
|
||
});
|
||
}
|
||
});
|
||
defineProperty(SetShim.prototype, 'keys', SetShim.prototype.values, true);
|
||
addIterator(SetShim.prototype, SetShim.prototype.values);
|
||
|
||
var SetIterator = function <span class="fstat-no" title="function not covered" >SetIterator(</span>it) {
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(this, 'it', it);</span>
|
||
};
|
||
SetIterator.prototype = {
|
||
isSetIterator: true,
|
||
next: function <span class="fstat-no" title="function not covered" >next(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > if (!this.isSetIterator) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Not a SetIterator');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return this.it.next();</span>
|
||
}
|
||
};
|
||
addIterator(SetIterator.prototype);
|
||
|
||
return SetShim;
|
||
}())
|
||
};
|
||
|
||
var isGoogleTranslate = globals.Set && !Set.prototype['delete'] && <span class="branch-2 cbranch-no" title="branch not covered" >Set.prototype.remove </span>&& <span class="branch-3 cbranch-no" title="branch not covered" >Set.prototype.items </span>&& <span class="branch-4 cbranch-no" title="branch not covered" >Set.prototype.map </span>&& <span class="branch-5 cbranch-no" title="branch not covered" >Array.isArray(new Set().keys);</span>
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (isGoogleTranslate) {
|
||
// special-case force removal of wildly invalid Set implementation in Google Translate iframes
|
||
// see https://github.com/paulmillr/es6-shim/issues/438 / https://twitter.com/ljharb/status/849335573114363904
|
||
<span class="cstat-no" title="statement not covered" > globals.Set = collectionShims.Set;</span>
|
||
}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (globals.Map || <span class="branch-1 cbranch-no" title="branch not covered" >globals.Set)</span> {
|
||
// Safari 8, for example, doesn't accept an iterable.
|
||
var mapAcceptsArguments = valueOrFalseIfThrows(function () { return new Map([[1, 2]]).get(1) === 2; });
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!mapAcceptsArguments) {
|
||
<span class="cstat-no" title="statement not covered" > globals.Map = function <span class="fstat-no" title="function not covered" >Map(</span>) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!(this instanceof Map)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Constructor Map requires "new"');</span>
|
||
}
|
||
var m = <span class="cstat-no" title="statement not covered" >new OrigMap();</span>
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > addIterableToMap(Map, m, arguments[0]);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > delete m.constructor;</span>
|
||
<span class="cstat-no" title="statement not covered" > Object.setPrototypeOf(m, globals.Map.prototype);</span>
|
||
<span class="cstat-no" title="statement not covered" > return m;</span>
|
||
};
|
||
<span class="cstat-no" title="statement not covered" > globals.Map.prototype = create(OrigMap.prototype);</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(globals.Map.prototype, 'constructor', globals.Map, true);</span>
|
||
<span class="cstat-no" title="statement not covered" > Value.preserveToString(globals.Map, OrigMap);</span>
|
||
}
|
||
var testMap = new Map();
|
||
var mapUsesSameValueZero = (function () {
|
||
// Chrome 38-42, node 0.11/0.12, iojs 1/2 also have a bug when the Map has a size > 4
|
||
var m = new Map([[1, 0], [2, 0], [3, 0], [4, 0]]);
|
||
m.set(-0, m);
|
||
return m.get(0) === m && m.get(-0) === m && m.has(0) && m.has(-0);
|
||
}());
|
||
var mapSupportsChaining = testMap.set(1, 2) === testMap;
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!mapUsesSameValueZero || !mapSupportsChaining) {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Map.prototype, 'set', function <span class="fstat-no" title="function not covered" >set(</span>k, v) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _call(origMapSet, this, k === 0 ? 0 : k, v);</span>
|
||
<span class="cstat-no" title="statement not covered" > return this;</span>
|
||
});
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!mapUsesSameValueZero) {
|
||
<span class="cstat-no" title="statement not covered" > defineProperties(Map.prototype, {</span>
|
||
get: function <span class="fstat-no" title="function not covered" >get(</span>k) {
|
||
<span class="cstat-no" title="statement not covered" > return _call(origMapGet, this, k === 0 ? 0 : k);</span>
|
||
},
|
||
has: function <span class="fstat-no" title="function not covered" >has(</span>k) {
|
||
<span class="cstat-no" title="statement not covered" > return _call(origMapHas, this, k === 0 ? 0 : k);</span>
|
||
}
|
||
}, true);
|
||
<span class="cstat-no" title="statement not covered" > Value.preserveToString(Map.prototype.get, origMapGet);</span>
|
||
<span class="cstat-no" title="statement not covered" > Value.preserveToString(Map.prototype.has, origMapHas);</span>
|
||
}
|
||
var testSet = new Set();
|
||
var setUsesSameValueZero = Set.prototype['delete'] && Set.prototype.add && Set.prototype.has && (function (s) {
|
||
s['delete'](0);
|
||
s.add(-0);
|
||
return !s.has(0);
|
||
}(testSet));
|
||
var setSupportsChaining = testSet.add(1) === testSet;
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (!setUsesSameValueZero || <span class="branch-1 cbranch-no" title="branch not covered" >!setSupportsChaining)</span> {
|
||
var origSetAdd = Set.prototype.add;
|
||
Set.prototype.add = function add(v) {
|
||
_call(origSetAdd, this, v === 0 ? 0 : v);
|
||
return this;
|
||
};
|
||
Value.preserveToString(Set.prototype.add, origSetAdd);
|
||
}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (!setUsesSameValueZero) {
|
||
var origSetHas = Set.prototype.has;
|
||
Set.prototype.has = function has(v) {
|
||
return _call(origSetHas, this, v === 0 ? 0 : v);
|
||
};
|
||
Value.preserveToString(Set.prototype.has, origSetHas);
|
||
var origSetDel = Set.prototype['delete'];
|
||
Set.prototype['delete'] = function SetDelete(v) {
|
||
return _call(origSetDel, this, v === 0 ? 0 : v);
|
||
};
|
||
Value.preserveToString(Set.prototype['delete'], origSetDel);
|
||
}
|
||
var mapSupportsSubclassing = supportsSubclassing(globals.Map, function (M) {
|
||
var m = new M([]);
|
||
// Firefox 32 is ok with the instantiating the subclass but will
|
||
// throw when the map is used.
|
||
m.set(42, 42);
|
||
return m instanceof M;
|
||
});
|
||
// without Object.setPrototypeOf, subclassing is not possible
|
||
var mapFailsToSupportSubclassing = Object.setPrototypeOf && !mapSupportsSubclassing;
|
||
var mapRequiresNew = (function () {
|
||
try {
|
||
return !(globals.Map() instanceof globals.Map);
|
||
} catch (e) {
|
||
return e instanceof TypeError;
|
||
}
|
||
}());
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (globals.Map.length !== 0 || mapFailsToSupportSubclassing || !mapRequiresNew) {
|
||
<span class="cstat-no" title="statement not covered" > globals.Map = function <span class="fstat-no" title="function not covered" >Map(</span>) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!(this instanceof Map)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Constructor Map requires "new"');</span>
|
||
}
|
||
var m = <span class="cstat-no" title="statement not covered" >new OrigMap();</span>
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > addIterableToMap(Map, m, arguments[0]);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > delete m.constructor;</span>
|
||
<span class="cstat-no" title="statement not covered" > Object.setPrototypeOf(m, Map.prototype);</span>
|
||
<span class="cstat-no" title="statement not covered" > return m;</span>
|
||
};
|
||
<span class="cstat-no" title="statement not covered" > globals.Map.prototype = OrigMap.prototype;</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(globals.Map.prototype, 'constructor', globals.Map, true);</span>
|
||
<span class="cstat-no" title="statement not covered" > Value.preserveToString(globals.Map, OrigMap);</span>
|
||
}
|
||
var setSupportsSubclassing = supportsSubclassing(globals.Set, function (S) {
|
||
var s = new S([]);
|
||
s.add(42, 42);
|
||
return s instanceof S;
|
||
});
|
||
// without Object.setPrototypeOf, subclassing is not possible
|
||
var setFailsToSupportSubclassing = Object.setPrototypeOf && !setSupportsSubclassing;
|
||
var setRequiresNew = (function () {
|
||
try {
|
||
return !(globals.Set() instanceof globals.Set);
|
||
} catch (e) {
|
||
return e instanceof TypeError;
|
||
}
|
||
}());
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (globals.Set.length !== 0 || setFailsToSupportSubclassing || !setRequiresNew) {
|
||
var OrigSet = <span class="cstat-no" title="statement not covered" >globals.Set;</span>
|
||
<span class="cstat-no" title="statement not covered" > globals.Set = function <span class="fstat-no" title="function not covered" >Set(</span>) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!(this instanceof Set)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('Constructor Set requires "new"');</span>
|
||
}
|
||
var s = <span class="cstat-no" title="statement not covered" >new OrigSet();</span>
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 0) {</span>
|
||
<span class="cstat-no" title="statement not covered" > addIterableToSet(Set, s, arguments[0]);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > delete s.constructor;</span>
|
||
<span class="cstat-no" title="statement not covered" > Object.setPrototypeOf(s, Set.prototype);</span>
|
||
<span class="cstat-no" title="statement not covered" > return s;</span>
|
||
};
|
||
<span class="cstat-no" title="statement not covered" > globals.Set.prototype = OrigSet.prototype;</span>
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(globals.Set.prototype, 'constructor', globals.Set, true);</span>
|
||
<span class="cstat-no" title="statement not covered" > Value.preserveToString(globals.Set, OrigSet);</span>
|
||
}
|
||
var newMap = new globals.Map();
|
||
var mapIterationThrowsStopIterator = !valueOrFalseIfThrows(function () {
|
||
return newMap.keys().next().done;
|
||
});
|
||
/*
|
||
- In Firefox < 23, Map#size is a function.
|
||
- In all current Firefox, Set#entries/keys/values & Map#clear do not exist
|
||
- https://bugzilla.mozilla.org/show_bug.cgi?id=869996
|
||
- In Firefox 24, Map and Set do not implement forEach
|
||
- In Firefox 25 at least, Map and Set are callable without "new"
|
||
*/
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (
|
||
typeof globals.Map.prototype.clear !== 'function'
|
||
|| new globals.Set().size !== 0
|
||
|| newMap.size !== 0
|
||
|| typeof globals.Map.prototype.keys !== 'function'
|
||
|| typeof globals.Set.prototype.keys !== 'function'
|
||
|| typeof globals.Map.prototype.forEach !== 'function'
|
||
|| typeof globals.Set.prototype.forEach !== 'function'
|
||
|| isCallableWithoutNew(globals.Map)
|
||
|| isCallableWithoutNew(globals.Set)
|
||
|| typeof newMap.keys().next !== 'function' // Safari 8
|
||
|| mapIterationThrowsStopIterator // Firefox 25
|
||
|| !mapSupportsSubclassing
|
||
) {
|
||
<span class="cstat-no" title="statement not covered" > defineProperties(globals, {</span>
|
||
Map: collectionShims.Map,
|
||
Set: collectionShims.Set
|
||
}, true);
|
||
}
|
||
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (globals.Set.prototype.keys !== globals.Set.prototype.values) {
|
||
// Fixed in WebKit with https://bugs.webkit.org/show_bug.cgi?id=144190
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(globals.Set.prototype, 'keys', globals.Set.prototype.values, true);</span>
|
||
}
|
||
|
||
// Shim incomplete iterator implementations.
|
||
addIterator(Object.getPrototypeOf((new globals.Map()).keys()));
|
||
addIterator(Object.getPrototypeOf((new globals.Set()).keys()));
|
||
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (functionsHaveNames && globals.Set.prototype.has.name !== 'has') {
|
||
// Microsoft Edge v0.11.10074.0 is missing a name on Set#has
|
||
var anonymousSetHas = <span class="cstat-no" title="statement not covered" >globals.Set.prototype.has;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(globals.Set.prototype, 'has', function <span class="fstat-no" title="function not covered" >has(</span>key) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return _call(anonymousSetHas, this, key);</span>
|
||
});
|
||
}
|
||
}
|
||
defineProperties(globals, collectionShims);
|
||
addDefaultSpecies(globals.Map);
|
||
addDefaultSpecies(globals.Set);
|
||
}
|
||
|
||
var throwUnlessTargetIsObject = function throwUnlessTargetIsObject(target) {
|
||
if (!ES.TypeIsObject(target)) {
|
||
throw new TypeError('target must be an object');
|
||
}
|
||
};
|
||
|
||
// Some Reflect methods are basically the same as
|
||
// those on the Object global, except that a TypeError is thrown if
|
||
// target isn't an object. As well as returning a boolean indicating
|
||
// the success of the operation.
|
||
var ReflectShims = {
|
||
// Apply method in a functional form.
|
||
apply: function <span class="fstat-no" title="function not covered" >apply(</span>) {
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(ES.Call, null, arguments);</span>
|
||
},
|
||
|
||
// New operator in a functional form.
|
||
construct: function <span class="fstat-no" title="function not covered" >construct(</span>constructor, args) {
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.IsConstructor(constructor)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('First argument must be a constructor.');</span>
|
||
}
|
||
var newTarget = <span class="cstat-no" title="statement not covered" >arguments.length > 2 ? arguments[2] : constructor;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.IsConstructor(newTarget)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('new.target must be a constructor.');</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return ES.Construct(constructor, args, newTarget, 'internal');</span>
|
||
},
|
||
|
||
// When deleting a non-existent or configurable property,
|
||
// true is returned.
|
||
// When attempting to delete a non-configurable property,
|
||
// it will return false.
|
||
deleteProperty: function <span class="fstat-no" title="function not covered" >deleteProperty(</span>target, key) {
|
||
<span class="cstat-no" title="statement not covered" > throwUnlessTargetIsObject(target);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (supportsDescriptors) {</span>
|
||
var desc = <span class="cstat-no" title="statement not covered" >Object.getOwnPropertyDescriptor(target, key);</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > if (desc && !desc.configurable) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return false;</span>
|
||
}
|
||
}
|
||
|
||
// Will return true.
|
||
<span class="cstat-no" title="statement not covered" > return delete target[key];</span>
|
||
},
|
||
|
||
has: function <span class="fstat-no" title="function not covered" >has(</span>target, key) {
|
||
<span class="cstat-no" title="statement not covered" > throwUnlessTargetIsObject(target);</span>
|
||
<span class="cstat-no" title="statement not covered" > return key in target;</span>
|
||
}
|
||
};
|
||
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (Object.getOwnPropertyNames) {
|
||
Object.assign(ReflectShims, {
|
||
// Basically the result of calling the internal [[OwnPropertyKeys]].
|
||
// Concatenating propertyNames and propertySymbols should do the trick.
|
||
// This should continue to work together with a Symbol shim
|
||
// which overrides Object.getOwnPropertyNames and implements
|
||
// Object.getOwnPropertySymbols.
|
||
ownKeys: function <span class="fstat-no" title="function not covered" >ownKeys(</span>target) {
|
||
<span class="cstat-no" title="statement not covered" > throwUnlessTargetIsObject(target);</span>
|
||
var keys = <span class="cstat-no" title="statement not covered" >Object.getOwnPropertyNames(target);</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > if (ES.IsCallable(Object.getOwnPropertySymbols)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _pushApply(keys, Object.getOwnPropertySymbols(target));</span>
|
||
}
|
||
|
||
<span class="cstat-no" title="statement not covered" > return keys;</span>
|
||
}
|
||
});
|
||
}
|
||
|
||
var callAndCatchException = function ConvertExceptionToBoolean(func) {
|
||
return !throwsError(func);
|
||
};
|
||
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (Object.preventExtensions) {
|
||
Object.assign(ReflectShims, {
|
||
isExtensible: function <span class="fstat-no" title="function not covered" >isExtensible(</span>target) {
|
||
<span class="cstat-no" title="statement not covered" > throwUnlessTargetIsObject(target);</span>
|
||
<span class="cstat-no" title="statement not covered" > return Object.isExtensible(target);</span>
|
||
},
|
||
preventExtensions: function <span class="fstat-no" title="function not covered" >preventExtensions(</span>target) {
|
||
<span class="cstat-no" title="statement not covered" > throwUnlessTargetIsObject(target);</span>
|
||
<span class="cstat-no" title="statement not covered" > return callAndCatchException(<span class="fstat-no" title="function not covered" >fu</span>nction () {</span>
|
||
<span class="cstat-no" title="statement not covered" > return Object.preventExtensions(target);</span>
|
||
});
|
||
}
|
||
});
|
||
}
|
||
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (supportsDescriptors) {
|
||
var internalGet = function <span class="fstat-no" title="function not covered" >get(</span>target, key, receiver) {
|
||
var desc = <span class="cstat-no" title="statement not covered" >Object.getOwnPropertyDescriptor(target, key);</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > if (!desc) {</span>
|
||
var parent = <span class="cstat-no" title="statement not covered" >Object.getPrototypeOf(target);</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > if (parent === null) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return void 0;</span>
|
||
}
|
||
|
||
<span class="cstat-no" title="statement not covered" > return internalGet(parent, key, receiver);</span>
|
||
}
|
||
|
||
<span class="cstat-no" title="statement not covered" > if ('value' in desc) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return desc.value;</span>
|
||
}
|
||
|
||
<span class="cstat-no" title="statement not covered" > if (desc.get) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(desc.get, receiver);</span>
|
||
}
|
||
|
||
<span class="cstat-no" title="statement not covered" > return void 0;</span>
|
||
};
|
||
|
||
var internalSet = function <span class="fstat-no" title="function not covered" >set(</span>target, key, value, receiver) {
|
||
var desc = <span class="cstat-no" title="statement not covered" >Object.getOwnPropertyDescriptor(target, key);</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > if (!desc) {</span>
|
||
var parent = <span class="cstat-no" title="statement not covered" >Object.getPrototypeOf(target);</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > if (parent !== null) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return internalSet(parent, key, value, receiver);</span>
|
||
}
|
||
|
||
<span class="cstat-no" title="statement not covered" > desc = {</span>
|
||
value: void 0,
|
||
writable: true,
|
||
enumerable: true,
|
||
configurable: true
|
||
};
|
||
}
|
||
|
||
<span class="cstat-no" title="statement not covered" > if ('value' in desc) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!desc.writable) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return false;</span>
|
||
}
|
||
|
||
<span class="cstat-no" title="statement not covered" > if (!ES.TypeIsObject(receiver)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return false;</span>
|
||
}
|
||
|
||
var existingDesc = <span class="cstat-no" title="statement not covered" >Object.getOwnPropertyDescriptor(receiver, key);</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > if (existingDesc) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return Reflect.defineProperty(receiver, key, {</span>
|
||
value: value
|
||
});
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return Reflect.defineProperty(receiver, key, {</span>
|
||
value: value,
|
||
writable: true,
|
||
enumerable: true,
|
||
configurable: true
|
||
});
|
||
|
||
}
|
||
|
||
<span class="cstat-no" title="statement not covered" > if (desc.set) {</span>
|
||
<span class="cstat-no" title="statement not covered" > _call(desc.set, receiver, value);</span>
|
||
<span class="cstat-no" title="statement not covered" > return true;</span>
|
||
}
|
||
|
||
<span class="cstat-no" title="statement not covered" > return false;</span>
|
||
};
|
||
|
||
Object.assign(ReflectShims, {
|
||
defineProperty: function defineProperty(target, propertyKey, attributes) {
|
||
throwUnlessTargetIsObject(target);
|
||
return callAndCatchException(function () {
|
||
return Object.defineProperty(target, propertyKey, attributes);
|
||
});
|
||
},
|
||
|
||
getOwnPropertyDescriptor: function <span class="fstat-no" title="function not covered" >getOwnPropertyDescriptor(</span>target, propertyKey) {
|
||
<span class="cstat-no" title="statement not covered" > throwUnlessTargetIsObject(target);</span>
|
||
<span class="cstat-no" title="statement not covered" > return Object.getOwnPropertyDescriptor(target, propertyKey);</span>
|
||
},
|
||
|
||
// Syntax in a functional form.
|
||
get: function <span class="fstat-no" title="function not covered" >get(</span>target, key) {
|
||
<span class="cstat-no" title="statement not covered" > throwUnlessTargetIsObject(target);</span>
|
||
var receiver = <span class="cstat-no" title="statement not covered" >arguments.length > 2 ? arguments[2] : target;</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > return internalGet(target, key, receiver);</span>
|
||
},
|
||
|
||
set: function <span class="fstat-no" title="function not covered" >set(</span>target, key, value) {
|
||
<span class="cstat-no" title="statement not covered" > throwUnlessTargetIsObject(target);</span>
|
||
var receiver = <span class="cstat-no" title="statement not covered" >arguments.length > 3 ? arguments[3] : target;</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > return internalSet(target, key, value, receiver);</span>
|
||
}
|
||
});
|
||
}
|
||
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (Object.getPrototypeOf) {
|
||
var objectDotGetPrototypeOf = Object.getPrototypeOf;
|
||
ReflectShims.getPrototypeOf = function <span class="fstat-no" title="function not covered" >getPrototypeOf(</span>target) {
|
||
<span class="cstat-no" title="statement not covered" > throwUnlessTargetIsObject(target);</span>
|
||
<span class="cstat-no" title="statement not covered" > return objectDotGetPrototypeOf(target);</span>
|
||
};
|
||
}
|
||
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (Object.setPrototypeOf && ReflectShims.getPrototypeOf) {
|
||
var willCreateCircularPrototype = <span class="fstat-no" title="function not covered" >fu</span>nction (object, lastProto) {
|
||
var proto = <span class="cstat-no" title="statement not covered" >lastProto;</span>
|
||
<span class="cstat-no" title="statement not covered" > while (proto) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (object === proto) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return true;</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > proto = ReflectShims.getPrototypeOf(proto);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return false;</span>
|
||
};
|
||
|
||
Object.assign(ReflectShims, {
|
||
// Sets the prototype of the given object.
|
||
// Returns true on success, otherwise false.
|
||
setPrototypeOf: function <span class="fstat-no" title="function not covered" >setPrototypeOf(</span>object, proto) {
|
||
<span class="cstat-no" title="statement not covered" > throwUnlessTargetIsObject(object);</span>
|
||
<span class="cstat-no" title="statement not covered" > if (proto !== null && !ES.TypeIsObject(proto)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > throw new TypeError('proto must be an object or null');</span>
|
||
}
|
||
|
||
// If they already are the same, we're done.
|
||
<span class="cstat-no" title="statement not covered" > if (proto === Reflect.getPrototypeOf(object)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return true;</span>
|
||
}
|
||
|
||
// Cannot alter prototype if object not extensible.
|
||
<span class="cstat-no" title="statement not covered" > if (Reflect.isExtensible && !Reflect.isExtensible(object)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return false;</span>
|
||
}
|
||
|
||
// Ensure that we do not create a circular prototype chain.
|
||
<span class="cstat-no" title="statement not covered" > if (willCreateCircularPrototype(object, proto)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return false;</span>
|
||
}
|
||
|
||
<span class="cstat-no" title="statement not covered" > Object.setPrototypeOf(object, proto);</span>
|
||
|
||
<span class="cstat-no" title="statement not covered" > return true;</span>
|
||
}
|
||
});
|
||
}
|
||
var defineOrOverrideReflectProperty = function (key, shim) {
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!ES.IsCallable(globals.Reflect[key])) {
|
||
<span class="cstat-no" title="statement not covered" > defineProperty(globals.Reflect, key, shim);</span>
|
||
} else {
|
||
var acceptsPrimitives = valueOrFalseIfThrows(function () {
|
||
globals.Reflect[key](1);
|
||
<span class="cstat-no" title="statement not covered" > globals.Reflect[key](NaN);</span>
|
||
<span class="cstat-no" title="statement not covered" > globals.Reflect[key](true);</span>
|
||
<span class="cstat-no" title="statement not covered" > return true;</span>
|
||
});
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (acceptsPrimitives) {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(globals.Reflect, key, shim);</span>
|
||
}
|
||
}
|
||
};
|
||
Object.keys(ReflectShims).forEach(function (key) {
|
||
defineOrOverrideReflectProperty(key, ReflectShims[key]);
|
||
});
|
||
var originalReflectGetProto = globals.Reflect.getPrototypeOf;
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (functionsHaveNames && originalReflectGetProto && originalReflectGetProto.name !== 'getPrototypeOf') {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(globals.Reflect, 'getPrototypeOf', function <span class="fstat-no" title="function not covered" >getPrototypeOf(</span>target) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return _call(originalReflectGetProto, globals.Reflect, target);</span>
|
||
});
|
||
}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (globals.Reflect.setPrototypeOf) {
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (valueOrFalseIfThrows(function () {
|
||
globals.Reflect.setPrototypeOf(1, {});
|
||
<span class="cstat-no" title="statement not covered" > return true;</span>
|
||
})) {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(globals.Reflect, 'setPrototypeOf', ReflectShims.setPrototypeOf);</span>
|
||
}
|
||
}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (globals.Reflect.defineProperty) {
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (!valueOrFalseIfThrows(function () {
|
||
var basic = !globals.Reflect.defineProperty(1, 'test', { value: 1 });
|
||
// "extensible" fails on Edge 0.12
|
||
var extensible = <span class="cstat-no" title="statement not covered" >typeof Object.preventExtensions !== 'function' || !globals.Reflect.defineProperty(Object.preventExtensions({}), 'test', {});</span>
|
||
<span class="cstat-no" title="statement not covered" > return basic && extensible;</span>
|
||
})) {
|
||
overrideNative(globals.Reflect, 'defineProperty', ReflectShims.defineProperty);
|
||
}
|
||
}
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (globals.Reflect.construct) {
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!valueOrFalseIfThrows(function () {
|
||
var F = function <span class="fstat-no" title="function not covered" >F(</span>) {};
|
||
return globals.Reflect.construct(function () {}, [], F) instanceof F;
|
||
})) {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(globals.Reflect, 'construct', ReflectShims.construct);</span>
|
||
}
|
||
}
|
||
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (String(new Date(NaN)) !== 'Invalid Date') {
|
||
var dateToString = <span class="cstat-no" title="statement not covered" >Date.prototype.toString;</span>
|
||
var shimmedDateToString = <span class="cstat-no" title="statement not covered" >function <span class="fstat-no" title="function not covered" >toString(</span>) {</span>
|
||
var valueOf = <span class="cstat-no" title="statement not covered" >+this;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (valueOf !== valueOf) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return 'Invalid Date';</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return ES.Call(dateToString, this);</span>
|
||
};
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(Date.prototype, 'toString', shimmedDateToString);</span>
|
||
}
|
||
|
||
// Annex B HTML methods
|
||
// http://www.ecma-international.org/ecma-262/6.0/#sec-additional-properties-of-the-string.prototype-object
|
||
var stringHTMLshims = {
|
||
anchor: function <span class="fstat-no" title="function not covered" >anchor(</span>name) { <span class="cstat-no" title="statement not covered" >return ES.CreateHTML(this, 'a', 'name', name); </span>},
|
||
big: function <span class="fstat-no" title="function not covered" >big(</span>) { <span class="cstat-no" title="statement not covered" >return ES.CreateHTML(this, 'big', '', ''); </span>},
|
||
blink: function <span class="fstat-no" title="function not covered" >blink(</span>) { <span class="cstat-no" title="statement not covered" >return ES.CreateHTML(this, 'blink', '', ''); </span>},
|
||
bold: function <span class="fstat-no" title="function not covered" >bold(</span>) { <span class="cstat-no" title="statement not covered" >return ES.CreateHTML(this, 'b', '', ''); </span>},
|
||
fixed: function <span class="fstat-no" title="function not covered" >fixed(</span>) { <span class="cstat-no" title="statement not covered" >return ES.CreateHTML(this, 'tt', '', ''); </span>},
|
||
fontcolor: function <span class="fstat-no" title="function not covered" >fontcolor(</span>color) { <span class="cstat-no" title="statement not covered" >return ES.CreateHTML(this, 'font', 'color', color); </span>},
|
||
fontsize: function <span class="fstat-no" title="function not covered" >fontsize(</span>size) { <span class="cstat-no" title="statement not covered" >return ES.CreateHTML(this, 'font', 'size', size); </span>},
|
||
italics: function <span class="fstat-no" title="function not covered" >italics(</span>) { <span class="cstat-no" title="statement not covered" >return ES.CreateHTML(this, 'i', '', ''); </span>},
|
||
link: function <span class="fstat-no" title="function not covered" >link(</span>url) { <span class="cstat-no" title="statement not covered" >return ES.CreateHTML(this, 'a', 'href', url); </span>},
|
||
small: function <span class="fstat-no" title="function not covered" >small(</span>) { <span class="cstat-no" title="statement not covered" >return ES.CreateHTML(this, 'small', '', ''); </span>},
|
||
strike: function <span class="fstat-no" title="function not covered" >strike(</span>) { <span class="cstat-no" title="statement not covered" >return ES.CreateHTML(this, 'strike', '', ''); </span>},
|
||
sub: function <span class="fstat-no" title="function not covered" >sub(</span>) { <span class="cstat-no" title="statement not covered" >return ES.CreateHTML(this, 'sub', '', ''); </span>},
|
||
sup: function <span class="fstat-no" title="function not covered" >sub(</span>) { <span class="cstat-no" title="statement not covered" >return ES.CreateHTML(this, 'sup', '', ''); </span>}
|
||
};
|
||
_forEach(Object.keys(stringHTMLshims), function (key) {
|
||
var method = String.prototype[key];
|
||
var shouldOverwrite = false;
|
||
<span class="missing-if-branch" title="else path not taken" >E</span>if (ES.IsCallable(method)) {
|
||
var output = _call(method, '', ' " ');
|
||
var quotesCount = _concat([], output.match(/"/g)).length;
|
||
shouldOverwrite = output !== output.toLowerCase() || quotesCount > 2;
|
||
} else {
|
||
<span class="cstat-no" title="statement not covered" > shouldOverwrite = true;</span>
|
||
}
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (shouldOverwrite) {
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(String.prototype, key, stringHTMLshims[key]);</span>
|
||
}
|
||
});
|
||
|
||
var JSONstringifiesSymbols = (function () {
|
||
// Microsoft Edge v0.12 stringifies Symbols incorrectly
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!hasSymbols) { <span class="cstat-no" title="statement not covered" >return false; </span>} // Symbols are not supported
|
||
var stringify = typeof JSON === 'object' && typeof JSON.stringify === 'function' ? JSON.stringify : <span class="branch-1 cbranch-no" title="branch not covered" >null;</span>
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!stringify) { <span class="cstat-no" title="statement not covered" >return false; </span>} // JSON.stringify is not supported
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (typeof stringify(Symbol()) !== 'undefined') { <span class="cstat-no" title="statement not covered" >return true; </span>} // Symbols should become `undefined`
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (stringify([Symbol()]) !== '[null]') { <span class="cstat-no" title="statement not covered" >return true; </span>} // Symbols in arrays should become `null`
|
||
var obj = { a: Symbol() };
|
||
obj[Symbol()] = true;
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (stringify(obj) !== '{}') { <span class="cstat-no" title="statement not covered" >return true; </span>} // Symbol-valued keys *and* Symbol-valued properties should be omitted
|
||
return false;
|
||
}());
|
||
var JSONstringifyAcceptsObjectSymbol = valueOrFalseIfThrows(function () {
|
||
// Chrome 45 throws on stringifying object symbols
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (!hasSymbols) { <span class="cstat-no" title="statement not covered" >return true; </span>} // Symbols are not supported
|
||
return JSON.stringify(Object(Symbol())) === '{}' && JSON.stringify([Object(Symbol())]) === '[{}]';
|
||
});
|
||
<span class="missing-if-branch" title="if path not taken" >I</span>if (JSONstringifiesSymbols || !JSONstringifyAcceptsObjectSymbol) {
|
||
var origStringify = <span class="cstat-no" title="statement not covered" >JSON.stringify;</span>
|
||
<span class="cstat-no" title="statement not covered" > overrideNative(JSON, 'stringify', function <span class="fstat-no" title="function not covered" >stringify(</span>value) {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (typeof value === 'symbol') { <span class="cstat-no" title="statement not covered" >return; </span>}</span>
|
||
var replacer;
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 1) {</span>
|
||
<span class="cstat-no" title="statement not covered" > replacer = arguments[1];</span>
|
||
}
|
||
var args = <span class="cstat-no" title="statement not covered" >[value];</span>
|
||
<span class="cstat-no" title="statement not covered" > if (!isArray(replacer)) {</span>
|
||
var replaceFn = <span class="cstat-no" title="statement not covered" >ES.IsCallable(replacer) ? replacer : null;</span>
|
||
var wrappedReplacer = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >fu</span>nction (key, val) {</span>
|
||
var parsedValue = <span class="cstat-no" title="statement not covered" >replaceFn ? _call(replaceFn, this, key, val) : val;</span>
|
||
<span class="cstat-no" title="statement not covered" > if (typeof parsedValue !== 'symbol') {</span>
|
||
<span class="cstat-no" title="statement not covered" > if (Type.symbol(parsedValue)) {</span>
|
||
<span class="cstat-no" title="statement not covered" > return assignTo({})(parsedValue);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return parsedValue;</span>
|
||
|
||
}
|
||
};
|
||
<span class="cstat-no" title="statement not covered" > args.push(wrappedReplacer);</span>
|
||
} else {
|
||
// create wrapped replacer that handles an array replacer?
|
||
<span class="cstat-no" title="statement not covered" > args.push(replacer);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > if (arguments.length > 2) {</span>
|
||
<span class="cstat-no" title="statement not covered" > args.push(arguments[2]);</span>
|
||
}
|
||
<span class="cstat-no" title="statement not covered" > return origStringify.apply(this, args);</span>
|
||
});
|
||
}
|
||
|
||
return globals;
|
||
}));
|
||
</pre></td></tr>
|
||
</table></pre>
|
||
<div class='push'></div><!-- for sticky footer -->
|
||
</div><!-- /wrapper -->
|
||
<div class='footer quiet pad2 space-top1 center small'>
|
||
Code coverage
|
||
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Thu Mar 23 2023 11:54:14 GMT-0700 (Pacific Daylight Time)
|
||
</div>
|
||
</div>
|
||
<script src="prettify.js"></script>
|
||
<script>
|
||
window.onload = function () {
|
||
if (typeof prettyPrint === 'function') {
|
||
prettyPrint();
|
||
}
|
||
};
|
||
</script>
|
||
<script src="sorter.js"></script>
|
||
</body>
|
||
</html>
|