[PATCH branch-1.6 v2 4/4] eval: Fine-tune default size of eval

Eric Blake via M4-patches <[email protected]> Sat, 17 May 2025 22:08:49 -0500
Newsgroups gmane.comp.gnu.m4.patches
Message-ID <[email protected]>
QWRkIGEgbmV3IC0tZXZhbD0zMnw2NCBjb21tYW5kIGxpbmUgb3B0aW9uLCB0byBtYWtlIGl0IGVh
c3kgdG8gc2V0IHRoZQpzaXplIG9mIGV2YWwuICBJZiBub3QgcHJlc2VudCwgdGhlbiBpbiAtLWdu
dSBtb2RlLCBldmFsIHJlbWFpbnMgMzIKYml0cyAoc2luY2UgZXZhbDY0IGlzIGVhc3kgdG8gYWNj
ZXNzIGFuZCBpbnN0YWxsIGFzIGFuIG92ZXJyaWRlKTsKd2hpbGUgaW4gLUcgbW9kZSwgZXZhbCBp
cyBzaXplZCB0byBtYXRjaCAnc2lnbmVkIGxvbmcnIGFzIHBlciBQT1NJWAooZWl0aGVyIDMyLSBv
ciA2NC1iaXQsIGRlcGVuZGluZyBvbiB0aGUgbWFjaGluZSBtNCB3YXMgY29tcGlsZWQgZm9yKS4K
VGVzdGluZyB0aGlzIG91Z2h0IHRvIGJlIGludGVyZXN0aW5nLCBzaW5jZSB0aGlzIGlzIG9uZSBj
YXNlIHdoZXJlIG00CmludGVudGlvbmFsbHkgYmVoYXZlcyBkaWZmZXJlbnRseSBiYXNlZCBvbiB0
aGUgcGxhdGZvcm0uCgoqIHNyYy9tNC5oIChldmFsX3NpemUpOiBOZXcgZ2xvYmFsLgooZGVmaW5l
X2J1aWx0aW4pOiBBbHRlciBzaWduYXR1cmUuCiogc3JjL200LmMgKHVzYWdlKTogRG9jdW1lbnQg
LS1ldmFsLgooZXZhbF9zaXplLCBFVkFMX1NJWkVfT1BUSU9OLCBsb25nX29wdGlvbnMsIG1haW4p
OiBIYW5kbGUgbmV3IG9wdGlvbi4KKiBzcmMvYnVpbHRpbi5jIChkZWZpbmVfYnVpbHRpbik6IEFk
ZCByZXR1cm4gdHlwZS4KKGJ1aWx0aW5faW5pdCk6IFVzZSB0aGlzIHRvIGFsdGVyIGRlZmF1bHQg
bW9kZSBvZiBldmFsLgoqIGRvYy9tNC50ZXhpIChMaW1pdHMgY29udHJvbCk6IERvY3VtZW50IC0t
ZXZhbCwgYW5kIGl0cyBpbnRlcmFjdGlvbnMKd2l0aCAtLWdudSBhbmQgLS10cmFkaXRpb25hbC4K
KEV2YWwpOiBNZW50aW9uIG1vcmUgb24gZGVmYXVsdCBzaXppbmcgb2YgZXZhbCwgYW5kIGFkZCB0
ZXN0LgoqIE5FV1M6IE1lbnRpb24gdGhpcy4KLS0tCiBORVdTICAgICAgICAgIHwgIDcgKysrKy0K
IGRvYy9tNC50ZXhpICAgfCA3NiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr
KysrKysrKysrKysrLS0KIHNyYy9idWlsdGluLmMgfCAxMyArKysrKysrLS0KIHNyYy9tNC5jICAg
ICAgfCAxNiArKysrKysrKysrKwogc3JjL200LmggICAgICB8ICA1ICsrLS0KIDUgZmlsZXMgY2hh
bmdlZCwgMTA4IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvTkVX
UyBiL05FV1MKaW5kZXggZGQzZWEwNGIuLjQ1NzUwMTczIDEwMDY0NAotLS0gYS9ORVdTCisrKyBi
L05FV1MKQEAgLTEzMiw3ICsxMzIsMTIgQEAgR05VIE00IE5FV1MgLSBVc2VyIHZpc2libGUgY2hh
bmdlcy4KICAgIGJ1aWx0aW4gbm93IHJlZnVzZXMgdG8gcmVjb2duaXplIGA9JyBhcyBhIHN5bm9u
eW0gZm9yIGA9PScgKHRoaXMgaGFkCiAgICBlbWl0dGVkIGEgd2FybmluZyBzaW5jZSAxLjQuOGIp
LgoKLSoqIEFkZCBhIG5ldyBgZXZhbDY0JyBidWlsdGluIHRoYXQgb3BlcmF0ZXMgb24gNjQtYml0
IGludGVnZXJzLgorKiogQWRkIGEgbmV3IGBldmFsNjQnIGJ1aWx0aW4gdGhhdCBvcGVyYXRlcyBv
biA2NC1iaXQgaW50ZWdlcnMuICBCeQorICAgZGVmYXVsdCwgYm90aCBgZXZhbCcgYW5kIGBldmFs
NjQnIGFyZSBhdmFpbGFibGUgd2l0aCBgZXZhbCcgaW4gMzItYml0CisgICBtb2RlOyB3aGVuIGBt
NCAtRycgaXMgdXNlZCB0byBoaWRlIEdOVSBleHRlbnNpb25zLCBvbmx5IGBldmFsJyBpcworICAg
YXZhaWxhYmxlIGJ1dCB1c2luZyB0aGUgc2l6ZSBvZiBgc2lnbmVkIGxvbmcnLiAgVGhlIG5ldyBj
b21tYW5kLWxpbmUKKyAgIG9wdGlvbiBgLS1ldmFsPTMyJyBvciBgLS1ldmFsPTY0JyBjYW4gYWxz
byBmb3JjZSB0aGUgaW50ZWdlciBzaXplIHVzZWQKKyAgIGJ5IGBldmFsJy4KCiAqKiBBIG51bWJl
ciBvZiBwb3J0YWJpbGl0eSBpbXByb3ZlbWVudHMgaW5oZXJpdGVkIGZyb20gZ251bGliLgoKZGlm
ZiAtLWdpdCBhL2RvYy9tNC50ZXhpIGIvZG9jL200LnRleGkKaW5kZXggYjBhMzVlYWUuLmM2NDJh
OWViIDEwMDY0NAotLS0gYS9kb2MvbTQudGV4aQorKysgYi9kb2MvbTQudGV4aQpAQCAtODA3LDYg
KzgwNywxMiBAQCBMaW1pdHMgY29udHJvbAogQGNvZGV7bTR9LgoKIEB0YWJsZSBAY29kZQorQGl0
ZW0gLS1ldmFsIEB2YXJ7c2l6ZX0KK1RoaXMgb3B0aW9uIGZvcmNlcyBAY29kZXtldmFsfSAoQHB4
cmVme0V2YWx9KSB0byB1c2UgdGhlIGdpdmVuCitAdmFye3NpemV9IG9mIDMyIG9yIDY0LCByYXRo
ZXIgdGhhbiBkZWZhdWx0aW5nIHRvIDMyIGJpdHMgdW5kZXIKK0BvcHRpb257LS1nbnV9IG9yIHRv
IHRoZSBzaXplIG9mIEBjb2Rle3NpZ25lZCBsb25nfSB1bmRlcgorQG9wdGlvbnstLXRyYWRpdGlv
bmFsfS4KKwogQGl0ZW0gLWcKIEBpdGVteCAtLWdudQogRW5hYmxlIGFsbCB0aGUgZXh0ZW5zaW9u
cyBpbiB0aGlzIGltcGxlbWVudGF0aW9uLiAgSW4gdGhpcyByZWxlYXNlIG9mCkBAIC04MjcsNyAr
ODMzLDExIEBAIExpbWl0cyBjb250cm9sCiBAaXRlbSAtRwogQGl0ZW14IC0tdHJhZGl0aW9uYWwK
IFN1cHByZXNzIGFsbCB0aGUgZXh0ZW5zaW9ucyBtYWRlIGluIHRoaXMgaW1wbGVtZW50YXRpb24s
IGNvbXBhcmVkIHRvIHRoZQotU3lzdGVtIFYgdmVyc2lvbi4gIEB4cmVme0NvbXBhdGliaWxpdHl9
LCBmb3IgYSBsaXN0IG9mIHRoZXNlLgorU3lzdGVtIFYgdmVyc2lvbjsgdGhpcyBtb2RlIGZvY3Vz
ZXMgb24gUE9TSVggY29tcGF0aWJpbGl0eS4KK0B4cmVme0NvbXBhdGliaWxpdHl9LCBmb3IgYSBs
aXN0IG9mIGl0ZW1zIHRoYXQgYXJlIHN1cHByZXNzZWQuICBTaW5jZQordGhpcyBtb2RlIHN1cHBy
ZXNzZXMgQGNvZGV7ZXZhbDY0fSwgdGhlIEBjb2Rle2V2YWx9IG1hY3JvIGRlZmF1bHRzIHRvCit0
aGUgc2l6ZSBvZiBAY29kZXtzaWduZWQgbG9uZ30gdW5sZXNzIEBvcHRpb257LS1ldmFsfSBpcyBh
bHNvIHVzZWQgdG8KK3BpY2sgYSBzcGVjaWZpYyBzaXplLgoKIEBpdGVtIC1IIEB2YXJ7bnVtfQog
QGl0ZW14IC0taGFzaHNpemU9QHZhcntudW19CkBAIC03MzcxLDggKzczODEsMTEgQEAgRXZhbAog
QHJlc3VsdHt9CiBAZW5kIGV4YW1wbGUKCi1JZiB5b3VyIHNjcmlwdCB3YW50cyB0byB1c2UgbGFy
Z2VyIG1hdGggYnkgZGVmYXVsdCwgaXQgaXMgZWFzeSB0bwotYXJyYW5nZSBmb3IgdGhhdCB1cCBm
cm9udCB3aXRoIEBjb2Rle2RlZm59OgorV2hlbiB1c2luZyBNNCB3aXRoIEdOVSBleHRlbnNpb25z
ICh0aGUgZGVmYXVsdCwgb3Igd2hlbiBAb3B0aW9uey0tZ251fQord2FzIHNwZWNpZmllZCksIEBj
b2Rle2V2YWx9IHN0YXJ0cyBpbiAzMi1iaXQgbW9kZS4gIElmIHlvdXIgc2NyaXB0IHdhbnRzCit0
byB1c2UgbGFyZ2VyIG1hdGggYnkgZGVmYXVsdCwgaXQgaXMgZWFzeSB0byBhcnJhbmdlIGZvciB0
aGF0IHVwIGZyb250Cit3aXRoIEBjb2Rle2RlZm59LCB3aGlsZSAzMi1iaXQgbW9kZSBpcyBzdGls
bCBhY2Nlc3NpYmxlIHVzaW5nCitAY29kZXtidWlsdGlufToKCiBAZXhhbXBsZQogZXZhbChgOTAw
MDAgKiA5MDAwMCcpCkBAIC03MzgxLDggKzczOTQsNjUgQEAgRXZhbAogQHJlc3VsdHt9CiBldmFs
KGA5MDAwMCAqIDkwMDAwJykKIEByZXN1bHR7fTgxMDAwMDAwMDAKK2J1aWx0aW4oYGV2YWwnLCBg
OTAwMDAgKiA5MDAwMCcpCitAcmVzdWx0e30tNDg5OTM0NTkyCiBAZW5kIGV4YW1wbGUKCitCdXQg
d2hlbiB1c2luZyBAb3B0aW9uey0tdHJhZGl0aW9uYWx9IG1vZGUgZm9yIG1heGltdW0gUE9TSVgg
Y29tcGxpYW5jZSwKK3RoZXJlIGlzIG5vIGFjY2VzcyB0byBlaXRoZXIgb2YgdGhlIGV4dGVuc2lv
biBtYWNyb3MgQGNvZGV7ZXZhbDY0fSBvcgorQGNvZGV7YnVpbHRpbn0sIHNvIEBjb2Rle2V2YWx9
IGRlZmF1bHRzIHRvIHVzaW5nIHRoZSBzaXplIG9mIHRoZQorcGxhdGZvcm0ncyBAY29kZXtzaWdu
ZWQgbG9uZ30uICBJZiB0aGlzIGRlZmF1bHQgbmVlZHMgdG8gYmUgdHVuZWQsIE00CithbHNvIGhh
cyBAb3B0aW9uey0tZXZhbD0zMn0gb3IgQG9wdGlvbnstLWV2YWw9NjR9IHRvIGZvcmNlIHRoZSBz
aXplIHVzZWQKK2J5IHRoZSBpbml0aWFsIGRlZmluaXRpb24gb2YgQGNvZGV7ZXZhbH0gQHB4cmVm
e0xpbWl0cyBjb250cm9sLCAsCitJbnZva2luZyBtNH0pLiAgRm9yIGV4YW1wbGUsIGlmIHlvdSBh
cmUgdGVzdGluZyBvbiBhIDY0LWJpdCBwbGF0Zm9ybToKKworQGNvbW1lbnQgVGhpcyBvdXRwdXQg
aXMgcGxhdGZvcm0tc3BlY2lmaWMsIHNlZSBiZWxvdyBmb3IgYSBiZXR0ZXIgdW5pdCB0ZXN0Lgor
QGNvbW1lbnQgaWdub3JlCitAZXhhbXBsZQorJCBAa2Jke200IC0tZ251fQoraWZlbHNlKGZvcm1h
dChgJWx1JywgYC0xJyksIGAxODQ0Njc0NDA3MzcwOTU1MTYxNScsCitgbG9uZyBpcyA2NCBiaXRz
JywgYGxvbmcgaXMgMzIgYml0cycpCitAcmVzdWx0e31sb25nIGlzIDY0IGJpdHMKK2R1bXBkZWYo
YGV2YWwnKWRubAorQGVycm9ye31ldmFsOkB0YWJjaGFye308ZXZhbD4KK200ZXhpdAorJCBAa2Jk
e200IC1HfQorNjQtYml0IGRlZmF1bHQ6IGV2YWwoYDEgPDwgMzMnKQorQHJlc3VsdHt9NjQtYml0
IGRlZmF1bHQ6IDg1ODk5MzQ1OTIKK2R1bXBkZWYoYGV2YWwnKWRubAorQGVycm9ye31ldmFsOkB0
YWJjaGFye308ZXZhbDY0PgorbTRleGl0CiskIEBrYmR7bTQgLUcgLS1ldmFsPTMyfQorZm9yY2Vk
IDMyLWJpdDogZXZhbChgMSA8PCAzMycpCitAcmVzdWx0e31mb3JjZWQgMzItYml0OiAyCitkdW1w
ZGVmKGBldmFsJylkbmwKK0BlcnJvcnt9ZXZhbDpAdGFiY2hhcnt9PGV2YWw+CittNGV4aXQKK0Bl
bmQgZXhhbXBsZQorCitAaWdub3JlCitAY29tbWVudCBUaGlzIGlzIGEgbW9yZSByZWxpYWJsZSB0
ZXN0IG9mIHRoZSBhYm92ZSBleGFtcGxlLgorQGV4YW1wbGUKK2lmZGVmKGBfX3VuaXhfXycsICwK
KyAgICAgIGBlcnJwcmludChgIHNraXBwaW5nOiBzeXNjbWQgZG9lcyBub3QgaGF2ZSB1bml4IHNl
bWFudGljcworJyltNGV4aXQoYDc3JyknKWRubAorY2hhbmdlcXVvdGUoYFsnLCBgXScpZG5sCitp
ZmVsc2UoZXN5c2NtZChbcHJpbnRmICdmb3JtYXQoJSVseCw0Mjk0OTY3Mjk2KScgfCBdX19wcm9n
cmFtX19bIC0tZ251XSkKKy4wLnN5c3ZhbCwKKyAgICAgICBlc3lzY21kKFtwcmludGYgJ2V2YWwo
MHgxMDAwMDAwMDAsMTYpJyB8IF1fX3Byb2dyYW1fX1sgLUddKQorLnN5c3ZhbC4wLAorICAgICAg
IFttYXRjaF0sIFtvb3BzXSkKK0ByZXN1bHR7fW1hdGNoCitkZWZpbmUoW3Byb2JlXSwgW2V2YWwo
MTw8MzMpZHVtcGRlZihldmFsKV0pZG5sCitzeXNjbWQoW3ByaW50ZiAnXWRlZm4oW3Byb2JlXSlb
JyB8IF1fX3Byb2dyYW1fX1sgLUcgLS1ldmFsPTMyXSkgc3lzdmFsCitAcmVzdWx0e30yIDAKK0Bl
cnJvcnt9ZXZhbDpAdGFiY2hhcnt9PGV2YWw+CitzeXNjbWQoW3ByaW50ZiAnXWRlZm4oW3Byb2Jl
XSlbJyB8IF1fX3Byb2dyYW1fX1sgLS1nbnUgLS1ldmFsPTY0XSkgc3lzdmFsCitAcmVzdWx0e304
NTg5OTM0NTkyIDAKK0BlcnJvcnt9ZXZhbDpAdGFiY2hhcnt9PGV2YWw2ND4KK0BlbmQgZXhhbXBs
ZQorQGVuZCBpZ25vcmUKKwogSWYgQHZhcntyYWRpeH0gaXMgc3BlY2lmaWVkLCBpdCBzcGVjaWZp
ZXMgdGhlIHJhZGl4IHRvIGJlIHVzZWQgaW4gdGhlCiBleHBhbnNpb24uICBUaGUgZGVmYXVsdCBy
YWRpeCBpcyAxMDsgdGhpcyBpcyBhbHNvIHRoZSBjYXNlIGlmCiBAdmFye3JhZGl4fSBpcyB0aGUg
ZW1wdHkgc3RyaW5nLiAgQSB3YXJuaW5nIHJlc3VsdHMgaWYgdGhlIHJhZGl4IGlzCmRpZmYgLS1n
aXQgYS9zcmMvYnVpbHRpbi5jIGIvc3JjL2J1aWx0aW4uYwppbmRleCBiYmE4MGUzMy4uZTdhODJj
NGEgMTAwNjQ0Ci0tLSBhL3NyYy9idWlsdGluLmMKKysrIGIvc3JjL2J1aWx0aW4uYwpAQCAtMjI0
LDcgKzIyNCw3IEBAIGZ1bmNfcHJpbnQgKHN0cnVjdCBvYnN0YWNrICpvYnMsIGNvbnN0IGJ1aWx0
aW4gKmZ1bmMsIGJvb2wgZmxhdHRlbiwKIC8qIEluc3RhbGwgYSBidWlsdGluIG1hY3JvIHdpdGgg
bmFtZSBOQU1FIGFuZCBsZW5ndGggTEVOLCBib3VuZCB0byB0aGUKICAgIEMgZnVuY3Rpb24gZ2l2
ZW4gaW4gQlAuICBNT0RFIGlzIFNZTUJPTF9JTlNFUlQgb3IKICAgIFNZTUJPTF9QVVNIREVGLiAg
Ki8KLXZvaWQKK3N5bWJvbCAqCiBkZWZpbmVfYnVpbHRpbiAoY29uc3QgY2hhciAqbmFtZSwgc2l6
ZV90IGxlbiwgY29uc3QgYnVpbHRpbiAqYnAsCiAgICAgICAgICAgICAgICAgc3ltYm9sX2xvb2t1
cCBtb2RlKQogewpAQCAtMjM1LDYgKzIzNSw3IEBAIGRlZmluZV9idWlsdGluIChjb25zdCBjaGFy
ICpuYW1lLCBzaXplX3QgbGVuLCBjb25zdCBidWlsdGluICpicCwKICAgU1lNQk9MX01BQ1JPX0FS
R1MgKHN5bSkgPSBicC0+Z3Jva3NfbWFjcm9fYXJnczsKICAgU1lNQk9MX0JMSU5EX05PX0FSR1Mg
KHN5bSkgPSBicC0+YmxpbmRfaWZfbm9fYXJnczsKICAgU1lNQk9MX0ZVTkMgKHN5bSkgPSBicC0+
ZnVuYzsKKyAgcmV0dXJuIHN5bTsKIH0KCiAvKiBTdG9yYWdlIGZvciB0aGUgY29tcGlsZWQgcmVn
dWxhciBleHByZXNzaW9uIG9mCkBAIC00ODcsNiArNDg4LDcgQEAgYnVpbHRpbl9pbml0ICh2b2lk
KQogICBjb25zdCBidWlsdGluICpicDsKICAgY29uc3QgcHJlZGVmaW5lZCAqcHA7CiAgIGNoYXIg
KnN0cmluZzsKKyAgc3ltYm9sICpzeW07CgogICBmb3IgKGJwID0gJmJ1aWx0aW5fdGFiWzBdOyBi
cC0+bmFtZSAhPSBOVUxMOyBicCsrKQogICAgIGlmICghbm9fZ251X2V4dGVuc2lvbnMgfHwgIWJw
LT5nbnVfZXh0ZW5zaW9uKQpAQCAtNDk1LDExICs0OTcsMTYgQEAgYnVpbHRpbl9pbml0ICh2b2lk
KQogICAgICAgICBpZiAocHJlZml4X2FsbF9idWlsdGlucykKICAgICAgICAgICB7CiAgICAgICAg
ICAgICBzdHJpbmcgPSB4YXNwcmludGYgKCJtNF8lcyIsIGJwLT5uYW1lKTsKLSAgICAgICAgICAg
IGRlZmluZV9idWlsdGluIChzdHJpbmcsIGxlbiArIDMsIGJwLCBTWU1CT0xfSU5TRVJUKTsKKyAg
ICAgICAgICAgIHN5bSA9IGRlZmluZV9idWlsdGluIChzdHJpbmcsIGxlbiArIDMsIGJwLCBTWU1C
T0xfSU5TRVJUKTsKICAgICAgICAgICAgIGZyZWUgKHN0cmluZyk7CiAgICAgICAgICAgfQogICAg
ICAgICBlbHNlCi0gICAgICAgICAgZGVmaW5lX2J1aWx0aW4gKGJwLT5uYW1lLCBsZW4sIGJwLCBT
WU1CT0xfSU5TRVJUKTsKKyAgICAgICAgICBzeW0gPSBkZWZpbmVfYnVpbHRpbiAoYnAtPm5hbWUs
IGxlbiwgYnAsIFNZTUJPTF9JTlNFUlQpOworICAgICAgICAvKiBTcGVjaWFsIGNhc2UgdGhlIGlu
aXRpYWwgd2lkdGggb2YgZXZhbC4gICovCisgICAgICAgIGlmIChicC0+ZnVuYyA9PSBtNF9ldmFs
CisgICAgICAgICAgICAmJiAoZXZhbF9zaXplID09IDY0IHx8IChldmFsX3NpemUgPT0gMCAmJiBu
b19nbnVfZXh0ZW5zaW9ucworICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJiYg
c2l6ZW9mIChsb25nKSAqIENIQVJfQklUID09IDY0KSkpCisgICAgICAgICAgU1lNQk9MX0ZVTkMg
KHN5bSkgPSBtNF9ldmFsNjQ7CiAgICAgICB9CgogICBmb3IgKHBwID0gJnByZWRlZmluZWRfdGFi
WzBdOyBwcC0+ZnVuYyAhPSBOVUxMOyBwcCsrKQpkaWZmIC0tZ2l0IGEvc3JjL200LmMgYi9zcmMv
bTQuYwppbmRleCA4OWEyZWMyZi4uYTEzNjAyOWUgMTAwNjQ0Ci0tLSBhL3NyYy9tNC5jCisrKyBi
L3NyYy9tNC5jCkBAIC00Nyw2ICs0Nyw5IEBAIGludCBkZWJ1Z19sZXZlbCA9IDA7CiAvKiBEaXNh
YmxlIEdOVSBleHRlbnNpb25zICgtRykuICAqLwogaW50IG5vX2dudV9leHRlbnNpb25zID0gMDsK
CisvKiBEZWZhdWx0IGV2YWwgc2l6ZSAoLS1ldmFsKTogT25lIG9mIDAsIDMyLCBvciA2NC4gICov
CitpbnQgZXZhbF9zaXplID0gMDsKKwogLyogUHJlZml4IGFsbCBidWlsdGluIGZ1bmN0aW9ucyBi
eSBgbTRfJy4gICovCiBpbnQgcHJlZml4X2FsbF9idWlsdGlucyA9IDA7CgpAQCAtMjcwLDYgKzI3
Myw3IEBAIFByZXByb2Nlc3NvciBmZWF0dXJlczpcblwKICAgICAgIHB1dHMgKCIiKTsKICAgICAg
IHhwcmludGYgKF8oIlwKIExpbWl0cyBjb250cm9sOlxuXAorICAgICAgLS1ldmFsPVNJWkUgICAg
ICAgICAgICAgIGZvcmNlIGV2YWwgdG8gU0laRSAzMiBvciA2NFxuXAogICAtZywgLS1nbnUgICAg
ICAgICAgICAgICAgICAgIG92ZXJyaWRlIC1HIHRvIHJlLWVuYWJsZSBHTlUgZXh0ZW5zaW9uc1xu
XAogICAtRywgLS10cmFkaXRpb25hbCAgICAgICAgICAgIHN1cHByZXNzIGFsbCBHTlUgZXh0ZW5z
aW9uc1xuXAogICAtSCwgLS1oYXNoc2l6ZT1QUklNRSAgICAgICAgIHNldCBzeW1ib2wgbG9va3Vw
IGhhc2ggdGFibGUgc2l6ZSBbJWRdXG5cCkBAIC0zMzIsNiArMzM2LDcgQEAgbWlzbWF0Y2gsIG9y
IHdoYXRldmVyIHZhbHVlIHdhcyBwYXNzZWQgdG8gdGhlIG00ZXhpdCBtYWNyby5cblwKIGVudW0K
IHsKICAgREVCVUdGSUxFX09QVElPTiA9IENIQVJfTUFYICsgMSwgICAgICAvKiBubyBzaG9ydCBv
cHQgKi8KKyAgRVZBTF9TSVpFX09QVElPTiwgICAgICAgICAgICAgLyogbm8gc2hvcnQgb3B0ICov
CiAgIFdBUk5fTUFDUk9fU0VRVUVOQ0VfT1BUSU9OLCAgIC8qIG5vIHNob3J0IG9wdCAqLwoKICAg
SEVMUF9PUFRJT04sICAgICAgICAgICAgICAgICAgLyogbm8gc2hvcnQgb3B0ICovCkBAIC0zNjIs
NiArMzY3LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBvcHRpb24gbG9uZ19vcHRpb25zW10gPSB7
CiAgIHsidW5kZWZpbmUiLCByZXF1aXJlZF9hcmd1bWVudCwgTlVMTCwgJ1UnfSwKCiAgIHsiZGVi
dWdmaWxlIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsIERFQlVHRklMRV9PUFRJT059LAorICB7
ImV2YWwtc2l6ZSIsIHJlcXVpcmVkX2FyZ3VtZW50LCBOVUxMLCBFVkFMX1NJWkVfT1BUSU9OfSwK
ICAgeyJ3YXJuLW1hY3JvLXNlcXVlbmNlIiwgb3B0aW9uYWxfYXJndW1lbnQsIE5VTEwsCiAgICBX
QVJOX01BQ1JPX1NFUVVFTkNFX09QVElPTn0sCgpAQCAtNjM0LDYgKzY0MCwxNiBAQCBtYWluIChp
bnQgYXJnYywgY2hhciAqY29uc3QgKmFyZ3YsIGNoYXIgKmNvbnN0ICplbnZwIE1BWUJFX1VOVVNF
RCkKICAgICAgICAgZGVidWdmaWxlID0gb3B0YXJnOwogICAgICAgICBicmVhazsKCisgICAgICBj
YXNlIEVWQUxfU0laRV9PUFRJT046CisgICAgICAgIGlmIChTVFJFUSAob3B0YXJnLCAiMzIiKSkK
KyAgICAgICAgICBldmFsX3NpemUgPSAzMjsKKyAgICAgICAgZWxzZSBpZiAoU1RSRVEgKG9wdGFy
ZywgIjY0IikpCisgICAgICAgICAgZXZhbF9zaXplID0gNjQ7CisgICAgICAgIGVsc2UKKyAgICAg
ICAgICBlcnJvciAoMCwgMCwgXygiaW52YWxpZCBldmFsIHNpemU6ICVzIiksCisgICAgICAgICAg
ICAgICAgIHF1b3RlYXJnX3N0eWxlIChsb2NhbGVfcXVvdGluZ19zdHlsZSwgb3B0YXJnKSk7Cisg
ICAgICAgIGJyZWFrOworCiAgICAgICBjYXNlIFdBUk5fTUFDUk9fU0VRVUVOQ0VfT1BUSU9OOgog
ICAgICAgICAvKiBEb24ndCBjYWxsIHNldF9tYWNyb19zZXF1ZW5jZSBoZXJlLCBhcyBpdCBjYW4g
ZXhpdC4KICAgICAgICAgICAgLS13YXJuLW1hY3JvLXNlcXVlbmNlIHNldHMgb3B0YXJnIHRvIE5V
TEwgKHdoaWNoIHVzZXMgdGhlCmRpZmYgLS1naXQgYS9zcmMvbTQuaCBiL3NyYy9tNC5oCmluZGV4
IGMxNzM1MzE4Li4yMzkxMDNiMCAxMDA2NDQKLS0tIGEvc3JjL200LmgKKysrIGIvc3JjL200LmgK
QEAgLTEzNCw2ICsxMzQsNyBAQCB0eXBlZGVmIHVuc2lnbmVkIGludCBib29sX2JpdGZpZWxkOwog
ZXh0ZXJuIGludCBzeW5jX291dHB1dDsgICAgICAgICAvKiAtcyAqLwogZXh0ZXJuIGludCBkZWJ1
Z19sZXZlbDsgICAgICAgICAvKiAtZCAqLwogZXh0ZXJuIGludCBub19nbnVfZXh0ZW5zaW9uczsg
ICAvKiAtRyAqLworZXh0ZXJuIGludCBldmFsX3NpemU7ICAgICAgICAgICAvKiAtLWV2YWwgKi8K
IGV4dGVybiBpbnQgcHJlZml4X2FsbF9idWlsdGluczsgLyogLVAgKi8KIGV4dGVybiBzaXplX3Qg
bWF4X2RlYnVnX2FyZ3VtZW50X2xlbmd0aDsgICAgICAgIC8qIC1sICovCiBleHRlcm4gaW50IHN1
cHByZXNzX3dhcm5pbmdzOyAgIC8qIC1RICovCkBAIC01MjEsOCArNTIyLDggQEAgc3RydWN0IHJl
X3JlZ2lzdGVyczsKCiBleHRlcm4gdm9pZCBidWlsdGluX2luaXQgKHZvaWQpOwogZXh0ZXJuIGJv
b2wgYmFkX2FyZ2MgKGNvbnN0IGNhbGxfaW5mbyAqLCBpbnQsIHVuc2lnbmVkIGludCwgdW5zaWdu
ZWQgaW50KTsKLWV4dGVybiB2b2lkIGRlZmluZV9idWlsdGluIChjb25zdCBjaGFyICosIHNpemVf
dCwgY29uc3QgYnVpbHRpbiAqLAotICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbF9s
b29rdXApOworZXh0ZXJuIHN5bWJvbCAqZGVmaW5lX2J1aWx0aW4gKGNvbnN0IGNoYXIgKiwgc2l6
ZV90LCBjb25zdCBidWlsdGluICosCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3lt
Ym9sX2xvb2t1cCk7CiBleHRlcm4gdm9pZCBzZXRfbWFjcm9fc2VxdWVuY2UgKGNvbnN0IGNoYXIg
Kik7CiBleHRlcm4gdm9pZCBmcmVlX3JlZ2V4ICh2b2lkKTsKIGV4dGVybiB2b2lkIGRlZmluZV91
c2VyX21hY3JvIChjb25zdCBjaGFyICosIHNpemVfdCwgY29uc3QgY2hhciAqLCBzaXplX3QsCi0t
IAoyLjQ5LjAKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
XwpNNC1wYXRjaGVzIG1haWxpbmcgbGlzdApNNC1wYXRjaGVzQGdudS5vcmcKaHR0cHM6Ly9saXN0
cy5nbnUub3JnL21haWxtYW4vbGlzdGluZm8vbTQtcGF0Y2hlcwo=