mpm@selenic.com [Thu, 30 Jun 2005 10:07:50 -0800] rev 535
Deal with failed clone/transaction interaction
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Deal with failed clone/transaction interaction
> What is happening is that something in the transaction machinery is
> causing the directory to be completely recreated.
The transaction gets rolled back by its destructor. This is critical
so it happens whenever an exception occurs that unwinds the stack.
Unfortunately, what's happening with clone is we're trying to delete
the directory during exception propagation. And a reference to the
transaction is held in the exception backtrace stack frames so it
still exists until the exception is completely resolved.
So there's no way to do the directory delete inside the exception
handling cleanly.
But we can handle it similarly to the transaction itself: use an
object with a destructor.
manifest hash: fc38550a20d64d08333f256bbedc312493c1390b
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxDT2ywK+sNU5EO8RAjikAJ0Tej56rAutxQDfYzVbFGtT1sEC5ACgmVds
/fwdQyHn+FwshugqXLemUaM=
=3f78
-----END PGP SIGNATURE-----
mpm@selenic.com [Thu, 30 Jun 2005 09:22:59 -0800] rev 534
[PATCH] Handle 'name firstname <email@server>' correctly in annotate
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] Handle 'name firstname <email@server>' correctly in annotate
- From ed.gomez@free.fr
manifest hash: 8af8d6b2afd8caf8e48e5150b91410dea730d41a
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxCpzywK+sNU5EO8RAj8tAJ9lIXS7tlgonp6B810QahCZM0NsigCdH8xQ
cRhEGvrKDrTgc4AY9guylDU=
=+sWJ
-----END PGP SIGNATURE-----
mpm@selenic.com [Thu, 30 Jun 2005 09:22:11 -0800] rev 533
[PATCH] Generate correctly XML entities for obfuscated user
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] Generate correctly XML entities for obfuscated user
From: Edouard Gomez <ed.gomez@free.fr>
manifest hash: 8e4e2d087ff60020c948d34e724fca99c84a9115
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxCpDywK+sNU5EO8RAs6yAKCy97yrMO6VYlkRIF3diLoGClZSOgCfekPE
ttPsLRoDTH12Tv6omFg6uUA=
=8ZBC
-----END PGP SIGNATURE-----
mpm@selenic.com [Thu, 30 Jun 2005 08:47:31 -0800] rev 532
clone: abort on pre-existing destination directory
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
clone: abort on pre-existing destination directory
manifest hash: c1c205ea212ed73521cebe0524da364f40ebf387
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxCIjywK+sNU5EO8RArteAKCM7oPK+htBvhz7n0Eo//A1BuGRQwCfY1xL
7denU7OqsKUf9UKKkhbWLB8=
=rhfi
-----END PGP SIGNATURE-----
mpm@selenic.com [Thu, 30 Jun 2005 08:44:22 -0800] rev 531
Hashing speed-up
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Hashing speed-up
- From Chris Mason
manifest hash: c10091676647015b907a3ddce4dc629cb485de36
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCxCFmywK+sNU5EO8RAjiEAJ98eBaomWIUtT7DAm5dCbcAOe1I7gCdFl/E
AvepXnn+tLC2Grk9et2sL3M=
=spZz
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 22:12:23 -0800] rev 530
Add removing print to TODO
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Add removing print to TODO
manifest hash: 42be0c5bc52258bd3399f19257398f02af16c5ee
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCw41HywK+sNU5EO8RAvRIAKCd6o7sSJIXXMZa/i9o1CyIH0GhLgCePs5U
1BkkXUN2RcqfOpDqe6cUIW0=
=aOPc
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 22:09:24 -0800] rev 529
Attempt to fix negative revision count from pull
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Attempt to fix negative revision count from pull
manifest hash: 4e8881037d545f4bf76d2c1b06f685b2467cd3a8
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCw4yUywK+sNU5EO8RApUkAKCCYTpBG3Wpu15aVeG0iBWE612S5wCgnSBi
PEfXF4NI2O9AqWijOMBq6aM=
=AyGw
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 21:55:25 -0800] rev 528
Fix clone bug wth trailing slash
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Fix clone bug wth trailing slash
manifest hash: ca78730f00063c57b70db69cf9ecfc3f83c02e84
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCw4lNywK+sNU5EO8RApq+AJ9YTl92lLnk9UMvWWSeEue/siS6pACgsg68
FLAc0OVzeULP7ORKRHCtpQI=
=IL3R
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 14:20:54 -0800] rev 527
[PATCH] Add --traceback option
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] Add --traceback option
From: Bryan O'Sullivan <bos@serpentine.com>
Add --traceback option, to force printing tracebacks on top-level exceptions.
manifest hash: 4347f42205b8b23835424b4e4100860ff2834b95
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwx7GywK+sNU5EO8RAgS8AKCmJAvTMGNJYYIW9eTI3RAqJZMfYACfS/rl
Hn1Ukml5D1fdSvyehH2G080=
=eLJO
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 14:15:16 -0800] rev 526
show connect message on push
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
show connect message on push
manifest hash: 3edbff798a71719c91890b9ab5fda5c2bd64f256
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwx10ywK+sNU5EO8RAv0uAJsGMalwZ2aEElzZ8io5zlM/DjwqJACglVLb
7KXzzHdXfKGXOr00gUV4mvc=
=sfeK
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 14:10:17 -0800] rev 525
[PATCH] Perform clone in place
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] Perform clone in place
From: Bryan O'Sullivan <bos@serpentine.com>
This is a rewrite of one of my earlier clone cleanup patches. This
patch only does one thing - make clone operate in place. It depends on
safe-clone.patch.
Don't have clone use os.chdir. Instead, do everything in place.
manifest hash: cf7cf24f8fa1120b609b0beee4281bc236e484c0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwxxJywK+sNU5EO8RAjnlAJ44B1jhFvuYF3uNDH6qWDKaqgURuwCdFeFo
Y9tjLx6TLCBWT146h21YEGA=
=E1n/
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 14:09:33 -0800] rev 524
Fix up test-bad-pull output
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Fix up test-bad-pull output
manifest hash: 4ed6670e4f20a0ad9e5b483ccc3003e8bd5c094c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwxwdywK+sNU5EO8RAm4RAJ9MuISeQhLqfxo4/w3WLjk18y6gXwCeMwCf
4nvEMnJCPMyk4MSMfzPnCnQ=
=wAOy
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 14:04:56 -0800] rev 523
[PATCH] Force "hg clone" to always create a new directory
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] Force "hg clone" to always create a new directory
From: Bryan O'Sullivan <bos@serpentine.com>
I just screwed myself by typing "hg clone foo" without specifying a
destination directory, and after I was done mopping up the mess,
concluded that this is a dangerous mode of operation that has no
practical value.
I've thus modified the clone command so that it always creates a
destination directory. If none is specified, the destination is taken
as the basename of the source.
hg clone foo
-> error, because foo already exists
hg clone http://www.selenic.com/hg
-> new repo, named hg
hg clone ../bar
-> new repo, named bar
manifest hash: f21ed8f805a60c1326d99220772e1574b0870d6c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwxsIywK+sNU5EO8RAgooAKC3IL6vKyADb9s2qqqi4GMw2Z7asACbBtE/
TvPgwGtIiB2GC+N+V7r1VpI=
=uTcK
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 13:48:57 -0800] rev 522
Fix empty pull bug that appeared this morning
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Fix empty pull bug that appeared this morning
manifest hash: 53e4709a701f03d9905933c80758ba13caf3998c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwxdJywK+sNU5EO8RAuoPAJ4tb9fd1Emm21/HLAEpyntaW2uoHQCfcc8z
J8LB4mVG3gTsvRtiLZBVV/g=
=+2C3
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 11:16:41 -0800] rev 521
[PATCH] Fix use of util.CommandError
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] Fix use of util.CommandError
From: Bryan O'Sullivan <bos@serpentine.com>
Fix CommandError so error messages don't say "abort: abort: ...".
manifest hash: 2aea4c8043d321882dcdf846a42a55403ce1086f
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwvOZywK+sNU5EO8RAqF/AJ9IIr6JPPUc15tb7w4lnI7yMFxSmgCfQUYn
OX7Uz7G3dJNRIjAxJtGwCLo=
=xj/W
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 11:12:50 -0800] rev 520
Add some TODO items
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Add some TODO items
manifest hash: d188abf3c84b6ca98279b4bf053ce2844da83a03
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwvKyywK+sNU5EO8RAh9ZAJ9kYA0a/R7XynWqZGGr6JqUvXa37wCfd2a2
F9fCY85bSZgErvdrklP29bQ=
=FtlU
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 11:05:09 -0800] rev 519
Add a CONTRIBUTORS file
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Add a CONTRIBUTORS file
Compiled by Rafael Villar Burke <pachi@mmn-arquitectos.com>
manifest hash: 20acfff6abdd47408d8262d15b19099c33b85151
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwvDlywK+sNU5EO8RAuujAJ4wYp+deMoUO54W8qBAFXKY3IHGPACeJNpO
x1rRm1amHz3V2RAfk/Rh9ZM=
=8t0h
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 10:49:07 -0800] rev 518
Fix failed clone in current directory
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Fix failed clone in current directory
Spotted by Edouard Gomez.
manifest hash: 83fd3bb8056c531f2d696f00c5bd6a61274783eb
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwu0jywK+sNU5EO8RAqPiAJ9tCL5PhHoGMTbaQzpt5dl+EkCH9QCgh4WL
EOFeD2th0Ucs7Npu3t+VUB0=
=p/Ig
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 10:46:41 -0800] rev 517
Add --repository option
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Add --repository option
From: Goffredo Baroncelli <kreijack@libero.it>
manifest hash: 714316cb69ed5fcd981aa1bdb12de499e8348997
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwuyRywK+sNU5EO8RAmh7AKCtUxqC0KFcMYmoh/voLAbh6BncpwCgrL42
zzSMZAiUg4KEO9BxxlJOcDs=
=eUcM
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 10:44:16 -0800] rev 516
Change getchangegroup to findincoming
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Change getchangegroup to findincoming
manifest hash: 46dbdc025ead342f7c70a0051d1c596cfcbb6699
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwuwAywK+sNU5EO8RAoV/AJ9GaoLTKMo2aoycSIZyBt/8r073vQCeK/tO
W1PwSot4HmnmcpR6RVIy9+0=
=PiBt
-----END PGP SIGNATURE-----
mpm@selenic.com [Wed, 29 Jun 2005 10:42:35 -0800] rev 515
Whitespace cleanups
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Whitespace cleanups
manifest hash: ac954bc3a4f034c12638a259ecd65841f5b63c5c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwuubywK+sNU5EO8RAluIAJ98XQpNdZUpSmYKgDmrMRlbL76ZzQCfes0t
rknNUN/PhtyA4bzL646dOz4=
=UyCE
-----END PGP SIGNATURE-----
mpm@selenic.com [Tue, 28 Jun 2005 11:06:25 -0800] rev 514
change unrelated repository error to a warning
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
change unrelated repository error to a warning
manifest hash: 7c1481639c7e7ba91fd391a9fa6eb17e838f894e
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwZ+xywK+sNU5EO8RAnnjAJ494NZfAdMVP48VegHQ+WeZ05DPogCbBEWC
d3N47FYG87x1CJOh9VzwVCQ=
=lrGp
-----END PGP SIGNATURE-----
mpm@selenic.com [Tue, 28 Jun 2005 10:50:13 -0800] rev 513
hg clone: don't try to delete "."
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
hg clone: don't try to delete "."
manifest hash: 7e7bd5375f7729812b7188b7a53287b3c6049823
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwZvlywK+sNU5EO8RAjn6AKCaBNWdLSNXIDqQZ3vMcN5ie5ZZaQCfaG37
hAN32PbYoQh8UC88AeOKOk4=
=kBOD
-----END PGP SIGNATURE-----
mpm@selenic.com [Tue, 28 Jun 2005 10:43:20 -0800] rev 512
Remove unnecessary deletion in hg clone
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Remove unnecessary deletion in hg clone
manifest hash: 4a750332a8b1fe07b63f77ccede89d6486a478e9
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwZpIywK+sNU5EO8RAq0IAKCsEtjbl9pe25FAkiDZo8+kAW8mpwCdGS7a
JIMPHNUQeb552c4jaPjoyBs=
=Jp3X
-----END PGP SIGNATURE-----
mpm@selenic.com [Tue, 28 Jun 2005 10:42:02 -0800] rev 511
Disallow merging of unrelated projects
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Disallow merging of unrelated projects
manifest hash: 40badbca64e1ccfd83fee8cd7bf5099f57b6f8bf
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwZn6ywK+sNU5EO8RAmdeAJ9TAaGSe0nGMdL+Du3AGwm9x28IUgCgpfGG
UunOBkobMVLGdHegnOvQkmQ=
=VwVi
-----END PGP SIGNATURE-----
mpm@selenic.com [Tue, 28 Jun 2005 03:08:47 -0800] rev 510
More fiddling with uint32_t includes for extensions
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
More fiddling with uint32_t includes for extensions
manifest hash: 1ad16a0262e9bd2769e32c13c7fd0c7b0cd7dde7
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwS+/ywK+sNU5EO8RAhK1AKCtF/57nKCc1AU+l0sR74kHhY1NCwCfSvQK
QQc5i8abuGkFpU5VUBJt5XQ=
=H+CX
-----END PGP SIGNATURE-----
mpm@selenic.com [Tue, 28 Jun 2005 02:48:21 -0800] rev 509
[PATCH] replace history with log
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] replace history with log
From: Radoslaw Szkodzinski <astralstorm@gorzow.mm.pl>
Merge hg history into hg log leaving the first as an alias
(tweaked by mpm: update docs, tests, use existing alias mechanism)
manifest hash: f85001a4373b8b823a6221ba5c506628059d6779
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwSr1ywK+sNU5EO8RAmbAAJ9HlFkf8/qLOAQUtj8CWxGRPEyzVgCgtXwP
SdnAg1a2q4693+TBiOjrimY=
=w9rf
-----END PGP SIGNATURE-----
mpm@selenic.com [Tue, 28 Jun 2005 02:38:33 -0800] rev 508
[PATCH] Harden os.system
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] Harden os.system
From: Bryan O'Sullivan <bos@serpentine.com>
Add util.system function. This is similar to os.system, but will
either succeed (if the process finishes with a zero exit code) or raise
a util.CommandError (if the process exits uncleanly or is killed by
a signal).
Add util.explain_exit function. This tends to be ubiquitous in code
that calls other processes, and must describe what has gone wrong.
Change some uses of os.system over to util.system.
manifest hash: e3bf4adcac5b915432ec0af00efdbcef86bea4b1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwSipywK+sNU5EO8RAr0RAJkBDt8XQ7mYQAWNHNgTOVt1eyWU1QCfe1oO
2OwxyWqpbRNACVJHHfZ3/Xw=
=OaRX
-----END PGP SIGNATURE-----
mpm@selenic.com [Tue, 28 Jun 2005 02:34:14 -0800] rev 507
README: mention lib64/
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
README: mention lib64/
manifest hash: 66865206771f64e1257235c8cf551edf77d2712c
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwSemywK+sNU5EO8RAn/kAJ9NhZLCNdOI09rSL22p6zVsoMLyXACdGzVh
6hfXMuxEjn84xTLS4xJ2OLo=
=VQie
-----END PGP SIGNATURE-----
mpm@selenic.com [Tue, 28 Jun 2005 02:30:36 -0800] rev 506
[PATCH] Add ui.expandpath command
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] Add ui.expandpath command
From: Bryan O'Sullivan <bos@serpentine.com>
Add ui.expandpath function.
manifest hash: dd2b9e536b94b453b06604b88ba339d93698b2e0
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwSbMywK+sNU5EO8RAibuAJ9jAMqhR3cbTqbPG3g9M8INgFmbvACgjAU2
LpalLI+zhalEUIf1Uw8W5l8=
=fqB8
-----END PGP SIGNATURE-----
mpm@selenic.com [Tue, 28 Jun 2005 02:22:45 -0800] rev 505
[PATCH] Fix "no-update" option to clone
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
[PATCH] Fix "no-update" option to clone
From: Bryan O'Sullivan <bos@serpentine.com>
Turn "no-update" (invalid Python identifier) into "noupdate".
manifest hash: 1dfb3212b97531437d5a243813896c090a05d95a
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwST1ywK+sNU5EO8RAvGnAJ9/RvohYRxpMTWkK6YCiF6r3U68FACeNRcr
mE/NYJzVbijiLK9TwWm8QgQ=
=w/KV
-----END PGP SIGNATURE-----
mpm@selenic.com [Tue, 28 Jun 2005 02:18:23 -0800] rev 504
Use $USERNAME as a fallback for commit
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Use $USERNAME as a fallback for commit
Suggested by Giuseppe Bilotta <bilotta78@hotpop.com>
manifest hash: 3f86a63aebaf6c30eaa3a2081e1e5f9caa20caa1
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.0 (GNU/Linux)
iD8DBQFCwSPvywK+sNU5EO8RAqpYAKCmwfTfeNGCTqy2wuBs/bmtxMKt1ACeIpRo
/vencPT6Z/WNXW+6p9NlZRY=
=jFZ/
-----END PGP SIGNATURE-----