<?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>243762</bug_id>
          
          <creation_ts>2022-08-09 19:32:07 -0700</creation_ts>
          <short_desc>[Painting] Introduce TextDecorationPainter::ForegroundDecorationGeometry</short_desc>
          <delta_ts>2022-08-14 14:06:25 -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>Layout and Rendering</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>
          
          <blocked>243766</blocked>
          <everconfirmed>1</everconfirmed>
          <reporter name="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>bfulgham</cc>
    
    <cc>changseok</cc>
    
    <cc>esprehn+autocc</cc>
    
    <cc>ews-watchlist</cc>
    
    <cc>glenn</cc>
    
    <cc>koivisto</cc>
    
    <cc>kondapallykalyan</cc>
    
    <cc>pdr</cc>
    
    <cc>simon.fraser</cc>
    
    <cc>webkit-bug-importer</cc>
    
    <cc>zalan</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>1890181</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2022-08-09 19:32:07 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1890183</commentid>
    <comment_count>1</comment_count>
      <attachid>461515</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-08-09 19:34:28 -0700</bug_when>
    <thetext>Created attachment 461515
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1890402</commentid>
    <comment_count>2</comment_count>
      <attachid>461537</attachid>
    <who name="alan">zalan</who>
    <bug_when>2022-08-10 14:39:24 -0700</bug_when>
    <thetext>Created attachment 461537
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1890568</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2022-08-11 06:35:57 -0700</bug_when>
    <thetext>Committed 253329@main (f9945cf6fdf7): &lt;https://commits.webkit.org/253329@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 461537.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>1890569</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2022-08-11 06:36:18 -0700</bug_when>
    <thetext>&lt;rdar://problem/98505292&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>461515</attachid>
            <date>2022-08-09 19:34:28 -0700</date>
            <delta_ts>2022-08-10 14:41:53 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-243762-20220809193427.patch</filename>
            <type>text/plain</type>
            <size>14201</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBlYWRkNDZlYzA0ODQ2MDRiNWE3MGJjNTNmYjc5MDBiOWIzODA0Yjg3IE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJ1anRhcyA8emFsYW5AYXBwbGUuY29tPgpEYXRlOiBU
