<?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>315319</bug_id>
          
          <creation_ts>2026-05-21 13:52:39 -0700</creation_ts>
          <short_desc>[cleanup] RenderFlexibleBox should own the policy for storing flex-item content heights</short_desc>
          <delta_ts>2026-05-22 11:10:29 -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>New Bugs</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="alan">zalan</reporter>
          <assigned_to name="alan">zalan</assigned_to>
          <cc>koivisto</cc>
    
    <cc>webkit-bug-importer</cc>
          

      

      

      

          <comment_sort_order>oldest_to_newest</comment_sort_order>  
          <long_desc isprivate="0" >
    <commentid>2213073</commentid>
    <comment_count>0</comment_count>
    <who name="alan">zalan</who>
    <bug_when>2026-05-21 13:52:39 -0700</bug_when>
    <thetext>ssia</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2213078</commentid>
    <comment_count>1</comment_count>
      <attachid>479763</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-05-21 14:17:07 -0700</bug_when>
    <thetext>Created attachment 479763
Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2213274</commentid>
    <comment_count>2</comment_count>
      <attachid>479778</attachid>
    <who name="alan">zalan</who>
    <bug_when>2026-05-22 08:42:31 -0700</bug_when>
    <thetext>Created attachment 479778
[fast-cq]Patch</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2213295</commentid>
    <comment_count>3</comment_count>
    <who name="EWS">ews-feeder</who>
    <bug_when>2026-05-22 10:16:33 -0700</bug_when>
    <thetext>Committed 313742@main (462cfec1fac9): &lt;https://commits.webkit.org/313742@main&gt;

All reviewed patches have been landed. Closing bug and clearing flags on attachment 479778.</thetext>
  </long_desc><long_desc isprivate="0" >
    <commentid>2213296</commentid>
    <comment_count>4</comment_count>
    <who name="Radar WebKit Bug Importer">webkit-bug-importer</who>
    <bug_when>2026-05-22 10:17:13 -0700</bug_when>
    <thetext>&lt;rdar://problem/177723656&gt;</thetext>
  </long_desc>
      
          <attachment
              isobsolete="1"
              ispatch="1"
              isprivate="0"
          >
            <attachid>479763</attachid>
            <date>2026-05-21 14:17:07 -0700</date>
            <delta_ts>2026-05-22 08:42:29 -0700</delta_ts>
            <desc>Patch</desc>
            <filename>bug-315319-20260521141706.patch</filename>
            <type>text/plain</type>
            <size>23795</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSBjNjc0MDUwMjkyNDkxNmRkNmM4NTZmNzczNGQ1NTkwMDA3OTUzZGNiIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFRodSwgMjEgTWF5IDIwMjYgMTM6NTU6MzggLTA3MDAKU3ViamVjdDogW1BBVENIXSBbY2xlYW51
