<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "http://bugs.gentoo.org/bugzilla.dtd">

<bugzilla version="2.22.7"
          urlbase="http://bugs.gentoo.org/"
          maintainer="bugzilla@gentoo.org"
>

    <bug>
          <bug_id>109168</bug_id>
          
          <creation_ts>2005-10-13 10:25 0000</creation_ts>
          <short_desc>upstream patch for lynx 2.8.5</short_desc>
          <delta_ts>2005-11-21 20:47:44 0000</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>Gentoo Linux</product>
          <component>Applications</component>
          <version>2005.1</version>
          <rep_platform>All</rep_platform>
          <op_sys>Linux</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          
          <priority>P2</priority>
          <bug_severity>normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          
          <everconfirmed>1</everconfirmed>
          <reporter>exg@gentoo.org</reporter>
          <assigned_to>hadfield@gentoo.org</assigned_to>
          

      

      
          <long_desc isprivate="0">
            <who>exg@gentoo.org</who>
            <bug_when>2005-10-13 10:25:51 0000</bug_when>
            <thetext>A bug-fixes patch for lynx 2.8.5 is avaible a the following url:

ftp://lynx.isc.org/lynx2.8.5/patches/2.8.5rel.2.patch.gz</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>exg@gentoo.org</who>
            <bug_when>2005-10-23 09:23:07 0000</bug_when>
            <thetext>An updated one for CAN-2005-3120 is available here:

ftp://lynx.isc.org/lynx2.8.5/patches/2.8.5rel.3.patch.gz</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>vanquirius@gentoo.org</who>
            <bug_when>2005-11-14 10:06:29 0000</bug_when>
            <thetext>Created an attachment (id=72884)
lynx-2.8.5-rel5.patch

Cumulative patch from vanilla 2.8.5 to rel5.

- 010_all_lynx-2.8.5-CAN-2005-3120.patch: included almost verbatim
- 011_all_lynx-2.8.5-CVE-2005-2929.patch: the first part is included, but the
two lines added to LYGetFile.c are not (they are probably not necessary).

I think it is safe to make a new release (-r3?) syncing up to this version.</thetext>
          </long_desc>
          <long_desc isprivate="0">
            <who>hadfield@gentoo.org</who>
            <bug_when>2005-11-21 20:47:44 0000</bug_when>
            <thetext>Added to portage. lynx-2.8.5-r3 will build lynx up to rel5.</thetext>
          </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>72884</attachid>
            <date>2005-11-14 10:06 0000</date>
            <desc>lynx-2.8.5-rel5.patch</desc>
            <filename>lynx-2.8.5-rel5.patch</filename>
            <type>text/plain</type>
            <data encoding="base64">ZGlmZiAtLWV4Y2x1ZGU9Jyp+JyAtTmF1ciBseW54Mi04LTUvQ0hBTkdFUyBseW54LTIuOC41LXJl
