<?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>230367</bug_id>
          
          <creation_ts>2021-09-16 12:34:07 -0700</creation_ts>
          <short_desc>Don&apos;t throw an exception in the middle of linking a CodeBlock</short_desc>
          <delta_ts>2021-09-16 18:06:17 -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>WebKit 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>InRadar</keywords>
          <priority>P2</priority>
          <bug_severity>Normal</bug_severity>
          <target_milestone>---</target_milestone>
          
          
          <everconfirmed>1</everconfirmed>
          <reporter name="Saam Barati">saam</reporter>
          <assigned_to name="Saam Barati">saam</assigned_to>
          <cc>ews-watchlist</cc>
    
    <cc>keith_miller</cc>
    
    <cc>mark.lam</cc>
    
    <cc>msaboff</cc>
    
    <cc>tzagallo</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>ysuzuki</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1794163</commentid>
    <comment_count>0</comment_count>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-09-16 12:34:07 -0700</bug_when>
    <thetext>...</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794183</commentid>
    <comment_count>1</comment_count>
      <attachid>438392</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-09-16 13:27:29 -0700</bug_when>
    <thetext>Created attachment 438392
patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794186</commentid>
    <comment_count>2</comment_count>
      <attachid>438392</attachid>
    <who name="Yusuke Suzuki">ysuzuki</who>
    <bug_when>2021-09-16 13:29:22 -0700</bug_when>
    <thetext>Comment on attachment 438392
patch

r=me</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794189</commentid>
    <comment_count>3</comment_count>
      <attachid>438394</attachid>
    <who name="Saam Barati">saam</who>
    <bug_when>2021-09-16 13:31:01 -0700</bug_when>
    <thetext>Created attachment 438394
patch for landing</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794290</commentid>
    <comment_count>4</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2021-09-16 18:05:12 -0700</bug_when>
    <thetext>Committed r282624 (241781@main): &lt;https://commits.webkit.org/241781@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 438394.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1794291</commentid>
    <comment_count>5</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2021-09-16 18:06:17 -0700</bug_when>
    <thetext>&lt;rdar://problem/83221389&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438392</attachid>
            <date>2021-09-16 13:27:29 -0700</date>
            <delta_ts>2021-09-16 13:31:01 -0700</delta_ts>
            <desc>patch</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>12604</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjgyNTk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDIxLTA5LTE2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IERvbid0IHRocm93IGFuIGV4Y2VwdGlvbiBpbiB0aGUgbWlkZGxlIG9mIGxpbmtpbmcgYSBDb2Rl