cF0gUmVuZGVyRmxleGlibGVCb3ggc2hvdWxkIG93biB0aGUgcG9saWN5IGZvciBzdG9yaW5nCiBm
bGV4LWl0ZW0gY29udGVudCBoZWlnaHRzIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zMTUzMTkKClJldmlld2VkIGJ5IE5PQk9EWSAoT09QUyEpLgoKVGhlIGZsZXgtaXRl
bSBjb250ZW50LWhlaWdodCBjYWNoZSB0aGF0IFJlbmRlckZsZXhpYmxlQm94IG1haW50YWlucyB3
YXMgc2V0IHVwCnRocm91Z2ggYSBob29rIG9uIFJlbmRlckJveCAtIHNob3VsZENhY2hlSW50cmlu
c2ljQ29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4SXRlbQphbmQgY2FjaGVJbnRyaW5zaWNDb250
ZW50TG9naWNhbEhlaWdodEZvckZsZXhJdGVtIC0gdGhhdCBrbmV3IGFib3V0IGZsZXggcGFyZW50
cwphbmQgbWFkZSBhbGwgdGhlIHBvbGljeSBkZWNpc2lvbnMgYmVmb3JlIHdyaXRpbmcgaW50byBS
ZW5kZXJGbGV4aWJsZUJveCBzdGF0ZS4KVGhlIGZsZXgtc3BlY2lmaWMgcG9saWN5IGRvZXNuJ3Qg
YmVsb25nIG9uIFJlbmRlckJveC4KCk1vdmVkIHRoZSBwb2xpY3kgdG8gYSBuZXcgUmVuZGVyRmxl
eGlibGVCb3g6OnNldEZsZXhJdGVtQ29udGVudExvZ2ljYWxIZWlnaHRJZk5lZWRlZC4KRml2ZSBj
YWxsIHNpdGVzIChSZW5kZXJCb3g6OnVwZGF0ZUxvZ2ljYWxIZWlnaHQgcGx1cyBmb3VyIGN1c3Rv
bS1oZWlnaHQgc3ViY2xhc3NlczoKUmVuZGVyVGFibGUsIFJlbmRlclRhYmxlQ2VsbCwgUmVuZGVy
TGlzdEJveCwgUmVuZGVyVGV4dENvbnRyb2wpIG5vdyBkbyBhbiBpbmxpbmUKZGlzcGF0Y2g6IGlm
IHBhcmVudCBpcyBhIFJlbmRlckZsZXhpYmxlQm94LCBjYWxsIHRoZSBoZWxwZXIuIEZvbGRlZCB0
aGUgcmF3CnNldENhY2hlZEZsZXhJdGVtLi4uIHNldHRlciBpbnRvIHRoZSBnYXRlZCBlbnRyeSBi
eSBtb3ZpbmcgaXNSZW5kZXJSZXBsYWNlZCBpbnRvCmNhblNldC4gQWxzbyBkcm9wcGVkIHRoZSBt
aXNsZWFkaW5nICJJbnRyaW5zaWMiIHF1YWxpZmllciBmcm9tIHRoZSBjYWNoZSBBUEkKKHRoZSB2
YWx1ZSBpcyBqdXN0IGNvbnRlbnQgbG9naWNhbCBoZWlnaHQsIG5vdCB0aGUgc3BlYyBzZW5zZSBv
ZiAiaW50cmluc2ljIikKYW5kICJDYWNoZWQiIGZyb20gbWV0aG9kIG5hbWVzIChpbXBsZW1lbnRh
dGlvbiBkZXRhaWw7IGNhbGxlcnMgZG9uJ3QgbmVlZCBpdCkuCgoqIFNvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkZvcm1hdHRpbmdDb250ZXh0TGF5b3V0
LmNwcDoKKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpmb3JtYXR0aW5nQ29udGV4dFJvb3RM
b2dpY2FsSGVpZ2h0Rm9yVHlwZSk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHA6CihXZWJDb3JlOjpSZW5kZXJCb3g6OnN0eWxlV2lsbENoYW5nZSk6CihXZWJDb3JlOjpS
ZW5kZXJCb3g6OnVwZGF0ZUxvZ2ljYWxIZWlnaHQpOgooV2ViQ29yZTo6UmVuZGVyQm94OjpzaG91
bGRDYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0gY29uc3QpOiBE
ZWxldGVkLgooV2ViQ29yZTo6UmVuZGVyQm94OjpjYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2Fs
SGVpZ2h0Rm9yRmxleEl0ZW0gY29uc3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guaDoKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGli
bGVCb3guY3BwOgooV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmZsZXhJdGVtQ29udGVudExv
Z2ljYWxIZWlnaHQgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmNsZWFyRmxl
eEl0ZW1Db250ZW50TG9naWNhbEhlaWdodCk6CihXZWJDb3JlOjpjYW5TZXRGbGV4SXRlbUNvbnRl
bnRMb2dpY2FsSGVpZ2h0KToKKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpzZXRGbGV4SXRl
bUNvbnRlbnRMb2dpY2FsSGVpZ2h0SWZOZWVkZWQpOgooV2ViQ29yZTo6UmVuZGVyRmxleGlibGVC
b3g6OmZsZXhJdGVtSW50cmluc2ljTG9naWNhbEhlaWdodCBjb25zdCk6CihXZWJDb3JlOjpSZW5k
ZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU1haW5BeGlzRXh0ZW50Rm9yRmxleEl0ZW0pOgooV2ViQ29y
ZTo6UmVuZGVyRmxleGlibGVCb3g6OmJsb2NrQXhpc1NpemVGb3JGbGV4SXRlbSk6CihXZWJDb3Jl
OjpSZW5kZXJGbGV4aWJsZUJveDo6YXBwbHlTdHJldGNoQWxpZ25tZW50VG9GbGV4SXRlbSk6CihX
ZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6Y2FjaGVkRmxleEl0ZW1JbnRyaW5zaWNDb250ZW50
TG9naWNhbEhlaWdodCBjb25zdCk6IERlbGV0ZWQuCihXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJv
eDo6c2V0Q2FjaGVkRmxleEl0ZW1JbnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodCk6IERlbGV0
ZWQuCihXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6Y2xlYXJDYWNoZWRGbGV4SXRlbUludHJp
bnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0KTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaDoKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGlzdEJveC5jcHA6CihXZWJDb3JlOjpSZW5kZXJMaXN0Qm94Ojpjb21wdXRlTG9naWNhbEhl
aWdodCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoK
KFdlYkNvcmU6OlJlbmRlclRhYmxlOjpsYXlvdXQpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZUNlbGwuY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpsYXlvdXQp
OgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHA6CihXZWJD
b3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3QpOgoqIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHA6Cgoo
V2ViQ29yZTo6cmVzZXRSZW5kZXJlclN0YXRlT25EZXRhY2gpOgotLS0KIC4uLnlvdXRJbnRlZ3Jh
dGlvbkZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LmNwcCB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcCAgICAgICAgfCAyOCArKy0tLS0tLS0tCiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggICAgICAgICAgfCAgMyAtLQogLi4uL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCAgIHwgNTQgKysrKysrKysrKystLS0tLS0t
LQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmggIHwgIDggKy0t
CiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAgICAgfCAgNCArLQog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcCAgICAgIHwgMTEgKystLQog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAgIHwgIDQgKy0KIC4u
Li9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAgICB8ICA0ICstCiAuLi4v
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcCAgfCAgMiArLQogMTAgZmls
ZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgNjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uRm9y
bWF0dGluZ0NvbnRleHRMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQuY3BwCmluZGV4IGFl
YzNhNDM2ZTZiZS4uNTQ0NzhiOTY2YTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQuY3BwCkBAIC0yNDYsNyArMjQ2LDcgQEAgTGF5b3V0
VW5pdCBmb3JtYXR0aW5nQ29udGV4dFJvb3RMb2dpY2FsSGVpZ2h0Rm9yVHlwZShjb25zdCBMYXlv
dXQ6OkVsZW1lbnRCb3gmIGIKICAgICAgICAgLy8gd2hlcmUgdGhlIGxlZ2FjeSBmbGV4IGxheW91
dCAiZml4ZWQiIHRoaXMgYnkgY2FjaGluZyB0aGUgY29udGVudCBoZWlnaHQgaW4gUmVuZGVyQm94
Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0CiAgICAgICAgIC8vIGJlZm9yZSBhZGRpdGlvbmFsIGhlaWdo
dCBjb25zdHJhaW50cyBhcHBsaWVkLgogICAgICAgICBpZiAoQ2hlY2tlZFB0ciBmbGV4Q29udGFp
bmVyID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckZsZXhpYmxlQm94PihyZW5kZXJlci0+cGFyZW50
KCkpKQotICAgICAgICAgICAgcmV0dXJuIGZsZXhDb250YWluZXItPmNhY2hlZEZsZXhJdGVtSW50
cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHQocmVuZGVyZXIuZ2V0KCkpOworICAgICAgICAgICAg
cmV0dXJuIGZsZXhDb250YWluZXItPmZsZXhJdGVtQ29udGVudExvZ2ljYWxIZWlnaHQocmVuZGVy
ZXIuZ2V0KCkpOwogICAgICAgICBBU1NFUlRfTk9UX0lNUExFTUVOVEVEX1lFVCgpOwogICAgICAg
ICByZXR1cm4geyB9OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
aW5kZXggMzU5ZjAwNDE1ZTc3Li45YTUyZmEyODMzYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCkBAIC0yNzgsNyArMjc4LDcgQEAgdm9pZCBSZW5kZXJCb3g6OnN0eWxl
V2lsbENoYW5nZShTdHlsZTo6RGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSYgbmV3
U3QKICAgICAgICAgICAgICAgICAvLyBjdXJyZW50IGNvbnRhaW5pbmcgYmxvY2sgY2hhaW4gZm9y
IHByZWZlcnJlZCB3aWR0aHMgcmVjYWxjdWxhdGlvbi4KICAgICAgICAgICAgICAgICBzZXROZWVk
c0xheW91dEFuZFByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOwogICAgICAgICAgICAgICAgIGlmIChD
aGVja2VkUHRyIGZsZXhDb250YWluZXIgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyRmxleGlibGVC
b3g+KHBhcmVudCgpKSkgewotICAgICAgICAgICAgICAgICAgICBmbGV4Q29udGFpbmVyLT5jbGVh
ckNhY2hlZEZsZXhJdGVtSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHQoKnRoaXMpOworICAg
ICAgICAgICAgICAgICAgICBmbGV4Q29udGFpbmVyLT5jbGVhckZsZXhJdGVtQ29udGVudExvZ2lj
YWxIZWlnaHQoKnRoaXMpOwogICAgICAgICAgICAgICAgICAgICBmbGV4Q29udGFpbmVyLT5jbGVh
ckNhY2hlZEJsb2NrQXhpc1NpemVGb3JGbGV4SXRlbSgqdGhpcyk7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgIGlmIChpc0luVG9wTGF5ZXJPckJhY2tkcm9wKHN0eWxlKCksIGVs
ZW1lbnQoKSkpIHsKQEAgLTMzNTQsMjkgKzMzNTQsNiBAQCBzdGF0aWMgYm9vbCBOT0RFTEVURSBz
aG91bGRGbGlwQmVmb3JlQWZ0ZXJNYXJnaW5zKFdyaXRpbmdNb2RlIGNvbnRhaW5pbmdCbG9ja1dy
aQogICAgIHJldHVybiBzaG91bGRGbGlwOwogfQogCi1ib29sIFJlbmRlckJveDo6c2hvdWxkQ2Fj
aGVJbnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodEZvckZsZXhJdGVtKCkgY29uc3QKLXsKLSAg
ICAvLyBUaGUgZmxleCBzdHJldGNoIGFsZ29yaXRobSBuZWVkcyB0byBrbm93IHRoZSBpdGVtJ3Mg
aW50cmluc2ljIGNvbnRlbnQgaGVpZ2h0Ci0gICAgLy8gYmVmb3JlIHN0cmV0Y2ggd2FzIGFwcGxp
ZWQuIFdlIGNhY2hlIGl0IHNvIHRoZSBzdHJldGNoIHBoYXNlIGNhbiByZWFkIGJhY2sKLSAgICAv
LyB0aGUgcHJlLXN0cmV0Y2ggdmFsdWUgYWZ0ZXIgcmVsYXlvdXQuIEl0ZW1zIHdpdGggYXNwZWN0
LXJhdGlvIGRvbid0IG5lZWQKLSAgICAvLyBjYWNoaW5nIGJlY2F1c2UgdGhlaXIgY29udGVudCBo
ZWlnaHQgaXMgYWx3YXlzIGRlcml2YWJsZSBmcm9tIHRoZSBjdXJyZW50IHdpZHRoLgotICAgIHJl
dHVybiBpc0ZsZXhJdGVtKCkgJiYgIWlzRmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKSAm
JiAhc2hvdWxkQ29tcHV0ZUxvZ2ljYWxIZWlnaHRGcm9tQXNwZWN0UmF0aW8oKTsKLX0KLQotdm9p
ZCBSZW5kZXJCb3g6OmNhY2hlSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4SXRl
bShMYXlvdXRVbml0IGhlaWdodCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogaXQgc2hvdWxkIGJl
IGVub3VnaCB3aXRoIGNoZWNraW5nIGhhc092ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0KCkgYXMgdGhp
cyBsb2dpYyBjb3VsZCBiZSBzaGFyZWQKLSAgICAvLyBieSBhbnkgbGF5b3V0IHN5c3RlbSB1c2lu
ZyBvdmVycmlkZXMgbGlrZSBncmlkIG9yIGZsZXguIEhvd2V2ZXIgdGhpcyBjYXVzZXMgYSBuZXZl
ciBlbmRpbmcgc2VxdWVuY2Ugb2YgY2FsbHMKLSAgICAvLyBiZXR3ZWVuIGxheW91dEJsb2NrKCkg
PC0+IHJlbGF5b3V0VG9Bdm9pZFdpZG93cygpLgotICAgIGlmICghc2hvdWxkQ2FjaGVJbnRyaW5z
aWNDb250ZW50TG9naWNhbEhlaWdodEZvckZsZXhJdGVtKCkpCi0gICAgICAgIHJldHVybjsKLSAg
ICBBU1NFUlQoaXM8UmVuZGVyRmxleGlibGVCb3g+KHBhcmVudCgpKSk7Ci0gICAgaWYgKG92ZXJy
aWRpbmdCb3JkZXJCb3hMb2dpY2FsSGVpZ2h0KCkpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAo
Q2hlY2tlZFB0ciBmbGV4aWJsZUJveCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJGbGV4aWJsZUJv
eD4ocGFyZW50KCkpKQotICAgICAgICBmbGV4aWJsZUJveC0+c2V0Q2FjaGVkRmxleEl0ZW1JbnRy
aW5zaWNDb250ZW50TG9naWNhbEhlaWdodCgqdGhpcywgaGVpZ2h0KTsKLX0KLQogdm9pZCBSZW5k
ZXJCb3g6Om92ZXJyaWRlTG9naWNhbEhlaWdodEZvclNpemVDb250YWlubWVudCgpCiB7CiAgICAg
TGF5b3V0VW5pdCBpbnRyaW5zaWNIZWlnaHQ7CkBAIC0zNDAxLDcgKzMzNzgsOCBAQCB2b2lkIFJl
bmRlckJveDo6dXBkYXRlTG9naWNhbEhlaWdodCgpCiAgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNv
bnRhaW5tZW50KCkgJiYgIWlzUmVuZGVyR3JpZCgpKQogICAgICAgICBvdmVycmlkZUxvZ2ljYWxI
ZWlnaHRGb3JTaXplQ29udGFpbm1lbnQoKTsKIAotICAgIGNhY2hlSW50cmluc2ljQ29udGVudExv
Z2ljYWxIZWlnaHRGb3JGbGV4SXRlbShjb250ZW50Qm94TG9naWNhbEhlaWdodCgpKTsKKyAgICBp
ZiAoQ2hlY2tlZFB0ciBmbGV4Q29udGFpbmVyID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckZsZXhp
YmxlQm94PihwYXJlbnQoKSkpCisgICAgICAgIGZsZXhDb250YWluZXItPnNldEZsZXhJdGVtQ29u
dGVudExvZ2ljYWxIZWlnaHRJZk5lZWRlZCgqdGhpcywgY29udGVudEJveExvZ2ljYWxIZWlnaHQo
KSk7CiAgICAgYXV0byBjb21wdXRlZFZhbHVlcyA9IGNvbXB1dGVMb2dpY2FsSGVpZ2h0KGxvZ2lj
YWxIZWlnaHQoKSwgbG9naWNhbFRvcCgpKTsKICAgICBzZXRMb2dpY2FsSGVpZ2h0KGNvbXB1dGVk
VmFsdWVzLmV4dGVudCk7CiAgICAgc2V0TG9naWNhbFRvcChjb21wdXRlZFZhbHVlcy5wb3NpdGlv
bik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggNTI1NWZjYmMzNjhhLi41
MWY4NzM2MGJhMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTM4Miw5
ICszODIsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG92ZXJyaWRlTG9naWNhbEhlaWdodEZvclNp
emVDb250YWlubWVudCgpOwogCi0gICAgYm9vbCBzaG91bGRDYWNoZUludHJpbnNpY0NvbnRlbnRM
b2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0oKSBjb25zdDsKLSAgICB2b2lkIGNhY2hlSW50cmluc2lj
Q29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4SXRlbShMYXlvdXRVbml0KSBjb25zdDsKLSAgICAK
ICAgICAvLyBUaGlzIGZ1bmN0aW9uIHdpbGwgY29tcHV0ZSB0aGUgbG9naWNhbCBib3JkZXItYm94
IGhlaWdodCwgd2l0aG91dCBsYXlpbmcKICAgICAvLyBvdXQgdGhlIGJveC4gVGhpcyBtZWFucyB0
aGF0IHRoZSByZXN1bHQgaXMgb25seSAiY29ycmVjdCIgd2hlbiB0aGUgaGVpZ2h0CiAgICAgLy8g
aXMgZXhwbGljaXRseSBzcGVjaWZpZWQuIFRoaXMgZnVuY3Rpb24gZXhpc3RzIHNvIHRoYXQgaW50
cmluc2ljIHdpZHRoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxl
Qm94LmNwcAppbmRleCBmZmE3ZTI1MzRhMDguLmIxMzg3YjNlY2YwZCAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCkBAIC03NTgsMjkgKzc1OCwz
OSBAQCBMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNFeHRlbnRGb3JGbGV4
SXRlbShjb25zdCBSZW5kZXJCb3gmIGZsZXhJdAogICAgIHJldHVybiBpc0hvcml6b250YWxGbG93
KCkgPyBmbGV4SXRlbS5oZWlnaHQoKSA6IGZsZXhJdGVtLndpZHRoKCk7CiB9CiAKLUxheW91dFVu
aXQgUmVuZGVyRmxleGlibGVCb3g6OmNhY2hlZEZsZXhJdGVtSW50cmluc2ljQ29udGVudExvZ2lj
YWxIZWlnaHQoY29uc3QgUmVuZGVyQm94JiBmbGV4SXRlbSkgY29uc3QKK0xheW91dFVuaXQgUmVu
ZGVyRmxleGlibGVCb3g6OmZsZXhJdGVtQ29udGVudExvZ2ljYWxIZWlnaHQoY29uc3QgUmVuZGVy
Qm94JiBmbGV4SXRlbSkgY29uc3QKIHsKLSAgICBpZiAoYXV0byogcmVuZGVyUmVwbGFjZWQgPSBk
eW5hbWljRG93bmNhc3Q8UmVuZGVyUmVwbGFjZWQ+KGZsZXhJdGVtKSkKKyAgICBpZiAoQ2hlY2tl
ZFB0ciByZW5kZXJSZXBsYWNlZCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJSZXBsYWNlZD4oZmxl
eEl0ZW0pKQogICAgICAgICByZXR1cm4gcmVuZGVyUmVwbGFjZWQtPmludHJpbnNpY0xvZ2ljYWxI
ZWlnaHQoKTsKICAgICAKLSAgICBpZiAoYXV0byBpdCA9IG1faW50cmluc2ljQ29udGVudExvZ2lj
YWxIZWlnaHRzLmZpbmQoZmxleEl0ZW0pOyBpdCAhPSBtX2ludHJpbnNpY0NvbnRlbnRMb2dpY2Fs
SGVpZ2h0cy5lbmQoKSkKLSAgICAgICAgcmV0dXJuIGl0LT52YWx1ZTsKLSAgICAKKyAgICBpZiAo
YXV0byBjYWNoZWQgPSBtX2NvbnRlbnRMb2dpY2FsSGVpZ2h0cy5nZXRPcHRpb25hbChmbGV4SXRl
bSkpCisgICAgICAgIHJldHVybiAqY2FjaGVkOworCiAgICAgcmV0dXJuIGZsZXhJdGVtLmNvbnRl
bnRCb3hMb2dpY2FsSGVpZ2h0KCk7CiB9CiAKLXZvaWQgUmVuZGVyRmxleGlibGVCb3g6OnNldENh
Y2hlZEZsZXhJdGVtSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHQoY29uc3QgUmVuZGVyQm94
JiBmbGV4SXRlbSwgTGF5b3V0VW5pdCBoZWlnaHQpCit2b2lkIFJlbmRlckZsZXhpYmxlQm94Ojpj
bGVhckZsZXhJdGVtQ29udGVudExvZ2ljYWxIZWlnaHQoY29uc3QgUmVuZGVyQm94JiBmbGV4SXRl
bSkKIHsKLSAgICBpZiAoZmxleEl0ZW0uaXNSZW5kZXJSZXBsYWNlZCgpKQotICAgICAgICByZXR1
cm47IC8vIFJlcGxhY2VkIGVsZW1lbnRzIGtub3cgdGhlaXIgaW50cmluc2ljIGhlaWdodCBhbHJl
YWR5LCBzbyBzYXZlIHNwYWNlIGJ5IG5vdCBjYWNoaW5nLgotICAgIG1faW50cmluc2ljQ29udGVu
dExvZ2ljYWxIZWlnaHRzLnNldChmbGV4SXRlbSwgaGVpZ2h0KTsKKyAgICBtX2NvbnRlbnRMb2dp
Y2FsSGVpZ2h0cy5yZW1vdmUoZmxleEl0ZW0pOwogfQogCi12b2lkIFJlbmRlckZsZXhpYmxlQm94
OjpjbGVhckNhY2hlZEZsZXhJdGVtSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHQoY29uc3Qg
UmVuZGVyQm94JiBmbGV4SXRlbSkKK3N0YXRpYyBib29sIGNhblNldEZsZXhJdGVtQ29udGVudExv
Z2ljYWxIZWlnaHQoY29uc3QgUmVuZGVyQm94JiBmbGV4SXRlbSkKIHsKLSAgICBpZiAoZmxleEl0
ZW0uaXNSZW5kZXJSZXBsYWNlZCgpKQotICAgICAgICByZXR1cm47IC8vIFJlcGxhY2VkIGVsZW1l
bnRzIGtub3cgdGhlaXIgaW50cmluc2ljIGhlaWdodCBhbHJlYWR5LCBzbyBub3RoaW5nIHRvIGRv
LgotICAgIG1faW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHRzLnJlbW92ZShmbGV4SXRlbSk7
CisgICAgcmV0dXJuICFmbGV4SXRlbS5pc0Zsb2F0aW5nT3JPdXRPZkZsb3dQb3NpdGlvbmVkKCkg
JiYgIWZsZXhJdGVtLnNob3VsZENvbXB1dGVMb2dpY2FsSGVpZ2h0RnJvbUFzcGVjdFJhdGlvKCkg
JiYgIWlzPFJlbmRlclJlcGxhY2VkPihmbGV4SXRlbSk7Cit9CisKK3ZvaWQgUmVuZGVyRmxleGli
bGVCb3g6OnNldEZsZXhJdGVtQ29udGVudExvZ2ljYWxIZWlnaHRJZk5lZWRlZChjb25zdCBSZW5k
ZXJCb3gmIGZsZXhJdGVtLCBMYXlvdXRVbml0IGhlaWdodCkKK3sKKyAgICAvLyBDYXB0dXJlcyBh
IGZsZXggaXRlbSdzIGNvbnRlbnQgbG9naWNhbCBoZWlnaHQgbWlkLWxheW91dCwgYmVmb3JlIGNv
bXB1dGVMb2dpY2FsSGVpZ2h0CisgICAgLy8gYXBwbGllcyBmaXhlZC9taW4vbWF4IG9yIGFueSBv
dmVycmlkaW5nQm9yZGVyQm94TG9naWNhbEhlaWdodCBzZXQgYnkgdGhlIGZsZXgKKyAgICAvLyBj
b250YWluZXIgZm9yIHN0cmV0Y2ggYWxpZ25tZW50LgorICAgIC8vIFJlYWRpbmcgbG9naWNhbEhl
aWdodCgpIGF0IHRoZSBlbmQgb2YgdGhlIGZsZXggaXRlbSdzIGxheW91dCB3b3VsZCBnaXZlIHRo
ZSBjb25zdHJhaW5lZC9vdmVycmlkZGVuIHZhbHVlLAorICAgIC8vIG5vdCB0aGUgY29udGVudCBo
ZWlnaHQgdGhlIGZsZXggYWxnb3JpdGhtIG5lZWRzLgorICAgIGlmICghY2FuU2V0RmxleEl0ZW1D
b250ZW50TG9naWNhbEhlaWdodChmbGV4SXRlbSkpCisgICAgICAgIHJldHVybjsKKyAgICBpZiAo
ZmxleEl0ZW0ub3ZlcnJpZGluZ0JvcmRlckJveExvZ2ljYWxIZWlnaHQoKSkKKyAgICAgICAgcmV0
dXJuOworICAgIG1fY29udGVudExvZ2ljYWxIZWlnaHRzLnNldChmbGV4SXRlbSwgaGVpZ2h0KTsK
IH0KIAogTGF5b3V0VW5pdCBSZW5kZXJGbGV4aWJsZUJveDo6ZmxleEl0ZW1JbnRyaW5zaWNMb2dp
Y2FsSGVpZ2h0KFJlbmRlckJveCYgZmxleEl0ZW0pIGNvbnN0CkBAIC03ODgsNyArNzk4LDcgQEAg
TGF5b3V0VW5pdCBSZW5kZXJGbGV4aWJsZUJveDo6ZmxleEl0ZW1JbnRyaW5zaWNMb2dpY2FsSGVp
Z2h0KFJlbmRlckJveCYgZmxleEl0ZW0KICAgICAvLyBUaGlzIHNob3VsZCBvbmx5IGJlIGNhbGxl
ZCBpZiB0aGUgbG9naWNhbCBoZWlnaHQgaXMgdGhlIGNyb3NzIHNpemUKICAgICBBU1NFUlQobWFp
bkF4aXNJc0ZsZXhJdGVtSW5saW5lQXhpcyhmbGV4SXRlbSkpOwogICAgIGlmIChuZWVkVG9TdHJl
dGNoRmxleEl0ZW1Mb2dpY2FsSGVpZ2h0KGZsZXhJdGVtKSkgewotICAgICAgICBMYXlvdXRVbml0
IGZsZXhJdGVtQ29udGVudEhlaWdodCA9IGNhY2hlZEZsZXhJdGVtSW50cmluc2ljQ29udGVudExv
Z2ljYWxIZWlnaHQoZmxleEl0ZW0pOworICAgICAgICBMYXlvdXRVbml0IGZsZXhJdGVtQ29udGVu
dEhlaWdodCA9IGZsZXhJdGVtQ29udGVudExvZ2ljYWxIZWlnaHQoZmxleEl0ZW0pOwogICAgICAg
ICBMYXlvdXRVbml0IGZsZXhJdGVtTG9naWNhbEhlaWdodCA9IGZsZXhJdGVtQ29udGVudEhlaWdo
dCArIGZsZXhJdGVtLnNjcm9sbGJhckxvZ2ljYWxIZWlnaHQoKSArIGZsZXhJdGVtLmJvcmRlckFu
ZFBhZGRpbmdMb2dpY2FsSGVpZ2h0KCk7CiAgICAgICAgIHJldHVybiBmbGV4SXRlbS5jb25zdHJh
aW5Mb2dpY2FsSGVpZ2h0QnlNaW5NYXgoZmxleEl0ZW1Mb2dpY2FsSGVpZ2h0LCBmbGV4SXRlbUNv
bnRlbnRIZWlnaHQpOwogICAgIH0KQEAgLTkyMCw3ICs5MzAsNyBAQCB0ZW1wbGF0ZTx0eXBlbmFt
ZSBTaXplVHlwZT4gc3RkOjpvcHRpb25hbDxMYXlvdXRVbml0PiBSZW5kZXJGbGV4aWJsZUJveDo6
Y29tcHV0ZQogICAgICAgICAvLyBpZiBuZWNlc3NhcnkgKHNlZSBDb21wdXRlTmV4dEZsZXhMaW5l
IGFuZCB0aGUgY2FsbCB0bwogICAgICAgICAvLyBmbGV4SXRlbU5lZWRzQmxvY2tBeGlzU2l6ZSkg
c28gd2UgY2FuIGJlIHN1cmUgdGhhdCB0aGUgdHdvIGhlaWdodAogICAgICAgICAvLyBjYWxscyBo
ZXJlIHdpbGwgcmV0dXJuIHVwLXRvLWRhdGUgZGF0YS4KLSAgICAgICAgYXV0byBoZWlnaHQgPSBm
bGV4SXRlbS5jb21wdXRlQ29udGVudExvZ2ljYWxIZWlnaHQoc2l6ZSwgY2FjaGVkRmxleEl0ZW1J
bnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodChmbGV4SXRlbSkpOworICAgICAgICBhdXRvIGhl
aWdodCA9IGZsZXhJdGVtLmNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChzaXplLCBmbGV4SXRl
bUNvbnRlbnRMb2dpY2FsSGVpZ2h0KGZsZXhJdGVtKSk7CiAgICAgICAgIGlmICghaGVpZ2h0KQog
ICAgICAgICAgICAgcmV0dXJuIGhlaWdodDsKICAgICAgICAgLy8gVGFibGVzIGludGVycHJldCBv
dmVycmlkaW5nIHNpemVzIGFzIHRoZSBzaXplIG9mIGNhcHRpb25zICsgcm93cy4gSG93ZXZlciB0
aGUgc3BlY2lmaWVkIGhlaWdodCBvZiBhIHRhYmxlCkBAIC0yMDc3LDcgKzIwODcsNyBAQCBMYXlv
dXRVbml0IFJlbmRlckZsZXhpYmxlQm94OjpibG9ja0F4aXNTaXplRm9yRmxleEl0ZW0oUmVuZGVy
Qm94JiBmbGV4SXRlbSwgUmVsYQogICAgIGF1dG8gaW5uZXJTaXplID0gWyZdIHsKICAgICAgICAg
YXV0byBmbGV4QmFzaXMgPSBmbGV4QmFzaXNGb3JGbGV4SXRlbShmbGV4SXRlbSk7CiAgICAgICAg
IGlmIChmbGV4QmFzaXMuaXNQZXJjZW50T3JDYWxjdWxhdGVkKCkgJiYgIWZsZXhJdGVtTWFpblNp
emVJc0RlZmluaXRlKGZsZXhJdGVtLCBmbGV4QmFzaXMpKQotICAgICAgICAgICAgcmV0dXJuIGNh
Y2hlZEZsZXhJdGVtSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHQoZmxleEl0ZW0pICsgZmxl
eEl0ZW0uc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpOworICAgICAgICAgICAgcmV0dXJuIGZsZXhJ
dGVtQ29udGVudExvZ2ljYWxIZWlnaHQoZmxleEl0ZW0pICsgZmxleEl0ZW0uc2Nyb2xsYmFyTG9n
aWNhbEhlaWdodCgpOwogICAgICAgICByZXR1cm4gZmxleEl0ZW0ubG9naWNhbEhlaWdodCgpIC0g
ZmxleEl0ZW0uYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQoKTsKICAgICB9KCk7CiAKQEAg
LTMwMzQsNyArMzA0NCw3IEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmFwcGx5U3RyZXRjaEFs
aWdubWVudFRvRmxleEl0ZW0oUmVuZGVyQm94JiBmbGV4SXRlbSwgTGF5CiAgICAgICAgIGF1dG8g
c3RyZXRjaGVkTG9naWNhbEhlaWdodCA9IHN0ZDo6bWF4KGZsZXhJdGVtLmJvcmRlckFuZFBhZGRp
bmdMb2dpY2FsSGVpZ2h0KCksCiAgICAgICAgICAgICBsaW5lQ3Jvc3NBeGlzRXh0ZW50IC0gY3Jv
c3NBeGlzTWFyZ2luRXh0ZW50Rm9yRmxleEl0ZW0oZmxleEl0ZW0pKTsKICAgICAgICAgQVNTRVJU
KCFmbGV4SXRlbS5uZWVkc0xheW91dCgpKTsKLSAgICAgICAgTGF5b3V0VW5pdCBkZXNpcmVkTG9n
aWNhbEhlaWdodCA9IGZsZXhJdGVtLmNvbnN0cmFpbkxvZ2ljYWxIZWlnaHRCeU1pbk1heChzdHJl
dGNoZWRMb2dpY2FsSGVpZ2h0LCBjYWNoZWRGbGV4SXRlbUludHJpbnNpY0NvbnRlbnRMb2dpY2Fs
SGVpZ2h0KGZsZXhJdGVtKSk7CisgICAgICAgIExheW91dFVuaXQgZGVzaXJlZExvZ2ljYWxIZWln
aHQgPSBmbGV4SXRlbS5jb25zdHJhaW5Mb2dpY2FsSGVpZ2h0QnlNaW5NYXgoc3RyZXRjaGVkTG9n
aWNhbEhlaWdodCwgZmxleEl0ZW1Db250ZW50TG9naWNhbEhlaWdodChmbGV4SXRlbSkpOwogCiAg
ICAgICAgIC8vIEZJWE1FOiBDYW4gYXZvaWQgbGF5aW5nIG91dCBoZXJlIGluIHNvbWUgY2FzZXMu
IFNlZSBodHRwczovL3dlYmtpdC5vcmcvYi84NzkwNS4KICAgICAgICAgYm9vbCBmbGV4SXRlbU5l
ZWRzUmVsYXlvdXQgPSBkZXNpcmVkTG9naWNhbEhlaWdodCAhPSBmbGV4SXRlbS5sb2dpY2FsSGVp
Z2h0KCk7CkBAIC0zMDQ5LDIwICszMDU5LDIwIEBAIHZvaWQgUmVuZGVyRmxleGlibGVCb3g6OmFw
cGx5U3RyZXRjaEFsaWdubWVudFRvRmxleEl0ZW0oUmVuZGVyQm94JiBmbGV4SXRlbSwgTGF5CiAg
ICAgICAgICAgICBmbGV4SXRlbS5zZXRPdmVycmlkaW5nQm9yZGVyQm94TG9naWNhbEhlaWdodChk
ZXNpcmVkTG9naWNhbEhlaWdodCk7CiAgICAgICAgIGlmIChmbGV4SXRlbU5lZWRzUmVsYXlvdXQp
IHsKICAgICAgICAgICAgIFNldEZvclNjb3BlIHJlc2V0RmxleEl0ZW1Mb2dpY2FsSGVpZ2h0KG1f
c2hvdWxkUmVzZXRGbGV4SXRlbUxvZ2ljYWxIZWlnaHRCZWZvcmVMYXlvdXQsIHRydWUpOwotICAg
ICAgICAgICAgLy8gV2UgY2FjaGUgdGhlIGNoaWxkJ3MgaW50cmluc2ljIGNvbnRlbnQgbG9naWNh
bCBoZWlnaHQgdG8gYXZvaWQgaXQgYmVpbmcKKyAgICAgICAgICAgIC8vIFdlIGNhY2hlIHRoZSBj
aGlsZCdzIGNvbnRlbnQgbG9naWNhbCBoZWlnaHQgdG8gYXZvaWQgaXQgYmVpbmcKICAgICAgICAg
ICAgIC8vIHJlc2V0IHRvIHRoZSBzdHJldGNoZWQgaGVpZ2h0LgogICAgICAgICAgICAgLy8gRklY
TUU6IFRoaXMgaXMgZnJhZ2lsZS4gUmVuZGVyQm94ZXMgc2hvdWxkIGJlIHNtYXJ0IGVub3VnaCB0
bwotICAgICAgICAgICAgLy8gZGV0ZXJtaW5lIHRoZWlyIGludHJpbnNpYyBjb250ZW50IGxvZ2lj
YWwgaGVpZ2h0IGNvcnJlY3RseSBldmVuIHdoZW4KKyAgICAgICAgICAgIC8vIGRldGVybWluZSB0
aGVpciBjb250ZW50IGxvZ2ljYWwgaGVpZ2h0IGNvcnJlY3RseSBldmVuIHdoZW4KICAgICAgICAg
ICAgIC8vIHRoZXJlJ3MgYW4gb3ZlcnJpZGVIZWlnaHQuCi0gICAgICAgICAgICBMYXlvdXRVbml0
IGZsZXhJdGVtSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHQgPSBjYWNoZWRGbGV4SXRlbUlu
dHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0KGZsZXhJdGVtKTsKKyAgICAgICAgICAgIExheW91
dFVuaXQgY29udGVudExvZ2ljYWxIZWlnaHQgPSBmbGV4SXRlbUNvbnRlbnRMb2dpY2FsSGVpZ2h0
KGZsZXhJdGVtKTsKICAgICAgICAgICAgIGZsZXhJdGVtLnNldENoaWxkTmVlZHNMYXlvdXQoTWFy
a2luZ0JlaGF2aW9yOjpNYXJrT25seVRoaXMpOwogICAgICAgICAgICAgZGlydHlQZXJjZW50SGVp
Z2h0RGVzY2VuZGFudHNXaXRoaW5GbGV4SXRlbShmbGV4SXRlbSk7CiAKICAgICAgICAgICAgIC8v
IERvbid0IHVzZSBsYXlvdXRDaGlsZElmTmVlZGVkIHRvIGF2b2lkIHNldHRpbmcgY3Jvc3MgYXhp
cyBjYWNoZWQgc2l6ZSB0d2ljZS4KICAgICAgICAgICAgIGZsZXhJdGVtLmxheW91dElmTmVlZGVk
KCk7CiAKLSAgICAgICAgICAgIGlmIChmbGV4SXRlbS5zaG91bGRDYWNoZUludHJpbnNpY0NvbnRl
bnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0oKSkKLSAgICAgICAgICAgICAgICBzZXRDYWNoZWRG
bGV4SXRlbUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0KGZsZXhJdGVtLCBmbGV4SXRlbUlu
dHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0KTsKKyAgICAgICAgICAgIGlmIChjYW5TZXRGbGV4
SXRlbUNvbnRlbnRMb2dpY2FsSGVpZ2h0KGZsZXhJdGVtKSkKKyAgICAgICAgICAgICAgICBtX2Nv
bnRlbnRMb2dpY2FsSGVpZ2h0cy5zZXQoZmxleEl0ZW0sIGNvbnRlbnRMb2dpY2FsSGVpZ2h0KTsK
ICAgICAgICAgfQogICAgICAgICByZXR1cm47CiAgICAgfQpkaWZmIC0tZ2l0IGEvU291cmNlL1dl
YkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmggYi9Tb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaAppbmRleCAxZDA0MDMwNWNkZTEuLmRlNzQ2MjI2Yzc3
MiAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94
LmgKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmgKQEAg
LTc5LDkgKzc5LDkgQEAgcHVibGljOgogCiAgICAgdm9pZCBjbGVhckNhY2hlZEJsb2NrQXhpc1Np
emVGb3JGbGV4SXRlbShjb25zdCBSZW5kZXJCb3gmIGZsZXhJdGVtKTsKICAgICAKLSAgICBMYXlv
dXRVbml0IGNhY2hlZEZsZXhJdGVtSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHQoY29uc3Qg
UmVuZGVyQm94JiBmbGV4SXRlbSkgY29uc3Q7Ci0gICAgdm9pZCBzZXRDYWNoZWRGbGV4SXRlbUlu
dHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0KGNvbnN0IFJlbmRlckJveCYgZmxleEl0ZW0sIExh
eW91dFVuaXQpOwotICAgIHZvaWQgY2xlYXJDYWNoZWRGbGV4SXRlbUludHJpbnNpY0NvbnRlbnRM
b2dpY2FsSGVpZ2h0KGNvbnN0IFJlbmRlckJveCYgZmxleEl0ZW0pOworICAgIExheW91dFVuaXQg
ZmxleEl0ZW1Db250ZW50TG9naWNhbEhlaWdodChjb25zdCBSZW5kZXJCb3gmIGZsZXhJdGVtKSBj
b25zdDsKKyAgICB2b2lkIGNsZWFyRmxleEl0ZW1Db250ZW50TG9naWNhbEhlaWdodChjb25zdCBS
ZW5kZXJCb3gmIGZsZXhJdGVtKTsKKyAgICB2b2lkIHNldEZsZXhJdGVtQ29udGVudExvZ2ljYWxI
ZWlnaHRJZk5lZWRlZChjb25zdCBSZW5kZXJCb3gmIGZsZXhJdGVtLCBMYXlvdXRVbml0IGhlaWdo
dCk7CiAKICAgICBMYXlvdXRVbml0IHN0YXRpY01haW5BeGlzUG9zaXRpb25Gb3JQb3NpdGlvbmVk
RmxleEl0ZW0oY29uc3QgUmVuZGVyQm94Jik7CiAgICAgTGF5b3V0VW5pdCBzdGF0aWNDcm9zc0F4
aXNQb3NpdGlvbkZvclBvc2l0aW9uZWRGbGV4SXRlbShjb25zdCBSZW5kZXJCb3gmKTsKQEAgLTMw
OSw3ICszMDksNyBAQCBwcml2YXRlOgogICAgIAogICAgIC8vIFRoaXMgaXMgdXNlZCB0byBjYWNo
ZSB0aGUgaW50cmluc2ljIHNpemUgb24gdGhlIGNyb3NzIGF4aXMgdG8gYXZvaWQKICAgICAvLyBy
ZWxheW91dHMgd2hlbiBzdHJldGNoaW5nLgotICAgIEhhc2hNYXA8U2luZ2xlVGhyZWFkV2Vha1Jl
Zjxjb25zdCBSZW5kZXJCb3g+LCBMYXlvdXRVbml0PiBtX2ludHJpbnNpY0NvbnRlbnRMb2dpY2Fs
SGVpZ2h0czsKKyAgICBIYXNoTWFwPFNpbmdsZVRocmVhZFdlYWtSZWY8Y29uc3QgUmVuZGVyQm94
PiwgTGF5b3V0VW5pdD4gbV9jb250ZW50TG9naWNhbEhlaWdodHM7CiAKICAgICAvLyBUaGlzIHNl
dCBpcyB1c2VkIHRvIGtlZXAgdHJhY2sgb2Ygd2hpY2ggY2hpbGRyZW4gd2UgbGFpZCBvdXQgaW4g
dGhpcwogICAgIC8vIGN1cnJlbnQgbGF5b3V0IGl0ZXJhdGlvbi4gV2UgbmVlZCBpdCBiZWNhdXNl
IHRoZSBvbmVzIGluIHRoaXMgc2V0IG1heQpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUvcmVu
ZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRl
ckxpc3RCb3guY3BwCmluZGV4IGU0NWE1NDYxM2U5ZS4uNGM2YTY3MGRlZWQ2IDEwMDY0NAotLS0g
YS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKKysrIGIvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckxpc3RCb3guY3BwCkBAIC01Myw2ICs1Myw3IEBACiAj
aW5jbHVkZSAiUmVuZGVyQm94SW5saW5lcy5oIgogI2luY2x1ZGUgIlJlbmRlckJveE1vZGVsT2Jq
ZWN0SW5saW5lcy5oIgogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnRTdHlsZUlubGluZXMuaCIKKyNp
bmNsdWRlICJSZW5kZXJGbGV4aWJsZUJveC5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyLmgiCiAj
aW5jbHVkZSAiUmVuZGVyTGF5ZXJTY3JvbGxhYmxlQXJlYS5oIgogI2luY2x1ZGUgIlJlbmRlckxh
eW91dFN0YXRlLmgiCkBAIC0zMDIsNyArMzAzLDggQEAgUmVuZGVyQm94OjpMb2dpY2FsRXh0ZW50
Q29tcHV0ZWRWYWx1ZXMgUmVuZGVyTGlzdEJveDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoTGF5b3UK
ICAgICAgICAgICAgIGxvZ2ljYWxIZWlnaHQgPSBleHBsaWNpdEludHJpbnNpY0hlaWdodC52YWx1
ZSgpOwogICAgIH0KIAotICAgIGNhY2hlSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHRGb3JG
bGV4SXRlbShsb2dpY2FsSGVpZ2h0KTsKKyAgICBpZiAoQ2hlY2tlZFB0ciBmbGV4Q29udGFpbmVy
ID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckZsZXhpYmxlQm94PihwYXJlbnQoKSkpCisgICAgICAg
IGZsZXhDb250YWluZXItPnNldEZsZXhJdGVtQ29udGVudExvZ2ljYWxIZWlnaHRJZk5lZWRlZCgq
dGhpcywgbG9naWNhbEhlaWdodCk7CiAgICAgbG9naWNhbEhlaWdodCArPSB3cml0aW5nTW9kZSgp
LmlzSG9yaXpvbnRhbCgpID8gdmVydGljYWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50KCkgOiBob3Jp
em9udGFsQm9yZGVyQW5kUGFkZGluZ0V4dGVudCgpOwogICAgIHJldHVybiBSZW5kZXJCb3g6OmNv
bXB1dGVMb2dpY2FsSGVpZ2h0KGxvZ2ljYWxIZWlnaHQsIGxvZ2ljYWxUb3ApOwogfQpkaWZmIC0t
Z2l0IGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcCBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZS5jcHAKaW5kZXggY2UxZmFlOGQxYTVmLi5lYTFh
NDc1M2Q1NjMgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUYWJs
ZS5jcHAKKysrIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcApAQCAt
NDgsNiArNDgsNyBAQAogI2luY2x1ZGUgIlJlbmRlckRlc2NlbmRhbnRJdGVyYXRvci5oIgogI2lu
Y2x1ZGUgIlJlbmRlckVsZW1lbnRJbmxpbmVzLmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudFN0
eWxlSW5saW5lcy5oIgorI2luY2x1ZGUgIlJlbmRlckZsZXhpYmxlQm94LmgiCiAjaW5jbHVkZSAi
UmVuZGVySXRlcmF0b3IuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllci5oIgogI2luY2x1ZGUgIlJl
bmRlckxheW91dFN0YXRlLmgiCkBAIC01NTAsNyArNTUxLDcgQEAgdm9pZCBSZW5kZXJUYWJsZTo6
bGF5b3V0KCkKICAgICBib29sIHNlY3Rpb25Nb3ZlZCA9IGZhbHNlOwogICAgIExheW91dFVuaXQg
bW92ZWRTZWN0aW9uTG9naWNhbFRvcDsKICAgICB1bnNpZ25lZCBzZWN0aW9uQ291bnQgPSAwOwot
ICAgIGJvb2wgc2hvdWxkQ2FjaGVJbnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodEZvckZsZXhJ
dGVtID0gdHJ1ZTsKKyAgICBib29sIHNob3VsZENhY2hlQ29udGVudExvZ2ljYWxIZWlnaHRGb3JG
bGV4SXRlbSA9IHRydWU7CiAKICAgICBMYXlvdXRSZXBhaW50ZXIgcmVwYWludGVyKCp0aGlzKTsK
ICAgICB7CkBAIC02NTEsNyArNjUyLDcgQEAgdm9pZCBSZW5kZXJUYWJsZTo6bGF5b3V0KCkKICAg
ICAgICAgaWYgKCF0b3BTZWN0aW9uKCkgJiYgY29tcHV0ZWRMb2dpY2FsSGVpZ2h0ID4gdG90YWxT
ZWN0aW9uTG9naWNhbEhlaWdodCAmJiAhZG9jdW1lbnQoKS5pblF1aXJrc01vZGUoKSkgewogICAg
ICAgICAgICAgLy8gQ29tcGxldGVseSBlbXB0eSB0YWJsZXMgKHdpdGggbm8gc2VjdGlvbnMgb3Ig
YW55dGhpbmcpIHNob3VsZCBhdCBsZWFzdCBob25vciB0aGVpcgogICAgICAgICAgICAgLy8gb3Zl
cnJpZGluZyBvciBzcGVjaWZpZWQgaGVpZ2h0IGluIHN0cmljdCBtb2RlLCBidXQgdGhpcyB2YWx1
ZSB3aWxsIG5vdCBiZSBjYWNoZWQuCi0gICAgICAgICAgICBzaG91bGRDYWNoZUludHJpbnNpY0Nv
bnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0gPSBmYWxzZTsKKyAgICAgICAgICAgIHNob3Vs
ZENhY2hlQ29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4SXRlbSA9IGZhbHNlOwogICAgICAgICAg
ICAgYXV0byB0YWJsZUxvZ2ljYWxIZWlnaHQgPSBbJl0gewogICAgICAgICAgICAgICAgIGlmIChh
dXRvIG92ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0ID0gdGhpcy0+b3ZlcnJpZGluZ0JvcmRlckJveExv
Z2ljYWxIZWlnaHQoKSkKICAgICAgICAgICAgICAgICAgICAgcmV0dXJuICpvdmVycmlkaW5nTG9n
aWNhbEhlaWdodCAtIGJvcmRlckFuZFBhZGRpbmdBZnRlcjsKQEAgLTcyOSw4ICs3MzAsMTAgQEAg
dm9pZCBSZW5kZXJUYWJsZTo6bGF5b3V0KCkKICAgICAKICAgICAvLyBGSVhNRTogVGhpcyB2YWx1
ZSBpc24ndCB0aGUgaW50cmluc2ljIGNvbnRlbnQgbG9naWNhbCBoZWlnaHQsIGJ1dCB3ZSBuZWVk
CiAgICAgLy8gdG8gdXBkYXRlIHRoZSB2YWx1ZSBhcyBpdHMgdXNlZCBieSBmbGV4Ym94IGxheW91
dC4gY3JidWcuY29tLzM2NzMyNAotICAgIGlmIChzaG91bGRDYWNoZUludHJpbnNpY0NvbnRlbnRM
b2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0pCi0gICAgICAgIGNhY2hlSW50cmluc2ljQ29udGVudExv
Z2ljYWxIZWlnaHRGb3JGbGV4SXRlbShjb250ZW50Qm94TG9naWNhbEhlaWdodCgpKTsKKyAgICBp
ZiAoc2hvdWxkQ2FjaGVDb250ZW50TG9naWNhbEhlaWdodEZvckZsZXhJdGVtKSB7CisgICAgICAg
IGlmIChDaGVja2VkUHRyIGZsZXhDb250YWluZXIgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyRmxl
eGlibGVCb3g+KHBhcmVudCgpKSkKKyAgICAgICAgICAgIGZsZXhDb250YWluZXItPnNldEZsZXhJ
dGVtQ29udGVudExvZ2ljYWxIZWlnaHRJZk5lZWRlZCgqdGhpcywgY29udGVudEJveExvZ2ljYWxI
ZWlnaHQoKSk7CisgICAgfQogCiAgICAgbV9jb2x1bW5Mb2dpY2FsV2lkdGhDaGFuZ2VkID0gZmFs
c2U7CiAgICAgY2xlYXJOZWVkc0xheW91dCgpOwpkaWZmIC0tZ2l0IGEvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcv
UmVuZGVyVGFibGVDZWxsLmNwcAppbmRleCBiYmE3YTRiZGQwY2MuLmU4MjlhMWVjNjQ5MyAxMDA2
NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAKKysr
IGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAKQEAgLTQwLDYg
KzQwLDcgQEAKICNpbmNsdWRlICJQYWludEluZm8uaCIKICNpbmNsdWRlICJSZW5kZXJCb3hJbmxp
bmVzLmgiCiAjaW5jbHVkZSAiUmVuZGVyQm94TW9kZWxPYmplY3RJbmxpbmVzLmgiCisjaW5jbHVk
ZSAiUmVuZGVyRmxleGlibGVCb3guaCIKICNpbmNsdWRlICJSZW5kZXJPYmplY3RJbmxpbmVzLmgi
CiAjaW5jbHVkZSAiUmVuZGVyVGFibGVDZWxsSW5saW5lcy5oIgogI2luY2x1ZGUgIlJlbmRlclRh
YmxlQ29sLmgiCkBAIC00MzEsNyArNDMyLDggQEAgdm9pZCBSZW5kZXJUYWJsZUNlbGw6OmxheW91
dCgpCiAgICAgCiAgICAgLy8gRklYTUU6IFRoaXMgdmFsdWUgaXNuJ3QgdGhlIGludHJpbnNpYyBj
b250ZW50IGxvZ2ljYWwgaGVpZ2h0LCBidXQgd2UgbmVlZAogICAgIC8vIHRvIHVwZGF0ZSB0aGUg
dmFsdWUgYXMgaXRzIHVzZWQgYnkgZmxleGJveCBsYXlvdXQuIGNyYnVnLmNvbS8zNjczMjQKLSAg
ICBjYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0oY29udGVudEJv
eExvZ2ljYWxIZWlnaHQoKSk7CisgICAgaWYgKENoZWNrZWRQdHIgZmxleENvbnRhaW5lciA9IGR5
bmFtaWNEb3duY2FzdDxSZW5kZXJGbGV4aWJsZUJveD4ocGFyZW50KCkpKQorICAgICAgICBmbGV4
Q29udGFpbmVyLT5zZXRGbGV4SXRlbUNvbnRlbnRMb2dpY2FsSGVpZ2h0SWZOZWVkZWQoKnRoaXMs
IGNvbnRlbnRCb3hMb2dpY2FsSGVpZ2h0KCkpOwogCiAgICAgc2V0Q2VsbFdpZHRoQ2hhbmdlZChm
YWxzZSk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4
dENvbnRyb2wuY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9s
LmNwcAppbmRleCAyZjlkZmMyMWIzMzIuLjA4OGVmZmZmZWQ5NSAxMDA2NDQKLS0tIGEvU291cmNl
L1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRleHRDb250cm9sLmNwcAorKysgYi9Tb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCkBAIC0zMSw2ICszMSw3IEBACiAj
aW5jbHVkZSAiUmVuZGVyQm94TW9kZWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiUmVuZGVy
RWxlbWVudFN0eWxlSW5saW5lcy5oIgogI2luY2x1ZGUgIlJlbmRlckVsZW1lbnRJbmxpbmVzLmgi
CisjaW5jbHVkZSAiUmVuZGVyRmxleGlibGVCb3guaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0Lmgi
CiAjaW5jbHVkZSAiUmVuZGVyVGV4dENvbnRyb2xTaW5nbGVMaW5lLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyVGhlbWUuaCIKQEAgLTEzMSw3ICsxMzIsOCBAQCBSZW5kZXJCb3g6OkxvZ2ljYWxFeHRlbnRD
b21wdXRlZFZhbHVlcyBSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQoTAog
ICAgICAgICAKICAgICAgICAgLy8gRklYTUU6IFRoZSBsb2dpY2FsIGhlaWdodCBvZiB0aGUgaW5u
ZXIgdGV4dCBib3ggc2hvdWxkIGhhdmUgYmVlbiBhZGRlZAogICAgICAgICAvLyBiZWZvcmUgY2Fs
bGluZyBjb21wdXRlTG9naWNhbEhlaWdodCB0byBhdm9pZCB0aGlzIGhhY2suCi0gICAgICAgIGNh
Y2hlSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4SXRlbShsb2dpY2FsSGVpZ2h0
KTsKKyAgICAgICAgaWYgKENoZWNrZWRQdHIgZmxleENvbnRhaW5lciA9IGR5bmFtaWNEb3duY2Fz
dDxSZW5kZXJGbGV4aWJsZUJveD4ocGFyZW50KCkpKQorICAgICAgICAgICAgZmxleENvbnRhaW5l
ci0+c2V0RmxleEl0ZW1Db250ZW50TG9naWNhbEhlaWdodElmTmVlZGVkKCp0aGlzLCBsb2dpY2Fs
SGVpZ2h0KTsKICAgICAgICAgCiAgICAgICAgIGxvZ2ljYWxIZWlnaHQgKz0gYm9yZGVyQW5kUGFk
ZGluZ0xvZ2ljYWxIZWlnaHQoKTsKICAgICB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwIGIvU291cmNlL1dlYkNvcmUv
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcAppbmRleCAwNDY3N2ZiNmQ4
NzIuLmJkNWZlNzk2NTdlNyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL3Vw
ZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJp
bmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCkBAIC0xMDEzLDcgKzEwMTMsNyBAQCBz
dGF0aWMgdm9pZCByZXNldFJlbmRlcmVyU3RhdGVPbkRldGFjaChSZW5kZXJFbGVtZW50JiBwYXJl
bnQsIFJlbmRlck9iamVjdCYgY2hpbAogICAgICAgICBkb3duY2FzdDxSZW5kZXJCb3g+KGNoaWxk
KS5yZW1vdmVGbG9hdGluZ09yT3V0T2ZGbG93Q2hpbGRGcm9tQmxvY2tMaXN0cygpOwogICAgIGVs
c2UgaWYgKENoZWNrZWRQdHIgcGFyZW50RmxleGlibGVCb3ggPSBkeW5hbWljRG93bmNhc3Q8UmVu
ZGVyRmxleGlibGVCb3g+KHBhcmVudCkpIHsKICAgICAgICAgaWYgKENoZWNrZWRQdHIgY2hpbGRC
b3ggPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyQm94PihjaGlsZCkpIHsKLSAgICAgICAgICAgIHBh
cmVudEZsZXhpYmxlQm94LT5jbGVhckNhY2hlZEZsZXhJdGVtSW50cmluc2ljQ29udGVudExvZ2lj
YWxIZWlnaHQoKmNoaWxkQm94KTsKKyAgICAgICAgICAgIHBhcmVudEZsZXhpYmxlQm94LT5jbGVh
ckZsZXhJdGVtQ29udGVudExvZ2ljYWxIZWlnaHQoKmNoaWxkQm94KTsKICAgICAgICAgICAgIHBh
cmVudEZsZXhpYmxlQm94LT5jbGVhckNhY2hlZEJsb2NrQXhpc1NpemVGb3JGbGV4SXRlbSgqY2hp
bGRCb3gpOwogICAgICAgICB9CiAgICAgfQo=
</data>

          </attachment>
          <attachment
              isobsolete="0"
              ispatch="1"
              isprivate="0"
          >
            <attachid>479778</attachid>
            <date>2026-05-22 08:42:31 -0700</date>
            <delta_ts>2026-05-22 11:10:29 -0700</delta_ts>
            <desc>[fast-cq]Patch</desc>
            <filename>bug-315319-20260522084230.patch</filename>
            <type>text/plain</type>
            <size>23809</size>
            <attacher name="alan">zalan</attacher>
            
              <data encoding="base64">RnJvbSA5ZGIyNmNmNDk4MmJhOGQ1YWVmYTVmYTQzODFiNTY2OTNhZDM2Y2ViIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBBbGFuIEJhcmFkbGF5IDx6YWxhbkBhcHBsZS5jb20+CkRhdGU6