bDUvQ0hBTkdFUwotLS0gbHlueDItOC01L0NIQU5HRVMJMjAwNC0wMi0wNCAxMDowNzowOS4wMDAw
MDAwMDAgLTAyMDAKKysrIGx5bngtMi44LjUtcmVsNS9DSEFOR0VTCTIwMDUtMTEtMTQgMTY6MDI6
NDAuMDAwMDAwMDAwIC0wMjAwCkBAIC0xLDYgKzEsMzIgQEAKIENoYW5nZXMgc2luY2UgTHlueCAy
LjggcmVsZWFzZQogPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQogCisyMDA1LTEwLTI5ICgyLjguNXJl
bC41IGZpeGVzIGZyb20gMi44LjZkZXYuMTUpCisqIG1vZGlmeSBMWUxvYWRDR0koKSB0byBwcm9t
cHQgdXNlciwgZGlzcGxheWluZyB0aGUgY29tbWFuZCB0aGF0IHdvdWxkIGJlCisgIGV4ZWN1dGVk
LCB0byBjb25maXJtIHRoYXQgaXQgc2hvdWxkIGJlLiAgVGhpcyBtYWtlcyBpdCBlYXNpZXIgdG8g
bm90aWNlIHdoZW4KKyAgYSBsb2NhbCBwcm9ncmFtIHdvdWxkIGJlIHJ1biBieSBhY3RpdmF0aW5n
IGEgbHlueGNnaSBsaW5rLiAgVGhpcyBpcyBub3QgZG9uZQorICBpbiBhZHZhbmNlZCBtb2RlLCBz
aW5jZSB0aGUgVVJMIGlzIGFscmVhZHkgdmlzaWJsZSBpbiB0aGUgc3RhdHVzIGxpbmUgKHJlcG9y
dAorICBieSB2YWRlNzksIGNvbW1lbnRzIGJ5IEdyZWcgTWFjTWFudXMpIC1URAorCisyMDA1LTEw
LTI1ICgyLjguNXJlbC40IGZpeGVzIGZyb20gMi44LjZkZXYuMTQpCisqIGZpeCBlcnJvciBpbiBy
ZWwuMyBwYXRjaCAocmVwb3J0IGJ5IEtsYXVzIFNpbmd2b2dlbCkKKworMjAwNS0xMC0xNyAoMi44
LjVyZWwuMyBmaXhlcyBmcm9tIDIuOC42ZGV2LjE0KQorKiBlbGltaW5hdGUgZml4ZWQtc2l6ZSBi
dWZmZXJzIGluIEhUcmppcygpIGFuZCByZWxhdGVkIGZ1bmN0aW9ucyB0byBhdm9pZAorICBwb3Rl
bnRpYWwgYnVmZmVyIG92ZXJmbG93IGluIG5udHAgcGFnZXMgKHJlcG9ydCBieSBVbGYgSGFybmhh
bW1hciwKKyAgQ0FOLTIwMDUtMzEyMCkgLVRECisKKzIwMDQtMDQtMjIgKDIuOC41cmVsLjIgZml4
ZXMgZnJvbSAyLjguNmRldi4xKQorKiBjb3JyZWN0IGlmZGVmIGluIExZZ2V0YXR0cnMoKSB0byBl
bnN1cmUgdGhhdCBnZXRhdHRycygpIGlzIHVzZWQgb25seSBpZiB0aGUKKyAgY29uZmlndXJlIHNj
cmlwdCBhY3R1YWxseSBmb3VuZCBpdCAocmVwb3J0L3BhdGNoIGJ5IFBhdWwgR2lsbWFydGluKS4K
KyogY29ycmVjdCBMWWNvbW1hbmRMaXN0KCkgdG8gYWxsb2NhdGUgZGF0YSBwYXNzZWQgdG8gSFRM
aXN0X2FkZE9iamVjdCgpLCBzaW5jZQorICBMWVJlbW92ZUZyb21DbG9zZXQoKSBtYXkgZnJlZSBp
dCAocmVwb3J0IGJ5IEZMV00pIC1URAorKiBhZGQgYSBudWxsLXBvaW50ZXIgY2hlY2sgdG8gcGFy
YW1ldGVyIG9mIEhUUXVvdGVQYXJhbWV0ZXIoKSwgZml4ZXMgYnVnCisgIGludHJvZHVjZWQgaW4g
Mi44LjVwcmUuNCAocmVwb3J0IGJ5IEZMV00pIC1URAorKiBjb3JyZWN0IHVuaXRzIHNob3duIGJ5
IEhUUmVhZFByb2dyZXNzKCkgZm9yIHZlcnkgbG93IHJhdGVzIC0gYnVnIGZyb20KKyAgMi44LjVw
cmUuMyBjaGFuZ2VzIChyZXBvcnQgYnkgUEcpIC1URAorKiB1cGRhdGUgY3VycmVudC12ZXJzaW9u
IGluIFJFQURNRSAtTFAKKwogMjAwNC0wMi0wNCAoMi44LjVyZWwuMSkKICogYnVpbGQgZml4ZXMg
Zm9yIE1JTkdXMzIgLURLCiAqIGJ1aWxkIGZpeGVzIGZvciBPUy8yIChyZXBvcnRlZCBieSBJWikg
LVRECmRpZmYgLS1leGNsdWRlPScqficgLU5hdXIgbHlueDItOC01L2NvbmZpZ3VyZSBseW54LTIu
OC41LXJlbDUvY29uZmlndXJlCi0tLSBseW54Mi04LTUvY29uZmlndXJlCTIwMDQtMDItMDQgMTA6
MDc6MDkuMDAwMDAwMDAwIC0wMjAwCisrKyBseW54LTIuOC41LXJlbDUvY29uZmlndXJlCTIwMDUt
MTEtMTQgMTY6MDI6NDAuMDAwMDAwMDAwIC0wMjAwCkBAIC03MjMsNyArNzIzLDcgQEAKIAogUEFD
S0FHRT1seW54CiAjICRGb3JtYXQ6ICJWRVJTSU9OPSRQcm9qZWN0VmVyc2lvbiQiJAotVkVSU0lP
Tj0yLjguNXJlbC4xCitWRVJTSU9OPTIuOC41cmVsLjUKIAogCiAKZGlmZiAtLWV4Y2x1ZGU9Jyp+
JyAtTmF1ciBseW54Mi04LTUvY29uZmlndXJlLmluIGx5bngtMi44LjUtcmVsNS9jb25maWd1cmUu
aW4KLS0tIGx5bngyLTgtNS9jb25maWd1cmUuaW4JMjAwNC0wMi0wNCAxMDowNzowOS4wMDAwMDAw
MDAgLTAyMDAKKysrIGx5bngtMi44LjUtcmVsNS9jb25maWd1cmUuaW4JMjAwNS0xMS0xNCAxNjow
Mjo0MC4wMDAwMDAwMDAgLTAyMDAKQEAgLTUsNyArNSw3IEBACiBkbmwKIGRubCBhc2sgUFJDUyB0
byBwbHVnLWluIHRoZSBwcm9qZWN0LXZlcnNpb24gZm9yIHRoZSBjb25maWd1cmUtc2NyaXB0Lgog
ZG5sICRGb3JtYXQ6ICJBQ19SRVZJU0lPTigkUHJvamVjdFZlcnNpb24kKSIkCi1BQ19SRVZJU0lP
TigyLjguNXJlbC4xKQorQUNfUkVWSVNJT04oMi44LjVyZWwuNSkKIAogIyBTYXZlIHRoZSBvcmln
aW5hbCAkQ0ZMQUdTIHNvIHdlIGNhbiBkaXN0aW5ndWlzaCB3aGV0aGVyIHRoZSB1c2VyIHNldCB0
aG9zZQogIyBpbiB0aGUgZW52aXJvbm1lbnQsIG9yIHdoZXRoZXIgYXV0b2NvbmYgYWRkZWQgLU8g
YW5kIC1nIG9wdGlvbnM6CkBAIC0zMyw3ICszMyw3IEBACiBQQUNLQUdFPWx5bngKIGRubCBhc2sg
UFJDUyB0byBwbHVnLWluIHRoZSBwcm9qZWN0LXZlcnNpb24gZm9yIHRoZSBwYWNrYWdlcy4KICMg
JEZvcm1hdDogIlZFUlNJT049JFByb2plY3RWZXJzaW9uJCIkCi1WRVJTSU9OPTIuOC41cmVsLjEK
K1ZFUlNJT049Mi44LjVyZWwuNQogQUNfU1VCU1QoUEFDS0FHRSkKIEFDX1NVQlNUKFZFUlNJT04p
CiBBQ19TVUJTVChERVNURElSKQpkaWZmIC0tZXhjbHVkZT0nKn4nIC1OYXVyIGx5bngyLTgtNS9s
eW54LmNmZyBseW54LTIuOC41LXJlbDUvbHlueC5jZmcKLS0tIGx5bngyLTgtNS9seW54LmNmZwky
MDA0LTAxLTI4IDE3OjMwOjM4LjAwMDAwMDAwMCAtMDIwMAorKysgbHlueC0yLjguNS1yZWw1L2x5
bnguY2ZnCTIwMDUtMTEtMTQgMTY6MDI6NDAuMDAwMDAwMDAwIC0wMjAwCkBAIC0zLDEwICszLDEw
IEBACiAjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9yIEx5bnhfRGlyOmx5
bnguY2ZnIChWTVMpCiAjCiAjICRGb3JtYXQ6ICIjUFJDUyBMWU5YX1ZFUlNJT04gXCIkUHJvamVj
dFZlcnNpb24kXCIiJAotI1BSQ1MgTFlOWF9WRVJTSU9OICIyLjguNXJlbC4xIgorI1BSQ1MgTFlO
WF9WRVJTSU9OICIyLjguNXJlbC41IgogIwogIyAkRm9ybWF0OiAiI1BSQ1MgTFlOWF9EQVRFIFwi
JFByb2plY3REYXRlJFwiIiQKLSNQUkNTIExZTlhfREFURSAiV2VkLCAwNCBGZWIgMjAwNCAwNDow
NzowOSAtMDgwMCIKKyNQUkNTIExZTlhfREFURSAiU2F0LCAyOSBPY3QgMjAwNSAxMjozMzo0NSAt
MDcwMCIKICMKICMgRGVmaW5pdGlvbiBwYWlycyBhcmUgb2YgdGhlIGZvcm0gIFZBUklBQkxFOkRF
RklOSVRJT04KICMgTk8gc3BhY2VzIGFyZSBhbGxvd2VkIGJldHdlZW4gdGhlIHBhaXIgaXRlbXMu
CmRpZmYgLS1leGNsdWRlPScqficgLU5hdXIgbHlueDItOC01L1JFQURNRSBseW54LTIuOC41LXJl
bDUvUkVBRE1FCi0tLSBseW54Mi04LTUvUkVBRE1FCTIwMDQtMDEtMjQgMjM6NTE6MDQuMDAwMDAw
MDAwIC0wMjAwCisrKyBseW54LTIuOC41LXJlbDUvUkVBRE1FCTIwMDUtMTEtMTQgMTY6MDI6MzUu
MDAwMDAwMDAwIC0wMjAwCkBAIC0xLDcgKzEsNyBAQAogCiAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgIEx5bnggUkVBRE1FIGZpbGUKIAotTHlueCBWZXJzaW9uIDIuOC40IGlzIHRoZSBsYXRl
c3QgcmVsZWFzZSAoSnVseSAyMDAxKS4KK0x5bnggVmVyc2lvbiAyLjguNSBpcyB0aGUgbGF0ZXN0
IHJlbGVhc2UgKEZlYnJ1YXJ5IDIwMDQpLgogU2VlIHRoZSBDSEFOR0VTIGZpbGUgZm9yIGEgY29t
cGxldGUgcmVjb3JkIG9mIGFsbCBjaGFuZ2VzIGFuZCBidWcgZml4ZXMuCiBOZXcgcmVsZWFzZXMg
YXJlIGFubm91bmNlZCBvbiB0aGUgbHlueC1kZXYgbWFpbGluZyBsaXN0IChzZWUgYmVsb3cpLgog
CmRpZmYgLS1leGNsdWRlPScqficgLU5hdXIgbHlueDItOC01L3NyYy9IVEFsZXJ0LmMgbHlueC0y
LjguNS1yZWw1L3NyYy9IVEFsZXJ0LmMKLS0tIGx5bngyLTgtNS9zcmMvSFRBbGVydC5jCTIwMDQt
MDEtMjQgMjM6NTE6MDQuMDAwMDAwMDAwIC0wMjAwCisrKyBseW54LTIuOC41LXJlbDUvc3JjL0hU
QWxlcnQuYwkyMDA1LTExLTE0IDE2OjAyOjM1LjAwMDAwMDAwMCAtMDIwMApAQCAtMTY1LDEzICsx
NjUsMTYgQEAKICAgICBzdGF0aWMgbG9uZyBrYl91bml0cyA9IDEwMjQ7CiAgICAgQ09OU1QgY2hh
ciAqdSA9IEhUUHJvZ3Jlc3NVbml0cyhMWVRyYW5zZmVyUmF0ZSk7CiAKLSAgICBpZiAoIChMWVRy
YW5zZmVyUmF0ZSA9PSByYXRlS0IgfHwgTFlUcmFuc2ZlclJhdGUgPT0gcmF0ZUV0YUtCX21heWJl
KQotCSAmJiAobiA+PSAxMCAqIGtiX3VuaXRzKSApCi0Jc3ByaW50ZihzLCAiJWxkIiwgbi9rYl91
bml0cyk7Ci0gICAgZWxzZSBpZiAoKExZVHJhbnNmZXJSYXRlID09IHJhdGVLQiB8fCBMWVRyYW5z
ZmVyUmF0ZSA9PSByYXRlRXRhS0JfbWF5YmUpCi0JICAgICAmJiAobiA+IDk5OSkpCS8qIEF2b2lk
IHN3aXRjaGluZyBiZXR3ZWVuIDEwMTZiL3MgYW5kIDFLL3MgKi8KLQlzcHJpbnRmKHMsICIlLjJn
IiwgKChkb3VibGUpbikva2JfdW5pdHMpOwotICAgIGVsc2UgeworICAgIGlmIChMWVRyYW5zZmVy
UmF0ZSA9PSByYXRlS0IgfHwgTFlUcmFuc2ZlclJhdGUgPT0gcmF0ZUV0YUtCX21heWJlKSB7CisJ
aWYgKG4gPj0gMTAgKiBrYl91bml0cykgeworCSAgICBzcHJpbnRmKHMsICIlbGQiLCBuL2tiX3Vu
aXRzKTsKKwl9IGVsc2UgaWYgKG4gPiA5OTkpIHsJLyogQXZvaWQgc3dpdGNoaW5nIGJldHdlZW4g
MTAxNmIvcyBhbmQgMUsvcyAqLworCSAgICBzcHJpbnRmKHMsICIlLjJnIiwgKChkb3VibGUpbikv
a2JfdW5pdHMpOworCX0gZWxzZSB7CisJICAgIHNwcmludGYocywgIiVsZCIsIG4pOworCSAgICB1
ID0gSFRQcm9ncmVzc1VuaXRzKHJhdGVCWVRFUyk7CisJfQorICAgIH0gZWxzZSB7CiAJc3ByaW50
ZihzLCAiJWxkIiwgbik7CiAgICAgfQogCmRpZmYgLS1leGNsdWRlPScqficgLU5hdXIgbHlueDIt
OC01L3NyYy9MWUNnaS5jIGx5bngtMi44LjUtcmVsNS9zcmMvTFlDZ2kuYwotLS0gbHlueDItOC01
L3NyYy9MWUNnaS5jCTIwMDQtMDItMDIgMTg6MDI6MjguMDAwMDAwMDAwIC0wMjAwCisrKyBseW54
LTIuOC41LXJlbDUvc3JjL0xZQ2dpLmMJMjAwNS0xMS0xNCAxNjowMjo0MC4wMDAwMDAwMDAgLTAy
MDAKQEAgLTE1MCw2ICsxNTAsNDAgQEAKIAlyZXR1cm4gLTE7CiB9CiAjZWxzZQorI2lmZGVmIExZ
TlhDR0lfTElOS1MKKy8qCisgKiBXcmFwcGVyIGZvciBleGVjX29rKCksIGNvbmZpcm1pbmcgd2l0
aCB1c2VyIGlmIHRoZSBsaW5rIHRleHQgaXMgbm90IHZpc2libGUKKyAqIGluIHRoZSBzdGF0dXMg
bGluZS4KKyAqLworUFJJVkFURSBCT09MIGNhbl9leGVjX2NnaSBBUkdTMihjb25zdCBjaGFyICos
IGxpbmt0ZXh0LCBjb25zdCBjaGFyICosIGxpbmthcmdzKQoreworICAgIGNvbnN0IGNoYXIgKmZv
cm1hdCA9IGdldHRleHQoIkRvIHlvdSB3YW50IHRvIGV4ZWN1dGUgXCIlc1wiPyIpOworICAgIGNo
YXIgKm1lc3NhZ2UgPSBOVUxMOworICAgIGNoYXIgKmNvbW1hbmQgPSBOVUxMOworICAgIGNoYXIg
KnA7CisgICAgQk9PTCByZXN1bHQgPSBUUlVFOworCisgICAgaWYgKCFleGVjX29rKEhUTG9hZGVk
RG9jdW1lbnRVUkwoKSwgbGlua3RleHQsIENHSV9QQVRIKSkgeworCS8qIGV4ZWNfb2sgZ2l2ZXMg
b3V0IG1zZy4gKi8KKwlyZXN1bHQgPSBGQUxTRTsKKyAgICB9IGVsc2UgaWYgKHVzZXJfbW9kZSA8
IEFEVkFOQ0VEX01PREUpIHsKKwlTdHJBbGxvY0NvcHkoY29tbWFuZCwgbGlua3RleHQpOworCWlm
IChub25fZW1wdHkobGlua2FyZ3MpKSB7CisJICAgIEhUU3ByaW50ZigmY29tbWFuZCwgIiAlcyIs
IGxpbmthcmdzKTsKKwl9CisJSFRVbkVzY2FwZShjb21tYW5kKTsKKwlmb3IgKHAgPSBjb21tYW5k
OyAqcDsgKytwKQorCSAgICBpZiAoKnAgPT0gJysnKQorCQkqcCA9ICcgJzsKKwlIVFNwcmludGYw
KCZtZXNzYWdlLCBmb3JtYXQsIGNvbW1hbmQpOworCXJlc3VsdCA9IEhUQ29uZmlybShtZXNzYWdl
KTsKKwlGUkVFKG1lc3NhZ2UpOworCUZSRUUoY29tbWFuZCk7CisgICAgfQorICAgIHJldHVybiBy
ZXN1bHQ7Cit9CisjZW5kaWYgLyogTFlOWENHSV9MSU5LUyAqLworCiBQUklWQVRFIGludCBMWUxv
YWRDR0kgQVJHUzQoCiAJQ09OU1QgY2hhciAqLCAJCWFyZywKIAlIVFBhcmVudEFuY2hvciAqLAlh
bkFuY2hvciwKQEAgLTI4MSw4ICszMTUsNyBAQAogCSAgICAgICBzdHJjbXAoYXJnLCBIVExvYWRl
ZERvY3VtZW50VVJMKCkpICYmCiAJICAgICAgIEhUZXh0X0FyZURpZmZlcmVudChhbkFuY2hvciwg
YXJnKSAmJgogCSAgICAgICBIVFVuRXNjYXBlKG9yaWdfcGdtKSAmJgotCSAgICAgICAhZXhlY19v
ayhIVExvYWRlZERvY3VtZW50VVJMKCksIG9yaWdfcGdtLAotCQkJQ0dJX1BBVEgpKSB7IC8qIGV4
ZWNfb2sgZ2l2ZXMgb3V0IG1zZy4gKi8KKwkgICAgICAgIWNhbl9leGVjX2NnaShvcmlnX3BnbSwg
IiIpKSB7CiAJLyoKIAkgKiAgSWYgd2UgaGF2ZSBleHRyYSBwYXRoIGluZm8gYW5kIGFyZSBub3Qg
anVzdCByZWxvYWRpbmcKIAkgKiAgdGhlIGN1cnJlbnQsIGNoZWNrIHRoZSBmdWxsIGZpbGUgcGF0
aCAoYWZ0ZXIgdW5lc2NhcGluZykKQEAgLTMxMyw4ICszNDYsNyBAQAogCSAgICAgICAhKHJlbG9h
ZGluZyAmJiBhbkFuY2hvci0+ZG9jdW1lbnQpICYmCiAJICAgICAgIHN0cmNtcChhcmcsIEhUTG9h
ZGVkRG9jdW1lbnRVUkwoKSkgJiYKIAkgICAgICAgSFRleHRfQXJlRGlmZmVyZW50KGFuQW5jaG9y
LCBhcmcpICYmCi0JICAgICAgICFleGVjX29rKEhUTG9hZGVkRG9jdW1lbnRVUkwoKSwgcGdtLAot
CQkJQ0dJX1BBVEgpKSB7IC8qIGV4ZWNfb2sgZ2l2ZXMgb3V0IG1zZy4gKi8KKwkgICAgICAgIWNh
bl9leGVjX2NnaShwZ20sIHBnbV9hcmdzKSkgewogCS8qCiAJICogIElmIHdlIGFyZSByZWxvYWRp
bmcgYSBseW54Y2dpIGRvY3VtZW50IHRoYXQgaGFkIGFscmVhZHkgYmVlbgogCSAqICBsb2FkZWQs
IHRoZSB2YXJpb3VzIGNoZWNrcyBhYm92ZSBzaG91bGQgYWxsb3cgaXQgZXZlbiBpZgpkaWZmIC0t
ZXhjbHVkZT0nKn4nIC1OYXVyIGx5bngyLTgtNS9zcmMvTFlLZXltYXAuYyBseW54LTIuOC41LXJl
bDUvc3JjL0xZS2V5bWFwLmMKLS0tIGx5bngyLTgtNS9zcmMvTFlLZXltYXAuYwkyMDAzLTA2LTAx
IDIyOjE2OjI4LjAwMDAwMDAwMCAtMDMwMAorKysgbHlueC0yLjguNS1yZWw1L3NyYy9MWUtleW1h
cC5jCTIwMDUtMTEtMTQgMTY6MDI6MzUuMDAwMDAwMDAwIC0wMjAwCkBAIC0xMDc1LDggKzEwNzUs
MTEgQEAKIAl1bnNpZ25lZCBqOwogCW15TGlzdCA9IEhUTGlzdF9uZXcoKTsKIAlmb3IgKGogPSAw
OyByZXZtYXBbal0ubmFtZSAhPSAwOyBqKyspIHsKLQkgICAgaWYgKHJldm1hcFtqXS5kb2MgIT0g
MCkKLQkJSFRMaXN0X2FkZE9iamVjdChteUxpc3QsIChjaGFyICopcmV2bWFwW2pdLm5hbWUpOwor
CSAgICBpZiAocmV2bWFwW2pdLmRvYyAhPSAwKSB7CisJCWNoYXIgKmRhdGEgPSBOVUxMOworCQlT
dHJBbGxvY0NvcHkoZGF0YSwgcmV2bWFwW2pdLm5hbWUpOworCQlIVExpc3RfYWRkT2JqZWN0KG15
TGlzdCwgZGF0YSk7CisJICAgIH0KIAl9CiAgICAgfQogICAgIHJldHVybiBteUxpc3Q7CmRpZmYg
LS1leGNsdWRlPScqficgLU5hdXIgbHlueDItOC01L3NyYy9MWU1haW5Mb29wLmMgbHlueC0yLjgu
NS1yZWw1L3NyYy9MWU1haW5Mb29wLmMKLS0tIGx5bngyLTgtNS9zcmMvTFlNYWluTG9vcC5jCTIw
MDQtMDEtMjggMTc6MzA6MzguMDAwMDAwMDAwIC0wMjAwCisrKyBseW54LTIuOC41LXJlbDUvc3Jj
L0xZTWFpbkxvb3AuYwkyMDA1LTExLTE0IDE2OjAyOjM5LjAwMDAwMDAwMCAtMDIwMApAQCAtNTIw
Nyw4ICs1MjA3LDggQEAKICAgICBjaGFyIGNmaWxlWzEyOF07CiAgICAgRklMRSAqY2ZwOwogICAg
IGNoYXIgKmNwOwotICAgIGludCBjaCwgcmVjYWxsOwotICAgIGludCBVUkxUb3RhbDsKKyAgICBp
bnQgY2ggPSAwLCByZWNhbGwgPSAwOworICAgIGludCBVUkxUb3RhbCA9IDA7CiAgICAgaW50IFVS
TE51bTsKICAgICBCT09MRUFOIEZpcnN0VVJMUmVjYWxsID0gVFJVRTsKICAgICBjaGFyICp0ZW1w
ID0gTlVMTDsKZGlmZiAtLWV4Y2x1ZGU9Jyp+JyAtTmF1ciBseW54Mi04LTUvc3JjL0xZT3B0aW9u
cy5jIGx5bngtMi44LjUtcmVsNS9zcmMvTFlPcHRpb25zLmMKLS0tIGx5bngyLTgtNS9zcmMvTFlP
cHRpb25zLmMJMjAwNC0wMS0yOCAxNzozMDozOC4wMDAwMDAwMDAgLTAyMDAKKysrIGx5bngtMi44
LjUtcmVsNS9zcmMvTFlPcHRpb25zLmMJMjAwNS0xMS0xNCAxNjowMjozOS4wMDAwMDAwMDAgLTAy
MDAKQEAgLTI0ODgsNyArMjQ4OCw3IEBACiAgICAgUG9zdFBhaXIgKmRhdGEgPSAwOwogICAgIERv
Y0FkZHJlc3MgV1dXRG9jOyAgLyogbmVlZCBvbiBleGl0ICovCiAgICAgaW50IGk7Ci0gICAgaW50
IGNvZGU7CisgICAgaW50IGNvZGUgPSAwOwogICAgIEJPT0xFQU4gc2F2ZV9hbGwgPSBGQUxTRTsK
ICAgICBpbnQgZGlzcGxheV9jaGFyX3NldF9vbGQgPSBjdXJyZW50X2NoYXJfc2V0OwogICAgIEJP
T0xFQU4gcmF3X21vZGVfb2xkID0gTFlSYXdNb2RlOwpAQCAtMjY0Miw3ICsyNjQyLDcgQEAKIAog
CS8qIEtleXBhZCBNb2RlOiBTRUxFQ1QgKi8KIAlpZiAoIXN0cmNtcChkYXRhW2ldLnRhZywga2V5
cGFkX21vZGVfc3RyaW5nKSkgewotCSAgICBpbnQgbmV3dmFsOworCSAgICBpbnQgbmV3dmFsID0g
MDsKIAkgICAgaWYgKEdldE9wdFZhbHVlcyhrZXlwYWRfbW9kZV92YWx1ZXMsIGRhdGFbaV0udmFs
dWUsICZuZXd2YWwpCiAJCSAmJiBrZXlwYWRfbW9kZSAhPSBuZXd2YWwpIHsKIAkJa2V5cGFkX21v
ZGUgPSBuZXd2YWw7CmRpZmYgLS1leGNsdWRlPScqficgLU5hdXIgbHlueDItOC01L3NyYy9MWVN0
cmluZ3MuYyBseW54LTIuOC41LXJlbDUvc3JjL0xZU3RyaW5ncy5jCi0tLSBseW54Mi04LTUvc3Jj
L0xZU3RyaW5ncy5jCTIwMDQtMDItMDIgMTg6MDI6MjguMDAwMDAwMDAwIC0wMjAwCisrKyBseW54
LTIuOC41LXJlbDUvc3JjL0xZU3RyaW5ncy5jCTIwMDUtMTEtMTQgMTY6MDI6MzkuMDAwMDAwMDAw
IC0wMjAwCkBAIC0xMDQ2LDcgKzEwNDYsNyBAQAogICAgIEJPT0xFQU4gb2sgPSBGQUxTRTsKIAog
ICAgIGlmICgqc3JjID09IFNRVU9URSkgewotCWludCBrZXlzeW07CisJaW50IGtleXN5bSA9IDA7
CiAJdW5lc2NhcGVkX2NoYXIoc3JjLCAma2V5c3ltKTsKIAlpZiAoa2V5c3ltID49IDApIHsKIAkg
ICAgZHN0WzBdID0ga2V5c3ltOwpkaWZmIC0tZXhjbHVkZT0nKn4nIC1OYXVyIGx5bngyLTgtNS91
c2VyZGVmcy5oIGx5bngtMi44LjUtcmVsNS91c2VyZGVmcy5oCi0tLSBseW54Mi04LTUvdXNlcmRl
ZnMuaAkyMDA0LTAyLTAyIDE4OjAyOjI4LjAwMDAwMDAwMCAtMDIwMAorKysgbHlueC0yLjguNS1y
ZWw1L3VzZXJkZWZzLmgJMjAwNS0xMS0xNCAxNjowMjo0MC4wMDAwMDAwMDAgLTAyMDAKQEAgLTEz
NjAsMTEgKzEzNjAsMTEgQEAKICAqIHRoZSB2ZXJzaW9uIGRlZmluaXRpb24gd2l0aCB0aGUgUHJv
amVjdCBWZXJzaW9uIG9uIGNoZWNrb3V0LiAgSnVzdAogICogaWdub3JlIGl0LiAtIGt3ICovCiAv
KiAkRm9ybWF0OiAiI2RlZmluZSBMWU5YX1ZFUlNJT04gXCIkUHJvamVjdFZlcnNpb24kXCIiJCAq
LwotI2RlZmluZSBMWU5YX1ZFUlNJT04gIjIuOC41cmVsLjEiCisjZGVmaW5lIExZTlhfVkVSU0lP
TiAiMi44LjVyZWwuNSIKICNkZWZpbmUgTFlOWF9XV1dfSE9NRSAiaHR0cDovL2x5bnguaXNjLm9y
Zy8iCiAjZGVmaW5lIExZTlhfV1dXX0RJU1QgImh0dHA6Ly9seW54LmlzYy5vcmcvY3VycmVudC8i
CiAvKiAkRm9ybWF0OiAiI2RlZmluZSBMWU5YX0RBVEUgXCIkUHJvamVjdERhdGUkXCIiJCAqLwot
I2RlZmluZSBMWU5YX0RBVEUgIldlZCwgMDQgRmViIDIwMDQgMDQ6MDc6MDkgLTA4MDAiCisjZGVm
aW5lIExZTlhfREFURSAiU2F0LCAyOSBPY3QgMjAwNSAxMjozMzo0NSAtMDcwMCIKICNkZWZpbmUg
TFlOWF9EQVRFX09GRiA1CQkvKiB0cnVuY2F0ZSB0aGUgYXV0b21hdGljYWxseS1nZW5lcmF0ZWQg
ZGF0ZSAqLwogI2RlZmluZSBMWU5YX0RBVEVfTEVOIDExCS8qIHRydW5jYXRlIHRoZSBhdXRvbWF0
aWNhbGx5LWdlbmVyYXRlZCBkYXRlICovCiAKZGlmZiAtLWV4Y2x1ZGU9Jyp+JyAtTmF1ciBseW54
Mi04LTUvV1dXL0xpYnJhcnkvSW1wbGVtZW50YXRpb24vSFRHb3BoZXIuYyBseW54LTIuOC41LXJl
bDUvV1dXL0xpYnJhcnkvSW1wbGVtZW50YXRpb24vSFRHb3BoZXIuYwotLS0gbHlueDItOC01L1dX
Vy9MaWJyYXJ5L0ltcGxlbWVudGF0aW9uL0hUR29waGVyLmMJMjAwMy0wNC0yNyAyMTozODowMC4w
MDAwMDAwMDAgLTAzMDAKKysrIGx5bngtMi44LjUtcmVsNS9XV1cvTGlicmFyeS9JbXBsZW1lbnRh
dGlvbi9IVEdvcGhlci5jCTIwMDUtMTEtMTQgMTY6MDI6MzkuMDAwMDAwMDAwIC0wMjAwCkBAIC0x
MTE3LDYgKzExMTcsNyBAQAogICAgIH07CiAKICAgICBvdXQgPSAwOworICAgIG1lbXNldCgmY3R4
LCAwLCBzaXplb2YoY3R4KSk7CiAgICAgY3R4Lmhvc3QgPSBob3N0OwogICAgIGN0eC5zZWVrID0g
KGNoYXIgKikgMDsKICAgICBjdHgucG9ydCA9IHBvcnQ7CmRpZmYgLS1leGNsdWRlPScqficgLU5h
dXIgbHlueDItOC01L1dXVy9MaWJyYXJ5L0ltcGxlbWVudGF0aW9uL0hUTUlNRS5jIGx5bngtMi44
LjUtcmVsNS9XV1cvTGlicmFyeS9JbXBsZW1lbnRhdGlvbi9IVE1JTUUuYwotLS0gbHlueDItOC01
L1dXVy9MaWJyYXJ5L0ltcGxlbWVudGF0aW9uL0hUTUlNRS5jCTIwMDQtMDEtMDggMDA6MDM6MDku
MDAwMDAwMDAwIC0wMjAwCisrKyBseW54LTIuOC41LXJlbDUvV1dXL0xpYnJhcnkvSW1wbGVtZW50
YXRpb24vSFRNSU1FLmMJMjAwNS0xMS0xNCAxNjowMjozOS4wMDAwMDAwMDAgLTAyMDAKQEAgLTIw
NjIsMjcgKzIwNjIsMjMgQEAKICoqCiAqKglXcml0dGVuIGJ5IFMuIEljaGlrYXdhLAogKioJcGFy
dGlhbGx5IGluc3BpcmVkIGJ5IGVuY2RlYy5jIG9mIDxqaEBlZmQubHRoLnNlPi4KLSoqCUFzc3Vt
ZSBjYWxsZXIncyBidWZmZXIgaXMgTElORV9MRU5HVEggYnl0ZXMsIHRoZXNlIGRlY29kZSB0bwot
KioJbm8gbG9uZ2VyIHRoYW4gdGhlIGlucHV0IHN0cmluZ3MuCiAqLwotI2RlZmluZSBMSU5FX0xF
TkdUSCA1MTIJCS8qIE1heGltdW0gbGVuZ3RoIG9mIGxpbmUgb2YgQVJUSUNMRSBldGMgKi8KLSNp
ZmRlZiBFU0MKLSN1bmRlZiBFU0MKLSNlbmRpZiAvKiBFU0MgKi8KICNpbmNsdWRlIDxMWUNoYXJW
YWxzLmg+ICAvKiBTLzM5MCAtLSBnaWwgLS0gMDE2MyAqLwotI2RlZmluZSBFU0MJQ0hfRVNDCiAK
IFBSSVZBVEUgY2hhciBIVG1tNjRbXSA9CiAgICAgIkFCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFla
YWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky89IiA7CiBQUklWQVRFIGNoYXIg
SFRtbXF1b3RlW10gPSAiMDEyMzQ1Njc4OUFCQ0RFRiI7CiBQUklWQVRFIGludCBIVG1tY29udCA9
IDA7CiAKLVBVQkxJQyB2b2lkIEhUbW1kZWNfYmFzZTY0IEFSR1MyKAotCWNoYXIgKiwJCXQsCitQ
UklWQVRFIHZvaWQgSFRtbWRlY19iYXNlNjQgQVJHUzIoCisJY2hhciAqKiwJdCwKIAljaGFyICos
CQlzKQogewogICAgIGludCAgIGQsIGNvdW50LCBqLCB2YWw7Ci0gICAgY2hhciAgYnVmW0xJTkVf
TEVOR1RIXSwgKmJwLCBud1s0XSwgKnA7CisgICAgY2hhciAqYnVmLCAqYnAsIG53WzRdLCAqcDsK
KworICAgIGlmICgoYnVmID0gbWFsbG9jKHN0cmxlbihzKSAqIDMgKyAxKSkgPT0gMCkKKwlvdXRv
Zm1lbShfX0ZJTEVfXywgIkhUbW1kZWNfYmFzZTY0Iik7CiAKICAgICBmb3IgKGJwID0gYnVmOyAq
czsgcyArPSA0KSB7CiAJdmFsID0gMDsKQEAgLTIxMTMsMTQgKzIxMDksMTggQEAKIAkgICAgKmJw
KysgPSBud1syXTsKICAgICB9CiAgICAgKmJwID0gJ1wwJzsKLSAgICBzdHJjcHkodCwgYnVmKTsK
KyAgICBTdHJBbGxvY0NvcHkoKnQsIGJ1Zik7CisgICAgRlJFRShidWYpOwogfQogCi1QVUJMSUMg
dm9pZCBIVG1tZGVjX3F1b3RlIEFSR1MyKAotCWNoYXIgKiwJCXQsCitQUklWQVRFIHZvaWQgSFRt
bWRlY19xdW90ZSBBUkdTMigKKwljaGFyICoqLAl0LAogCWNoYXIgKiwJCXMpCiB7Ci0gICAgY2hh
ciAgYnVmW0xJTkVfTEVOR1RIXSwgY3ZhbCwgKmJwLCAqcDsKKyAgICBjaGFyICpidWYsIGN2YWws
ICpicCwgKnA7CisKKyAgICBpZiAoKGJ1ZiA9IG1hbGxvYyhzdHJsZW4ocykgKyAxKSkgPT0gMCkK
KwlvdXRvZm1lbShfX0ZJTEVfXywgIkhUbW1kZWNfcXVvdGUiKTsKIAogICAgIGZvciAoYnAgPSBi
dWY7ICpzOyApIHsKIAlpZiAoKnMgPT0gJz0nKSB7CkBAIC0yMTQ3LDIzICsyMTQ3LDI3IEBACiAJ
fQogICAgIH0KICAgICAqYnAgPSAnXDAnOwotICAgIHN0cmNweSh0LCBidWYpOworICAgIFN0ckFs
bG9jQ29weSgqdCwgYnVmKTsKKyAgICBGUkVFKGJ1Zik7CiB9CiAKIC8qCiAqKglIVG1tZGVjb2Rl
IGZvciBJU08tMjAyMi1KUCAtIEZNCiAqLwogUFVCTElDIHZvaWQgSFRtbWRlY29kZSBBUkdTMigK
LQljaGFyICosCQl0cmcsCi0JY2hhciAqLAkJc3RyKQorCWNoYXIgKiosCXRhcmdldCwKKwljaGFy
ICosCQlzb3VyY2UpCiB7Ci0gICAgY2hhciBidWZbTElORV9MRU5HVEhdLCBtbWJ1ZltMSU5FX0xF
TkdUSF07CisgICAgY2hhciAqYnVmOworICAgIGNoYXIgKm1tYnVmID0gTlVMTDsKKyAgICBjaGFy
ICptMmJ1ZiA9IE5VTEw7CiAgICAgY2hhciAqcywgKnQsICp1OwogICAgIGludCAgYmFzZTY0LCBx
dW90ZTsKIAotICAgIGJ1ZlswXSA9ICdcMCc7Ci0KLSAgICBmb3IgKHMgPSBzdHIsIHUgPSBidWY7
ICpzOyApIHsKKyAgICBpZiAoKGJ1ZiA9IG1hbGxvYyhzdHJsZW4oc291cmNlKSArIDEpKSA9PSAw
KQorCW91dG9mbWVtKF9fRklMRV9fLCAiSFRtbWRlY29kZSIpOworICAKKyAgICBmb3IgKHMgPSBz
b3VyY2UsIHUgPSBidWY7ICpzOykgewogCWlmICghc3RybmNhc2Vjb21wKHMsICI9P0lTTy0yMDIy
LUpQP0I/IiwgMTYpKSB7CiAJICAgIGJhc2U2NCA9IDE7CiAJfSBlbHNlIHsKQEAgLTIxNzcsMTUg
KzIxODEsMTggQEAKIAlpZiAoYmFzZTY0IHx8IHF1b3RlKSB7CiAJICAgIGlmIChIVG1tY29udCkg
ewogCQlmb3IgKHQgPSBzIC0gMTsKLQkJICAgIHQgPj0gc3RyICYmICgqdCA9PSAnICcgfHwgKnQg
PT0gJ1x0Jyk7IHQtLSkgeworCQkgICAgdCA+PSBzb3VyY2UgJiYgKCp0ID09ICcgJyB8fCAqdCA9
PSAnXHQnKTsgdC0tKSB7CiAJCQl1LS07CiAJCX0KIAkgICAgfQorCSAgICBpZiAobW1idWYgPT0g
MCkJLyogYWxsb2NhdGUgYnVmZmVyIGJpZyBlbm91Z2ggZm9yIHNvdXJjZSAqLworCQlTdHJBbGxv
Y0NvcHkobW1idWYsIHNvdXJjZSk7CiAJICAgIGZvciAocyArPSAxNiwgdCA9IG1tYnVmOyAqczsg
KSB7CiAJCWlmIChzWzBdID09ICc/JyAmJiBzWzFdID09ICc9JykgewogCQkgICAgYnJlYWs7CiAJ
CX0gZWxzZSB7CiAJCSAgICAqdCsrID0gKnMrKzsKKwkJICAgICp0ID0gJ1wwJzsKIAkJfQogCSAg
ICB9CiAJICAgIGlmIChzWzBdICE9ICc/JyB8fCBzWzFdICE9ICc9JykgewpAQCAtMjE5NSwxNCAr
MjIwMiwxMiBAQAogCQkqdCA9ICdcMCc7CiAJICAgIH0KIAkgICAgaWYgKGJhc2U2NCkKLQkJSFRt
bWRlY19iYXNlNjQobW1idWYsIG1tYnVmKTsKKwkJSFRtbWRlY19iYXNlNjQoJm0yYnVmLCBtbWJ1
Zik7CiAJICAgIGlmIChxdW90ZSkKLQkJSFRtbWRlY19xdW90ZShtbWJ1ZiwgbW1idWYpOwotCSAg
ICBmb3IgKHQgPSBtbWJ1ZjsgKnQ7ICkKKwkJSFRtbWRlY19xdW90ZSgmbTJidWYsIG1tYnVmKTsK
KwkgICAgZm9yICh0ID0gbTJidWY7ICp0OyApCiAJCSp1KysgPSAqdCsrOwogCSAgICBIVG1tY29u
dCA9IDE7Ci0JICAgIC8qIGlmICgqcyA9PSAnICcgfHwgKnMgPT0gJ1x0JykgKnUrKyA9ICpzOyAq
LwotCSAgICAvKiBmb3IgKCA7ICpzID09ICcgJyB8fCAqcyA9PSAnXHQnOyBzKyspIDsgKi8KIAl9
IGVsc2UgewogCSAgICBpZiAoKnMgIT0gJyAnICYmICpzICE9ICdcdCcpCiAJCUhUbW1jb250ID0g
MDsKQEAgLTIyMTEsNyArMjIxNiwxMCBAQAogICAgIH0KICAgICAqdSA9ICdcMCc7CiBlbmQ6Ci0g
ICAgc3RyY3B5KHRyZywgYnVmKTsKKyAgICBTdHJBbGxvY0NvcHkoKnRhcmdldCwgYnVmKTsKKyAg
ICBGUkVFKG0yYnVmKTsKKyAgICBGUkVFKG1tYnVmKTsKKyAgICBGUkVFKGJ1Zik7CiB9CiAKIC8q
CkBAIC0yMjE5LDIyICsyMjI3LDI3IEBACiAqKiAgKFRoZSBhdXRob3Igb2YgdGhpcyBmdW5jdGlv
biAicmppcyIgaXMgUy4gSWNoaWthd2EuKQogKi8KIFBVQkxJQyBpbnQgSFRyamlzIEFSR1MyKAot
CWNoYXIgKiwJCXQsCisJY2hhciAqKiwJdCwKIAljaGFyICosCQlzKQogewotICAgIGNoYXIgKnAs
IGJ1ZltMSU5FX0xFTkdUSF07CisgICAgY2hhciAqcDsKKyAgICBjaGFyICpidWYgPSBOVUxMOwog
ICAgIGludCBrYW5qaSA9IDA7CiAKLSAgICBpZiAoc3RyY2hyKHMsIEVTQykgfHwgIXN0cmNocihz
LCAnJCcpKSB7Ci0JaWYgKHMgIT0gdCkKLQkgICAgc3RyY3B5KHQsIHMpOworICAgIGlmIChzdHJj
aHIocywgQ0hfRVNDKSB8fCAhc3RyY2hyKHMsICckJykpIHsKKwlpZiAocyAhPSAqdCkKKwkgICAg
U3RyQWxsb2NDb3B5KCp0LCBzKTsKIAlyZXR1cm4gMTsKICAgICB9CisKKyAgICBpZiAoKGJ1ZiA9
IG1hbGxvYyhzdHJsZW4ocykgKiAyICsgMSkpID09IDApCisJb3V0b2ZtZW0oX19GSUxFX18sICJI
VHJqaXMiKTsKKwogICAgIGZvciAocCA9IGJ1ZjsgKnM7ICkgewogCWlmICgha2FuamkgJiYgc1sw
XSA9PSAnJCcgJiYgKHNbMV0gPT0gJ0AnIHx8IHNbMV0gPT0gJ0InKSkgewogCSAgICBpZiAoSFRt
YXliZWthbmppKChpbnQpc1syXSwgKGludClzWzNdKSkgewogCQlrYW5qaSA9IDE7Ci0JCSpwKysg
PSBFU0M7CisJCSpwKysgPSBDSF9FU0M7CiAJCSpwKysgPSAqcysrOwogCQkqcCsrID0gKnMrKzsK
IAkJKnArKyA9ICpzKys7CkBAIC0yMjQ2LDcgKzIyNTksNyBAQAogCX0KIAlpZiAoa2FuamkgJiYg
c1swXSA9PSAnKCcgJiYgKHNbMV0gPT0gJ0onIHx8IHNbMV0gPT0gJ0InKSkgewogCSAgICBrYW5q
aSA9IDA7Ci0JICAgICpwKysgPSBFU0M7CisJICAgICpwKysgPSBDSF9FU0M7CiAJICAgICpwKysg
PSAqcysrOwogCSAgICAqcCsrID0gKnMrKzsKIAkgICAgY29udGludWU7CkBAIC0yMjU1LDcgKzIy
NjgsOCBAQAogICAgIH0KICAgICAqcCA9ICpzOwkvKiB0ZXJtaW5hdGUgc3RyaW5nICovCiAKLSAg
ICBzdHJjcHkodCwgYnVmKTsKKyAgICBTdHJBbGxvY0NvcHkoKnQsIGJ1Zik7CisgICAgRlJFRShi
dWYpOwogICAgIHJldHVybiAwOwogfQogCmRpZmYgLS1leGNsdWRlPScqficgLU5hdXIgbHlueDIt
OC01L1dXVy9MaWJyYXJ5L0ltcGxlbWVudGF0aW9uL0hUTUlNRS5oIGx5bngtMi44LjUtcmVsNS9X
V1cvTGlicmFyeS9JbXBsZW1lbnRhdGlvbi9IVE1JTUUuaAotLS0gbHlueDItOC01L1dXVy9MaWJy
YXJ5L0ltcGxlbWVudGF0aW9uL0hUTUlNRS5oCTIwMDMtMDEtMjIgMDc6NDM6MTMuMDAwMDAwMDAw
IC0wMjAwCisrKyBseW54LTIuOC41LXJlbDUvV1dXL0xpYnJhcnkvSW1wbGVtZW50YXRpb24vSFRN
SU1FLmgJMjAwNS0xMS0xNCAxNjowMjozNy4wMDAwMDAwMDAgLTAyMDAKQEAgLTY3LDIwICs2Nywx
MiBAQAogICBGb3IgaGFuZGxpbmcgSmFwYW5lc2UgaGVhZGVycy4KIAogKi8KLWV4dGVybiB2b2lk
IEhUbW1kZWNfYmFzZTY0IFBBUkFNUygoCi0JY2hhciAqCXQsCi0JY2hhciAqCXMpKTsKLQotZXh0
ZXJuIHZvaWQgSFRtbWRlY19xdW90ZSBQQVJBTVMoKAotCWNoYXIgKgl0LAotCWNoYXIgKglzKSk7
Ci0KIGV4dGVybiB2b2lkIEhUbW1kZWNvZGUgUEFSQU1TKCgKLQljaGFyICoJdHJnLAorCWNoYXIg
KioJdHJnLAogCWNoYXIgKglzdHIpKTsKIAogZXh0ZXJuIGludCBIVHJqaXMgUEFSQU1TKCgKLQlj
aGFyICoJdCwKKwljaGFyICoqCXQsCiAJY2hhciAqCXMpKTsKIAogZXh0ZXJuIGludCBIVG1heWJl
a2FuamkgUEFSQU1TKCgKZGlmZiAtLWV4Y2x1ZGU9Jyp+JyAtTmF1ciBseW54Mi04LTUvV1dXL0xp
YnJhcnkvSW1wbGVtZW50YXRpb24vSFROZXdzLmMgbHlueC0yLjguNS1yZWw1L1dXVy9MaWJyYXJ5
L0ltcGxlbWVudGF0aW9uL0hUTmV3cy5jCi0tLSBseW54Mi04LTUvV1dXL0xpYnJhcnkvSW1wbGVt
ZW50YXRpb24vSFROZXdzLmMJMjAwNC0wMS0wOCAwMDowMzowOS4wMDAwMDAwMDAgLTAyMDAKKysr
IGx5bngtMi44LjUtcmVsNS9XV1cvTGlicmFyeS9JbXBsZW1lbnRhdGlvbi9IVE5ld3MuYwkyMDA1
LTExLTE0IDE2OjAyOjM3LjAwMDAwMDAwMCAtMDIwMApAQCAtOTQwLDcgKzk0MCw2IEBACiAgICAg
fQogfQogCi0jaWZkZWYgU0hfRVgJLyogZm9yIE1JTUUgKi8KICNpZmRlZiBORVdTX0RFQlVHCiAv
KiBmb3IgREVCVUcgMTk5Ny8xMS8wNyAoRnJpKSAxNzoyMDoxNiAqLwogdm9pZCBkZWJ1Z19wcmlu
dCh1bnNpZ25lZCBjaGFyICpwKQpAQCAtOTYyLDQ1ICs5NjEsMTUgQEAKIH0KICNlbmRpZgogCi1z
dGF0aWMgY2hhciAqZGVjb2RlX21pbWUoY2hhciAqc3RyKQorc3RhdGljIGNoYXIgKmRlY29kZV9t
aW1lKGNoYXIgKipzdHIpCiB7Ci0gICAgY2hhciB0ZW1wW0xJTkVfTEVOR1RIXTsJLyogRklYTUU6
IHdoYXQgZGV0ZXJtaW5lcyB0aGUgYWN0dWFsIHNpemU/ICovCi0gICAgY2hhciAqcCwgKnE7Ci0K
LSAgICBpZiAoc3RyID09IE5VTEwpCi0JcmV0dXJuICIiOwotCisjaWZkZWYgU0hfRVgKICAgICBp
ZiAoSFRDSksgIT0gSkFQQU5FU0UpCi0JcmV0dXJuIHN0cjsKLQotICAgIExZc3RybmNweSh0ZW1w
LCBzdHIsIHNpemVvZih0ZW1wKSAtIDEpOwotICAgIHEgPSB0ZW1wOwotICAgIHdoaWxlICgocCA9
IHN0cmNocihxLCAnPScpKSAhPSAwKSB7Ci0JaWYgKHBbMV0gPT0gJz8nKSB7Ci0JICAgIEhUbW1k
ZWNvZGUocCwgcCk7Ci0JICAgIHEgPSBwICsgMjsKLQl9IGVsc2UgewotCSAgICBxID0gcCArIDE7
Ci0JfQotICAgIH0KLSNpZmRlZiBORVdTX0RFQlVHCi0gICAgcHJpbnRmKCJuZXc9WyIpOwotICAg
IGRlYnVnX3ByaW50KHRlbXApOworCXJldHVybiAqc3RyOwogI2VuZGlmCi0gICAgSFRyamlzKHRl
bXAsIHRlbXApOwotICAgIHN0cmNweShzdHIsIHRlbXApOwotCi0gICAgcmV0dXJuIHN0cjsKKyAg
ICBIVG1tZGVjb2RlKHN0ciwgKnN0cik7CisgICAgcmV0dXJuIEhUcmppcyhzdHIsICpzdHIpID8g
KnN0ciA6ICIiOwogfQotI2Vsc2UgLyogIVNIX0VYICovCi1zdGF0aWMgY2hhciAqZGVjb2RlX21p
bWUgQVJHUzEoY2hhciAqLCBzdHIpCi17Ci0gICAgSFRtbWRlY29kZShzdHIsIHN0cik7Ci0gICAg
SFRyamlzKHN0ciwgc3RyKTsKLSAgICByZXR1cm4gc3RyOwotfQotI2VuZGlmCi0KIAogLyoJUmVh
ZCBpbiBhbiBBcnRpY2xlCQkJCQlyZWFkX2FydGljbGUKICoqCS0tLS0tLS0tLS0tLS0tLS0tLQpA
QCAtMTA4NywyMiArMTA1NiwyMiBAQAogCiAJCX0gZWxzZSBpZiAobWF0Y2goZnVsbF9saW5lLCAi
U1VCSkVDVDoiKSkgewogCQkgICAgU3RyQWxsb2NDb3B5KHN1YmplY3QsIEhUU3RyaXAoc3RyY2hy
KGZ1bGxfbGluZSwnOicpKzEpKTsKLQkJICAgIGRlY29kZV9taW1lKHN1YmplY3QpOworCQkgICAg
ZGVjb2RlX21pbWUoJnN1YmplY3QpOwogCQl9IGVsc2UgaWYgKG1hdGNoKGZ1bGxfbGluZSwgIkRB
VEU6IikpIHsKIAkJICAgIFN0ckFsbG9jQ29weShkYXRlLCBIVFN0cmlwKHN0cmNocihmdWxsX2xp
bmUsJzonKSsxKSk7CiAKIAkJfSBlbHNlIGlmIChtYXRjaChmdWxsX2xpbmUsICJPUkdBTklaQVRJ
T046IikpIHsKIAkJICAgIFN0ckFsbG9jQ29weShvcmdhbml6YXRpb24sCiAJCQkJIEhUU3RyaXAo
c3RyY2hyKGZ1bGxfbGluZSwnOicpKzEpKTsKLQkJICAgIGRlY29kZV9taW1lKG9yZ2FuaXphdGlv
bik7CisJCSAgICBkZWNvZGVfbWltZSgmb3JnYW5pemF0aW9uKTsKIAogCQl9IGVsc2UgaWYgKG1h
dGNoKGZ1bGxfbGluZSwgIkZST006IikpIHsKIAkJICAgIFN0ckFsbG9jQ29weShmcm9tLCBIVFN0
cmlwKHN0cmNocihmdWxsX2xpbmUsJzonKSsxKSk7Ci0JCSAgICBkZWNvZGVfbWltZShmcm9tKTsK
KwkJICAgIGRlY29kZV9taW1lKCZmcm9tKTsKIAogCQl9IGVsc2UgaWYgKG1hdGNoKGZ1bGxfbGlu
ZSwgIlJFUExZLVRPOiIpKSB7CiAJCSAgICBTdHJBbGxvY0NvcHkocmVwbHl0bywgSFRTdHJpcChz
dHJjaHIoZnVsbF9saW5lLCc6JykrMSkpOwotCQkgICAgZGVjb2RlX21pbWUocmVwbHl0byk7CisJ
CSAgICBkZWNvZGVfbWltZSgmcmVwbHl0byk7CiAKIAkJfSBlbHNlIGlmIChtYXRjaChmdWxsX2xp
bmUsICJORVdTR1JPVVBTOiIpKSB7CiAJCSAgICBTdHJBbGxvY0NvcHkobmV3c2dyb3VwcywgSFRT
dHJpcChzdHJjaHIoZnVsbF9saW5lLCc6JykrMSkpOwpAQCAtMTcxMSw4ICsxNjgwLDggQEAKIAlp
bnQsCQlsYXN0X3JlcXVpcmVkKQogewogICAgIGNoYXIgbGluZVtMSU5FX0xFTkdUSCsxXTsKLSAg
ICBjaGFyIGF1dGhvcltMSU5FX0xFTkdUSCsxXTsKLSAgICBjaGFyIHN1YmplY3RbTElORV9MRU5H
VEgrMV07CisgICAgY2hhciAqYXV0aG9yID0gTlVMTDsKKyAgICBjaGFyICpzdWJqZWN0ID0gTlVM
TDsKICAgICBjaGFyICpkYXRlID0gTlVMTDsKICAgICBpbnQgaTsKICAgICBjaGFyICpwOwpAQCAt
MTcyNSw3ICsxNjk0LDYgQEAKICAgICBpbnQgc3RhdHVzLCBjb3VudCwgZmlyc3QsIGxhc3Q7CS8q
IFJlc3BvbnNlIGZpZWxkcyAqLwogCQkJCQkvKiBjb3VudCBpcyBvbmx5IGFuIHVwcGVyIGxpbWl0
ICovCiAKLSAgICBhdXRob3JbMF0gPSAnXDAnOwogICAgIFNUQVJUKEhUTUxfSEVBRCk7CiAgICAg
UFVUQygnXG4nKTsKICAgICBTVEFSVChIVE1MX1RJVExFKTsKQEAgLTE5NDYsOCArMTkxNCw4IEBA
CiAJCQljYXNlICdTJzoKIAkJCWNhc2UgJ3MnOgogCQkJICAgIGlmIChtYXRjaChsaW5lLCAiU1VC
SkVDVDoiKSkgewotCQkJCUxZc3RybmNweShzdWJqZWN0LCBsaW5lKzksIHNpemVvZihzdWJqZWN0
KS0xKTsvKiBTYXZlIHN1YmplY3QgKi8KLQkJCQlkZWNvZGVfbWltZShzdWJqZWN0KTsKKwkJCQlT
dHJBbGxvY0NvcHkoc3ViamVjdCwgbGluZSArIDkpOworCQkJCWRlY29kZV9taW1lKCZzdWJqZWN0
KTsKIAkJCSAgICB9CiAJCQkgICAgYnJlYWs7CiAKQEAgLTE5NjQsMTAgKzE5MzIsOCBAQAogCQkJ
Y2FzZSAnRic6CiAJCQkgICAgaWYgKG1hdGNoKGxpbmUsICJGUk9NOiIpKSB7CiAJCQkJY2hhciAq
IHAyOwotCQkJCUxZc3RybmNweShhdXRob3IsCi0JCQkJCWF1dGhvcl9uYW1lKHN0cmNocihsaW5l
LCc6JykrMSksCi0JCQkJCXNpemVvZihhdXRob3IpLTEpOwotCQkJCWRlY29kZV9taW1lKGF1dGhv
cik7CisJCQkJU3RyQWxsb2NDb3B5KGF1dGhvciwgc3RyY2hyKGxpbmUsICc6JykgKyAxKTsKKwkJ
CQlkZWNvZGVfbWltZSgmYXV0aG9yKTsKIAkJCQlwMiA9IGF1dGhvciArIHN0cmxlbihhdXRob3Ip
IC0gMTsKIAkJCQlpZiAoKnAyPT1MRikKIAkJCQkgICAgKnAyID0gJ1wwJzsgLyogQ2hvcCBvZmYg
bmV3bGluZSAqLwpAQCAtMTk4OCwxMSArMTk1NCw4IEBACiAKIAkJUFVUQygnXG4nKTsKIAkJU1RB
UlQoSFRNTF9MSSk7Ci0jaWZkZWYgU0hfRVgJLyogZm9yIE1JTUUgKi8KLQkJSFRTcHJpbnRmMCgm
dGVtcCwgIlwiJXNcIiIsIGRlY29kZV9taW1lKHN1YmplY3QpKTsKLSNlbHNlCi0JCUhUU3ByaW50
ZjAoJnRlbXAsICJcIiVzXCIiLCBzdWJqZWN0KTsKLSNlbmRpZgorCQlwID0gZGVjb2RlX21pbWUo
JnN1YmplY3QpOworCQlIVFNwcmludGYwKCZ0ZW1wLCAiXCIlc1wiIiwgTm9uTnVsbChwKSk7CiAJ
CWlmIChyZWZlcmVuY2UpIHsKIAkJICAgIHdyaXRlX2FuY2hvcih0ZW1wLCByZWZlcmVuY2UpOwog
CQkgICAgRlJFRShyZWZlcmVuY2UpOwpAQCAtMjAwMSwxOCArMTk2NCwxNCBAQAogCQl9CiAJCUZS
RUUodGVtcCk7CiAKLQkJaWYgKGF1dGhvclswXSAhPSAnXDAnKSB7CisJCWlmIChhdXRob3IgIT0g
TlVMTCkgewogCQkgICAgIFBVVFMoIiAtICIpOwogCQkgICAgIGlmIChMWUxpc3ROZXdzRGF0ZXMp
CiAJCQkgU1RBUlQoSFRNTF9JKTsKLSNpZmRlZiBTSF9FWAkvKiBmb3IgTUlNRSAqLwotCQkgICAg
IFBVVFMoZGVjb2RlX21pbWUoYXV0aG9yKSk7Ci0jZWxzZQotCQkgICAgIFBVVFMoYXV0aG9yKTsK
LSNlbmRpZgorCQkgICAgUFVUUyhkZWNvZGVfbWltZSgmYXV0aG9yKSk7CiAJCSAgICAgaWYgKExZ
TGlzdE5ld3NEYXRlcykKIAkJCSBFTkQoSFRNTF9JKTsKLQkJICAgICBhdXRob3JbMF0gPSAnXDAn
OworCQkgICAgRlJFRShhdXRob3IpOwogCQl9CiAJCWlmIChkYXRlKSB7CiAJCSAgICBpZiAoIWRp
YWdub3N0aWMpIHsKQEAgLTIwNTUsNiArMjAxNCw4IEBACiAJCU1BWUJFX0VORChIVE1MX0xJKTsK
IAkgICAgfSAvKiBIYW5kbGUgcmVzcG9uc2UgdG8gSEVBRCByZXF1ZXN0ICovCiAJfSAvKiBMb29w
IG92ZXIgYXJ0aWNsZSAqLworCUZSRUUoYXV0aG9yKTsKKwlGUkVFKHN1YmplY3QpOwogICAgIH0g
LyogSWYgcmVhZCBoZWFkZXJzICovCiAgICAgUFVUQygnXG4nKTsKICAgICBpZiAoTFlMaXN0TmV3
c051bWJlcnMpCmRpZmYgLS1leGNsdWRlPScqficgLU5hdXIgbHlueDItOC01L1dXVy9MaWJyYXJ5
L0ltcGxlbWVudGF0aW9uL0hUU3RyaW5nLmMgbHlueC0yLjguNS1yZWw1L1dXVy9MaWJyYXJ5L0lt
cGxlbWVudGF0aW9uL0hUU3RyaW5nLmMKLS0tIGx5bngyLTgtNS9XV1cvTGlicmFyeS9JbXBsZW1l
bnRhdGlvbi9IVFN0cmluZy5jCTIwMDQtMDEtMjggMTc6MzA6MzguMDAwMDAwMDAwIC0wMjAwCisr
KyBseW54LTIuOC41LXJlbDUvV1dXL0xpYnJhcnkvSW1wbGVtZW50YXRpb24vSFRTdHJpbmcuYwky
MDA1LTExLTE0IDE2OjAyOjM1LjAwMDAwMDAwMCAtMDIwMApAQCAtODc3LDExICs4NzcsMTUgQEAK
ICAgICBDT05TVCBjaGFyICosCXBhcmFtZXRlcikKIHsKICAgICBzaXplX3QgaTsKLSAgICBzaXpl
X3QgbGFzdCA9IHN0cmxlbihwYXJhbWV0ZXIpOworICAgIHNpemVfdCBsYXN0OwogICAgIHNpemVf
dCBuID0gMDsKICAgICBzaXplX3QgcXVvdGVkID0gMDsKICAgICBjaGFyICogcmVzdWx0OwogCisg
ICAgaWYgKHBhcmFtZXRlciA9PSAwKQorCXBhcmFtZXRlciA9ICIiOworCisgICAgbGFzdCA9IHN0
cmxlbihwYXJhbWV0ZXIpOwogICAgIGZvciAoaT0wOyBpIDwgbGFzdDsgKytpKQogCWlmIChzdHJj
aHIoIlxcJiMkXio/KCl7fTw+XCInO2B8IiwgcGFyYW1ldGVyW2ldKSAhPSAwCiAJIHx8IGlzc3Bh
Y2UoVUNIKHBhcmFtZXRlcltpXSkpKQpkaWZmIC0tZXhjbHVkZT0nKn4nIC1OYXVyIGx5bngyLTgt
NS9XV1cvTGlicmFyeS9JbXBsZW1lbnRhdGlvbi9IVFV0aWxzLmggbHlueC0yLjguNS1yZWw1L1dX
Vy9MaWJyYXJ5L0ltcGxlbWVudGF0aW9uL0hUVXRpbHMuaAotLS0gbHlueDItOC01L1dXVy9MaWJy
YXJ5L0ltcGxlbWVudGF0aW9uL0hUVXRpbHMuaAkyMDA0LTAyLTA0IDEwOjA3OjA5LjAwMDAwMDAw
MCAtMDIwMAorKysgbHlueC0yLjguNS1yZWw1L1dXVy9MaWJyYXJ5L0ltcGxlbWVudGF0aW9uL0hU
VXRpbHMuaAkyMDA1LTExLTE0IDE2OjAyOjM1LjAwMDAwMDAwMCAtMDIwMApAQCAtNTcxLDYgKzU3
MSwxMCBAQAogI2RlZmluZSBUUkFDRV9DRkcgICAgICAgKFRSQUNFX2JpdCgzKSkKICNkZWZpbmUg
VFJBQ0VfQlNUUklORyAgIChUUkFDRV9iaXQoNCkpCiAKKyNpZiBkZWZpbmVkKFVTRV9WRVJUUkFD
RSkgJiYgIWRlZmluZWQoTFlfVFJBQ0VMSU5FKQorI2RlZmluZSBMWV9UUkFDRUxJTkUgX19MSU5F
X18KKyNlbmRpZgorCiAjaWYgZGVmaW5lZChMWV9UUkFDRUxJTkUpCiAjZGVmaW5lIExZX1NIT1dX
SEVSRSBmcHJpbnRmKCB0ZnAsICIlczogJWQ6ICIsIF9fRklMRV9fLCBMWV9UUkFDRUxJTkUgKSwK
ICNlbHNlCg==
</data>        

          </attachment>
    </bug>

</bugzilla>