[COMMIT] Revise print_symbol(), never calling is{float, ratio}_string().

Aidan Kehoe <[email protected]> Fri, 8 May 2015 14:42:13 +0100
Newsgroups gmane.emacs.xemacs.patches
Message-ID <[email protected]>
CkJvdGggaXNmbG9hdF9zdHJpbmcgYW5kIGlzcmF0aW9fc3RyaW5nIHdlcmUgYmVpbmcgY2FsbGVk
IG9uIGJhc2ljYWxseSBldmVyeQpzeW1ib2wgd2hlbiBwcmludGluZyB0aGVtLCB0aGUgYnJvYWQg
cGxhdXNpYmlsaXR5IGNoZWNrIGNvZGUgd2l0aGluCnByaW50X3N5bWJvbCB3YXMgb2Ygbm8gdXNl
LiAgVGhpcyBwYXRjaCBjaGFuZ2VzIHRoYXQuIEZvciBtb3N0IHN5bWJvbHMgYXMgc29vbgphcyBp
dOKAmXMgc2VlbiB0aGF0IHRoZSBmaXJzdCBjaGFyYWN0ZXIgaXNu4oCZdCBhIGRpZ2l0IGl04oCZ
bGwgZ2l2ZSB1cCBsb29raW5nIGZvcgpudW1lcmljIHN5bnRheCwgYnV0IGlmIHRoaW5ncyBhcmUg
bW9yZSBzdWJ0bGUgaXQgY2FuIGFsc28gaGFuZGxlIHRoYXQuCgpBUFBST1ZFIENPTU1JVAoKTk9U
RTogVGhpcyBwYXRjaCBoYXMgYmVlbiBjb21taXR0ZWQuCgojIEhHIGNoYW5nZXNldCBwYXRjaAoj
IFVzZXIgQWlkYW4gS2Vob2UgPGtlaG9lYUBwYXJoYXNhcmQubmV0PgojIERhdGUgMTQzMTA5MjAy
NiAtMzYwMAojICAgICAgRnJpIE1heSAwOCAxNDozMzo0NiAyMDE1ICswMTAwCiMgTm9kZSBJRCBl
ZTI3Y2E1MTdlOTA3MDQyM2I1YTA0MjNkZDM4MDYxZTY5NGQyNjZjCiMgUGFyZW50ICA1YWZkZGQ5
NTJjNDZjNjExMjgwOTUyYmU0ZWI4MzExYTBhYmMyNWFkClJldmlzZSBwcmludF9zeW1ib2woKSwg
bmV2ZXIgY2FsbGluZyBpc3tmbG9hdCxyYXRpb31fc3RyaW5nKCkuCgpzcmMvQ2hhbmdlTG9nIGFk
ZGl0aW9uOgoKMjAxNS0wNS0wOCAgQWlkYW4gS2Vob2UgIDxrZWhvZWFAcGFyaGFzYXJkLm5ldD4K
CgkqIHByaW50LmMgKHByaW50X3N5bWJvbCk6CglSZXZpc2UgdGhpcy4gTm8gbG9uZ2VyIGNhbGwg
aXNmbG9hdF9zdHJpbmcoKSBhbmQgaXNyYXRpb19zdHJpbmcoKQoJb24gcHJhY3RpY2FsbHkgZXZl
cnkgc3ltYm9sIHNlZW47IGNoZWNrIGV4cGxpY2l0bHkgZm9yIHRoZSBrbm93bgoJZmxvYXQgZm9y
bWF0IGluIHRoaXMgZnVuY3Rpb24sIHdoaWNoIHR1cm5zIG91dCB0byBiZSBhIG1vcmUKCWxpbWl0
ZWQgYW5kIGNoZWFwIGpvYiB0aGFuIHlvdSB3b3VsZCB0aGluay4KCUFsc28gY2hlY2sgZm9yIGlu
dGVnZXIgYW5kIHJhdGlvIHN5bnRheCBpbiBwYXNzaW5nLgoJVXNlIFZkaWdpdF9maXhudW1fbWFw
IHdoZW4gd29ya2luZyBvdXQgd2hldGhlciBhIGdpdmVuIGNoYXJhY3RlcgoJaXMgYSBkaWdpdC4K
CSogbGlzcC5oOgoJTWFrZSBWZGlnaXRfZml4bnVtX21hcCBhdmFpbGFibGUgZ2VuZXJhbGx5LgoK
dGVzdHMvQ2hhbmdlTG9nIGFkZGl0aW9uOgoKMjAxNS0wNS0wOCAgQWlkYW4gS2Vob2UgIDxrZWhv
ZWFAcGFyaGFzYXJkLm5ldD4KCgkqIGF1dG9tYXRlZC9saXNwLXJlYWRlci10ZXN0cy5lbDoKCUNo
ZWNrIHJlYWQgYW5kIHByaW50IGhhbmRsaW5nIG9mIHN5bWJvbHMgdGhhdCBsb29rIGxpa2UKCW51
bWJlcnMuIEluIHBhc3NpbmcsIGNoZWNrIHRoZSByZWFkIGFuZCBwcmludCBoYW5kbGluZyBvZiB0
aGUKCWFzc29jaWF0ZWQgbnVtYmVycy4KCmRpZmYgLXIgNWFmZGRkOTUyYzQ2IC1yIGVlMjdjYTUx
N2U5MCBzcmMvQ2hhbmdlTG9nCi0tLSBhL3NyYy9DaGFuZ2VMb2cJRnJpIE1heSAwOCAxMzo1ODoy
MiAyMDE1ICswMTAwCisrKyBiL3NyYy9DaGFuZ2VMb2cJRnJpIE1heSAwOCAxNDozMzo0NiAyMDE1
ICswMTAwCkBAIC0xLDMgKzEsMTYgQEAKKzIwMTUtMDUtMDggIEFpZGFuIEtlaG9lICA8a2Vob2Vh
QHBhcmhhc2FyZC5uZXQ+CisKKwkqIHByaW50LmMgKHByaW50X3N5bWJvbCk6CisJUmV2aXNlIHRo
aXMuIE5vIGxvbmdlciBjYWxsIGlzZmxvYXRfc3RyaW5nKCkgYW5kIGlzcmF0aW9fc3RyaW5nKCkK
KwlvbiBwcmFjdGljYWxseSBldmVyeSBzeW1ib2wgc2VlbjsgY2hlY2sgZXhwbGljaXRseSBmb3Ig
dGhlIGtub3duCisJZmxvYXQgZm9ybWF0IGluIHRoaXMgZnVuY3Rpb24sIHdoaWNoIHR1cm5zIG91
dCB0byBiZSBhIG1vcmUKKwlsaW1pdGVkIGFuZCBjaGVhcCBqb2IgdGhhbiB5b3Ugd291bGQgdGhp
bmsuCisJQWxzbyBjaGVjayBmb3IgaW50ZWdlciBhbmQgcmF0aW8gc3ludGF4IGluIHBhc3Npbmcu
CisJVXNlIFZkaWdpdF9maXhudW1fbWFwIHdoZW4gd29ya2luZyBvdXQgd2hldGhlciBhIGdpdmVu
IGNoYXJhY3RlcgorCWlzIGEgZGlnaXQuCisJKiBsaXNwLmg6CisJTWFrZSBWZGlnaXRfZml4bnVt
X21hcCBhdmFpbGFibGUgZ2VuZXJhbGx5LgorCiAyMDE1LTA1LTA4ICBBaWRhbiBLZWhvZSAgPGtl
aG9lYUBwYXJoYXNhcmQubmV0PgogCiAJKiBkYXRhLmMgKEZzdHJpbmdfdG9fbnVtYmVyKToKZGlm
ZiAtciA1YWZkZGQ5NTJjNDYgLXIgZWUyN2NhNTE3ZTkwIHNyYy9saXNwLmgKLS0tIGEvc3JjL2xp
c3AuaAlGcmkgTWF5IDA4IDEzOjU4OjIyIDIwMTUgKzAxMDAKKysrIGIvc3JjL2xpc3AuaAlGcmkg
TWF5IDA4IDE0OjMzOjQ2IDIwMTUgKzAxMDAKQEAgLTQ2MDUsNiArNDYwNSw4IEBACiAJCQkgICBC
eXRlY291bnQgbGVuLCBFTUFDU19JTlQgYmFzZSwKIAkJCSAgIEJvb2xpbnQganVua19hbGxvd2Vk
LCBMaXNwX09iamVjdCBiYXNlX3RhYmxlKTsKIAorZXh0ZXJuIExpc3BfT2JqZWN0IFZkaWdpdF9m
aXhudW1fbWFwOworCiBleHRlcm4gTGlzcF9PYmplY3QgUWFycmF5cCwgUWJpdHAsIFFjaGFyX29y
X3N0cmluZ19wLCBRY2hhcmFjdGVycCwKICAgICBRZXJyb3JfY29uZGl0aW9ucywgUWVycm9yX21l
c3NhZ2UsIFFpbnRlZ2VyX2NoYXJfb3JfbWFya2VyX3AsCiAgICAgUWludGVnZXJfb3JfY2hhcl9w
LCBRaW50ZWdlcl9vcl9tYXJrZXJfcCwgUWxhbWJkYSwgUWxpc3RwLCBRbmF0bnVtcCwKZGlmZiAt
ciA1YWZkZGQ5NTJjNDYgLXIgZWUyN2NhNTE3ZTkwIHNyYy9wcmludC5jCi0tLSBhL3NyYy9wcmlu
dC5jCUZyaSBNYXkgMDggMTM6NTg6MjIgMjAxNSArMDEwMAorKysgYi9zcmMvcHJpbnQuYwlGcmkg
TWF5IDA4IDE0OjMzOjQ2IDIwMTUgKzAxMDAKQEAgLTI1NjMsNTEgKzI1NjMsOTcgQEAKICAgICAg
IHJldHVybjsKICAgICB9CiAKKyAgaWYgKDAgPT0gc2l6ZSkKKyAgICB7CisgICAgICAvKiBDb21w
YXRpYmxlIHdpdGggR05VLCBidXQgbm90IHdpdGggQ29tbW9uIExpc3AsIHdoZXJlIHRoZSBzeW50
YXgKKyAgICAgICAgIGZvciB0aGlzIHN5bWJvbCBpcyB8fC4gKi8KKyAgICAgIHdyaXRlX2FzY3N0
cmluZyAocHJpbnRjaGFyZnVuLAorICAgICAgICAgICAgICAgICAgICAgICAocHJpbnRfZ2Vuc3lt
ICYmICFJTl9PQkFSUkFZIChvYmopKSA/ICIjOiIgOiAiIyMiKTsKKyAgICAgIHJldHVybjsKKyAg
ICB9CisKICAgR0NQUk8yIChvYmosIHByaW50Y2hhcmZ1bik7CiAKICAgaWYgKHByaW50X2dlbnN5
bSAmJiAhSU5fT0JBUlJBWSAob2JqKSkKICAgICB7CiAgICAgICB3cml0ZV9hc2NzdHJpbmcgKHBy
aW50Y2hhcmZ1biwgIiM6Iik7CiAgICAgfQotICBlbHNlIGlmICgwID09IHNpemUpCi0gICAgewot
ICAgICAgLyogQ29tcGF0aWJsZSB3aXRoIEdOVSwgYnV0IG5vdCB3aXRoIENvbW1vbiBMaXNwLCB3
aGVyZSB0aGUgc3ludGF4IGZvcgotICAgICAgICAgdGhpcyBzeW1ib2wgaXMgfHwuICovCi0gICAg
ICB3cml0ZV9hc2NzdHJpbmcgKHByaW50Y2hhcmZ1biwgIiMjIik7Ci0gICAgfQotCi0gIC8qIERv
ZXMgaXQgbG9vayBsaWtlIGFuIGludGVnZXIgb3IgYSBmbG9hdD8gKi8KKworICAvKiBEb2VzIGl0
IGxvb2sgbGlrZSBhIHJhdGlvbmFsIG9yIGEgZmxvYXQ/ICovCiAgIHsKLSAgICBJYnl0ZSAqZGF0
YSA9IFhTVFJJTkdfREFUQSAobmFtZSk7Ci0gICAgQnl0ZWNvdW50IGNvbmZ1c2luZyA9IDA7Ci0K
LSAgICBpZiAoc2l6ZSA9PSAwKQotICAgICAgZ290byBub3RfeWV0X2NvbmZ1c2VkOyAgICAvKiBS
ZWFsbHkgY29uZnVzaW5nICovCi0gICAgZWxzZSBpZiAoaXNkaWdpdCAoZGF0YVswXSkpCi0gICAg
ICBjb25mdXNpbmcgPSAwOwotICAgIGVsc2UgaWYgKHNpemUgPT0gMSkKLSAgICAgIGdvdG8gbm90
X3lldF9jb25mdXNlZDsKLSAgICBlbHNlIGlmIChkYXRhWzBdID09ICctJyB8fCBkYXRhWzBdID09
ICcrJykKLSAgICAgIGNvbmZ1c2luZyA9IDE7Ci0gICAgZWxzZQotICAgICAgZ290byBub3RfeWV0
X2NvbmZ1c2VkOwotCi0gICAgZm9yICg7IGNvbmZ1c2luZyA8IHNpemU7IGNvbmZ1c2luZysrKQor
ICAgIElieXRlICpkYXRhID0gWFNUUklOR19EQVRBIChuYW1lKSwgKnBlbmQgPSBkYXRhICsgWFNU
UklOR19MRU5HVEggKG5hbWUpOworICAgIEZpeG51bSBub25kaWdpdHMgPSAwLCBmaXh2YWwgPSAt
MTsKKyAgICBCb29saW50IGNvbmZ1c2luZyA9IDE7CisgICAgSWNoYXIgY2MgPSBpdGV4dF9pY2hh
ciAoZGF0YSk7CisgICAgTGlzcF9PYmplY3QgZ290ID0gUW5pbDsKKyAgICAKKyAgICBpZiAoY2Mg
PT0gJy0nIHx8IGNjID09ICcrJykKICAgICAgIHsKLQlpZiAoIWlzZGlnaXQgKGRhdGFbY29uZnVz
aW5nXSkgJiYgJy8nICE9IGRhdGFbY29uZnVzaW5nXSkKKyAgICAgICAgSU5DX0lCWVRFUFRSIChk
YXRhKTsKKyAgICAgICAgaWYgKGRhdGEgPT0gcGVuZCkKICAgICAgICAgICB7CiAgICAgICAgICAg
ICBjb25mdXNpbmcgPSAwOworICAgICAgICAgIH0KKyAgICAgIH0KKworICAgIC8qIE5vIG5lZWQg
dG8gY2hlY2sgZm9yICcuJyB3aGVuIHdvcmtpbmcgb3V0IHdoZXRoZXIgdGhlIHN5bWJvbCBsb29r
cyBsaWtlCisgICAgICAgYSBudW1iZXIsICcuJyB3aWxsIGdldCBhIGJhY2tzbGFzaCBvbiBwcmlu
dGluZyBubyBtYXR0ZXIgd2hhdCwKKyAgICAgICBkaXNxdWFsaWZ5aW5nIGl0IGZyb20gYmVpbmcg
YSBudW1iZXIgd2hlbiByZWFkLiAqLworICAgIHdoaWxlIChjb25mdXNpbmcgJiYgZGF0YSA8IHBl
bmQpCisgICAgICB7CisgICAgICAgIGNjID0gaXRleHRfaWNoYXIgKGRhdGEpOworCisgICAgICAg
IHN3aXRjaCAoY2MpCisgICAgICAgICAgeworICAgICAgICAgICAgLyogQSBzeW1ib2wgbGlrZSAy
ZTEwIGNvdW5kIGJlIGNvbmZ1c2VkIHdpdGggYSBmbG9hdDogKi8KKyAgICAgICAgICBjYXNlICdl
JzoKKyAgICAgICAgICBjYXNlICdFJzoKKyAgICAgICAgICAgIC8qIEFzIGNhbiBvbmUgbGlrZSAx
MjMvNDU2OiAqLworICAgICAgICAgIGNhc2UgJy8nOgorICAgICAgICAgICAgbm9uZGlnaXRzKys7
CisgICAgICAgICAgICBjb25mdXNpbmcgPSBub25kaWdpdHMgPCAyCisgICAgICAgICAgICAgIC8q
IElmIGl0IHN0YXJ0cyB3aXRoIGFuIEUgb3IgYSBzbGFzaCwgdGhhdCdzIGZpbmUsIGl0IGNhbid0
IGJlIGEKKyAgICAgICAgICAgICAgICAgZmxvYXQuICovCisgICAgICAgICAgICAgICYmIGRhdGEg
IT0gWFNUUklOR19EQVRBIChuYW1lKQorICAgICAgICAgICAgICAvKiBBbmQgaWYgaXQgZW5kcyB3
aXRoIGFuIGUgb3IgYSBzbGFzaCB0aGF0J3MgZmluZSB0b28uICovCisgICAgICAgICAgICAgICYm
IChkYXRhICsgaXRleHRfaWNoYXJfbGVuIChkYXRhKSkgIT0gcGVuZDsKKyAgICAgICAgICAgIGJy
ZWFrOworCisgICAgICAgICAgICAvKiBUaGVyZSBjYW4gYmUgYSBzaWduIGluIHRoZSBleHBvbmVu
dC4gU3VjaCBhIHNpZ24gbmVlZHMgdG8gYmUKKyAgICAgICAgICAgICAgIGRpcmVjdGx5IGFmdGVy
IGFuIGUgYW5kIHRvIGhhdmUgdHJhaWxpbmcgZGlnaXRzIGFmdGVyIGl0IHRvIGJlCisgICAgICAg
ICAgICAgICB2YWxpZCBmbG9hdCBzeW50YXguICovCisgICAgICAgICAgY2FzZSAnKyc6CisgICAg
ICAgICAgY2FzZSAnLSc6CisgICAgICAgICAgICBjb25mdXNpbmcgPSAoMSA9PSBub25kaWdpdHMp
CisgICAgICAgICAgICAgICYmIGRhdGEgIT0gWFNUUklOR19EQVRBIChuYW1lKQorICAgICAgICAg
ICAgICAmJiAoZGF0YSArIGl0ZXh0X2ljaGFyX2xlbiAoZGF0YSkpOworICAgICAgICAgICAgaWYg
KGNvbmZ1c2luZykKKyAgICAgICAgICAgICAgeworICAgICAgICAgICAgICAgIElieXRlICpsYXN0
cCA9IGRhdGE7CisgICAgICAgICAgICAgICAgSWNoYXIgY2xhc3Q7CisKKyAgICAgICAgICAgICAg
ICBERUNfSUJZVEVQVFIgKGxhc3RwKTsKKyAgICAgICAgICAgICAgICBjbGFzdCA9IGl0ZXh0X2lj
aGFyIChsYXN0cCk7CisKKyAgICAgICAgICAgICAgICBjb25mdXNpbmcgPSBjbGFzdCA9PSAnRScg
fHwgY2xhc3QgPT0gJ2UnOworICAgICAgICAgICAgICB9CisgICAgICAgICAgICBicmVhazsKKwor
ICAgICAgICAgICAgLyogQSBzeW1ib2wgdGhhdCBpcyBhbGwgZGVjaW1hbCBkaWdpdHMgY291bGQg
YmUgY29uZnVzZWQgd2l0aCBhbgorICAgICAgICAgICAgICAgaW50ZWdlcjogKi8KKyAgICAgICAg
ICBkZWZhdWx0OgorICAgICAgICAgICAgZ290ID0gZ2V0X2NoYXJfdGFibGUgKGNjLCBWZGlnaXRf
Zml4bnVtX21hcCk7CisgICAgICAgICAgICBmaXh2YWwgPSBGSVhOVU1QIChnb3QpID8gWFJFQUxG
SVhOVU0gKGdvdCkgOiAtMTsKKyAgICAgICAgICAgIGlmIChmaXh2YWwgPCAwIHx8IGZpeHZhbCA+
IDkpCisgICAgICAgICAgICAgIHsKKyAgICAgICAgICAgICAgICBjb25mdXNpbmcgPSAwOworICAg
ICAgICAgICAgICB9CiAgICAgICAgICAgICBicmVhazsKICAgICAgICAgICB9CisKKyAgICAgICAg
SU5DX0lCWVRFUFRSIChkYXRhKTsKICAgICAgIH0KLSAgbm90X3lldF9jb25mdXNlZDoKLQotICAg
IGlmICghY29uZnVzaW5nKQotICAgICAgLyogIyMjIyBVZ2gsIHRoaXMgaXMgbmVlZGxlc3NseSBj
b21wbGV4IGFuZCBzbG93IGZvciB3aGF0IHdlCi0gICAgICAgICBuZWVkIGhlcmUuICBJdCBtaWdo
dCBiZSBhIGdvb2QgaWRlYSB0byBjb3B5IGVxdWl2YWxlbnQgY29kZQotICAgICAgICAgZnJvbSBG
U0YuICAtLWhuaWtzaWMgKi8KLSAgICAgIGNvbmZ1c2luZyA9IGlzZmxvYXRfc3RyaW5nICgoY2hh
ciAqKSBkYXRhKQotCXx8IGlzcmF0aW9fc3RyaW5nICgoY2hhciAqKSBkYXRhKTsKKwogICAgIGlm
IChjb25mdXNpbmcpCiAgICAgICB3cml0ZV9hc2NzdHJpbmcgKHByaW50Y2hhcmZ1biwgIlxcIik7
CiAgIH0KQEAgLTI2MTgsNiArMjY2NCw5IEBACiAKICAgICBmb3IgKGkgPSAwOyBpIDwgc2l6ZTsg
aSsrKQogICAgICAgeworICAgICAgICAvKiBJbiB0aGUgZXZlbnQgdGhhdCB3ZSBhZG9wdCBhIG5v
bi1BU0NJSS1jb21wYXRpYmxlIGludGVybmFsIGZvcm1hdCwKKyAgICAgICAgICAgdGhpcyB3aWxs
IG5vIGxvbmdlciBiZSBNdWxlLXNhZmUuIEFzIG9mIE1heSAyMDE1LCB0aGF0IGlzIHZlcnksCisg
ICAgICAgICAgIHZlcnkgdW5saWtlbHkuICovCiAJc3dpdGNoIChzdHJpbmdfYnl0ZSAobmFtZSwg
aSkpCiAJICB7CiAJICBjYXNlICAwOiBjYXNlICAxOiBjYXNlICAyOiBjYXNlICAzOgpkaWZmIC1y
IDVhZmRkZDk1MmM0NiAtciBlZTI3Y2E1MTdlOTAgdGVzdHMvQ2hhbmdlTG9nCi0tLSBhL3Rlc3Rz
L0NoYW5nZUxvZwlGcmkgTWF5IDA4IDEzOjU4OjIyIDIwMTUgKzAxMDAKKysrIGIvdGVzdHMvQ2hh
bmdlTG9nCUZyaSBNYXkgMDggMTQ6MzM6NDYgMjAxNSArMDEwMApAQCAtMSwzICsxLDEwIEBACisy
MDE1LTA1LTA4ICBBaWRhbiBLZWhvZSAgPGtlaG9lYUBwYXJoYXNhcmQubmV0PgorCisJKiBhdXRv
bWF0ZWQvbGlzcC1yZWFkZXItdGVzdHMuZWw6CisJQ2hlY2sgcmVhZCBhbmQgcHJpbnQgaGFuZGxp
bmcgb2Ygc3ltYm9scyB0aGF0IGxvb2sgbGlrZQorCW51bWJlcnMuIEluIHBhc3NpbmcsIGNoZWNr
IHRoZSByZWFkIGFuZCBwcmludCBoYW5kbGluZyBvZiB0aGUKKwlhc3NvY2lhdGVkIG51bWJlcnMu
CisKIDIwMTUtMDQtMTEgIEFpZGFuIEtlaG9lICA8a2Vob2VhQHBhcmhhc2FyZC5uZXQ+CiAKIAkq
IGF1dG9tYXRlZC9saXNwLXRlc3RzLmVsOgpkaWZmIC1yIDVhZmRkZDk1MmM0NiAtciBlZTI3Y2E1
MTdlOTAgdGVzdHMvYXV0b21hdGVkL2xpc3AtcmVhZGVyLXRlc3RzLmVsCi0tLSBhL3Rlc3RzL2F1
dG9tYXRlZC9saXNwLXJlYWRlci10ZXN0cy5lbAlGcmkgTWF5IDA4IDEzOjU4OjIyIDIwMTUgKzAx
MDAKKysrIGIvdGVzdHMvYXV0b21hdGVkL2xpc3AtcmVhZGVyLXRlc3RzLmVsCUZyaSBNYXkgMDgg
MTQ6MzM6NDYgMjAxNSArMDEwMApAQCAtMTU1LDMgKzE1NSw2NSBAQAogCQkJCQkgICAoKyBtb3N0
LXBvc2l0aXZlLWZpeG51bSAyKQogCQkJCQkgICAoKyBtb3N0LXBvc2l0aXZlLWZpeG51bSAyKSkp
KSkKIAkgICJjaGVja2luZyBiaWdudW0gb2JqZWN0IGxhYmVscyBkb24ndCB3cmFwIG9uIHJlYWRp
bmciKSkKKworKEFzc2VydCAobm90IChlcSAoaW50ZXJuICIiKSAocmVhZCAocHJpbjEtdG8tc3Ry
aW5nIChtYWtlLXN5bWJvbCAiIikpKSkpCisgICAgICAgICJjaGVja2luZyB1bmludGVybmVkIHpl
cm8tbGVuZ3RoIHN5bWJvbCBwcmludGVkIGRpc3RpbmN0bHkiKQorCis7OyBDaGVjayB0aGUgcmVh
ZCBhbmQgcHJpbnQgaGFuZGxpbmcgb2Ygc3ltYm9scyB0aGF0IGxvb2sgbGlrZSBudW1iZXJzLiBJ
bgorOzsgcGFzc2luZywgY2hlY2sgdGhlIHJlYWQgYW5kIHByaW50IGhhbmRsaW5nIG9mIHRoZSBh
c3NvY2lhdGVkIG51bWJlcnMuCisoQXNzZXJ0IChlcWwgKGxvZyAxKSAnMGUwKSAiY2hlY2tpbmcg
ZmxvYXQgc3ludGF4IHdpdGggZSBhY2NlcHRlZCIpCisoQXNzZXJ0IChlcWwgKGxvZyAxKSAwLjAp
ICJjaGVja2luZyBmbG9hdCBzeW50YXggd2l0aCBkZWNpbWFsIHBvaW50IGFjY2VwdGVkIikKKyhB
c3NlcnQgKG5vdCAocmF0aW9wIChyZWFkICIyLy0zIikpKQorICAgICAgICAicmF0aW9zIGNhbid0
IGhhdmUgYSBuZWdhdGl2ZSBzaWduIGluIHRoZSBkZW5vbWluYXRvciIpCisoQXNzZXJ0IChub3Qg
KHJhdGlvcCAocmVhZCAiMi8rMyIpKSkKKyAgICAgICAgInJhdGlvcyBjYW4ndCBoYXZlIGEgcG9z
aXRpdmUgc2lnbiBpbiB0aGUgZGVub21pbmF0b3IiKQorCisobWFjcm9sZXQKKyAgICAoKEFzc2Vy
dC1uby1zeW1ib2wtbnVtYmVyLWNvbmZ1c2lvbiAoJnJlc3QgdmFsdWVzKQorICAgICAgIGAobGV0
ICgocHJpbnQtZ2Vuc3ltIHQpCisgICAgICAgICAgICAgIChwcmludC1yZWFkYWJseSB0KSkKKyAg
ICAgICAgICxAKGxvb3AKKyAgICAgICAgICAgIGZvciAodHlwZSAuIHJlc3QpIGluIHZhbHVlcwor
ICAgICAgICAgICAgY29sbGVjdCAoY29ucworICAgICAgICAgICAgICAgICAgICAgJ3Byb2duCisg
ICAgICAgICAgICAgICAgICAgICAobG9vcCBmb3Igc3RyaW5nIGluIHJlc3QKKyAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGNvbGxlY3QKKyAgICAgICAgICAgICAgICAgICAgICAgICAgIGAocHJv
Z24KKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKEFzc2VydCAoc3ltYm9scCAocmVhZCAo
cHJpbjEtdG8tc3RyaW5nCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgIChtYWtlLXN5bWJvbCAsc3RyaW5nKSkpKSkKKyAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgKEFzc2VydCAoZXF1YWwgKHN5bWJvbC1uYW1lCisgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocmVhZCAocHJpbjEtdG8tc3RyaW5nCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKG1ha2Utc3lt
Ym9sICxzdHJpbmcpKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAsc3RyaW5nKSkKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgLEAod2hlbiAoaWdu
b3JlLWVycm9ycyAoY29lcmNlLW51bWJlciAxIHR5cGUpKQorICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgIGAoKEFzc2VydCAodHlwZXAgKHJlYWQgLHN0cmluZykKKyAgICAgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICcsdHlwZSkpCisg
ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAoQXNzZXJ0IChlcWwgKHN0cmlu
Zy10by1udW1iZXIKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgLHN0cmluZykKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgIChyZWFkICxzdHJpbmcpKSkpKSkpKSkpKSkKKyAgKEFzc2VydC1uby1zeW1ib2wt
bnVtYmVyLWNvbmZ1c2lvbgorICAgKGZsb2F0ICIwLjAiICIwRTAiICItLjAiICIwLjBlMCIgIjMu
MTQxNTkyNjUzNTg5NzkzMjM4NEUwIgorICAgICAgICAgICI2LjAyRSsyMyIgIjYwMkUrMjEiICIz
LjAxMDI5OTk1N2UtMSIgIi0wLjAwMDAwMDAwMWU5IikKKyAgIChmaXhudW0gIjEiICIxLiIgIjEw
NzM3NDE4MjMiICItMSIgIi0xMDczNzQxODI0IikKKyAgIChyYXRpbyAiMS8yIiAiMi81IiAiLTEw
NzM3NDE4MjIvMTA3Mzc0MTgyMyIKKyAgICAgICAgICAiKzIvMyIgIi0zLzIiCisgICAgICAgICAg
IjI4OTQ4MDIyMzA5MzI5MDQ4ODU1ODkyNzQ2MjUyMTcxOTc2OTYzMzE3NDk2MTY2NDEwMTQxMDA5
ODY0Mzk2MDBcCisxOTc4MjgyNDA5OTg0LzIwIgorICAgICAgICAgICIrMjg5NDgwMjIzMDkzMjkw
NDg4NTU4OTI3NDYyNTIxNzE5NzY5NjMzMTc0OTYxNjY0MTAxNDEwMDk4NjQzOTYwXAorMDE5Nzgy
ODI0MDk5ODQvMjAiCisgICAgICAgICAgIi0yODk0ODAyMjMwOTMyOTA0ODg1NTg5Mjc0NjI1MjE3
MTk3Njk2MzMxNzQ5NjE2NjQxMDE0MTAwOTg2NDM5NjBcCiswMTk3ODI4MjQwOTk4NC8yMCIKKyAg
ICAgICAgICAiMjAvMjg5NDgwMjIzMDkzMjkwNDg4NTU4OTI3NDYyNTIxNzE5NzY5NjMzMTc0OTYx
NjY0MTAxNDEwMDk4NjQzOVwKKzYwMDE5NzgyODI0MDk5ODQiCisgICAgICAgICAgIisyMC8yODk0
ODAyMjMwOTMyOTA0ODg1NTg5Mjc0NjI1MjE3MTk3Njk2MzMxNzQ5NjE2NjQxMDE0MTAwOTg2NDNc
Cis5NjAwMTk3ODI4MjQwOTk4NCIKKyAgICAgICAgICAiLTIwLzI4OTQ4MDIyMzA5MzI5MDQ4ODU1
ODkyNzQ2MjUyMTcxOTc2OTYzMzE3NDk2MTY2NDEwMTQxMDA5ODY0M1wKKzk2MDAxOTc4MjgyNDA5
OTg0IikKKyAgIDs7IFRoZXNlIHR3byBhcmUgKGxzaCAxIDI1NCkgYW5kIChsb2dub3QgKGxzaCAx
IDI1NCkpLiBUaGUgYXNzdW1wdGlvbiB0aGF0CisgICA7OyB0aGV5IGFyZSBhbHdheXMgYmlnbnVt
cyBpZiB0aGV5IGNhbiBiZSBtYWRlIGludG8gcmF0aW9uYWxzIHNob3VsZCBob2xkCisgICA7OyBm
b3IgYW5vdGhlciBjb3VwbGUgb2YgcHJvY2Vzc29yIGdlbmVyYXRpb25zIGF0IGxlYXN0LgorICAg
KGJpZ251bQorICAgICIyODk0ODAyMjMwOTMyOTA0ODg1NTg5Mjc0NjI1MjE3MTk3Njk2MzMxNzQ5
NjE2NjQxMDE0MTAwOTg2NDM5NjAwMTk3ODI4XAorMjQwOTk4NCIKKyAgICAiLTI4OTQ4MDIyMzA5
MzI5MDQ4ODU1ODkyNzQ2MjUyMTcxOTc2OTYzMzE3NDk2MTY2NDEwMTQxMDA5ODY0Mzk2MDAxOTc4
MlwKKzgyNDA5OTg1IikpKQoKCi0tIArigJhUcmFtYWRvbCBpcyBmdXJ0aGVyIGZlZCB0byBjYXR0
bGUgW+KApl0gd2hlbiB3b3JraW5nIHRoZW0gW+KApl0gKGFzIGRyYWZ0CmFuaW1hbHMpIHNvIHRo
YXQgdGhlIGFuaW1hbHMgZG8gbm90IGdldCB0aXJlZCBxdWlja2x5LiDigKbigJkKCeKAlCBBbmdl
d2FuZHRlIENoZW1pZSwgU2VwdCAyMDE0LCBkZXNjcmliaW5nIHRoZSBzb2NpYWwgY29udGV4dCBv
ZgoJKHN5bnRoZXRpYykgdHJhbWFkb2wgaGF2aW5nIGJlZW4gZm91bmQgaW4gQ2FtZXJvb24gdHJl
ZSByb290cy4KCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f
ClhFbWFjcy1QYXRjaGVzIG1haWxpbmcgbGlzdApYRW1hY3MtUGF0Y2hlc0B4ZW1hY3Mub3JnCmh0
dHA6Ly9saXN0cy54ZW1hY3Mub3JnL21haWxtYW4vbGlzdGluZm8veGVtYWNzLXBhdGNoZXMK