@zeedhi/teknisa-components-common 1.98.0 → 1.98.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (88) hide show
  1. package/coverage/clover.xml +739 -685
  2. package/coverage/coverage-final.json +45 -45
  3. package/coverage/lcov-report/index.html +17 -17
  4. package/coverage/lcov-report/tests/__helpers__/component-event-helper.ts.html +2 -2
  5. package/coverage/lcov-report/tests/__helpers__/flush-promises-helper.ts.html +2 -2
  6. package/coverage/lcov-report/tests/__helpers__/get-child-helper.ts.html +9 -9
  7. package/coverage/lcov-report/tests/__helpers__/index.html +1 -1
  8. package/coverage/lcov-report/tests/__helpers__/index.ts.html +1 -1
  9. package/coverage/lcov-report/tests/__helpers__/mock-created-helper.ts.html +1 -1
  10. package/coverage/lcov.info +1275 -1179
  11. package/dist/tek-components-common.esm.js +6 -0
  12. package/dist/tek-components-common.umd.js +6 -0
  13. package/package.json +2 -2
  14. package/types/components/tek-ag-grid/default-icons.d.ts +53 -0
  15. package/types/components/tek-ag-grid/interfaces.d.ts +9 -0
  16. package/types/components/tek-ag-grid/tek-ag-grid.d.ts +35 -0
  17. package/types/components/tek-datasource/datasource.d.ts +94 -0
  18. package/types/components/tek-grid/default-icons.d.ts +53 -0
  19. package/types/components/tek-grid/filter-dynamic-values.d.ts +9 -0
  20. package/types/components/tek-grid/grid-controller.d.ts +19 -0
  21. package/types/components/tek-grid/grid.d.ts +1 -0
  22. package/types/components/tek-grid/grid_column.d.ts +14 -0
  23. package/types/components/tek-grid/grid_controller.d.ts +15 -0
  24. package/types/components/tek-grid/tek-grid.d.ts +35 -0
  25. package/types/components/tek-login/interfaces.d.ts +3 -0
  26. package/types/components/tek-login/login-children.d.ts +3 -0
  27. package/types/components/tek-login/login.d.ts +58 -0
  28. package/types/components/tek-login/login_children.d.ts +3 -0
  29. package/types/components/tek-tree-grid/tree-grid.d.ts +1 -0
  30. package/coverage/lcov-report/components/crud/crud-add-button.ts.html +0 -250
  31. package/coverage/lcov-report/components/crud/crud-button.ts.html +0 -292
  32. package/coverage/lcov-report/components/crud/crud-cancel-button.ts.html +0 -259
  33. package/coverage/lcov-report/components/crud/crud-delete-button.ts.html +0 -322
  34. package/coverage/lcov-report/components/crud/crud-form.ts.html +0 -382
  35. package/coverage/lcov-report/components/crud/crud-save-button.ts.html +0 -253
  36. package/coverage/lcov-report/components/crud/index.html +0 -191
  37. package/coverage/lcov-report/components/index.html +0 -116
  38. package/coverage/lcov-report/components/index.ts.html +0 -394
  39. package/coverage/lcov-report/components/tek-breadcrumb-header/breadcrumb-header.ts.html +0 -172
  40. package/coverage/lcov-report/components/tek-breadcrumb-header/index.html +0 -116
  41. package/coverage/lcov-report/components/tek-card-title/card-title.ts.html +0 -175
  42. package/coverage/lcov-report/components/tek-card-title/index.html +0 -116
  43. package/coverage/lcov-report/components/tek-datasource/index.html +0 -146
  44. package/coverage/lcov-report/components/tek-datasource/interfaces.ts.html +0 -193
  45. package/coverage/lcov-report/components/tek-datasource/memory-datasource.ts.html +0 -1015
  46. package/coverage/lcov-report/components/tek-datasource/rest-datasource.ts.html +0 -751
  47. package/coverage/lcov-report/components/tek-drag-grid/index.html +0 -116
  48. package/coverage/lcov-report/components/tek-drag-grid/tek-drag-grid.ts.html +0 -409
  49. package/coverage/lcov-report/components/tek-grid/filter-helper.ts.html +0 -145
  50. package/coverage/lcov-report/components/tek-grid/grid-column.ts.html +0 -775
  51. package/coverage/lcov-report/components/tek-grid/grid-columns-button-controller.ts.html +0 -169
  52. package/coverage/lcov-report/components/tek-grid/grid-columns-button.ts.html +0 -190
  53. package/coverage/lcov-report/components/tek-grid/grid-filter-button.ts.html +0 -1282
  54. package/coverage/lcov-report/components/tek-grid/grid.ts.html +0 -3157
  55. package/coverage/lcov-report/components/tek-grid/index.html +0 -221
  56. package/coverage/lcov-report/components/tek-grid/interfaces.ts.html +0 -733
  57. package/coverage/lcov-report/components/tek-grid/layout-options.ts.html +0 -826
  58. package/coverage/lcov-report/components/tek-image/image.ts.html +0 -313
  59. package/coverage/lcov-report/components/tek-image/index.html +0 -116
  60. package/coverage/lcov-report/components/tek-iterable-carousel/index.html +0 -116
  61. package/coverage/lcov-report/components/tek-iterable-carousel/iterable-carousel.ts.html +0 -175
  62. package/coverage/lcov-report/components/tek-iterable-component-render/index.html +0 -116
  63. package/coverage/lcov-report/components/tek-iterable-component-render/iterable-component-render.ts.html +0 -118
  64. package/coverage/lcov-report/components/tek-loading/index.html +0 -116
  65. package/coverage/lcov-report/components/tek-loading/loading.ts.html +0 -196
  66. package/coverage/lcov-report/components/tek-notifications/index.html +0 -116
  67. package/coverage/lcov-report/components/tek-notifications/notifications.ts.html +0 -271
  68. package/coverage/lcov-report/components/tek-product-card/index.html +0 -116
  69. package/coverage/lcov-report/components/tek-product-card/product-card.ts.html +0 -391
  70. package/coverage/lcov-report/components/tek-tree-grid/index.html +0 -116
  71. package/coverage/lcov-report/components/tek-tree-grid/tree-grid.ts.html +0 -1255
  72. package/coverage/lcov-report/components/tek-user-info/TekUserInfoController.ts.html +0 -367
  73. package/coverage/lcov-report/components/tek-user-info/index.html +0 -146
  74. package/coverage/lcov-report/components/tek-user-info/tek-user-info-list.ts.html +0 -268
  75. package/coverage/lcov-report/components/tek-user-info/tek-user-info.ts.html +0 -1096
  76. package/coverage/lcov-report/error/delete-rows-error.ts.html +0 -118
  77. package/coverage/lcov-report/error/index.html +0 -116
  78. package/coverage/lcov-report/utils/grid-base/export-options/button-option.ts.html +0 -166
  79. package/coverage/lcov-report/utils/grid-base/export-options/index.html +0 -146
  80. package/coverage/lcov-report/utils/grid-base/export-options/index.ts.html +0 -94
  81. package/coverage/lcov-report/utils/grid-base/export-options/multi-option.ts.html +0 -355
  82. package/coverage/lcov-report/utils/grid-base/grid-base.ts.html +0 -1960
  83. package/coverage/lcov-report/utils/grid-base/grid-controller.ts.html +0 -457
  84. package/coverage/lcov-report/utils/grid-base/index.html +0 -131
  85. package/coverage/lcov-report/utils/index.html +0 -116
  86. package/coverage/lcov-report/utils/index.ts.html +0 -100
  87. package/coverage/lcov-report/utils/report-filter/index.html +0 -116
  88. package/coverage/lcov-report/utils/report-filter/report-filter.ts.html +0 -256
