Re: Patches for Fedora 42 & 43

"Andrew L. Moore" <[email protected]> Tue, 14 Oct 2025 03:56:16 -0400
Newsgroups gmane.comp.gnu.global.bugs
Message-ID <[email protected]>
This is a multi-part message in MIME format.
--------------nszhX45FYjHy3BAwddrfGuBi
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit

Please find attached a final, corrected, version of the patch
use-system-regex.diff. It works both with and without configure option
`--with-included-regex'. In Makefile.am, a TAB in front of
`SUBDIRS += libglibc' was causing the assignment to be rewritten as:

.PRECIOUS:

	SUBDIRS += libglibc

and thus never executed. Sigh.

If an updated Gnulib were later added to the distribution, this patch
would still work as intended. Again, apologies not testing more
carefully before submitting.

On 10/13/25 19:47, Shigio YAMAGUCHI wrote:
> Hello,
> I'll apply all of these patches. It may take a little time to adopt gnulib, but
> I will make it happen.
> 
> Thank you for the very valuable patches!
> 
> Regards,
> Shigio
> 
> On Tue, Oct 14, 2025 at 8:06 AM Andrew L. Moore <[email protected]> wrote:
>>
>> We already have one vote in favor of importing Gnulib using its provided
>> bootstrap script. I am not opposed and merely offer the patch
>> use-system-gnulib.diff as a compromise. The patch name is actually
>> misleading, as I explained in reply to Colin Frank. Furthermore, I
>> complicated the patching process by providing the final patch,
>> ax_func_getopt_long.m4, in a different format: It fails to apply using
>> `patch -p1 <patchfile' as appropriate for the other patches.  So I've
>> attached a new patch file, use-system-regexp.diff, that replaces both
>> use-system-gnulib.diff and ax_func_getopt_long.m4. This applies
>> correctly using `patch -p1'.  Apologies for the complication.
>>
>> One note about Bruno Haible's hash function:  In the version that is now
>> deprecated in Gnulib, hash_pjw, the final value is returned modulus the
>> key length, whereas in the original version included in this patch, no
>> modulus is taken (as was the case in the Compilers book).
>>
>> On 10/13/25 01:21, Andrew L. Moore wrote:
>>> The patch use-system-gnulib.diff depends upon an m4 macro which was
>>> omitted.  Please find attached a patch for it below.
>>>
>>> On 10/13/25 01:07, Andrew L. Moore wrote:
>>>> Please find attached patches that allow building GNU Global v6.6.14 on
>>>> Fedora GNU/Linux v42 and v43. The first three are straight forward:
>>>>
>>>> 1. When looking for Universal Ctags, use option `--extras'. The code
>>>>      does this, but configure was using `--extra'.
>>>>
>>>> 2. When looking for libsqlite3, add /usr/lib64 to the search path.
>>>>
>>>> 3. Address a GNU C v15 compilation error: assignment from incompatible
>>>>      pointer type 'int (*)(void)'. The fix is to conditionally add
>>>>      prototypes to dberr masks.
>>>>
>>>> Many modern systems come with Gnulib. So either GNU Global could link
>>>> against the system Gnulib, or, alternatively, the Gnulib `bootstrap'
>>>> script could be added to the GNU Global distribution. Gnulib bootstrap
>>>> downloads Gnulib modules as needed. See:
>>>>
>>>> https://cgit.git.savannah.gnu.org/cgit/gnulib.git/tree/top/bootstrap
>>>>
>>>> One complication is that the function hash_string is no longer
>>>> included in Gnulib.
>>>>
>>>> 4. So the final patch is an attempt to address these issues in
>>>>      minimalist (lazy) way: If the system provides regcomp and
>>>>      getopt_long, then the system-provided functions are used by
>>>>      default. To override this, use the configure option
>>>>      `--with-included-regex'. An updated version of the hash_string
>>>>      function by Bruno Haible is added directly to libutil/strhash.c.
>>>>      The function is described in the article:
>>>>
>>>>      https://www.haible.de/bruno/hashfunc.html
>>>>
>>>> A more correct approach might be to leverage Gnulib's bootstrap script
>>>> and update strhash.c to use current Gnulib hash functions. If I had
>>>> more time, I would have liked to offer an alternative patch for this.
>>>> The current Gnulib does have lots of overhead, so maybe the included
>>>> patch will be acceptable compromise.
> 
> 
> 

--------------nszhX45FYjHy3BAwddrfGuBi
Content-Type: text/x-patch; charset=UTF-8;
 name="use-system-regex-corrected.diff"
