filehound 2.0.0-beta.2 → 2.0.0
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.
- package/README.md +39 -11
- package/dist/arrays.d.ts +1 -0
- package/dist/arrays.js +4 -0
- package/dist/file.d.ts +108 -0
- package/dist/file.js +184 -0
- package/dist/filehound.d.ts +356 -0
- package/dist/filehound.js +498 -0
- package/dist/files.d.ts +4 -0
- package/dist/files.js +37 -0
- package/dist/filetype.d.ts +10 -0
- package/dist/filetype.js +9 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.js +6 -0
- package/dist/matchers.d.ts +324 -0
- package/dist/matchers.js +419 -0
- package/dist/walker/async.d.ts +4 -0
- package/dist/walker/async.js +237 -0
- package/dist/walker/heap.d.ts +7 -0
- package/dist/walker/heap.js +49 -0
- package/dist/walker/sync.d.ts +4 -0
- package/dist/walker/sync.js +66 -0
- package/dist/walker/walk.d.ts +33 -0
- package/dist/walker/walk.js +80 -0
- package/package.json +45 -48
- package/.github/stale.yml +0 -42
- package/.travis.yml +0 -8
- package/.vscode/launch.json +0 -21
- package/.vscode/settings.json +0 -3
- package/CONTRIBUTING.md +0 -8
- package/_config.yml +0 -1
- package/coverage/coverage.raw.json +0 -1
- package/coverage/lcov-report/arrays.ts.html +0 -98
- package/coverage/lcov-report/base.css +0 -212
- package/coverage/lcov-report/filehound.ts.html +0 -2078
- package/coverage/lcov-report/files.ts.html +0 -260
- package/coverage/lcov-report/functions.ts.html +0 -122
- package/coverage/lcov-report/index.html +0 -132
- package/coverage/lcov-report/prettify.css +0 -1
- package/coverage/lcov-report/prettify.js +0 -1
- package/coverage/lcov-report/sort-arrow-sprite.png +0 -0
- package/coverage/lcov-report/sorter.js +0 -158
- package/coverage/lcov.info +0 -378
- package/dist/src/arrays.js +0 -15
- package/dist/src/arrays.js.map +0 -1
- package/dist/src/asyncWalker.js +0 -59
- package/dist/src/asyncWalker.js.map +0 -1
- package/dist/src/bind.js +0 -15
- package/dist/src/bind.js.map +0 -1
- package/dist/src/filehound.js +0 -597
- package/dist/src/filehound.js.map +0 -1
- package/dist/src/files.js +0 -60
- package/dist/src/files.js.map +0 -1
- package/dist/src/matcher.js +0 -51
- package/dist/src/matcher.js.map +0 -1
- package/dist/src/syncWalker.js +0 -47
- package/dist/src/syncWalker.js.map +0 -1
- package/dist/src/walkAsync.js +0 -33
- package/dist/src/walkAsync.js.map +0 -1
- package/dist/src/walkSync.js +0 -21
- package/dist/src/walkSync.js.map +0 -1
- package/dist/src/walker/walk.js +0 -68
- package/dist/src/walker/walk.js.map +0 -1
- package/dist/src/walker/walkAsync.js +0 -33
- package/dist/src/walker/walkAsync.js.map +0 -1
- package/dist/src/walker/walkSync.js +0 -21
- package/dist/src/walker/walkSync.js.map +0 -1
- package/dist/test/filehound.js +0 -872
- package/dist/test/filehound.js.map +0 -1
- package/dist/test/files.js +0 -29
- package/dist/test/files.js.map +0 -1
- package/docconfig/jsdoc.json +0 -26
- package/docconfig/template/LICENSE +0 -61
- package/docconfig/template/README.md +0 -86
- package/docconfig/template/package.json +0 -22
- package/docconfig/template/publish.js +0 -676
- package/docconfig/template/static/fonts/OpenSans-Bold-webfont.eot +0 -0
- package/docconfig/template/static/fonts/OpenSans-Bold-webfont.svg +0 -1830
- package/docconfig/template/static/fonts/OpenSans-Bold-webfont.woff +0 -0
- package/docconfig/template/static/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
- package/docconfig/template/static/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
- package/docconfig/template/static/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
- package/docconfig/template/static/fonts/OpenSans-Italic-webfont.eot +0 -0
- package/docconfig/template/static/fonts/OpenSans-Italic-webfont.svg +0 -1830
- package/docconfig/template/static/fonts/OpenSans-Italic-webfont.woff +0 -0
- package/docconfig/template/static/fonts/OpenSans-Light-webfont.eot +0 -0
- package/docconfig/template/static/fonts/OpenSans-Light-webfont.svg +0 -1831
- package/docconfig/template/static/fonts/OpenSans-Light-webfont.woff +0 -0
- package/docconfig/template/static/fonts/OpenSans-LightItalic-webfont.eot +0 -0
- package/docconfig/template/static/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
- package/docconfig/template/static/fonts/OpenSans-LightItalic-webfont.woff +0 -0
- package/docconfig/template/static/fonts/OpenSans-Regular-webfont.eot +0 -0
- package/docconfig/template/static/fonts/OpenSans-Regular-webfont.svg +0 -1831
- package/docconfig/template/static/fonts/OpenSans-Regular-webfont.woff +0 -0
- package/docconfig/template/static/fonts/OpenSans-Semibold-webfont.eot +0 -0
- package/docconfig/template/static/fonts/OpenSans-Semibold-webfont.svg +0 -1830
- package/docconfig/template/static/fonts/OpenSans-Semibold-webfont.ttf +0 -0
- package/docconfig/template/static/fonts/OpenSans-Semibold-webfont.woff +0 -0
- package/docconfig/template/static/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
- package/docconfig/template/static/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
- package/docconfig/template/static/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
- package/docconfig/template/static/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
- package/docconfig/template/static/scripts/linenumber.js +0 -25
- package/docconfig/template/static/scripts/prettify/Apache-License-2.0.txt +0 -202
- package/docconfig/template/static/scripts/prettify/lang-css.js +0 -2
- package/docconfig/template/static/scripts/prettify/prettify.js +0 -28
- package/docconfig/template/static/styles/jsdoc-default.css +0 -605
- package/docconfig/template/static/styles/prettify-jsdoc.css +0 -111
- package/docconfig/template/static/styles/prettify-tomorrow.css +0 -132
- package/docconfig/template/tmpl/augments.tmpl +0 -10
- package/docconfig/template/tmpl/container.tmpl +0 -183
- package/docconfig/template/tmpl/details.tmpl +0 -143
- package/docconfig/template/tmpl/example.tmpl +0 -2
- package/docconfig/template/tmpl/examples.tmpl +0 -13
- package/docconfig/template/tmpl/exceptions.tmpl +0 -32
- package/docconfig/template/tmpl/layout.tmpl +0 -47
- package/docconfig/template/tmpl/mainpage.tmpl +0 -10
- package/docconfig/template/tmpl/members.tmpl +0 -38
- package/docconfig/template/tmpl/method.tmpl +0 -105
- package/docconfig/template/tmpl/params.tmpl +0 -124
- package/docconfig/template/tmpl/properties.tmpl +0 -108
- package/docconfig/template/tmpl/returns.tmpl +0 -19
- package/docconfig/template/tmpl/source.tmpl +0 -8
- package/docconfig/template/tmpl/tutorial.tmpl +0 -19
- package/docconfig/template/tmpl/type.tmpl +0 -7
- package/docs/FileHound.html +0 -3079
- package/docs/FileHound_modified.html +0 -245
- package/docs/_config.yml +0 -1
- package/docs/filehound.js.html +0 -697
- package/docs/fonts/OpenSans-Bold-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Bold-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-Bold-webfont.woff +0 -0
- package/docs/fonts/OpenSans-BoldItalic-webfont.eot +0 -0
- package/docs/fonts/OpenSans-BoldItalic-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-BoldItalic-webfont.woff +0 -0
- package/docs/fonts/OpenSans-Italic-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Italic-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-Italic-webfont.woff +0 -0
- package/docs/fonts/OpenSans-Light-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Light-webfont.svg +0 -1831
- package/docs/fonts/OpenSans-Light-webfont.woff +0 -0
- package/docs/fonts/OpenSans-LightItalic-webfont.eot +0 -0
- package/docs/fonts/OpenSans-LightItalic-webfont.svg +0 -1835
- package/docs/fonts/OpenSans-LightItalic-webfont.woff +0 -0
- package/docs/fonts/OpenSans-Regular-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Regular-webfont.svg +0 -1831
- package/docs/fonts/OpenSans-Regular-webfont.woff +0 -0
- package/docs/fonts/OpenSans-Semibold-webfont.eot +0 -0
- package/docs/fonts/OpenSans-Semibold-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-Semibold-webfont.ttf +0 -0
- package/docs/fonts/OpenSans-Semibold-webfont.woff +0 -0
- package/docs/fonts/OpenSans-SemiboldItalic-webfont.eot +0 -0
- package/docs/fonts/OpenSans-SemiboldItalic-webfont.svg +0 -1830
- package/docs/fonts/OpenSans-SemiboldItalic-webfont.ttf +0 -0
- package/docs/fonts/OpenSans-SemiboldItalic-webfont.woff +0 -0
- package/docs/global.html +0 -288
- package/docs/index.html +0 -154
- package/docs/scripts/linenumber.js +0 -25
- package/docs/scripts/prettify/Apache-License-2.0.txt +0 -202
- package/docs/scripts/prettify/lang-css.js +0 -2
- package/docs/scripts/prettify/prettify.js +0 -28
- package/docs/styles/jsdoc-default.css +0 -605
- package/docs/styles/prettify-jsdoc.css +0 -111
- package/docs/styles/prettify-tomorrow.css +0 -132
- package/docs.md +0 -164
- package/index.js +0 -1
- package/issue_template.md +0 -6
- package/test/filehound.ts +0 -1076
- package/test/files.ts +0 -29
- package/test/fixtures/custom/failed.txt +0 -0
- package/test/fixtures/custom/passed.txt +0 -0
- package/test/fixtures/deeplyNested/c.json +0 -0
- package/test/fixtures/deeplyNested/d.json +0 -0
- package/test/fixtures/deeplyNested/mydir/e.json +0 -0
- package/test/fixtures/deeplyNested/mydir/mydir2/f.json +0 -0
- package/test/fixtures/deeplyNested/mydir/mydir2/mydir3/mydir4/failed.json +0 -0
- package/test/fixtures/deeplyNested/mydir/mydir2/mydir3/z.json +0 -0
- package/test/fixtures/deeplyNested/mydir/mydir2/y.json +0 -0
- package/test/fixtures/deeplyNestedWithHiddenDir/c.json +0 -0
- package/test/fixtures/deeplyNestedWithHiddenDir/d.json +0 -0
- package/test/fixtures/deeplyNestedWithHiddenDir/mydir/e.json +0 -0
- package/test/fixtures/deeplyNestedWithHiddenDir/mydir/mydir2/f.json +0 -0
- package/test/fixtures/deeplyNestedWithHiddenDir/mydir/mydir2/mydir3/mydir4/.mydir5/.keep +0 -0
- package/test/fixtures/deeplyNestedWithHiddenDir/mydir/mydir2/mydir3/mydir4/failed.json +0 -0
- package/test/fixtures/deeplyNestedWithHiddenDir/mydir/mydir2/mydir3/z.json +0 -0
- package/test/fixtures/deeplyNestedWithHiddenDir/mydir/mydir2/y.json +0 -0
- package/test/fixtures/ext/Dummy.java +0 -0
- package/test/fixtures/ext/Dumpy.go +0 -0
- package/test/fixtures/ext/dummy.json +0 -0
- package/test/fixtures/ext/dummy.txt +0 -0
- package/test/fixtures/justFiles/a.json +0 -0
- package/test/fixtures/justFiles/b.json +0 -0
- package/test/fixtures/justFiles/dummy.txt +0 -0
- package/test/fixtures/mixed/a.json +0 -0
- package/test/fixtures/mixed/aabbcc.json +0 -0
- package/test/fixtures/mixed/ab.json +0 -0
- package/test/fixtures/mixed/z.json +0 -0
- package/test/fixtures/nested/.hidden1/bad.txt +0 -0
- package/test/fixtures/nested/c.json +0 -0
- package/test/fixtures/nested/d.json +0 -0
- package/test/fixtures/nested/mydir/e.json +0 -0
- package/test/fixtures/sizes/10b.txt +0 -0
- package/test/fixtures/sizes/1b.txt +0 -0
- package/test/fixtures/sizes/1k.txt +0 -0
- package/test/fixtures/sizes/2k.txt +0 -0
- package/test/fixtures/visibility/.hidden/.hidden.json +0 -0
- package/test/fixtures/visibility/.hidden/visible.json +0 -3
- package/test/fixtures/visibility/.hidden.json +0 -3
- package/test/fixtures/visibility/visible/.hidden.json +0 -3
- package/test/fixtures/visibility/visible.json +0 -3
- package/test/mocha.opts +0 -4
- package/tsconfig.json +0 -16
- package/tslint.json +0 -44
|
@@ -1,2078 +0,0 @@
|
|
|
1
|
-
<!doctype html>
|
|
2
|
-
<html lang="en">
|
|
3
|
-
<head>
|
|
4
|
-
<title>Code coverage report for filehound.ts</title>
|
|
5
|
-
<meta charset="utf-8" />
|
|
6
|
-
<link rel="stylesheet" href="prettify.css" />
|
|
7
|
-
<link rel="stylesheet" href="base.css" />
|
|
8
|
-
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
9
|
-
<style type='text/css'>
|
|
10
|
-
.coverage-summary .sorter {
|
|
11
|
-
background-image: url(sort-arrow-sprite.png);
|
|
12
|
-
}
|
|
13
|
-
</style>
|
|
14
|
-
</head>
|
|
15
|
-
<body>
|
|
16
|
-
<div class='wrapper'>
|
|
17
|
-
<div class='pad1'>
|
|
18
|
-
<h1>
|
|
19
|
-
<a href="index.html">All files</a> filehound.ts
|
|
20
|
-
</h1>
|
|
21
|
-
<div class='clearfix'>
|
|
22
|
-
<div class='fl pad1y space-right2'>
|
|
23
|
-
<span class="strong">100% </span>
|
|
24
|
-
<span class="quiet">Statements</span>
|
|
25
|
-
<span class='fraction'>121/121</span>
|
|
26
|
-
</div>
|
|
27
|
-
<div class='fl pad1y space-right2'>
|
|
28
|
-
<span class="strong">100% </span>
|
|
29
|
-
<span class="quiet">Branches</span>
|
|
30
|
-
<span class='fraction'>23/23</span>
|
|
31
|
-
</div>
|
|
32
|
-
<div class='fl pad1y space-right2'>
|
|
33
|
-
<span class="strong">100% </span>
|
|
34
|
-
<span class="quiet">Functions</span>
|
|
35
|
-
<span class='fraction'>51/51</span>
|
|
36
|
-
</div>
|
|
37
|
-
<div class='fl pad1y space-right2'>
|
|
38
|
-
<span class="strong">100% </span>
|
|
39
|
-
<span class="quiet">Lines</span>
|
|
40
|
-
<span class='fraction'>118/118</span>
|
|
41
|
-
</div>
|
|
42
|
-
</div>
|
|
43
|
-
</div>
|
|
44
|
-
<div class='status-line high'></div>
|
|
45
|
-
<pre><table class="coverage">
|
|
46
|
-
<tr><td class="line-count quiet">1
|
|
47
|
-
2
|
|
48
|
-
3
|
|
49
|
-
4
|
|
50
|
-
5
|
|
51
|
-
6
|
|
52
|
-
7
|
|
53
|
-
8
|
|
54
|
-
9
|
|
55
|
-
10
|
|
56
|
-
11
|
|
57
|
-
12
|
|
58
|
-
13
|
|
59
|
-
14
|
|
60
|
-
15
|
|
61
|
-
16
|
|
62
|
-
17
|
|
63
|
-
18
|
|
64
|
-
19
|
|
65
|
-
20
|
|
66
|
-
21
|
|
67
|
-
22
|
|
68
|
-
23
|
|
69
|
-
24
|
|
70
|
-
25
|
|
71
|
-
26
|
|
72
|
-
27
|
|
73
|
-
28
|
|
74
|
-
29
|
|
75
|
-
30
|
|
76
|
-
31
|
|
77
|
-
32
|
|
78
|
-
33
|
|
79
|
-
34
|
|
80
|
-
35
|
|
81
|
-
36
|
|
82
|
-
37
|
|
83
|
-
38
|
|
84
|
-
39
|
|
85
|
-
40
|
|
86
|
-
41
|
|
87
|
-
42
|
|
88
|
-
43
|
|
89
|
-
44
|
|
90
|
-
45
|
|
91
|
-
46
|
|
92
|
-
47
|
|
93
|
-
48
|
|
94
|
-
49
|
|
95
|
-
50
|
|
96
|
-
51
|
|
97
|
-
52
|
|
98
|
-
53
|
|
99
|
-
54
|
|
100
|
-
55
|
|
101
|
-
56
|
|
102
|
-
57
|
|
103
|
-
58
|
|
104
|
-
59
|
|
105
|
-
60
|
|
106
|
-
61
|
|
107
|
-
62
|
|
108
|
-
63
|
|
109
|
-
64
|
|
110
|
-
65
|
|
111
|
-
66
|
|
112
|
-
67
|
|
113
|
-
68
|
|
114
|
-
69
|
|
115
|
-
70
|
|
116
|
-
71
|
|
117
|
-
72
|
|
118
|
-
73
|
|
119
|
-
74
|
|
120
|
-
75
|
|
121
|
-
76
|
|
122
|
-
77
|
|
123
|
-
78
|
|
124
|
-
79
|
|
125
|
-
80
|
|
126
|
-
81
|
|
127
|
-
82
|
|
128
|
-
83
|
|
129
|
-
84
|
|
130
|
-
85
|
|
131
|
-
86
|
|
132
|
-
87
|
|
133
|
-
88
|
|
134
|
-
89
|
|
135
|
-
90
|
|
136
|
-
91
|
|
137
|
-
92
|
|
138
|
-
93
|
|
139
|
-
94
|
|
140
|
-
95
|
|
141
|
-
96
|
|
142
|
-
97
|
|
143
|
-
98
|
|
144
|
-
99
|
|
145
|
-
100
|
|
146
|
-
101
|
|
147
|
-
102
|
|
148
|
-
103
|
|
149
|
-
104
|
|
150
|
-
105
|
|
151
|
-
106
|
|
152
|
-
107
|
|
153
|
-
108
|
|
154
|
-
109
|
|
155
|
-
110
|
|
156
|
-
111
|
|
157
|
-
112
|
|
158
|
-
113
|
|
159
|
-
114
|
|
160
|
-
115
|
|
161
|
-
116
|
|
162
|
-
117
|
|
163
|
-
118
|
|
164
|
-
119
|
|
165
|
-
120
|
|
166
|
-
121
|
|
167
|
-
122
|
|
168
|
-
123
|
|
169
|
-
124
|
|
170
|
-
125
|
|
171
|
-
126
|
|
172
|
-
127
|
|
173
|
-
128
|
|
174
|
-
129
|
|
175
|
-
130
|
|
176
|
-
131
|
|
177
|
-
132
|
|
178
|
-
133
|
|
179
|
-
134
|
|
180
|
-
135
|
|
181
|
-
136
|
|
182
|
-
137
|
|
183
|
-
138
|
|
184
|
-
139
|
|
185
|
-
140
|
|
186
|
-
141
|
|
187
|
-
142
|
|
188
|
-
143
|
|
189
|
-
144
|
|
190
|
-
145
|
|
191
|
-
146
|
|
192
|
-
147
|
|
193
|
-
148
|
|
194
|
-
149
|
|
195
|
-
150
|
|
196
|
-
151
|
|
197
|
-
152
|
|
198
|
-
153
|
|
199
|
-
154
|
|
200
|
-
155
|
|
201
|
-
156
|
|
202
|
-
157
|
|
203
|
-
158
|
|
204
|
-
159
|
|
205
|
-
160
|
|
206
|
-
161
|
|
207
|
-
162
|
|
208
|
-
163
|
|
209
|
-
164
|
|
210
|
-
165
|
|
211
|
-
166
|
|
212
|
-
167
|
|
213
|
-
168
|
|
214
|
-
169
|
|
215
|
-
170
|
|
216
|
-
171
|
|
217
|
-
172
|
|
218
|
-
173
|
|
219
|
-
174
|
|
220
|
-
175
|
|
221
|
-
176
|
|
222
|
-
177
|
|
223
|
-
178
|
|
224
|
-
179
|
|
225
|
-
180
|
|
226
|
-
181
|
|
227
|
-
182
|
|
228
|
-
183
|
|
229
|
-
184
|
|
230
|
-
185
|
|
231
|
-
186
|
|
232
|
-
187
|
|
233
|
-
188
|
|
234
|
-
189
|
|
235
|
-
190
|
|
236
|
-
191
|
|
237
|
-
192
|
|
238
|
-
193
|
|
239
|
-
194
|
|
240
|
-
195
|
|
241
|
-
196
|
|
242
|
-
197
|
|
243
|
-
198
|
|
244
|
-
199
|
|
245
|
-
200
|
|
246
|
-
201
|
|
247
|
-
202
|
|
248
|
-
203
|
|
249
|
-
204
|
|
250
|
-
205
|
|
251
|
-
206
|
|
252
|
-
207
|
|
253
|
-
208
|
|
254
|
-
209
|
|
255
|
-
210
|
|
256
|
-
211
|
|
257
|
-
212
|
|
258
|
-
213
|
|
259
|
-
214
|
|
260
|
-
215
|
|
261
|
-
216
|
|
262
|
-
217
|
|
263
|
-
218
|
|
264
|
-
219
|
|
265
|
-
220
|
|
266
|
-
221
|
|
267
|
-
222
|
|
268
|
-
223
|
|
269
|
-
224
|
|
270
|
-
225
|
|
271
|
-
226
|
|
272
|
-
227
|
|
273
|
-
228
|
|
274
|
-
229
|
|
275
|
-
230
|
|
276
|
-
231
|
|
277
|
-
232
|
|
278
|
-
233
|
|
279
|
-
234
|
|
280
|
-
235
|
|
281
|
-
236
|
|
282
|
-
237
|
|
283
|
-
238
|
|
284
|
-
239
|
|
285
|
-
240
|
|
286
|
-
241
|
|
287
|
-
242
|
|
288
|
-
243
|
|
289
|
-
244
|
|
290
|
-
245
|
|
291
|
-
246
|
|
292
|
-
247
|
|
293
|
-
248
|
|
294
|
-
249
|
|
295
|
-
250
|
|
296
|
-
251
|
|
297
|
-
252
|
|
298
|
-
253
|
|
299
|
-
254
|
|
300
|
-
255
|
|
301
|
-
256
|
|
302
|
-
257
|
|
303
|
-
258
|
|
304
|
-
259
|
|
305
|
-
260
|
|
306
|
-
261
|
|
307
|
-
262
|
|
308
|
-
263
|
|
309
|
-
264
|
|
310
|
-
265
|
|
311
|
-
266
|
|
312
|
-
267
|
|
313
|
-
268
|
|
314
|
-
269
|
|
315
|
-
270
|
|
316
|
-
271
|
|
317
|
-
272
|
|
318
|
-
273
|
|
319
|
-
274
|
|
320
|
-
275
|
|
321
|
-
276
|
|
322
|
-
277
|
|
323
|
-
278
|
|
324
|
-
279
|
|
325
|
-
280
|
|
326
|
-
281
|
|
327
|
-
282
|
|
328
|
-
283
|
|
329
|
-
284
|
|
330
|
-
285
|
|
331
|
-
286
|
|
332
|
-
287
|
|
333
|
-
288
|
|
334
|
-
289
|
|
335
|
-
290
|
|
336
|
-
291
|
|
337
|
-
292
|
|
338
|
-
293
|
|
339
|
-
294
|
|
340
|
-
295
|
|
341
|
-
296
|
|
342
|
-
297
|
|
343
|
-
298
|
|
344
|
-
299
|
|
345
|
-
300
|
|
346
|
-
301
|
|
347
|
-
302
|
|
348
|
-
303
|
|
349
|
-
304
|
|
350
|
-
305
|
|
351
|
-
306
|
|
352
|
-
307
|
|
353
|
-
308
|
|
354
|
-
309
|
|
355
|
-
310
|
|
356
|
-
311
|
|
357
|
-
312
|
|
358
|
-
313
|
|
359
|
-
314
|
|
360
|
-
315
|
|
361
|
-
316
|
|
362
|
-
317
|
|
363
|
-
318
|
|
364
|
-
319
|
|
365
|
-
320
|
|
366
|
-
321
|
|
367
|
-
322
|
|
368
|
-
323
|
|
369
|
-
324
|
|
370
|
-
325
|
|
371
|
-
326
|
|
372
|
-
327
|
|
373
|
-
328
|
|
374
|
-
329
|
|
375
|
-
330
|
|
376
|
-
331
|
|
377
|
-
332
|
|
378
|
-
333
|
|
379
|
-
334
|
|
380
|
-
335
|
|
381
|
-
336
|
|
382
|
-
337
|
|
383
|
-
338
|
|
384
|
-
339
|
|
385
|
-
340
|
|
386
|
-
341
|
|
387
|
-
342
|
|
388
|
-
343
|
|
389
|
-
344
|
|
390
|
-
345
|
|
391
|
-
346
|
|
392
|
-
347
|
|
393
|
-
348
|
|
394
|
-
349
|
|
395
|
-
350
|
|
396
|
-
351
|
|
397
|
-
352
|
|
398
|
-
353
|
|
399
|
-
354
|
|
400
|
-
355
|
|
401
|
-
356
|
|
402
|
-
357
|
|
403
|
-
358
|
|
404
|
-
359
|
|
405
|
-
360
|
|
406
|
-
361
|
|
407
|
-
362
|
|
408
|
-
363
|
|
409
|
-
364
|
|
410
|
-
365
|
|
411
|
-
366
|
|
412
|
-
367
|
|
413
|
-
368
|
|
414
|
-
369
|
|
415
|
-
370
|
|
416
|
-
371
|
|
417
|
-
372
|
|
418
|
-
373
|
|
419
|
-
374
|
|
420
|
-
375
|
|
421
|
-
376
|
|
422
|
-
377
|
|
423
|
-
378
|
|
424
|
-
379
|
|
425
|
-
380
|
|
426
|
-
381
|
|
427
|
-
382
|
|
428
|
-
383
|
|
429
|
-
384
|
|
430
|
-
385
|
|
431
|
-
386
|
|
432
|
-
387
|
|
433
|
-
388
|
|
434
|
-
389
|
|
435
|
-
390
|
|
436
|
-
391
|
|
437
|
-
392
|
|
438
|
-
393
|
|
439
|
-
394
|
|
440
|
-
395
|
|
441
|
-
396
|
|
442
|
-
397
|
|
443
|
-
398
|
|
444
|
-
399
|
|
445
|
-
400
|
|
446
|
-
401
|
|
447
|
-
402
|
|
448
|
-
403
|
|
449
|
-
404
|
|
450
|
-
405
|
|
451
|
-
406
|
|
452
|
-
407
|
|
453
|
-
408
|
|
454
|
-
409
|
|
455
|
-
410
|
|
456
|
-
411
|
|
457
|
-
412
|
|
458
|
-
413
|
|
459
|
-
414
|
|
460
|
-
415
|
|
461
|
-
416
|
|
462
|
-
417
|
|
463
|
-
418
|
|
464
|
-
419
|
|
465
|
-
420
|
|
466
|
-
421
|
|
467
|
-
422
|
|
468
|
-
423
|
|
469
|
-
424
|
|
470
|
-
425
|
|
471
|
-
426
|
|
472
|
-
427
|
|
473
|
-
428
|
|
474
|
-
429
|
|
475
|
-
430
|
|
476
|
-
431
|
|
477
|
-
432
|
|
478
|
-
433
|
|
479
|
-
434
|
|
480
|
-
435
|
|
481
|
-
436
|
|
482
|
-
437
|
|
483
|
-
438
|
|
484
|
-
439
|
|
485
|
-
440
|
|
486
|
-
441
|
|
487
|
-
442
|
|
488
|
-
443
|
|
489
|
-
444
|
|
490
|
-
445
|
|
491
|
-
446
|
|
492
|
-
447
|
|
493
|
-
448
|
|
494
|
-
449
|
|
495
|
-
450
|
|
496
|
-
451
|
|
497
|
-
452
|
|
498
|
-
453
|
|
499
|
-
454
|
|
500
|
-
455
|
|
501
|
-
456
|
|
502
|
-
457
|
|
503
|
-
458
|
|
504
|
-
459
|
|
505
|
-
460
|
|
506
|
-
461
|
|
507
|
-
462
|
|
508
|
-
463
|
|
509
|
-
464
|
|
510
|
-
465
|
|
511
|
-
466
|
|
512
|
-
467
|
|
513
|
-
468
|
|
514
|
-
469
|
|
515
|
-
470
|
|
516
|
-
471
|
|
517
|
-
472
|
|
518
|
-
473
|
|
519
|
-
474
|
|
520
|
-
475
|
|
521
|
-
476
|
|
522
|
-
477
|
|
523
|
-
478
|
|
524
|
-
479
|
|
525
|
-
480
|
|
526
|
-
481
|
|
527
|
-
482
|
|
528
|
-
483
|
|
529
|
-
484
|
|
530
|
-
485
|
|
531
|
-
486
|
|
532
|
-
487
|
|
533
|
-
488
|
|
534
|
-
489
|
|
535
|
-
490
|
|
536
|
-
491
|
|
537
|
-
492
|
|
538
|
-
493
|
|
539
|
-
494
|
|
540
|
-
495
|
|
541
|
-
496
|
|
542
|
-
497
|
|
543
|
-
498
|
|
544
|
-
499
|
|
545
|
-
500
|
|
546
|
-
501
|
|
547
|
-
502
|
|
548
|
-
503
|
|
549
|
-
504
|
|
550
|
-
505
|
|
551
|
-
506
|
|
552
|
-
507
|
|
553
|
-
508
|
|
554
|
-
509
|
|
555
|
-
510
|
|
556
|
-
511
|
|
557
|
-
512
|
|
558
|
-
513
|
|
559
|
-
514
|
|
560
|
-
515
|
|
561
|
-
516
|
|
562
|
-
517
|
|
563
|
-
518
|
|
564
|
-
519
|
|
565
|
-
520
|
|
566
|
-
521
|
|
567
|
-
522
|
|
568
|
-
523
|
|
569
|
-
524
|
|
570
|
-
525
|
|
571
|
-
526
|
|
572
|
-
527
|
|
573
|
-
528
|
|
574
|
-
529
|
|
575
|
-
530
|
|
576
|
-
531
|
|
577
|
-
532
|
|
578
|
-
533
|
|
579
|
-
534
|
|
580
|
-
535
|
|
581
|
-
536
|
|
582
|
-
537
|
|
583
|
-
538
|
|
584
|
-
539
|
|
585
|
-
540
|
|
586
|
-
541
|
|
587
|
-
542
|
|
588
|
-
543
|
|
589
|
-
544
|
|
590
|
-
545
|
|
591
|
-
546
|
|
592
|
-
547
|
|
593
|
-
548
|
|
594
|
-
549
|
|
595
|
-
550
|
|
596
|
-
551
|
|
597
|
-
552
|
|
598
|
-
553
|
|
599
|
-
554
|
|
600
|
-
555
|
|
601
|
-
556
|
|
602
|
-
557
|
|
603
|
-
558
|
|
604
|
-
559
|
|
605
|
-
560
|
|
606
|
-
561
|
|
607
|
-
562
|
|
608
|
-
563
|
|
609
|
-
564
|
|
610
|
-
565
|
|
611
|
-
566
|
|
612
|
-
567
|
|
613
|
-
568
|
|
614
|
-
569
|
|
615
|
-
570
|
|
616
|
-
571
|
|
617
|
-
572
|
|
618
|
-
573
|
|
619
|
-
574
|
|
620
|
-
575
|
|
621
|
-
576
|
|
622
|
-
577
|
|
623
|
-
578
|
|
624
|
-
579
|
|
625
|
-
580
|
|
626
|
-
581
|
|
627
|
-
582
|
|
628
|
-
583
|
|
629
|
-
584
|
|
630
|
-
585
|
|
631
|
-
586
|
|
632
|
-
587
|
|
633
|
-
588
|
|
634
|
-
589
|
|
635
|
-
590
|
|
636
|
-
591
|
|
637
|
-
592
|
|
638
|
-
593
|
|
639
|
-
594
|
|
640
|
-
595
|
|
641
|
-
596
|
|
642
|
-
597
|
|
643
|
-
598
|
|
644
|
-
599
|
|
645
|
-
600
|
|
646
|
-
601
|
|
647
|
-
602
|
|
648
|
-
603
|
|
649
|
-
604
|
|
650
|
-
605
|
|
651
|
-
606
|
|
652
|
-
607
|
|
653
|
-
608
|
|
654
|
-
609
|
|
655
|
-
610
|
|
656
|
-
611
|
|
657
|
-
612
|
|
658
|
-
613
|
|
659
|
-
614
|
|
660
|
-
615
|
|
661
|
-
616
|
|
662
|
-
617
|
|
663
|
-
618
|
|
664
|
-
619
|
|
665
|
-
620
|
|
666
|
-
621
|
|
667
|
-
622
|
|
668
|
-
623
|
|
669
|
-
624
|
|
670
|
-
625
|
|
671
|
-
626
|
|
672
|
-
627
|
|
673
|
-
628
|
|
674
|
-
629
|
|
675
|
-
630
|
|
676
|
-
631
|
|
677
|
-
632
|
|
678
|
-
633
|
|
679
|
-
634
|
|
680
|
-
635
|
|
681
|
-
636
|
|
682
|
-
637
|
|
683
|
-
638
|
|
684
|
-
639
|
|
685
|
-
640
|
|
686
|
-
641
|
|
687
|
-
642
|
|
688
|
-
643
|
|
689
|
-
644
|
|
690
|
-
645
|
|
691
|
-
646
|
|
692
|
-
647
|
|
693
|
-
648
|
|
694
|
-
649
|
|
695
|
-
650
|
|
696
|
-
651
|
|
697
|
-
652
|
|
698
|
-
653
|
|
699
|
-
654
|
|
700
|
-
655
|
|
701
|
-
656
|
|
702
|
-
657
|
|
703
|
-
658
|
|
704
|
-
659
|
|
705
|
-
660
|
|
706
|
-
661
|
|
707
|
-
662
|
|
708
|
-
663
|
|
709
|
-
664
|
|
710
|
-
665
|
|
711
|
-
666
|
|
712
|
-
667
|
|
713
|
-
668
|
|
714
|
-
669
|
|
715
|
-
670
|
|
716
|
-
671
|
|
717
|
-
672</td><td class="line-coverage quiet"><span class="cline-any cline-yes">1x</span>
|
|
718
|
-
<span class="cline-any cline-yes">1x</span>
|
|
719
|
-
<span class="cline-any cline-yes">1x</span>
|
|
720
|
-
<span class="cline-any cline-yes">1x</span>
|
|
721
|
-
<span class="cline-any cline-neutral"> </span>
|
|
722
|
-
<span class="cline-any cline-yes">1x</span>
|
|
723
|
-
<span class="cline-any cline-yes">1x</span>
|
|
724
|
-
<span class="cline-any cline-yes">1x</span>
|
|
725
|
-
<span class="cline-any cline-yes">1x</span>
|
|
726
|
-
<span class="cline-any cline-yes">1x</span>
|
|
727
|
-
<span class="cline-any cline-neutral"> </span>
|
|
728
|
-
<span class="cline-any cline-neutral"> </span>
|
|
729
|
-
<span class="cline-any cline-yes">197x</span>
|
|
730
|
-
<span class="cline-any cline-neutral"> </span>
|
|
731
|
-
<span class="cline-any cline-neutral"> </span>
|
|
732
|
-
<span class="cline-any cline-neutral"> </span>
|
|
733
|
-
<span class="cline-any cline-yes">264x</span>
|
|
734
|
-
<span class="cline-any cline-neutral"> </span>
|
|
735
|
-
<span class="cline-any cline-neutral"> </span>
|
|
736
|
-
<span class="cline-any cline-neutral"> </span>
|
|
737
|
-
<span class="cline-any cline-yes">131x</span>
|
|
738
|
-
<span class="cline-any cline-neutral"> </span>
|
|
739
|
-
<span class="cline-any cline-neutral"> </span>
|
|
740
|
-
<span class="cline-any cline-neutral"> </span>
|
|
741
|
-
<span class="cline-any cline-yes">8x</span>
|
|
742
|
-
<span class="cline-any cline-yes">28x</span>
|
|
743
|
-
<span class="cline-any cline-neutral"> </span>
|
|
744
|
-
<span class="cline-any cline-neutral"> </span>
|
|
745
|
-
<span class="cline-any cline-neutral"> </span>
|
|
746
|
-
<span class="cline-any cline-neutral"> </span>
|
|
747
|
-
<span class="cline-any cline-yes">8x</span>
|
|
748
|
-
<span class="cline-any cline-yes">3x</span>
|
|
749
|
-
<span class="cline-any cline-neutral"> </span>
|
|
750
|
-
<span class="cline-any cline-yes">5x</span>
|
|
751
|
-
<span class="cline-any cline-neutral"> </span>
|
|
752
|
-
<span class="cline-any cline-neutral"> </span>
|
|
753
|
-
<span class="cline-any cline-neutral"> </span>
|
|
754
|
-
<span class="cline-any cline-neutral"> </span>
|
|
755
|
-
<span class="cline-any cline-neutral"> </span>
|
|
756
|
-
<span class="cline-any cline-neutral"> </span>
|
|
757
|
-
<span class="cline-any cline-neutral"> </span>
|
|
758
|
-
<span class="cline-any cline-neutral"> </span>
|
|
759
|
-
<span class="cline-any cline-neutral"> </span>
|
|
760
|
-
<span class="cline-any cline-neutral"> </span>
|
|
761
|
-
<span class="cline-any cline-neutral"> </span>
|
|
762
|
-
<span class="cline-any cline-neutral"> </span>
|
|
763
|
-
<span class="cline-any cline-neutral"> </span>
|
|
764
|
-
<span class="cline-any cline-neutral"> </span>
|
|
765
|
-
<span class="cline-any cline-yes">61x</span>
|
|
766
|
-
<span class="cline-any cline-yes">61x</span>
|
|
767
|
-
<span class="cline-any cline-yes">61x</span>
|
|
768
|
-
<span class="cline-any cline-yes">61x</span>
|
|
769
|
-
<span class="cline-any cline-yes">61x</span>
|
|
770
|
-
<span class="cline-any cline-yes">61x</span>
|
|
771
|
-
<span class="cline-any cline-yes">61x</span>
|
|
772
|
-
<span class="cline-any cline-yes">61x</span>
|
|
773
|
-
<span class="cline-any cline-neutral"> </span>
|
|
774
|
-
<span class="cline-any cline-neutral"> </span>
|
|
775
|
-
<span class="cline-any cline-neutral"> </span>
|
|
776
|
-
<span class="cline-any cline-neutral"> </span>
|
|
777
|
-
<span class="cline-any cline-neutral"> </span>
|
|
778
|
-
<span class="cline-any cline-neutral"> </span>
|
|
779
|
-
<span class="cline-any cline-neutral"> </span>
|
|
780
|
-
<span class="cline-any cline-neutral"> </span>
|
|
781
|
-
<span class="cline-any cline-neutral"> </span>
|
|
782
|
-
<span class="cline-any cline-neutral"> </span>
|
|
783
|
-
<span class="cline-any cline-neutral"> </span>
|
|
784
|
-
<span class="cline-any cline-neutral"> </span>
|
|
785
|
-
<span class="cline-any cline-neutral"> </span>
|
|
786
|
-
<span class="cline-any cline-neutral"> </span>
|
|
787
|
-
<span class="cline-any cline-neutral"> </span>
|
|
788
|
-
<span class="cline-any cline-neutral"> </span>
|
|
789
|
-
<span class="cline-any cline-yes">61x</span>
|
|
790
|
-
<span class="cline-any cline-neutral"> </span>
|
|
791
|
-
<span class="cline-any cline-neutral"> </span>
|
|
792
|
-
<span class="cline-any cline-neutral"> </span>
|
|
793
|
-
<span class="cline-any cline-neutral"> </span>
|
|
794
|
-
<span class="cline-any cline-neutral"> </span>
|
|
795
|
-
<span class="cline-any cline-neutral"> </span>
|
|
796
|
-
<span class="cline-any cline-neutral"> </span>
|
|
797
|
-
<span class="cline-any cline-neutral"> </span>
|
|
798
|
-
<span class="cline-any cline-neutral"> </span>
|
|
799
|
-
<span class="cline-any cline-neutral"> </span>
|
|
800
|
-
<span class="cline-any cline-neutral"> </span>
|
|
801
|
-
<span class="cline-any cline-neutral"> </span>
|
|
802
|
-
<span class="cline-any cline-neutral"> </span>
|
|
803
|
-
<span class="cline-any cline-neutral"> </span>
|
|
804
|
-
<span class="cline-any cline-neutral"> </span>
|
|
805
|
-
<span class="cline-any cline-neutral"> </span>
|
|
806
|
-
<span class="cline-any cline-neutral"> </span>
|
|
807
|
-
<span class="cline-any cline-yes">1x</span>
|
|
808
|
-
<span class="cline-any cline-yes">1x</span>
|
|
809
|
-
<span class="cline-any cline-neutral"> </span>
|
|
810
|
-
<span class="cline-any cline-neutral"> </span>
|
|
811
|
-
<span class="cline-any cline-neutral"> </span>
|
|
812
|
-
<span class="cline-any cline-neutral"> </span>
|
|
813
|
-
<span class="cline-any cline-neutral"> </span>
|
|
814
|
-
<span class="cline-any cline-neutral"> </span>
|
|
815
|
-
<span class="cline-any cline-neutral"> </span>
|
|
816
|
-
<span class="cline-any cline-neutral"> </span>
|
|
817
|
-
<span class="cline-any cline-neutral"> </span>
|
|
818
|
-
<span class="cline-any cline-neutral"> </span>
|
|
819
|
-
<span class="cline-any cline-neutral"> </span>
|
|
820
|
-
<span class="cline-any cline-neutral"> </span>
|
|
821
|
-
<span class="cline-any cline-neutral"> </span>
|
|
822
|
-
<span class="cline-any cline-neutral"> </span>
|
|
823
|
-
<span class="cline-any cline-neutral"> </span>
|
|
824
|
-
<span class="cline-any cline-neutral"> </span>
|
|
825
|
-
<span class="cline-any cline-neutral"> </span>
|
|
826
|
-
<span class="cline-any cline-neutral"> </span>
|
|
827
|
-
<span class="cline-any cline-neutral"> </span>
|
|
828
|
-
<span class="cline-any cline-neutral"> </span>
|
|
829
|
-
<span class="cline-any cline-yes">3x</span>
|
|
830
|
-
<span class="cline-any cline-yes">15x</span>
|
|
831
|
-
<span class="cline-any cline-yes">15x</span>
|
|
832
|
-
<span class="cline-any cline-neutral"> </span>
|
|
833
|
-
<span class="cline-any cline-yes">3x</span>
|
|
834
|
-
<span class="cline-any cline-neutral"> </span>
|
|
835
|
-
<span class="cline-any cline-neutral"> </span>
|
|
836
|
-
<span class="cline-any cline-neutral"> </span>
|
|
837
|
-
<span class="cline-any cline-neutral"> </span>
|
|
838
|
-
<span class="cline-any cline-neutral"> </span>
|
|
839
|
-
<span class="cline-any cline-neutral"> </span>
|
|
840
|
-
<span class="cline-any cline-neutral"> </span>
|
|
841
|
-
<span class="cline-any cline-neutral"> </span>
|
|
842
|
-
<span class="cline-any cline-neutral"> </span>
|
|
843
|
-
<span class="cline-any cline-neutral"> </span>
|
|
844
|
-
<span class="cline-any cline-neutral"> </span>
|
|
845
|
-
<span class="cline-any cline-neutral"> </span>
|
|
846
|
-
<span class="cline-any cline-neutral"> </span>
|
|
847
|
-
<span class="cline-any cline-neutral"> </span>
|
|
848
|
-
<span class="cline-any cline-neutral"> </span>
|
|
849
|
-
<span class="cline-any cline-neutral"> </span>
|
|
850
|
-
<span class="cline-any cline-neutral"> </span>
|
|
851
|
-
<span class="cline-any cline-neutral"> </span>
|
|
852
|
-
<span class="cline-any cline-neutral"> </span>
|
|
853
|
-
<span class="cline-any cline-neutral"> </span>
|
|
854
|
-
<span class="cline-any cline-yes">3x</span>
|
|
855
|
-
<span class="cline-any cline-yes">15x</span>
|
|
856
|
-
<span class="cline-any cline-yes">15x</span>
|
|
857
|
-
<span class="cline-any cline-neutral"> </span>
|
|
858
|
-
<span class="cline-any cline-yes">3x</span>
|
|
859
|
-
<span class="cline-any cline-neutral"> </span>
|
|
860
|
-
<span class="cline-any cline-neutral"> </span>
|
|
861
|
-
<span class="cline-any cline-neutral"> </span>
|
|
862
|
-
<span class="cline-any cline-neutral"> </span>
|
|
863
|
-
<span class="cline-any cline-neutral"> </span>
|
|
864
|
-
<span class="cline-any cline-neutral"> </span>
|
|
865
|
-
<span class="cline-any cline-neutral"> </span>
|
|
866
|
-
<span class="cline-any cline-neutral"> </span>
|
|
867
|
-
<span class="cline-any cline-neutral"> </span>
|
|
868
|
-
<span class="cline-any cline-neutral"> </span>
|
|
869
|
-
<span class="cline-any cline-neutral"> </span>
|
|
870
|
-
<span class="cline-any cline-neutral"> </span>
|
|
871
|
-
<span class="cline-any cline-neutral"> </span>
|
|
872
|
-
<span class="cline-any cline-neutral"> </span>
|
|
873
|
-
<span class="cline-any cline-neutral"> </span>
|
|
874
|
-
<span class="cline-any cline-neutral"> </span>
|
|
875
|
-
<span class="cline-any cline-neutral"> </span>
|
|
876
|
-
<span class="cline-any cline-neutral"> </span>
|
|
877
|
-
<span class="cline-any cline-neutral"> </span>
|
|
878
|
-
<span class="cline-any cline-neutral"> </span>
|
|
879
|
-
<span class="cline-any cline-neutral"> </span>
|
|
880
|
-
<span class="cline-any cline-yes">3x</span>
|
|
881
|
-
<span class="cline-any cline-yes">15x</span>
|
|
882
|
-
<span class="cline-any cline-yes">15x</span>
|
|
883
|
-
<span class="cline-any cline-neutral"> </span>
|
|
884
|
-
<span class="cline-any cline-yes">3x</span>
|
|
885
|
-
<span class="cline-any cline-neutral"> </span>
|
|
886
|
-
<span class="cline-any cline-neutral"> </span>
|
|
887
|
-
<span class="cline-any cline-neutral"> </span>
|
|
888
|
-
<span class="cline-any cline-neutral"> </span>
|
|
889
|
-
<span class="cline-any cline-neutral"> </span>
|
|
890
|
-
<span class="cline-any cline-neutral"> </span>
|
|
891
|
-
<span class="cline-any cline-neutral"> </span>
|
|
892
|
-
<span class="cline-any cline-neutral"> </span>
|
|
893
|
-
<span class="cline-any cline-neutral"> </span>
|
|
894
|
-
<span class="cline-any cline-neutral"> </span>
|
|
895
|
-
<span class="cline-any cline-neutral"> </span>
|
|
896
|
-
<span class="cline-any cline-neutral"> </span>
|
|
897
|
-
<span class="cline-any cline-neutral"> </span>
|
|
898
|
-
<span class="cline-any cline-neutral"> </span>
|
|
899
|
-
<span class="cline-any cline-neutral"> </span>
|
|
900
|
-
<span class="cline-any cline-neutral"> </span>
|
|
901
|
-
<span class="cline-any cline-neutral"> </span>
|
|
902
|
-
<span class="cline-any cline-neutral"> </span>
|
|
903
|
-
<span class="cline-any cline-neutral"> </span>
|
|
904
|
-
<span class="cline-any cline-neutral"> </span>
|
|
905
|
-
<span class="cline-any cline-yes">44x</span>
|
|
906
|
-
<span class="cline-any cline-yes">44x</span>
|
|
907
|
-
<span class="cline-any cline-neutral"> </span>
|
|
908
|
-
<span class="cline-any cline-neutral"> </span>
|
|
909
|
-
<span class="cline-any cline-neutral"> </span>
|
|
910
|
-
<span class="cline-any cline-neutral"> </span>
|
|
911
|
-
<span class="cline-any cline-neutral"> </span>
|
|
912
|
-
<span class="cline-any cline-neutral"> </span>
|
|
913
|
-
<span class="cline-any cline-neutral"> </span>
|
|
914
|
-
<span class="cline-any cline-neutral"> </span>
|
|
915
|
-
<span class="cline-any cline-neutral"> </span>
|
|
916
|
-
<span class="cline-any cline-neutral"> </span>
|
|
917
|
-
<span class="cline-any cline-neutral"> </span>
|
|
918
|
-
<span class="cline-any cline-neutral"> </span>
|
|
919
|
-
<span class="cline-any cline-neutral"> </span>
|
|
920
|
-
<span class="cline-any cline-neutral"> </span>
|
|
921
|
-
<span class="cline-any cline-neutral"> </span>
|
|
922
|
-
<span class="cline-any cline-neutral"> </span>
|
|
923
|
-
<span class="cline-any cline-neutral"> </span>
|
|
924
|
-
<span class="cline-any cline-neutral"> </span>
|
|
925
|
-
<span class="cline-any cline-neutral"> </span>
|
|
926
|
-
<span class="cline-any cline-neutral"> </span>
|
|
927
|
-
<span class="cline-any cline-neutral"> </span>
|
|
928
|
-
<span class="cline-any cline-yes">61x</span>
|
|
929
|
-
<span class="cline-any cline-yes">61x</span>
|
|
930
|
-
<span class="cline-any cline-neutral"> </span>
|
|
931
|
-
<span class="cline-any cline-neutral"> </span>
|
|
932
|
-
<span class="cline-any cline-neutral"> </span>
|
|
933
|
-
<span class="cline-any cline-neutral"> </span>
|
|
934
|
-
<span class="cline-any cline-neutral"> </span>
|
|
935
|
-
<span class="cline-any cline-neutral"> </span>
|
|
936
|
-
<span class="cline-any cline-neutral"> </span>
|
|
937
|
-
<span class="cline-any cline-neutral"> </span>
|
|
938
|
-
<span class="cline-any cline-neutral"> </span>
|
|
939
|
-
<span class="cline-any cline-neutral"> </span>
|
|
940
|
-
<span class="cline-any cline-neutral"> </span>
|
|
941
|
-
<span class="cline-any cline-neutral"> </span>
|
|
942
|
-
<span class="cline-any cline-neutral"> </span>
|
|
943
|
-
<span class="cline-any cline-neutral"> </span>
|
|
944
|
-
<span class="cline-any cline-neutral"> </span>
|
|
945
|
-
<span class="cline-any cline-neutral"> </span>
|
|
946
|
-
<span class="cline-any cline-neutral"> </span>
|
|
947
|
-
<span class="cline-any cline-neutral"> </span>
|
|
948
|
-
<span class="cline-any cline-neutral"> </span>
|
|
949
|
-
<span class="cline-any cline-neutral"> </span>
|
|
950
|
-
<span class="cline-any cline-neutral"> </span>
|
|
951
|
-
<span class="cline-any cline-yes">6x</span>
|
|
952
|
-
<span class="cline-any cline-neutral"> </span>
|
|
953
|
-
<span class="cline-any cline-neutral"> </span>
|
|
954
|
-
<span class="cline-any cline-neutral"> </span>
|
|
955
|
-
<span class="cline-any cline-neutral"> </span>
|
|
956
|
-
<span class="cline-any cline-neutral"> </span>
|
|
957
|
-
<span class="cline-any cline-neutral"> </span>
|
|
958
|
-
<span class="cline-any cline-neutral"> </span>
|
|
959
|
-
<span class="cline-any cline-neutral"> </span>
|
|
960
|
-
<span class="cline-any cline-neutral"> </span>
|
|
961
|
-
<span class="cline-any cline-neutral"> </span>
|
|
962
|
-
<span class="cline-any cline-neutral"> </span>
|
|
963
|
-
<span class="cline-any cline-neutral"> </span>
|
|
964
|
-
<span class="cline-any cline-neutral"> </span>
|
|
965
|
-
<span class="cline-any cline-neutral"> </span>
|
|
966
|
-
<span class="cline-any cline-neutral"> </span>
|
|
967
|
-
<span class="cline-any cline-neutral"> </span>
|
|
968
|
-
<span class="cline-any cline-neutral"> </span>
|
|
969
|
-
<span class="cline-any cline-neutral"> </span>
|
|
970
|
-
<span class="cline-any cline-neutral"> </span>
|
|
971
|
-
<span class="cline-any cline-neutral"> </span>
|
|
972
|
-
<span class="cline-any cline-neutral"> </span>
|
|
973
|
-
<span class="cline-any cline-yes">6x</span>
|
|
974
|
-
<span class="cline-any cline-yes">6x</span>
|
|
975
|
-
<span class="cline-any cline-yes">8x</span>
|
|
976
|
-
<span class="cline-any cline-neutral"> </span>
|
|
977
|
-
<span class="cline-any cline-yes">6x</span>
|
|
978
|
-
<span class="cline-any cline-neutral"> </span>
|
|
979
|
-
<span class="cline-any cline-neutral"> </span>
|
|
980
|
-
<span class="cline-any cline-neutral"> </span>
|
|
981
|
-
<span class="cline-any cline-neutral"> </span>
|
|
982
|
-
<span class="cline-any cline-neutral"> </span>
|
|
983
|
-
<span class="cline-any cline-neutral"> </span>
|
|
984
|
-
<span class="cline-any cline-neutral"> </span>
|
|
985
|
-
<span class="cline-any cline-neutral"> </span>
|
|
986
|
-
<span class="cline-any cline-neutral"> </span>
|
|
987
|
-
<span class="cline-any cline-neutral"> </span>
|
|
988
|
-
<span class="cline-any cline-neutral"> </span>
|
|
989
|
-
<span class="cline-any cline-neutral"> </span>
|
|
990
|
-
<span class="cline-any cline-neutral"> </span>
|
|
991
|
-
<span class="cline-any cline-neutral"> </span>
|
|
992
|
-
<span class="cline-any cline-neutral"> </span>
|
|
993
|
-
<span class="cline-any cline-neutral"> </span>
|
|
994
|
-
<span class="cline-any cline-neutral"> </span>
|
|
995
|
-
<span class="cline-any cline-neutral"> </span>
|
|
996
|
-
<span class="cline-any cline-neutral"> </span>
|
|
997
|
-
<span class="cline-any cline-neutral"> </span>
|
|
998
|
-
<span class="cline-any cline-neutral"> </span>
|
|
999
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1000
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1001
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1002
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1003
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1004
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1005
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1006
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1007
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1008
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1009
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1010
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1011
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1012
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1013
|
-
<span class="cline-any cline-yes">6x</span>
|
|
1014
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1015
|
-
<span class="cline-any cline-yes">6x</span>
|
|
1016
|
-
<span class="cline-any cline-yes">20x</span>
|
|
1017
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1018
|
-
<span class="cline-any cline-yes">6x</span>
|
|
1019
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1020
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1021
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1022
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1023
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1024
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1025
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1026
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1027
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1028
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1029
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1030
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1031
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1032
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1033
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1034
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1035
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1036
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1037
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1038
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1039
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1040
|
-
<span class="cline-any cline-yes">10x</span>
|
|
1041
|
-
<span class="cline-any cline-yes">37x</span>
|
|
1042
|
-
<span class="cline-any cline-yes">37x</span>
|
|
1043
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1044
|
-
<span class="cline-any cline-yes">10x</span>
|
|
1045
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1046
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1047
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1048
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1049
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1050
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1051
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1052
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1053
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1054
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1055
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1056
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1057
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1058
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1059
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1060
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1061
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1062
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1063
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1064
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1065
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1066
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1067
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1068
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1069
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1070
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1071
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1072
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1073
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1074
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1075
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1076
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1077
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1078
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1079
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1080
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1081
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1082
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1083
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1084
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1085
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1086
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1087
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1088
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1089
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1090
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1091
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1092
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1093
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1094
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1095
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1096
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1097
|
-
<span class="cline-any cline-yes">7x</span>
|
|
1098
|
-
<span class="cline-any cline-yes">64x</span>
|
|
1099
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1100
|
-
<span class="cline-any cline-yes">7x</span>
|
|
1101
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1102
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1103
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1104
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1105
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1106
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1107
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1108
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1109
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1110
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1111
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1112
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1113
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1114
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1115
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1116
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1117
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1118
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1119
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1120
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1121
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1122
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1123
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1124
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1125
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1126
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1127
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1128
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1129
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1130
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1131
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1132
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1133
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1134
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1135
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1136
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1137
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1138
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1139
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1140
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1141
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1142
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1143
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1144
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1145
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1146
|
-
<span class="cline-any cline-yes">9x</span>
|
|
1147
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1148
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1149
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1150
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1151
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1152
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1153
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1154
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1155
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1156
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1157
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1158
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1159
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1160
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1161
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1162
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1163
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1164
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1165
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1166
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1167
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1168
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1169
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1170
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1171
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1172
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1173
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1174
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1175
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1176
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1177
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1178
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1179
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1180
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1181
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1182
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1183
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1184
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1185
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1186
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1187
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1188
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1189
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1190
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1191
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1192
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1193
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1194
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1195
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1196
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1197
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1198
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1199
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1200
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1201
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1202
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1203
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1204
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1205
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1206
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1207
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1208
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1209
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1210
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1211
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1212
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1213
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1214
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1215
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1216
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1217
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1218
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1219
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1220
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1221
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1222
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1223
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1224
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1225
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1226
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1227
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1228
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1229
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1230
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1231
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1232
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1233
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1234
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1235
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1236
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1237
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1238
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1239
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1240
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1241
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1242
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1243
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1244
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1245
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1246
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1247
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1248
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1249
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1250
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1251
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1252
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1253
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1254
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1255
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1256
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1257
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1258
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1259
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1260
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1261
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1262
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1263
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1264
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1265
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1266
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1267
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1268
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1269
|
-
<span class="cline-any cline-yes">55x</span>
|
|
1270
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1271
|
-
<span class="cline-any cline-yes">55x</span>
|
|
1272
|
-
<span class="cline-any cline-yes">55x</span>
|
|
1273
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1274
|
-
<span class="cline-any cline-yes">55x</span>
|
|
1275
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1276
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1277
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1278
|
-
<span class="cline-any cline-yes">2x</span>
|
|
1279
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1280
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1281
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1282
|
-
<span class="cline-any cline-yes">55x</span>
|
|
1283
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1284
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1285
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1286
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1287
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1288
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1289
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1290
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1291
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1292
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1293
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1294
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1295
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1296
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1297
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1298
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1299
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1300
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1301
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1302
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1303
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1304
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1305
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1306
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1307
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1308
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1309
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1310
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1311
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1312
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1313
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1314
|
-
<span class="cline-any cline-yes">137x</span>
|
|
1315
|
-
<span class="cline-any cline-yes">135x</span>
|
|
1316
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1317
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1318
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1319
|
-
<span class="cline-any cline-yes">137x</span>
|
|
1320
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1321
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1322
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1323
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1324
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1325
|
-
<span class="cline-any cline-yes">58x</span>
|
|
1326
|
-
<span class="cline-any cline-yes">58x</span>
|
|
1327
|
-
<span class="cline-any cline-yes">4x</span>
|
|
1328
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1329
|
-
<span class="cline-any cline-yes">54x</span>
|
|
1330
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1331
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1332
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1333
|
-
<span class="cline-any cline-yes">58x</span>
|
|
1334
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1335
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1336
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1337
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1338
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1339
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1340
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1341
|
-
<span class="cline-any cline-yes">3x</span>
|
|
1342
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1343
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1344
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1345
|
-
<span class="cline-any cline-yes">58x</span>
|
|
1346
|
-
<span class="cline-any cline-yes">58x</span>
|
|
1347
|
-
<span class="cline-any cline-yes">58x</span>
|
|
1348
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1349
|
-
<span class="cline-any cline-yes">56x</span>
|
|
1350
|
-
<span class="cline-any cline-yes">56x</span>
|
|
1351
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1352
|
-
<span class="cline-any cline-yes">53x</span>
|
|
1353
|
-
<span class="cline-any cline-yes">113x</span>
|
|
1354
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1355
|
-
<span class="cline-any cline-yes">53x</span>
|
|
1356
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1357
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1358
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1359
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1360
|
-
<span class="cline-any cline-yes">99x</span>
|
|
1361
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1362
|
-
<span class="cline-any cline-yes">90x</span>
|
|
1363
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1364
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1365
|
-
<span class="cline-any cline-yes">90x</span>
|
|
1366
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1367
|
-
<span class="cline-any cline-yes">259x</span>
|
|
1368
|
-
<span class="cline-any cline-yes">38x</span>
|
|
1369
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1370
|
-
<span class="cline-any cline-yes">38x</span>
|
|
1371
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1372
|
-
<span class="cline-any cline-yes">221x</span>
|
|
1373
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1374
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1375
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1376
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1377
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1378
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1379
|
-
<span class="cline-any cline-yes">62x</span>
|
|
1380
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1381
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1382
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1383
|
-
<span class="cline-any cline-yes">62x</span>
|
|
1384
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1385
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1386
|
-
<span class="cline-any cline-neutral"> </span>
|
|
1387
|
-
<span class="cline-any cline-yes">1x</span>
|
|
1388
|
-
<span class="cline-any cline-neutral"> </span></td><td class="text"><pre class="prettyprint lang-js">import * as _ from "lodash";
|
|
1389
|
-
import { Promise } from "bluebird";
|
|
1390
|
-
import * as path from "path";
|
|
1391
|
-
import * as File from "file-js";
|
|
1392
|
-
|
|
1393
|
-
import { negate, compose } from "./functions";
|
|
1394
|
-
import { reducePaths } from "./files";
|
|
1395
|
-
import { copy, from } from "./arrays";
|
|
1396
|
-
import { isDate, isNumber } from "unit-compare";
|
|
1397
|
-
import { EventEmitter } from "events";
|
|
1398
|
-
|
|
1399
|
-
function isDefined(value) {
|
|
1400
|
-
return value !== undefined;
|
|
1401
|
-
}
|
|
1402
|
-
|
|
1403
|
-
function flatten(a, b) {
|
|
1404
|
-
return a.concat(b);
|
|
1405
|
-
}
|
|
1406
|
-
|
|
1407
|
-
function getFilename(file) {
|
|
1408
|
-
return file.getName();
|
|
1409
|
-
}
|
|
1410
|
-
|
|
1411
|
-
function isRegExpMatch(pattern) {
|
|
1412
|
-
return file => {
|
|
1413
|
-
return new RegExp(pattern).test(file.getName());
|
|
1414
|
-
};
|
|
1415
|
-
}
|
|
1416
|
-
|
|
1417
|
-
function cleanExtension(ext) {
|
|
1418
|
-
if (_.startsWith(ext, ".")) {
|
|
1419
|
-
return ext.slice(1);
|
|
1420
|
-
}
|
|
1421
|
-
return ext;
|
|
1422
|
-
}
|
|
1423
|
-
|
|
1424
|
-
/** @class */
|
|
1425
|
-
class FileHound extends EventEmitter {
|
|
1426
|
-
private filters: Array<(args: any) => any>;
|
|
1427
|
-
private searchPaths: Array<string>;
|
|
1428
|
-
private ignoreDirs: boolean;
|
|
1429
|
-
private isMatch: (args: any) => boolean;
|
|
1430
|
-
private sync: boolean;
|
|
1431
|
-
private directoriesOnly: boolean;
|
|
1432
|
-
private negateFilters: boolean;
|
|
1433
|
-
private maxDepth: number;
|
|
1434
|
-
|
|
1435
|
-
constructor() {
|
|
1436
|
-
super();
|
|
1437
|
-
this.filters = [];
|
|
1438
|
-
this.searchPaths = [];
|
|
1439
|
-
this.searchPaths.push(process.cwd());
|
|
1440
|
-
this.ignoreDirs = false;
|
|
1441
|
-
this.isMatch = _.noop;
|
|
1442
|
-
this.sync = false;
|
|
1443
|
-
this.directoriesOnly = false;
|
|
1444
|
-
}
|
|
1445
|
-
|
|
1446
|
-
/**
|
|
1447
|
-
* Static factory method to create an instance of FileHound
|
|
1448
|
-
*
|
|
1449
|
-
* @static
|
|
1450
|
-
* @memberOf FileHound
|
|
1451
|
-
* @method
|
|
1452
|
-
* create
|
|
1453
|
-
* @return FileHound instance
|
|
1454
|
-
* @example
|
|
1455
|
-
* import FileHound from 'filehound';
|
|
1456
|
-
*
|
|
1457
|
-
* const filehound = FileHound.create();
|
|
1458
|
-
*/
|
|
1459
|
-
static create(): FileHound {
|
|
1460
|
-
return new FileHound();
|
|
1461
|
-
}
|
|
1462
|
-
|
|
1463
|
-
/**
|
|
1464
|
-
* Returns all matches from one of more FileHound instances
|
|
1465
|
-
*
|
|
1466
|
-
* @static
|
|
1467
|
-
* @memberOf FileHound
|
|
1468
|
-
* @method
|
|
1469
|
-
* any
|
|
1470
|
-
* @return a promise containing all matches. If the Promise fulfils,
|
|
1471
|
-
* the fulfilment value is an array of all matching files.
|
|
1472
|
-
* @example
|
|
1473
|
-
* import FileHound from 'filehound';
|
|
1474
|
-
*
|
|
1475
|
-
* const filehound = FileHound.any(fh1, fh2);
|
|
1476
|
-
*/
|
|
1477
|
-
static any(...args) {
|
|
1478
|
-
const args1 = from(args);
|
|
1479
|
-
return Promise.all(args1).reduce(flatten, []);
|
|
1480
|
-
}
|
|
1481
|
-
|
|
1482
|
-
/**
|
|
1483
|
-
* Filters by modifiction time
|
|
1484
|
-
*
|
|
1485
|
-
* @memberOf FileHound
|
|
1486
|
-
* @method
|
|
1487
|
-
* modified
|
|
1488
|
-
* @param {string} dateExpression - date expression
|
|
1489
|
-
* @return a FileHound instance
|
|
1490
|
-
* @example
|
|
1491
|
-
* import FileHound from 'filehound';
|
|
1492
|
-
*
|
|
1493
|
-
* const filehound = FileHound.create();
|
|
1494
|
-
* filehound
|
|
1495
|
-
* .modified("< 2 days")
|
|
1496
|
-
* .find()
|
|
1497
|
-
* .each(console.log);
|
|
1498
|
-
*/
|
|
1499
|
-
modified(pattern) {
|
|
1500
|
-
this.addFilter(file => {
|
|
1501
|
-
const modified = file.lastModifiedSync();
|
|
1502
|
-
return isDate(modified).assert(pattern);
|
|
1503
|
-
});
|
|
1504
|
-
return this;
|
|
1505
|
-
}
|
|
1506
|
-
|
|
1507
|
-
/**
|
|
1508
|
-
* Filters by file access time
|
|
1509
|
-
*
|
|
1510
|
-
* @memberOf FileHound
|
|
1511
|
-
* @method
|
|
1512
|
-
* accessed
|
|
1513
|
-
* @param {string} dateExpression - date expression
|
|
1514
|
-
* @return a FileHound instance
|
|
1515
|
-
* @example
|
|
1516
|
-
* import FileHound from 'filehound';
|
|
1517
|
-
*
|
|
1518
|
-
* const filehound = FileHound.create();
|
|
1519
|
-
* filehound
|
|
1520
|
-
* .accessed("< 10 minutes")
|
|
1521
|
-
* .find()
|
|
1522
|
-
* .each(console.log);
|
|
1523
|
-
*/
|
|
1524
|
-
accessed(pattern) {
|
|
1525
|
-
this.addFilter(file => {
|
|
1526
|
-
const accessed = file.lastAccessedSync();
|
|
1527
|
-
return isDate(accessed).assert(pattern);
|
|
1528
|
-
});
|
|
1529
|
-
return this;
|
|
1530
|
-
}
|
|
1531
|
-
|
|
1532
|
-
/**
|
|
1533
|
-
* Filters change time
|
|
1534
|
-
*
|
|
1535
|
-
* @memberOf FileHound
|
|
1536
|
-
* @instance
|
|
1537
|
-
* @method
|
|
1538
|
-
* changed
|
|
1539
|
-
* @param {string} dateExpression - date expression
|
|
1540
|
-
* @return a FileHound instance
|
|
1541
|
-
* @example
|
|
1542
|
-
* import FileHound from 'filehound';
|
|
1543
|
-
*
|
|
1544
|
-
* const filehound = FileHound.create();
|
|
1545
|
-
* filehound
|
|
1546
|
-
* .changed("< 10 minutes")
|
|
1547
|
-
* .find()
|
|
1548
|
-
* .each(console.log);
|
|
1549
|
-
*/
|
|
1550
|
-
changed(pattern) {
|
|
1551
|
-
this.addFilter(file => {
|
|
1552
|
-
const changed = file.lastChangedSync();
|
|
1553
|
-
return isDate(changed).assert(pattern);
|
|
1554
|
-
});
|
|
1555
|
-
return this;
|
|
1556
|
-
}
|
|
1557
|
-
|
|
1558
|
-
/**
|
|
1559
|
-
*
|
|
1560
|
-
* @memberOf FileHound
|
|
1561
|
-
* @instance
|
|
1562
|
-
* @method
|
|
1563
|
-
* addFilter
|
|
1564
|
-
* @param {function} function - custom filter function
|
|
1565
|
-
* @return a FileHound instance
|
|
1566
|
-
* @example
|
|
1567
|
-
* import FileHound from 'filehound';
|
|
1568
|
-
*
|
|
1569
|
-
* const filehound = FileHound.create();
|
|
1570
|
-
* filehound
|
|
1571
|
-
* .addFilter(customFilter)
|
|
1572
|
-
* .find()
|
|
1573
|
-
* .each(consoe.log);
|
|
1574
|
-
*/
|
|
1575
|
-
addFilter(filter) {
|
|
1576
|
-
this.filters.push(filter);
|
|
1577
|
-
return this;
|
|
1578
|
-
}
|
|
1579
|
-
|
|
1580
|
-
/**
|
|
1581
|
-
* Defines the search paths
|
|
1582
|
-
*
|
|
1583
|
-
* @memberOf FileHound
|
|
1584
|
-
* @instance
|
|
1585
|
-
* @method
|
|
1586
|
-
* paths
|
|
1587
|
-
* @param {array} path - array of paths
|
|
1588
|
-
* @return a FileHound instance
|
|
1589
|
-
* @example
|
|
1590
|
-
* import FileHound from 'filehound';
|
|
1591
|
-
*
|
|
1592
|
-
* const filehound = FileHound.create();
|
|
1593
|
-
* filehound
|
|
1594
|
-
* .paths("/tmp", "/etc") // or ["/tmp", "/etc"]
|
|
1595
|
-
* .find()
|
|
1596
|
-
* .each(console.log);
|
|
1597
|
-
*/
|
|
1598
|
-
paths(...args) {
|
|
1599
|
-
this.searchPaths = _.uniq(from(args)).map(path.normalize);
|
|
1600
|
-
return this;
|
|
1601
|
-
}
|
|
1602
|
-
|
|
1603
|
-
/**
|
|
1604
|
-
* Define the search path
|
|
1605
|
-
*
|
|
1606
|
-
* @memberOf FileHound
|
|
1607
|
-
* @instance
|
|
1608
|
-
* @method
|
|
1609
|
-
* path
|
|
1610
|
-
* @param {string} path - path
|
|
1611
|
-
* @return a FileHound instance
|
|
1612
|
-
* @example
|
|
1613
|
-
* import FileHound from 'filehound';
|
|
1614
|
-
*
|
|
1615
|
-
* const filehound = FileHound.create();
|
|
1616
|
-
* filehound
|
|
1617
|
-
* .path("/tmp")
|
|
1618
|
-
* .find()
|
|
1619
|
-
* .each(console.log);
|
|
1620
|
-
*/
|
|
1621
|
-
path(path) {
|
|
1622
|
-
return this.paths(path);
|
|
1623
|
-
}
|
|
1624
|
-
|
|
1625
|
-
/**
|
|
1626
|
-
* Ignores files or sub-directories matching pattern
|
|
1627
|
-
*
|
|
1628
|
-
* @memberOf FileHound
|
|
1629
|
-
* @instance
|
|
1630
|
-
* @method
|
|
1631
|
-
* discard
|
|
1632
|
-
* @param {string|array} regex - regex or array of regex
|
|
1633
|
-
* @return a FileHound instance
|
|
1634
|
-
* @example
|
|
1635
|
-
* import FileHound from 'filehound';
|
|
1636
|
-
*
|
|
1637
|
-
* const filehound = FileHound.create();
|
|
1638
|
-
* filehound
|
|
1639
|
-
* .discard("*.tmp*")
|
|
1640
|
-
* .find()
|
|
1641
|
-
* .each(console.log);
|
|
1642
|
-
*/
|
|
1643
|
-
discard(...args) {
|
|
1644
|
-
const patterns = from(args);
|
|
1645
|
-
patterns.forEach(pattern => {
|
|
1646
|
-
this.addFilter(negate(isRegExpMatch(pattern)));
|
|
1647
|
-
});
|
|
1648
|
-
return this;
|
|
1649
|
-
}
|
|
1650
|
-
|
|
1651
|
-
/**
|
|
1652
|
-
* Filter on file extension
|
|
1653
|
-
*
|
|
1654
|
-
* @memberOf FileHound
|
|
1655
|
-
* @instance
|
|
1656
|
-
* @method
|
|
1657
|
-
* ext
|
|
1658
|
-
* @param {string|array} extensions - extension or an array of extensions
|
|
1659
|
-
* @return a FileHound instance
|
|
1660
|
-
* @example
|
|
1661
|
-
* import FileHound from 'filehound';
|
|
1662
|
-
*
|
|
1663
|
-
* let filehound = FileHound.create();
|
|
1664
|
-
* filehound
|
|
1665
|
-
* .ext(".json")
|
|
1666
|
-
* .find()
|
|
1667
|
-
* .each(console.log);
|
|
1668
|
-
*
|
|
1669
|
-
* // array of extensions to filter by
|
|
1670
|
-
* filehound = FileHound.create();
|
|
1671
|
-
* filehound
|
|
1672
|
-
* .ext([".json", ".txt"])
|
|
1673
|
-
* .find()
|
|
1674
|
-
* .each(console.log);
|
|
1675
|
-
*
|
|
1676
|
-
* // supports var args
|
|
1677
|
-
* filehound = FileHound.create();
|
|
1678
|
-
* filehound
|
|
1679
|
-
* .ext(".json", ".txt")
|
|
1680
|
-
* .find()
|
|
1681
|
-
* .each(console.log);
|
|
1682
|
-
*/
|
|
1683
|
-
ext(...args) {
|
|
1684
|
-
const extensions = from(args).map(cleanExtension);
|
|
1685
|
-
|
|
1686
|
-
this.addFilter(file => {
|
|
1687
|
-
return _.includes(extensions, file.getPathExtension());
|
|
1688
|
-
});
|
|
1689
|
-
return this;
|
|
1690
|
-
}
|
|
1691
|
-
|
|
1692
|
-
/**
|
|
1693
|
-
* Filter by file size
|
|
1694
|
-
*
|
|
1695
|
-
* @memberOf FileHound
|
|
1696
|
-
* @instance
|
|
1697
|
-
* @method
|
|
1698
|
-
* size
|
|
1699
|
-
* @param {string} sizeExpression - a size expression
|
|
1700
|
-
* @return a FileHound instance
|
|
1701
|
-
* @example
|
|
1702
|
-
* import FileHound from 'filehound';
|
|
1703
|
-
*
|
|
1704
|
-
* const filehound = FileHound.create();
|
|
1705
|
-
* filehound
|
|
1706
|
-
* .size("<10kb")
|
|
1707
|
-
* .find()
|
|
1708
|
-
* .each(console.log);
|
|
1709
|
-
*/
|
|
1710
|
-
size(sizeExpression) {
|
|
1711
|
-
this.addFilter(file => {
|
|
1712
|
-
const size = file.sizeSync();
|
|
1713
|
-
return isNumber(size).assert(sizeExpression);
|
|
1714
|
-
});
|
|
1715
|
-
return this;
|
|
1716
|
-
}
|
|
1717
|
-
|
|
1718
|
-
/**
|
|
1719
|
-
* Filter by zero length files
|
|
1720
|
-
*
|
|
1721
|
-
* @memberOf FileHound
|
|
1722
|
-
* @instance
|
|
1723
|
-
* @method
|
|
1724
|
-
* isEmpty
|
|
1725
|
-
* @param {string} path - path
|
|
1726
|
-
* @return a FileHound instance
|
|
1727
|
-
* @example
|
|
1728
|
-
* import FileHound from 'filehound';
|
|
1729
|
-
*
|
|
1730
|
-
* const filehound = FileHound.create();
|
|
1731
|
-
* filehound
|
|
1732
|
-
* .size("<10kb")
|
|
1733
|
-
* .find()
|
|
1734
|
-
* .each(console.log);
|
|
1735
|
-
*/
|
|
1736
|
-
isEmpty() {
|
|
1737
|
-
this.size(0);
|
|
1738
|
-
return this;
|
|
1739
|
-
}
|
|
1740
|
-
|
|
1741
|
-
/**
|
|
1742
|
-
* Filter by a file glob
|
|
1743
|
-
*
|
|
1744
|
-
* @memberOf FileHound
|
|
1745
|
-
* @instance
|
|
1746
|
-
* @method
|
|
1747
|
-
* glob
|
|
1748
|
-
* @param {string} glob - file glob
|
|
1749
|
-
* @return a FileHound instance
|
|
1750
|
-
* @example
|
|
1751
|
-
* import FileHound from 'filehound';
|
|
1752
|
-
*
|
|
1753
|
-
* const filehound = FileHound.create();
|
|
1754
|
-
* filehound
|
|
1755
|
-
* .glob("*tmp*")
|
|
1756
|
-
* .find()
|
|
1757
|
-
* .each(console.log); // array of files names all containing 'tmp'
|
|
1758
|
-
*/
|
|
1759
|
-
glob(globPattern) {
|
|
1760
|
-
return this.match(globPattern);
|
|
1761
|
-
}
|
|
1762
|
-
|
|
1763
|
-
/**
|
|
1764
|
-
* Same as glob
|
|
1765
|
-
* @see glob
|
|
1766
|
-
*/
|
|
1767
|
-
match(globPattern) {
|
|
1768
|
-
this.addFilter(file => {
|
|
1769
|
-
return file.isMatch(globPattern);
|
|
1770
|
-
});
|
|
1771
|
-
return this;
|
|
1772
|
-
}
|
|
1773
|
-
|
|
1774
|
-
/**
|
|
1775
|
-
* Negates filters
|
|
1776
|
-
*
|
|
1777
|
-
* @memberOf FileHound
|
|
1778
|
-
* @instance
|
|
1779
|
-
* @method
|
|
1780
|
-
* not
|
|
1781
|
-
* @param {string} glob - file glob
|
|
1782
|
-
* @return a FileHound instance
|
|
1783
|
-
* @example
|
|
1784
|
-
* import FileHound from 'filehound';
|
|
1785
|
-
*
|
|
1786
|
-
* const filehound = FileHound.create();
|
|
1787
|
-
* filehound
|
|
1788
|
-
* .not()
|
|
1789
|
-
* .glob("*tmp*")
|
|
1790
|
-
* .find()
|
|
1791
|
-
* .each(console.log); // array of files names NOT containing 'tmp'
|
|
1792
|
-
*/
|
|
1793
|
-
not() {
|
|
1794
|
-
this.negateFilters = true;
|
|
1795
|
-
return this;
|
|
1796
|
-
}
|
|
1797
|
-
|
|
1798
|
-
/**
|
|
1799
|
-
* Filter to ignore hidden files
|
|
1800
|
-
*
|
|
1801
|
-
* @memberOf FileHound
|
|
1802
|
-
* @instance
|
|
1803
|
-
* @method
|
|
1804
|
-
* ignoreHiddenFiles
|
|
1805
|
-
* @return a FileHound instance
|
|
1806
|
-
* @example
|
|
1807
|
-
* import FileHound from 'filehound';
|
|
1808
|
-
*
|
|
1809
|
-
* const filehound = FileHound.create();
|
|
1810
|
-
* filehound
|
|
1811
|
-
* .ignoreHiddenFiles()
|
|
1812
|
-
* .find()
|
|
1813
|
-
* .each(console.log); // array of files names that are not hidden files
|
|
1814
|
-
*/
|
|
1815
|
-
ignoreHiddenFiles() {
|
|
1816
|
-
this.addFilter(file => {
|
|
1817
|
-
return !file.isHiddenSync();
|
|
1818
|
-
});
|
|
1819
|
-
return this;
|
|
1820
|
-
}
|
|
1821
|
-
|
|
1822
|
-
/**
|
|
1823
|
-
* Ignore hidden directories
|
|
1824
|
-
*
|
|
1825
|
-
* @memberOf FileHound
|
|
1826
|
-
* @instance
|
|
1827
|
-
* @method
|
|
1828
|
-
* ignoreHiddenDirectories
|
|
1829
|
-
* @return a FileHound instance
|
|
1830
|
-
* @example
|
|
1831
|
-
* import FileHound from 'filehound';
|
|
1832
|
-
*
|
|
1833
|
-
* const filehound = FileHound.create();
|
|
1834
|
-
* filehound
|
|
1835
|
-
* .ignoreHiddenDirectories()
|
|
1836
|
-
* .find()
|
|
1837
|
-
* .each(console.log); // array of files names that are not hidden directories
|
|
1838
|
-
*/
|
|
1839
|
-
ignoreHiddenDirectories() {
|
|
1840
|
-
this.ignoreDirs = true;
|
|
1841
|
-
return this;
|
|
1842
|
-
}
|
|
1843
|
-
|
|
1844
|
-
/**
|
|
1845
|
-
* Find sub-directories
|
|
1846
|
-
*
|
|
1847
|
-
* @memberOf FileHound
|
|
1848
|
-
* @instance
|
|
1849
|
-
* @method
|
|
1850
|
-
* directory
|
|
1851
|
-
* @return a FileHound instance
|
|
1852
|
-
* @example
|
|
1853
|
-
* import FileHound from 'filehound';
|
|
1854
|
-
*
|
|
1855
|
-
* const filehound = FileHound.create();
|
|
1856
|
-
* filehound
|
|
1857
|
-
* .directory()
|
|
1858
|
-
* .find()
|
|
1859
|
-
* .each(console.log); // array of matching sub-directories
|
|
1860
|
-
*/
|
|
1861
|
-
directory() {
|
|
1862
|
-
this.directoriesOnly = true;
|
|
1863
|
-
return this;
|
|
1864
|
-
}
|
|
1865
|
-
|
|
1866
|
-
/**
|
|
1867
|
-
* Find sockets
|
|
1868
|
-
*
|
|
1869
|
-
* @memberOf FileHound
|
|
1870
|
-
* @instance
|
|
1871
|
-
* @method
|
|
1872
|
-
* socket
|
|
1873
|
-
* @return a FileHound instance
|
|
1874
|
-
* @example
|
|
1875
|
-
* import FileHound from 'filehound';
|
|
1876
|
-
*
|
|
1877
|
-
* const filehound = FileHound.create();
|
|
1878
|
-
* filehound
|
|
1879
|
-
* .socket()
|
|
1880
|
-
* .find()
|
|
1881
|
-
* .each(console.log); // array of matching sockets
|
|
1882
|
-
*/
|
|
1883
|
-
socket() {
|
|
1884
|
-
this.addFilter(file => {
|
|
1885
|
-
return file.isSocket();
|
|
1886
|
-
});
|
|
1887
|
-
return this;
|
|
1888
|
-
}
|
|
1889
|
-
|
|
1890
|
-
/**
|
|
1891
|
-
* Specify the directory search depth. If set to zero, recursive searching
|
|
1892
|
-
* will be disabled
|
|
1893
|
-
*
|
|
1894
|
-
* @memberOf FileHound
|
|
1895
|
-
* @instance
|
|
1896
|
-
* @method
|
|
1897
|
-
* depth
|
|
1898
|
-
* @return a FileHound instance
|
|
1899
|
-
* @example
|
|
1900
|
-
* import FileHound from 'filehound';
|
|
1901
|
-
*
|
|
1902
|
-
* const filehound = FileHound.create();
|
|
1903
|
-
* filehound
|
|
1904
|
-
* .depth(0)
|
|
1905
|
-
* .find()
|
|
1906
|
-
* .each(console.log); // array of files names only in the current directory
|
|
1907
|
-
*/
|
|
1908
|
-
depth(depth) {
|
|
1909
|
-
this.maxDepth = depth;
|
|
1910
|
-
return this;
|
|
1911
|
-
}
|
|
1912
|
-
|
|
1913
|
-
/**
|
|
1914
|
-
* Asynchronously executes a file search.
|
|
1915
|
-
*
|
|
1916
|
-
* @memberOf FileHound
|
|
1917
|
-
* @instance
|
|
1918
|
-
* @method
|
|
1919
|
-
* find
|
|
1920
|
-
* @param {function} function - Optionally accepts a callback function
|
|
1921
|
-
* @return Returns a Promise of all matches. If the Promise fulfils,
|
|
1922
|
-
* the fulfilment value is an array of all matching files
|
|
1923
|
-
* @example
|
|
1924
|
-
* import FileHound from 'filehound';
|
|
1925
|
-
*
|
|
1926
|
-
* const filehound = FileHound.create();
|
|
1927
|
-
* filehound
|
|
1928
|
-
* .find()
|
|
1929
|
-
* .each(console.log);
|
|
1930
|
-
*
|
|
1931
|
-
* // using a callback
|
|
1932
|
-
* filehound
|
|
1933
|
-
* .find((err, files) => {
|
|
1934
|
-
* if (err) return console.error(err);
|
|
1935
|
-
*
|
|
1936
|
-
* console.log(files);
|
|
1937
|
-
* });
|
|
1938
|
-
*/
|
|
1939
|
-
find() {
|
|
1940
|
-
this._initFilters();
|
|
1941
|
-
|
|
1942
|
-
const searchAsync = this._searchAsync.bind(this);
|
|
1943
|
-
const searches = Promise.map(this.getSearchPaths(), searchAsync);
|
|
1944
|
-
|
|
1945
|
-
return Promise.all(searches)
|
|
1946
|
-
.reduce(flatten)
|
|
1947
|
-
.map(getFilename)
|
|
1948
|
-
.catch(e => {
|
|
1949
|
-
this.emit("error", e);
|
|
1950
|
-
throw e;
|
|
1951
|
-
})
|
|
1952
|
-
.finally(() => {
|
|
1953
|
-
this.emit("end");
|
|
1954
|
-
});
|
|
1955
|
-
}
|
|
1956
|
-
|
|
1957
|
-
/**
|
|
1958
|
-
* Synchronously executes a file search.
|
|
1959
|
-
*
|
|
1960
|
-
* @memberOf FileHound
|
|
1961
|
-
* @instance
|
|
1962
|
-
* @method
|
|
1963
|
-
* findSync
|
|
1964
|
-
* @return Returns an array of all matching files
|
|
1965
|
-
* @example
|
|
1966
|
-
* import FileHound from 'filehound';
|
|
1967
|
-
*
|
|
1968
|
-
* const filehound = FileHound.create();
|
|
1969
|
-
* const files = filehound.findSync();
|
|
1970
|
-
* console.log(files);
|
|
1971
|
-
*
|
|
1972
|
-
*/
|
|
1973
|
-
findSync() {
|
|
1974
|
-
this._initFilters();
|
|
1975
|
-
|
|
1976
|
-
const searchSync = this._searchSync.bind(this);
|
|
1977
|
-
|
|
1978
|
-
return this.getSearchPaths()
|
|
1979
|
-
.map(searchSync)
|
|
1980
|
-
.reduce(flatten)
|
|
1981
|
-
.map(getFilename);
|
|
1982
|
-
}
|
|
1983
|
-
|
|
1984
|
-
_atMaxDepth(root, dir) {
|
|
1985
|
-
const depth = dir.getDepthSync() - root.getDepthSync();
|
|
1986
|
-
return isDefined(this.maxDepth) && depth > this.maxDepth;
|
|
1987
|
-
}
|
|
1988
|
-
|
|
1989
|
-
_shouldFilterDirectory(root, dir) {
|
|
1990
|
-
return (
|
|
1991
|
-
this._atMaxDepth(root, dir) || (this.ignoreDirs && dir.isHiddenSync())
|
|
1992
|
-
);
|
|
1993
|
-
}
|
|
1994
|
-
|
|
1995
|
-
_newMatcher() {
|
|
1996
|
-
const isMatch = compose(this.filters);
|
|
1997
|
-
if (this.negateFilters) {
|
|
1998
|
-
return negate(isMatch);
|
|
1999
|
-
}
|
|
2000
|
-
return isMatch;
|
|
2001
|
-
}
|
|
2002
|
-
|
|
2003
|
-
_initFilters() {
|
|
2004
|
-
this.isMatch = this._newMatcher();
|
|
2005
|
-
}
|
|
2006
|
-
|
|
2007
|
-
_searchSync(dir) {
|
|
2008
|
-
this.sync = true;
|
|
2009
|
-
const root = File.create(dir);
|
|
2010
|
-
const trackedPaths = [];
|
|
2011
|
-
const files = this._search(root, root, trackedPaths);
|
|
2012
|
-
return this.directoriesOnly ? trackedPaths.filter(this.isMatch) : files;
|
|
2013
|
-
}
|
|
2014
|
-
|
|
2015
|
-
_searchAsync(dir) {
|
|
2016
|
-
const root = File.create(dir);
|
|
2017
|
-
const trackedPaths = [];
|
|
2018
|
-
const pending = this._search(root, root, trackedPaths);
|
|
2019
|
-
|
|
2020
|
-
return pending.then(files => {
|
|
2021
|
-
if (this.directoriesOnly) return trackedPaths.filter(this.isMatch);
|
|
2022
|
-
|
|
2023
|
-
files.forEach(file => {
|
|
2024
|
-
this.emit("match", file.getName());
|
|
2025
|
-
});
|
|
2026
|
-
return files;
|
|
2027
|
-
});
|
|
2028
|
-
}
|
|
2029
|
-
|
|
2030
|
-
_search(root, path, trackedPaths) {
|
|
2031
|
-
if (this._shouldFilterDirectory(root, path)) return [];
|
|
2032
|
-
|
|
2033
|
-
const getFiles = this.sync
|
|
2034
|
-
? path.getFilesSync.bind(path)
|
|
2035
|
-
: path.getFiles.bind(path);
|
|
2036
|
-
return getFiles()
|
|
2037
|
-
.map(file => {
|
|
2038
|
-
if (file.isDirectorySync()) {
|
|
2039
|
-
if (!this._shouldFilterDirectory(root, file)) trackedPaths.push(file);
|
|
2040
|
-
|
|
2041
|
-
return this._search(root, file, trackedPaths);
|
|
2042
|
-
}
|
|
2043
|
-
return file;
|
|
2044
|
-
})
|
|
2045
|
-
.reduce(flatten, [])
|
|
2046
|
-
.filter(this.isMatch);
|
|
2047
|
-
}
|
|
2048
|
-
|
|
2049
|
-
getSearchPaths() {
|
|
2050
|
-
const paths = isDefined(this.maxDepth)
|
|
2051
|
-
? this.searchPaths
|
|
2052
|
-
: reducePaths(this.searchPaths);
|
|
2053
|
-
|
|
2054
|
-
return copy(paths);
|
|
2055
|
-
}
|
|
2056
|
-
}
|
|
2057
|
-
|
|
2058
|
-
export default FileHound;
|
|
2059
|
-
</pre></td></tr>
|
|
2060
|
-
</table></pre>
|
|
2061
|
-
<div class='push'></div><!-- for sticky footer -->
|
|
2062
|
-
</div><!-- /wrapper -->
|
|
2063
|
-
<div class='footer quiet pad2 space-top1 center small'>
|
|
2064
|
-
Code coverage
|
|
2065
|
-
generated by <a href="https://istanbul.js.org/" target="_blank">istanbul</a> at Fri Oct 13 2017 11:07:24 GMT+0100 (BST)
|
|
2066
|
-
</div>
|
|
2067
|
-
</div>
|
|
2068
|
-
<script src="prettify.js"></script>
|
|
2069
|
-
<script>
|
|
2070
|
-
window.onload = function () {
|
|
2071
|
-
if (typeof prettyPrint === 'function') {
|
|
2072
|
-
prettyPrint();
|
|
2073
|
-
}
|
|
2074
|
-
};
|
|
2075
|
-
</script>
|
|
2076
|
-
<script src="sorter.js"></script>
|
|
2077
|
-
</body>
|
|
2078
|
-
</html>
|