Node v19.9.0 (Current)
Notable Changes
Tracing Channel in diagnostic_channel
TracingChannel
adds a new, high-performance channel to publish tracing data about the timing and purpose of function executions.
Contributed by Stephen Belanger in #44943
New URL.canParse API
A new API was added to the URL. URL.canParse
checks if an input
with an optional base value can be parsed correctly
according to WHATWG URL specification.
const isValid = URL.canParse('/foo', 'https://example.org/'); // true
const isNotValid = URL.canParse('/foo'); // false
Contributed by Khafra in #47179
Other notable changes
events:
- (SEMVER-MINOR) add getMaxListeners method (Khafra) https://github.com/nodejs/node/pull/47039 msi:
- (SEMVER-MINOR) migrate to WiX4 (Stefan Stojanovic) https://github.com/nodejs/node/pull/45943 node-api:
- (SEMVER-MINOR) deprecate napi_module_register (Vladimir Morozov) https://github.com/nodejs/node/pull/46319 stream:
- (SEMVER-MINOR) add setter & getter for default highWaterMark (Robert Nagy) https://github.com/nodejs/node/pull/46929 test_runner:
- (SEMVER-MINOR) expose reporter for use in run api (Chemi Atlow) https://github.com/nodejs/node/pull/47238
Commits
- [
2cea7d8141
] - benchmark: fix invalid requirementsURL (Deokjin Kim) #47378 - [
6a4076a188
] - benchmark: lower URL.canParse runs (Khafra) #47351 - [
23a69d9279
] - buffer: fix blob range error with many chunks (Khafra) #47320 - [
e3d98c3e7a
] - buffer: use private properties for brand checks in File (Khafra) #47154 - [
9dc6aef98d
] - build: bump github/codeql-action from 2.2.6 to 2.2.9 (dependabot[bot]) #47366 - [
910d2967f1
] - build: update stale action from v7 to v8 (Rich Trott) #47357 - [
666df20ad9
] - build: remove Python pip--no-user
option (Christian Clauss) #47372 - [
3970537bb4
] - build: avoid usage of pipes library (Mohammed Keyvanzadeh) #47271 - [
254a03b2eb
] - crypto: unify validation of checkPrime checks (Tobias Nießen) #47165 - [
8e1e9edc57
] - deps: update timezone to 2023c (Node.js GitHub Bot) #47302 - [
30c043c2b9
] - deps: update timezone to 2023b (Node.js GitHub Bot) #47256 - [
40be01bc9c
] - deps: update simdutf to 3.2.3 (Node.js GitHub Bot) #47331 - [
4b09222569
] - deps: upgrade npm to 9.6.3 (npm team) #47325 - [
2a6c23ea5e
] - deps: update corepack to 0.17.1 (Node.js GitHub Bot) #47156 - [
06b718363d
] - deps: V8: cherry-pick 3e4952cb2a59 (Richard Lau) #47236 - [
7e24498d81
] - deps: upgrade npm to 9.6.2 (npm team) #47108 - [
7a4beaa182
] - deps: V8: cherry-pick 215ccd593edb (Joyee Cheung) #47212 - [
8a69929f23
] - deps: V8: cherry-pick 975ff4dbfd1b (Debadree Chatterjee) #47209 - [
10569de53f
] - deps: cherry-pick win/arm64/clang fixes (Cheng Zhao) #47011 - [
ff6070eb1d
] - deps: V8: cherry-pick cb30b8e17429 (Darshan Sen) #47307 - [
0bbce034f9
] - doc: add a note about os.cpus() returning an empty list (codedokode) #47363 - [
f8511e0b27
] - doc: clarify reports are only evaluated on active versions (Rafael Gonzaga) #47341 - [
863b4d9c5b
] - doc: remove Vladimir de Turckheim from Security release stewards (Vladimir de Turckheim) #47318 - [
2192b5b163
] - doc: add importing util to example of `process.report.getReport' (Deokjin Kim) #47298 - [
1c21fbfa9a
] - doc: vm.SourceTextModule() without context option (Axel Kittenberger) #47295 - [
89445fbea9
] - doc: make win arm64 tier 2 platform (Stefan Stojanovic) #47233 - [
296577a549
] - doc: document process for sharing project news (Michael Dawson) #47189 - [
e29a1462c7
] - doc: revise example of assert.CallTracker (Deokjin Kim) #47252 - [
bac893adbe
] - doc: fix typo in SECURITY.md (Rich Trott) #47282 - [
0949f238d1
] - doc: use serial comma in cli docs (Tobias Nießen) #47262 - [
71246247a9
] - doc: improve example for Error.captureStackTrace() (Julian Dax) #46886 - [
0b2ba441b2
] - doc: clarify http error events after calling destroy() (Zach Bjornson) #46903 - [
a21459e0d5
] - doc: update output of example in AbortController (Deokjin Kim) #47227 - [
7a2090c14c
] - doc: drop one-week branch sync on major releases (Rafael Gonzaga) #47149 - [
eb4de0043d
] - doc: fix grammar in the collaborator guide (Mohammed Keyvanzadeh) #47245 - [
908798ae19
] - doc: update stream.reduce concurrency note (Raz Luvaton) #47166 - [
36c118bc92
] - doc: remove use of DEFAULT_ENCODING in PBKDF2 docs (Tobias Nießen) #47181 - [
7ec87fd5ce
] - doc: fix typos in async_context.md (Shubham Sharma) #47155 - [
a03aaba996
] - doc: update collaborator guide to reflect TSC changes (Rich Trott) #47126 - [
c45a6977ec
] - doc: clarify thatfs.create{Read,Write}Stream
supportAbortSignal
(Antoine du Hamel) #47122 - [
82c7757177
] - doc: improve documentation for util.types.isNativeError() (Julian Dax) #46840 - [
8f9b9c17d5
] - doc: rename the startup performance initiative to startup snapshot (#47111) (Joyee Cheung) - [
c08995e897
] - doc: indicate thatname
is no longer an optional argument (Daniel Roe) #47102 - [
316d626e61
] - doc: fix "maintaining dependencies" heading typos (Keyhan Vakil) #47082 - [
a4b1a7761f
] - esm: skip file: URL conversion to path when possible (Antoine du Hamel) #46305 - [
c5cd6b7f3b
] - (SEMVER-MINOR) events: add getMaxListeners method (Khafra) #47039 - [
2c2b07ce5f
] - fs: invalidate blob created from empty file when written to (Debadree Chatterjee) #47199 - [
e33dfce401
] - inspector: log response and requests in the inspector for debugging (Joyee Cheung) #46941 - [
f6ec81dc05
] - inspector: fix session.disconnect crash (theanarkh) #46942 - [
a738164fed
] - lib: define Event.isTrusted in the prototype (Santiago Gimeno) #46974 - [
7d37dcdd9a
] - (SEMVER-MINOR) lib: add tracing channel to diagnostics_channel (Stephen Belanger) #44943 - [
16d3dfa0aa
] - meta: fix notable-change comment label url (Filip Skokan) #47300 - [
2c95f6e18b
] - meta: clarify the threat model to explain the JSON.parse case (Matteo Collina) #47276 - [
22b9acdbf8
] - meta: update link to collaborators discussion page (Michaël Zasso) #47211 - [
dc024d930a
] - meta: automate description requests when notable change label is added (Danielle Adams) #47078 - [
54195357f3
] - meta: move TSC voting member(s) to regular member(s) (Node.js GitHub Bot) #47180 - [
a3bffbaa11
] - meta: move TSC voting member to regular membership (Node.js GitHub Bot) #46985 - [
d2a6aa6ecd
] - meta: update GOVERNANCE.md to reflect TSC charter changes (Rich Trott) #47126 - [
b0aad345bf
] - meta: ask expected behavior reason in bug template (Ben Noordhuis) #47049 - [
c03e79b141
] - (SEMVER-MINOR) msi: migrate to WiX4 (Stefan Stojanovic) #45943 - [
ca981be2b9
] - (SEMVER-MINOR) node-api: deprecate napi_module_register (Vladimir Morozov) #46319 - [
77f7200cce
] - node-api: extend type-tagging to externals (Gabriel Schulhof) #47141 - [
55f3d215b8
] - node-api: document node-api shutdown finalization (Chengzhong Wu) #45903 - [
b3fe2ba59b
] - node-api: verify cleanup hooks order (Chengzhong Wu) #46692 - [
d6a12328a6
] - repl: preserve preview on ESCAPE key press (Xuguang Mei) #46878 - [
33b0906640
] - sea: fix memory leak detected by asan (Darshan Sen) #47309 - [
069515153f
] - src: remove usage ofstd::shared_ptr<T>::unique()
(Darshan Sen) #47315 - [
4405fc879a
] - src: use stricter compile-time guidance (Tobias Nießen) #46509 - [
bbde68e5de
] - src: remove unused variable in crypto_x509.cc (Michaël Zasso) #47344 - [
7a80312e19
] - src: don't reset embeder signal handlers (Dmitry Vyukov) #47188 - [
d0a5e7e342
] - src: fix some recently introduced coverity issues (Michael Dawson) #47240 - [
0a4ff2f9a0
] - src: replace impossible THROW with CHECK (Tobias Nießen) #47168 - [
2fd0f79963
] - src: fix duplication of externalized builtin code (Keyhan Vakil) #47079 - [
36a026bf44
] - src: remove dead comments about return_code_cache (Keyhan Vakil) #47083 - [
aefe26692c
] - src: remove SSL_CTX_get_tlsext_ticket_keys guards (Tobias Nießen) #47068 - [
90f4e16350
] - src: fix clang 14 linker error (Keyhan Vakil) #47057 - [
b0809a73da
] - src,http2: ensure cleanup if a frame is not sent (ywave620) #47244 - [
1fc62c7b35
] - (SEMVER-MINOR) stream: add setter & getter for default highWaterMark (#46929) (Robert Nagy) #46929 - [
b8c6ceddd5
] - stream: expose stream symbols (Robert Nagy) #45671 - [
f37825660c
] - stream: dont wait for next item in take when finished (Raz Luvaton) #47132 - [
8eceaaeb4d
] - test: fix flaky test-watch-mode-inspect (Moshe Atlow) #47403 - [
db95ed0b1b
] - test: move debugger tests with --port=0 to parallel (Joyee Cheung) #47274 - [
041885ebd0
] - test: use --port=0 in debugger tests that do not have to work on 9229 (Joyee Cheung) #47274 - [
130420b9e1
] - test: run doctool tests in parallel (Joyee Cheung) #47273 - [
4b4336c34e
] - test: verify tracePromise does not do runStores (Stephen Belanger) #47349 - [
54261f3294
] - test: run WPT files in parallel again (Filip Skokan) #47283 - [
e2eb0543be
] - test: update wasm/jsapi WPT (Michaël Zasso) #47210 - [
d341d0389f
] - test: skip test-wasm-web-api on ARM (Michaël Zasso) #47299 - [
567573b16a
] - test: skip instantiateStreaming-bad-imports WPT (Michaël Zasso) #47292 - [
45e7b10287
] - test: fix 'checks' validation test for checkPrime (Tobias Nießen) #47139 - [
5749dfae70
] - test: update URL web-platform-tests (Yagiz Nizipli) #47135 - [
49981b93d2
] - test: reduce flakiness of test-http-remove-header-stays-removed.js (Debadree Chatterjee) #46855 - [
6772aa652a
] - test: fix test-child-process-exec-cwd (Stefan Stojanovic) #47235 - [
41a69e772b
] - test: skip broken tests win arm64 (Stefan Stojanovic) #47020 - [
7bcfd18f2c
] - test: mark test-http-max-sockets as flaky on win32 (Tobias Nießen) #47134 - [
b96808b3e2
] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #47222 - [
65955f1e46
] - test,crypto: update WebCryptoAPI WPT (Filip Skokan) #47131 - [
bc6511a243
] - test_runner: color errors only when colors are available (Moshe Atlow) #47394 - [
463361e625
] - test_runner: hide failing tests title when all tests pass (Moshe Atlow) #47370 - [
eb837ce80d
] - test_runner: stringify AssertError expected and actual (Moshe Atlow) #47088 - [
6b87f29000
] - test_runner: add code coverage support to spec reporter (Pulkit Gupta) #46674 - [
bd4697a2a3
] - test_runner: expose reporter for use in run api (Chemi Atlow) #47238 - [
3e7f8e8482
] - test_runner: report failing tests after summary (HinataKah0) #47164 - [
4530582767
] - test_runner: count nested tests (Moshe Atlow) #47094 - [
5a43586554
] - test_runner: accept \x1b as a escape symbol (Debadree Chatterjee) #47050 - [
a5ebc896f1
] - test_runner: support defining test reporter in NODE_OPTIONS (Steve Herzog) #46688 - [
a65fe5c29a
] - tools: fix update-openssl.yml compare version (Marco Ippolito) #47384 - [
760e13c58d
] - tools: ensure failed daily wpt run still generates a report (Filip Skokan) #47376 - [
9c975f79f0
] - tools: use ref_name to get branch pushed on (Debadree Chatterjee) #47358 - [
b1d6a15028
] - tools: add a at here tag for slack messages (Debadree Chatterjee) #47358 - [
c340de6d51
] - tools: disable Codecov commit statuses (Michaël Zasso) #47306 - [
034082f0e5
] - tools: update eslint to 8.37.0 (Node.js GitHub Bot) #47333 - [
03b6650c81
] - tools: fix duration_ms to be milliseconds (Moshe Atlow) #44490 - [
30c667ec3a
] - tools: automate brotli update (Marco Ippolito) #47205 - [
83791e5459
] - tools: fix typo in nghttp2 path (Marco Ippolito) #47330 - [
53e8dad64a
] - tools: add scorecard workflow (Mateo Nunez) #47254 - [
2499677d0b
] - tools: pin actions by hash for auto-start-ci.yml (Gabriela Gutierrez) #46820 - [
98f64ee724
] - tools: standardize base64 update (Marco Ippolito) #47201 - [
c1ef1fde8f
] - tools: update codecov branch (Rich Trott) #47285 - [
9ecf2a4144
] - tools: update lint-md-dependencies to rollup@3.20.2 (Node.js GitHub Bot) #47255 - [
def7e3d908
] - tools: upgrade Windows digital signature to SHA256 (Tobias Nießen) #47206 - [
0b78ac53ad
] - tools: standardize update-llhttp.sh (Marco Ippolito) #47198 - [
deb80b1c46
] - tools: add button to copy code example to clipboard (jakecastelli) #46928 - [
6dca79f1ce
] - tools: standardize update-nghttp2.sh (Marco Ippolito) #47197 - [
0c613c9347
] - tools: fix Slack notification action (Antoine du Hamel) #47237 - [
3f49da5113
] - tools: notify on Slack when invalid commit lands (Antoine du Hamel) #47178 - [
337123d657
] - tools: update daily wpt actions summary (Filip Skokan) #47138 - [
78ce8d3469
] - tools: allow test tap output to include unicode characters (Moshe Atlow) #47175 - [
8850dacc88
] - tools: update lint-md-dependencies to rollup@3.19.1 (Node.js GitHub Bot) #47045 - [
d1ca5b6d47
] - tools: align update-ada.sh with other scripts (Tony Gorez) #47044 - [
b58d52301e
] - tools: update eslint to 8.36.0 (Node.js GitHub Bot) #47046 - [
d78bef8a1f
] - tools,meta: update README and tools to reflect changes in TSC charter (Rich Trott) #47126 - [
d243115f41
] - url: improve URLSearchParams creation performance (Yagiz Nizipli) #47190 - [
461ef04f87
] - url: add pending-deprecation tourl.parse()
(Yagiz Nizipli) #47203 - [
ef62e5a59e
] - (SEMVER-MINOR) url: implement URL.canParse (Khafra) #47179 - [
0b565e8f62
] - url: allow extension of user provided URL objects (Antoine du Hamel) #46989 - [
cbb362736b
] - util: fix inspecting error with a throwing getter forcause
(Antoine du Hamel) #47163 - [
9537672511
] - vm: properly handle defining props on any value (Nicolas DUBIEN) #46615 - [
75669e98bf
] - watch: fix watch path with equals (Moshe Atlow) #47369
Windows 32-bit Installer: https://nodejs.org/dist/v19.9.0/node-v19.9.0-x86.msi
Windows 64-bit Installer: https://nodejs.org/dist/v19.9.0/node-v19.9.0-x64.msi
Windows ARM 64-bit Installer: https://nodejs.org/dist/v19.9.0/node-v19.9.0-arm64.msi
Windows 32-bit Binary: https://nodejs.org/dist/v19.9.0/win-x86/node.exe
Windows 64-bit Binary: https://nodejs.org/dist/v19.9.0/win-x64/node.exe
Windows ARM 64-bit Binary: https://nodejs.org/dist/v19.9.0/win-arm64/node.exe
macOS 64-bit Installer: https://nodejs.org/dist/v19.9.0/node-v19.9.0.pkg
macOS Apple Silicon 64-bit Binary: https://nodejs.org/dist/v19.9.0/node-v19.9.0-darwin-arm64.tar.gz
macOS Intel 64-bit Binary: https://nodejs.org/dist/v19.9.0/node-v19.9.0-darwin-x64.tar.gz
Linux 64-bit Binary: https://nodejs.org/dist/v19.9.0/node-v19.9.0-linux-x64.tar.xz
Linux PPC LE 64-bit Binary: https://nodejs.org/dist/v19.9.0/node-v19.9.0-linux-ppc64le.tar.xz
Linux s390x 64-bit Binary: https://nodejs.org/dist/v19.9.0/node-v19.9.0-linux-s390x.tar.xz
AIX 64-bit Binary: https://nodejs.org/dist/v19.9.0/node-v19.9.0-aix-ppc64.tar.gz
ARMv7 32-bit Binary: https://nodejs.org/dist/v19.9.0/node-v19.9.0-linux-armv7l.tar.xz
ARMv8 64-bit Binary: https://nodejs.org/dist/v19.9.0/node-v19.9.0-linux-arm64.tar.xz
Source Code: https://nodejs.org/dist/v19.9.0/node-v19.9.0.tar.gz
Other release files: https://nodejs.org/dist/v19.9.0/
Documentation: https://nodejs.org/docs/v19.9.0/api/
SHASUMS
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA256
86a6024daff66e468c5feb15648ce03d6072ef88834f9d453ef6b5de5e7255de node-v19.9.0-aix-ppc64.tar.gz
ee5f875605d96bdc5968799960df26044da3ef7d451661ccd702836c2b8cba51 node-v19.9.0-arm64.msi
13f7f0e57a2123e55a3172b65e08bc2a51fb52bf366a83d7dda12456ebdc3da0 node-v19.9.0-darwin-arm64.tar.gz
79bee93e746eb3a5497a92343e2f83adf7b60202eb913019b6b071f24ad562e7 node-v19.9.0-darwin-arm64.tar.xz
4f1a5b72ef0bcb6757e5daaf3fcf2c26fa35dc5d5fdff7692b63775ed51934a4 node-v19.9.0-darwin-x64.tar.gz
313a7e05af8137d179ac547b3270ce0aa23986e11838bfb7ab1874b3f6540277 node-v19.9.0-darwin-x64.tar.xz
61ad287af371315998742d431b14964856932337c3478140d3a8c787060a0df9 node-v19.9.0-headers.tar.gz
8e448ed5cc292a34ba159d367101f4d552845f5fba4d4ba4575f03f1a9ec8323 node-v19.9.0-headers.tar.xz
1ebddd6ac062270ac895233b78eb0feabc5fd08ea88502dfede626f4a1b4b037 node-v19.9.0-linux-arm64.tar.gz
7dd78091f8cf34fc094c79b6dfcdbf427abd2ecc4df266a99964bf853b5d6ca0 node-v19.9.0-linux-arm64.tar.xz
6d9258355f791b8f0517a0317d432afa9e6aff57be6697d625c361853efb62a0 node-v19.9.0-linux-armv7l.tar.gz
a9cc87fc5f86e8077c293dd0e39d4241dc7b490d87096526f642aeccee1701f2 node-v19.9.0-linux-armv7l.tar.xz
ba363f760f185ab808ba1a3828ad9393dbd4f786ccea347085d94e58f771b6aa node-v19.9.0-linux-ppc64le.tar.gz
9e5cf7c3f31c1028ca6ee6f854711573cb382d7eaf64497d1b2448f6ed5f3fb1 node-v19.9.0-linux-ppc64le.tar.xz
a31ac53084eda27881e48a71ecb45408d47027df1591a485240bfd9092d8abe7 node-v19.9.0-linux-s390x.tar.gz
8c956f305a8ca1964e3d0572980083ae01614e0bf14a695a319aed981b65dd08 node-v19.9.0-linux-s390x.tar.xz
15168a298d150335c098f19449f9baef0b0758466723fafc23ef209156dae604 node-v19.9.0-linux-x64.tar.gz
e8ea737ee15a62c8752159d12765ed757b5d4b18036b1011d9e4c9e692a4e58d node-v19.9.0-linux-x64.tar.xz
2db67c5dacfb600abd16e30a3b1c63d11c0328793f51cc4fe8d6d5a740be3ffb node-v19.9.0.pkg
c9293eb40dff8e5f55ef8da7cf1b9fd71b4a6a513620d02bbd158936e85216f2 node-v19.9.0.tar.gz
c7fce9d46ca6ce0d8990433cbf601bb9279c0eaed8705b357018cf50be9bed29 node-v19.9.0.tar.xz
8b6c30caab941b57d408c1b8858c470d9caeb1610dd4c055c89e08ac3aa4bf67 node-v19.9.0-win-arm64.7z
761ab28aa0f228e701ca11c0ba9b5decc9f54035ac477b4fc3d9854f32992d00 node-v19.9.0-win-arm64.zip
b670d61fa2ca1fb0248d1af741a2d691136b6eedb899decaf8e26e6e886c48a8 node-v19.9.0-win-x64.7z
589f7880af8de21ee371de8c06a85b5e996d049bf499fbac1245fb10b441e504 node-v19.9.0-win-x64.zip
6db5a772709207bb78d01405f19b912d295dd4bb3f4ecc8f793dcb211d5359dd node-v19.9.0-win-x86.7z
4517d95051c6bfc589dcd6f7546f716cd28f2d3e3663cb5326613ca4de87ab8b node-v19.9.0-win-x86.zip
a508c50ab0c6f35c40bfe1dd047036de3a24317b2fba048e7e79408ea183311c node-v19.9.0-x64.msi
3cf665f8efae4cc8d697099f850d87f98d860a01df9bb0402b503351a1dc5eff node-v19.9.0-x86.msi
11da4828c17e7e948564459770f0f6fe9cf0a310720b0ff5db4059fdde902f86 win-arm64/node.exe
cf4ed315c06367f6098a91b60306b3ddca255ef02e9dfd25ceb438f5c56b29c9 win-arm64/node.lib
5fba674eff0c26915cf7dc877006a64fef3f0fcbf18e830b167a9bca13a26bb2 win-arm64/node_pdb.7z
b22959f9ecb8ded1011381a2f2f0646c4a9c6cafb0b3007768fabbcb93dce3cc win-arm64/node_pdb.zip
4e3f15c87f43dfdf8e200dbc1e27fd2ebdb572c0bb6db2925e387ec13aa26728 win-x64/node.exe
7828f4c3b82dfdac0da50d33374c60e76dcf5e957c7c73254c9c3e3bc92f8ea0 win-x64/node.lib
24be9c261c49d8c3e4a8223ee828de9dc1bb7b5f4b66694f5d92d92559e9d05e win-x64/node_pdb.7z
e319a1923ed4b923c3b5cfc2e1d23fae388766774b989350450c28e9d8b3a67e win-x64/node_pdb.zip
3ecd67884a7b6f5afcbe90180b3caeffa6729e48a05d79036c9be6527b1c6ebb win-x86/node.exe
6a6aebc149e09cd7cc221d0e439a0220943554e7121f424f890b3c2dba449885 win-x86/node.lib
060f77b3cd05cbacce7ea8c2e40f77a0fbd8cac1ac6412804f343e1e9135c282 win-x86/node_pdb.7z
dbc91ab1bb913d2e1119768b8024f1456cff56aadb5a3426c4c6118627a86312 win-x86/node_pdb.zip
-----BEGIN PGP SIGNATURE-----
iQGzBAEBCAAdFiEEiQwI24V5Fi/uDfnbi+q0389VXvQFAmQ0qeIACgkQi+q0389V
XvRYYQv/Zsu/xyA7cFHM+YJr/x6ikvLMWfaVTxKud6wxg+I19WpIuv7pCedZdiUy
FkuoVuZTy9Z4oR85ir14wwxIMI+rZ78wsUXK4/q6UHt4/R040+Vhh1MWpRlfiK2v
ox9pwlnlSpF1qzzBkSlnZ8ZthtCOBMFT/t1ZeriMJhCsjvOq70XBVi1jFNKFWyaq
qA8neASedpTOCR4hFIR9XE95SAXBBmOVd/TMiocO5btvGwam9H/c0FJau9gRgGvf
UuzQ2y5kOcbD9BLV8GYt4cG9Dv/tVuzAB3X8K+9l+vHEoDA7pWq/RFfyPl10xgc5
MjsSC7EmJ9HiL0HlZERMDuCGHdS4bQAzkoRcuPXUIgpKWtOcQTr03kPKFpr+Hq5J
sZY6EHZRjBNNH+AiWmzfOlhAXCpzY7g6p27ewvckM1OAUYh83OWq6ehTKmgbrMbj
urf/C94Y1WkRHDlsF3E2GK8PgU0RmfyDs1tkXGBTtXXFDsxZ0YiIGadOlsGCimS2
M2bO4cNX
=WKW6
-----END PGP SIGNATURE-----