except for some contributed ksh code ast does not use strcat()
from way back ast had strcopy() which is basically stpcpy()
if sizes are know we use strcopy() or memcpy() 
otherwise the typical paradigm is to use stk*() or sfstr*()

no patches to ksh93u+ code base
"even the seemingly simplest change can wreak unforseen havoc"
we are only fixing dire ksh93u+ regressions at this point
and we are down to one of those on freebsd

for ksh93v- code base I will change strcopy() to use stpcpy()
and ast will provide stpcpy() if its not there
ast will also provide stpncpy() with an iffe for strnlen()
that will fall back to memchr()

On Tue, 24 Jul 2012 16:13:46 +0200 Roland Mainz wrote:
> --f46d042f9bf07f40ca04c593f8e6
> Content-Type: text/plain; charset=ISO-8859-1

> Hi!

> ----

> Attached (as "astksh_stpcpy.diff") is a small patch which adds
> |stpcpy()| and |stpncpy()| to libast (if the system doesn't provide
> them).

> IMO it would be nice to put this _both_ into the ksh93u+ and ksh93v-
> trees... risk should be very small (except there is a platform which
> doesn't have |strnlen()|).

> ----

> Bye,
> Roland

> P.S.: ast-open needs a purge of cases where |strcat()| is used
> multiple times in sequence, cases of |sprintf(buf, "%s%s", ...)| etc.
> etc. and have these abdominations all replaced by |stpcpy()| (because
> it's faster&&more efficient, e.g. |strcat(buf, "aaa"); strcat(buf,
> "bbb");| can be replaced with |char *s=buf; s=stpcpy(s, "aaa");
> s=stpcpy(s, "bbb");| ... this will be faster because |strcat()| always
> starts from the beginning of the buffer and then searches for the end
> while |stpcpy()| allows an application to always continue immediately
> where the old string ended).

> -- 
>   __ .  . __
>  (o.\ \/ /.o) roland.ma...@nrubsig.org
>   \__\/\/__/  MPEG specialist, C&&JAVA&&Sun&&Unix programmer
>   /O /==\ O\  TEL +49 641 3992797
>  (;O/ \/ \O;)

> --f46d042f9bf07f40ca04c593f8e6
> Content-Type: text/x-patch; charset=US-ASCII; name="astksh_stpcpy.diff"
> Content-Disposition: attachment; filename="astksh_stpcpy.diff"
> Content-Transfer-Encoding: base64
> X-Attachment-Id: f_h51271q10