@@ -1,3157 +0,0 @@
1
-
2
- <!doctype html>
3
- <html lang="en">
4
-
5
- <head>
6
- <title>Code coverage report for components/tek-grid/grid.ts</title>
7
- <meta charset="utf-8" />
8
- <link rel="stylesheet" href="../../prettify.css" />
9
- <link rel="stylesheet" href="../../base.css" />
10
- <link rel="shortcut icon" type="image/x-icon" href="../../favicon.png" />
11
- <meta name="viewport" content="width=device-width, initial-scale=1" />
12
- <style type='text/css'>
13
- .coverage-summary .sorter {
14
- background-image: url(../../sort-arrow-sprite.png);
15
- }
16
- </style>
17
- </head>
18
-
19
- <body>
20
- <div class='wrapper'>
21
- <div class='pad1'>
22
- <h1><a href="../../index.html">All files</a> / <a href="index.html">components/tek-grid</a> grid.ts</h1>
23
- <div class='clearfix'>
24
-
25
- <div class='fl pad1y space-right2'>
26
- <span class="strong">21.47% </span>
27
- <span class="quiet">Statements</span>
28
- <span class='fraction'>73/340</span>
29
- </div>
30
-
31
-
32
- <div class='fl pad1y space-right2'>
33
- <span class="strong">5.07% </span>
34
- <span class="quiet">Branches</span>
35
- <span class='fraction'>7/138</span>
36
- </div>
37
-
38
-
39
- <div class='fl pad1y space-right2'>
40
- <span class="strong">2.59% </span>
41
- <span class="quiet">Functions</span>
42
- <span class='fraction'>2/77</span>
43
- </div>
44
-
45
-
46
- <div class='fl pad1y space-right2'>
47
- <span class="strong">22.81% </span>
48
- <span class="quiet">Lines</span>
49
- <span class='fraction'>73/320</span>
50
- </div>
51
-
52
-
53
- </div>
54
- <p class="quiet">
55
- Press <em>n</em> or <em>j</em> to go to the next uncovered block, <em>b</em>, <em>p</em> or <em>k</em> for the previous block.
56
- </p>
57
- <template id="filterTemplate">
58
- <div class="quiet">
59
- Filter:
60
- <input oninput="onInput()" type="search" id="fileSearch">
61
- </div>
62
- </template>
63
- </div>
64
- <div class='status-line low'></div>
65
- <pre><table class="coverage">
66
- <tr><td class="line-count quiet"><a name='L1'></a><a href='#L1'>1</a>
67
- <a name='L2'></a><a href='#L2'>2</a>
68
- <a name='L3'></a><a href='#L3'>3</a>
69
- <a name='L4'></a><a href='#L4'>4</a>
70
- <a name='L5'></a><a href='#L5'>5</a>
71
- <a name='L6'></a><a href='#L6'>6</a>
72
- <a name='L7'></a><a href='#L7'>7</a>
73
- <a name='L8'></a><a href='#L8'>8</a>
74
- <a name='L9'></a><a href='#L9'>9</a>
75
- <a name='L10'></a><a href='#L10'>10</a>
76
- <a name='L11'></a><a href='#L11'>11</a>
77
- <a name='L12'></a><a href='#L12'>12</a>
78
- <a name='L13'></a><a href='#L13'>13</a>
79
- <a name='L14'></a><a href='#L14'>14</a>
80
- <a name='L15'></a><a href='#L15'>15</a>
81
- <a name='L16'></a><a href='#L16'>16</a>
82
- <a name='L17'></a><a href='#L17'>17</a>
83
- <a name='L18'></a><a href='#L18'>18</a>
84
- <a name='L19'></a><a href='#L19'>19</a>
85
- <a name='L20'></a><a href='#L20'>20</a>
86
- <a name='L21'></a><a href='#L21'>21</a>
87
- <a name='L22'></a><a href='#L22'>22</a>
88
- <a name='L23'></a><a href='#L23'>23</a>
89
- <a name='L24'></a><a href='#L24'>24</a>
90
- <a name='L25'></a><a href='#L25'>25</a>
91
- <a name='L26'></a><a href='#L26'>26</a>
92
- <a name='L27'></a><a href='#L27'>27</a>
93
- <a name='L28'></a><a href='#L28'>28</a>
94
- <a name='L29'></a><a href='#L29'>29</a>
95
- <a name='L30'></a><a href='#L30'>30</a>
96
- <a name='L31'></a><a href='#L31'>31</a>
97
- <a name='L32'></a><a href='#L32'>32</a>
98
- <a name='L33'></a><a href='#L33'>33</a>
99
- <a name='L34'></a><a href='#L34'>34</a>
100
- <a name='L35'></a><a href='#L35'>35</a>
101
- <a name='L36'></a><a href='#L36'>36</a>
102
- <a name='L37'></a><a href='#L37'>37</a>
103
- <a name='L38'></a><a href='#L38'>38</a>
104
- <a name='L39'></a><a href='#L39'>39</a>
105
- <a name='L40'></a><a href='#L40'>40</a>
106
- <a name='L41'></a><a href='#L41'>41</a>
107
- <a name='L42'></a><a href='#L42'>42</a>
108
- <a name='L43'></a><a href='#L43'>43</a>
109
- <a name='L44'></a><a href='#L44'>44</a>
110
- <a name='L45'></a><a href='#L45'>45</a>
111
- <a name='L46'></a><a href='#L46'>46</a>
112
- <a name='L47'></a><a href='#L47'>47</a>
113
- <a name='L48'></a><a href='#L48'>48</a>
114
- <a name='L49'></a><a href='#L49'>49</a>
115
- <a name='L50'></a><a href='#L50'>50</a>
116
- <a name='L51'></a><a href='#L51'>51</a>
117
- <a name='L52'></a><a href='#L52'>52</a>
118
- <a name='L53'></a><a href='#L53'>53</a>
119
- <a name='L54'></a><a href='#L54'>54</a>
120
- <a name='L55'></a><a href='#L55'>55</a>
121
- <a name='L56'></a><a href='#L56'>56</a>
122
- <a name='L57'></a><a href='#L57'>57</a>
123
- <a name='L58'></a><a href='#L58'>58</a>
124
- <a name='L59'></a><a href='#L59'>59</a>
125
- <a name='L60'></a><a href='#L60'>60</a>
126
- <a name='L61'></a><a href='#L61'>61</a>
127
- <a name='L62'></a><a href='#L62'>62</a>
128
- <a name='L63'></a><a href='#L63'>63</a>
129
- <a name='L64'></a><a href='#L64'>64</a>
130
- <a name='L65'></a><a href='#L65'>65</a>
131
- <a name='L66'></a><a href='#L66'>66</a>
132
- <a name='L67'></a><a href='#L67'>67</a>
133
- <a name='L68'></a><a href='#L68'>68</a>
134
- <a name='L69'></a><a href='#L69'>69</a>
135
- <a name='L70'></a><a href='#L70'>70</a>
136
- <a name='L71'></a><a href='#L71'>71</a>
137
- <a name='L72'></a><a href='#L72'>72</a>
138
- <a name='L73'></a><a href='#L73'>73</a>
139
- <a name='L74'></a><a href='#L74'>74</a>
140
- <a name='L75'></a><a href='#L75'>75</a>
141
- <a name='L76'></a><a href='#L76'>76</a>
142
- <a name='L77'></a><a href='#L77'>77</a>
143
- <a name='L78'></a><a href='#L78'>78</a>
144
- <a name='L79'></a><a href='#L79'>79</a>
145
- <a name='L80'></a><a href='#L80'>80</a>
146
- <a name='L81'></a><a href='#L81'>81</a>
147
- <a name='L82'></a><a href='#L82'>82</a>
148
- <a name='L83'></a><a href='#L83'>83</a>
149
- <a name='L84'></a><a href='#L84'>84</a>
150
- <a name='L85'></a><a href='#L85'>85</a>
151
- <a name='L86'></a><a href='#L86'>86</a>
152
- <a name='L87'></a><a href='#L87'>87</a>
153
- <a name='L88'></a><a href='#L88'>88</a>
154
- <a name='L89'></a><a href='#L89'>89</a>
155
- <a name='L90'></a><a href='#L90'>90</a>
156
- <a name='L91'></a><a href='#L91'>91</a>
157
- <a name='L92'></a><a href='#L92'>92</a>
158
- <a name='L93'></a><a href='#L93'>93</a>
159
- <a name='L94'></a><a href='#L94'>94</a>
160
- <a name='L95'></a><a href='#L95'>95</a>
161
- <a name='L96'></a><a href='#L96'>96</a>
162
- <a name='L97'></a><a href='#L97'>97</a>
163
- <a name='L98'></a><a href='#L98'>98</a>
164
- <a name='L99'></a><a href='#L99'>99</a>
165
- <a name='L100'></a><a href='#L100'>100</a>
166
- <a name='L101'></a><a href='#L101'>101</a>
167
- <a name='L102'></a><a href='#L102'>102</a>
168
- <a name='L103'></a><a href='#L103'>103</a>
169
- <a name='L104'></a><a href='#L104'>104</a>
170
- <a name='L105'></a><a href='#L105'>105</a>
171
- <a name='L106'></a><a href='#L106'>106</a>
172
- <a name='L107'></a><a href='#L107'>107</a>
173
- <a name='L108'></a><a href='#L108'>108</a>
174
- <a name='L109'></a><a href='#L109'>109</a>
175
- <a name='L110'></a><a href='#L110'>110</a>
176
- <a name='L111'></a><a href='#L111'>111</a>
177
- <a name='L112'></a><a href='#L112'>112</a>
178
- <a name='L113'></a><a href='#L113'>113</a>
179
- <a name='L114'></a><a href='#L114'>114</a>
180
- <a name='L115'></a><a href='#L115'>115</a>
181
- <a name='L116'></a><a href='#L116'>116</a>
182
- <a name='L117'></a><a href='#L117'>117</a>
183
- <a name='L118'></a><a href='#L118'>118</a>
184
- <a name='L119'></a><a href='#L119'>119</a>
185
- <a name='L120'></a><a href='#L120'>120</a>
186
- <a name='L121'></a><a href='#L121'>121</a>
187
- <a name='L122'></a><a href='#L122'>122</a>
188
- <a name='L123'></a><a href='#L123'>123</a>
189
- <a name='L124'></a><a href='#L124'>124</a>
190
- <a name='L125'></a><a href='#L125'>125</a>
191
- <a name='L126'></a><a href='#L126'>126</a>
192
- <a name='L127'></a><a href='#L127'>127</a>
193
- <a name='L128'></a><a href='#L128'>128</a>
194
- <a name='L129'></a><a href='#L129'>129</a>
195
- <a name='L130'></a><a href='#L130'>130</a>
196
- <a name='L131'></a><a href='#L131'>131</a>
197
- <a name='L132'></a><a href='#L132'>132</a>
198
- <a name='L133'></a><a href='#L133'>133</a>
199
- <a name='L134'></a><a href='#L134'>134</a>
200
- <a name='L135'></a><a href='#L135'>135</a>
201
- <a name='L136'></a><a href='#L136'>136</a>
202
- <a name='L137'></a><a href='#L137'>137</a>
203
- <a name='L138'></a><a href='#L138'>138</a>
204
- <a name='L139'></a><a href='#L139'>139</a>
205
- <a name='L140'></a><a href='#L140'>140</a>
206
- <a name='L141'></a><a href='#L141'>141</a>
207
- <a name='L142'></a><a href='#L142'>142</a>
208
- <a name='L143'></a><a href='#L143'>143</a>
209
- <a name='L144'></a><a href='#L144'>144</a>
210
- <a name='L145'></a><a href='#L145'>145</a>
211
- <a name='L146'></a><a href='#L146'>146</a>
212
- <a name='L147'></a><a href='#L147'>147</a>
213
- <a name='L148'></a><a href='#L148'>148</a>
214
- <a name='L149'></a><a href='#L149'>149</a>
215
- <a name='L150'></a><a href='#L150'>150</a>
216
- <a name='L151'></a><a href='#L151'>151</a>
217
- <a name='L152'></a><a href='#L152'>152</a>
218
- <a name='L153'></a><a href='#L153'>153</a>
219
- <a name='L154'></a><a href='#L154'>154</a>
220
- <a name='L155'></a><a href='#L155'>155</a>
221
- <a name='L156'></a><a href='#L156'>156</a>
222
- <a name='L157'></a><a href='#L157'>157</a>
223
- <a name='L158'></a><a href='#L158'>158</a>
224
- <a name='L159'></a><a href='#L159'>159</a>
225
- <a name='L160'></a><a href='#L160'>160</a>
226
- <a name='L161'></a><a href='#L161'>161</a>
227
- <a name='L162'></a><a href='#L162'>162</a>
228
- <a name='L163'></a><a href='#L163'>163</a>
229
- <a name='L164'></a><a href='#L164'>164</a>
230
- <a name='L165'></a><a href='#L165'>165</a>
231
- <a name='L166'></a><a href='#L166'>166</a>
232
- <a name='L167'></a><a href='#L167'>167</a>
233
- <a name='L168'></a><a href='#L168'>168</a>
234
- <a name='L169'></a><a href='#L169'>169</a>
235
- <a name='L170'></a><a href='#L170'>170</a>
236
- <a name='L171'></a><a href='#L171'>171</a>
237
- <a name='L172'></a><a href='#L172'>172</a>
238
- <a name='L173'></a><a href='#L173'>173</a>
239
- <a name='L174'></a><a href='#L174'>174</a>
240
- <a name='L175'></a><a href='#L175'>175</a>
241
- <a name='L176'></a><a href='#L176'>176</a>
242
- <a name='L177'></a><a href='#L177'>177</a>
243
- <a name='L178'></a><a href='#L178'>178</a>
244
- <a name='L179'></a><a href='#L179'>179</a>
245
- <a name='L180'></a><a href='#L180'>180</a>
246
- <a name='L181'></a><a href='#L181'>181</a>
247
- <a name='L182'></a><a href='#L182'>182</a>
248
- <a name='L183'></a><a href='#L183'>183</a>
249
- <a name='L184'></a><a href='#L184'>184</a>
250
- <a name='L185'></a><a href='#L185'>185</a>
251
- <a name='L186'></a><a href='#L186'>186</a>
252
- <a name='L187'></a><a href='#L187'>187</a>
253
- <a name='L188'></a><a href='#L188'>188</a>
254
- <a name='L189'></a><a href='#L189'>189</a>
255
- <a name='L190'></a><a href='#L190'>190</a>
256
- <a name='L191'></a><a href='#L191'>191</a>
257
- <a name='L192'></a><a href='#L192'>192</a>
258
- <a name='L193'></a><a href='#L193'>193</a>
259
- <a name='L194'></a><a href='#L194'>194</a>
260
- <a name='L195'></a><a href='#L195'>195</a>
261
- <a name='L196'></a><a href='#L196'>196</a>
262
- <a name='L197'></a><a href='#L197'>197</a>
263
- <a name='L198'></a><a href='#L198'>198</a>
264
- <a name='L199'></a><a href='#L199'>199</a>
265
- <a name='L200'></a><a href='#L200'>200</a>
266
- <a name='L201'></a><a href='#L201'>201</a>
267
- <a name='L202'></a><a href='#L202'>202</a>
268
- <a name='L203'></a><a href='#L203'>203</a>
269
- <a name='L204'></a><a href='#L204'>204</a>
270
- <a name='L205'></a><a href='#L205'>205</a>
271
- <a name='L206'></a><a href='#L206'>206</a>
272
- <a name='L207'></a><a href='#L207'>207</a>
273
- <a name='L208'></a><a href='#L208'>208</a>
274
- <a name='L209'></a><a href='#L209'>209</a>
275
- <a name='L210'></a><a href='#L210'>210</a>
276
- <a name='L211'></a><a href='#L211'>211</a>
277
- <a name='L212'></a><a href='#L212'>212</a>
278
- <a name='L213'></a><a href='#L213'>213</a>
279
- <a name='L214'></a><a href='#L214'>214</a>
280
- <a name='L215'></a><a href='#L215'>215</a>
281
- <a name='L216'></a><a href='#L216'>216</a>
282
- <a name='L217'></a><a href='#L217'>217</a>
283
- <a name='L218'></a><a href='#L218'>218</a>
284
- <a name='L219'></a><a href='#L219'>219</a>
285
- <a name='L220'></a><a href='#L220'>220</a>
286
- <a name='L221'></a><a href='#L221'>221</a>
287
- <a name='L222'></a><a href='#L222'>222</a>
288
- <a name='L223'></a><a href='#L223'>223</a>
289
- <a name='L224'></a><a href='#L224'>224</a>
290
- <a name='L225'></a><a href='#L225'>225</a>
291
- <a name='L226'></a><a href='#L226'>226</a>
292
- <a name='L227'></a><a href='#L227'>227</a>
293
- <a name='L228'></a><a href='#L228'>228</a>
294
- <a name='L229'></a><a href='#L229'>229</a>
295
- <a name='L230'></a><a href='#L230'>230</a>
296
- <a name='L231'></a><a href='#L231'>231</a>
297
- <a name='L232'></a><a href='#L232'>232</a>
298
- <a name='L233'></a><a href='#L233'>233</a>
299
- <a name='L234'></a><a href='#L234'>234</a>
300
- <a name='L235'></a><a href='#L235'>235</a>
301
- <a name='L236'></a><a href='#L236'>236</a>
302
- <a name='L237'></a><a href='#L237'>237</a>
303
- <a name='L238'></a><a href='#L238'>238</a>
304
- <a name='L239'></a><a href='#L239'>239</a>
305
- <a name='L240'></a><a href='#L240'>240</a>
306
- <a name='L241'></a><a href='#L241'>241</a>
307
- <a name='L242'></a><a href='#L242'>242</a>
308
- <a name='L243'></a><a href='#L243'>243</a>
309
- <a name='L244'></a><a href='#L244'>244</a>
310
- <a name='L245'></a><a href='#L245'>245</a>
311
- <a name='L246'></a><a href='#L246'>246</a>
312
- <a name='L247'></a><a href='#L247'>247</a>
313
- <a name='L248'></a><a href='#L248'>248</a>
314
- <a name='L249'></a><a href='#L249'>249</a>
315
- <a name='L250'></a><a href='#L250'>250</a>
316
- <a name='L251'></a><a href='#L251'>251</a>
317
- <a name='L252'></a><a href='#L252'>252</a>
318
- <a name='L253'></a><a href='#L253'>253</a>
319
- <a name='L254'></a><a href='#L254'>254</a>
320
- <a name='L255'></a><a href='#L255'>255</a>
321
- <a name='L256'></a><a href='#L256'>256</a>
322
- <a name='L257'></a><a href='#L257'>257</a>
323
- <a name='L258'></a><a href='#L258'>258</a>
324
- <a name='L259'></a><a href='#L259'>259</a>
325
- <a name='L260'></a><a href='#L260'>260</a>
326
- <a name='L261'></a><a href='#L261'>261</a>
327
- <a name='L262'></a><a href='#L262'>262</a>
328
- <a name='L263'></a><a href='#L263'>263</a>
329
- <a name='L264'></a><a href='#L264'>264</a>
330
- <a name='L265'></a><a href='#L265'>265</a>
331
- <a name='L266'></a><a href='#L266'>266</a>
332
- <a name='L267'></a><a href='#L267'>267</a>
333
- <a name='L268'></a><a href='#L268'>268</a>
334
- <a name='L269'></a><a href='#L269'>269</a>
335
- <a name='L270'></a><a href='#L270'>270</a>
336
- <a name='L271'></a><a href='#L271'>271</a>
337
- <a name='L272'></a><a href='#L272'>272</a>
338
- <a name='L273'></a><a href='#L273'>273</a>
339
- <a name='L274'></a><a href='#L274'>274</a>
340
- <a name='L275'></a><a href='#L275'>275</a>
341
- <a name='L276'></a><a href='#L276'>276</a>
342
- <a name='L277'></a><a href='#L277'>277</a>
343
- <a name='L278'></a><a href='#L278'>278</a>
344
- <a name='L279'></a><a href='#L279'>279</a>
345
- <a name='L280'></a><a href='#L280'>280</a>
346
- <a name='L281'></a><a href='#L281'>281</a>
347
- <a name='L282'></a><a href='#L282'>282</a>
348
- <a name='L283'></a><a href='#L283'>283</a>
349
- <a name='L284'></a><a href='#L284'>284</a>
350
- <a name='L285'></a><a href='#L285'>285</a>
351
- <a name='L286'></a><a href='#L286'>286</a>
352
- <a name='L287'></a><a href='#L287'>287</a>
353
- <a name='L288'></a><a href='#L288'>288</a>
354
- <a name='L289'></a><a href='#L289'>289</a>
355
- <a name='L290'></a><a href='#L290'>290</a>
356
- <a name='L291'></a><a href='#L291'>291</a>
357
- <a name='L292'></a><a href='#L292'>292</a>
358
- <a name='L293'></a><a href='#L293'>293</a>
359
- <a name='L294'></a><a href='#L294'>294</a>
360
- <a name='L295'></a><a href='#L295'>295</a>
361
- <a name='L296'></a><a href='#L296'>296</a>
362
- <a name='L297'></a><a href='#L297'>297</a>
363
- <a name='L298'></a><a href='#L298'>298</a>
364
- <a name='L299'></a><a href='#L299'>299</a>
365
- <a name='L300'></a><a href='#L300'>300</a>
366
- <a name='L301'></a><a href='#L301'>301</a>
367
- <a name='L302'></a><a href='#L302'>302</a>
368
- <a name='L303'></a><a href='#L303'>303</a>
369
- <a name='L304'></a><a href='#L304'>304</a>
370
- <a name='L305'></a><a href='#L305'>305</a>
371
- <a name='L306'></a><a href='#L306'>306</a>
372
- <a name='L307'></a><a href='#L307'>307</a>
373
- <a name='L308'></a><a href='#L308'>308</a>
374
- <a name='L309'></a><a href='#L309'>309</a>
375
- <a name='L310'></a><a href='#L310'>310</a>
376
- <a name='L311'></a><a href='#L311'>311</a>
377
- <a name='L312'></a><a href='#L312'>312</a>
378
- <a name='L313'></a><a href='#L313'>313</a>
379
- <a name='L314'></a><a href='#L314'>314</a>
380
- <a name='L315'></a><a href='#L315'>315</a>
381
- <a name='L316'></a><a href='#L316'>316</a>
382
- <a name='L317'></a><a href='#L317'>317</a>
383
- <a name='L318'></a><a href='#L318'>318</a>
384
- <a name='L319'></a><a href='#L319'>319</a>
385
- <a name='L320'></a><a href='#L320'>320</a>
386
- <a name='L321'></a><a href='#L321'>321</a>
387
- <a name='L322'></a><a href='#L322'>322</a>
388
- <a name='L323'></a><a href='#L323'>323</a>
389
- <a name='L324'></a><a href='#L324'>324</a>
390
- <a name='L325'></a><a href='#L325'>325</a>
391
- <a name='L326'></a><a href='#L326'>326</a>
392
- <a name='L327'></a><a href='#L327'>327</a>
393
- <a name='L328'></a><a href='#L328'>328</a>
394
- <a name='L329'></a><a href='#L329'>329</a>
395
- <a name='L330'></a><a href='#L330'>330</a>
396
- <a name='L331'></a><a href='#L331'>331</a>
397
- <a name='L332'></a><a href='#L332'>332</a>
398
- <a name='L333'></a><a href='#L333'>333</a>
399
- <a name='L334'></a><a href='#L334'>334</a>
400
- <a name='L335'></a><a href='#L335'>335</a>
401
- <a name='L336'></a><a href='#L336'>336</a>
402
- <a name='L337'></a><a href='#L337'>337</a>
403
- <a name='L338'></a><a href='#L338'>338</a>
404
- <a name='L339'></a><a href='#L339'>339</a>
405
- <a name='L340'></a><a href='#L340'>340</a>
406
- <a name='L341'></a><a href='#L341'>341</a>
407
- <a name='L342'></a><a href='#L342'>342</a>
408
- <a name='L343'></a><a href='#L343'>343</a>
409
- <a name='L344'></a><a href='#L344'>344</a>
410
- <a name='L345'></a><a href='#L345'>345</a>
411
- <a name='L346'></a><a href='#L346'>346</a>
412
- <a name='L347'></a><a href='#L347'>347</a>
413
- <a name='L348'></a><a href='#L348'>348</a>
414
- <a name='L349'></a><a href='#L349'>349</a>
415
- <a name='L350'></a><a href='#L350'>350</a>
416
- <a name='L351'></a><a href='#L351'>351</a>
417
- <a name='L352'></a><a href='#L352'>352</a>
418
- <a name='L353'></a><a href='#L353'>353</a>
419
- <a name='L354'></a><a href='#L354'>354</a>
420
- <a name='L355'></a><a href='#L355'>355</a>
421
- <a name='L356'></a><a href='#L356'>356</a>
422
- <a name='L357'></a><a href='#L357'>357</a>
423
- <a name='L358'></a><a href='#L358'>358</a>
424
- <a name='L359'></a><a href='#L359'>359</a>
425
- <a name='L360'></a><a href='#L360'>360</a>
426
- <a name='L361'></a><a href='#L361'>361</a>
427
- <a name='L362'></a><a href='#L362'>362</a>
428
- <a name='L363'></a><a href='#L363'>363</a>
429
- <a name='L364'></a><a href='#L364'>364</a>
430
- <a name='L365'></a><a href='#L365'>365</a>
431
- <a name='L366'></a><a href='#L366'>366</a>
432
- <a name='L367'></a><a href='#L367'>367</a>
433
- <a name='L368'></a><a href='#L368'>368</a>
434
- <a name='L369'></a><a href='#L369'>369</a>
435
- <a name='L370'></a><a href='#L370'>370</a>
436
- <a name='L371'></a><a href='#L371'>371</a>
437
- <a name='L372'></a><a href='#L372'>372</a>
438
- <a name='L373'></a><a href='#L373'>373</a>
439
- <a name='L374'></a><a href='#L374'>374</a>
440
- <a name='L375'></a><a href='#L375'>375</a>
441
- <a name='L376'></a><a href='#L376'>376</a>
442
- <a name='L377'></a><a href='#L377'>377</a>
443
- <a name='L378'></a><a href='#L378'>378</a>
444
- <a name='L379'></a><a href='#L379'>379</a>
445
- <a name='L380'></a><a href='#L380'>380</a>
446
- <a name='L381'></a><a href='#L381'>381</a>
447
- <a name='L382'></a><a href='#L382'>382</a>
448
- <a name='L383'></a><a href='#L383'>383</a>
449
- <a name='L384'></a><a href='#L384'>384</a>
450
- <a name='L385'></a><a href='#L385'>385</a>
451
- <a name='L386'></a><a href='#L386'>386</a>
452
- <a name='L387'></a><a href='#L387'>387</a>
453
- <a name='L388'></a><a href='#L388'>388</a>
454
- <a name='L389'></a><a href='#L389'>389</a>
455
- <a name='L390'></a><a href='#L390'>390</a>
456
- <a name='L391'></a><a href='#L391'>391</a>
457
- <a name='L392'></a><a href='#L392'>392</a>
458
- <a name='L393'></a><a href='#L393'>393</a>
459
- <a name='L394'></a><a href='#L394'>394</a>
460
- <a name='L395'></a><a href='#L395'>395</a>
461
- <a name='L396'></a><a href='#L396'>396</a>
462
- <a name='L397'></a><a href='#L397'>397</a>
463
- <a name='L398'></a><a href='#L398'>398</a>
464
- <a name='L399'></a><a href='#L399'>399</a>
465
- <a name='L400'></a><a href='#L400'>400</a>
466
- <a name='L401'></a><a href='#L401'>401</a>
467
- <a name='L402'></a><a href='#L402'>402</a>
468
- <a name='L403'></a><a href='#L403'>403</a>
469
- <a name='L404'></a><a href='#L404'>404</a>
470
- <a name='L405'></a><a href='#L405'>405</a>
471
- <a name='L406'></a><a href='#L406'>406</a>
472
- <a name='L407'></a><a href='#L407'>407</a>
473
- <a name='L408'></a><a href='#L408'>408</a>
474
- <a name='L409'></a><a href='#L409'>409</a>
475
- <a name='L410'></a><a href='#L410'>410</a>
476
- <a name='L411'></a><a href='#L411'>411</a>
477
- <a name='L412'></a><a href='#L412'>412</a>
478
- <a name='L413'></a><a href='#L413'>413</a>
479
- <a name='L414'></a><a href='#L414'>414</a>
480
- <a name='L415'></a><a href='#L415'>415</a>
481
- <a name='L416'></a><a href='#L416'>416</a>
482
- <a name='L417'></a><a href='#L417'>417</a>
483
- <a name='L418'></a><a href='#L418'>418</a>
484
- <a name='L419'></a><a href='#L419'>419</a>
485
- <a name='L420'></a><a href='#L420'>420</a>
486
- <a name='L421'></a><a href='#L421'>421</a>
487
- <a name='L422'></a><a href='#L422'>422</a>
488
- <a name='L423'></a><a href='#L423'>423</a>
489
- <a name='L424'></a><a href='#L424'>424</a>
490
- <a name='L425'></a><a href='#L425'>425</a>
491
- <a name='L426'></a><a href='#L426'>426</a>
492
- <a name='L427'></a><a href='#L427'>427</a>
493
- <a name='L428'></a><a href='#L428'>428</a>
494
- <a name='L429'></a><a href='#L429'>429</a>
495
- <a name='L430'></a><a href='#L430'>430</a>
496
- <a name='L431'></a><a href='#L431'>431</a>
497
- <a name='L432'></a><a href='#L432'>432</a>
498
- <a name='L433'></a><a href='#L433'>433</a>
499
- <a name='L434'></a><a href='#L434'>434</a>
500
- <a name='L435'></a><a href='#L435'>435</a>
501
- <a name='L436'></a><a href='#L436'>436</a>
502
- <a name='L437'></a><a href='#L437'>437</a>
503
- <a name='L438'></a><a href='#L438'>438</a>
504
- <a name='L439'></a><a href='#L439'>439</a>
505
- <a name='L440'></a><a href='#L440'>440</a>
506
- <a name='L441'></a><a href='#L441'>441</a>
507
- <a name='L442'></a><a href='#L442'>442</a>
508
- <a name='L443'></a><a href='#L443'>443</a>
509
- <a name='L444'></a><a href='#L444'>444</a>
510
- <a name='L445'></a><a href='#L445'>445</a>
511
- <a name='L446'></a><a href='#L446'>446</a>
512
- <a name='L447'></a><a href='#L447'>447</a>
513
- <a name='L448'></a><a href='#L448'>448</a>
514
- <a name='L449'></a><a href='#L449'>449</a>
515
- <a name='L450'></a><a href='#L450'>450</a>
516
- <a name='L451'></a><a href='#L451'>451</a>
517
- <a name='L452'></a><a href='#L452'>452</a>
518
- <a name='L453'></a><a href='#L453'>453</a>
519
- <a name='L454'></a><a href='#L454'>454</a>
520
- <a name='L455'></a><a href='#L455'>455</a>
521
- <a name='L456'></a><a href='#L456'>456</a>
522
- <a name='L457'></a><a href='#L457'>457</a>
523
- <a name='L458'></a><a href='#L458'>458</a>
524
- <a name='L459'></a><a href='#L459'>459</a>
525
- <a name='L460'></a><a href='#L460'>460</a>
526
- <a name='L461'></a><a href='#L461'>461</a>
527
- <a name='L462'></a><a href='#L462'>462</a>
528
- <a name='L463'></a><a href='#L463'>463</a>
529
- <a name='L464'></a><a href='#L464'>464</a>
530
- <a name='L465'></a><a href='#L465'>465</a>
531
- <a name='L466'></a><a href='#L466'>466</a>
532
- <a name='L467'></a><a href='#L467'>467</a>
533
- <a name='L468'></a><a href='#L468'>468</a>
534
- <a name='L469'></a><a href='#L469'>469</a>
535
- <a name='L470'></a><a href='#L470'>470</a>
536
- <a name='L471'></a><a href='#L471'>471</a>
537
- <a name='L472'></a><a href='#L472'>472</a>
538
- <a name='L473'></a><a href='#L473'>473</a>
539
- <a name='L474'></a><a href='#L474'>474</a>
540
- <a name='L475'></a><a href='#L475'>475</a>
541
- <a name='L476'></a><a href='#L476'>476</a>
542
- <a name='L477'></a><a href='#L477'>477</a>
543
- <a name='L478'></a><a href='#L478'>478</a>
544
- <a name='L479'></a><a href='#L479'>479</a>
545
- <a name='L480'></a><a href='#L480'>480</a>
546
- <a name='L481'></a><a href='#L481'>481</a>
547
- <a name='L482'></a><a href='#L482'>482</a>
548
- <a name='L483'></a><a href='#L483'>483</a>
549
- <a name='L484'></a><a href='#L484'>484</a>
550
- <a name='L485'></a><a href='#L485'>485</a>
551
- <a name='L486'></a><a href='#L486'>486</a>
552
- <a name='L487'></a><a href='#L487'>487</a>
553
- <a name='L488'></a><a href='#L488'>488</a>
554
- <a name='L489'></a><a href='#L489'>489</a>
555
- <a name='L490'></a><a href='#L490'>490</a>
556
- <a name='L491'></a><a href='#L491'>491</a>
557
- <a name='L492'></a><a href='#L492'>492</a>
558
- <a name='L493'></a><a href='#L493'>493</a>
559
- <a name='L494'></a><a href='#L494'>494</a>
560
- <a name='L495'></a><a href='#L495'>495</a>
561
- <a name='L496'></a><a href='#L496'>496</a>
562
- <a name='L497'></a><a href='#L497'>497</a>
563
- <a name='L498'></a><a href='#L498'>498</a>
564
- <a name='L499'></a><a href='#L499'>499</a>
565
- <a name='L500'></a><a href='#L500'>500</a>
566
- <a name='L501'></a><a href='#L501'>501</a>
567
- <a name='L502'></a><a href='#L502'>502</a>
568
- <a name='L503'></a><a href='#L503'>503</a>
569
- <a name='L504'></a><a href='#L504'>504</a>
570
- <a name='L505'></a><a href='#L505'>505</a>
571
- <a name='L506'></a><a href='#L506'>506</a>
572
- <a name='L507'></a><a href='#L507'>507</a>
573
- <a name='L508'></a><a href='#L508'>508</a>
574
- <a name='L509'></a><a href='#L509'>509</a>
575
- <a name='L510'></a><a href='#L510'>510</a>
576
- <a name='L511'></a><a href='#L511'>511</a>
577
- <a name='L512'></a><a href='#L512'>512</a>
578
- <a name='L513'></a><a href='#L513'>513</a>
579
- <a name='L514'></a><a href='#L514'>514</a>
580
- <a name='L515'></a><a href='#L515'>515</a>
581
- <a name='L516'></a><a href='#L516'>516</a>
582
- <a name='L517'></a><a href='#L517'>517</a>
583
- <a name='L518'></a><a href='#L518'>518</a>
584
- <a name='L519'></a><a href='#L519'>519</a>
585
- <a name='L520'></a><a href='#L520'>520</a>
586
- <a name='L521'></a><a href='#L521'>521</a>
587
- <a name='L522'></a><a href='#L522'>522</a>
588
- <a name='L523'></a><a href='#L523'>523</a>
589
- <a name='L524'></a><a href='#L524'>524</a>
590
- <a name='L525'></a><a href='#L525'>525</a>
591
- <a name='L526'></a><a href='#L526'>526</a>
592
- <a name='L527'></a><a href='#L527'>527</a>
593
- <a name='L528'></a><a href='#L528'>528</a>
594
- <a name='L529'></a><a href='#L529'>529</a>
595
- <a name='L530'></a><a href='#L530'>530</a>
596
- <a name='L531'></a><a href='#L531'>531</a>
597
- <a name='L532'></a><a href='#L532'>532</a>
598
- <a name='L533'></a><a href='#L533'>533</a>
599
- <a name='L534'></a><a href='#L534'>534</a>
600
- <a name='L535'></a><a href='#L535'>535</a>
601
- <a name='L536'></a><a href='#L536'>536</a>
602
- <a name='L537'></a><a href='#L537'>537</a>
603
- <a name='L538'></a><a href='#L538'>538</a>
604
- <a name='L539'></a><a href='#L539'>539</a>
605
- <a name='L540'></a><a href='#L540'>540</a>
606
- <a name='L541'></a><a href='#L541'>541</a>
607
- <a name='L542'></a><a href='#L542'>542</a>
608
- <a name='L543'></a><a href='#L543'>543</a>
609
- <a name='L544'></a><a href='#L544'>544</a>
610
- <a name='L545'></a><a href='#L545'>545</a>
611
- <a name='L546'></a><a href='#L546'>546</a>
612
- <a name='L547'></a><a href='#L547'>547</a>
613
- <a name='L548'></a><a href='#L548'>548</a>
614
- <a name='L549'></a><a href='#L549'>549</a>
615
- <a name='L550'></a><a href='#L550'>550</a>
616
- <a name='L551'></a><a href='#L551'>551</a>
617
- <a name='L552'></a><a href='#L552'>552</a>
618
- <a name='L553'></a><a href='#L553'>553</a>
619
- <a name='L554'></a><a href='#L554'>554</a>
620
- <a name='L555'></a><a href='#L555'>555</a>
621
- <a name='L556'></a><a href='#L556'>556</a>
622
- <a name='L557'></a><a href='#L557'>557</a>
623
- <a name='L558'></a><a href='#L558'>558</a>
624
- <a name='L559'></a><a href='#L559'>559</a>
625
- <a name='L560'></a><a href='#L560'>560</a>
626
- <a name='L561'></a><a href='#L561'>561</a>
627
- <a name='L562'></a><a href='#L562'>562</a>
628
- <a name='L563'></a><a href='#L563'>563</a>
629
- <a name='L564'></a><a href='#L564'>564</a>
630
- <a name='L565'></a><a href='#L565'>565</a>
631
- <a name='L566'></a><a href='#L566'>566</a>
632
- <a name='L567'></a><a href='#L567'>567</a>
633
- <a name='L568'></a><a href='#L568'>568</a>
634
- <a name='L569'></a><a href='#L569'>569</a>
635
- <a name='L570'></a><a href='#L570'>570</a>
636
- <a name='L571'></a><a href='#L571'>571</a>
637
- <a name='L572'></a><a href='#L572'>572</a>
638
- <a name='L573'></a><a href='#L573'>573</a>
639
- <a name='L574'></a><a href='#L574'>574</a>
640
- <a name='L575'></a><a href='#L575'>575</a>
641
- <a name='L576'></a><a href='#L576'>576</a>
642
- <a name='L577'></a><a href='#L577'>577</a>
643
- <a name='L578'></a><a href='#L578'>578</a>
644
- <a name='L579'></a><a href='#L579'>579</a>
645
- <a name='L580'></a><a href='#L580'>580</a>
646
- <a name='L581'></a><a href='#L581'>581</a>
647
- <a name='L582'></a><a href='#L582'>582</a>
648
- <a name='L583'></a><a href='#L583'>583</a>
649
- <a name='L584'></a><a href='#L584'>584</a>
650
- <a name='L585'></a><a href='#L585'>585</a>
651
- <a name='L586'></a><a href='#L586'>586</a>
652
- <a name='L587'></a><a href='#L587'>587</a>
653
- <a name='L588'></a><a href='#L588'>588</a>
654
- <a name='L589'></a><a href='#L589'>589</a>
655
- <a name='L590'></a><a href='#L590'>590</a>
656
- <a name='L591'></a><a href='#L591'>591</a>
657
- <a name='L592'></a><a href='#L592'>592</a>
658
- <a name='L593'></a><a href='#L593'>593</a>
659
- <a name='L594'></a><a href='#L594'>594</a>
660
- <a name='L595'></a><a href='#L595'>595</a>
661
- <a name='L596'></a><a href='#L596'>596</a>
662
- <a name='L597'></a><a href='#L597'>597</a>
663
- <a name='L598'></a><a href='#L598'>598</a>
664
- <a name='L599'></a><a href='#L599'>599</a>
665
- <a name='L600'></a><a href='#L600'>600</a>
666
- <a name='L601'></a><a href='#L601'>601</a>
667
- <a name='L602'></a><a href='#L602'>602</a>
668
- <a name='L603'></a><a href='#L603'>603</a>
669
- <a name='L604'></a><a href='#L604'>604</a>
670
- <a name='L605'></a><a href='#L605'>605</a>
671
- <a name='L606'></a><a href='#L606'>606</a>
672
- <a name='L607'></a><a href='#L607'>607</a>
673
- <a name='L608'></a><a href='#L608'>608</a>
674
- <a name='L609'></a><a href='#L609'>609</a>
675
- <a name='L610'></a><a href='#L610'>610</a>
676
- <a name='L611'></a><a href='#L611'>611</a>
677
- <a name='L612'></a><a href='#L612'>612</a>
678
- <a name='L613'></a><a href='#L613'>613</a>
679
- <a name='L614'></a><a href='#L614'>614</a>
680
- <a name='L615'></a><a href='#L615'>615</a>
681
- <a name='L616'></a><a href='#L616'>616</a>
682
- <a name='L617'></a><a href='#L617'>617</a>
683
- <a name='L618'></a><a href='#L618'>618</a>
684
- <a name='L619'></a><a href='#L619'>619</a>
685
- <a name='L620'></a><a href='#L620'>620</a>
686
- <a name='L621'></a><a href='#L621'>621</a>
687
- <a name='L622'></a><a href='#L622'>622</a>
688
- <a name='L623'></a><a href='#L623'>623</a>
689
- <a name='L624'></a><a href='#L624'>624</a>
690
- <a name='L625'></a><a href='#L625'>625</a>
691
- <a name='L626'></a><a href='#L626'>626</a>
692
- <a name='L627'></a><a href='#L627'>627</a>
693
- <a name='L628'></a><a href='#L628'>628</a>
694
- <a name='L629'></a><a href='#L629'>629</a>
695
- <a name='L630'></a><a href='#L630'>630</a>
696
- <a name='L631'></a><a href='#L631'>631</a>
697
- <a name='L632'></a><a href='#L632'>632</a>
698
- <a name='L633'></a><a href='#L633'>633</a>
699
- <a name='L634'></a><a href='#L634'>634</a>
700
- <a name='L635'></a><a href='#L635'>635</a>
701
- <a name='L636'></a><a href='#L636'>636</a>
702
- <a name='L637'></a><a href='#L637'>637</a>
703
- <a name='L638'></a><a href='#L638'>638</a>
704
- <a name='L639'></a><a href='#L639'>639</a>
705
- <a name='L640'></a><a href='#L640'>640</a>
706
- <a name='L641'></a><a href='#L641'>641</a>
707
- <a name='L642'></a><a href='#L642'>642</a>
708
- <a name='L643'></a><a href='#L643'>643</a>
709
- <a name='L644'></a><a href='#L644'>644</a>
710
- <a name='L645'></a><a href='#L645'>645</a>
711
- <a name='L646'></a><a href='#L646'>646</a>
712
- <a name='L647'></a><a href='#L647'>647</a>
713
- <a name='L648'></a><a href='#L648'>648</a>
714
- <a name='L649'></a><a href='#L649'>649</a>
715
- <a name='L650'></a><a href='#L650'>650</a>
716
- <a name='L651'></a><a href='#L651'>651</a>
717
- <a name='L652'></a><a href='#L652'>652</a>
718
- <a name='L653'></a><a href='#L653'>653</a>
719
- <a name='L654'></a><a href='#L654'>654</a>
720
- <a name='L655'></a><a href='#L655'>655</a>
721
- <a name='L656'></a><a href='#L656'>656</a>
722
- <a name='L657'></a><a href='#L657'>657</a>
723
- <a name='L658'></a><a href='#L658'>658</a>
724
- <a name='L659'></a><a href='#L659'>659</a>
725
- <a name='L660'></a><a href='#L660'>660</a>
726
- <a name='L661'></a><a href='#L661'>661</a>
727
- <a name='L662'></a><a href='#L662'>662</a>
728
- <a name='L663'></a><a href='#L663'>663</a>
729
- <a name='L664'></a><a href='#L664'>664</a>
730
- <a name='L665'></a><a href='#L665'>665</a>
731
- <a name='L666'></a><a href='#L666'>666</a>
732
- <a name='L667'></a><a href='#L667'>667</a>
733
- <a name='L668'></a><a href='#L668'>668</a>
734
- <a name='L669'></a><a href='#L669'>669</a>
735
- <a name='L670'></a><a href='#L670'>670</a>
736
- <a name='L671'></a><a href='#L671'>671</a>
737
- <a name='L672'></a><a href='#L672'>672</a>
738
- <a name='L673'></a><a href='#L673'>673</a>
739
- <a name='L674'></a><a href='#L674'>674</a>
740
- <a name='L675'></a><a href='#L675'>675</a>
741
- <a name='L676'></a><a href='#L676'>676</a>
742
- <a name='L677'></a><a href='#L677'>677</a>
743
- <a name='L678'></a><a href='#L678'>678</a>
744
- <a name='L679'></a><a href='#L679'>679</a>
745
- <a name='L680'></a><a href='#L680'>680</a>
746
- <a name='L681'></a><a href='#L681'>681</a>
747
- <a name='L682'></a><a href='#L682'>682</a>
748
- <a name='L683'></a><a href='#L683'>683</a>
749
- <a name='L684'></a><a href='#L684'>684</a>
750
- <a name='L685'></a><a href='#L685'>685</a>
751
- <a name='L686'></a><a href='#L686'>686</a>
752
- <a name='L687'></a><a href='#L687'>687</a>
753
- <a name='L688'></a><a href='#L688'>688</a>
754
- <a name='L689'></a><a href='#L689'>689</a>
755
- <a name='L690'></a><a href='#L690'>690</a>
756
- <a name='L691'></a><a href='#L691'>691</a>
757
- <a name='L692'></a><a href='#L692'>692</a>
758
- <a name='L693'></a><a href='#L693'>693</a>
759
- <a name='L694'></a><a href='#L694'>694</a>
760
- <a name='L695'></a><a href='#L695'>695</a>
761
- <a name='L696'></a><a href='#L696'>696</a>
762
- <a name='L697'></a><a href='#L697'>697</a>
763
- <a name='L698'></a><a href='#L698'>698</a>
764
- <a name='L699'></a><a href='#L699'>699</a>
765
- <a name='L700'></a><a href='#L700'>700</a>
766
- <a name='L701'></a><a href='#L701'>701</a>
767
- <a name='L702'></a><a href='#L702'>702</a>
768
- <a name='L703'></a><a href='#L703'>703</a>
769
- <a name='L704'></a><a href='#L704'>704</a>
770
- <a name='L705'></a><a href='#L705'>705</a>
771
- <a name='L706'></a><a href='#L706'>706</a>
772
- <a name='L707'></a><a href='#L707'>707</a>
773
- <a name='L708'></a><a href='#L708'>708</a>
774
- <a name='L709'></a><a href='#L709'>709</a>
775
- <a name='L710'></a><a href='#L710'>710</a>
776
- <a name='L711'></a><a href='#L711'>711</a>
777
- <a name='L712'></a><a href='#L712'>712</a>
778
- <a name='L713'></a><a href='#L713'>713</a>
779
- <a name='L714'></a><a href='#L714'>714</a>
780
- <a name='L715'></a><a href='#L715'>715</a>
781
- <a name='L716'></a><a href='#L716'>716</a>
782
- <a name='L717'></a><a href='#L717'>717</a>
783
- <a name='L718'></a><a href='#L718'>718</a>
784
- <a name='L719'></a><a href='#L719'>719</a>
785
- <a name='L720'></a><a href='#L720'>720</a>
786
- <a name='L721'></a><a href='#L721'>721</a>
787
- <a name='L722'></a><a href='#L722'>722</a>
788
- <a name='L723'></a><a href='#L723'>723</a>
789
- <a name='L724'></a><a href='#L724'>724</a>
790
- <a name='L725'></a><a href='#L725'>725</a>
791
- <a name='L726'></a><a href='#L726'>726</a>
792
- <a name='L727'></a><a href='#L727'>727</a>
793
- <a name='L728'></a><a href='#L728'>728</a>
794
- <a name='L729'></a><a href='#L729'>729</a>
795
- <a name='L730'></a><a href='#L730'>730</a>
796
- <a name='L731'></a><a href='#L731'>731</a>
797
- <a name='L732'></a><a href='#L732'>732</a>
798
- <a name='L733'></a><a href='#L733'>733</a>
799
- <a name='L734'></a><a href='#L734'>734</a>
800
- <a name='L735'></a><a href='#L735'>735</a>
801
- <a name='L736'></a><a href='#L736'>736</a>
802
- <a name='L737'></a><a href='#L737'>737</a>
803
- <a name='L738'></a><a href='#L738'>738</a>
804
- <a name='L739'></a><a href='#L739'>739</a>
805
- <a name='L740'></a><a href='#L740'>740</a>
806
- <a name='L741'></a><a href='#L741'>741</a>
807
- <a name='L742'></a><a href='#L742'>742</a>
808
- <a name='L743'></a><a href='#L743'>743</a>
809
- <a name='L744'></a><a href='#L744'>744</a>
810
- <a name='L745'></a><a href='#L745'>745</a>
811
- <a name='L746'></a><a href='#L746'>746</a>
812
- <a name='L747'></a><a href='#L747'>747</a>
813
- <a name='L748'></a><a href='#L748'>748</a>
814
- <a name='L749'></a><a href='#L749'>749</a>
815
- <a name='L750'></a><a href='#L750'>750</a>
816
- <a name='L751'></a><a href='#L751'>751</a>
817
- <a name='L752'></a><a href='#L752'>752</a>
818
- <a name='L753'></a><a href='#L753'>753</a>
819
- <a name='L754'></a><a href='#L754'>754</a>
820
- <a name='L755'></a><a href='#L755'>755</a>
821
- <a name='L756'></a><a href='#L756'>756</a>
822
- <a name='L757'></a><a href='#L757'>757</a>
823
- <a name='L758'></a><a href='#L758'>758</a>
824
- <a name='L759'></a><a href='#L759'>759</a>
825
- <a name='L760'></a><a href='#L760'>760</a>
826
- <a name='L761'></a><a href='#L761'>761</a>
827
- <a name='L762'></a><a href='#L762'>762</a>
828
- <a name='L763'></a><a href='#L763'>763</a>
829
- <a name='L764'></a><a href='#L764'>764</a>
830
- <a name='L765'></a><a href='#L765'>765</a>
831
- <a name='L766'></a><a href='#L766'>766</a>
832
- <a name='L767'></a><a href='#L767'>767</a>
833
- <a name='L768'></a><a href='#L768'>768</a>
834
- <a name='L769'></a><a href='#L769'>769</a>
835
- <a name='L770'></a><a href='#L770'>770</a>
836
- <a name='L771'></a><a href='#L771'>771</a>
837
- <a name='L772'></a><a href='#L772'>772</a>
838
- <a name='L773'></a><a href='#L773'>773</a>
839
- <a name='L774'></a><a href='#L774'>774</a>
840
- <a name='L775'></a><a href='#L775'>775</a>
841
- <a name='L776'></a><a href='#L776'>776</a>
842
- <a name='L777'></a><a href='#L777'>777</a>
843
- <a name='L778'></a><a href='#L778'>778</a>
844
- <a name='L779'></a><a href='#L779'>779</a>
845
- <a name='L780'></a><a href='#L780'>780</a>
846
- <a name='L781'></a><a href='#L781'>781</a>
847
- <a name='L782'></a><a href='#L782'>782</a>
848
- <a name='L783'></a><a href='#L783'>783</a>
849
- <a name='L784'></a><a href='#L784'>784</a>
850
- <a name='L785'></a><a href='#L785'>785</a>
851
- <a name='L786'></a><a href='#L786'>786</a>
852
- <a name='L787'></a><a href='#L787'>787</a>
853
- <a name='L788'></a><a href='#L788'>788</a>
854
- <a name='L789'></a><a href='#L789'>789</a>
855
- <a name='L790'></a><a href='#L790'>790</a>
856
- <a name='L791'></a><a href='#L791'>791</a>
857
- <a name='L792'></a><a href='#L792'>792</a>
858
- <a name='L793'></a><a href='#L793'>793</a>
859
- <a name='L794'></a><a href='#L794'>794</a>
860
- <a name='L795'></a><a href='#L795'>795</a>
861
- <a name='L796'></a><a href='#L796'>796</a>
862
- <a name='L797'></a><a href='#L797'>797</a>
863
- <a name='L798'></a><a href='#L798'>798</a>
864
- <a name='L799'></a><a href='#L799'>799</a>
865
- <a name='L800'></a><a href='#L800'>800</a>
866
- <a name='L801'></a><a href='#L801'>801</a>
867
- <a name='L802'></a><a href='#L802'>802</a>
868
- <a name='L803'></a><a href='#L803'>803</a>
869
- <a name='L804'></a><a href='#L804'>804</a>
870
- <a name='L805'></a><a href='#L805'>805</a>
871
- <a name='L806'></a><a href='#L806'>806</a>
872
- <a name='L807'></a><a href='#L807'>807</a>
873
- <a name='L808'></a><a href='#L808'>808</a>
874
- <a name='L809'></a><a href='#L809'>809</a>
875
- <a name='L810'></a><a href='#L810'>810</a>
876
- <a name='L811'></a><a href='#L811'>811</a>
877
- <a name='L812'></a><a href='#L812'>812</a>
878
- <a name='L813'></a><a href='#L813'>813</a>
879
- <a name='L814'></a><a href='#L814'>814</a>
880
- <a name='L815'></a><a href='#L815'>815</a>
881
- <a name='L816'></a><a href='#L816'>816</a>
882
- <a name='L817'></a><a href='#L817'>817</a>
883
- <a name='L818'></a><a href='#L818'>818</a>
884
- <a name='L819'></a><a href='#L819'>819</a>
885
- <a name='L820'></a><a href='#L820'>820</a>
886
- <a name='L821'></a><a href='#L821'>821</a>
887
- <a name='L822'></a><a href='#L822'>822</a>
888
- <a name='L823'></a><a href='#L823'>823</a>
889
- <a name='L824'></a><a href='#L824'>824</a>
890
- <a name='L825'></a><a href='#L825'>825</a>
891
- <a name='L826'></a><a href='#L826'>826</a>
892
- <a name='L827'></a><a href='#L827'>827</a>
893
- <a name='L828'></a><a href='#L828'>828</a>
894
- <a name='L829'></a><a href='#L829'>829</a>
895
- <a name='L830'></a><a href='#L830'>830</a>
896
- <a name='L831'></a><a href='#L831'>831</a>
897
- <a name='L832'></a><a href='#L832'>832</a>
898
- <a name='L833'></a><a href='#L833'>833</a>
899
- <a name='L834'></a><a href='#L834'>834</a>
900
- <a name='L835'></a><a href='#L835'>835</a>
901
- <a name='L836'></a><a href='#L836'>836</a>
902
- <a name='L837'></a><a href='#L837'>837</a>
903
- <a name='L838'></a><a href='#L838'>838</a>
904
- <a name='L839'></a><a href='#L839'>839</a>
905
- <a name='L840'></a><a href='#L840'>840</a>
906
- <a name='L841'></a><a href='#L841'>841</a>
907
- <a name='L842'></a><a href='#L842'>842</a>
908
- <a name='L843'></a><a href='#L843'>843</a>
909
- <a name='L844'></a><a href='#L844'>844</a>
910
- <a name='L845'></a><a href='#L845'>845</a>
911
- <a name='L846'></a><a href='#L846'>846</a>
912
- <a name='L847'></a><a href='#L847'>847</a>
913
- <a name='L848'></a><a href='#L848'>848</a>
914
- <a name='L849'></a><a href='#L849'>849</a>
915
- <a name='L850'></a><a href='#L850'>850</a>
916
- <a name='L851'></a><a href='#L851'>851</a>
917
- <a name='L852'></a><a href='#L852'>852</a>
918
- <a name='L853'></a><a href='#L853'>853</a>
919
- <a name='L854'></a><a href='#L854'>854</a>
920
- <a name='L855'></a><a href='#L855'>855</a>
921
- <a name='L856'></a><a href='#L856'>856</a>
922
- <a name='L857'></a><a href='#L857'>857</a>
923
- <a name='L858'></a><a href='#L858'>858</a>
924
- <a name='L859'></a><a href='#L859'>859</a>
925
- <a name='L860'></a><a href='#L860'>860</a>
926
- <a name='L861'></a><a href='#L861'>861</a>
927
- <a name='L862'></a><a href='#L862'>862</a>
928
- <a name='L863'></a><a href='#L863'>863</a>
929
- <a name='L864'></a><a href='#L864'>864</a>
930
- <a name='L865'></a><a href='#L865'>865</a>
931
- <a name='L866'></a><a href='#L866'>866</a>
932
- <a name='L867'></a><a href='#L867'>867</a>
933
- <a name='L868'></a><a href='#L868'>868</a>
934
- <a name='L869'></a><a href='#L869'>869</a>
935
- <a name='L870'></a><a href='#L870'>870</a>
936
- <a name='L871'></a><a href='#L871'>871</a>
937
- <a name='L872'></a><a href='#L872'>872</a>
938
- <a name='L873'></a><a href='#L873'>873</a>
939
- <a name='L874'></a><a href='#L874'>874</a>
940
- <a name='L875'></a><a href='#L875'>875</a>
941
- <a name='L876'></a><a href='#L876'>876</a>
942
- <a name='L877'></a><a href='#L877'>877</a>
943
- <a name='L878'></a><a href='#L878'>878</a>
944
- <a name='L879'></a><a href='#L879'>879</a>
945
- <a name='L880'></a><a href='#L880'>880</a>
946
- <a name='L881'></a><a href='#L881'>881</a>
947
- <a name='L882'></a><a href='#L882'>882</a>
948
- <a name='L883'></a><a href='#L883'>883</a>
949
- <a name='L884'></a><a href='#L884'>884</a>
950
- <a name='L885'></a><a href='#L885'>885</a>
951
- <a name='L886'></a><a href='#L886'>886</a>
952
- <a name='L887'></a><a href='#L887'>887</a>
953
- <a name='L888'></a><a href='#L888'>888</a>
954
- <a name='L889'></a><a href='#L889'>889</a>
955
- <a name='L890'></a><a href='#L890'>890</a>
956
- <a name='L891'></a><a href='#L891'>891</a>
957
- <a name='L892'></a><a href='#L892'>892</a>
958
- <a name='L893'></a><a href='#L893'>893</a>
959
- <a name='L894'></a><a href='#L894'>894</a>
960
- <a name='L895'></a><a href='#L895'>895</a>
961
- <a name='L896'></a><a href='#L896'>896</a>
962
- <a name='L897'></a><a href='#L897'>897</a>
963
- <a name='L898'></a><a href='#L898'>898</a>
964
- <a name='L899'></a><a href='#L899'>899</a>
965
- <a name='L900'></a><a href='#L900'>900</a>
966
- <a name='L901'></a><a href='#L901'>901</a>
967
- <a name='L902'></a><a href='#L902'>902</a>
968
- <a name='L903'></a><a href='#L903'>903</a>
969
- <a name='L904'></a><a href='#L904'>904</a>
970
- <a name='L905'></a><a href='#L905'>905</a>
971
- <a name='L906'></a><a href='#L906'>906</a>
972
- <a name='L907'></a><a href='#L907'>907</a>
973
- <a name='L908'></a><a href='#L908'>908</a>
974
- <a name='L909'></a><a href='#L909'>909</a>
975
- <a name='L910'></a><a href='#L910'>910</a>
976
- <a name='L911'></a><a href='#L911'>911</a>
977
- <a name='L912'></a><a href='#L912'>912</a>
978
- <a name='L913'></a><a href='#L913'>913</a>
979
- <a name='L914'></a><a href='#L914'>914</a>
980
- <a name='L915'></a><a href='#L915'>915</a>
981
- <a name='L916'></a><a href='#L916'>916</a>
982
- <a name='L917'></a><a href='#L917'>917</a>
983
- <a name='L918'></a><a href='#L918'>918</a>
984
- <a name='L919'></a><a href='#L919'>919</a>
985
- <a name='L920'></a><a href='#L920'>920</a>
986
- <a name='L921'></a><a href='#L921'>921</a>
987
- <a name='L922'></a><a href='#L922'>922</a>
988
- <a name='L923'></a><a href='#L923'>923</a>
989
- <a name='L924'></a><a href='#L924'>924</a>
990
- <a name='L925'></a><a href='#L925'>925</a>
991
- <a name='L926'></a><a href='#L926'>926</a>
992
- <a name='L927'></a><a href='#L927'>927</a>
993
- <a name='L928'></a><a href='#L928'>928</a>
994
- <a name='L929'></a><a href='#L929'>929</a>
995
- <a name='L930'></a><a href='#L930'>930</a>
996
- <a name='L931'></a><a href='#L931'>931</a>
997
- <a name='L932'></a><a href='#L932'>932</a>
998
- <a name='L933'></a><a href='#L933'>933</a>
999
- <a name='L934'></a><a href='#L934'>934</a>
1000
- <a name='L935'></a><a href='#L935'>935</a>
1001
- <a name='L936'></a><a href='#L936'>936</a>
1002
- <a name='L937'></a><a href='#L937'>937</a>
1003
- <a name='L938'></a><a href='#L938'>938</a>
1004
- <a name='L939'></a><a href='#L939'>939</a>
1005
- <a name='L940'></a><a href='#L940'>940</a>
1006
- <a name='L941'></a><a href='#L941'>941</a>
1007
- <a name='L942'></a><a href='#L942'>942</a>
1008
- <a name='L943'></a><a href='#L943'>943</a>
1009
- <a name='L944'></a><a href='#L944'>944</a>
1010
- <a name='L945'></a><a href='#L945'>945</a>
1011
- <a name='L946'></a><a href='#L946'>946</a>
1012
- <a name='L947'></a><a href='#L947'>947</a>
1013
- <a name='L948'></a><a href='#L948'>948</a>
1014
- <a name='L949'></a><a href='#L949'>949</a>
1015
- <a name='L950'></a><a href='#L950'>950</a>
1016
- <a name='L951'></a><a href='#L951'>951</a>
1017
- <a name='L952'></a><a href='#L952'>952</a>
1018
- <a name='L953'></a><a href='#L953'>953</a>
1019
- <a name='L954'></a><a href='#L954'>954</a>
1020
- <a name='L955'></a><a href='#L955'>955</a>
1021
- <a name='L956'></a><a href='#L956'>956</a>
1022
- <a name='L957'></a><a href='#L957'>957</a>
1023
- <a name='L958'></a><a href='#L958'>958</a>
1024
- <a name='L959'></a><a href='#L959'>959</a>
1025
- <a name='L960'></a><a href='#L960'>960</a>
1026
- <a name='L961'></a><a href='#L961'>961</a>
1027
- <a name='L962'></a><a href='#L962'>962</a>
1028
- <a name='L963'></a><a href='#L963'>963</a>
1029
- <a name='L964'></a><a href='#L964'>964</a>
1030
- <a name='L965'></a><a href='#L965'>965</a>
1031
- <a name='L966'></a><a href='#L966'>966</a>
1032
- <a name='L967'></a><a href='#L967'>967</a>
1033
- <a name='L968'></a><a href='#L968'>968</a>
1034
- <a name='L969'></a><a href='#L969'>969</a>
1035
- <a name='L970'></a><a href='#L970'>970</a>
1036
- <a name='L971'></a><a href='#L971'>971</a>
1037
- <a name='L972'></a><a href='#L972'>972</a>
1038
- <a name='L973'></a><a href='#L973'>973</a>
1039
- <a name='L974'></a><a href='#L974'>974</a>
1040
- <a name='L975'></a><a href='#L975'>975</a>
1041
- <a name='L976'></a><a href='#L976'>976</a>
1042
- <a name='L977'></a><a href='#L977'>977</a>
1043
- <a name='L978'></a><a href='#L978'>978</a>
1044
- <a name='L979'></a><a href='#L979'>979</a>
1045
- <a name='L980'></a><a href='#L980'>980</a>
1046
- <a name='L981'></a><a href='#L981'>981</a>
1047
- <a name='L982'></a><a href='#L982'>982</a>
1048
- <a name='L983'></a><a href='#L983'>983</a>
1049
- <a name='L984'></a><a href='#L984'>984</a>
1050
- <a name='L985'></a><a href='#L985'>985</a>
1051
- <a name='L986'></a><a href='#L986'>986</a>
1052
- <a name='L987'></a><a href='#L987'>987</a>
1053
- <a name='L988'></a><a href='#L988'>988</a>
1054
- <a name='L989'></a><a href='#L989'>989</a>
1055
- <a name='L990'></a><a href='#L990'>990</a>
1056
- <a name='L991'></a><a href='#L991'>991</a>
1057
- <a name='L992'></a><a href='#L992'>992</a>
1058
- <a name='L993'></a><a href='#L993'>993</a>
1059
- <a name='L994'></a><a href='#L994'>994</a>
1060
- <a name='L995'></a><a href='#L995'>995</a>
1061
- <a name='L996'></a><a href='#L996'>996</a>
1062
- <a name='L997'></a><a href='#L997'>997</a>
1063
- <a name='L998'></a><a href='#L998'>998</a>
1064
- <a name='L999'></a><a href='#L999'>999</a>
1065
- <a name='L1000'></a><a href='#L1000'>1000</a>
1066
- <a name='L1001'></a><a href='#L1001'>1001</a>
1067
- <a name='L1002'></a><a href='#L1002'>1002</a>
1068
- <a name='L1003'></a><a href='#L1003'>1003</a>
1069
- <a name='L1004'></a><a href='#L1004'>1004</a>
1070
- <a name='L1005'></a><a href='#L1005'>1005</a>
1071
- <a name='L1006'></a><a href='#L1006'>1006</a>
1072
- <a name='L1007'></a><a href='#L1007'>1007</a>
1073
- <a name='L1008'></a><a href='#L1008'>1008</a>
1074
- <a name='L1009'></a><a href='#L1009'>1009</a>
1075
- <a name='L1010'></a><a href='#L1010'>1010</a>
1076
- <a name='L1011'></a><a href='#L1011'>1011</a>
1077
- <a name='L1012'></a><a href='#L1012'>1012</a>
1078
- <a name='L1013'></a><a href='#L1013'>1013</a>
1079
- <a name='L1014'></a><a href='#L1014'>1014</a>
1080
- <a name='L1015'></a><a href='#L1015'>1015</a>
1081
- <a name='L1016'></a><a href='#L1016'>1016</a>
1082
- <a name='L1017'></a><a href='#L1017'>1017</a>
1083
- <a name='L1018'></a><a href='#L1018'>1018</a>
1084
- <a name='L1019'></a><a href='#L1019'>1019</a>
1085
- <a name='L1020'></a><a href='#L1020'>1020</a>
1086
- <a name='L1021'></a><a href='#L1021'>1021</a>
1087
- <a name='L1022'></a><a href='#L1022'>1022</a>
1088
- <a name='L1023'></a><a href='#L1023'>1023</a>
1089
- <a name='L1024'></a><a href='#L1024'>1024</a>
1090
- <a name='L1025'></a><a href='#L1025'>1025</a></td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
1091
- <span class="cline-any cline-neutral">&nbsp;</span>
1092
- <span class="cline-any cline-neutral">&nbsp;</span>
1093
- <span class="cline-any cline-neutral">&nbsp;</span>
1094
- <span class="cline-any cline-neutral">&nbsp;</span>
1095
- <span class="cline-any cline-neutral">&nbsp;</span>
1096
- <span class="cline-any cline-yes">1x</span>
1097
- <span class="cline-any cline-neutral">&nbsp;</span>
1098
- <span class="cline-any cline-neutral">&nbsp;</span>
1099
- <span class="cline-any cline-neutral">&nbsp;</span>
1100
- <span class="cline-any cline-yes">1x</span>
1101
- <span class="cline-any cline-yes">1x</span>
1102
- <span class="cline-any cline-yes">1x</span>
1103
- <span class="cline-any cline-neutral">&nbsp;</span>
1104
- <span class="cline-any cline-neutral">&nbsp;</span>
1105
- <span class="cline-any cline-neutral">&nbsp;</span>
1106
- <span class="cline-any cline-neutral">&nbsp;</span>
1107
- <span class="cline-any cline-yes">1x</span>
1108
- <span class="cline-any cline-yes">1x</span>
1109
- <span class="cline-any cline-yes">1x</span>
1110
- <span class="cline-any cline-neutral">&nbsp;</span>
1111
- <span class="cline-any cline-neutral">&nbsp;</span>
1112
- <span class="cline-any cline-neutral">&nbsp;</span>
1113
- <span class="cline-any cline-neutral">&nbsp;</span>
1114
- <span class="cline-any cline-neutral">&nbsp;</span>
1115
- <span class="cline-any cline-neutral">&nbsp;</span>
1116
- <span class="cline-any cline-neutral">&nbsp;</span>
1117
- <span class="cline-any cline-neutral">&nbsp;</span>
1118
- <span class="cline-any cline-neutral">&nbsp;</span>
1119
- <span class="cline-any cline-neutral">&nbsp;</span>
1120
- <span class="cline-any cline-neutral">&nbsp;</span>
1121
- <span class="cline-any cline-neutral">&nbsp;</span>
1122
- <span class="cline-any cline-neutral">&nbsp;</span>
1123
- <span class="cline-any cline-yes">1x</span>
1124
- <span class="cline-any cline-neutral">&nbsp;</span>
1125
- <span class="cline-any cline-yes">1x</span>
1126
- <span class="cline-any cline-neutral">&nbsp;</span>
1127
- <span class="cline-any cline-neutral">&nbsp;</span>
1128
- <span class="cline-any cline-yes">1x</span>
1129
- <span class="cline-any cline-neutral">&nbsp;</span>
1130
- <span class="cline-any cline-neutral">&nbsp;</span>
1131
- <span class="cline-any cline-yes">1x</span>
1132
- <span class="cline-any cline-neutral">&nbsp;</span>
1133
- <span class="cline-any cline-neutral">&nbsp;</span>
1134
- <span class="cline-any cline-yes">1x</span>
1135
- <span class="cline-any cline-neutral">&nbsp;</span>
1136
- <span class="cline-any cline-neutral">&nbsp;</span>
1137
- <span class="cline-any cline-yes">1x</span>
1138
- <span class="cline-any cline-neutral">&nbsp;</span>
1139
- <span class="cline-any cline-neutral">&nbsp;</span>
1140
- <span class="cline-any cline-yes">1x</span>
1141
- <span class="cline-any cline-neutral">&nbsp;</span>
1142
- <span class="cline-any cline-neutral">&nbsp;</span>
1143
- <span class="cline-any cline-yes">1x</span>
1144
- <span class="cline-any cline-neutral">&nbsp;</span>
1145
- <span class="cline-any cline-neutral">&nbsp;</span>
1146
- <span class="cline-any cline-yes">1x</span>
1147
- <span class="cline-any cline-neutral">&nbsp;</span>
1148
- <span class="cline-any cline-neutral">&nbsp;</span>
1149
- <span class="cline-any cline-yes">1x</span>
1150
- <span class="cline-any cline-neutral">&nbsp;</span>
1151
- <span class="cline-any cline-neutral">&nbsp;</span>
1152
- <span class="cline-any cline-yes">1x</span>
1153
- <span class="cline-any cline-neutral">&nbsp;</span>
1154
- <span class="cline-any cline-neutral">&nbsp;</span>
1155
- <span class="cline-any cline-yes">1x</span>
1156
- <span class="cline-any cline-neutral">&nbsp;</span>
1157
- <span class="cline-any cline-neutral">&nbsp;</span>
1158
- <span class="cline-any cline-neutral">&nbsp;</span>
1159
- <span class="cline-any cline-neutral">&nbsp;</span>
1160
- <span class="cline-any cline-neutral">&nbsp;</span>
1161
- <span class="cline-any cline-neutral">&nbsp;</span>
1162
- <span class="cline-any cline-neutral">&nbsp;</span>
1163
- <span class="cline-any cline-neutral">&nbsp;</span>
1164
- <span class="cline-any cline-yes">1x</span>
1165
- <span class="cline-any cline-neutral">&nbsp;</span>
1166
- <span class="cline-any cline-neutral">&nbsp;</span>
1167
- <span class="cline-any cline-neutral">&nbsp;</span>
1168
- <span class="cline-any cline-neutral">&nbsp;</span>
1169
- <span class="cline-any cline-neutral">&nbsp;</span>
1170
- <span class="cline-any cline-yes">1x</span>
1171
- <span class="cline-any cline-neutral">&nbsp;</span>
1172
- <span class="cline-any cline-neutral">&nbsp;</span>
1173
- <span class="cline-any cline-neutral">&nbsp;</span>
1174
- <span class="cline-any cline-neutral">&nbsp;</span>
1175
- <span class="cline-any cline-neutral">&nbsp;</span>
1176
- <span class="cline-any cline-yes">1x</span>
1177
- <span class="cline-any cline-neutral">&nbsp;</span>
1178
- <span class="cline-any cline-neutral">&nbsp;</span>
1179
- <span class="cline-any cline-neutral">&nbsp;</span>
1180
- <span class="cline-any cline-neutral">&nbsp;</span>
1181
- <span class="cline-any cline-neutral">&nbsp;</span>
1182
- <span class="cline-any cline-neutral">&nbsp;</span>
1183
- <span class="cline-any cline-yes">1x</span>
1184
- <span class="cline-any cline-neutral">&nbsp;</span>
1185
- <span class="cline-any cline-neutral">&nbsp;</span>
1186
- <span class="cline-any cline-neutral">&nbsp;</span>
1187
- <span class="cline-any cline-neutral">&nbsp;</span>
1188
- <span class="cline-any cline-neutral">&nbsp;</span>
1189
- <span class="cline-any cline-neutral">&nbsp;</span>
1190
- <span class="cline-any cline-neutral">&nbsp;</span>
1191
- <span class="cline-any cline-neutral">&nbsp;</span>
1192
- <span class="cline-any cline-neutral">&nbsp;</span>
1193
- <span class="cline-any cline-neutral">&nbsp;</span>
1194
- <span class="cline-any cline-neutral">&nbsp;</span>
1195
- <span class="cline-any cline-neutral">&nbsp;</span>
1196
- <span class="cline-any cline-neutral">&nbsp;</span>
1197
- <span class="cline-any cline-neutral">&nbsp;</span>
1198
- <span class="cline-any cline-neutral">&nbsp;</span>
1199
- <span class="cline-any cline-yes">1x</span>
1200
- <span class="cline-any cline-neutral">&nbsp;</span>
1201
- <span class="cline-any cline-neutral">&nbsp;</span>
1202
- <span class="cline-any cline-neutral">&nbsp;</span>
1203
- <span class="cline-any cline-neutral">&nbsp;</span>
1204
- <span class="cline-any cline-yes">1x</span>
1205
- <span class="cline-any cline-neutral">&nbsp;</span>
1206
- <span class="cline-any cline-neutral">&nbsp;</span>
1207
- <span class="cline-any cline-neutral">&nbsp;</span>
1208
- <span class="cline-any cline-neutral">&nbsp;</span>
1209
- <span class="cline-any cline-yes">1x</span>
1210
- <span class="cline-any cline-neutral">&nbsp;</span>
1211
- <span class="cline-any cline-neutral">&nbsp;</span>
1212
- <span class="cline-any cline-neutral">&nbsp;</span>
1213
- <span class="cline-any cline-neutral">&nbsp;</span>
1214
- <span class="cline-any cline-neutral">&nbsp;</span>
1215
- <span class="cline-any cline-neutral">&nbsp;</span>
1216
- <span class="cline-any cline-neutral">&nbsp;</span>
1217
- <span class="cline-any cline-neutral">&nbsp;</span>
1218
- <span class="cline-any cline-neutral">&nbsp;</span>
1219
- <span class="cline-any cline-neutral">&nbsp;</span>
1220
- <span class="cline-any cline-neutral">&nbsp;</span>
1221
- <span class="cline-any cline-neutral">&nbsp;</span>
1222
- <span class="cline-any cline-neutral">&nbsp;</span>
1223
- <span class="cline-any cline-neutral">&nbsp;</span>
1224
- <span class="cline-any cline-neutral">&nbsp;</span>
1225
- <span class="cline-any cline-neutral">&nbsp;</span>
1226
- <span class="cline-any cline-neutral">&nbsp;</span>
1227
- <span class="cline-any cline-neutral">&nbsp;</span>
1228
- <span class="cline-any cline-neutral">&nbsp;</span>
1229
- <span class="cline-any cline-neutral">&nbsp;</span>
1230
- <span class="cline-any cline-neutral">&nbsp;</span>
1231
- <span class="cline-any cline-neutral">&nbsp;</span>
1232
- <span class="cline-any cline-neutral">&nbsp;</span>
1233
- <span class="cline-any cline-neutral">&nbsp;</span>
1234
- <span class="cline-any cline-neutral">&nbsp;</span>
1235
- <span class="cline-any cline-neutral">&nbsp;</span>
1236
- <span class="cline-any cline-neutral">&nbsp;</span>
1237
- <span class="cline-any cline-neutral">&nbsp;</span>
1238
- <span class="cline-any cline-neutral">&nbsp;</span>
1239
- <span class="cline-any cline-neutral">&nbsp;</span>
1240
- <span class="cline-any cline-neutral">&nbsp;</span>
1241
- <span class="cline-any cline-neutral">&nbsp;</span>
1242
- <span class="cline-any cline-neutral">&nbsp;</span>
1243
- <span class="cline-any cline-neutral">&nbsp;</span>
1244
- <span class="cline-any cline-neutral">&nbsp;</span>
1245
- <span class="cline-any cline-neutral">&nbsp;</span>
1246
- <span class="cline-any cline-neutral">&nbsp;</span>
1247
- <span class="cline-any cline-neutral">&nbsp;</span>
1248
- <span class="cline-any cline-neutral">&nbsp;</span>
1249
- <span class="cline-any cline-neutral">&nbsp;</span>
1250
- <span class="cline-any cline-neutral">&nbsp;</span>
1251
- <span class="cline-any cline-neutral">&nbsp;</span>
1252
- <span class="cline-any cline-neutral">&nbsp;</span>
1253
- <span class="cline-any cline-neutral">&nbsp;</span>
1254
- <span class="cline-any cline-neutral">&nbsp;</span>
1255
- <span class="cline-any cline-yes">1x</span>
1256
- <span class="cline-any cline-neutral">&nbsp;</span>
1257
- <span class="cline-any cline-neutral">&nbsp;</span>
1258
- <span class="cline-any cline-neutral">&nbsp;</span>
1259
- <span class="cline-any cline-neutral">&nbsp;</span>
1260
- <span class="cline-any cline-yes">1x</span>
1261
- <span class="cline-any cline-neutral">&nbsp;</span>
1262
- <span class="cline-any cline-yes">1x</span>
1263
- <span class="cline-any cline-neutral">&nbsp;</span>
1264
- <span class="cline-any cline-yes">1x</span>
1265
- <span class="cline-any cline-neutral">&nbsp;</span>
1266
- <span class="cline-any cline-yes">1x</span>
1267
- <span class="cline-any cline-neutral">&nbsp;</span>
1268
- <span class="cline-any cline-yes">1x</span>
1269
- <span class="cline-any cline-neutral">&nbsp;</span>
1270
- <span class="cline-any cline-yes">1x</span>
1271
- <span class="cline-any cline-neutral">&nbsp;</span>
1272
- <span class="cline-any cline-neutral">&nbsp;</span>
1273
- <span class="cline-any cline-neutral">&nbsp;</span>
1274
- <span class="cline-any cline-neutral">&nbsp;</span>
1275
- <span class="cline-any cline-neutral">&nbsp;</span>
1276
- <span class="cline-any cline-neutral">&nbsp;</span>
1277
- <span class="cline-any cline-neutral">&nbsp;</span>
1278
- <span class="cline-any cline-neutral">&nbsp;</span>
1279
- <span class="cline-any cline-neutral">&nbsp;</span>
1280
- <span class="cline-any cline-yes">1x</span>
1281
- <span class="cline-any cline-neutral">&nbsp;</span>
1282
- <span class="cline-any cline-neutral">&nbsp;</span>
1283
- <span class="cline-any cline-neutral">&nbsp;</span>
1284
- <span class="cline-any cline-neutral">&nbsp;</span>
1285
- <span class="cline-any cline-neutral">&nbsp;</span>
1286
- <span class="cline-any cline-neutral">&nbsp;</span>
1287
- <span class="cline-any cline-neutral">&nbsp;</span>
1288
- <span class="cline-any cline-neutral">&nbsp;</span>
1289
- <span class="cline-any cline-yes">1x</span>
1290
- <span class="cline-any cline-neutral">&nbsp;</span>
1291
- <span class="cline-any cline-neutral">&nbsp;</span>
1292
- <span class="cline-any cline-neutral">&nbsp;</span>
1293
- <span class="cline-any cline-neutral">&nbsp;</span>
1294
- <span class="cline-any cline-neutral">&nbsp;</span>
1295
- <span class="cline-any cline-neutral">&nbsp;</span>
1296
- <span class="cline-any cline-yes">1x</span>
1297
- <span class="cline-any cline-yes">1x</span>
1298
- <span class="cline-any cline-neutral">&nbsp;</span>
1299
- <span class="cline-any cline-neutral">&nbsp;</span>
1300
- <span class="cline-any cline-neutral">&nbsp;</span>
1301
- <span class="cline-any cline-neutral">&nbsp;</span>
1302
- <span class="cline-any cline-yes">1x</span>
1303
- <span class="cline-any cline-neutral">&nbsp;</span>
1304
- <span class="cline-any cline-neutral">&nbsp;</span>
1305
- <span class="cline-any cline-neutral">&nbsp;</span>
1306
- <span class="cline-any cline-neutral">&nbsp;</span>
1307
- <span class="cline-any cline-yes">1x</span>
1308
- <span class="cline-any cline-neutral">&nbsp;</span>
1309
- <span class="cline-any cline-neutral">&nbsp;</span>
1310
- <span class="cline-any cline-neutral">&nbsp;</span>
1311
- <span class="cline-any cline-neutral">&nbsp;</span>
1312
- <span class="cline-any cline-yes">1x</span>
1313
- <span class="cline-any cline-neutral">&nbsp;</span>
1314
- <span class="cline-any cline-neutral">&nbsp;</span>
1315
- <span class="cline-any cline-neutral">&nbsp;</span>
1316
- <span class="cline-any cline-neutral">&nbsp;</span>
1317
- <span class="cline-any cline-yes">1x</span>
1318
- <span class="cline-any cline-neutral">&nbsp;</span>
1319
- <span class="cline-any cline-neutral">&nbsp;</span>
1320
- <span class="cline-any cline-neutral">&nbsp;</span>
1321
- <span class="cline-any cline-neutral">&nbsp;</span>
1322
- <span class="cline-any cline-yes">1x</span>
1323
- <span class="cline-any cline-neutral">&nbsp;</span>
1324
- <span class="cline-any cline-neutral">&nbsp;</span>
1325
- <span class="cline-any cline-neutral">&nbsp;</span>
1326
- <span class="cline-any cline-neutral">&nbsp;</span>
1327
- <span class="cline-any cline-yes">1x</span>
1328
- <span class="cline-any cline-neutral">&nbsp;</span>
1329
- <span class="cline-any cline-neutral">&nbsp;</span>
1330
- <span class="cline-any cline-neutral">&nbsp;</span>
1331
- <span class="cline-any cline-neutral">&nbsp;</span>
1332
- <span class="cline-any cline-yes">1x</span>
1333
- <span class="cline-any cline-neutral">&nbsp;</span>
1334
- <span class="cline-any cline-neutral">&nbsp;</span>
1335
- <span class="cline-any cline-neutral">&nbsp;</span>
1336
- <span class="cline-any cline-neutral">&nbsp;</span>
1337
- <span class="cline-any cline-yes">1x</span>
1338
- <span class="cline-any cline-neutral">&nbsp;</span>
1339
- <span class="cline-any cline-neutral">&nbsp;</span>
1340
- <span class="cline-any cline-neutral">&nbsp;</span>
1341
- <span class="cline-any cline-neutral">&nbsp;</span>
1342
- <span class="cline-any cline-yes">1x</span>
1343
- <span class="cline-any cline-neutral">&nbsp;</span>
1344
- <span class="cline-any cline-neutral">&nbsp;</span>
1345
- <span class="cline-any cline-neutral">&nbsp;</span>
1346
- <span class="cline-any cline-neutral">&nbsp;</span>
1347
- <span class="cline-any cline-yes">1x</span>
1348
- <span class="cline-any cline-neutral">&nbsp;</span>
1349
- <span class="cline-any cline-neutral">&nbsp;</span>
1350
- <span class="cline-any cline-neutral">&nbsp;</span>
1351
- <span class="cline-any cline-neutral">&nbsp;</span>
1352
- <span class="cline-any cline-yes">1x</span>
1353
- <span class="cline-any cline-neutral">&nbsp;</span>
1354
- <span class="cline-any cline-neutral">&nbsp;</span>
1355
- <span class="cline-any cline-neutral">&nbsp;</span>
1356
- <span class="cline-any cline-neutral">&nbsp;</span>
1357
- <span class="cline-any cline-yes">1x</span>
1358
- <span class="cline-any cline-neutral">&nbsp;</span>
1359
- <span class="cline-any cline-neutral">&nbsp;</span>
1360
- <span class="cline-any cline-neutral">&nbsp;</span>
1361
- <span class="cline-any cline-neutral">&nbsp;</span>
1362
- <span class="cline-any cline-yes">1x</span>
1363
- <span class="cline-any cline-neutral">&nbsp;</span>
1364
- <span class="cline-any cline-neutral">&nbsp;</span>
1365
- <span class="cline-any cline-neutral">&nbsp;</span>
1366
- <span class="cline-any cline-neutral">&nbsp;</span>
1367
- <span class="cline-any cline-yes">1x</span>
1368
- <span class="cline-any cline-neutral">&nbsp;</span>
1369
- <span class="cline-any cline-neutral">&nbsp;</span>
1370
- <span class="cline-any cline-neutral">&nbsp;</span>
1371
- <span class="cline-any cline-neutral">&nbsp;</span>
1372
- <span class="cline-any cline-yes">1x</span>
1373
- <span class="cline-any cline-yes">1x</span>
1374
- <span class="cline-any cline-neutral">&nbsp;</span>
1375
- <span class="cline-any cline-neutral">&nbsp;</span>
1376
- <span class="cline-any cline-neutral">&nbsp;</span>
1377
- <span class="cline-any cline-neutral">&nbsp;</span>
1378
- <span class="cline-any cline-yes">1x</span>
1379
- <span class="cline-any cline-neutral">&nbsp;</span>
1380
- <span class="cline-any cline-neutral">&nbsp;</span>
1381
- <span class="cline-any cline-neutral">&nbsp;</span>
1382
- <span class="cline-any cline-neutral">&nbsp;</span>
1383
- <span class="cline-any cline-yes">1x</span>
1384
- <span class="cline-any cline-yes">1x</span>
1385
- <span class="cline-any cline-yes">1x</span>
1386
- <span class="cline-any cline-yes">1x</span>
1387
- <span class="cline-any cline-neutral">&nbsp;</span>
1388
- <span class="cline-any cline-yes">1x</span>
1389
- <span class="cline-any cline-no">&nbsp;</span>
1390
- <span class="cline-any cline-neutral">&nbsp;</span>
1391
- <span class="cline-any cline-neutral">&nbsp;</span>
1392
- <span class="cline-any cline-yes">1x</span>
1393
- <span class="cline-any cline-neutral">&nbsp;</span>
1394
- <span class="cline-any cline-neutral">&nbsp;</span>
1395
- <span class="cline-any cline-neutral">&nbsp;</span>
1396
- <span class="cline-any cline-neutral">&nbsp;</span>
1397
- <span class="cline-any cline-neutral">&nbsp;</span>
1398
- <span class="cline-any cline-neutral">&nbsp;</span>
1399
- <span class="cline-any cline-neutral">&nbsp;</span>
1400
- <span class="cline-any cline-neutral">&nbsp;</span>
1401
- <span class="cline-any cline-no">&nbsp;</span>
1402
- <span class="cline-any cline-no">&nbsp;</span>
1403
- <span class="cline-any cline-neutral">&nbsp;</span>
1404
- <span class="cline-any cline-neutral">&nbsp;</span>
1405
- <span class="cline-any cline-no">&nbsp;</span>
1406
- <span class="cline-any cline-neutral">&nbsp;</span>
1407
- <span class="cline-any cline-neutral">&nbsp;</span>
1408
- <span class="cline-any cline-neutral">&nbsp;</span>
1409
- <span class="cline-any cline-neutral">&nbsp;</span>
1410
- <span class="cline-any cline-neutral">&nbsp;</span>
1411
- <span class="cline-any cline-neutral">&nbsp;</span>
1412
- <span class="cline-any cline-neutral">&nbsp;</span>
1413
- <span class="cline-any cline-neutral">&nbsp;</span>
1414
- <span class="cline-any cline-no">&nbsp;</span>
1415
- <span class="cline-any cline-neutral">&nbsp;</span>
1416
- <span class="cline-any cline-neutral">&nbsp;</span>
1417
- <span class="cline-any cline-no">&nbsp;</span>
1418
- <span class="cline-any cline-no">&nbsp;</span>
1419
- <span class="cline-any cline-neutral">&nbsp;</span>
1420
- <span class="cline-any cline-neutral">&nbsp;</span>
1421
- <span class="cline-any cline-neutral">&nbsp;</span>
1422
- <span class="cline-any cline-neutral">&nbsp;</span>
1423
- <span class="cline-any cline-neutral">&nbsp;</span>
1424
- <span class="cline-any cline-neutral">&nbsp;</span>
1425
- <span class="cline-any cline-neutral">&nbsp;</span>
1426
- <span class="cline-any cline-yes">1x</span>
1427
- <span class="cline-any cline-neutral">&nbsp;</span>
1428
- <span class="cline-any cline-yes">1x</span>
1429
- <span class="cline-any cline-yes">1x</span>
1430
- <span class="cline-any cline-yes">1x</span>
1431
- <span class="cline-any cline-yes">1x</span>
1432
- <span class="cline-any cline-neutral">&nbsp;</span>
1433
- <span class="cline-any cline-neutral">&nbsp;</span>
1434
- <span class="cline-any cline-yes">1x</span>
1435
- <span class="cline-any cline-neutral">&nbsp;</span>
1436
- <span class="cline-any cline-neutral">&nbsp;</span>
1437
- <span class="cline-any cline-no">&nbsp;</span>
1438
- <span class="cline-any cline-no">&nbsp;</span>
1439
- <span class="cline-any cline-neutral">&nbsp;</span>
1440
- <span class="cline-any cline-neutral">&nbsp;</span>
1441
- <span class="cline-any cline-neutral">&nbsp;</span>
1442
- <span class="cline-any cline-no">&nbsp;</span>
1443
- <span class="cline-any cline-no">&nbsp;</span>
1444
- <span class="cline-any cline-neutral">&nbsp;</span>
1445
- <span class="cline-any cline-neutral">&nbsp;</span>
1446
- <span class="cline-any cline-neutral">&nbsp;</span>
1447
- <span class="cline-any cline-neutral">&nbsp;</span>
1448
- <span class="cline-any cline-no">&nbsp;</span>
1449
- <span class="cline-any cline-neutral">&nbsp;</span>
1450
- <span class="cline-any cline-neutral">&nbsp;</span>
1451
- <span class="cline-any cline-neutral">&nbsp;</span>
1452
- <span class="cline-any cline-neutral">&nbsp;</span>
1453
- <span class="cline-any cline-neutral">&nbsp;</span>
1454
- <span class="cline-any cline-neutral">&nbsp;</span>
1455
- <span class="cline-any cline-neutral">&nbsp;</span>
1456
- <span class="cline-any cline-no">&nbsp;</span>
1457
- <span class="cline-any cline-no">&nbsp;</span>
1458
- <span class="cline-any cline-neutral">&nbsp;</span>
1459
- <span class="cline-any cline-no">&nbsp;</span>
1460
- <span class="cline-any cline-neutral">&nbsp;</span>
1461
- <span class="cline-any cline-neutral">&nbsp;</span>
1462
- <span class="cline-any cline-neutral">&nbsp;</span>
1463
- <span class="cline-any cline-no">&nbsp;</span>
1464
- <span class="cline-any cline-no">&nbsp;</span>
1465
- <span class="cline-any cline-neutral">&nbsp;</span>
1466
- <span class="cline-any cline-neutral">&nbsp;</span>
1467
- <span class="cline-any cline-neutral">&nbsp;</span>
1468
- <span class="cline-any cline-no">&nbsp;</span>
1469
- <span class="cline-any cline-no">&nbsp;</span>
1470
- <span class="cline-any cline-neutral">&nbsp;</span>
1471
- <span class="cline-any cline-neutral">&nbsp;</span>
1472
- <span class="cline-any cline-neutral">&nbsp;</span>
1473
- <span class="cline-any cline-no">&nbsp;</span>
1474
- <span class="cline-any cline-no">&nbsp;</span>
1475
- <span class="cline-any cline-neutral">&nbsp;</span>
1476
- <span class="cline-any cline-neutral">&nbsp;</span>
1477
- <span class="cline-any cline-neutral">&nbsp;</span>
1478
- <span class="cline-any cline-neutral">&nbsp;</span>
1479
- <span class="cline-any cline-neutral">&nbsp;</span>
1480
- <span class="cline-any cline-neutral">&nbsp;</span>
1481
- <span class="cline-any cline-neutral">&nbsp;</span>
1482
- <span class="cline-any cline-neutral">&nbsp;</span>
1483
- <span class="cline-any cline-neutral">&nbsp;</span>
1484
- <span class="cline-any cline-yes">1x</span>
1485
- <span class="cline-any cline-neutral">&nbsp;</span>
1486
- <span class="cline-any cline-neutral">&nbsp;</span>
1487
- <span class="cline-any cline-neutral">&nbsp;</span>
1488
- <span class="cline-any cline-no">&nbsp;</span>
1489
- <span class="cline-any cline-neutral">&nbsp;</span>
1490
- <span class="cline-any cline-neutral">&nbsp;</span>
1491
- <span class="cline-any cline-neutral">&nbsp;</span>
1492
- <span class="cline-any cline-no">&nbsp;</span>
1493
- <span class="cline-any cline-no">&nbsp;</span>
1494
- <span class="cline-any cline-neutral">&nbsp;</span>
1495
- <span class="cline-any cline-no">&nbsp;</span>
1496
- <span class="cline-any cline-neutral">&nbsp;</span>
1497
- <span class="cline-any cline-neutral">&nbsp;</span>
1498
- <span class="cline-any cline-neutral">&nbsp;</span>
1499
- <span class="cline-any cline-no">&nbsp;</span>
1500
- <span class="cline-any cline-no">&nbsp;</span>
1501
- <span class="cline-any cline-no">&nbsp;</span>
1502
- <span class="cline-any cline-neutral">&nbsp;</span>
1503
- <span class="cline-any cline-neutral">&nbsp;</span>
1504
- <span class="cline-any cline-neutral">&nbsp;</span>
1505
- <span class="cline-any cline-neutral">&nbsp;</span>
1506
- <span class="cline-any cline-neutral">&nbsp;</span>
1507
- <span class="cline-any cline-neutral">&nbsp;</span>
1508
- <span class="cline-any cline-neutral">&nbsp;</span>
1509
- <span class="cline-any cline-neutral">&nbsp;</span>
1510
- <span class="cline-any cline-neutral">&nbsp;</span>
1511
- <span class="cline-any cline-neutral">&nbsp;</span>
1512
- <span class="cline-any cline-no">&nbsp;</span>
1513
- <span class="cline-any cline-no">&nbsp;</span>
1514
- <span class="cline-any cline-no">&nbsp;</span>
1515
- <span class="cline-any cline-neutral">&nbsp;</span>
1516
- <span class="cline-any cline-no">&nbsp;</span>
1517
- <span class="cline-any cline-neutral">&nbsp;</span>
1518
- <span class="cline-any cline-no">&nbsp;</span>
1519
- <span class="cline-any cline-neutral">&nbsp;</span>
1520
- <span class="cline-any cline-neutral">&nbsp;</span>
1521
- <span class="cline-any cline-neutral">&nbsp;</span>
1522
- <span class="cline-any cline-no">&nbsp;</span>
1523
- <span class="cline-any cline-no">&nbsp;</span>
1524
- <span class="cline-any cline-no">&nbsp;</span>
1525
- <span class="cline-any cline-neutral">&nbsp;</span>
1526
- <span class="cline-any cline-neutral">&nbsp;</span>
1527
- <span class="cline-any cline-no">&nbsp;</span>
1528
- <span class="cline-any cline-neutral">&nbsp;</span>
1529
- <span class="cline-any cline-neutral">&nbsp;</span>
1530
- <span class="cline-any cline-neutral">&nbsp;</span>
1531
- <span class="cline-any cline-no">&nbsp;</span>
1532
- <span class="cline-any cline-neutral">&nbsp;</span>
1533
- <span class="cline-any cline-no">&nbsp;</span>
1534
- <span class="cline-any cline-neutral">&nbsp;</span>
1535
- <span class="cline-any cline-no">&nbsp;</span>
1536
- <span class="cline-any cline-no">&nbsp;</span>
1537
- <span class="cline-any cline-neutral">&nbsp;</span>
1538
- <span class="cline-any cline-no">&nbsp;</span>
1539
- <span class="cline-any cline-no">&nbsp;</span>
1540
- <span class="cline-any cline-neutral">&nbsp;</span>
1541
- <span class="cline-any cline-neutral">&nbsp;</span>
1542
- <span class="cline-any cline-no">&nbsp;</span>
1543
- <span class="cline-any cline-neutral">&nbsp;</span>
1544
- <span class="cline-any cline-neutral">&nbsp;</span>
1545
- <span class="cline-any cline-no">&nbsp;</span>
1546
- <span class="cline-any cline-neutral">&nbsp;</span>
1547
- <span class="cline-any cline-neutral">&nbsp;</span>
1548
- <span class="cline-any cline-no">&nbsp;</span>
1549
- <span class="cline-any cline-no">&nbsp;</span>
1550
- <span class="cline-any cline-neutral">&nbsp;</span>
1551
- <span class="cline-any cline-no">&nbsp;</span>
1552
- <span class="cline-any cline-neutral">&nbsp;</span>
1553
- <span class="cline-any cline-no">&nbsp;</span>
1554
- <span class="cline-any cline-no">&nbsp;</span>
1555
- <span class="cline-any cline-neutral">&nbsp;</span>
1556
- <span class="cline-any cline-neutral">&nbsp;</span>
1557
- <span class="cline-any cline-no">&nbsp;</span>
1558
- <span class="cline-any cline-neutral">&nbsp;</span>
1559
- <span class="cline-any cline-no">&nbsp;</span>
1560
- <span class="cline-any cline-no">&nbsp;</span>
1561
- <span class="cline-any cline-no">&nbsp;</span>
1562
- <span class="cline-any cline-no">&nbsp;</span>
1563
- <span class="cline-any cline-neutral">&nbsp;</span>
1564
- <span class="cline-any cline-neutral">&nbsp;</span>
1565
- <span class="cline-any cline-neutral">&nbsp;</span>
1566
- <span class="cline-any cline-neutral">&nbsp;</span>
1567
- <span class="cline-any cline-no">&nbsp;</span>
1568
- <span class="cline-any cline-neutral">&nbsp;</span>
1569
- <span class="cline-any cline-no">&nbsp;</span>
1570
- <span class="cline-any cline-neutral">&nbsp;</span>
1571
- <span class="cline-any cline-neutral">&nbsp;</span>
1572
- <span class="cline-any cline-neutral">&nbsp;</span>
1573
- <span class="cline-any cline-no">&nbsp;</span>
1574
- <span class="cline-any cline-no">&nbsp;</span>
1575
- <span class="cline-any cline-neutral">&nbsp;</span>
1576
- <span class="cline-any cline-no">&nbsp;</span>
1577
- <span class="cline-any cline-no">&nbsp;</span>
1578
- <span class="cline-any cline-neutral">&nbsp;</span>
1579
- <span class="cline-any cline-neutral">&nbsp;</span>
1580
- <span class="cline-any cline-neutral">&nbsp;</span>
1581
- <span class="cline-any cline-neutral">&nbsp;</span>
1582
- <span class="cline-any cline-no">&nbsp;</span>
1583
- <span class="cline-any cline-no">&nbsp;</span>
1584
- <span class="cline-any cline-neutral">&nbsp;</span>
1585
- <span class="cline-any cline-neutral">&nbsp;</span>
1586
- <span class="cline-any cline-no">&nbsp;</span>
1587
- <span class="cline-any cline-neutral">&nbsp;</span>
1588
- <span class="cline-any cline-neutral">&nbsp;</span>
1589
- <span class="cline-any cline-neutral">&nbsp;</span>
1590
- <span class="cline-any cline-neutral">&nbsp;</span>
1591
- <span class="cline-any cline-neutral">&nbsp;</span>
1592
- <span class="cline-any cline-neutral">&nbsp;</span>
1593
- <span class="cline-any cline-neutral">&nbsp;</span>
1594
- <span class="cline-any cline-neutral">&nbsp;</span>
1595
- <span class="cline-any cline-neutral">&nbsp;</span>
1596
- <span class="cline-any cline-neutral">&nbsp;</span>
1597
- <span class="cline-any cline-neutral">&nbsp;</span>
1598
- <span class="cline-any cline-neutral">&nbsp;</span>
1599
- <span class="cline-any cline-no">&nbsp;</span>
1600
- <span class="cline-any cline-neutral">&nbsp;</span>
1601
- <span class="cline-any cline-neutral">&nbsp;</span>
1602
- <span class="cline-any cline-yes">1x</span>
1603
- <span class="cline-any cline-neutral">&nbsp;</span>
1604
- <span class="cline-any cline-yes">1x</span>
1605
- <span class="cline-any cline-neutral">&nbsp;</span>
1606
- <span class="cline-any cline-neutral">&nbsp;</span>
1607
- <span class="cline-any cline-neutral">&nbsp;</span>
1608
- <span class="cline-any cline-neutral">&nbsp;</span>
1609
- <span class="cline-any cline-neutral">&nbsp;</span>
1610
- <span class="cline-any cline-neutral">&nbsp;</span>
1611
- <span class="cline-any cline-neutral">&nbsp;</span>
1612
- <span class="cline-any cline-neutral">&nbsp;</span>
1613
- <span class="cline-any cline-yes">1x</span>
1614
- <span class="cline-any cline-neutral">&nbsp;</span>
1615
- <span class="cline-any cline-neutral">&nbsp;</span>
1616
- <span class="cline-any cline-no">&nbsp;</span>
1617
- <span class="cline-any cline-neutral">&nbsp;</span>
1618
- <span class="cline-any cline-neutral">&nbsp;</span>
1619
- <span class="cline-any cline-yes">1x</span>
1620
- <span class="cline-any cline-neutral">&nbsp;</span>
1621
- <span class="cline-any cline-neutral">&nbsp;</span>
1622
- <span class="cline-any cline-neutral">&nbsp;</span>
1623
- <span class="cline-any cline-neutral">&nbsp;</span>
1624
- <span class="cline-any cline-neutral">&nbsp;</span>
1625
- <span class="cline-any cline-no">&nbsp;</span>
1626
- <span class="cline-any cline-neutral">&nbsp;</span>
1627
- <span class="cline-any cline-no">&nbsp;</span>
1628
- <span class="cline-any cline-neutral">&nbsp;</span>
1629
- <span class="cline-any cline-no">&nbsp;</span>
1630
- <span class="cline-any cline-neutral">&nbsp;</span>
1631
- <span class="cline-any cline-neutral">&nbsp;</span>
1632
- <span class="cline-any cline-neutral">&nbsp;</span>
1633
- <span class="cline-any cline-no">&nbsp;</span>
1634
- <span class="cline-any cline-no">&nbsp;</span>
1635
- <span class="cline-any cline-neutral">&nbsp;</span>
1636
- <span class="cline-any cline-no">&nbsp;</span>
1637
- <span class="cline-any cline-no">&nbsp;</span>
1638
- <span class="cline-any cline-no">&nbsp;</span>
1639
- <span class="cline-any cline-no">&nbsp;</span>
1640
- <span class="cline-any cline-no">&nbsp;</span>
1641
- <span class="cline-any cline-neutral">&nbsp;</span>
1642
- <span class="cline-any cline-neutral">&nbsp;</span>
1643
- <span class="cline-any cline-neutral">&nbsp;</span>
1644
- <span class="cline-any cline-no">&nbsp;</span>
1645
- <span class="cline-any cline-no">&nbsp;</span>
1646
- <span class="cline-any cline-neutral">&nbsp;</span>
1647
- <span class="cline-any cline-neutral">&nbsp;</span>
1648
- <span class="cline-any cline-neutral">&nbsp;</span>
1649
- <span class="cline-any cline-no">&nbsp;</span>
1650
- <span class="cline-any cline-neutral">&nbsp;</span>
1651
- <span class="cline-any cline-neutral">&nbsp;</span>
1652
- <span class="cline-any cline-no">&nbsp;</span>
1653
- <span class="cline-any cline-neutral">&nbsp;</span>
1654
- <span class="cline-any cline-neutral">&nbsp;</span>
1655
- <span class="cline-any cline-neutral">&nbsp;</span>
1656
- <span class="cline-any cline-yes">1x</span>
1657
- <span class="cline-any cline-neutral">&nbsp;</span>
1658
- <span class="cline-any cline-no">&nbsp;</span>
1659
- <span class="cline-any cline-neutral">&nbsp;</span>
1660
- <span class="cline-any cline-neutral">&nbsp;</span>
1661
- <span class="cline-any cline-neutral">&nbsp;</span>
1662
- <span class="cline-any cline-neutral">&nbsp;</span>
1663
- <span class="cline-any cline-neutral">&nbsp;</span>
1664
- <span class="cline-any cline-no">&nbsp;</span>
1665
- <span class="cline-any cline-neutral">&nbsp;</span>
1666
- <span class="cline-any cline-no">&nbsp;</span>
1667
- <span class="cline-any cline-no">&nbsp;</span>
1668
- <span class="cline-any cline-no">&nbsp;</span>
1669
- <span class="cline-any cline-neutral">&nbsp;</span>
1670
- <span class="cline-any cline-neutral">&nbsp;</span>
1671
- <span class="cline-any cline-neutral">&nbsp;</span>
1672
- <span class="cline-any cline-no">&nbsp;</span>
1673
- <span class="cline-any cline-no">&nbsp;</span>
1674
- <span class="cline-any cline-no">&nbsp;</span>
1675
- <span class="cline-any cline-neutral">&nbsp;</span>
1676
- <span class="cline-any cline-no">&nbsp;</span>
1677
- <span class="cline-any cline-no">&nbsp;</span>
1678
- <span class="cline-any cline-neutral">&nbsp;</span>
1679
- <span class="cline-any cline-neutral">&nbsp;</span>
1680
- <span class="cline-any cline-no">&nbsp;</span>
1681
- <span class="cline-any cline-neutral">&nbsp;</span>
1682
- <span class="cline-any cline-neutral">&nbsp;</span>
1683
- <span class="cline-any cline-no">&nbsp;</span>
1684
- <span class="cline-any cline-neutral">&nbsp;</span>
1685
- <span class="cline-any cline-no">&nbsp;</span>
1686
- <span class="cline-any cline-no">&nbsp;</span>
1687
- <span class="cline-any cline-neutral">&nbsp;</span>
1688
- <span class="cline-any cline-neutral">&nbsp;</span>
1689
- <span class="cline-any cline-no">&nbsp;</span>
1690
- <span class="cline-any cline-no">&nbsp;</span>
1691
- <span class="cline-any cline-neutral">&nbsp;</span>
1692
- <span class="cline-any cline-neutral">&nbsp;</span>
1693
- <span class="cline-any cline-no">&nbsp;</span>
1694
- <span class="cline-any cline-no">&nbsp;</span>
1695
- <span class="cline-any cline-neutral">&nbsp;</span>
1696
- <span class="cline-any cline-no">&nbsp;</span>
1697
- <span class="cline-any cline-no">&nbsp;</span>
1698
- <span class="cline-any cline-neutral">&nbsp;</span>
1699
- <span class="cline-any cline-neutral">&nbsp;</span>
1700
- <span class="cline-any cline-neutral">&nbsp;</span>
1701
- <span class="cline-any cline-neutral">&nbsp;</span>
1702
- <span class="cline-any cline-neutral">&nbsp;</span>
1703
- <span class="cline-any cline-neutral">&nbsp;</span>
1704
- <span class="cline-any cline-neutral">&nbsp;</span>
1705
- <span class="cline-any cline-neutral">&nbsp;</span>
1706
- <span class="cline-any cline-no">&nbsp;</span>
1707
- <span class="cline-any cline-no">&nbsp;</span>
1708
- <span class="cline-any cline-no">&nbsp;</span>
1709
- <span class="cline-any cline-neutral">&nbsp;</span>
1710
- <span class="cline-any cline-no">&nbsp;</span>
1711
- <span class="cline-any cline-no">&nbsp;</span>
1712
- <span class="cline-any cline-no">&nbsp;</span>
1713
- <span class="cline-any cline-no">&nbsp;</span>
1714
- <span class="cline-any cline-no">&nbsp;</span>
1715
- <span class="cline-any cline-no">&nbsp;</span>
1716
- <span class="cline-any cline-no">&nbsp;</span>
1717
- <span class="cline-any cline-neutral">&nbsp;</span>
1718
- <span class="cline-any cline-no">&nbsp;</span>
1719
- <span class="cline-any cline-neutral">&nbsp;</span>
1720
- <span class="cline-any cline-no">&nbsp;</span>
1721
- <span class="cline-any cline-no">&nbsp;</span>
1722
- <span class="cline-any cline-no">&nbsp;</span>
1723
- <span class="cline-any cline-neutral">&nbsp;</span>
1724
- <span class="cline-any cline-neutral">&nbsp;</span>
1725
- <span class="cline-any cline-neutral">&nbsp;</span>
1726
- <span class="cline-any cline-no">&nbsp;</span>
1727
- <span class="cline-any cline-no">&nbsp;</span>
1728
- <span class="cline-any cline-neutral">&nbsp;</span>
1729
- <span class="cline-any cline-neutral">&nbsp;</span>
1730
- <span class="cline-any cline-no">&nbsp;</span>
1731
- <span class="cline-any cline-neutral">&nbsp;</span>
1732
- <span class="cline-any cline-neutral">&nbsp;</span>
1733
- <span class="cline-any cline-no">&nbsp;</span>
1734
- <span class="cline-any cline-neutral">&nbsp;</span>
1735
- <span class="cline-any cline-neutral">&nbsp;</span>
1736
- <span class="cline-any cline-neutral">&nbsp;</span>
1737
- <span class="cline-any cline-no">&nbsp;</span>
1738
- <span class="cline-any cline-neutral">&nbsp;</span>
1739
- <span class="cline-any cline-neutral">&nbsp;</span>
1740
- <span class="cline-any cline-no">&nbsp;</span>
1741
- <span class="cline-any cline-no">&nbsp;</span>
1742
- <span class="cline-any cline-neutral">&nbsp;</span>
1743
- <span class="cline-any cline-no">&nbsp;</span>
1744
- <span class="cline-any cline-no">&nbsp;</span>
1745
- <span class="cline-any cline-neutral">&nbsp;</span>
1746
- <span class="cline-any cline-neutral">&nbsp;</span>
1747
- <span class="cline-any cline-neutral">&nbsp;</span>
1748
- <span class="cline-any cline-neutral">&nbsp;</span>
1749
- <span class="cline-any cline-neutral">&nbsp;</span>
1750
- <span class="cline-any cline-no">&nbsp;</span>
1751
- <span class="cline-any cline-no">&nbsp;</span>
1752
- <span class="cline-any cline-no">&nbsp;</span>
1753
- <span class="cline-any cline-neutral">&nbsp;</span>
1754
- <span class="cline-any cline-neutral">&nbsp;</span>
1755
- <span class="cline-any cline-neutral">&nbsp;</span>
1756
- <span class="cline-any cline-neutral">&nbsp;</span>
1757
- <span class="cline-any cline-neutral">&nbsp;</span>
1758
- <span class="cline-any cline-neutral">&nbsp;</span>
1759
- <span class="cline-any cline-neutral">&nbsp;</span>
1760
- <span class="cline-any cline-no">&nbsp;</span>
1761
- <span class="cline-any cline-neutral">&nbsp;</span>
1762
- <span class="cline-any cline-no">&nbsp;</span>
1763
- <span class="cline-any cline-neutral">&nbsp;</span>
1764
- <span class="cline-any cline-neutral">&nbsp;</span>
1765
- <span class="cline-any cline-neutral">&nbsp;</span>
1766
- <span class="cline-any cline-neutral">&nbsp;</span>
1767
- <span class="cline-any cline-no">&nbsp;</span>
1768
- <span class="cline-any cline-no">&nbsp;</span>
1769
- <span class="cline-any cline-neutral">&nbsp;</span>
1770
- <span class="cline-any cline-no">&nbsp;</span>
1771
- <span class="cline-any cline-neutral">&nbsp;</span>
1772
- <span class="cline-any cline-neutral">&nbsp;</span>
1773
- <span class="cline-any cline-neutral">&nbsp;</span>
1774
- <span class="cline-any cline-neutral">&nbsp;</span>
1775
- <span class="cline-any cline-neutral">&nbsp;</span>
1776
- <span class="cline-any cline-neutral">&nbsp;</span>
1777
- <span class="cline-any cline-neutral">&nbsp;</span>
1778
- <span class="cline-any cline-no">&nbsp;</span>
1779
- <span class="cline-any cline-no">&nbsp;</span>
1780
- <span class="cline-any cline-neutral">&nbsp;</span>
1781
- <span class="cline-any cline-neutral">&nbsp;</span>
1782
- <span class="cline-any cline-neutral">&nbsp;</span>
1783
- <span class="cline-any cline-neutral">&nbsp;</span>
1784
- <span class="cline-any cline-neutral">&nbsp;</span>
1785
- <span class="cline-any cline-neutral">&nbsp;</span>
1786
- <span class="cline-any cline-neutral">&nbsp;</span>
1787
- <span class="cline-any cline-neutral">&nbsp;</span>
1788
- <span class="cline-any cline-neutral">&nbsp;</span>
1789
- <span class="cline-any cline-neutral">&nbsp;</span>
1790
- <span class="cline-any cline-neutral">&nbsp;</span>
1791
- <span class="cline-any cline-neutral">&nbsp;</span>
1792
- <span class="cline-any cline-no">&nbsp;</span>
1793
- <span class="cline-any cline-no">&nbsp;</span>
1794
- <span class="cline-any cline-neutral">&nbsp;</span>
1795
- <span class="cline-any cline-no">&nbsp;</span>
1796
- <span class="cline-any cline-no">&nbsp;</span>
1797
- <span class="cline-any cline-no">&nbsp;</span>
1798
- <span class="cline-any cline-neutral">&nbsp;</span>
1799
- <span class="cline-any cline-neutral">&nbsp;</span>
1800
- <span class="cline-any cline-neutral">&nbsp;</span>
1801
- <span class="cline-any cline-no">&nbsp;</span>
1802
- <span class="cline-any cline-no">&nbsp;</span>
1803
- <span class="cline-any cline-neutral">&nbsp;</span>
1804
- <span class="cline-any cline-neutral">&nbsp;</span>
1805
- <span class="cline-any cline-no">&nbsp;</span>
1806
- <span class="cline-any cline-no">&nbsp;</span>
1807
- <span class="cline-any cline-no">&nbsp;</span>
1808
- <span class="cline-any cline-neutral">&nbsp;</span>
1809
- <span class="cline-any cline-neutral">&nbsp;</span>
1810
- <span class="cline-any cline-neutral">&nbsp;</span>
1811
- <span class="cline-any cline-neutral">&nbsp;</span>
1812
- <span class="cline-any cline-neutral">&nbsp;</span>
1813
- <span class="cline-any cline-neutral">&nbsp;</span>
1814
- <span class="cline-any cline-neutral">&nbsp;</span>
1815
- <span class="cline-any cline-neutral">&nbsp;</span>
1816
- <span class="cline-any cline-neutral">&nbsp;</span>
1817
- <span class="cline-any cline-no">&nbsp;</span>
1818
- <span class="cline-any cline-no">&nbsp;</span>
1819
- <span class="cline-any cline-neutral">&nbsp;</span>
1820
- <span class="cline-any cline-neutral">&nbsp;</span>
1821
- <span class="cline-any cline-no">&nbsp;</span>
1822
- <span class="cline-any cline-neutral">&nbsp;</span>
1823
- <span class="cline-any cline-neutral">&nbsp;</span>
1824
- <span class="cline-any cline-neutral">&nbsp;</span>
1825
- <span class="cline-any cline-neutral">&nbsp;</span>
1826
- <span class="cline-any cline-neutral">&nbsp;</span>
1827
- <span class="cline-any cline-no">&nbsp;</span>
1828
- <span class="cline-any cline-no">&nbsp;</span>
1829
- <span class="cline-any cline-neutral">&nbsp;</span>
1830
- <span class="cline-any cline-neutral">&nbsp;</span>
1831
- <span class="cline-any cline-neutral">&nbsp;</span>
1832
- <span class="cline-any cline-neutral">&nbsp;</span>
1833
- <span class="cline-any cline-neutral">&nbsp;</span>
1834
- <span class="cline-any cline-neutral">&nbsp;</span>
1835
- <span class="cline-any cline-neutral">&nbsp;</span>
1836
- <span class="cline-any cline-neutral">&nbsp;</span>
1837
- <span class="cline-any cline-neutral">&nbsp;</span>
1838
- <span class="cline-any cline-no">&nbsp;</span>
1839
- <span class="cline-any cline-neutral">&nbsp;</span>
1840
- <span class="cline-any cline-neutral">&nbsp;</span>
1841
- <span class="cline-any cline-neutral">&nbsp;</span>
1842
- <span class="cline-any cline-no">&nbsp;</span>
1843
- <span class="cline-any cline-no">&nbsp;</span>
1844
- <span class="cline-any cline-neutral">&nbsp;</span>
1845
- <span class="cline-any cline-no">&nbsp;</span>
1846
- <span class="cline-any cline-no">&nbsp;</span>
1847
- <span class="cline-any cline-no">&nbsp;</span>
1848
- <span class="cline-any cline-no">&nbsp;</span>
1849
- <span class="cline-any cline-neutral">&nbsp;</span>
1850
- <span class="cline-any cline-no">&nbsp;</span>
1851
- <span class="cline-any cline-no">&nbsp;</span>
1852
- <span class="cline-any cline-neutral">&nbsp;</span>
1853
- <span class="cline-any cline-neutral">&nbsp;</span>
1854
- <span class="cline-any cline-neutral">&nbsp;</span>
1855
- <span class="cline-any cline-neutral">&nbsp;</span>
1856
- <span class="cline-any cline-neutral">&nbsp;</span>
1857
- <span class="cline-any cline-no">&nbsp;</span>
1858
- <span class="cline-any cline-no">&nbsp;</span>
1859
- <span class="cline-any cline-no">&nbsp;</span>
1860
- <span class="cline-any cline-no">&nbsp;</span>
1861
- <span class="cline-any cline-no">&nbsp;</span>
1862
- <span class="cline-any cline-no">&nbsp;</span>
1863
- <span class="cline-any cline-neutral">&nbsp;</span>
1864
- <span class="cline-any cline-neutral">&nbsp;</span>
1865
- <span class="cline-any cline-neutral">&nbsp;</span>
1866
- <span class="cline-any cline-neutral">&nbsp;</span>
1867
- <span class="cline-any cline-neutral">&nbsp;</span>
1868
- <span class="cline-any cline-neutral">&nbsp;</span>
1869
- <span class="cline-any cline-neutral">&nbsp;</span>
1870
- <span class="cline-any cline-no">&nbsp;</span>
1871
- <span class="cline-any cline-neutral">&nbsp;</span>
1872
- <span class="cline-any cline-no">&nbsp;</span>
1873
- <span class="cline-any cline-no">&nbsp;</span>
1874
- <span class="cline-any cline-neutral">&nbsp;</span>
1875
- <span class="cline-any cline-neutral">&nbsp;</span>
1876
- <span class="cline-any cline-neutral">&nbsp;</span>
1877
- <span class="cline-any cline-neutral">&nbsp;</span>
1878
- <span class="cline-any cline-neutral">&nbsp;</span>
1879
- <span class="cline-any cline-neutral">&nbsp;</span>
1880
- <span class="cline-any cline-no">&nbsp;</span>
1881
- <span class="cline-any cline-neutral">&nbsp;</span>
1882
- <span class="cline-any cline-no">&nbsp;</span>
1883
- <span class="cline-any cline-neutral">&nbsp;</span>
1884
- <span class="cline-any cline-neutral">&nbsp;</span>
1885
- <span class="cline-any cline-neutral">&nbsp;</span>
1886
- <span class="cline-any cline-neutral">&nbsp;</span>
1887
- <span class="cline-any cline-neutral">&nbsp;</span>
1888
- <span class="cline-any cline-no">&nbsp;</span>
1889
- <span class="cline-any cline-neutral">&nbsp;</span>
1890
- <span class="cline-any cline-neutral">&nbsp;</span>
1891
- <span class="cline-any cline-neutral">&nbsp;</span>
1892
- <span class="cline-any cline-no">&nbsp;</span>
1893
- <span class="cline-any cline-no">&nbsp;</span>
1894
- <span class="cline-any cline-no">&nbsp;</span>
1895
- <span class="cline-any cline-no">&nbsp;</span>
1896
- <span class="cline-any cline-neutral">&nbsp;</span>
1897
- <span class="cline-any cline-no">&nbsp;</span>
1898
- <span class="cline-any cline-no">&nbsp;</span>
1899
- <span class="cline-any cline-no">&nbsp;</span>
1900
- <span class="cline-any cline-no">&nbsp;</span>
1901
- <span class="cline-any cline-no">&nbsp;</span>
1902
- <span class="cline-any cline-no">&nbsp;</span>
1903
- <span class="cline-any cline-no">&nbsp;</span>
1904
- <span class="cline-any cline-no">&nbsp;</span>
1905
- <span class="cline-any cline-neutral">&nbsp;</span>
1906
- <span class="cline-any cline-neutral">&nbsp;</span>
1907
- <span class="cline-any cline-no">&nbsp;</span>
1908
- <span class="cline-any cline-neutral">&nbsp;</span>
1909
- <span class="cline-any cline-neutral">&nbsp;</span>
1910
- <span class="cline-any cline-neutral">&nbsp;</span>
1911
- <span class="cline-any cline-no">&nbsp;</span>
1912
- <span class="cline-any cline-neutral">&nbsp;</span>
1913
- <span class="cline-any cline-neutral">&nbsp;</span>
1914
- <span class="cline-any cline-neutral">&nbsp;</span>
1915
- <span class="cline-any cline-no">&nbsp;</span>
1916
- <span class="cline-any cline-no">&nbsp;</span>
1917
- <span class="cline-any cline-neutral">&nbsp;</span>
1918
- <span class="cline-any cline-neutral">&nbsp;</span>
1919
- <span class="cline-any cline-neutral">&nbsp;</span>
1920
- <span class="cline-any cline-no">&nbsp;</span>
1921
- <span class="cline-any cline-neutral">&nbsp;</span>
1922
- <span class="cline-any cline-neutral">&nbsp;</span>
1923
- <span class="cline-any cline-no">&nbsp;</span>
1924
- <span class="cline-any cline-neutral">&nbsp;</span>
1925
- <span class="cline-any cline-neutral">&nbsp;</span>
1926
- <span class="cline-any cline-neutral">&nbsp;</span>
1927
- <span class="cline-any cline-neutral">&nbsp;</span>
1928
- <span class="cline-any cline-no">&nbsp;</span>
1929
- <span class="cline-any cline-no">&nbsp;</span>
1930
- <span class="cline-any cline-no">&nbsp;</span>
1931
- <span class="cline-any cline-no">&nbsp;</span>
1932
- <span class="cline-any cline-neutral">&nbsp;</span>
1933
- <span class="cline-any cline-no">&nbsp;</span>
1934
- <span class="cline-any cline-no">&nbsp;</span>
1935
- <span class="cline-any cline-no">&nbsp;</span>
1936
- <span class="cline-any cline-neutral">&nbsp;</span>
1937
- <span class="cline-any cline-neutral">&nbsp;</span>
1938
- <span class="cline-any cline-neutral">&nbsp;</span>
1939
- <span class="cline-any cline-no">&nbsp;</span>
1940
- <span class="cline-any cline-no">&nbsp;</span>
1941
- <span class="cline-any cline-no">&nbsp;</span>
1942
- <span class="cline-any cline-no">&nbsp;</span>
1943
- <span class="cline-any cline-neutral">&nbsp;</span>
1944
- <span class="cline-any cline-neutral">&nbsp;</span>
1945
- <span class="cline-any cline-neutral">&nbsp;</span>
1946
- <span class="cline-any cline-neutral">&nbsp;</span>
1947
- <span class="cline-any cline-no">&nbsp;</span>
1948
- <span class="cline-any cline-neutral">&nbsp;</span>
1949
- <span class="cline-any cline-neutral">&nbsp;</span>
1950
- <span class="cline-any cline-neutral">&nbsp;</span>
1951
- <span class="cline-any cline-no">&nbsp;</span>
1952
- <span class="cline-any cline-neutral">&nbsp;</span>
1953
- <span class="cline-any cline-neutral">&nbsp;</span>
1954
- <span class="cline-any cline-neutral">&nbsp;</span>
1955
- <span class="cline-any cline-neutral">&nbsp;</span>
1956
- <span class="cline-any cline-neutral">&nbsp;</span>
1957
- <span class="cline-any cline-neutral">&nbsp;</span>
1958
- <span class="cline-any cline-no">&nbsp;</span>
1959
- <span class="cline-any cline-no">&nbsp;</span>
1960
- <span class="cline-any cline-neutral">&nbsp;</span>
1961
- <span class="cline-any cline-no">&nbsp;</span>
1962
- <span class="cline-any cline-no">&nbsp;</span>
1963
- <span class="cline-any cline-neutral">&nbsp;</span>
1964
- <span class="cline-any cline-no">&nbsp;</span>
1965
- <span class="cline-any cline-no">&nbsp;</span>
1966
- <span class="cline-any cline-neutral">&nbsp;</span>
1967
- <span class="cline-any cline-neutral">&nbsp;</span>
1968
- <span class="cline-any cline-no">&nbsp;</span>
1969
- <span class="cline-any cline-no">&nbsp;</span>
1970
- <span class="cline-any cline-neutral">&nbsp;</span>
1971
- <span class="cline-any cline-no">&nbsp;</span>
1972
- <span class="cline-any cline-neutral">&nbsp;</span>
1973
- <span class="cline-any cline-neutral">&nbsp;</span>
1974
- <span class="cline-any cline-no">&nbsp;</span>
1975
- <span class="cline-any cline-neutral">&nbsp;</span>
1976
- <span class="cline-any cline-no">&nbsp;</span>
1977
- <span class="cline-any cline-no">&nbsp;</span>
1978
- <span class="cline-any cline-neutral">&nbsp;</span>
1979
- <span class="cline-any cline-no">&nbsp;</span>
1980
- <span class="cline-any cline-neutral">&nbsp;</span>
1981
- <span class="cline-any cline-neutral">&nbsp;</span>
1982
- <span class="cline-any cline-neutral">&nbsp;</span>
1983
- <span class="cline-any cline-neutral">&nbsp;</span>
1984
- <span class="cline-any cline-neutral">&nbsp;</span>
1985
- <span class="cline-any cline-no">&nbsp;</span>
1986
- <span class="cline-any cline-no">&nbsp;</span>
1987
- <span class="cline-any cline-neutral">&nbsp;</span>
1988
- <span class="cline-any cline-no">&nbsp;</span>
1989
- <span class="cline-any cline-no">&nbsp;</span>
1990
- <span class="cline-any cline-neutral">&nbsp;</span>
1991
- <span class="cline-any cline-no">&nbsp;</span>
1992
- <span class="cline-any cline-neutral">&nbsp;</span>
1993
- <span class="cline-any cline-no">&nbsp;</span>
1994
- <span class="cline-any cline-neutral">&nbsp;</span>
1995
- <span class="cline-any cline-neutral">&nbsp;</span>
1996
- <span class="cline-any cline-no">&nbsp;</span>
1997
- <span class="cline-any cline-no">&nbsp;</span>
1998
- <span class="cline-any cline-neutral">&nbsp;</span>
1999
- <span class="cline-any cline-no">&nbsp;</span>
2000
- <span class="cline-any cline-neutral">&nbsp;</span>
2001
- <span class="cline-any cline-neutral">&nbsp;</span>
2002
- <span class="cline-any cline-no">&nbsp;</span>
2003
- <span class="cline-any cline-neutral">&nbsp;</span>
2004
- <span class="cline-any cline-no">&nbsp;</span>
2005
- <span class="cline-any cline-neutral">&nbsp;</span>
2006
- <span class="cline-any cline-no">&nbsp;</span>
2007
- <span class="cline-any cline-no">&nbsp;</span>
2008
- <span class="cline-any cline-neutral">&nbsp;</span>
2009
- <span class="cline-any cline-no">&nbsp;</span>
2010
- <span class="cline-any cline-neutral">&nbsp;</span>
2011
- <span class="cline-any cline-neutral">&nbsp;</span>
2012
- <span class="cline-any cline-neutral">&nbsp;</span>
2013
- <span class="cline-any cline-neutral">&nbsp;</span>
2014
- <span class="cline-any cline-neutral">&nbsp;</span>
2015
- <span class="cline-any cline-no">&nbsp;</span>
2016
- <span class="cline-any cline-no">&nbsp;</span>
2017
- <span class="cline-any cline-no">&nbsp;</span>
2018
- <span class="cline-any cline-no">&nbsp;</span>
2019
- <span class="cline-any cline-no">&nbsp;</span>
2020
- <span class="cline-any cline-neutral">&nbsp;</span>
2021
- <span class="cline-any cline-neutral">&nbsp;</span>
2022
- <span class="cline-any cline-neutral">&nbsp;</span>
2023
- <span class="cline-any cline-neutral">&nbsp;</span>
2024
- <span class="cline-any cline-no">&nbsp;</span>
2025
- <span class="cline-any cline-no">&nbsp;</span>
2026
- <span class="cline-any cline-no">&nbsp;</span>
2027
- <span class="cline-any cline-neutral">&nbsp;</span>
2028
- <span class="cline-any cline-neutral">&nbsp;</span>
2029
- <span class="cline-any cline-neutral">&nbsp;</span>
2030
- <span class="cline-any cline-neutral">&nbsp;</span>
2031
- <span class="cline-any cline-neutral">&nbsp;</span>
2032
- <span class="cline-any cline-neutral">&nbsp;</span>
2033
- <span class="cline-any cline-neutral">&nbsp;</span>
2034
- <span class="cline-any cline-neutral">&nbsp;</span>
2035
- <span class="cline-any cline-neutral">&nbsp;</span>
2036
- <span class="cline-any cline-neutral">&nbsp;</span>
2037
- <span class="cline-any cline-no">&nbsp;</span>
2038
- <span class="cline-any cline-no">&nbsp;</span>
2039
- <span class="cline-any cline-neutral">&nbsp;</span>
2040
- <span class="cline-any cline-no">&nbsp;</span>
2041
- <span class="cline-any cline-neutral">&nbsp;</span>
2042
- <span class="cline-any cline-neutral">&nbsp;</span>
2043
- <span class="cline-any cline-neutral">&nbsp;</span>
2044
- <span class="cline-any cline-neutral">&nbsp;</span>
2045
- <span class="cline-any cline-neutral">&nbsp;</span>
2046
- <span class="cline-any cline-neutral">&nbsp;</span>
2047
- <span class="cline-any cline-neutral">&nbsp;</span>
2048
- <span class="cline-any cline-no">&nbsp;</span>
2049
- <span class="cline-any cline-neutral">&nbsp;</span>
2050
- <span class="cline-any cline-neutral">&nbsp;</span>
2051
- <span class="cline-any cline-neutral">&nbsp;</span>
2052
- <span class="cline-any cline-neutral">&nbsp;</span>
2053
- <span class="cline-any cline-neutral">&nbsp;</span>
2054
- <span class="cline-any cline-neutral">&nbsp;</span>
2055
- <span class="cline-any cline-neutral">&nbsp;</span>
2056
- <span class="cline-any cline-neutral">&nbsp;</span>
2057
- <span class="cline-any cline-neutral">&nbsp;</span>
2058
- <span class="cline-any cline-neutral">&nbsp;</span>
2059
- <span class="cline-any cline-neutral">&nbsp;</span>
2060
- <span class="cline-any cline-neutral">&nbsp;</span>
2061
- <span class="cline-any cline-neutral">&nbsp;</span>
2062
- <span class="cline-any cline-no">&nbsp;</span>
2063
- <span class="cline-any cline-no">&nbsp;</span>
2064
- <span class="cline-any cline-neutral">&nbsp;</span>
2065
- <span class="cline-any cline-neutral">&nbsp;</span>
2066
- <span class="cline-any cline-neutral">&nbsp;</span>
2067
- <span class="cline-any cline-neutral">&nbsp;</span>
2068
- <span class="cline-any cline-neutral">&nbsp;</span>
2069
- <span class="cline-any cline-neutral">&nbsp;</span>
2070
- <span class="cline-any cline-neutral">&nbsp;</span>
2071
- <span class="cline-any cline-no">&nbsp;</span>
2072
- <span class="cline-any cline-neutral">&nbsp;</span>
2073
- <span class="cline-any cline-neutral">&nbsp;</span>
2074
- <span class="cline-any cline-neutral">&nbsp;</span>
2075
- <span class="cline-any cline-neutral">&nbsp;</span>
2076
- <span class="cline-any cline-neutral">&nbsp;</span>
2077
- <span class="cline-any cline-neutral">&nbsp;</span>
2078
- <span class="cline-any cline-neutral">&nbsp;</span>
2079
- <span class="cline-any cline-neutral">&nbsp;</span>
2080
- <span class="cline-any cline-neutral">&nbsp;</span>
2081
- <span class="cline-any cline-neutral">&nbsp;</span>
2082
- <span class="cline-any cline-neutral">&nbsp;</span>
2083
- <span class="cline-any cline-neutral">&nbsp;</span>
2084
- <span class="cline-any cline-neutral">&nbsp;</span>
2085
- <span class="cline-any cline-neutral">&nbsp;</span>
2086
- <span class="cline-any cline-neutral">&nbsp;</span>
2087
- <span class="cline-any cline-no">&nbsp;</span>
2088
- <span class="cline-any cline-no">&nbsp;</span>
2089
- <span class="cline-any cline-neutral">&nbsp;</span>
2090
- <span class="cline-any cline-neutral">&nbsp;</span>
2091
- <span class="cline-any cline-neutral">&nbsp;</span>
2092
- <span class="cline-any cline-neutral">&nbsp;</span>
2093
- <span class="cline-any cline-neutral">&nbsp;</span>
2094
- <span class="cline-any cline-neutral">&nbsp;</span>
2095
- <span class="cline-any cline-neutral">&nbsp;</span>
2096
- <span class="cline-any cline-no">&nbsp;</span>
2097
- <span class="cline-any cline-neutral">&nbsp;</span>
2098
- <span class="cline-any cline-neutral">&nbsp;</span>
2099
- <span class="cline-any cline-neutral">&nbsp;</span>
2100
- <span class="cline-any cline-neutral">&nbsp;</span>
2101
- <span class="cline-any cline-neutral">&nbsp;</span>
2102
- <span class="cline-any cline-neutral">&nbsp;</span>
2103
- <span class="cline-any cline-neutral">&nbsp;</span>
2104
- <span class="cline-any cline-neutral">&nbsp;</span>
2105
- <span class="cline-any cline-neutral">&nbsp;</span>
2106
- <span class="cline-any cline-neutral">&nbsp;</span>
2107
- <span class="cline-any cline-no">&nbsp;</span>
2108
- <span class="cline-any cline-neutral">&nbsp;</span>
2109
- <span class="cline-any cline-neutral">&nbsp;</span>
2110
- <span class="cline-any cline-neutral">&nbsp;</span>
2111
- <span class="cline-any cline-no">&nbsp;</span>
2112
- <span class="cline-any cline-neutral">&nbsp;</span>
2113
- <span class="cline-any cline-neutral">&nbsp;</span>
2114
- <span class="cline-any cline-neutral">&nbsp;</span></td><td class="text"><pre class="prettyprint lang-js">import {
2115
- Button,
2116
- ColumnNotFoundError,
2117
- Dropdown,
2118
- GridEditable, IComponentRender, Report, Search,
2119
- } from '@zeedhi/common';
2120
- import {
2121
- Datasource,
2122
- I18n, IDictionary, KeyMap, Loader, Metadata,
2123
- } from '@zeedhi/core';
2124
- import debounce from 'lodash.debounce';
2125
- import merge from 'lodash.merge';
2126
- import {
2127
- GridBase,
2128
- GridController, ITekGridAtoms,
2129
- ReportFilter,
2130
- } from '../../utils';
2131
- import { TekMemoryDatasource } from '../tek-datasource/memory-datasource';
2132
- import { TekRestDatasource } from '../tek-datasource/rest-datasource';
2133
- import { TekGridColumn } from './grid-column';
2134
- import {
2135
- IModalFilterProps,
2136
- ITekGrid,
2137
- ITekGridColumn,
2138
- ITekGridEvents,
2139
- ITekGridExportConfig,
2140
- ITekGridGroup,
2141
- ITekGridGroupHeader,
2142
- ITekGridSummary,
2143
- } from './interfaces';
2144
- import { TekGridLayoutOptions } from './layout-options';
2145
- &nbsp;
2146
- /* TekGrid Class */
2147
- export class TekGrid extends GridEditable implements ITekGrid {
2148
- /* Grid Title */
2149
- public title: string = '';
2150
- &nbsp;
2151
- /* Show Add button */
2152
- public addButton: boolean = false;
2153
- &nbsp;
2154
- /* Show Delete button */
2155
- public deleteButton: 'none' | 'currentRow' | 'selection' = 'none';
2156
- &nbsp;
2157
- /* Show Delete button */
2158
- public actions: IComponentRender[] = [];
2159
- &nbsp;
2160
- /* Show edit button */
2161
- public showEditButtons: boolean = true;
2162
- &nbsp;
2163
- /* Show Filter button */
2164
- public filterButton: boolean = false;
2165
- &nbsp;
2166
- /* Show SearchInput */
2167
- public showSearch: boolean = true;
2168
- &nbsp;
2169
- /* Show Column Filter button */
2170
- public columnFilterButton: boolean = false;
2171
- &nbsp;
2172
- /* Show Columns button */
2173
- public columnsButton: boolean = false;
2174
- &nbsp;
2175
- /* Defines if the grid is the unique grid on screen */
2176
- public mainGrid: boolean = true;
2177
- &nbsp;
2178
- /* Columns to be ignored on columns button */
2179
- public columnsButtonIgnore: string[] = [];
2180
- &nbsp;
2181
- /* Grid events */
2182
- public events!: ITekGridEvents;
2183
- &nbsp;
2184
- /**
2185
- * Enables column dragging
2186
- * @public
2187
- */
2188
- public dragColumns: boolean = true;
2189
- &nbsp;
2190
- /**
2191
- * Enables column resizing
2192
- * @public
2193
- */
2194
- public resizeColumns: boolean = true;
2195
- &nbsp;
2196
- /**
2197
- * Enables layout saving
2198
- * @public
2199
- */
2200
- public showLayoutOptions: boolean = true;
2201
- &nbsp;
2202
- /**
2203
- * Editable columns
2204
- */
2205
- public columns!: TekGridColumn[];
2206
- &nbsp;
2207
- public modalFilterProps: IModalFilterProps = {
2208
- name: this.name,
2209
- height: 'auto',
2210
- persistent: true,
2211
- cssClass: '',
2212
- cssStyle: '',
2213
- dark: false,
2214
- draggable: false,
2215
- fullscreen: false,
2216
- dragHandle: '',
2217
- title: 'FILTER',
2218
- };
2219
- &nbsp;
2220
- /**
2221
- * Show export button
2222
- */
2223
- public showExport: boolean = false;
2224
- &nbsp;
2225
- /**
2226
- * Show refresh button
2227
- */
2228
- public showReload: boolean = true;
2229
- &nbsp;
2230
- /**
2231
- * Export config
2232
- */
2233
- public exportConfig: ITekGridExportConfig[] = [
2234
- {
2235
- type: 'pdf',
2236
- label: I18n.translate('TEKGRID_EXPORT_AS', { type: 'PDF' }),
2237
- multiOption: [
2238
- { label: I18n.translate('TEKGRID_PORTRAIT'), iconName: 'mdi-file-outline' },
2239
- {
2240
- label: I18n.translate('TEKGRID_LANDSCAPE'),
2241
- iconName: 'mdi-file-outline',
2242
- cssClass: 'tek-grid-export-landscape',
2243
- reportParams: { portrait: false },
2244
- },
2245
- ],
2246
- },
2247
- {
2248
- type: 'xls',
2249
- label: I18n.translate('TEKGRID_EXPORT_AS', {
2250
- type: `XLS ${I18n.translate('TEKGRID_WITHOUT_GROUPS')}`,
2251
- }),
2252
- },
2253
- {
2254
- type: 'xls2',
2255
- label: I18n.translate('TEKGRID_EXPORT_AS', {
2256
- type: `XLS ${I18n.translate('TEKGRID_WITH_GROUPS')}`,
2257
- }),
2258
- },
2259
- {
2260
- type: 'xls3',
2261
- label: I18n.translate('TEKGRID_EXPORT_AS', {
2262
- type: `XLS ${I18n.translate('TEKGRID_GRID_MIRROR')}`,
2263
- }),
2264
- },
2265
- {
2266
- type: 'csv',
2267
- label: I18n.translate('TEKGRID_EXPORT_AS', { type: 'CSV' }),
2268
- },
2269
- ];
2270
- &nbsp;
2271
- /**
2272
- * Actions to overwrite the default export config
2273
- */
2274
- public exportActions?: IComponentRender[];
2275
- &nbsp;
2276
- /**
2277
- * Groups should be opened by default after building
2278
- */
2279
- public groupsOpened: boolean = false;
2280
- &nbsp;
2281
- /**
2282
- * Show Total summary
2283
- */
2284
- public showSummaryTotal: boolean = true;
2285
- &nbsp;
2286
- public groupColumnNames: string[] = [];
2287
- &nbsp;
2288
- public summaryColumns: TekGridColumn[] = [];
2289
- &nbsp;
2290
- public groupColumns: TekGridColumn[] = [];
2291
- &nbsp;
2292
- public groupedData: IDictionary&lt;any&gt;[] = [];
2293
- &nbsp;
2294
- private toolbarSlotProps: boolean = false;
2295
- &nbsp;
2296
- public viewUpdateScrollData?: () =&gt; void;
2297
- &nbsp;
2298
- private gridBase: GridBase;
2299
- &nbsp;
2300
- public filterRelationsDatasource: Datasource;
2301
- &nbsp;
2302
- public filterOperationsDatasource: Datasource;
2303
- &nbsp;
2304
- public editNewRowsOnly: boolean = false;
2305
- &nbsp;
2306
- protected keyShortcutKeyMapping: any;
2307
- &nbsp;
2308
- /**
2309
- * TekGrid class constructor
2310
- * @param props TekGrid properties
2311
- */
2312
- constructor(props: ITekGrid) {
2313
- super({
2314
- ...props,
2315
- datasource: {
2316
- ...props.datasource,
2317
- lazyLoad: true,
2318
- },
2319
- });
2320
- this.title = this.getInitValue('title', props.title, this.title);
2321
- this.addButton = this.getInitValue(
2322
- 'addButton',
2323
- props.addButton,
2324
- this.addButton,
2325
- );
2326
- this.deleteButton = this.getInitValue(
2327
- 'deleteButton',
2328
- props.deleteButton,
2329
- this.deleteButton,
2330
- );
2331
- this.filterButton = this.getInitValue(
2332
- 'filterButton',
2333
- props.filterButton,
2334
- this.filterButton,
2335
- );
2336
- this.showSearch = this.getInitValue(
2337
- 'showSearch',
2338
- props.showSearch,
2339
- this.showSearch,
2340
- );
2341
- this.columnFilterButton = this.getInitValue(
2342
- 'columnFilterButton',
2343
- props.columnFilterButton,
2344
- this.columnFilterButton,
2345
- );
2346
- this.columnsButton = this.getInitValue(
2347
- 'columnsButton',
2348
- props.columnsButton,
2349
- this.columnsButton,
2350
- );
2351
- this.columnsButtonIgnore = this.getInitValue(
2352
- 'columnsButtonIgnore',
2353
- props.columnsButtonIgnore,
2354
- this.columnsButtonIgnore,
2355
- );
2356
- this.showEditButtons = this.getInitValue(
2357
- 'showEditButtons',
2358
- props.showEditButtons,
2359
- this.showEditButtons,
2360
- );
2361
- this.dragColumns = this.getInitValue(
2362
- 'dragColumns',
2363
- props.dragColumns,
2364
- this.dragColumns,
2365
- );
2366
- this.resizeColumns = this.getInitValue(
2367
- 'resizeColumns',
2368
- props.resizeColumns,
2369
- this.resizeColumns,
2370
- );
2371
- this.showLayoutOptions = this.getInitValue(
2372
- 'showLayoutOptions',
2373
- props.showLayoutOptions,
2374
- this.showLayoutOptions,
2375
- );
2376
- this.showExport = this.getInitValue(
2377
- 'showExport',
2378
- props.showExport,
2379
- this.showExport,
2380
- );
2381
- this.showReload = this.getInitValue(
2382
- 'showReload',
2383
- props.showReload,
2384
- this.showReload,
2385
- );
2386
- this.exportConfig = this.getInitValue(
2387
- 'exportConfig',
2388
- props.exportConfig,
2389
- this.exportConfig,
2390
- );
2391
- this.modalFilterProps = this.getInitValue(
2392
- 'modalFilterProps',
2393
- props.modalFilterProps,
2394
- this.modalFilterProps,
2395
- );
2396
- this.exportActions = props.exportActions || this.exportActions;
2397
- this.groupsOpened = this.getInitValue(
2398
- 'groupsOpened',
2399
- props.groupsOpened,
2400
- this.groupsOpened,
2401
- );
2402
- this.showSummaryTotal = this.getInitValue(
2403
- 'showSummaryTotal',
2404
- props.showSummaryTotal,
2405
- this.showSummaryTotal,
2406
- );
2407
- this.editNewRowsOnly = this.getInitValue('editNewRowsOnly', props.editNewRowsOnly, this.editNewRowsOnly);
2408
- this.mainGrid = this.getInitValue('mainGrid', props.mainGrid, this.mainGrid);
2409
- this.actions = props.actions || this.actions;
2410
- this.toolbarSlotProps = props.toolbarSlot !== undefined;
2411
- &nbsp;
2412
- <span class="missing-if-branch" title="if path not taken" >I</span>if (this.deleteButton === 'selection') {
2413
- <span class="cstat-no" title="statement not covered" > this.selectable = true;</span>
2414
- }
2415
- &nbsp;
2416
- this.keyShortcutKeyMapping = {
2417
- 'mod+f': {
2418
- event: this.focusSearchInput.bind(this),
2419
- stop: true,
2420
- active: !this.mainGrid,
2421
- input: true,
2422
- },
2423
- 'mod+l': {
2424
- event: <span class="fstat-no" title="function not covered" >({</span> event, element }: any) =&gt; {
2425
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.filterButton) {</span>
2426
- const instance = <span class="cstat-no" title="statement not covered" >Metadata.getInstance&lt;Button&gt;(</span>
2427
- `${this.name}_filterButton`,
2428
- );
2429
- <span class="cstat-no" title="statement not covered" > instance.click(event, element);</span>
2430
- }
2431
- },
2432
- stop: true,
2433
- active: !this.mainGrid,
2434
- input: true,
2435
- },
2436
- 'mod+enter': {
2437
- event: <span class="fstat-no" title="function not covered" >() =</span>&gt; {
2438
- const instance = <span class="cstat-no" title="statement not covered" >Metadata.getInstance&lt;Dropdown&gt;(</span>
2439
- `${this.name}_actions_dropdown`,
2440
- );
2441
- <span class="cstat-no" title="statement not covered" > instance.setFocus();</span>
2442
- <span class="cstat-no" title="statement not covered" > instance.value = !instance.value;</span>
2443
- },
2444
- stop: true,
2445
- active: !this.mainGrid,
2446
- input: true,
2447
- },
2448
- };
2449
- &nbsp;
2450
- this.createAccessors();
2451
- &nbsp;
2452
- this.gridBase = new GridBase(this);
2453
- this.filterOperationsDatasource = this.gridBase.getFilterOperationsDatasource();
2454
- this.filterRelationsDatasource = this.gridBase.getFilterRelationsDatasource();
2455
- this.defaultLazy = props.datasource<span class="branch-1 cbranch-no" title="branch not covered" >?.lazyLoad;</span>
2456
- }
2457
- &nbsp;
2458
- private defaultLazy = false;
2459
- &nbsp;
2460
- public <span class="fstat-no" title="function not covered" >onCreated(</span>) {
2461
- <span class="cstat-no" title="statement not covered" > super.onCreated();</span>
2462
- <span class="cstat-no" title="statement not covered" > Loader.addController(</span>
2463
- `GridController_${this.componentId}`,
2464
- new GridController(this),
2465
- );
2466
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.toolbarSlotProps) <span class="cstat-no" title="statement not covered" >this.toolbarSlot = this.gridBase.createToolbarProps();</span></span>
2467
- <span class="cstat-no" title="statement not covered" > this.navigationKeyMapping.left = {</span>
2468
- event: this.navigateLeft.bind(this),
2469
- stop: true,
2470
- active: true,
2471
- };
2472
- <span class="cstat-no" title="statement not covered" > this.navigationKeyMapping.right = {</span>
2473
- event: this.navigateRight.bind(this),
2474
- stop: true,
2475
- active: true,
2476
- };
2477
- }
2478
- &nbsp;
2479
- public <span class="fstat-no" title="function not covered" >onMounted(</span>element: HTMLElement) {
2480
- <span class="cstat-no" title="statement not covered" > super.onMounted(element);</span>
2481
- <span class="cstat-no" title="statement not covered" > KeyMap.bind(this.keyShortcutKeyMapping, this, element);</span>
2482
- &nbsp;
2483
- <span class="cstat-no" title="statement not covered" > this.initGrouping(this.defaultLazy);</span>
2484
- }
2485
- &nbsp;
2486
- public <span class="fstat-no" title="function not covered" >onBeforeDestroy(</span>) {
2487
- <span class="cstat-no" title="statement not covered" > super.onBeforeDestroy();</span>
2488
- <span class="cstat-no" title="statement not covered" > KeyMap.unbind(this.keyShortcutKeyMapping, this);</span>
2489
- }
2490
- &nbsp;
2491
- protected <span class="fstat-no" title="function not covered" >focusSearchInput(</span>) {
2492
- const searchInput = <span class="cstat-no" title="statement not covered" >Metadata.getInstance&lt;Search&gt;(`${this.name}_gridSearch`);</span>
2493
- <span class="cstat-no" title="statement not covered" > searchInput.setFocus();</span>
2494
- }
2495
- &nbsp;
2496
- <span class="fstat-no" title="function not covered" > get l</span>ayoutOptions() {
2497
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.showLayoutOptions) <span class="cstat-no" title="statement not covered" >return undefined;</span></span>
2498
- <span class="cstat-no" title="statement not covered" > return Metadata.getInstance&lt;TekGridLayoutOptions&gt;(</span>
2499
- `${this.name}_layout_options`,
2500
- );
2501
- }
2502
- &nbsp;
2503
- /**
2504
- * Get Grid columns objects
2505
- * @param columns Grid columns parameter
2506
- */
2507
- protected getColumns(columns: ITekGridColumn[]): TekGridColumn[] {
2508
- return columns.map(<span class="fstat-no" title="function not covered" >(c</span>olumn) =&gt; <span class="cstat-no" title="statement not covered" >new TekGridColumn(column, this))</span>;
2509
- }
2510
- &nbsp;
2511
- public <span class="fstat-no" title="function not covered" >columnHasFilterData(</span>column: TekGridColumn) {
2512
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
2513
- this.datasource instanceof TekRestDatasource
2514
- || this.datasource instanceof TekMemoryDatasource
2515
- ) {
2516
- const dynamicFilter = <span class="cstat-no" title="statement not covered" >this.datasource.dynamicFilter[column.name];</span>
2517
- <span class="cstat-no" title="statement not covered" > return dynamicFilter &amp;&amp; dynamicFilter.length &gt; 0;</span>
2518
- }
2519
- <span class="cstat-no" title="statement not covered" > return this.datasource.filter[column.name];</span>
2520
- }
2521
- &nbsp;
2522
- private <span class="fstat-no" title="function not covered" >buildReportGroups(</span>) {
2523
- <span class="cstat-no" title="statement not covered" > return this.columns</span>
2524
- .filter(<span class="fstat-no" title="function not covered" >(c</span>olumn) =&gt; <span class="cstat-no" title="statement not covered" >column.grouped)</span>
2525
- .map(<span class="fstat-no" title="function not covered" >(c</span>olumn) =&gt; (<span class="cstat-no" title="statement not covered" >{</span>
2526
- field: column.name,
2527
- header: {
2528
- displayfield: column.name,
2529
- label: I18n.translate(column.label),
2530
- },
2531
- name: column.name,
2532
- }));
2533
- }
2534
- &nbsp;
2535
- private <span class="fstat-no" title="function not covered" >buildReportAggregations(</span>) {
2536
- const aggregations: any = <span class="cstat-no" title="statement not covered" >{};</span>
2537
- <span class="cstat-no" title="statement not covered" > this.columns</span>
2538
- .filter(<span class="fstat-no" title="function not covered" >(c</span>olumn) =&gt; <span class="cstat-no" title="statement not covered" >column.aggregation)</span>
2539
- .forEach(<span class="fstat-no" title="function not covered" >(c</span>olumn) =&gt; {
2540
- <span class="cstat-no" title="statement not covered" > aggregations[column.name] = { expression: column.aggregation };</span>
2541
- });
2542
- <span class="cstat-no" title="statement not covered" > return aggregations;</span>
2543
- }
2544
- &nbsp;
2545
- public async <span class="fstat-no" title="function not covered" >getReport(</span>type: string, portrait?: boolean, rowObj: any = <span class="branch-0 cbranch-no" title="branch not covered" >{})</span> {
2546
- const report = <span class="cstat-no" title="statement not covered" >new Report(this, this.title);</span>
2547
- const reportGroups = <span class="cstat-no" title="statement not covered" >this.buildReportGroups();</span>
2548
- const reportAggregations = <span class="cstat-no" title="statement not covered" >this.buildReportAggregations();</span>
2549
- &nbsp;
2550
- let filter;
2551
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
2552
- this.datasource instanceof TekRestDatasource
2553
- || this.datasource instanceof TekMemoryDatasource
2554
- ) {
2555
- const dynamicFilter<span class="cstat-no" title="statement not covered" > = { ...this.datasource.dynamicFilter };</span>
2556
- &nbsp;
2557
- const formatFilter = <span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" >async (n</span>ame: string) =&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > {</span></span></span>
2558
- let column!: TekGridColumn;
2559
- <span class="cstat-no" title="statement not covered" > try {</span>
2560
- <span class="cstat-no" title="statement not covered" > column = this.getColumn(name) as any;</span>
2561
- } catch (e) {
2562
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (e instanceof ColumnNotFoundError) {</span>
2563
- <span class="cstat-no" title="statement not covered" > return;</span>
2564
- }
2565
- &nbsp;
2566
- <span class="cstat-no" title="statement not covered" > throw e;</span>
2567
- }
2568
- &nbsp;
2569
- const { label } = <span class="cstat-no" title="statement not covered" >column;</span>
2570
- &nbsp;
2571
- // change filter keys to column labels
2572
- <span class="cstat-no" title="statement not covered" > dynamicFilter[label] = [...dynamicFilter[name]];</span>
2573
- <span class="cstat-no" title="statement not covered" > delete dynamicFilter[name];</span>
2574
- &nbsp;
2575
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!column.componentProps.datasource) <span class="cstat-no" title="statement not covered" >return;</span></span>
2576
- &nbsp;
2577
- const values = <span class="cstat-no" title="statement not covered" >dynamicFilter[label].map(</span>
2578
- <span class="fstat-no" title="function not covered" > (f</span>ilterItem) =&gt; <span class="cstat-no" title="statement not covered" >filterItem.value,</span>
2579
- );
2580
- &nbsp;
2581
- <span class="cstat-no" title="statement not covered" > await column.getBatchLookupData(name, values);</span>
2582
- &nbsp;
2583
- <span class="cstat-no" title="statement not covered" > dynamicFilter[label] = dynamicFilter[label].map(<span class="fstat-no" title="function not covered" >(f</span>ilterItem) =&gt; {</span>
2584
- const item<span class="cstat-no" title="statement not covered" > = { ...filterItem };</span>
2585
- const { value } = <span class="cstat-no" title="statement not covered" >item;</span>
2586
- const formatted = <span class="cstat-no" title="statement not covered" >column.formatterByRow(</span>
2587
- { [name]: value },
2588
- { formatterDataText: undefined },
2589
- );
2590
- &nbsp;
2591
- <span class="cstat-no" title="statement not covered" > item.value = formatted;</span>
2592
- &nbsp;
2593
- <span class="cstat-no" title="statement not covered" > return item;</span>
2594
- });
2595
- };
2596
- &nbsp;
2597
- const promises = <span class="cstat-no" title="statement not covered" >Object.keys(dynamicFilter).map(formatFilter);</span>
2598
- <span class="cstat-no" title="statement not covered" > await Promise.all(promises);</span>
2599
- &nbsp;
2600
- const reportFilter = <span class="cstat-no" title="statement not covered" >new ReportFilter(dynamicFilter);</span>
2601
- <span class="cstat-no" title="statement not covered" > filter = reportFilter.build();</span>
2602
- }
2603
- &nbsp;
2604
- let beforeOpen;
2605
- &nbsp;
2606
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof this.events.beforeOpenReport === 'function') {</span>
2607
- <span class="cstat-no" title="statement not covered" > beforeOpen = this.events.beforeOpenReport;</span>
2608
- }
2609
- &nbsp;
2610
- <span class="cstat-no" title="statement not covered" > return report</span>
2611
- .getReport(
2612
- type,
2613
- portrait,
2614
- {
2615
- metaData: merge(rowObj, {
2616
- filter,
2617
- groups: reportGroups,
2618
- columns: reportAggregations,
2619
- }),
2620
- },
2621
- beforeOpen,
2622
- )
2623
- .then(<span class="fstat-no" title="function not covered" >(r</span>eportUrl) =&gt; <span class="cstat-no" title="statement not covered" >window.open(reportUrl))</span>;
2624
- }
2625
- &nbsp;
2626
- private groups: ITekGridGroup[] = [];
2627
- &nbsp;
2628
- private summary: IDictionary&lt;ITekGridSummary&gt; = {};
2629
- &nbsp;
2630
- private originalDatasourceLoadAll?: boolean;
2631
- &nbsp;
2632
- private originalDatasourceLimit?: number;
2633
- &nbsp;
2634
- /**
2635
- * Tasks that should be finished before loading the grid data
2636
- */
2637
- private tasksBeforeLoad: Promise&lt;any&gt;[] = [];
2638
- &nbsp;
2639
- public <span class="fstat-no" title="function not covered" >registerTask(</span>task: Promise&lt;any&gt;) {
2640
- <span class="cstat-no" title="statement not covered" > this.tasksBeforeLoad.push(task);</span>
2641
- }
2642
- &nbsp;
2643
- private request = debounce(<span class="fstat-no" title="function not covered" >() =</span>&gt; { <span class="cstat-no" title="statement not covered" >this.datasource.get(); </span>}, 500);
2644
- &nbsp;
2645
- /**
2646
- * Loads grid data after resolving all tasks
2647
- */
2648
- public async <span class="fstat-no" title="function not covered" >loadAfterTasks(</span>) {
2649
- <span class="cstat-no" title="statement not covered" > await Promise.all(this.tasksBeforeLoad);</span>
2650
- &nbsp;
2651
- <span class="cstat-no" title="statement not covered" > this.tasksBeforeLoad = [];</span>
2652
- &nbsp;
2653
- <span class="cstat-no" title="statement not covered" > this.request();</span>
2654
- }
2655
- &nbsp;
2656
- private <span class="fstat-no" title="function not covered" >initGrouping(</span>lazyLoad: boolean) {
2657
- <span class="cstat-no" title="statement not covered" > this.initGroups();</span>
2658
- <span class="cstat-no" title="statement not covered" > this.initSummaryColumns();</span>
2659
- &nbsp;
2660
- const originalGetFunction = <span class="cstat-no" title="statement not covered" >this.datasource.get;</span>
2661
- <span class="cstat-no" title="statement not covered" > this.originalDatasourceLoadAll = this.datasource.loadAll;</span>
2662
- <span class="cstat-no" title="statement not covered" > this.originalDatasourceLimit = this.datasource.limit;</span>
2663
- <span class="cstat-no" title="statement not covered" > this.datasource.get = this.buildGetFunction(originalGetFunction);</span>
2664
- <span class="cstat-no" title="statement not covered" > this.updateGrouping(lazyLoad);</span>
2665
- }
2666
- &nbsp;
2667
- private <span class="fstat-no" title="function not covered" >buildGetFunction(</span>originalGet: Function) {
2668
- <span class="cstat-no" title="statement not covered" > return <span class="fstat-no" title="function not covered" >async () =</span>&gt;<span class="cstat-no" title="statement not covered" ><span class="fstat-no" title="function not covered" > <span class="cstat-no" title="statement not covered" >o</span>riginalGet.call(this.datasource).then(<span class="fstat-no" title="function not covered" >(d</span>ata: IDictionary&lt;any&gt;[]) =&gt; {</span></span></span>
2669
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (</span>
2670
- this.groupColumns.length
2671
- || (this.showSummaryTotal &amp;&amp; this.summaryColumns.length)
2672
- ) {
2673
- <span class="cstat-no" title="statement not covered" > this.buildGroupedData();</span>
2674
- }
2675
- &nbsp;
2676
- <span class="cstat-no" title="statement not covered" > return data;</span>
2677
- });
2678
- }
2679
- &nbsp;
2680
- public updateGrouping: (lazyLoad?: boolean) =&gt; void = debounce(
2681
- <span class="fstat-no" title="function not covered" > (l</span>azyLoad: boolean = <span class="branch-0 cbranch-no" title="branch not covered" >false)</span> =&gt; {
2682
- <span class="cstat-no" title="statement not covered" > this.updateGroupedData(lazyLoad);</span>
2683
- },
2684
- 100,
2685
- );
2686
- &nbsp;
2687
- public async <span class="fstat-no" title="function not covered" >updateGroupedData(</span>lazyLoad: boolean) {
2688
- <span class="cstat-no" title="statement not covered" > this.groupedData = [];</span>
2689
- &nbsp;
2690
- <span class="cstat-no" title="statement not covered" > this.groupColumns = this.columns.filter(<span class="fstat-no" title="function not covered" >(c</span>olumn) =&gt; <span class="cstat-no" title="statement not covered" >column.grouped)</span>;</span>
2691
- <span class="cstat-no" title="statement not covered" > this.groupColumnNames = this.groupColumns.map(<span class="fstat-no" title="function not covered" >(c</span>olumn) =&gt; <span class="cstat-no" title="statement not covered" >column.name)</span>;</span>
2692
- <span class="cstat-no" title="statement not covered" > if (</span>
2693
- this.groupColumns.length
2694
- || (this.showSummaryTotal &amp;&amp; this.summaryColumns.length)
2695
- ) {
2696
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.groupColumns.length) {</span>
2697
- const groupOrderColumns = <span class="cstat-no" title="statement not covered" >this.groupColumnNames.map(</span>
2698
- <span class="fstat-no" title="function not covered" > (c</span>olumn) =&gt; <span class="cstat-no" title="statement not covered" >`${column}.asc`,</span>
2699
- );
2700
- const otherOrderColumns = <span class="cstat-no" title="statement not covered" >this.datasource.order.filter(</span>
2701
- <span class="fstat-no" title="function not covered" > (c</span>olumn) =&gt; <span class="cstat-no" title="statement not covered" >this.groupColumnNames.indexOf(column.split('.')[0]) === -1,</span>
2702
- );
2703
- &nbsp;
2704
- <span class="cstat-no" title="statement not covered" > this.datasource.order = groupOrderColumns.concat(otherOrderColumns);</span>
2705
- }
2706
- &nbsp;
2707
- <span class="cstat-no" title="statement not covered" > this.datasource.loadAll = true;</span>
2708
- } else {
2709
- <span class="cstat-no" title="statement not covered" > this.datasource.loadAll = this.originalDatasourceLoadAll!;</span>
2710
- <span class="cstat-no" title="statement not covered" > this.datasource.limit = this.originalDatasourceLimit!;</span>
2711
- }
2712
- &nbsp;
2713
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!lazyLoad &amp;&amp; this.datasource) {</span>
2714
- <span class="cstat-no" title="statement not covered" > await this.loadAfterTasks();</span>
2715
- }
2716
- &nbsp;
2717
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.virtualScroll &amp;&amp; this.viewUpdateScrollData) {</span>
2718
- <span class="cstat-no" title="statement not covered" > this.viewUpdateScrollData();</span>
2719
- }
2720
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.viewUpdateFixedColumns) {</span>
2721
- <span class="cstat-no" title="statement not covered" > this.viewUpdateFixedColumns();</span>
2722
- }
2723
- }
2724
- &nbsp;
2725
- /**
2726
- * It takes a flat array of data and groups it by the group columns specified in
2727
- * the grid.
2728
- */
2729
- public <span class="fstat-no" title="function not covered" >buildGroupedData(</span>) {
2730
- <span class="cstat-no" title="statement not covered" > this.initGroups();</span>
2731
- <span class="cstat-no" title="statement not covered" > this.initSummaryColumns();</span>
2732
- <span class="cstat-no" title="statement not covered" > this.groupedData = [];</span>
2733
- &nbsp;
2734
- <span class="cstat-no" title="statement not covered" > this.datasource.data.forEach(<span class="fstat-no" title="function not covered" >(r</span>ow) =&gt; {</span>
2735
- let groupBreak = <span class="cstat-no" title="statement not covered" >false;</span>
2736
- <span class="cstat-no" title="statement not covered" > this.groups.forEach(<span class="fstat-no" title="function not covered" >(g</span>roup, index) =&gt; {</span>
2737
- const groupValue = <span class="cstat-no" title="statement not covered" >row[group.name];</span>
2738
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (group.lastValue !== groupValue || groupBreak) {</span>
2739
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!groupBreak) {</span>
2740
- <span class="cstat-no" title="statement not covered" > this.addGroupFooters(index);</span>
2741
- }
2742
- <span class="cstat-no" title="statement not covered" > group.lastValue = groupValue;</span>
2743
- &nbsp;
2744
- <span class="cstat-no" title="statement not covered" > this.resetFooterVariables(group);</span>
2745
- <span class="cstat-no" title="statement not covered" > this.addGroupHeader(row, group, index);</span>
2746
- <span class="cstat-no" title="statement not covered" > groupBreak = true;</span>
2747
- }
2748
- });
2749
- &nbsp;
2750
- <span class="cstat-no" title="statement not covered" > this.groups.forEach(<span class="fstat-no" title="function not covered" >(g</span>roup) =&gt; {</span>
2751
- <span class="cstat-no" title="statement not covered" > group.lastGroupHeaderRow!.children.push(row);</span>
2752
- });
2753
- &nbsp;
2754
- <span class="cstat-no" title="statement not covered" > this.groupedData.push({</span>
2755
- ...row,
2756
- groupHeaders: this.groups
2757
- .map(<span class="fstat-no" title="function not covered" >(g</span>roup) =&gt; <span class="cstat-no" title="statement not covered" >group.lastGroupHeaderRow)</span>
2758
- .filter(Boolean),
2759
- });
2760
- &nbsp;
2761
- <span class="cstat-no" title="statement not covered" > this.calcSummary(row);</span>
2762
- });
2763
- &nbsp;
2764
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.groupedData.length &gt; 0) {</span>
2765
- <span class="cstat-no" title="statement not covered" > this.addGroupFooters(0);</span>
2766
- &nbsp;
2767
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.showSummaryTotal) {</span>
2768
- <span class="cstat-no" title="statement not covered" > this.addSummary();</span>
2769
- }
2770
- }
2771
- }
2772
- &nbsp;
2773
- private <span class="fstat-no" title="function not covered" >initGroups(</span>) {
2774
- <span class="cstat-no" title="statement not covered" > this.groups = [];</span>
2775
- <span class="cstat-no" title="statement not covered" > this.groupColumns.forEach(<span class="fstat-no" title="function not covered" >(c</span>olumn) =&gt; {</span>
2776
- const newGroup = <span class="cstat-no" title="statement not covered" >{</span>
2777
- column,
2778
- name: column.name,
2779
- label: column.label,
2780
- lastValue: undefined,
2781
- initialized: false,
2782
- footer: {},
2783
- };
2784
- <span class="cstat-no" title="statement not covered" > this.resetFooterVariables(newGroup);</span>
2785
- &nbsp;
2786
- <span class="cstat-no" title="statement not covered" > this.groups.push(newGroup);</span>
2787
- });
2788
- }
2789
- &nbsp;
2790
- private <span class="fstat-no" title="function not covered" >initSummaryColumns(</span>) {
2791
- <span class="cstat-no" title="statement not covered" > this.summaryColumns = this.columns.filter(</span>
2792
- <span class="fstat-no" title="function not covered" > (c</span>olumn) =&gt; <span class="cstat-no" title="statement not covered" >!!column.aggregation &amp;&amp; !column.grouped,</span>
2793
- );
2794
- <span class="cstat-no" title="statement not covered" > this.summary = {};</span>
2795
- }
2796
- &nbsp;
2797
- private <span class="fstat-no" title="function not covered" >addGroupHeader(</span>
2798
- row: IDictionary,
2799
- group: ITekGridGroup,
2800
- index: number,
2801
- ) {
2802
- const groupValue = <span class="cstat-no" title="statement not covered" >this.getGroupValue(group, row) || group.column.groupLabelForEmptyValue;</span>
2803
- const groupHeaderRow: ITekGridGroupHeader = <span class="cstat-no" title="statement not covered" >{</span>
2804
- group: true,
2805
- groupRow: row,
2806
- groupColumnName: group.column.name,
2807
- groupHeader: true,
2808
- groupIndex: index,
2809
- groupLabel: I18n.translate(group.label),
2810
- groupValue,
2811
- groupOpened: group.column.groupOpened || this.groupsOpened,
2812
- groupHeaders: [],
2813
- children: [],
2814
- };
2815
- // add header for outer groups to the added row
2816
- <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >0;</span> i &lt; index; i += 1) {</span>
2817
- <span class="cstat-no" title="statement not covered" > groupHeaderRow.groupHeaders.push(this.groups[i].lastGroupHeaderRow!);</span>
2818
- }
2819
- <span class="cstat-no" title="statement not covered" > group.lastGroupHeaderRow = groupHeaderRow;</span>
2820
- <span class="cstat-no" title="statement not covered" > group.initialized = true;</span>
2821
- <span class="cstat-no" title="statement not covered" > this.groupedData.push(groupHeaderRow);</span>
2822
- }
2823
- &nbsp;
2824
- private <span class="fstat-no" title="function not covered" >addGroupFooters(</span>groupIndex: number) {
2825
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.summaryColumns.length === 0) {</span>
2826
- <span class="cstat-no" title="statement not covered" > return;</span>
2827
- }
2828
- &nbsp;
2829
- <span class="cstat-no" title="statement not covered" > for (let i = <span class="cstat-no" title="statement not covered" >this.groups.length - 1;</span> i &gt;= groupIndex; i -= 1) {</span>
2830
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.groups[i].initialized) {</span>
2831
- const groupFooterRow<span class="cstat-no" title="statement not covered" >: IDictionary = {</span>
2832
- groupFooter: true,
2833
- groupIndex: i,
2834
- groupHeaders: [],
2835
- groupLabel: this.groups[i].lastGroupHeaderRow!.groupLabel,
2836
- groupValue: this.groups[i].lastGroupHeaderRow!.groupValue,
2837
- ...this.summaryData(this.groups[i].footer),
2838
- };
2839
- &nbsp;
2840
- // add header for outer groups
2841
- <span class="cstat-no" title="statement not covered" > for (let g = <span class="cstat-no" title="statement not covered" >0;</span> g &lt; i; g += 1) {</span>
2842
- <span class="cstat-no" title="statement not covered" > groupFooterRow.groupHeaders.push(this.groups[g].lastGroupHeaderRow);</span>
2843
- }
2844
- &nbsp;
2845
- <span class="cstat-no" title="statement not covered" > this.groupedData.push(groupFooterRow);</span>
2846
- }
2847
- }
2848
- }
2849
- &nbsp;
2850
- private <span class="fstat-no" title="function not covered" >resetFooterVariables(</span>group: ITekGridGroup) {
2851
- <span class="cstat-no" title="statement not covered" > this.summaryColumns.forEach(<span class="fstat-no" title="function not covered" >(c</span>olumn) =&gt; {</span>
2852
- <span class="cstat-no" title="statement not covered" > group.footer[column.name] = {</span>
2853
- sum: 0,
2854
- count: 0,
2855
- min: undefined,
2856
- max: undefined,
2857
- };
2858
- });
2859
- }
2860
- &nbsp;
2861
- private <span class="fstat-no" title="function not covered" >isUndefined(</span>value: any) {
2862
- <span class="cstat-no" title="statement not covered" > return value === undefined || value === null;</span>
2863
- }
2864
- &nbsp;
2865
- private <span class="fstat-no" title="function not covered" >calcSummaryValues(</span>summary: ITekGridSummary, rowValue: any) {
2866
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.isUndefined(rowValue)) {</span>
2867
- <span class="cstat-no" title="statement not covered" > summary.count += 1;</span>
2868
- &nbsp;
2869
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (summary.min === undefined) <span class="cstat-no" title="statement not covered" >summary.min = rowValue;</span></span>
2870
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (summary.max === undefined) <span class="cstat-no" title="statement not covered" >summary.max = rowValue;</span></span>
2871
- <span class="cstat-no" title="statement not covered" > summary.min = rowValue &lt; summary.min ? rowValue : summary.min;</span>
2872
- <span class="cstat-no" title="statement not covered" > summary.max = rowValue &gt; summary.max ? rowValue : summary.max;</span>
2873
- &nbsp;
2874
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (typeof rowValue === 'number') {</span>
2875
- <span class="cstat-no" title="statement not covered" > summary.sum += rowValue;</span>
2876
- }
2877
- }
2878
- }
2879
- &nbsp;
2880
- private <span class="fstat-no" title="function not covered" >calcSummary(</span>row: IDictionary&lt;any&gt;) {
2881
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.summaryColumns.length &gt; 0) {</span>
2882
- <span class="cstat-no" title="statement not covered" > this.summaryColumns.forEach(<span class="fstat-no" title="function not covered" >(c</span>olumn) =&gt; {</span>
2883
- const columnName = <span class="cstat-no" title="statement not covered" >column.name;</span>
2884
- const rowValue = <span class="cstat-no" title="statement not covered" >row[columnName];</span>
2885
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.isUndefined(this.summary[columnName])) {</span>
2886
- <span class="cstat-no" title="statement not covered" > this.summary[columnName] = {</span>
2887
- count: 0,
2888
- sum: 0,
2889
- min: undefined,
2890
- max: undefined,
2891
- };
2892
- }
2893
- &nbsp;
2894
- <span class="cstat-no" title="statement not covered" > this.calcSummaryValues(this.summary[columnName], rowValue);</span>
2895
- &nbsp;
2896
- <span class="cstat-no" title="statement not covered" > this.groups.forEach(<span class="fstat-no" title="function not covered" >(g</span>roup) =&gt; {</span>
2897
- <span class="cstat-no" title="statement not covered" > this.calcSummaryValues(group.footer[columnName], rowValue);</span>
2898
- });
2899
- });
2900
- }
2901
- }
2902
- &nbsp;
2903
- private <span class="fstat-no" title="function not covered" >addSummary(</span>) {
2904
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.summaryColumns.length === 0) <span class="cstat-no" title="statement not covered" >return;</span></span>
2905
- &nbsp;
2906
- const summaryRow<span class="cstat-no" title="statement not covered" > = {</span>
2907
- groupFooter: true,
2908
- groupSummary: true,
2909
- ...this.summaryData(this.summary),
2910
- };
2911
- &nbsp;
2912
- <span class="cstat-no" title="statement not covered" > this.groupedData.push(summaryRow);</span>
2913
- }
2914
- &nbsp;
2915
- private <span class="fstat-no" title="function not covered" >summaryData(</span>group: IDictionary&lt;ITekGridSummary&gt;) {
2916
- const summaryData: IDictionary = <span class="cstat-no" title="statement not covered" >{};</span>
2917
- <span class="cstat-no" title="statement not covered" > this.summaryColumns.forEach(<span class="fstat-no" title="function not covered" >(c</span>olumn) =&gt; {</span>
2918
- const { aggregation } = <span class="cstat-no" title="statement not covered" >column;</span>
2919
- const currentGroup = <span class="cstat-no" title="statement not covered" >group[column.name];</span>
2920
- &nbsp;
2921
- <span class="cstat-no" title="statement not covered" > if (aggregation === 'COUNT') {</span>
2922
- <span class="cstat-no" title="statement not covered" > summaryData[column.name] = currentGroup.count;</span>
2923
- } else <span class="cstat-no" title="statement not covered" >if (aggregation === 'SUM') {</span>
2924
- <span class="cstat-no" title="statement not covered" > summaryData[column.name] = currentGroup.sum;</span>
2925
- } else <span class="cstat-no" title="statement not covered" >if (aggregation === 'AVG') {</span>
2926
- <span class="cstat-no" title="statement not covered" > summaryData[column.name] = currentGroup.sum / currentGroup.count;</span>
2927
- } else <span class="cstat-no" title="statement not covered" >if (aggregation === 'MIN') {</span>
2928
- <span class="cstat-no" title="statement not covered" > summaryData[column.name] = currentGroup.min;</span>
2929
- } else {
2930
- // if (aggregation === 'MAX') {
2931
- <span class="cstat-no" title="statement not covered" > summaryData[column.name] = currentGroup.max;</span>
2932
- }
2933
- });
2934
- &nbsp;
2935
- <span class="cstat-no" title="statement not covered" > return summaryData;</span>
2936
- }
2937
- &nbsp;
2938
- public <span class="fstat-no" title="function not covered" >openGroup(</span>group: IDictionary&lt;any&gt;) {
2939
- <span class="cstat-no" title="statement not covered" > group.groupOpened = !group.groupOpened;</span>
2940
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (this.virtualScroll &amp;&amp; this.viewUpdateScrollData) <span class="cstat-no" title="statement not covered" >this.viewUpdateScrollData();</span></span>
2941
- }
2942
- &nbsp;
2943
- public <span class="fstat-no" title="function not covered" >isItemVisible(</span>row: IDictionary&lt;any&gt;) {
2944
- <span class="cstat-no" title="statement not covered" > return (</span>
2945
- !row.groupHeaders
2946
- || !row.groupHeaders.length
2947
- || row.groupHeaders.every(<span class="fstat-no" title="function not covered" >(g</span>roup: any) =&gt; <span class="cstat-no" title="statement not covered" >group.groupOpened)</span>
2948
- );
2949
- }
2950
- &nbsp;
2951
- private <span class="fstat-no" title="function not covered" >getGroupValue(</span>group: IDictionary&lt;any&gt;, row: IDictionary&lt;any&gt;) {
2952
- const groupColumn = <span class="cstat-no" title="statement not covered" >this.getColumn(group.column.name);</span>
2953
- const rowKey = <span class="cstat-no" title="statement not covered" >row[this.datasource.uniqueKey];</span>
2954
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.cellsApplied[rowKey]) {</span>
2955
- <span class="cstat-no" title="statement not covered" > this.reapplyConditions(row);</span>
2956
- }
2957
- const cellProps = <span class="cstat-no" title="statement not covered" >this.cellsApplied[rowKey][groupColumn.name];</span>
2958
- const groupValue = <span class="cstat-no" title="statement not covered" >groupColumn.formatterByRow(row, cellProps);</span>
2959
- <span class="cstat-no" title="statement not covered" > return groupValue;</span>
2960
- }
2961
- &nbsp;
2962
- public <span class="fstat-no" title="function not covered" >getEditedRows(</span>) {
2963
- <span class="cstat-no" title="statement not covered" > return super.getEditedRows().map(<span class="fstat-no" title="function not covered" >(r</span>ow) =&gt; {</span>
2964
- const cleanRow<span class="cstat-no" title="statement not covered" > = { ...row };</span>
2965
- <span class="cstat-no" title="statement not covered" > delete cleanRow.groupHeaders;</span>
2966
- <span class="cstat-no" title="statement not covered" > return cleanRow;</span>
2967
- });
2968
- }
2969
- &nbsp;
2970
- public async <span class="fstat-no" title="function not covered" >setSearch(</span>search: string) {
2971
- <span class="cstat-no" title="statement not covered" > return this.gridBase.setSearch(search);</span>
2972
- }
2973
- &nbsp;
2974
- public <span class="fstat-no" title="function not covered" >isGrouped(</span>) {
2975
- <span class="cstat-no" title="statement not covered" > return (</span>
2976
- this.groupColumnNames.length
2977
- || (this.showSummaryTotal &amp;&amp; this.summaryColumns.length)
2978
- );
2979
- }
2980
- &nbsp;
2981
- protected <span class="fstat-no" title="function not covered" >navigateDown(</span>params?: any) {
2982
- <span class="cstat-no" title="statement not covered" > if (!this.isGrouped()) {</span>
2983
- <span class="cstat-no" title="statement not covered" > super.navigateDown();</span>
2984
- } else {
2985
- const { index } = <span class="cstat-no" title="statement not covered" >params;</span>
2986
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.groupedData.length || index === this.groupedData.length) <span class="cstat-no" title="statement not covered" >return;</span></span>
2987
- &nbsp;
2988
- const { uniqueKey, currentRow } = <span class="cstat-no" title="statement not covered" >this.datasource;</span>
2989
- const rowIndex = <span class="cstat-no" title="statement not covered" >index !== undefined</span>
2990
- ? index
2991
- : this.groupedData.findIndex(<span class="fstat-no" title="function not covered" >(r</span>ow) =&gt; {
2992
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (currentRow.group) {</span>
2993
- <span class="cstat-no" title="statement not covered" > return row.group &amp;&amp; row.groupValue === currentRow.groupValue;</span>
2994
- }
2995
- <span class="cstat-no" title="statement not covered" > return row[uniqueKey] &amp;&amp; row[uniqueKey] === currentRow[uniqueKey];</span>
2996
- });
2997
- &nbsp;
2998
- const newRow = <span class="cstat-no" title="statement not covered" >this.groupedData[rowIndex + 1];</span>
2999
- &nbsp;
3000
- <span class="cstat-no" title="statement not covered" > if (newRow &amp;&amp; this.isItemVisible(newRow) &amp;&amp; !newRow.groupFooter) {</span>
3001
- <span class="cstat-no" title="statement not covered" > this.datasource.currentRow = newRow;</span>
3002
- } else {
3003
- <span class="cstat-no" title="statement not covered" > this.navigateDown({ index: rowIndex + 1 });</span>
3004
- }
3005
- }
3006
- }
3007
- &nbsp;
3008
- protected <span class="fstat-no" title="function not covered" >navigateUp(</span>params?: any) {
3009
- <span class="cstat-no" title="statement not covered" > if (!this.isGrouped()) {</span>
3010
- <span class="cstat-no" title="statement not covered" > super.navigateUp();</span>
3011
- } else {
3012
- const { index } = <span class="cstat-no" title="statement not covered" >params;</span>
3013
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.groupedData.length || index === -1) <span class="cstat-no" title="statement not covered" >return;</span></span>
3014
- &nbsp;
3015
- const { uniqueKey, currentRow } = <span class="cstat-no" title="statement not covered" >this.datasource;</span>
3016
- let rowIndex: number;
3017
- <span class="cstat-no" title="statement not covered" > rowIndex = index !== undefined</span>
3018
- ? index
3019
- : this.groupedData.findIndex(<span class="fstat-no" title="function not covered" >(r</span>ow) =&gt; {
3020
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (currentRow.group) {</span>
3021
- <span class="cstat-no" title="statement not covered" > return row.group &amp;&amp; row.groupValue === currentRow.groupValue;</span>
3022
- }
3023
- <span class="cstat-no" title="statement not covered" > return row[uniqueKey] &amp;&amp; row[uniqueKey] === currentRow[uniqueKey];</span>
3024
- });
3025
- &nbsp;
3026
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (rowIndex === -1) <span class="cstat-no" title="statement not covered" >rowIndex = this.groupedData.length;</span></span>
3027
- &nbsp;
3028
- const newRow = <span class="cstat-no" title="statement not covered" >this.groupedData[rowIndex - 1];</span>
3029
- &nbsp;
3030
- <span class="cstat-no" title="statement not covered" > if (newRow &amp;&amp; this.isItemVisible(newRow) &amp;&amp; !newRow.groupFooter) {</span>
3031
- <span class="cstat-no" title="statement not covered" > this.datasource.currentRow = newRow;</span>
3032
- } else {
3033
- <span class="cstat-no" title="statement not covered" > this.navigateUp({ index: rowIndex - 1 });</span>
3034
- }
3035
- }
3036
- }
3037
- &nbsp;
3038
- protected <span class="fstat-no" title="function not covered" >navigateLeft(</span>) {
3039
- const { currentRow } = <span class="cstat-no" title="statement not covered" >this.datasource;</span>
3040
- <span class="cstat-no" title="statement not covered" > if (currentRow.group &amp;&amp; currentRow.groupOpened) {</span>
3041
- <span class="cstat-no" title="statement not covered" > currentRow.groupOpened = false;</span>
3042
- } else <span class="cstat-no" title="statement not covered" ><span class="missing-if-branch" title="if path not taken" >I</span>if (currentRow.groupHeaders?.length) {</span>
3043
- <span class="cstat-no" title="statement not covered" > this.datasource.currentRow = currentRow.groupHeaders[currentRow.groupHeaders.length - 1];</span>
3044
- }
3045
- }
3046
- &nbsp;
3047
- protected <span class="fstat-no" title="function not covered" >navigateRight(</span>) {
3048
- const { currentRow } = <span class="cstat-no" title="statement not covered" >this.datasource;</span>
3049
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (currentRow.group &amp;&amp; !currentRow.groupOpened) {</span>
3050
- <span class="cstat-no" title="statement not covered" > currentRow.groupOpened = true;</span>
3051
- }
3052
- }
3053
- &nbsp;
3054
- /**
3055
- * Dispatches row click event
3056
- * @param row Grid row
3057
- * @param event DOM event
3058
- * @param element DOM Element
3059
- */
3060
- public <span class="fstat-no" title="function not covered" >rowClick(</span>row: IDictionary&lt;any&gt;, event: Event, element: HTMLElement) {
3061
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.preventRowClick) {</span>
3062
- <span class="cstat-no" title="statement not covered" > this.datasource.currentRow = row;</span>
3063
- &nbsp;
3064
- <span class="cstat-no" title="statement not covered" > this.callEvent('rowClick', {</span>
3065
- event,
3066
- element,
3067
- row,
3068
- component: this,
3069
- column: undefined,
3070
- });
3071
- }
3072
- <span class="cstat-no" title="statement not covered" > this.preventRowClick = false;</span>
3073
- }
3074
- &nbsp;
3075
- /**
3076
- * Dispatches group row click event
3077
- * @param row Grid row
3078
- * @param event DOM event
3079
- * @param element DOM Element
3080
- */
3081
- public <span class="fstat-no" title="function not covered" >groupRowClick(</span>
3082
- row: IDictionary&lt;any&gt;,
3083
- event: Event,
3084
- element: HTMLElement,
3085
- ) {
3086
- <span class="cstat-no" title="statement not covered" > <span class="missing-if-branch" title="if path not taken" >I</span>if (!this.preventRowClick) {</span>
3087
- <span class="cstat-no" title="statement not covered" > this.callEvent('groupRowClick', {</span>
3088
- event,
3089
- element,
3090
- row,
3091
- component: this,
3092
- column: undefined,
3093
- });
3094
- }
3095
- <span class="cstat-no" title="statement not covered" > this.preventRowClick = false;</span>
3096
- }
3097
- &nbsp;
3098
- /**
3099
- * Dispatches group select/unselect event
3100
- * @param row Group row
3101
- * @param isSelected Row is selected
3102
- * @param event DOM event
3103
- * @param element DOM Element
3104
- */
3105
- public <span class="fstat-no" title="function not covered" >selectGroupClick(</span>
3106
- row: IDictionary&lt;any&gt;,
3107
- isSelected: boolean,
3108
- event: Event,
3109
- element: HTMLElement,
3110
- ) {
3111
- <span class="cstat-no" title="statement not covered" > if (isSelected) {</span>
3112
- <span class="cstat-no" title="statement not covered" > this.callEvent('groupSelected', {</span>
3113
- event,
3114
- element,
3115
- row,
3116
- component: this,
3117
- column: undefined,
3118
- });
3119
- } else {
3120
- <span class="cstat-no" title="statement not covered" > this.callEvent('groupUnselected', {</span>
3121
- event,
3122
- element,
3123
- row,
3124
- component: this,
3125
- column: undefined,
3126
- });
3127
- }
3128
- }
3129
- &nbsp;
3130
- public <span class="fstat-no" title="function not covered" >getAtomInstance&lt;</span>T&gt;(key: keyof ITekGridAtoms) {
3131
- <span class="cstat-no" title="statement not covered" > return this.gridBase.getAtomInstance&lt;T&gt;(key);</span>
3132
- }
3133
- &nbsp;
3134
- public <span class="fstat-no" title="function not covered" >getFilterInputs(</span>columnName?: string) {
3135
- <span class="cstat-no" title="statement not covered" > return this.gridBase.getFilterInputs(columnName);</span>
3136
- }
3137
- }
3138
- &nbsp;</pre></td></tr></table></pre>
3139
-
3140
- <div class='push'></div><!-- for sticky footer -->
3141
- </div><!-- /wrapper -->
3142
- <div class='footer quiet pad2 space-top1 center small'>
3143
- Code coverage generated by
3144
- <a href="https://istanbul.js.org/" target="_blank" rel="noopener noreferrer">istanbul</a>
3145
- at 2024-03-26T15:07:17.178Z
3146
- </div>
3147
- <script src="../../prettify.js"></script>
3148
- <script>
3149
- window.onload = function () {
3150
- prettyPrint();
3151
- };
3152
- </script>
3153
- <script src="../../sorter.js"></script>
3154
- <script src="../../block-navigation.js"></script>
3155
- </body>
3156
- </html>
3157
-