<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
<!DOCTYPE bugzilla SYSTEM "https://bugs.webkit.org/page.cgi?id=bugzilla.dtd">

<bugzilla version="5.0.4.1"
          urlbase="https://bugs.webkit.org/"
          
          maintainer="admin@webkit.org"
>

    <bug>
          <bug_id>59847</bug_id>
          
          <creation_ts>2011-04-29 16:56:04 -0700</creation_ts>
          <short_desc>Remove linkOffset from LinkBuffer</short_desc>
          <delta_ts>2011-04-29 17:11:37 -0700</delta_ts>
          <reporter_accessible>1</reporter_accessible>
          <cclist_accessible>1</cclist_accessible>
          <classification_id>1</classification_id>
          <classification>Unclassified</classification>
          <product>WebKit</product>
          <component>JavaScriptCore</component>
          <version>528+ (Nightly build)</version>
          <rep_platform>PC</rep_platform>
          <op_sys>OS X 10.5</op_sys>
          <bug_status>RESOLVED</bug_status>
          <resolution>FIXED</resolution>
          
          
          <bug_file_loc></bug_file_loc>
          <status_whiteboard></status_whiteboard>
          <keywords></keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Gavin Barraclough">barraclough</reporter>
          <assigned_to name="Gavin Barraclough">barraclough</assigned_to>
          
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>395624</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-04-29 16:56:04 -0700</bug_when>
    <thetext>This is redundant since removal of recompilation for exception info.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395626</commentid>
    <comment_count>1</comment_count>
      <attachid>91768</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-04-29 16:58:53 -0700</bug_when>
    <thetext>Created attachment 91768
The patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>395631</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2011-04-29 17:11:37 -0700</bug_when>
    <thetext>fixed in r85372</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>91768</attachid>
            <date>2011-04-29 16:58:53 -0700</date>
            <delta_ts>2011-04-29 17:00:30 -0700</delta_ts>
            <desc>The patch</desc>
            <filename>59847.patch</filename>
            <type>text/plain</type>
            <size>20924</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gODUzNzApCisrKyBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvQ2hhbmdlTG9nCSh3b3JraW5nIGNvcHkpCkBAIC0xLDMgKzEsNTIgQEAK
