<<< Date Index >>>     <<< Thread Index >>>

mutt/2169: See attachment for patch for various 1.5.10 problems.



>Number:         2169
>Notify-List:    
>Category:       mutt
>Synopsis:       See attachment for patch for various 1.5.10 problems.
>Confidential:   no
>Severity:       normal
>Priority:       medium
>Responsible:    mutt-dev
>State:          open
>Keywords:       
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Sat Jan 28 03:43:54 +0100 2006
>Originator:     Scott B. Marovich
>Release:        1.5.10
>Organization:
VMware, Inc.
>Environment:
Any.
>Description:
See attachment.
>How-To-Repeat:
>Fix:
Suggested patch is in attachment.
>Add-To-Audit-Trail:

>Unformatted:
 ----gnatsweb-attachment----
 Content-Type: application/octet-stream; name="patch"
 Content-Transfer-Encoding: base64
 Content-Disposition: attachment; filename="patch"
 
 RGVhciBmcmllbmRzLCBhdHRhY2hlZCBpcyBhICJwYXRjaCgxKSIgZmlsZSB0byByZXBhaXIgc2V2
 ZXJhbCBwcm9ibGVtcyB0aGF0IEkKcmVjZW50bHkgZm91bmQgaW4gTXV0dCBWZXJzaW9uIDEuNS4x
 MCwgd2hpY2ggeW91IG1pZ2h0IGxpa2UgdG8gaW5jb3Jwb3JhdGUgaW4gYQpmdXR1cmUgcmVsZWFz
 ZS4gIFRoaXMgbm90ZSBkZXNjcmliZXMgdGhlIGNoYW5nZXMuCgpCeSB3YXkgb2YgaW50cm9kdWN0
 aW9uIGFuZCBhIGdlbmVyYWwgZXhwbGFuYXRpb24sIGxldCBtZSBzYXkgdGhhdCBhZnRlciBtb3Jl
 CnRoYW4gMjAgeWVhcnMgb2Ygc2F0aXNmYWN0b3JpbHkgcmVhZGluZyBteSBFLW1haWwgKGluY2x1
 ZGluZyBNSU1FIGNvbnRlbnQpIG9uIGFuCkhQLVVYIHN5c3RlbSwgdXNpbmcgYSBzbGlnaHRseSBt
 b2RpZmllZCBCZXJrZWxleSAibWFpbHgoMSkiIHdpdGggYSBtdWNoLXJlcGFpcmVkCnBvcnQgb2Yg
 Im1ldGFtYWlsKDEpIiBWZXJzaW9uIDIuNywgSSByZWNlbnRseSBjaGFuZ2VkIGpvYnMgYW5kIG5l
 ZWRlZCB0byBydW4gYQpNVUEgb24gTGludXggdGhhdCBjb3VsZCBzcGVhayBJTUFQIHRvIGFuIE91
 dGxvb2sgRXhjaGFuZ2UgbWFpbCBzZXJ2ZXIsIHNvIEkKYmVjYW1lIGEgbmV3IE11dHQgdXNlci4g
 IEJ1dCBhZnRlciB0aG9yb3VnaGx5IHBlcnVzaW5nIGl0cyBkb2N1bWVudGF0aW9uIGFuZApleHRl
 bnNpdmVseSBjdXN0b21pemluZyBteSAiTXV0dHJjIiBmaWxlLCBhbmQgZGVzcGl0ZSBNdXR0J3Mg
 YXNwaXJhdGlvbiB0byBiZQoidGhlIHByZW1pZXIgdGV4dC1tb2RlIE1JTUUgTVVBIiAoTWljaGFl
 bCBFbGtpbnMsICJUaGUgTXV0dCBFLU1haWwgQ2xpZW50IiwKc2VjLiA1KSwgSSBmb3VuZCBzb21l
 IG9mIGl0cyBiZWhhdmlvciB0byBiZSBleHRyZW1lbHkgaXJyaXRhdGluZywgc28gSSBjaGFuZ2Vk
 CnRoZSBjb2RlLiAgSGVyZSBhcmUgbXkgaXNzdWVzIGFuZCBjaGFuZ2VzOgoKSSBmaXJzdCBmb3Vu
 ZCB0aGF0IGlmIEkgZW5hYmxlIHRoZSAiZWRpdF9oZWFkZXJzIiBvcHRpb24gYW5kIGVkaXQgYSBt
 ZXNzYWdlJ3MKIltiXWNjOiIgb3IgInRvOiIgaGVhZGVycyB0byBzcGVjaWZ5IGEgbGlzdCBvZiBs
 b2NhbCByZWNpcGllbnRzLCBzZXBhcmF0ZWQgYnkKd2hpdGUgc3BhY2UgKGEgY29tbW9uIFVOSVgg
 aWRpb20pLCBsaWtlOgoKICAgICBjYzogZm9vIGJhciBiYXoKCnRoZW4gZWl0aGVyIE11dHQgb3Ig
 bXkgc2l0ZSdzIE91dGxvb2sgRXhjaGFuZ2Ugc2VydmVyLS1JJ20gbm90IHN1cmUgd2hpY2gtLWJh
 ZGx5Cm1hbmdsZXMgdGhlIGxpbmUgYW5kIG1ha2VzIG1lc3NhZ2UgY29waWVzIHVuZGVsaXZlcmFi
 bGUuICBUaGUgbWFuZ2xpbmcgc2VlbWVkIHRvCmJlIHdvcnNlIGlmIHRoZSBsaXN0IGxpbmUgY29u
 dGFpbmVkIGxlYWRpbmctIG9yIHRyYWlsaW5nIHdoaXRlIHNwYWNlLCBhbmQgSQpmb3VuZCB0aHJv
 dWdoIGV4cGVyaW1lbnQgdGhhdCBhIENvbW1hLXNlcGFyYXRlZCBsaXN0LCBzdWNoIGFzOgoKICAg
 ICBjYzogZm9vLGJhcixiYXoKCndvcmtzIGZpbmUuICBCdXQgcmVtZW1iZXJpbmcgdG8gdHlwZSBD
 b21tYXMgaXMgdGVkaW91cywgc28gSSBjaGFuZ2VkIHRoZQoicGFyc2UuYyIgZmlsZSBzbyBhcyB0
 bzoKCjEuIEluICJtdXR0X3BhcnNlX2Fkcmxpc3QoKSIsIGF1dG9tYXRpY2FsbHkgaW5zZXJ0IENv
 bW1hcyBpZiBub25lIGFyZSBwcmVzZW50LAogICBhbmQgaGFuZGxlIGxlYWRpbmctLCB0cmFpbGlu
 Zy0sIGFuZCBpbnRlcnZlbmluZyB3aGl0ZSBzcGFjZSBtb3JlIHJpZ29yb3VzbHkKYmVmb3JlIGNh
 bGxpbmcgInJmYzgyMl9wYXJzZV9hZHJsaXN0KCkiLgoKMi4gSW4gIm11dHRfcGFyc2VfcmZjODIy
 X2xpbmUoKSIsIGNhbGwgIm11dHRfcGFyc2VfYWRybGlzdCgpIiBpbnN0ZWFkIG9mCiAgICJyZmM4
 MjJfcGFyc2VfYWRybGlzdCgpIiBpbiBvcmRlciB0byByZS1jYW5vbmljYWxpemUgYW55ICJbYXBw
 YXJlbnRseS1ddG86IgpvciAiW2JdY2M6IiBoZWFkZXIgdGhhdCBhIHVzZXIgbWlnaHQgaGF2ZSBl
 ZGl0ZWQuCgpNeSBvdGhlciBpc3N1ZXMgY29uY2VybiAiYXV0b3ZpZXciIG9mIE1JTUUgYXR0YWNo
 bWVudHMgdG8gcmVjZWl2ZWQgbWVzc2FnZXMuICBUbwpiZWdpbiwgdGhlICJyZmMxNTI0X21haWxj
 YXBfcGFyc2UoKSIgc3Vicm91dGluZSBpbiBmaWxlICJyZmMxNTI0LmMiIHJlZnVzZXMgdG8KYWxs
 b3cgdGhpcyB1bmxlc3Mgb25lJ3MgIm1haWxjYXAiIGVudHJ5IGZvciBhIGdpdmVuIE1JTUUgdHlw
 ZS9zdWJ0eXBlIHNwZWNpZmllcwoiY29waW91c291dHB1dCIuICBJIHRoaW5rIHRoYXQgdGhpcyBi
 ZWhhdmlvciByZXByZXNlbnRzIGEgbWlzcmVhZGluZyBvZiBSRkMKMTUyNCwgd2hpY2ggYWxzbyBk
 aWZmZXJzIGZyb20gdGhlIGJlaGF2aW9yIG9mICJtZXRhbWFpbCgxKSIuICBTaW5jZSBOYXRoYW5p
 ZWwKQm9yZW5zdGVpbiB3cm90ZSBib3RoICJtZXRhbWFpbCgxKSIgYW5kIHRoZSBSRkMsIEkgdGhp
 bmsgdGhhdCBoaXMgaW50ZXJwcmV0YXRpb24Kb2YgdGhlIGludGVuZGVkIHNlbWFudGljcyBzaG91
 bGQgYmUgY29uc2lkZXJlZCBhdXRob3JpdGF0aXZlOyBuYW1lbHksIGEgZGlzcGxheQpjb21tYW5k
 IHRoYXQgaW50ZW5kcyB0byBkdW1wIGVub3VnaCBvdXRwdXQgdG8gdGhlIHVzZXIncyBjb25zb2xl
 ICh3aW5kb3cpIHRvCndhcnJhbnQgYSBwYWdlciBzaG91bGQgc3BlY2lmeSAiY29waW91c291dHB1
 dCIsIGJ1dCBhIGRpc3BsYXkgY29tbWFuZCB0aGF0IHdpbGwKcG9wIHVwIGl0cyBvd24sIG5ldyB3
 aW5kb3cgKG9yIHVzZSBhbiBhdWRpbyBwbGF5ZXIsIGV0Yy4pIG5lZWQgbm90LS1hbmQgc2hvdWxk
 Cm5vdC0tc3BlY2lmeSAiY29waW91c291dHB1dCIuICBBbmQgaW4gbmVpdGhlciBjYXNlIHNob3Vs
 ZCBNdXR0IGZvcmJpZCBzdWNoCmNvbnRlbnQgZnJvbSBiZWluZyAiYXV0b3ZpZXciZWQhICAoR3Jy
 ciEpICBTbywgSSByZW1vdmVkIHRoZSAiY29waW91c291dHB1dCIKdGVzdCBmcm9tIHRoaXMgc3Vi
 cm91dGluZS4KCk5leHQsIEkgYmFzaWNhbGx5IGRvbid0IGxpa2UgTXV0dCdzIGRlZmF1bHQsIG1l
 bnUtYmFzZWQgc3RyYXRlZ3kgZm9yIGRpc3BsYXlpbmcKYXR0YWNobWVudHM7IEkgbXVjaCBwcmVm
 ZXIgdGhlICJtZXRhbWFpbCgxKSIgYXV0b21hdGljLWRpc3BsYXkgc3RyYXRlZ3ksIGluCndoaWNo
 IGl0IHNob3dzIGV2ZXJ5dGhpbmcgdGhhdCBvbmUncyAibWFpbGNhcCIgZmlsZSBhbGxvd3MgYW5k
 IHN1Y2Nlc3NpdmVseSBhc2tzCmEgdXNlcidzIHBlcm1pc3Npb24gZm9yIGVhY2ggYXR0YWNobWVu
 dC4gIEkgdGhlcmVmb3JlIGltcGxlbWVudGVkIHRoaXMgc3RyYXRlZ3kKYXMgYW4gb3B0aW9uIGlu
 IE11dHQ6CgoxLiBJbiAiaW5pdC5oIiwgY2hhbmdlICJpbXBsaWNpdF9hdXRvdmlldyIgZnJvbSBh
 IGJvb2xlYW4gb3B0aW9uIHRvIGEKICAgcXVhZG9wdGlvbiwgd2hvc2UgZGVmYXVsdCB2YWx1ZSBp
 cyAibm8iIGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5LgoKMi4gSW4gdGhlICJtdXR0X2lzX2F1
 dG92aWV3KCkiIHN1YnJvdXRpbmUgb2YgZmlsZSAiYXR0YWNoLmMiLCBzb2xpY2l0IGEgdXNlcidz
 CiAgIGlucHV0IHRvIGEgIkRpc3BsYXkgaXQ/IiBxdWVyeSBpZiB0aGUgIiRNTV9OT0FTSyIgZW52
 aXJvbm1lbnQgdmFyaWFibGUKZG9lc24ndCBwcm92aWRlIGFuIGFuc3dlciBhbmQgdGhlICJpbXBs
 aWNpdF9hdXRvdmlldyIgb3B0aW9uIGlzIGVpdGhlciAiYXNrLXllcyIKb3IgImFzay1ubyIuCgpJ
 bmNpZGVudGFsbHksIHNvbWUgcGVvcGxlcycgZW5oYW5jZWQgdmVyc2lvbnMgb2YgIm1ldGFtYWls
 KDEpIiBhbGxvdyBhIHRoaXJkCnBvc3NpYmxlIHJlc3BvbnNlLCB3aGljaCBJIGxpa2UgdmVyeSBt
 dWNoIGJ1dCBkb24ndCBrbm93IGhvdyB0byBlYXNpbHkgaW1wbGVtZW50CmluIE11dHQ6ICBPbmUg
 Y2FuIGludGVyYWN0aXZlbHkgYmFpbCBvdXQgb2YgZGlzcGxheWluZyBhIGxpc3Qgb2YgYXR0YWNo
 bWVudHMgYnkKcmVzcG9uZGluZyB0byBhIHF1ZXJ5IGluIHRoZSBmb3JtOgoKICAgICBEaXNwbGF5
 IGl0PyBxW3VpdF08RU9MPiAgKG9yICJ4IiwgZm9yICJleGl0IikKCkZpbmFsbHksIGxldCBtZSBj
 bG9zZSB3aXRoIGEgcGxlYSBmb3Igc29tZSBGQVEgZG9jdW1lbnRhdGlvbiBvbiBhbm90aGVyIHN1
 YmplY3Q6CkkgaGFwcGVuIHRvIGJlIGFuIG9sZGVyIHdvcmtlciB3aXRoIGEgc2xpZ2h0IHZpc3Vh
 bCBpbXBhaXJtZW50LCBhbmQgSSBsb2F0aGUKYXBwbGljYXRpb25zIHRoYXQgdXNlIGNvbG9yIEN1
 cnNlcyBiZWNhdXNlIEkgZmluZCB0aGUgY29sb3JzIHJhdGhlciBoYXJkIHRvCmRpc3Rpbmd1aXNo
 OyBJIG5lZWQgb2xkLWZhc2hpb25lZCBibGFjay1hbmQtd2hpdGUuICBJbiBvbmUncyAiTXV0dHJj
 IiBmaWxlIGl0CmlzIGNlcnRhaW5seSBwb3NzaWJsZSB0byBlc3RhYmxpc2ggYXBwcm9wcmlhdGUs
 IG5vbi1kZWZhdWx0IGNvbG9yIG1hcHBpbmdzLCBidXQKdGhlIG1lY2hhbmlzbSBpcyBjb21wbGlj
 YXRlZCBhbmQgbm90IGFsdG9nZXRoZXIgb2J2aW91cyBmcm9tIHRoZSBkb2N1bWVudGF0aW9uOwpt
 b3Jlb3ZlciwgSSBkaXNjb3ZlcmVkIHRoYXQgYW4gInh0ZXJtKDEpIiB3aW5kb3cgdW5kZXIgUmVk
 SGF0IExpbnV4IHNob3dzIHNvbWUKcmF0aGVyIHN0cmFuZ2UgZGVmYXVsdCBjb2xvcnMgKEkgZG9u
 J3QgdW5kZXJzdGFuZCB3aHksIG9yIHdoZXRoZXIgSSBjb3VsZCBjaGFuZ2UKdGhhdCBpbiBteSBY
 IFdpbmRvd3MgImFwcC1kZWZhdWx0cyIgZmlsZSk6IHdoaXRlIHdoZW4gSSB3b3VsZCBoYXZlIGV4
 cGVjdGVkCmJsYWNrLCBhbmQgInZpY2UgdmVyc2EiLiAgQ291bGQgeW91IHBsZWFzZSBhdWdtZW50
 IE11dHQncyBkb2N1bWVudGF0aW9uIHdpdGggYW4KKmV4YW1wbGUqLCBzaG93aW5nIGhvdyB0byBy
 ZXBsYWNlIGNvbG9yIHdpdGggZWl0aGVyIGEgYmxhY2stb24td2hpdGUgb3IKd2hpdGUtb24tYmxh
 Y2sgcGFsZXR0ZT8KCkFsbCBpbiBhbGwsIEkgZmluZCB0aGF0IE11dHQncyBub3QgYSBiYWQgTVVB
 LCBidXQgSSB0aGluayB0aGF0IGEgZmV3IGxpdHRsZQpjaGFuZ2VzIGxpa2UgdGhlc2UgY291bGQg
 bWFrZSBpdCBldmVuIG1vcmUgYXBwZWFsaW5nLgotLQpTY290dCBNYXJvdmljaCAgICAgICAgICAg
 ICAgICAgICAgICAgICAgICAgVk13YXJlLCBJbmMuCkUtbWFpbDogbWFyb3ZpY2hAdm13YXJlLmNv
 bSAgICAgICAgICAgICAgICAzMTQ1IFBvcnRlciBEcml2ZQpUZWwuICg2NTApNDc1LTUwMDAgeDUy
 Mi9GQVggKDY1MCk0NzUtNTAwNSAgUGFsbyBBbHRvLCBDYWxpZm9ybmlhIDk0MzA0IFUuUy5BLgoK
 LSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAt
 IC0gLSAtIC0gLSAtIC0gLSAtIC0gLQoqKiogcGFyc2UuYy5vcmlnCVN1biBKdWwgMjQgMTE6MjY6
 NTkgMjAwNQotLS0gcGFyc2UuYwlTdW4gSnVsIDI0IDExOjI2OjU5IDIwMDUKKioqKioqKioqKioq
 KioqCioqKiA5NTUsOTYzICoqKioKICAgIHsKICAgICAgY2FzZSAnYSc6CiAgICAgIGlmIChhc2Np
 aV9zdHJjYXNlY21wIChsaW5lKzEsICJwcGFyZW50bHktdG8iKSA9PSAwKQogICAgICB7CiEgICAg
 ICAgZS0+dG8gPSByZmM4MjJfcGFyc2VfYWRybGlzdCAoZS0+dG8sIHApOwogICAgICAgIG1hdGNo
 ZWQgPSAxOwogICAgICB9CiAgICAgIGVsc2UgaWYgKGFzY2lpX3N0cmNhc2VjbXAgKGxpbmUrMSwg
 InBwYXJlbnRseS1mcm9tIikgPT0gMCkKICAgICAgewotLS0gOTU1LDk2MyAtLS0tCiAgICB7CiAg
 ICAgIGNhc2UgJ2EnOgogICAgICBpZiAoYXNjaWlfc3RyY2FzZWNtcCAobGluZSsxLCAicHBhcmVu
 dGx5LXRvIikgPT0gMCkKICAgICAgewohICAgICAgIGUtPnRvID0gbXV0dF9wYXJzZV9hZHJsaXN0
 IChlLT50bywgcCk7CiAgICAgICAgbWF0Y2hlZCA9IDE7CiAgICAgIH0KICAgICAgZWxzZSBpZiAo
 YXNjaWlfc3RyY2FzZWNtcCAobGluZSsxLCAicHBhcmVudGx5LWZyb20iKSA9PSAwKQogICAgICB7
 CioqKioqKioqKioqKioqKgoqKiogOTY4LDk4NCAqKioqCiAgICAgIAogICAgICBjYXNlICdiJzoK
 ICAgICAgaWYgKGFzY2lpX3N0cmNhc2VjbXAgKGxpbmUrMSwgImNjIikgPT0gMCkKICAgICAgewoh
 ICAgICAgIGUtPmJjYyA9IHJmYzgyMl9wYXJzZV9hZHJsaXN0IChlLT5iY2MsIHApOwogICAgICAg
 IG1hdGNoZWQgPSAxOwogICAgICB9CiAgICAgIGJyZWFrOwogICAgICAKICAgICAgY2FzZSAnYyc6
 CiAgICAgIGlmIChhc2NpaV9zdHJjYXNlY21wIChsaW5lKzEsICJjIikgPT0gMCkKICAgICAgewoh
 ICAgICAgIGUtPmNjID0gcmZjODIyX3BhcnNlX2Fkcmxpc3QgKGUtPmNjLCBwKTsKICAgICAgICBt
 YXRjaGVkID0gMTsKICAgICAgfQogICAgICBlbHNlIGlmIChhc2NpaV9zdHJuY2FzZWNtcCAobGlu
 ZSArIDEsICJvbnRlbnQtIiwgNykgPT0gMCkKICAgICAgewotLS0gOTY4LDk4NCAtLS0tCiAgICAg
 IAogICAgICBjYXNlICdiJzoKICAgICAgaWYgKGFzY2lpX3N0cmNhc2VjbXAgKGxpbmUrMSwgImNj
 IikgPT0gMCkKICAgICAgewohICAgICAgIGUtPmJjYyA9IG11dHRfcGFyc2VfYWRybGlzdCAoZS0+
 YmNjLCBwKTsKICAgICAgICBtYXRjaGVkID0gMTsKICAgICAgfQogICAgICBicmVhazsKICAgICAg
 CiAgICAgIGNhc2UgJ2MnOgogICAgICBpZiAoYXNjaWlfc3RyY2FzZWNtcCAobGluZSsxLCAiYyIp
 ID09IDApCiAgICAgIHsKISAgICAgICBlLT5jYyA9IG11dHRfcGFyc2VfYWRybGlzdCAoZS0+Y2Ms
 IHApOwogICAgICAgIG1hdGNoZWQgPSAxOwogICAgICB9CiAgICAgIGVsc2UgaWYgKGFzY2lpX3N0
 cm5jYXNlY21wIChsaW5lICsgMSwgIm9udGVudC0iLCA3KSA9PSAwKQogICAgICB7CioqKioqKioq
 KioqKioqKgoqKiogMTE5OCwxMjA2ICoqKioKICAgICAgCiAgICAgIGNhc2UgJ3QnOgogICAgICBp
 ZiAoYXNjaWlfc3RyY2FzZWNtcCAobGluZSsxLCAibyIpID09IDApCiAgICAgIHsKISAgICAgICBl
 LT50byA9IHJmYzgyMl9wYXJzZV9hZHJsaXN0IChlLT50bywgcCk7CiAgICAgICAgbWF0Y2hlZCA9
 IDE7CiAgICAgIH0KICAgICAgYnJlYWs7CiAgICAgIAotLS0gMTE5OCwxMjA2IC0tLS0KICAgICAg
 CiAgICAgIGNhc2UgJ3QnOgogICAgICBpZiAoYXNjaWlfc3RyY2FzZWNtcCAobGluZSsxLCAibyIp
 ID09IDApCiAgICAgIHsKISAgICAgICBlLT50byA9IG11dHRfcGFyc2VfYWRybGlzdCAoZS0+dG8s
 IHApOwogICAgICAgIG1hdGNoZWQgPSAxOwogICAgICB9CiAgICAgIGJyZWFrOwogICAgICAKKioq
 KioqKioqKioqKioqCioqKiAxNDM1LDE0NTYgKioqKgogIH0KICAKICBBRERSRVNTICptdXR0X3Bh
 cnNlX2Fkcmxpc3QgKEFERFJFU1MgKnAsIGNvbnN0IGNoYXIgKnMpCiAgewohICAgY29uc3QgY2hh
 ciAqcTsKICAKICAgIC8qIGNoZWNrIGZvciBhIHNpbXBsZSB3aGl0ZXNwYWNlIHNlcGFyYXRlZCBs
 aXN0IG9mIGFkZHJlc3NlcyAqLwogICAgaWYgKChxID0gc3RycGJyayAocywgIlwiPD4oKTo7LFxc
 IikpID09IE5VTEwpCiAgICB7CiAgICAgIGNoYXIgdG1wW0hVR0VfU1RSSU5HXTsKISAgICAgY2hh
 ciAqcjsKICAKISAgICAgc3RyZmNweSAodG1wLCBzLCBzaXplb2YgKHRtcCkpOwohICAgICByID0g
 dG1wOwohICAgICB3aGlsZSAoKHIgPSBzdHJ0b2sgKHIsICIgXHQiKSkgIT0gTlVMTCkKISAgICAg
 ewohICAgICAgIHAgPSByZmM4MjJfcGFyc2VfYWRybGlzdCAocCwgcik7CiEgICAgICAgciA9IE5V
 TEw7CiAgICAgIH0KICAgIH0KICAgIGVsc2UKICAgICAgcCA9IHJmYzgyMl9wYXJzZV9hZHJsaXN0
 IChwLCBzKTsKLS0tIDE0MzUsMTQ2NSAtLS0tCiAgfQogIAogIEFERFJFU1MgKm11dHRfcGFyc2Vf
 YWRybGlzdCAoQUREUkVTUyAqcCwgY29uc3QgY2hhciAqcykKICB7CiEgICBjaGFyICpxOwogIAog
 ICAgLyogY2hlY2sgZm9yIGEgc2ltcGxlIHdoaXRlc3BhY2Ugc2VwYXJhdGVkIGxpc3Qgb2YgYWRk
 cmVzc2VzICovCiAgICBpZiAoKHEgPSBzdHJwYnJrIChzLCAiXCI8PigpOjssXFwiKSkgPT0gTlVM
 TCkKICAgIHsKICAgICAgY2hhciB0bXBbSFVHRV9TVFJJTkddOwohICAgICByZWdpc3RlciBjaGFy
 ICpyOwohICAgICByZWdpc3RlciBpbnQgYzsKICAKISAgICAgcSA9IHN0cmZjcHkgKHRtcCwgcywg
 c2l6ZW9mICh0bXApKTsKISAgICAgd2hpbGUgKChjID0gKnEpID09ICdcdCcgfHwgYyA9PSAnICcp
 ICsrcTsKISAgICAgaWYgKGMgPT0gJ1wwJykgcmV0dXJuIHA7CiEgICAgIHIgPSBxKzE7CiEgIEw6
 IHdoaWxlICgoYyA9ICpyKSAmJiBjICE9ICdcdCcgJiYgYyAhPSAnICcpICsrcjsKISAgICAgaWYg
 KGMgIT0gJ1wwJykgewohICAgICAgIHEgPSByKys7CiEgICAgICAgd2hpbGUgKChjID0gKnIpID09
 ICdcdCcgfHwgYyA9PSAnICcpICsrcjsKISAgICAgICBpZiAoYyAhPSAnXDAnKSB7CiEgICAgICAg
 ICAqcSA9ICcsJzsKISAgICAgICAgIHEgPSByKys7CiEgICAgICAgICBnb3RvIEw7CiEgICAgICAg
 fQohICAgICAgICpxID0gJ1wwJzsgLyogVHJpbSB0cmFpbGluZyAid2hpdGUgc3BhY2UiICovCiAg
 ICAgIH0KICAgIH0KICAgIGVsc2UKICAgICAgcCA9IHJmYzgyMl9wYXJzZV9hZHJsaXN0IChwLCBz
 KTsKKioqIHJmYzE1MjQuYy5vcmlnCVRodSBGZWIgIDMgMTA6NDc6NTMgMjAwNQotLS0gcmZjMTUy
 NC5jCVRodSBGZWIgIDMgMTA6NDc6NTMgMjAwNQoqKioqKioqKioqKioqKioKKioqIDMwNywzMjAg
 KioqKgogIAkgIH0KICAJfQogICAgICAgIH0gLyogd2hpbGUgKGNoKSAqLwogIAohICAgICAgIGlm
 IChvcHQgPT0gTV9BVVRPVklFVykKISAgICAgICB7CiEgCWlmICghY29waW91c291dHB1dCkKISAJ
 ICBmb3VuZCA9IEZBTFNFOwohICAgICAgIH0KISAgICAgICBlbHNlIGlmIChvcHQgPT0gTV9DT01Q
 T1NFKQogICAgICAgIHsKICAJaWYgKCFjb21wb3NlY29tbWFuZCkKICAJICBmb3VuZCA9IEZBTFNF
 OwogICAgICAgIH0KLS0tIDMwNywzMTUgLS0tLQogIAkgIH0KICAJfQogICAgICAgIH0gLyogd2hp
 bGUgKGNoKSAqLwogIAohICAgICAgIGlmIChvcHQgPT0gTV9DT01QT1NFKQogICAgICAgIHsKICAJ
 aWYgKCFjb21wb3NlY29tbWFuZCkKICAJICBmb3VuZCA9IEZBTFNFOwogICAgICAgIH0KKioqIGlu
 aXQuaC5vcmlnCVRodSBBdWcgMTEgMTI6Mzc6MDEgMjAwNQotLS0gaW5pdC5oCVRodSBBdWcgMTEg
 MTI6Mzc6MDEgMjAwNQoqKioqKioqKioqKioqKioKKioqIDkxOCw5MjYgKioqKgogICAgKiogLnBw
 CiAgICAqKiBUaGlzIHZhcmlhYmxlIGRlZmF1bHRzIHRvIHlvdXIgdXNlciBuYW1lIG9uIHRoZSBs
 b2NhbCBtYWNoaW5lLgogICAgKi8KICAjZW5kaWYKISAgIHsgImltcGxpY2l0X2F1dG92aWV3Iiwg
 RFRfQk9PTCxSX05PTkUsIE9QVElNUExJQ0lUQVVUT1ZJRVcsIDB9LAogICAgLyoKICAgICoqIC5w
 cAogICAgKiogSWYgc2V0IHRvIGBgeWVzJycsIG11dHQgd2lsbCBsb29rIGZvciBhIG1haWxjYXAg
 ZW50cnkgd2l0aCB0aGUKICAgICoqIGNvcGlvdXNvdXRwdXQgZmxhZyBzZXQgZm9yIFxmSWV2ZXJ5
 XGZQIE1JTUUgYXR0YWNobWVudCBpdCBkb2Vzbid0IGhhdmUKLS0tIDkxOCw5MjYgLS0tLQogICAg
 KiogLnBwCiAgICAqKiBUaGlzIHZhcmlhYmxlIGRlZmF1bHRzIHRvIHlvdXIgdXNlciBuYW1lIG9u
 IHRoZSBsb2NhbCBtYWNoaW5lLgogICAgKi8KICAjZW5kaWYKISAgIHsgImltcGxpY2l0X2F1dG92
 aWV3IiwgRFRfUVVBRCxSX05PTkUsIE9QVElNUExJQ0lUQVVUT1ZJRVcsIE1fTk99LAogICAgLyoK
 ICAgICoqIC5wcAogICAgKiogSWYgc2V0IHRvIGBgeWVzJycsIG11dHQgd2lsbCBsb29rIGZvciBh
 IG1haWxjYXAgZW50cnkgd2l0aCB0aGUKICAgICoqIGNvcGlvdXNvdXRwdXQgZmxhZyBzZXQgZm9y
 IFxmSWV2ZXJ5XGZQIE1JTUUgYXR0YWNobWVudCBpdCBkb2Vzbid0IGhhdmUKKioqIGF0dGFjaC5j
 Lm9yaWcJVGh1IEF1ZyAxMSAxMjozNzowMSAyMDA1Ci0tLSBhdHRhY2guYwlUaHUgQXVnIDExIDEy
 OjM3OjAxIDIwMDUKKioqKioqKioqKioqKioqCioqKiAzODIsMzk1ICoqKioKICAgIHR5cGUgPSBf
 dHlwZTsKICAKICAgIGlmIChtdXR0X25lZWRzX21haWxjYXAgKGIpKQogICAgewotICAgICBpZiAo
 b3B0aW9uIChPUFRJTVBMSUNJVEFVVE9WSUVXKSkKLSAgICAgICByZXR1cm4gMTsKLSAgICAgCiAg
 ICAgIGlmIChpc19tbW5vYXNrICh0eXBlKSkKICAgICAgICByZXR1cm4gMTsKISAgIH0KICAKICAg
 IGZvciAoOyB0OyB0ID0gdC0+bmV4dCkgewogICAgICBpID0gbXV0dF9zdHJsZW4gKHQtPmRhdGEp
 IC0gMTsKICAgICAgaWYgKChpID4gMCAmJiB0LT5kYXRhW2ktMV0gPT0gJy8nICYmIHQtPmRhdGFb
 aV0gPT0gJyonICYmIAotLS0gMzgyLDQwMCAtLS0tCiAgICB0eXBlID0gX3R5cGU7CiAgCiAgICBp
 ZiAobXV0dF9uZWVkc19tYWlsY2FwIChiKSkKICAgIHsKICAgICAgaWYgKGlzX21tbm9hc2sgKHR5
 cGUpKQogICAgICAgIHJldHVybiAxOwohICAgCiEgICAgIHN3aXRjaCAoaSA9IHF1YWRvcHRpb24g
 KE9QVElNUExJQ0lUQVVUT1ZJRVcpKSB7CiEgICAgICAgY2FzZSBNX1lFUzogcmV0dXJuIDE7CiEg
 ICAgICAgZGVmYXVsdCAgIDogaSA9IG11dHRfeWVzb3JubyAoXygiRGlzcGxheSBpdD8iKSwgKGkg
 PT0gTV9BU0tZRVMpKTsKISAgICAgICAgICAgICAgICAgICBDTEVBUkxJTkUgKExJTkVTIC0gMSk7
 CiEgICAgICAgICAgICAgICAgICAgcmV0dXJuIGkgPT0gTV9ZRVM7CiEgICAgICAgY2FzZSBNX05P
 IDogOwohICAgICB9CiEgICAgfSAKICAKICAgIGZvciAoOyB0OyB0ID0gdC0+bmV4dCkgewogICAg
 ICBpID0gbXV0dF9zdHJsZW4gKHQtPmRhdGEpIC0gMTsKICAgICAgaWYgKChpID4gMCAmJiB0LT5k
 YXRhW2ktMV0gPT0gJy8nICYmIHQtPmRhdGFbaV0gPT0gJyonICYmIAotIC0gLSAtIC0gLSAtIC0g
 LSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAtIC0gLSAt
 IC0gLSAtCg==