<?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>83821</bug_id>
          
          <creation_ts>2012-04-12 14:24:55 -0700</creation_ts>
          <short_desc>Move dfg repatching properties of structure stub info into a union</short_desc>
          <delta_ts>2012-04-12 14:39:42 -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>Unspecified</rep_platform>
          <op_sys>Unspecified</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>601539</commentid>
    <comment_count>0</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-12 14:24:55 -0700</bug_when>
    <thetext>We want to be able to have similar properties for the baseline JIT, some restructuring to prepare for this.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601546</commentid>
    <comment_count>1</comment_count>
      <attachid>136975</attachid>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-12 14:28:51 -0700</bug_when>
    <thetext>Created attachment 136975
Fix</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>601557</commentid>
    <comment_count>2</comment_count>
    <who name="Gavin Barraclough">barraclough</who>
    <bug_when>2012-04-12 14:39:42 -0700</bug_when>
    <thetext>Fixed in r114039</thetext>
  </long_desc>
      
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>136975</attachid>
            <date>2012-04-12 14:28:51 -0700</date>
            <delta_ts>2012-04-12 14:31:26 -0700</delta_ts>
            <desc>Fix</desc>
            <filename>83821.patch</filename>
            <type>text/plain</type>
            <size>28212</size>
            <attacher name="Gavin Barraclough">barraclough</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMTE0MDM3KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDMwIEBA
CisyMDEyLTA0LTEyICBHYXZpbiBCYXJyYWNsb3VnaCAgPGJhcnJhY2xvdWdoQGFwcGxlLmNvbT4K
KworICAgICAgICBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9ODM4MjEK
KyAgICAgICAgTW92ZSBkZmcgcmVwYXRjaGluZyBwcm9wZXJ0aWVzIG9mIHN0cnVjdHVyZSBzdHVi
IGluZm8gaW50byBhIHVuaW9uCisKKyAgICAgICAgUmV2aWV3ZWQgYnkgTk9CT0RZIChPT1BTISku
CisKKyAgICAgICAgV2Ugd2FudCB0byBiZSBhYmxlIHRvIGhhdmUgc2ltaWxhciBwcm9wZXJ0aWVz
IGZvciB0aGUgYmFzZWxpbmUgSklULCBzb21lIHJlc3RydWN0dXJpbmcgdG8gcHJlcGFyZSBmb3Ig
dGhpcy4KKworICAgICAgICAqIGJ5dGVjb2RlL1N0cnVjdHVyZVN0dWJJbmZvLmg6CisgICAgICAg
IChTdHJ1Y3R1cmVTdHViSW5mbyk6CisgICAgICAgICogZGZnL0RGR0pJVENvbXBpbGVyLmNwcDoK
KyAgICAgICAgKEpTQzo6REZHOjpKSVRDb21waWxlcjo6bGluayk6CisgICAgICAgICogZGZnL0RG
R1JlcGF0Y2guY3BwOgorICAgICAgICAoSlNDOjpERkc6OmRmZ1JlcGF0Y2hCeUlkU2VsZkFjY2Vz
cyk6CisgICAgICAgIChKU0M6OkRGRzo6bGlua1Jlc3RvcmVTY3JhdGNoKToKKyAgICAgICAgKEpT
Qzo6REZHOjpnZW5lcmF0ZVByb3RvQ2hhaW5BY2Nlc3NTdHViKToKKyAgICAgICAgKEpTQzo6REZH
Ojp0cnlDYWNoZUdldEJ5SUQpOgorICAgICAgICAoSlNDOjpERkc6OnRyeUJ1aWxkR2V0QnlJRExp
c3QpOgorICAgICAgICAoSlNDOjpERkc6OnRyeUJ1aWxkR2V0QnlJRFByb3RvTGlzdCk6CisgICAg
ICAgIChKU0M6OkRGRzo6ZW1pdFB1dFJlcGxhY2VTdHViKToKKyAgICAgICAgKEpTQzo6REZHOjpl
bWl0UHV0VHJhbnNpdGlvblN0dWIpOgorICAgICAgICAoSlNDOjpERkc6OnRyeUNhY2hlUHV0QnlJ
RCk6CisgICAgICAgIChKU0M6OkRGRzo6dHJ5QnVpbGRQdXRCeUlkTGlzdCk6CisgICAgICAgIChK
U0M6OkRGRzo6ZGZnUmVzZXRHZXRCeUlEKToKKyAgICAgICAgKEpTQzo6REZHOjpkZmdSZXNldFB1
dEJ5SUQpOgorCiAyMDEyLTA0LTEyICBDc2FiYSBPc3p0cm9nb27DoWMgIDxvc3N5QHdlYmtpdC5v
cmc+CiAKICAgICAgICAgW1F0XVtBUk1dIEJ1aWxkZml4IGFmdGVyIHIxMTM5MzQuCkluZGV4OiBT
b3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8uaAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvU3RydWN0dXJlU3R1YkluZm8u
aAkocmV2aXNpb24gMTE0MDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL1N0
cnVjdHVyZVN0dWJJbmZvLmgJKHdvcmtpbmcgY29weSkKQEAgLTE4NiwyNyArMTg2LDM0IEBAIG5h
bWVzcGFjZSBKU0MgewogCiAgICAgICAgIGludDhfdCBhY2Nlc3NUeXBlOwogICAgICAgICBpbnQ4
X3Qgc2VlbjsKLSAgICAgICAgCisKICNpZiBFTkFCTEUoREZHX0pJVCkKICAgICAgICAgQ29kZU9y
aWdpbiBjb2RlT3JpZ2luOwotICAgICAgICBpbnQ4X3QgcmVnaXN0ZXJzRmx1c2hlZDsKLSAgICAg
ICAgaW50OF90IGJhc2VHUFI7CisjZW5kaWYgLy8gRU5BQkxFKERGR19KSVQpCisKKyAgICAgICAg
dW5pb24geworICAgICAgICAgICAgc3RydWN0IHsKKyAgICAgICAgICAgICAgICBpbnQ4X3QgcmVn
aXN0ZXJzRmx1c2hlZDsKKyAgICAgICAgICAgICAgICBpbnQ4X3QgYmFzZUdQUjsKICNpZiBVU0Uo
SlNWQUxVRTMyXzY0KQotICAgICAgICBpbnQ4X3QgdmFsdWVUYWdHUFI7CisgICAgICAgICAgICAg
ICAgaW50OF90IHZhbHVlVGFnR1BSOwogI2VuZGlmCi0gICAgICAgIGludDhfdCB2YWx1ZUdQUjsK
LSAgICAgICAgaW50OF90IHNjcmF0Y2hHUFI7Ci0gICAgICAgIGludDE2X3QgZGVsdGFDYWxsVG9E
b25lOwotICAgICAgICBpbnQxNl90IGRlbHRhQ2FsbFRvU3RydWN0Q2hlY2s7Ci0gICAgICAgIGlu
dDE2X3QgZGVsdGFDYWxsVG9TbG93Q2FzZTsKLSAgICAgICAgaW50MTZfdCBkZWx0YUNoZWNrSW1t
VG9DYWxsOworICAgICAgICAgICAgICAgIGludDhfdCB2YWx1ZUdQUjsKKyAgICAgICAgICAgICAg
ICBpbnQ4X3Qgc2NyYXRjaEdQUjsKKyAgICAgICAgICAgICAgICBpbnQxNl90IGRlbHRhQ2FsbFRv
RG9uZTsKKyAgICAgICAgICAgICAgICBpbnQxNl90IGRlbHRhQ2FsbFRvU3RydWN0Q2hlY2s7Cisg
ICAgICAgICAgICAgICAgaW50MTZfdCBkZWx0YUNhbGxUb1Nsb3dDYXNlOworICAgICAgICAgICAg
ICAgIGludDE2X3QgZGVsdGFDaGVja0ltbVRvQ2FsbDsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAg
ICAgICBpbnQxNl90IGRlbHRhQ2FsbFRvTG9hZE9yU3RvcmU7CisgICAgICAgICAgICAgICAgaW50
MTZfdCBkZWx0YUNhbGxUb0xvYWRPclN0b3JlOwogI2Vsc2UKLSAgICAgICAgaW50MTZfdCBkZWx0
YUNhbGxUb1RhZ0xvYWRPclN0b3JlOwotICAgICAgICBpbnQxNl90IGRlbHRhQ2FsbFRvUGF5bG9h
ZExvYWRPclN0b3JlOworICAgICAgICAgICAgICAgIGludDE2X3QgZGVsdGFDYWxsVG9UYWdMb2Fk
T3JTdG9yZTsKKyAgICAgICAgICAgICAgICBpbnQxNl90IGRlbHRhQ2FsbFRvUGF5bG9hZExvYWRP
clN0b3JlOwogI2VuZGlmCi0jZW5kaWYgLy8gRU5BQkxFKERGR19KSVQpCisgICAgICAgICAgICB9
IGRmZzsKKyAgICAgICAgICAgIHN0cnVjdCB7CisgICAgICAgICAgICB9IGJhc2VsaW5lOworICAg
ICAgICB9IHBhdGNoOwogCiAgICAgICAgIHVuaW9uIHsKICAgICAgICAgICAgIHN0cnVjdCB7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAo9PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09Ci0tLSBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR0pJVENvbXBpbGVyLmNwcAkocmV2
aXNpb24gMTE0MDM2KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2RmZy9ERkdKSVRDb21waWxl
ci5jcHAJKHdvcmtpbmcgY29weSkKQEAgLTE1MiwyNSArMTUyLDI1IEBAIHZvaWQgSklUQ29tcGls
ZXI6OmxpbmsoTGlua0J1ZmZlciYgbGlua0IKICAgICAgICAgQ29kZUxvY2F0aW9uQ2FsbCBjYWxs
UmV0dXJuTG9jYXRpb24gPSBsaW5rQnVmZmVyLmxvY2F0aW9uT2YobV9wcm9wZXJ0eUFjY2Vzc2Vz
W2ldLm1fZnVuY3Rpb25DYWxsKTsKICAgICAgICAgaW5mby5jb2RlT3JpZ2luID0gbV9wcm9wZXJ0
eUFjY2Vzc2VzW2ldLm1fY29kZU9yaWdpbjsKICAgICAgICAgaW5mby5jYWxsUmV0dXJuTG9jYXRp
b24gPSBjYWxsUmV0dXJuTG9jYXRpb247Ci0gICAgICAgIGluZm8uZGVsdGFDaGVja0ltbVRvQ2Fs
bCA9IGRpZmZlcmVuY2VCZXR3ZWVuQ29kZVB0cihsaW5rQnVmZmVyLmxvY2F0aW9uT2YobV9wcm9w
ZXJ0eUFjY2Vzc2VzW2ldLm1fZGVsdGFDaGVja0ltbVRvQ2FsbCksIGNhbGxSZXR1cm5Mb2NhdGlv
bik7Ci0gICAgICAgIGluZm8uZGVsdGFDYWxsVG9TdHJ1Y3RDaGVjayA9IGRpZmZlcmVuY2VCZXR3
ZWVuQ29kZVB0cihjYWxsUmV0dXJuTG9jYXRpb24sIGxpbmtCdWZmZXIubG9jYXRpb25PZihtX3By
b3BlcnR5QWNjZXNzZXNbaV0ubV9kZWx0YUNhbGxUb1N0cnVjdENoZWNrKSk7CisgICAgICAgIGlu
Zm8ucGF0Y2guZGZnLmRlbHRhQ2hlY2tJbW1Ub0NhbGwgPSBkaWZmZXJlbmNlQmV0d2VlbkNvZGVQ
dHIobGlua0J1ZmZlci5sb2NhdGlvbk9mKG1fcHJvcGVydHlBY2Nlc3Nlc1tpXS5tX2RlbHRhQ2hl
Y2tJbW1Ub0NhbGwpLCBjYWxsUmV0dXJuTG9jYXRpb24pOworICAgICAgICBpbmZvLnBhdGNoLmRm
Zy5kZWx0YUNhbGxUb1N0cnVjdENoZWNrID0gZGlmZmVyZW5jZUJldHdlZW5Db2RlUHRyKGNhbGxS
ZXR1cm5Mb2NhdGlvbiwgbGlua0J1ZmZlci5sb2NhdGlvbk9mKG1fcHJvcGVydHlBY2Nlc3Nlc1tp
XS5tX2RlbHRhQ2FsbFRvU3RydWN0Q2hlY2spKTsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgICAg
ICBpbmZvLmRlbHRhQ2FsbFRvTG9hZE9yU3RvcmUgPSBkaWZmZXJlbmNlQmV0d2VlbkNvZGVQdHIo
Y2FsbFJldHVybkxvY2F0aW9uLCBsaW5rQnVmZmVyLmxvY2F0aW9uT2YobV9wcm9wZXJ0eUFjY2Vz
c2VzW2ldLm1fZGVsdGFDYWxsVG9Mb2FkT3JTdG9yZSkpOworICAgICAgICBpbmZvLnBhdGNoLmRm
Zy5kZWx0YUNhbGxUb0xvYWRPclN0b3JlID0gZGlmZmVyZW5jZUJldHdlZW5Db2RlUHRyKGNhbGxS
ZXR1cm5Mb2NhdGlvbiwgbGlua0J1ZmZlci5sb2NhdGlvbk9mKG1fcHJvcGVydHlBY2Nlc3Nlc1tp
XS5tX2RlbHRhQ2FsbFRvTG9hZE9yU3RvcmUpKTsKICNlbHNlCi0gICAgICAgIGluZm8uZGVsdGFD
YWxsVG9UYWdMb2FkT3JTdG9yZSA9IGRpZmZlcmVuY2VCZXR3ZWVuQ29kZVB0cihjYWxsUmV0dXJu
TG9jYXRpb24sIGxpbmtCdWZmZXIubG9jYXRpb25PZihtX3Byb3BlcnR5QWNjZXNzZXNbaV0ubV9k
ZWx0YUNhbGxUb1RhZ0xvYWRPclN0b3JlKSk7Ci0gICAgICAgIGluZm8uZGVsdGFDYWxsVG9QYXls
b2FkTG9hZE9yU3RvcmUgPSBkaWZmZXJlbmNlQmV0d2VlbkNvZGVQdHIoY2FsbFJldHVybkxvY2F0
aW9uLCBsaW5rQnVmZmVyLmxvY2F0aW9uT2YobV9wcm9wZXJ0eUFjY2Vzc2VzW2ldLm1fZGVsdGFD
YWxsVG9QYXlsb2FkTG9hZE9yU3RvcmUpKTsKKyAgICAgICAgaW5mby5wYXRjaC5kZmcuZGVsdGFD
YWxsVG9UYWdMb2FkT3JTdG9yZSA9IGRpZmZlcmVuY2VCZXR3ZWVuQ29kZVB0cihjYWxsUmV0dXJu
TG9jYXRpb24sIGxpbmtCdWZmZXIubG9jYXRpb25PZihtX3Byb3BlcnR5QWNjZXNzZXNbaV0ubV9k
ZWx0YUNhbGxUb1RhZ0xvYWRPclN0b3JlKSk7CisgICAgICAgIGluZm8ucGF0Y2guZGZnLmRlbHRh
Q2FsbFRvUGF5bG9hZExvYWRPclN0b3JlID0gZGlmZmVyZW5jZUJldHdlZW5Db2RlUHRyKGNhbGxS
ZXR1cm5Mb2NhdGlvbiwgbGlua0J1ZmZlci5sb2NhdGlvbk9mKG1fcHJvcGVydHlBY2Nlc3Nlc1tp
XS5tX2RlbHRhQ2FsbFRvUGF5bG9hZExvYWRPclN0b3JlKSk7CiAjZW5kaWYKLSAgICAgICAgaW5m
by5kZWx0YUNhbGxUb1Nsb3dDYXNlID0gZGlmZmVyZW5jZUJldHdlZW5Db2RlUHRyKGNhbGxSZXR1
cm5Mb2NhdGlvbiwgbGlua0J1ZmZlci5sb2NhdGlvbk9mKG1fcHJvcGVydHlBY2Nlc3Nlc1tpXS5t
X2RlbHRhQ2FsbFRvU2xvd0Nhc2UpKTsKLSAgICAgICAgaW5mby5kZWx0YUNhbGxUb0RvbmUgPSBk
aWZmZXJlbmNlQmV0d2VlbkNvZGVQdHIoY2FsbFJldHVybkxvY2F0aW9uLCBsaW5rQnVmZmVyLmxv
Y2F0aW9uT2YobV9wcm9wZXJ0eUFjY2Vzc2VzW2ldLm1fZGVsdGFDYWxsVG9Eb25lKSk7Ci0gICAg
ICAgIGluZm8uYmFzZUdQUiA9IG1fcHJvcGVydHlBY2Nlc3Nlc1tpXS5tX2Jhc2VHUFI7CisgICAg
ICAgIGluZm8ucGF0Y2guZGZnLmRlbHRhQ2FsbFRvU2xvd0Nhc2UgPSBkaWZmZXJlbmNlQmV0d2Vl
bkNvZGVQdHIoY2FsbFJldHVybkxvY2F0aW9uLCBsaW5rQnVmZmVyLmxvY2F0aW9uT2YobV9wcm9w
ZXJ0eUFjY2Vzc2VzW2ldLm1fZGVsdGFDYWxsVG9TbG93Q2FzZSkpOworICAgICAgICBpbmZvLnBh
dGNoLmRmZy5kZWx0YUNhbGxUb0RvbmUgPSBkaWZmZXJlbmNlQmV0d2VlbkNvZGVQdHIoY2FsbFJl
dHVybkxvY2F0aW9uLCBsaW5rQnVmZmVyLmxvY2F0aW9uT2YobV9wcm9wZXJ0eUFjY2Vzc2VzW2ld
Lm1fZGVsdGFDYWxsVG9Eb25lKSk7CisgICAgICAgIGluZm8ucGF0Y2guZGZnLmJhc2VHUFIgPSBt
X3Byb3BlcnR5QWNjZXNzZXNbaV0ubV9iYXNlR1BSOwogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAg
ICAgIGluZm8udmFsdWVHUFIgPSBtX3Byb3BlcnR5QWNjZXNzZXNbaV0ubV92YWx1ZUdQUjsKKyAg
ICAgICAgaW5mby5wYXRjaC5kZmcudmFsdWVHUFIgPSBtX3Byb3BlcnR5QWNjZXNzZXNbaV0ubV92
YWx1ZUdQUjsKICNlbHNlCi0gICAgICAgIGluZm8udmFsdWVUYWdHUFIgPSBtX3Byb3BlcnR5QWNj
ZXNzZXNbaV0ubV92YWx1ZVRhZ0dQUjsKLSAgICAgICAgaW5mby52YWx1ZUdQUiA9IG1fcHJvcGVy
dHlBY2Nlc3Nlc1tpXS5tX3ZhbHVlR1BSOworICAgICAgICBpbmZvLnBhdGNoLmRmZy52YWx1ZVRh
Z0dQUiA9IG1fcHJvcGVydHlBY2Nlc3Nlc1tpXS5tX3ZhbHVlVGFnR1BSOworICAgICAgICBpbmZv
LnBhdGNoLmRmZy52YWx1ZUdQUiA9IG1fcHJvcGVydHlBY2Nlc3Nlc1tpXS5tX3ZhbHVlR1BSOwog
I2VuZGlmCi0gICAgICAgIGluZm8uc2NyYXRjaEdQUiA9IG1fcHJvcGVydHlBY2Nlc3Nlc1tpXS5t
X3NjcmF0Y2hHUFI7Ci0gICAgICAgIGluZm8ucmVnaXN0ZXJzRmx1c2hlZCA9IG1fcHJvcGVydHlB
Y2Nlc3Nlc1tpXS5tX3JlZ2lzdGVyTW9kZSA9PSBQcm9wZXJ0eUFjY2Vzc1JlY29yZDo6UmVnaXN0
ZXJzRmx1c2hlZDsKKyAgICAgICAgaW5mby5wYXRjaC5kZmcuc2NyYXRjaEdQUiA9IG1fcHJvcGVy
dHlBY2Nlc3Nlc1tpXS5tX3NjcmF0Y2hHUFI7CisgICAgICAgIGluZm8ucGF0Y2guZGZnLnJlZ2lz
dGVyc0ZsdXNoZWQgPSBtX3Byb3BlcnR5QWNjZXNzZXNbaV0ubV9yZWdpc3Rlck1vZGUgPT0gUHJv
cGVydHlBY2Nlc3NSZWNvcmQ6OlJlZ2lzdGVyc0ZsdXNoZWQ7CiAgICAgfQogICAgIAogICAgIG1f
Y29kZUJsb2NrLT5zZXROdW1iZXJPZkNhbGxMaW5rSW5mb3MobV9qc0NhbGxzLnNpemUoKSk7Cklu
ZGV4OiBTb3VyY2UvSmF2YVNjcmlwdENvcmUvZGZnL0RGR1JlcGF0Y2guY3BwCj09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0K
LS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUmVwYXRjaC5jcHAJKHJldmlzaW9uIDEx
NDAzNikKKysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9kZmcvREZHUmVwYXRjaC5jcHAJKHdvcmtp
bmcgY29weSkKQEAgLTUxLDE5ICs1MSwxOSBAQCBzdGF0aWMgdm9pZCBkZmdSZXBhdGNoQnlJZFNl
bGZBY2Nlc3MoQ29kCiAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoc3R1YkluZm8uY2FsbFJldHVy
bkxvY2F0aW9uLCBzbG93UGF0aEZ1bmN0aW9uKTsKIAogICAgIC8vIFBhdGNoIHRoZSBzdHJ1Y3R1
cmUgY2hlY2sgJiB0aGUgb2Zmc2V0IG9mIHRoZSBsb2FkLgotICAgIHJlcGF0Y2hCdWZmZXIucmVw
YXRjaChzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24uZGF0YUxhYmVsUHRyQXRPZmZzZXQoLShp
bnRwdHJfdClzdHViSW5mby5kZWx0YUNoZWNrSW1tVG9DYWxsKSwgc3RydWN0dXJlKTsKKyAgICBy
ZXBhdGNoQnVmZmVyLnJlcGF0Y2goc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmRhdGFMYWJl
bFB0ckF0T2Zmc2V0KC0oaW50cHRyX3Qpc3R1YkluZm8ucGF0Y2guZGZnLmRlbHRhQ2hlY2tJbW1U
b0NhbGwpLCBzdHJ1Y3R1cmUpOwogI2lmIFVTRShKU1ZBTFVFNjQpCiAgICAgaWYgKGNvbXBhY3Qp
Ci0gICAgICAgIHJlcGF0Y2hCdWZmZXIucmVwYXRjaChzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRp
b24uZGF0YUxhYmVsQ29tcGFjdEF0T2Zmc2V0KHN0dWJJbmZvLmRlbHRhQ2FsbFRvTG9hZE9yU3Rv
cmUpLCBzaXplb2YoSlNWYWx1ZSkgKiBvZmZzZXQpOworICAgICAgICByZXBhdGNoQnVmZmVyLnJl
cGF0Y2goc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmRhdGFMYWJlbENvbXBhY3RBdE9mZnNl
dChzdHViSW5mby5wYXRjaC5kZmcuZGVsdGFDYWxsVG9Mb2FkT3JTdG9yZSksIHNpemVvZihKU1Zh
bHVlKSAqIG9mZnNldCk7CiAgICAgZWxzZQotICAgICAgICByZXBhdGNoQnVmZmVyLnJlcGF0Y2go
c3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmRhdGFMYWJlbDMyQXRPZmZzZXQoc3R1YkluZm8u
ZGVsdGFDYWxsVG9Mb2FkT3JTdG9yZSksIHNpemVvZihKU1ZhbHVlKSAqIG9mZnNldCk7CisgICAg
ICAgIHJlcGF0Y2hCdWZmZXIucmVwYXRjaChzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24uZGF0
YUxhYmVsMzJBdE9mZnNldChzdHViSW5mby5wYXRjaC5kZmcuZGVsdGFDYWxsVG9Mb2FkT3JTdG9y
ZSksIHNpemVvZihKU1ZhbHVlKSAqIG9mZnNldCk7CiAjZWxpZiBVU0UoSlNWQUxVRTMyXzY0KQog
ICAgIGlmIChjb21wYWN0KSB7Ci0gICAgICAgIHJlcGF0Y2hCdWZmZXIucmVwYXRjaChzdHViSW5m
by5jYWxsUmV0dXJuTG9jYXRpb24uZGF0YUxhYmVsQ29tcGFjdEF0T2Zmc2V0KHN0dWJJbmZvLmRl
bHRhQ2FsbFRvVGFnTG9hZE9yU3RvcmUpLCBzaXplb2YoSlNWYWx1ZSkgKiBvZmZzZXQgKyBPQkpF
Q1RfT0ZGU0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnRhZykpOwotICAgICAg
ICByZXBhdGNoQnVmZmVyLnJlcGF0Y2goc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmRhdGFM
YWJlbENvbXBhY3RBdE9mZnNldChzdHViSW5mby5kZWx0YUNhbGxUb1BheWxvYWRMb2FkT3JTdG9y
ZSksIHNpemVvZihKU1ZhbHVlKSAqIG9mZnNldCArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFs
dWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5bG9hZCkpOworICAgICAgICByZXBhdGNoQnVmZmVyLnJl
cGF0Y2goc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmRhdGFMYWJlbENvbXBhY3RBdE9mZnNl
dChzdHViSW5mby5wYXRjaC5kZmcuZGVsdGFDYWxsVG9UYWdMb2FkT3JTdG9yZSksIHNpemVvZihK
U1ZhbHVlKSAqIG9mZnNldCArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9y
LCBhc0JpdHMudGFnKSk7CisgICAgICAgIHJlcGF0Y2hCdWZmZXIucmVwYXRjaChzdHViSW5mby5j
YWxsUmV0dXJuTG9jYXRpb24uZGF0YUxhYmVsQ29tcGFjdEF0T2Zmc2V0KHN0dWJJbmZvLnBhdGNo
LmRmZy5kZWx0YUNhbGxUb1BheWxvYWRMb2FkT3JTdG9yZSksIHNpemVvZihKU1ZhbHVlKSAqIG9m
ZnNldCArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMucGF5
bG9hZCkpOwogICAgIH0gZWxzZSB7Ci0gICAgICAgIHJlcGF0Y2hCdWZmZXIucmVwYXRjaChzdHVi
SW5mby5jYWxsUmV0dXJuTG9jYXRpb24uZGF0YUxhYmVsMzJBdE9mZnNldChzdHViSW5mby5kZWx0
YUNhbGxUb1RhZ0xvYWRPclN0b3JlKSwgc2l6ZW9mKEpTVmFsdWUpICogb2Zmc2V0ICsgT0JKRUNU
X09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2NyaXB0b3IsIGFzQml0cy50YWcpKTsKLSAgICAgICAg
cmVwYXRjaEJ1ZmZlci5yZXBhdGNoKHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5kYXRhTGFi
ZWwzMkF0T2Zmc2V0KHN0dWJJbmZvLmRlbHRhQ2FsbFRvUGF5bG9hZExvYWRPclN0b3JlKSwgc2l6
ZW9mKEpTVmFsdWUpICogb2Zmc2V0ICsgT0JKRUNUX09GRlNFVE9GKEVuY29kZWRWYWx1ZURlc2Ny
aXB0b3IsIGFzQml0cy5wYXlsb2FkKSk7CisgICAgICAgIHJlcGF0Y2hCdWZmZXIucmVwYXRjaChz
dHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24uZGF0YUxhYmVsMzJBdE9mZnNldChzdHViSW5mby5w
YXRjaC5kZmcuZGVsdGFDYWxsVG9UYWdMb2FkT3JTdG9yZSksIHNpemVvZihKU1ZhbHVlKSAqIG9m
ZnNldCArIE9CSkVDVF9PRkZTRVRPRihFbmNvZGVkVmFsdWVEZXNjcmlwdG9yLCBhc0JpdHMudGFn
KSk7CisgICAgICAgIHJlcGF0Y2hCdWZmZXIucmVwYXRjaChzdHViSW5mby5jYWxsUmV0dXJuTG9j
YXRpb24uZGF0YUxhYmVsMzJBdE9mZnNldChzdHViSW5mby5wYXRjaC5kZmcuZGVsdGFDYWxsVG9Q
YXlsb2FkTG9hZE9yU3RvcmUpLCBzaXplb2YoSlNWYWx1ZSkgKiBvZmZzZXQgKyBPQkpFQ1RfT0ZG
U0VUT0YoRW5jb2RlZFZhbHVlRGVzY3JpcHRvciwgYXNCaXRzLnBheWxvYWQpKTsKICAgICB9CiAj
ZW5kaWYKIH0KQEAgLTEwMiw3ICsxMDIsNyBAQCBzdGF0aWMgdm9pZCBsaW5rUmVzdG9yZVNjcmF0
Y2goTGlua0J1ZmZlCiAKIHN0YXRpYyB2b2lkIGxpbmtSZXN0b3JlU2NyYXRjaChMaW5rQnVmZmVy
JiBwYXRjaEJ1ZmZlciwgYm9vbCBuZWVkVG9SZXN0b3JlU2NyYXRjaCwgU3RydWN0dXJlU3R1Yklu
Zm8mIHN0dWJJbmZvLCBNYWNyb0Fzc2VtYmxlcjo6SnVtcCBzdWNjZXNzLCBNYWNyb0Fzc2VtYmxl
cjo6SnVtcCBmYWlsLCBNYWNyb0Fzc2VtYmxlcjo6SnVtcExpc3QgZmFpbHVyZUNhc2VzKQogewot
ICAgIGxpbmtSZXN0b3JlU2NyYXRjaChwYXRjaEJ1ZmZlciwgbmVlZFRvUmVzdG9yZVNjcmF0Y2gs
IHN1Y2Nlc3MsIGZhaWwsIGZhaWx1cmVDYXNlcywgc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9u
LmxhYmVsQXRPZmZzZXQoc3R1YkluZm8uZGVsdGFDYWxsVG9Eb25lKSwgc3R1YkluZm8uY2FsbFJl
dHVybkxvY2F0aW9uLmxhYmVsQXRPZmZzZXQoc3R1YkluZm8uZGVsdGFDYWxsVG9TbG93Q2FzZSkp
OworICAgIGxpbmtSZXN0b3JlU2NyYXRjaChwYXRjaEJ1ZmZlciwgbmVlZFRvUmVzdG9yZVNjcmF0
Y2gsIHN1Y2Nlc3MsIGZhaWwsIGZhaWx1cmVDYXNlcywgc3R1YkluZm8uY2FsbFJldHVybkxvY2F0
aW9uLmxhYmVsQXRPZmZzZXQoc3R1YkluZm8ucGF0Y2guZGZnLmRlbHRhQ2FsbFRvRG9uZSksIHN0
dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5sYWJlbEF0T2Zmc2V0KHN0dWJJbmZvLnBhdGNoLmRm
Zy5kZWx0YUNhbGxUb1Nsb3dDYXNlKSk7CiB9CiAKIHN0YXRpYyB2b2lkIGdlbmVyYXRlUHJvdG9D
aGFpbkFjY2Vzc1N0dWIoRXhlY1N0YXRlKiBleGVjLCBTdHJ1Y3R1cmVTdHViSW5mbyYgc3R1Yklu
Zm8sIFN0cnVjdHVyZUNoYWluKiBjaGFpbiwgc2l6ZV90IGNvdW50LCBzaXplX3Qgb2Zmc2V0LCBT
dHJ1Y3R1cmUqIHN0cnVjdHVyZSwgQ29kZUxvY2F0aW9uTGFiZWwgc3VjY2Vzc0xhYmVsLCBDb2Rl
TG9jYXRpb25MYWJlbCBzbG93Q2FzZUxhYmVsLCBNYWNyb0Fzc2VtYmxlckNvZGVSZWYmIHN0dWJS
b3V0aW5lKQpAQCAtMTExLDEyICsxMTEsMTIgQEAgc3RhdGljIHZvaWQgZ2VuZXJhdGVQcm90b0No
YWluQWNjZXNzU3R1YgogCiAgICAgTWFjcm9Bc3NlbWJsZXIgc3R1YkppdDsKICAgICAgICAgCi0g
ICAgR1BSUmVnIGJhc2VHUFIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+KHN0dWJJbmZvLmJhc2VHUFIp
OworICAgIEdQUlJlZyBiYXNlR1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5wYXRj
aC5kZmcuYmFzZUdQUik7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICBHUFJSZWcgcmVzdWx0
VGFnR1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby52YWx1ZVRhZ0dQUik7CisgICAg
R1BSUmVnIHJlc3VsdFRhZ0dQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2gu
ZGZnLnZhbHVlVGFnR1BSKTsKICNlbmRpZgotICAgIEdQUlJlZyByZXN1bHRHUFIgPSBzdGF0aWNf
Y2FzdDxHUFJSZWc+KHN0dWJJbmZvLnZhbHVlR1BSKTsKLSAgICBHUFJSZWcgc2NyYXRjaEdQUiA9
IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8uc2NyYXRjaEdQUik7CisgICAgR1BSUmVnIHJl
c3VsdEdQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2guZGZnLnZhbHVlR1BS
KTsKKyAgICBHUFJSZWcgc2NyYXRjaEdQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8u
cGF0Y2guZGZnLnNjcmF0Y2hHUFIpOwogICAgIGJvb2wgbmVlZFRvUmVzdG9yZVNjcmF0Y2ggPSBm
YWxzZTsKICAgICAKICAgICBpZiAoc2NyYXRjaEdQUiA9PSBJbnZhbGlkR1BSUmVnKSB7CkBAIC0x
NjcsMTIgKzE2NywxMiBAQCBzdGF0aWMgYm9vbCB0cnlDYWNoZUdldEJ5SUQoRXhlY1N0YXRlKiBl
CiAgICAgSlNHbG9iYWxEYXRhKiBnbG9iYWxEYXRhID0gJmV4ZWMtPmdsb2JhbERhdGEoKTsKICAg
ICAKICAgICBpZiAoaXNKU0FycmF5KGJhc2VWYWx1ZSkgJiYgcHJvcGVydHlOYW1lID09IGV4ZWMt
PnByb3BlcnR5TmFtZXMoKS5sZW5ndGgpIHsKLSAgICAgICAgR1BSUmVnIGJhc2VHUFIgPSBzdGF0
aWNfY2FzdDxHUFJSZWc+KHN0dWJJbmZvLmJhc2VHUFIpOworICAgICAgICBHUFJSZWcgYmFzZUdQ
UiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2guZGZnLmJhc2VHUFIpOwogI2lm
IFVTRShKU1ZBTFVFMzJfNjQpCi0gICAgICAgIEdQUlJlZyByZXN1bHRUYWdHUFIgPSBzdGF0aWNf
Y2FzdDxHUFJSZWc+KHN0dWJJbmZvLnZhbHVlVGFnR1BSKTsKKyAgICAgICAgR1BSUmVnIHJlc3Vs
dFRhZ0dQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2guZGZnLnZhbHVlVGFn
R1BSKTsKICNlbmRpZgotICAgICAgICBHUFJSZWcgcmVzdWx0R1BSID0gc3RhdGljX2Nhc3Q8R1BS
UmVnPihzdHViSW5mby52YWx1ZUdQUik7Ci0gICAgICAgIEdQUlJlZyBzY3JhdGNoR1BSID0gc3Rh
dGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5zY3JhdGNoR1BSKTsKKyAgICAgICAgR1BSUmVnIHJl
c3VsdEdQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2guZGZnLnZhbHVlR1BS
KTsKKyAgICAgICAgR1BSUmVnIHNjcmF0Y2hHUFIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+KHN0dWJJ
bmZvLnBhdGNoLmRmZy5zY3JhdGNoR1BSKTsKICAgICAgICAgYm9vbCBuZWVkVG9SZXN0b3JlU2Ny
YXRjaCA9IGZhbHNlOwogICAgICAgICAKICAgICAgICAgTWFjcm9Bc3NlbWJsZXIgc3R1YkppdDsK
QEAgLTIwOSw3ICsyMDksNyBAQCBzdGF0aWMgYm9vbCB0cnlDYWNoZUdldEJ5SUQoRXhlY1N0YXRl
KiBlCiAgICAgICAgIHN0dWJJbmZvLnN0dWJSb3V0aW5lID0gcGF0Y2hCdWZmZXIuZmluYWxpemVD
b2RlKCk7CiAgICAgICAgIAogICAgICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIoY29k
ZUJsb2NrKTsKLSAgICAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoc3R1YkluZm8uY2FsbFJldHVy
bkxvY2F0aW9uLmp1bXBBdE9mZnNldChzdHViSW5mby5kZWx0YUNhbGxUb1N0cnVjdENoZWNrKSwg
Q29kZUxvY2F0aW9uTGFiZWwoc3R1YkluZm8uc3R1YlJvdXRpbmUuY29kZSgpKSk7CisgICAgICAg
IHJlcGF0Y2hCdWZmZXIucmVsaW5rKHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5qdW1wQXRP
ZmZzZXQoc3R1YkluZm8ucGF0Y2guZGZnLmRlbHRhQ2FsbFRvU3RydWN0Q2hlY2spLCBDb2RlTG9j
YXRpb25MYWJlbChzdHViSW5mby5zdHViUm91dGluZS5jb2RlKCkpKTsKICAgICAgICAgcmVwYXRj
aEJ1ZmZlci5yZWxpbmsoc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLCBvcGVyYXRpb25HZXRC
eUlkKTsKICAgICAgICAgCiAgICAgICAgIHJldHVybiB0cnVlOwpAQCAtMjU1LDEwICsyNTUsMTAg
QEAgc3RhdGljIGJvb2wgdHJ5Q2FjaGVHZXRCeUlEKEV4ZWNTdGF0ZSogZQogICAgIAogICAgIEFT
U0VSVChzbG90LnNsb3RCYXNlKCkuaXNPYmplY3QoKSk7CiAgICAgCi0gICAgZ2VuZXJhdGVQcm90
b0NoYWluQWNjZXNzU3R1YihleGVjLCBzdHViSW5mbywgcHJvdG90eXBlQ2hhaW4sIGNvdW50LCBv
ZmZzZXQsIHN0cnVjdHVyZSwgc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmxhYmVsQXRPZmZz
ZXQoc3R1YkluZm8uZGVsdGFDYWxsVG9Eb25lKSwgc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9u
LmxhYmVsQXRPZmZzZXQoc3R1YkluZm8uZGVsdGFDYWxsVG9TbG93Q2FzZSksIHN0dWJJbmZvLnN0
dWJSb3V0aW5lKTsKKyAgICBnZW5lcmF0ZVByb3RvQ2hhaW5BY2Nlc3NTdHViKGV4ZWMsIHN0dWJJ
bmZvLCBwcm90b3R5cGVDaGFpbiwgY291bnQsIG9mZnNldCwgc3RydWN0dXJlLCBzdHViSW5mby5j
YWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldChzdHViSW5mby5wYXRjaC5kZmcuZGVsdGFD
YWxsVG9Eb25lKSwgc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmxhYmVsQXRPZmZzZXQoc3R1
YkluZm8ucGF0Y2guZGZnLmRlbHRhQ2FsbFRvU2xvd0Nhc2UpLCBzdHViSW5mby5zdHViUm91dGlu
ZSk7CiAgICAgCiAgICAgUmVwYXRjaEJ1ZmZlciByZXBhdGNoQnVmZmVyKGNvZGVCbG9jayk7Ci0g
ICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmp1bXBB
dE9mZnNldChzdHViSW5mby5kZWx0YUNhbGxUb1N0cnVjdENoZWNrKSwgQ29kZUxvY2F0aW9uTGFi
ZWwoc3R1YkluZm8uc3R1YlJvdXRpbmUuY29kZSgpKSk7CisgICAgcmVwYXRjaEJ1ZmZlci5yZWxp
bmsoc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmp1bXBBdE9mZnNldChzdHViSW5mby5wYXRj
aC5kZmcuZGVsdGFDYWxsVG9TdHJ1Y3RDaGVjayksIENvZGVMb2NhdGlvbkxhYmVsKHN0dWJJbmZv
LnN0dWJSb3V0aW5lLmNvZGUoKSkpOwogICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKHN0dWJJbmZv
LmNhbGxSZXR1cm5Mb2NhdGlvbiwgb3BlcmF0aW9uR2V0QnlJZFByb3RvQnVpbGRMaXN0KTsKICAg
ICAKICAgICBzdHViSW5mby5pbml0R2V0QnlJZENoYWluKCpnbG9iYWxEYXRhLCBjb2RlQmxvY2st
Pm93bmVyRXhlY3V0YWJsZSgpLCBzdHJ1Y3R1cmUsIHByb3RvdHlwZUNoYWluKTsKQEAgLTI4MCw3
ICsyODAsNyBAQCBzdGF0aWMgYm9vbCB0cnlCdWlsZEdldEJ5SURMaXN0KEV4ZWNTdGF0CiAgICAg
ICAgIHx8IHNsb3Quc2xvdEJhc2UoKSAhPSBiYXNlVmFsdWUpCiAgICAgICAgIHJldHVybiBmYWxz
ZTsKICAgICAKLSAgICBpZiAoIXN0dWJJbmZvLnJlZ2lzdGVyc0ZsdXNoZWQpIHsKKyAgICBpZiAo
IXN0dWJJbmZvLnBhdGNoLmRmZy5yZWdpc3RlcnNGbHVzaGVkKSB7CiAgICAgICAgIC8vIFdlIGNh
bm5vdCBkbyBhcyBtdWNoIGlubGluZSBjYWNoaW5nIGlmIHRoZSByZWdpc3RlcnMgd2VyZSBub3Qg
Zmx1c2hlZCBwcmlvciB0byB0aGlzIEdldEJ5SWQuIEluIHBhcnRpY3VsYXIsCiAgICAgICAgIC8v
IG5vbi1WYWx1ZSBjYWNoZWQgcHJvcGVydGllcyByZXF1aXJlIHBsYW50aW5nIGNhbGxzLCB3aGlj
aCByZXF1aXJlcyByZWdpc3RlcnMgdG8gaGF2ZSBiZWVuIGZsdXNoZWQuIFRodXMsCiAgICAgICAg
IC8vIGlmIHJlZ2lzdGVycyB3ZXJlIG5vdCBmbHVzaGVkLCBkb24ndCBkbyBub24tVmFsdWUgY2Fj
aGluZy4KQEAgLTMwNSw3ICszMDUsNyBAQCBzdGF0aWMgYm9vbCB0cnlCdWlsZEdldEJ5SURMaXN0
KEV4ZWNTdGF0CiAgICAgICAgIGxpc3RJbmRleCA9IDA7CiAgICAgfSBlbHNlIGlmIChzdHViSW5m
by5hY2Nlc3NUeXBlID09IGFjY2Vzc19nZXRfYnlfaWRfc2VsZikgewogICAgICAgICBBU1NFUlQo
IXN0dWJJbmZvLnN0dWJSb3V0aW5lKTsKLSAgICAgICAgcG9seW1vcnBoaWNTdHJ1Y3R1cmVMaXN0
ID0gbmV3IFBvbHltb3JwaGljQWNjZXNzU3RydWN0dXJlTGlzdCgqZ2xvYmFsRGF0YSwgY29kZUJs
b2NrLT5vd25lckV4ZWN1dGFibGUoKSwgTWFjcm9Bc3NlbWJsZXJDb2RlUmVmOjpjcmVhdGVTZWxm
TWFuYWdlZENvZGVSZWYoc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmxhYmVsQXRPZmZzZXQo
c3R1YkluZm8uZGVsdGFDYWxsVG9TbG93Q2FzZSkpLCBzdHViSW5mby51LmdldEJ5SWRTZWxmLmJh
c2VPYmplY3RTdHJ1Y3R1cmUuZ2V0KCksIHRydWUpOworICAgICAgICBwb2x5bW9ycGhpY1N0cnVj
dHVyZUxpc3QgPSBuZXcgUG9seW1vcnBoaWNBY2Nlc3NTdHJ1Y3R1cmVMaXN0KCpnbG9iYWxEYXRh
LCBjb2RlQmxvY2stPm93bmVyRXhlY3V0YWJsZSgpLCBNYWNyb0Fzc2VtYmxlckNvZGVSZWY6OmNy
ZWF0ZVNlbGZNYW5hZ2VkQ29kZVJlZihzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxB
dE9mZnNldChzdHViSW5mby5wYXRjaC5kZmcuZGVsdGFDYWxsVG9TbG93Q2FzZSkpLCBzdHViSW5m
by51LmdldEJ5SWRTZWxmLmJhc2VPYmplY3RTdHJ1Y3R1cmUuZ2V0KCksIHRydWUpOwogICAgICAg
ICBzdHViSW5mby5pbml0R2V0QnlJZFNlbGZMaXN0KHBvbHltb3JwaGljU3RydWN0dXJlTGlzdCwg
MSk7CiAgICAgICAgIGxpc3RJbmRleCA9IDE7CiAgICAgfSBlbHNlIHsKQEAgLTMxNiwxMiArMzE2
LDEyIEBAIHN0YXRpYyBib29sIHRyeUJ1aWxkR2V0QnlJRExpc3QoRXhlY1N0YXQKICAgICBpZiAo
bGlzdEluZGV4IDwgUE9MWU1PUlBISUNfTElTVF9DQUNIRV9TSVpFKSB7CiAgICAgICAgIHN0dWJJ
bmZvLnUuZ2V0QnlJZFNlbGZMaXN0Lmxpc3RTaXplKys7CiAgICAgICAgIAotICAgICAgICBHUFJS
ZWcgYmFzZUdQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8uYmFzZUdQUik7CisgICAg
ICAgIEdQUlJlZyBiYXNlR1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5wYXRjaC5k
ZmcuYmFzZUdQUik7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICAgICAgR1BSUmVnIHJlc3Vs
dFRhZ0dQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8udmFsdWVUYWdHUFIpOworICAg
ICAgICBHUFJSZWcgcmVzdWx0VGFnR1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5w
YXRjaC5kZmcudmFsdWVUYWdHUFIpOwogI2VuZGlmCi0gICAgICAgIEdQUlJlZyByZXN1bHRHUFIg
PSBzdGF0aWNfY2FzdDxHUFJSZWc+KHN0dWJJbmZvLnZhbHVlR1BSKTsKLSAgICAgICAgR1BSUmVn
IHNjcmF0Y2hHUFIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+KHN0dWJJbmZvLnNjcmF0Y2hHUFIpOwor
ICAgICAgICBHUFJSZWcgcmVzdWx0R1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5w
YXRjaC5kZmcudmFsdWVHUFIpOworICAgICAgICBHUFJSZWcgc2NyYXRjaEdQUiA9IHN0YXRpY19j
YXN0PEdQUlJlZz4oc3R1YkluZm8ucGF0Y2guZGZnLnNjcmF0Y2hHUFIpOwogICAgICAgICAKICAg
ICAgICAgQ0NhbGxIZWxwZXJzIHN0dWJKaXQoZ2xvYmFsRGF0YSwgY29kZUJsb2NrKTsKICAgICAg
ICAgCkBAIC0zOTUsMTEgKzM5NSwxMSBAQCBzdGF0aWMgYm9vbCB0cnlCdWlsZEdldEJ5SURMaXN0
KEV4ZWNTdGF0CiAgICAgICAgIGlmIChsaXN0SW5kZXgpCiAgICAgICAgICAgICBsYXN0UHJvdG9C
ZWdpbiA9IENvZGVMb2NhdGlvbkxhYmVsKHBvbHltb3JwaGljU3RydWN0dXJlTGlzdC0+bGlzdFts
aXN0SW5kZXggLSAxXS5zdHViUm91dGluZS5jb2RlKCkpOwogICAgICAgICBlbHNlCi0gICAgICAg
ICAgICBsYXN0UHJvdG9CZWdpbiA9IHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5sYWJlbEF0
T2Zmc2V0KHN0dWJJbmZvLmRlbHRhQ2FsbFRvU2xvd0Nhc2UpOworICAgICAgICAgICAgbGFzdFBy
b3RvQmVnaW4gPSBzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldChzdHVi
SW5mby5wYXRjaC5kZmcuZGVsdGFDYWxsVG9TbG93Q2FzZSk7CiAgICAgICAgIEFTU0VSVCghIWxh
c3RQcm90b0JlZ2luKTsKICAgICAgICAgCiAgICAgICAgIHBhdGNoQnVmZmVyLmxpbmsod3JvbmdT
dHJ1Y3QsIGxhc3RQcm90b0JlZ2luKTsKLSAgICAgICAgcGF0Y2hCdWZmZXIubGluayhzdWNjZXNz
LCBzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldChzdHViSW5mby5kZWx0
YUNhbGxUb0RvbmUpKTsKKyAgICAgICAgcGF0Y2hCdWZmZXIubGluayhzdWNjZXNzLCBzdHViSW5m
by5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldChzdHViSW5mby5wYXRjaC5kZmcuZGVs
dGFDYWxsVG9Eb25lKSk7CiAgICAgICAgIGlmICghaXNEaXJlY3QpIHsKICAgICAgICAgICAgIHBh
dGNoQnVmZmVyLmxpbmsob3BlcmF0aW9uQ2FsbCwgb3BlcmF0aW9uRnVuY3Rpb24pOwogICAgICAg
ICAgICAgcGF0Y2hCdWZmZXIubGluayhoYW5kbGVyQ2FsbCwgbG9va3VwRXhjZXB0aW9uSGFuZGxl
ckluU3R1Yik7CkBAIC00MDksNyArNDA5LDcgQEAgc3RhdGljIGJvb2wgdHJ5QnVpbGRHZXRCeUlE
TGlzdChFeGVjU3RhdAogICAgICAgICAKICAgICAgICAgcG9seW1vcnBoaWNTdHJ1Y3R1cmVMaXN0
LT5saXN0W2xpc3RJbmRleF0uc2V0KCpnbG9iYWxEYXRhLCBjb2RlQmxvY2stPm93bmVyRXhlY3V0
YWJsZSgpLCBzdHViUm91dGluZSwgc3RydWN0dXJlLCBpc0RpcmVjdCk7CiAgICAgICAgIAotICAg
ICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2NhdGlvbiA9IHN0dWJJbmZvLmNhbGxSZXR1cm5M
b2NhdGlvbi5qdW1wQXRPZmZzZXQoc3R1YkluZm8uZGVsdGFDYWxsVG9TdHJ1Y3RDaGVjayk7Cisg
ICAgICAgIENvZGVMb2NhdGlvbkp1bXAganVtcExvY2F0aW9uID0gc3R1YkluZm8uY2FsbFJldHVy
bkxvY2F0aW9uLmp1bXBBdE9mZnNldChzdHViSW5mby5wYXRjaC5kZmcuZGVsdGFDYWxsVG9TdHJ1
Y3RDaGVjayk7CiAgICAgICAgIFJlcGF0Y2hCdWZmZXIgcmVwYXRjaEJ1ZmZlcihjb2RlQmxvY2sp
OwogICAgICAgICByZXBhdGNoQnVmZmVyLnJlbGluayhqdW1wTG9jYXRpb24sIENvZGVMb2NhdGlv
bkxhYmVsKHN0dWJSb3V0aW5lLmNvZGUoKSkpOwogICAgICAgICAKQEAgLTQ3MSwxMSArNDcxLDEx
IEBAIHN0YXRpYyBib29sIHRyeUJ1aWxkR2V0QnlJRFByb3RvTGlzdChFeGUKIAogICAgICAgICBN
YWNyb0Fzc2VtYmxlckNvZGVSZWYgc3R1YlJvdXRpbmU7CiAgICAgICAgIAotICAgICAgICBnZW5l
cmF0ZVByb3RvQ2hhaW5BY2Nlc3NTdHViKGV4ZWMsIHN0dWJJbmZvLCBwcm90b3R5cGVDaGFpbiwg
Y291bnQsIG9mZnNldCwgc3RydWN0dXJlLCBzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24ubGFi
ZWxBdE9mZnNldChzdHViSW5mby5kZWx0YUNhbGxUb0RvbmUpLCBsYXN0UHJvdG9CZWdpbiwgc3R1
YlJvdXRpbmUpOworICAgICAgICBnZW5lcmF0ZVByb3RvQ2hhaW5BY2Nlc3NTdHViKGV4ZWMsIHN0
dWJJbmZvLCBwcm90b3R5cGVDaGFpbiwgY291bnQsIG9mZnNldCwgc3RydWN0dXJlLCBzdHViSW5m
by5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldChzdHViSW5mby5wYXRjaC5kZmcuZGVs
dGFDYWxsVG9Eb25lKSwgbGFzdFByb3RvQmVnaW4sIHN0dWJSb3V0aW5lKTsKICAgICAgICAgCiAg
ICAgICAgIHBvbHltb3JwaGljU3RydWN0dXJlTGlzdC0+bGlzdFtsaXN0SW5kZXhdLnNldCgqZ2xv
YmFsRGF0YSwgY29kZUJsb2NrLT5vd25lckV4ZWN1dGFibGUoKSwgc3R1YlJvdXRpbmUsIHN0cnVj
dHVyZSwgdHJ1ZSk7CiAgICAgICAgIAotICAgICAgICBDb2RlTG9jYXRpb25KdW1wIGp1bXBMb2Nh
dGlvbiA9IHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5qdW1wQXRPZmZzZXQoc3R1YkluZm8u
ZGVsdGFDYWxsVG9TdHJ1Y3RDaGVjayk7CisgICAgICAgIENvZGVMb2NhdGlvbkp1bXAganVtcExv
Y2F0aW9uID0gc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmp1bXBBdE9mZnNldChzdHViSW5m
by5wYXRjaC5kZmcuZGVsdGFDYWxsVG9TdHJ1Y3RDaGVjayk7CiAgICAgICAgIFJlcGF0Y2hCdWZm
ZXIgcmVwYXRjaEJ1ZmZlcihjb2RlQmxvY2spOwogICAgICAgICByZXBhdGNoQnVmZmVyLnJlbGlu
ayhqdW1wTG9jYXRpb24sIENvZGVMb2NhdGlvbkxhYmVsKHN0dWJSb3V0aW5lLmNvZGUoKSkpOwog
ICAgICAgICAKQEAgLTU0MCwxMiArNTQwLDEyIEBAIHN0YXRpYyB2b2lkIGVtaXRQdXRSZXBsYWNl
U3R1YigKICAgICBNYWNyb0Fzc2VtYmxlckNvZGVSZWYmIHN0dWJSb3V0aW5lKQogewogICAgIEpT
R2xvYmFsRGF0YSogZ2xvYmFsRGF0YSA9ICZleGVjLT5nbG9iYWxEYXRhKCk7Ci0gICAgR1BSUmVn
IGJhc2VHUFIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+KHN0dWJJbmZvLmJhc2VHUFIpOworICAgIEdQ
UlJlZyBiYXNlR1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5wYXRjaC5kZmcuYmFz
ZUdQUik7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAgICBHUFJSZWcgdmFsdWVUYWdHUFIgPSBz
dGF0aWNfY2FzdDxHUFJSZWc+KHN0dWJJbmZvLnZhbHVlVGFnR1BSKTsKKyAgICBHUFJSZWcgdmFs
dWVUYWdHUFIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+KHN0dWJJbmZvLnBhdGNoLmRmZy52YWx1ZVRh
Z0dQUik7CiAjZW5kaWYKLSAgICBHUFJSZWcgdmFsdWVHUFIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+
KHN0dWJJbmZvLnZhbHVlR1BSKTsKLSAgICBHUFJSZWcgc2NyYXRjaEdQUiA9IHN0YXRpY19jYXN0
PEdQUlJlZz4oc3R1YkluZm8uc2NyYXRjaEdQUik7CisgICAgR1BSUmVnIHZhbHVlR1BSID0gc3Rh
dGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5wYXRjaC5kZmcudmFsdWVHUFIpOworICAgIEdQUlJl
ZyBzY3JhdGNoR1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5wYXRjaC5kZmcuc2Ny
YXRjaEdQUik7CiAgICAgYm9vbCBuZWVkVG9SZXN0b3JlU2NyYXRjaCA9IGZhbHNlOwogI2lmIEVO
QUJMRShHR0MpIHx8IEVOQUJMRShXUklURV9CQVJSSUVSX1BST0ZJTElORykKICAgICBHUFJSZWcg
c2NyYXRjaEdQUjI7CkBAIC02MDgsNyArNjA4LDcgQEAgc3RhdGljIHZvaWQgZW1pdFB1dFJlcGxh
Y2VTdHViKAogICAgIH0KICAgICAKICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCpnbG9iYWxE
YXRhLCAmc3R1YkppdCwgZXhlYy0+Y29kZUJsb2NrKCkpOwotICAgIHBhdGNoQnVmZmVyLmxpbmso
c3VjY2Vzcywgc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmxhYmVsQXRPZmZzZXQoc3R1Yklu
Zm8uZGVsdGFDYWxsVG9Eb25lKSk7CisgICAgcGF0Y2hCdWZmZXIubGluayhzdWNjZXNzLCBzdHVi
SW5mby5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldChzdHViSW5mby5wYXRjaC5kZmcu
ZGVsdGFDYWxsVG9Eb25lKSk7CiAgICAgcGF0Y2hCdWZmZXIubGluayhmYWlsdXJlLCBmYWlsdXJl
TGFiZWwpOwogICAgICAgICAgICAgCiAgICAgc3R1YlJvdXRpbmUgPSBwYXRjaEJ1ZmZlci5maW5h
bGl6ZUNvZGUoKTsKQEAgLTYyOSwxMiArNjI5LDEyIEBAIHN0YXRpYyB2b2lkIGVtaXRQdXRUcmFu
c2l0aW9uU3R1YigKIHsKICAgICBKU0dsb2JhbERhdGEqIGdsb2JhbERhdGEgPSAmZXhlYy0+Z2xv
YmFsRGF0YSgpOwogCi0gICAgR1BSUmVnIGJhc2VHUFIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+KHN0
dWJJbmZvLmJhc2VHUFIpOworICAgIEdQUlJlZyBiYXNlR1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVn
PihzdHViSW5mby5wYXRjaC5kZmcuYmFzZUdQUik7CiAjaWYgVVNFKEpTVkFMVUUzMl82NCkKLSAg
ICBHUFJSZWcgdmFsdWVUYWdHUFIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+KHN0dWJJbmZvLnZhbHVl
VGFnR1BSKTsKKyAgICBHUFJSZWcgdmFsdWVUYWdHUFIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+KHN0
dWJJbmZvLnBhdGNoLmRmZy52YWx1ZVRhZ0dQUik7CiAjZW5kaWYKLSAgICBHUFJSZWcgdmFsdWVH
UFIgPSBzdGF0aWNfY2FzdDxHUFJSZWc+KHN0dWJJbmZvLnZhbHVlR1BSKTsKLSAgICBHUFJSZWcg
c2NyYXRjaEdQUiA9IHN0YXRpY19jYXN0PEdQUlJlZz4oc3R1YkluZm8uc2NyYXRjaEdQUik7Cisg
ICAgR1BSUmVnIHZhbHVlR1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVnPihzdHViSW5mby5wYXRjaC5k
ZmcudmFsdWVHUFIpOworICAgIEdQUlJlZyBzY3JhdGNoR1BSID0gc3RhdGljX2Nhc3Q8R1BSUmVn
PihzdHViSW5mby5wYXRjaC5kZmcuc2NyYXRjaEdQUik7CiAgICAgYm9vbCBuZWVkVG9SZXN0b3Jl
U2NyYXRjaCA9IGZhbHNlOwogICAgICAgICAgICAgCiAgICAgQVNTRVJUKHNjcmF0Y2hHUFIgIT0g
YmFzZUdQUik7CkBAIC02OTksNyArNjk5LDcgQEAgc3RhdGljIHZvaWQgZW1pdFB1dFRyYW5zaXRp
b25TdHViKAogICAgICAgICBzdWNjZXNzID0gc3R1YkppdC5qdW1wKCk7CiAgICAgICAgICAgICAK
ICAgICBMaW5rQnVmZmVyIHBhdGNoQnVmZmVyKCpnbG9iYWxEYXRhLCAmc3R1YkppdCwgZXhlYy0+
Y29kZUJsb2NrKCkpOwotICAgIHBhdGNoQnVmZmVyLmxpbmsoc3VjY2Vzcywgc3R1YkluZm8uY2Fs
bFJldHVybkxvY2F0aW9uLmxhYmVsQXRPZmZzZXQoc3R1YkluZm8uZGVsdGFDYWxsVG9Eb25lKSk7
CisgICAgcGF0Y2hCdWZmZXIubGluayhzdWNjZXNzLCBzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRp
b24ubGFiZWxBdE9mZnNldChzdHViSW5mby5wYXRjaC5kZmcuZGVsdGFDYWxsVG9Eb25lKSk7CiAg
ICAgaWYgKG5lZWRUb1Jlc3RvcmVTY3JhdGNoKQogICAgICAgICBwYXRjaEJ1ZmZlci5saW5rKGZh
aWx1cmUsIGZhaWx1cmVMYWJlbCk7CiAgICAgZWxzZQpAQCAtNzQxLDExICs3NDEsMTEgQEAgc3Rh
dGljIGJvb2wgdHJ5Q2FjaGVQdXRCeUlEKEV4ZWNTdGF0ZSogZQogICAgICAgICAgICAgZW1pdFB1
dFRyYW5zaXRpb25TdHViKAogICAgICAgICAgICAgICAgIGV4ZWMsIGJhc2VWYWx1ZSwgaWRlbnQs
IHNsb3QsIHN0dWJJbmZvLCBwdXRLaW5kLAogICAgICAgICAgICAgICAgIHN0cnVjdHVyZSwgb2xk
U3RydWN0dXJlLCBwcm90b3R5cGVDaGFpbiwKLSAgICAgICAgICAgICAgICBzdHViSW5mby5jYWxs
UmV0dXJuTG9jYXRpb24ubGFiZWxBdE9mZnNldChzdHViSW5mby5kZWx0YUNhbGxUb1Nsb3dDYXNl
KSwKKyAgICAgICAgICAgICAgICBzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9m
ZnNldChzdHViSW5mby5wYXRjaC5kZmcuZGVsdGFDYWxsVG9TbG93Q2FzZSksCiAgICAgICAgICAg
ICAgICAgc3R1YkluZm8uc3R1YlJvdXRpbmUpOwogICAgICAgICAgICAgCiAgICAgICAgICAgICBS
ZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIoY29kZUJsb2NrKTsKLSAgICAgICAgICAgIHJlcGF0
Y2hCdWZmZXIucmVsaW5rKHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5qdW1wQXRPZmZzZXQo
c3R1YkluZm8uZGVsdGFDYWxsVG9TdHJ1Y3RDaGVjayksIENvZGVMb2NhdGlvbkxhYmVsKHN0dWJJ
bmZvLnN0dWJSb3V0aW5lLmNvZGUoKSkpOworICAgICAgICAgICAgcmVwYXRjaEJ1ZmZlci5yZWxp
bmsoc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmp1bXBBdE9mZnNldChzdHViSW5mby5wYXRj
aC5kZmcuZGVsdGFDYWxsVG9TdHJ1Y3RDaGVjayksIENvZGVMb2NhdGlvbkxhYmVsKHN0dWJJbmZv
LnN0dWJSb3V0aW5lLmNvZGUoKSkpOwogICAgICAgICAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmso
c3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLCBhcHByb3ByaWF0ZUxpc3RCdWlsZGluZ1B1dEJ5
SWRGdW5jdGlvbihzbG90LCBwdXRLaW5kKSk7CiAgICAgICAgICAgICAKICAgICAgICAgICAgIHN0
dWJJbmZvLmluaXRQdXRCeUlkVHJhbnNpdGlvbigqZ2xvYmFsRGF0YSwgY29kZUJsb2NrLT5vd25l
ckV4ZWN1dGFibGUoKSwgb2xkU3RydWN0dXJlLCBzdHJ1Y3R1cmUsIHByb3RvdHlwZUNoYWluLCBw
dXRLaW5kID09IERpcmVjdCk7CkBAIC04MDQsNyArODA0LDcgQEAgc3RhdGljIGJvb2wgdHJ5QnVp
bGRQdXRCeUlkTGlzdChFeGVjU3RhdAogICAgICAgICAgICAgLy8gV2UncmUgbm93IGNvbW1pdHRl
ZCB0byBjcmVhdGluZyB0aGUgc3R1Yi4gTW9ncmlmeSB0aGUgbWV0YS1kYXRhIGFjY29yZGluZ2x5
LgogICAgICAgICAgICAgbGlzdCA9IFBvbHltb3JwaGljUHV0QnlJZExpc3Q6OmZyb20oCiAgICAg
ICAgICAgICAgICAgcHV0S2luZCwgc3R1YkluZm8sCi0gICAgICAgICAgICAgICAgc3R1YkluZm8u
Y2FsbFJldHVybkxvY2F0aW9uLmxhYmVsQXRPZmZzZXQoc3R1YkluZm8uZGVsdGFDYWxsVG9TbG93
Q2FzZSkpOworICAgICAgICAgICAgICAgIHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5sYWJl
bEF0T2Zmc2V0KHN0dWJJbmZvLnBhdGNoLmRmZy5kZWx0YUNhbGxUb1Nsb3dDYXNlKSk7CiAgICAg
ICAgICAgICAKICAgICAgICAgICAgIGVtaXRQdXRUcmFuc2l0aW9uU3R1YigKICAgICAgICAgICAg
ICAgICBleGVjLCBiYXNlVmFsdWUsIHByb3BlcnR5TmFtZSwgc2xvdCwgc3R1YkluZm8sIHB1dEtp
bmQsCkBAIC04MjEsNyArODIxLDcgQEAgc3RhdGljIGJvb2wgdHJ5QnVpbGRQdXRCeUlkTGlzdChF
eGVjU3RhdAogICAgICAgICAgICAgLy8gV2UncmUgbm93IGNvbW1pdHRlZCB0byBjcmVhdGluZyB0
aGUgc3R1Yi4gTW9ncmlmeSB0aGUgbWV0YS1kYXRhIGFjY29yZGluZ2x5LgogICAgICAgICAgICAg
bGlzdCA9IFBvbHltb3JwaGljUHV0QnlJZExpc3Q6OmZyb20oCiAgICAgICAgICAgICAgICAgcHV0
S2luZCwgc3R1YkluZm8sCi0gICAgICAgICAgICAgICAgc3R1YkluZm8uY2FsbFJldHVybkxvY2F0
aW9uLmxhYmVsQXRPZmZzZXQoc3R1YkluZm8uZGVsdGFDYWxsVG9TbG93Q2FzZSkpOworICAgICAg
ICAgICAgICAgIHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5sYWJlbEF0T2Zmc2V0KHN0dWJJ
bmZvLnBhdGNoLmRmZy5kZWx0YUNhbGxUb1Nsb3dDYXNlKSk7CiAgICAgICAgICAgICAKICAgICAg
ICAgICAgIGVtaXRQdXRSZXBsYWNlU3R1YigKICAgICAgICAgICAgICAgICBleGVjLCBiYXNlVmFs
dWUsIHByb3BlcnR5TmFtZSwgc2xvdCwgc3R1YkluZm8sIHB1dEtpbmQsCkBAIC04MzQsNyArODM0
LDcgQEAgc3RhdGljIGJvb2wgdHJ5QnVpbGRQdXRCeUlkTGlzdChFeGVjU3RhdAogICAgICAgICB9
CiAgICAgICAgIAogICAgICAgICBSZXBhdGNoQnVmZmVyIHJlcGF0Y2hCdWZmZXIoY29kZUJsb2Nr
KTsKLSAgICAgICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoc3R1YkluZm8uY2FsbFJldHVybkxvY2F0
aW9uLmp1bXBBdE9mZnNldChzdHViSW5mby5kZWx0YUNhbGxUb1N0cnVjdENoZWNrKSwgQ29kZUxv
Y2F0aW9uTGFiZWwoc3R1YlJvdXRpbmUuY29kZSgpKSk7CisgICAgICAgIHJlcGF0Y2hCdWZmZXIu
cmVsaW5rKHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5qdW1wQXRPZmZzZXQoc3R1YkluZm8u
cGF0Y2guZGZnLmRlbHRhQ2FsbFRvU3RydWN0Q2hlY2spLCBDb2RlTG9jYXRpb25MYWJlbChzdHVi
Um91dGluZS5jb2RlKCkpKTsKICAgICAgICAgCiAgICAgICAgIGlmIChsaXN0LT5pc0Z1bGwoKSkK
ICAgICAgICAgICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2Nh
dGlvbiwgYXBwcm9wcmlhdGVHZW5lcmljUHV0QnlJZEZ1bmN0aW9uKHNsb3QsIHB1dEtpbmQpKTsK
QEAgLTg3NywxNCArODc3LDE0IEBAIHZvaWQgZGZnTGlua0ZvcihFeGVjU3RhdGUqIGV4ZWMsIENh
bGxMaW4KIHZvaWQgZGZnUmVzZXRHZXRCeUlEKFJlcGF0Y2hCdWZmZXImIHJlcGF0Y2hCdWZmZXIs
IFN0cnVjdHVyZVN0dWJJbmZvJiBzdHViSW5mbykKIHsKICAgICByZXBhdGNoQnVmZmVyLnJlbGlu
ayhzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24sIG9wZXJhdGlvbkdldEJ5SWRPcHRpbWl6ZSk7
Ci0gICAgcmVwYXRjaEJ1ZmZlci5yZXBhdGNoKHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5k
YXRhTGFiZWxQdHJBdE9mZnNldCgtKHVpbnRwdHJfdClzdHViSW5mby5kZWx0YUNoZWNrSW1tVG9D
YWxsKSwgcmVpbnRlcnByZXRfY2FzdDx2b2lkKj4oLTEpKTsKKyAgICByZXBhdGNoQnVmZmVyLnJl
cGF0Y2goc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmRhdGFMYWJlbFB0ckF0T2Zmc2V0KC0o
dWludHB0cl90KXN0dWJJbmZvLnBhdGNoLmRmZy5kZWx0YUNoZWNrSW1tVG9DYWxsKSwgcmVpbnRl
cnByZXRfY2FzdDx2b2lkKj4oLTEpKTsKICNpZiBVU0UoSlNWQUxVRTY0KQotICAgIHJlcGF0Y2hC
dWZmZXIucmVwYXRjaChzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24uZGF0YUxhYmVsQ29tcGFj
dEF0T2Zmc2V0KHN0dWJJbmZvLmRlbHRhQ2FsbFRvTG9hZE9yU3RvcmUpLCAwKTsKKyAgICByZXBh
dGNoQnVmZmVyLnJlcGF0Y2goc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmRhdGFMYWJlbENv
bXBhY3RBdE9mZnNldChzdHViSW5mby5wYXRjaC5kZmcuZGVsdGFDYWxsVG9Mb2FkT3JTdG9yZSks
IDApOwogI2Vsc2UKLSAgICByZXBhdGNoQnVmZmVyLnJlcGF0Y2goc3R1YkluZm8uY2FsbFJldHVy
bkxvY2F0aW9uLmRhdGFMYWJlbENvbXBhY3RBdE9mZnNldChzdHViSW5mby5kZWx0YUNhbGxUb1Rh
Z0xvYWRPclN0b3JlKSwgMCk7Ci0gICAgcmVwYXRjaEJ1ZmZlci5yZXBhdGNoKHN0dWJJbmZvLmNh
bGxSZXR1cm5Mb2NhdGlvbi5kYXRhTGFiZWxDb21wYWN0QXRPZmZzZXQoc3R1YkluZm8uZGVsdGFD
YWxsVG9QYXlsb2FkTG9hZE9yU3RvcmUpLCAwKTsKKyAgICByZXBhdGNoQnVmZmVyLnJlcGF0Y2go
c3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmRhdGFMYWJlbENvbXBhY3RBdE9mZnNldChzdHVi
SW5mby5wYXRjaC5kZmcuZGVsdGFDYWxsVG9UYWdMb2FkT3JTdG9yZSksIDApOworICAgIHJlcGF0
Y2hCdWZmZXIucmVwYXRjaChzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24uZGF0YUxhYmVsQ29t
cGFjdEF0T2Zmc2V0KHN0dWJJbmZvLnBhdGNoLmRmZy5kZWx0YUNhbGxUb1BheWxvYWRMb2FkT3JT
dG9yZSksIDApOwogI2VuZGlmCi0gICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoc3R1YkluZm8uY2Fs
bFJldHVybkxvY2F0aW9uLmp1bXBBdE9mZnNldChzdHViSW5mby5kZWx0YUNhbGxUb1N0cnVjdENo
ZWNrKSwgc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmxhYmVsQXRPZmZzZXQoc3R1YkluZm8u
ZGVsdGFDYWxsVG9TbG93Q2FzZSkpOworICAgIHJlcGF0Y2hCdWZmZXIucmVsaW5rKHN0dWJJbmZv
LmNhbGxSZXR1cm5Mb2NhdGlvbi5qdW1wQXRPZmZzZXQoc3R1YkluZm8ucGF0Y2guZGZnLmRlbHRh
Q2FsbFRvU3RydWN0Q2hlY2spLCBzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24ubGFiZWxBdE9m
ZnNldChzdHViSW5mby5wYXRjaC5kZmcuZGVsdGFDYWxsVG9TbG93Q2FzZSkpOwogfQogCiB2b2lk
IGRmZ1Jlc2V0UHV0QnlJRChSZXBhdGNoQnVmZmVyJiByZXBhdGNoQnVmZmVyLCBTdHJ1Y3R1cmVT
dHViSW5mbyYgc3R1YkluZm8pCkBAIC05MDIsMTQgKzkwMiwxNCBAQCB2b2lkIGRmZ1Jlc2V0UHV0
QnlJRChSZXBhdGNoQnVmZmVyJiByZXBhCiAgICAgICAgIG9wdGltaXplZEZ1bmN0aW9uID0gb3Bl
cmF0aW9uUHV0QnlJZERpcmVjdE5vblN0cmljdE9wdGltaXplOwogICAgIH0KICAgICByZXBhdGNo
QnVmZmVyLnJlbGluayhzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24sIG9wdGltaXplZEZ1bmN0
aW9uKTsKLSAgICByZXBhdGNoQnVmZmVyLnJlcGF0Y2goc3R1YkluZm8uY2FsbFJldHVybkxvY2F0
aW9uLmRhdGFMYWJlbFB0ckF0T2Zmc2V0KC0odWludHB0cl90KXN0dWJJbmZvLmRlbHRhQ2hlY2tJ
bW1Ub0NhbGwpLCByZWludGVycHJldF9jYXN0PHZvaWQqPigtMSkpOworICAgIHJlcGF0Y2hCdWZm
ZXIucmVwYXRjaChzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24uZGF0YUxhYmVsUHRyQXRPZmZz
ZXQoLSh1aW50cHRyX3Qpc3R1YkluZm8ucGF0Y2guZGZnLmRlbHRhQ2hlY2tJbW1Ub0NhbGwpLCBy
ZWludGVycHJldF9jYXN0PHZvaWQqPigtMSkpOwogI2lmIFVTRShKU1ZBTFVFNjQpCi0gICAgcmVw
YXRjaEJ1ZmZlci5yZXBhdGNoKHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5kYXRhTGFiZWwz
MkF0T2Zmc2V0KHN0dWJJbmZvLmRlbHRhQ2FsbFRvTG9hZE9yU3RvcmUpLCAwKTsKKyAgICByZXBh
dGNoQnVmZmVyLnJlcGF0Y2goc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmRhdGFMYWJlbDMy
QXRPZmZzZXQoc3R1YkluZm8ucGF0Y2guZGZnLmRlbHRhQ2FsbFRvTG9hZE9yU3RvcmUpLCAwKTsK
ICNlbHNlCi0gICAgcmVwYXRjaEJ1ZmZlci5yZXBhdGNoKHN0dWJJbmZvLmNhbGxSZXR1cm5Mb2Nh
dGlvbi5kYXRhTGFiZWwzMkF0T2Zmc2V0KHN0dWJJbmZvLmRlbHRhQ2FsbFRvVGFnTG9hZE9yU3Rv
cmUpLCAwKTsKLSAgICByZXBhdGNoQnVmZmVyLnJlcGF0Y2goc3R1YkluZm8uY2FsbFJldHVybkxv
Y2F0aW9uLmRhdGFMYWJlbDMyQXRPZmZzZXQoc3R1YkluZm8uZGVsdGFDYWxsVG9QYXlsb2FkTG9h
ZE9yU3RvcmUpLCAwKTsKKyAgICByZXBhdGNoQnVmZmVyLnJlcGF0Y2goc3R1YkluZm8uY2FsbFJl
dHVybkxvY2F0aW9uLmRhdGFMYWJlbDMyQXRPZmZzZXQoc3R1YkluZm8ucGF0Y2guZGZnLmRlbHRh
Q2FsbFRvVGFnTG9hZE9yU3RvcmUpLCAwKTsKKyAgICByZXBhdGNoQnVmZmVyLnJlcGF0Y2goc3R1
YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmRhdGFMYWJlbDMyQXRPZmZzZXQoc3R1YkluZm8ucGF0
Y2guZGZnLmRlbHRhQ2FsbFRvUGF5bG9hZExvYWRPclN0b3JlKSwgMCk7CiAjZW5kaWYKLSAgICBy
ZXBhdGNoQnVmZmVyLnJlbGluayhzdHViSW5mby5jYWxsUmV0dXJuTG9jYXRpb24uanVtcEF0T2Zm
c2V0KHN0dWJJbmZvLmRlbHRhQ2FsbFRvU3RydWN0Q2hlY2spLCBzdHViSW5mby5jYWxsUmV0dXJu
TG9jYXRpb24ubGFiZWxBdE9mZnNldChzdHViSW5mby5kZWx0YUNhbGxUb1Nsb3dDYXNlKSk7Cisg
ICAgcmVwYXRjaEJ1ZmZlci5yZWxpbmsoc3R1YkluZm8uY2FsbFJldHVybkxvY2F0aW9uLmp1bXBB
dE9mZnNldChzdHViSW5mby5wYXRjaC5kZmcuZGVsdGFDYWxsVG9TdHJ1Y3RDaGVjayksIHN0dWJJ
bmZvLmNhbGxSZXR1cm5Mb2NhdGlvbi5sYWJlbEF0T2Zmc2V0KHN0dWJJbmZvLnBhdGNoLmRmZy5k
ZWx0YUNhbGxUb1Nsb3dDYXNlKSk7CiB9CiAKIH0gfSAvLyBuYW1lc3BhY2UgSlNDOjpERkcK
</data>
<flag name="review"
          id="141926"
          type_id="1"
          status="+"
          setter="oliver"
    />
          </attachment>
      

    </bug>

</bugzilla>