Content-Disposition: attachment; filename="use-system-regex-corrected.diff"
Content-Transfer-Encoding: base64

ZGlmZiAtLWdpdCBhL01ha2VmaWxlLmFtIGIvTWFrZWZpbGUuYW0KaW5kZXggNDQ0NTJkYy4u
MDRiNjUxNCAxMDA2NDQKLS0tIGEvTWFrZWZpbGUuYW0KKysrIGIvTWFrZWZpbGUuYW0KQEAg
LTExLDcgKzExLDEwIEBACiAjIGltcGxpZWQgd2FycmFudHkgb2YgTUVSQ0hBTlRBQklMSVRZ
IG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLgogIwogQUNMT0NBTF9BTUZM
QUdTID0gLUkgbTQKLVNVQkRJUlMgPSBsaWJnbGliYyBsaWJ1dGlsIGxpYnBhcnNlciBsaWJs
dGRsIHBsdWdpbi1mYWN0b3J5CitTVUJESVJTID0gbGlidXRpbCBsaWJwYXJzZXIgbGlibHRk
bCBwbHVnaW4tZmFjdG9yeQoraWYgTERBRERfR05VTElCCisgICAgICAgIFNVQkRJUlMgKz0g
bGliZ2xpYmMKK2VuZGlmCiBpZiAhVVNFX0RCMTg1X0NPTVBBVAogICAgICAgICBTVUJESVJT
ICs9IGxpYmRiCiBlbmRpZgpkaWZmIC0tZ2l0IGEvY29uZmlndXJlLmFjIGIvY29uZmlndXJl
LmFjCmluZGV4IDI1ZTU3Y2UuLjZjOWY5YzIgMTAwNjQ0Ci0tLSBhL2NvbmZpZ3VyZS5hYwor
KysgYi9jb25maWd1cmUuYWMKQEAgLTI1LDYgKzI1LDcgQEAgQUNfSU5JVChbR05VIEdsb2Jh
bF0sWzYuNi4xNF0pCiBBQ19ERUZJTkUoQ09QWVJJR0hUX1lFQVIsWyIxOTk2LTIwMjQiXSxb
Q29weXJpZ2h0IFllYXJdKQogQUNfQ09ORklHX1NSQ0RJUihnbG9iYWwvZ2xvYmFsLmMpCiBB
Q19DT05GSUdfSEVBREVSUyhbY29uZmlnLmg6Y29uZmlnLWguaW5dKQorQUNfQ09ORklHX0xJ
Qk9CSl9ESVIoW2xpYmdsaWJjXSkKIEFDX0NPTkZJR19NQUNST19ESVJTKFttNF0pCiBBQ19Q
UkVSRVEoMi43MSkKIEFNX0lOSVRfQVVUT01BS0UoWzEuOS4zIGdudSBzdWJkaXItb2JqZWN0
c10pCkBAIC0xODksNyArMTkwLDcgQEAgZG5sIAk7OwogZG5sIGVzYWMKIGRubCAjIyMjIGVu
ZCBvZiBndGFncy1jc2NvcGUgIyMjCiAKLUFNX0NQUEZMQUdTPSctSSQodG9wX3NyY2Rpcikv
bGlicGFyc2VyICQoTFRETElOQ0wpIC1JJCh0b3Bfc3JjZGlyKS9saWJ1dGlsIC1JJCh0b3Bf
c3JjZGlyKS9saWJkYiAtSSQodG9wX3NyY2RpcikvbGliZ2xpYmMgLUkuLi9saWJ1dGlsJwor
QU1fQ1BQRkxBR1M9Jy1JJCh0b3Bfc3JjZGlyKS9saWJwYXJzZXIgJChMVERMSU5DTCkgLUkk
KHRvcF9zcmNkaXIpL2xpYnV0aWwgLUkkKHRvcF9zcmNkaXIpL2xpYmRiIC1JLi4vbGlidXRp
bCcKIERCTElCUkFSWT0nLi4vbGliZGIvbGliZ2xvZGIuYScKIAogZG5sCkBAIC0yMjAsNyAr
MjIxLDM2IEBAIEFDX0FSR19XSVRIKGRiMTg1LWNvbXBhdCwKIF0sWyB3aXRoX2RiMTg1X2Nv
bXBhdD1ubyBdKQogQU1fQ09ORElUSU9OQUwoW1VTRV9EQjE4NV9DT01QQVRdLCBbdGVzdCAi
JHdpdGhfZGIxODVfY29tcGF0IiAhPSBub10pCiAKLUxEQUREPScuLi9saWJwYXJzZXIvbGli
Z2xvcGFyc2VyLmEgLi4vbGlidXRpbC9saWJnbG91dGlsLmEgJyREQkxJQlJBUlknIC4uL2xp
YmdsaWJjL2xpYmdsb2dsaWJjLmEnCitMREFERD0nLi4vbGlicGFyc2VyL2xpYmdsb3BhcnNl
ci5hIC4uL2xpYnV0aWwvbGliZ2xvdXRpbC5hICckREJMSUJSQVJZCisKK0FYX0ZVTkNfR0VU
T1BUX0xPTkcKKworQUNfTVNHX0NIRUNLSU5HKFt3aGV0aGVyIGluY2x1ZGVkIHJlZ2V4IGlz
IHJlcXVlc3RlZF0pCitBQ19BUkdfV0lUSChbaW5jbHVkZWQtcmVnZXhdLAorICBbQVNfSEVM
UF9TVFJJTkcoWy0td2l0aC1pbmNsdWRlZC1yZWdleF0sCisgICAgW3VzZSBpbmNsdWRlZCBH
TlUgcmVnZXggbGlicmFyeV0pXSwKKyAgICBbXSwgW3dpdGhfaW5jbHVkZWRfcmVnZXg9Y2hl
Y2tdKQorQUNfTVNHX1JFU1VMVChbJHdpdGhfaW5jbHVkZWRfcmVnZXhdKQoraWYgdGVzdCAh
IC4iJHdpdGhfaW5jbHVkZWRfcmVnZXgiID0gLid5ZXMnOyB0aGVuCisgICAgQUNfQ0hFQ0tf
RlVOQ1MoW3JlZ2NvbXBdLAorICAgICAgW3dpdGhfaW5jbHVkZWRfcmVnZXg9bm9dLAorICAg
ICAgW3dpdGhfaW5jbHVkZWRfcmVnZXg9eWVzCisgICAgICAgQUNfTVNHX1dBUk4oW1N5c3Rl
bSByZWdleCBub3QgZm91bmQsIGZhbGxpbmcgYmFjayB0byBpbmNsdWRlZCB2ZXJzaW9uXSld
KQorZmkKK0FNX0NPTkRJVElPTkFMKFtMREFERF9HTlVMSUJdLAorICAgICAgICBbdGVzdCAu
IiR3aXRoX2luY2x1ZGVkX3JlZ2V4IiA9IC4neWVzJyBcCisgICAgICAgICAgIC1vIC4iJGFj
X2N2X2Z1bmNfZ2V0b3B0X2xvbmciICE9IC4neWVzJ10pCitBTV9DT05EX0lGKFtMREFERF9H
TlVMSUJdLAorICBbQU1fQ1BQRkxBR1M9IiRBTV9DUFBGTEFHUyAtSSR7dG9wX3NyY2Rpcn0v
bGliZ2xpYmMiCisgICBMREFERD0iJExEQUREIC4uL2xpYmdsaWJjL2xpYmdsb2dsaWJjLmEi
CisgICBBQ19ERUZJTkUoW0hBVkVfUkVHX1NZTlRBWF9UXSwgWzFdLAorICAgIFtEZWZpbmUg
dG8gMSBpZiByZWdleC5oIGRlZmluZXMgYHJlZ19zeW50YXhfdCcuXSldLAorICBbQUNfQ0hF
Q0tfVFlQRVMoW3JlZ19zeW50YXhfdF0sCisgICAgW0FDX0RFRklORShbSEFWRV9SRUdfU1lO
VEFYX1RdLCBbMV0sCisgICAgICBbRGVmaW5lIHRvIDEgaWYgcmVnZXguaCBkZWZpbmVzIGBy
ZWdfc3ludGF4X3QnLl0pXSxbXSwKKyAgICAgIFtbI2luY2x1ZGUgPHN5cy90eXBlcy5oPgor
I2luY2x1ZGUgPHJlZ2V4Lmg+XV0pXSkKKwogZG5sCiBkbmwgVXNlIHNxbGl0ZTMgQVBJLgog
ZG5sCmRpZmYgLS1naXQgYS9saWJ1dGlsL3N0cmhhc2guYyBiL2xpYnV0aWwvc3RyaGFzaC5j
CmluZGV4IDM5M2EwNjkuLjcyOGEwYjMgMTAwNjQ0Ci0tLSBhL2xpYnV0aWwvc3RyaGFzaC5j
CisrKyBiL2xpYnV0aWwvc3RyaGFzaC5jCkBAIC0yMCw2ICsyMCw3IEBACiAjaWZkZWYgSEFW
RV9DT05GSUdfSAogI2luY2x1ZGUgPGNvbmZpZy5oPgogI2VuZGlmCisjaW5jbHVkZSA8bGlt
aXRzLmg+CiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVkZSA8c3RkaW8uaD4KICNpbmNs
dWRlIDxzdHJpbmcuaD4KQEAgLTI3LDcgKzI4LDYgQEAKICNpbmNsdWRlICJjaGVja2FsbG9j
LmgiCiAjaW5jbHVkZSAiZGllLmgiCiAjaW5jbHVkZSAic3RyaGFzaC5oIgotI2luY2x1ZGUg
Imhhc2gtc3RyaW5nLmgiCiAjaW5jbHVkZSAicG9vbC5oIgogCiAvKgpAQCAtNzIsNiArNzIs
MjQgQEAgc3RyaGFzaF9jbG9zZShoYXNoKTsJCQkJLy8gZnJlZSByZXNvdXJjZXMuCiAKICNk
ZWZpbmUgb2JzdGFja19jaHVua19hbGxvYyBjaGVja19tYWxsb2MKICNkZWZpbmUgb2JzdGFj
a19jaHVua19mcmVlIGZyZWUKKyNkZWZpbmUgTE9OR0JJVFMgKENIQVJfQklUICogc2l6ZW9m
KGxvbmcpKQorCisvKiBTb3VyY2U6IGh0dHBzOi8vd3d3LmhhaWJsZS5kZS9icnVuby9oYXNo
ZnVuYy5odG1sICovCitzdGF0aWMgdW5zaWduZWQgbG9uZworY29tcHV0ZV9oYXNodmFsIChj
b25zdCB2b2lkICprZXksIHNpemVfdCBrZXlsZW4pCit7CisgIHNpemVfdCBjbnQ7CisgIHVu
c2lnbmVkIGxvbmcgaW50IGh2YWw7CisKKyAgY250ID0gMDsKKyAgaHZhbCA9IGtleWxlbjsK
KyAgd2hpbGUgKGNudCA8IGtleWxlbikKKyAgICB7CisgICAgICBodmFsID0gKGh2YWwgPDwg
OSkgfCAoaHZhbCA+PiAoTE9OR0JJVFMgLSA5KSk7CisgICAgICBodmFsICs9ICh1bnNpZ25l
ZCBsb25nIGludCkgKigoKGNoYXIgKikga2V5KSArIGNudCsrKTsKKyAgICB9CisgIHJldHVy
biBodmFsICE9IDAgPyBodmFsIDogfigodW5zaWduZWQgbG9uZykgMCk7Cit9CiAKIC8qKgog
ICogc3RyaGFzaF9vcGVuOiBvcGVuIHN0cmluZyBoYXNoIHRhYmxlLgpAQCAtMTA4LDcgKzEy
Niw4IEBAIHN0cmhhc2hfb3BlbihpbnQgYnVja2V0cykKIHN0cnVjdCBzaF9lbnRyeSAqCiBz
dHJoYXNoX2Fzc2lnbihTVFJIQVNIICpzaCwgY29uc3QgY2hhciAqbmFtZSwgaW50IGZvcmNl
KQogewotCXN0cnVjdCBzaF9oZWFkICpoZWFkID0gJnNoLT5odGFiW19faGFzaF9zdHJpbmco
bmFtZSkgJSBzaC0+YnVja2V0c107CisJc3RydWN0IHNoX2hlYWQgKmhlYWQgPQorCQkmc2gt
Pmh0YWJbY29tcHV0ZV9oYXNodmFsKG5hbWUsIHN0cmxlbihuYW1lKSkgJSBzaC0+YnVja2V0
c107CiAJc3RydWN0IHNoX2VudHJ5ICplbnRyeTsKIAogCS8qCmRpZmYgLS1naXQgYS9tNC9h
eF9mdW5jX2dldG9wdF9sb25nLm00IGIvbTQvYXhfZnVuY19nZXRvcHRfbG9uZy5tNApuZXcg
ZmlsZSBtb2RlIDEwMDY0NAppbmRleCAwMDAwMDAwLi5iYjYyNjExCi0tLSAvZGV2L251bGwK
KysrIGIvbTQvYXhfZnVuY19nZXRvcHRfbG9uZy5tNApAQCAtMCwwICsxLDY2IEBACisjID09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQorIyAgIGh0dHBzOi8vd3d3LmdudS5vcmcvc29mdHdhcmUv
YXV0b2NvbmYtYXJjaGl2ZS9heF9mdW5jX2dldG9wdF9sb25nLmh0bWwKKyMgPT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09CisjCisjIFNZTk9QU0lTCisjCisjICAgQVhfRlVOQ19HRVRPUFRfTE9O
RworIworIyBERVNDUklQVElPTgorIworIyAgIENoZWNrIGZvciBnZXRvcHRfbG9uZyBzdXBw
b3J0LgorIworIyAgIFRoaXMgYXNzdW1lIHRoYXQgdGhlIHN0YW5kYXJkIGdldG9wdC5oIGZp
bGUgKGZyb20gR05VIGxpYmMpIGlzIGF2YWlsYWJsZQorIyAgIGFzIGxpYi9nbnVnZXRvcHQu
aC4gSWYgbmVlZGVkLCB0aGlzIGZpbGUgd2lsbCBiZSBsaW5rZWQgYXMgZ2V0b3B0LmgsIGJ1
dAorIyAgIHdlIHdhbnQgdG8gZGVmYXVsdCB0byB0aGUgc3lzdGVtJ3MgZ2V0b3B0LmggZmls
ZS4gKFNlZQorIyAgIGh0dHA6Ly9zb3VyY2VzLnJlZGhhdC5jb20vbWwvYXV0b21ha2UvMjAw
MC0wOS9tc2cwMDA0MS5odG1sIGZvciBhbgorIyAgIGV4cGxhbmF0aW9uIGFib3V0IHdoeSB1
c2luZyB0aGUgc3lzdGVtJ3MgZ2V0b3B0LmggZmlsZSBpcyBpbXBvcnRhbnQuKQorIworIyBM
SUNFTlNFCisjCisjICAgQ29weXJpZ2h0IChjKSAyMDA4IEFsZXhhbmRyZSBEdXJldC1MdXR6
IDxhZGxAZ251Lm9yZz4KKyMKKyMgICBUaGlzIHByb2dyYW0gaXMgZnJlZSBzb2Z0d2FyZTsg
eW91IGNhbiByZWRpc3RyaWJ1dGUgaXQgYW5kL29yIG1vZGlmeSBpdAorIyAgIHVuZGVyIHRo
ZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgYXMgcHVibGlzaGVk
IGJ5IHRoZQorIyAgIEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbjsgZWl0aGVyIHZlcnNpb24g
MiBvZiB0aGUgTGljZW5zZSwgb3IgKGF0IHlvdXIKKyMgICBvcHRpb24pIGFueSBsYXRlciB2
ZXJzaW9uLgorIworIyAgIFRoaXMgcHJvZ3JhbSBpcyBkaXN0cmlidXRlZCBpbiB0aGUgaG9w
ZSB0aGF0IGl0IHdpbGwgYmUgdXNlZnVsLCBidXQKKyMgICBXSVRIT1VUIEFOWSBXQVJSQU5U
WTsgd2l0aG91dCBldmVuIHRoZSBpbXBsaWVkIHdhcnJhbnR5IG9mCisjICAgTUVSQ0hBTlRB
QklMSVRZIG9yIEZJVE5FU1MgRk9SIEEgUEFSVElDVUxBUiBQVVJQT1NFLiBTZWUgdGhlIEdO
VSBHZW5lcmFsCisjICAgUHVibGljIExpY2Vuc2UgZm9yIG1vcmUgZGV0YWlscy4KKyMKKyMg
ICBZb3Ugc2hvdWxkIGhhdmUgcmVjZWl2ZWQgYSBjb3B5IG9mIHRoZSBHTlUgR2VuZXJhbCBQ
dWJsaWMgTGljZW5zZSBhbG9uZworIyAgIHdpdGggdGhpcyBwcm9ncmFtLiBJZiBub3QsIHNl
ZSA8aHR0cHM6Ly93d3cuZ251Lm9yZy9saWNlbnNlcy8+LgorIworIyAgIEFzIGEgc3BlY2lh
bCBleGNlcHRpb24sIHRoZSByZXNwZWN0aXZlIEF1dG9jb25mIE1hY3JvJ3MgY29weXJpZ2h0
IG93bmVyCisjICAgZ2l2ZXMgdW5saW1pdGVkIHBlcm1pc3Npb24gdG8gY29weSwgZGlzdHJp
YnV0ZSBhbmQgbW9kaWZ5IHRoZSBjb25maWd1cmUKKyMgICBzY3JpcHRzIHRoYXQgYXJlIHRo
ZSBvdXRwdXQgb2YgQXV0b2NvbmYgd2hlbiBwcm9jZXNzaW5nIHRoZSBNYWNyby4gWW91Cisj
ICAgbmVlZCBub3QgZm9sbG93IHRoZSB0ZXJtcyBvZiB0aGUgR05VIEdlbmVyYWwgUHVibGlj
IExpY2Vuc2Ugd2hlbiB1c2luZworIyAgIG9yIGRpc3RyaWJ1dGluZyBzdWNoIHNjcmlwdHMs
IGV2ZW4gdGhvdWdoIHBvcnRpb25zIG9mIHRoZSB0ZXh0IG9mIHRoZQorIyAgIE1hY3JvIGFw
cGVhciBpbiB0aGVtLiBUaGUgR05VIEdlbmVyYWwgUHVibGljIExpY2Vuc2UgKEdQTCkgZG9l
cyBnb3Zlcm4KKyMgICBhbGwgb3RoZXIgdXNlIG9mIHRoZSBtYXRlcmlhbCB0aGF0IGNvbnN0
aXR1dGVzIHRoZSBBdXRvY29uZiBNYWNyby4KKyMKKyMgICBUaGlzIHNwZWNpYWwgZXhjZXB0
aW9uIHRvIHRoZSBHUEwgYXBwbGllcyB0byB2ZXJzaW9ucyBvZiB0aGUgQXV0b2NvbmYKKyMg
ICBNYWNybyByZWxlYXNlZCBieSB0aGUgQXV0b2NvbmYgQXJjaGl2ZS4gV2hlbiB5b3UgbWFr
ZSBhbmQgZGlzdHJpYnV0ZSBhCisjICAgbW9kaWZpZWQgdmVyc2lvbiBvZiB0aGUgQXV0b2Nv
bmYgTWFjcm8sIHlvdSBtYXkgZXh0ZW5kIHRoaXMgc3BlY2lhbAorIyAgIGV4Y2VwdGlvbiB0
byB0aGUgR1BMIHRvIGFwcGx5IHRvIHlvdXIgbW9kaWZpZWQgdmVyc2lvbiBhcyB3ZWxsLgor
Cisjc2VyaWFsIDYKKworQVVfQUxJQVMoW0FETF9GVU5DX0dFVE9QVF9MT05HXSwgW0FYX0ZV
TkNfR0VUT1BUX0xPTkddKQorQUNfREVGVU4oW0FYX0ZVTkNfR0VUT1BUX0xPTkddLAorIFtB
Q19QUkVSRVEoMi40OSlkbmwKKyAgIyBjbGVhbiBvdXQganVuayBwb3NzaWJseSBsZWZ0IGJl
aGluZCBieSBhIHByZXZpb3VzIGNvbmZpZ3VyYXRpb24KKyAgcm0gLWYgbGliL2dldG9wdC5o
CisgICMgQ2hlY2sgZm9yIGdldG9wdF9sb25nIHN1cHBvcnQKKyAgQUNfQ0hFQ0tfSEVBREVS
UyhbZ2V0b3B0LmhdKQorICBBQ19DSEVDS19GVU5DUyhbZ2V0b3B0X2xvbmddLCwKKyAgIFsj
IEZyZWVCU0QgaGFzIGEgZ251Z2V0b3B0IGxpYnJhcnkgZm9yIHRoaXMKKyAgICBBQ19DSEVD
S19MSUIoW2dudWdldG9wdF0sW2dldG9wdF9sb25nXSwKKyAgICAgW0FDX0RFRklORShbSEFW
RV9HRVRPUFRfTE9OR10sIFsxXSwgW0RlZmluZSB0byAxIHdoZW4gZ2V0b3B0X2xvbmcgaXMg
YXZhaWxhYmxlLl0pXSwKKyAgICAgWyMgdXNlIHRoZSBHTlUgcmVwbGFjZW1lbnQKKyAgICAg
IEFDX0xJQk9CSihnZXRvcHQpCisgICAgICBBQ19MSUJPQkooZ2V0b3B0MSkKKyAgICAgICNB
Q19DT05GSUdfTElOS1MoW2xpYi9nZXRvcHQuaDpsaWIvZ2V0b3B0LmluLmhdKQorICAgICAg
XSldKV0pCg==

--------------nszhX45FYjHy3BAwddrfGuBi--