KzIwMTEtMDQtMjkgIEdhdmluIEJhcnJhY2xvdWdoICA8YmFycmFjbG91Z2hAYXBwbGUuY29tPgor
CisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIGh0dHBzOi8v
YnVncy53ZWJraXQub3JnL3Nob3dfYnVnLmNnaT9pZD01OTg0NworICAgICAgICBSZW1vdmUgbGlu
a09mZnNldCBmcm9tIExpbmtCdWZmZXIKKworICAgICAgICBUaGlzIGlzIHJlZHVuZGFudCBzaW5j
ZSByZW1vdmFsIG9mIHJlY29tcGlsYXRpb24gZm9yIGV4Y2VwdGlvbiBpbmZvLgorCisgICAgICAg
ICogYXNzZW1ibGVyL0xpbmtCdWZmZXIuaDoKKyAgICAgICAgKEpTQzo6TGlua0J1ZmZlcjo6TGlu
a0J1ZmZlcik6CisgICAgICAgIChKU0M6OkxpbmtCdWZmZXI6OmxpbmtDb2RlKToKKyAgICAgICAg
KiBkZmcvREZHSklUQ29tcGlsZXIuY3BwOgorICAgICAgICAoSlNDOjpERkc6OkpJVENvbXBpbGVy
Ojpjb21waWxlRnVuY3Rpb24pOgorICAgICAgICAqIGppdC9KSVQuY3BwOgorICAgICAgICAoSlND
OjpKSVQ6OkpJVCk6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGUpOgorICAgICAg
ICAqIGppdC9KSVQuaDoKKyAgICAgICAgKEpTQzo6SklUOjpjb21waWxlKToKKyAgICAgICAgKEpT
Qzo6SklUOjpjb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKToKKyAgICAgICAgKEpTQzo6SklU
Ojpjb21waWxlQ1RJTmF0aXZlQ2FsbCk6CisgICAgICAgICogaml0L0pJVE9wY29kZXMuY3BwOgor
ICAgICAgICAoSlNDOjpKSVQ6OnByaXZhdGVDb21waWxlQ1RJTWFjaGluZVRyYW1wb2xpbmVzKToK
KyAgICAgICAgKiBqaXQvSklUT3Bjb2RlczMyXzY0LmNwcDoKKyAgICAgICAgKEpTQzo6SklUOjpw
cml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyk6CisgICAgICAgIChKU0M6OkpJVDo6
cHJpdmF0ZUNvbXBpbGVDVElOYXRpdmVDYWxsKToKKyAgICAgICAgKiBqaXQvSklUUHJvcGVydHlB
Y2Nlc3MuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnN0cmluZ0dldEJ5VmFsU3R1YkdlbmVyYXRv
cik6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlvbik6
CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3RoKToK
KyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6CisgICAgICAg
IChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOgorICAgICAgICAoSlND
OjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6CisgICAgICAgIChKU0M6OkpJ
VDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KToKKyAgICAgICAgKEpTQzo6SklUOjpw
cml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6CisgICAgICAgICogaml0L0pJVFByb3BlcnR5QWNj
ZXNzMzJfNjQuY3BwOgorICAgICAgICAoSlNDOjpKSVQ6OnN0cmluZ0dldEJ5VmFsU3R1YkdlbmVy
YXRvcik6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQdXRCeUlkVHJhbnNpdGlv
bik6CisgICAgICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVQYXRjaEdldEFycmF5TGVuZ3Ro
KToKKyAgICAgICAgKEpTQzo6SklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byk6CisgICAg
ICAgIChKU0M6OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkU2VsZkxpc3QpOgorICAgICAgICAo
SlNDOjpKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3RvTGlzdCk6CisgICAgICAgIChKU0M6
OkpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0KToKKyAgICAgICAgKEpTQzo6SklU
Ojpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbik6CisgICAgICAgICogaml0L1NwZWNpYWxpemVk
VGh1bmtKSVQuaDoKKyAgICAgICAgKEpTQzo6U3BlY2lhbGl6ZWRUaHVua0pJVDo6ZmluYWxpemUp
OgorICAgICAgICAqIHlhcnIvWWFyckpJVC5jcHA6CisgICAgICAgIChKU0M6OllhcnI6OllhcnJH
ZW5lcmF0b3I6OmNvbXBpbGUpOgorCiAyMDExLTA0LTI5ICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJh
cnJhY2xvdWdoQGFwcGxlLmNvbT4KIAogICAgICAgICBSZXZpZXdlZCBieSBPbGl2ZXIgSHVudCAm
IEdlb2ZmIEdhcmVuLgpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9MaW5r
QnVmZmVyLmgKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2Fzc2VtYmxlci9M
aW5rQnVmZmVyLmgJKHJldmlzaW9uIDg1MjcyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2Fz
c2VtYmxlci9MaW5rQnVmZmVyLmgJKHdvcmtpbmcgY29weSkKQEAgLTcwLDggKzcwLDcgQEAgcHVi
bGljOgogICAgIC8vIE5vdGU6IEluaXRpYWxpemF0aW9uIHNlcXVlbmNlIGlzIHNpZ25pZmljYW50
LCBzaW5jZSBleGVjdXRhYmxlUG9vbCBpcyBhIFBhc3NSZWZQdHIuCiAgICAgLy8gICAgICAgRmly
c3QsIGV4ZWN1dGFibGVQb29sIGlzIGNvcGllZCBpbnRvIG1fZXhlY3V0YWJsZVBvb2wsIHRoZW4g
dGhlIGluaXRpYWxpemF0aW9uIG9mCiAgICAgLy8gICAgICAgbV9jb2RlIHVzZXMgbV9leGVjdXRh
YmxlUG9vbCwgKm5vdCogZXhlY3V0YWJsZVBvb2wsIHNpbmNlIHRoaXMgaXMgbm8gbG9uZ2VyIHZh
bGlkLgotICAgIC8vIFRoZSBsaW5rT2Zmc2V0IHBhcmFtZXRlciBzaG91bGQgb25seSBiZSBub24t
bnVsbCB3aGVuIHJlY29tcGlsaW5nIGZvciBleGNlcHRpb24gaW5mbwotICAgIExpbmtCdWZmZXIo
TWFjcm9Bc3NlbWJsZXIqIG1hc20sIFBhc3NSZWZQdHI8RXhlY3V0YWJsZVBvb2w+IGV4ZWN1dGFi
bGVQb29sLCB2b2lkKiBsaW5rT2Zmc2V0KQorICAgIExpbmtCdWZmZXIoTWFjcm9Bc3NlbWJsZXIq
IG1hc20sIFBhc3NSZWZQdHI8RXhlY3V0YWJsZVBvb2w+IGV4ZWN1dGFibGVQb29sKQogICAgICAg
ICA6IG1fZXhlY3V0YWJsZVBvb2woZXhlY3V0YWJsZVBvb2wpCiAgICAgICAgICwgbV9zaXplKDAp
CiAgICAgICAgICwgbV9jb2RlKDApCkBAIC04MCw3ICs3OSw3IEBAIHB1YmxpYzoKICAgICAgICAg
LCBtX2NvbXBsZXRlZChmYWxzZSkKICNlbmRpZgogICAgIHsKLSAgICAgICAgbGlua0NvZGUobGlu
a09mZnNldCk7CisgICAgICAgIGxpbmtDb2RlKCk7CiAgICAgfQogCiAgICAgfkxpbmtCdWZmZXIo
KQpAQCAtMjA2LDkgKzIwNSw4IEBAIHByaXZhdGU6CiAgICAgICAgIHJldHVybiBtX2NvZGU7CiAg
ICAgfQogCi0gICAgdm9pZCBsaW5rQ29kZSh2b2lkKiBsaW5rT2Zmc2V0KQorICAgIHZvaWQgbGlu
a0NvZGUoKQogICAgIHsKLSAgICAgICAgVU5VU0VEX1BBUkFNKGxpbmtPZmZzZXQpOwogICAgICAg
ICBBU1NFUlQoIW1fY29kZSk7CiAjaWYgIUVOQUJMRShCUkFOQ0hfQ09NUEFDVElPTikKICAgICAg
ICAgbV9jb2RlID0gbV9hc3NlbWJsZXItPm1fYXNzZW1ibGVyLmV4ZWN1dGFibGVDb3B5KG1fZXhl
Y3V0YWJsZVBvb2wuZ2V0KCkpOwpAQCAtMjIxLDcgKzIxOSw2IEBAIHByaXZhdGU6CiAgICAgICAg
IEV4ZWN1dGFibGVBbGxvY2F0b3I6Om1ha2VXcml0YWJsZShtX2NvZGUsIG1fYXNzZW1ibGVyLT5z
aXplKCkpOwogICAgICAgICB1aW50OF90KiBpbkRhdGEgPSAodWludDhfdCopbV9hc3NlbWJsZXIt
PnVubGlua2VkQ29kZSgpOwogICAgICAgICB1aW50OF90KiBvdXREYXRhID0gcmVpbnRlcnByZXRf
Y2FzdDx1aW50OF90Kj4obV9jb2RlKTsKLSAgICAgICAgY29uc3QgdWludDhfdCogbGlua0Jhc2Ug
PSBsaW5rT2Zmc2V0ID8gcmVpbnRlcnByZXRfY2FzdDx1aW50OF90Kj4obGlua09mZnNldCkgOiBv
dXREYXRhOwogICAgICAgICBpbnQgcmVhZFB0ciA9IDA7CiAgICAgICAgIGludCB3cml0ZVB0ciA9
IDA7CiAgICAgICAgIFZlY3RvcjxMaW5rUmVjb3JkPiYganVtcHNUb0xpbmsgPSBtX2Fzc2VtYmxl
ci0+anVtcHNUb0xpbmsoKTsKQEAgLTI0MSwxMSArMjM4LDExIEBAIHByaXZhdGU6CiAgICAgICAg
ICAgICAvLyBicmFuY2hlcyB3ZSBuZWVkIHRvIGJlIHByZWNpc2UsIGZvcndhcmQgYnJhbmNoZXMg
d2UgYXJlIHBlc3NpbWlzdGljCiAgICAgICAgICAgICBjb25zdCB1aW50OF90KiB0YXJnZXQ7CiAg
ICAgICAgICAgICBpZiAoanVtcHNUb0xpbmtbaV0udG8oKSA+PSBqdW1wc1RvTGlua1tpXS5mcm9t
KCkpCi0gICAgICAgICAgICAgICAgdGFyZ2V0ID0gbGlua0Jhc2UgKyBqdW1wc1RvTGlua1tpXS50
bygpIC0gb2Zmc2V0OyAvLyBDb21wZW5zYXRlIGZvciB3aGF0IHdlIGhhdmUgY29sbGFwc2VkIHNv
IGZhcgorICAgICAgICAgICAgICAgIHRhcmdldCA9IG91dERhdGEgKyBqdW1wc1RvTGlua1tpXS50
bygpIC0gb2Zmc2V0OyAvLyBDb21wZW5zYXRlIGZvciB3aGF0IHdlIGhhdmUgY29sbGFwc2VkIHNv
IGZhcgogICAgICAgICAgICAgZWxzZQotICAgICAgICAgICAgICAgIHRhcmdldCA9IGxpbmtCYXNl
ICsganVtcHNUb0xpbmtbaV0udG8oKSAtIG1fYXNzZW1ibGVyLT5leGVjdXRhYmxlT2Zmc2V0Rm9y
KGp1bXBzVG9MaW5rW2ldLnRvKCkpOworICAgICAgICAgICAgICAgIHRhcmdldCA9IG91dERhdGEg
KyBqdW1wc1RvTGlua1tpXS50bygpIC0gbV9hc3NlbWJsZXItPmV4ZWN1dGFibGVPZmZzZXRGb3Io
anVtcHNUb0xpbmtbaV0udG8oKSk7CiAgICAgICAgICAgICAKLSAgICAgICAgICAgIEp1bXBMaW5r
VHlwZSBqdW1wTGlua1R5cGUgPSBtX2Fzc2VtYmxlci0+Y29tcHV0ZUp1bXBUeXBlKGp1bXBzVG9M
aW5rW2ldLCBsaW5rQmFzZSArIHdyaXRlUHRyLCB0YXJnZXQpOworICAgICAgICAgICAgSnVtcExp
bmtUeXBlIGp1bXBMaW5rVHlwZSA9IG1fYXNzZW1ibGVyLT5jb21wdXRlSnVtcFR5cGUoanVtcHNU
b0xpbmtbaV0sIG91dERhdGEgKyB3cml0ZVB0ciwgdGFyZ2V0KTsKICAgICAgICAgICAgIC8vIENv
bXBhY3QgYnJhbmNoIGlmIHdlIGNhbi4uLgogICAgICAgICAgICAgaWYgKG1fYXNzZW1ibGVyLT5j
YW5Db21wYWN0KGp1bXBzVG9MaW5rW2ldLnR5cGUoKSkpIHsKICAgICAgICAgICAgICAgICAvLyBT
dGVwIGJhY2sgaW4gdGhlIHdyaXRlIHN0cmVhbQpAQCAtMjYxLDE0ICsyNTgsMTAgQEAgcHJpdmF0
ZToKICAgICAgICAgbWVtY3B5KG91dERhdGEgKyB3cml0ZVB0ciwgaW5EYXRhICsgcmVhZFB0ciwg
bV9hc3NlbWJsZXItPnNpemUoKSAtIHJlYWRQdHIpOwogICAgICAgICBtX2Fzc2VtYmxlci0+cmVj
b3JkTGlua09mZnNldHMocmVhZFB0ciwgbV9hc3NlbWJsZXItPnNpemUoKSwgcmVhZFB0ciAtIHdy
aXRlUHRyKTsKICAgICAgICAgCi0gICAgICAgIC8vIEFjdHVhbGx5IGxpbmsgZXZlcnl0aGluZyAo
ZG9uJ3QgbGluayBpZiB3ZSd2ZSBiZSBnaXZlbiBhIGxpbmtvZmZzZXQgYXMgaXQncyBhCi0gICAg
ICAgIC8vIHdhc3RlIG9mIHRpbWU6IGxpbmtPZmZzZXQgaXMgdXNlZCBmb3IgcmVjb21waWxpbmcg
dG8gZ2V0IGV4Y2VwdGlvbiBpbmZvKQotICAgICAgICBpZiAoIWxpbmtPZmZzZXQpIHsKLSAgICAg
ICAgICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBqdW1wQ291bnQ7ICsraSkgewotICAgICAg
ICAgICAgICAgIHVpbnQ4X3QqIGxvY2F0aW9uID0gb3V0RGF0YSArIGp1bXBzVG9MaW5rW2ldLmZy
b20oKTsKLSAgICAgICAgICAgICAgICB1aW50OF90KiB0YXJnZXQgPSBvdXREYXRhICsganVtcHNU
b0xpbmtbaV0udG8oKSAtIG1fYXNzZW1ibGVyLT5leGVjdXRhYmxlT2Zmc2V0Rm9yKGp1bXBzVG9M
aW5rW2ldLnRvKCkpOwotICAgICAgICAgICAgICAgIG1fYXNzZW1ibGVyLT5saW5rKGp1bXBzVG9M
aW5rW2ldLCBsb2NhdGlvbiwgdGFyZ2V0KTsKLSAgICAgICAgICAgIH0KKyAgICAgICAgZm9yICh1
bnNpZ25lZCBpID0gMDsgaSA8IGp1bXBDb3VudDsgKytpKSB7CisgICAgICAgICAgICB1aW50OF90
KiBsb2NhdGlvbiA9IG91dERhdGEgKyBqdW1wc1RvTGlua1tpXS5mcm9tKCk7CisgICAgICAgICAg
ICB1aW50OF90KiB0YXJnZXQgPSBvdXREYXRhICsganVtcHNUb0xpbmtbaV0udG8oKSAtIG1fYXNz
ZW1ibGVyLT5leGVjdXRhYmxlT2Zmc2V0Rm9yKGp1bXBzVG9MaW5rW2ldLnRvKCkpOworICAgICAg
ICAgICAgbV9hc3NlbWJsZXItPmxpbmsoanVtcHNUb0xpbmtbaV0sIGxvY2F0aW9uLCB0YXJnZXQp
OwogICAgICAgICB9CiAKICAgICAgICAganVtcHNUb0xpbmsuY2xlYXIoKTsKSW5kZXg6IFNvdXJj
ZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwCj09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0KLS0tIFNv
dXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwCShyZXZpc2lvbiA4NTI3
MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHSklUQ29tcGlsZXIuY3BwCSh3b3Jr
aW5nIGNvcHkpCkBAIC0zNTAsNyArMzUwLDcgQEAgdm9pZCBKSVRDb21waWxlcjo6Y29tcGlsZUZ1
bmN0aW9uKEpJVENvZAogICAgIC8vCiAgICAgLy8gTGluayB0aGUgY29kZSwgcG9wdWxhdGUgZGF0
YSBpbiBDb2RlQmxvY2sgZGF0YSBzdHJ1Y3R1cmVzLgogCi0gICAgTGlua0J1ZmZlciBsaW5rQnVm
ZmVyKHRoaXMsIG1fZ2xvYmFsRGF0YS0+ZXhlY3V0YWJsZUFsbG9jYXRvci5wb29sRm9yU2l6ZSht
X2Fzc2VtYmxlci5zaXplKCkpLCAwKTsKKyAgICBMaW5rQnVmZmVyIGxpbmtCdWZmZXIodGhpcywg
bV9nbG9iYWxEYXRhLT5leGVjdXRhYmxlQWxsb2NhdG9yLnBvb2xGb3JTaXplKG1fYXNzZW1ibGVy
LnNpemUoKSkpOwogCiAjaWYgREZHX0RFQlVHX1ZFUkJPU0UKICAgICBmcHJpbnRmKHN0ZGVyciwg
IkpJVCBjb2RlIHN0YXJ0IGF0ICVwXG4iLCBsaW5rQnVmZmVyLmRlYnVnQWRkcmVzcygpKTsKSW5k
ZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmNwcAo9PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3Vy
Y2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVC5jcHAJKHJldmlzaW9uIDg1MjcyKQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC02OCw3ICs2OCw3
IEBAIHZvaWQgY3RpUGF0Y2hDYWxsQnlSZXR1cm5BZGRyZXNzKENvZGVCbG8KICAgICByZXBhdGNo
QnVmZmVyLnJlbGlua0NhbGxlclRvRnVuY3Rpb24ocmV0dXJuQWRkcmVzcywgbmV3Q2FsbGVlRnVu
Y3Rpb24pOwogfQogCi1KSVQ6OkpJVChKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIENvZGVCbG9j
ayogY29kZUJsb2NrLCB2b2lkKiBsaW5rZXJPZmZzZXQpCitKSVQ6OkpJVChKU0dsb2JhbERhdGEq
IGdsb2JhbERhdGEsIENvZGVCbG9jayogY29kZUJsb2NrKQogICAgIDogbV9pbnRlcnByZXRlcihn
bG9iYWxEYXRhLT5pbnRlcnByZXRlcikKICAgICAsIG1fZ2xvYmFsRGF0YShnbG9iYWxEYXRhKQog
ICAgICwgbV9jb2RlQmxvY2soY29kZUJsb2NrKQpAQCAtODYsNyArODYsNiBAQCBKSVQ6OkpJVChK
U0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIENvZGVCCiAgICAgLCBtX2xhc3RSZXN1bHRCeXRlY29k
ZVJlZ2lzdGVyKHN0ZDo6bnVtZXJpY19saW1pdHM8aW50Pjo6bWF4KCkpCiAgICAgLCBtX2p1bXBU
YXJnZXRzUG9zaXRpb24oMCkKICNlbmRpZgotICAgICwgbV9saW5rZXJPZmZzZXQobGlua2VyT2Zm
c2V0KQogewogfQogCkBAIC01MTMsNyArNTEyLDcgQEAgSklUQ29kZSBKSVQ6OnByaXZhdGVDb21w
aWxlKENvZGVQdHIqIGZ1bgogCiAgICAgQVNTRVJUKG1fam1wVGFibGUuaXNFbXB0eSgpKTsKIAot
ICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIodGhpcywgbV9nbG9iYWxEYXRhLT5leGVjdXRhYmxl
QWxsb2NhdG9yLnBvb2xGb3JTaXplKG1fYXNzZW1ibGVyLnNpemUoKSksIG1fbGlua2VyT2Zmc2V0
KTsKKyAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKHRoaXMsIG1fZ2xvYmFsRGF0YS0+ZXhlY3V0
YWJsZUFsbG9jYXRvci5wb29sRm9yU2l6ZShtX2Fzc2VtYmxlci5zaXplKCkpKTsKIAogICAgIC8v
IFRyYW5zbGF0ZSB2UEMgb2Zmc2V0cyBpbnRvIGFkZHJlc3NlcyBpbiBKSVQgZ2VuZXJhdGVkIGNv
ZGUsIGZvciBzd2l0Y2ggdGFibGVzLgogICAgIGZvciAodW5zaWduZWQgaSA9IDA7IGkgPCBtX3N3
aXRjaGVzLnNpemUoKTsgKytpKSB7CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJ
VC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklULmgJKHJldmlz
aW9uIDg1MjcyKQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVQuaAkod29ya2luZyBj
b3B5KQpAQCAtMTc4LDkgKzE3OCw5IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICBzdGF0aWMg
Y29uc3QgaW50IHBhdGNoR2V0QnlJZERlZmF1bHRPZmZzZXQgPSAyNTY7CiAKICAgICBwdWJsaWM6
Ci0gICAgICAgIHN0YXRpYyBKSVRDb2RlIGNvbXBpbGUoSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRh
LCBDb2RlQmxvY2sqIGNvZGVCbG9jaywgQ29kZVB0ciogZnVuY3Rpb25FbnRyeUFyaXR5Q2hlY2sg
PSAwLCB2b2lkKiBvZmZzZXRCYXNlID0gMCkKKyAgICAgICAgc3RhdGljIEpJVENvZGUgY29tcGls
ZShKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIENvZGVCbG9jayogY29kZUJsb2NrLCBDb2RlUHRy
KiBmdW5jdGlvbkVudHJ5QXJpdHlDaGVjayA9IDApCiAgICAgICAgIHsKLSAgICAgICAgICAgIHJl
dHVybiBKSVQoZ2xvYmFsRGF0YSwgY29kZUJsb2NrLCBvZmZzZXRCYXNlKS5wcml2YXRlQ29tcGls
ZShmdW5jdGlvbkVudHJ5QXJpdHlDaGVjayk7CisgICAgICAgICAgICByZXR1cm4gSklUKGdsb2Jh
bERhdGEsIGNvZGVCbG9jaykucHJpdmF0ZUNvbXBpbGUoZnVuY3Rpb25FbnRyeUFyaXR5Q2hlY2sp
OwogICAgICAgICB9CiAKICAgICAgICAgc3RhdGljIHZvaWQgY29tcGlsZUdldEJ5SWRQcm90byhK
U0dsb2JhbERhdGEqIGdsb2JhbERhdGEsIENhbGxGcmFtZSogY2FsbEZyYW1lLCBDb2RlQmxvY2sq
IGNvZGVCbG9jaywgU3RydWN0dXJlU3R1YkluZm8qIHN0dWJJbmZvLCBTdHJ1Y3R1cmUqIHN0cnVj
dHVyZSwgU3RydWN0dXJlKiBwcm90b3R5cGVTdHJ1Y3R1cmUsIGNvbnN0IElkZW50aWZpZXImIGlk
ZW50LCBjb25zdCBQcm9wZXJ0eVNsb3QmIHNsb3QsIHNpemVfdCBjYWNoZWRPZmZzZXQsIFJldHVy
bkFkZHJlc3NQdHIgcmV0dXJuQWRkcmVzcykKQEAgLTIyMSw3ICsyMjEsNyBAQCBuYW1lc3BhY2Ug
SlNDIHsKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFnbG9iYWxEYXRhLT5jYW5Vc2VKSVQo
KSkKICAgICAgICAgICAgICAgICByZXR1cm47Ci0gICAgICAgICAgICBKSVQgaml0KGdsb2JhbERh
dGEsIDAsIDApOworICAgICAgICAgICAgSklUIGppdChnbG9iYWxEYXRhLCAwKTsKICAgICAgICAg
ICAgIGppdC5wcml2YXRlQ29tcGlsZUNUSU1hY2hpbmVUcmFtcG9saW5lcyhleGVjdXRhYmxlUG9v
bCwgZ2xvYmFsRGF0YSwgdHJhbXBvbGluZXMpOwogICAgICAgICB9CiAKQEAgLTIyOSw3ICsyMjks
NyBAQCBuYW1lc3BhY2UgSlNDIHsKICAgICAgICAgewogICAgICAgICAgICAgaWYgKCFnbG9iYWxE
YXRhLT5jYW5Vc2VKSVQoKSkKICAgICAgICAgICAgICAgICByZXR1cm4gQ29kZVB0cigpOwotICAg
ICAgICAgICAgSklUIGppdChnbG9iYWxEYXRhLCAwLCAwKTsKKyAgICAgICAgICAgIEpJVCBqaXQo
Z2xvYmFsRGF0YSwgMCk7CiAgICAgICAgICAgICByZXR1cm4gaml0LnByaXZhdGVDb21waWxlQ1RJ
TmF0aXZlQ2FsbChleGVjdXRhYmxlUG9vbCwgZ2xvYmFsRGF0YSwgZnVuYyk7CiAgICAgICAgIH0K
IApAQCAtMjU4LDcgKzI1OCw3IEBAIG5hbWVzcGFjZSBKU0MgewogICAgICAgICAgICAgfQogICAg
ICAgICB9OwogCi0gICAgICAgIEpJVChKU0dsb2JhbERhdGEqLCBDb2RlQmxvY2sqID0gMCwgdm9p
ZCogPSAwKTsKKyAgICAgICAgSklUKEpTR2xvYmFsRGF0YSosIENvZGVCbG9jayogPSAwKTsKIAog
ICAgICAgICB2b2lkIHByaXZhdGVDb21waWxlTWFpblBhc3MoKTsKICAgICAgICAgdm9pZCBwcml2
YXRlQ29tcGlsZUxpbmtQYXNzKCk7CkBAIC05OTMsNyArOTkzLDYgQEAgbmFtZXNwYWNlIEpTQyB7
CiAgICAgICAgIGludCBtX3VuaW50ZXJydXB0ZWRDb25zdGFudFNlcXVlbmNlQmVnaW47CiAjZW5k
aWYKICNlbmRpZgotICAgICAgICB2b2lkKiBtX2xpbmtlck9mZnNldDsKICAgICAgICAgc3RhdGlj
IENvZGVQdHIgc3RyaW5nR2V0QnlWYWxTdHViR2VuZXJhdG9yKEpTR2xvYmFsRGF0YSogZ2xvYmFs
RGF0YSwgRXhlY3V0YWJsZVBvb2wqIHBvb2wpOwogICAgIH0gSklUX0NMQVNTX0FMSUdOTUVOVDsK
IApJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRPcGNvZGVzMzJfNjQuY3BwCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvSklUT3Bjb2RlczMyXzY0LmNw
cAkocmV2aXNpb24gODUyNzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9wY29k
ZXMzMl82NC5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OSw3ICsxNTksNyBAQCB2b2lkIEpJVDo6
cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBvCiAjZW5kaWYKIAogICAgIC8vIEFsbCB0cmFt
cG9saW5lcyBjb25zdHJ1Y3RlZCEgY29weSB0aGUgY29kZSwgbGluayB1cCBjYWxscywgYW5kIHNl
dCB0aGUgcG9pbnRlcnMgb24gdGhlIE1hY2hpbmUgb2JqZWN0LgotICAgIExpbmtCdWZmZXIgcGF0
Y2hCdWZmZXIodGhpcywgbV9nbG9iYWxEYXRhLT5leGVjdXRhYmxlQWxsb2NhdG9yLnBvb2xGb3JT
aXplKG1fYXNzZW1ibGVyLnNpemUoKSksIDApOworICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIo
dGhpcywgbV9nbG9iYWxEYXRhLT5leGVjdXRhYmxlQWxsb2NhdG9yLnBvb2xGb3JTaXplKG1fYXNz
ZW1ibGVyLnNpemUoKSkpOwogCiAjaWYgRU5BQkxFKEpJVF9PUFRJTUlaRV9QUk9QRVJUWV9BQ0NF
U1MpCiAgICAgcGF0Y2hCdWZmZXIubGluayhzdHJpbmdfZmFpbHVyZUNhc2VzMUNhbGwsIEZ1bmN0
aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfc3RyaW5nX2ZhaWwpKTsKQEAgLTQ2NCw3ICs0NjQsNyBA
QCBKSVQ6OkNvZGVQdHIgSklUOjpwcml2YXRlQ29tcGlsZUNUSU5hdGl2CiAgICAgcmV0KCk7CiAK
ICAgICAvLyBBbGwgdHJhbXBvbGluZXMgY29uc3RydWN0ZWQhIGNvcHkgdGhlIGNvZGUsIGxpbmsg
dXAgY2FsbHMsIGFuZCBzZXQgdGhlIHBvaW50ZXJzIG9uIHRoZSBNYWNoaW5lIG9iamVjdC4KLSAg
ICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKHRoaXMsIGV4ZWN1dGFibGVQb29sLCAwKTsKKyAgICBM
aW5rQnVmZmVyIHBhdGNoQnVmZmVyKHRoaXMsIGV4ZWN1dGFibGVQb29sKTsKIAogICAgIHBhdGNo
QnVmZmVyLmxpbmsobmF0aXZlQ2FsbCwgRnVuY3Rpb25QdHIoZnVuYykpOwogICAgIHBhdGNoQnVm
ZmVyLmZpbmFsaXplQ29kZSgpOwpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRP
cGNvZGVzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVE9w
Y29kZXMuY3BwCShyZXZpc2lvbiA4NTI3MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQv
SklUT3Bjb2Rlcy5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1OCw3ICsxNTgsNyBAQCB2b2lkIEpJ
VDo6cHJpdmF0ZUNvbXBpbGVDVElNYWNoaW5lVHJhbXBvCiAjZW5kaWYKIAogICAgIC8vIEFsbCB0
cmFtcG9saW5lcyBjb25zdHJ1Y3RlZCEgY29weSB0aGUgY29kZSwgbGluayB1cCBjYWxscywgYW5k
IHNldCB0aGUgcG9pbnRlcnMgb24gdGhlIE1hY2hpbmUgb2JqZWN0LgotICAgIExpbmtCdWZmZXIg
cGF0Y2hCdWZmZXIodGhpcywgbV9nbG9iYWxEYXRhLT5leGVjdXRhYmxlQWxsb2NhdG9yLnBvb2xG
b3JTaXplKG1fYXNzZW1ibGVyLnNpemUoKSksIDApOworICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZm
ZXIodGhpcywgbV9nbG9iYWxEYXRhLT5leGVjdXRhYmxlQWxsb2NhdG9yLnBvb2xGb3JTaXplKG1f
YXNzZW1ibGVyLnNpemUoKSkpOwogCiAjaWYgRU5BQkxFKEpJVF9PUFRJTUlaRV9QUk9QRVJUWV9B
Q0NFU1MpCiAgICAgcGF0Y2hCdWZmZXIubGluayhzdHJpbmdfZmFpbHVyZUNhc2VzMUNhbGwsIEZ1
bmN0aW9uUHRyKGN0aV9vcF9nZXRfYnlfaWRfc3RyaW5nX2ZhaWwpKTsKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9qaXQvSklUUHJvcGVydHlBY2Nlc3MzMl82NC5jcHAKPT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQot
LS0gU291cmNlL0phdmFTY3JpcHRDb3JlL2ppdC9KSVRQcm9wZXJ0eUFjY2VzczMyXzY0LmNwcAko
cmV2aXNpb24gODUyNzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5
QWNjZXNzMzJfNjQuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yOTUsNyArMjk1LDcgQEAgSklUOjpD
b2RlUHRyIEpJVDo6c3RyaW5nR2V0QnlWYWxTdHViR2VuZQogICAgIGppdC5tb3ZlKFRydXN0ZWRJ
bW0zMigwKSwgcmVnVDApOwogICAgIGppdC5yZXQoKTsKICAgICAKLSAgICBMaW5rQnVmZmVyIHBh
dGNoQnVmZmVyKCZqaXQsIHBvb2wsIDApOworICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIoJmpp
dCwgcG9vbCk7CiAgICAgcmV0dXJuIHBhdGNoQnVmZmVyLmZpbmFsaXplQ29kZSgpLm1fY29kZTsK
IH0KIApAQCAtNjI0LDcgKzYyNCw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZVB1dEJ5SWRU
cmFuc2l0aW8KICAgICByZXN0b3JlQXJndW1lbnRSZWZlcmVuY2VGb3JUcmFtcG9saW5lKCk7CiAg
ICAgQ2FsbCBmYWlsdXJlQ2FsbCA9IHRhaWxSZWN1cnNpdmVDYWxsKCk7CiAgICAgCi0gICAgTGlu
a0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBvb2woKSwg
MCk7CisgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0
YWJsZVBvb2woKSk7CiAgICAgCiAgICAgcGF0Y2hCdWZmZXIubGluayhmYWlsdXJlQ2FsbCwgRnVu
Y3Rpb25QdHIoZGlyZWN0ID8gY3RpX29wX3B1dF9ieV9pZF9kaXJlY3RfZmFpbCA6IGN0aV9vcF9w
dXRfYnlfaWRfZmFpbCkpOwogICAgIApAQCAtNzA2LDcgKzcwNiw3IEBAIHZvaWQgSklUOjpwcml2
YXRlQ29tcGlsZVBhdGNoR2V0QXJyYXlMZW4KICAgICBtb3ZlKFRydXN0ZWRJbW0zMihKU1ZhbHVl
OjpJbnQzMlRhZyksIHJlZ1QxKTsKICAgICBKdW1wIHN1Y2Nlc3MgPSBqdW1wKCk7CiAgICAgCi0g
ICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBv
b2woKSwgMCk7CisgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+
ZXhlY3V0YWJsZVBvb2woKSk7CiAgICAgCiAgICAgLy8gVXNlIHRoZSBwYXRjaCBpbmZvcm1hdGlv
biB0byBsaW5rIHRoZSBmYWlsdXJlIGNhc2VzIGJhY2sgdG8gdGhlIG9yaWdpbmFsIHNsb3cgY2Fz
ZSByb3V0aW5lLgogICAgIENvZGVMb2NhdGlvbkxhYmVsIHNsb3dDYXNlQmVnaW4gPSBzdHViSW5m
by0+Y2FsbFJldHVybkxvY2F0aW9uLmxhYmVsQXRPZmZzZXQoLXBhdGNoT2Zmc2V0R2V0QnlJZFNs
b3dDYXNlQ2FsbCk7CkBAIC03NjYsNyArNzY2LDcgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxl
R2V0QnlJZFByb3RvKFN0cgogICAgIAogICAgIEp1bXAgc3VjY2VzcyA9IGp1bXAoKTsKICAgICAK
LSAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKHRoaXMsIG1fY29kZUJsb2NrLT5leGVjdXRhYmxl
UG9vbCgpLCAwKTsKKyAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKHRoaXMsIG1fY29kZUJsb2Nr
LT5leGVjdXRhYmxlUG9vbCgpKTsKICAgICAKICAgICAvLyBVc2UgdGhlIHBhdGNoIGluZm9ybWF0
aW9uIHRvIGxpbmsgdGhlIGZhaWx1cmUgY2FzZXMgYmFjayB0byB0aGUgb3JpZ2luYWwgc2xvdyBj
YXNlIHJvdXRpbmUuCiAgICAgQ29kZUxvY2F0aW9uTGFiZWwgc2xvd0Nhc2VCZWdpbiA9IHN0dWJJ
bmZvLT5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldCgtcGF0Y2hPZmZzZXRHZXRCeUlk
U2xvd0Nhc2VDYWxsKTsKQEAgLTgyMyw3ICs4MjMsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBp
bGVHZXRCeUlkU2VsZkxpc3QoCiAKICAgICBKdW1wIHN1Y2Nlc3MgPSBqdW1wKCk7CiAgICAgCi0g
ICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBv
b2woKSwgMCk7CisgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+
ZXhlY3V0YWJsZVBvb2woKSk7CiAgICAgaWYgKG5lZWRzU3R1YkxpbmspIHsKICAgICAgICAgZm9y
IChWZWN0b3I8Q2FsbFJlY29yZD46Oml0ZXJhdG9yIGl0ZXIgPSBtX2NhbGxzLmJlZ2luKCk7IGl0
ZXIgIT0gbV9jYWxscy5lbmQoKTsgKytpdGVyKSB7CiAgICAgICAgICAgICBpZiAoaXRlci0+dG8p
CkBAIC04ODcsNyArODg3LDcgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFByb3Rv
TGlzdAogICAgIAogICAgIEp1bXAgc3VjY2VzcyA9IGp1bXAoKTsKICAgICAKLSAgICBMaW5rQnVm
ZmVyIHBhdGNoQnVmZmVyKHRoaXMsIG1fY29kZUJsb2NrLT5leGVjdXRhYmxlUG9vbCgpLCAwKTsK
KyAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKHRoaXMsIG1fY29kZUJsb2NrLT5leGVjdXRhYmxl
UG9vbCgpKTsKICAgICBpZiAobmVlZHNTdHViTGluaykgewogICAgICAgICBmb3IgKFZlY3RvcjxD
YWxsUmVjb3JkPjo6aXRlcmF0b3IgaXRlciA9IG1fY2FsbHMuYmVnaW4oKTsgaXRlciAhPSBtX2Nh
bGxzLmVuZCgpOyArK2l0ZXIpIHsKICAgICAgICAgICAgIGlmIChpdGVyLT50bykKQEAgLTk1NCw3
ICs5NTQsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW5MaXN0CiAKICAg
ICBKdW1wIHN1Y2Nlc3MgPSBqdW1wKCk7CiAgICAgCi0gICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZl
cih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBvb2woKSwgMCk7CisgICAgTGlua0J1ZmZl
ciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBvb2woKSk7CiAgICAg
aWYgKG5lZWRzU3R1YkxpbmspIHsKICAgICAgICAgZm9yIChWZWN0b3I8Q2FsbFJlY29yZD46Oml0
ZXJhdG9yIGl0ZXIgPSBtX2NhbGxzLmJlZ2luKCk7IGl0ZXIgIT0gbV9jYWxscy5lbmQoKTsgKytp
dGVyKSB7CiAgICAgICAgICAgICBpZiAoaXRlci0+dG8pCkBAIC0xMDIxLDcgKzEwMjEsNyBAQCB2
b2lkIEpJVDo6cHJpdmF0ZUNvbXBpbGVHZXRCeUlkQ2hhaW4oU3RyCiAgICAgICAgIGNvbXBpbGVH
ZXREaXJlY3RPZmZzZXQocHJvdG9PYmplY3QsIHJlZ1QxLCByZWdUMCwgY2FjaGVkT2Zmc2V0KTsK
ICAgICBKdW1wIHN1Y2Nlc3MgPSBqdW1wKCk7CiAgICAgCi0gICAgTGlua0J1ZmZlciBwYXRjaEJ1
ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBvb2woKSwgMCk7CisgICAgTGlua0J1
ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBvb2woKSk7CiAg
ICAgaWYgKG5lZWRzU3R1YkxpbmspIHsKICAgICAgICAgZm9yIChWZWN0b3I8Q2FsbFJlY29yZD46
Oml0ZXJhdG9yIGl0ZXIgPSBtX2NhbGxzLmJlZ2luKCk7IGl0ZXIgIT0gbV9jYWxscy5lbmQoKTsg
KytpdGVyKSB7CiAgICAgICAgICAgICBpZiAoaXRlci0+dG8pCkluZGV4OiBTb3VyY2UvSmF2YVNj
cmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAkocmV2aXNpb24gODUyNzIp
CisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvaml0L0pJVFByb3BlcnR5QWNjZXNzLmNwcAkod29y
a2luZyBjb3B5KQpAQCAtNzcsNyArNzcsNyBAQCBKSVQ6OkNvZGVQdHIgSklUOjpzdHJpbmdHZXRC
eVZhbFN0dWJHZW5lCiAgICAgaml0Lm1vdmUoVHJ1c3RlZEltbTMyKDApLCByZWdUMCk7CiAgICAg
aml0LnJldCgpOwogICAgIAotICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIoJmppdCwgcG9vbCwg
MCk7CisgICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZlcigmaml0LCBwb29sKTsKICAgICByZXR1cm4g
cGF0Y2hCdWZmZXIuZmluYWxpemVDb2RlKCkubV9jb2RlOwogfQogCkBAIC02MDEsNyArNjAxLDcg
QEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUHV0QnlJZFRyYW5zaXRpbwogICAgIHJlc3RvcmVB
cmd1bWVudFJlZmVyZW5jZUZvclRyYW1wb2xpbmUoKTsKICAgICBDYWxsIGZhaWx1cmVDYWxsID0g
dGFpbFJlY3Vyc2l2ZUNhbGwoKTsKIAotICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIodGhpcywg
bV9jb2RlQmxvY2stPmV4ZWN1dGFibGVQb29sKCksIDApOworICAgIExpbmtCdWZmZXIgcGF0Y2hC
dWZmZXIodGhpcywgbV9jb2RlQmxvY2stPmV4ZWN1dGFibGVQb29sKCkpOwogCiAgICAgcGF0Y2hC
dWZmZXIubGluayhmYWlsdXJlQ2FsbCwgRnVuY3Rpb25QdHIoZGlyZWN0ID8gY3RpX29wX3B1dF9i
eV9pZF9kaXJlY3RfZmFpbCA6IGN0aV9vcF9wdXRfYnlfaWRfZmFpbCkpOwogCkBAIC02NzksNyAr
Njc5LDcgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlUGF0Y2hHZXRBcnJheUxlbgogICAgIGVt
aXRGYXN0QXJpdGhJbnRUb0ltbU5vQ2hlY2socmVnVDIsIHJlZ1QwKTsKICAgICBKdW1wIHN1Y2Nl
c3MgPSBqdW1wKCk7CiAKLSAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKHRoaXMsIG1fY29kZUJs
b2NrLT5leGVjdXRhYmxlUG9vbCgpLCAwKTsKKyAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKHRo
aXMsIG1fY29kZUJsb2NrLT5leGVjdXRhYmxlUG9vbCgpKTsKIAogICAgIC8vIFVzZSB0aGUgcGF0
Y2ggaW5mb3JtYXRpb24gdG8gbGluayB0aGUgZmFpbHVyZSBjYXNlcyBiYWNrIHRvIHRoZSBvcmln
aW5hbCBzbG93IGNhc2Ugcm91dGluZS4KICAgICBDb2RlTG9jYXRpb25MYWJlbCBzbG93Q2FzZUJl
Z2luID0gc3R1YkluZm8tPmNhbGxSZXR1cm5Mb2NhdGlvbi5sYWJlbEF0T2Zmc2V0KC1wYXRjaE9m
ZnNldEdldEJ5SWRTbG93Q2FzZUNhbGwpOwpAQCAtNzM3LDcgKzczNyw3IEBAIHZvaWQgSklUOjpw
cml2YXRlQ29tcGlsZUdldEJ5SWRQcm90byhTdHIKICAgICB9IGVsc2UKICAgICAgICAgY29tcGls
ZUdldERpcmVjdE9mZnNldChwcm90b09iamVjdCwgcmVnVDAsIGNhY2hlZE9mZnNldCk7CiAgICAg
SnVtcCBzdWNjZXNzID0ganVtcCgpOwotICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIodGhpcywg
bV9jb2RlQmxvY2stPmV4ZWN1dGFibGVQb29sKCksIDApOworICAgIExpbmtCdWZmZXIgcGF0Y2hC
dWZmZXIodGhpcywgbV9jb2RlQmxvY2stPmV4ZWN1dGFibGVQb29sKCkpOwogCiAgICAgLy8gVXNl
IHRoZSBwYXRjaCBpbmZvcm1hdGlvbiB0byBsaW5rIHRoZSBmYWlsdXJlIGNhc2VzIGJhY2sgdG8g
dGhlIG9yaWdpbmFsIHNsb3cgY2FzZSByb3V0aW5lLgogICAgIENvZGVMb2NhdGlvbkxhYmVsIHNs
b3dDYXNlQmVnaW4gPSBzdHViSW5mby0+Y2FsbFJldHVybkxvY2F0aW9uLmxhYmVsQXRPZmZzZXQo
LXBhdGNoT2Zmc2V0R2V0QnlJZFNsb3dDYXNlQ2FsbCk7CkBAIC03OTAsNyArNzkwLDcgQEAgdm9p
ZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFNlbGZMaXN0KAogICAgICAgICBjb21waWxlR2V0
RGlyZWN0T2Zmc2V0KHJlZ1QwLCByZWdUMCwgc3RydWN0dXJlLCBjYWNoZWRPZmZzZXQpOwogICAg
IEp1bXAgc3VjY2VzcyA9IGp1bXAoKTsKIAotICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIodGhp
cywgbV9jb2RlQmxvY2stPmV4ZWN1dGFibGVQb29sKCksIDApOworICAgIExpbmtCdWZmZXIgcGF0
Y2hCdWZmZXIodGhpcywgbV9jb2RlQmxvY2stPmV4ZWN1dGFibGVQb29sKCkpOwogCiAgICAgaWYg
KG5lZWRzU3R1YkxpbmspIHsKICAgICAgICAgZm9yIChWZWN0b3I8Q2FsbFJlY29yZD46Oml0ZXJh
dG9yIGl0ZXIgPSBtX2NhbGxzLmJlZ2luKCk7IGl0ZXIgIT0gbV9jYWxscy5lbmQoKTsgKytpdGVy
KSB7CkBAIC04NTUsNyArODU1LDcgQEAgdm9pZCBKSVQ6OnByaXZhdGVDb21waWxlR2V0QnlJZFBy
b3RvTGlzdAogCiAgICAgSnVtcCBzdWNjZXNzID0ganVtcCgpOwogCi0gICAgTGlua0J1ZmZlciBw
YXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBvb2woKSwgMCk7CisgICAg
TGlua0J1ZmZlciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBvb2wo
KSk7CiAKICAgICBpZiAobmVlZHNTdHViTGluaykgewogICAgICAgICBmb3IgKFZlY3RvcjxDYWxs
UmVjb3JkPjo6aXRlcmF0b3IgaXRlciA9IG1fY2FsbHMuYmVnaW4oKTsgaXRlciAhPSBtX2NhbGxz
LmVuZCgpOyArK2l0ZXIpIHsKQEAgLTkyMSw3ICs5MjEsNyBAQCB2b2lkIEpJVDo6cHJpdmF0ZUNv
bXBpbGVHZXRCeUlkQ2hhaW5MaXN0CiAgICAgICAgIGNvbXBpbGVHZXREaXJlY3RPZmZzZXQocHJv
dG9PYmplY3QsIHJlZ1QwLCBjYWNoZWRPZmZzZXQpOwogICAgIEp1bXAgc3VjY2VzcyA9IGp1bXAo
KTsKIAotICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIodGhpcywgbV9jb2RlQmxvY2stPmV4ZWN1
dGFibGVQb29sKCksIDApOworICAgIExpbmtCdWZmZXIgcGF0Y2hCdWZmZXIodGhpcywgbV9jb2Rl
QmxvY2stPmV4ZWN1dGFibGVQb29sKCkpOwogICAgIAogICAgIGlmIChuZWVkc1N0dWJMaW5rKSB7
CiAgICAgICAgIGZvciAoVmVjdG9yPENhbGxSZWNvcmQ+OjppdGVyYXRvciBpdGVyID0gbV9jYWxs
cy5iZWdpbigpOyBpdGVyICE9IG1fY2FsbHMuZW5kKCk7ICsraXRlcikgewpAQCAtOTg5LDcgKzk4
OSw3IEBAIHZvaWQgSklUOjpwcml2YXRlQ29tcGlsZUdldEJ5SWRDaGFpbihTdHIKICAgICAgICAg
Y29tcGlsZUdldERpcmVjdE9mZnNldChwcm90b09iamVjdCwgcmVnVDAsIGNhY2hlZE9mZnNldCk7
CiAgICAgSnVtcCBzdWNjZXNzID0ganVtcCgpOwogCi0gICAgTGlua0J1ZmZlciBwYXRjaEJ1ZmZl
cih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBvb2woKSwgMCk7CisgICAgTGlua0J1ZmZl
ciBwYXRjaEJ1ZmZlcih0aGlzLCBtX2NvZGVCbG9jay0+ZXhlY3V0YWJsZVBvb2woKSk7CiAKICAg
ICBpZiAobmVlZHNTdHViTGluaykgewogICAgICAgICBmb3IgKFZlY3RvcjxDYWxsUmVjb3JkPjo6
aXRlcmF0b3IgaXRlciA9IG1fY2FsbHMuYmVnaW4oKTsgaXRlciAhPSBtX2NhbGxzLmVuZCgpOyAr
K2l0ZXIpIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvU3BlY2lhbGl6ZWRUaHVu
a0pJVC5oCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9qaXQvU3BlY2lhbGl6
ZWRUaHVua0pJVC5oCShyZXZpc2lvbiA4NTI3MikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9q
aXQvU3BlY2lhbGl6ZWRUaHVua0pJVC5oCSh3b3JraW5nIGNvcHkpCkBAIC0xMjUsNyArMTI1LDcg
QEAgbmFtZXNwYWNlIEpTQyB7CiAgICAgICAgIAogICAgICAgICBNYWNyb0Fzc2VtYmxlckNvZGVQ
dHIgZmluYWxpemUoTWFjcm9Bc3NlbWJsZXJDb2RlUHRyIGZhbGxiYWNrKQogICAgICAgICB7Ci0g
ICAgICAgICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKHRoaXMsIG1fcG9vbC5nZXQoKSwgMCk7
CisgICAgICAgICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKHRoaXMsIG1fcG9vbC5nZXQoKSk7
CiAgICAgICAgICAgICBwYXRjaEJ1ZmZlci5saW5rKG1fZmFpbHVyZXMsIENvZGVMb2NhdGlvbkxh
YmVsKGZhbGxiYWNrKSk7CiAgICAgICAgICAgICByZXR1cm4gcGF0Y2hCdWZmZXIuZmluYWxpemVD
b2RlKCkubV9jb2RlOwogICAgICAgICB9CkluZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFy
ci9ZYXJySklULmNwcAo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFyci9Z
YXJySklULmNwcAkocmV2aXNpb24gODUyNzIpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUveWFy
ci9ZYXJySklULmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjI0OSw3ICsyMjQ5LDcgQEAgcHVibGlj
OgogICAgIHsKICAgICAgICAgZ2VuZXJhdGUoKTsKIAotICAgICAgICBMaW5rQnVmZmVyIHBhdGNo
QnVmZmVyKHRoaXMsIGdsb2JhbERhdGEtPnJlZ2V4QWxsb2NhdG9yLnBvb2xGb3JTaXplKHNpemUo
KSksIDApOworICAgICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKHRoaXMsIGdsb2JhbERhdGEt
PnJlZ2V4QWxsb2NhdG9yLnBvb2xGb3JTaXplKHNpemUoKSkpOwogCiAgICAgICAgIGZvciAodW5z
aWduZWQgaSA9IDA7IGkgPCBtX2V4cHJlc3Npb25TdGF0ZS5tX2JhY2t0cmFja1JlY29yZHMuc2l6
ZSgpOyArK2kpCiAgICAgICAgICAgICBwYXRjaEJ1ZmZlci5wYXRjaChtX2V4cHJlc3Npb25TdGF0
ZS5tX2JhY2t0cmFja1JlY29yZHNbaV0uZGF0YUxhYmVsLCBwYXRjaEJ1ZmZlci5sb2NhdGlvbk9m
KG1fZXhwcmVzc2lvblN0YXRlLm1fYmFja3RyYWNrUmVjb3Jkc1tpXS5iYWNrdHJhY2tMb2NhdGlv
bikpOwo=
</data>
<flag name="review"
          id="84647"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>