QmxvY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MDM2NworCisgICAgICAgIFJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgorCisgICAgICAgIEl0
J3MgY2xlYW5lciwgYW5kIHByb2JhYmx5IG1vcmUgY29ycmVjdCwgdG8gd2FpdCB1bnRpbCB3ZSdy
ZSBkb25lIGxpbmtpbmcKKyAgICAgICAgdGhlIGluc3RydWN0aW9uIHN0cmVhbSBiZWZvcmUgdGhy
b3dpbmcgYW55IGV4Y2VwdGlvbnMgZnJvbSBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uLgorICAg
ICAgICBUaGlzIGd1YXJhbnRlZXMsIGZvciBleGFtcGxlLCB0aGF0IGFsbCBtZXRhZGF0YSBzdHJ1
Y3RzIGFyZSBpbml0aWFsaXplZC4KKworICAgICAgICAqIGJ5dGVjb2RlL0NvZGVCbG9jay5jcHA6
CisgICAgICAgIChKU0M6OkNvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24pOgorICAgICAgICAoSlND
OjpDb2RlQmxvY2s6OnNldENvbnN0YW50UmVnaXN0ZXJzKToKKyAgICAgICAgKEpTQzo6Q29kZUJs
b2NrOjppbml0aWFsaXplVGVtcGxhdGVPYmplY3RzKToKKyAgICAgICAgKiBieXRlY29kZS9Db2Rl
QmxvY2suaDoKKyAgICAgICAgKiBydW50aW1lL0pTU2NvcGUuY3BwOgorICAgICAgICAoSlNDOjph
YnN0cmFjdEFjY2Vzcyk6CisgICAgICAgIChKU0M6OkpTU2NvcGU6OmFic3RyYWN0UmVzb2x2ZSk6
CisKIDIwMjEtMDktMTYgIENvbW1pdCBRdWV1ZSAgPGNvbW1pdC1xdWV1ZUB3ZWJraXQub3JnPgog
CiAgICAgICAgIFVucmV2aWV3ZWQsIHJldmVydGluZyByMjgyNDc4LgpJbmRleDogU291cmNlL0ph
dmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAKPT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNl
L0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHJldmlzaW9uIDI4MjU5NykK
KysrIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suY3BwCSh3b3JraW5n
IGNvcHkpCkBAIC0zNzcsMTQgKzM3NywxOCBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRp
b24oVk0mIHZtLCBTCiAgICAgQmFzZTo6ZmluaXNoQ3JlYXRpb24odm0pOwogICAgIGZpbmlzaENy
ZWF0aW9uQ29tbW9uKHZtKTsKIAorICAgIEFTU0VSVCh2bS5oZWFwLmlzRGVmZXJyZWQoKSk7CisK
ICAgICBhdXRvIHRocm93U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKIAogICAgIGlm
IChtX3VubGlua2VkQ29kZS0+d2FzQ29tcGlsZWRXaXRoVHlwZVByb2ZpbGVyT3Bjb2RlcygpIHx8
IG1fdW5saW5rZWRDb2RlLT53YXNDb21waWxlZFdpdGhDb250cm9sRmxvd1Byb2ZpbGVyT3Bjb2Rl
cygpKQogICAgICAgICB2bS5mdW5jdGlvbkhhc0V4ZWN1dGVkQ2FjaGUoKS0+cmVtb3ZlVW5leGVj
dXRlZFJhbmdlKG93bmVyRXhlY3V0YWJsZS0+c291cmNlSUQoKSwgb3duZXJFeGVjdXRhYmxlLT50
eXBlUHJvZmlsaW5nU3RhcnRPZmZzZXQodm0pLCBvd25lckV4ZWN1dGFibGUtPnR5cGVQcm9maWxp
bmdFbmRPZmZzZXQodm0pKTsKIAogICAgIFNjcmlwdEV4ZWN1dGFibGUqIHRvcExldmVsRXhlY3V0
YWJsZSA9IG93bmVyRXhlY3V0YWJsZS0+dG9wTGV2ZWxFeGVjdXRhYmxlKCk7Ci0gICAgc2V0Q29u
c3RhbnRSZWdpc3RlcnModW5saW5rZWRDb2RlQmxvY2stPmNvbnN0YW50UmVnaXN0ZXJzKCksIHVu
bGlua2VkQ29kZUJsb2NrLT5jb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24oKSwgdG9w
TGV2ZWxFeGVjdXRhYmxlKTsKLSAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93U2NvcGUsIGZh
bHNlKTsKKyAgICAvLyBXZSB3YWl0IHRvIGluaXRpYWxpemUgdGVtcGxhdGUgb2JqZWN0cyB1bnRp
bCB0aGUgZW5kIG9mIGZpbmlzaENyZWF0aW9uIGJlZWNhdXNlIGl0IGNhbgorICAgIC8vIHRocm93
LiBXZSByZWx5IG9uIGxpbmtpbmcgdG8gcHV0IHRoZSBDb2RlQmxvY2sgaW50byBhIGNvaGVyZW50
IHN0YXRlLCBzbyB3ZSBjYW4ndCB0aHJvdworICAgIC8vIHVudGlsIHdlJ3JlIGFsbCBkb25lIGxp
bmtpbmcuCisgICAgVmVjdG9yPHVuc2lnbmVkPiB0ZW1wbGF0ZU9iamVjdEluZGljZXMgPSBzZXRD
b25zdGFudFJlZ2lzdGVycyh1bmxpbmtlZENvZGVCbG9jay0+Y29uc3RhbnRSZWdpc3RlcnMoKSwg
dW5saW5rZWRDb2RlQmxvY2stPmNvbnN0YW50c1NvdXJjZUNvZGVSZXByZXNlbnRhdGlvbigpKTsK
IAogICAgIC8vIFdlIGFscmVhZHkgaGF2ZSB0aGUgY2xvbmVkIHN5bWJvbCB0YWJsZSBmb3IgdGhl
IG1vZHVsZSBlbnZpcm9ubWVudCBzaW5jZSB3ZSBuZWVkIHRvIGluc3RhbnRpYXRlCiAgICAgLy8g
dGhlIG1vZHVsZSBlbnZpcm9ubWVudHMgYmVmb3JlIGxpbmtpbmcgdGhlIGNvZGUgYmxvY2suIFdl
IHJlcGxhY2UgdGhlIHN0b3JlZCBzeW1ib2wgdGFibGUgd2l0aCB0aGUgYWxyZWFkeSBjbG9uZWQg
b25lLgpAQCAtNDM1LDcgKzQzOSw4IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihW
TSYgdm0sIFMKICAgICAvLyBCb29ra2VlcCB0aGUgc3Ryb25nbHkgcmVmZXJlbmNlZCBtb2R1bGUg
ZW52aXJvbm1lbnRzLgogICAgIEhhc2hTZXQ8SlNNb2R1bGVFbnZpcm9ubWVudCo+IHN0cm9uZ2x5
UmVmZXJlbmNlZE1vZHVsZUVudmlyb25tZW50czsKIAotICAgIGF1dG8gbGlua19wcm9maWxlID0g
WyZdKGNvbnN0IGF1dG8mIC8qaW5zdHJ1Y3Rpb24qLywgYXV0byAvKmJ5dGVjb2RlKi8sIGF1dG8m
IC8qbWV0YWRhdGEqLykgeworICAgIGF1dG8gbGlua19wcm9maWxlID0gWyZdKGNvbnN0IGF1dG8m
IC8qaW5zdHJ1Y3Rpb24qLywgYXV0byAvKmJ5dGVjb2RlKi8sIGF1dG8mIG1ldGFkYXRhKSB7Cisg
ICAgICAgIHN0YXRpY19hc3NlcnQoc3RkOjppc19zYW1lX3Y8VmFsdWVQcm9maWxlLCBkZWNsdHlw
ZShtZXRhZGF0YS5tX3Byb2ZpbGUpPik7CiAgICAgICAgIG1fbnVtYmVyT2ZOb25Bcmd1bWVudFZh
bHVlUHJvZmlsZXMrKzsKICAgICB9OwogCkBAIC00OTksOSArNTA0LDkgQEAgYm9vbCBDb2RlQmxv
Y2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUwogCiAgICAgICAgIExJTksoT3BHZXRCeUlkLCBw
cm9maWxlKQogCi0gICAgICAgIExJTksoT3BFbnVtZXJhdG9yTmV4dCwgcHJvZmlsZSkKLSAgICAg
ICAgTElOSyhPcEVudW1lcmF0b3JJbkJ5VmFsLCBwcm9maWxlKQotICAgICAgICBMSU5LKE9wRW51
bWVyYXRvckhhc093blByb3BlcnR5LCBwcm9maWxlKQorICAgICAgICBMSU5LKE9wRW51bWVyYXRv
ck5leHQpCisgICAgICAgIExJTksoT3BFbnVtZXJhdG9ySW5CeVZhbCkKKyAgICAgICAgTElOSyhP
cEVudW1lcmF0b3JIYXNPd25Qcm9wZXJ0eSkKICAgICAgICAgTElOSyhPcEVudW1lcmF0b3JHZXRC
eVZhbCwgcHJvZmlsZSkKIAogICAgICAgICBMSU5LKE9wQ2FsbCwgcHJvZmlsZSkKQEAgLTU2Myw3
ICs1NjgsNiBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAgICAg
ICAgICAgICBSRUxFQVNFX0FTU0VSVChieXRlY29kZS5tX3Jlc29sdmVUeXBlICE9IFJlc29sdmVk
Q2xvc3VyZVZhcik7CiAKICAgICAgICAgICAgIFJlc29sdmVPcCBvcCA9IEpTU2NvcGU6OmFic3Ry
YWN0UmVzb2x2ZShtX2dsb2JhbE9iamVjdC5nZXQoKSwgYnl0ZWNvZGUubV9sb2NhbFNjb3BlRGVw
dGgsIHNjb3BlLCBpZGVudCwgR2V0LCBieXRlY29kZS5tX3Jlc29sdmVUeXBlLCBJbml0aWFsaXph
dGlvbk1vZGU6Ok5vdEluaXRpYWxpemF0aW9uKTsKLSAgICAgICAgICAgIFJFVFVSTl9JRl9FWENF
UFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwogCiAgICAgICAgICAgICBtZXRhZGF0YS5tX3Jlc29s
dmVUeXBlID0gb3AudHlwZTsKICAgICAgICAgICAgIG1ldGFkYXRhLm1fbG9jYWxTY29wZURlcHRo
ID0gb3AuZGVwdGg7CkBAIC01OTgsNyArNjAyLDYgQEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENy
ZWF0aW9uKFZNJiB2bSwgUwogCiAgICAgICAgICAgICBjb25zdCBJZGVudGlmaWVyJiBpZGVudCA9
IGlkZW50aWZpZXIoYnl0ZWNvZGUubV92YXIpOwogICAgICAgICAgICAgUmVzb2x2ZU9wIG9wID0g
SlNTY29wZTo6YWJzdHJhY3RSZXNvbHZlKG1fZ2xvYmFsT2JqZWN0LmdldCgpLCBieXRlY29kZS5t
X2xvY2FsU2NvcGVEZXB0aCwgc2NvcGUsIGlkZW50LCBHZXQsIGJ5dGVjb2RlLm1fZ2V0UHV0SW5m
by5yZXNvbHZlVHlwZSgpLCBJbml0aWFsaXphdGlvbk1vZGU6Ok5vdEluaXRpYWxpemF0aW9uKTsK
LSAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwogCiAg
ICAgICAgICAgICBtZXRhZGF0YS5tX2dldFB1dEluZm8gPSBHZXRQdXRJbmZvKGJ5dGVjb2RlLm1f
Z2V0UHV0SW5mby5yZXNvbHZlTW9kZSgpLCBvcC50eXBlLCBieXRlY29kZS5tX2dldFB1dEluZm8u
aW5pdGlhbGl6YXRpb25Nb2RlKCksIGJ5dGVjb2RlLm1fZ2V0UHV0SW5mby5lY21hTW9kZSgpKTsK
ICAgICAgICAgICAgIGlmIChvcC50eXBlID09IE1vZHVsZVZhcikKQEAgLTYzMiw3ICs2MzUsNiBA
QCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAgICAgICAgICAgICBj
b25zdCBJZGVudGlmaWVyJiBpZGVudCA9IGlkZW50aWZpZXIoYnl0ZWNvZGUubV92YXIpOwogICAg
ICAgICAgICAgbWV0YWRhdGEubV93YXRjaHBvaW50U2V0ID0gbnVsbHB0cjsKICAgICAgICAgICAg
IFJlc29sdmVPcCBvcCA9IEpTU2NvcGU6OmFic3RyYWN0UmVzb2x2ZShtX2dsb2JhbE9iamVjdC5n
ZXQoKSwgYnl0ZWNvZGUubV9zeW1ib2xUYWJsZU9yU2NvcGVEZXB0aC5zY29wZURlcHRoKCksIHNj
b3BlLCBpZGVudCwgUHV0LCBieXRlY29kZS5tX2dldFB1dEluZm8ucmVzb2x2ZVR5cGUoKSwgYnl0
ZWNvZGUubV9nZXRQdXRJbmZvLmluaXRpYWxpemF0aW9uTW9kZSgpKTsKLSAgICAgICAgICAgIFJF
VFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFsc2UpOwogCiAgICAgICAgICAgICBtZXRh
ZGF0YS5tX2dldFB1dEluZm8gPSBHZXRQdXRJbmZvKGJ5dGVjb2RlLm1fZ2V0UHV0SW5mby5yZXNv
bHZlTW9kZSgpLCBvcC50eXBlLCBieXRlY29kZS5tX2dldFB1dEluZm8uaW5pdGlhbGl6YXRpb25N
b2RlKCksIGJ5dGVjb2RlLm1fZ2V0UHV0SW5mby5lY21hTW9kZSgpKTsKICAgICAgICAgICAgIGlm
IChvcC50eXBlID09IEdsb2JhbFZhciB8fCBvcC50eXBlID09IEdsb2JhbFZhcldpdGhWYXJJbmpl
Y3Rpb25DaGVja3MgfHwgb3AudHlwZSA9PSBHbG9iYWxMZXhpY2FsVmFyIHx8IG9wLnR5cGUgPT0g
R2xvYmFsTGV4aWNhbFZhcldpdGhWYXJJbmplY3Rpb25DaGVja3MpCkBAIC02NjUsNyArNjY3LDYg
QEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUwogICAgICAgICAgICAg
ICAgIC8vIEV2ZW4gdGhvdWdoIHR5cGUgcHJvZmlsaW5nIG1heSBiZSBwcm9maWxpbmcgZWl0aGVy
IGEgR2V0IG9yIGEgUHV0LCB3ZSBjYW4gYWx3YXlzIGNsYWltIGEgR2V0IGJlY2F1c2UKICAgICAg
ICAgICAgICAgICAvLyB3ZSdyZSBhYnN0cmFjdGx5ICJyZWFkImluZyBmcm9tIGEgSlNTY29wZS4K
ICAgICAgICAgICAgICAgICBSZXNvbHZlT3Agb3AgPSBKU1Njb3BlOjphYnN0cmFjdFJlc29sdmUo
bV9nbG9iYWxPYmplY3QuZ2V0KCksIGxvY2FsU2NvcGVEZXB0aCwgc2NvcGUsIGlkZW50LCBHZXQs
IGJ5dGVjb2RlLm1fcmVzb2x2ZVR5cGUsIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5pdGlhbGl6
YXRpb24pOwotICAgICAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwg
ZmFsc2UpOwogCiAgICAgICAgICAgICAgICAgaWYgKG9wLnR5cGUgPT0gQ2xvc3VyZVZhciB8fCBv
cC50eXBlID09IE1vZHVsZVZhcikKICAgICAgICAgICAgICAgICAgICAgc3ltYm9sVGFibGUgPSBv
cC5sZXhpY2FsRW52aXJvbm1lbnQtPnN5bWJvbFRhYmxlKCk7CkBAIC03ODEsNiArNzgyLDkgQEAg
Ym9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZNJiB2bSwgUwogICAgIGlmIChtX21ldGFk
YXRhKQogICAgICAgICB2bS5oZWFwLnJlcG9ydEV4dHJhTWVtb3J5QWxsb2NhdGVkKG1fbWV0YWRh
dGEtPnNpemVJbkJ5dGVzKCkpOwogCisgICAgaW5pdGlhbGl6ZVRlbXBsYXRlT2JqZWN0cyh0b3BM
ZXZlbEV4ZWN1dGFibGUsIHRlbXBsYXRlT2JqZWN0SW5kaWNlcyk7CisgICAgUkVUVVJOX0lGX0VY
Q0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7CisKICAgICByZXR1cm4gdHJ1ZTsKIH0KIApAQCAt
ODY5LDEyICs4NzMsMTMgQEAgQ29kZUJsb2NrOjp+Q29kZUJsb2NrKCkKICNlbmRpZiAvLyBFTkFC
TEUoSklUKQogfQogCi12b2lkIENvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMoY29uc3Qg
Rml4ZWRWZWN0b3I8V3JpdGVCYXJyaWVyPFVua25vd24+PiYgY29uc3RhbnRzLCBjb25zdCBGaXhl
ZFZlY3RvcjxTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24+JiBjb25zdGFudHNTb3VyY2VDb2RlUmVw
cmVzZW50YXRpb24sIFNjcmlwdEV4ZWN1dGFibGUqIHRvcExldmVsRXhlY3V0YWJsZSkKK1ZlY3Rv
cjx1bnNpZ25lZD4gQ29kZUJsb2NrOjpzZXRDb25zdGFudFJlZ2lzdGVycyhjb25zdCBGaXhlZFZl
Y3RvcjxXcml0ZUJhcnJpZXI8VW5rbm93bj4+JiBjb25zdGFudHMsIGNvbnN0IEZpeGVkVmVjdG9y
PFNvdXJjZUNvZGVSZXByZXNlbnRhdGlvbj4mIGNvbnN0YW50c1NvdXJjZUNvZGVSZXByZXNlbnRh
dGlvbikKIHsKICAgICBWTSYgdm0gPSAqbV92bTsKLSAgICBhdXRvIHNjb3BlID0gREVDTEFSRV9U
SFJPV19TQ09QRSh2bSk7CiAgICAgSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCA9IG1fZ2xv
YmFsT2JqZWN0LmdldCgpOwogCisgICAgVmVjdG9yPHVuc2lnbmVkPiB0ZW1wbGF0ZU9iamVjdElu
ZGljZXM7CisKICAgICBBU1NFUlQoY29uc3RhbnRzLnNpemUoKSA9PSBjb25zdGFudHNTb3VyY2VD
b2RlUmVwcmVzZW50YXRpb24uc2l6ZSgpKTsKICAgICBzaXplX3QgY291bnQgPSBjb25zdGFudHMu
c2l6ZSgpOwogICAgIHsKQEAgLTkwNSwxNyArOTEwLDI3IEBAIHZvaWQgQ29kZUJsb2NrOjpzZXRD
b25zdGFudFJlZ2lzdGVycyhjb24KICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbG9uZS0+
c2V0UmFyZURhdGFDb2RlQmxvY2sodGhpcyk7CiAKICAgICAgICAgICAgICAgICAgICAgICAgIGNv
bnN0YW50ID0gY2xvbmU7Ci0gICAgICAgICAgICAgICAgICAgIH0gZWxzZSBpZiAoYXV0byogZGVz
Y3JpcHRvciA9IGpzRHluYW1pY0Nhc3Q8SlNUZW1wbGF0ZU9iamVjdERlc2NyaXB0b3IqPih2bSwg
Y2VsbCkpIHsKLSAgICAgICAgICAgICAgICAgICAgICAgIGF1dG8qIHRlbXBsYXRlT2JqZWN0ID0g
dG9wTGV2ZWxFeGVjdXRhYmxlLT5jcmVhdGVUZW1wbGF0ZU9iamVjdChnbG9iYWxPYmplY3QsIGRl
c2NyaXB0b3IpOwotICAgICAgICAgICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgdm9pZCgpKTsKLSAgICAgICAgICAgICAgICAgICAgICAgIGNvbnN0YW50ID0gdGVtcGxh
dGVPYmplY3Q7Ci0gICAgICAgICAgICAgICAgICAgIH0KKyAgICAgICAgICAgICAgICAgICAgfSBl
bHNlIGlmIChhdXRvKiBkZXNjcmlwdG9yID0ganNEeW5hbWljQ2FzdDxKU1RlbXBsYXRlT2JqZWN0
RGVzY3JpcHRvcio+KHZtLCBjZWxsKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHRlbXBsYXRl
T2JqZWN0SW5kaWNlcy5hcHBlbmQoaSk7CiAgICAgICAgICAgICAgICAgfQogICAgICAgICAgICAg
fQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgIH0KICAgICAgICAgbV9jb25zdGFudFJlZ2lz
dGVyc1tpXS5zZXQodm0sIHRoaXMsIGNvbnN0YW50KTsKICAgICB9CisKKyAgICByZXR1cm4gdGVt
cGxhdGVPYmplY3RJbmRpY2VzOworfQorCit2b2lkIENvZGVCbG9jazo6aW5pdGlhbGl6ZVRlbXBs
YXRlT2JqZWN0cyhTY3JpcHRFeGVjdXRhYmxlKiB0b3BMZXZlbEV4ZWN1dGFibGUsIGNvbnN0IFZl
Y3Rvcjx1bnNpZ25lZD4mIHRlbXBsYXRlT2JqZWN0SW5kaWNlcykKK3sKKyAgICBhdXRvIHNjb3Bl
ID0gREVDTEFSRV9USFJPV19TQ09QRSh2bSgpKTsKKyAgICBmb3IgKHVuc2lnbmVkIGkgOiB0ZW1w
bGF0ZU9iamVjdEluZGljZXMpIHsKKyAgICAgICAgYXV0byogZGVzY3JpcHRvciA9IGpzQ2FzdDxK
U1RlbXBsYXRlT2JqZWN0RGVzY3JpcHRvcio+KG1fY29uc3RhbnRSZWdpc3RlcnNbaV0uZ2V0KCkp
OworICAgICAgICBhdXRvKiB0ZW1wbGF0ZU9iamVjdCA9IHRvcExldmVsRXhlY3V0YWJsZS0+Y3Jl
YXRlVGVtcGxhdGVPYmplY3QoZ2xvYmFsT2JqZWN0KCksIGRlc2NyaXB0b3IpOworICAgICAgICBS
RVRVUk5fSUZfRVhDRVBUSU9OKHNjb3BlLCB2b2lkKCkpOworICAgICAgICBtX2NvbnN0YW50UmVn
aXN0ZXJzW2ldLnNldCh2bSgpLCB0aGlzLCB0ZW1wbGF0ZU9iamVjdCk7CisgICAgfQogfQogCiB2
b2lkIENvZGVCbG9jazo6c2V0QWx0ZXJuYXRpdmUoVk0mIHZtLCBDb2RlQmxvY2sqIGFsdGVybmF0
aXZlKQpJbmRleDogU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5oCj09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAko
cmV2aXNpb24gMjgyNTk3KQorKysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVC
bG9jay5oCSh3b3JraW5nIGNvcHkpCkBAIC05MzksNyArOTM5LDggQEAgcHJpdmF0ZToKIAogICAg
IHZvaWQgdXBkYXRlQWxsVmFsdWVQcm9maWxlUHJlZGljdGlvbnNBbmRDb3VudExpdmVuZXNzKHVu
c2lnbmVkJiBudW1iZXJPZkxpdmVOb25Bcmd1bWVudFZhbHVlUHJvZmlsZXMsIHVuc2lnbmVkJiBu
dW1iZXJPZlNhbXBsZXNJblByb2ZpbGVzKTsKIAotICAgIHZvaWQgc2V0Q29uc3RhbnRSZWdpc3Rl
cnMoY29uc3QgRml4ZWRWZWN0b3I8V3JpdGVCYXJyaWVyPFVua25vd24+PiYgY29uc3RhbnRzLCBj
b25zdCBGaXhlZFZlY3RvcjxTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24+JiBjb25zdGFudHNTb3Vy
Y2VDb2RlUmVwcmVzZW50YXRpb24sIFNjcmlwdEV4ZWN1dGFibGUqIHRvcExldmVsRXhlY3V0YWJs
ZSk7CisgICAgVmVjdG9yPHVuc2lnbmVkPiBzZXRDb25zdGFudFJlZ2lzdGVycyhjb25zdCBGaXhl
ZFZlY3RvcjxXcml0ZUJhcnJpZXI8VW5rbm93bj4+JiBjb25zdGFudHMsIGNvbnN0IEZpeGVkVmVj
dG9yPFNvdXJjZUNvZGVSZXByZXNlbnRhdGlvbj4mIGNvbnN0YW50c1NvdXJjZUNvZGVSZXByZXNl
bnRhdGlvbik7CisgICAgdm9pZCBpbml0aWFsaXplVGVtcGxhdGVPYmplY3RzKFNjcmlwdEV4ZWN1
dGFibGUqIHRvcExldmVsRXhlY3V0YWJsZSwgY29uc3QgVmVjdG9yPHVuc2lnbmVkPiYgdGVtcGxh
dGVPYmplY3RJbmRpY2VzKTsKIAogICAgIHZvaWQgcmVwbGFjZUNvbnN0YW50KFZpcnR1YWxSZWdp
c3RlciByZWcsIEpTVmFsdWUgdmFsdWUpCiAgICAgewpJbmRleDogU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNTY29wZS5jcHAKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291cmNlL0phdmFTY3JpcHRD
b3JlL3J1bnRpbWUvSlNTY29wZS5jcHAJKHJldmlzaW9uIDI4MjU5NykKKysrIFNvdXJjZS9KYXZh
U2NyaXB0Q29yZS9ydW50aW1lL0pTU2NvcGUuY3BwCSh3b3JraW5nIGNvcHkpCkBAIC0yNywxMCAr
MjcsMTIgQEAKICNpbmNsdWRlICJKU1Njb3BlLmgiCiAKICNpbmNsdWRlICJBYnN0cmFjdE1vZHVs
ZVJlY29yZC5oIgorI2luY2x1ZGUgIkRlZmVyVGVybWluYXRpb24uaCIKICNpbmNsdWRlICJKU0NJ
bmxpbmVzLmgiCiAjaW5jbHVkZSAiSlNMZXhpY2FsRW52aXJvbm1lbnQuaCIKICNpbmNsdWRlICJK
U01vZHVsZUVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNXaXRoU2NvcGUuaCIKKyNpbmNsdWRl
ICJWTVRyYXBzSW5saW5lcy5oIgogI2luY2x1ZGUgIlZhcmlhYmxlRW52aXJvbm1lbnQuaCIKIAog
bmFtZXNwYWNlIEpTQyB7CkBAIC01NCw3ICs1Niw3IEBAIERFRklORV9WSVNJVF9DSElMRFJFTihK
U1Njb3BlKTsKIHN0YXRpYyBpbmxpbmUgYm9vbCBhYnN0cmFjdEFjY2VzcyhKU0dsb2JhbE9iamVj
dCogZ2xvYmFsT2JqZWN0LCBKU1Njb3BlKiBzY29wZSwgY29uc3QgSWRlbnRpZmllciYgaWRlbnQs
IEdldE9yUHV0IGdldE9yUHV0LCBzaXplX3QgZGVwdGgsIGJvb2wmIG5lZWRzVmFySW5qZWN0aW9u
Q2hlY2tzLCBSZXNvbHZlT3AmIG9wLCBJbml0aWFsaXphdGlvbk1vZGUgaW5pdGlhbGl6YXRpb25N
b2RlKQogewogICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHRocm93
U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKKyAgICBEZWZlclRlcm1pbmF0aW9uRm9y
QVdoaWxlIGRlZmVyU2NvcGUodm0pOwogCiAgICAgaWYgKHNjb3BlLT5pc0pTTGV4aWNhbEVudmly
b25tZW50KCkpIHsKICAgICAgICAgSlNMZXhpY2FsRW52aXJvbm1lbnQqIGxleGljYWxFbnZpcm9u
bWVudCA9IGpzQ2FzdDxKU0xleGljYWxFbnZpcm9ubWVudCo+KHNjb3BlKTsKQEAgLTgwLDggKzgy
LDkgQEAgc3RhdGljIGlubGluZSBib29sIGFic3RyYWN0QWNjZXNzKEpTR2xvYgogICAgICAgICBp
ZiAoc2NvcGUtPnR5cGUoKSA9PSBNb2R1bGVFbnZpcm9ubWVudFR5cGUpIHsKICAgICAgICAgICAg
IEpTTW9kdWxlRW52aXJvbm1lbnQqIG1vZHVsZUVudmlyb25tZW50ID0ganNDYXN0PEpTTW9kdWxl
RW52aXJvbm1lbnQqPihzY29wZSk7CiAgICAgICAgICAgICBBYnN0cmFjdE1vZHVsZVJlY29yZCog
bW9kdWxlUmVjb3JkID0gbW9kdWxlRW52aXJvbm1lbnQtPm1vZHVsZVJlY29yZCgpOworICAgICAg
ICAgICAgYXV0byBjYXRjaFNjb3BlID0gREVDTEFSRV9DQVRDSF9TQ09QRSh2bSk7CiAgICAgICAg
ICAgICBBYnN0cmFjdE1vZHVsZVJlY29yZDo6UmVzb2x1dGlvbiByZXNvbHV0aW9uID0gbW9kdWxl
UmVjb3JkLT5yZXNvbHZlSW1wb3J0KGdsb2JhbE9iamVjdCwgaWRlbnQpOwotICAgICAgICAgICAg
UkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7CisgICAgICAgICAgICBjYXRj
aFNjb3BlLnJlbGVhc2VBc3NlcnROb0V4Y2VwdGlvbigpOwogICAgICAgICAgICAgaWYgKHJlc29s
dXRpb24udHlwZSA9PSBBYnN0cmFjdE1vZHVsZVJlY29yZDo6UmVzb2x1dGlvbjo6VHlwZTo6UmVz
b2x2ZWQpIHsKICAgICAgICAgICAgICAgICBBYnN0cmFjdE1vZHVsZVJlY29yZCogaW1wb3J0ZWRS
ZWNvcmQgPSByZXNvbHV0aW9uLm1vZHVsZVJlY29yZDsKICAgICAgICAgICAgICAgICBKU01vZHVs
ZUVudmlyb25tZW50KiBpbXBvcnRlZEVudmlyb25tZW50ID0gaW1wb3J0ZWRSZWNvcmQtPm1vZHVs
ZUVudmlyb25tZW50KCk7CkBAIC0zMDQsOSArMzA3LDYgQEAgSlNPYmplY3QqIEpTU2NvcGU6OnJl
c29sdmUoSlNHbG9iYWxPYmplYwogCiBSZXNvbHZlT3AgSlNTY29wZTo6YWJzdHJhY3RSZXNvbHZl
KEpTR2xvYmFsT2JqZWN0KiBnbG9iYWxPYmplY3QsIHNpemVfdCBkZXB0aE9mZnNldCwgSlNTY29w
ZSogc2NvcGUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBHZXRPclB1dCBnZXRPclB1dCwgUmVz
b2x2ZVR5cGUgdW5saW5rZWRUeXBlLCBJbml0aWFsaXphdGlvbk1vZGUgaW5pdGlhbGl6YXRpb25N
b2RlKQogewotICAgIFZNJiB2bSA9IGdsb2JhbE9iamVjdC0+dm0oKTsKLSAgICBhdXRvIHRocm93
U2NvcGUgPSBERUNMQVJFX1RIUk9XX1NDT1BFKHZtKTsKLQogICAgIFJlc29sdmVPcCBvcChEeW5h
bWljLCAwLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLCAwKTsKICAgICBpZiAodW5saW5rZWRU
eXBlID09IER5bmFtaWMpCiAgICAgICAgIHJldHVybiBvcDsKQEAgLTMxNSw3ICszMTUsNiBAQCBS
ZXNvbHZlT3AgSlNTY29wZTo6YWJzdHJhY3RSZXNvbHZlKEpTR2xvCiAgICAgc2l6ZV90IGRlcHRo
ID0gZGVwdGhPZmZzZXQ7CiAgICAgZm9yICg7IHNjb3BlOyBzY29wZSA9IHNjb3BlLT5uZXh0KCkp
IHsKICAgICAgICAgYm9vbCBzdWNjZXNzID0gYWJzdHJhY3RBY2Nlc3MoZ2xvYmFsT2JqZWN0LCBz
Y29wZSwgaWRlbnQsIGdldE9yUHV0LCBkZXB0aCwgbmVlZHNWYXJJbmplY3Rpb25DaGVja3MsIG9w
LCBpbml0aWFsaXphdGlvbk1vZGUpOwotICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHRocm93
U2NvcGUsIFJlc29sdmVPcChEeW5hbWljLCAwLCBudWxscHRyLCBudWxscHRyLCBudWxscHRyLCAw
KSk7CiAgICAgICAgIGlmIChzdWNjZXNzKQogICAgICAgICAgICAgYnJlYWs7CiAgICAgICAgICsr
ZGVwdGg7Cg==
</data>
<flag name="review"
          id="461755"
          type_id="1"
          status="+"
          setter="ysuzuki"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>438394</attachid>
            <date>2021-09-16 13:31:01 -0700</date>
            <delta_ts>2021-09-16 18:05:14 -0700</delta_ts>
            <desc>patch for landing</desc>
            <filename>a-backup.diff</filename>
            <type>text/plain</type>
            <size>12584</size>
            <attacher name="Saam Barati">saam</attacher>
            
              <data encoding="base64">SW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9DaGFuZ2VMb2cKPT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gU291