> ZGlmZiAtciAtdSAtTiBvcmlnaW5hbC9zcmMvY21kL2tzaDkzL2VkaXQvZW1hY3MuYyBidWlsZF9z
> dHBjcHkvL3NyYy9jbWQva3NoOTMvZWRpdC9lbWFjcy5jCi0tLSBzcmMvY21kL2tzaDkzL2VkaXQv
> ZW1hY3MuYwkyMDEyLTA2LTE5IDIyOjAxOjQzLjAwMDAwMDAwMCArMDIwMAorKysgc3JjL2NtZC9r
> c2g5My9lZGl0L2VtYWNzLmMJMjAxMi0wNy0yNCAxNDoyMTo1Mi40NDUzNTExNDMgKzAyMDAKQEAg
> LTExNzQsMjUgKzExNzQsMjYgQEAKIAkJY2FzZSBjbnRsKCdIJyk6CQkvKiBeWF5IIHNob3cgaGlz
> dG9yeSBpbmZvICovCiAJCQl7CiAJCQkJY2hhciBoYnVmW01BWExJTkVdOworCQkJCWNoYXIgKmhi
> bj1oYnVmOyAvKiBoYnVmX25leHQgKi8KIAotCQkJCXN0cmNweShoYnVmLCAiQ3VycmVudCBjb21t
> YW5kICIpOwotCQkJCXN0cmNhdChoYnVmLCBpdG9zKGhsaW5lKSk7CisJCQkJaGJuPXN0cGNweSho
> Ym4sICJDdXJyZW50IGNvbW1hbmQgIik7CisJCQkJaGJuPXN0cGNweShoYm4sIGl0b3MoaGxpbmUp
> KTsKIAkJCQlpZiAoaGxvZmYpCiAJCQkJewotCQkJCQlzdHJjYXQoaGJ1ZiwgIiAobGluZSAiKTsK
> LQkJCQkJc3RyY2F0KGhidWYsIGl0b3MoaGxvZmYrMSkpOwotCQkJCQlzdHJjYXQoaGJ1ZiwgIiki
> KTsKKwkJCQkJaGJuPXN0cGNweShoYm4sICIgKGxpbmUgIik7CisJCQkJCWhibj1zdHBjcHkoaGJu
> LCBpdG9zKGhsb2ZmKzEpKTsKKwkJCQkJaGJuPXN0cGNweShoYm4sICIpIik7CiAJCQkJfQogCQkJ
> CWlmICgoaGxpbmUgIT0gbG9jYXRpb24uaGlzdF9jb21tYW5kKSB8fAogCQkJCSAgICAoaGxvZmYg
> IT0gbG9jYXRpb24uaGlzdF9saW5lKSkKIAkJCQl7Ci0JCQkJCXN0cmNhdChoYnVmLCAiOyBQcmV2
> aW91cyBjb21tYW5kICIpOwotCQkJCQlzdHJjYXQoaGJ1ZiwgaXRvcyhsb2NhdGlvbi5oaXN0X2Nv
> bW1hbmQpKTsKKwkJCQkJaGJuPXN0cGNweShoYm4sICI7IFByZXZpb3VzIGNvbW1hbmQgIik7CisJ
> CQkJCWhibj1zdHBjcHkoaGJuLCBpdG9zKGxvY2F0aW9uLmhpc3RfY29tbWFuZCkpOwogCQkJCQlp
> ZiAobG9jYXRpb24uaGlzdF9saW5lKQogCQkJCQl7Ci0JCQkJCQlzdHJjYXQoaGJ1ZiwgIiAobGlu
> ZSAiKTsKLQkJCQkJCXN0cmNhdChoYnVmLCBpdG9zKGxvY2F0aW9uLmhpc3RfbGluZSsxKSk7Ci0J
> CQkJCQlzdHJjYXQoaGJ1ZiwgIikiKTsKKwkJCQkJCWhibj1zdHBjcHkoaGJuLCAiIChsaW5lICIp
> OworCQkJCQkJaGJuPXN0cGNweShoYm4sIGl0b3MobG9jYXRpb24uaGlzdF9saW5lKzEpKTsKKwkJ
> CQkJCWhibj1zdHBjcHkoaGJuLCAiKSIpOwogCQkJCQl9CiAJCQkJfQogCQkJCXNob3dfaW5mbyhl
> cCxoYnVmKTsKQEAgLTEyMDIsMTkgKzEyMDMsMjAgQEAKIAkJY2FzZSBjbnRsKCdEJyk6CQkvKiBe
> WF5EIHNob3cgZGVidWdnaW5nIGluZm8gKi8KIAkJCXsKIAkJCQljaGFyIGRlYnVnYnVmW01BWExJ
> TkVdOworCQkJCWNoYXIgKmRiYm4gPSBkZWJ1Z2J1ZjsgLyogZGVidWdidWZfbmV4dCAqLwogCi0J
> CQkJc3RyY3B5KGRlYnVnYnVmLCAiY291bnQ9Iik7Ci0JCQkJc3RyY2F0KGRlYnVnYnVmLCBpdG9z
> KGNvdW50KSk7Ci0JCQkJc3RyY2F0KGRlYnVnYnVmLCAiIGVvbD0iKTsKLQkJCQlzdHJjYXQoZGVi
> dWdidWYsIGl0b3MoZW9sKSk7Ci0JCQkJc3RyY2F0KGRlYnVnYnVmLCAiIGN1cj0iKTsKLQkJCQlz
> dHJjYXQoZGVidWdidWYsIGl0b3MoY3VyKSk7Ci0JCQkJc3RyY2F0KGRlYnVnYnVmLCAiIGNyYWxs
> b3dlZD0iKTsKLQkJCQlzdHJjYXQoZGVidWdidWYsIGl0b3MoY3JhbGxvd2VkKSk7Ci0JCQkJc3Ry
> Y2F0KGRlYnVnYnVmLCAiIHBsZW49Iik7Ci0JCQkJc3RyY2F0KGRlYnVnYnVmLCBpdG9zKHBsZW4p
> KTsKLQkJCQlzdHJjYXQoZGVidWdidWYsICIgd19zaXplPSIpOwotCQkJCXN0cmNhdChkZWJ1Z2J1
> ZiwgaXRvcyh3X3NpemUpKTsKKwkJCQlkYmJuPXN0cGNweShkYmJuLCAiY291bnQ9Iik7CisJCQkJ
> ZGJibj1zdHBjcHkoZGJibiwgaXRvcyhjb3VudCkpOworCQkJCWRiYm49c3RwY3B5KGRiYm4sICIg
> ZW9sPSIpOworCQkJCWRiYm49c3RwY3B5KGRiYm4sIGl0b3MoZW9sKSk7CisJCQkJZGJibj1zdHBj
> cHkoZGJibiwgIiBjdXI9Iik7CisJCQkJZGJibj1zdHBjcHkoZGJibiwgaXRvcyhjdXIpKTsKKwkJ
> CQlkYmJuPXN0cGNweShkYmJuLCAiIGNyYWxsb3dlZD0iKTsKKwkJCQlkYmJuPXN0cGNweShkYmJu
> LCBpdG9zKGNyYWxsb3dlZCkpOworCQkJCWRiYm49c3RwY3B5KGRiYm4sICIgcGxlbj0iKTsKKwkJ
> CQlkYmJuPXN0cGNweShkYmJuLCBpdG9zKHBsZW4pKTsKKwkJCQlkYmJuPXN0cGNweShkYmJuLCAi
> IHdfc2l6ZT0iKTsKKwkJCQlkYmJuPXN0cGNweShkYmJuLCBpdG9zKHdfc2l6ZSkpOwogCiAJCQkJ
> c2hvd19pbmZvKGVwLGRlYnVnYnVmKTsKIAkJCQlyZXR1cm47CmRpZmYgLXIgLXUgLU4gb3JpZ2lu
> YWwvc3JjL2xpYi9saWJhc3QvZmVhdHVyZXMvbWFwLmMgYnVpbGRfc3RwY3B5Ly9zcmMvbGliL2xp
> YmFzdC9mZWF0dXJlcy9tYXAuYwotLS0gc3JjL2xpYi9saWJhc3QvZmVhdHVyZXMvbWFwLmMJMjAx
> MC0wNi0yNSAxODo1OTowOC4wMDAwMDAwMDAgKzAyMDAKKysrIHNyYy9saWIvbGliYXN0L2ZlYXR1
> cmVzL21hcC5jCTIwMTItMDctMjQgMTQ6NDQ6MzUuMzUyNDA4NTM1ICswMjAwCkBAIC0yOTYsNiAr
> Mjk2LDEyIEBACiAJcHJpbnRmKCIjZGVmaW5lIHNpZ25hbCAgICAgIAlfYXN0X3NpZ25hbFxuIik7
> CiAJcHJpbnRmKCIjdW5kZWYJc2lndW5ibG9ja1xuIik7CiAJcHJpbnRmKCIjZGVmaW5lIHNpZ3Vu
> YmxvY2sgICAgICBfYXN0X3NpZ3VuYmxvY2tcbiIpOworCXByaW50ZigiI3VuZGVmCXN0cGNweVxu
> Iik7CisJcHJpbnRmKCIjZGVmaW5lIHN0cGNweQkJX2FzdF9zdHBjcHlcbiIpOworCXByaW50Zigi
> ZXh0ZXJuIGNoYXIgKgkJc3RwY3B5KGNoYXIgKiwgY29uc3QgY2hhciAqKTtcbiIpOworCXByaW50
> ZigiI3VuZGVmCXN0cG5jcHlcbiIpOworCXByaW50ZigiI2RlZmluZSBzdHBuY3B5CQlfYXN0X3N0
> cG5jcHlcbiIpOworCXByaW50ZigiZXh0ZXJuIGNoYXIgKgkJc3RwbmNweShjaGFyICosIGNvbnN0
> IGNoYXIgKiwgc2l6ZV90KTtcbiIpOwogCXByaW50ZigiI3VuZGVmCXN0cmFjbXBcbiIpOwogCXBy
> aW50ZigiI2RlZmluZSBzdHJhY21wCQlfYXN0X3N0cmFjbXBcbiIpOwogCXByaW50ZigiI3VuZGVm
> CXN0cmNvcHlcbiIpOwpkaWZmIC1yIC11IC1OIG9yaWdpbmFsL3NyYy9saWIvbGliYXN0L2ZlYXR1
> cmVzL3N5cyBidWlsZF9zdHBjcHkvL3NyYy9saWIvbGliYXN0L2ZlYXR1cmVzL3N5cwotLS0gc3Jj
> L2xpYi9saWJhc3QvZmVhdHVyZXMvc3lzCTIwMTItMDYtMTUgMDQ6MTE6MjYuMDAwMDAwMDAwICsw
> MjAwCisrKyBzcmMvbGliL2xpYmFzdC9mZWF0dXJlcy9zeXMJMjAxMi0wNy0yNCAxNDo0MzoyMy4w
> ODUxMjkyODQgKzAyMDAKQEAgLTI0NCw2ICsyNDQsOCBAQAogZXh0ZXJuCXN0cmNocgkJY2hhcioJ
> CShjb25zdCBjaGFyKiwgaW50KQogZXh0ZXJuCXN0cmNtcAkJaW50CQkoY29uc3QgY2hhciosIGNv
> bnN0IGNoYXIqKQogZXh0ZXJuCXN0cmNvbGwJCWludAkJKGNvbnN0IGNoYXIqLCBjb25zdCBjaGFy
> KikKK2V4dGVybglzdHBjcHkJCWNoYXIqCQkoY2hhciosIGNvbnN0IGNoYXIqKQorZXh0ZXJuCXN0
> cG5jcHkJCWNoYXIqCQkoY2hhciosIGNvbnN0IGNoYXIqLCBzaXplX3QpCiBleHRlcm4Jc3RyY3B5
> CQljaGFyKgkJKGNoYXIqLCBjb25zdCBjaGFyKikKIGV4dGVybglzdHJjc3BuCQlzaXplX3QJCShj
> b25zdCBjaGFyKiwgY29uc3QgY2hhciopCiBleHRlcm4Jc3RyZHVwCQljaGFyKgkJKGNvbnN0IGNo
> YXIqKQpkaWZmIC1yIC11IC1OIG9yaWdpbmFsL3NyYy9saWIvbGliYXN0L01ha2VmaWxlIGJ1aWxk
> X3N0cGNweS8vc3JjL2xpYi9saWJhc3QvTWFrZWZpbGUKLS0tIHNyYy9saWIvbGliYXN0L01ha2Vm
> aWxlCTIwMTItMDUtMzEgMjI6NDI6NTYuMDAwMDAwMDAwICswMjAwCisrKyBzcmMvbGliL2xpYmFz
> dC9NYWtlZmlsZQkyMDEyLTA3LTI0IDE0OjQ1OjUxLjQ1MjI1NjUxMCArMDIwMApAQCAtNzEsNyAr
> NzEsNyBAQAogCXN0cmFjbXAuYyBzdHJuYWNtcC5jIFwKIAljY21hcC5jIGNjbWFwaWQuYyBjY25h
> dGl2ZS5jIFwKIAljaHJlc2MuYyBjaHJ0b2kuYyBzdHJldmFsLmMgc3RyZXhwci5jIHN0cm1hdGNo
> LmMgc3RyY29weS5jIFwKLQltb2RlbGliLmggbW9kZWkuYyBtb2RleC5jIHN0cm1vZGUuYyBcCisJ
> bW9kZWxpYi5oIG1vZGVpLmMgbW9kZXguYyBzdHBjcHkuYyBzdHBuY3B5LmMgc3RybW9kZS5jIFwK
> IAlzdHJsY2F0LmMgc3RybGNweS5jIHN0cmxvb2suYyBzdHJuY29weS5jIHN0cnNlYXJjaC5jIHN0
> cnBzZWFyY2guYyBcCiAJc3RyZXNjLmMgc3Ryb3B0LmMgc3RydGFwZS5jIHN0cnBjbXAuYyBzdHJu
> cGNtcC5jIHN0cnZjbXAuYyBzdHJudmNtcC5jIFwKIAl0b2suYyB0b2tsaW5lLmMgdG9rc2Nhbi5j
> IFwKZGlmZiAtciAtdSAtTiBvcmlnaW5hbC9zcmMvbGliL2xpYmFzdC9NYW1maWxlIGJ1aWxkX3N0
> cGNweS8vc3JjL2xpYi9saWJhc3QvTWFtZmlsZQotLS0gc3JjL2xpYi9saWJhc3QvTWFtZmlsZQky
> MDEyLTA2LTMwIDAxOjU1OjI1LjAwMDAwMDAwMCArMDIwMAorKysgc3JjL2xpYi9saWJhc3QvTWFt
> ZmlsZQkyMDEyLTA3LTI0IDE0OjQ2OjIzLjYwMTc5MDIwMiArMDIwMApAQCAtNzMxLDYgKzczMSwy
> NCBAQAogcHJldiBzdHJpbmcvY2hydG9pLmMKIGV4ZWMgLSAke0NDfSAke21hbV9jY19GTEFHU30g
> JHtDQ0ZMQUdTfSAtSS4gLUljb21wIC1JaW5jbHVkZSAtSXN0ZCAtRF9QQUNLQUdFX2FzdCAtYyBz
> dHJpbmcvY2hydG9pLmMKIGRvbmUgY2hydG9pLm8gZ2VuZXJhdGVkCittYWtlIHN0cGNweS5vCitt
> YWtlIHN0cmluZy9zdHBjcHkuYworcHJldiBhc3RfbWFwLmggaW1wbGljaXQKK3ByZXYgaW5jbHVk
> ZS9hc3QuaCBpbXBsaWNpdAorZG9uZSBzdHJpbmcvc3RwY3B5LmMKK21ldGEgc3RwY3B5Lm8gJS5j
> PiUubyBzdHJpbmcvc3RwY3B5LmMgc3RwY3B5CitwcmV2IHN0cmluZy9zdHBjcHkuYworZXhlYyAt
> ICR7Q0N9ICR7bWFtX2NjX0ZMQUdTfSAke0NDRkxBR1N9IC1JLiAtSWNvbXAgLUlpbmNsdWRlIC1J
> c3RkIC1EX1BBQ0tBR0VfYXN0IC1jIHN0cmluZy9zdHBjcHkuYworZG9uZSBzdHBjcHkubyBnZW5l
> cmF0ZWQKK21ha2Ugc3RwbmNweS5vCittYWtlIHN0cmluZy9zdHBuY3B5LmMKK3ByZXYgYXN0X21h
> cC5oIGltcGxpY2l0CitwcmV2IGluY2x1ZGUvYXN0LmggaW1wbGljaXQKK2RvbmUgc3RyaW5nL3N0
> cG5jcHkuYworbWV0YSBzdHBuY3B5Lm8gJS5jPiUubyBzdHJpbmcvc3RwbmNweS5jIHN0cG5jcHkK
> K3ByZXYgc3RyaW5nL3N0cG5jcHkuYworZXhlYyAtICR7Q0N9ICR7bWFtX2NjX0ZMQUdTfSAke0ND
> RkxBR1N9IC1JLiAtSWNvbXAgLUlpbmNsdWRlIC1Jc3RkIC1EX1BBQ0tBR0VfYXN0IC1jIHN0cmlu
> Zy9zdHBuY3B5LmMKK2RvbmUgc3RwbmNweS5vIGdlbmVyYXRlZAogbWFrZSBzdHJldmFsLm8KIG1h
> a2Ugc3RyaW5nL3N0cmV2YWwuYwogcHJldiBpbmNsdWRlL2FzdC5oIGltcGxpY2l0CkBAIC04MDQs
> NiArODIyLDcgQEAKIHByZXYgc3RyaW5nL3N0cmxjYXQuYwogZXhlYyAtICR7Q0N9ICR7bWFtX2Nj
> X0ZMQUdTfSAke0NDRkxBR1N9IC1JLiAtSWNvbXAgLUlpbmNsdWRlIC1Jc3RkIC1EX1BBQ0tBR0Vf
> YXN0IC1jIHN0cmluZy9zdHJsY2F0LmMKIGRvbmUgc3RybGNhdC5vIGdlbmVyYXRlZAorCiBtYWtl
> IHN0cmxjcHkubwogbWFrZSBzdHJpbmcvc3RybGNweS5jCiBwcmV2IGFzdF9tYXAuaCBpbXBsaWNp
> dApAQCAtODEzLDYgKzgzMiw3IEBACiBwcmV2IHN0cmluZy9zdHJsY3B5LmMKIGV4ZWMgLSAke0ND
> fSAke21hbV9jY19GTEFHU30gJHtDQ0ZMQUdTfSAtSS4gLUljb21wIC1JaW5jbHVkZSAtSXN0ZCAt
> RF9QQUNLQUdFX2FzdCAtYyBzdHJpbmcvc3RybGNweS5jCiBkb25lIHN0cmxjcHkubyBnZW5lcmF0
> ZWQKKwogbWFrZSBzdHJsb29rLm8KIG1ha2Ugc3RyaW5nL3N0cmxvb2suYwogcHJldiBpbmNsdWRl
> L2FzdC5oIGltcGxpY2l0CkBAIC02MDk4LDcgKzYxMTgsNyBAQAogZXhlYyAtICR7Q0N9ICR7bWFt
> X2NjX0ZMQUdTfSAke0NDRkxBR1N9IC1JLiAtSWNvbXAgLUlpbmNsdWRlIC1Jc3RkIC1EX1BBQ0tB
> R0VfYXN0IC1jIG9ic29sZXRlL3NwYXduLmMKIGRvbmUgc3Bhd24ubyBnZW5lcmF0ZWQKIGV4ZWMg
> LSAke0FSfSByYyBsaWJhc3QuYSBzdGF0ZS5vIHRyYW5zaXRpb24ubyBvcGVuZGlyLm8gcmVhZGRp
> ci5vIHJld2luZGRpci5vIHNlZWtkaXIubyB0ZWxsZGlyLm8gZ2V0Y3dkLm8gZmFzdGZpbmQubyBo
> YXNoYWxsb2MubyBoYXNoZHVtcC5vIGhhc2hmcmVlLm8gaGFzaGxhc3QubyBoYXNobG9vay5vIGhh
> c2hzY2FuLm8gaGFzaHNpemUubyBoYXNodmlldy5vIGhhc2h3YWxrLm8gbWVtaGFzaC5vIG1lbXN1
> bS5vIHN0cmhhc2gubyBzdHJrZXkubyBzdHJzdW0ubyBzdHJhY21wLm8gc3RybmFjbXAubyBjY21h
> cC5vIGNjbWFwaWQubyBjY25hdGl2ZS5vIGNocmVzYy5vIGNocnRvaS5vCi1leGVjIC0gJHtBUn0g
> cmMgbGliYXN0LmEgc3RyZXZhbC5vIHN0cmV4cHIubyBzdHJtYXRjaC5vIHN0cmNvcHkubyBtb2Rl
> aS5vIG1vZGV4Lm8gc3RybW9kZS5vIHN0cmxjYXQubyBzdHJsY3B5Lm8gc3RybG9vay5vIHN0cm5j
> b3B5Lm8gc3Ryc2VhcmNoLm8gc3RycHNlYXJjaC5vIHN0cmVzYy5vIHN0cm9wdC5vIHN0cnRhcGUu
> byBzdHJwY21wLm8gc3RybnBjbXAubyBzdHJ2Y21wLm8gc3RybnZjbXAubyB0b2subyB0b2tsaW5l
> Lm8gdG9rc2Nhbi5vIHBhdGhhY2Nlc3MubyBwYXRoY2F0Lm8gcGF0aGNhbm9uLm8gcGF0aGNoZWNr
> Lm8gcGF0aHBhdGgubyBwYXRoZXhpc3RzLm8gcGF0aGZpbmQubyBwYXRoa2V5Lm8gcGF0aHByb2Jl
> Lm8gcGF0aHJlcGwubyBwYXRobmF0aXZlLm8gcGF0aHBvc2l4Lm8gcGF0aHRlbXAubyBwYXRodG1w
> Lm8gcGF0aHN0YXQubyBwYXRoZ2V0bGluay5vIHBhdGhzZXRsaW5rLm8gcGF0aGJpbi5vIHBhdGhz
> aGVsbC5vIHBhdGhjZC5vIHBhdGhwcm9nLm8gZnMzZC5vIGZ0d2Fsay5vIGZ0d2ZsYWdzLm8gZnRz
> Lm8gYXN0aW50ZXJjZXB0Lm8gY29uZm9ybWFuY2UubyBnZXRlbnYubyBzZXRlbnZpcm9uLm8gb3B0
> Z2V0Lm8gb3B0am9pbi5vIG9wdGVzYy5vIG9wdGN0eC5vIHN0cnNvcnQubyBzdHJ1bmlxLm8gbWFn
> aWMubyBtaW1lLm8gbWltZXR5cGUubyBzaWduYWwubyBzaWdmbGFnLm8gc3lzdHJhY2UubyBlcnJv
> ci5vIGVycm9yZi5vIGVycm9ybXNnLm8gZXJyb3J4Lm8gbG9jYWxlY29udi5vIHNldGxvY2FsZS5v
> IHRyYW5zbGF0ZS5vIGNhdG9wZW4ubyBpY29udi5vIGxjLm8gbGN0YWIubyBtYy5vIGJhc2U2NC5v
> IHJlY2ZtdC5vIHJlY3N0ci5vIHJlY2xlbi5vIGZtdHJlYy5vIGZtdGJhc2UubyBmbXRidWYubyBm
> bXRjbG9jay5vIGZtdGRldi5vIGZtdGVsYXBzZWQubyBmbXRlcnJvci5vIGZtdGVzYy5vIGZtdGZt
> dC5vIGZtdGZzLm8gZm10aWRlbnQubyBmbXRpbnQubyBmbXRpcDQubyBmbXRpcDYubyBmbXRscy5v
> IGZtdG1hdGNoLm8gZm10bW9kZS5vIGZtdG51bS5vIGZtdHBlcm0ubyBmbXRyZS5vIGZtdHRpbWUu
> bworZXhlYyAtICR7QVJ9IHJjIGxpYmFzdC5hIHN0cmV2YWwubyBzdHJleHByLm8gc3RybWF0Y2gu
> byBzdHJjb3B5Lm8gbW9kZWkubyBtb2RleC5vIHN0cGNweS5vIHN0cm1vZGUubyBzdHJsY2F0Lm8g
> c3RybGNweS5vIHN0cmxvb2subyBzdHJuY29weS5vIHN0cnNlYXJjaC5vIHN0cnBzZWFyY2gubyBz
> dHJlc2MubyBzdHJvcHQubyBzdHJ0YXBlLm8gc3RycGNtcC5vIHN0cm5wY21wLm8gc3RydmNtcC5v
> IHN0cm52Y21wLm8gdG9rLm8gdG9rbGluZS5vIHRva3NjYW4ubyBwYXRoYWNjZXNzLm8gcGF0aGNh
> dC5vIHBhdGhjYW5vbi5vIHBhdGhjaGVjay5vIHBhdGhwYXRoLm8gcGF0aGV4aXN0cy5vIHBhdGhm
> aW5kLm8gcGF0aGtleS5vIHBhdGhwcm9iZS5vIHBhdGhyZXBsLm8gcGF0aG5hdGl2ZS5vIHBhdGhw
> b3NpeC5vIHBhdGh0ZW1wLm8gcGF0aHRtcC5vIHBhdGhzdGF0Lm8gcGF0aGdldGxpbmsubyBwYXRo
> c2V0bGluay5vIHBhdGhiaW4ubyBwYXRoc2hlbGwubyBwYXRoY2QubyBwYXRocHJvZy5vIGZzM2Qu
> byBmdHdhbGsubyBmdHdmbGFncy5vIGZ0cy5vIGFzdGludGVyY2VwdC5vIGNvbmZvcm1hbmNlLm8g
> Z2V0ZW52Lm8gc2V0ZW52aXJvbi5vIG9wdGdldC5vIG9wdGpvaW4ubyBvcHRlc2MubyBvcHRjdHgu
> byBzdHJzb3J0Lm8gc3RydW5pcS5vIG1hZ2ljLm8gbWltZS5vIG1pbWV0eXBlLm8gc2lnbmFsLm8g
> c2lnZmxhZy5vIHN5c3RyYWNlLm8gZXJyb3IubyBlcnJvcmYubyBlcnJvcm1zZy5vIGVycm9yeC5v
> IGxvY2FsZWNvbnYubyBzZXRsb2NhbGUubyB0cmFuc2xhdGUubyBjYXRvcGVuLm8gaWNvbnYubyBs
> Yy5vIGxjdGFiLm8gbWMubyBiYXNlNjQubyByZWNmbXQubyByZWNzdHIubyByZWNsZW4ubyBmbXRy
> ZWMubyBmbXRiYXNlLm8gZm10YnVmLm8gZm10Y2xvY2subyBmbXRkZXYubyBmbXRlbGFwc2VkLm8g
> Zm10ZXJyb3IubyBmbXRlc2MubyBmbXRmbXQubyBmbXRmcy5vIGZtdGlkZW50Lm8gZm10aW50Lm8g
> Zm10aXA0Lm8gZm10aXA2Lm8gZm10bHMubyBmbXRtYXRjaC5vIGZtdG1vZGUubyBmbXRudW0ubyBm
> bXRwZXJtLm8gZm10cmUubyBmbXR0aW1lLm8KIGV4ZWMgLSAke0FSfSByYyBsaWJhc3QuYSBmbXR1
> aWQubyBmbXRnaWQubyBmbXRzaWduYWwubyBmbXRzY2FsZS5vIGZtdHRteC5vIGZtdHR2Lm8gZm10
> dmVyc2lvbi5vIHN0cmVsYXBzZWQubyBzdHJwZXJtLm8gc3RydWlkLm8gc3RyZ2lkLm8gc3RydG9p
> cDQubyBzdHJ0b2lwNi5vIHN0YWNrLm8gc3RrLm8gc3dhcGdldC5vIHN3YXBtZW0ubyBzd2Fwb3Au
> byBzd2FwcHV0Lm8gc2lnZGF0YS5vIHNpZ2NyaXQubyBzaWd1bmJsb2NrLm8gcHJvY29wZW4ubyBw
> cm9jY2xvc2UubyBwcm9jcnVuLm8gcHJvY2ZyZWUubyB0bWRhdGUubyB0bWVxdWl2Lm8gdG1maXgu
> byB0bWZtdC5vIHRtZm9ybS5vIHRtZ29mZi5vIHRtaW5pdC5vIHRtbGVhcC5vIHRtbGV4Lm8gdG1s
> b2NhbGUubyB0bW1ha2UubyB0bXBvZmYubyB0bXNjYW4ubyB0bXNsZWVwLm8gdG10aW1lLm8gdG10
> eXBlLm8gdG13ZWVrLm8gdG13b3JkLm8gdG16b25lLm8gdG14ZGF0ZS5vIHRteGR1cmF0aW9uLm8g
> dG14Zm10Lm8gdG14Z2V0dGltZS5vIHRteGxlYXAubyB0bXhtYWtlLm8gdG14c2Nhbi5vIHRteHNl
> dHRpbWUubyB0bXhzbGVlcC5vIHRteHRpbWUubyB0bXh0b3VjaC5vIHR2Y21wLm8gdHZnZXR0aW1l
> Lm8gdHZzZXR0aW1lLm8gdHZzbGVlcC5vIHR2dG91Y2gubyBjbWRhcmcubyB2ZWNhcmdzLm8gdmVj
> ZmlsZS5vIHZlY2ZyZWUubyB2ZWNsb2FkLm8gdmVjc3RyaW5nLm8gdW5pdmRhdGEubyB0b3VjaC5v
> IG1udC5vIGRlYnVnLm8gbWVtY2NweS5vIG1lbWNoci5vIG1lbWNtcC5vIG1lbWNweS5vIG1lbWR1
> cC5vIG1lbW1vdmUubyBtZW1zZXQubyBta2Rpci5vIG1rZmlmby5vIG1rbm9kLm8gcm1kaXIubyBy
> ZW1vdmUubyByZW5hbWUubyBsaW5rLm8gdW5saW5rLm8gc3RyZHVwLm8gc3RyY2hyLm8gc3RycmNo
> ci5vIHN0cnN0ci5vIHN0cnRvZC5vIHN0cnRvbGQubyBzdHJ0b2wubyBzdHJ0b2xsLm8gc3RydG91
> bC5vIHN0cnRvdWxsLm8gc3RydG9uLm8gc3RydG9ubGwubyBzdHJudG9kLm8gc3RybnRvbGQubyBz
> dHJudG9uLm8KIGV4ZWMgLSAke0FSfSByYyBsaWJhc3QuYSBzdHJudG9ubGwubyBzdHJudG9sLm8g
> c3RybnRvbGwubyBzdHJudG91bC5vIHN0cm50b3VsbC5vIHN0cmNhc2VjbXAubyBzdHJuY2FzZWNt
> cC5vIHN0cmVycm9yLm8gbWt0ZW1wLm8gdG1wbmFtLm8gZnN5bmMubyBleGVjbHAubyBleGVjdmUu
> byBleGVjdnAubyBleGVjdnBlLm8gc3Bhd252ZWcubyB2Zm9yay5vIGtpbGxwZy5vIGhzZWFyY2gu
> byB0c2VhcmNoLm8gZ2V0bG9naW4ubyBwdXRlbnYubyBzZXRlbnYubyB1bnNldGVudi5vIGxzdGF0
> Lm8gc3RhdHZmcy5vIGVhY2Nlc3MubyBncm9zcy5vIG9taXR0ZWQubyByZWFkbGluay5vIHN5bWxp
> bmsubyBnZXRwZ3JwLm8gc2V0cGdpZC5vIHNldHNpZC5vIHdhaXRwaWQubyBjcmVhdDY0Lm8gZmNu
> dGwubyBvcGVuLm8gYXRleGl0Lm8gZ2V0ZGVudHMubyBnZXR3ZC5vIGR1cDIubyBlcnJuby5vIGdl
> dHByZXJvb3QubyBpc3ByZXJvb3QubyByZWFsb3Blbi5vIHNldHByZXJvb3QubyBnZXRncm91cHMu
> byBtb3VudC5vIHN5c3RlbS5vIGlibG9ja3MubyBtb2RlZGF0YS5vIHRtZGF0YS5vIG1lbWZhdGFs
> Lm8gc2ZrZXlwcmludGYubyBzZmRjZGlvLm8gc2ZkY2Rvcy5vIHNmZGNmaWx0ZXIubyBzZmRjc2Vl
> a2FibGUubyBzZmRjc2xvdy5vIHNmZGNzdWJzdHIubyBzZmRjdGVlLm8gc2ZkY3VuaW9uLm8gc2Zk
> Y21vcmUubyBzZmRjcHJlZml4Lm8gd2MubyB3YzJ1dGY4Lm8gYmFzZW5hbWUubyBjbG9zZWxvZy5v
> IGRpcm5hbWUubyBmbXRtc2dsaWIubyBmbm1hdGNoLm8gZnR3Lm8gZ2V0ZGF0ZS5vIGdldHN1Ym9w
> dC5vIGdsb2IubyBuZnR3Lm8gb3BlbmxvZy5vIHJlX2NvbXAubyByZXNvbHZlcGF0aC5vIHJlYWxw
> YXRoLm8gcmVnY21wLm8gcmVnZXhwLm8gc2V0bG9nbWFzay5vIHN0cmZ0aW1lLm8gc3RycHRpbWUu
> byBzd2FiLm8gc3lzbG9nLm8gdGVtcG5hbS5vIHdvcmRleHAubyBta3RpbWUubyByZWdhbGxvYy5v
> IHJlZ2NsYXNzLm8gcmVnY29sbC5vIHJlZ2NvbXAubyByZWdjYWNoZS5vIHJlZ2RlY29tcC5vIHJl
> Z2Vycm9yLm8gcmVnZXhlYy5vIHJlZ2ZhdGFsLm8gcmVnaW5pdC5vCiBleGVjIC0gJHtBUn0gcmMg
> bGliYXN0LmEgcmVnbmV4ZWMubyByZWdzdWJjb21wLm8gcmVnc3ViZXhlYy5vIHJlZ3N1Yi5vIHJl
> Z3JlY29yZC5vIHJlZ3JleGVjLm8gcmVnc3RhdC5vIGR0Y2xvc2UubyBkdGRpc2MubyBkdGhhc2gu
> byBkdGxpc3QubyBkdG1ldGhvZC5vIGR0b3Blbi5vIGR0c3RyaGFzaC5vIGR0dHJlZS5vIGR0dmll
> dy5vIGR0d2Fsay5vIGR0bmV3Lm8gZHRjb21wLm8gc2ZjbG9zZS5vIHNmY2xybG9jay5vIHNmZGlz
> Yy5vIHNmZGxlbi5vIHNmZXhjZXB0Lm8gc2ZnZXRsLm8gc2ZnZXR1Lm8gc2ZjdnQubyBzZmVjdnQu
> byBzZmZjdnQubyBzZmV4dGVybi5vIHNmZmlsYnVmLm8gc2ZmbHNidWYubyBzZnByaW50cy5vIHNm
> Z2V0ZC5vIHNmZ2V0ci5vIHNmbGxlbi5vIHNmbW9kZS5vIHNmbW92ZS5vIHNmbmV3Lm8gc2Zwa3Jk
> Lm8gc2Zub3RpZnkubyBzZm5wdXRjLm8gc2ZvcGVuLm8gc2ZwZWVrLm8gc2Zwb2xsLm8gc2Zwb29s
> Lm8gc2Zwb3Blbi5vIHNmcHJpbnRmLm8gc2ZwdXRkLm8gc2ZwdXRsLm8gc2ZwdXRyLm8gc2ZwdXR1
> Lm8gc2ZyZC5vIHNmcmVhZC5vIHNmcmVzZXJ2ZS5vIHNmc2NhbmYubyBzZnNlZWsubyBzZnNldC5v
> IHNmc2V0YnVmLm8gc2ZzZXRmZC5vIHNmc2l6ZS5vIHNmc2subyBzZnN0YWNrLm8gc2ZzdHJ0b2Qu
> byBzZnN5bmMubyBzZnN3YXAubyBzZnRhYmxlLm8gc2Z0ZWxsLm8gc2Z0bXAubyBzZnVuZ2V0Yy5v
> IHNmdnByaW50Zi5vIHNmdnNjYW5mLm8gc2Z3ci5vIHNmd3JpdGUubyBzZnB1cmdlLm8gc2ZyYWlz
> ZS5vIHNmd2Fsay5vIHNmZ2V0bS5vIHNmbXV0ZXgubyBzZnB1dG0ubyBzZnJlc2l6ZS5vIF9zZmNs
> cmVyci5vIF9zZmVvZi5vIF9zZmVycm9yLm8gX3NmZmlsZW5vLm8gX3Nmb3Blbi5vIF9zZnN0YWNr
> ZWQubyBfc2Z2YWx1ZS5vIF9zZmdldGMubyBfc2ZnZXRsLm8gX3NmZ2V0bDIubyBfc2ZnZXR1Lm8g
> X3NmZ2V0dTIubyBfc2ZkbGVuLm8gX3NmbGxlbi5vIF9zZnNsZW4ubyBfc2Z1bGVuLm8gX3NmcHV0
> Yy5vIF9zZnB1dGQubyBfc2ZwdXRsLm8gX3NmcHV0bS5vCmRpZmYgLXIgLXUgLU4gb3JpZ2luYWwv
> c3JjL2xpYi9saWJhc3Qvc3RyaW5nL3N0cGNweS5jIGJ1aWxkX3N0cGNweS8vc3JjL2xpYi9saWJh
> c3Qvc3RyaW5nL3N0cGNweS5jCi0tLSBzcmMvbGliL2xpYmFzdC9zdHJpbmcvc3RwY3B5LmMJMTk3
> MC0wMS0wMSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIHNyYy9saWIvbGliYXN0L3N0cmlu
> Zy9zdHBjcHkuYwkyMDEyLTA3LTI0IDE0OjIzOjE5LjIzODU5Nzg3NyArMDIwMApAQCAtMCwwICsx
> LDU5IEBACisvKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
> KioqKioqKioqKioqKioqKioqKioqKioKKyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorKiAgICAgICAgICAgICAg
> IFRoaXMgc29mdHdhcmUgaXMgcGFydCBvZiB0aGUgYXN0IHBhY2thZ2UgICAgICAgICAgICAgICAq
> CisqICAgICAgICAgICAgIENvcHlyaWdodCAoYykgMjAxMiBBVCZUIEludGVsbGVjdHVhbCBQcm9w
> ZXJ0eSAgICAgICAgICAgICoKKyogICAgICAgICAgICAgICAgICAgICAgYW5kIGlzIGxpY2Vuc2Vk
> IHVuZGVyIHRoZSAgICAgICAgICAgICAgICAgICAgICAgKgorKiAgICAgICAgICAgICAgICAgRWNs
> aXBzZSBQdWJsaWMgTGljZW5zZSwgVmVyc2lvbiAxLjAgICAgICAgICAgICAgICAgICAqCisqICAg
> ICAgICAgICAgICAgICAgICBieSBBVCZUIEludGVsbGVjdHVhbCBQcm9wZXJ0eSAgICAgICAgICAg
> ICAgICAgICAgICoKKyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorKiAgICAgICAgICAgICAgICBBIGNvcHkgb2Yg
> dGhlIExpY2Vuc2UgaXMgYXZhaWxhYmxlIGF0ICAgICAgICAgICAgICAgICAqCisqICAgICAgICAg
> IGh0dHA6Ly93d3cuZWNsaXBzZS5vcmcvb3JnL2RvY3VtZW50cy9lcGwtdjEwLmh0bWwgICAgICAg
> ICAgICoKKyogICAgICAgICAod2l0aCBtZDUgY2hlY2tzdW0gYjM1YWRiNTIxM2NhOTY1N2U5MTFl
> OWJlZmIxODA4NDIpICAgICAgICAgKgorKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisqICAgICAgICAgICAgICBJ
> bmZvcm1hdGlvbiBhbmQgU29mdHdhcmUgU3lzdGVtcyBSZXNlYXJjaCAgICAgICAgICAgICAgICoK
> KyogICAgICAgICAgICAgICAgICAgICAgICAgICAgQVQmVCBSZXNlYXJjaCAgICAgICAgICAgICAg
> ICAgICAgICAgICAgICAgKgorKiAgICAgICAgICAgICAgICAgICAgICAgICAgIEZsb3JoYW0gUGFy
> ayBOSiAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisqICAgICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyogICAg
> ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgKgorKiAgICAgICAgICAgICAgICAgUm9sYW5kIE1haW56IDxyb2xhbmQubWFpbnpA
> bnJ1YnNpZy5vcmc+ICAgICAgICAgICAgICAqCisqICAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyoqKioqKioqKioq
> KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
> KioqLworI3ByYWdtYSBwcm90b3R5cGVkCisvKgorICogc3RwY3B5IGltcGxlbWVudGF0aW9uCisg
> Ki8KKworI2RlZmluZSBzdHBjcHkJCV9fX19fX3N0cGNweQorCisjaW5jbHVkZSA8YXN0Lmg+CisK
> KyN1bmRlZglzdHBjcHkKKworI3VuZGVmCV9kZWZfbWFwX2FzdAorI2luY2x1ZGUgPGFzdF9tYXAu
> aD4KKworI2lmIF9saWJfc3RwY3B5CisKK05vTihzdHBjcHkpCisKKyNlbHNlCisKKyNpZiBkZWZp
> bmVkKF9fRVhQT1JUX18pCisjZGVmaW5lIGV4dGVybglfX0VYUE9SVF9fCisjZW5kaWYKKworLyoK
> KyAqIHxzdHBjcHl8IC0gbGlrZSB8c3RyY3B5KCl8IGJ1dCByZXR1cm5zIHRoZSBlbmQgb2YgdGhl
> IGJ1ZmZlcgorICoKKyAqIENvcHkgc3RyaW5nIHMyIHRvIHMxLiAgczEgbXVzdCBiZSBsYXJnZSBl
> bm91Z2guCisgKiByZXR1cm4gczEtMSAocG9zaXRpb24gb2Ygc3RyaW5nIHRlcm1pbmF0b3IgKCdc
> MCcpIGluCisgKiBkZXN0aW5hdGlvbiBidWZmZXIpLgorICovCitjaGFyICpzdHBjcHkoY2hhciAq
> czEsIGNvbnN0IGNoYXIgKnMyKQoreworCXdoaWxlICgqczErKyA9ICpzMisrKQorCQk7CisJcmV0
> dXJuIChzMS0xKTsKK30KKworI2VuZGlmCmRpZmYgLXIgLXUgLU4gb3JpZ2luYWwvc3JjL2xpYi9s
> aWJhc3Qvc3RyaW5nL3N0cG5jcHkuYyBidWlsZF9zdHBjcHkvL3NyYy9saWIvbGliYXN0L3N0cmlu
> Zy9zdHBuY3B5LmMKLS0tIHNyYy9saWIvbGliYXN0L3N0cmluZy9zdHBuY3B5LmMJMTk3MC0wMS0w
> MSAwMTowMDowMC4wMDAwMDAwMDAgKzAxMDAKKysrIHNyYy9saWIvbGliYXN0L3N0cmluZy9zdHBu
> Y3B5LmMJMjAxMi0wNy0yNCAxNDo0ODoxMC40Mzc3MjAyNTMgKzAyMDAKQEAgLTAsMCArMSw2NSBA
> QAorLyoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioq
> KioqKioqKioqKioqKioqKioqCisqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICoKKyogICAgICAgICAgICAgICBUaGlz
> IHNvZnR3YXJlIGlzIHBhcnQgb2YgdGhlIGFzdCBwYWNrYWdlICAgICAgICAgICAgICAgKgorKiAg
> ICAgICAgICAgICBDb3B5cmlnaHQgKGMpIDIwMTIgQVQmVCBJbnRlbGxlY3R1YWwgUHJvcGVydHkg
> ICAgICAgICAgICAqCisqICAgICAgICAgICAgICAgICAgICAgIGFuZCBpcyBsaWNlbnNlZCB1bmRl
> ciB0aGUgICAgICAgICAgICAgICAgICAgICAgICoKKyogICAgICAgICAgICAgICAgIEVjbGlwc2Ug
> UHVibGljIExpY2Vuc2UsIFZlcnNpb24gMS4wICAgICAgICAgICAgICAgICAgKgorKiAgICAgICAg
> ICAgICAgICAgICAgYnkgQVQmVCBJbnRlbGxlY3R1YWwgUHJvcGVydHkgICAgICAgICAgICAgICAg
> ICAgICAqCisqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgICAgICAgICAgICAgICoKKyogICAgICAgICAgICAgICAgQSBjb3B5IG9mIHRoZSBM
> aWNlbnNlIGlzIGF2YWlsYWJsZSBhdCAgICAgICAgICAgICAgICAgKgorKiAgICAgICAgICBodHRw
> Oi8vd3d3LmVjbGlwc2Uub3JnL29yZy9kb2N1bWVudHMvZXBsLXYxMC5odG1sICAgICAgICAgICAq
> CisqICAgICAgICAgKHdpdGggbWQ1IGNoZWNrc3VtIGIzNWFkYjUyMTNjYTk2NTdlOTExZTliZWZi
> MTgwODQyKSAgICAgICAgICoKKyogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorKiAgICAgICAgICAgICAgSW5mb3Jt
> YXRpb24gYW5kIFNvZnR3YXJlIFN5c3RlbXMgUmVzZWFyY2ggICAgICAgICAgICAgICAqCisqICAg
> ICAgICAgICAgICAgICAgICAgICAgICAgIEFUJlQgUmVzZWFyY2ggICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgICoKKyogICAgICAgICAgICAgICAgICAgICAgICAgICBGbG9yaGFtIFBhcmsgTkog
> ICAgICAgICAgICAgICAgICAgICAgICAgICAgKgorKiAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisqICAgICAgICAg
> ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICoKKyogICAgICAgICAgICAgICAgIFJvbGFuZCBNYWlueiA8cm9sYW5kLm1haW56QG5ydWJz
> aWcub3JnPiAgICAgICAgICAgICAgKgorKiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
> ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAqCisqKioqKioqKioqKioqKioq
> KioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKi8K
> KyNwcmFnbWEgcHJvdG90eXBlZAorLyoKKyAqIHN0cG5jcHkgaW1wbGVtZW50YXRpb24KKyAqLwor
> CisjZGVmaW5lIHN0cG5jcHkJCV9fX19fX3N0cG5jcHkKKworI2luY2x1ZGUgPGFzdC5oPgorCisj
> dW5kZWYJc3RwbmNweQorCisjdW5kZWYJX2RlZl9tYXBfYXN0CisjaW5jbHVkZSA8YXN0X21hcC5o
> PgorCisjaWYgX2xpYl9zdHBuY3B5CisKK05vTihzdHBuY3B5KQorCisjZWxzZQorCisjaWYgZGVm
> aW5lZChfX0VYUE9SVF9fKQorI2RlZmluZSBleHRlcm4JX19FWFBPUlRfXworI2VuZGlmCisKKwor
> LyoKKyAqIHxzdHBuY3B5fCAtIGxpa2UgfHN0cm5jcHkoKXwgYnV0IHJldHVybnMgdGhlIGVuZCBv
> ZiB0aGUgYnVmZmVyCisgKgorICogQ29weSBzMiB0byBzMSwgdHJ1bmNhdGluZyBvciAnXDAnLXBh
> ZGRpbmcgdG8gYWx3YXlzIGNvcHkgbgorICogYnl0ZXMsIHJldHVybiBwb3NpdGlvbiBvZiBzdHJp
> bmcgdGVybWluYXRvciAoJ1wwJykgaW4KKyAqIGRlc3RpbmF0aW9uIGJ1ZmZlciBvciBpZiBzMSBp
> cyBub3QgJ1wwJy10ZXJtaW5hdGVkLCBzMStuLgorICoKKyAqIFNlZSBodHRwOi8vcHVicy5vcGVu
> Z3JvdXAub3JnL29ubGluZXB1YnMvOTY5OTkxOTc5OS9mdW5jdGlvbnMvc3RybmNweS5odG1sCisg
> Ki8KK2NoYXIgKgorc3RwbmNweShjaGFyICpzMSwgY29uc3QgY2hhciAqczIsIHNpemVfdCBuKQor
> eworCXJlZ2lzdGVyIHNpemVfdCBzdHJuX2xlbiA9IHN0cm5sZW4oczIsIG4pOworCisJc3RybmNw
> eShzMSwgczIsIG4pOworCisJcmV0dXJuIChzdHJuX2xlbiA8IG4pPyhzMSArIHN0cm5fbGVuKToo
> czErbik7Cit9CisKKyNlbmRpZgo=
> --f46d042f9bf07f40ca04c593f8e6--

_______________________________________________
ast-developers mailing list
ast-developers@research.att.com
https://mailman.research.att.com/mailman/listinfo/ast-developers

Reply via email to