diff --git a/tests/asserts.svg b/tests/asserts.svg
index 33589d40..96dbb4af 100644
--- a/tests/asserts.svg
+++ b/tests/asserts.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file
diff --git a/tests/autoTestAll.md b/tests/autoTestAll.md
index 090f48f5..bd1389d2 100644
--- a/tests/autoTestAll.md
+++ b/tests/autoTestAll.md
@@ -2,67 +2,67 @@
## Summary
-* Number of tests performed: 168
-* Number of tests passed: 168
+* Number of tests performed: 169
+* Number of tests passed: 169
* Number of tests failed: 0
-* Number of asserts: 487
+* Number of asserts: 488
## Result details
| Suite | Test | Status | Time | Result |
|-------|------|--------|------|--------------|
-|AI | LSTM AND | PASS | 199 ms | n/a |
-|AI | LSTM network save and load | PASS | 184 ms | n/a |
-|AI | Liquid XOR | PASS | 337 ms | n/a |
-|AI | Liquid network save and load | PASS | 349 ms | n/a |
+|AI | LSTM AND | PASS | 181 ms | n/a |
+|AI | LSTM network save and load | PASS | 157 ms | n/a |
+|AI | Liquid XOR | PASS | 331 ms | n/a |
+|AI | Liquid network save and load | PASS | 370 ms | n/a |
|AI | Normalize features array | PASS | 1 ms | n/a |
-|AI | Normalize with schema | PASS | 11 ms | n/a |
-|AI | Perceptron XOR | PASS | 397 ms | n/a |
-|AI | Perceptron XOR Put | PASS | 15 seconds, 706 ms | n/a |
+|AI | Normalize with schema | PASS | 8 ms | n/a |
+|AI | Perceptron XOR | PASS | 663 ms | n/a |
+|AI | Perceptron XOR Put | PASS | 14 seconds, 736 ms | n/a |
|AI | Perceptron XOR save and load | PASS | 28 ms | n/a |
-|AI | Perceptron network save and load | PASS | 49 ms | n/a |
-|AI | Test C45 | PASS | 17 ms | n/a |
+|AI | Perceptron network save and load | PASS | 30 ms | n/a |
+|AI | Test C45 | PASS | 21 ms | n/a |
|AI | Test ID3 | PASS | 29 ms | n/a |
-|AI | Test KMeans | PASS | 7 ms | n/a |
+|AI | Test KMeans | PASS | 9 ms | n/a |
|CSV | Generic CSV | PASS | 1 ms | n/a |
|CSV | Stream CSV | PASS | 7 ms | n/a |
-|CSV | ToFrom CSV | PASS | 3 ms | n/a |
+|CSV | ToFrom CSV | PASS | 2 ms | n/a |
|Channels | Keep history util | PASS | 4 seconds, 4 ms | n/a |
-|Channels | Remote channel access auditing | PASS | 221 ms | n/a |
-|Channels | Subscribers test | PASS | 1 second, 119 ms | n/a |
+|Channels | Remote channel access auditing | PASS | 223 ms | n/a |
+|Channels | Subscribers test | PASS | 1 second, 81 ms | n/a |
|Channels | Test Elastic Index | PASS | 1 ms | n/a |
-|Channels | Test MVS Utils | PASS | 102 ms | n/a |
-|Channels | Test channel (all) | PASS | 42 ms | n/a |
+|Channels | Test MVS Utils | PASS | 51 ms | n/a |
+|Channels | Test channel (all) | PASS | 37 ms | n/a |
+|Channels | Test channel (big) | PASS | 23 ms | n/a |
+|Channels | Test channel (big) | PASS | 32 seconds, 11 ms | n/a |
|Channels | Test channel (big) | PASS | 1 ms | n/a |
-|Channels | Test channel (big) | PASS | 32 seconds, 12 ms | n/a |
-|Channels | Test channel (big) | PASS | 25 ms | n/a |
+|Channels | Test channel (big) | PASS | 220 ms | n/a |
|Channels | Test channel (big) | PASS | ~0 ms | n/a |
-|Channels | Test channel (big) | PASS | 221 ms | n/a |
-|Channels | Test channel (cache) | PASS | 32 seconds, 11 ms | n/a |
-|Channels | Test channel (cache) | PASS | ~0 ms | n/a |
-|Channels | Test channel (cache) | PASS | ~0 ms | n/a |
-|Channels | Test channel (mvs) | PASS | 32 seconds, 19 ms | n/a |
+|Channels | Test channel (cache) | PASS | 1 ms | n/a |
+|Channels | Test channel (cache) | PASS | 32 seconds, 12 ms | n/a |
+|Channels | Test channel (cache) | PASS | 1 ms | n/a |
|Channels | Test channel (mvs) | PASS | ~0 ms | n/a |
-|Channels | Test channel (mvs) | PASS | 203 ms | n/a |
-|Channels | Test channel (mvs) | PASS | 16 ms | n/a |
|Channels | Test channel (mvs) | PASS | ~0 ms | n/a |
-|Channels | Test channel (simple) | PASS | 32 seconds, 14 ms | n/a |
+|Channels | Test channel (mvs) | PASS | 15 ms | n/a |
+|Channels | Test channel (mvs) | PASS | 225 ms | n/a |
+|Channels | Test channel (mvs) | PASS | 32 seconds, 12 ms | n/a |
+|Channels | Test channel (simple) | PASS | 183 ms | n/a |
+|Channels | Test channel (simple) | PASS | 15 ms | n/a |
|Channels | Test channel (simple) | PASS | ~0 ms | n/a |
-|Channels | Test channel (simple) | PASS | 190 ms | n/a |
+|Channels | Test channel (simple) | PASS | 32 seconds, 12 ms | n/a |
|Channels | Test channel (simple) | PASS | ~0 ms | n/a |
-|Channels | Test channel (simple) | PASS | 17 ms | n/a |
-|DB | DB type conversion to JS | PASS | 8 ms | n/a |
-|DB | Simple DB in memory | PASS | 185 ms | n/a |
-|Format | Add number separator | PASS | ~0 ms | n/a |
+|DB | DB type conversion to JS | PASS | 9 ms | n/a |
+|DB | Simple DB in memory | PASS | 184 ms | n/a |
+|Format | Add number separator | PASS | 1 ms | n/a |
|Format | Conversions | PASS | 2 ms | n/a |
|Format | Cron | PASS | 1 ms | n/a |
-|Format | Cron How Many Ago | PASS | 16 ms | n/a |
-|Format | Date diff | PASS | 4 ms | n/a |
-|Format | Date to/from | PASS | 6 ms | n/a |
+|Format | Cron How Many Ago | PASS | 15 ms | n/a |
+|Format | Date diff | PASS | 5 ms | n/a |
+|Format | Date to/from | PASS | 5 ms | n/a |
|Format | Escape strings | PASS | ~0 ms | n/a |
-|Format | Escape/Unescape HTML4 | PASS | 11 ms | n/a |
-|Format | Host | PASS | 2 ms | n/a |
+|Format | Escape/Unescape HTML4 | PASS | 8 ms | n/a |
+|Format | Host | PASS | 1 ms | n/a |
|Format | LDAP date to/from | PASS | ~0 ms | n/a |
-|Format | LSH | PASS | 499 ms | n/a |
+|Format | LSH | PASS | 481 ms | n/a |
|Format | Load Format | PASS | ~0 ms | n/a |
|Format | Number abbreviation | PASS | ~0 ms | n/a |
|Format | Number rounding | PASS | 1 ms | n/a |
@@ -71,110 +71,111 @@
|Format | Time ago | PASS | 1 ms | n/a |
|Format | TimeAbbreviation | PASS | 3 ms | n/a |
|Format | Unix date to/from | PASS | ~0 ms | n/a |
-|Format | Word wrap | PASS | 4 ms | n/a |
-|HTTP | HTTP changing user agent | PASS | 156 ms | n/a |
-|HTTP | HTTP plugin basic functionality | PASS | 58 ms | n/a |
-|HTTP | HTTP plugin test basic auth | PASS | 283 ms | n/a |
-|HTTP | HTTP plugin web socket client | PASS | 1 second, 857 ms | n/a |
-|IO | IO Test Gzip Native to Byte array | PASS | 59 ms | n/a |
+|Format | Word wrap | PASS | 6 ms | n/a |
+|HTTP | HTTP changing user agent | PASS | 207 ms | n/a |
+|HTTP | HTTP plugin basic functionality | PASS | 60 ms | n/a |
+|HTTP | HTTP plugin test basic auth | PASS | 373 ms | n/a |
+|HTTP | HTTP plugin web socket client | PASS | 1 second, 646 ms | n/a |
+|IO | IO Test Gzip Native to Byte array | PASS | 50 ms | n/a |
|IO | IO Test JSON | PASS | 1 ms | n/a |
|IO | IO Test Stream JSON | PASS | 16 ms | n/a |
-|IO | IO Test TAR functionality | PASS | 3 seconds, 623 ms | n/a |
-|IO | IO Test binary file detection | PASS | 11 ms | n/a |
-|IO | IO Test copy streams | PASS | 189 ms | n/a |
-|IO | IO Test copy/move/delete file | PASS | 14 ms | n/a |
+|IO | IO Test TAR functionality | PASS | 3 seconds, 505 ms | n/a |
+|IO | IO Test binary file detection | PASS | 8 ms | n/a |
+|IO | IO Test copy streams | PASS | 185 ms | n/a |
+|IO | IO Test copy/move/delete file | PASS | 7 ms | n/a |
|IO | IO Test read/writeFileStream | PASS | 1 ms | n/a |
|IO | IO Test read/writeFileStream NIO | PASS | 3 ms | n/a |
-|IO | IO Test read/writeFileStreamBytes | PASS | ~0 ms | n/a |
-|IO | IO Test read/writeFileStreamBytes NIO | PASS | ~0 ms | n/a |
-|JMX | JMX test | PASS | 703 ms | n/a |
-|Java | Java ASym Cipher | PASS | 135 ms | n/a |
-|Java | Java Cipher | PASS | 287 ms | n/a |
+|IO | IO Test read/writeFileStreamBytes | PASS | 1 ms | n/a |
+|IO | IO Test read/writeFileStreamBytes NIO | PASS | 1 ms | n/a |
+|JMX | JMX test | PASS | 242 ms | n/a |
+|Java | Java ASym Cipher | PASS | 71 ms | n/a |
+|Java | Java Cipher | PASS | 80 ms | n/a |
|Obj | Array to object conversion | PASS | 1 ms | n/a |
-|Obj | DB ResultSet to object | PASS | 1 second, 131 ms | n/a |
-|Obj | Flatten | PASS | 177 ms | n/a |
-|Obj | Generate One of | PASS | 12 ms | n/a |
-|Obj | Generate One of Fn | PASS | 5 ms | n/a |
-|Obj | Get Path | PASS | 1 ms | n/a |
-|Obj | Object fuzzy search | PASS | 29 ms | n/a |
-|Obj | Object pool | PASS | 6 seconds, 73 ms | n/a |
-|Obj | Object schema validation | PASS | 192 ms | n/a |
+|Obj | DB ResultSet to object | PASS | 1 second, 7 ms | n/a |
+|Obj | Flatten | PASS | 166 ms | n/a |
+|Obj | Generate One of | PASS | 11 ms | n/a |
+|Obj | Generate One of Fn | PASS | 4 ms | n/a |
+|Obj | Get Path | PASS | ~0 ms | n/a |
+|Obj | Object fuzzy search | PASS | 22 ms | n/a |
+|Obj | Object pool | PASS | 6 seconds, 26 ms | n/a |
+|Obj | Object schema validation | PASS | 197 ms | n/a |
|Obj | Object to array conversion | PASS | 1 ms | n/a |
-|Obj | REST Errors | PASS | 951 ms | n/a |
-|Obj | Set Path | PASS | ~0 ms | n/a |
-|Obj | Sign object | PASS | 432 ms | n/a |
-|Obj | Thread-safe array | PASS | 11 ms | n/a |
-|OpenAF | Await | PASS | 4 ms | n/a |
-|OpenAF | Basic Parallel processing | PASS | 30 ms | n/a |
-|OpenAF | Cache | PASS | 326 ms | n/a |
+|Obj | REST Errors | PASS | 1 second, 332 ms | n/a |
+|Obj | Set Path | PASS | 1 ms | n/a |
+|Obj | Sign object | PASS | 313 ms | n/a |
+|Obj | Thread-safe array | PASS | 3 ms | n/a |
+|OpenAF | Await | PASS | 5 ms | n/a |
+|OpenAF | AwaitAll | PASS | 57 ms | n/a |
+|OpenAF | Basic Parallel processing | PASS | 28 ms | n/a |
+|OpenAF | Cache | PASS | 322 ms | n/a |
|OpenAF | Crypt | PASS | 11 ms | n/a |
|OpenAF | DescType | PASS | 1 ms | n/a |
|OpenAF | Encrypt/Decrypt | PASS | ~0 ms | n/a |
|OpenAF | Get Path | PASS | 1 ms | n/a |
-|OpenAF | Get version | PASS | 1 ms | n/a |
+|OpenAF | Get version | PASS | ~0 ms | n/a |
|OpenAF | IsFunctions | PASS | ~0 ms | n/a |
-|OpenAF | Java RegExp | PASS | 4 ms | n/a |
-|OpenAF | Logs | PASS | 3 ms | n/a |
+|OpenAF | Java RegExp | PASS | 7 ms | n/a |
+|OpenAF | Logs | PASS | 4 ms | n/a |
|OpenAF | Map Array | PASS | 1 ms | n/a |
-|OpenAF | Map22Array | PASS | 775 ms | n/a |
-|OpenAF | NDJSON | PASS | 2 ms | n/a |
-|OpenAF | PSelect | PASS | 7 ms | n/a |
+|OpenAF | Map22Array | PASS | 807 ms | n/a |
+|OpenAF | NDJSON | PASS | 3 ms | n/a |
+|OpenAF | PSelect | PASS | 6 ms | n/a |
|OpenAF | Prints | PASS | 1 ms | n/a |
-|OpenAF | Range | PASS | 2 ms | n/a |
+|OpenAF | Range | PASS | 3 ms | n/a |
|OpenAF | Retry | PASS | 1 ms | n/a |
-|OpenAF | SPrints | PASS | 2 ms | n/a |
+|OpenAF | SPrints | PASS | 1 ms | n/a |
|OpenAF | Search Key and Values | PASS | 4 ms | n/a |
-|OpenAF | Set Path | PASS | ~0 ms | n/a |
-|OpenAF | Test $do | PASS | 14 ms | n/a |
+|OpenAF | Set Path | PASS | 1 ms | n/a |
+|OpenAF | Test $do | PASS | 11 ms | n/a |
|OpenAF | Test $doAll | PASS | 6 ms | n/a |
|OpenAF | Test $doFirst | PASS | 156 ms | n/a |
-|OpenAF | Test AF Parse | PASS | 1 ms | n/a |
-|OpenAF | Test BCrypt | PASS | 750 ms | n/a |
+|OpenAF | Test AF Parse | PASS | ~0 ms | n/a |
+|OpenAF | Test BCrypt | PASS | 741 ms | n/a |
|OpenAF | Test Encoding | PASS | ~0 ms | n/a |
-|OpenAF | Test Envs | PASS | 6 ms | n/a |
+|OpenAF | Test Envs | PASS | 1 ms | n/a |
|OpenAF | Test Format Conversion to/from base64 | PASS | ~0 ms | n/a |
|OpenAF | Test Format Conversion to/from bytes | PASS | ~0 ms | n/a |
-|OpenAF | Test Merge | PASS | 1 ms | n/a |
+|OpenAF | Test Merge | PASS | ~0 ms | n/a |
|OpenAF | Test Object Compression | PASS | ~0 ms | n/a |
-|OpenAF | Test Rest | PASS | 147 ms | n/a |
+|OpenAF | Test Rest | PASS | 242 ms | n/a |
|OpenAF | Test SHA1 | PASS | ~0 ms | n/a |
|OpenAF | Test SHA256 | PASS | ~0 ms | n/a |
|OpenAF | Test SHA512 | PASS | ~0 ms | n/a |
-|OpenAF | Test Scope Ids | PASS | 2 ms | n/a |
-|OpenAF | Test Shell | PASS | 2 ms | n/a |
+|OpenAF | Test Scope Ids | PASS | 9 ms | n/a |
+|OpenAF | Test Shell | PASS | 1 ms | n/a |
|OpenAF | Test Shell with Map | PASS | 2 ms | n/a |
-|OpenAF | Test Stream conversions | PASS | 1 ms | n/a |
+|OpenAF | Test Stream conversions | PASS | ~0 ms | n/a |
|OpenAF | Test Void shortcut | PASS | ~0 ms | n/a |
-|OpenAF | Test clone | PASS | 2 ms | n/a |
+|OpenAF | Test clone | PASS | 1 ms | n/a |
|OpenAF | Thread box | PASS | 304 ms | n/a |
|OpenAF | Two factor authentication | PASS | 2 ms | n/a |
-|OpenAF | XML2And4Obj | PASS | 330 ms | n/a |
-|OpenAF | YAML | PASS | 4 ms | n/a |
-|Sec | Sec basic functionality | PASS | 20 ms | n/a |
-|Sec | Sec function functionality | PASS | 714 ms | n/a |
-|Sec | Sec object functionality | PASS | 1 second, 634 ms | n/a |
-|Server | Auth | PASS | 6 seconds, 48 ms | n/a |
-|Server | AuthApp | PASS | 159 ms | n/a |
-|Server | HTTP server | PASS | 86 ms | n/a |
-|Server | Locks | PASS | 1 second, 17 ms | n/a |
-|Server | Queue | PASS | 5 seconds, 946 ms | n/a |
-|Server | REST server | PASS | 105 ms | n/a |
-|Server | REST server simple | PASS | 41 ms | n/a |
-|Server | Scheduler | PASS | 16 seconds, 14 ms | n/a |
-|Template | Load Template | PASS | 1 ms | n/a |
-|Template | Test Markdown to HTML | PASS | 99 ms | n/a |
-|Template | Test conditional helpers | PASS | 163 ms | n/a |
-|Template | Test format helpers | PASS | 43 ms | n/a |
-|Template | Test openaf helpers | PASS | 76 ms | n/a |
-|Template | Test partial helpers | PASS | 17 ms | n/a |
-|Template | Test simple template | PASS | 42 ms | n/a |
-|ZIP | ZIP basic functionality | PASS | 1 second, 505 ms | n/a |
-|ZIP | ZIP streaming functionality | PASS | 1 second, 521 ms | n/a |
-|oDoc | Test access to oDoc | PASS | 1 second, 412 ms | n/a |
-|oJob | oJob | PASS | 1 second, 274 ms | n/a |
-|oJob | oJobArgsMultipleLevels | PASS | 1 second, 582 ms | n/a |
-|oJob | oJobChecks | PASS | 1 second, 318 ms | n/a |
-|oJob | oJobInitArray | PASS | 2 seconds, 867 ms | n/a |
-|oJob | oJobPass | PASS | 1 second, 403 ms | n/a |
-|oJob | oJobShortcutOutput | PASS | 1 second, 587 ms | n/a |
-|oJob | oJobShortcuts | PASS | 1 second, 430 ms | n/a |
+|OpenAF | XML2And4Obj | PASS | 104 ms | n/a |
+|OpenAF | YAML | PASS | 2 ms | n/a |
+|Sec | Sec basic functionality | PASS | 18 ms | n/a |
+|Sec | Sec function functionality | PASS | 690 ms | n/a |
+|Sec | Sec object functionality | PASS | 1 second, 438 ms | n/a |
+|Server | Auth | PASS | 6 seconds, 22 ms | n/a |
+|Server | AuthApp | PASS | 161 ms | n/a |
+|Server | HTTP server | PASS | 93 ms | n/a |
+|Server | Locks | PASS | 1 second, 14 ms | n/a |
+|Server | Queue | PASS | 5 seconds, 674 ms | n/a |
+|Server | REST server | PASS | 95 ms | n/a |
+|Server | REST server simple | PASS | 49 ms | n/a |
+|Server | Scheduler | PASS | 16 seconds, 10 ms | n/a |
+|Template | Load Template | PASS | ~0 ms | n/a |
+|Template | Test Markdown to HTML | PASS | 101 ms | n/a |
+|Template | Test conditional helpers | PASS | 204 ms | n/a |
+|Template | Test format helpers | PASS | 46 ms | n/a |
+|Template | Test openaf helpers | PASS | 122 ms | n/a |
+|Template | Test partial helpers | PASS | 26 ms | n/a |
+|Template | Test simple template | PASS | 44 ms | n/a |
+|ZIP | ZIP basic functionality | PASS | 1 second, 495 ms | n/a |
+|ZIP | ZIP streaming functionality | PASS | 1 second, 588 ms | n/a |
+|oDoc | Test access to oDoc | PASS | 1 second, 348 ms | n/a |
+|oJob | oJob | PASS | 1 second, 255 ms | n/a |
+|oJob | oJobArgsMultipleLevels | PASS | 1 second, 521 ms | n/a |
+|oJob | oJobChecks | PASS | 1 second, 272 ms | n/a |
+|oJob | oJobInitArray | PASS | 2 seconds, 853 ms | n/a |
+|oJob | oJobPass | PASS | 1 second, 405 ms | n/a |
+|oJob | oJobShortcutOutput | PASS | 1 second, 525 ms | n/a |
+|oJob | oJobShortcuts | PASS | 1 second, 400 ms | n/a |
diff --git a/tests/results.svg b/tests/results.svg
index 37de5cd3..1e6c5a3b 100644
--- a/tests/results.svg
+++ b/tests/results.svg
@@ -1 +1 @@
-
\ No newline at end of file
+
\ No newline at end of file