cmNlL0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkocmV2aXNpb24gMjgyNTk4KQorKysgU291cmNl
L0phdmFTY3JpcHRDb3JlL0NoYW5nZUxvZwkod29ya2luZyBjb3B5KQpAQCAtMSwzICsxLDIzIEBA
CisyMDIxLTA5LTE2ICBTYWFtIEJhcmF0aSAgPHNiYXJhdGlAYXBwbGUuY29tPgorCisgICAgICAg
IERvbid0IHRocm93IGFuIGV4Y2VwdGlvbiBpbiB0aGUgbWlkZGxlIG9mIGxpbmtpbmcgYSBDb2Rl
QmxvY2sKKyAgICAgICAgaHR0cHM6Ly9idWdzLndlYmtpdC5vcmcvc2hvd19idWcuY2dpP2lkPTIz
MDM2NworCisgICAgICAgIFJldmlld2VkIGJ5IFl1c3VrZSBTdXp1a2kuCisKKyAgICAgICAgSXQn
cyBjbGVhbmVyLCBhbmQgcHJvYmFibHkgbW9yZSBjb3JyZWN0LCB0byB3YWl0IHVudGlsIHdlJ3Jl
IGRvbmUgbGlua2luZworICAgICAgICB0aGUgaW5zdHJ1Y3Rpb24gc3RyZWFtIGJlZm9yZSB0aHJv
d2luZyBhbnkgZXhjZXB0aW9ucyBmcm9tIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24uCisgICAg
ICAgIFRoaXMgZ3VhcmFudGVlcywgZm9yIGV4YW1wbGUsIHRoYXQgYWxsIG1ldGFkYXRhIHN0cnVj
dHMgYXJlIGluaXRpYWxpemVkLgorCisgICAgICAgICogYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcDoK
KyAgICAgICAgKEpTQzo6Q29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbik6CisgICAgICAgIChKU0M6
OkNvZGVCbG9jazo6c2V0Q29uc3RhbnRSZWdpc3RlcnMpOgorICAgICAgICAoSlNDOjpDb2RlQmxv
Y2s6OmluaXRpYWxpemVUZW1wbGF0ZU9iamVjdHMpOgorICAgICAgICAqIGJ5dGVjb2RlL0NvZGVC
bG9jay5oOgorICAgICAgICAqIHJ1bnRpbWUvSlNTY29wZS5jcHA6CisgICAgICAgIChKU0M6OmFi
c3RyYWN0QWNjZXNzKToKKyAgICAgICAgKEpTQzo6SlNTY29wZTo6YWJzdHJhY3RSZXNvbHZlKToK
KwogMjAyMS0wOS0xNiAgQ29tbWl0IFF1ZXVlICA8Y29tbWl0LXF1ZXVlQHdlYmtpdC5vcmc+CiAK
ICAgICAgICAgVW5yZXZpZXdlZCwgcmV2ZXJ0aW5nIHIyODI0NzguCkluZGV4OiBTb3VyY2UvSmF2
YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmNwcAkocmV2aXNpb24gMjgyNTk3KQor
KysgU291cmNlL0phdmFTY3JpcHRDb3JlL2J5dGVjb2RlL0NvZGVCbG9jay5jcHAJKHdvcmtpbmcg
Y29weSkKQEAgLTM3NywxNCArMzc3LDE4IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlv
bihWTSYgdm0sIFMKICAgICBCYXNlOjpmaW5pc2hDcmVhdGlvbih2bSk7CiAgICAgZmluaXNoQ3Jl
YXRpb25Db21tb24odm0pOwogCisgICAgQVNTRVJUKHZtLmhlYXAuaXNEZWZlcnJlZCgpKTsKKwog
ICAgIGF1dG8gdGhyb3dTY29wZSA9IERFQ0xBUkVfVEhST1dfU0NPUEUodm0pOwogCiAgICAgaWYg
KG1fdW5saW5rZWRDb2RlLT53YXNDb21waWxlZFdpdGhUeXBlUHJvZmlsZXJPcGNvZGVzKCkgfHwg
bV91bmxpbmtlZENvZGUtPndhc0NvbXBpbGVkV2l0aENvbnRyb2xGbG93UHJvZmlsZXJPcGNvZGVz
KCkpCiAgICAgICAgIHZtLmZ1bmN0aW9uSGFzRXhlY3V0ZWRDYWNoZSgpLT5yZW1vdmVVbmV4ZWN1
dGVkUmFuZ2Uob3duZXJFeGVjdXRhYmxlLT5zb3VyY2VJRCgpLCBvd25lckV4ZWN1dGFibGUtPnR5
cGVQcm9maWxpbmdTdGFydE9mZnNldCh2bSksIG93bmVyRXhlY3V0YWJsZS0+dHlwZVByb2ZpbGlu
Z0VuZE9mZnNldCh2bSkpOwogCiAgICAgU2NyaXB0RXhlY3V0YWJsZSogdG9wTGV2ZWxFeGVjdXRh
YmxlID0gb3duZXJFeGVjdXRhYmxlLT50b3BMZXZlbEV4ZWN1dGFibGUoKTsKLSAgICBzZXRDb25z
dGFudFJlZ2lzdGVycyh1bmxpbmtlZENvZGVCbG9jay0+Y29uc3RhbnRSZWdpc3RlcnMoKSwgdW5s
aW5rZWRDb2RlQmxvY2stPmNvbnN0YW50c1NvdXJjZUNvZGVSZXByZXNlbnRhdGlvbigpLCB0b3BM
ZXZlbEV4ZWN1dGFibGUpOwotICAgIFJFVFVSTl9JRl9FWENFUFRJT04odGhyb3dTY29wZSwgZmFs
c2UpOworICAgIC8vIFdlIHdhaXQgdG8gaW5pdGlhbGl6ZSB0ZW1wbGF0ZSBvYmplY3RzIHVudGls
IHRoZSBlbmQgb2YgZmluaXNoQ3JlYXRpb24gYmVlY2F1c2UgaXQgY2FuCisgICAgLy8gdGhyb3cu
IFdlIHJlbHkgb24gbGlua2luZyB0byBwdXQgdGhlIENvZGVCbG9jayBpbnRvIGEgY29oZXJlbnQg
c3RhdGUsIHNvIHdlIGNhbid0IHRocm93CisgICAgLy8gdW50aWwgd2UncmUgYWxsIGRvbmUgbGlu
a2luZy4KKyAgICBWZWN0b3I8dW5zaWduZWQ+IHRlbXBsYXRlT2JqZWN0SW5kaWNlcyA9IHNldENv
bnN0YW50UmVnaXN0ZXJzKHVubGlua2VkQ29kZUJsb2NrLT5jb25zdGFudFJlZ2lzdGVycygpLCB1
bmxpbmtlZENvZGVCbG9jay0+Y29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0aW9uKCkpOwog
CiAgICAgLy8gV2UgYWxyZWFkeSBoYXZlIHRoZSBjbG9uZWQgc3ltYm9sIHRhYmxlIGZvciB0aGUg
bW9kdWxlIGVudmlyb25tZW50IHNpbmNlIHdlIG5lZWQgdG8gaW5zdGFudGlhdGUKICAgICAvLyB0
aGUgbW9kdWxlIGVudmlyb25tZW50cyBiZWZvcmUgbGlua2luZyB0aGUgY29kZSBibG9jay4gV2Ug
cmVwbGFjZSB0aGUgc3RvcmVkIHN5bWJvbCB0YWJsZSB3aXRoIHRoZSBhbHJlYWR5IGNsb25lZCBv
bmUuCkBAIC00MzUsNyArNDM5LDggQEAgYm9vbCBDb2RlQmxvY2s6OmZpbmlzaENyZWF0aW9uKFZN
JiB2bSwgUwogICAgIC8vIEJvb2trZWVwIHRoZSBzdHJvbmdseSByZWZlcmVuY2VkIG1vZHVsZSBl
bnZpcm9ubWVudHMuCiAgICAgSGFzaFNldDxKU01vZHVsZUVudmlyb25tZW50Kj4gc3Ryb25nbHlS
ZWZlcmVuY2VkTW9kdWxlRW52aXJvbm1lbnRzOwogCi0gICAgYXV0byBsaW5rX3Byb2ZpbGUgPSBb
Jl0oY29uc3QgYXV0byYgLyppbnN0cnVjdGlvbiovLCBhdXRvIC8qYnl0ZWNvZGUqLywgYXV0byYg
LyptZXRhZGF0YSovKSB7CisgICAgYXV0byBsaW5rX3Byb2ZpbGUgPSBbJl0oY29uc3QgYXV0byYg
LyppbnN0cnVjdGlvbiovLCBhdXRvIC8qYnl0ZWNvZGUqLywgYXV0byYgbWV0YWRhdGEpIHsKKyAg
ICAgICAgc3RhdGljX2Fzc2VydChzdGQ6OmlzX3NhbWVfdjxWYWx1ZVByb2ZpbGUsIGRlY2x0eXBl
KG1ldGFkYXRhLm1fcHJvZmlsZSk+KTsKICAgICAgICAgbV9udW1iZXJPZk5vbkFyZ3VtZW50VmFs
dWVQcm9maWxlcysrOwogICAgIH07CiAKQEAgLTQ5OSw5ICs1MDQsOSBAQCBib29sIENvZGVCbG9j
azo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAKICAgICAgICAgTElOSyhPcEdldEJ5SWQsIHBy
b2ZpbGUpCiAKLSAgICAgICAgTElOSyhPcEVudW1lcmF0b3JOZXh0LCBwcm9maWxlKQotICAgICAg
ICBMSU5LKE9wRW51bWVyYXRvckluQnlWYWwsIHByb2ZpbGUpCi0gICAgICAgIExJTksoT3BFbnVt
ZXJhdG9ySGFzT3duUHJvcGVydHksIHByb2ZpbGUpCisgICAgICAgIExJTksoT3BFbnVtZXJhdG9y
TmV4dCkKKyAgICAgICAgTElOSyhPcEVudW1lcmF0b3JJbkJ5VmFsKQorICAgICAgICBMSU5LKE9w
RW51bWVyYXRvckhhc093blByb3BlcnR5KQogICAgICAgICBMSU5LKE9wRW51bWVyYXRvckdldEJ5
VmFsLCBwcm9maWxlKQogCiAgICAgICAgIExJTksoT3BDYWxsLCBwcm9maWxlKQpAQCAtNTYzLDcg
KzU2OCw2IEBAIGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFMKICAgICAg
ICAgICAgIFJFTEVBU0VfQVNTRVJUKGJ5dGVjb2RlLm1fcmVzb2x2ZVR5cGUgIT0gUmVzb2x2ZWRD
bG9zdXJlVmFyKTsKIAogICAgICAgICAgICAgUmVzb2x2ZU9wIG9wID0gSlNTY29wZTo6YWJzdHJh
Y3RSZXNvbHZlKG1fZ2xvYmFsT2JqZWN0LmdldCgpLCBieXRlY29kZS5tX2xvY2FsU2NvcGVEZXB0
aCwgc2NvcGUsIGlkZW50LCBHZXQsIGJ5dGVjb2RlLm1fcmVzb2x2ZVR5cGUsIEluaXRpYWxpemF0
aW9uTW9kZTo6Tm90SW5pdGlhbGl6YXRpb24pOwotICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQ
VElPTih0aHJvd1Njb3BlLCBmYWxzZSk7CiAKICAgICAgICAgICAgIG1ldGFkYXRhLm1fcmVzb2x2
ZVR5cGUgPSBvcC50eXBlOwogICAgICAgICAgICAgbWV0YWRhdGEubV9sb2NhbFNjb3BlRGVwdGgg
PSBvcC5kZXB0aDsKQEAgLTU5OCw3ICs2MDIsNiBAQCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3Jl
YXRpb24oVk0mIHZtLCBTCiAKICAgICAgICAgICAgIGNvbnN0IElkZW50aWZpZXImIGlkZW50ID0g
aWRlbnRpZmllcihieXRlY29kZS5tX3Zhcik7CiAgICAgICAgICAgICBSZXNvbHZlT3Agb3AgPSBK
U1Njb3BlOjphYnN0cmFjdFJlc29sdmUobV9nbG9iYWxPYmplY3QuZ2V0KCksIGJ5dGVjb2RlLm1f
bG9jYWxTY29wZURlcHRoLCBzY29wZSwgaWRlbnQsIEdldCwgYnl0ZWNvZGUubV9nZXRQdXRJbmZv
LnJlc29sdmVUeXBlKCksIEluaXRpYWxpemF0aW9uTW9kZTo6Tm90SW5pdGlhbGl6YXRpb24pOwot
ICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7CiAKICAg
ICAgICAgICAgIG1ldGFkYXRhLm1fZ2V0UHV0SW5mbyA9IEdldFB1dEluZm8oYnl0ZWNvZGUubV9n
ZXRQdXRJbmZvLnJlc29sdmVNb2RlKCksIG9wLnR5cGUsIGJ5dGVjb2RlLm1fZ2V0UHV0SW5mby5p
bml0aWFsaXphdGlvbk1vZGUoKSwgYnl0ZWNvZGUubV9nZXRQdXRJbmZvLmVjbWFNb2RlKCkpOwog
ICAgICAgICAgICAgaWYgKG9wLnR5cGUgPT0gTW9kdWxlVmFyKQpAQCAtNjMyLDcgKzYzNSw2IEBA
IGJvb2wgQ29kZUJsb2NrOjpmaW5pc2hDcmVhdGlvbihWTSYgdm0sIFMKICAgICAgICAgICAgIGNv
bnN0IElkZW50aWZpZXImIGlkZW50ID0gaWRlbnRpZmllcihieXRlY29kZS5tX3Zhcik7CiAgICAg
ICAgICAgICBtZXRhZGF0YS5tX3dhdGNocG9pbnRTZXQgPSBudWxscHRyOwogICAgICAgICAgICAg
UmVzb2x2ZU9wIG9wID0gSlNTY29wZTo6YWJzdHJhY3RSZXNvbHZlKG1fZ2xvYmFsT2JqZWN0Lmdl
dCgpLCBieXRlY29kZS5tX3N5bWJvbFRhYmxlT3JTY29wZURlcHRoLnNjb3BlRGVwdGgoKSwgc2Nv
cGUsIGlkZW50LCBQdXQsIGJ5dGVjb2RlLm1fZ2V0UHV0SW5mby5yZXNvbHZlVHlwZSgpLCBieXRl
Y29kZS5tX2dldFB1dEluZm8uaW5pdGlhbGl6YXRpb25Nb2RlKCkpOwotICAgICAgICAgICAgUkVU
VVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBmYWxzZSk7CiAKICAgICAgICAgICAgIG1ldGFk
YXRhLm1fZ2V0UHV0SW5mbyA9IEdldFB1dEluZm8oYnl0ZWNvZGUubV9nZXRQdXRJbmZvLnJlc29s
dmVNb2RlKCksIG9wLnR5cGUsIGJ5dGVjb2RlLm1fZ2V0UHV0SW5mby5pbml0aWFsaXphdGlvbk1v
ZGUoKSwgYnl0ZWNvZGUubV9nZXRQdXRJbmZvLmVjbWFNb2RlKCkpOwogICAgICAgICAgICAgaWYg
KG9wLnR5cGUgPT0gR2xvYmFsVmFyIHx8IG9wLnR5cGUgPT0gR2xvYmFsVmFyV2l0aFZhckluamVj
dGlvbkNoZWNrcyB8fCBvcC50eXBlID09IEdsb2JhbExleGljYWxWYXIgfHwgb3AudHlwZSA9PSBH
bG9iYWxMZXhpY2FsVmFyV2l0aFZhckluamVjdGlvbkNoZWNrcykKQEAgLTY2NSw3ICs2NjcsNiBA
QCBib29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAgICAgICAgICAgICAg
ICAgLy8gRXZlbiB0aG91Z2ggdHlwZSBwcm9maWxpbmcgbWF5IGJlIHByb2ZpbGluZyBlaXRoZXIg
YSBHZXQgb3IgYSBQdXQsIHdlIGNhbiBhbHdheXMgY2xhaW0gYSBHZXQgYmVjYXVzZQogICAgICAg
ICAgICAgICAgIC8vIHdlJ3JlIGFic3RyYWN0bHkgInJlYWQiaW5nIGZyb20gYSBKU1Njb3BlLgog
ICAgICAgICAgICAgICAgIFJlc29sdmVPcCBvcCA9IEpTU2NvcGU6OmFic3RyYWN0UmVzb2x2ZSht
X2dsb2JhbE9iamVjdC5nZXQoKSwgbG9jYWxTY29wZURlcHRoLCBzY29wZSwgaWRlbnQsIEdldCwg
Ynl0ZWNvZGUubV9yZXNvbHZlVHlwZSwgSW5pdGlhbGl6YXRpb25Nb2RlOjpOb3RJbml0aWFsaXph
dGlvbik7Ci0gICAgICAgICAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBm
YWxzZSk7CiAKICAgICAgICAgICAgICAgICBpZiAob3AudHlwZSA9PSBDbG9zdXJlVmFyIHx8IG9w
LnR5cGUgPT0gTW9kdWxlVmFyKQogICAgICAgICAgICAgICAgICAgICBzeW1ib2xUYWJsZSA9IG9w
LmxleGljYWxFbnZpcm9ubWVudC0+c3ltYm9sVGFibGUoKTsKQEAgLTc4MSw2ICs3ODIsOSBAQCBi
b29sIENvZGVCbG9jazo6ZmluaXNoQ3JlYXRpb24oVk0mIHZtLCBTCiAgICAgaWYgKG1fbWV0YWRh
dGEpCiAgICAgICAgIHZtLmhlYXAucmVwb3J0RXh0cmFNZW1vcnlBbGxvY2F0ZWQobV9tZXRhZGF0
YS0+c2l6ZUluQnl0ZXMoKSk7CiAKKyAgICBpbml0aWFsaXplVGVtcGxhdGVPYmplY3RzKHRvcExl
dmVsRXhlY3V0YWJsZSwgdGVtcGxhdGVPYmplY3RJbmRpY2VzKTsKKyAgICBSRVRVUk5fSUZfRVhD
RVBUSU9OKHRocm93U2NvcGUsIGZhbHNlKTsKKwogICAgIHJldHVybiB0cnVlOwogfQogCkBAIC04
NjksMTIgKzg3MywxMyBAQCBDb2RlQmxvY2s6On5Db2RlQmxvY2soKQogI2VuZGlmIC8vIEVOQUJM
RShKSVQpCiB9CiAKLXZvaWQgQ29kZUJsb2NrOjpzZXRDb25zdGFudFJlZ2lzdGVycyhjb25zdCBG
aXhlZFZlY3RvcjxXcml0ZUJhcnJpZXI8VW5rbm93bj4+JiBjb25zdGFudHMsIGNvbnN0IEZpeGVk
VmVjdG9yPFNvdXJjZUNvZGVSZXByZXNlbnRhdGlvbj4mIGNvbnN0YW50c1NvdXJjZUNvZGVSZXBy
ZXNlbnRhdGlvbiwgU2NyaXB0RXhlY3V0YWJsZSogdG9wTGV2ZWxFeGVjdXRhYmxlKQorVmVjdG9y
PHVuc2lnbmVkPiBDb2RlQmxvY2s6OnNldENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0IEZpeGVkVmVj
dG9yPFdyaXRlQmFycmllcjxVbmtub3duPj4mIGNvbnN0YW50cywgY29uc3QgRml4ZWRWZWN0b3I8
U291cmNlQ29kZVJlcHJlc2VudGF0aW9uPiYgY29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0
aW9uKQogewogICAgIFZNJiB2bSA9ICptX3ZtOwotICAgIGF1dG8gc2NvcGUgPSBERUNMQVJFX1RI
Uk9XX1NDT1BFKHZtKTsKICAgICBKU0dsb2JhbE9iamVjdCogZ2xvYmFsT2JqZWN0ID0gbV9nbG9i
YWxPYmplY3QuZ2V0KCk7CiAKKyAgICBWZWN0b3I8dW5zaWduZWQ+IHRlbXBsYXRlT2JqZWN0SW5k
aWNlczsKKwogICAgIEFTU0VSVChjb25zdGFudHMuc2l6ZSgpID09IGNvbnN0YW50c1NvdXJjZUNv
ZGVSZXByZXNlbnRhdGlvbi5zaXplKCkpOwogICAgIHNpemVfdCBjb3VudCA9IGNvbnN0YW50cy5z
aXplKCk7CiAgICAgewpAQCAtOTA1LDE3ICs5MTAsMjcgQEAgdm9pZCBDb2RlQmxvY2s6OnNldENv
bnN0YW50UmVnaXN0ZXJzKGNvbgogICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsb25lLT5z
ZXRSYXJlRGF0YUNvZGVCbG9jayh0aGlzKTsKIAogICAgICAgICAgICAgICAgICAgICAgICAgY29u
c3RhbnQgPSBjbG9uZTsKLSAgICAgICAgICAgICAgICAgICAgfSBlbHNlIGlmIChhdXRvKiBkZXNj
cmlwdG9yID0ganNEeW5hbWljQ2FzdDxKU1RlbXBsYXRlT2JqZWN0RGVzY3JpcHRvcio+KHZtLCBj
ZWxsKSkgewotICAgICAgICAgICAgICAgICAgICAgICAgYXV0byogdGVtcGxhdGVPYmplY3QgPSB0
b3BMZXZlbEV4ZWN1dGFibGUtPmNyZWF0ZVRlbXBsYXRlT2JqZWN0KGdsb2JhbE9iamVjdCwgZGVz
Y3JpcHRvcik7Ci0gICAgICAgICAgICAgICAgICAgICAgICBSRVRVUk5fSUZfRVhDRVBUSU9OKHNj
b3BlLCB2b2lkKCkpOwotICAgICAgICAgICAgICAgICAgICAgICAgY29uc3RhbnQgPSB0ZW1wbGF0
ZU9iamVjdDsKLSAgICAgICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgICAgICB9IGVs
c2UgaWYgKGpzRHluYW1pY0Nhc3Q8SlNUZW1wbGF0ZU9iamVjdERlc2NyaXB0b3IqPih2bSwgY2Vs
bCkpCisgICAgICAgICAgICAgICAgICAgICAgICB0ZW1wbGF0ZU9iamVjdEluZGljZXMuYXBwZW5k
KGkpOwogICAgICAgICAgICAgICAgIH0KICAgICAgICAgICAgIH0KICAgICAgICAgICAgIGJyZWFr
OwogICAgICAgICB9CiAgICAgICAgIG1fY29uc3RhbnRSZWdpc3RlcnNbaV0uc2V0KHZtLCB0aGlz
LCBjb25zdGFudCk7CiAgICAgfQorCisgICAgcmV0dXJuIHRlbXBsYXRlT2JqZWN0SW5kaWNlczsK
K30KKwordm9pZCBDb2RlQmxvY2s6OmluaXRpYWxpemVUZW1wbGF0ZU9iamVjdHMoU2NyaXB0RXhl
Y3V0YWJsZSogdG9wTGV2ZWxFeGVjdXRhYmxlLCBjb25zdCBWZWN0b3I8dW5zaWduZWQ+JiB0ZW1w
bGF0ZU9iamVjdEluZGljZXMpCit7CisgICAgYXV0byBzY29wZSA9IERFQ0xBUkVfVEhST1dfU0NP
UEUodm0oKSk7CisgICAgZm9yICh1bnNpZ25lZCBpIDogdGVtcGxhdGVPYmplY3RJbmRpY2VzKSB7
CisgICAgICAgIGF1dG8qIGRlc2NyaXB0b3IgPSBqc0Nhc3Q8SlNUZW1wbGF0ZU9iamVjdERlc2Ny
aXB0b3IqPihtX2NvbnN0YW50UmVnaXN0ZXJzW2ldLmdldCgpKTsKKyAgICAgICAgYXV0byogdGVt
cGxhdGVPYmplY3QgPSB0b3BMZXZlbEV4ZWN1dGFibGUtPmNyZWF0ZVRlbXBsYXRlT2JqZWN0KGds
b2JhbE9iamVjdCgpLCBkZXNjcmlwdG9yKTsKKyAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTihz
Y29wZSwgdm9pZCgpKTsKKyAgICAgICAgbV9jb25zdGFudFJlZ2lzdGVyc1tpXS5zZXQodm0oKSwg
dGhpcywgdGVtcGxhdGVPYmplY3QpOworICAgIH0KIH0KIAogdm9pZCBDb2RlQmxvY2s6OnNldEFs
dGVybmF0aXZlKFZNJiB2bSwgQ29kZUJsb2NrKiBhbHRlcm5hdGl2ZSkKSW5kZXg6IFNvdXJjZS9K
YXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAo9PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBTb3VyY2Uv
SmF2YVNjcmlwdENvcmUvYnl0ZWNvZGUvQ29kZUJsb2NrLmgJKHJldmlzaW9uIDI4MjU5NykKKysr
IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ieXRlY29kZS9Db2RlQmxvY2suaAkod29ya2luZyBjb3B5
KQpAQCAtOTM5LDcgKzkzOSw4IEBAIHByaXZhdGU6CiAKICAgICB2b2lkIHVwZGF0ZUFsbFZhbHVl
UHJvZmlsZVByZWRpY3Rpb25zQW5kQ291bnRMaXZlbmVzcyh1bnNpZ25lZCYgbnVtYmVyT2ZMaXZl
Tm9uQXJndW1lbnRWYWx1ZVByb2ZpbGVzLCB1bnNpZ25lZCYgbnVtYmVyT2ZTYW1wbGVzSW5Qcm9m
aWxlcyk7CiAKLSAgICB2b2lkIHNldENvbnN0YW50UmVnaXN0ZXJzKGNvbnN0IEZpeGVkVmVjdG9y
PFdyaXRlQmFycmllcjxVbmtub3duPj4mIGNvbnN0YW50cywgY29uc3QgRml4ZWRWZWN0b3I8U291
cmNlQ29kZVJlcHJlc2VudGF0aW9uPiYgY29uc3RhbnRzU291cmNlQ29kZVJlcHJlc2VudGF0aW9u
LCBTY3JpcHRFeGVjdXRhYmxlKiB0b3BMZXZlbEV4ZWN1dGFibGUpOworICAgIFZlY3Rvcjx1bnNp
Z25lZD4gc2V0Q29uc3RhbnRSZWdpc3RlcnMoY29uc3QgRml4ZWRWZWN0b3I8V3JpdGVCYXJyaWVy
PFVua25vd24+PiYgY29uc3RhbnRzLCBjb25zdCBGaXhlZFZlY3RvcjxTb3VyY2VDb2RlUmVwcmVz
ZW50YXRpb24+JiBjb25zdGFudHNTb3VyY2VDb2RlUmVwcmVzZW50YXRpb24pOworICAgIHZvaWQg
aW5pdGlhbGl6ZVRlbXBsYXRlT2JqZWN0cyhTY3JpcHRFeGVjdXRhYmxlKiB0b3BMZXZlbEV4ZWN1
dGFibGUsIGNvbnN0IFZlY3Rvcjx1bnNpZ25lZD4mIHRlbXBsYXRlT2JqZWN0SW5kaWNlcyk7CiAK
ICAgICB2b2lkIHJlcGxhY2VDb25zdGFudChWaXJ0dWFsUmVnaXN0ZXIgcmVnLCBKU1ZhbHVlIHZh
bHVlKQogICAgIHsKSW5kZXg6IFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2NvcGUu
Y3BwCj09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT0KLS0tIFNvdXJjZS9KYXZhU2NyaXB0Q29yZS9ydW50aW1lL0pTU2NvcGUu
Y3BwCShyZXZpc2lvbiAyODI1OTcpCisrKyBTb3VyY2UvSmF2YVNjcmlwdENvcmUvcnVudGltZS9K
U1Njb3BlLmNwcAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTAgKzI3LDEyIEBACiAjaW5jbHVkZSAi
SlNTY29wZS5oIgogCiAjaW5jbHVkZSAiQWJzdHJhY3RNb2R1bGVSZWNvcmQuaCIKKyNpbmNsdWRl
ICJEZWZlclRlcm1pbmF0aW9uLmgiCiAjaW5jbHVkZSAiSlNDSW5saW5lcy5oIgogI2luY2x1ZGUg
IkpTTGV4aWNhbEVudmlyb25tZW50LmgiCiAjaW5jbHVkZSAiSlNNb2R1bGVFbnZpcm9ubWVudC5o
IgogI2luY2x1ZGUgIkpTV2l0aFNjb3BlLmgiCisjaW5jbHVkZSAiVk1UcmFwc0lubGluZXMuaCIK
ICNpbmNsdWRlICJWYXJpYWJsZUVudmlyb25tZW50LmgiCiAKIG5hbWVzcGFjZSBKU0MgewpAQCAt
NTQsNyArNTYsNyBAQCBERUZJTkVfVklTSVRfQ0hJTERSRU4oSlNTY29wZSk7CiBzdGF0aWMgaW5s
aW5lIGJvb2wgYWJzdHJhY3RBY2Nlc3MoSlNHbG9iYWxPYmplY3QqIGdsb2JhbE9iamVjdCwgSlNT
Y29wZSogc2NvcGUsIGNvbnN0IElkZW50aWZpZXImIGlkZW50LCBHZXRPclB1dCBnZXRPclB1dCwg
c2l6ZV90IGRlcHRoLCBib29sJiBuZWVkc1ZhckluamVjdGlvbkNoZWNrcywgUmVzb2x2ZU9wJiBv
cCwgSW5pdGlhbGl6YXRpb25Nb2RlIGluaXRpYWxpemF0aW9uTW9kZSkKIHsKICAgICBWTSYgdm0g
PSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7CisgICAgRGVmZXJUZXJtaW5hdGlvbkZvckFXaGlsZSBkZWZlclNjb3BlKHZt
KTsKIAogICAgIGlmIChzY29wZS0+aXNKU0xleGljYWxFbnZpcm9ubWVudCgpKSB7CiAgICAgICAg
IEpTTGV4aWNhbEVudmlyb25tZW50KiBsZXhpY2FsRW52aXJvbm1lbnQgPSBqc0Nhc3Q8SlNMZXhp
Y2FsRW52aXJvbm1lbnQqPihzY29wZSk7CkBAIC04MCw4ICs4Miw5IEBAIHN0YXRpYyBpbmxpbmUg
Ym9vbCBhYnN0cmFjdEFjY2VzcyhKU0dsb2IKICAgICAgICAgaWYgKHNjb3BlLT50eXBlKCkgPT0g
TW9kdWxlRW52aXJvbm1lbnRUeXBlKSB7CiAgICAgICAgICAgICBKU01vZHVsZUVudmlyb25tZW50
KiBtb2R1bGVFbnZpcm9ubWVudCA9IGpzQ2FzdDxKU01vZHVsZUVudmlyb25tZW50Kj4oc2NvcGUp
OwogICAgICAgICAgICAgQWJzdHJhY3RNb2R1bGVSZWNvcmQqIG1vZHVsZVJlY29yZCA9IG1vZHVs
ZUVudmlyb25tZW50LT5tb2R1bGVSZWNvcmQoKTsKKyAgICAgICAgICAgIGF1dG8gY2F0Y2hTY29w
ZSA9IERFQ0xBUkVfQ0FUQ0hfU0NPUEUodm0pOwogICAgICAgICAgICAgQWJzdHJhY3RNb2R1bGVS
ZWNvcmQ6OlJlc29sdXRpb24gcmVzb2x1dGlvbiA9IG1vZHVsZVJlY29yZC0+cmVzb2x2ZUltcG9y
dChnbG9iYWxPYmplY3QsIGlkZW50KTsKLSAgICAgICAgICAgIFJFVFVSTl9JRl9FWENFUFRJT04o
dGhyb3dTY29wZSwgZmFsc2UpOworICAgICAgICAgICAgY2F0Y2hTY29wZS5yZWxlYXNlQXNzZXJ0
Tm9FeGNlcHRpb24oKTsKICAgICAgICAgICAgIGlmIChyZXNvbHV0aW9uLnR5cGUgPT0gQWJzdHJh
Y3RNb2R1bGVSZWNvcmQ6OlJlc29sdXRpb246OlR5cGU6OlJlc29sdmVkKSB7CiAgICAgICAgICAg
ICAgICAgQWJzdHJhY3RNb2R1bGVSZWNvcmQqIGltcG9ydGVkUmVjb3JkID0gcmVzb2x1dGlvbi5t
b2R1bGVSZWNvcmQ7CiAgICAgICAgICAgICAgICAgSlNNb2R1bGVFbnZpcm9ubWVudCogaW1wb3J0
ZWRFbnZpcm9ubWVudCA9IGltcG9ydGVkUmVjb3JkLT5tb2R1bGVFbnZpcm9ubWVudCgpOwpAQCAt
MzA0LDkgKzMwNyw2IEBAIEpTT2JqZWN0KiBKU1Njb3BlOjpyZXNvbHZlKEpTR2xvYmFsT2JqZWMK
IAogUmVzb2x2ZU9wIEpTU2NvcGU6OmFic3RyYWN0UmVzb2x2ZShKU0dsb2JhbE9iamVjdCogZ2xv
YmFsT2JqZWN0LCBzaXplX3QgZGVwdGhPZmZzZXQsIEpTU2NvcGUqIHNjb3BlLCBjb25zdCBJZGVu
dGlmaWVyJiBpZGVudCwgR2V0T3JQdXQgZ2V0T3JQdXQsIFJlc29sdmVUeXBlIHVubGlua2VkVHlw
ZSwgSW5pdGlhbGl6YXRpb25Nb2RlIGluaXRpYWxpemF0aW9uTW9kZSkKIHsKLSAgICBWTSYgdm0g
PSBnbG9iYWxPYmplY3QtPnZtKCk7Ci0gICAgYXV0byB0aHJvd1Njb3BlID0gREVDTEFSRV9USFJP
V19TQ09QRSh2bSk7Ci0KICAgICBSZXNvbHZlT3Agb3AoRHluYW1pYywgMCwgbnVsbHB0ciwgbnVs
bHB0ciwgbnVsbHB0ciwgMCk7CiAgICAgaWYgKHVubGlua2VkVHlwZSA9PSBEeW5hbWljKQogICAg
ICAgICByZXR1cm4gb3A7CkBAIC0zMTUsNyArMzE1LDYgQEAgUmVzb2x2ZU9wIEpTU2NvcGU6OmFi
c3RyYWN0UmVzb2x2ZShKU0dsbwogICAgIHNpemVfdCBkZXB0aCA9IGRlcHRoT2Zmc2V0OwogICAg
IGZvciAoOyBzY29wZTsgc2NvcGUgPSBzY29wZS0+bmV4dCgpKSB7CiAgICAgICAgIGJvb2wgc3Vj
Y2VzcyA9IGFic3RyYWN0QWNjZXNzKGdsb2JhbE9iamVjdCwgc2NvcGUsIGlkZW50LCBnZXRPclB1
dCwgZGVwdGgsIG5lZWRzVmFySW5qZWN0aW9uQ2hlY2tzLCBvcCwgaW5pdGlhbGl6YXRpb25Nb2Rl
KTsKLSAgICAgICAgUkVUVVJOX0lGX0VYQ0VQVElPTih0aHJvd1Njb3BlLCBSZXNvbHZlT3AoRHlu
YW1pYywgMCwgbnVsbHB0ciwgbnVsbHB0ciwgbnVsbHB0ciwgMCkpOwogICAgICAgICBpZiAoc3Vj
Y2VzcykKICAgICAgICAgICAgIGJyZWFrOwogICAgICAgICArK2RlcHRoOwo=
</data>

          </attachment>
      

    </bug>

</bugzilla>