Hello community, here is the log from the commit of package timezone for openSUSE:Factory checked in at 2016-10-10 17:26:07 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/timezone (Old) and /work/SRC/openSUSE:Factory/.timezone.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "timezone" Changes: -------- --- /work/SRC/openSUSE:Factory/timezone/timezone-java.changes 2016-10-06 14:32:28.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.timezone.new/timezone-java.changes 2016-10-10 17:26:09.000000000 +0200 @@ -1,0 +2,35 @@ +Thu Oct 6 19:14:45 UTC 2016 - astie...@suse.com + +- timezone update 2016g: + * Turkey will remain on UTC+03 after 2016-10-30 bsc#997830 + * New leap second 2016-12-31 23:59:60 UTC + Remove 0001-Positive-leap-second-on-2016-12-31.patch + * Corrections for past DST transitions + * Antarcica and nautical time zones now use numeric time zone + abbreviations instead of obsolete alphanumeric ones + * Renamed Asia/Rangoon to Asia/Yangon + * The following change was previously patched in the package + and is now upstream: + + If the installed localtime and/or posixrules files are + symbolic links, zic now keeps them symbolic links when + updating them, for compatibility with platforms like + openSUSE where other programs configure these files as + symlinks. + + zic now avoids hard linking to symbolic links, avoids + some unnecessary mkdir and stat system calls, and uses + shorter file names internally. + + Drop the patches: + tzcode-link.diff + tzcode-revert-01-8c9cb9580.patch + tzcode-revert-02-301f794f3.patch + tzcode-revert-03-39fd078a6.patch + tzcode-symlink.patch + tzcode-zic.diff + tzcode-fromname.patch + + Upstream changes did not account for TZDEFAULT being an + absolute path. Prevent broken symlinks (bsc#1003324), + add timezone-2016g-absolute-TZDEFAULT.patch + * zdump has a new -i option to generate transitions in a + more-compact but still human-readable format. (experimental) + +------------------------------------------------------------------- timezone.changes: same change Old: ---- 0001-Positive-leap-second-on-2016-12-31.patch tzcode-fromname.patch tzcode-link.diff tzcode-revert-01-8c9cb9580.patch tzcode-revert-02-301f794f3.patch tzcode-revert-03-39fd078a6.patch tzcode-symlink.patch tzcode-zic.diff tzcode2016f.tar.gz tzcode2016f.tar.gz.asc tzdata2016f.tar.gz tzdata2016f.tar.gz.asc New: ---- timezone-2016g-absolute-TZDEFAULT.patch timezone-java.keyring tzcode2016g.tar.gz tzcode2016g.tar.gz.asc tzdata2016g.tar.gz tzdata2016g.tar.gz.asc ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ timezone-java.spec ++++++ --- /var/tmp/diff_new_pack.KE5dkR/_old 2016-10-10 17:26:10.000000000 +0200 +++ /var/tmp/diff_new_pack.KE5dkR/_new 2016-10-10 17:26:10.000000000 +0200 @@ -25,26 +25,17 @@ Group: System/Base # COMMON-BEGIN # COMMON-BEGIN -Version: 2016f +Version: 2016g Release: 0 -Source: ftp://ftp.iana.org/tz/releases/tzdata%{version}.tar.gz -Source1: ftp://ftp.iana.org/tz/releases/tzcode%{version}.tar.gz -Source2: ftp://ftp.iana.org/tz/releases/tzdata%{version}.tar.gz.asc -Source3: ftp://ftp.iana.org/tz/releases/tzcode%{version}.tar.gz.asc -# http://sks.mrball.net/pks/lookup?op=get&search=0xED97E90E62AA7E34 -Source4: timezone.keyring -Patch100: tzcode-revert-01-8c9cb9580.patch -Patch101: tzcode-revert-02-301f794f3.patch -Patch102: tzcode-revert-03-39fd078a6.patch +Source: https://www.iana.org/time-zones/repository/releases/tzdata%{version}.tar.gz +Source1: https://www.iana.org/time-zones/repository/releases/tzcode%{version}.tar.gz +Source2: https://www.iana.org/time-zones/repository/releases/tzdata%{version}.tar.gz.asc +Source3: https://www.iana.org/time-zones/repository/releases/tzcode%{version}.tar.gz.asc +Source4: %{name}.keyring +Source5: %{name}.changes Patch0: tzdata-china.diff -Patch1: tzcode-zic.diff -# PATCH-FIX-OPENSUSE bnc#845530 -Patch2: tzcode-fromname.patch Patch3: iso3166-uk.diff -Patch4: tzcode-link.diff -Patch5: tzcode-symlink.patch -# PATCH-FIX-UPSTREAM 0001-Positive-leap-second-on-2016-12-31.patch bsc#988184 -Patch6: 0001-Positive-leap-second-on-2016-12-31.patch +Patch4: timezone-2016g-absolute-TZDEFAULT.patch # COMMON-END # COMMON-END Url: http://www.gnu.org/software/libc/libc.html @@ -64,19 +55,9 @@ %setup -c -a 1 # COMMON-PREP-BEGIN # COMMON-PREP-BEGIN -%patch100 -p1 -R -%patch101 -p1 -R -%patch102 -p1 -R %patch0 -p1 -%patch1 -p1 -%patch2 -p1 %patch3 -p1 -%if 0%{?suse_version} < 1220 %patch4 -p1 -%else -%patch5 -p1 -%endif -%patch6 -p1 sed -ri 's@/usr/local/etc/zoneinfo@%{_datadir}/zoneinfo@g' *.[1358] # COMMON-PREP-END # COMMON-PREP-END ++++++ timezone.spec ++++++ --- /var/tmp/diff_new_pack.KE5dkR/_old 2016-10-10 17:26:10.000000000 +0200 +++ /var/tmp/diff_new_pack.KE5dkR/_new 2016-10-10 17:26:10.000000000 +0200 @@ -23,26 +23,17 @@ Url: http://www.iana.org/time-zones PreReq: filesystem, coreutils # COMMON-BEGIN -Version: 2016f +Version: 2016g Release: 0 -Source: ftp://ftp.iana.org/tz/releases/tzdata%{version}.tar.gz -Source1: ftp://ftp.iana.org/tz/releases/tzcode%{version}.tar.gz -Source2: ftp://ftp.iana.org/tz/releases/tzdata%{version}.tar.gz.asc -Source3: ftp://ftp.iana.org/tz/releases/tzcode%{version}.tar.gz.asc -# http://sks.mrball.net/pks/lookup?op=get&search=0xED97E90E62AA7E34 -Source4: timezone.keyring -Patch100: tzcode-revert-01-8c9cb9580.patch -Patch101: tzcode-revert-02-301f794f3.patch -Patch102: tzcode-revert-03-39fd078a6.patch +Source: https://www.iana.org/time-zones/repository/releases/tzdata%{version}.tar.gz +Source1: https://www.iana.org/time-zones/repository/releases/tzcode%{version}.tar.gz +Source2: https://www.iana.org/time-zones/repository/releases/tzdata%{version}.tar.gz.asc +Source3: https://www.iana.org/time-zones/repository/releases/tzcode%{version}.tar.gz.asc +Source4: %{name}.keyring +Source5: %{name}.changes Patch0: tzdata-china.diff -Patch1: tzcode-zic.diff -# PATCH-FIX-OPENSUSE bnc#845530 -Patch2: tzcode-fromname.patch Patch3: iso3166-uk.diff -Patch4: tzcode-link.diff -Patch5: tzcode-symlink.patch -# PATCH-FIX-UPSTREAM 0001-Positive-leap-second-on-2016-12-31.patch bsc#988184 -Patch6: 0001-Positive-leap-second-on-2016-12-31.patch +Patch4: timezone-2016g-absolute-TZDEFAULT.patch # COMMON-END BuildRoot: %{_tmppath}/%{name}-%{version}-build @@ -58,19 +49,9 @@ %prep %setup -q -c -a 1 # COMMON-PREP-BEGIN -%patch100 -p1 -R -%patch101 -p1 -R -%patch102 -p1 -R %patch0 -p1 -%patch1 -p1 -%patch2 -p1 %patch3 -p1 -%if 0%{?suse_version} < 1220 %patch4 -p1 -%else -%patch5 -p1 -%endif -%patch6 -p1 sed -ri 's@/usr/local/etc/zoneinfo@%{_datadir}/zoneinfo@g' *.[1358] # COMMON-PREP-END ++++++ timezone-2016g-absolute-TZDEFAULT.patch ++++++ >From df9991a2186d4236ba1e97e6638fa53b578bc6d7 Mon Sep 17 00:00:00 2001 From: Paul Eggert <egg...@cs.ucla.edu> Date: Thu, 6 Oct 2016 11:47:17 -0700 Subject: [PATCH] Do not assume TZDEFAULT is relative. Problem reported by Andreas Stieger in: http://mm.icann.org/pipermail/tz/2016-October/024280.html * NEWS: Document this. * zic.c (relname): New function. (dolink): Use it. --- zic.c | 65 ++++++++++++++++++++++++++++++++++++++++++++--------------------- 1 file changed, 44 insertions(+), 21 deletions(-) --- Fixes: https://bugzilla.suse.com/show_bug.cgi?id=1003324 diff --git a/zic.c b/zic.c index 2505c11..eba223c 100644 --- a/zic.c +++ b/zic.c @@ -764,6 +764,44 @@ namecheck(const char *name) return componentcheck(name, component, cp); } +/* Create symlink contents suitable for symlinking FROM to TO, as a + freshly allocated string. FROM should be a relative file name, and + is relative to the global variable DIRECTORY. TO can be either + relative or absolute. */ +static char * +relname(char const *from, char const *to) +{ + size_t i, taillen, dotdotetcsize; + size_t dir_len = 0, dotdots = 0, linksize = SIZE_MAX; + char const *f = from; + char *result = NULL; + if (*to == '/') { + /* Make F absolute too. */ + size_t len = strlen(directory); + bool needslash = len && directory[len - 1] != '/'; + linksize = len + needslash + strlen(from) + 1; + f = result = emalloc(linksize); + strcpy(result, directory); + result[len] = '/'; + strcpy(result + len + needslash, from); + } + for (i = 0; f[i] && f[i] == to[i]; i++) + if (f[i] == '/') + dir_len = i + 1; + for (; f[i]; i++) + dotdots += f[i] == '/' && f[i - 1] != '/'; + taillen = i - dir_len; + dotdotetcsize = 3 * dotdots + taillen + 1; + if (dotdotetcsize <= linksize) { + if (!result) + result = emalloc(dotdotetcsize); + for (i = 0; i < dotdots; i++) + memcpy(result + 3 * i, "../", 3); + memmove(result + 3 * dotdots, f + dir_len, taillen + 1); + } + return result; +} + static void dolink(char const *fromfield, char const *tofield, bool staysymlink) { @@ -800,30 +838,15 @@ dolink(char const *fromfield, char const *tofield, bool staysymlink) link_errno = link(fromfield, tofield) == 0 ? 0 : errno; } if (link_errno != 0) { - const char *s = fromfield; - const char *t; - char *p; - size_t dotdots = 0; - char *symlinkcontents; - int symlink_errno; - - do - t = s; - while ((s = strchr(s, '/')) - && strncmp(fromfield, tofield, ++s - fromfield) == 0); - - for (s = tofield + (t - fromfield); *s; s++) - dotdots += *s == '/'; - symlinkcontents = emalloc(3 * dotdots + strlen(t) + 1); - for (p = symlinkcontents; dotdots-- != 0; p += 3) - memcpy(p, "../", 3); - strcpy(p, t); - symlink_errno = symlink(symlinkcontents, tofield) == 0 ? 0 : errno; + bool absolute = *fromfield == '/'; + char *linkalloc = absolute ? NULL : relname(fromfield, tofield); + char const *contents = absolute ? fromfield : linkalloc; + int symlink_errno = symlink(contents, tofield) == 0 ? 0 : errno; if (symlink_errno == ENOENT && !todirs_made) { mkdirs(tofield, true); - symlink_errno = symlink(symlinkcontents, tofield) == 0 ? 0 : errno; + symlink_errno = symlink(contents, tofield) == 0 ? 0 : errno; } - free(symlinkcontents); + free(linkalloc); if (symlink_errno == 0) { if (link_errno != ENOTSUP) warning(_("symbolic link used because hard link failed: %s"), -- 2.10.1 ++++++ timezone.keyring ++++++ --- /var/tmp/diff_new_pack.KE5dkR/_old 2016-10-10 17:26:10.000000000 +0200 +++ /var/tmp/diff_new_pack.KE5dkR/_new 2016-10-10 17:26:10.000000000 +0200 @@ -1,28 +1,58 @@ -----BEGIN PGP PUBLIC KEY BLOCK----- -Version: SKS 1.1.5+ -Comment: Hostname: keys2.kfwebs.net +Version: SKS 1.1.5 +Comment: Hostname: pgp.mit.edu -mQENBFd7yYMBCADFWTwWRdWOZnZQG5cu6ZSJj47tyrXbSvwRinr2kGw7zP83YLFYLFt9HqzV -jeN1DXgWYaTPzrqg5ZK6h5YVoS+XLTMIAmMhgglXUtxuZ1bI97Qi48SVHQTtCBuOH/lVuqp1 -AVroqW/iK9hzNrmXm+NNZ5OwhVo1kOlnp/B8/425DgCg9Xwt8dueYtlrmTpFn+so/MbfsXgf -6+r4Bip5/bYebz9IKRoH4zvX7SHYkXmC47UozuKKSIkh6Fc7gFnGtyDR7fy2wb9TR181PqPg -/anRBFpEegez4g0Nkglh5w8+l3pG/RFEAW7HBt3ee7+hMuNj23uoIH4KivBgMM6V0foBABEB -AAG0IFBhdWwgRWdnZXJ0IDxlZ2dlcnRAY3MudWNsYS5lZHU+iQE4BBMBAgAiBQJXe8mDAhsD -BgsJCAcDAgYVCAIJCgsEFgIDAQIeAQIXgAAKCRAEPbY3RK1BjLtyB/90UnWXhNJLawcsjErp -ufHSwrM+vCXcn7X9pXqPfGY7fPxGwaClWUK2q6PG80NaNrncDihhc/NV3Avput7mrWw0o2GL -LHeDnqdGoddytXG3aO1uOkXOx4590p+Y7mtaD3AMCctQrm8n/6M2OEEHessxcJc4VpCznOXU -A/6mrom+VJvqkSaZEznMZmiZe5rA8zWp2GWKl1K0KJHtUZyDV4qlOtD+pNOm29yGJT0uCUuH -YFTx5PEcwuLnvJYosx33e82iPSKztb+9TchuAt7GiG05H8EQv4/+Yl6uBPFN1DUPezFpfqUo -jLh+J+2Sjt3zvLiS7nB/0nVzC94bnkYD2ujPuQENBFd7yYMBCACicN4ZgrhjxJAQ88wD/Ifn -Jh7c5O0xo8C9K4WLI/cPjo9Utybw+/C0wl2hDtx5no68U5Bw68n973SxGqZpNiJK201VwLHC -DpuDB1UPdmhgF58mDbchDoTEBbYxOJSLzy7eVcuISzm59Ui0vXRMT4dxoh808MxGk5dx7IaH -jwHc/DgEOk9tzk2pWY7mTe9xGfzTjU1KlrmAzL5vNz1IoVbBDRKuGUXLL6soY5BQQXyS874C -Pxk02QfIV+QLgET3is9Gw6J7wxQCxJwp53aHYxk/Uvp/VhoJJXNADVisH1IlL2ZJs8TfPTcp -xhSfU8+TNMcYwKdxnJ9fsl8pPBGayIY7ABEBAAGJAR8EGAECAAkFAld7yYMCGwwACgkQBD22 -N0StQYxQDAgAsqemuGs020uYbP4fchwVy3bVgfQyVnobZhkg6z4vb9Wvw3f37sFBFsjPylMZ -doUuX2jpmVPZgYK4ENV8gJKsm6ocneit07kAdZRGxeP5Lkt2kAhrZ6/2YSKZkiMFH+0WN7Ch -1ITsLoxe++9WxIQGI66RgTxfnlLnbuEXhIO8Qjepa1LcI/k+Yh9gLdRgtan9VAg0C4r40Cip -Yzuf9mKImYIPlJpGKIb7SAQDIAcmOkWK8cbCL7XRsd0ZjTrBbPxlmB2nB9+g4L3dCe0TmRq4 -SFM/8RjpqdxqdFknCMo4r9EaoagG0wbUKybbYHXiFD2bJ8ShriUwkp8vrInbj7cIww== -=+hBC +mQINBEyAcmQBEADAAyH2xoTu7ppG5D3a8FMZEon74dCvc4+q1XA2J2tBy2pwaTqfhpxxdGA9 +Jj50UJ3PD4bSUEgN8tLZ0san47l5XTAFLi2456ciSl5m8sKaHlGdt9XmAAtmXqeZVIYX/UFS +96fDzf4xhEmm/y7LbYEPQdUdxu47xA5KhTYp5bltF3WYDz1Ygd7gx07Auwp7iw7eNvnoDTAl +KAl8KYDZzbDNCQGEbpY3efZIvPdeI+FWQN4W+kghy+P6au6PrIIhYraeua7XDdb2LS1en3Ss +mE3QjqfRqI/A2ue8JMwsvXe/WK38Ezs6x74iTaqI3AFH6ilAhDqpMnd/msSESNFt76DiO1ZK +QMr9amVPknjfPmJISqdhgB1DlEdw34sROf6V8mZw0xfqT6PKE46LcFefzs0kbg4GORf8vjG2 +Sf1tk5eU8MBiyN/bZ03bKNjNYMpODDQQwuP84kYLkX2wBxxMAhBxwbDVZudzxDZJ1C2VXujC +OJVxq2kljBM9ETYuUGqd75AW2LXrLw6+MuIsHFAYAgRr7+KcwDgBAfwhPBYX34nSSiHlmLC+ +KaHLeCLF5ZI2vKm3HEeCTtlOg7xZEONgwzL+fdKo+D6SoC8RRxJKs8a3sVfI4t6CnrQzvJbB +n6gxdgCu5i29J1QCYrCYvql2UyFPAK+do99/1jOXT4m2836j1wARAQABtCBQYXVsIEVnZ2Vy +dCA8ZWdnZXJ0QGNzLnVjbGEuZWR1PokCHAQQAQIABgUCVi604AAKCRDNVPzj2WS++xxpD/4h +ZPbOUfcFLwePuSD3tqKrcmAq0vmyND1aNSOht0OlUbnHtsWxJmThEVEF25VfPbWhD+DZjRj8 +hkQNzgkdeLJXJNj8JqS/MedrVa3j3wzHAnSt6fIQ8VvLmZDYg2gCpZrlU/y15ObyOrPkgOCC +6MC2PFwHnEpAfR0d6AdbZ+ZeLqbvkB/tkMsqroNMSlPtgq8AWCKX++WJTBpSw0o/iZjNkq7j +W/BWgEVn51oTH8mgS2QN7mxltlaGG3x0AINjKcawfTX+lPksdZ5h9Fy+2QD9MoeAoEKsrS1z +FYSVAVwrVAGwvAvz7sFxYzAh0Z+IO80Vwvm8VWfKrKr+483dzR7MzqfQyuCfMwEWg+hQ8r26 +qCRbe5KgNozVLsV3f1Sj5PwwnT5KE7jgikYHGk+kSti1V/PiiKfCn9VAHvDad4P+o11R7aH4 +PaoZYb0M+S7FmKaQfeWcpymHLmpfG8JA7MCsQY0U7ix2jYHIjRZZgolYJ8T2JFf4VlzhiwsM +wFNycPqNmGHF4da1dm248ugKqLFls2aVdb9mTlFYrUQOtLN/FizELEv8dXt4A1bjoK9pO1ZF +wffgfP5afmFjHMSX6Z3KcXGmXZ1tYQocco7S4J4PyERGFhTyT7skXIzuml59+2G4WxGiatJI +3hhxaN0237vot5sIVDl1TpCMLr/02+qKfYkCPgQTAQIAKAUCTIByZAIbAwUJEswDAAYLCQgH +AwIGFQgCCQoLBBYCAwECHgECF4AACgkQ7ZfpDmKqfjRRGw/+Ij03dhYfYl/gXVRiuzV1gGrb +Hk+tnfrI/C7fAeoFzQ5tVgVinShaPkZo0HTPf18x6IDEdAiO8Mqo1yp0CtHmzGMCJ50o4Grg +fjlr6g/+vtEOKbhleszN2XpJvpwM2QgGvn/laTLUu8PH9aRWTs7qJJZKKKAb4sxYc92FehPu +6FOD0dDiyhlDAq4lOV2mdBpzQbiojoZzQLMQwjpgCTK2572eK9EOEQySUThXrSIz6ASenp4N +YTFHs9tuJQvXk9gZDdPSl3bp+47dGxlxEWLpBIM7zIONw4ks4azgT8nvDZxA5IZHtvqBlJLB +ObYY0Le61Wp0y3TlBDh2qdK8eYL426W4scEMSuig5gb8OAtQiBW6k2sGUxxeiv8ovWu8YAZg +KJfuoWI+uRnMEddruY8JsoM54KaKvZikkKs2bg1ndtLVzHpJ6qFZC7QVjeHUh6/BmgvdjWPZ +YFTtN+KA9CWX3GQKKgN3uu988yznD7LnB98T4EUH1HA/GnfBqMV1gpzTvPc4qVQinCmIkEFp +83zl+G5fCjJJ3W7ivzCnYo4KhKLpFUm97okTKR2LW3xZzEW4cLSWO387MTK3CzDOx5qe6s4a +91ZuZM/j/TQdTLDaqNn83kA4Hq48UHXYxcIh+Nd8k/3w6lFuoK0wrOFiywjLx+0ur5jmmbec +BGHc1xdhAFG5Ag0ETIByZAEQAKaF678T9wyH4wjTrV1Pz3cDEoSnV/0ZUrOT37p1dcGyj/IX +q1x670HRVahAmk0sZpYc25PF9D5GPYHFWlNjuPU96rDndXB3hedmBRhLdC4bAXjI4DV+bmdV +e+q/IMnlZRaVlm9EiMCVAR6w13sReu7qXkW9r3RwY2AzXskp/tAe4BRKr1Zmbvi2nbnQ6epE +C42rRbx0B1EhjbIQZ5JHGk24iPT7LdBgnNmos5wYjzwNlkMQD5T0Ydzhk7J+UxwA5m46mOhR +DC2rFV/A0gm5TLy8DXjv/Esc4gYnYai6SQqnUEVh5LuV8YCJBnijs+Tiw71x1icmn6xGI45E +ugJOgec+rLypYgpVp4x0HI5T88qBRYCkxH3Kg8Qo+EWNA9A4LRQ9DX8njona0gf0s03tocK8 +kBN66UoqqPtHBnc4eMgBymCflK12eKfd2YYxnyg9cZazWA5VslvTxpm76hbg5oiAEH/Vg/8M +xHyAnPhfrgwyPrmJEcVBafdspJnYQxBYNco2LFPIhlOvWh8r4at+s+M3Lb26oUTczlgdW1Sf +3SDA77BMRnF0FQyE+7AzV79MBN4ykiqaezQxtaF1Fy/tvkhffSo8u+dwG0EgJh+te38gTcIS +Vr0GIPplLz6YhjrbHrPRF1CN5UuL9DBGjxuN35RLNVEfta6RUFlR6NctTjvrABEBAAGJAiUE +GAECAA8FAkyAcmQCGwwFCRLMAwAACgkQ7ZfpDmKqfjSrHA/+KzAKvTxRhA9MWNLxIyJ7S5uJ +16gsT3oCjZrBKGEhKMOGX4O0GA6VOEryO7QRCCYah3oxSG38IAnNeiwJXgU9Bzkk85UGbPEd +7HGF/VSeHCQwWou6jqUDTSDvn9YhNTdG0KXPM74aC+xr2Zow1O2mhXihgWKD0Dw+0LYPnUOs +Q0KOFxHXXYHmRrS1OZPU59BLvc+TRhIhafSHKLwbXK+6ckkxBx6h8z5ccpG0Qs4bFhdFYnFr +EieDLoGmnE2YLhdV6swJ9VNCS6pLiEohT3fm7aXm15tZOIyzMZhHRSAPblXxQ0ZSWjq8oRrc +YNFxc4W1URpAkBCOYJoXvQfD5L3lqAl8TCqDUzYxhH/tJhbDdHrqHH767jaDaTB1+Talp/2A +MKwcXNOdiklGxbmHVG6YGl6g8Lrbsu9NZEI4yLlHzuikthJWgz+3vZhVGyNlt+HNIoF6CjDL +2omu5cEq4RDHM44QqPk6l7O0pUvN1mT4B+S1b08RKpqm/ff015E37HNV/piIvJlxGAYz8PSf +uGCB1thMYqlmgdhd9/BabGFbGGYHA6U4/T5zqU+f6xHy1SsAQZ1MSKlLwekBIT+4/cLRGqCH +jnV0q5H/T6a7t5mPkbzSrOLSo4puj+IToNjYyYIDBWzhlA19avOa+rvUjmHtD3sFN7cXWtkG +oi8buNcby4U= +=w6kQ -----END PGP PUBLIC KEY BLOCK-----