IFRodSwgMjEgTWF5IDIwMjYgMTM6NTU6MzggLTA3MDAKU3ViamVjdDogW1BBVENIXSBbY2xlYW51
cF0gUmVuZGVyRmxleGlibGVCb3ggc2hvdWxkIG93biB0aGUgcG9saWN5IGZvciBzdG9yaW5nCiBm
bGV4LWl0ZW0gY29udGVudCBoZWlnaHRzIGh0dHBzOi8vYnVncy53ZWJraXQub3JnL3Nob3dfYnVn
LmNnaT9pZD0zMTUzMTkKClJldmlld2VkIGJ5IEFudHRpIEtvaXZpc3RvLgoKVGhlIGZsZXgtaXRl
bSBjb250ZW50LWhlaWdodCBjYWNoZSB0aGF0IFJlbmRlckZsZXhpYmxlQm94IG1haW50YWlucyB3
YXMgc2V0IHVwCnRocm91Z2ggYSBob29rIG9uIFJlbmRlckJveCAtIHNob3VsZENhY2hlSW50cmlu
c2ljQ29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4SXRlbQphbmQgY2FjaGVJbnRyaW5zaWNDb250
ZW50TG9naWNhbEhlaWdodEZvckZsZXhJdGVtIC0gdGhhdCBrbmV3IGFib3V0IGZsZXggcGFyZW50
cwphbmQgbWFkZSBhbGwgdGhlIHBvbGljeSBkZWNpc2lvbnMgYmVmb3JlIHdyaXRpbmcgaW50byBS
ZW5kZXJGbGV4aWJsZUJveCBzdGF0ZS4KVGhlIGZsZXgtc3BlY2lmaWMgcG9saWN5IGRvZXNuJ3Qg
YmVsb25nIG9uIFJlbmRlckJveC4KCk1vdmVkIHRoZSBwb2xpY3kgdG8gYSBuZXcgUmVuZGVyRmxl
eGlibGVCb3g6OnNldEZsZXhJdGVtQ29udGVudExvZ2ljYWxIZWlnaHRJZk5lZWRlZC4KRml2ZSBj
YWxsIHNpdGVzIChSZW5kZXJCb3g6OnVwZGF0ZUxvZ2ljYWxIZWlnaHQgcGx1cyBmb3VyIGN1c3Rv
bS1oZWlnaHQgc3ViY2xhc3NlczoKUmVuZGVyVGFibGUsIFJlbmRlclRhYmxlQ2VsbCwgUmVuZGVy
TGlzdEJveCwgUmVuZGVyVGV4dENvbnRyb2wpIG5vdyBkbyBhbiBpbmxpbmUKZGlzcGF0Y2g6IGlm
IHBhcmVudCBpcyBhIFJlbmRlckZsZXhpYmxlQm94LCBjYWxsIHRoZSBoZWxwZXIuIEZvbGRlZCB0
aGUgcmF3CnNldENhY2hlZEZsZXhJdGVtLi4uIHNldHRlciBpbnRvIHRoZSBnYXRlZCBlbnRyeSBi
eSBtb3ZpbmcgaXNSZW5kZXJSZXBsYWNlZCBpbnRvCmNhblNldC4gQWxzbyBkcm9wcGVkIHRoZSBt
aXNsZWFkaW5nICJJbnRyaW5zaWMiIHF1YWxpZmllciBmcm9tIHRoZSBjYWNoZSBBUEkKKHRoZSB2
YWx1ZSBpcyBqdXN0IGNvbnRlbnQgbG9naWNhbCBoZWlnaHQsIG5vdCB0aGUgc3BlYyBzZW5zZSBv
ZiAiaW50cmluc2ljIikKYW5kICJDYWNoZWQiIGZyb20gbWV0aG9kIG5hbWVzIChpbXBsZW1lbnRh
dGlvbiBkZXRhaWw7IGNhbGxlcnMgZG9uJ3QgbmVlZCBpdCkuCgoqIFNvdXJjZS9XZWJDb3JlL2xh
eW91dC9pbnRlZ3JhdGlvbi9MYXlvdXRJbnRlZ3JhdGlvbkZvcm1hdHRpbmdDb250ZXh0TGF5b3V0
LmNwcDoKKFdlYkNvcmU6OkxheW91dEludGVncmF0aW9uOjpmb3JtYXR0aW5nQ29udGV4dFJvb3RM
b2dpY2FsSGVpZ2h0Rm9yVHlwZSk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJv
eC5jcHA6CihXZWJDb3JlOjpSZW5kZXJCb3g6OnN0eWxlV2lsbENoYW5nZSk6CihXZWJDb3JlOjpS
ZW5kZXJCb3g6OnVwZGF0ZUxvZ2ljYWxIZWlnaHQpOgooV2ViQ29yZTo6UmVuZGVyQm94OjpzaG91
bGRDYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0gY29uc3QpOiBE
ZWxldGVkLgooV2ViQ29yZTo6UmVuZGVyQm94OjpjYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2Fs
SGVpZ2h0Rm9yRmxleEl0ZW0gY29uc3QpOiBEZWxldGVkLgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJCb3guaDoKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGli
bGVCb3guY3BwOgooV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmZsZXhJdGVtQ29udGVudExv
Z2ljYWxIZWlnaHQgY29uc3QpOgooV2ViQ29yZTo6UmVuZGVyRmxleGlibGVCb3g6OmNsZWFyRmxl
eEl0ZW1Db250ZW50TG9naWNhbEhlaWdodCk6CihXZWJDb3JlOjpjYW5TZXRGbGV4SXRlbUNvbnRl
bnRMb2dpY2FsSGVpZ2h0KToKKFdlYkNvcmU6OlJlbmRlckZsZXhpYmxlQm94OjpzZXRGbGV4SXRl
bUNvbnRlbnRMb2dpY2FsSGVpZ2h0SWZOZWVkZWQpOgooV2ViQ29yZTo6UmVuZGVyRmxleGlibGVC
b3g6OmZsZXhJdGVtSW50cmluc2ljTG9naWNhbEhlaWdodCBjb25zdCk6CihXZWJDb3JlOjpSZW5k
ZXJGbGV4aWJsZUJveDo6Y29tcHV0ZU1haW5BeGlzRXh0ZW50Rm9yRmxleEl0ZW0pOgooV2ViQ29y
ZTo6UmVuZGVyRmxleGlibGVCb3g6OmJsb2NrQXhpc1NpemVGb3JGbGV4SXRlbSk6CihXZWJDb3Jl
OjpSZW5kZXJGbGV4aWJsZUJveDo6YXBwbHlTdHJldGNoQWxpZ25tZW50VG9GbGV4SXRlbSk6CihX
ZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6Y2FjaGVkRmxleEl0ZW1JbnRyaW5zaWNDb250ZW50
TG9naWNhbEhlaWdodCBjb25zdCk6IERlbGV0ZWQuCihXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJv
eDo6c2V0Q2FjaGVkRmxleEl0ZW1JbnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodCk6IERlbGV0
ZWQuCihXZWJDb3JlOjpSZW5kZXJGbGV4aWJsZUJveDo6Y2xlYXJDYWNoZWRGbGV4SXRlbUludHJp
bnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0KTogRGVsZXRlZC4KKiBTb3VyY2UvV2ViQ29yZS9yZW5k
ZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaDoKKiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyTGlzdEJveC5jcHA6CihXZWJDb3JlOjpSZW5kZXJMaXN0Qm94Ojpjb21wdXRlTG9naWNhbEhl
aWdodCBjb25zdCk6CiogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcDoK
KFdlYkNvcmU6OlJlbmRlclRhYmxlOjpsYXlvdXQpOgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJUYWJsZUNlbGwuY3BwOgooV2ViQ29yZTo6UmVuZGVyVGFibGVDZWxsOjpsYXlvdXQp
OgoqIFNvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHA6CihXZWJD
b3JlOjpSZW5kZXJUZXh0Q29udHJvbDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQgY29uc3QpOgoqIFNv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHA6Cgoo
V2ViQ29yZTo6cmVzZXRSZW5kZXJlclN0YXRlT25EZXRhY2gpOgotLS0KIC4uLnlvdXRJbnRlZ3Jh
dGlvbkZvcm1hdHRpbmdDb250ZXh0TGF5b3V0LmNwcCB8ICAyICstCiBTb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyQm94LmNwcCAgICAgICAgfCAyOCArKy0tLS0tLS0tCiBTb3VyY2UvV2Vi
Q29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggICAgICAgICAgfCAgMyAtLQogLi4uL1dlYkNvcmUv
cmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcCAgIHwgNTQgKysrKysrKysrKystLS0tLS0t
LQogU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmggIHwgIDggKy0t
CiBTb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAgICAgfCAgNCArLQog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcCAgICAgIHwgMTEgKystLQog
U291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlQ2VsbC5jcHAgIHwgIDQgKy0KIC4u
Li9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAgICB8ICA0ICstCiAuLi4v
cmVuZGVyaW5nL3VwZGF0aW5nL1JlbmRlclRyZWVCdWlsZGVyLmNwcCAgfCAgMiArLQogMTAgZmls
ZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgNjMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0
IGEvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0aW9uRm9y
bWF0dGluZ0NvbnRleHRMYXlvdXQuY3BwIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0
aW9uL0xheW91dEludGVncmF0aW9uRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQuY3BwCmluZGV4IGFl
YzNhNDM2ZTZiZS4uNTQ0NzhiOTY2YTAxIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9sYXlv
dXQvaW50ZWdyYXRpb24vTGF5b3V0SW50ZWdyYXRpb25Gb3JtYXR0aW5nQ29udGV4dExheW91dC5j
cHAKKysrIGIvU291cmNlL1dlYkNvcmUvbGF5b3V0L2ludGVncmF0aW9uL0xheW91dEludGVncmF0
aW9uRm9ybWF0dGluZ0NvbnRleHRMYXlvdXQuY3BwCkBAIC0yNDYsNyArMjQ2LDcgQEAgTGF5b3V0
VW5pdCBmb3JtYXR0aW5nQ29udGV4dFJvb3RMb2dpY2FsSGVpZ2h0Rm9yVHlwZShjb25zdCBMYXlv
dXQ6OkVsZW1lbnRCb3gmIGIKICAgICAgICAgLy8gd2hlcmUgdGhlIGxlZ2FjeSBmbGV4IGxheW91
dCAiZml4ZWQiIHRoaXMgYnkgY2FjaGluZyB0aGUgY29udGVudCBoZWlnaHQgaW4gUmVuZGVyQm94
Ojp1cGRhdGVMb2dpY2FsSGVpZ2h0CiAgICAgICAgIC8vIGJlZm9yZSBhZGRpdGlvbmFsIGhlaWdo
dCBjb25zdHJhaW50cyBhcHBsaWVkLgogICAgICAgICBpZiAoQ2hlY2tlZFB0ciBmbGV4Q29udGFp
bmVyID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckZsZXhpYmxlQm94PihyZW5kZXJlci0+cGFyZW50
KCkpKQotICAgICAgICAgICAgcmV0dXJuIGZsZXhDb250YWluZXItPmNhY2hlZEZsZXhJdGVtSW50
cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHQocmVuZGVyZXIuZ2V0KCkpOworICAgICAgICAgICAg
cmV0dXJuIGZsZXhDb250YWluZXItPmZsZXhJdGVtQ29udGVudExvZ2ljYWxIZWlnaHQocmVuZGVy
ZXIuZ2V0KCkpOwogICAgICAgICBBU1NFUlRfTk9UX0lNUExFTUVOVEVEX1lFVCgpOwogICAgICAg
ICByZXR1cm4geyB9OwogICAgIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckJveC5jcHAK
aW5kZXggMzU5ZjAwNDE1ZTc3Li45YTUyZmEyODMzYmQgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJCb3guY3BwCisrKyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmlu
Zy9SZW5kZXJCb3guY3BwCkBAIC0yNzgsNyArMjc4LDcgQEAgdm9pZCBSZW5kZXJCb3g6OnN0eWxl
V2lsbENoYW5nZShTdHlsZTo6RGlmZmVyZW5jZSBkaWZmLCBjb25zdCBSZW5kZXJTdHlsZSYgbmV3
U3QKICAgICAgICAgICAgICAgICAvLyBjdXJyZW50IGNvbnRhaW5pbmcgYmxvY2sgY2hhaW4gZm9y
IHByZWZlcnJlZCB3aWR0aHMgcmVjYWxjdWxhdGlvbi4KICAgICAgICAgICAgICAgICBzZXROZWVk
c0xheW91dEFuZFByZWZlcnJlZFdpZHRoc1VwZGF0ZSgpOwogICAgICAgICAgICAgICAgIGlmIChD
aGVja2VkUHRyIGZsZXhDb250YWluZXIgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyRmxleGlibGVC
b3g+KHBhcmVudCgpKSkgewotICAgICAgICAgICAgICAgICAgICBmbGV4Q29udGFpbmVyLT5jbGVh
ckNhY2hlZEZsZXhJdGVtSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHQoKnRoaXMpOworICAg
ICAgICAgICAgICAgICAgICBmbGV4Q29udGFpbmVyLT5jbGVhckZsZXhJdGVtQ29udGVudExvZ2lj
YWxIZWlnaHQoKnRoaXMpOwogICAgICAgICAgICAgICAgICAgICBmbGV4Q29udGFpbmVyLT5jbGVh
ckNhY2hlZEJsb2NrQXhpc1NpemVGb3JGbGV4SXRlbSgqdGhpcyk7CiAgICAgICAgICAgICAgICAg
fQogICAgICAgICAgICAgICAgIGlmIChpc0luVG9wTGF5ZXJPckJhY2tkcm9wKHN0eWxlKCksIGVs
ZW1lbnQoKSkpIHsKQEAgLTMzNTQsMjkgKzMzNTQsNiBAQCBzdGF0aWMgYm9vbCBOT0RFTEVURSBz
aG91bGRGbGlwQmVmb3JlQWZ0ZXJNYXJnaW5zKFdyaXRpbmdNb2RlIGNvbnRhaW5pbmdCbG9ja1dy
aQogICAgIHJldHVybiBzaG91bGRGbGlwOwogfQogCi1ib29sIFJlbmRlckJveDo6c2hvdWxkQ2Fj
aGVJbnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodEZvckZsZXhJdGVtKCkgY29uc3QKLXsKLSAg
ICAvLyBUaGUgZmxleCBzdHJldGNoIGFsZ29yaXRobSBuZWVkcyB0byBrbm93IHRoZSBpdGVtJ3Mg
aW50cmluc2ljIGNvbnRlbnQgaGVpZ2h0Ci0gICAgLy8gYmVmb3JlIHN0cmV0Y2ggd2FzIGFwcGxp
ZWQuIFdlIGNhY2hlIGl0IHNvIHRoZSBzdHJldGNoIHBoYXNlIGNhbiByZWFkIGJhY2sKLSAgICAv
LyB0aGUgcHJlLXN0cmV0Y2ggdmFsdWUgYWZ0ZXIgcmVsYXlvdXQuIEl0ZW1zIHdpdGggYXNwZWN0
LXJhdGlvIGRvbid0IG5lZWQKLSAgICAvLyBjYWNoaW5nIGJlY2F1c2UgdGhlaXIgY29udGVudCBo
ZWlnaHQgaXMgYWx3YXlzIGRlcml2YWJsZSBmcm9tIHRoZSBjdXJyZW50IHdpZHRoLgotICAgIHJl
dHVybiBpc0ZsZXhJdGVtKCkgJiYgIWlzRmxvYXRpbmdPck91dE9mRmxvd1Bvc2l0aW9uZWQoKSAm
JiAhc2hvdWxkQ29tcHV0ZUxvZ2ljYWxIZWlnaHRGcm9tQXNwZWN0UmF0aW8oKTsKLX0KLQotdm9p
ZCBSZW5kZXJCb3g6OmNhY2hlSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4SXRl
bShMYXlvdXRVbml0IGhlaWdodCkgY29uc3QKLXsKLSAgICAvLyBGSVhNRTogaXQgc2hvdWxkIGJl
IGVub3VnaCB3aXRoIGNoZWNraW5nIGhhc092ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0KCkgYXMgdGhp
cyBsb2dpYyBjb3VsZCBiZSBzaGFyZWQKLSAgICAvLyBieSBhbnkgbGF5b3V0IHN5c3RlbSB1c2lu
ZyBvdmVycmlkZXMgbGlrZSBncmlkIG9yIGZsZXguIEhvd2V2ZXIgdGhpcyBjYXVzZXMgYSBuZXZl
ciBlbmRpbmcgc2VxdWVuY2Ugb2YgY2FsbHMKLSAgICAvLyBiZXR3ZWVuIGxheW91dEJsb2NrKCkg
PC0+IHJlbGF5b3V0VG9Bdm9pZFdpZG93cygpLgotICAgIGlmICghc2hvdWxkQ2FjaGVJbnRyaW5z
aWNDb250ZW50TG9naWNhbEhlaWdodEZvckZsZXhJdGVtKCkpCi0gICAgICAgIHJldHVybjsKLSAg
ICBBU1NFUlQoaXM8UmVuZGVyRmxleGlibGVCb3g+KHBhcmVudCgpKSk7Ci0gICAgaWYgKG92ZXJy
aWRpbmdCb3JkZXJCb3hMb2dpY2FsSGVpZ2h0KCkpCi0gICAgICAgIHJldHVybjsKLSAgICBpZiAo
Q2hlY2tlZFB0ciBmbGV4aWJsZUJveCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJGbGV4aWJsZUJv
eD4ocGFyZW50KCkpKQotICAgICAgICBmbGV4aWJsZUJveC0+c2V0Q2FjaGVkRmxleEl0ZW1JbnRy
aW5zaWNDb250ZW50TG9naWNhbEhlaWdodCgqdGhpcywgaGVpZ2h0KTsKLX0KLQogdm9pZCBSZW5k
ZXJCb3g6Om92ZXJyaWRlTG9naWNhbEhlaWdodEZvclNpemVDb250YWlubWVudCgpCiB7CiAgICAg
TGF5b3V0VW5pdCBpbnRyaW5zaWNIZWlnaHQ7CkBAIC0zNDAxLDcgKzMzNzgsOCBAQCB2b2lkIFJl
bmRlckJveDo6dXBkYXRlTG9naWNhbEhlaWdodCgpCiAgICAgaWYgKHNob3VsZEFwcGx5U2l6ZUNv
bnRhaW5tZW50KCkgJiYgIWlzUmVuZGVyR3JpZCgpKQogICAgICAgICBvdmVycmlkZUxvZ2ljYWxI
ZWlnaHRGb3JTaXplQ29udGFpbm1lbnQoKTsKIAotICAgIGNhY2hlSW50cmluc2ljQ29udGVudExv
Z2ljYWxIZWlnaHRGb3JGbGV4SXRlbShjb250ZW50Qm94TG9naWNhbEhlaWdodCgpKTsKKyAgICBp
ZiAoQ2hlY2tlZFB0ciBmbGV4Q29udGFpbmVyID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckZsZXhp
YmxlQm94PihwYXJlbnQoKSkpCisgICAgICAgIGZsZXhDb250YWluZXItPnNldEZsZXhJdGVtQ29u
dGVudExvZ2ljYWxIZWlnaHRJZk5lZWRlZCgqdGhpcywgY29udGVudEJveExvZ2ljYWxIZWlnaHQo
KSk7CiAgICAgYXV0byBjb21wdXRlZFZhbHVlcyA9IGNvbXB1dGVMb2dpY2FsSGVpZ2h0KGxvZ2lj
YWxIZWlnaHQoKSwgbG9naWNhbFRvcCgpKTsKICAgICBzZXRMb2dpY2FsSGVpZ2h0KGNvbXB1dGVk
VmFsdWVzLmV4dGVudCk7CiAgICAgc2V0TG9naWNhbFRvcChjb21wdXRlZFZhbHVlcy5wb3NpdGlv
bik7CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmggYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKaW5kZXggNTI1NWZjYmMzNjhhLi41
MWY4NzM2MGJhMDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJC
b3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyQm94LmgKQEAgLTM4Miw5
ICszODIsNiBAQCBwdWJsaWM6CiAKICAgICB2b2lkIG92ZXJyaWRlTG9naWNhbEhlaWdodEZvclNp
emVDb250YWlubWVudCgpOwogCi0gICAgYm9vbCBzaG91bGRDYWNoZUludHJpbnNpY0NvbnRlbnRM
b2dpY2FsSGVpZ2h0Rm9yRmxleEl0ZW0oKSBjb25zdDsKLSAgICB2b2lkIGNhY2hlSW50cmluc2lj
Q29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4SXRlbShMYXlvdXRVbml0KSBjb25zdDsKLSAgICAK
ICAgICAvLyBUaGlzIGZ1bmN0aW9uIHdpbGwgY29tcHV0ZSB0aGUgbG9naWNhbCBib3JkZXItYm94
IGhlaWdodCwgd2l0aG91dCBsYXlpbmcKICAgICAvLyBvdXQgdGhlIGJveC4gVGhpcyBtZWFucyB0
aGF0IHRoZSByZXN1bHQgaXMgb25seSAiY29ycmVjdCIgd2hlbiB0aGUgaGVpZ2h0CiAgICAgLy8g
aXMgZXhwbGljaXRseSBzcGVjaWZpZWQuIFRoaXMgZnVuY3Rpb24gZXhpc3RzIHNvIHRoYXQgaW50
cmluc2ljIHdpZHRoCmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
RmxleGlibGVCb3guY3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxl
Qm94LmNwcAppbmRleCBiNDY1MjIzN2Y1NjEuLmY5ZWFiMmEwMWRlOSAxMDA2NDQKLS0tIGEvU291
cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlckZsZXhpYmxlQm94LmNwcAorKysgYi9Tb3VyY2Uv
V2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guY3BwCkBAIC03NTgsMjkgKzc1OCwz
OSBAQCBMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94Ojpjcm9zc0F4aXNFeHRlbnRGb3JGbGV4
SXRlbShjb25zdCBSZW5kZXJCb3gmIGZsZXhJdAogICAgIHJldHVybiBpc0hvcml6b250YWxGbG93
KCkgPyBmbGV4SXRlbS5oZWlnaHQoKSA6IGZsZXhJdGVtLndpZHRoKCk7CiB9CiAKLUxheW91dFVu
aXQgUmVuZGVyRmxleGlibGVCb3g6OmNhY2hlZEZsZXhJdGVtSW50cmluc2ljQ29udGVudExvZ2lj
YWxIZWlnaHQoY29uc3QgUmVuZGVyQm94JiBmbGV4SXRlbSkgY29uc3QKK0xheW91dFVuaXQgUmVu
ZGVyRmxleGlibGVCb3g6OmZsZXhJdGVtQ29udGVudExvZ2ljYWxIZWlnaHQoY29uc3QgUmVuZGVy
Qm94JiBmbGV4SXRlbSkgY29uc3QKIHsKLSAgICBpZiAoYXV0byogcmVuZGVyUmVwbGFjZWQgPSBk
eW5hbWljRG93bmNhc3Q8UmVuZGVyUmVwbGFjZWQ+KGZsZXhJdGVtKSkKKyAgICBpZiAoQ2hlY2tl
ZFB0ciByZW5kZXJSZXBsYWNlZCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJSZXBsYWNlZD4oZmxl
eEl0ZW0pKQogICAgICAgICByZXR1cm4gcmVuZGVyUmVwbGFjZWQtPmludHJpbnNpY0xvZ2ljYWxI
ZWlnaHQoKTsKICAgICAKLSAgICBpZiAoYXV0byBpdCA9IG1faW50cmluc2ljQ29udGVudExvZ2lj
YWxIZWlnaHRzLmZpbmQoZmxleEl0ZW0pOyBpdCAhPSBtX2ludHJpbnNpY0NvbnRlbnRMb2dpY2Fs
SGVpZ2h0cy5lbmQoKSkKLSAgICAgICAgcmV0dXJuIGl0LT52YWx1ZTsKLSAgICAKKyAgICBpZiAo
YXV0byBsb2dpY2FsSGVpZ2h0ID0gbV9jb250ZW50TG9naWNhbEhlaWdodHMuZ2V0T3B0aW9uYWwo
ZmxleEl0ZW0pKQorICAgICAgICByZXR1cm4gKmxvZ2ljYWxIZWlnaHQ7CisKICAgICByZXR1cm4g
ZmxleEl0ZW0uY29udGVudEJveExvZ2ljYWxIZWlnaHQoKTsKIH0KIAotdm9pZCBSZW5kZXJGbGV4
aWJsZUJveDo6c2V0Q2FjaGVkRmxleEl0ZW1JbnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodChj
b25zdCBSZW5kZXJCb3gmIGZsZXhJdGVtLCBMYXlvdXRVbml0IGhlaWdodCkKK3ZvaWQgUmVuZGVy
RmxleGlibGVCb3g6OmNsZWFyRmxleEl0ZW1Db250ZW50TG9naWNhbEhlaWdodChjb25zdCBSZW5k
ZXJCb3gmIGZsZXhJdGVtKQogewotICAgIGlmIChmbGV4SXRlbS5pc1JlbmRlclJlcGxhY2VkKCkp
Ci0gICAgICAgIHJldHVybjsgLy8gUmVwbGFjZWQgZWxlbWVudHMga25vdyB0aGVpciBpbnRyaW5z
aWMgaGVpZ2h0IGFscmVhZHksIHNvIHNhdmUgc3BhY2UgYnkgbm90IGNhY2hpbmcuCi0gICAgbV9p
bnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodHMuc2V0KGZsZXhJdGVtLCBoZWlnaHQpOworICAg
IG1fY29udGVudExvZ2ljYWxIZWlnaHRzLnJlbW92ZShmbGV4SXRlbSk7CiB9CiAKLXZvaWQgUmVu
ZGVyRmxleGlibGVCb3g6OmNsZWFyQ2FjaGVkRmxleEl0ZW1JbnRyaW5zaWNDb250ZW50TG9naWNh
bEhlaWdodChjb25zdCBSZW5kZXJCb3gmIGZsZXhJdGVtKQorc3RhdGljIGJvb2wgY2FuU2V0Rmxl
eEl0ZW1Db250ZW50TG9naWNhbEhlaWdodChjb25zdCBSZW5kZXJCb3gmIGZsZXhJdGVtKQogewot
ICAgIGlmIChmbGV4SXRlbS5pc1JlbmRlclJlcGxhY2VkKCkpCi0gICAgICAgIHJldHVybjsgLy8g
UmVwbGFjZWQgZWxlbWVudHMga25vdyB0aGVpciBpbnRyaW5zaWMgaGVpZ2h0IGFscmVhZHksIHNv
IG5vdGhpbmcgdG8gZG8uCi0gICAgbV9pbnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodHMucmVt
b3ZlKGZsZXhJdGVtKTsKKyAgICByZXR1cm4gIWZsZXhJdGVtLmlzRmxvYXRpbmdPck91dE9mRmxv
d1Bvc2l0aW9uZWQoKSAmJiAhZmxleEl0ZW0uc2hvdWxkQ29tcHV0ZUxvZ2ljYWxIZWlnaHRGcm9t
QXNwZWN0UmF0aW8oKSAmJiAhaXM8UmVuZGVyUmVwbGFjZWQ+KGZsZXhJdGVtKTsKK30KKwordm9p
ZCBSZW5kZXJGbGV4aWJsZUJveDo6c2V0RmxleEl0ZW1Db250ZW50TG9naWNhbEhlaWdodElmTmVl
ZGVkKGNvbnN0IFJlbmRlckJveCYgZmxleEl0ZW0sIExheW91dFVuaXQgaGVpZ2h0KQoreworICAg
IC8vIENhcHR1cmVzIGEgZmxleCBpdGVtJ3MgY29udGVudCBsb2dpY2FsIGhlaWdodCBtaWQtbGF5
b3V0LCBiZWZvcmUgY29tcHV0ZUxvZ2ljYWxIZWlnaHQKKyAgICAvLyBhcHBsaWVzIGZpeGVkL21p
bi9tYXggb3IgYW55IG92ZXJyaWRpbmdCb3JkZXJCb3hMb2dpY2FsSGVpZ2h0IHNldCBieSB0aGUg
ZmxleAorICAgIC8vIGNvbnRhaW5lciBmb3Igc3RyZXRjaCBhbGlnbm1lbnQuCisgICAgLy8gUmVh
ZGluZyBsb2dpY2FsSGVpZ2h0KCkgYXQgdGhlIGVuZCBvZiB0aGUgZmxleCBpdGVtJ3MgbGF5b3V0
IHdvdWxkIGdpdmUgdGhlIGNvbnN0cmFpbmVkL292ZXJyaWRkZW4gdmFsdWUsCisgICAgLy8gbm90
IHRoZSBjb250ZW50IGhlaWdodCB0aGUgZmxleCBhbGdvcml0aG0gbmVlZHMuCisgICAgaWYgKCFj
YW5TZXRGbGV4SXRlbUNvbnRlbnRMb2dpY2FsSGVpZ2h0KGZsZXhJdGVtKSkKKyAgICAgICAgcmV0
dXJuOworICAgIGlmIChmbGV4SXRlbS5vdmVycmlkaW5nQm9yZGVyQm94TG9naWNhbEhlaWdodCgp
KQorICAgICAgICByZXR1cm47CisgICAgbV9jb250ZW50TG9naWNhbEhlaWdodHMuc2V0KGZsZXhJ
dGVtLCBoZWlnaHQpOwogfQogCiBMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94OjpmbGV4SXRl
bUludHJpbnNpY0xvZ2ljYWxIZWlnaHQoUmVuZGVyQm94JiBmbGV4SXRlbSkgY29uc3QKQEAgLTc4
OCw3ICs3OTgsNyBAQCBMYXlvdXRVbml0IFJlbmRlckZsZXhpYmxlQm94OjpmbGV4SXRlbUludHJp
bnNpY0xvZ2ljYWxIZWlnaHQoUmVuZGVyQm94JiBmbGV4SXRlbQogICAgIC8vIFRoaXMgc2hvdWxk
IG9ubHkgYmUgY2FsbGVkIGlmIHRoZSBsb2dpY2FsIGhlaWdodCBpcyB0aGUgY3Jvc3Mgc2l6ZQog
ICAgIEFTU0VSVChtYWluQXhpc0lzRmxleEl0ZW1JbmxpbmVBeGlzKGZsZXhJdGVtKSk7CiAgICAg
aWYgKG5lZWRUb1N0cmV0Y2hGbGV4SXRlbUxvZ2ljYWxIZWlnaHQoZmxleEl0ZW0pKSB7Ci0gICAg
ICAgIExheW91dFVuaXQgZmxleEl0ZW1Db250ZW50SGVpZ2h0ID0gY2FjaGVkRmxleEl0ZW1JbnRy
aW5zaWNDb250ZW50TG9naWNhbEhlaWdodChmbGV4SXRlbSk7CisgICAgICAgIExheW91dFVuaXQg
ZmxleEl0ZW1Db250ZW50SGVpZ2h0ID0gZmxleEl0ZW1Db250ZW50TG9naWNhbEhlaWdodChmbGV4
SXRlbSk7CiAgICAgICAgIExheW91dFVuaXQgZmxleEl0ZW1Mb2dpY2FsSGVpZ2h0ID0gZmxleEl0
ZW1Db250ZW50SGVpZ2h0ICsgZmxleEl0ZW0uc2Nyb2xsYmFyTG9naWNhbEhlaWdodCgpICsgZmxl
eEl0ZW0uYm9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQoKTsKICAgICAgICAgcmV0dXJuIGZs
ZXhJdGVtLmNvbnN0cmFpbkxvZ2ljYWxIZWlnaHRCeU1pbk1heChmbGV4SXRlbUxvZ2ljYWxIZWln
aHQsIGZsZXhJdGVtQ29udGVudEhlaWdodCk7CiAgICAgfQpAQCAtOTIwLDcgKzkzMCw3IEBAIHRl
bXBsYXRlPHR5cGVuYW1lIFNpemVUeXBlPiBzdGQ6Om9wdGlvbmFsPExheW91dFVuaXQ+IFJlbmRl
ckZsZXhpYmxlQm94Ojpjb21wdXRlCiAgICAgICAgIC8vIGlmIG5lY2Vzc2FyeSAoc2VlIENvbXB1
dGVOZXh0RmxleExpbmUgYW5kIHRoZSBjYWxsIHRvCiAgICAgICAgIC8vIGZsZXhJdGVtTmVlZHNC
bG9ja0F4aXNTaXplKSBzbyB3ZSBjYW4gYmUgc3VyZSB0aGF0IHRoZSB0d28gaGVpZ2h0CiAgICAg
ICAgIC8vIGNhbGxzIGhlcmUgd2lsbCByZXR1cm4gdXAtdG8tZGF0ZSBkYXRhLgotICAgICAgICBh
dXRvIGhlaWdodCA9IGZsZXhJdGVtLmNvbXB1dGVDb250ZW50TG9naWNhbEhlaWdodChzaXplLCBj
YWNoZWRGbGV4SXRlbUludHJpbnNpY0NvbnRlbnRMb2dpY2FsSGVpZ2h0KGZsZXhJdGVtKSk7Cisg
ICAgICAgIGF1dG8gaGVpZ2h0ID0gZmxleEl0ZW0uY29tcHV0ZUNvbnRlbnRMb2dpY2FsSGVpZ2h0
KHNpemUsIGZsZXhJdGVtQ29udGVudExvZ2ljYWxIZWlnaHQoZmxleEl0ZW0pKTsKICAgICAgICAg
aWYgKCFoZWlnaHQpCiAgICAgICAgICAgICByZXR1cm4gaGVpZ2h0OwogICAgICAgICAvLyBUYWJs
ZXMgaW50ZXJwcmV0IG92ZXJyaWRpbmcgc2l6ZXMgYXMgdGhlIHNpemUgb2YgY2FwdGlvbnMgKyBy
b3dzLiBIb3dldmVyIHRoZSBzcGVjaWZpZWQgaGVpZ2h0IG9mIGEgdGFibGUKQEAgLTIwODEsNyAr
MjA5MSw3IEBAIExheW91dFVuaXQgUmVuZGVyRmxleGlibGVCb3g6OmJsb2NrQXhpc1NpemVGb3JG
bGV4SXRlbShSZW5kZXJCb3gmIGZsZXhJdGVtLCBSZWxhCiAgICAgYXV0byBpbm5lclNpemUgPSBb
Jl0gewogICAgICAgICBhdXRvIGZsZXhCYXNpcyA9IGZsZXhCYXNpc0ZvckZsZXhJdGVtKGZsZXhJ
dGVtKTsKICAgICAgICAgaWYgKGZsZXhCYXNpcy5pc1BlcmNlbnRPckNhbGN1bGF0ZWQoKSAmJiAh
ZmxleEl0ZW1NYWluU2l6ZUlzRGVmaW5pdGUoZmxleEl0ZW0sIGZsZXhCYXNpcykpCi0gICAgICAg
ICAgICByZXR1cm4gY2FjaGVkRmxleEl0ZW1JbnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodChm
bGV4SXRlbSkgKyBmbGV4SXRlbS5zY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCk7CisgICAgICAgICAg
ICByZXR1cm4gZmxleEl0ZW1Db250ZW50TG9naWNhbEhlaWdodChmbGV4SXRlbSkgKyBmbGV4SXRl
bS5zY3JvbGxiYXJMb2dpY2FsSGVpZ2h0KCk7CiAgICAgICAgIHJldHVybiBmbGV4SXRlbS5sb2dp
Y2FsSGVpZ2h0KCkgLSBmbGV4SXRlbS5ib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgpOwog
ICAgIH0oKTsKIApAQCAtMzAzOCw3ICszMDQ4LDcgQEAgdm9pZCBSZW5kZXJGbGV4aWJsZUJveDo6
YXBwbHlTdHJldGNoQWxpZ25tZW50VG9GbGV4SXRlbShSZW5kZXJCb3gmIGZsZXhJdGVtLCBMYXkK
ICAgICAgICAgYXV0byBzdHJldGNoZWRMb2dpY2FsSGVpZ2h0ID0gc3RkOjptYXgoZmxleEl0ZW0u
Ym9yZGVyQW5kUGFkZGluZ0xvZ2ljYWxIZWlnaHQoKSwKICAgICAgICAgICAgIGxpbmVDcm9zc0F4
aXNFeHRlbnQgLSBjcm9zc0F4aXNNYXJnaW5FeHRlbnRGb3JGbGV4SXRlbShmbGV4SXRlbSkpOwog
ICAgICAgICBBU1NFUlQoIWZsZXhJdGVtLm5lZWRzTGF5b3V0KCkpOwotICAgICAgICBMYXlvdXRV
bml0IGRlc2lyZWRMb2dpY2FsSGVpZ2h0ID0gZmxleEl0ZW0uY29uc3RyYWluTG9naWNhbEhlaWdo
dEJ5TWluTWF4KHN0cmV0Y2hlZExvZ2ljYWxIZWlnaHQsIGNhY2hlZEZsZXhJdGVtSW50cmluc2lj
Q29udGVudExvZ2ljYWxIZWlnaHQoZmxleEl0ZW0pKTsKKyAgICAgICAgTGF5b3V0VW5pdCBkZXNp
cmVkTG9naWNhbEhlaWdodCA9IGZsZXhJdGVtLmNvbnN0cmFpbkxvZ2ljYWxIZWlnaHRCeU1pbk1h
eChzdHJldGNoZWRMb2dpY2FsSGVpZ2h0LCBmbGV4SXRlbUNvbnRlbnRMb2dpY2FsSGVpZ2h0KGZs
ZXhJdGVtKSk7CiAKICAgICAgICAgLy8gRklYTUU6IENhbiBhdm9pZCBsYXlpbmcgb3V0IGhlcmUg
aW4gc29tZSBjYXNlcy4gU2VlIGh0dHBzOi8vd2Via2l0Lm9yZy9iLzg3OTA1LgogICAgICAgICBi
b29sIGZsZXhJdGVtTmVlZHNSZWxheW91dCA9IGRlc2lyZWRMb2dpY2FsSGVpZ2h0ICE9IGZsZXhJ
dGVtLmxvZ2ljYWxIZWlnaHQoKTsKQEAgLTMwNTMsMjAgKzMwNjMsMjAgQEAgdm9pZCBSZW5kZXJG
bGV4aWJsZUJveDo6YXBwbHlTdHJldGNoQWxpZ25tZW50VG9GbGV4SXRlbShSZW5kZXJCb3gmIGZs
ZXhJdGVtLCBMYXkKICAgICAgICAgICAgIGZsZXhJdGVtLnNldE92ZXJyaWRpbmdCb3JkZXJCb3hM
b2dpY2FsSGVpZ2h0KGRlc2lyZWRMb2dpY2FsSGVpZ2h0KTsKICAgICAgICAgaWYgKGZsZXhJdGVt
TmVlZHNSZWxheW91dCkgewogICAgICAgICAgICAgU2V0Rm9yU2NvcGUgcmVzZXRGbGV4SXRlbUxv
Z2ljYWxIZWlnaHQobV9zaG91bGRSZXNldEZsZXhJdGVtTG9naWNhbEhlaWdodEJlZm9yZUxheW91
dCwgdHJ1ZSk7Ci0gICAgICAgICAgICAvLyBXZSBjYWNoZSB0aGUgY2hpbGQncyBpbnRyaW5zaWMg
Y29udGVudCBsb2dpY2FsIGhlaWdodCB0byBhdm9pZCBpdCBiZWluZworICAgICAgICAgICAgLy8g
V2UgY2FjaGUgdGhlIGNoaWxkJ3MgY29udGVudCBsb2dpY2FsIGhlaWdodCB0byBhdm9pZCBpdCBi
ZWluZwogICAgICAgICAgICAgLy8gcmVzZXQgdG8gdGhlIHN0cmV0Y2hlZCBoZWlnaHQuCiAgICAg
ICAgICAgICAvLyBGSVhNRTogVGhpcyBpcyBmcmFnaWxlLiBSZW5kZXJCb3hlcyBzaG91bGQgYmUg
c21hcnQgZW5vdWdoIHRvCi0gICAgICAgICAgICAvLyBkZXRlcm1pbmUgdGhlaXIgaW50cmluc2lj
IGNvbnRlbnQgbG9naWNhbCBoZWlnaHQgY29ycmVjdGx5IGV2ZW4gd2hlbgorICAgICAgICAgICAg
Ly8gZGV0ZXJtaW5lIHRoZWlyIGNvbnRlbnQgbG9naWNhbCBoZWlnaHQgY29ycmVjdGx5IGV2ZW4g
d2hlbgogICAgICAgICAgICAgLy8gdGhlcmUncyBhbiBvdmVycmlkZUhlaWdodC4KLSAgICAgICAg
ICAgIExheW91dFVuaXQgZmxleEl0ZW1JbnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodCA9IGNh
Y2hlZEZsZXhJdGVtSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHQoZmxleEl0ZW0pOworICAg
ICAgICAgICAgTGF5b3V0VW5pdCBjb250ZW50TG9naWNhbEhlaWdodCA9IGZsZXhJdGVtQ29udGVu
dExvZ2ljYWxIZWlnaHQoZmxleEl0ZW0pOwogICAgICAgICAgICAgZmxleEl0ZW0uc2V0Q2hpbGRO
ZWVkc0xheW91dChNYXJraW5nQmVoYXZpb3I6Ok1hcmtPbmx5VGhpcyk7CiAgICAgICAgICAgICBk
aXJ0eVBlcmNlbnRIZWlnaHREZXNjZW5kYW50c1dpdGhpbkZsZXhJdGVtKGZsZXhJdGVtKTsKIAog
ICAgICAgICAgICAgLy8gRG9uJ3QgdXNlIGxheW91dENoaWxkSWZOZWVkZWQgdG8gYXZvaWQgc2V0
dGluZyBjcm9zcyBheGlzIGNhY2hlZCBzaXplIHR3aWNlLgogICAgICAgICAgICAgZmxleEl0ZW0u
bGF5b3V0SWZOZWVkZWQoKTsKIAotICAgICAgICAgICAgaWYgKGZsZXhJdGVtLnNob3VsZENhY2hl
SW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4SXRlbSgpKQotICAgICAgICAgICAg
ICAgIHNldENhY2hlZEZsZXhJdGVtSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHQoZmxleEl0
ZW0sIGZsZXhJdGVtSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHQpOworICAgICAgICAgICAg
aWYgKGNhblNldEZsZXhJdGVtQ29udGVudExvZ2ljYWxIZWlnaHQoZmxleEl0ZW0pKQorICAgICAg
ICAgICAgICAgIG1fY29udGVudExvZ2ljYWxIZWlnaHRzLnNldChmbGV4SXRlbSwgY29udGVudExv
Z2ljYWxIZWlnaHQpOwogICAgICAgICB9CiAgICAgICAgIHJldHVybjsKICAgICB9CmRpZmYgLS1n
aXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxleGlibGVCb3guaCBiL1NvdXJj
ZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJGbGV4aWJsZUJveC5oCmluZGV4IDNmMTU4ZGM0ODBj
MC4uNGFkODdkMmQ0ZDJkIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyRmxleGlibGVCb3guaAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyRmxl
eGlibGVCb3guaApAQCAtNzksOSArNzksOSBAQCBwdWJsaWM6CiAKICAgICB2b2lkIGNsZWFyQ2Fj
aGVkQmxvY2tBeGlzU2l6ZUZvckZsZXhJdGVtKGNvbnN0IFJlbmRlckJveCYgZmxleEl0ZW0pOwog
ICAgIAotICAgIExheW91dFVuaXQgY2FjaGVkRmxleEl0ZW1JbnRyaW5zaWNDb250ZW50TG9naWNh
bEhlaWdodChjb25zdCBSZW5kZXJCb3gmIGZsZXhJdGVtKSBjb25zdDsKLSAgICB2b2lkIHNldENh
Y2hlZEZsZXhJdGVtSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHQoY29uc3QgUmVuZGVyQm94
JiBmbGV4SXRlbSwgTGF5b3V0VW5pdCk7Ci0gICAgdm9pZCBjbGVhckNhY2hlZEZsZXhJdGVtSW50
cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHQoY29uc3QgUmVuZGVyQm94JiBmbGV4SXRlbSk7Cisg
ICAgTGF5b3V0VW5pdCBmbGV4SXRlbUNvbnRlbnRMb2dpY2FsSGVpZ2h0KGNvbnN0IFJlbmRlckJv
eCYgZmxleEl0ZW0pIGNvbnN0OworICAgIHZvaWQgY2xlYXJGbGV4SXRlbUNvbnRlbnRMb2dpY2Fs
SGVpZ2h0KGNvbnN0IFJlbmRlckJveCYgZmxleEl0ZW0pOworICAgIHZvaWQgc2V0RmxleEl0ZW1D
b250ZW50TG9naWNhbEhlaWdodElmTmVlZGVkKGNvbnN0IFJlbmRlckJveCYgZmxleEl0ZW0sIExh
eW91dFVuaXQgaGVpZ2h0KTsKIAogICAgIExheW91dFVuaXQgc3RhdGljTWFpbkF4aXNQb3NpdGlv
bkZvclBvc2l0aW9uZWRGbGV4SXRlbShjb25zdCBSZW5kZXJCb3gmKTsKICAgICBMYXlvdXRVbml0
IHN0YXRpY0Nyb3NzQXhpc1Bvc2l0aW9uRm9yUG9zaXRpb25lZEZsZXhJdGVtKGNvbnN0IFJlbmRl
ckJveCYpOwpAQCAtMzA5LDcgKzMwOSw3IEBAIHByaXZhdGU6CiAgICAgCiAgICAgLy8gVGhpcyBp
cyB1c2VkIHRvIGNhY2hlIHRoZSBpbnRyaW5zaWMgc2l6ZSBvbiB0aGUgY3Jvc3MgYXhpcyB0byBh
dm9pZAogICAgIC8vIHJlbGF5b3V0cyB3aGVuIHN0cmV0Y2hpbmcuCi0gICAgSGFzaE1hcDxTaW5n
bGVUaHJlYWRXZWFrUmVmPGNvbnN0IFJlbmRlckJveD4sIExheW91dFVuaXQ+IG1faW50cmluc2lj
Q29udGVudExvZ2ljYWxIZWlnaHRzOworICAgIEhhc2hNYXA8U2luZ2xlVGhyZWFkV2Vha1JlZjxj
b25zdCBSZW5kZXJCb3g+LCBMYXlvdXRVbml0PiBtX2NvbnRlbnRMb2dpY2FsSGVpZ2h0czsKIAog
ICAgIC8vIFRoaXMgc2V0IGlzIHVzZWQgdG8ga2VlcCB0cmFjayBvZiB3aGljaCBjaGlsZHJlbiB3
ZSBsYWlkIG91dCBpbiB0aGlzCiAgICAgLy8gY3VycmVudCBsYXlvdXQgaXRlcmF0aW9uLiBXZSBu
ZWVkIGl0IGJlY2F1c2UgdGhlIG9uZXMgaW4gdGhpcyBzZXQgbWF5CmRpZmYgLS1naXQgYS9Tb3Vy
Y2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9y
ZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKaW5kZXggZTQ1YTU0NjEzZTllLi40YzZhNjcwZGVl
ZDYgMTAwNjQ0Ci0tLSBhL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJMaXN0Qm94LmNw
cAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyTGlzdEJveC5jcHAKQEAgLTUz
LDYgKzUzLDcgQEAKICNpbmNsdWRlICJSZW5kZXJCb3hJbmxpbmVzLmgiCiAjaW5jbHVkZSAiUmVu
ZGVyQm94TW9kZWxPYmplY3RJbmxpbmVzLmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudFN0eWxl
SW5saW5lcy5oIgorI2luY2x1ZGUgIlJlbmRlckZsZXhpYmxlQm94LmgiCiAjaW5jbHVkZSAiUmVu
ZGVyTGF5ZXIuaCIKICNpbmNsdWRlICJSZW5kZXJMYXllclNjcm9sbGFibGVBcmVhLmgiCiAjaW5j
bHVkZSAiUmVuZGVyTGF5b3V0U3RhdGUuaCIKQEAgLTMwMiw3ICszMDMsOCBAQCBSZW5kZXJCb3g6
OkxvZ2ljYWxFeHRlbnRDb21wdXRlZFZhbHVlcyBSZW5kZXJMaXN0Qm94Ojpjb21wdXRlTG9naWNh
bEhlaWdodChMYXlvdQogICAgICAgICAgICAgbG9naWNhbEhlaWdodCA9IGV4cGxpY2l0SW50cmlu
c2ljSGVpZ2h0LnZhbHVlKCk7CiAgICAgfQogCi0gICAgY2FjaGVJbnRyaW5zaWNDb250ZW50TG9n
aWNhbEhlaWdodEZvckZsZXhJdGVtKGxvZ2ljYWxIZWlnaHQpOworICAgIGlmIChDaGVja2VkUHRy
IGZsZXhDb250YWluZXIgPSBkeW5hbWljRG93bmNhc3Q8UmVuZGVyRmxleGlibGVCb3g+KHBhcmVu
dCgpKSkKKyAgICAgICAgZmxleENvbnRhaW5lci0+c2V0RmxleEl0ZW1Db250ZW50TG9naWNhbEhl
aWdodElmTmVlZGVkKCp0aGlzLCBsb2dpY2FsSGVpZ2h0KTsKICAgICBsb2dpY2FsSGVpZ2h0ICs9
IHdyaXRpbmdNb2RlKCkuaXNIb3Jpem9udGFsKCkgPyB2ZXJ0aWNhbEJvcmRlckFuZFBhZGRpbmdF
eHRlbnQoKSA6IGhvcml6b250YWxCb3JkZXJBbmRQYWRkaW5nRXh0ZW50KCk7CiAgICAgcmV0dXJu
IFJlbmRlckJveDo6Y29tcHV0ZUxvZ2ljYWxIZWlnaHQobG9naWNhbEhlaWdodCwgbG9naWNhbFRv
cCk7CiB9CmRpZmYgLS1naXQgYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGUu
Y3BwIGIvU291cmNlL1dlYkNvcmUvcmVuZGVyaW5nL1JlbmRlclRhYmxlLmNwcAppbmRleCBjZTFm
YWU4ZDFhNWYuLmVhMWE0NzUzZDU2MyAxMDA2NDQKLS0tIGEvU291cmNlL1dlYkNvcmUvcmVuZGVy
aW5nL1JlbmRlclRhYmxlLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVy
VGFibGUuY3BwCkBAIC00OCw2ICs0OCw3IEBACiAjaW5jbHVkZSAiUmVuZGVyRGVzY2VuZGFudEl0
ZXJhdG9yLmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxlbWVudElubGluZXMuaCIKICNpbmNsdWRlICJS
ZW5kZXJFbGVtZW50U3R5bGVJbmxpbmVzLmgiCisjaW5jbHVkZSAiUmVuZGVyRmxleGlibGVCb3gu
aCIKICNpbmNsdWRlICJSZW5kZXJJdGVyYXRvci5oIgogI2luY2x1ZGUgIlJlbmRlckxheWVyLmgi
CiAjaW5jbHVkZSAiUmVuZGVyTGF5b3V0U3RhdGUuaCIKQEAgLTU1MCw3ICs1NTEsNyBAQCB2b2lk
IFJlbmRlclRhYmxlOjpsYXlvdXQoKQogICAgIGJvb2wgc2VjdGlvbk1vdmVkID0gZmFsc2U7CiAg
ICAgTGF5b3V0VW5pdCBtb3ZlZFNlY3Rpb25Mb2dpY2FsVG9wOwogICAgIHVuc2lnbmVkIHNlY3Rp
b25Db3VudCA9IDA7Ci0gICAgYm9vbCBzaG91bGRDYWNoZUludHJpbnNpY0NvbnRlbnRMb2dpY2Fs
SGVpZ2h0Rm9yRmxleEl0ZW0gPSB0cnVlOworICAgIGJvb2wgc2hvdWxkQ2FjaGVDb250ZW50TG9n
aWNhbEhlaWdodEZvckZsZXhJdGVtID0gdHJ1ZTsKIAogICAgIExheW91dFJlcGFpbnRlciByZXBh
aW50ZXIoKnRoaXMpOwogICAgIHsKQEAgLTY1MSw3ICs2NTIsNyBAQCB2b2lkIFJlbmRlclRhYmxl
OjpsYXlvdXQoKQogICAgICAgICBpZiAoIXRvcFNlY3Rpb24oKSAmJiBjb21wdXRlZExvZ2ljYWxI
ZWlnaHQgPiB0b3RhbFNlY3Rpb25Mb2dpY2FsSGVpZ2h0ICYmICFkb2N1bWVudCgpLmluUXVpcmtz
TW9kZSgpKSB7CiAgICAgICAgICAgICAvLyBDb21wbGV0ZWx5IGVtcHR5IHRhYmxlcyAod2l0aCBu
byBzZWN0aW9ucyBvciBhbnl0aGluZykgc2hvdWxkIGF0IGxlYXN0IGhvbm9yIHRoZWlyCiAgICAg
ICAgICAgICAvLyBvdmVycmlkaW5nIG9yIHNwZWNpZmllZCBoZWlnaHQgaW4gc3RyaWN0IG1vZGUs
IGJ1dCB0aGlzIHZhbHVlIHdpbGwgbm90IGJlIGNhY2hlZC4KLSAgICAgICAgICAgIHNob3VsZENh
Y2hlSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4SXRlbSA9IGZhbHNlOworICAg
ICAgICAgICAgc2hvdWxkQ2FjaGVDb250ZW50TG9naWNhbEhlaWdodEZvckZsZXhJdGVtID0gZmFs
c2U7CiAgICAgICAgICAgICBhdXRvIHRhYmxlTG9naWNhbEhlaWdodCA9IFsmXSB7CiAgICAgICAg
ICAgICAgICAgaWYgKGF1dG8gb3ZlcnJpZGluZ0xvZ2ljYWxIZWlnaHQgPSB0aGlzLT5vdmVycmlk
aW5nQm9yZGVyQm94TG9naWNhbEhlaWdodCgpKQogICAgICAgICAgICAgICAgICAgICByZXR1cm4g
Km92ZXJyaWRpbmdMb2dpY2FsSGVpZ2h0IC0gYm9yZGVyQW5kUGFkZGluZ0FmdGVyOwpAQCAtNzI5
LDggKzczMCwxMCBAQCB2b2lkIFJlbmRlclRhYmxlOjpsYXlvdXQoKQogICAgIAogICAgIC8vIEZJ
WE1FOiBUaGlzIHZhbHVlIGlzbid0IHRoZSBpbnRyaW5zaWMgY29udGVudCBsb2dpY2FsIGhlaWdo
dCwgYnV0IHdlIG5lZWQKICAgICAvLyB0byB1cGRhdGUgdGhlIHZhbHVlIGFzIGl0cyB1c2VkIGJ5
IGZsZXhib3ggbGF5b3V0LiBjcmJ1Zy5jb20vMzY3MzI0Ci0gICAgaWYgKHNob3VsZENhY2hlSW50
cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4SXRlbSkKLSAgICAgICAgY2FjaGVJbnRy
aW5zaWNDb250ZW50TG9naWNhbEhlaWdodEZvckZsZXhJdGVtKGNvbnRlbnRCb3hMb2dpY2FsSGVp
Z2h0KCkpOworICAgIGlmIChzaG91bGRDYWNoZUNvbnRlbnRMb2dpY2FsSGVpZ2h0Rm9yRmxleEl0
ZW0pIHsKKyAgICAgICAgaWYgKENoZWNrZWRQdHIgZmxleENvbnRhaW5lciA9IGR5bmFtaWNEb3du
Y2FzdDxSZW5kZXJGbGV4aWJsZUJveD4ocGFyZW50KCkpKQorICAgICAgICAgICAgZmxleENvbnRh
aW5lci0+c2V0RmxleEl0ZW1Db250ZW50TG9naWNhbEhlaWdodElmTmVlZGVkKCp0aGlzLCBjb250
ZW50Qm94TG9naWNhbEhlaWdodCgpKTsKKyAgICB9CiAKICAgICBtX2NvbHVtbkxvZ2ljYWxXaWR0
aENoYW5nZWQgPSBmYWxzZTsKICAgICBjbGVhck5lZWRzTGF5b3V0KCk7CmRpZmYgLS1naXQgYS9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxsLmNwcCBiL1NvdXJjZS9XZWJD
b3JlL3JlbmRlcmluZy9SZW5kZXJUYWJsZUNlbGwuY3BwCmluZGV4IGJiYTdhNGJkZDBjYy4uZTgy
OWExZWM2NDkzIDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFi
bGVDZWxsLmNwcAorKysgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGFibGVDZWxs
LmNwcApAQCAtNDAsNiArNDAsNyBAQAogI2luY2x1ZGUgIlBhaW50SW5mby5oIgogI2luY2x1ZGUg
IlJlbmRlckJveElubGluZXMuaCIKICNpbmNsdWRlICJSZW5kZXJCb3hNb2RlbE9iamVjdElubGlu
ZXMuaCIKKyNpbmNsdWRlICJSZW5kZXJGbGV4aWJsZUJveC5oIgogI2luY2x1ZGUgIlJlbmRlck9i
amVjdElubGluZXMuaCIKICNpbmNsdWRlICJSZW5kZXJUYWJsZUNlbGxJbmxpbmVzLmgiCiAjaW5j
bHVkZSAiUmVuZGVyVGFibGVDb2wuaCIKQEAgLTQzMSw3ICs0MzIsOCBAQCB2b2lkIFJlbmRlclRh
YmxlQ2VsbDo6bGF5b3V0KCkKICAgICAKICAgICAvLyBGSVhNRTogVGhpcyB2YWx1ZSBpc24ndCB0
aGUgaW50cmluc2ljIGNvbnRlbnQgbG9naWNhbCBoZWlnaHQsIGJ1dCB3ZSBuZWVkCiAgICAgLy8g
dG8gdXBkYXRlIHRoZSB2YWx1ZSBhcyBpdHMgdXNlZCBieSBmbGV4Ym94IGxheW91dC4gY3JidWcu
Y29tLzM2NzMyNAotICAgIGNhY2hlSW50cmluc2ljQ29udGVudExvZ2ljYWxIZWlnaHRGb3JGbGV4
SXRlbShjb250ZW50Qm94TG9naWNhbEhlaWdodCgpKTsKKyAgICBpZiAoQ2hlY2tlZFB0ciBmbGV4
Q29udGFpbmVyID0gZHluYW1pY0Rvd25jYXN0PFJlbmRlckZsZXhpYmxlQm94PihwYXJlbnQoKSkp
CisgICAgICAgIGZsZXhDb250YWluZXItPnNldEZsZXhJdGVtQ29udGVudExvZ2ljYWxIZWlnaHRJ
Zk5lZWRlZCgqdGhpcywgY29udGVudEJveExvZ2ljYWxIZWlnaHQoKSk7CiAKICAgICBzZXRDZWxs
V2lkdGhDaGFuZ2VkKGZhbHNlKTsKIH0KZGlmZiAtLWdpdCBhL1NvdXJjZS9XZWJDb3JlL3JlbmRl
cmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAgYi9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVu
ZGVyVGV4dENvbnRyb2wuY3BwCmluZGV4IDJmOWRmYzIxYjMzMi4uMDg4ZWZmZmZlZDk1IDEwMDY0
NAotLS0gYS9Tb3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvUmVuZGVyVGV4dENvbnRyb2wuY3BwCisr
KyBiL1NvdXJjZS9XZWJDb3JlL3JlbmRlcmluZy9SZW5kZXJUZXh0Q29udHJvbC5jcHAKQEAgLTMx
LDYgKzMxLDcgQEAKICNpbmNsdWRlICJSZW5kZXJCb3hNb2RlbE9iamVjdElubGluZXMuaCIKICNp
bmNsdWRlICJSZW5kZXJFbGVtZW50U3R5bGVJbmxpbmVzLmgiCiAjaW5jbHVkZSAiUmVuZGVyRWxl
bWVudElubGluZXMuaCIKKyNpbmNsdWRlICJSZW5kZXJGbGV4aWJsZUJveC5oIgogI2luY2x1ZGUg
IlJlbmRlclRleHQuaCIKICNpbmNsdWRlICJSZW5kZXJUZXh0Q29udHJvbFNpbmdsZUxpbmUuaCIK
ICNpbmNsdWRlICJSZW5kZXJUaGVtZS5oIgpAQCAtMTMxLDcgKzEzMiw4IEBAIFJlbmRlckJveDo6
TG9naWNhbEV4dGVudENvbXB1dGVkVmFsdWVzIFJlbmRlclRleHRDb250cm9sOjpjb21wdXRlTG9n
aWNhbEhlaWdodChMCiAgICAgICAgIAogICAgICAgICAvLyBGSVhNRTogVGhlIGxvZ2ljYWwgaGVp
Z2h0IG9mIHRoZSBpbm5lciB0ZXh0IGJveCBzaG91bGQgaGF2ZSBiZWVuIGFkZGVkCiAgICAgICAg
IC8vIGJlZm9yZSBjYWxsaW5nIGNvbXB1dGVMb2dpY2FsSGVpZ2h0IHRvIGF2b2lkIHRoaXMgaGFj
ay4KLSAgICAgICAgY2FjaGVJbnRyaW5zaWNDb250ZW50TG9naWNhbEhlaWdodEZvckZsZXhJdGVt
KGxvZ2ljYWxIZWlnaHQpOworICAgICAgICBpZiAoQ2hlY2tlZFB0ciBmbGV4Q29udGFpbmVyID0g
ZHluYW1pY0Rvd25jYXN0PFJlbmRlckZsZXhpYmxlQm94PihwYXJlbnQoKSkpCisgICAgICAgICAg
ICBmbGV4Q29udGFpbmVyLT5zZXRGbGV4SXRlbUNvbnRlbnRMb2dpY2FsSGVpZ2h0SWZOZWVkZWQo
KnRoaXMsIGxvZ2ljYWxIZWlnaHQpOwogICAgICAgICAKICAgICAgICAgbG9naWNhbEhlaWdodCAr
PSBib3JkZXJBbmRQYWRkaW5nTG9naWNhbEhlaWdodCgpOwogICAgIH0KZGlmZiAtLWdpdCBhL1Nv
dXJjZS9XZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAgYi9T
b3VyY2UvV2ViQ29yZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCmlu
ZGV4IDA0Njc3ZmI2ZDg3Mi4uYmQ1ZmU3OTY1N2U3IDEwMDY0NAotLS0gYS9Tb3VyY2UvV2ViQ29y
ZS9yZW5kZXJpbmcvdXBkYXRpbmcvUmVuZGVyVHJlZUJ1aWxkZXIuY3BwCisrKyBiL1NvdXJjZS9X
ZWJDb3JlL3JlbmRlcmluZy91cGRhdGluZy9SZW5kZXJUcmVlQnVpbGRlci5jcHAKQEAgLTEwMTMs
NyArMTAxMyw3IEBAIHN0YXRpYyB2b2lkIHJlc2V0UmVuZGVyZXJTdGF0ZU9uRGV0YWNoKFJlbmRl
ckVsZW1lbnQmIHBhcmVudCwgUmVuZGVyT2JqZWN0JiBjaGlsCiAgICAgICAgIGRvd25jYXN0PFJl
bmRlckJveD4oY2hpbGQpLnJlbW92ZUZsb2F0aW5nT3JPdXRPZkZsb3dDaGlsZEZyb21CbG9ja0xp
c3RzKCk7CiAgICAgZWxzZSBpZiAoQ2hlY2tlZFB0ciBwYXJlbnRGbGV4aWJsZUJveCA9IGR5bmFt
aWNEb3duY2FzdDxSZW5kZXJGbGV4aWJsZUJveD4ocGFyZW50KSkgewogICAgICAgICBpZiAoQ2hl
Y2tlZFB0ciBjaGlsZEJveCA9IGR5bmFtaWNEb3duY2FzdDxSZW5kZXJCb3g+KGNoaWxkKSkgewot
ICAgICAgICAgICAgcGFyZW50RmxleGlibGVCb3gtPmNsZWFyQ2FjaGVkRmxleEl0ZW1JbnRyaW5z
aWNDb250ZW50TG9naWNhbEhlaWdodCgqY2hpbGRCb3gpOworICAgICAgICAgICAgcGFyZW50Rmxl
eGlibGVCb3gtPmNsZWFyRmxleEl0ZW1Db250ZW50TG9naWNhbEhlaWdodCgqY2hpbGRCb3gpOwog
ICAgICAgICAgICAgcGFyZW50RmxleGlibGVCb3gtPmNsZWFyQ2FjaGVkQmxvY2tBeGlzU2l6ZUZv
ckZsZXhJdGVtKCpjaGlsZEJveCk7CiAgICAgICAgIH0KICAgICB9Cg==
</data>
<flag name="commit-queue"
          id="500859"
          type_id="3"
          status="-"
          setter="ews-feeder"
    />
          </attachment>
      

    </bug>

</bugzilla>