dWUsIDkgQXVnIDIwMjIgMTk6MzI6MjIgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbUGFpbnRpbmdd
IEludHJvZHVjZQogVGV4dERlY29yYXRpb25QYWludGVyOjpGb3JlZ3JvdW5kRGVjb3JhdGlvbkdl
b21ldHJ5CiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQzNzYyCgpS
ZXZpZXdlZCBieSBOT0JPRFkgKE9PUFMhKS4KClRoaXMgZW5hYmxlcyB1cyB0byByZW1vdmUgYWxs
IGRlY29yYXRpb24gcmVsYXRlZCBnZW9tZXRyeSBjb2RlIGZyb20gVGV4dERlY29yYXRpb25QYWlu
dGVyIChlLmcuIHBpeGVsIHNuYXBwaW5nKS4KCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Rl
eHRCb3hQYWludGVyLmNwcDoKKFdlYkNvcmU6OlRleHRCb3hQYWludGVyPFRleHRCb3hQYXRoPjo6
Y3JlYXRlRGVjb3JhdGlvblBhaW50ZXIpOgooV2ViQ29yZTo6Y29tcHV0ZWRUZXh0RGVjb3JhdGlv
blRoaWNrbmVzcyk6CihXZWJDb3JlOjpjb21wdXRlZEF1dG9UZXh0RGVjb3JhdGlvblRoaWNrbmVz
cyk6CihXZWJDb3JlOjpjb21wdXRlZExpbmV0aHJvdWdoQ2VudGVyKToKKFdlYkNvcmU6OlRleHRC
b3hQYWludGVyPFRleHRCb3hQYXRoPjo6cGFpbnRCYWNrZ3JvdW5kRGVjb3JhdGlvbnMpOgooV2Vi
Q29yZTo6VGV4dEJveFBhaW50ZXI8VGV4dEJveFBhdGg+OjpwYWludEZvcmVncm91bmREZWNvcmF0
aW9ucyk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHREZWNvcmF0aW9uUGFpbnRlci5j
cHA6CihXZWJDb3JlOjpUZXh0RGVjb3JhdGlvblBhaW50ZXI6OlRleHREZWNvcmF0aW9uUGFpbnRl
cik6CihXZWJDb3JlOjpUZXh0RGVjb3JhdGlvblBhaW50ZXI6OnBhaW50QmFja2dyb3VuZERlY29y
YXRpb25zKToKKFdlYkNvcmU6OlRleHREZWNvcmF0aW9uUGFpbnRlcjo6cGFpbnRGb3JlZ3JvdW5k
RGVjb3JhdGlvbnMpOgooV2ViQ29yZTo6VGV4dERlY29yYXRpb25QYWludGVyOjpwYWludExpbmVU
aHJvdWdoKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWludGVy
Lmg6Ci0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcCAgIHwg
NDggKysrKysrKysrKysrKystLS0tLQogLi4uL3JlbmRlcmluZy9UZXh0RGVjb3JhdGlvblBhaW50
ZXIuY3BwICAgICAgIHwgMjMgKysrKy0tLS0tCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERl
Y29yYXRpb25QYWludGVyLmggfCAxNSArKysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgNTQgaW5zZXJ0
aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0
Qm94UGFpbnRlci5jcHAKaW5kZXggY2MzYzE2ZTk3NjIwLi4xNmYwOWRhMmYyZmQgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcApAQCAtNDM2LDkgKzQzNiwy
NCBAQCBUZXh0RGVjb3JhdGlvblBhaW50ZXIgVGV4dEJveFBhaW50ZXI8VGV4dEJveFBhdGg+Ojpj
cmVhdGVEZWNvcmF0aW9uUGFpbnRlcihjb25zdAogICAgIC8vIENyZWF0ZSBwYWludGVyCiAgICAg
YXV0byogc2hhZG93ID0gbWFya2VkVGV4dC5zdHlsZS50ZXh0U2hhZG93ID8gJm1hcmtlZFRleHQu
c3R5bGUudGV4dFNoYWRvdy52YWx1ZSgpIDogbnVsbHB0cjsKICAgICBhdXRvKiBjb2xvckZpbHRl
ciA9IG1hcmtlZFRleHQuc3R5bGUudGV4dFNoYWRvdyAmJiBtX3N0eWxlLmhhc0FwcGxlQ29sb3JG
aWx0ZXIoKSA/ICZtX3N0eWxlLmFwcGxlQ29sb3JGaWx0ZXIoKSA6IG51bGxwdHI7Ci0gICAgYXV0
byYgZG9jdW1lbnQgPSBtX3JlbmRlcmVyLmRvY3VtZW50KCk7CiAgICAgYXV0byYgc3R5bGVUb1Vz
ZSA9IG1faXNGaXJzdExpbmUgPyBtX3JlbmRlcmVyLmZpcnN0TGluZVN0eWxlKCkgOiBtX3JlbmRl
cmVyLnN0eWxlKCk7Ci0gICAgcmV0dXJuIHsgY29udGV4dCwgc3R5bGVUb1VzZSwgZm9udENhc2Nh
ZGUoKSwgc2hhZG93LCBjb2xvckZpbHRlciwgZG9jdW1lbnQucHJpbnRpbmcoKSwgbV9yZW5kZXJl
ci5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpLCBkb2N1bWVudC5kZXZpY2VTY2FsZUZhY3Rvcigp
IH07CisgICAgcmV0dXJuIHsgY29udGV4dCwgc3R5bGVUb1VzZSwgZm9udENhc2NhZGUoKSwgc2hh
ZG93LCBjb2xvckZpbHRlciwgbV9kb2N1bWVudC5wcmludGluZygpLCBtX3JlbmRlcmVyLmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkgfTsKK30KKworc3RhdGljIGlubGluZSBmbG9hdCBjb21wdXRl
ZFRleHREZWNvcmF0aW9uVGhpY2tuZXNzKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZVRvVXNlLCBm
bG9hdCBkZXZpY2VTY2FsZUZhY3RvcikKK3sKKyAgICByZXR1cm4gY2VpbFRvRGV2aWNlUGl4ZWwo
c3R5bGVUb1VzZS50ZXh0RGVjb3JhdGlvblRoaWNrbmVzcygpLnJlc29sdmUoc3R5bGVUb1VzZS5j
b21wdXRlZEZvbnRTaXplKCksIHN0eWxlVG9Vc2UubWV0cmljc09mUHJpbWFyeUZvbnQoKSksIGRl
dmljZVNjYWxlRmFjdG9yKTsKK30KKworc3RhdGljIGlubGluZSBmbG9hdCBjb21wdXRlZEF1dG9U
ZXh0RGVjb3JhdGlvblRoaWNrbmVzcyhjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGVUb1VzZSwgZmxv
YXQgZGV2aWNlU2NhbGVGYWN0b3IpCit7CisgICAgcmV0dXJuIGNlaWxUb0RldmljZVBpeGVsKFRl
eHREZWNvcmF0aW9uVGhpY2tuZXNzOjpjcmVhdGVXaXRoQXV0bygpLnJlc29sdmUoc3R5bGVUb1Vz
ZS5jb21wdXRlZEZvbnRTaXplKCksIHN0eWxlVG9Vc2UubWV0cmljc09mUHJpbWFyeUZvbnQoKSks
IGRldmljZVNjYWxlRmFjdG9yKTsKK30KKworc3RhdGljIGlubGluZSBmbG9hdCBjb21wdXRlZExp
bmV0aHJvdWdoQ2VudGVyKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZVRvVXNlLCBmbG9hdCB0ZXh0
RGVjb3JhdGlvblRoaWNrbmVzcywgZmxvYXQgYXV0b1RleHREZWNvcmF0aW9uVGhpY2tuZXNzKQor
eworICAgIGF1dG8gY2VudGVyID0gMiAqIHN0eWxlVG9Vc2UubWV0cmljc09mUHJpbWFyeUZvbnQo
KS5mbG9hdEFzY2VudCgpIC8gMyArIGF1dG9UZXh0RGVjb3JhdGlvblRoaWNrbmVzcyAvIDI7Cisg
ICAgcmV0dXJuIGNlbnRlciAtIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzIC8gMjsKIH0KIAogdGVt
cGxhdGU8dHlwZW5hbWUgVGV4dEJveFBhdGg+CkBAIC00NTYsMTAgKzQ3MSw5IEBAIHZvaWQgVGV4
dEJveFBhaW50ZXI8VGV4dEJveFBhdGg+OjpwYWludEJhY2tncm91bmREZWNvcmF0aW9ucyhUZXh0
RGVjb3JhdGlvblBhaW50CiAgICAgICAgIHJldHVybiB0ZXh0RGVjb3JhdGlvbnM7CiAgICAgfSgp
OwogICAgIGF1dG8gY29tcHV0ZWRCYWNrZ3JvdW5kRGVjb3JhdGlvbkdlb21ldHJ5ID0gWyZdIHsK
LSAgICAgICAgYXV0byBkZXZpY2VTY2FsZUZhY3RvciA9IG1fcmVuZGVyZXIuZG9jdW1lbnQoKS5k
ZXZpY2VTY2FsZUZhY3RvcigpOwotICAgICAgICBhdXRvJiBmb250TWV0cmljcyA9IHN0eWxlVG9V
c2UubWV0cmljc09mUHJpbWFyeUZvbnQoKTsKKyAgICAgICAgYXV0byBkZXZpY2VTY2FsZUZhY3Rv
ciA9IG1fZG9jdW1lbnQuZGV2aWNlU2NhbGVGYWN0b3IoKTsKIAotICAgICAgICBhdXRvIHRleHRE
ZWNvcmF0aW9uVGhpY2tuZXNzID0gY2VpbFRvRGV2aWNlUGl4ZWwoc3R5bGVUb1VzZS50ZXh0RGVj
b3JhdGlvblRoaWNrbmVzcygpLnJlc29sdmUoc3R5bGVUb1VzZS5jb21wdXRlZEZvbnRTaXplKCks
IGZvbnRNZXRyaWNzKSwgZGV2aWNlU2NhbGVGYWN0b3IpOworICAgICAgICBhdXRvIHRleHREZWNv
cmF0aW9uVGhpY2tuZXNzID0gY29tcHV0ZWRUZXh0RGVjb3JhdGlvblRoaWNrbmVzcyhzdHlsZVRv
VXNlLCBkZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAgICAgIGF1dG8gdW5kZXJsaW5lT2Zmc2V0ID0g
WyZdIHsKICAgICAgICAgICAgIGlmICghY29tcHV0ZWRUZXh0RGVjb3JhdGlvblR5cGUuY29udGFp
bnMoVGV4dERlY29yYXRpb25MaW5lOjpVbmRlcmxpbmUpKQogICAgICAgICAgICAgICAgIHJldHVy
biAwLmY7CkBAIC00NjcsMTAgKzQ4MSwxMCBAQCB2b2lkIFRleHRCb3hQYWludGVyPFRleHRCb3hQ
YXRoPjo6cGFpbnRCYWNrZ3JvdW5kRGVjb3JhdGlvbnMoVGV4dERlY29yYXRpb25QYWludAogICAg
ICAgICAgICAgYXV0byB3YXZ5T2Zmc2V0ID0gdGV4dERlY29yYXRpb25TdHlsZXMudW5kZXJsaW5l
LmRlY29yYXRpb25TdHlsZSA9PSBUZXh0RGVjb3JhdGlvblN0eWxlOjpXYXZ5ID8gd2F2eU9mZnNl
dEZyb21EZWNvcmF0aW9uKCkgOiAwLmY7CiAgICAgICAgICAgICByZXR1cm4gYmFzZU9mZnNldCAr
IHdhdnlPZmZzZXQ7CiAgICAgICAgIH07CisgICAgICAgIGF1dG8gYXV0b1RleHREZWNvcmF0aW9u
VGhpY2tuZXNzID0gY29tcHV0ZWRBdXRvVGV4dERlY29yYXRpb25UaGlja25lc3Moc3R5bGVUb1Vz
ZSwgZGV2aWNlU2NhbGVGYWN0b3IpOwogICAgICAgICBhdXRvIG92ZXJsaW5lT2Zmc2V0ID0gWyZd
IHsKICAgICAgICAgICAgIGlmICghY29tcHV0ZWRUZXh0RGVjb3JhdGlvblR5cGUuY29udGFpbnMo
VGV4dERlY29yYXRpb25MaW5lOjpPdmVybGluZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIDAu
ZjsKLSAgICAgICAgICAgIGF1dG8gYXV0b1RleHREZWNvcmF0aW9uVGhpY2tuZXNzID0gY2VpbFRv
RGV2aWNlUGl4ZWwoVGV4dERlY29yYXRpb25UaGlja25lc3M6OmNyZWF0ZVdpdGhBdXRvKCkucmVz
b2x2ZShzdHlsZVRvVXNlLmNvbXB1dGVkRm9udFNpemUoKSwgZm9udE1ldHJpY3MpLCBkZXZpY2VT
Y2FsZUZhY3Rvcik7CiAgICAgICAgICAgICByZXR1cm4gYXV0b1RleHREZWNvcmF0aW9uVGhpY2tu
ZXNzIC0gdGV4dERlY29yYXRpb25UaGlja25lc3MgLSAodGV4dERlY29yYXRpb25TdHlsZXMub3Zl
cmxpbmUuZGVjb3JhdGlvblN0eWxlID09IFRleHREZWNvcmF0aW9uU3R5bGU6OldhdnkgPyB3YXZ5
T2Zmc2V0RnJvbURlY29yYXRpb24oKSA6IDAuZik7CiAgICAgICAgIH07CiAKQEAgLTQ4MCw3ICs0
OTQsOCBAQCB2b2lkIFRleHRCb3hQYWludGVyPFRleHRCb3hQYXRoPjo6cGFpbnRCYWNrZ3JvdW5k
RGVjb3JhdGlvbnMoVGV4dERlY29yYXRpb25QYWludAogICAgICAgICAgICAgc25hcHBlZFNlbGVj
dGlvblJlY3Qud2lkdGgoKSwKICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzLAog
ICAgICAgICAgICAgdW5kZXJsaW5lT2Zmc2V0KCksCi0gICAgICAgICAgICBvdmVybGluZU9mZnNl
dCgpCisgICAgICAgICAgICBvdmVybGluZU9mZnNldCgpLAorICAgICAgICAgICAgY29tcHV0ZWRM
aW5ldGhyb3VnaENlbnRlcihzdHlsZVRvVXNlLCB0ZXh0RGVjb3JhdGlvblRoaWNrbmVzcywgYXV0
b1RleHREZWNvcmF0aW9uVGhpY2tuZXNzKQogICAgICAgICB9OwogICAgIH07CiAKQEAgLTQ5Mywx
NiArNTA4LDIzIEBAIHZvaWQgVGV4dEJveFBhaW50ZXI8VGV4dEJveFBhdGg+OjpwYWludEJhY2tn
cm91bmREZWNvcmF0aW9ucyhUZXh0RGVjb3JhdGlvblBhaW50CiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
ZXh0Qm94UGF0aD4KIHZvaWQgVGV4dEJveFBhaW50ZXI8VGV4dEJveFBhdGg+OjpwYWludEZvcmVn
cm91bmREZWNvcmF0aW9ucyhUZXh0RGVjb3JhdGlvblBhaW50ZXImIGRlY29yYXRpb25QYWludGVy
LCBjb25zdCBTdHlsZWRNYXJrZWRUZXh0JiBtYXJrZWRUZXh0LCBjb25zdCBGbG9hdFJlY3QmIHNu
YXBwZWRTZWxlY3Rpb25SZWN0KQogewotICAgIGlmIChtX2lzQ29tYmluZWRUZXh0KQotICAgICAg
ICBtX3BhaW50SW5mby5jb250ZXh0KCkuY29uY2F0Q1RNKHJvdGF0aW9uKG1fcGFpbnRSZWN0LCBD
bG9ja3dpc2UpKTsKLQorICAgIGF1dG8mIHN0eWxlVG9Vc2UgPSBtX2lzRmlyc3RMaW5lID8gbV9y
ZW5kZXJlci5maXJzdExpbmVTdHlsZSgpIDogbV9yZW5kZXJlci5zdHlsZSgpOwogICAgIGF1dG8g
Y29tcHV0ZWRUZXh0RGVjb3JhdGlvblR5cGUgPSBbJl0gewotICAgICAgICBhdXRvJiBzdHlsZVRv
VXNlID0gbV9pc0ZpcnN0TGluZSA/IG1fcmVuZGVyZXIuZmlyc3RMaW5lU3R5bGUoKSA6IG1fcmVu
ZGVyZXIuc3R5bGUoKTsKICAgICAgICAgYXV0byB0ZXh0RGVjb3JhdGlvbnMgPSBzdHlsZVRvVXNl
LnRleHREZWNvcmF0aW9uc0luRWZmZWN0KCk7CiAgICAgICAgIHRleHREZWNvcmF0aW9ucy5hZGQo
VGV4dERlY29yYXRpb25QYWludGVyOjp0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdEZvclN0eWxlKG1h
cmtlZFRleHQuc3R5bGUudGV4dERlY29yYXRpb25TdHlsZXMpKTsKICAgICAgICAgcmV0dXJuIHRl
eHREZWNvcmF0aW9uczsKLSAgICB9OwotICAgIGRlY29yYXRpb25QYWludGVyLnBhaW50Rm9yZWdy
b3VuZERlY29yYXRpb25zKHNuYXBwZWRTZWxlY3Rpb25SZWN0LmxvY2F0aW9uKCksIHNuYXBwZWRT
ZWxlY3Rpb25SZWN0LndpZHRoKCksIGNvbXB1dGVkVGV4dERlY29yYXRpb25UeXBlKCksIG1hcmtl
ZFRleHQuc3R5bGUudGV4dERlY29yYXRpb25TdHlsZXMpOworICAgIH0oKTsKKworICAgIGlmICgh
Y29tcHV0ZWRUZXh0RGVjb3JhdGlvblR5cGUuY29udGFpbnMoVGV4dERlY29yYXRpb25MaW5lOjpM
aW5lVGhyb3VnaCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtX2lzQ29tYmluZWRUZXh0
KQorICAgICAgICBtX3BhaW50SW5mby5jb250ZXh0KCkuY29uY2F0Q1RNKHJvdGF0aW9uKG1fcGFp
bnRSZWN0LCBDbG9ja3dpc2UpKTsKKworICAgIGF1dG8gZGV2aWNlU2NhbGVGYWN0b3IgPSBtX2Rv
Y3VtZW50LmRldmljZVNjYWxlRmFjdG9yKCk7CisgICAgYXV0byB0ZXh0RGVjb3JhdGlvblRoaWNr
bmVzcyA9IGNvbXB1dGVkVGV4dERlY29yYXRpb25UaGlja25lc3Moc3R5bGVUb1VzZSwgZGV2aWNl
U2NhbGVGYWN0b3IpOworICAgIGF1dG8gbGluZXRocm91Z2hDZW50ZXIgPSBjb21wdXRlZExpbmV0
aHJvdWdoQ2VudGVyKHN0eWxlVG9Vc2UsIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzLCBjb21wdXRl
ZEF1dG9UZXh0RGVjb3JhdGlvblRoaWNrbmVzcyhzdHlsZVRvVXNlLCBkZXZpY2VTY2FsZUZhY3Rv
cikpOworICAgIGRlY29yYXRpb25QYWludGVyLnBhaW50Rm9yZWdyb3VuZERlY29yYXRpb25zKHsg
c25hcHBlZFNlbGVjdGlvblJlY3QubG9jYXRpb24oKSwgc25hcHBlZFNlbGVjdGlvblJlY3Qud2lk
dGgoKSwgdGV4dERlY29yYXRpb25UaGlja25lc3MsIGxpbmV0aHJvdWdoQ2VudGVyIH0sIGNvbXB1
dGVkVGV4dERlY29yYXRpb25UeXBlLCBtYXJrZWRUZXh0LnN0eWxlLnRleHREZWNvcmF0aW9uU3R5
bGVzKTsKIAogICAgIGlmIChtX2lzQ29tYmluZWRUZXh0KQogICAgICAgICBtX3BhaW50SW5mby5j
b250ZXh0KCkuY29uY2F0Q1RNKHJvdGF0aW9uKG1fcGFpbnRSZWN0LCBDb3VudGVyY2xvY2t3aXNl
KSk7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25Q
YWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0RGVjb3JhdGlvblBhaW50
ZXIuY3BwCmluZGV4IDA3YmY5OWMxMjkyNi4uYTI3YTdiNjFkZWU4IDEwMDY0NAotLS0gYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWludGVyLmNwcAorKysgYi9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWludGVyLmNwcApAQCAtMTkxLDE0
ICsxOTEsMTMgQEAgYm9vbCBUZXh0RGVjb3JhdGlvblBhaW50ZXI6OlN0eWxlczo6b3BlcmF0b3I9
PShjb25zdCBTdHlsZXMmIG90aGVyKSBjb25zdAogICAgICAgICAmJiB1bmRlcmxpbmUuZGVjb3Jh
dGlvblN0eWxlID09IG90aGVyLnVuZGVybGluZS5kZWNvcmF0aW9uU3R5bGUgJiYgb3ZlcmxpbmUu
ZGVjb3JhdGlvblN0eWxlID09IG90aGVyLm92ZXJsaW5lLmRlY29yYXRpb25TdHlsZSAmJiBsaW5l
dGhyb3VnaC5kZWNvcmF0aW9uU3R5bGUgPT0gb3RoZXIubGluZXRocm91Z2guZGVjb3JhdGlvblN0
eWxlOwogfQogCi1UZXh0RGVjb3JhdGlvblBhaW50ZXI6OlRleHREZWNvcmF0aW9uUGFpbnRlcihH
cmFwaGljc0NvbnRleHQmIGNvbnRleHQsIGNvbnN0IFJlbmRlclN0eWxlJiByZW5kZXJUZXh0U3R5
bGUsIGNvbnN0IEZvbnRDYXNjYWRlJiBmb250LCBjb25zdCBTaGFkb3dEYXRhKiBzaGFkb3csIGNv
bnN0IEZpbHRlck9wZXJhdGlvbnMqIGNvbG9yRmlsdGVyLCBib29sIGlzUHJpbnRpbmcsIGJvb2wg
aXNIb3Jpem9udGFsLCBmbG9hdCBkZXZpY2VTY2FsZUZhY3RvcikKK1RleHREZWNvcmF0aW9uUGFp
bnRlcjo6VGV4dERlY29yYXRpb25QYWludGVyKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29u
c3QgUmVuZGVyU3R5bGUmIHJlbmRlclRleHRTdHlsZSwgY29uc3QgRm9udENhc2NhZGUmIGZvbnQs
IGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdywgY29uc3QgRmlsdGVyT3BlcmF0aW9ucyogY29sb3JG
aWx0ZXIsIGJvb2wgaXNQcmludGluZywgYm9vbCBpc0hvcml6b250YWwpCiAgICAgOiBtX2NvbnRl
eHQoY29udGV4dCkKICAgICAsIG1faXNQcmludGluZyhpc1ByaW50aW5nKQogICAgICwgbV9pc0hv
cml6b250YWwoaXNIb3Jpem9udGFsKQogICAgICwgbV9zaGFkb3coc2hhZG93KQogICAgICwgbV9z
aGFkb3dDb2xvckZpbHRlcihjb2xvckZpbHRlcikKICAgICAsIG1fZm9udChmb250KQotICAgICwg
bV9kZXZpY2VTY2FsZUZhY3RvcihkZXZpY2VTY2FsZUZhY3RvcikKICAgICAsIG1fcmVuZGVyVGV4
dFN0eWxlKHJlbmRlclRleHRTdHlsZSkKIHsKIH0KQEAgLTI5Myw3ICsyOTIsNyBAQCB2b2lkIFRl
eHREZWNvcmF0aW9uUGFpbnRlcjo6cGFpbnRCYWNrZ3JvdW5kRGVjb3JhdGlvbnMoY29uc3QgVGV4
dFJ1biYgdGV4dFJ1biwgYwogICAgICAgICAvLyBXZSBvbmx5IHdhbnQgdG8gcGFpbnQgdGhlIHNo
YWRvdywgaGVuY2UgdGhlIHRyYW5zcGFyZW50IGNvbG9yLCBub3QgdGhlIGFjdHVhbCBsaW5lLXRo
cm91Z2gsCiAgICAgICAgIC8vIHdoaWNoIHdpbGwgYmUgcGFpbnRlZCBpbiBwYWludEZvcmVncm91
bmREZWNvcmF0aW9ucygpLgogICAgICAgICBpZiAoc2hhZG93ICYmIGRlY29yYXRpb25UeXBlLmNv
bnRhaW5zKFRleHREZWNvcmF0aW9uTGluZTo6TGluZVRocm91Z2gpKQotICAgICAgICAgICAgcGFp
bnRMaW5lVGhyb3VnaChDb2xvcjo6dHJhbnNwYXJlbnRCbGFjaywgZGVjb3JhdGlvbkdlb21ldHJ5
LnRleHREZWNvcmF0aW9uVGhpY2tuZXNzLCBib3hPcmlnaW4sIGRlY29yYXRpb25HZW9tZXRyeS50
ZXh0Qm94V2lkdGgsIGRlY29yYXRpb25TdHlsZSk7CisgICAgICAgICAgICBwYWludExpbmVUaHJv
dWdoKHsgYm94T3JpZ2luLCBkZWNvcmF0aW9uR2VvbWV0cnkudGV4dEJveFdpZHRoLCBkZWNvcmF0
aW9uR2VvbWV0cnkudGV4dERlY29yYXRpb25UaGlja25lc3MsIGRlY29yYXRpb25HZW9tZXRyeS5s
aW5ldGhyb3VnaENlbnRlciB9LCBDb2xvcjo6dHJhbnNwYXJlbnRCbGFjaywgZGVjb3JhdGlvblN0
eWxlKTsKICAgICB9IHdoaWxlIChzaGFkb3cpOwogCiAgICAgaWYgKGNsaXBwaW5nKQpAQCAtMzAy
LDIyICszMDEsMTYgQEAgdm9pZCBUZXh0RGVjb3JhdGlvblBhaW50ZXI6OnBhaW50QmFja2dyb3Vu
ZERlY29yYXRpb25zKGNvbnN0IFRleHRSdW4mIHRleHRSdW4sIGMKICAgICAgICAgbV9jb250ZXh0
LmNsZWFyU2hhZG93KCk7CiB9CiAKLXZvaWQgVGV4dERlY29yYXRpb25QYWludGVyOjpwYWludEZv
cmVncm91bmREZWNvcmF0aW9ucyhjb25zdCBGbG9hdFBvaW50JiBib3hPcmlnaW4sIGZsb2F0IHdp
ZHRoLCBPcHRpb25TZXQ8VGV4dERlY29yYXRpb25MaW5lPiBkZWNvcmF0aW9uVHlwZSwgY29uc3Qg
U3R5bGVzJiBkZWNvcmF0aW9uU3R5bGUpCit2b2lkIFRleHREZWNvcmF0aW9uUGFpbnRlcjo6cGFp
bnRGb3JlZ3JvdW5kRGVjb3JhdGlvbnMoY29uc3QgRm9yZWdyb3VuZERlY29yYXRpb25HZW9tZXRy
eSYgZm9yZWdyb3VuZERlY29yYXRpb25HZW9tZXRyeSwgT3B0aW9uU2V0PFRleHREZWNvcmF0aW9u
TGluZT4gZGVjb3JhdGlvblR5cGUsIGNvbnN0IFN0eWxlcyYgZGVjb3JhdGlvblN0eWxlKQogewot
ICAgIGlmICghZGVjb3JhdGlvblR5cGUuY29udGFpbnMoVGV4dERlY29yYXRpb25MaW5lOjpMaW5l
VGhyb3VnaCkpCi0gICAgICAgIHJldHVybjsKLQotICAgIGF1dG8gdGV4dERlY29yYXRpb25UaGlj
a25lc3MgPSBjZWlsVG9EZXZpY2VQaXhlbChtX3JlbmRlclRleHRTdHlsZS50ZXh0RGVjb3JhdGlv
blRoaWNrbmVzcygpLnJlc29sdmUobV9yZW5kZXJUZXh0U3R5bGUuY29tcHV0ZWRGb250U2l6ZSgp
LCBtX3JlbmRlclRleHRTdHlsZS5tZXRyaWNzT2ZQcmltYXJ5Rm9udCgpKSwgbV9kZXZpY2VTY2Fs
ZUZhY3Rvcik7Ci0gICAgcGFpbnRMaW5lVGhyb3VnaChkZWNvcmF0aW9uU3R5bGUubGluZXRocm91
Z2guY29sb3IsIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzLCBib3hPcmlnaW4sIHdpZHRoLCBkZWNv
cmF0aW9uU3R5bGUpOworICAgIEFTU0VSVChkZWNvcmF0aW9uVHlwZS5jb250YWlucyhUZXh0RGVj
b3JhdGlvbkxpbmU6OkxpbmVUaHJvdWdoKSk7CisgICAgcGFpbnRMaW5lVGhyb3VnaChmb3JlZ3Jv
dW5kRGVjb3JhdGlvbkdlb21ldHJ5LCBkZWNvcmF0aW9uU3R5bGUubGluZXRocm91Z2guY29sb3Is
IGRlY29yYXRpb25TdHlsZSk7CiB9CiAKLXZvaWQgVGV4dERlY29yYXRpb25QYWludGVyOjpwYWlu
dExpbmVUaHJvdWdoKGNvbnN0IENvbG9yJiBjb2xvciwgZmxvYXQgdGhpY2tuZXNzLCBjb25zdCBG
bG9hdFBvaW50JiBsb2NhbE9yaWdpbiwgZmxvYXQgd2lkdGgsIGNvbnN0IFN0eWxlcyYgZGVjb3Jh
dGlvblN0eWxlKQordm9pZCBUZXh0RGVjb3JhdGlvblBhaW50ZXI6OnBhaW50TGluZVRocm91Z2go
Y29uc3QgRm9yZWdyb3VuZERlY29yYXRpb25HZW9tZXRyeSYgZm9yZWdyb3VuZERlY29yYXRpb25H
ZW9tZXRyeSwgY29uc3QgQ29sb3ImIGNvbG9yLCBjb25zdCBTdHlsZXMmIGRlY29yYXRpb25TdHls
ZSkKIHsKLSAgICBjb25zdCBhdXRvJiBmb250TWV0cmljcyA9IG1fcmVuZGVyVGV4dFN0eWxlLm1l
dHJpY3NPZlByaW1hcnlGb250KCk7Ci0gICAgRmxvYXRSZWN0IHJlY3QobG9jYWxPcmlnaW4sIEZs
b2F0U2l6ZSh3aWR0aCwgdGhpY2tuZXNzKSk7Ci0gICAgYXV0byBhdXRvVGV4dERlY29yYXRpb25U
aGlja25lc3MgPSBjZWlsVG9EZXZpY2VQaXhlbChUZXh0RGVjb3JhdGlvblRoaWNrbmVzczo6Y3Jl
YXRlV2l0aEF1dG8oKS5yZXNvbHZlKG1fcmVuZGVyVGV4dFN0eWxlLmNvbXB1dGVkRm9udFNpemUo
KSwgZm9udE1ldHJpY3MpLCBtX2RldmljZVNjYWxlRmFjdG9yKTsKLSAgICBhdXRvIGNlbnRlciA9
IDIgKiBmb250TWV0cmljcy5mbG9hdEFzY2VudCgpIC8gMyArIGF1dG9UZXh0RGVjb3JhdGlvblRo
aWNrbmVzcyAvIDI7Ci0gICAgcmVjdC5tb3ZlKDAsIGNlbnRlciAtIHRoaWNrbmVzcyAvIDIpOwor
ICAgIGF1dG8gcmVjdCA9IEZsb2F0UmVjdCB7IGZvcmVncm91bmREZWNvcmF0aW9uR2VvbWV0cnku
Ym94T3JpZ2luLCBGbG9hdFNpemUgeyBmb3JlZ3JvdW5kRGVjb3JhdGlvbkdlb21ldHJ5LnRleHRC
b3hXaWR0aCwgZm9yZWdyb3VuZERlY29yYXRpb25HZW9tZXRyeS50ZXh0RGVjb3JhdGlvblRoaWNr
bmVzcyB9IH07CisgICAgcmVjdC5tb3ZlKDAuZiwgZm9yZWdyb3VuZERlY29yYXRpb25HZW9tZXRy
eS5saW5ldGhyb3VnaENlbnRlcik7CiAKICAgICBtX2NvbnRleHQuc2V0U3Ryb2tlQ29sb3IoY29s
b3IpOwogCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRp
b25QYWludGVyLmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWlu
dGVyLmgKaW5kZXggZThlOTFjZDA2YjdkLi40MzQxYjRmYWVjNjggMTAwNjQ0Ci0tLSBhL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0RGVjb3JhdGlvblBhaW50ZXIuaAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWludGVyLmgKQEAgLTM5LDcgKzM5LDcg
QEAgY2xhc3MgVGV4dFJ1bjsKICAgICAKIGNsYXNzIFRleHREZWNvcmF0aW9uUGFpbnRlciB7CiBw
dWJsaWM6Ci0gICAgVGV4dERlY29yYXRpb25QYWludGVyKEdyYXBoaWNzQ29udGV4dCYsIGNvbnN0
IFJlbmRlclN0eWxlJiwgY29uc3QgRm9udENhc2NhZGUmLCBjb25zdCBTaGFkb3dEYXRhKiwgY29u
c3QgRmlsdGVyT3BlcmF0aW9ucyosIGJvb2wgaXNQcmludGluZywgYm9vbCBpc0hvcml6b250YWws
IGZsb2F0IGRldmljZVNjYWxlRmFjdG9yKTsKKyAgICBUZXh0RGVjb3JhdGlvblBhaW50ZXIoR3Jh
cGhpY3NDb250ZXh0JiwgY29uc3QgUmVuZGVyU3R5bGUmLCBjb25zdCBGb250Q2FzY2FkZSYsIGNv
bnN0IFNoYWRvd0RhdGEqLCBjb25zdCBGaWx0ZXJPcGVyYXRpb25zKiwgYm9vbCBpc1ByaW50aW5n
LCBib29sIGlzSG9yaXpvbnRhbCk7CiAKICAgICBzdHJ1Y3QgU3R5bGVzIHsKICAgICAgICAgYm9v
bCBvcGVyYXRvcj09KGNvbnN0IFN0eWxlcyYpIGNvbnN0OwpAQCAtNjAsMTYgKzYwLDI0IEBAIHB1
YmxpYzoKICAgICAgICAgZmxvYXQgdGV4dERlY29yYXRpb25UaGlja25lc3MgeyAwLmYgfTsKICAg
ICAgICAgZmxvYXQgdW5kZXJsaW5lT2Zmc2V0IHsgMC5mIH07CiAgICAgICAgIGZsb2F0IG92ZXJs
aW5lT2Zmc2V0IHsgMC5mIH07CisgICAgICAgIGZsb2F0IGxpbmV0aHJvdWdoQ2VudGVyIHsgMC5m
IH07CiAgICAgfTsKICAgICB2b2lkIHBhaW50QmFja2dyb3VuZERlY29yYXRpb25zKGNvbnN0IFRl
eHRSdW4mLCBjb25zdCBCYWNrZ3JvdW5kRGVjb3JhdGlvbkdlb21ldHJ5JiwgT3B0aW9uU2V0PFRl
eHREZWNvcmF0aW9uTGluZT4sIGNvbnN0IFN0eWxlcyYpOwotICAgIHZvaWQgcGFpbnRGb3JlZ3Jv
dW5kRGVjb3JhdGlvbnMoY29uc3QgRmxvYXRQb2ludCYgYm94T3JpZ2luLCBmbG9hdCB3aWR0aCwg
T3B0aW9uU2V0PFRleHREZWNvcmF0aW9uTGluZT4sIGNvbnN0IFN0eWxlcyYpOworCisgICAgc3Ry
dWN0IEZvcmVncm91bmREZWNvcmF0aW9uR2VvbWV0cnkgeworICAgICAgICBGbG9hdFBvaW50IGJv
eE9yaWdpbjsKKyAgICAgICAgZmxvYXQgdGV4dEJveFdpZHRoIHsgMC5mIH07CisgICAgICAgIGZs
b2F0IHRleHREZWNvcmF0aW9uVGhpY2tuZXNzIHsgMC5mIH07CisgICAgICAgIGZsb2F0IGxpbmV0
aHJvdWdoQ2VudGVyIHsgMC5mIH07CisgICAgfTsKKyAgICB2b2lkIHBhaW50Rm9yZWdyb3VuZERl
Y29yYXRpb25zKGNvbnN0IEZvcmVncm91bmREZWNvcmF0aW9uR2VvbWV0cnkmLCBPcHRpb25TZXQ8
VGV4dERlY29yYXRpb25MaW5lPiwgY29uc3QgU3R5bGVzJik7CiAKICAgICBzdGF0aWMgQ29sb3Ig
ZGVjb3JhdGlvbkNvbG9yKGNvbnN0IFJlbmRlclN0eWxlJik7CiAgICAgc3RhdGljIFN0eWxlcyBz
dHlsZXNGb3JSZW5kZXJlcihjb25zdCBSZW5kZXJPYmplY3QmLCBPcHRpb25TZXQ8VGV4dERlY29y
YXRpb25MaW5lPiByZXF1ZXN0ZWREZWNvcmF0aW9ucywgYm9vbCBmaXJzdExpbmVTdHlsZSA9IGZh
bHNlLCBQc2V1ZG9JZCA9IFBzZXVkb0lkOjpOb25lKTsKICAgICBzdGF0aWMgT3B0aW9uU2V0PFRl
eHREZWNvcmF0aW9uTGluZT4gdGV4dERlY29yYXRpb25zSW5FZmZlY3RGb3JTdHlsZShjb25zdCBU
ZXh0RGVjb3JhdGlvblBhaW50ZXI6OlN0eWxlcyYpOwogCiBwcml2YXRlOgotICAgIHZvaWQgcGFp
bnRMaW5lVGhyb3VnaChjb25zdCBDb2xvciYsIGZsb2F0IHRoaWNrbmVzcywgY29uc3QgRmxvYXRQ
b2ludCYgbG9jYWxPcmlnaW4sIGZsb2F0IHdpZHRoLCBjb25zdCBTdHlsZXMmKTsKKyAgICB2b2lk
IHBhaW50TGluZVRocm91Z2goY29uc3QgRm9yZWdyb3VuZERlY29yYXRpb25HZW9tZXRyeSYsIGNv
bnN0IENvbG9yJiwgY29uc3QgU3R5bGVzJik7CiAKICAgICBHcmFwaGljc0NvbnRleHQmIG1fY29u
dGV4dDsKICAgICBib29sIG1faXNQcmludGluZyB7IGZhbHNlIH07CkBAIC03Nyw3ICs4NSw2IEBA
IHByaXZhdGU6CiAgICAgY29uc3QgU2hhZG93RGF0YSogbV9zaGFkb3cgeyBudWxscHRyIH07CiAg
ICAgY29uc3QgRmlsdGVyT3BlcmF0aW9ucyogbV9zaGFkb3dDb2xvckZpbHRlciB7IG51bGxwdHIg
fTsKICAgICBjb25zdCBGb250Q2FzY2FkZSYgbV9mb250OwotICAgIGZsb2F0IG1fZGV2aWNlU2Nh
bGVGYWN0b3IgeyAwIH07CiAKICAgICBjb25zdCBSZW5kZXJTdHlsZSYgbV9yZW5kZXJUZXh0U3R5
bGU7CiB9Owo=
</data>
<flag name="commit-queue"
          id="490420"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>461537</attachid>
            <date>2022-08-10 14:39:24 -0700</date>
            <delta_ts>2022-08-11 06:35:59 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-243762-20220810143923.patch</filename>
            <type>text/plain</type>
            <size>14025</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSAyYzM2NjUwYjFlNjIxMDFjY2JiYjQwZDgwZjRjOTEzOTlmZTIyYzUwIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJ1anRhcyA8emFsYW5AYXBwbGUuY29tPgpEYXRlOiBU
dWUsIDkgQXVnIDIwMjIgMTk6MzI6MjIgLTA3MDAKU3ViamVjdDogW1BBVENIXSBbUGFpbnRpbmdd
IEludHJvZHVjZQogVGV4dERlY29yYXRpb25QYWludGVyOjpGb3JlZ3JvdW5kRGVjb3JhdGlvbkdl
b21ldHJ5CiBodHRwczovL2J1Z3Mud2Via2l0Lm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MjQzNzYyCgpS
ZXZpZXdlZCBieSBBbnR0aSBLb2l2aXN0by4KClRoaXMgZW5hYmxlcyB1cyB0byByZW1vdmUgYWxs
IGRlY29yYXRpb24gcmVsYXRlZCBnZW9tZXRyeSBjb2RlIGZyb20gVGV4dERlY29yYXRpb25QYWlu
dGVyIChlLmcuIHBpeGVsIHNuYXBwaW5nKS4KCiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1Rl
eHRCb3hQYWludGVyLmNwcDoKKFdlYkNvcmU6OlRleHRCb3hQYWludGVyPFRleHRCb3hQYXRoPjo6
Y3JlYXRlRGVjb3JhdGlvblBhaW50ZXIpOgooV2ViQ29yZTo6Y29tcHV0ZWRUZXh0RGVjb3JhdGlv
blRoaWNrbmVzcyk6CihXZWJDb3JlOjpjb21wdXRlZEF1dG9UZXh0RGVjb3JhdGlvblRoaWNrbmVz
cyk6CihXZWJDb3JlOjpjb21wdXRlZExpbmV0aHJvdWdoQ2VudGVyKToKKFdlYkNvcmU6OlRleHRC
b3hQYWludGVyPFRleHRCb3hQYXRoPjo6cGFpbnRCYWNrZ3JvdW5kRGVjb3JhdGlvbnMpOgooV2Vi
Q29yZTo6VGV4dEJveFBhaW50ZXI8VGV4dEJveFBhdGg+OjpwYWludEZvcmVncm91bmREZWNvcmF0
aW9ucyk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHREZWNvcmF0aW9uUGFpbnRlci5j
cHA6CihXZWJDb3JlOjpUZXh0RGVjb3JhdGlvblBhaW50ZXI6OlRleHREZWNvcmF0aW9uUGFpbnRl
cik6CihXZWJDb3JlOjpUZXh0RGVjb3JhdGlvblBhaW50ZXI6OnBhaW50QmFja2dyb3VuZERlY29y
YXRpb25zKToKKFdlYkNvcmU6OlRleHREZWNvcmF0aW9uUGFpbnRlcjo6cGFpbnRGb3JlZ3JvdW5k
RGVjb3JhdGlvbnMpOgooV2ViQ29yZTo6VGV4dERlY29yYXRpb25QYWludGVyOjpwYWludExpbmVU
aHJvdWdoKToKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERlY29yYXRpb25QYWludGVy
Lmg6Ci0tLQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcCAgIHwg
NDggKysrKysrKysrKysrKystLS0tLQogLi4uL3JlbmRlcmluZy9UZXh0RGVjb3JhdGlvblBhaW50
ZXIuY3BwICAgICAgIHwgMjIgKysrLS0tLS0tCiAuLi4vV2ViQ29yZS9yZW5kZXJpbmcvVGV4dERl
Y29yYXRpb25QYWludGVyLmggfCAxNSArKysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgNTMgaW5zZXJ0
aW9ucygrKSwgMzIgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcCBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0
Qm94UGFpbnRlci5jcHAKaW5kZXggY2MzYzE2ZTk3NjIwLi4wZGMwMmY0ZDIwNWIgMTAwNjQ0Ci0t
LSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0Qm94UGFpbnRlci5jcHAKKysrIGIvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHRCb3hQYWludGVyLmNwcApAQCAtNDM2LDkgKzQzNiwy
NCBAQCBUZXh0RGVjb3JhdGlvblBhaW50ZXIgVGV4dEJveFBhaW50ZXI8VGV4dEJveFBhdGg+Ojpj
cmVhdGVEZWNvcmF0aW9uUGFpbnRlcihjb25zdAogICAgIC8vIENyZWF0ZSBwYWludGVyCiAgICAg
YXV0byogc2hhZG93ID0gbWFya2VkVGV4dC5zdHlsZS50ZXh0U2hhZG93ID8gJm1hcmtlZFRleHQu
c3R5bGUudGV4dFNoYWRvdy52YWx1ZSgpIDogbnVsbHB0cjsKICAgICBhdXRvKiBjb2xvckZpbHRl
ciA9IG1hcmtlZFRleHQuc3R5bGUudGV4dFNoYWRvdyAmJiBtX3N0eWxlLmhhc0FwcGxlQ29sb3JG
aWx0ZXIoKSA/ICZtX3N0eWxlLmFwcGxlQ29sb3JGaWx0ZXIoKSA6IG51bGxwdHI7Ci0gICAgYXV0
byYgZG9jdW1lbnQgPSBtX3JlbmRlcmVyLmRvY3VtZW50KCk7CiAgICAgYXV0byYgc3R5bGVUb1Vz
ZSA9IG1faXNGaXJzdExpbmUgPyBtX3JlbmRlcmVyLmZpcnN0TGluZVN0eWxlKCkgOiBtX3JlbmRl
cmVyLnN0eWxlKCk7Ci0gICAgcmV0dXJuIHsgY29udGV4dCwgc3R5bGVUb1VzZSwgZm9udENhc2Nh
ZGUoKSwgc2hhZG93LCBjb2xvckZpbHRlciwgZG9jdW1lbnQucHJpbnRpbmcoKSwgbV9yZW5kZXJl
ci5pc0hvcml6b250YWxXcml0aW5nTW9kZSgpLCBkb2N1bWVudC5kZXZpY2VTY2FsZUZhY3Rvcigp
IH07CisgICAgcmV0dXJuIHsgY29udGV4dCwgc3R5bGVUb1VzZSwgZm9udENhc2NhZGUoKSwgc2hh
ZG93LCBjb2xvckZpbHRlciwgbV9kb2N1bWVudC5wcmludGluZygpLCBtX3JlbmRlcmVyLmlzSG9y
aXpvbnRhbFdyaXRpbmdNb2RlKCkgfTsKK30KKworc3RhdGljIGlubGluZSBmbG9hdCBjb21wdXRl
ZFRleHREZWNvcmF0aW9uVGhpY2tuZXNzKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZVRvVXNlLCBm
bG9hdCBkZXZpY2VTY2FsZUZhY3RvcikKK3sKKyAgICByZXR1cm4gY2VpbFRvRGV2aWNlUGl4ZWwo
c3R5bGVUb1VzZS50ZXh0RGVjb3JhdGlvblRoaWNrbmVzcygpLnJlc29sdmUoc3R5bGVUb1VzZS5j
b21wdXRlZEZvbnRTaXplKCksIHN0eWxlVG9Vc2UubWV0cmljc09mUHJpbWFyeUZvbnQoKSksIGRl
dmljZVNjYWxlRmFjdG9yKTsKK30KKworc3RhdGljIGlubGluZSBmbG9hdCBjb21wdXRlZEF1dG9U
ZXh0RGVjb3JhdGlvblRoaWNrbmVzcyhjb25zdCBSZW5kZXJTdHlsZSYgc3R5bGVUb1VzZSwgZmxv
YXQgZGV2aWNlU2NhbGVGYWN0b3IpCit7CisgICAgcmV0dXJuIGNlaWxUb0RldmljZVBpeGVsKFRl
eHREZWNvcmF0aW9uVGhpY2tuZXNzOjpjcmVhdGVXaXRoQXV0bygpLnJlc29sdmUoc3R5bGVUb1Vz
ZS5jb21wdXRlZEZvbnRTaXplKCksIHN0eWxlVG9Vc2UubWV0cmljc09mUHJpbWFyeUZvbnQoKSks
IGRldmljZVNjYWxlRmFjdG9yKTsKK30KKworc3RhdGljIGlubGluZSBmbG9hdCBjb21wdXRlZExp
bmV0aHJvdWdoQ2VudGVyKGNvbnN0IFJlbmRlclN0eWxlJiBzdHlsZVRvVXNlLCBmbG9hdCB0ZXh0
RGVjb3JhdGlvblRoaWNrbmVzcywgZmxvYXQgYXV0b1RleHREZWNvcmF0aW9uVGhpY2tuZXNzKQor
eworICAgIGF1dG8gY2VudGVyID0gMiAqIHN0eWxlVG9Vc2UubWV0cmljc09mUHJpbWFyeUZvbnQo
KS5mbG9hdEFzY2VudCgpIC8gMyArIGF1dG9UZXh0RGVjb3JhdGlvblRoaWNrbmVzcyAvIDI7Cisg
ICAgcmV0dXJuIGNlbnRlciAtIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzIC8gMjsKIH0KIAogdGVt
cGxhdGU8dHlwZW5hbWUgVGV4dEJveFBhdGg+CkBAIC00NTYsMTAgKzQ3MSw5IEBAIHZvaWQgVGV4
dEJveFBhaW50ZXI8VGV4dEJveFBhdGg+OjpwYWludEJhY2tncm91bmREZWNvcmF0aW9ucyhUZXh0
RGVjb3JhdGlvblBhaW50CiAgICAgICAgIHJldHVybiB0ZXh0RGVjb3JhdGlvbnM7CiAgICAgfSgp
OwogICAgIGF1dG8gY29tcHV0ZWRCYWNrZ3JvdW5kRGVjb3JhdGlvbkdlb21ldHJ5ID0gWyZdIHsK
LSAgICAgICAgYXV0byBkZXZpY2VTY2FsZUZhY3RvciA9IG1fcmVuZGVyZXIuZG9jdW1lbnQoKS5k
ZXZpY2VTY2FsZUZhY3RvcigpOwotICAgICAgICBhdXRvJiBmb250TWV0cmljcyA9IHN0eWxlVG9V
c2UubWV0cmljc09mUHJpbWFyeUZvbnQoKTsKKyAgICAgICAgYXV0byBkZXZpY2VTY2FsZUZhY3Rv
ciA9IG1fZG9jdW1lbnQuZGV2aWNlU2NhbGVGYWN0b3IoKTsKIAotICAgICAgICBhdXRvIHRleHRE
ZWNvcmF0aW9uVGhpY2tuZXNzID0gY2VpbFRvRGV2aWNlUGl4ZWwoc3R5bGVUb1VzZS50ZXh0RGVj
b3JhdGlvblRoaWNrbmVzcygpLnJlc29sdmUoc3R5bGVUb1VzZS5jb21wdXRlZEZvbnRTaXplKCks
IGZvbnRNZXRyaWNzKSwgZGV2aWNlU2NhbGVGYWN0b3IpOworICAgICAgICBhdXRvIHRleHREZWNv
cmF0aW9uVGhpY2tuZXNzID0gY29tcHV0ZWRUZXh0RGVjb3JhdGlvblRoaWNrbmVzcyhzdHlsZVRv
VXNlLCBkZXZpY2VTY2FsZUZhY3Rvcik7CiAgICAgICAgIGF1dG8gdW5kZXJsaW5lT2Zmc2V0ID0g
WyZdIHsKICAgICAgICAgICAgIGlmICghY29tcHV0ZWRUZXh0RGVjb3JhdGlvblR5cGUuY29udGFp
bnMoVGV4dERlY29yYXRpb25MaW5lOjpVbmRlcmxpbmUpKQogICAgICAgICAgICAgICAgIHJldHVy
biAwLmY7CkBAIC00NjcsMTAgKzQ4MSwxMCBAQCB2b2lkIFRleHRCb3hQYWludGVyPFRleHRCb3hQ
YXRoPjo6cGFpbnRCYWNrZ3JvdW5kRGVjb3JhdGlvbnMoVGV4dERlY29yYXRpb25QYWludAogICAg
ICAgICAgICAgYXV0byB3YXZ5T2Zmc2V0ID0gdGV4dERlY29yYXRpb25TdHlsZXMudW5kZXJsaW5l
LmRlY29yYXRpb25TdHlsZSA9PSBUZXh0RGVjb3JhdGlvblN0eWxlOjpXYXZ5ID8gd2F2eU9mZnNl
dEZyb21EZWNvcmF0aW9uKCkgOiAwLmY7CiAgICAgICAgICAgICByZXR1cm4gYmFzZU9mZnNldCAr
IHdhdnlPZmZzZXQ7CiAgICAgICAgIH07CisgICAgICAgIGF1dG8gYXV0b1RleHREZWNvcmF0aW9u
VGhpY2tuZXNzID0gY29tcHV0ZWRBdXRvVGV4dERlY29yYXRpb25UaGlja25lc3Moc3R5bGVUb1Vz
ZSwgZGV2aWNlU2NhbGVGYWN0b3IpOwogICAgICAgICBhdXRvIG92ZXJsaW5lT2Zmc2V0ID0gWyZd
IHsKICAgICAgICAgICAgIGlmICghY29tcHV0ZWRUZXh0RGVjb3JhdGlvblR5cGUuY29udGFpbnMo
VGV4dERlY29yYXRpb25MaW5lOjpPdmVybGluZSkpCiAgICAgICAgICAgICAgICAgcmV0dXJuIDAu
ZjsKLSAgICAgICAgICAgIGF1dG8gYXV0b1RleHREZWNvcmF0aW9uVGhpY2tuZXNzID0gY2VpbFRv
RGV2aWNlUGl4ZWwoVGV4dERlY29yYXRpb25UaGlja25lc3M6OmNyZWF0ZVdpdGhBdXRvKCkucmVz
b2x2ZShzdHlsZVRvVXNlLmNvbXB1dGVkRm9udFNpemUoKSwgZm9udE1ldHJpY3MpLCBkZXZpY2VT
Y2FsZUZhY3Rvcik7CiAgICAgICAgICAgICByZXR1cm4gYXV0b1RleHREZWNvcmF0aW9uVGhpY2tu
ZXNzIC0gdGV4dERlY29yYXRpb25UaGlja25lc3MgLSAodGV4dERlY29yYXRpb25TdHlsZXMub3Zl
cmxpbmUuZGVjb3JhdGlvblN0eWxlID09IFRleHREZWNvcmF0aW9uU3R5bGU6OldhdnkgPyB3YXZ5
T2Zmc2V0RnJvbURlY29yYXRpb24oKSA6IDAuZik7CiAgICAgICAgIH07CiAKQEAgLTQ4MCw3ICs0
OTQsOCBAQCB2b2lkIFRleHRCb3hQYWludGVyPFRleHRCb3hQYXRoPjo6cGFpbnRCYWNrZ3JvdW5k
RGVjb3JhdGlvbnMoVGV4dERlY29yYXRpb25QYWludAogICAgICAgICAgICAgc25hcHBlZFNlbGVj
dGlvblJlY3Qud2lkdGgoKSwKICAgICAgICAgICAgIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzLAog
ICAgICAgICAgICAgdW5kZXJsaW5lT2Zmc2V0KCksCi0gICAgICAgICAgICBvdmVybGluZU9mZnNl
dCgpCisgICAgICAgICAgICBvdmVybGluZU9mZnNldCgpLAorICAgICAgICAgICAgY29tcHV0ZWRM
aW5ldGhyb3VnaENlbnRlcihzdHlsZVRvVXNlLCB0ZXh0RGVjb3JhdGlvblRoaWNrbmVzcywgYXV0
b1RleHREZWNvcmF0aW9uVGhpY2tuZXNzKQogICAgICAgICB9OwogICAgIH07CiAKQEAgLTQ5Mywx
NiArNTA4LDIzIEBAIHZvaWQgVGV4dEJveFBhaW50ZXI8VGV4dEJveFBhdGg+OjpwYWludEJhY2tn
cm91bmREZWNvcmF0aW9ucyhUZXh0RGVjb3JhdGlvblBhaW50CiB0ZW1wbGF0ZTx0eXBlbmFtZSBU
ZXh0Qm94UGF0aD4KIHZvaWQgVGV4dEJveFBhaW50ZXI8VGV4dEJveFBhdGg+OjpwYWludEZvcmVn
cm91bmREZWNvcmF0aW9ucyhUZXh0RGVjb3JhdGlvblBhaW50ZXImIGRlY29yYXRpb25QYWludGVy
LCBjb25zdCBTdHlsZWRNYXJrZWRUZXh0JiBtYXJrZWRUZXh0LCBjb25zdCBGbG9hdFJlY3QmIHNu
YXBwZWRTZWxlY3Rpb25SZWN0KQogewotICAgIGlmIChtX2lzQ29tYmluZWRUZXh0KQotICAgICAg
ICBtX3BhaW50SW5mby5jb250ZXh0KCkuY29uY2F0Q1RNKHJvdGF0aW9uKG1fcGFpbnRSZWN0LCBD
bG9ja3dpc2UpKTsKLQorICAgIGF1dG8mIHN0eWxlVG9Vc2UgPSBtX2lzRmlyc3RMaW5lID8gbV9y
ZW5kZXJlci5maXJzdExpbmVTdHlsZSgpIDogbV9yZW5kZXJlci5zdHlsZSgpOwogICAgIGF1dG8g
Y29tcHV0ZWRUZXh0RGVjb3JhdGlvblR5cGUgPSBbJl0gewotICAgICAgICBhdXRvJiBzdHlsZVRv
VXNlID0gbV9pc0ZpcnN0TGluZSA/IG1fcmVuZGVyZXIuZmlyc3RMaW5lU3R5bGUoKSA6IG1fcmVu
ZGVyZXIuc3R5bGUoKTsKICAgICAgICAgYXV0byB0ZXh0RGVjb3JhdGlvbnMgPSBzdHlsZVRvVXNl
LnRleHREZWNvcmF0aW9uc0luRWZmZWN0KCk7CiAgICAgICAgIHRleHREZWNvcmF0aW9ucy5hZGQo
VGV4dERlY29yYXRpb25QYWludGVyOjp0ZXh0RGVjb3JhdGlvbnNJbkVmZmVjdEZvclN0eWxlKG1h
cmtlZFRleHQuc3R5bGUudGV4dERlY29yYXRpb25TdHlsZXMpKTsKICAgICAgICAgcmV0dXJuIHRl
eHREZWNvcmF0aW9uczsKLSAgICB9OwotICAgIGRlY29yYXRpb25QYWludGVyLnBhaW50Rm9yZWdy
b3VuZERlY29yYXRpb25zKHNuYXBwZWRTZWxlY3Rpb25SZWN0LmxvY2F0aW9uKCksIHNuYXBwZWRT
ZWxlY3Rpb25SZWN0LndpZHRoKCksIGNvbXB1dGVkVGV4dERlY29yYXRpb25UeXBlKCksIG1hcmtl
ZFRleHQuc3R5bGUudGV4dERlY29yYXRpb25TdHlsZXMpOworICAgIH0oKTsKKworICAgIGlmICgh
Y29tcHV0ZWRUZXh0RGVjb3JhdGlvblR5cGUuY29udGFpbnMoVGV4dERlY29yYXRpb25MaW5lOjpM
aW5lVGhyb3VnaCkpCisgICAgICAgIHJldHVybjsKKworICAgIGlmIChtX2lzQ29tYmluZWRUZXh0
KQorICAgICAgICBtX3BhaW50SW5mby5jb250ZXh0KCkuY29uY2F0Q1RNKHJvdGF0aW9uKG1fcGFp
bnRSZWN0LCBDbG9ja3dpc2UpKTsKKworICAgIGF1dG8gZGV2aWNlU2NhbGVGYWN0b3IgPSBtX2Rv
Y3VtZW50LmRldmljZVNjYWxlRmFjdG9yKCk7CisgICAgYXV0byB0ZXh0RGVjb3JhdGlvblRoaWNr
bmVzcyA9IGNvbXB1dGVkVGV4dERlY29yYXRpb25UaGlja25lc3Moc3R5bGVUb1VzZSwgZGV2aWNl
U2NhbGVGYWN0b3IpOworICAgIGF1dG8gbGluZXRocm91Z2hDZW50ZXIgPSBjb21wdXRlZExpbmV0
aHJvdWdoQ2VudGVyKHN0eWxlVG9Vc2UsIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzLCBjb21wdXRl
ZEF1dG9UZXh0RGVjb3JhdGlvblRoaWNrbmVzcyhzdHlsZVRvVXNlLCBkZXZpY2VTY2FsZUZhY3Rv
cikpOworICAgIGRlY29yYXRpb25QYWludGVyLnBhaW50Rm9yZWdyb3VuZERlY29yYXRpb25zKHsg
c25hcHBlZFNlbGVjdGlvblJlY3QubG9jYXRpb24oKSwgc25hcHBlZFNlbGVjdGlvblJlY3Qud2lk
dGgoKSwgdGV4dERlY29yYXRpb25UaGlja25lc3MsIGxpbmV0aHJvdWdoQ2VudGVyIH0sIG1hcmtl
ZFRleHQuc3R5bGUudGV4dERlY29yYXRpb25TdHlsZXMpOwogCiAgICAgaWYgKG1faXNDb21iaW5l
ZFRleHQpCiAgICAgICAgIG1fcGFpbnRJbmZvLmNvbnRleHQoKS5jb25jYXRDVE0ocm90YXRpb24o
bV9wYWludFJlY3QsIENvdW50ZXJjbG9ja3dpc2UpKTsKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9UZXh0RGVjb3JhdGlvblBhaW50ZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1RleHREZWNvcmF0aW9uUGFpbnRlci5jcHAKaW5kZXggMDdiZjk5YzEyOTI2Li5h
OWUxYmFiMDM4NWYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0RGVj
b3JhdGlvblBhaW50ZXIuY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0RGVj
b3JhdGlvblBhaW50ZXIuY3BwCkBAIC0xOTEsMTQgKzE5MSwxMyBAQCBib29sIFRleHREZWNvcmF0
aW9uUGFpbnRlcjo6U3R5bGVzOjpvcGVyYXRvcj09KGNvbnN0IFN0eWxlcyYgb3RoZXIpIGNvbnN0
CiAgICAgICAgICYmIHVuZGVybGluZS5kZWNvcmF0aW9uU3R5bGUgPT0gb3RoZXIudW5kZXJsaW5l
LmRlY29yYXRpb25TdHlsZSAmJiBvdmVybGluZS5kZWNvcmF0aW9uU3R5bGUgPT0gb3RoZXIub3Zl
cmxpbmUuZGVjb3JhdGlvblN0eWxlICYmIGxpbmV0aHJvdWdoLmRlY29yYXRpb25TdHlsZSA9PSBv
dGhlci5saW5ldGhyb3VnaC5kZWNvcmF0aW9uU3R5bGU7CiB9CiAKLVRleHREZWNvcmF0aW9uUGFp
bnRlcjo6VGV4dERlY29yYXRpb25QYWludGVyKEdyYXBoaWNzQ29udGV4dCYgY29udGV4dCwgY29u
c3QgUmVuZGVyU3R5bGUmIHJlbmRlclRleHRTdHlsZSwgY29uc3QgRm9udENhc2NhZGUmIGZvbnQs
IGNvbnN0IFNoYWRvd0RhdGEqIHNoYWRvdywgY29uc3QgRmlsdGVyT3BlcmF0aW9ucyogY29sb3JG
aWx0ZXIsIGJvb2wgaXNQcmludGluZywgYm9vbCBpc0hvcml6b250YWwsIGZsb2F0IGRldmljZVNj
YWxlRmFjdG9yKQorVGV4dERlY29yYXRpb25QYWludGVyOjpUZXh0RGVjb3JhdGlvblBhaW50ZXIo
R3JhcGhpY3NDb250ZXh0JiBjb250ZXh0LCBjb25zdCBSZW5kZXJTdHlsZSYgcmVuZGVyVGV4dFN0
eWxlLCBjb25zdCBGb250Q2FzY2FkZSYgZm9udCwgY29uc3QgU2hhZG93RGF0YSogc2hhZG93LCBj
b25zdCBGaWx0ZXJPcGVyYXRpb25zKiBjb2xvckZpbHRlciwgYm9vbCBpc1ByaW50aW5nLCBib29s
IGlzSG9yaXpvbnRhbCkKICAgICA6IG1fY29udGV4dChjb250ZXh0KQogICAgICwgbV9pc1ByaW50
aW5nKGlzUHJpbnRpbmcpCiAgICAgLCBtX2lzSG9yaXpvbnRhbChpc0hvcml6b250YWwpCiAgICAg
LCBtX3NoYWRvdyhzaGFkb3cpCiAgICAgLCBtX3NoYWRvd0NvbG9yRmlsdGVyKGNvbG9yRmlsdGVy
KQogICAgICwgbV9mb250KGZvbnQpCi0gICAgLCBtX2RldmljZVNjYWxlRmFjdG9yKGRldmljZVNj
YWxlRmFjdG9yKQogICAgICwgbV9yZW5kZXJUZXh0U3R5bGUocmVuZGVyVGV4dFN0eWxlKQogewog
fQpAQCAtMjkzLDcgKzI5Miw3IEBAIHZvaWQgVGV4dERlY29yYXRpb25QYWludGVyOjpwYWludEJh
Y2tncm91bmREZWNvcmF0aW9ucyhjb25zdCBUZXh0UnVuJiB0ZXh0UnVuLCBjCiAgICAgICAgIC8v
IFdlIG9ubHkgd2FudCB0byBwYWludCB0aGUgc2hhZG93LCBoZW5jZSB0aGUgdHJhbnNwYXJlbnQg
Y29sb3IsIG5vdCB0aGUgYWN0dWFsIGxpbmUtdGhyb3VnaCwKICAgICAgICAgLy8gd2hpY2ggd2ls
bCBiZSBwYWludGVkIGluIHBhaW50Rm9yZWdyb3VuZERlY29yYXRpb25zKCkuCiAgICAgICAgIGlm
IChzaGFkb3cgJiYgZGVjb3JhdGlvblR5cGUuY29udGFpbnMoVGV4dERlY29yYXRpb25MaW5lOjpM
aW5lVGhyb3VnaCkpCi0gICAgICAgICAgICBwYWludExpbmVUaHJvdWdoKENvbG9yOjp0cmFuc3Bh
cmVudEJsYWNrLCBkZWNvcmF0aW9uR2VvbWV0cnkudGV4dERlY29yYXRpb25UaGlja25lc3MsIGJv
eE9yaWdpbiwgZGVjb3JhdGlvbkdlb21ldHJ5LnRleHRCb3hXaWR0aCwgZGVjb3JhdGlvblN0eWxl
KTsKKyAgICAgICAgICAgIHBhaW50TGluZVRocm91Z2goeyBib3hPcmlnaW4sIGRlY29yYXRpb25H
ZW9tZXRyeS50ZXh0Qm94V2lkdGgsIGRlY29yYXRpb25HZW9tZXRyeS50ZXh0RGVjb3JhdGlvblRo
aWNrbmVzcywgZGVjb3JhdGlvbkdlb21ldHJ5LmxpbmV0aHJvdWdoQ2VudGVyIH0sIENvbG9yOjp0
cmFuc3BhcmVudEJsYWNrLCBkZWNvcmF0aW9uU3R5bGUpOwogICAgIH0gd2hpbGUgKHNoYWRvdyk7
CiAKICAgICBpZiAoY2xpcHBpbmcpCkBAIC0zMDIsMjIgKzMwMSwxNSBAQCB2b2lkIFRleHREZWNv
cmF0aW9uUGFpbnRlcjo6cGFpbnRCYWNrZ3JvdW5kRGVjb3JhdGlvbnMoY29uc3QgVGV4dFJ1biYg
dGV4dFJ1biwgYwogICAgICAgICBtX2NvbnRleHQuY2xlYXJTaGFkb3coKTsKIH0KIAotdm9pZCBU
ZXh0RGVjb3JhdGlvblBhaW50ZXI6OnBhaW50Rm9yZWdyb3VuZERlY29yYXRpb25zKGNvbnN0IEZs
b2F0UG9pbnQmIGJveE9yaWdpbiwgZmxvYXQgd2lkdGgsIE9wdGlvblNldDxUZXh0RGVjb3JhdGlv
bkxpbmU+IGRlY29yYXRpb25UeXBlLCBjb25zdCBTdHlsZXMmIGRlY29yYXRpb25TdHlsZSkKK3Zv
aWQgVGV4dERlY29yYXRpb25QYWludGVyOjpwYWludEZvcmVncm91bmREZWNvcmF0aW9ucyhjb25z
dCBGb3JlZ3JvdW5kRGVjb3JhdGlvbkdlb21ldHJ5JiBmb3JlZ3JvdW5kRGVjb3JhdGlvbkdlb21l
dHJ5LCBjb25zdCBTdHlsZXMmIGRlY29yYXRpb25TdHlsZSkKIHsKLSAgICBpZiAoIWRlY29yYXRp
b25UeXBlLmNvbnRhaW5zKFRleHREZWNvcmF0aW9uTGluZTo6TGluZVRocm91Z2gpKQotICAgICAg
ICByZXR1cm47Ci0KLSAgICBhdXRvIHRleHREZWNvcmF0aW9uVGhpY2tuZXNzID0gY2VpbFRvRGV2
aWNlUGl4ZWwobV9yZW5kZXJUZXh0U3R5bGUudGV4dERlY29yYXRpb25UaGlja25lc3MoKS5yZXNv
bHZlKG1fcmVuZGVyVGV4dFN0eWxlLmNvbXB1dGVkRm9udFNpemUoKSwgbV9yZW5kZXJUZXh0U3R5
bGUubWV0cmljc09mUHJpbWFyeUZvbnQoKSksIG1fZGV2aWNlU2NhbGVGYWN0b3IpOwotICAgIHBh
aW50TGluZVRocm91Z2goZGVjb3JhdGlvblN0eWxlLmxpbmV0aHJvdWdoLmNvbG9yLCB0ZXh0RGVj
b3JhdGlvblRoaWNrbmVzcywgYm94T3JpZ2luLCB3aWR0aCwgZGVjb3JhdGlvblN0eWxlKTsKKyAg
ICBwYWludExpbmVUaHJvdWdoKGZvcmVncm91bmREZWNvcmF0aW9uR2VvbWV0cnksIGRlY29yYXRp
b25TdHlsZS5saW5ldGhyb3VnaC5jb2xvciwgZGVjb3JhdGlvblN0eWxlKTsKIH0KIAotdm9pZCBU
ZXh0RGVjb3JhdGlvblBhaW50ZXI6OnBhaW50TGluZVRocm91Z2goY29uc3QgQ29sb3ImIGNvbG9y
LCBmbG9hdCB0aGlja25lc3MsIGNvbnN0IEZsb2F0UG9pbnQmIGxvY2FsT3JpZ2luLCBmbG9hdCB3
aWR0aCwgY29uc3QgU3R5bGVzJiBkZWNvcmF0aW9uU3R5bGUpCit2b2lkIFRleHREZWNvcmF0aW9u
UGFpbnRlcjo6cGFpbnRMaW5lVGhyb3VnaChjb25zdCBGb3JlZ3JvdW5kRGVjb3JhdGlvbkdlb21l
dHJ5JiBmb3JlZ3JvdW5kRGVjb3JhdGlvbkdlb21ldHJ5LCBjb25zdCBDb2xvciYgY29sb3IsIGNv
bnN0IFN0eWxlcyYgZGVjb3JhdGlvblN0eWxlKQogewotICAgIGNvbnN0IGF1dG8mIGZvbnRNZXRy
aWNzID0gbV9yZW5kZXJUZXh0U3R5bGUubWV0cmljc09mUHJpbWFyeUZvbnQoKTsKLSAgICBGbG9h
dFJlY3QgcmVjdChsb2NhbE9yaWdpbiwgRmxvYXRTaXplKHdpZHRoLCB0aGlja25lc3MpKTsKLSAg
ICBhdXRvIGF1dG9UZXh0RGVjb3JhdGlvblRoaWNrbmVzcyA9IGNlaWxUb0RldmljZVBpeGVsKFRl
eHREZWNvcmF0aW9uVGhpY2tuZXNzOjpjcmVhdGVXaXRoQXV0bygpLnJlc29sdmUobV9yZW5kZXJU
ZXh0U3R5bGUuY29tcHV0ZWRGb250U2l6ZSgpLCBmb250TWV0cmljcyksIG1fZGV2aWNlU2NhbGVG
YWN0b3IpOwotICAgIGF1dG8gY2VudGVyID0gMiAqIGZvbnRNZXRyaWNzLmZsb2F0QXNjZW50KCkg
LyAzICsgYXV0b1RleHREZWNvcmF0aW9uVGhpY2tuZXNzIC8gMjsKLSAgICByZWN0Lm1vdmUoMCwg
Y2VudGVyIC0gdGhpY2tuZXNzIC8gMik7CisgICAgYXV0byByZWN0ID0gRmxvYXRSZWN0IHsgZm9y
ZWdyb3VuZERlY29yYXRpb25HZW9tZXRyeS5ib3hPcmlnaW4sIEZsb2F0U2l6ZSB7IGZvcmVncm91
bmREZWNvcmF0aW9uR2VvbWV0cnkudGV4dEJveFdpZHRoLCBmb3JlZ3JvdW5kRGVjb3JhdGlvbkdl
b21ldHJ5LnRleHREZWNvcmF0aW9uVGhpY2tuZXNzIH0gfTsKKyAgICByZWN0Lm1vdmUoMC5mLCBm
b3JlZ3JvdW5kRGVjb3JhdGlvbkdlb21ldHJ5LmxpbmV0aHJvdWdoQ2VudGVyKTsKIAogICAgIG1f
Y29udGV4dC5zZXRTdHJva2VDb2xvcihjb2xvcik7CiAKZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9UZXh0RGVjb3JhdGlvblBhaW50ZXIuaCBiL1NvdXJjZS9XZWJDb3JlL3Jl
bmRlcmluZy9UZXh0RGVjb3JhdGlvblBhaW50ZXIuaAppbmRleCBlOGU5MWNkMDZiN2QuLjk3YjJj
MWEwMDRhNiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1RleHREZWNvcmF0
aW9uUGFpbnRlci5oCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9UZXh0RGVjb3JhdGlv
blBhaW50ZXIuaApAQCAtMzksNyArMzksNyBAQCBjbGFzcyBUZXh0UnVuOwogICAgIAogY2xhc3Mg
VGV4dERlY29yYXRpb25QYWludGVyIHsKIHB1YmxpYzoKLSAgICBUZXh0RGVjb3JhdGlvblBhaW50
ZXIoR3JhcGhpY3NDb250ZXh0JiwgY29uc3QgUmVuZGVyU3R5bGUmLCBjb25zdCBGb250Q2FzY2Fk
ZSYsIGNvbnN0IFNoYWRvd0RhdGEqLCBjb25zdCBGaWx0ZXJPcGVyYXRpb25zKiwgYm9vbCBpc1By
aW50aW5nLCBib29sIGlzSG9yaXpvbnRhbCwgZmxvYXQgZGV2aWNlU2NhbGVGYWN0b3IpOworICAg
IFRleHREZWNvcmF0aW9uUGFpbnRlcihHcmFwaGljc0NvbnRleHQmLCBjb25zdCBSZW5kZXJTdHls
ZSYsIGNvbnN0IEZvbnRDYXNjYWRlJiwgY29uc3QgU2hhZG93RGF0YSosIGNvbnN0IEZpbHRlck9w
ZXJhdGlvbnMqLCBib29sIGlzUHJpbnRpbmcsIGJvb2wgaXNIb3Jpem9udGFsKTsKIAogICAgIHN0
cnVjdCBTdHlsZXMgewogICAgICAgICBib29sIG9wZXJhdG9yPT0oY29uc3QgU3R5bGVzJikgY29u
c3Q7CkBAIC02MCwxNiArNjAsMjQgQEAgcHVibGljOgogICAgICAgICBmbG9hdCB0ZXh0RGVjb3Jh
dGlvblRoaWNrbmVzcyB7IDAuZiB9OwogICAgICAgICBmbG9hdCB1bmRlcmxpbmVPZmZzZXQgeyAw
LmYgfTsKICAgICAgICAgZmxvYXQgb3ZlcmxpbmVPZmZzZXQgeyAwLmYgfTsKKyAgICAgICAgZmxv
YXQgbGluZXRocm91Z2hDZW50ZXIgeyAwLmYgfTsKICAgICB9OwogICAgIHZvaWQgcGFpbnRCYWNr
Z3JvdW5kRGVjb3JhdGlvbnMoY29uc3QgVGV4dFJ1biYsIGNvbnN0IEJhY2tncm91bmREZWNvcmF0
aW9uR2VvbWV0cnkmLCBPcHRpb25TZXQ8VGV4dERlY29yYXRpb25MaW5lPiwgY29uc3QgU3R5bGVz
Jik7Ci0gICAgdm9pZCBwYWludEZvcmVncm91bmREZWNvcmF0aW9ucyhjb25zdCBGbG9hdFBvaW50
JiBib3hPcmlnaW4sIGZsb2F0IHdpZHRoLCBPcHRpb25TZXQ8VGV4dERlY29yYXRpb25MaW5lPiwg
Y29uc3QgU3R5bGVzJik7CisKKyAgICBzdHJ1Y3QgRm9yZWdyb3VuZERlY29yYXRpb25HZW9tZXRy
eSB7CisgICAgICAgIEZsb2F0UG9pbnQgYm94T3JpZ2luOworICAgICAgICBmbG9hdCB0ZXh0Qm94
V2lkdGggeyAwLmYgfTsKKyAgICAgICAgZmxvYXQgdGV4dERlY29yYXRpb25UaGlja25lc3MgeyAw
LmYgfTsKKyAgICAgICAgZmxvYXQgbGluZXRocm91Z2hDZW50ZXIgeyAwLmYgfTsKKyAgICB9Owor
ICAgIHZvaWQgcGFpbnRGb3JlZ3JvdW5kRGVjb3JhdGlvbnMoY29uc3QgRm9yZWdyb3VuZERlY29y
YXRpb25HZW9tZXRyeSYsIGNvbnN0IFN0eWxlcyYpOwogCiAgICAgc3RhdGljIENvbG9yIGRlY29y
YXRpb25Db2xvcihjb25zdCBSZW5kZXJTdHlsZSYpOwogICAgIHN0YXRpYyBTdHlsZXMgc3R5bGVz
Rm9yUmVuZGVyZXIoY29uc3QgUmVuZGVyT2JqZWN0JiwgT3B0aW9uU2V0PFRleHREZWNvcmF0aW9u
TGluZT4gcmVxdWVzdGVkRGVjb3JhdGlvbnMsIGJvb2wgZmlyc3RMaW5lU3R5bGUgPSBmYWxzZSwg
UHNldWRvSWQgPSBQc2V1ZG9JZDo6Tm9uZSk7CiAgICAgc3RhdGljIE9wdGlvblNldDxUZXh0RGVj
b3JhdGlvbkxpbmU+IHRleHREZWNvcmF0aW9uc0luRWZmZWN0Rm9yU3R5bGUoY29uc3QgVGV4dERl
Y29yYXRpb25QYWludGVyOjpTdHlsZXMmKTsKIAogcHJpdmF0ZToKLSAgICB2b2lkIHBhaW50TGlu
ZVRocm91Z2goY29uc3QgQ29sb3ImLCBmbG9hdCB0aGlja25lc3MsIGNvbnN0IEZsb2F0UG9pbnQm
IGxvY2FsT3JpZ2luLCBmbG9hdCB3aWR0aCwgY29uc3QgU3R5bGVzJik7CisgICAgdm9pZCBwYWlu
dExpbmVUaHJvdWdoKGNvbnN0IEZvcmVncm91bmREZWNvcmF0aW9uR2VvbWV0cnkmLCBjb25zdCBD
b2xvciYsIGNvbnN0IFN0eWxlcyYpOwogCiAgICAgR3JhcGhpY3NDb250ZXh0JiBtX2NvbnRleHQ7
CiAgICAgYm9vbCBtX2lzUHJpbnRpbmcgeyBmYWxzZSB9OwpAQCAtNzcsNyArODUsNiBAQCBwcml2
YXRlOgogICAgIGNvbnN0IFNoYWRvd0RhdGEqIG1fc2hhZG93IHsgbnVsbHB0ciB9OwogICAgIGNv
bnN0IEZpbHRlck9wZXJhdGlvbnMqIG1fc2hhZG93Q29sb3JGaWx0ZXIgeyBudWxscHRyIH07CiAg
ICAgY29uc3QgRm9udENhc2NhZGUmIG1fZm9udDsKLSAgICBmbG9hdCBtX2RldmljZVNjYWxlRmFj
dG9yIHsgMCB9OwogCiAgICAgY29uc3QgUmVuZGVyU3R5bGUmIG1fcmVuZGVyVGV4dFN0eWxlOwog
fTsK
</data>

          </attachment>
      

    </bug>

</bugzilla>